{"version":3,"file":"TimeSelect.BD6ER5Ky.mjs","names":["parseReservationData","payload","DateInput","GuestsSelect","__legacyOverrideHOC_DataObserverContext","_jsx","withDateInput","React.useState","__legacyOverrideHOC_DataObserverContext","_jsx","React.useState"],"sources":["https:/framerusercontent.com/modules/Z3nQVq5hxo9OpVRzqcCc/FYGeAkykuQdTkQmFXLiN/FormPrefill.js","https:/framerusercontent.com/modules/kHGazswTibrgpVJA1lrg/SQhHKML0z0JgSCRhMpXy/GuestsSelect.js","https:/framerusercontent.com/modules/XsfCLuBrhhMpmlWha0Sp/CG1C9wcpA68MsBk2M6zh/ReservationOverrides.js","https:/framerusercontent.com/modules/RoyeO5fD0h6dGh5IwOoC/KRNPsgs9R5D4KRylQOjR/TimeSelect.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";function parseReservationData(){try{const params=new URLSearchParams(window.location.search);let b64=params.get(\"data\");if(!b64)return{}// NOTHING TO PARSE → RETURN SAFE EMPTY OBJECT\n;b64=b64.replace(/-/g,\"+\").replace(/_/g,\"/\");const pad=b64.length%4;if(pad)b64+=\"=\".repeat(4-pad);const latin1=atob(b64);let pct=\"\";for(let i=0;i<latin1.length;i++){pct+=\"%\"+latin1.charCodeAt(i).toString(16).padStart(2,\"0\");}const decoded=decodeURIComponent(pct);// SAFETY: must be valid JSON\nif(!decoded.startsWith(\"{\"))return{};return JSON.parse(decoded);}catch(err){console.warn(\"parseReservationData failed safely:\",err);return{};}}const payload=parseReservationData();console.log(\"Decoded payload:\",payload);export function NameInput(){return{defaultValue:payload.name||\"\"};}export function PhoneInput(){return{defaultValue:payload.phone||\"\"};}export function EmailInput(){return{defaultValue:payload.email||\"\"};}export function RequestsInput(){return{defaultValue:payload.requests||\"\"};}export function DateInput(){React.useEffect(()=>{const input=document.querySelector('input[type=\"date\"]');if(!input)return;// 🔒 Specific blocked dates — add more as needed\nconst blockedDates=[\"2025-12-22\",\"2025-12-23\",\"2025-12-24\",\"2025-12-25\",\"2025-12-26\",\"2025-12-27\",\"2025-12-28\",\"2025-12-29\"];// ⛔ Check on user input\ninput.addEventListener(\"input\",()=>{const selected=input.value;const selectedDate=new Date(selected);const isMonday=selectedDate.getDay()===1;const isBlockedDate=blockedDates.includes(selected);if(isMonday||isBlockedDate){alert(\"This date is not available. Please choose another.\");input.value=\"\";}});// 🔐 Optional: block past dates\nconst today=new Date().toISOString().split(\"T\")[0];input.setAttribute(\"min\",today);},[]);return{defaultValue:payload.date||\"\"};}//\n// ✅ FIXED TIME INPUT — hides times < 1.5h from now ONLY if booking is today\n//\nfunction normalizeDateString(str){if(!str)return\"\";if(/^\\d{4}-\\d{2}-\\d{2}$/.test(str))return str// already ISO\n;const cleaned=str.replace(/\\./g,\"-\").replace(/\\s+/g,\"\");return cleaned.replace(/-$/,\"\");}export function TimeInput(props){const opts=props.options||[];// Read Framer's real date from hidden ISO field\nlet liveDate=\"\";const hidden=document.querySelector('input[name=\"Date\"][type=\"hidden\"]');if(hidden&&hidden.value){liveDate=hidden.value// correct yyyy-mm-dd format\n;}else{const visible=document.querySelector('input[name=\"Date\"]');if(visible)liveDate=visible.value;}liveDate=normalizeDateString(liveDate);const selectedDate=liveDate?new Date(liveDate):null;const now=new Date;const isToday=selectedDate&&selectedDate.toISOString().split(\"T\")[0]===now.toISOString().split(\"T\")[0];// Minimum allowed = now + 1.5 hours\nconst minAllowed=new Date(now.getTime()+90*60*1e3);let filteredOptions=opts;if(isToday){filteredOptions=opts.filter(o=>{if(!/^\\d\\d:\\d\\d$/.test(o.value))return true;const[hh,mm]=o.value.split(\":\").map(Number);const slot=new Date(now.getFullYear(),now.getMonth(),now.getDate(),hh,mm);return slot>=minAllowed;});}return{options:filteredOptions};}export function GuestsSelect(props){const opts=props.options||[];const want=payload.guests!=null?payload.guests.toString():\"\";const match=opts.find(o=>o.value===want);if(match){return{selectedOptionId:match.id};}return{};}export function NewsletterCheckbox(){return{checked:payload.newsletter===true};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withNameInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...NameInput(props)});};}withNameInput.displayName=\"NameInput\";export function withPhoneInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...PhoneInput(props)});};}withPhoneInput.displayName=\"PhoneInput\";export function withEmailInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...EmailInput(props)});};}withEmailInput.displayName=\"EmailInput\";export function withRequestsInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...RequestsInput(props)});};}withRequestsInput.displayName=\"RequestsInput\";export function withDateInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...DateInput(props)});};}withDateInput.displayName=\"DateInput\";export function withTimeInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...TimeInput(props)});};}withTimeInput.displayName=\"TimeInput\";export function withGuestsSelect(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...GuestsSelect(props)});};}withGuestsSelect.displayName=\"GuestsSelect\";export function withNewsletterCheckbox(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...NewsletterCheckbox(props)});};}withNewsletterCheckbox.displayName=\"NewsletterCheckbox\";\nexport const __FramerMetadata__ = {\"exports\":{\"PhoneInput\":{\"type\":\"override\",\"name\":\"PhoneInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withPhoneInput\":{\"type\":\"reactHoc\",\"name\":\"withPhoneInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GuestsSelect\":{\"type\":\"override\",\"name\":\"GuestsSelect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRequestsInput\":{\"type\":\"reactHoc\",\"name\":\"withRequestsInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DateInput\":{\"type\":\"override\",\"name\":\"DateInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDateInput\":{\"type\":\"reactHoc\",\"name\":\"withDateInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTimeInput\":{\"type\":\"reactHoc\",\"name\":\"withTimeInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGuestsSelect\":{\"type\":\"reactHoc\",\"name\":\"withGuestsSelect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EmailInput\":{\"type\":\"override\",\"name\":\"EmailInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEmailInput\":{\"type\":\"reactHoc\",\"name\":\"withEmailInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NameInput\":{\"type\":\"override\",\"name\":\"NameInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RequestsInput\":{\"type\":\"override\",\"name\":\"RequestsInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TimeInput\":{\"type\":\"override\",\"name\":\"TimeInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNameInput\":{\"type\":\"reactHoc\",\"name\":\"withNameInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NewsletterCheckbox\":{\"type\":\"override\",\"name\":\"NewsletterCheckbox\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNewsletterCheckbox\":{\"type\":\"reactHoc\",\"name\":\"withNewsletterCheckbox\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormPrefill.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function GuestsSelect(props){const{label=\"Number of Guests\",name=\"Guests\",required=false,defaultGuests=2,onGuestsChange}=props;const[guests,setGuests]=React.useState(defaultGuests);/************************************************\n     * Hidden input + broadcast\n     ************************************************/React.useEffect(()=>{updateHidden(guests);broadcast(guests);},[]);function updateHidden(value){const hidden=document.querySelector(`input[name=\"${name}\"]`);if(hidden)hidden.value=String(value);}function broadcast(value){window.dispatchEvent(new CustomEvent(\"guests:changed\",{detail:{guests:value}}));}function handleChange(e){const value=parseInt(e.target.value,10);setGuests(value);updateHidden(value);broadcast(value);if(onGuestsChange)onGuestsChange(value);}/************************************************\n     * Render UI\n     ************************************************/return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",display:\"flex\",flexDirection:\"column\"},children:[label&&/*#__PURE__*/_jsx(\"label\",{style:{marginBottom:6,fontSize:14,color:\"#fff\",opacity:.8},children:label}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"select\",{value:guests,required:required,onChange:handleChange,style:{width:\"100%\",padding:\"12px 14px\",fontSize:\"14px\",border:\"1px solid rgba(255,255,255,0.15)\",background:\"rgba(255,255,255,0.05)\",color:\"#fff\",borderRadius:\"10px\",outline:\"none\",appearance:\"none\",WebkitAppearance:\"none\",MozAppearance:\"none\",cursor:\"pointer\"},children:[...Array(8)].map((_,i)=>{const n=i+1;return /*#__PURE__*/_jsx(\"option\",{value:n,style:{color:\"#000\"},children:n},n);})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:14,top:\"50%\",transform:\"translateY(-50%)\",pointerEvents:\"none\",color:\"rgba(255,255,255,0.7)\",fontSize:12},children:\"▼\"})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",name:name,value:guests,required:required,hidden:true,readOnly:true})]});}/************************************************\n * Framer Sidebar Controls\n ************************************************/addPropertyControls(GuestsSelect,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Number of Guests\"},name:{type:ControlType.String,title:\"Name\",defaultValue:\"Guests\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:true},defaultGuests:{type:ControlType.Number,min:1,max:8,defaultValue:2,title:\"Default\"},onGuestsChange:{type:ControlType.EventHandler,title:\"On Change\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"GuestsSelect\":{\"type\":\"reactComponent\",\"name\":\"GuestsSelect\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GuestsSelect.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";/**********************************************\n * BASE64 Reservation Prefill\n **********************************************/function parseReservationData(){try{const params=new URLSearchParams(window.location.search);let b64=params.get(\"data\");if(!b64)return{};b64=b64.replace(/-/g,\"+\").replace(/_/g,\"/\");const pad=b64.length%4;if(pad)b64+=\"=\".repeat(4-pad);const latin1=atob(b64);let pct=\"\";for(let i=0;i<latin1.length;i++){pct+=\"%\"+latin1.charCodeAt(i).toString(16).padStart(2,\"0\");}const jsonStr=decodeURIComponent(pct);return jsonStr.startsWith(\"{\")?JSON.parse(jsonStr):{};}catch{return{};}}const payload=parseReservationData();/**********************************************\n * SIMPLE PREFILL FIELDS\n **********************************************/export const NameInput=()=>({defaultValue:payload.name||\"\"});export const PhoneInput=()=>({defaultValue:payload.phone||\"\"});export const EmailInput=()=>({defaultValue:payload.email||\"\"});export const RequestsInput=()=>({defaultValue:payload.requests||\"\"});export const NewsletterCheckbox=()=>({checked:payload.newsletter===true});/**********************************************\n * DATE BLOCKING RULES\n **********************************************/const BLOCKED=new Set([\"2025-12-22\",\"2025-12-23\",\"2025-12-24\",\"2025-12-25\",\"2025-12-26\",\"2025-12-27\",\"2025-12-28\",\"2025-12-29\",\"2025-10-28\"]);const isMonday=d=>d.getDay()===1;const toYMD=d=>d.toISOString().split(\"T\")[0];const isIllegal=d=>BLOCKED.has(toYMD(d))||isMonday(d);/**********************************************\n * DATE INPUT — VALIDATION + HIDDEN FIELD SYNC\n **********************************************/export function DateInput(){React.useEffect(()=>{const input=document.querySelector('input[name=\"Date\"]');if(!input)return;const today=new Date;input.min=toYMD(today);// Determine initial date\nlet initial=payload.date;const d=initial?new Date(initial):null;if(!initial||!d||isIllegal(d)||initial<input.min){let tmp=new Date(today);while(isIllegal(tmp))tmp.setDate(tmp.getDate()+1);initial=toYMD(tmp);}// Set both visible and hidden date fields\ninput.value=initial;const hiddenDate=document.querySelector('input[name=\"Date\"]');if(hiddenDate)hiddenDate.value=initial;function onUserChange(){const raw=input.value;if(!raw)return;const d=new Date(raw);if(isIllegal(d)){console.log(\"⛔ Illegal date selected:\",raw);input.value=\"\";if(hiddenDate)hiddenDate.value=\"\";return;}console.log(\"📆 Valid date selected:\",raw);if(hiddenDate)hiddenDate.value=raw;}input.addEventListener(\"change\",onUserChange);input.addEventListener(\"input\",onUserChange);return()=>{input.removeEventListener(\"change\",onUserChange);input.removeEventListener(\"input\",onUserChange);};},[]);return{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withDateInput(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...DateInput(props)});};}withDateInput.displayName=\"DateInput\";\nexport const __FramerMetadata__ = {\"exports\":{\"NewsletterCheckbox\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EmailInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDateInput\":{\"type\":\"reactHoc\",\"name\":\"withDateInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NameInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RequestsInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PhoneInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DateInput\":{\"type\":\"override\",\"name\":\"DateInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReservationOverrides.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**********************************************\n * API CACHE + FETCH\n **********************************************/const API_URL=\"https://ginger-worker.gingerparis.workers.dev\";const cache={};async function loadSlots(date){console.log(\"🌐 loadSlots:\",date);if(!date)return[];if(cache[date]){console.log(\"⚡ Cache hit:\",date);return cache[date];}try{const url=`${API_URL}?action=available&date=${encodeURIComponent(date)}`;console.log(\"🔵 Worker Request:\",url);const res=await fetch(url);console.log(\"🟡 Worker Status:\",res.status);const json=await res.json();console.log(\"🟢 Worker Response:\",json);cache[date]=json.available||[];return cache[date];}catch(err){console.error(\"🔴 Worker ERROR:\",err);return[];}}/**********************************************\n * SLOT RULES (FRONTEND-ONLY)\n **********************************************/const SLOT_MINUTES=15;const STAY_SLOTS=6// 1.5h = 6 x 15min\n;// Restaurant closing time for this component (local time)\nconst CLOSING_TIME=\"16:00\";/**********************************************\n * TIME HELPERS\n **********************************************/function timeToMinutes_(t){const m=String(t||\"\").trim().match(/^0?(\\d{1,2}):(\\d{2})$/);if(!m)return NaN;return Number(m[1])*60+Number(m[2]);}function minutesToTime_(mins){const h=Math.floor(mins/60);const mm=mins%60;return`${h}:${String(mm).padStart(2,\"0\")}`// \"H:mm\"\n;}const CLOSING_MINUTES=timeToMinutes_(CLOSING_TIME);/**********************************************\n * TIME SELECT — BUBBLE GRID + SHIMMER LOADING\n **********************************************/export function TimeSelect(props){const{label=\"Time\",name=\"Time\",required=true,onTimeChange}=props;const[date,setDate]=React.useState(\"\");const[guests,setGuests]=React.useState(2);const[slots,setSlots]=React.useState([]);const[selected,setSelected]=React.useState(\"\");const[loading,setLoading]=React.useState(false);/**********************************************\n     * HELPERS\n     **********************************************/function writeHiddenInput(value){const hidden=document.querySelector(`input[name=\"${name}\"]`);if(hidden)hidden.value=value;}/**********************************************\n     * WATCH DATE INPUT\n     **********************************************/React.useEffect(()=>{const dateInput=document.querySelector('input[name=\"Date\"]');if(!dateInput)return;setDate(dateInput.value||\"\");const handler=()=>setDate(dateInput.value||\"\");dateInput.addEventListener(\"change\",handler);dateInput.addEventListener(\"input\",handler);return()=>{dateInput.removeEventListener(\"change\",handler);dateInput.removeEventListener(\"input\",handler);};},[]);/**********************************************\n     * LISTEN FOR GUESTS CHANGES\n     **********************************************/React.useEffect(()=>{function guestsHandler(e){const ev=e;if(!ev.detail)return;setGuests(ev.detail.guests);}window.addEventListener(\"guests:changed\",guestsHandler);return()=>window.removeEventListener(\"guests:changed\",guestsHandler);},[]);/**********************************************\n     * LOAD SLOTS WHENEVER DATE OR GUESTS CHANGE\n     **********************************************/React.useEffect(()=>{let active=true;async function run(){console.log(\"⏳ Loading slots →\",\"Date:\",date,\"Guests:\",guests);if(!date){setSlots([]);setSelected(\"\");writeHiddenInput(\"\");return;}setLoading(true);const raw=await loadSlots(date);setLoading(false);if(!active)return;const requiredTables=Math.max(1,Math.ceil(guests/2));// Build time -> capacity map from API response.\n// API returns ONLY slots where booked < total, so missing slots are treated as not bookable\n// except when the API itself stops providing slots (today cutoff) OR beyond closing time.\nconst map=new Map;const candidates=[];for(const s of raw){if(!s?.time)continue;const t=String(s.time).trim().replace(/^0/,\"\")// normalize to \"H:mm\"\n;map.set(t,{booked:Number(s.booked)||0,total:Number(s.total)||0});candidates.push(t);}// Determine last slot minute returned by API (for today's 90-min cutoff behavior)\nconst allSlotMinutes=Array.from(map.keys()).map(timeToMinutes_).filter(m=>!isNaN(m));const lastApiMinute=allSlotMinutes.length>0?Math.max(...allSlotMinutes):NaN;// unique candidates in original order\nconst seen=new Set;const uniqueCandidates=candidates.filter(t=>seen.has(t)?false:(seen.add(t),true));function canStayWithRules_(startTime){const startMin=timeToMinutes_(startTime);if(isNaN(startMin))return false;for(let k=0;k<STAY_SLOTS;k++){const currentMin=startMin+k*SLOT_MINUTES;// ✅ Stop requiring further slots after closing time\nif(!isNaN(CLOSING_MINUTES)&&currentMin>=CLOSING_MINUTES){return true;}// ✅ Stop requiring further slots after API's last returned slot (today cutoff)\nif(!isNaN(lastApiMinute)&&currentMin>lastApiMinute){return true;}const t=minutesToTime_(currentMin);const slot=map.get(t);// Before close/cutoff: must exist and have enough capacity\nif(!slot)return false;if(slot.total-slot.booked<requiredTables)return false;}return true;}const mapped=uniqueCandidates.filter(canStayWithRules_).map(t=>({value:t,label:t}));setSlots(mapped);if(mapped.length>0){// keep current selection if still valid\nconst stillValid=mapped.some(m=>m.value===selected);const next=stillValid?selected:mapped[0].value;setSelected(next);writeHiddenInput(next);if(onTimeChange)onTimeChange(next);}else{setSelected(\"\");writeHiddenInput(\"\");}}run();return()=>{active=false;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[date,guests]);/**********************************************\n     * SHIMMER LOADING BUBBLE (CSS ONLY)\n     **********************************************/const shimmer={background:\"linear-gradient(90deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.07) 100%)\",backgroundSize:\"200% 100%\",animation:\"shimmer 1.2s infinite\"};const shimmerStyle=`\n        @keyframes shimmer {\n            0% { background-position: 200% 0; }\n            100% { background-position: -200% 0; }\n        }\n    `;/**********************************************\n     * RENDER\n     **********************************************/return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"style\",{children:shimmerStyle}),/*#__PURE__*/_jsx(\"label\",{style:{marginBottom:6,fontSize:14,color:\"#fff\",opacity:.8},children:label}),/*#__PURE__*/_jsx(\"div\",{style:{height:230,overflow:\"hidden\",width:\"100%\",marginBottom:12,borderRadius:8},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"250px\",maxHeight:\"250px\",overflowY:\"scroll\",paddingRight:4,paddingBottom:150,WebkitOverflowScrolling:\"touch\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fill, minmax(90px, 1fr))\",gap:\"10px\",padding:\"10px\"},children:[loading&&Array.from({length:12}).map((_,i)=>/*#__PURE__*/_jsx(\"div\",{style:{height:40,borderRadius:8,...shimmer}},\"load-\"+i)),!loading&&slots.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{color:\"#999\",fontSize:14,padding:\"20px\",textAlign:\"center\",gridColumn:\"1 / -1\"},children:\"No times available\"}),!loading&&slots.map(slot=>{const isSelected=selected===slot.value;return /*#__PURE__*/_jsx(\"div\",{onClick:()=>{setSelected(slot.value);writeHiddenInput(slot.value);if(onTimeChange)onTimeChange(slot.value);},style:{padding:\"10px\",textAlign:\"center\",borderRadius:\"8px\",cursor:\"pointer\",background:isSelected?\"rgb(245, 230, 178)\":\"rgba(255,255,255,0.1)\",border:isSelected?\"2px solid #f8e8b8\":\"1px solid rgba(255,255,255,0.2)\",color:isSelected?\"#000\":\"#fff\",fontSize:14,userSelect:\"none\",transition:\"0.15s\"},children:slot.label},slot.value);})]})})}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",name:name,value:selected,required:required,hidden:true,readOnly:true})]});}/**********************************************\n * FRAMER CONTROLS\n **********************************************/addPropertyControls(TimeSelect,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Time\"},name:{type:ControlType.String,title:\"Name\",defaultValue:\"Time\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:true},onTimeChange:{type:ControlType.EventHandler,title:\"On Change\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"TimeSelect\":{\"type\":\"reactComponent\",\"name\":\"TimeSelect\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TimeSelect.map"],"mappings":"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"}