1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4573],{17625:function(e,t,a){a.d(t,{Z:function(){return r}});let r=(0,a(39763).Z)("Printer",[["polyline",{points:"6 9 6 2 18 2 18 9",key:"1306q4"}],["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["rect",{width:"12",height:"8",x:"6",y:"14",key:"5ipwut"}]])},30439:function(e,t,a){a.d(t,{r:function(){return r}}),a(83079);var r=(0,a(12119).$)("88d84a9960ca4ce3ad6b37a0cc2ece2ac53101f1")},97848:function(e,t,a){a.d(t,{Z:function(){return l}});var r=a(57437),s=a(17625),n=a(90596),i=a(95451);function l(e){let{calculatorName:t,isPro:a,onUpgrade:l,className:o=""}=e;return i._Q?(0,r.jsx)(n.Z,{label:"Print Results",className:o||"border border-gray-200 text-gray-500",title:"Official printable packages require Command Center (portal.savingprivatemoney.com)"}):(0,r.jsxs)("button",{type:"button",className:o,disabled:!0,children:[(0,r.jsx)(s.Z,{size:16})," Print Results"]})}},28105:function(e,t,a){a.d(t,{Z:function(){return n}});var r=a(57437),s=a(70597);function n(e){let{value:t,onChange:a}=e;return(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("label",{className:"text-xs uppercase tracking-[0.2em] text-gray-600",children:"Currency"}),(0,r.jsx)("select",{value:t,onChange:e=>a(e.target.value),className:"rounded-lg border border-gray-300 bg-white px-3 py-2 text-xs font-semibold uppercase tracking-[0.1em] text-gray-900",children:s.mV.map(e=>(0,r.jsx)("option",{value:e.code,children:e.name},e.code))})]})}},24573:function(e,t,a){a.r(t),a.d(t,{default:function(){return h}});var r=a(57437),s=a(2265),n=a(84836),i=a(14754),l=a(97848),o=a(51404),d=a(31981),c=a(76705),u=a(14084),m=a(14438),b=a(30439),g=a(36896),x=a(28105),y=a(70597);u.kL.register(u.uw,u.f$,u.ZL,u.Dx,u.u,u.De);let p={govt:{name:"Government Bond",desc:"Low risk, stable returns",color:"#10b981"},corp:{name:"Corporate Bond",desc:"Medium risk, higher yields",color:"#3b82f6"},junk:{name:"High-Yield Bond",desc:"High risk, higher returns",color:"#f59e0b"},savings:{name:"Savings Bond",desc:"Low risk, fixed returns",color:"#8b5cf6"}};function h(){let[e,t]=(0,s.useState)("GBP"),[a,u]=(0,s.useState)("bond-details"),[h,v]=(0,s.useState)("govt"),[f,j]=(0,s.useState)(!1),[N,w]=(0,s.useState)(!1),[k,R]=(0,s.useState)("idle"),[C,P]=(0,s.useState)(!1),[S,D]=(0,s.useState)(!1);(0,s.useEffect)(()=>{i.O.auth.getSession().then(e=>{var t;let{data:{session:a}}=e;P(!!(null==a?void 0:a.user)),D(!!(null==a?void 0:null===(t=a.user)||void 0===t?void 0:t.isPro))})},[]);let[M,A]=(0,s.useState)({faceValue:1e3,marketPrice:1020,couponRate:3.5,yearsToMaturity:10,paymentFrequency:"annual"}),[B,I]=(0,s.useState)({currentInterestRate:4.5,inflationRate:2.5,creditRating:"aaa",economicOutlook:"moderate-growth"}),[F,T]=(0,s.useState)({defaultProbability:.5,recoveryRate:40,liquidityRisk:3,interestRateSensitivity:6}),U=(0,y.iD)(e),V=(0,y.jK)(e),E=function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return new Intl.NumberFormat("en-GB",{style:"currency",currency:e,minimumFractionDigits:a,maximumFractionDigits:a}).format(t)},Y=(0,s.useMemo)(()=>{let e=M.couponRate/100*M.faceValue;return M.marketPrice>0?e/M.marketPrice*100:0},[M.couponRate,M.faceValue,M.marketPrice]),L=(0,s.useMemo)(()=>{let e=M.couponRate/100*M.faceValue,t=(M.faceValue-M.marketPrice)/M.yearsToMaturity;return 100*(M.faceValue+M.marketPrice===0?0:(e+t)/((M.faceValue+M.marketPrice)/2))},[M.couponRate,M.faceValue,M.marketPrice,M.yearsToMaturity]),O=L-B.inflationRate,H=(0,s.useMemo)(()=>{let e=M.couponRate/100*M.faceValue,t=0,a=0;for(let r=1;r<=M.yearsToMaturity;r+=1){let s=r===M.yearsToMaturity?e+M.faceValue:e,n=Math.pow(1+B.currentInterestRate/100,r),i=n>0?s/n:0;t+=r*i,a+=i}return a>0?t/a:0},[M.couponRate,M.faceValue,M.yearsToMaturity,B.currentInterestRate]),G=(0,s.useMemo)(()=>{var e,t;let a=null!==(e=({aaa:100,aa:90,a:80,bbb:70,bb:50,b:30,ccc:15,cc:10,c:5,d:0})[B.creditRating])&&void 0!==e?e:50;return F.defaultProbability<1?a+=20:F.defaultProbability<3?a+=10:F.defaultProbability>10?a-=30:F.defaultProbability>5&&(a-=15),Math.max(0,Math.min(100,Math.round(a+=F.recoveryRate/5*.2+(null!==(t=({"strong-growth":10,"moderate-growth":5,stable:0,recession:-10,"severe-recession":-20})[B.economicOutlook])&&void 0!==t?t:0))))},[B.creditRating,B.economicOutlook,F.defaultProbability,F.recoveryRate]),q=(0,s.useMemo)(()=>{let e=M.couponRate/100*M.faceValue*M.yearsToMaturity,t=M.faceValue-M.marketPrice;return M.marketPrice>0?(e+t)/M.marketPrice*100:0},[M.couponRate,M.faceValue,M.marketPrice,M.yearsToMaturity]),Z=Math.abs(.01*H*M.marketPrice),$=Math.abs(.01*H*M.marketPrice),Q=(0,s.useMemo)(()=>{let e;let t=0;return"govt"===h||"savings"===h?O>1?t=30:O>0?t=20:O>-1&&(t=10):"corp"===h?O>2?t=30:O>1?t=20:O>
10&&(t=10):"junk"===h&&(O>5?t=30:O>3?t=20:O>1&&(t=10)),e=50+t+G/100*40,F.defaultProbability<1?e+=30:F.defaultProbability<3?e+=20:F.defaultProbability<5?e+=10:F.defaultProbability>15?e-=20:F.defaultProbability>10&&(e-=10),Math.max(0,Math.min(100,Math.round(e)))},[h,G,O,F.defaultProbability]),_=[{label:"Current Yield",value:f?"".concat(Y.toFixed(2),"%"):"--%"},{label:"Yield to Maturity",value:f?"".concat(L.toFixed(2),"%"):"--%"},{label:"Real Yield",value:f?"".concat(O.toFixed(2),"%"):"--%"},{label:"Duration",value:f?"".concat(H.toFixed(2)," years"):"-- years"},{label:"Credit Risk Score",value:f?"".concat(G,"/100"):"--/100"},{label:"Total Return",value:f?"".concat(q.toFixed(2),"%"):"--%"}],J=(0,s.useMemo)(()=>{if(!f)return[{title:"Complete the Analysis",content:'Enter your bond details and click "Analyse Bond Investment" to receive detailed insights and recommendations.'}];let e=[];return"govt"===h&&e.push({title:"Government Bond Safety",content:"Government bonds provide the highest safety with lower yields and are ideal for conservative portfolios."}),O<0&&e.push({title:"Negative Real Return",content:"Inflation is eroding returns. Consider inflation-protected securities or higher yielding bonds."}),H>10&&e.push({title:"High Interest Rate Sensitivity",content:"Long duration increases rate sensitivity. Consider laddering or shorter maturities if rates may rise."}),G<60&&e.push({title:"Elevated Credit Risk",content:"Lower credit score suggests heightened default risk. Ensure yield compensates adequately."}),0===e.length&&e.push({title:"Balanced Risk Profile",content:"Your bond metrics point to a balanced risk-return opportunity."}),e},[h,G,H,f,O]),K=(0,s.useMemo)(()=>{if(!f)return[{title:"Complete the Analysis",description:'Enter your bond details and click "Analyse Bond Investment" to get personalised recommendations.'}];let e=[];return Q>=80?e.push({title:"Strong Investment Candidate",description:"Health score ".concat(Q,"/100 indicates a strong risk-return profile.")}):Q>=60?e.push({title:"Balanced Portfolio Addition",description:"Health score ".concat(Q,"/100 suggests a reasonable opportunity with moderate risk.")}):e.push({title:"Exercise Caution",description:"Health score ".concat(Q,"/100 suggests significant risks. Consider diversification.")}),H>10&&e.push({title:"Consider Laddering Strategy",description:"Diversify maturities to reduce interest-rate risk and improve liquidity."}),B.inflationRate>3&&e.push({title:"Hedge Inflation",description:"Consider inflation-linked bonds if inflation expectations remain elevated."}),e.push({title:"Diversify Across Bond Types",description:"Blend government, corporate, and savings bonds to spread risk."}),e},[Q,H,f,B.inflationRate]),z=async()=>{if(!S){w(!0);return}let t={name:"Bond Investment Analysis - ".concat(new Date().toLocaleDateString("en-GB")),type:"Bond Investment Analysis",inputs:{currency:e,bondType:h,...M,...B,...F},results:{currentYield:Y,yieldToMaturity:L,realYield:O,duration:H,creditRiskScore:G,totalReturn:q,bondHealthScore:Q}};R("saving");try{await (0,o.m)({action:"save_calculation",calculatorName:"Bond Investment Analysis Calculator",metadata:{calculationType:"bond-investment-analysis"}});let e=await (0,b.r)({name:t.name,type:t.type,inputs:t.inputs,results:t.results});if(null==e?void 0:e.success)R("success"),m.Am.success("Saved to your dashboard");else{var a;R("error"),m.Am.error("Save failed",{description:(null==e?void 0:e.error)||"Unable to save this calculation right now."}),(null==e?void 0:null===(a=e.error)||void 0===a?void 0:a.toLowerCase().includes("pro"))&&w(!0)}}catch(e){console.error("Save failed:",e),R("error"),m.Am.error("Save failed")}setTimeout(()=>R("idle"),2500)},X=t=>{if(!S){w(!0);return}let a={type:"bond-investment-analysis",currency:e,bondType:h,...M,...B,...F,currentYield:Y,yieldToMaturity:L,realYield:O,duration:H,creditRiskScore:G,totalReturn:q,bondHealthScore:Q};if("csv"===t){let e=new Blob([["Metric,Value",...Object.entries(a).map(e=>{let[t,a]=e;return"".concat(t,",").concat(a)})].join("\n")],{type:"text/csv"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download="bond-investment-analysis.csv",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t);return}let r=new Blob(["BOND INVESTMENT ANALYSIS\nCurrency: ".concat(e,"\nB
1ond Type: ").concat(p[h].name,"\nCurrent Yield: ").concat(Y.toFixed(2),"%\nYield to Maturity: ").concat(L.toFixed(2),"%\nReal Yield: ").concat(O.toFixed(2),"%\nDuration: ").concat(H.toFixed(2)," years\nCredit Risk Score: ").concat(G,"/100\nTotal Return: ").concat(q.toFixed(2),"%\nBond Health Score: ").concat(Q,"/100")],{type:"text/plain"}),s=URL.createObjectURL(r),n=document.createElement("a");n.href=s,n.download="bond-investment-analysis.txt",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(s)},W=e=>{v(e),"govt"===e?(A(e=>({...e,couponRate:3.5,marketPrice:1020})),I(e=>({...e,creditRating:"aaa"})),T(e=>({...e,defaultProbability:.5}))):"corp"===e?(A(e=>({...e,couponRate:5.5,marketPrice:980})),I(e=>({...e,creditRating:"a"})),T(e=>({...e,defaultProbability:2.5}))):"junk"===e?(A(e=>({...e,couponRate:9.5,marketPrice:850})),I(e=>({...e,creditRating:"b"})),T(e=>({...e,defaultProbability:8.5}))):(A(e=>({...e,couponRate:2.5,marketPrice:1e3})),I(e=>({...e,creditRating:"aaa"})),T(e=>({...e,defaultProbability:.1})))};return(0,r.jsxs)(g.Z,{title:"Bond Investment Analysis Calculator",description:"Analyse bond yields, risks, and potential returns across bond types.",children:[(0,r.jsxs)("div",{className:"overflow-hidden rounded-xl bg-white shadow-lg",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-4 bg-gradient-to-br from-[#2563eb] to-[#1d4ed8] px-6 py-6 text-white sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-2xl font-semibold",children:"Bond Investment Analysis Calculator"}),(0,r.jsx)("p",{className:"mt-2 text-sm text-white/90",children:"Analyse government, corporate, high-yield, and savings bonds with yield and risk insights."}),(0,r.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2 text-xs uppercase tracking-[0.2em] text-white/80",children:[(0,r.jsxs)("span",{className:"rounded-full bg-white/15 px-3 py-1",children:["Currency: ",U," (",V,")"]}),(0,r.jsx)("span",{className:"rounded-full bg-white/15 px-3 py-1",children:"Exports for Pro"})]})]}),(0,r.jsx)(x.Z,{value:e,onChange:t})]}),(0,r.jsxs)("div",{className:"grid gap-6 p-6 lg:grid-cols-2",children:[(0,r.jsxs)("section",{className:"rounded-lg bg-gray-100 p-5",children:[(0,r.jsx)("div",{className:"mb-4 flex flex-wrap gap-2 text-sm font-semibold text-gray-600",children:["bond-details","market-analysis","risk-assessment"].map(e=>(0,r.jsx)("button",{className:"pb-2 ".concat(a===e?"border-b-2 border-[#2563eb] text-[#2563eb]":"text-gray-500"),type:"button",onClick:()=>u(e),children:"bond-details"===e?"Bond Details":"market-analysis"===e?"Market Analysis":"Risk Assessment"},e))}),"bond-details"===a&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:Object.keys(p).map(e=>(0,r.jsxs)("button",{type:"button",className:"rounded-lg border p-3 text-left ".concat(h===e?"border-[".concat(p[e].color,"] bg-white"):"border-gray-200 bg-white"),onClick:()=>W(e),children:[(0,r.jsx)("div",{className:"text-sm font-semibold text-gray-900",children:p[e].name}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:p[e].desc})]},e))}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Face Value (",U,")",(0,r.jsx)("input",{type:"number",value:M.faceValue,onChange:e=>A({...M,faceValue:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Current Market Price (",U,")",(0,r.jsx)("input",{type:"number",value:M.marketPrice,onChange:e=>A({...M,marketPrice:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Coupon Rate (%)",(0,r.jsx)("input",{type:"number",step:.01,value:M.couponRate,onChange:e=>A({...M,couponRate:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Years to Maturity",(0,r.jsx)("input",{type:"number",value:M.yearsToMaturity,onChange:e=>A({...M,yearsToMaturity:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Coupon Payment Frequency",(0,r.jsxs)("select",{value:M.paymentFrequency,onChange:e=>A({...M,paymentFrequency:e.target.value}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2",children:[(0,r.jsx)("option",{value:"annual",children:"Annual"}),(0,r.jsx)("option",{value:"semi-annual",children:"Semi-Annual"}),(0,r.jsx)("option",{value:"quarterly",children:"Quarterly"})]})]}),(0,r.jsx)("div",{className:"rounded-lg border-l-4 border-[#3b82f6] bg-white p-3 text-xs text-gray-600",children:"Face value is the amount the bond is worth at maturity. Market price is the current trading price. Coupon rate is the annual interest rate paid by the bond."})]}),"market-analysis"===a&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Current Market Interest Rate (%)",(0,r.jsx)("input",{type:"number",step:.01,value:B.currentInterestRate,onChange:e=>I({...B,currentInterestRate:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Expected Inflation Rate (%)",(0,r.jsx)("input",{type:"number",step:.01,value:B.inflationRate,onChange:e=>I({...B,inflationRate:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Issuer Credit Rating",(0,r.jsxs)("select",{value:B.creditRating,onChange:e=>I({...B,creditRating:e.target.value}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2",children:[(0,r.jsx)("option",{value:"aaa",children:"AAA (Highest Quality)"}),(0,r.jsx)("option",{value:"aa",children:"AA (High Quality)"}),(0,r.jsx)("option",{value:"a",children:"A (Upper Medium Grade)"}),(0,r.jsx)("option",{value:"bbb",children:"BBB (Medium Grade)"}),(0,r.jsx)("option",{value:"bb",children:"BB (Lower Medium Grade)"}),(0,r.jsx)("option",{value:"b",children:"B (Speculative)"}),(0,r.jsx)("option",{value:"ccc",children:"CCC (Poor Quality)"}),(0,r.jsx)("option",{value:"cc",children:"CC (Highly Speculative)"}),(0,r.jsx)("option",{value:"c",children:"C (Default Imminent)"}),(0,r.jsx)("option",{value:"d",children:"D (In Default)"})]})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Economic Outlook",(0,r.jsxs)("select",{value:B.economicOutlook,onChange:e=>I({...B,economicOutlook:e.target.value}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2",children:[(0,r.jsx)("option",{value:"strong-growth",children:"Strong Growth"}),(0,r.jsx)("option",{value:"moderate-growth",children:"Moderate Growth"}),(0,r.jsx)("option",{value:"stable",children:"Stable"}),(0,r.jsx)("option",{value:"recession",children:"Recession"}),(0,r.jsx)("option",{value:"severe-recession",children:"Severe Recession"})]})]}),(0,r.jsx)("div",{className:"rounded-lg border-l-4 border-[#3b82f6] bg-white p-3 text-xs text-gray-600",children:"Interest rates and inflation expectations significantly impact bond prices."})]}),"risk-assessment"===a&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Probability of Default (%)",(0,r.jsx)("input",{type:"number",step:.01,value:F.defaultProbability,onChange:e=>T({...F,defaultProbability:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Expected Recovery Rate (%)",(0,r.jsx)("input",{type:"number",step:.01,value:F.recoveryRate,onChange:e=>T({...F,recoveryRate:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Liquidity Risk (1-10)",(0,r.jsx)("input",{type:"number",min:1,max:10,value:F.liquidityRisk,onChange:e=>T({...F,liquidityRisk:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsxs)("label",{className:"text-sm text-gray-700",children:["Interest Rate Sensitivity (1-10)",(0,r.jsx)("input",{type:"number",min:1,max:10,value:F.interestRateSensitivity,onChange:e=>T({...F,interestRateSensitivity:Number(e.target.value)}),className:"mt-1 w-full rounded-lg border border-gray-300 bg-white p-2"})]}),(0,r.jsx)("div",{className:"rounded-lg border-l-4 border-[#3b82f6] bg-white p-3 text-xs text-gray-600",children:"Default probability and recovery rate drive credit risk exposure."})]}),(0,r.jsx)("button",{onClick:()=>{j(!0)},className:"mt-6 w-full rounded-lg bg-[#2563eb] px-4 py-3 text-sm font-semibold text-white hover:bg-[#1d4ed8]",type:"button",children:"Analyse Bond Investment"})]}),(0,r.jsxs)("section",{className:"rounded-lg bg-gray-100 p-5",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Bond Investment Analysis"}),(0,r.jsxs)("div",{className:"mt-4 rounded-lg bg-white px-4 py-3 text-sm font-semibold",style:{color:p[h].color},children:[p[h].name," Analysis: Current Yield"," ",f?"".concat(Y.toFixed(2),"%"):"--"]}),(0,r.jsx)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:_.map(e=>(0,r.jsx)("div",{className:"rounded-lg bg-white p-4 shadow-sm",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm font-semibold text-gray-900",children:e.label}),(0,r.jsx)("p",{className:"text-sm font-bold text-gray-900",children:e.value})]})},e.label))}),(0,r.jsxs)("div",{className:"mt-6 rounded-lg bg-white p-4 shadow-sm",children:[(0,r.jsx)("div",{className:"text-sm font-semibold text-gray-900",children:"Price Sensitivity Analysis"}),(0,r.jsxs)("div",{className:"mt-3 flex items-center justify-between text-sm",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-gray-500",children:"If Rates Rise 1%"}),(0,r.jsxs)("p",{className:"font-semibold text-red-500",children:["-",E(Z)]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-gray-500",children:"If Rates Fall 1%"}),(0,r.jsxs)("p",{className:"font-semibold text-emerald-500",children:["+",E($)]})]})]})]}),(0,r.jsx)("div",{className:"mt-6 h-56 rounded-lg bg-white p-4",children:(0,r.jsx)(c.$Q,{data:{labels:["Current Yield","YTM","Real Yield","Total Return"],datasets:[{label:"Bond Yields",data:[Y,L,O,q],backgroundColor:["#10b981","#3b82f6","#f59e0b","#8b5cf6"],borderRadius:6}]}
1,options:{responsive:!0,plugins:{legend:{display:!1}},scales:{y:{beginAtZero:!0}}}})}),(0,r.jsxs)("div",{className:"mt-6 rounded-lg bg-white p-4",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:"Bond Market Insights"}),(0,r.jsx)("div",{className:"mt-3 space-y-4",children:J.map((e,t)=>(0,r.jsxs)("div",{className:"border-b border-gray-100 pb-3 last:border-b-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-[#3b82f6] text-xs text-white",children:t+1}),(0,r.jsx)("p",{className:"text-sm font-semibold text-gray-900",children:e.title})]}),(0,r.jsx)("p",{className:"mt-2 text-xs text-gray-600",children:e.content})]},e.title))})]}),(0,r.jsxs)("div",{className:"mt-6 rounded-lg bg-white p-4",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:"Investment Strategy Recommendations"}),(0,r.jsx)("div",{className:"mt-3 space-y-4",children:K.map((e,t)=>(0,r.jsxs)("div",{className:"border-b border-gray-100 pb-3 last:border-b-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-[#2563eb] text-xs text-white",children:t+1}),(0,r.jsx)("p",{className:"text-sm font-semibold text-gray-900",children:e.title})]}),(0,r.jsx)("p",{className:"mt-2 text-xs text-gray-600",children:e.description})]},e.title))})]}),(0,r.jsxs)("div",{className:"mt-6 rounded-lg bg-gray-100 p-4 text-xs text-gray-600",children:[(0,r.jsx)("strong",{children:"Disclaimer:"})," This calculator provides estimates based on the inputs provided. Bond investments carry risks including interest rate risk, credit risk, and inflation risk."]})]})]})]}),(0,r.jsxs)("div",{className:"mt-6 flex flex-wrap gap-3",children:[(0,r.jsx)(n.Z,{title:"Bond Investment Analysis Calculator",data:{currencySymbol:V,summary:_.map(e=>({label:e.label,value:e.value}))},isPro:S,onUpgrade:()=>w(!0)}),(0,r.jsx)("button",{onClick:z,className:"flex items-center gap-2 rounded-lg border border-gray-200 bg-white px-4 py-2 text-gray-700 font-semibold hover:border-gray-300 transition disabled:opacity-60",type:"button",disabled:"saving"===k,children:"saving"===k?"Saving...":"success"===k?"Saved":"error"===k?"Try again":"Save results"}),(0,r.jsx)("button",{onClick:()=>X("csv"),className:"flex items-center gap-2 rounded-lg border border-gray-200 bg-white px-4 py-2 text-gray-700 font-semibold hover:border-gray-300 transition",type:"button",children:"Export Excel (CSV)"}),(0,r.jsx)("button",{onClick:()=>X("txt"),className:"flex items-center gap-2 rounded-lg border border-gray-200 bg-white px-4 py-2 text-gray-700 font-semibold hover:border-gray-300 transition",type:"button",children:"Download TXT"}),(0,r.jsx)(l.Z,{calculatorName:"Bond Investment Analysis Calculator",isPro:S,onUpgrade:()=>w(!0)})]}),(0,r.jsx)(d.Z,{isOpen:N,onClose:()=>w(!1)})]})}},70597:function(e,t,a){a.d(t,{iD:function(){return i},jK:function(){return n},mV:function(){return l},xG:function(){return s}});let r={USD:{code:"USD",symbol:"$",name:"US Dollar",decimalDigits:2},EUR:{code:"EUR",symbol:"â¬",name:"Euro",decimalDigits:2},GBP:{code:"GBP",symbol:"\xa3",name:"British Pound",decimalDigits:2},JPY:{code:"JPY",symbol:"\xa5",name:"Japanese Yen",decimalDigits:0},CAD:{code:"CAD",symbol:"C$",name:"Canadian Dollar",decimalDigits:2},AUD:{code:"AUD",symbol:"A$",name:"Australian Dollar",decimalDigits:2},CHF:{code:"CHF",symbol:"CHF",name:"Swiss Franc",decimalDigits:2},CNY:{code:"CNY",symbol:"\xa5",name:"Chinese Yuan",decimalDigits:2}};function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD",a=r[t];return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:a.decimalDigits,maximumFractionDigits:a.decimalDigits}).format(e)}function n(e){var t;return(null===(t=r[e])||void 0===t?void 0:t.symbol)||"$"}function i(e){var t;return(null===(t=r[e])||void 0===t?void 0:t.name)||"US Dollar"}let l=Object.values(r)}}]);
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.