1import{j as e}from"./animation-uOxpIv0N.js";import{a}from"./react-vendor-CnvT8o0Q.js";import{G as t}from"./GuideCalculator-STTI9v0x.js";import"./index-D0tArAgG.js";import{g as s,G as l,Q as r,H as i,O as n,J as d,K as o,N as c,P as m,U as x,V as u,W as b,X as h,Y as p,Z as j,_ as g,$ as v}from"./taxConstants2026-B1vVuVfl.js";import"./LeadCaptureModal-B2P0gR_d.js";import"./loader-circle-BA8aGy2y.js";import"./inquiries-8LStneD-.js";import"./calculator-B5ijGKR3.js";function f(e,a,t,s,l){if(t<=s)return Math.min(e,a);const r=(t-s)*l;return Math.max(0,Math.min(e,a)-r)}function N(){const[N,k]=a.useState("single"),[y,S]=a.useState(""),[C,F]=a.useState(""),[w,M]=a.useState(""),[I,T]=a.useState(""),[A,B]=a.useState(""),[L,P]=a.useState(""),[D,O]=a.useState(""),G=parseFloat(y)||0,Q=parseFloat(C)||0,$=parseFloat(w)||0,q=parseFloat(I)||0,z=parseFloat(A)||0,K=parseInt(L)||0,E=parseFloat(D)||0,J="mfj"===N,U=f(n,Q,G,J?x:u,.1),Y=f(J?d:o,$,G,J?b:h,.1),H=K>=65?f(c,c,G,J?p:j,.06):0,V=f(m,q,G,J?g:v,.2),W=Math.min(z,l)-Math.min(z,1e4),X=E>0?Math.max(r,E*i):0,Z=U+Y+H+V,_=J?G>206700?.24:G>96950?.22:G>23850?.12:.1:G>103350?.24:G>48475?.22:G>11925?.12:.1,R=Z*_+W*_+X*_,ee=[{label:"New Deductions Total",value:Z,formatted:s(Z)},{label:"SALT Increase Benefit",value:W,formatted:s(W)},{label:"QBI Deduction (Permanent)",value:X,formatted:s(X)},{label:"Est. Tax Savings",value:Math.round(R),formatted:s(Math.round(R))}],ae="w-full px-4 py-2.5 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-slate-500 focus:ring-2 focus:ring-primary-500 focus:border-transparent text-sm",te="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-1";return e.jsxs(t,{calculatorName:"OBBBA Tax Savings Calculator",guidePath:"/guides/obbba-tax-guide",results:ee,ctaText:"Get Personalized Tax Plan",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-filing",className:te,children:"Filing Status"}),e.jsxs("select",{id:"obbba-filing",value:N,onChange:e=>k(e.target.value),className:ae,children:[e.jsx("option",{value:"single",children:"Single"}),e.jsx("option",{value:"mfj",children:"Married Filing Jointly"})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-income",className:te,children:"Total Income (MAGI)"}),e.jsx("input",{id:"obbba-income",type:"number",value:y,onChange:e=>S(e.target.value),placeholder:"e.g. 85000",className:ae})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-tips",className:te,children:"Tip Income"}),e.jsx("input",{id:"obbba-tips",type:"number",value:C,onChange:e=>F(e.target.value),placeholder:"e.g. 15000",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"Max deduction: $25,000"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-overtime",className:te,children:"Overtime Premium Pay"}),e.jsx("input",{id:"obbba-overtime",type:"number",value:w,onChange:e=>M(e.target.value),placeholder:"e.g. 8000",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"FLSA-required overtime portion only"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-car",className:te,children:"Car Loan Interest Paid"}),e.jsx("input",{id:"obbba-car",type:"number",value:I,onChange:e=>T(e.target.value),placeholder:"e.g. 3000",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"New US-assembled vehicle only"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-salt",className:te,children:"State & Local Taxes Paid"}),e.jsx("input",{id:"obbba-salt",type:"number",value:A,onChange:e=>B(e.target.value),placeholder:"e.g. 18000",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"Old cap: $10K â New cap: $40K"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-age",className:te,children:"Your Age"}),e.jsx("input",{id:"obbba-age",type:"number",value:L,onChange:e=>P(e.target.value),placeholder:"e.g. 67",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"65+ qualifies for senior deduction"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"obbba-biz",className:te,children:"Business Income (for QBI)"}),e.jsx("input",{id:"obbba-biz",type:"number",value:D,onChange:e=>O(e.target.value),placeholder:"e.g. 60000",className:ae}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-1",children:"LLC / S-Corp / sole prop income"})]})]}),G>0&&e.jsxs("div",{className:"mt-6 space-y-2 text-sm",children:[e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-white",children:"Deduction Breakdown"}),U>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"Tip Deduction"}),e.jsx("span",{className:"font-medium",children:s(U)})]}),Y>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"Overtime Deduction"}),e.jsx("span",{className:"font-medium",children:s(Y)})]}),H>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"Senior Deduction (65+)"}),e.jsx("span",{className:"font-medium",children:s(H)})]}),V>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"Car Loan Interest"}),e.jsx("span",{className:"font-medium",children:s(V)})]}),W>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"Additional SALT Deduction"}),e.jsx("span",{className:"font-medium",children:s(W)})]}),X>0&&e.jsxs("div",{className:"flex justify-between text-slate-700 dark:text-slate-300",children:[e.jsx("span",{children:"QBI Deduction (§199A)"}),e.jsx("span",{className:"font-medium",children:s(X)})]})]}),e.jsx("div",{className:"mt-4 p-3 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 rounded-lg",children:e.jsxs("p",{className:"text-xs text-amber-800 dark:text-amber-300",children:[e.jsx("strong",{children:"Estimate only."})," Actual savings depend on your complete tax situation, state taxes, and other deductions. Consult a tax professional for precise calculations."]})})]})}export{N as default};
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.