1import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{W as t,g as n}from"./router-compat-Cteb_5aJ.js";import{_ as r,a as i,b as a,h as o,u as s,v as c}from"./referral-DGmxfemN.js";import{a as l,c as u,i as d}from"./dist-GdgtWP2U.js";import{A as f,T as p,b as m,d as h,u as g}from"./Layout-CMThgGEv.js";import{t as _}from"./button-BfX0pYH2.js";import{t as v}from"./file-text-CCaUKgkS.js";import{t as y}from"./loader-circle-B_0hC7zU.js";import{n as b,t as x}from"./jspdf.plugin.autotable-Dr8kYcoz.js";import{a as S,i as C,n as w,o as T,r as E,s as ee,t as D}from"./dialog-A6Y-8KbP.js";import{n as O,t as k}from"./generate-pricing-pdf-DJ0rR8Q7.js";var A=e(t(),1),j=n(),M=Object.defineProperty,N=(e,t)=>M(e,`name`,{value:t,configurable:!0}),P=`Checkbox`,[F,I]=r(P),[L,R]=F(P);function z(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=m({prop:n,defaultProp:i??!1,onChange:c,caller:P}),[h,g]=A.useState(null),[_,v]=A.useState(null),y=A.useRef(!1),[b,x]=A.useReducer(e=>e+1,0),S=!h||!!o||!!h.closest(`form`),C={checked:f,disabled:a,setChecked:p,control:h,setControl:g,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,userInteractionCount:b,onUserInteraction:x,required:l,defaultChecked:!J(i)&&i,isFormControl:S,bubbleInput:_,setBubbleInput:v};return(0,j.jsx)(L,{scope:t,...C,children:q(d)?d(C):r})}N(z,`CheckboxProvider`);var B=`CheckboxTrigger`,V=A.forwardRef(N(function({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i){let{control:a,value:s,disabled:l,checked:u,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,onUserInteraction:g,isFormControl:_,bubbleInput:v}=R(B,e),y=d(i,p),b=A.useRef(u);return A.useEffect(()=>{let e=a?.form;if(e){let t=N(()=>m(b.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,m]),(0,j.jsx)(o.button,{type:`button`,role:`checkbox`,"aria-checked":J(u)?`mixed`:u,"aria-required":f,"data-state":Y(u),"data-disabled":l?``:void 0,disabled:l,value:s,...r,ref:y,onKeyDown:c(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:c(n,e=>{g(),m(e=>J(e)?!0:!e),v&&_&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})},`CheckboxTrigger`)),H=A.forwardRef(N(function(e,t){let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,j.jsx)(z,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(V,{...d,ref:t,__scopeCheckbox:n}),e&&(0,j.jsx)(K,{__scopeCheckbox:n})]})})},`Checkbox`)),U=`CheckboxIndicator`,W=A.forwardRef(N(function(e,t){let{__scopeCheckbox:n,forceMount:r,...a}=e,s=R(U,n);return(0,j.jsx)(i,{present:r||J(s.checked)||s.checked===!0,children:(0,j.jsx)(o.span,{"data-state":Y(s.checked),"data-disabled":s.disabled?``:void 0,...a,ref:t,style:{pointerEvents:`none`,...e.style}})})},`CheckboxIndicator`)),G=`CheckboxBubbleInput`,K=A.forwardRef(N(function({__scopeCheckbox:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:l,checked:u,defaultChecked:f,required:p,disabled:m,name:h,value:g,form:_,bubbleInput:v,setBubbleInput:y}=R(G,e),b=d(r,y),x=s(i),S=A.useRef(!1),C=A.useRef(u),w=A.useRef(l);A.useEffect(()=>{let e=v;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=l!==w.current;w.current=l;let i=C.current!==u;C.current=u;let o=!(r&&a.current);if(i&&n){S.current=!r;let t=new Event(`click`,{bubbles:o});e.indeterminate=J(u),n.call(e,!J(u)&&u),e.dispatchEvent(t),S.current=!1}},[v,u,a,l]);let T=A.useRef(!J(u)&&u);return(0,j.jsx)(o.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:f??T.current,required:p,disabled:m,name:h,value:g,form:_,...n,tabIndex:-1,ref:b,onClick:c(t,e=>{S.current&&e.stopPropagation()}),style:{...n.style,...x,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`CheckboxBubbleInput`));function q(e){return typeof e==`function`}N(q,`isFunction`);function J(e){return e===`indeterminate`}N(J,`isIndeterminate`);function Y(e){return J(e)?`indeterminate`:e?`checked`:`unchecked`}N(Y,`getState`);var X=A.forwardRef(({className:e,...t},n)=>(0,j.jsx)(H,{ref:n,className:l(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,j.jsx)(W,{className:l(`flex items-center justify-center text-current`),children:(0,j.jsx)(f,{className:`h-4 w-4`})})}));X.displayName=H.displayName;var Z={r:22,g:78,b:167},Q={r:30,g:41,b:59},$={r:100,g:116,b:139};function te(e){let t=new b({unit:`pt`,format:`letter`}),n=t.internal.pageSize.getWidth(),r=t.internal.pageSize.getHeight();t.setFillColor(Z.r,Z.g,Z.b),t.rect(0,0,n,72,`F`),t.setTextColor(255),t.setFont(`helvetica`,`bold`),t.setFontSize(20),t.text(`FIN Group | Pricing At-a-Glance`,40,34),t.setFont(`helvetica`,`normal`),t.setFontSize(10),t.text(`A quick reference. For full details, request the FIN Group Services Guide.`,40,54);let i=92;t.setTextColor(Q.r,Q.g,Q.b),t.setFontSize(9),t.setTextColor($.r,$.g,$.b);let a=new Date().toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`});t.text(`Prepared for ${e.name}${e.company?` · ${e.company}`:``} · ${a}`,40,i),i+=18,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Compliance Consulting â Monthly`,40,i),i+=6,x(t,{startY:i+4,margin:{left:40,right:40},head:[[`Tier`,`State RIA`,`SEC RIA`,`FINRA BD`,`Private Fund`,`Best For`]],body:[[`Bronze · Essentials`,`$295`,`$395`,`$495`,`$1,250`,`Solo firms; self-serve with tools + alerts`],[`Silver · Support`,`$625`,`$7
150`,`$750`,`$2,500`,`Growing firms wanting on-demand backup`],[`Gold · Assistant`,`$1,500`,`$2,000`,`$3,500`,`$5,500`,`Full program mgmt; annual review + marketing`],[`Platinum · Officer`,`$3,000`,`$3,500`,`$5,000`,`$9,500`,`Fractional CCO named on record`]],styles:{fontSize:9,cellPadding:5,textColor:[Q.r,Q.g,Q.b]},headStyles:{fillColor:[Z.r,Z.g,Z.b],textColor:255,fontSize:9},alternateRowStyles:{fillColor:[245,248,252]},columnStyles:{0:{fontStyle:`bold`,cellWidth:100},5:{cellWidth:`auto`,textColor:[$.r,$.g,$.b]}}}),i=t.lastAutoTable.finalY+14,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Annual Filing Allowances (per 12-month term)`,40,i),i+=6,x(t,{startY:i+4,margin:{left:40,right:40},head:[[`Filing`,`Bronze`,`Silver`,`Gold / Platinum`]],body:[[`Annual ADV + Form CRS`,`1`,`1`,`Unlimited`],[`Other-than-annual ADV amendments`,`2`,`4`,`Unlimited`],[`U4 / U5 filings`,`4`,`10`,`Unlimited`],[`Form D filings`,`2`,`4`,`Unlimited`],[`Additional state registrations / notice filings (existing firm)`,`1`,`3 + 1 batch (up to 10 states)`,`All included`]],styles:{fontSize:9,cellPadding:5,textColor:[Q.r,Q.g,Q.b]},headStyles:{fillColor:[Z.r,Z.g,Z.b],textColor:255,fontSize:9},alternateRowStyles:{fillColor:[245,248,252]},columnStyles:{0:{fontStyle:`bold`,cellWidth:200}}}),i=t.lastAutoTable.finalY+8,t.setFont(`helvetica`,`normal`),t.setFontSize(8),t.setTextColor($.r,$.g,$.b),t.text(`Beyond allowance: $275/hr, or $150 per U4/U5, $350 per ADV amendment, $450 per Form D, $450 per additional state. State, IARD/CRD, and EDGAR fees at cost.`,40,i),i+=11,t.text(`Additional-state allowance covers notice filings / state registrations for an already-registered firm. Initial registrations and state-SEC switches are setup fees.`,40,i),i+=16,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Chief Compliance Officer Services â Monthly`,40,i),i+=6,x(t,{startY:i+4,margin:{left:40,right:40},head:[[`Service`,`Price`,`Named CCO`,`Best For`]],body:[[`RIA CCO Service`,`$5,500`,`Yes`,`SEC/State RIAs needing outsourced named CCO`],[`Broker-Dealer CCO`,`$6,500`,`Yes`,`FINRA BDs â includes AML + FINOP oversight`],[`Private Fund CCO`,`$6,500`,`Yes`,`Fund managers â includes Reg D + LP DDQ coordination`]],styles:{fontSize:9,cellPadding:5,textColor:[Q.r,Q.g,Q.b]},headStyles:{fillColor:[Z.r,Z.g,Z.b],textColor:255,fontSize:9},alternateRowStyles:{fillColor:[245,248,252]},columnStyles:{0:{fontStyle:`bold`,cellWidth:130},1:{cellWidth:60},2:{cellWidth:60}}}),i=t.lastAutoTable.finalY+14,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Registration + Consulting Bundles`,40,i),i+=6,x(t,{startY:i+4,margin:{left:40,right:40},head:[[`Bundle`,`Setup (One-Time)`,`Ongoing`,`Savings`]],body:[[`State RIA + Gold`,`$4,895`,`$1,350/mo (12-mo)`,`10% off ongoing`],[`SEC RIA + Gold`,`$4,895`,`$1,750/mo (12-mo)`,`12% off ongoing`],[`Private Fund + Gold`,`$7,500`,`$4,750/mo (12-mo)`,`14% off ongoing`],[`Platinum tier bundles`,`See guide`,`Up to 18% off`,`Annual prepay: 2 months free`]],styles:{fontSize:9,cellPadding:5,textColor:[Q.r,Q.g,Q.b]},headStyles:{fillColor:[Z.r,Z.g,Z.b],textColor:255,fontSize:9},alternateRowStyles:{fillColor:[245,248,252]},columnStyles:{0:{fontStyle:`bold`}}}),i=t.lastAutoTable.finalY+14,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Technology Included (Selected)`,40,i),i+=14,t.setFont(`helvetica`,`normal`),t.setFontSize(9),t.setTextColor(Q.r,Q.g,Q.b),[`RegReview.io â AI compliance operating system. Seats scale by tier (1 / 3 / 5 / 8).`,`InvestPrep.io â Private capital operating system. Fund Admin Pro seats for private fund tiers.`,`ADScanner.io â Marketing review add-on across SEC / FINRA / FCA / CSA / ASIC.`,`Continuity Hub, Email Archiving, Supervisory Suite â included with Silver and above.`].forEach(e=>{t.text(`⢠`+e,40,i),i+=13}),t.setFontSize(8),t.setTextColor($.r,$.g,$.b),t.text(`Page 1 of 2 · fingroup.io · Prices in USD, subject to change. Contact us for a tailored quote.`,40,r-24),t.addPage(),t.setFillColor(Z.r,Z.g,Z.b),t.rect(0,0,n,46,`F`),t.setTextColor(255),t.setFont(`helvetica`,`bold`),t.setFontSize(14),t.text(`Add-Ons, Delivery Modes & Next Steps`,40,30),i=72,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Popular Add-Ons`,40,i),i+=6,x(t,{startY:i+4,margin:{left:40,right:40},head:[[`Add-On`,`Price`,`Notes`]],body:[[`Personal Securities Trading Reviews`,`From $165/mo`,`Starter (up to 5) to Enterprise ($45/person/qtr)`],[`Marketing / Advert
1ising Review`,`From $299/mo`,`SEC 206(4)-1 & FINRA 2210 workflow`],[`Email Archiving (tamper-evident)`,`$29/mo/seat`,`Audit-ready retention (not SEC 17a-4 WORM)`],[`Continuity Hub`,`$44/mo/seat`,`Business continuity + succession`],[`AML Independent Testing`,`From $3,500`,`Essentials 15 files / Standard 30 files + 25 txns / Complex 50+ files + 50+ txns`],[`Form D Filing Service (per filing)`,`$750 new filing`,`$395 annual amendment / $995 delinquent catch-up / $150 per state + fees / $495 EDGAR onboarding (waived with a filing)`],[`Cybersecurity Program`,`From $495/mo`,`Bundled with RegReview + device coverage`],[`Advertising / Sponsorships`,`From $250/mo`,`Media Kit available separately`]],styles:{fontSize:9,cellPadding:5,textColor:[Q.r,Q.g,Q.b]},headStyles:{fillColor:[Z.r,Z.g,Z.b],textColor:255,fontSize:9},alternateRowStyles:{fillColor:[245,248,252]},columnStyles:{0:{fontStyle:`bold`,cellWidth:200},1:{cellWidth:100}}}),i=t.lastAutoTable.finalY+14,t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`How We Deliver`,40,i),i+=14,t.setFont(`helvetica`,`normal`),t.setFontSize(9),t.setTextColor(Q.r,Q.g,Q.b),[[`You Run It (DIY)`,`You run the workflows in RegReview. We answer questions.`],[`We Run It Together (Managed DIY)`,`We configure and review; you gather evidence and approve. RDR from $199/mo.`],[`We Run It for You (DFY)`,`We run, draft, and deliver; you review and sign off. From $750/mo.`],[`Who runs it by tier`,`Bronze/Silver: mostly You + Together. Gold: mostly For You. Platinum: all For You.`]].forEach(([e,n])=>{t.setFont(`helvetica`,`bold`),t.text(e,40,i),t.setFont(`helvetica`,`normal`),t.setTextColor($.r,$.g,$.b),t.text(n,215,i),t.setTextColor(Q.r,Q.g,Q.b),i+=14}),i+=8,t.setFillColor(245,248,252),t.roundedRect(40,i,n-80,82,6,6,`F`),t.setTextColor(Z.r,Z.g,Z.b),t.setFont(`helvetica`,`bold`),t.setFontSize(13),t.text(`Next Steps`,54,i+22),t.setFont(`helvetica`,`normal`),t.setFontSize(9),t.setTextColor(Q.r,Q.g,Q.b),t.text(`1. Book a discovery call at fingroup.io/get-started`,54,i+40),t.text(`2. Start a 14-day free trial of RegReview.io / InvestPrep.io / ADScanner.io`,54,i+54),t.text(`3. Request the full FIN Group Services Guide for detailed scoping`,54,i+68),t.setFontSize(8),t.setTextColor($.r,$.g,$.b),t.text(`Page 2 of 2 · [email protected] · 650-305-2688 · 2950 Buskirk Ave, Ste 300, Walnut Creek, CA 94597`,40,r-24),t.save(`FIN-Group-Pricing-At-a-Glance.pdf`)}var ne=({variant:e=`outline`,size:t=`lg`,className:n,label:r=`Download Pricing Summary PDF`,source:i=`Pricing Page`,format:o=`full`})=>{let[s,c]=(0,A.useState)(!1),[l,d]=(0,A.useState)(!1),[f,m]=(0,A.useState)({name:``,email:``,company:``,phone:``}),[b,x]=(0,A.useState)(!0),[M,N]=(0,A.useState)([]),P=e=>{m(t=>({...t,[e.target.name]:e.target.value}))},F=e=>{x(!1),N(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},I=b||M.length===0?[`Everything`]:k.filter(e=>M.includes(e.id)).map(e=>e.label);return(0,j.jsxs)(D,{open:s,onOpenChange:c,children:[(0,j.jsx)(ee,{asChild:!0,children:(0,j.jsxs)(_,{variant:e,size:t,className:n,children:[(0,j.jsx)(p,{className:`mr-2 h-5 w-5`}),r]})}),(0,j.jsxs)(w,{className:`sm:max-w-md`,children:[(0,j.jsxs)(S,{children:[(0,j.jsxs)(T,{className:`flex items-center gap-2`,children:[(0,j.jsx)(v,{className:`h-5 w-5 text-primary`}),`Download Pricing Summary`]}),(0,j.jsx)(E,{children:`Tell us a bit about you and we'll deliver an instant PDF overview of FIN Group services and pricing.`})]}),(0,j.jsxs)(`form`,{onSubmit:async e=>{if(e.preventDefault(),!f.name||!f.email)return;d(!0);let t=b?[]:M;try{await a.functions.invoke(`send-contact-email`,{body:{name:f.name,email:f.email,company:f.company,phone:f.phone,services:o===`glance`?`Pricing At-a-Glance PDF Download`:`Pricing Summary PDF Download`,message:`Requested the ${o===`glance`?`2-page At-a-Glance`:`full`} Pricing PDF from: ${i}\nInterested in: ${I.join(`, `)}`}}).catch(e=>{console.warn(`Contact notification failed (continuing with download):`,e)});let e={name:f.name,email:f.email,company:f.company};o===`glance`?te(e):O({...e,categories:t}),u({title:`Your pricing summary is downloading`,description:`We've also notified our team â we'll be in touch shortly.`}),c(!1),m({name:``,email:``,company:``,phone:``})}catch(e){console.error(`PDF download error:`,e),u({title:`Something went wrong`,description:`Please try again or email [email protected].`,variant:`destructive`})}finally{d(!1)}},className:`space-y-4 pt-2`,children:[(0,j.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(g,{htmlFor:`pdf-name`,children:`Full Name *`}),(0,j.jsx)(h,{id:`pdf-name`,name:`name`,value:f.name,onChange:P,required:!0,placeholder:`Jane Smith`})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(g,{htmlFor:`pdf-email`,children:`Email *`}),(0,j.jsx)(h,{id:`pdf-email`,name:`email`,type:`email`,value:f.email,onChange:P,required:!0,placeholder:`[email protected]`})]})]}),(0,j.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(g,{htmlFor:`pdf-company`,children:`Company`}),(0,j.jsx)(h,{id:`pdf-company`,name:`company`,value:f.company,onChange:P,placeholder:`Your Firm`})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(g,{htmlFor:`pdf-phone`,children:`Phone`}),(0,j.jsx)(h,{id:`pdf-phone`,name:`phone`,type:`tel`,value:f.phone,onChange:P,placeholder:`(555) 123-4567`})]})]}),o===`full`&&(0,j.jsxs)(`div`,{className:`space-y-2 rounded-md border p-3`,children:[(0,j.jsx)(g,{className:`text-sm`,children:`What should we include?`}),(0,j.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,j.jsx)(X,{checked:b,onCheckedChange:e=>{x(!!e),e&&N([])}}),(0,j.jsx)(`span`,{children:`Everything (full catalog)`})]}),(0,j.jsx)(`div`,{className:`grid gap-1.5 sm:grid-cols-2 pt-1`,children:k.map(e=>(0,j.jsxs)(`label`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,j.jsx)(X,{checked:M.includes(e.id),onCheckedChange:()=>F(e.id)}),(0,j.jsx)(`span`,{children:e.label})]},e.id))})]}),(0,j.jsxs)(C,{className:`gap-2 sm:gap-2`,children:[(0,j.jsx)(_,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:l,children:`Cancel`}),(0,j.jsx)(_,{type:`submit`,disabled:l,children:l?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(y,{className:`mr-2 h-4 w-4 animate-spin`}),`Preparing PDF...`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(p,{className:`mr-2 h-4 w-4`}),`Download PDF`]})})]}),(0,j.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:`We'll only use this to send you the pricing summary and follow up if helpful.`})]})]})]})};export{X as n,ne as t};
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.