{"version":3,"file":"AddressAutocomplete.DA3xjoB2.mjs","names":["React.forwardRef","React.useRef","React.useState","React.useState","React.useRef","React.useMemo","React.useCallback","p"],"sources":["https:/framerusercontent.com/modules/OL9eRRkY8weiNRHBRpng/v4d6rLZWQbUweDzHaUJa/CbX0b__Vr.js","https:/framerusercontent.com/modules/OXPwfUZO9oU0td4Z4aEm/Uk2MJ8wG6PCY3GI0unAE/InputModule.js","https:/framerusercontent.com/modules/pIctrnlNp7eSX8svMqNC/pWveLEn5XTQD3ltQakX9/AddressAutocomplete.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 7.25 C 0 3.246 3.246 0 7.25 0 L 7.25 0 C 11.254 0 14.5 3.246 14.5 7.25 L 14.5 7.25 C 14.5 11.254 11.254 14.5 7.25 14.5 L 7.25 14.5 C 3.246 14.5 0 11.254 0 7.25 Z\" fill=\"transparent\" height=\"14.5px\" id=\"pn5fFM997\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(4.75 4.75)\" width=\"14.5px\"/><path d=\"M 0 3 L 0.434 3.924 C 0.777 4.657 1.804 4.699 2.206 3.997 L 4.5 0\" fill=\"transparent\" height=\"4.499652874612709px\" id=\"lKzatC_KM\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(9.75 9.75)\" width=\"4.5px\"/></svg>';const getProps=({dots,height,id,stroke,width,width1,...props})=>{return{...props,BKVe8Pgvw:dots??props.BKVe8Pgvw??1,fICyAUQY1:stroke??props.fICyAUQY1??\"rgb(0, 0, 0)\",lKf_CQTz5:width1??props.lKf_CQTz5??1.5};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,fICyAUQY1,lKf_CQTz5,BKVe8Pgvw,...restProps}=getProps(props);const href=useSVGTemplate(\"1124763718\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-LSL4w\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1335ju\":lKf_CQTz5,\"--18mrqx2\":fICyAUQY1,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-LSL4w { -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 {\"fICyAUQY1\":\"stroke\",\"lKf_CQTz5\":\"width1\",\"BKVe8Pgvw\":\"dots\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Check Circle\",\"color\":{\"type\":\"variable\",\"value\":\"18mrqx2\"},\"set\":{\"localId\":\"vectorSet/SuYHhKUZG\",\"id\":\"SuYHhKUZG\",\"moduleId\":\"EqX8thWQjdZcOB1c6p5N\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-LSL4w\");Icon.displayName=\"Check Circle\";export default Icon;addPropertyControls(Icon,{fICyAUQY1:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color},lKf_CQTz5:{defaultValue:1.5,displayStepper:true,hidden:false,max:4,min:0,step:.5,title:\"Width\",type:ControlType.Number},BKVe8Pgvw:{defaultValue:1,displayStepper:true,hidden:true,max:4,min:1,title:\"Dots\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"fICyAUQY1\\\":\\\"stroke\\\",\\\"lKf_CQTz5\\\":\\\"width1\\\",\\\"BKVe8Pgvw\\\":\\\"dots\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Check Circle\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"18mrqx2\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/SuYHhKUZG\\\",\\\"id\\\":\\\"SuYHhKUZG\\\",\\\"moduleId\\\":\\\"EqX8thWQjdZcOB1c6p5N\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getDraft(){if(!window.__besydeDraft)window.__besydeDraft={};return window.__besydeDraft;}function setDraft(patch){window.__besydeDraft={...getDraft(),...patch};window.dispatchEvent(new CustomEvent(\"besyde_draft_updated\",{detail:window.__besydeDraft}));}/* ===========================\n   Field behavior config\n=========================== */function getFieldConfig(fieldType){switch(fieldType){case\"passagers\":return{kind:\"select\",min:1};case\"bagages\":return{kind:\"select\",min:0};case\"infos_complementaires\":return{kind:\"textarea\"};case\"email\":return{kind:\"input\",type:\"email\",inputMode:\"email\"};case\"telephone\":return{kind:\"input\",type:\"tel\",inputMode:\"numeric\"};default:return{kind:\"input\",type:\"text\",inputMode:\"text\"};}}/* ===========================\n   Styles\n=========================== */const base={fieldBox:(bg,kind)=>{if(kind===\"textarea\"){return{width:\"100%\",padding:0,borderRadius:16,background:bg,boxSizing:\"border-box\"};}return{width:\"100%\",padding:0,height:25,borderRadius:16,background:bg,boxSizing:\"border-box\"};},input:textColor=>({width:\"100%\",height:\"25px\",lineHeight:\"25px\",padding:0,background:\"transparent\",border:\"none\",outline:\"none\",fontSize:14,color:textColor}),textarea:textColor=>({width:\"100%\",minHeight:110,padding:0,background:\"transparent\",border:\"none\",outline:\"none\",fontSize:14,color:textColor,resize:\"none\",boxSizing:\"border-box\"}),select:textColor=>({width:\"100%\",height:\"25px\",lineHeight:\"25px\",padding:0,background:\"transparent\",border:\"none\",outline:\"none\",fontSize:14,color:textColor,appearance:\"none\",WebkitAppearance:\"none\"})};/* ===========================\n   Chevron (select)\n=========================== */const Chevron=({color})=>/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"8\",viewBox:\"0 0 12 8\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1.5L6 6.5L11 1.5\",stroke:color,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});export default function InputFieldBesyde(props){const{fieldType}=props;const cfg=getFieldConfig(fieldType);const draft=getDraft();const idRef=React.useRef(`besyde-field-${Math.random().toString(16).slice(2)}`);const initialValue=(()=>{const v=draft[fieldType];if(cfg.kind===\"select\"){const min=fieldType===\"passagers\"?1:0;const num=Number(v);return Number.isFinite(num)?num:min;}return typeof v===\"string\"?v:\"\";})();const[value,setValue]=React.useState(initialValue);/* ===========================\n       Sync vers draft\n    =========================== */React.useEffect(()=>{if(cfg.kind===\"select\"){setDraft({[fieldType]:Number(value)});return;}setDraft({[fieldType]:String(value)});},[fieldType,cfg.kind,value]);/* ===========================\n       ✅ RESET GLOBAL (Step4)\n    =========================== */React.useEffect(()=>{const onReset=()=>{if(cfg.kind===\"select\"){const def=fieldType===\"passagers\"?1:0;setValue(def);setDraft({[fieldType]:def});return;}setValue(\"\");setDraft({[fieldType]:\"\"});};window.addEventListener(\"besyde_reset_all\",onReset);return()=>window.removeEventListener(\"besyde_reset_all\",onReset);},[fieldType,cfg.kind]);/* ===========================\n       Select options\n    =========================== */const selectMax=fieldType===\"passagers\"?props.maxPassengers:props.maxBags;const selectMin=fieldType===\"passagers\"?1:fieldType===\"bagages\"?0:0;const options=cfg.kind===\"select\"?Array.from({length:Math.max(0,selectMax-selectMin+1)},(_,i)=>selectMin+i):[];const placeholderCss=`\n.${idRef.current}::placeholder{\n  color: ${props.placeholderColor};\n  opacity: ${props.placeholderOpacity};\n}\n`;return /*#__PURE__*/_jsxs(\"div\",{style:base.fieldBox(props.fieldBg,cfg.kind),children:[/*#__PURE__*/_jsx(\"style\",{children:placeholderCss}),cfg.kind===\"input\"&&/*#__PURE__*/_jsx(\"input\",{className:idRef.current,style:base.input(props.textColor),value:value,placeholder:props.placeholder,type:cfg.type,inputMode:cfg.inputMode,maxLength:fieldType===\"telephone\"?10:undefined,onChange:e=>{let v=e.target.value;if(fieldType===\"telephone\"){v=v.replace(/\\D/g,\"\").slice(0,10);}setValue(v);}}),cfg.kind===\"textarea\"&&/*#__PURE__*/_jsx(\"textarea\",{className:idRef.current,style:base.textarea(props.textColor),value:value,placeholder:props.placeholder,onChange:e=>setValue(e.target.value)}),cfg.kind===\"select\"&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:25},children:[/*#__PURE__*/_jsx(\"select\",{className:idRef.current,style:base.select(props.textColor),value:value,onChange:e=>setValue(Number(e.target.value)),children:options.map(n=>/*#__PURE__*/_jsx(\"option\",{value:n,children:n},n))}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:6,top:\"50%\",transform:\"translateY(-50%)\",pointerEvents:\"none\",opacity:.7},children:/*#__PURE__*/_jsx(Chevron,{color:props.textColor})})]})]});}/* ===========================\n   Framer property controls\n=========================== */addPropertyControls(InputFieldBesyde,{fieldType:{type:ControlType.Enum,title:\"Field\",options:[\"passagers\",\"bagages\",\"infos_complementaires\",\"prenom\",\"nom\",\"email\",\"telephone\",\"entreprise\"],defaultValue:\"prenom\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Votre texte…\"},fieldBg:{type:ControlType.Color,title:\"Field Bg\",defaultValue:\"rgba(255,255,255,0.18)\"},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"rgba(255,255,255,0.85)\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"rgba(255,255,255,0.95)\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder Color\",defaultValue:\"#FFFFFF\"},placeholderOpacity:{type:ControlType.Number,title:\"Placeholder Opacity\",defaultValue:.5,min:0,max:1,step:.05},maxPassengers:{type:ControlType.Number,title:\"Max Passengers\",defaultValue:9,hidden:p=>p.fieldType!==\"passagers\"},maxBags:{type:ControlType.Number,title:\"Max Bags\",defaultValue:9,hidden:p=>p.fieldType!==\"bagages\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InputFieldBesyde\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InputModule.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function loadGoogle(apiKey){return new Promise((resolve,reject)=>{if(window.google?.maps?.places)return resolve();const existing=document.querySelector('script[data-google-places=\"true\"]');if(existing){existing.addEventListener(\"load\",()=>resolve());return;}const script=document.createElement(\"script\");script.dataset.googlePlaces=\"true\";script.src=`https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places`;script.async=true;script.onload=()=>resolve();script.onerror=()=>reject(new Error(\"Google script failed to load\"));document.head.appendChild(script);});}export function AddressAutocomplete(props){const{apiKey,placeholder,name,country,onSelectAddress}=props;const[ready,setReady]=React.useState(false);const[value,setValue]=React.useState(\"\");const[items,setItems]=React.useState([]);const[placesService,setPlacesService]=React.useState(null);const containerRef=React.useRef(null);const inputRef=React.useRef(null);const inputId=React.useMemo(()=>{const rnd=Math.random().toString(36).slice(2,9);return`addr-ac-${name||\"input\"}-${rnd}`;},[name]);React.useEffect(()=>{if(!apiKey)return;loadGoogle(apiKey).then(()=>setReady(true)).catch(()=>setReady(false));},[apiKey]);// init PlacesService (nécessaire pour getDetails => geometry.lat/lng)\nReact.useEffect(()=>{if(!ready||!window.google?.maps?.places)return;const div=document.createElement(\"div\");setPlacesService(new window.google.maps.places.PlacesService(div));},[ready]);React.useEffect(()=>{function handleClickOutside(e){if(!containerRef.current?.contains(e.target))setItems([]);}document.addEventListener(\"mousedown\",handleClickOutside);return()=>document.removeEventListener(\"mousedown\",handleClickOutside);},[]);// ✅ RESET STEP1\nReact.useEffect(()=>{const onReset=()=>{setValue(\"\");setItems([]);const el=inputRef.current;if(el){el.value=\"\";delete el.dataset.lat;delete el.dataset.lng;delete el.dataset.placeId;// déclenche watchers / invalidation\nel.dispatchEvent(new Event(\"input\",{bubbles:true}));el.dispatchEvent(new Event(\"change\",{bubbles:true}));el.dispatchEvent(new Event(\"blur\",{bubbles:true}));}};window.addEventListener(\"besyde_reset_step1\",onReset);return()=>window.removeEventListener(\"besyde_reset_step1\",onReset);},[]);const fetchPredictions=React.useCallback(input=>{// Si l’utilisateur retape, on invalide lat/lng précédents\nif(inputRef.current){delete inputRef.current.dataset.lat;delete inputRef.current.dataset.lng;delete inputRef.current.dataset.placeId;}if(!ready||!window.google?.maps?.places||!input){setItems([]);return;}const service=new window.google.maps.places.AutocompleteService;service.getPlacePredictions({input,componentRestrictions:country?{country}:undefined},preds=>{setItems(preds||[]);});},[ready,country]);const handlePick=React.useCallback(prediction=>{setValue(prediction.description);setItems([]);// Fallback si placesService pas prêt\nif(!placesService){if(inputRef.current)inputRef.current.dataset.placeId=String(prediction.place_id);onSelectAddress?.(prediction.description,prediction.place_id);return;}placesService.getDetails({placeId:prediction.place_id,fields:[\"geometry.location\"]},place=>{const loc=place?.geometry?.location;const lat=loc?.lat?.();const lng=loc?.lng?.();if(inputRef.current){inputRef.current.dataset.placeId=String(prediction.place_id);if(lat!=null)inputRef.current.dataset.lat=String(lat);if(lng!=null)inputRef.current.dataset.lng=String(lng);// 👇 utile pour invalidate listeners\ninputRef.current.dispatchEvent(new Event(\"change\",{bubbles:true}));}onSelectAddress?.(prediction.description,prediction.place_id);});},[placesService,onSelectAddress]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${inputId}::placeholder { color: #FFFFFF; opacity: 0.5; }\n                #${inputId}:focus { outline: none; }\n            `}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,id:inputId,name:name,value:value,placeholder:placeholder,autoComplete:\"off\",onChange:e=>{const v=e.target.value;setValue(v);fetchPredictions(v);},style:{width:\"100%\",height:25,lineHeight:\"25px\",border:\"none\",background:\"transparent\",padding:0,margin:0,color:\"#F1F1F1\",fontFamily:\"Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif\",fontSize:14,fontWeight:400,letterSpacing:\"0\",boxShadow:\"none\",outline:\"none\"}}),items.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"calc(100% + 6px)\",left:0,right:0,zIndex:9999,borderRadius:10,overflow:\"hidden\",background:\"#ffffff\",border:\"1px solid rgba(0,0,0,0.08)\",boxShadow:\"0 8px 24px rgba(0,0,0,0.12)\"},children:items.slice(0,6).map((p,idx)=>{const isLast=idx===Math.min(items.length,6)-1;return /*#__PURE__*/_jsx(\"div\",{onClick:()=>handlePick(p),onMouseEnter:e=>e.currentTarget.style.background=\"#f5f5f5\",onMouseLeave:e=>e.currentTarget.style.background=\"transparent\",style:{padding:\"10px 12px\",cursor:\"pointer\",fontSize:14,color:\"#111\",borderBottom:isLast?\"none\":\"1px solid rgba(0,0,0,0.06)\",background:\"transparent\",fontFamily:\"Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif\"},children:p.description},p.place_id);})})]});}addPropertyControls(AddressAutocomplete,{apiKey:{type:ControlType.String,title:\"Google API Key\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"D\\xe9part\"},name:{type:ControlType.String,title:\"Name\",defaultValue:\"adresse_depart\"},country:{type:ControlType.String,title:\"Country\",defaultValue:\"fr\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"AddressAutocomplete\":{\"type\":\"reactComponent\",\"name\":\"AddressAutocomplete\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AddressAutocomplete.map"],"mappings":"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"}