{"version":3,"file":"EnquiryWidget.DTYM1_n5.mjs","names":["useRef","useCallback","useState","useMemo","useState","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Z4QJ2YpzpVnWRfR6Ccgg/Video.js","https:/framerusercontent.com/modules/4FYXL5lQz9cgJ2BJkaNV/uQoXZ4NvFasfJqYRTeHn/Image.js","https:/framerusercontent.com/modules/MLrYCzw6ssa9hVyxJ6ko/slWkA9CIZGKZkcRtGdGt/EnquiryWidget.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{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={}));// 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 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 isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.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();},[]);return{play,pause,setProgress};}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 “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\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 – if we’re 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 */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?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’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime!==null&&startTime!==void 0?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//     !isOnCanvas\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!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",preload:autoplayBehavior!==\"on-mount\"&&posterEnabled?\"metadata\":\"auto\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?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\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",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:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];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\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},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\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,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\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Responsive Image\n * By Benjamin\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n *\n */export default function Image(props){const{image,alt,radius,padding,link,newTab,style,borderOptions,shadowOptions}=props;const wrapperStyle={display:\"flex\",placeContent:\"center\",placeItems:\"center\",width:\"100%\",height:\"100%\",padding:padding};const borderAndShadow=(borderOptions,shadowOptions)=>{if(!shadowOptions&&!borderOptions)return undefined;if(shadowOptions&&!borderOptions){return`${shadowOptions.shadowX}px ${shadowOptions.shadowY}px ${shadowOptions.shadowBlur}px ${shadowOptions.shadowColor}`;}if(!shadowOptions&&borderOptions){return`inset 0 0 0 ${borderOptions.borderWidth}px ${borderOptions.borderColor}`;}if(shadowOptions&&borderOptions){return`inset 0 0 0 ${borderOptions.borderWidth}px ${borderOptions.borderColor}, ${shadowOptions.shadowX}px ${shadowOptions.shadowY}px ${shadowOptions.shadowBlur}px ${shadowOptions.shadowColor}`;}};const imageStyle={maxWidth:\"100%\",maxHeight:\"100%\",borderRadius:radius,webkitUserDrag:\"none\",userDrag:\"none\",userSelect:\"none\"};const shadowStyle={position:\"absolute\",inset:0,pointerEvents:\"none\",borderRadius:radius,boxShadow:borderAndShadow(borderOptions,shadowOptions)};const imageSource=(image===null||image===void 0?void 0:image.src)||\"https://framerusercontent.com/images/64n4wnVJKDJspLlFZ6DarCP0M4.jpg\";return link?/*#__PURE__*/_jsxs(\"a\",{href:link,title:alt,target:newTab?\"_blank\":\"_self\",style:wrapperStyle,children:[/*#__PURE__*/_jsx(\"img\",{style:imageStyle,src:imageSource,srcSet:image===null||image===void 0?void 0:image.srcSet,alt:alt}),/*#__PURE__*/_jsx(\"div\",{style:shadowStyle})]}):/*#__PURE__*/_jsxs(\"div\",{style:wrapperStyle,children:[/*#__PURE__*/_jsx(\"img\",{style:imageStyle,src:imageSource,srcSet:image===null||image===void 0?void 0:image.srcSet,alt:alt}),/*#__PURE__*/_jsx(\"div\",{style:shadowStyle})]});}addPropertyControls(Image,{image:{title:\"Image\",type:ControlType.ResponsiveImage},alt:{type:ControlType.String,title:\"Alt\",placeholder:\"Alt Text\"},radius:{title:\"Radius\",type:ControlType.Number,min:0,max:100,step:1,displayStepper:true},padding:{title:\"Padding\",type:ControlType.Number,min:0,max:100,step:1,displayStepper:true},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",hidden:props=>!props.link},borderOptions:{type:ControlType.Object,optional:true,title:\"Border\",icon:\"effect\",controls:{borderColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(0,0,0,0.2)\"},borderWidth:{type:ControlType.Number,title:\"Width\",min:0,displayStepper:true,defaultValue:1}}},shadowOptions:{type:ControlType.Object,title:\"Shadow\",optional:true,icon:\"effect\",controls:{shadowX:{type:ControlType.Number,title:\"X\",min:0,defaultValue:0},shadowY:{type:ControlType.Number,title:\"Y\",min:0,defaultValue:2},shadowBlur:{type:ControlType.Number,title:\"Blur\",min:0,defaultValue:4},shadowColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(0,0,0,0.2)\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Image\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image.map","// VEE FITTINGS / LAVO — EnquiryWidget\n// Fixed label bottom-right; click opens a popup.\n//\n// Two modes:\n//   form    — the ENQUIRE NOW enquiry form\n//   contact — plain contact details (used on /lavo-digital)\n//\n// Rendered through a portal to document.body: Framer wraps components in\n// transformed ancestors, and position:fixed inside a transform anchors to the\n// ancestor rather than the viewport.\n//\n// NOTE: on the Framer canvas this renders a static placeholder chip. The real\n// fixed tab only exists at runtime — use Preview to see it.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useCallback}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// ── TOKENS ────────────────────────────────────────────────────────────────────\nconst EASE=\"cubic-bezier(0.16, 1, 0.3, 1)\";const HEAD_FONT=\"'Syne', 'Helvetica Neue', Arial, sans-serif\";const BODY_FONT=\"'Inter', 'Helvetica Neue', Arial, sans-serif\";const CLS=\"vf-enq\";// ── HELPERS ───────────────────────────────────────────────────────────────────\nfunction isEmail(v){return/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v.trim());}// ── FIELD ─────────────────────────────────────────────────────────────────────\nfunction Field({label,value,onChange,type=\"text\",rows,error,textColor,accent,line,bodyFamily}){const[focused,setFocused]=useState(false);const border=error?\"#ff6b6b\":focused?accent:line;const shared={width:\"100%\",boxSizing:\"border-box\",background:\"transparent\",border:\"none\",borderBottom:`1px solid ${border}`,outline:\"none\",padding:\"9px 2px\",fontFamily:bodyFamily,fontSize:14.5,color:textColor,transition:`border-color 0.2s ${EASE}`,borderRadius:0};return /*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:13},children:[rows?/*#__PURE__*/_jsx(\"textarea\",{rows:rows,placeholder:label,value:value,onChange:e=>onChange(e.target.value),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),style:{...shared,resize:\"vertical\",minHeight:40}}):/*#__PURE__*/_jsx(\"input\",{type:type,placeholder:label,value:value,onChange:e=>onChange(e.target.value),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),style:shared}),error?/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:bodyFamily,fontSize:11.5,color:\"#ff6b6b\",marginTop:4},children:error}):null]});}// ── CONTACT CARD ──────────────────────────────────────────────────────────────\nfunction ContactCard({email,phone,timing,days,textColor,accent,line,bodyFamily}){const rows=[{k:\"Email\",v:email,href:`mailto:${email}`},{k:\"Number\",v:phone,href:`tel:${phone.replace(/[^\\d+]/g,\"\")}`},{k:\"Timing\",v:timing},{k:\"Days\",v:days}];return /*#__PURE__*/_jsx(\"div\",{children:rows.map((r,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:14,alignItems:\"baseline\",padding:\"13px 0\",borderBottom:i===rows.length-1?\"none\":`1px solid ${line}`},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:bodyFamily,fontSize:11,letterSpacing:\"0.1em\",textTransform:\"uppercase\",color:textColor,opacity:.45,minWidth:62,flexShrink:0},children:r.k}),r.href?/*#__PURE__*/_jsx(\"a\",{href:r.href,style:{fontFamily:bodyFamily,fontSize:16,color:accent,textDecoration:\"none\",wordBreak:\"break-word\"},children:r.v}):/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:bodyFamily,fontSize:16,color:textColor},children:r.v})]},r.k))});}// ── MAIN ──────────────────────────────────────────────────────────────────────\n/**\n * EnquiryWidget\n *\n * Fixed label in a bottom corner. Mode = Form shows the enquiry form,\n * Mode = Contact shows contact details only.\n *\n * @framerIntrinsicWidth 170\n * @framerIntrinsicHeight 44\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function EnquiryWidget({mode=\"form\",label=\"Enquire Now\",heading=\"ENQUIRE NOW\",contactHeading=\"GET IN TOUCH\",categories=[\"Lavo Digital\",\"Lavo Architectural Hardware\",\"Gold Brassco\",\"Albraco\",\"Little Lux\",\"Other\"],endpoint=\"\",email=\"support@lavoindia.com\",phone=\"9005-21-9005\",timing=\"9am to 5pm\",days=\"Mon to Sat\",corner=\"bottom-right\",offsetX=24,offsetY=24,accent=\"rgb(230, 199, 142)\",panelBg=\"#0D0D0D\",textColor=\"#FFFFFF\",labelBg=\"rgb(230, 199, 142)\",labelText=\"#0D0D0D\",headingFont,bodyFont,radius=4,previewOpen=false}){const isStatic=useIsStaticRenderer();const headFamily=headingFont?.fontFamily??HEAD_FONT;const headWeight=headingFont?.fontWeight??700;const bodyFamily=bodyFont?.fontFamily??BODY_FONT;const line=\"rgba(255,255,255,0.16)\";const placeholderColor=\"rgba(255,255,255,0.42)\";const[mounted,setMounted]=useState(false);const[open,setOpen]=useState(false);const[sending,setSending]=useState(false);const[sent,setSent]=useState(false);const[formError,setFormError]=useState(\"\");const[name,setName]=useState(\"\");const[tel,setTel]=useState(\"\");const[mail,setMail]=useState(\"\");const[category,setCategory]=useState(\"\");const[city,setCity]=useState(\"\");const[address,setAddress]=useState(\"\");const[message,setMessage]=useState(\"\");const[errors,setErrors]=useState({});useEffect(()=>setMounted(true),[]);useEffect(()=>{if(!open)return;const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};document.addEventListener(\"keydown\",onKey);return()=>document.removeEventListener(\"keydown\",onKey);},[open]);const validate=useCallback(()=>{const e={};if(!name.trim())e.name=\"Required\";if(!tel.trim())e.tel=\"Required\";if(!mail.trim())e.mail=\"Required\";else if(!isEmail(mail))e.mail=\"Enter a valid email\";setErrors(e);return Object.keys(e).length===0;},[name,tel,mail]);const submit=useCallback(async()=>{setFormError(\"\");if(!validate())return;const payload={name,phone:tel,email:mail,category,city,address,message};// No endpoint configured — fall back to the visitor's mail client,\n// prefilled. Nothing is silently dropped.\nif(!endpoint.trim()){const body=Object.entries(payload).map(([k,v])=>`${k}: ${v}`).join(\"\\n\");window.location.href=`mailto:${email}?subject=${encodeURIComponent(\"Website enquiry\")}&body=${encodeURIComponent(body)}`;setSent(true);return;}setSending(true);try{const res=await fetch(endpoint,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(payload)});if(!res.ok)throw new Error(String(res.status));setSent(true);}catch{setFormError(\"Could not send. Please try again, or email us.\");}finally{setSending(false);}},[validate,name,tel,mail,category,city,address,message,endpoint,email]);const reset=()=>{setSent(false);setName(\"\");setTel(\"\");setMail(\"\");setCategory(\"\");setCity(\"\");setAddress(\"\");setMessage(\"\");setErrors({});setFormError(\"\");};// ── Canvas placeholder ────────────────────────────────────────────────\nif(isStatic&&!previewOpen){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,background:labelBg,color:labelText,borderRadius:radius,padding:\"12px 20px\",fontFamily:headFamily,fontWeight:headWeight,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",whiteSpace:\"nowrap\"},children:[label,/*#__PURE__*/_jsxs(\"span\",{style:{opacity:.55,fontSize:10},children:[\"\\xb7 \",mode,\" \\xb7 preview only\"]})]});}if(!mounted)return null;const showPanel=open||isStatic&&previewOpen;const sheet=`\n.${CLS} input::placeholder, .${CLS} textarea::placeholder {\n  color: ${placeholderColor}; opacity: 1;\n}\n.${CLS} select option { background: ${panelBg}; color: ${textColor}; }\n.${CLS} input:-webkit-autofill,\n.${CLS} input:-webkit-autofill:hover,\n.${CLS} input:-webkit-autofill:focus {\n  -webkit-text-fill-color: ${textColor};\n  -webkit-box-shadow: 0 0 0 1000px ${panelBg} inset;\n  caret-color: ${textColor};\n}\n.${CLS}-scroll::-webkit-scrollbar { width: 6px; }\n.${CLS}-scroll::-webkit-scrollbar-thumb {\n  background: rgba(255,255,255,0.18); border-radius: 3px;\n}\n.${CLS}-scroll::-webkit-scrollbar-track { background: transparent; }\n`;const tab=/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setOpen(true),\"aria-label\":label,style:{position:\"fixed\",bottom:offsetY,[corner===\"bottom-left\"?\"left\":\"right\"]:offsetX,zIndex:2147483e3,display:\"inline-flex\",alignItems:\"center\",gap:9,background:labelBg,color:labelText,border:\"none\",borderRadius:radius,padding:\"13px 20px\",cursor:\"pointer\",fontFamily:headFamily,fontWeight:headWeight,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",whiteSpace:\"nowrap\",boxShadow:\"0 8px 30px rgba(0,0,0,0.5)\",opacity:showPanel?0:1,pointerEvents:showPanel?\"none\":\"auto\",transition:`opacity 0.25s ${EASE}`},children:[label,/*#__PURE__*/_jsx(\"svg\",{width:14,height:14,viewBox:\"0 0 24 24\",fill:\"none\",stroke:labelText,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 17L17 7M9 7h8v8\"})})]});const panel=/*#__PURE__*/_jsx(\"div\",{className:CLS,onClick:()=>setOpen(false),style:{position:\"fixed\",inset:0,zIndex:2147483001,display:\"flex\",alignItems:\"flex-end\",justifyContent:corner===\"bottom-left\"?\"flex-start\":\"flex-end\",padding:16,background:\"rgba(0,0,0,0.6)\",opacity:showPanel?1:0,visibility:showPanel?\"visible\":\"hidden\",pointerEvents:showPanel?\"auto\":\"none\",transition:`opacity 0.3s ${EASE}, visibility 0.3s`},children:/*#__PURE__*/_jsxs(\"div\",{className:`${CLS}-scroll`,onClick:e=>e.stopPropagation(),style:{position:\"relative\",width:\"100%\",maxWidth:400,maxHeight:\"calc(100dvh - 32px)\",overflowY:\"auto\",boxSizing:\"border-box\",background:panelBg,border:`1px solid ${accent}40`,borderRadius:radius*2,padding:\"22px 22px 24px\",boxShadow:\"0 30px 80px rgba(0,0,0,0.6)\",transform:showPanel?\"translateY(0)\":\"translateY(14px)\",transition:`transform 0.32s ${EASE}`},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",justifyContent:\"space-between\",gap:16,marginBottom:6},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontFamily:headFamily,fontWeight:headWeight,fontSize:22,letterSpacing:\"-0.01em\",color:textColor,lineHeight:1.1},children:mode===\"contact\"?contactHeading:heading}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setOpen(false),\"aria-label\":\"Close\",style:{background:\"transparent\",border:\"none\",cursor:\"pointer\",padding:2,lineHeight:0,flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:20,height:20,viewBox:\"0 0 24 24\",fill:\"none\",stroke:textColor,strokeWidth:1.6,strokeLinecap:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M18 6L6 18M6 6l12 12\"})})})]}),/*#__PURE__*/_jsx(\"div\",{style:{width:38,height:2,background:accent,marginBottom:20}}),mode===\"contact\"?/*#__PURE__*/_jsx(ContactCard,{email:email,phone:phone,timing:timing,days:days,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}):sent?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"4px 0\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:bodyFamily,fontSize:15,color:textColor,margin:\"0 0 18px\",lineHeight:1.6},children:\"Thanks — we've got your enquiry and will be in touch.\"}),/*#__PURE__*/_jsx(\"button\",{onClick:reset,style:{background:\"transparent\",border:`1px solid ${accent}`,color:accent,borderRadius:radius,padding:\"9px 16px\",cursor:\"pointer\",fontFamily:bodyFamily,fontSize:13},children:\"Send another\"})]}):/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(Field,{label:\"Name*\",value:name,onChange:setName,error:errors.name,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),/*#__PURE__*/_jsx(Field,{label:\"Phone Number*\",type:\"tel\",value:tel,onChange:setTel,error:errors.tel,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),/*#__PURE__*/_jsx(Field,{label:\"Email*\",type:\"email\",value:mail,onChange:setMail,error:errors.mail,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:13,position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"select\",{value:category,onChange:e=>setCategory(e.target.value),style:{width:\"100%\",boxSizing:\"border-box\",background:\"transparent\",border:\"none\",borderBottom:`1px solid ${line}`,outline:\"none\",padding:\"9px 20px 9px 2px\",fontFamily:bodyFamily,fontSize:14.5,color:category?textColor:placeholderColor,borderRadius:0,appearance:\"none\",WebkitAppearance:\"none\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Select Category\"}),(Array.isArray(categories)?categories:[]).map(c=>/*#__PURE__*/_jsx(\"option\",{value:c,children:c},c))]}),/*#__PURE__*/_jsx(\"svg\",{width:14,height:14,viewBox:\"0 0 24 24\",fill:\"none\",stroke:textColor,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{position:\"absolute\",right:2,top:12,opacity:.5,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 9l6 6 6-6\"})})]}),/*#__PURE__*/_jsx(Field,{label:\"City\",value:city,onChange:setCity,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),/*#__PURE__*/_jsx(Field,{label:\"Address\",rows:2,value:address,onChange:setAddress,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),/*#__PURE__*/_jsx(Field,{label:\"Message\",rows:2,value:message,onChange:setMessage,textColor:textColor,accent:accent,line:line,bodyFamily:bodyFamily}),formError?/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:bodyFamily,fontSize:12.5,color:\"#ff6b6b\",marginBottom:12},children:formError}):null,/*#__PURE__*/_jsxs(\"button\",{onClick:submit,disabled:sending,style:{marginTop:6,width:\"100%\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:10,background:accent,color:panelBg,border:\"none\",borderRadius:radius,padding:\"13px 24px\",cursor:sending?\"wait\":\"pointer\",opacity:sending?.6:1,fontFamily:headFamily,fontWeight:headWeight,fontSize:13,letterSpacing:\"0.1em\",textTransform:\"uppercase\"},children:[sending?\"Sending…\":\"Submit\",/*#__PURE__*/_jsx(\"svg\",{width:16,height:16,viewBox:\"0 0 24 24\",fill:\"none\",stroke:panelBg,strokeWidth:1.9,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})})]})]})]})});return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:sheet}}),tab,panel]}),document.body);}// ── PROPERTY CONTROLS ─────────────────────────────────────────────────────────\naddPropertyControls(EnquiryWidget,{mode:{type:ControlType.Enum,title:\"Mode\",defaultValue:\"form\",options:[\"form\",\"contact\"],optionTitles:[\"Form\",\"Contact\"],displaySegmentedControl:true},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Enquire Now\"},heading:{type:ControlType.String,title:\"Form heading\",defaultValue:\"ENQUIRE NOW\",hidden:p=>p.mode===\"contact\"},contactHeading:{type:ControlType.String,title:\"Contact heading\",defaultValue:\"GET IN TOUCH\",hidden:p=>p.mode!==\"contact\"},endpoint:{type:ControlType.String,title:\"Endpoint\",defaultValue:\"\",placeholder:\"https://formspree.io/f/xxxx\",description:\"POST target. Leave blank to fall back to a prefilled mailto.\",hidden:p=>p.mode===\"contact\"},categories:{type:ControlType.Array,title:\"Categories\",control:{type:ControlType.String},defaultValue:[\"Lavo Digital\",\"Lavo Architectural Hardware\",\"Gold Brassco\",\"Albraco\",\"Little Lux\",\"Other\"],hidden:p=>p.mode===\"contact\"},email:{type:ControlType.String,title:\"Email\",defaultValue:\"support@lavoindia.com\"},phone:{type:ControlType.String,title:\"Phone\",defaultValue:\"9005-21-9005\",hidden:p=>p.mode!==\"contact\"},timing:{type:ControlType.String,title:\"Timing\",defaultValue:\"9am to 5pm\",hidden:p=>p.mode!==\"contact\"},days:{type:ControlType.String,title:\"Days\",defaultValue:\"Mon to Sat\",hidden:p=>p.mode!==\"contact\"},corner:{type:ControlType.Enum,title:\"Corner\",defaultValue:\"bottom-right\",options:[\"bottom-right\",\"bottom-left\"],optionTitles:[\"Right\",\"Left\"],displaySegmentedControl:true},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:24,min:0,max:120,step:2},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:24,min:0,max:120,step:2},accent:{type:ControlType.Color,title:\"Gold / accent\",defaultValue:\"rgb(230, 199, 142)\"},panelBg:{type:ControlType.Color,title:\"Panel bg\",defaultValue:\"#0D0D0D\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},labelBg:{type:ControlType.Color,title:\"Label bg\",defaultValue:\"rgb(230, 199, 142)\"},labelText:{type:ControlType.Color,title:\"Label text\",defaultValue:\"#0D0D0D\"},headingFont:{type:ControlType.Font,title:\"Heading font\",controls:\"basic\",defaultFontType:\"sans-serif\"},bodyFont:{type:ControlType.Font,title:\"Body font\",controls:\"basic\",defaultFontType:\"sans-serif\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:4,min:0,max:24,step:1},previewOpen:{type:ControlType.Boolean,title:\"Preview open\",defaultValue:false,description:\"Canvas only — force the popup open while designing.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EnquiryWidget\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"44\",\"framerIntrinsicWidth\":\"170\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EnquiryWidget.map"],"mappings":"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"}