PageSourceSearch

https://b12kliniek.com/assets/faq-C_De9F-9.js

js b12kliniek.com collected 2026-10-05 18:53:20 UTC 11,962 bytes, 9 lines download raw bytes

1import{c as G,r as a,j as e,v as W,w as L,X as _,x as V,y as K,S as Q,z as B,k as I,a as U,M as X}from"./index-5z_OYFgM.js";import{I as Z}from"./input-BI-3JcNO.js";import{A as O,a as Y,b as J,c as ee}from"./accordion-CyNd--2F.js";import{M as te,i as P,u as D,P as re,a as ne,b as se,L as oe,m as w}from"./proxy-C9Mh_VZL.js";import{S as q}from"./search-cdYlTJyc.js";import{A as ae}from"./arrow-right-34Fw8uUE.js";import"./index-CMyrP0ny.js";const ie=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],le=G("circle-question-mark",ie);function T(r,s){if(typeof r=="function")return r(s);r!=null&&(r.current=s)}function ce(...r){return s=>{let n=!1;const o=r.map(d=>{const l=T(d,s);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let d=0;d<o.length;d++){const l=o[d];typeof l=="function"?l():T(r[d],null)}}}}function de(...r){return a.useCallback(ce(...r),r)}class ue extends a.Component{getSnapshotBeforeUpdate(s){const n=this.props.childRef.current;if(P(n)&&s.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const o=n.offsetParent,d=P(o)&&o.offsetWidth||0,l=P(o)&&o.offsetHeight||0,c=getComputedStyle(n),t=this.props.sizeRef.current;t.height=parseFloat(c.height),t.width=parseFloat(c.width),t.top=n.offsetTop,t.left=n.offsetLeft,t.right=d-t.width-t.left,t.bottom=l-t.height-t.top,t.direction=c.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function me({children:r,isPresent:s,anchorX:n,anchorY:o,root:d,pop:l}){const c=a.useId(),t=a.useRef(null),i=a.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:y}=a.useContext(te),m=r.props?.ref??r?.ref,C=de(t,m);return a.useInsertionEffect(()=>{const{width:p,height:f,top:x,left:b,right:v,bottom:k,direction:E}=i.current;if(s||l===!1||!t.current||!p||!f)return;const A=E==="rtl",j=n==="left"?A?`right: ${v}`:`left: ${b}`:A?`left: ${b}`:`right: ${v}`,M=o==="bottom"?`bottom: ${k}`:`top: ${x}`;t.current.dataset.motionPopId=c;const h=document.createElement("style");y&&(h.nonce=y);const R=d??document.head;return R.appendChild(h),h.sheet&&h.sheet.insertRule(`
2          [data-motion-pop-id="${c}"] {
3            position: absolute !important;
4            width: ${p}px !important;
5            height: ${f}px !important;
6            ${j}px !important;
7            ${M}px !important;
8          }
9        `),()=>{t.current?.removeAttribute("data-motion-pop-id"),R.contains(h)&&R.removeChild(h)}},[s]),e.jsx(ue,{isPresent:s,childRef:t,sizeRef:i,pop:l,children:l===!1?r:a.cloneElement(r,{ref:C})})}const pe=({children:r,initial:s,isPresent:n,onExitComplete:o,custom:d,presenceAffectsLayout:l,mode:c,anchorX:t,anchorY:i,root:y})=>{const m=D(fe),C=a.useId();let p=!0,f=a.useMemo(()=>(p=!1,{id:C,initial:s,isPresent:n,custom:d,onExitComplete:x=>{m.set(x,!0);for(const b of m.values())if(!b)return;o&&o()},register:x=>(m.set(x,!1),()=>m.delete(x))}),[n,m,o]);return l&&p&&(f={...f}),a.useMemo(()=>{m.forEach((x,b)=>m.set(b,!1))},[n]),a.useEffect(()=>{!n&&!m.size&&o&&o()},[n]),r=e.jsx(me,{pop:c==="popLayout",isPresent:n,anchorX:t,anchorY:i,root:y,children:r}),e.jsx(re.Provider,{value:f,children:r})};function fe(){return new Map}const $=r=>r.key||"";function F(r){const s=[];return a.Children.forEach(r,n=>{a.isValidElement(n)&&s.push(n)}),s}const xe=({children:r,custom:s,initial:n=!0,onExitComplete:o,presenceAffectsLayout:d=!0,mode:l="sync",propagate:c=!1,anchorX:t="left",anchorY:i="top",root:y})=>{const[m,C]=ne(c),p=a.useMemo(()=>F(r),[r]),f=c&&!m?[]:p.map($),x=a.useRef(!0),b=a.useRef(p),v=D(()=>new Map),k=a.useRef(new Set),[E,A]=a.useState(p),[j,M]=a.useState(p);se(()=>{x.current=!1,b.current=p;for(let g=0;g<j.length;g++){const u=$(j[g]);f.includes(u)?(v.delete(u),k.current.delete(u)):v.get(u)!==!0&&v.set(u,!1)}},[j,f.length,f.join("-")]);const h=[];if(p!==E){let g=[...p];for(let u=0;u<j.length;u++){const N=j[u],S=$(N);f.includes(S)||(g.splice(u,0,N),h.push(N))}return l==="wait"&&h.length&&(g=h),M(F(g)),A(p),null}const{forceRender:R}=a.useContext(oe);return e.jsx(e.Fragment,{children:j.map(g=>{const u=$(g),N=c&&!m?!1:p===j||f.includes(u),S=()=>
9{if(k.current.has(u))return;if(v.has(u))k.current.add(u),v.set(u,!0);else return;let z=!0;v.forEach(H=>{H||(z=!1)}),z&&(R?.(),M(b.current),c&&C?.(),o&&o())};return e.jsx(pe,{isPresent:N,initial:!x.current||n?void 0:!1,custom:s,presenceAffectsLayout:d,mode:l,root:y,onExitComplete:N?void 0:S,anchorX:t,anchorY:i,children:g},u)})})},he=["Alle","Algemeen","Diagnose","Behandeling","Praktisch"],ge={Algemeen:{icon:B,tint:"from-primary/15 to-primary/5 text-primary"},Diagnose:{icon:Q,tint:"from-accent/25 to-accent/5 text-accent-foreground"},Behandeling:{icon:K,tint:"from-primary/15 to-accent/10 text-primary"},Praktisch:{icon:V,tint:"from-secondary to-secondary/40 text-secondary-foreground"}};function ke(){const{q:r}=W.useSearch(),[s,n]=a.useState(r??""),[o,d]=a.useState("Alle"),l=a.useMemo(()=>{const t={Alle:L.length};for(const i of L)t[i.category]=(t[i.category]??0)+1;return t},[]),c=a.useMemo(()=>{const t=s.trim().toLowerCase();return L.filter(i=>o!=="Alle"&&i.category!==o?!1:t?i.q.toLowerCase().includes(t)||i.a.toLowerCase().includes(t)||i.category.toLowerCase().includes(t):!0)},[s,o]);return e.jsxs("div",{className:"relative",children:[e.jsxs("section",{className:"relative overflow-hidden bg-hero-radial",children:[e.jsx("div",{className:"absolute inset-0 bg-grid-soft opacity-60","aria-hidden":"true"}),e.jsxs("div",{className:"relative mx-auto max-w-4xl px-6 pt-20 pb-14 md:pt-28 md:pb-20 text-center",children:[e.jsxs(w.div,{initial:{opacity:0,y:14},animate:{opacity:1,y:0},transition:{duration:.5},className:"inline-flex items-center gap-2 rounded-full border bg-card/80 px-3.5 py-1.5 text-xs font-medium text-muted-foreground shadow-sm backdrop-blur",children:[e.jsx(le,{className:"h-3.5 w-3.5 text-primary"}),"Hulp & informatie"]}),e.jsxs(w.h1,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.55,delay:.05},className:"mt-5 font-display text-4xl font-semibold tracking-tight md:text-6xl",children:["Veelgestelde ",e.jsx("span",{className:"text-gradient-brand",children:"vragen"})]}),e.jsx(w.p,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.55,delay:.1},className:"mx-auto mt-5 max-w-2xl text-balance text-base text-muted-foreground md:text-lg",children:"Alles wat u wilt weten over B12-tekort, diagnose, behandeling en onze werkwijze. Doorzoek de antwoorden of filter op categorie."}),e.jsxs(w.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.55,delay:.15},className:"relative mx-auto mt-8 max-w-xl",children:[e.jsx(q,{className:"pointer-events-none absolute left-4 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(Z,{value:s,onChange:t=>n(t.target.value),placeholder:"Zoek bijvoorbeeld 'verwijzing', 'kosten' of 'klachten'",className:"h-14 rounded-2xl border-0 bg-card pl-11 pr-11 text-base shadow-elevated ring-1 ring-border/60 focus-visible:ring-2 focus-visible:ring-primary"}),s&&e.jsx("button",{onClick:()=>n(""),"aria-label":"Zoekopdracht wissen",className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full p-1.5 text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground",children:e.jsx(_,{className:"h-4 w-4"})})]}),e.jsx(w.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5,delay:.2},className:"mt-5 flex flex-wrap justify-center gap-2",children:he.map(t=>{const i=o===t;return e.jsxs("button",{onClick:()=>d(t),className:`group inline-flex items-center gap-2 rounded-full border px-4 py-2 text-sm font-medium transition-all ${i?"border-primary bg-primary text-primary-foreground shadow-elevated":"border-border bg-card text-foreground hover:border-primary/40 hover:bg-secondary"}`,children:[t,e.jsx("span",{className:`rounded-full px-1.5 py-0.5 text-[10px] font-semibold tabular-nums ${i?"bg-primary-foreground/20 text-primary-foreground":"bg-secondary text-muted-foreground"}`,children:l[t]??0})]},t)})})]})]}),e.jsxs("section",{className:"mx-auto max-w-3xl px-6 py-12 md:py-16",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-between text-sm text-muted-foreground",children:[e.jsxs("span",{children:[c.length," ",c.length===1?"resultaat":"resultaten",s&&e.jsxs(e.Fragment,{children:[" ",'voor "',e.jsx("span",{className:"text-foreground",children:s}),'"']})]}),(s||o!=="Alle")&&e.jsx("button",{onClick:()=>{n(""),d("Alle")},className:"font-medium text-primary hover:underline",children:"Filters wissen"})]}),e.jsx(xe,{mode:"wait",children:c.length===0?e.jsxs(w.div,{initial:{opacity:0,y:8}
9,animate:{opacity:1,y:0},exit:{opacity:0},className:"rounded-3xl border bg-card p-12 text-center",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:e.jsx(q,{className:"h-5 w-5"})}),e.jsx("h3",{className:"mt-4 font-display text-lg font-semibold",children:"Geen resultaten gevonden"}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Probeer een ander zoekwoord of kies een andere categorie."})]},"empty"):e.jsx(w.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.25},className:"overflow-hidden rounded-3xl border bg-card shadow-elevated",children:e.jsx(O,{type:"single",collapsible:!0,className:"divide-y",children:c.map((t,i)=>{const y=ge[t.category],m=y.icon;return e.jsxs(Y,{value:`item-${i}`,className:"border-0 px-5 transition-colors hover:bg-secondary/30 md:px-7",children:[e.jsx(J,{className:"py-5 text-left hover:no-underline",children:e.jsxs("div",{className:"flex flex-1 items-start gap-4 pr-4",children:[e.jsx("span",{className:`mt-0.5 grid h-9 w-9 shrink-0 place-items-center rounded-xl bg-gradient-to-br ${y.tint} ring-1 ring-border/60`,children:e.jsx(m,{className:"h-4 w-4"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:t.category}),e.jsx("div",{className:"mt-0.5 font-display text-base font-semibold leading-snug md:text-lg",children:t.q})]})]})}),e.jsx(ee,{className:"pb-6 pl-[3.25rem] pr-4 text-[15px] leading-relaxed text-muted-foreground md:pl-[3.5rem]",children:t.a})]},`${o}-${i}-${t.q}`)})})},o+s)}),e.jsxs(w.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.5},className:"relative mt-16 overflow-hidden rounded-3xl border bg-gradient-to-br from-primary to-primary/85 p-8 text-primary-foreground shadow-elevated md:p-12",children:[e.jsx("div",{className:"absolute -right-20 -top-20 h-64 w-64 rounded-full bg-accent/30 blur-3xl","aria-hidden":"true"}),e.jsxs("div",{className:"relative",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full bg-primary-foreground/10 px-3 py-1 text-xs font-medium backdrop-blur",children:[e.jsx(B,{className:"h-3.5 w-3.5"}),"Geen antwoord gevonden?"]}),e.jsx("h2",{className:"mt-4 font-display text-2xl font-semibold tracking-tight md:text-3xl",children:"We helpen u graag persoonlijk verder"}),e.jsx("p",{className:"mt-3 max-w-xl text-primary-foreground/85",children:"Heeft u een vraag die hier niet beantwoord wordt? Neem dan contact met ons op. We reageren binnen één werkdag."}),e.jsxs("div",{className:"mt-6 flex flex-wrap gap-3",children:[e.jsx(I,{asChild:!0,size:"lg",variant:"secondary",className:"rounded-full",children:e.jsxs(U,{to:"/contact",children:["Contact opnemen ",e.jsx(ae,{className:"h-4 w-4"})]})}),e.jsx(I,{asChild:!0,size:"lg",variant:"outline",className:"rounded-full border-primary-foreground/30 bg-transparent text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground",children:e.jsxs("a",{href:"mailto:[email protected]",children:[e.jsx(X,{className:"h-4 w-4"}),"[email protected]"]})})]})]})]})]})]})}export{ke as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.