{"version":3,"file":"Storefinder_search.B-R7W_nI.mjs","names":["_sfBus","SF_GLOBAL","useRef","useState","p","_sfBus","SF_GLOBAL","createInitialSFState","formatDistance","useRef","useState","inner","_Fragment","p","_sfBus","SF_GLOBAL","createInitialSFState","sfGet","sfSet","useSF","useState","useRef","useCallback","_sfBus","SF_GLOBAL","useRef","useState","useMemo","e","useCallback","p","_sfBus","SF_GLOBAL","createInitialSFState","sfGet","sfSet","useState","useRef","useMemo","useCallback","StoreCard","p","useState","useRef","e","useCallback"],"sources":["https:/framerusercontent.com/modules/gHkoyZnJYNHYKL4iMIuk/reYxIDfitMyupCzsPTxB/lDCoIzadM.js","https:/framerusercontent.com/modules/KyIsC1aogyOX44XVsbfm/u7jZBHTHQqz5CKjdwtOM/Storefinder_tag.js","https:/framerusercontent.com/modules/yVugqyxUbhRc8nGnsodF/Sy6JgtCL4qTyZn77pixp/Storefinder_cardfield.js","https:/framerusercontent.com/modules/VXulnEUNp4XNBDWKx1DW/hXAjoqNcq3YzZ9nM7KFr/Storefinder_geolocate.js","https:/framerusercontent.com/modules/c92iJ3LTqshjLE3LHXe9/J9wZu5WWRAvssWkFAFA5/Storefinder_Link.js","https:/framerusercontent.com/modules/ikHycoYNZhqJSyxcf4eE/npRoSWQiMdBAU3ALrAWG/Storefinder_list.js","https:/framerusercontent.com/modules/xyt91apkBgL7gH0zO9eE/xFoRiwCbwnimOZSTeKRK/Storefinder_search.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 2 C 0 0.895 0.895 0 2 0 L 10.5 0 C 11.605 0 12.5 0.895 12.5 2 L 12.5 14.5 L 0 14.5 Z\" fill=\"transparent\" height=\"14.5px\" id=\"yThedgn8g\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(5.75 4.75)\" width=\"12.5px\"/><path d=\"M 14.5 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"ldpWDSqXu\" 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 19.25)\" width=\"14.5px\"/><path d=\"M 0 2 C 0 0.895 0.895 0 2 0 L 2.5 0 C 3.605 0 4.5 0.895 4.5 2 L 4.5 5.5 L 0 5.5 Z\" fill=\"transparent\" height=\"5.5px\" id=\"gHUSUiKTO\" 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 13.75)\" width=\"4.5px\"/><path d=\"M 1 0.5 C 1 0.776 0.776 1 0.5 1 C 0.224 1 0 0.776 0 0.5 C 0 0.224 0.224 0 0.5 0 C 0.776 0 1 0.224 1 0.5 Z\" fill=\"transparent\" height=\"1px\" id=\"wN2k1IYuR\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--3it368, 1)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(9.5 9.5)\" width=\"1px\"/><path d=\"M 1 0.5 C 1 0.776 0.776 1 0.5 1 C 0.224 1 0 0.776 0 0.5 C 0 0.224 0.224 0 0.5 0 C 0.776 0 1 0.224 1 0.5 Z\" fill=\"transparent\" height=\"1px\" id=\"CXCSXUxJy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--3it368, 1)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(13.5 9.5)\" width=\"1px\"/></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(\"1600458304\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-BdWU9\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1335ju\":lKf_CQTz5,\"--18mrqx2\":fICyAUQY1,\"--3it368\":BKVe8Pgvw,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-BdWU9 { -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\":\"Building\",\"color\":{\"type\":\"variable\",\"value\":\"18mrqx2\"},\"set\":{\"localId\":\"vectorSet/SuYHhKUZG\",\"id\":\"SuYHhKUZG\",\"moduleId\":\"EqX8thWQjdZcOB1c6p5N\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-BdWU9\");Icon.displayName=\"Building\";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:false,max:4,min:1,title:\"Dots\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Building\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"18mrqx2\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/SuYHhKUZG\\\",\\\"id\\\":\\\"SuYHhKUZG\\\",\\\"moduleId\\\":\\\"EqX8thWQjdZcOB1c6p5N\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"fICyAUQY1\\\":\\\"stroke\\\",\\\"lKf_CQTz5\\\":\\\"width1\\\",\\\"BKVe8Pgvw\\\":\\\"dots\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// StoreFinder — Tag\n// Toont een \"Coming soon\" tag als de CMS toggle aan staat.\n// Als het \"Datum opening\" veld ingevuld is, wordt de tekst daarmee overschreven.\n// Verbergt zichzelf volledig als geen van beide actief is.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useRef}from\"react\";// ═══════════════════════════════════════════════════════════════\n// SHARED STATE BUS (for tick re-render)\n// ═══════════════════════════════════════════════════════════════\nconst SF_GLOBAL=\"__storeFinder__\";function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};return w[SF_GLOBAL]?.[id]||null;}// ═══════════════════════════════════════════════════════════════\n// HELPER: bouw de dubbele rand via box-shadow (twee kleuren)\n// ═══════════════════════════════════════════════════════════════\nfunction doubleRing(borderWidth,outerColor,innerColor,innerGap){if(borderWidth===0)return\"none\";// Buitenste rand  → gewone box-shadow spread\n// Binnenste rand  → inset box-shadow (andere kleur)\nreturn[`0 0 0 ${borderWidth}px ${outerColor}`,`inset 0 0 0 ${innerGap}px ${innerColor}`].join(\", \");}export default function StoreFinder_Tag(props){const{finderId=0,comingSoonText=\"Coming soon\",openingPrefix=\"Opening: \",font={},textColor=\"#ffffff\",bg=\"#5B5FEF\",borderRadius=40,borderWidth=2,borderColor=\"rgba(255,255,255,0.75)\",outerBorderColor=\"rgba(255,255,255,0.35)\",innerGap=3,paddingV=10,paddingH=24,iconEnabled=false,iconColor=\"#ffffff\"}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);// ── Read store data SYNCHRONOUSLY during render ──\nconst readStoreData=()=>{if(typeof window===\"undefined\"||!ref.current)return null;const w=window;if(!w.__sfCards__)return null;const cardEl=ref.current.closest(\"[data-sf-card]\");if(!cardEl)return null;const key=cardEl.getAttribute(\"data-sf-card\");return key?w.__sfCards__[key]||null:null;};// Tick state: bus listener bumps this to trigger re-render\nconst[tick,setTick]=useState(0);useEffect(()=>{const bus=_sfBus(finderId);if(!bus)return;const listener=()=>setTick(t=>t+1);bus.listeners.add(listener);return()=>{bus.listeners.delete(listener);};},[finderId]);// Single retry after first mount\nconst didMount=useRef(false);useEffect(()=>{if(!didMount.current){didMount.current=true;requestAnimationFrame(()=>setTick(t=>t+1));}},[]);// Synchronous read\nconst storeData=readStoreData();// ── Determine what to show ──\nconst comingSoon=storeData?.fields?.__comingSoon===true;const openingDate=storeData?.fields?.__openingDate||\"\";const tagText=openingDate?`${openingPrefix}${openingDate}`:comingSoonText;const isVisible=comingSoon||!!openingDate;// Shared container style\nconst containerStyle={...props.style,display:\"inline-flex\",alignItems:\"center\",gap:6,padding:`${paddingV}px ${paddingH}px`,backgroundColor:bg,borderRadius,border:\"none\",boxShadow:doubleRing(borderWidth,outerBorderColor,borderColor,innerGap)};// ── Canvas preview ──\nif(isCanvas){return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:containerStyle,children:[iconEnabled&&/*#__PURE__*/_jsxs(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 6 12 12 16 14\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{...font,color:textColor,whiteSpace:\"nowrap\"},children:comingSoonText})]});}// ── Hidden when not applicable ──\nif(!isVisible){return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"none\"}});}// ── Render tag ──\nreturn /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:containerStyle,children:[iconEnabled&&/*#__PURE__*/_jsxs(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 6 12 12 16 14\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{...font,color:textColor,whiteSpace:\"nowrap\"},children:tagText})]});}// ═══════════════════════════════════════════════════════════════\n// PROPERTY CONTROLS\n// ═══════════════════════════════════════════════════════════════\naddPropertyControls(StoreFinder_Tag,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\"},comingSoonText:{type:ControlType.String,defaultValue:\"Coming soon\",title:\"Tekst\",description:\"Standaard tekst als er geen openingsdatum is ingevuld\"},openingPrefix:{type:ControlType.String,defaultValue:\"Opening: \",title:\"Opening prefix\",description:\"Tekst v\\xf3\\xf3r de openingsdatum. Bijv. 'Opening: ', 'Er\\xf6ffnung: ', 'Ouverture: '\"},font:{// @ts-ignore\ntype:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:{fontSize:16,fontWeight:400}},textColor:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Tekst kleur\"},bg:{type:ControlType.Color,defaultValue:\"#5B5FEF\",title:\"Achtergrond\"},borderRadius:{type:ControlType.Number,defaultValue:40,min:0,max:100,step:1,title:\"Radius\"},borderWidth:{type:ControlType.Number,defaultValue:2,min:0,max:6,step:1,title:\"Rand dikte\",description:\"Dikte van zowel de buiten- als binnenrand\"},borderColor:{type:ControlType.Color,defaultValue:\"rgba(255,255,255,0.75)\",title:\"Binnenrand kleur\",hidden:p=>(p.borderWidth??0)===0},outerBorderColor:{type:ControlType.Color,defaultValue:\"rgba(255,255,255,0.35)\",title:\"Buitenrand kleur\",hidden:p=>(p.borderWidth??0)===0},innerGap:{type:ControlType.Number,defaultValue:3,min:1,max:12,step:1,title:\"Binnenste rand ruimte\",description:\"Afstand tussen tekst en de binnenste rand\",hidden:p=>(p.borderWidth??0)===0},paddingV:{type:ControlType.Number,defaultValue:10,min:0,max:40,step:1,title:\"Padding ↕\"},paddingH:{type:ControlType.Number,defaultValue:24,min:0,max:60,step:1,title:\"Padding ↔\"},iconEnabled:{type:ControlType.Boolean,defaultValue:false,title:\"Klok icoon\"},iconColor:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Icoon kleur\",hidden:p=>!p.iconEnabled}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_Tag\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_tag.map","// StoreFinder — CardField\n// Companion component for custom card slots in StoreFinder_List.\n// Place inside your custom card design to display store data.\n// Reads its context from the nearest data-sf-card wrapper set by the List.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useRef}from\"react\";// ═══════════════════════════════════════════════════════════════\n// SHARED STATE BUS\n// ═══════════════════════════════════════════════════════════════\nconst SF_GLOBAL=\"__storeFinder__\";const createInitialSFState=()=>({stores:[],storesById:{},selectedId:null,hoveredId:null,searchLocation:null,searchText:\"\",distances:{},sortedIds:[],filters:{},filterOptions:{},filterLabels:{},mapReady:false,flyTo:null,totalVisible:0,fieldMap:{},language:\"nl\",country:\"nl\",translations:{},countryCenter:null,extraFields:[]});function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};if(!w[SF_GLOBAL][id])w[SF_GLOBAL][id]={state:createInitialSFState(),listeners:new Set};return w[SF_GLOBAL][id];}function sfGet(id){return _sfBus(id)?.state??createInitialSFState();}// ═══════════════════════════════════════════════════════════════\n// Format distance\nfunction formatDistance(km){if(km<1)return`${Math.round(km*1e3)} m`;if(km<10)return`${km.toFixed(1)} km`;return`${Math.round(km)} km`;}export default function StoreFinder_CardField(props){const{finderId=0,field=\"name\",customFieldName=\"\",type=\"text\",font={},color=\"#1a1a1a\",lineClamp=0,textDecoration=\"none\",opacity=1,prefix=\"\",suffix=\"\",showBox=false,boxBg=\"#f0f0f0\",boxBorderRadius=6,boxBorderWidth=0,boxBorderColor=\"#e0e0e0\",boxPaddingV=4,boxPaddingH=10,objectFit=\"cover\",borderRadius=0}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);// ── Read store data SYNCHRONOUSLY during render ──\n// No polling, no intervals — reads from __sfCards__ on every render\nconst readStoreData=()=>{if(typeof window===\"undefined\"||!ref.current)return null;const w=window;if(!w.__sfCards__)return null;const cardEl=ref.current.closest(\"[data-sf-card]\");if(!cardEl)return null;const key=cardEl.getAttribute(\"data-sf-card\");return key?w.__sfCards__[key]||null:null;};// Tick state: bus listener bumps this to trigger re-render\nconst[tick,setTick]=useState(0);useEffect(()=>{const bus=_sfBus(finderId);if(!bus)return;const listener=()=>setTick(t=>t+1);bus.listeners.add(listener);return()=>{bus.listeners.delete(listener);};},[finderId]);// Single retry after first mount (ref not yet in DOM on first render)\nconst didMount=useRef(false);useEffect(()=>{if(!didMount.current){didMount.current=true;requestAnimationFrame(()=>setTick(t=>t+1));}},[]);// Synchronous read — runs during render, before paint\nconst storeData=readStoreData();// Resolve actual field name (trim spaces from custom field names)\nconst actualField=field===\"custom\"?customFieldName.trim():field;const displayLabel=field===\"custom\"?customFieldName.trim()||\"custom\":field;// Shared text styles — spread ControlType.Font object\nconst textStyle={...font,color,textDecoration:textDecoration!==\"none\"?textDecoration:undefined,opacity:opacity<1?opacity:undefined};// Box wrapper style\nconst boxStyle=showBox?{display:\"inline-flex\",alignItems:\"center\",backgroundColor:boxBg,borderRadius:boxBorderRadius,border:boxBorderWidth>0?`${boxBorderWidth}px solid ${boxBorderColor}`:\"none\",padding:`${boxPaddingV}px ${boxPaddingH}px`}:null;// Canvas preview\nif(isCanvas){if(type===\"image\"){return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...props.style,backgroundColor:\"#e0e0e0\",borderRadius,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#999\",fontSize:11},children:[\"📷 \",displayLabel]});}const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[prefix,`{${displayLabel}}`,suffix]});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,...textStyle,display:\"flex\",alignItems:\"center\"},children:boxStyle?/*#__PURE__*/_jsx(\"span\",{style:boxStyle,children:inner}):inner});}// Resolve field value\nconst getValue=()=>{if(!storeData)return\"\";switch(actualField){case\"name\":return storeData.name||\"\";case\"city\":return storeData.city||\"\";case\"address\":return storeData.address||\"\";case\"distance\":return storeData.distance!==undefined?formatDistance(storeData.distance):\"\";case\"image\":return storeData.image||\"\";case\"googleMapsUrl\":return storeData.googleMapsUrl||\"\";case\"slug\":return storeData.slug||\"\";default:{// Try multiple lookup strategies for custom fields (handles spaces in names)\nconst raw=storeData.fields?.[`__extra_${actualField}`]||storeData.fields?.[actualField]||storeData[actualField]||\"\";// Trim string values to prevent whitespace-only glitches\nreturn typeof raw===\"string\"?raw.trim():raw;}}};const value=getValue();// Treat whitespace-only strings as empty\nconst isEmpty=!value&&value!==0||typeof value===\"string\"&&value.trim()===\"\";// Hide entirely when empty (including box)\nif(isEmpty&&!isCanvas){return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,display:\"none\"}});}if(type===\"image\"){const src=typeof value===\"object\"?value?.url||\"\":String(value);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,overflow:\"hidden\",borderRadius},children:src?/*#__PURE__*/_jsx(\"img\",{src:src,alt:\"\",style:{width:\"100%\",height:\"100%\",objectFit:objectFit,display:\"block\"},loading:\"lazy\"}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:\"#f0f0f0\"}})});}const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[prefix,String(value),suffix]});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,...textStyle,...lineClamp>0?{display:\"-webkit-box\",WebkitLineClamp:lineClamp,WebkitBoxOrient:\"vertical\",overflow:\"hidden\"}:{}},children:boxStyle?/*#__PURE__*/_jsx(\"span\",{style:boxStyle,children:inner}):inner});}// ═══════════════════════════════════════════════════════════════\n// PROPERTY CONTROLS\n// ═══════════════════════════════════════════════════════════════\naddPropertyControls(StoreFinder_CardField,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\"},field:{type:ControlType.Enum,defaultValue:\"name\",title:\"Veld\",options:[\"name\",\"city\",\"address\",\"distance\",\"image\",\"googleMapsUrl\",\"slug\",\"custom\"],optionTitles:[\"Naam\",\"Stad\",\"Adres\",\"Afstand\",\"Afbeelding\",\"Google Maps URL\",\"Slug\",\"Extra veld...\"],description:\"Welk veld dit component toont. Kies 'Extra veld' voor velden toegevoegd in de Provider.\"},customFieldName:{type:ControlType.String,defaultValue:\"\",title:\"Veldnaam\",placeholder:\"Bijv. Openingstijden\",description:\"Exact de CMS veldnaam zoals ingesteld bij 'Extra CMS velden' in de Provider\",hidden:p=>p.field!==\"custom\"},type:{type:ControlType.Enum,defaultValue:\"text\",title:\"Type\",options:[\"text\",\"image\"],optionTitles:[\"Tekst\",\"Afbeelding\"]},// ── Text styling ──\nfont:{//@ts-ignore\ntype:ControlType.Font,title:\"Lettertype\",controls:\"extended\",displayFontSize:true,displayTextAlignment:true,defaultValue:{fontSize:14,fontWeight:400,lineHeight:\"1.4em\"},hidden:p=>p.type===\"image\"},color:{type:ControlType.Color,defaultValue:\"#1a1a1a\",title:\"Kleur\",hidden:p=>p.type===\"image\"},textDecoration:{type:ControlType.Enum,defaultValue:\"none\",title:\"Decoratie\",options:[\"none\",\"underline\",\"line-through\"],optionTitles:[\"Geen\",\"Onderstrepen\",\"Doorhalen\"],hidden:p=>p.type===\"image\"},lineClamp:{type:ControlType.Number,defaultValue:0,min:0,max:10,step:1,title:\"Max regels\",description:\"0 = onbeperkt\",hidden:p=>p.type===\"image\"},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.05,title:\"Dekking\",hidden:p=>p.type===\"image\"},prefix:{type:ControlType.String,defaultValue:\"\",title:\"Prefix\",placeholder:\"Bijv. 📍 of Locatie: \",hidden:p=>p.type===\"image\"},suffix:{type:ControlType.String,defaultValue:\"\",title:\"Suffix\",placeholder:\"Bijv.  →\",hidden:p=>p.type===\"image\"},// ── Box / tag ──\nshowBox:{type:ControlType.Boolean,defaultValue:false,title:\"Tag box\",description:\"Toon tekst in een tag/badge box. Verbergt automatisch als waarde leeg is.\",hidden:p=>p.type===\"image\"},boxBg:{type:ControlType.Color,defaultValue:\"#f0f0f0\",title:\"Box achtergrond\",hidden:p=>p.type===\"image\"||!p.showBox},boxBorderRadius:{type:ControlType.Number,defaultValue:6,min:0,max:50,step:1,title:\"Box radius\",hidden:p=>p.type===\"image\"||!p.showBox},boxPaddingV:{type:ControlType.Number,defaultValue:4,min:0,max:20,step:1,title:\"Box padding V\",hidden:p=>p.type===\"image\"||!p.showBox},boxPaddingH:{type:ControlType.Number,defaultValue:10,min:0,max:30,step:1,title:\"Box padding H\",hidden:p=>p.type===\"image\"||!p.showBox},boxBorderWidth:{type:ControlType.Number,defaultValue:0,min:0,max:4,step:1,title:\"Box rand\",hidden:p=>p.type===\"image\"||!p.showBox},boxBorderColor:{type:ControlType.Color,defaultValue:\"#e0e0e0\",title:\"Box rand kleur\",hidden:p=>p.type===\"image\"||!p.showBox||p.boxBorderWidth===0},// ── Image styling ──\nobjectFit:{type:ControlType.Enum,defaultValue:\"cover\",title:\"Object fit\",options:[\"cover\",\"contain\",\"fill\"],hidden:p=>p.type!==\"image\"},borderRadius:{type:ControlType.Number,defaultValue:0,min:0,max:50,step:1,title:\"Radius\",hidden:p=>p.type!==\"image\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_CardField\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_cardfield.map","// StoreFinder — Geolocate\n// Vraagt de gebruiker om zijn locatie te delen.\n// Bij toestemming vliegt de map naar de locatie en worden afstanden berekend.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useCallback,useRef}from\"react\";import{createPortal}from\"react-dom\";// ═══════════════════════════════════════════════════════════════\n// SHARED STATE BUS\n// ═══════════════════════════════════════════════════════════════\nconst SF_GLOBAL=\"__storeFinder__\";const createInitialSFState=()=>({searchLocation:null,searchText:\"\",mapReady:false,flyTo:null,stores:[],storesById:{},selectedId:null,hoveredId:null,distances:{},sortedIds:[],filters:{},filterOptions:{},filterLabels:{},totalVisible:0,fieldMap:{},language:\"nl\",country:\"nl\",translations:{},countryCenter:null,extraFields:[],dataReady:false});function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};if(!w[SF_GLOBAL][id])w[SF_GLOBAL][id]={state:createInitialSFState(),listeners:new Set};return w[SF_GLOBAL][id];}function sfGet(id){return _sfBus(id)?.state??createInitialSFState();}function sfSet(id,updates){const bus=_sfBus(id);if(!bus)return;bus.state={...bus.state,...updates};bus.listeners.forEach(fn=>fn(bus.state));}function useSF(id){const[state,setState]=useState(()=>sfGet(id));useEffect(()=>{const bus=_sfBus(id);if(!bus)return;const listener=s=>setState({...s});bus.listeners.add(listener);setState({...bus.state});return()=>{bus.listeners.delete(listener);};},[id]);return state;}export default function StoreFinder_Geolocate(props){const{finderId=0,flyToZoom=14,size=44,iconColor=\"#555555\",iconColorActive=\"#2563EB\",bg=\"#ffffff\",bgHover=\"#f5f5f5\",bgActive=\"#EFF6FF\",borderRadius=8,borderWidth=1,borderColor=\"#e0e0e0\",shadow=\"0 1px 3px rgba(0,0,0,0.1)\",// Translatable texts\ntextMyLocation=\"Mijn locatie\",textIframe=\"Locatie werkt niet in preview. Test op de gepubliceerde site.\",textHttps=\"HTTPS is vereist voor locatiebepaling\",textUnavailable=\"Locatiebepaling is niet beschikbaar in deze browser\",textDenied=\"Sta locatie toe in je privacy-instellingen\",textDeviceUnavailable=\"Locatie is niet beschikbaar op dit apparaat\",textTimeout=\"Locatie timeout — probeer het opnieuw\",textInaccurate=\"Locatie te onnauwkeurig. Probeer opnieuw.\"}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const sf=useSF(finderId);const[status,setStatus]=useState(\"idle\");const[hovered,setHovered]=useState(false);const loadingRef=useRef(false);// ── Notification bar state ──\nconst[notif,setNotif]=useState(null);const notifTimersRef=useRef([]);const clearNotifTimers=useCallback(()=>{notifTimersRef.current.forEach(t=>clearTimeout(t));notifTimersRef.current=[];},[]);const showNotification=useCallback(msg=>{clearNotifTimers();// Phase 1: mount off-screen\nsetNotif({msg,phase:\"in\"});// Phase 2: after slide-in (400ms), mark visible\nnotifTimersRef.current.push(setTimeout(()=>{setNotif(n=>n?{...n,phase:\"visible\"}:null);},400));// Phase 3: after 3s hold, start fade out\nnotifTimersRef.current.push(setTimeout(()=>{setNotif(n=>n?{...n,phase:\"out\"}:null);},3400));// Phase 4: after fade-out (400ms), remove\nnotifTimersRef.current.push(setTimeout(()=>{setNotif(null);},3800));},[clearNotifTimers]);// Cleanup on unmount\nuseEffect(()=>()=>clearNotifTimers(),[clearNotifTimers]);// Detect iframe (Framer preview runs in iframe, published site does not)\nconst inIframe=typeof window!==\"undefined\"&&window.self!==window.top;const handleClick=useCallback(()=>{if(loadingRef.current)return;loadingRef.current=true;setStatus(\"loading\");// ── Environment checks ──\nif(inIframe){loadingRef.current=false;showNotification(textIframe);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),5e3);return;}if(!window.isSecureContext){loadingRef.current=false;showNotification(textHttps);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),5e3);return;}if(!navigator.geolocation){loadingRef.current=false;showNotification(textUnavailable);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),5e3);return;}// ── watchPosition instead of getCurrentPosition ──\n// Safari iOS has a known bug where getCurrentPosition callbacks\n// silently never fire. watchPosition is more reliable on Safari.\n// We grab the first result and immediately clear the watch.\nlet done=false;const watchId=navigator.geolocation.watchPosition(// ── Success ──\npos=>{if(done)return;done=true;navigator.geolocation.clearWatch(watchId);clearTimeout(fallbackTimer);loadingRef.current=false;if(pos.coords.accuracy>1e4){showNotification(textInaccurate);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),4e3);return;}const lat=pos.coords.latitude;const lng=pos.coords.longitude;sfSet(finderId,{searchLocation:{lat,lng},searchText:textMyLocation,flyTo:{lat,lng,zoom:flyToZoom}});setStatus(\"active\");if(props.onLocate){requestAnimationFrame(()=>props.onLocate?.());}},// ── Error ──\nerr=>{if(done)return;done=true;navigator.geolocation.clearWatch(watchId);clearTimeout(fallbackTimer);loadingRef.current=false;const reasons={1:textDenied,2:textDeviceUnavailable,3:textTimeout};showNotification(reasons[err.code]||`Error: ${err.message}`);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),5e3);},{enableHighAccuracy:true,maximumAge:6e4});// Manual fallback timer — Safari may not fire either callback\nconst fallbackTimer=setTimeout(()=>{if(done)return;done=true;navigator.geolocation.clearWatch(watchId);loadingRef.current=false;showNotification(textTimeout);setStatus(\"error\");setTimeout(()=>setStatus(\"idle\"),5e3);},3e4);},[finderId,flyToZoom,inIframe,textIframe,textHttps,textUnavailable,textDenied,textDeviceUnavailable,textTimeout,textInaccurate,textMyLocation,showNotification]);// Icon color based on status\nconst currentIconColor=status===\"active\"?iconColorActive:status===\"error\"?\"#EF4444\":iconColor;const currentBg=status===\"active\"?bgActive:status===\"error\"?\"#FEF2F2\":hovered?bgHover:bg;const iconSize=Math.round(size*.45);// ── Canvas preview ──\nif(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,width:size,height:size,backgroundColor:bg,borderRadius,border:`${borderWidth}px solid ${borderColor}`,boxShadow:shadow,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"3 11 22 2 13 21 11 13 3 11\"})})});}return /*#__PURE__*/_jsxs(\"button\",{onClick:handleClick,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),\"aria-label\":textMyLocation,title:status===\"loading\"?\"...\":status===\"active\"?textMyLocation:status===\"error\"?textDenied:textMyLocation,style:{...props.style,width:size,height:size,backgroundColor:currentBg,borderRadius,border:`${borderWidth}px solid ${borderColor}`,boxShadow:shadow,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:status===\"loading\"?\"wait\":\"pointer\",padding:0,transition:\"background-color 0.15s, transform 0.1s\",transform:hovered&&status!==\"loading\"?\"scale(1.05)\":\"scale(1)\",position:\"relative\",overflow:\"visible\"},children:[status===\"loading\"&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",style:{animation:\"sf-geo-spin 1s linear infinite\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`@keyframes sf-geo-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}`}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeDasharray:\"14 42\",strokeLinecap:\"round\"})]})}),status!==\"loading\"&&status!==\"error\"&&/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:status===\"active\"?iconColorActive:\"none\",stroke:currentIconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"3 11 22 2 13 21 11 13 3 11\"})}),status===\"error\"&&/*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#EF4444\",strokeWidth:\"2.5\",strokeLinecap:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\",strokeWidth:\"2\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"9\",y1:\"9\",x2:\"15\",y2:\"15\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"15\",y1:\"9\",x2:\"9\",y2:\"15\"})]}),notif&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,zIndex:999999,display:\"flex\",justifyContent:\"center\",pointerEvents:\"none\",padding:\"0 16px\",transform:notif.phase===\"in\"?\"translateY(-100%)\":\"translateY(0)\",opacity:notif.phase===\"out\"?0:1,transition:notif.phase===\"in\"?\"none\":notif.phase===\"out\"?\"opacity 0.4s ease-out\":\"transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)\"},ref:el=>{// Trigger slide-in on next frame after mount\nif(el&&notif.phase===\"in\"){requestAnimationFrame(()=>{el.style.transform=\"translateY(0)\";el.style.transition=\"transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)\";});}},children:/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:16,padding:\"12px 20px\",backgroundColor:\"rgba(0, 0, 0, 0.88)\",color:\"white\",fontSize:14,fontWeight:500,lineHeight:1.4,borderRadius:12,backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",boxShadow:\"0 4px 24px rgba(0,0,0,0.15)\",maxWidth:420,textAlign:\"center\",pointerEvents:\"auto\",display:\"flex\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#F87171\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"10\",r:\"3\"})]}),notif.msg]})}),document.body)]});}// ═══════════════════════════════════════════════════════════════\n// PROPERTY CONTROLS\n// ═══════════════════════════════════════════════════════════════\naddPropertyControls(StoreFinder_Geolocate,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\"},flyToZoom:{type:ControlType.Number,defaultValue:14,min:5,max:20,step:.5,title:\"Zoom niveau\",description:\"Zoom level na het vinden van de locatie\"},size:{type:ControlType.Number,defaultValue:44,min:28,max:80,step:2,title:\"Grootte\"},iconColor:{type:ControlType.Color,defaultValue:\"#555555\",title:\"Icoon kleur\"},iconColorActive:{type:ControlType.Color,defaultValue:\"#2563EB\",title:\"Icoon kleur actief\"},bg:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Achtergrond\"},bgHover:{type:ControlType.Color,defaultValue:\"#f5f5f5\",title:\"Achtergrond hover\"},bgActive:{type:ControlType.Color,defaultValue:\"#EFF6FF\",title:\"Achtergrond actief\"},borderRadius:{type:ControlType.Number,defaultValue:8,min:0,max:50,step:1,title:\"Radius\"},borderWidth:{type:ControlType.Number,defaultValue:1,min:0,max:4,step:1,title:\"Rand\"},borderColor:{type:ControlType.Color,defaultValue:\"#e0e0e0\",title:\"Rand kleur\"},shadow:{type:ControlType.String,defaultValue:\"0 1px 3px rgba(0,0,0,0.1)\",title:\"Schaduw\"},// ── Translatable texts ──\ntextMyLocation:{type:ControlType.String,defaultValue:\"Mijn locatie\",title:\"Tekst: mijn locatie\",description:\"Tekst die in de zoekbalk verschijnt na geolocatie\"},textDenied:{type:ControlType.String,defaultValue:\"Sta locatie toe in je privacy-instellingen\",title:\"Tekst: geweigerd\",description:\"Notificatie als de gebruiker locatie weigert\"},textTimeout:{type:ControlType.String,defaultValue:\"Locatie timeout — probeer het opnieuw\",title:\"Tekst: timeout\"},textInaccurate:{type:ControlType.String,defaultValue:\"Locatie te onnauwkeurig. Probeer opnieuw.\",title:\"Tekst: onnauwkeurig\"},textUnavailable:{type:ControlType.String,defaultValue:\"Locatiebepaling is niet beschikbaar in deze browser\",title:\"Tekst: niet beschikbaar\"},textDeviceUnavailable:{type:ControlType.String,defaultValue:\"Locatie is niet beschikbaar op dit apparaat\",title:\"Tekst: apparaat\"},textHttps:{type:ControlType.String,defaultValue:\"HTTPS is vereist voor locatiebepaling\",title:\"Tekst: HTTPS\"},textIframe:{type:ControlType.String,defaultValue:\"Locatie werkt niet in preview. Test op de gepubliceerde site.\",title:\"Tekst: iframe\"},onLocate:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_Geolocate\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_geolocate.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import React,{useState,useEffect,useRef,useCallback,useMemo}from\"react\";const SF_GLOBAL=\"__storeFinder__\";function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};if(!w[SF_GLOBAL][id])w[SF_GLOBAL][id]={state:{},listeners:new Set};return w[SF_GLOBAL][id];}function resolveUrl(value){if(!value)return\"\";if(typeof value===\"string\")return value.trim();if(typeof value===\"object\"&&value.url)return String(value.url).trim();return String(value).trim();}function readCmsField(storeData,name){if(!storeData||!name)return\"\";return storeData.fields?.[`__extra_${name}`]??storeData.fields?.[name]??storeData[name]??\"\";}function extractSlug(value,depth=0){if(value===null||value===undefined)return\"\";if(depth>4)return\"\";if(Array.isArray(value)){return value.length>0?extractSlug(value[0],depth+1):\"\";}if(typeof value===\"string\"){const s=value.trim();if(!s||s===\"[object Object]\")return\"\";if(s.includes(\"/\")){const parts=s.split(\"/\").filter(Boolean);return parts[parts.length-1]||\"\";}return s;}if(typeof value===\"number\"||typeof value===\"boolean\"){return String(value);}if(typeof value===\"object\"){if(value.pathVariables&&typeof value.pathVariables===\"object\"&&!Array.isArray(value.pathVariables)){const pv=value.pathVariables;if(typeof pv.slug===\"string\"&&pv.slug.trim()){return extractSlug(pv.slug,depth+1);}try{for(const k of Object.keys(pv)){const v=pv[k];if(typeof v===\"string\"&&v.trim()){return extractSlug(v,depth+1);}}}catch{}}const priority=[\"slug\",\"url\",\"href\",\"path\",\"pathname\",\"label\",\"title\",\"name\"];for(const key of priority){try{const v=value[key];if(v!==undefined&&v!==null){const result=extractSlug(v,depth+1);if(result)return result;}}catch{}}try{for(const key of Object.keys(value)){if(key===\"id\"||key===\"webPageId\")continue;const v=value[key];if(typeof v===\"string\"&&v.trim()&&v.trim()!==\"[object Object]\"){const result=extractSlug(v,depth+1);if(result)return result;}}}catch{}try{for(const key of Object.keys(value)){const v=value[key];if(v&&typeof v===\"object\"&&!Array.isArray(v)){const result=extractSlug(v,depth+1);if(result)return result;}}}catch{}if(typeof value.id===\"string\"){return value.id.trim();}}return\"\";}function buildUrl(template,slug){const cleanSlug=String(slug||\"\").trim().replace(/^\\/+/,\"\");if(!cleanSlug)return\"\";const tpl=String(template||\"\").trim();if(tpl.includes(\":slug\")){return tpl.replace(\":slug\",encodeURIComponent(cleanSlug));}const cleanTpl=tpl.replace(/\\/+$/,\"\");if(!cleanTpl)return`/${cleanSlug}`;return`${cleanTpl}/${cleanSlug}`;}function getLocalePrefix(){if(typeof window===\"undefined\")return\"\";try{const path=window.location.pathname||\"\";const match=path.match(/^\\/([a-z]{2}(?:-[a-z]{2})?)(?=\\/|$)/i);if(!match)return\"\";return`/${match[1].toLowerCase()}`;}catch{return\"\";}}function applyLocalePrefix(url){if(!url)return url;if(/^https?:\\/\\//i.test(url))return url;if(!url.startsWith(\"/\"))return url;const prefix=getLocalePrefix();if(!prefix)return url;if(url===prefix||url.startsWith(prefix+\"/\"))return url;return prefix+url;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 44\n */export default function StoreFinder_Link(props){const{finderId,field,customFieldName,pathTemplate,slugFieldName,target,buttonSlot,slotWidth,label,labelColor,labelFontSize,labelFontWeight,bgColor,borderColor,borderWidth,borderRadius,paddingV,paddingH,hoverBg,iconPosition,iconColor,align,hideWhenEmpty}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const[storeData,setStoreData]=useState(null);const[isHovered,setIsHovered]=useState(false);const hasSlot=Array.isArray(buttonSlot)&&buttonSlot.length>0&&buttonSlot[0];const fillWidth=slotWidth===\"fill\";useEffect(()=>{const findData=()=>{if(typeof window===\"undefined\")return null;const w=window;if(!w.__sfCards__||!ref.current)return null;const cardEl=ref.current.closest(\"[data-sf-card]\");if(!cardEl)return null;const key=cardEl.getAttribute(\"data-sf-card\");return key?w.__sfCards__[key]||null:null;};const check=()=>{const data=findData();if(data){setStoreData(data);return true;}return false;};if(check())return;let attempts=0;const interval=setInterval(()=>{if(check()||++attempts>20)clearInterval(interval);},50);return()=>{clearInterval(interval);};},[]);useEffect(()=>{const bus=_sfBus(finderId);if(!bus)return;const listener=()=>{if(typeof window===\"undefined\")return;const w=window;if(!w.__sfCards__||!ref.current)return;const cardEl=ref.current.closest(\"[data-sf-card]\");if(!cardEl)return;const key=cardEl.getAttribute(\"data-sf-card\");if(key&&w.__sfCards__[key]){setStoreData({...w.__sfCards__[key]});}};bus.listeners.add(listener);return()=>{bus.listeners.delete(listener);};},[finderId]);const finalUrl=useMemo(()=>{if(!storeData)return\"\";if(field===\"googleMapsUrl\"){const url=resolveUrl(storeData.googleMapsUrl);if(url)return url;if(storeData.lat&&storeData.lng){return`https://www.google.com/maps/search/?api=1&query=${storeData.lat},${storeData.lng}`;}return\"\";}if(field===\"custom\"){return resolveUrl(readCmsField(storeData,customFieldName));}if(field===\"framerPage\"){const slug=extractSlug(readCmsField(storeData,slugFieldName));return buildUrl(pathTemplate,slug);}return\"\";},[storeData,field,customFieldName,pathTemplate,slugFieldName]);useEffect(()=>{if(typeof window===\"undefined\"||!storeData)return;if(field!==\"framerPage\")return;try{const raw=readCmsField(storeData,slugFieldName);const safeSnapshot=(v,d=0)=>{if(d>3)return\"[truncated]\";if(v===null||v===undefined)return v;if(typeof v===\"string\"||typeof v===\"number\"||typeof v===\"boolean\")return v;if(Array.isArray(v))return v.slice(0,3).map(x=>safeSnapshot(x,d+1));if(typeof v===\"object\"){const out={};try{for(const k of Object.keys(v).slice(0,20)){out[k]=safeSnapshot(v[k],d+1);}}catch{}return out;}return String(v);};window.__sfDebug={locale:window.location.pathname,slugFieldName,pathTemplate,rawType:typeof raw,rawIsArray:Array.isArray(raw),rawKeys:raw&&typeof raw===\"object\"&&!Array.isArray(raw)?Object.keys(raw):null,rawSnapshot:safeSnapshot(raw),extracted:extractSlug(raw),finalUrl,storeDataKeys:Object.keys(storeData),fieldsKeys:storeData.fields?Object.keys(storeData.fields):null};}catch(e){window.__sfDebug={error:String(e)};}},[storeData,field,slugFieldName,pathTemplate,finalUrl]);const effectiveTarget=field===\"framerPage\"?target||\"_self\":target||\"_blank\";const handleClick=useCallback(e=>{e.stopPropagation();if(!finalUrl||typeof window===\"undefined\")return;const urlToOpen=field===\"framerPage\"?applyLocalePrefix(finalUrl):finalUrl;window.open(urlToOpen,effectiveTarget,effectiveTarget===\"_blank\"?\"noopener,noreferrer\":undefined);},[finalUrl,effectiveTarget,field]);const renderSlot=()=>{const child=buttonSlot[0];if(!fillWidth)return child;return /*#__PURE__*/React.cloneElement(child,{style:{...child.props?.style||{},width:\"100%\",maxWidth:\"100%\"}});};const ariaLabel=useMemo(()=>{if(field===\"framerPage\")return label||\"Open pagina\";if(field===\"googleMapsUrl\")return label||\"Open in Google Maps\";return label||\"Externe link\";},[field,label]);if(isCanvas){const previewBadge=field===\"framerPage\"?`📄 ${pathTemplate||\"/:slug\"}`:field===\"custom\"?`🔗 ${customFieldName||\"veld\"}`:\"🗺️ Maps\";if(hasSlot){return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...props.style,position:\"relative\",width:fillWidth?\"100%\":undefined,display:fillWidth?\"block\":undefined},children:[renderSlot(),/*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",top:-1,right:-1,backgroundColor:\"#0078FF\",color:\"#fff\",fontSize:9,fontWeight:600,padding:\"1px 5px\",borderRadius:\"0 0 0 4px\",fontFamily:\"-apple-system, sans-serif\",pointerEvents:\"none\",maxWidth:\"85%\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:[previewBadge,fillWidth?\" \\xb7 fill\":\"\"]})]});}return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,display:\"flex\",justifyContent:align===\"stretch\"?\"stretch\":align===\"left\"?\"flex-start\":align===\"right\"?\"flex-end\":\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,backgroundColor:bgColor,color:labelColor,fontSize:labelFontSize,fontWeight:labelFontWeight,padding:`${paddingV}px ${paddingH}px`,borderRadius,border:borderWidth>0?`${borderWidth}px solid ${borderColor}`:\"none\",fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',width:align===\"stretch\"?\"100%\":undefined,justifyContent:\"center\"},children:[iconPosition===\"left\"&&/*#__PURE__*/_jsx(ExternalIcon,{color:iconColor}),/*#__PURE__*/_jsx(\"span\",{children:label}),iconPosition===\"right\"&&/*#__PURE__*/_jsx(ExternalIcon,{color:iconColor})]})});}if(hideWhenEmpty&&!finalUrl){return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,display:\"none\"},\"aria-hidden\":\"true\"});}if(hasSlot){return /*#__PURE__*/_jsx(\"div\",{ref:ref,onClick:handleClick,role:\"link\",tabIndex:finalUrl?0:-1,\"aria-label\":ariaLabel,\"aria-disabled\":!finalUrl,onKeyDown:e=>{if((e.key===\"Enter\"||e.key===\" \")&&finalUrl){e.preventDefault();handleClick(e);}},style:{...props.style,cursor:finalUrl?\"pointer\":\"default\",width:fillWidth?\"100%\":undefined,display:fillWidth?\"block\":undefined},children:renderSlot()});}return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style,display:\"flex\",justifyContent:align===\"stretch\"?\"stretch\":align===\"left\"?\"flex-start\":align===\"right\"?\"flex-end\":\"center\"},children:/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:handleClick,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),\"aria-label\":ariaLabel,\"aria-disabled\":!finalUrl,style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,backgroundColor:isHovered?hoverBg:bgColor,color:labelColor,fontSize:labelFontSize,fontWeight:labelFontWeight,padding:`${paddingV}px ${paddingH}px`,borderRadius,border:borderWidth>0?`${borderWidth}px solid ${borderColor}`:\"none\",cursor:finalUrl?\"pointer\":\"default\",opacity:finalUrl?1:.4,transition:\"background-color 0.15s, opacity 0.15s\",fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',width:align===\"stretch\"?\"100%\":undefined,whiteSpace:\"nowrap\"},children:[iconPosition===\"left\"&&/*#__PURE__*/_jsx(ExternalIcon,{color:iconColor}),/*#__PURE__*/_jsx(\"span\",{children:label}),iconPosition===\"right\"&&/*#__PURE__*/_jsx(ExternalIcon,{color:iconColor})]})});}StoreFinder_Link.defaultProps={finderId:0,field:\"googleMapsUrl\",customFieldName:\"\",pathTemplate:\"/:slug\",slugFieldName:\"slug\",target:\"_blank\",buttonSlot:[],slotWidth:\"auto\",label:\"Route plannen\",labelColor:\"#FFFFFF\",labelFontSize:14,labelFontWeight:\"600\",bgColor:\"#1a1a1a\",borderColor:\"transparent\",borderWidth:0,borderRadius:8,paddingV:12,paddingH:20,hoverBg:\"#333333\",iconPosition:\"right\",iconColor:\"#FFFFFF\",align:\"stretch\",hideWhenEmpty:false};function ExternalIcon({color=\"#fff\"}){return /*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"15 3 21 3 21 9\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"10\",y1:\"14\",x2:\"21\",y2:\"3\"})]});}addPropertyControls(StoreFinder_Link,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\",description:\"ID van de StoreFinder Provider waar deze knop bij hoort\"},field:{type:ControlType.Enum,defaultValue:\"googleMapsUrl\",title:\"Link type\",options:[\"googleMapsUrl\",\"custom\",\"framerPage\"],optionTitles:[\"Google Maps\",\"Externe URL\",\"Framer pagina\"],description:\"*Google Maps* opent locatie \\xb7 *Externe URL* leest een complete URL uit een CMS-veld \\xb7 *Framer pagina* combineert een pad-template met een slug uit het CMS\"},pathTemplate:{type:ControlType.String,defaultValue:\"/:slug\",title:\"Pad\",placeholder:\"/schedule-trial-lesson/:slug\",description:\"Pad of volledige URL met *:slug* als placeholder. Locale-prefix (zoals */be/* of */de/*) wordt automatisch behouden.\",hidden:p=>p.field!==\"framerPage\"},slugFieldName:{type:ControlType.String,defaultValue:\"slug\",title:\"Slug veld\",placeholder:\"slug\",description:\"CMS-veld waaruit de slug wordt gelezen. Werkt met Framer page links, references en strings.\",hidden:p=>p.field!==\"framerPage\"},customFieldName:{type:ControlType.String,defaultValue:\"\",title:\"URL veld\",placeholder:\"Bijv. Website\",description:\"Naam van het CMS-veld dat de complete URL bevat (zoals ingesteld bij 'Extra CMS velden' in de Provider)\",hidden:p=>p.field!==\"custom\"},target:{type:ControlType.Enum,defaultValue:\"_blank\",title:\"Opent in\",options:[\"_blank\",\"_self\"],optionTitles:[\"Nieuw tabblad\",\"Zelfde pagina\"],displaySegmentedControl:true},buttonSlot:{type:ControlType.ComponentInstance,title:\"Custom knop\",description:\"Sleep je eigen knop-ontwerp hierin. Laat leeg voor de standaard knop.\"},slotWidth:{type:ControlType.Enum,defaultValue:\"auto\",title:\"Knop breedte\",options:[\"auto\",\"fill\"],optionTitles:[\"Auto\",\"Vullend\"],displaySegmentedControl:true,description:\"*Auto*: behoudt originele breedte \\xb7 *Vullend*: neemt volledige wrapper-breedte over\"},label:{type:ControlType.String,defaultValue:\"Route plannen\",title:\"Label\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},bgColor:{type:ControlType.Color,defaultValue:\"#1a1a1a\",title:\"Achtergrond\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},hoverBg:{type:ControlType.Color,defaultValue:\"#333333\",title:\"Hover bg\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},labelColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Tekst kleur\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},labelFontSize:{type:ControlType.Number,defaultValue:14,min:10,max:24,step:1,title:\"Tekst grootte\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},labelFontWeight:{type:ControlType.Enum,defaultValue:\"600\",title:\"Gewicht\",options:[\"400\",\"500\",\"600\",\"700\"],optionTitles:[\"Regular\",\"Medium\",\"Semibold\",\"Bold\"],hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},borderRadius:{type:ControlType.Number,defaultValue:8,min:0,max:30,step:1,title:\"Hoekradius\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},borderColor:{type:ControlType.Color,defaultValue:\"transparent\",title:\"Rand kleur\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},borderWidth:{type:ControlType.Number,defaultValue:0,min:0,max:4,step:1,title:\"Rand dikte\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},paddingV:{type:ControlType.Number,defaultValue:12,min:4,max:24,step:1,title:\"Padding V\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},paddingH:{type:ControlType.Number,defaultValue:20,min:8,max:48,step:1,title:\"Padding H\",hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},iconPosition:{type:ControlType.Enum,defaultValue:\"right\",title:\"Icoon\",options:[\"none\",\"left\",\"right\"],optionTitles:[\"Geen\",\"Links\",\"Rechts\"],hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},iconColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Icoon kleur\",hidden:p=>{const hasSlot=p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0;return hasSlot||p.iconPosition===\"none\";}},align:{type:ControlType.Enum,defaultValue:\"stretch\",title:\"Uitlijning\",options:[\"stretch\",\"left\",\"center\",\"right\"],optionTitles:[\"Volledig\",\"Links\",\"Midden\",\"Rechts\"],hidden:p=>p.buttonSlot&&Array.isArray(p.buttonSlot)&&p.buttonSlot.length>0},hideWhenEmpty:{type:ControlType.Boolean,defaultValue:false,title:\"Verberg als leeg\",description:\"Verberg de knop als er geen URL beschikbaar is\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_Link\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"44\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_Link.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import React,{useState,useEffect,useRef,useMemo,useCallback}from\"react\";import{LazyMotion,domAnimation,m}from\"framer-motion\";const SF_GLOBAL=\"__storeFinder__\";const createInitialSFState=()=>({stores:[],storesById:{},selectedId:null,hoveredId:null,searchLocation:null,searchText:\"\",distances:{},sortedIds:[],filters:{},filterOptions:{},mapReady:false,flyTo:null,totalVisible:0,fieldMap:{},language:\"nl\",country:\"nl\",translations:{},countryCenter:null,extraFields:[],dataReady:false});function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};if(!w[SF_GLOBAL][id]){w[SF_GLOBAL][id]={state:createInitialSFState(),listeners:new Set};}return w[SF_GLOBAL][id];}function sfGet(id){return _sfBus(id)?.state??createInitialSFState();}function sfSet(id,updates){const bus=_sfBus(id);if(!bus)return;bus.state={...bus.state,...updates};bus.listeners.forEach(fn=>fn(bus.state));}function useSFSelector(id,selector){const[value,setValue]=useState(()=>selector(sfGet(id)));const selectorRef=useRef(selector);selectorRef.current=selector;useEffect(()=>{const bus=_sfBus(id);if(!bus)return;const listener=s=>{const next=selectorRef.current(s);setValue(prev=>{if(prev===next)return prev;if(typeof prev===\"object\"&&typeof next===\"object\"&&prev!==null&&next!==null){const pKeys=Object.keys(prev);const nKeys=Object.keys(next);if(pKeys.length===nKeys.length&&pKeys.every(k=>prev[k]===next[k]))return prev;}return next;});};bus.listeners.add(listener);setValue(selectorRef.current(bus.state));return()=>{bus.listeners.delete(listener);};},[id]);return value;}function formatDistance(km){if(km<1)return`${Math.round(km*1e3)} m`;if(km<10)return`${km.toFixed(1)} km`;return`${Math.round(km)} km`;}const _sfListCache={};function getListCache(finderId){if(!_sfListCache[finderId]){_sfListCache[finderId]={loaded:false,lastSearchLoc:null,lastSortedIds:[]};}return _sfListCache[finderId];}const StoreCard=/*#__PURE__*/React.memo(function StoreCard({store,isActive,isHovered,distance,onClick,onHover,onLeave,cardShell,cardBg,cardBgActive,cardBorderWidth,cardBorderColor,cardBorderColorActive,cardShadow,cardShadowActive,cardPadding,showImage,imageWidth,imageHeight,imageBorderRadius,imageObjectFit,showName,nameColor,nameFontSize,nameFontWeight,showCity,cityColor,cityFontSize,showAddress,addressColor,addressFontSize,showDistance,distanceColor,distanceFontSize,cardDirection,cardContentGap,index,animateCards}){const hasDistance=distance!==undefined;return /*#__PURE__*/_jsxs(m.div,{layout:animateCards?true:undefined,initial:animateCards?{opacity:0,y:12}:undefined,animate:animateCards?{opacity:1,y:0}:undefined,exit:animateCards?{opacity:0,y:-8}:undefined,transition:{duration:.25,delay:Math.min(index*.03,.3)},onClick:onClick,onMouseEnter:onHover,onMouseLeave:onLeave,style:{...cardShell,backgroundColor:isActive||isHovered?cardBgActive:cardBg,border:`${cardBorderWidth}px solid ${isActive?cardBorderColorActive:cardBorderColor}`,boxShadow:isActive?cardShadowActive:cardShadow,cursor:\"pointer\",transition:\"background-color 0.15s, border-color 0.15s, box-shadow 0.15s\",position:\"relative\"},children:[showImage&&store.image&&/*#__PURE__*/_jsx(\"div\",{style:{width:imageWidth,height:imageHeight,borderRadius:imageBorderRadius,overflow:\"hidden\",flexShrink:0,backgroundColor:\"#f0f0f0\"},children:/*#__PURE__*/_jsx(\"img\",{src:typeof store.image===\"object\"?store.image?.url||\"\":store.image,alt:store.name,style:{width:\"100%\",height:\"100%\",objectFit:imageObjectFit},loading:index===0?\"eager\":\"lazy\"})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\"},children:[showName&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:nameFontSize,fontWeight:nameFontWeight,color:nameColor,lineHeight:1.3,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:store.name}),showCity&&store.city&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:cityFontSize,color:cityColor,marginTop:2},children:store.city}),showAddress&&store.address&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:addressFontSize,color:addressColor,marginTop:2,display:\"flex\",alignItems:\"center\",gap:4},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:addressColor,strokeWidth:\"2\",strokeLinecap:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"10\",r:\"3\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:store.address})]}),showDistance&&hasDistance&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:distanceFontSize,color:distanceColor,fontWeight:500,marginTop:6},children:formatDistance(distance)})]}),showDistance&&hasDistance&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:cardPadding,right:cardPadding,fontSize:distanceFontSize-1,color:distanceColor,fontWeight:500,opacity:.8},children:formatDistance(distance)})]});});export default function StoreFinder_List(props){const{finderId=0,direction=\"vertical\",gridColumns=2,gap=12,cardSizing=\"fill\",cardWidth=260,padding=0,paddingIsMixed=false,paddingTop=0,paddingRight=0,paddingBottom=0,paddingLeft=0,cardBg=\"#FFFFFF\",cardBgActive=\"#F0F7FF\",cardBorderColor=\"#e8e8e8\",cardBorderColorActive=\"#0078FF\",cardBorderWidth=1,cardBorderRadius=10,cardPadding=14,cardShadow=\"0 1px 3px rgba(0,0,0,0.06)\",cardShadowActive=\"0 2px 8px rgba(0,120,255,0.15)\",showImage=true,imageWidth=100,imageHeight=80,imageBorderRadius=6,imageObjectFit=\"cover\",showName=true,nameColor=\"#1a1a1a\",nameFontSize=15,nameFontWeight=600,showCity=true,cityColor=\"#666666\",cityFontSize=13,showAddress=true,addressColor=\"#888888\",addressFontSize=13,showDistance=true,distanceColor=\"#0078FF\",distanceFontSize=13,cardDirection=\"horizontal\",cardContentGap=12,animateCards=true,itemsPerPage=20,paginationEnabled=false,loadMoreText=\"\",loadMoreBg=\"#f5f5f5\",loadMoreColor=\"#333333\",loadMoreRadius=8,noResultsText=\"Geen locaties gevonden\",noResultsColor=\"#888888\",noResultsFontSize=14,cardSlot=[],cardSlotActive=[]}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isGrid=direction===\"grid\";const isHorizontal=direction===\"horizontal\";const sortedIds=useSFSelector(finderId,s=>s.sortedIds);const storesById=useSFSelector(finderId,s=>s.storesById);const distances=useSFSelector(finderId,s=>s.distances);const selectedId=useSFSelector(finderId,s=>s.selectedId);const hoveredId=useSFSelector(finderId,s=>s.hoveredId);const dataReady=useSFSelector(finderId,s=>s.dataReady);const stores=useSFSelector(finderId,s=>s.stores);const searchLocation=useSFSelector(finderId,s=>s.searchLocation);const translations=useSFSelector(finderId,s=>s.translations);const t=(key,fallback)=>translations?.[key]||fallback;const hasSlot=Array.isArray(cardSlot)&&cardSlot.length>0&&cardSlot[0];const hasSlotActive=Array.isArray(cardSlotActive)&&cardSlotActive.length>0&&cardSlotActive[0];const[visibleCount,setVisibleCount]=useState(itemsPerPage);const listRef=useRef(null);const cache=getListCache(finderId);if(dataReady&&stores.length>=0)cache.loaded=true;useEffect(()=>{setVisibleCount(itemsPerPage);},[sortedIds.length,itemsPerPage]);const visibleStores=useMemo(()=>{const result=sortedIds.map(id=>storesById[id]).filter(Boolean);return paginationEnabled?result.slice(0,visibleCount):result;},[sortedIds,storesById,paginationEnabled,visibleCount]);const[searchPending,setSearchPending]=useState(false);const prevSearchLocRef=useRef(searchLocation);useEffect(()=>{const prev=prevSearchLocRef.current;const curr=searchLocation;prevSearchLocRef.current=curr;if(curr&&curr!==prev&&cache.loaded){cache.lastSortedIds=sortedIds;setSearchPending(true);}},[searchLocation]);useEffect(()=>{if(!searchPending)return;if(sortedIds!==cache.lastSortedIds&&dataReady){const timer=setTimeout(()=>setSearchPending(false),400);return()=>clearTimeout(timer);}const fallback=setTimeout(()=>setSearchPending(false),2e3);return()=>clearTimeout(fallback);},[searchPending,sortedIds,dataReady]);const showSkeleton=!cache.loaded||searchPending;const showCards=cache.loaded&&!searchPending&&visibleStores.length>0;const showEmpty=cache.loaded&&!searchPending&&visibleStores.length===0;const totalCount=sortedIds.length;const hasMore=paginationEnabled&&visibleCount<totalCount;useEffect(()=>{if(!hasSlot)return;const w=window;if(!w.__sfCards__)w.__sfCards__={};for(const store of visibleStores){w.__sfCards__[`${finderId}-${store.id}`]={...store,distance:distances[store.id],isActive:selectedId===store.id,isHovered:hoveredId===store.id};}});const handleCardClick=useCallback(storeId=>{sfSet(finderId,{selectedId:storeId,flyTo:{lat:storesById[storeId]?.lat??0,lng:storesById[storeId]?.lng??0}});},[finderId,storesById]);const handleCardHover=useCallback(storeId=>{sfSet(finderId,{hoveredId:storeId});},[finderId]);const paddingStyle=paddingIsMixed?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;const getContainerLayoutStyle=()=>{if(isGrid){return{display:\"grid\",gridTemplateColumns:`repeat(${Math.max(1,gridColumns)}, minmax(0, 1fr))`,gap,padding:paddingStyle};}return{display:\"flex\",flexDirection:isHorizontal?\"row\":\"column\",gap,padding:paddingStyle};};if(isCanvas){const previewCards=Array.from({length:3},(_,i)=>({name:[\"Sportschool Centrum\",\"Fitness Plaza\",\"Gym Express\"][i],city:[\"Amsterdam\",\"Rotterdam\",\"Utrecht\"][i],address:[\"Keizersgracht 123\",\"Coolsingel 45\",\"Oudegracht 67\"][i],distance:[\"0.9 km\",\"1.3 km\",\"2.0 km\"][i]}));return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,...getContainerLayoutStyle(),overflow:\"hidden\"},children:previewCards.map((card,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:cardDirection===\"horizontal\"?\"row\":\"column\",gap:cardContentGap,backgroundColor:i===0?cardBgActive:cardBg,border:`${cardBorderWidth}px solid ${i===0?cardBorderColorActive:cardBorderColor}`,borderRadius:cardBorderRadius,padding:cardPadding,boxShadow:i===0?cardShadowActive:cardShadow,flex:!isGrid&&(cardSizing===\"fixed\"||isHorizontal)?\"0 0 auto\":undefined,width:!isGrid&&cardSizing===\"fixed\"?cardWidth:undefined,minWidth:!isGrid&&cardSizing===\"fill\"&&isHorizontal?cardWidth:undefined},children:[showImage&&/*#__PURE__*/_jsx(\"div\",{style:{width:imageWidth,height:imageHeight,borderRadius:imageBorderRadius,backgroundColor:\"#e8e8e8\",flexShrink:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#ccc\",strokeWidth:\"1.5\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8.5\",cy:\"8.5\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M21 15l-5-5L5 21\"})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[showName&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:nameFontSize,fontWeight:nameFontWeight,color:nameColor},children:card.name}),showCity&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:cityFontSize,color:cityColor,marginTop:2},children:card.city}),showAddress&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:addressFontSize,color:addressColor,marginTop:2},children:card.address}),showDistance&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:distanceFontSize,color:distanceColor,fontWeight:500,marginTop:6},children:card.distance})]})]},i))});}const scrollClass=`sf-list-${finderId}`;const shimmerClass=`sf-shimmer-${finderId}`;const skeletonCount=paginationEnabled?Math.min(itemsPerPage,6):6;const cardShell={display:\"flex\",flexDirection:cardDirection===\"horizontal\"?\"row\":\"column\",gap:cardContentGap,backgroundColor:cardBg,border:`${cardBorderWidth}px solid ${cardBorderColor}`,borderRadius:cardBorderRadius,padding:cardPadding,boxShadow:cardShadow,flex:!isGrid&&(cardSizing===\"fixed\"||isHorizontal)?\"0 0 auto\":undefined,width:!isGrid&&cardSizing===\"fixed\"?cardWidth:undefined,minWidth:!isGrid&&cardSizing===\"fill\"&&isHorizontal?cardWidth:undefined};return /*#__PURE__*/_jsxs(LazyMotion,{features:domAnimation,children:[/*#__PURE__*/_jsx(\"style\",{children:`.${scrollClass}::-webkit-scrollbar{display:none}.${scrollClass}{-ms-overflow-style:none;scrollbar-width:none}@keyframes sf-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.${shimmerClass}{background:#f0f0f0;position:relative;overflow:hidden}.${shimmerClass}::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);animation:sf-shimmer 1.5s infinite ease-in-out;will-change:transform}`}),/*#__PURE__*/_jsxs(\"div\",{ref:listRef,className:scrollClass,style:{...props.style,fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',overflowX:isHorizontal?\"auto\":undefined,overflowY:!isHorizontal?\"auto\":undefined,contain:\"layout style\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...getContainerLayoutStyle(),display:showSkeleton?getContainerLayoutStyle().display:\"none\"},children:Array.from({length:skeletonCount},(_,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{...cardShell,opacity:1-i*.08},children:[showImage&&/*#__PURE__*/_jsx(\"div\",{className:shimmerClass,style:{width:imageWidth,height:imageHeight,borderRadius:imageBorderRadius,flexShrink:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",gap:6},children:[showName&&/*#__PURE__*/_jsx(\"div\",{className:shimmerClass,style:{height:nameFontSize,borderRadius:4,width:\"70%\"}}),showCity&&/*#__PURE__*/_jsx(\"div\",{className:shimmerClass,style:{height:cityFontSize,borderRadius:4,width:\"45%\"}}),showAddress&&/*#__PURE__*/_jsx(\"div\",{className:shimmerClass,style:{height:addressFontSize,borderRadius:4,width:\"60%\"}}),showDistance&&/*#__PURE__*/_jsx(\"div\",{className:shimmerClass,style:{height:distanceFontSize,borderRadius:4,width:\"25%\",marginTop:2}})]})]},`skel-${i}`))}),/*#__PURE__*/_jsxs(\"div\",{style:{display:showEmpty?\"flex\":\"none\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:12,padding:paddingStyle,minHeight:120},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:noResultsColor,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{opacity:.5},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"10\",r:\"3\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"2\",y1:\"2\",x2:\"22\",y2:\"22\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:noResultsFontSize,color:noResultsColor,textAlign:\"center\",lineHeight:1.4},children:noResultsText})]}),/*#__PURE__*/_jsxs(\"div\",{style:{...getContainerLayoutStyle(),display:showCards?getContainerLayoutStyle().display:\"none\"},children:[visibleStores.map((store,index)=>{const isActive=selectedId===store.id;const isHovered=hoveredId===store.id;const distance=distances[store.id];if(hasSlot){const showActive=(isActive||isHovered)&&hasSlotActive;return /*#__PURE__*/_jsxs(m.div,{layout:animateCards?true:undefined,initial:animateCards?{opacity:0,y:12}:undefined,animate:animateCards?{opacity:1,y:0}:undefined,exit:animateCards?{opacity:0,y:-8}:undefined,transition:{duration:.25,delay:Math.min(index*.03,.3)},\"data-sf-card\":`${finderId}-${store.id}`,\"data-sf-active\":isActive?\"true\":undefined,\"data-sf-hovered\":isHovered?\"true\":undefined,onClick:()=>handleCardClick(store.id),onMouseEnter:()=>handleCardHover(store.id),onMouseLeave:()=>handleCardHover(null),style:{cursor:\"pointer\",width:!isGrid&&cardSizing===\"fixed\"?cardWidth:undefined,flex:!isGrid&&(cardSizing===\"fixed\"||isHorizontal)?\"0 0 auto\":undefined},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:showActive?\"none\":\"contents\"},children:/*#__PURE__*/React.cloneElement(cardSlot[0],{style:{...cardSlot[0].props?.style,width:isGrid||cardSizing===\"fill\"?\"100%\":cardWidth}})}),hasSlotActive&&/*#__PURE__*/_jsx(\"div\",{style:{display:showActive?\"contents\":\"none\"},children:/*#__PURE__*/React.cloneElement(cardSlotActive[0],{style:{...cardSlotActive[0].props?.style,width:isGrid||cardSizing===\"fill\"?\"100%\":cardWidth}})})]},store.id);}return /*#__PURE__*/_jsx(StoreCard,{store:store,isActive:isActive,isHovered:isHovered,distance:distance,onClick:()=>handleCardClick(store.id),onHover:()=>handleCardHover(store.id),onLeave:()=>handleCardHover(null),cardShell:cardShell,cardBg:cardBg,cardBgActive:cardBgActive,cardBorderWidth:cardBorderWidth,cardBorderColor:cardBorderColor,cardBorderColorActive:cardBorderColorActive,cardShadow:cardShadow,cardShadowActive:cardShadowActive,cardPadding:cardPadding,showImage:showImage,imageWidth:imageWidth,imageHeight:imageHeight,imageBorderRadius:imageBorderRadius,imageObjectFit:imageObjectFit,showName:showName,nameColor:nameColor,nameFontSize:nameFontSize,nameFontWeight:nameFontWeight,showCity:showCity,cityColor:cityColor,cityFontSize:cityFontSize,showAddress:showAddress,addressColor:addressColor,addressFontSize:addressFontSize,showDistance:showDistance,distanceColor:distanceColor,distanceFontSize:distanceFontSize,cardDirection:cardDirection,cardContentGap:cardContentGap,index:index,animateCards:animateCards},store.id);}),hasMore&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setVisibleCount(c=>c+itemsPerPage),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"12px 24px\",backgroundColor:loadMoreBg,color:loadMoreColor,border:\"none\",borderRadius:loadMoreRadius,cursor:\"pointer\",fontSize:14,fontWeight:500,fontFamily:\"inherit\",transition:\"opacity 0.15s\",gridColumn:isGrid?`span ${Math.max(1,gridColumns)}`:undefined,flex:isHorizontal&&!isGrid?\"0 0 auto\":undefined},children:loadMoreText||t(\"list.loadMore\",\"Meer laden...\")})]})]})]});}addPropertyControls(StoreFinder_List,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\"},cardSlot:{type:ControlType.ComponentInstance,title:\"Custom card\"},cardSlotActive:{type:ControlType.ComponentInstance,title:\"Custom card (actief)\"},direction:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\",\"grid\"],optionTitles:[\"Verticaal\",\"Horizontaal\",\"Grid\"],title:\"Richting\"},gridColumns:{type:ControlType.Number,defaultValue:2,min:1,max:8,step:1,displayStepper:true,title:\"Kolommen\",hidden:p=>p.direction!==\"grid\"},gap:{type:ControlType.Number,defaultValue:12,min:0,max:40,step:1,title:\"Gap\"},cardSizing:{type:ControlType.Enum,defaultValue:\"fill\",title:\"Card breedte\",options:[\"fill\",\"fixed\"],optionTitles:[\"Vullend\",\"Vast\"],displaySegmentedControl:true,hidden:p=>p.direction===\"grid\"},cardWidth:{type:ControlType.Number,defaultValue:260,min:100,max:800,step:10,title:\"Breedte\",hidden:p=>p.direction===\"grid\"},padding:{type:ControlType.FusedNumber,defaultValue:0,toggleKey:\"paddingIsMixed\",toggleTitles:[\"Alle\",\"Individueel\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0,title:\"Padding\"},cardDirection:{type:ControlType.Enum,defaultValue:\"horizontal\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontaal\",\"Verticaal\"],displaySegmentedControl:true,title:\"Card richting\"},cardContentGap:{type:ControlType.Number,defaultValue:12,min:0,max:24,step:1,title:\"Card gap\"},cardBg:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Card achtergrond\"},cardBgActive:{type:ControlType.Color,defaultValue:\"#F0F7FF\",title:\"Card actief bg\"},cardBorderColor:{type:ControlType.Color,defaultValue:\"#e8e8e8\",title:\"Card rand\"},cardBorderColorActive:{type:ControlType.Color,defaultValue:\"#0078FF\",title:\"Card actief rand\"},cardBorderWidth:{type:ControlType.Number,defaultValue:1,min:0,max:4,step:1,title:\"Card rand dikte\"},cardBorderRadius:{type:ControlType.Number,defaultValue:10,min:0,max:30,step:1,title:\"Card radius\"},cardPadding:{type:ControlType.Number,defaultValue:14,min:0,max:32,step:1,title:\"Card padding\"},cardShadow:{type:ControlType.String,defaultValue:\"0 1px 3px rgba(0,0,0,0.06)\",title:\"Card schaduw\"},cardShadowActive:{type:ControlType.String,defaultValue:\"0 2px 8px rgba(0,120,255,0.15)\",title:\"Card actief schaduw\"},showImage:{type:ControlType.Boolean,defaultValue:true,title:\"Afbeelding\"},imageWidth:{type:ControlType.Number,defaultValue:100,min:40,max:300,step:5,title:\"Afb. breedte\",hidden:p=>!p.showImage},imageHeight:{type:ControlType.Number,defaultValue:80,min:40,max:300,step:5,title:\"Afb. hoogte\",hidden:p=>!p.showImage},imageBorderRadius:{type:ControlType.Number,defaultValue:6,min:0,max:30,step:1,title:\"Afb. radius\",hidden:p=>!p.showImage},imageObjectFit:{type:ControlType.Enum,defaultValue:\"cover\",options:[\"cover\",\"contain\",\"fill\"],optionTitles:[\"Cover\",\"Contain\",\"Fill\"],displaySegmentedControl:true,title:\"Afb. fit\",hidden:p=>!p.showImage},showName:{type:ControlType.Boolean,defaultValue:true,title:\"Naam\"},nameColor:{type:ControlType.Color,defaultValue:\"#1a1a1a\",title:\"Naam kleur\",hidden:p=>!p.showName},nameFontSize:{type:ControlType.Number,defaultValue:15,min:10,max:24,step:1,title:\"Naam grootte\",hidden:p=>!p.showName},nameFontWeight:{type:ControlType.Number,defaultValue:600,min:300,max:900,step:100,title:\"Naam gewicht\",hidden:p=>!p.showName},showCity:{type:ControlType.Boolean,defaultValue:true,title:\"Stad\"},cityColor:{type:ControlType.Color,defaultValue:\"#666666\",title:\"Stad kleur\",hidden:p=>!p.showCity},cityFontSize:{type:ControlType.Number,defaultValue:13,min:10,max:20,step:1,title:\"Stad grootte\",hidden:p=>!p.showCity},showAddress:{type:ControlType.Boolean,defaultValue:true,title:\"Adres\"},addressColor:{type:ControlType.Color,defaultValue:\"#888888\",title:\"Adres kleur\",hidden:p=>!p.showAddress},addressFontSize:{type:ControlType.Number,defaultValue:13,min:10,max:20,step:1,title:\"Adres grootte\",hidden:p=>!p.showAddress},showDistance:{type:ControlType.Boolean,defaultValue:true,title:\"Afstand\"},distanceColor:{type:ControlType.Color,defaultValue:\"#0078FF\",title:\"Afstand kleur\",hidden:p=>!p.showDistance},distanceFontSize:{type:ControlType.Number,defaultValue:13,min:10,max:20,step:1,title:\"Afstand grootte\",hidden:p=>!p.showDistance},animateCards:{type:ControlType.Boolean,defaultValue:true,title:\"Animatie\"},noResultsText:{type:ControlType.String,defaultValue:\"Geen locaties gevonden\",title:\"Geen resultaten tekst\"},noResultsColor:{type:ControlType.Color,defaultValue:\"#888888\",title:\"Geen resultaten kleur\"},noResultsFontSize:{type:ControlType.Number,defaultValue:14,min:10,max:24,step:1,title:\"Geen resultaten grootte\"},paginationEnabled:{type:ControlType.Boolean,defaultValue:false,title:\"Paginatie\"},itemsPerPage:{type:ControlType.Number,defaultValue:20,min:1,max:100,step:1,displayStepper:true,title:\"Items per pagina\",hidden:p=>!p.paginationEnabled},loadMoreText:{type:ControlType.String,defaultValue:\"Meer laden...\",title:\"Meer laden tekst\",hidden:p=>!p.paginationEnabled},loadMoreBg:{type:ControlType.Color,defaultValue:\"#f5f5f5\",title:\"Knop achtergrond\",hidden:p=>!p.paginationEnabled},loadMoreColor:{type:ControlType.Color,defaultValue:\"#333333\",title:\"Knop kleur\",hidden:p=>!p.paginationEnabled},loadMoreRadius:{type:ControlType.Number,defaultValue:8,min:0,max:24,step:1,title:\"Knop radius\",hidden:p=>!p.paginationEnabled}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_List\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_list.map","// StoreFinder — Search (Zoekbalk)\n// Zoekbalk met optionele autocomplete via Mapbox Geocoding API.\n// Zoekt een locatie, berekent afstanden en sorteert de lijst.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useRef,useCallback}from\"react\";// ═══════════════════════════════════════════════════════════════\n// SHARED STATE BUS\n// ═══════════════════════════════════════════════════════════════\nconst SF_GLOBAL=\"__storeFinder__\";const createInitialSFState=()=>({stores:[],storesById:{},selectedId:null,hoveredId:null,searchLocation:null,searchText:\"\",distances:{},sortedIds:[],filters:{},filterOptions:{},mapReady:false,flyTo:null,totalVisible:0,fieldMap:{},language:\"nl\",country:\"nl\",translations:{},countryCenter:null,extraFields:[]});function _sfBus(id){if(typeof window===\"undefined\")return null;const w=window;if(!w[SF_GLOBAL])w[SF_GLOBAL]={};if(!w[SF_GLOBAL][id]){w[SF_GLOBAL][id]={state:createInitialSFState(),listeners:new Set};}return w[SF_GLOBAL][id];}function sfGet(id){return _sfBus(id)?.state??createInitialSFState();}function sfSet(id,updates){const bus=_sfBus(id);if(!bus)return;bus.state={...bus.state,...updates};bus.listeners.forEach(fn=>fn(bus.state));}function useSF(id){const[state,setState]=useState(()=>sfGet(id));useEffect(()=>{const bus=_sfBus(id);if(!bus)return;const listener=s=>setState({...s});bus.listeners.add(listener);setState({...bus.state});return()=>{bus.listeners.delete(listener);};},[id]);return state;}// ── Mapbox Geocoding ──\nasync function geocodeSearch(query,token,country,proximity,language=\"nl\"){if(!query.trim()||!token)return[];const params=new URLSearchParams({q:query.trim(),access_token:token,language,limit:\"5\",types:\"place,postcode,address,locality,neighborhood\"});if(country)params.set(\"country\",country);if(proximity)params.set(\"proximity\",proximity);try{const res=await fetch(`https://api.mapbox.com/search/geocode/v6/forward?${params}`);if(!res.ok)return[];const data=await res.json();return(data.features||[]).map(f=>({id:f.id,name:f.properties?.name||f.properties?.full_address||\"\",fullName:f.properties?.full_address||f.properties?.name||\"\",lat:f.geometry?.coordinates?.[1]??0,lng:f.geometry?.coordinates?.[0]??0}));}catch{return[];}}export default function StoreFinder_Search(props){const{finderId=0,mapboxToken=\"\",placeholder=\"Zoek op plaats of postcode...\",autocomplete=true,country=\"\",proximity=\"\",flyToOnSearch=true,flyToZoom=12,// Styling\nfont={},backgroundColor=\"#FFFFFF\",textColor=\"#1a1a1a\",placeholderColor=\"#999999\",borderColor=\"#e0e0e0\",borderWidth=1,borderRadius=8,fontSize=15,paddingV=12,paddingH=16,iconColor=\"#999999\",showIcon=true,showClearButton=true,focusBorderColor=\"#0078FF\",dropdownBg=\"#FFFFFF\",dropdownTextColor=\"#1a1a1a\",dropdownHoverBg=\"#f5f5f5\",dropdownBorderColor=\"#e8e8e8\",dropdownShadow=\"0 8px 24px rgba(0,0,0,0.12)\",dropdownBorderRadius=10,dropdownPosition=\"below\"}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const sf=useSF(finderId);const t=(key,fallback)=>sf.translations?.[key]||fallback;const busLang=sf.language||\"nl\";// Country for geocoding: use Search prop if set, otherwise don't restrict\nconst geoCountry=country.trim();// Resolve fontSize from font object or prop fallback\nconst resolvedFontSize=font.fontSize||fontSize||15;const[inputValue,setInputValue]=useState(\"\");const[suggestions,setSuggestions]=useState([]);const[showDropdown,setShowDropdown]=useState(false);const[focusedIndex,setFocusedIndex]=useState(-1);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef(null);const dropdownRef=useRef(null);const debounceRef=useRef(null);const skipAutocompleteRef=useRef(false);// Resolved placeholder: prop override > translation > default\nconst resolvedPlaceholder=placeholder!==\"Zoek op plaats of postcode...\"?placeholder:t(\"search.placeholder\",placeholder);// Fetch suggestions on input change\nuseEffect(()=>{if(!autocomplete||!inputValue.trim()||!mapboxToken||skipAutocompleteRef.current){skipAutocompleteRef.current=false;setSuggestions([]);setShowDropdown(false);return;}if(debounceRef.current)clearTimeout(debounceRef.current);debounceRef.current=setTimeout(async()=>{const results=await geocodeSearch(inputValue,mapboxToken,geoCountry,proximity,busLang);setSuggestions(results);setShowDropdown(results.length>0);setFocusedIndex(-1);},250);return()=>{if(debounceRef.current)clearTimeout(debounceRef.current);};},[inputValue,autocomplete,mapboxToken,country,proximity]);// Close dropdown on outside click\nuseEffect(()=>{if(typeof window===\"undefined\")return;const handleClick=e=>{if(dropdownRef.current&&!dropdownRef.current.contains(e.target)&&inputRef.current&&!inputRef.current.contains(e.target)){setShowDropdown(false);}};window.addEventListener(\"mousedown\",handleClick);return()=>window.removeEventListener(\"mousedown\",handleClick);},[]);const selectSuggestion=useCallback(suggestion=>{skipAutocompleteRef.current=true;setInputValue(suggestion.fullName||suggestion.name);setShowDropdown(false);setSuggestions([]);const location={lat:suggestion.lat,lng:suggestion.lng};// Single bus update — prevents double re-render\nsfSet(finderId,{searchLocation:location,searchText:suggestion.fullName||suggestion.name,selectedId:null,...flyToOnSearch?{flyTo:{...location,zoom:flyToZoom}}:{}});// Fire event after a tick so Provider can process distances first\nif(props.onSearchSelect){requestAnimationFrame(()=>props.onSearchSelect());}},[finderId,flyToOnSearch,flyToZoom,props.onSearchSelect]);const handleSubmit=useCallback(async()=>{if(!inputValue.trim()||!mapboxToken)return;const results=await geocodeSearch(inputValue,mapboxToken,geoCountry,proximity,busLang);if(results.length>0){selectSuggestion(results[0]);}},[inputValue,mapboxToken,geoCountry,busLang,proximity,selectSuggestion]);const handleClear=useCallback(()=>{setInputValue(\"\");setSuggestions([]);setShowDropdown(false);sfSet(finderId,{searchLocation:null,searchText:\"\"});inputRef.current?.focus();// NOTE: no event fired — clearing keeps current layout/variant\n},[finderId]);const handleKeyDown=useCallback(e=>{if(!showDropdown||suggestions.length===0){if(e.key===\"Enter\"){e.preventDefault();handleSubmit();}return;}switch(e.key){case\"ArrowDown\":e.preventDefault();setFocusedIndex(i=>i<suggestions.length-1?i+1:0);break;case\"ArrowUp\":e.preventDefault();setFocusedIndex(i=>i>0?i-1:suggestions.length-1);break;case\"Enter\":e.preventDefault();if(focusedIndex>=0){selectSuggestion(suggestions[focusedIndex]);}else{handleSubmit();}break;case\"Escape\":setShowDropdown(false);break;}},[showDropdown,suggestions,focusedIndex,selectSuggestion,handleSubmit]);// ═════════════════════════════════════\n// CANVAS PREVIEW\n// ═════════════════════════════════════\nif(isCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,display:\"flex\",alignItems:\"center\",gap:10,backgroundColor,border:`${borderWidth}px solid ${borderColor}`,borderRadius,padding:`${paddingV}px ${paddingH}px`,...font},children:[showIcon&&/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"21\",x2:\"16.65\",y2:\"16.65\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{color:placeholderColor,fontSize:resolvedFontSize,flex:1},children:placeholder})]});}// ═════════════════════════════════════\n// PUBLISHED/PREVIEW RENDER\n// ═════════════════════════════════════\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,position:\"relative\",...font},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,backgroundColor,border:`${borderWidth}px solid ${isFocused?focusBorderColor:borderColor}`,borderRadius,padding:`${paddingV}px ${paddingH}px`,transition:\"border-color 0.2s ease\"},children:[showIcon&&/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"21\",x2:\"16.65\",y2:\"16.65\"})]}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"text\",value:inputValue,onChange:e=>setInputValue(e.target.value),onKeyDown:handleKeyDown,onFocus:()=>{setIsFocused(true);if(suggestions.length>0)setShowDropdown(true);},onBlur:()=>setIsFocused(false),placeholder:resolvedPlaceholder,style:{flex:1,border:\"none\",outline:\"none\",backgroundColor:\"transparent\",color:textColor,fontSize:\"inherit\",fontFamily:\"inherit\",fontWeight:\"inherit\",letterSpacing:\"inherit\",lineHeight:\"inherit\"},\"aria-label\":\"Zoek locatie\",\"aria-autocomplete\":autocomplete?\"list\":\"none\",\"aria-expanded\":showDropdown,role:\"combobox\"}),showClearButton&&inputValue&&/*#__PURE__*/_jsx(\"button\",{onClick:handleClear,style:{flexShrink:0,width:22,height:22,borderRadius:\"50%\",border:\"none\",backgroundColor:\"rgba(0,0,0,0.08)\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,transition:\"background-color 0.15s\"},onMouseEnter:e=>{e.target.style.backgroundColor=\"rgba(0,0,0,0.15)\";},onMouseLeave:e=>{e.target.style.backgroundColor=\"rgba(0,0,0,0.08)\";},\"aria-label\":\"Wis zoekopdracht\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:textColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]})})]}),showDropdown&&suggestions.length>0&&/*#__PURE__*/_jsx(\"div\",{ref:dropdownRef,style:{position:\"absolute\",...dropdownPosition===\"above\"?{bottom:\"calc(100% + 4px)\"}:{top:\"calc(100% + 4px)\"},left:0,right:0,backgroundColor:dropdownBg,border:`1px solid ${dropdownBorderColor}`,borderRadius:dropdownBorderRadius,boxShadow:dropdownShadow,overflow:\"hidden\",zIndex:1e3},role:\"listbox\",children:suggestions.map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{role:\"option\",\"aria-selected\":i===focusedIndex,style:{display:\"flex\",alignItems:\"center\",gap:10,padding:`10px ${paddingH}px`,cursor:\"pointer\",backgroundColor:i===focusedIndex?dropdownHoverBg:\"transparent\",transition:\"background-color 0.1s\"},onMouseDown:e=>{e.preventDefault();selectSuggestion(s);},onMouseEnter:()=>setFocusedIndex(i),children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"10\",r:\"3\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:resolvedFontSize-1,color:dropdownTextColor,fontWeight:500,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:s.name}),s.fullName!==s.name&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:resolvedFontSize-3,color:placeholderColor,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",marginTop:1},children:s.fullName})]})]},s.id))})]});}// ═══════════════════════════════════════════════════════════════\n// PROPERTY CONTROLS\n// ═══════════════════════════════════════════════════════════════\naddPropertyControls(StoreFinder_Search,{finderId:{type:ControlType.Number,defaultValue:0,min:0,step:1,displayStepper:true,title:\"Finder ID\"},mapboxToken:{type:ControlType.String,defaultValue:\"\",placeholder:\"pk.eyJ1Ijo...\",title:\"Mapbox Token\",description:\"Nodig voor geocoding (adres → co\\xf6rdinaten)\"},placeholder:{type:ControlType.String,defaultValue:\"Zoek op plaats of postcode...\",title:\"Placeholder\"},autocomplete:{type:ControlType.Boolean,defaultValue:true,title:\"Autocomplete\",description:\"Toon suggesties tijdens het typen\"},country:{type:ControlType.String,defaultValue:\"\",placeholder:\"nl, de, be...\",title:\"Land(en)\",description:\"ISO land code(s), komma gescheiden. Leeg = zoek overal.\"},proximity:{type:ControlType.String,defaultValue:\"\",placeholder:\"5.387,52.154\",title:\"Proximity\",description:\"lng,lat — voorkeur voor resultaten dichtbij dit punt\"},flyToOnSearch:{type:ControlType.Boolean,defaultValue:true,title:\"Fly-to bij zoeken\"},flyToZoom:{type:ControlType.Number,defaultValue:12,min:5,max:18,step:.5,title:\"Fly-to zoom\",hidden:props=>!props.flyToOnSearch},// ── Styling ──\nfont:{//@ts-ignore\ntype:ControlType.Font,title:\"Lettertype\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultValue:{fontSize:15,fontWeight:400,lineHeight:\"1.4em\"}},backgroundColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Achtergrond\"},textColor:{type:ControlType.Color,defaultValue:\"#1a1a1a\",title:\"Tekstkleur\"},placeholderColor:{type:ControlType.Color,defaultValue:\"#999999\",title:\"Placeholder kleur\"},borderColor:{type:ControlType.Color,defaultValue:\"#e0e0e0\",title:\"Rand kleur\"},focusBorderColor:{type:ControlType.Color,defaultValue:\"#0078FF\",title:\"Focus rand kleur\"},borderWidth:{type:ControlType.Number,defaultValue:1,min:0,max:4,step:1,title:\"Rand dikte\"},borderRadius:{type:ControlType.Number,defaultValue:8,min:0,max:50,step:1,title:\"Hoekradius\"},paddingV:{type:ControlType.Number,defaultValue:12,min:4,max:24,step:1,title:\"Padding V\"},paddingH:{type:ControlType.Number,defaultValue:16,min:4,max:32,step:1,title:\"Padding H\"},iconColor:{type:ControlType.Color,defaultValue:\"#999999\",title:\"Icoon kleur\"},showIcon:{type:ControlType.Boolean,defaultValue:true,title:\"Zoek icoon\"},showClearButton:{type:ControlType.Boolean,defaultValue:true,title:\"Wis knop\"},// ── Dropdown styling ──\ndropdownBg:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Dropdown achtergrond\",hidden:props=>!props.autocomplete},dropdownTextColor:{type:ControlType.Color,defaultValue:\"#1a1a1a\",title:\"Dropdown tekst\",hidden:props=>!props.autocomplete},dropdownHoverBg:{type:ControlType.Color,defaultValue:\"#f5f5f5\",title:\"Dropdown hover\",hidden:props=>!props.autocomplete},dropdownBorderColor:{type:ControlType.Color,defaultValue:\"#e8e8e8\",title:\"Dropdown rand\",hidden:props=>!props.autocomplete},dropdownBorderRadius:{type:ControlType.Number,defaultValue:10,min:0,max:24,step:1,title:\"Dropdown radius\",hidden:props=>!props.autocomplete},dropdownPosition:{type:ControlType.Enum,defaultValue:\"below\",title:\"Dropdown positie\",options:[\"below\",\"above\"],optionTitles:[\"Onder\",\"Boven\"],displaySegmentedControl:true,hidden:props=>!props.autocomplete},// ── Events ──\nonSearchSelect:{type:ControlType.EventHandler},onSearchClear:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StoreFinder_Search\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Storefinder_search.map"],"mappings":"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"}