1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a9cde920-612a-5999-bd8e-4f8d287e1495")}catch(e){}}(); 3import{r as u,j as r,L as V}from"./chunk-4ZMWKKQ3-CQ0KbIuL.js";import{c as M,u as L,b as G,P as p,a as y,f as B}from"./index-DYyOJhbS.js";import{c as N,R as K,I as O}from"./index-QXoX5Yp_.js";import{u as H}from"./index-4GQSevNN.js";import{c as v}from"./utils-DWDEB_yj.js";import{B as q}from"./button-xcpQrhWQ.js";import{C as g}from"./check-eXsJATZa.js";var b="Tabs",[z,ue]=M(b,[N]),T=N(),[U,j]=z(b),w=u.forwardRef((e,t)=>{const{__scopeTabs:s,value:i,onValueChange:n,defaultValue:o,orientation:a="horizontal",dir:d,activationMode:f="automatic",...m}=e,c=H(d),[l,x]=L({prop:i,onChange:n,defaultProp:o??"",caller:b});return r.jsx(U,{scope:s,baseId:G(),value:l,onValueChange:x,orientation:a,dir:c,activationMode:f,children:r.jsx(p.div,{dir:c,"data-orientation":a,...m,ref:t})})});w.displayName=b;var C="TabsList",S=u.forwardRef((e,t)=>{const{__scopeTabs:s,loop:i=!0,...n}=e,o=j(C,s),a=T(s);return r.jsx(K,{asChild:!0,...a,orientation:o.orientation,dir:o.dir,loop:i,children:r.jsx(p.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:t})})});S.displayName=C;var R="TabsTrigger",P=u.forwardRef((e,t)=>{const{__scopeTabs:s,value:i,disabled:n=!1,...o}=e,a=j(R,s),d=T(s),f=$(a.baseId,i),m=A(a.baseId,i),c=i===a.value;return r.jsx(O,{asChild:!0,...d,focusable:!n,active:c,children:r.jsx(p.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":m,"data-state":c?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:f,...o,ref:t,onMouseDown:y(e.onMouseDown,l=>{!n&&l.button===0&&l.ctrlKey===!1?a.onValueChange(i):l.preventDefault()}),onKeyDown:y(e.onKeyDown,l=>{[" ","Enter"].includes(l.key)&&a.onValueChange(i)}),onFocus:y(e.onFocus,()=>{const l=a.activationMode!=="manual";!c&&!n&&l&&a.onValueChange(i)})})})});P.displayName=R;var I="TabsContent",k=u.forwardRef((e,t)=>{const{__scopeTabs:s,value:i,forceMount:n,children:o,...a}=e,d=j(I,s),f=$(d.baseId,i),m=A(d.baseId,i),c=i===d.value,l=u.useRef(c);return u.useEffect(()=>{const x=requestAnimationFrame(()=>l.current=!1);return()=>cancelAnimationFrame(x)},[]),r.jsx(B,{present:n||c,children:({present:x})=>r.jsx(p.div,{"data-state":c?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":f,hidden:!x,id:m,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:l.current?"0s":void 0},children:x&&o})})});k.displayName=I;function $(e,t){return`${e}-trigger-${t}`}function A(e,t){return`${e}-content-${t}`}var W=w,D=S,F=P,_=k;const fe=W,J=u.forwardRef(({className:e,...t},s)=>r.jsx(D,{ref:s,className:v("inline-flex items-center justify-center rounded-lg bg-rafi-primary/5 p-1",e),...t}));J.displayName=D.displayName;const Q=u.forwardRef(({className:e,...t},s)=>r.jsx(F,{ref:s,className:v("inline-flex items-center justify-center rounded-lg px-5 py-1.5 font-medium whitespace-nowrap text-rafi-gray-600 transition-all duration-75 ease-in-out hover:text-rafi-primary focus-visible:ring-2 focus-visible:ring-rafi-primary focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-rafi-primary data-[state=active]:text-white data-[state=active]:shadow-sm",e),...t}));Q.displayName=F.displayName;const X=u.forwardRef(({className:e,...t},s)=>r.jsx(_,{ref:s,className:v("focus-visible:ring-2 focus-visible:ring-rafi-primary focus-visible:ring-offset-2 focus-visible:outline-none",e),...t}));X.displayName=_.displayName;function E(e){return`${e.toLocaleString("en-KE")} KSH`}function Y(e){const t=E(e),s=t.lastIndexOf(" ");return s===-1?t:r.jsxs(r.Fragment,{children:[t.slice(0,s+1),r.jsx("span",{className:"text-lg",children:t.slice(s+1)})]})}function h(e,t){return t==="onsite"?e.onsitePrice:e.virtualPrice}function Z(e){return e.durationMonths!=null&&e.durationMonths>0?`Valid for ${e.durationMonths} month${e.durationMonths===1?"":"s"}`:e.durationDays!=null&&e.durationDays>0?`Valid for ${e.durationDays} day${e.durationDays===1?"":"s"}`:"Valid on purchase"}function ee(e,t){const s=h(e,t);return s==null||e.numSessions==null||e.numSessions===1?"":`${E(Math.round(s/e.numSessions))} per session`}function te(e,t,s){if(s==null)return"";const i=h(s,t);if(i==null)return"";const n=h(e,t);if(n==null||e.numSessions==null||e.numSessions===1)return"";const o=Number((n/e.numSessions).toFixed(2)),a=i-o;return a<=0?"":(a/i*100).toFixed(0)}function re(e,t){return t==="onsite"?e.onsiteCopyContent??e.copyContent:e.copyContent}function se(e){return e!=null&&e.trim()?e.split(/\n|\.(?=\s)/).map(t=>
3t.trim()).filter(Boolean).slice(0,3):[]}function me({plan:e,pricingMode:t,singleSessionPlan:s,cta:i,switchSlot:n,variant:o="default"}){const a=e.isRecommended===!0,d=se(re(e,t)),f=h(e,t),m=s!=null&&s.id!==e.id?te(e,t,s):"";return r.jsxs("div",{className:v("group relative flex flex-col rounded-xl border bg-white p-5 shadow-xs motion-reduce:transition-none",a?"border-2 border-rafi-primary":"border-gray-200",o!=="detail"&&"transition-[transform,box-shadow] duration-300 ease-in-out hover:-translate-y-1 hover:shadow-xl"),children:[a?r.jsx("span",{className:"absolute -top-3 left-1/2 -translate-x-1/2 rounded-sm bg-rafi-secondary px-3 py-0.5 text-xs font-medium text-white",children:"Recommended"}):null,r.jsxs("div",{className:"relative flex flex-1 flex-col",children:[r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("h2",{className:v("font-bold text-rafi-primary-dark",o==="detail"?"text-2xl":"text-lg"),children:e.description}),e.isOneOff?r.jsx("span",{className:"mt-1 inline-block w-fit rounded-sm bg-rafi-primary-extra-light px-1.5 py-0.5 text-xs font-medium text-rafi-primary-dark",children:"One-time session"}):null]}),f!=null?r.jsx("p",{className:"mt-1 text-3xl font-bold text-rafi-primary-dark",children:Y(f)}):null,r.jsx("p",{className:"h-6 text-sm text-rafi-gray-600",children:ee(e,t)}),r.jsxs("ul",{className:"mt-4 flex-1 space-y-2",children:[m&&s?r.jsxs("li",{className:"flex items-start gap-2 text-sm text-rafi-primary-dark",children:[r.jsx(g,{className:"mt-0.5 h-4 w-4 shrink-0 text-rafi-primary","aria-hidden":!0}),r.jsxs("span",{children:["Save"," ",r.jsxs("span",{className:"font-semibold text-rafi-primary",children:[m,"%"]})," ","vs ",s.description.split(" ")[0]," plan"]})]}):null,r.jsxs("li",{className:"flex items-start gap-2 text-sm text-rafi-primary-dark",children:[r.jsx(g,{className:"mt-0.5 h-4 w-4 shrink-0 text-rafi-primary","aria-hidden":!0}),r.jsx("span",{children:Z(e)})]}),d.map((c,l)=>r.jsxs("li",{className:"flex items-start gap-2 text-sm text-rafi-primary-dark",children:[r.jsx(g,{className:"mt-0.5 h-4 w-4 shrink-0 text-rafi-primary","aria-hidden":!0}),r.jsx("span",{children:c})]},l))]}),n!=null?r.jsx("div",{className:"mt-5 flex justify-center",children:n}):null]}),r.jsx("div",{className:"mt-5 flex shrink-0",children:i??r.jsx(q,{asChild:!0,variant:a?"primary":"tertiary",className:v("w-full hover:translate-y-0",a?"":"hover:border-rafi-primary/90 hover:bg-rafi-primary/90 hover:text-white"),children:r.jsx(V,{to:`/plans/${e.slug}?mode=${t??"virtual"}`,children:"Get Started"})})})]})}export{me as S,fe as T,J as a,Q as b}; 4 5//# debugId=a9cde920-612a-5999-bd8e-4f8d287e1495
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.