{"version":3,"file":"BookingModule_2.DsZ6SFQf.mjs","names":["useState","checkinDate","_Fragment"],"sources":["https:/framerusercontent.com/modules/dY6hH3791j1SR53DnCVV/5FtINPcyiDviOh3MfXa5/BookingModule_2.js"],"sourcesContent":["// Booking module with responsive design based on provided image\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,startTransition}from\"react\";/**\n * Responsive booking module with room selection, guest count, dates and booking button\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */function BookingModule(props){const{roomLabel=\"CHAMBRE\",roomConfigs=[{name:\"Suite Aliz\\xe9\",maxPersons:2,roomTypeId:\"suite-alize\"},{name:\"Suite Corail\",maxPersons:6,roomTypeId:\"suite-corail\"},{name:\"Suite Ylang Ylang\",maxPersons:4,roomTypeId:\"suite-ylang-ylang\"},{name:\"Studio Austral\",maxPersons:2,roomTypeId:\"studio-austral\"},{name:\"Studio Hibiscus\",maxPersons:2,roomTypeId:\"studio-hibiscus\"},{name:\"Studio Niaouli\",maxPersons:3,roomTypeId:\"studio-niaouli\"}],roomOptions=[\"Suite Ylang Ylang\",\"Suite Jasmin\",\"Suite Rose\",\"Suite Lavande\"],roomValue=\"Suite Ylang Ylang\",roomPreselected=false,guestsLabel=\"NOMBRE DE PERSONNES\",adultsLabel=\"Adultes\",childrenLabel=\"Enfants\",babiesLabel=\"B\\xe9b\\xe9s\",adultsValue=2,childrenValue=2,babiesValue=0,checkinLabel=\"DATE D'ARRIV\\xc9E\",checkoutLabel=\"DATE DE D\\xc9PART\",buttonText=\"R\\xe9server mon s\\xe9jour\",baseUrl=\"https://example.com/booking\",roomParam=\"roomTypeId\",adultsParam=\"items[0][adults]\",childrenParam=\"items[0][children]\",babiesParam=\"items[0][infants]\",checkinParam=\"checkInDate\",checkoutParam=\"checkOutDate\",enableUrlPrefill=false,prefillFromUrl=false,roomRequiredMessage=\"Veuillez s\\xe9lectionner une chambre\",guestsRequiredMessage=\"Au moins un adulte est requis\",dateRequiredMessage=\"Cette date est requise\",dateOrderMessage=\"La date de d\\xe9part doit \\xeatre apr\\xe8s l'arriv\\xe9e\",pastDateMessage=\"La date ne peut pas \\xeatre dans le pass\\xe9\",backgroundColor=\"#FFFFFF\",fieldBackgroundColor=\"#FFFFFF\",textColor=\"#333333\",labelColor=\"#B8860B\",buttonColor=\"#FF6B35\",buttonTextColor=\"#FFFFFF\",borderColor=\"#E5E5E5\",errorColor=\"#FF4444\",labelFont,fieldFont,buttonFont,moduleRadius=12,modulePadding=24,moduleGap=16,fieldRadius=8,fieldPadding=12,fieldGap=8,roomMinWidth=200,guestsMinWidth=150,dateMinWidth=140,buttonMinWidth=180,showLabelIcons=true,dropdownDirection=\"below\",buttonFullWidth=false,guestsLayout=\"horizontal\",style}=props;const[selectedRoom,setSelectedRoom]=useState(roomPreselected?roomValue:\"S\\xe9lectionner\");const[selectedAdults,setSelectedAdults]=useState(adultsValue);const[selectedChildren,setSelectedChildren]=useState(childrenValue);const[selectedBabies,setSelectedBabies]=useState(babiesValue);const[checkinDate,setCheckinDate]=useState(\"\");const[checkoutDate,setCheckoutDate]=useState(\"\");const[isRoomOpen,setIsRoomOpen]=useState(false);const[isAdultsOpen,setIsAdultsOpen]=useState(false);const[isChildrenOpen,setIsChildrenOpen]=useState(false);const[isBabiesOpen,setIsBabiesOpen]=useState(false);// Validation states\nconst[roomValidation,setRoomValidation]=useState({isValid:true,errorMessage:\"\"});const[guestsValidation,setGuestsValidation]=useState({isValid:true,errorMessage:\"\"});const[checkinValidation,setCheckinValidation]=useState({isValid:true,errorMessage:\"\"});const[checkoutValidation,setCheckoutValidation]=useState({isValid:true,errorMessage:\"\"});const[hasAttemptedSubmit,setHasAttemptedSubmit]=useState(false);// Function to get URL parameters\nconst getUrlParams=()=>{if(typeof window===\"undefined\")return{};const urlParams=new URLSearchParams(window.location.search);const params={};for(const[key,value]of urlParams.entries()){params[key]=value;}return params;};// Function to pre-fill from URL parameters\nconst prefillFromUrlParams=()=>{if(!enableUrlPrefill||!prefillFromUrl)return;const urlParams=getUrlParams();// Pre-fill room if parameter exists and is valid\nif(urlParams[roomParam]&&roomOptions.includes(urlParams[roomParam])){startTransition(()=>setSelectedRoom(urlParams[roomParam]));}// Pre-fill adults count\nif(urlParams[adultsParam]){const adults=parseInt(urlParams[adultsParam]);if(!isNaN(adults)&&adults>=0&&adults<=10){startTransition(()=>setSelectedAdults(adults));}}// Pre-fill children count\nif(urlParams[childrenParam]){const children=parseInt(urlParams[childrenParam]);if(!isNaN(children)&&children>=0&&children<=10){startTransition(()=>setSelectedChildren(children));}}// Pre-fill babies count\nif(urlParams[babiesParam]){const babies=parseInt(urlParams[babiesParam]);if(!isNaN(babies)&&babies>=0&&babies<=5){startTransition(()=>setSelectedBabies(babies));}}// Pre-fill check-in date\nif(urlParams[checkinParam]){try{const date=new Date(urlParams[checkinParam]);if(!isNaN(date.getTime())){const formattedDate=date.toLocaleDateString(\"fr-FR\",{day:\"2-digit\",month:\"2-digit\",year:\"numeric\"});startTransition(()=>setCheckinDate(formattedDate));}}catch(error){console.warn(\"Invalid check-in date in URL:\",urlParams[checkinParam]);}}// Pre-fill check-out date\nif(urlParams[checkoutParam]){try{const date=new Date(urlParams[checkoutParam]);if(!isNaN(date.getTime())){const formattedDate=date.toLocaleDateString(\"fr-FR\",{day:\"2-digit\",month:\"2-digit\",year:\"numeric\"});startTransition(()=>setCheckoutDate(formattedDate));}}catch(error){console.warn(\"Invalid check-out date in URL:\",urlParams[checkoutParam]);}}};// Set default dates on mount and handle URL pre-filling\nuseEffect(()=>{if(typeof window!==\"undefined\"){// First, try to pre-fill from URL if enabled\nif(enableUrlPrefill&&prefillFromUrl){prefillFromUrlParams();}// Set default dates only if not pre-filled from URL\nconst urlParams=getUrlParams();const hasCheckinFromUrl=enableUrlPrefill&&prefillFromUrl&&urlParams[checkinParam];const hasCheckoutFromUrl=enableUrlPrefill&&prefillFromUrl&&urlParams[checkoutParam];if(!hasCheckinFromUrl||!hasCheckoutFromUrl){const today=new Date;const tomorrow=new Date(today);tomorrow.setDate(tomorrow.getDate()+1);const formatDate=date=>{return date.toLocaleDateString(\"fr-FR\",{day:\"2-digit\",month:\"2-digit\",year:\"numeric\"});};startTransition(()=>{if(!hasCheckinFromUrl){setCheckinDate(formatDate(today));}if(!hasCheckoutFromUrl){setCheckoutDate(formatDate(tomorrow));}});}}},[enableUrlPrefill,prefillFromUrl,roomParam,adultsParam,childrenParam,babiesParam,checkinParam,checkoutParam]);// Validation functions\nconst validateRoom=room=>{if(!room||room.trim()===\"\"||room===\"S\\xe9lectionner\"){return{isValid:false,errorMessage:roomRequiredMessage};}return{isValid:true,errorMessage:\"\"};};const validateGuests=adults=>{if(adults<1){return{isValid:false,errorMessage:guestsRequiredMessage};}return{isValid:true,errorMessage:\"\"};};const validateDate=(dateStr,isCheckin=false)=>{if(!dateStr||dateStr.trim()===\"\"){return{isValid:false,errorMessage:dateRequiredMessage};}const date=new Date(dateStr.split(\"/\").reverse().join(\"-\"));const today=new Date;today.setHours(0,0,0,0);if(isCheckin&&date<today){return{isValid:false,errorMessage:pastDateMessage};}return{isValid:true,errorMessage:\"\"};};const validateDateOrder=(checkin,checkout)=>{if(!checkin||!checkout)return{isValid:true,errorMessage:\"\"};const checkinDate=new Date(checkin.split(\"/\").reverse().join(\"-\"));const checkoutDate=new Date(checkout.split(\"/\").reverse().join(\"-\"));if(checkoutDate<=checkinDate){return{isValid:false,errorMessage:dateOrderMessage};}return{isValid:true,errorMessage:\"\"};};// Real-time validation effects\nuseEffect(()=>{if(hasAttemptedSubmit){setRoomValidation(validateRoom(selectedRoom));}},[selectedRoom,hasAttemptedSubmit,roomRequiredMessage]);useEffect(()=>{if(hasAttemptedSubmit){setGuestsValidation(validateGuests(selectedAdults));}},[selectedAdults,hasAttemptedSubmit,guestsRequiredMessage]);useEffect(()=>{if(hasAttemptedSubmit){setCheckinValidation(validateDate(checkinDate,true));const orderValidation=validateDateOrder(checkinDate,checkoutDate);if(!orderValidation.isValid){setCheckoutValidation(orderValidation);}else{setCheckoutValidation(validateDate(checkoutDate));}}},[checkinDate,checkoutDate,hasAttemptedSubmit,dateRequiredMessage,pastDateMessage,dateOrderMessage]);// Dynamic maximum person limits based on selected room\nuseEffect(()=>{const selectedRoomConfig=roomConfigs.find(config=>config.name===selectedRoom);if(selectedRoomConfig){const maxPersons=selectedRoomConfig.maxPersons;const currentTotal=selectedAdults+selectedChildren+selectedBabies;// If current total exceeds room capacity, adjust the counts\nif(currentTotal>maxPersons){let newAdults=selectedAdults;let newChildren=selectedChildren;let newBabies=selectedBabies;// Prioritize adults, then children, then babies\nconst excess=currentTotal-maxPersons;// First reduce babies\nconst babiesReduction=Math.min(excess,newBabies);newBabies-=babiesReduction;let remainingExcess=excess-babiesReduction;// Then reduce children if still over capacity\nif(remainingExcess>0){const childrenReduction=Math.min(remainingExcess,newChildren);newChildren-=childrenReduction;remainingExcess-=childrenReduction;}// Finally reduce adults if still over capacity (but keep at least 1)\nif(remainingExcess>0){const adultsReduction=Math.min(remainingExcess,newAdults-1);newAdults-=adultsReduction;}startTransition(()=>{setSelectedAdults(newAdults);setSelectedChildren(newChildren);setSelectedBabies(newBabies);});}}},[selectedRoom,roomConfigs]);// Adjust person counts when they exceed room capacity\nuseEffect(()=>{const selectedRoomConfig=roomConfigs.find(config=>config.name===selectedRoom);if(selectedRoomConfig){const maxPersons=selectedRoomConfig.maxPersons;const currentTotal=selectedAdults+selectedChildren+selectedBabies;if(currentTotal>maxPersons){// Calculate how many people to remove\nconst excess=currentTotal-maxPersons;// Remove from babies first, then children, keeping at least 1 adult\nlet newBabies=selectedBabies;let newChildren=selectedChildren;let newAdults=selectedAdults;// Reduce babies first\nconst babiesReduction=Math.min(excess,newBabies);newBabies-=babiesReduction;let remainingExcess=excess-babiesReduction;// Then reduce children\nif(remainingExcess>0){const childrenReduction=Math.min(remainingExcess,newChildren);newChildren-=childrenReduction;remainingExcess-=childrenReduction;}// Finally reduce adults but keep at least 1\nif(remainingExcess>0){const adultsReduction=Math.min(remainingExcess,newAdults-1);newAdults-=adultsReduction;}startTransition(()=>{setSelectedAdults(newAdults);setSelectedChildren(newChildren);setSelectedBabies(newBabies);});}}},[selectedAdults,selectedChildren,selectedBabies,selectedRoom,roomConfigs]);const isFormValid=()=>{const roomValid=validateRoom(selectedRoom);const guestsValid=validateGuests(selectedAdults);const checkinValid=validateDate(checkinDate,true);const checkoutValid=validateDate(checkoutDate);const orderValid=validateDateOrder(checkinDate,checkoutDate);return roomValid.isValid&&guestsValid.isValid&&checkinValid.isValid&&checkoutValid.isValid&&orderValid.isValid;};const handleSubmit=()=>{setHasAttemptedSubmit(true);const roomValid=validateRoom(selectedRoom);const guestsValid=validateGuests(selectedAdults);const checkinValid=validateDate(checkinDate,true);const checkoutValid=validateDate(checkoutDate);const orderValid=validateDateOrder(checkinDate,checkoutDate);setRoomValidation(roomValid);setGuestsValidation(guestsValid);setCheckinValidation(checkinValid);if(!orderValid.isValid){setCheckoutValidation(orderValid);}else{setCheckoutValidation(checkoutValid);}if(roomValid.isValid&&guestsValid.isValid&&checkinValid.isValid&&checkoutValid.isValid&&orderValid.isValid){// Check if the date difference is more than 7 days\nconst checkinDateObj=new Date(checkinDate.split(\"/\").reverse().join(\"-\"));const checkoutDateObj=new Date(checkoutDate.split(\"/\").reverse().join(\"-\"));const daysDifference=Math.ceil((checkoutDateObj.getTime()-checkinDateObj.getTime())/(1e3*60*60*24));if(daysDifference>7){// Redirect to alternative URL for long stays\nif(typeof window!==\"undefined\"){window.open(props.alternativeUrl,props.alternativeUrlTarget);}return;}// Build URL with parameters\nconst url=new URL(baseUrl);// Find the room configuration to get the roomTypeId\nconst selectedRoomConfig=roomConfigs.find(config=>config.name===selectedRoom);const roomTypeIdValue=selectedRoomConfig?selectedRoomConfig.roomTypeId:selectedRoom;// Add room parameter\nurl.searchParams.set(roomParam,roomTypeIdValue);// Add guest parameters\nurl.searchParams.set(adultsParam,selectedAdults.toString());url.searchParams.set(childrenParam,selectedChildren.toString());url.searchParams.set(babiesParam,selectedBabies.toString());// Add date parameters (convert to ISO format)\nconst checkinISO=new Date(checkinDate.split(\"/\").reverse().join(\"-\")).toISOString().split(\"T\")[0];const checkoutISO=new Date(checkoutDate.split(\"/\").reverse().join(\"-\")).toISOString().split(\"T\")[0];url.searchParams.set(checkinParam,checkinISO);url.searchParams.set(checkoutParam,checkoutISO);// Navigate to the booking URL\nif(typeof window!==\"undefined\"){window.open(url.toString(),\"_blank\");}console.log(\"Booking URL:\",url.toString());}};const isFixedWidth=style?.width===\"100%\";const containerWidth=isFixedWidth?\"100%\":\"auto\";// Use the layout prop instead of window-based detection\nconst currentLayout=props.layout||\"desktop\";const iconStyle={width:16,height:16,fill:labelColor,flexShrink:0};const getFieldStyle=(validation,minWidth)=>({backgroundColor:fieldBackgroundColor,border:`1px solid ${validation.isValid?borderColor:errorColor}`,borderRadius:fieldRadius,padding:fieldPadding,minHeight:48,minWidth:minWidth||\"auto\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",cursor:\"pointer\",position:\"relative\"});const labelStyle={...labelFont,color:labelColor,fontSize:\"11px\",fontWeight:600,letterSpacing:\"0.5px\",textTransform:\"uppercase\",marginBottom:4,display:\"flex\",alignItems:\"center\",gap:6,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"};const valueStyle={...fieldFont,color:textColor,fontSize:\"14px\",fontWeight:400};const errorStyle={...fieldFont,color:errorColor,fontSize:\"12px\",marginTop:4,fontWeight:400};const dropdownStyle={position:\"absolute\",top:props.dropdownDirection===\"above\"?\"auto\":\"100%\",bottom:props.dropdownDirection===\"above\"?\"100%\":\"auto\",left:0,right:0,backgroundColor:fieldBackgroundColor,border:`1px solid ${borderColor}`,borderRadius:fieldRadius,marginTop:props.dropdownDirection===\"above\"?0:4,marginBottom:props.dropdownDirection===\"above\"?4:0,zIndex:10,boxShadow:\"0 4px 12px rgba(0,0,0,0.1)\",maxHeight:200,overflowY:\"auto\"};const dropdownItemStyle={padding:fieldPadding,cursor:\"pointer\",borderBottom:`1px solid ${borderColor}`,...fieldFont,color:textColor,fontSize:\"14px\"};const renderDropdown=(isOpen,setIsOpen,options,selectedValue,onSelect,label,icon,validation,minWidth)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:labelStyle,children:[showLabelIcons&&icon,/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:label})]}),!validation.isValid&&/*#__PURE__*/_jsx(\"div\",{style:errorStyle,children:validation.errorMessage}),/*#__PURE__*/_jsxs(\"div\",{style:getFieldStyle(validation,minWidth),onClick:()=>setIsOpen(!isOpen),children:[/*#__PURE__*/_jsxs(\"div\",{style:{...valueStyle,display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",flex:1},children:selectedValue}),/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:{width:16,height:16,fill:textColor,transform:isOpen?\"rotate(180deg)\":\"rotate(0deg)\",transition:\"transform 0.2s\",flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 10l5 5 5-5z\"})})]}),isOpen&&/*#__PURE__*/_jsx(\"div\",{style:dropdownStyle,children:options.map((option,index)=>/*#__PURE__*/_jsx(\"div\",{style:{...dropdownItemStyle,backgroundColor:option===selectedValue?borderColor:\"transparent\",borderBottom:index===options.length-1?\"none\":`1px solid ${borderColor}`},onClick:e=>{e.stopPropagation();startTransition(()=>{onSelect(option);setIsOpen(false);});},children:/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:option})},index))})]})]});const renderRoomField=()=>renderDropdown(isRoomOpen,setIsRoomOpen,roomPreselected?roomConfigs.map(config=>config.name):[\"S\\xe9lectionner\",...roomConfigs.map(config=>config.name)],selectedRoom,setSelectedRoom,roomLabel,/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 13c1.66 0 3-1.34 3-3s-1.79-4-4-4-4 1.79-4 3 1.34 3 3 3zm12-6h-8v7H3V6H1v15h2v-3h18v3h2v-6h2v3h2v-9c0-2.21-1.79-4-4-4z\"})}),roomValidation,roomMinWidth);const renderGuestsFields=()=>{// Get the selected room configuration to determine max capacity\nconst selectedRoomConfig=roomConfigs.find(config=>config.name===selectedRoom);const maxPersons=selectedRoomConfig?selectedRoomConfig.maxPersons:10;// Calculate current total and remaining capacity\nconst currentTotal=selectedAdults+selectedChildren+selectedBabies;const remainingCapacity=maxPersons-currentTotal;// Generate dynamic options based on current selections and room capacity\nconst getAdultOptions=()=>{const maxAdults=Math.min(10,selectedAdults+remainingCapacity);return Array.from({length:maxAdults+1},(_,i)=>i).filter(i=>i>=1)// At least 1 adult required\n;};const getChildrenOptions=()=>{const maxChildren=Math.min(10,selectedChildren+remainingCapacity);return Array.from({length:maxChildren+1},(_,i)=>i);};const getBabyOptions=()=>{const maxBabies=Math.min(5,selectedBabies+remainingCapacity);return Array.from({length:maxBabies+1},(_,i)=>i);};const adultOptions=getAdultOptions();const childOptions=getChildrenOptions();const babyOptions=getBabyOptions();const containerStyle=guestsLayout===\"horizontal\"?{display:\"grid\",gridTemplateColumns:\"1fr 1fr 1fr\",gap:fieldGap}:{display:\"flex\",flexDirection:\"column\",gap:fieldGap};if(currentLayout===\"mobile\"){return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[renderDropdown(isAdultsOpen,setIsAdultsOpen,adultOptions,selectedAdults,setSelectedAdults,adultsLabel,/*#__PURE__*/_jsx(_Fragment,{}),guestsValidation,guestsMinWidth),renderDropdown(isChildrenOpen,setIsChildrenOpen,childOptions,selectedChildren,setSelectedChildren,childrenLabel,/*#__PURE__*/_jsx(_Fragment,{}),{isValid:true,errorMessage:\"\"},guestsMinWidth),renderDropdown(isBabiesOpen,setIsBabiesOpen,babyOptions,selectedBabies,setSelectedBabies,babiesLabel,/*#__PURE__*/_jsx(_Fragment,{}),{isValid:true,errorMessage:\"\"},guestsMinWidth)]});}return /*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[renderDropdown(isAdultsOpen,setIsAdultsOpen,adultOptions,selectedAdults,setSelectedAdults,adultsLabel,/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 12c1.66 0 3-1.34 3-3s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-1.5c0-2.33-4.67-3.5-8-3.5z\"})}),guestsValidation,guestsMinWidth),renderDropdown(isChildrenOpen,setIsChildrenOpen,childOptions,selectedChildren,setSelectedChildren,childrenLabel,/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 12c1.93 0 3.5-1.57 3.5-3.5V19h14v-1.5c0-2.33-4.67-3.5-8-3.5z\"})}),{isValid:true,errorMessage:\"\"},guestsMinWidth),renderDropdown(isBabiesOpen,setIsBabiesOpen,babyOptions,selectedBabies,setSelectedBabies,babiesLabel,/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c-2.33 0-7 1.17-7 3.5V19h14v-1.5c0-2.33-4.67-3.5-8-3.5z\"})}),{isValid:true,errorMessage:\"\"},guestsMinWidth)]})});};const renderDateField=(label,value,onChange,validation)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:labelStyle,children:[showLabelIcons&&/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"})}),/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:label})]}),!validation.isValid&&/*#__PURE__*/_jsx(\"div\",{style:errorStyle,children:validation.errorMessage}),/*#__PURE__*/_jsx(\"div\",{style:getFieldStyle(validation,dateMinWidth),onClick:()=>{// Find the date input and trigger click\n    const dateInput=document.querySelector(`input[data-date-field=\"${label}\"]`);if(dateInput){if(dateInput.showPicker){dateInput.showPicker();}else{dateInput.click();}}},children:/*#__PURE__*/_jsx(\"input\",{\"data-date-field\":label,type:\"date\",value:value?new Date(value.split(\"/\").reverse().join(\"-\")).toISOString().split(\"T\")[0]:\"\",onChange:e=>{const date=new Date(e.target.value);const formattedDate=date.toLocaleDateString(\"fr-FR\",{day:\"2-digit\",month:\"2-digit\",year:\"numeric\"});startTransition(()=>onChange(formattedDate));},onClick:e=>e.stopPropagation(),style:{...valueStyle,border:\"none\",background:\"transparent\",outline:\"none\",width:\"100%\",cursor:\"pointer\"}})})]});const renderDateFields=()=>{if(currentLayout===\"mobile\"){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gap:fieldGap},children:[renderDateField(checkinLabel,checkinDate,setCheckinDate,checkinValidation),renderDateField(checkoutLabel,checkoutDate,setCheckoutDate,checkoutValidation)]});}return /*#__PURE__*/_jsxs(_Fragment,{children:[renderDateField(checkinLabel,checkinDate,setCheckinDate,checkinValidation),renderDateField(checkoutLabel,checkoutDate,setCheckoutDate,checkoutValidation)]});};const renderButton=()=>/*#__PURE__*/_jsx(\"button\",{onClick:handleSubmit,disabled:hasAttemptedSubmit&&!isFormValid(),style:{...buttonFont,backgroundColor:hasAttemptedSubmit&&!isFormValid()?\"#CCCCCC\":buttonColor,color:hasAttemptedSubmit&&!isFormValid()?\"#666666\":buttonTextColor,border:\"none\",borderRadius:fieldRadius,padding:`${fieldPadding+4}px ${fieldPadding+8}px`,fontSize:\"14px\",fontWeight:600,cursor:hasAttemptedSubmit&&!isFormValid()?\"not-allowed\":\"pointer\",minHeight:48,minWidth:buttonMinWidth,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,transition:\"all 0.2s ease\",width:buttonFullWidth||currentLayout===\"mobile\"?\"100%\":\"auto\",whiteSpace:\"nowrap\",opacity:hasAttemptedSubmit&&!isFormValid()?.6:1},children:/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:buttonText})});const getLayoutStyles=()=>{const baseStyles={borderRadius:moduleRadius,padding:modulePadding,width:containerWidth};if(currentLayout===\"desktop\"){if(props.wrap){return{...baseStyles,display:\"flex\",flexWrap:\"wrap\",gap:moduleGap,alignItems:\"end\"};}else{return{...baseStyles,display:\"grid\",gridTemplateColumns:\"1fr 1fr 1fr 1fr auto\",gap:moduleGap,alignItems:\"end\"};}}else{return{...baseStyles,display:\"flex\",flexDirection:\"column\",gap:moduleGap};}};const getItemStyles=area=>{if(currentLayout===\"desktop\"&&props.wrap){return{flex:\"1 1 auto\",minWidth:\"200px\"};}return{};};return /*#__PURE__*/_jsx(\"div\",{style:{...style,position:\"relative\",display:\"flex\",justifyContent:\"center\",width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{style:getLayoutStyles(),children:[/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"room\"),children:renderRoomField()}),/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"guests\"),children:renderGuestsFields()}),currentLayout===\"mobile\"?/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"dates\"),children:renderDateFields()}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"checkin\"),children:renderDateField(checkinLabel,checkinDate,setCheckinDate,checkinValidation)}),/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"checkout\"),children:renderDateField(checkoutLabel,checkoutDate,setCheckoutDate,checkoutValidation)})]}),/*#__PURE__*/_jsx(\"div\",{style:getItemStyles(\"button\"),children:renderButton()})]})});}export default BookingModule;addPropertyControls(BookingModule,{// Content Controls\nroomLabel:{type:ControlType.String,title:\"Room Label\",defaultValue:\"CHAMBRE\"},roomConfigs:{type:ControlType.Array,title:\"Room Configurations\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Room Name\",defaultValue:\"Suite Ylang Ylang\"},maxPersons:{type:ControlType.Number,title:\"Max Persons\",defaultValue:4,min:1,max:20},roomTypeId:{type:ControlType.String,title:\"Room Type ID\",defaultValue:\"suite-ylang-ylang\"}}},defaultValue:[{name:\"Suite Aliz\\xe9\",maxPersons:2,roomTypeId:\"suite-alize\"},{name:\"Suite Corail\",maxPersons:6,roomTypeId:\"suite-corail\"},{name:\"Suite Ylang Ylang\",maxPersons:4,roomTypeId:\"suite-ylang-ylang\"},{name:\"Studio Austral\",maxPersons:2,roomTypeId:\"studio-austral\"},{name:\"Studio Hibiscus\",maxPersons:2,roomTypeId:\"studio-hibiscus\"},{name:\"Studio Niaouli\",maxPersons:3,roomTypeId:\"studio-niaouli\"}]},roomOptions:{type:ControlType.Array,title:\"Room Options\",control:{type:ControlType.String},defaultValue:[\"Suite Ylang Ylang\",\"Suite Jasmin\",\"Suite Rose\",\"Suite Lavande\"],hidden:()=>true},roomValue:{type:ControlType.String,title:\"Default Room\",defaultValue:\"Suite Ylang Ylang\"},roomPreselected:{type:ControlType.Boolean,title:\"Room Preselected\",defaultValue:false,enabledTitle:\"First Option\",disabledTitle:\"Placeholder\"},guestsLabel:{type:ControlType.String,title:\"Guests Label\",defaultValue:\"NOMBRE DE PERSONNES\"},adultsLabel:{type:ControlType.String,title:\"Adults Label\",defaultValue:\"Adultes\"},childrenLabel:{type:ControlType.String,title:\"Children Label\",defaultValue:\"Enfants\"},babiesLabel:{type:ControlType.String,title:\"Babies Label\",defaultValue:\"B\\xe9b\\xe9s\"},adultsValue:{type:ControlType.Number,title:\"Default Adults\",defaultValue:2,min:0,max:10},childrenValue:{type:ControlType.Number,title:\"Default Children\",defaultValue:2,min:0,max:10},babiesValue:{type:ControlType.Number,title:\"Default Babies\",defaultValue:0,min:0,max:5},checkinLabel:{type:ControlType.String,title:\"Check-in Label\",defaultValue:\"DATE D'ARRIV\\xc9E\"},checkoutLabel:{type:ControlType.String,title:\"Check-out Label\",defaultValue:\"DATE DE D\\xc9PART\"},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"R\\xe9server mon s\\xe9jour\"},// URL Parameters\nbaseUrl:{type:ControlType.String,title:\"Base URL\",defaultValue:\"https://example.com/booking\"},roomParam:{type:ControlType.String,title:\"Room Parameter\",defaultValue:\"roomTypeId\"},adultsParam:{type:ControlType.String,title:\"Adults Parameter\",defaultValue:\"items[0][adults]\"},childrenParam:{type:ControlType.String,title:\"Children Parameter\",defaultValue:\"items[0][children]\"},babiesParam:{type:ControlType.String,title:\"Babies Parameter\",defaultValue:\"items[0][infants]\"},checkinParam:{type:ControlType.String,title:\"Check-in Parameter\",defaultValue:\"checkInDate\"},checkoutParam:{type:ControlType.String,title:\"Check-out Parameter\",defaultValue:\"checkOutDate\"},alternativeUrl:{type:ControlType.String,title:\"Alternative URL\",defaultValue:\"https://example.com/long-stay\"},alternativeUrlTarget:{type:ControlType.Enum,title:\"Alternative URL Target\",options:[\"_blank\",\"_self\"],optionTitles:[\"New Tab\",\"Same Tab\"],defaultValue:\"_blank\",displaySegmentedControl:true},// Validation Messages\nroomRequiredMessage:{type:ControlType.String,title:\"Room Required Message\",defaultValue:\"Veuillez s\\xe9lectionner une chambre\"},guestsRequiredMessage:{type:ControlType.String,title:\"Guests Required Message\",defaultValue:\"Au moins un adulte est requis\"},dateRequiredMessage:{type:ControlType.String,title:\"Date Required Message\",defaultValue:\"Cette date est requise\"},dateOrderMessage:{type:ControlType.String,title:\"Date Order Message\",defaultValue:\"La date de d\\xe9part doit \\xeatre apr\\xe8s l'arriv\\xe9e\"},pastDateMessage:{type:ControlType.String,title:\"Past Date Message\",defaultValue:\"La date ne peut pas \\xeatre dans le pass\\xe9\"},// Color Controls\nbackgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#FFFFFF\"},fieldBackgroundColor:{type:ControlType.Color,title:\"Field Background\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#B8860B\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#FF6B35\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text Color\",defaultValue:\"#FFFFFF\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#E5E5E5\"},errorColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#FF4444\"},// Typography Controls\nlabelFont:{type:ControlType.Font,title:\"Label Font\",defaultValue:{fontSize:\"11px\",variant:\"Semibold\",letterSpacing:\"0.5px\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},fieldFont:{type:ControlType.Font,title:\"Field Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0px\",lineHeight:\"1.4em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},buttonFont:{type:ControlType.Font,title:\"Button Font\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"0px\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},// Layout Controls\nlayout:{type:ControlType.Enum,title:\"Layout\",options:[\"desktop\",\"mobile\"],optionTitles:[\"Desktop\",\"Mobile\"],defaultValue:\"desktop\",displaySegmentedControl:true},wrap:{type:ControlType.Boolean,title:\"Wrap Fields\",defaultValue:false,enabledTitle:\"Wrap\",disabledTitle:\"Grid\",hidden:({layout})=>layout!==\"desktop\"},showLabelIcons:{type:ControlType.Boolean,title:\"Show Label Icons\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},dropdownDirection:{type:ControlType.Enum,title:\"Dropdown Direction\",options:[\"below\",\"above\"],optionTitles:[\"Below Field\",\"Above Field\"],defaultValue:\"below\",displaySegmentedControl:true},buttonFullWidth:{type:ControlType.Boolean,title:\"Button Full Width\",defaultValue:false,enabledTitle:\"Full Width\",disabledTitle:\"Auto Width\"},guestsLayout:{type:ControlType.Enum,title:\"Guests Layout\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],defaultValue:\"horizontal\",displaySegmentedControl:true},moduleRadius:{type:ControlType.Number,title:\"Module Radius\",defaultValue:12,min:0,max:32,unit:\"px\"},modulePadding:{type:ControlType.Number,title:\"Module Padding\",defaultValue:24,min:0,max:48,unit:\"px\"},moduleGap:{type:ControlType.Number,title:\"Module Gap\",defaultValue:16,min:0,max:32,unit:\"px\"},fieldRadius:{type:ControlType.Number,title:\"Field Radius\",defaultValue:8,min:0,max:24,unit:\"px\"},fieldPadding:{type:ControlType.Number,title:\"Field Padding\",defaultValue:12,min:0,max:24,unit:\"px\"},fieldGap:{type:ControlType.Number,title:\"Field Gap\",defaultValue:8,min:0,max:16,unit:\"px\"},// Min-width Controls\nroomMinWidth:{type:ControlType.Number,title:\"Room Min Width\",defaultValue:200,min:0,max:400,unit:\"px\"},guestsMinWidth:{type:ControlType.Number,title:\"Guests Min Width\",defaultValue:150,min:0,max:300,unit:\"px\"},dateMinWidth:{type:ControlType.Number,title:\"Date Min Width\",defaultValue:140,min:0,max:250,unit:\"px\"},buttonMinWidth:{type:ControlType.Number,title:\"Button Min Width\",defaultValue:180,min:0,max:300,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BookingModule\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BookingModule_2.map"],"mappings":"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"}