{"version":3,"file":"KitList.CVAWmiFu.mjs","names":["useState","useRef","c","useState","useRef","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/3Juz7E3GGMKQWRrnbD7U/CJZFHk83rYr2zKQuUUFC/date_range.js","https:/framerusercontent.com/modules/ebDCoTxyMtQiLKumlsxx/DAmzjnLH4qiLQupcC41u/DateRange.js","https:/framerusercontent.com/modules/0iYzbQNsxEes0FKL7y4r/OaTVR6vjuTt2dB63FuX1/KitList.js"],"sourcesContent":["// Date range picker logic (Jamie, checkpoint B): calendar grid, range state and the field\n// label. No React, no DOM. Dates are ISO `YYYY-MM-DD` strings throughout, the same values the\n// enquiry state and the HubSpot payload already use. Underscore name: Framer keeps it.\nconst pad=n=>String(n).padStart(2,\"0\");export function toIso(year,month,day){return`${year}-${pad(month+1)}-${pad(day)}`;}/** Today in local time as ISO. Injectable for tests. */export function todayIso(now=new Date){return toIso(now.getFullYear(),now.getMonth(),now.getDate());}/** Monday-first grid for a month: leading blanks, then 1..last day. Six rows at most. */export function monthGrid(year,month){const first=new Date(year,month,1);const lead=(first.getDay()+6)%7;// Monday = 0\nconst days=new Date(year,month+1,0).getDate();const cells=[];for(let i=0;i<lead;i++)cells.push({iso:\"\",day:0});for(let d=1;d<=days;d++)cells.push({iso:toIso(year,month,d),day:d});return cells;}export const WEEKDAY_LABELS=[\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\",\"Su\"];export function monthTitle(year,month){return`${[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"][month]} ${year}`;}/** \"Tue 6 Oct 2026\" for the field. \"\" for an empty or malformed value. */export function fieldLabel(iso){if(!/^\\d{4}-\\d{2}-\\d{2}$/.test(iso))return\"\";const d=new Date(`${iso}T12:00:00`);if(Number.isNaN(d.getTime()))return\"\";const wd=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"][d.getDay()];const mo=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"][d.getMonth()];return`${wd} ${d.getDate()} ${mo} ${d.getFullYear()}`;}/** How a day renders given the range. Past days are disabled; start and end fill black, the\n * days between fill lime. A single-day range is both start and end (rendered as start). */export function cellState(iso,start,end,today){if(iso<today)return\"past\";if(start&&iso===start)return\"start\";if(end&&iso===end)return\"end\";if(start&&end&&iso>start&&iso<end)return\"between\";return\"free\";}/**\n * Picking a day sets the field the calendar was opened from (Jamie, 15 Oct: picking from the\n * end field used to set the start). If that leaves the other date empty or on the wrong side,\n * the other date is cleared and the calendar moves to it; otherwise it closes (`next: null`).\n */export function pick(field,iso,start,end){if(field===\"start\"){const keepEnd=end&&end>=iso?end:\"\";return{start:iso,end:keepEnd,next:keepEnd?null:\"end\"};}const keepStart=start&&start<=iso?start:\"\";return{start:keepStart,end:iso,next:keepStart?null:\"start\"};}/** The month to open on: the start date's month, else today's. */export function initialMonth(start,today){const src=/^\\d{4}-\\d{2}/.test(start)?start:today;return{year:Number(src.slice(0,4)),month:Number(src.slice(5,7))-1};}export function shiftMonth(year,month,by){const d=new Date(year,month+by,1);return{year:d.getFullYear(),month:d.getMonth()};}/** Half-hour slots for the time selects, \"06:00\" to \"22:00\" — early drop-offs and late returns\n * happen, so wider than opening hours. \"\" = no time picked (times are optional). */export const TIME_OPTIONS=Array.from({length:33},(_,i)=>`${pad(6+Math.floor(i/2))}:${i%2?\"30\":\"00\"}`);\nexport const __FramerMetadata__ = {\"exports\":{\"todayIso\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"initialMonth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shiftMonth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TIME_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CellState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"monthGrid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"monthTitle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"toIso\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fieldLabel\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pick\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CalendarCell\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WEEKDAY_LABELS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cellState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./date_range.map","// Branded date range picker (Jamie, checkpoint B): two mono fields (\"Tue 6 Oct 2026\") that\n// open one calendar under the field: 2px radius, hairline panel, mono day numbers, Silverspoon\n// month title, icon prev/next, today outlined in Dark Green, start and end filled black, the\n// days between lime, past days Torn Gray and disabled. Closes on outside click and Escape.\n// Emits ISO `YYYY-MM-DD` into the same state the native inputs fed, so validation and the\n// HubSpot payload are unchanged. Keyboard: Tab to the fields and days, Enter/Space picks;\n// arrow keys are not wired (Jamie: low priority). Logic in date_range.ts (tested).\n// `dark` (home page's House Dark Green panel): fields stay white like the form's other inputs;\n// labels white, errors lime, and the calendar goes Dark Green with lime start/end, a faint lime\n// wash between, today outlined lime, lime focus rings.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{TIME_OPTIONS,WEEKDAY_LABELS,cellState,fieldLabel,initialMonth,monthGrid,monthTitle,pick,shiftMonth,todayIso}from\"https://framerusercontent.com/modules/3Juz7E3GGMKQWRrnbD7U/CJZFHk83rYr2zKQuUUFC/date_range.js\";import{colour,focusRing,focusRingLight,font,motion,radius,showFocusRing}from\"https://framerusercontent.com/modules/yG9gp6meCLV2xzqACEat/lENFKffrvr2h5MKUW9vx/theme.js\";const themes={light:{text:colour.recordBlack,muted:colour.mutedOnLight,past:colour.tornGray,panel:colour.casetteWhite,line:colour.lineOnLight,fill:colour.recordBlack,fillText:colour.casetteWhite,between:colour.houseLimeGreen,today:colour.houseDarkGreen,error:colour.error,ring:focusRingLight},dark:{text:colour.casetteWhite,muted:colour.mutedOnDark,past:\"rgba(249, 249, 247, 0.3)\",panel:colour.houseDarkGreen,line:colour.lineOnDark,fill:colour.houseLimeGreen,fillText:colour.recordBlack,between:\"rgba(231, 239, 201, 0.16)\",today:colour.houseLimeGreen,error:colour.houseLimeGreen,ring:focusRing}};export default function DateRange({start,end,onChange,startLabel=\"Collection date\",endLabel=\"Return date\",startError,endError,startName=\"hireStartDate\",endName=\"hireEndDate\",above=false,inline=false,dark=false,onTimeChange,startTime=\"\",endTime=\"\"}){const t=themes[dark?\"dark\":\"light\"];const[open,setOpen]=useState(null);const today=todayIso();const[view,setView]=useState(()=>initialMonth(start,today));const rootRef=useRef(null);useEffect(()=>{if(!open)return;setView(initialMonth(open===\"end\"&&end?end:start,today));const onDown=e=>{if(!rootRef.current?.contains(e.target))setOpen(null);};const onKey=e=>{if(e.key===\"Escape\")setOpen(null);};document.addEventListener(\"pointerdown\",onDown);document.addEventListener(\"keydown\",onKey);return()=>{document.removeEventListener(\"pointerdown\",onDown);document.removeEventListener(\"keydown\",onKey);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[open]);const choose=iso=>{if(!open)return;const result=pick(open,iso,start,end);onChange({start:result.start,end:result.end});setOpen(result.next);};const cells=monthGrid(view.year,view.month);return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{position:\"relative\",display:\"grid\",gridTemplateColumns:onTimeChange?\"repeat(auto-fit, minmax(min(100%, 240px), 1fr))\":\"minmax(0, 1fr) minmax(0, 1fr)\",gap:8,fontFamily:font.body,color:t.text},children:[/*#__PURE__*/_jsx(FieldButton,{t:t,label:startLabel,value:start,name:startName,error:startError,active:open===\"start\",onClick:()=>setOpen(open===\"start\"?null:\"start\"),children:onTimeChange&&/*#__PURE__*/_jsx(TimeSelect,{t:t,label:`${startLabel} time`,value:startTime,onChange:v=>onTimeChange({start:v,end:endTime})})}),/*#__PURE__*/_jsx(FieldButton,{t:t,label:endLabel,value:end,name:endName,error:endError,active:open===\"end\",onClick:()=>setOpen(open===\"end\"?null:\"end\"),children:onTimeChange&&/*#__PURE__*/_jsx(TimeSelect,{t:t,label:`${endLabel} time`,value:endTime,onChange:v=>onTimeChange({start:startTime,end:v})})}),open&&/*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-label\":\"Pick dates\",style:{...inline?{gridColumn:\"1 / -1\"}:{position:\"absolute\",left:0,right:0,...above?{bottom:\"calc(100% + 8px)\"}:{top:\"calc(100% + 8px)\"},zIndex:20},padding:12,background:t.panel,border:`1px solid ${t.line}`,borderRadius:radius,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",marginBottom:8},children:[/*#__PURE__*/_jsx(IconButton,{t:t,label:\"Previous month\",onClick:()=>setView(v=>shiftMonth(v.year,v.month,-1)),glyph:\"M10 3L5 8l5 5\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:font.display,fontSize:20,lineHeight:1.2},children:monthTitle(view.year,view.month)}),/*#__PURE__*/_jsx(IconButton,{t:t,label:\"Next month\",onClick:()=>setView(v=>shiftMonth(v.year,v.month,1)),glyph:\"M6 3l5 5-5 5\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(7, 1fr)\",gap:2},children:[WEEKDAY_LABELS.map(w=>/*#__PURE__*/_jsx(\"span\",{style:{textAlign:\"center\",fontFamily:font.mono,fontSize:11,letterSpacing:\"0.06em\",textTransform:\"uppercase\",color:t.muted,padding:\"4px 0\"},children:w},w)),cells.map((c,i)=>{if(!c.iso)return /*#__PURE__*/_jsx(\"span\",{},\"pad\"+i);const state=cellState(c.iso,start,end,today);const isToday=c.iso===today;const filled=state===\"start\"||state===\"end\";return /*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:state===\"past\",\"aria-label\":fieldLabel(c.iso),\"aria-pressed\":filled,onClick:()=>choose(c.iso),onFocus:e=>showFocusRing(e.currentTarget,t.ring),onBlur:e=>Object.assign(e.currentTarget.style,{outline:\"none\"}),style:{height:36,padding:0,fontFamily:font.mono,fontSize:13,fontVariantNumeric:\"tabular-nums\",color:state===\"past\"?t.past:filled?t.fillText:t.text,background:filled?t.fill:state===\"between\"?t.between:\"transparent\",border:`1px solid ${isToday&&!filled?t.today:\"transparent\"}`,borderRadius:radius,cursor:state===\"past\"?\"default\":\"pointer\",transition:`background ${motion.t}ms ${motion.ease}`},children:c.day},c.iso);})]})]})]});}// With a time, date and time share one box (\"Tue 6 Oct 2026 | 09:00\"), split by a hairline,\n// so each side reads as one moment rather than two loose fields (Jamie, 15 Oct). A side needs\n// ~240px with a date in it; narrower than two of those (the /kit-list sidebar, phones), the two\n// sides stack instead of pushing past their card.\nfunction FieldButton(props){const joined=!!props.children;const border=`1px solid ${props.active?colour.recordBlack:colour.tornGray}`;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:6,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:500},children:props.label}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",height:44,background:colour.casetteWhite,border,borderRadius:radius,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"data-field\":props.name,\"aria-haspopup\":\"dialog\",\"aria-expanded\":props.active,onClick:props.onClick,onFocus:e=>showFocusRing(e.currentTarget,props.t.ring),onBlur:e=>Object.assign(e.currentTarget.style,{outline:\"none\"}),style:{flex:1,minWidth:0,padding:\"0 12px\",textAlign:\"left\",fontFamily:font.mono,fontSize:13,fontVariantNumeric:\"tabular-nums\",color:props.value?colour.recordBlack:colour.tornGray,background:\"transparent\",border:\"none\",borderRadius:radius,cursor:\"pointer\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:props.value?fieldLabel(props.value):joined?\"Date\":\"Pick a date\"}),joined&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:1,margin:\"10px 0\",background:colour.tornGray}}),props.children]}),props.error&&/*#__PURE__*/_jsx(\"span\",{role:\"alert\",style:{fontSize:14,color:props.t.error},children:props.error})]});}/** Native select, the time half of the date field's box: a phone gets its own picker for free. */function TimeSelect(props){return /*#__PURE__*/_jsxs(\"select\",{\"aria-label\":props.label,value:props.value,onChange:e=>props.onChange(e.target.value),onFocus:e=>showFocusRing(e.currentTarget,props.t.ring),onBlur:e=>Object.assign(e.currentTarget.style,{outline:\"none\"}),style:{flex:\"0 0 auto\",width:92,padding:\"0 12px\",fontFamily:font.mono,fontSize:13,fontVariantNumeric:\"tabular-nums\",color:props.value?colour.recordBlack:colour.tornGray,background:\"transparent\",border:\"none\",borderRadius:radius,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Time\"}),TIME_OPTIONS.map(time=>/*#__PURE__*/_jsx(\"option\",{value:time,children:time},time))]});}function IconButton(props){return /*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":props.label,onClick:props.onClick,onFocus:e=>showFocusRing(e.currentTarget,props.t.ring),onBlur:e=>Object.assign(e.currentTarget.style,{outline:\"none\"}),style:{width:32,height:32,padding:0,display:\"grid\",placeItems:\"center\",background:\"transparent\",border:`1px solid ${props.t.line}`,borderRadius:radius,color:props.t.text,cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.25\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:props.glyph})})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DateRange\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DateRange.map","// The header Kit List: quiet text button with a count badge (lime-lit while the \"added\" panel is open), plus the light glass drawer from\n// the right (brand system v2 §6 Kit List drawer, Buttons › Quiet).\n//\n// Framer: Assets > Code > New file, paste, drop once in the header on every page. The drawer\n// opens only from this button — adding kit never opens it, it only bumps the count.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useCallback,useEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";import{KIT_PANEL_EVENT,clearLines,countItems,enquiryHrefWithDates,estimate,formatMoney,isStorageUsable,loadDates,loadLines,perDaySubtotal,removeLine,saveDates,setQty,shouldBumpCount,subscribe}from\"https://framerusercontent.com/modules/63duGyOXCgUlaPENpqTR/Fc3ia2W5tQf670i77d7Z/kit-list.js\";import DateRange from\"https://framerusercontent.com/modules/ebDCoTxyMtQiLKumlsxx/DAmzjnLH4qiLQupcC41u/DateRange.js\";import{colour,focusRingLight,font,glassLight,labelMono,motion,radius,showFocusRing}from\"https://framerusercontent.com/modules/yG9gp6meCLV2xzqACEat/lENFKffrvr2h5MKUW9vx/theme.js\";const focus=e=>showFocusRing(e.currentTarget,focusRingLight);const blur=e=>Object.assign(e.currentTarget.style,{outline:\"none\"});// Drawer motion. The scrim fades rather than snapping to 40% (it read as a glitch); the panel\n// travels its full width and settles, contents fade in a beat after (no vertical drift: the\n// panel should only ever move sideways); closing is quicker and accelerates out.\nconst DRAWER_IN=480;const DRAWER_OUT=260;const SCRIM_IN=360;// A gentler settle than the house ease, which front-loads the move and still felt abrupt here.\nconst EASE_OUT=\"cubic-bezier(0.32, 0.72, 0, 1)\";// Even fade so the dim builds rather than jumping.\nconst EASE_FADE=\"cubic-bezier(0.4, 0, 0.2, 1)\";const EASE_IN=\"cubic-bezier(0.4, 0, 1, 1)\";const drawerCss=[`@keyframes fomo-scrim-in { from { opacity: 0; } }`,`@keyframes fomo-scrim-out { to { opacity: 0; } }`,`@keyframes fomo-drawer-in { from { transform: translateX(100%); } }`,`@keyframes fomo-drawer-out { to { transform: translateX(100%); } }`,`@keyframes fomo-drawer-rise { from { opacity: 0; } }`,`.fomo-scrim { animation: fomo-scrim-in ${SCRIM_IN}ms ${EASE_FADE} both; }`,`.fomo-scrim.closing { animation: fomo-scrim-out ${DRAWER_OUT}ms ${EASE_IN} both; }`,`.fomo-drawer { animation: fomo-drawer-in ${DRAWER_IN}ms ${EASE_OUT} both; }`,`.fomo-scrim.closing .fomo-drawer { animation: fomo-drawer-out ${DRAWER_OUT}ms ${EASE_IN} both; }`,`.fomo-drawer > * { animation: fomo-drawer-rise 320ms ${EASE_OUT} 200ms both; }`,`.fomo-scrim.closing .fomo-drawer > * { animation: none; }`,`@media ${motion.reduced} { .fomo-scrim, .fomo-drawer, .fomo-drawer > * { animation: none !important; } }`].join(\" \");export default function KitList({emptyLinkHref=\"/cameras\",emptyLinkLabel=\"Start with cameras\",enquiryHref=\"/kit-list\",ownListHref=\"/kit-list\",flush=false}){const[lines,setLines]=useState([]);const[open,setOpen]=useState(false);const[closing,setClosing]=useState(false);const closeTimer=useRef(undefined);const[start,setStart]=useState(\"\");const[end,setEnd]=useState(\"\");const[hover,setHover]=useState(false);// True while AddToKitList's \"added\" drop panel is open: the badge goes lime until it closes.\nconst[panelOpen,setPanelOpen]=useState(false);const panelRef=useRef(null);const triggerRef=useRef(null);useEffect(()=>{const sync=()=>setLines(loadLines());sync();return subscribe(sync);},[]);useEffect(()=>{const onPanel=e=>setPanelOpen(!!e.detail?.open);window.addEventListener(KIT_PANEL_EVENT,onPanel);return()=>window.removeEventListener(KIT_PANEL_EVENT,onPanel);},[]);// Re-read on every open: the enquiry page may have changed the dates since.\nuseEffect(()=>{if(!open)return;const dates=loadDates();setStart(dates.from);setEnd(dates.to);},[open]);// Keep the drawer mounted while it animates out, then unmount.\nconst close=useCallback(()=>{if(closeTimer.current)return;setClosing(true);const reduced=typeof window!==\"undefined\"&&window.matchMedia(motion.reduced).matches;closeTimer.current=setTimeout(()=>{closeTimer.current=undefined;setClosing(false);setOpen(false);},reduced?0:DRAWER_OUT);// Send focus back where it came from, or a keyboard user is stranded at the page root.\ntriggerRef.current?.focus();},[]);useEffect(()=>()=>clearTimeout(closeTimer.current),[]);// Escape dismisses, and focus is trapped inside while open (§8 accessibility floor).\nuseEffect(()=>{if(!open)return;const onKeyDown=event=>{if(event.key===\"Escape\"){close();return;}if(event.key!==\"Tab\")return;const focusable=panelRef.current?.querySelectorAll('a[href], button:not([disabled]), input, [tabindex]:not([tabindex=\"-1\"])');if(!focusable||focusable.length===0)return;const first=focusable[0];const last=focusable[focusable.length-1];if(event.shiftKey&&document.activeElement===first){event.preventDefault();last.focus();}else if(!event.shiftKey&&document.activeElement===last){event.preventDefault();first.focus();}};document.addEventListener(\"keydown\",onKeyDown);panelRef.current?.querySelector(\"button, a, input\")?.focus();return()=>document.removeEventListener(\"keydown\",onKeyDown);},[open,close]);const count=countItems(lines);// Bump only when the count goes up (spec §5.8): never on the first render, never on removal.\nconst previous=useRef(null);const[bumpKey,setBumpKey]=useState(0);useEffect(()=>{if(shouldBumpCount(previous.current,count))setBumpKey(k=>k+1);previous.current=count;},[count]);const priced=estimate(lines,start||null,end||null);const perDay=perDaySubtotal(lines);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"button\",{ref:triggerRef,type:\"button\",// AddToKitList anchors its \"added\" drop panel under this button.\n\"data-fomo-kitlist-button\":\"\",onClick:()=>setOpen(true),\"aria-haspopup\":\"dialog\",\"aria-expanded\":open,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{display:\"inline-flex\",alignItems:\"center\",gap:8,height:40,padding:flush?0:\"0 12px\",...labelMono,color:hover?colour.recordBlack:colour.mutedOnLight,background:\"transparent\",border:\"none\",borderRadius:radius,whiteSpace:\"nowrap\",cursor:\"pointer\",transition:`color ${motion.t}ms ${motion.ease}`},onFocus:focus,onBlur:blur,children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`@keyframes fomo-kit-bump { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 100% { transform: scale(1); } } @media ${motion.reduced} { .fomo-kit-count { animation: none !important; } button { transition: none !important; } }`}}),\"Kit List\",/*#__PURE__*/_jsx(\"span\",{className:\"fomo-kit-count\",style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",minWidth:18,height:18,padding:\"0 4px\",boxSizing:\"border-box\",borderRadius:radius,// Panel open: the lime fill gets a House Dark Green edge and text so it reads as lit (also at 0 after a removal).\nborder:`1px solid ${panelOpen?colour.houseDarkGreen:count>0?colour.houseLimeGreen:colour.lineOnLight}`,background:count>0||panelOpen?colour.houseLimeGreen:\"transparent\",color:panelOpen?colour.houseDarkGreen:colour.recordBlack,fontFamily:font.mono,fontSize:11,lineHeight:1,letterSpacing:0,fontVariantNumeric:\"tabular-nums\",animation:bumpKey>0?`fomo-kit-bump ${motion.bump}ms ${motion.ease}`:\"none\"},\"aria-hidden\":\"true\",children:count},bumpKey),/*#__PURE__*/_jsx(\"span\",{style:visuallyHidden,children:count===1?\"1 item\":`${count} items`})]}),open&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{className:closing?\"fomo-scrim closing\":\"fomo-scrim\",onClick:close,style:{position:\"fixed\",inset:0,zIndex:9e3,background:\"rgba(5, 5, 4, 0.4)\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`${drawerCss} .fomo-kit-link { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size ${motion.underline}ms ${motion.ease}; } .fomo-kit-link:hover, .fomo-kit-link:focus-visible { background-size: 100% 1px; } @media ${motion.reduced} { .fomo-kit-link { transition: none; } }`}}),/*#__PURE__*/_jsxs(\"div\",{ref:panelRef,className:\"fomo-drawer\",role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"Kit List\",onClick:event=>event.stopPropagation(),style:{position:\"absolute\",top:0,right:0,bottom:0,width:\"min(420px, 100vw)\",display:\"flex\",flexDirection:\"column\",fontFamily:font.body,color:colour.recordBlack,background:glassLight.background,backdropFilter:glassLight.backdropFilter,WebkitBackdropFilter:glassLight.backdropFilter,borderLeft:glassLight.border},children:[/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"16px 24px\",borderBottom:`1px solid ${colour.lineOnLight}`},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontFamily:font.display,fontWeight:400,fontSize:28,lineHeight:1.1},children:\"Kit List\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:close,\"aria-label\":\"Close\",style:{width:32,height:32,padding:0,display:\"grid\",placeItems:\"center\",color:colour.recordBlack,background:\"transparent\",border:\"1px solid transparent\",borderRadius:radius,cursor:\"pointer\"},onMouseEnter:e=>e.currentTarget.style.borderColor=colour.lineOnLight,onMouseLeave:e=>e.currentTarget.style.borderColor=\"transparent\",onFocus:focus,onBlur:blur,children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",\"aria-hidden\":\"true\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.25\",strokeLinecap:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 3l10 10M13 3L3 13\"})})})]}),/*#__PURE__*/_jsx(\"div\",{\"data-lenis-prevent\":\"\",style:{flex:1,overflowY:\"auto\",padding:\"8px 24px\"},children:lines.length===0?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:16,padding:\"24px 0\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontFamily:font.display,fontWeight:400,fontSize:22,lineHeight:1.2},children:\"Your Kit List is empty.\"}),/*#__PURE__*/_jsx(TextLink,{href:emptyLinkHref,children:emptyLinkLabel}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontSize:14,lineHeight:1.5,color:colour.mutedOnLight},children:[\"Already have a list? \",/*#__PURE__*/_jsx(TextLink,{href:ownListHref,children:\"Send it as a file or a typed list\"})]})]}):/*#__PURE__*/_jsx(\"ul\",{style:{listStyle:\"none\",margin:0,padding:0},children:lines.map(line=>/*#__PURE__*/_jsxs(\"li\",{style:{display:\"grid\",gridTemplateColumns:\"64px 1fr auto\",alignItems:\"center\",gap:16,padding:\"12px 0\",borderBottom:`1px solid ${colour.lineOnLight}`},children:[line.imageUrl?/*#__PURE__*/_jsx(\"img\",{src:line.imageUrl,alt:\"\",width:64,height:64,style:{objectFit:\"contain\",borderRadius:radius,background:colour.pureWhite}}):/*#__PURE__*/_jsx(\"div\",{style:{width:64,height:64,borderRadius:radius,background:colour.paper}}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:15,lineHeight:1.4},children:line.name}),/*#__PURE__*/_jsxs(\"div\",{style:{...labelMono,color:colour.mutedOnLight,marginTop:2},children:[\"\\xa3\",formatMoney(line.dayRate),\" / day\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginTop:8},children:[/*#__PURE__*/_jsx(QtyButton,{label:`Reduce quantity of ${line.name}`,onClick:()=>setQty(line.rentmanId,line.qty-1),children:\"−\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:font.mono,fontSize:13,minWidth:20,textAlign:\"center\",fontVariantNumeric:\"tabular-nums\"},children:line.qty}),/*#__PURE__*/_jsx(QtyButton,{label:`Increase quantity of ${line.name}`,onClick:()=>setQty(line.rentmanId,line.qty+1),children:\"+\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>removeLine(line.rentmanId),\"aria-label\":`Remove ${line.name}`,className:\"fomo-kit-link\",style:{...textLinkStyle,marginLeft:8,fontSize:13},onFocus:focus,onBlur:blur,children:\"Remove\"})]})]}),/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:font.mono,fontSize:13,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\"},children:[\"\\xa3\",formatMoney(line.dayRate*line.qty)]})]},line.rentmanId))})}),lines.length>0&&/*#__PURE__*/_jsxs(\"footer\",{style:{padding:\"16px 24px 24px\",borderTop:`1px solid ${colour.lineOnLight}`,display:\"grid\",gap:12},children:[/*#__PURE__*/_jsx(DateRange,{startLabel:\"Collection\",endLabel:\"Return\",start:start,end:end,above:true,onChange:r=>{setStart(r.start);setEnd(r.end);saveDates({from:r.start,to:r.end});}}),/*#__PURE__*/_jsxs(\"div\",{children:[!priced?.overLimit&&/*#__PURE__*/_jsx(\"div\",{style:{...labelMono,color:colour.mutedOnLight,marginBottom:4},children:\"Estimate\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:8,flexWrap:\"wrap\"},children:!priced?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(Big,{children:[\"\\xa3\",formatMoney(perDay)]}),/*#__PURE__*/_jsx(Small,{children:\"/ day ex VAT\"})]}):priced.overLimit?/*#__PURE__*/_jsx(Small,{children:\"Long hires are priced individually. Ask for a quote.\"}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(Big,{children:[\"\\xa3\",formatMoney(priced.exVat)]}),/*#__PURE__*/_jsxs(Small,{children:[\"ex VAT for \",priced.billableDays,\" billable day\",priced.billableDays===1?\"\":\"s\",\", \\xa3\",formatMoney(priced.incVat),\" inc VAT\"]})]})})]}),/*#__PURE__*/_jsx(PrimaryLink,{href:enquiryHrefWithDates(enquiryHref,start,end),children:\"Request a quote\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:8,fontSize:12,color:colour.mutedOnLight},children:[/*#__PURE__*/_jsx(\"span\",{children:isStorageUsable()?\"\":\"Not saved. This list clears when you close the tab\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"fomo-kit-link\",onClick:()=>clearLines(),style:{...textLinkStyle,fontSize:12},onFocus:focus,onBlur:blur,children:\"Clear\"})]})]})]})]}),document.body)]});}const textLinkStyle={padding:0,fontFamily:font.body,fontSize:15,color:colour.recordBlack,border:\"none\",borderRadius:radius,// Spec §6 text link: nothing at rest, a 1px ink underline draws on hover (.fomo-kit-link).\ntextDecoration:\"none\",paddingBottom:2,cursor:\"pointer\"};function TextLink(props){return /*#__PURE__*/_jsx(\"a\",{href:props.href,className:\"fomo-kit-link\",style:{...textLinkStyle,width:\"max-content\"},onFocus:focus,onBlur:blur,children:props.children});}/** Primary button on light (spec §6): black fill, Casette White Label mono; hover lime + black. */function PrimaryLink(props){const[hover,setHover]=useState(false);return /*#__PURE__*/_jsx(\"a\",{href:props.href,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",height:40,padding:\"0 16px\",...labelMono,color:hover?colour.recordBlack:colour.casetteWhite,background:hover?colour.houseLimeGreen:colour.recordBlack,border:`1px solid ${hover?colour.houseLimeGreen:colour.recordBlack}`,borderRadius:radius,textDecoration:\"none\",transition:`background ${motion.t}ms ${motion.ease}, color ${motion.t}ms ${motion.ease}`},onFocus:focus,onBlur:blur,children:props.children});}const Big=p=>/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:font.mono,fontSize:32,lineHeight:1,letterSpacing:\"-0.02em\",fontVariantNumeric:\"tabular-nums\"},children:p.children});const Small=p=>/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,lineHeight:1.5,color:colour.mutedOnLight},children:p.children});/** Exported for EnquiryPage.tsx's editable kit rows. Icon button (spec): 24px square, hairline. */export function QtyButton(props){const{color=colour.recordBlack}=props;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:props.onClick,\"aria-label\":props.label,style:{width:24,height:24,padding:0,fontSize:13,lineHeight:1,color,background:\"transparent\",border:`1px solid ${colour.lineOnLight}`,borderRadius:radius,cursor:\"pointer\"},onFocus:focus,onBlur:blur,children:props.children});}const visuallyHidden={position:\"absolute\",width:1,height:1,overflow:\"hidden\",clip:\"rect(0 0 0 0)\"};addPropertyControls(KitList,{emptyLinkHref:{type:ControlType.String,title:\"Empty link\",defaultValue:\"/cameras\"},emptyLinkLabel:{type:ControlType.String,title:\"Empty label\",defaultValue:\"Start with cameras\"},enquiryHref:{type:ControlType.String,title:\"Enquiry page\",defaultValue:\"/kit-list\"},ownListHref:{type:ControlType.String,title:\"Send your list\",defaultValue:\"/kit-list\"},flush:{type:ControlType.Boolean,title:\"Flush\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"QtyButton\":{\"type\":\"reactComponent\",\"name\":\"QtyButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"KitList\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}