@threatcaptain/tc-reports 0.2.21 → 0.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +104 -105
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +104 -105
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -51758,9 +51758,9 @@ const MITRETacticsOverview = ({
|
|
|
51758
51758
|
setSelectedTactic(null);
|
|
51759
51759
|
};
|
|
51760
51760
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-gray-50 p-4 rounded-lg", children: [
|
|
51761
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium text-
|
|
51762
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 mb-4", children: "Click on any step to explore individual tactics" }),
|
|
51763
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4 mb-6", children: ATTACK_STEPS.map((step) => {
|
|
51761
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium text-lg mb-3", children: "MITRE ATT&CK Kill Chain Coverage - 4 Attack Steps" }),
|
|
51762
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 mb-4 print:hidden", children: "Click on any step to explore individual tactics" }),
|
|
51763
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 print:grid-cols-2 gap-4 mb-6", children: ATTACK_STEPS.map((step) => {
|
|
51764
51764
|
var _a2;
|
|
51765
51765
|
const stepData = (_a2 = breachData.attackSteps) == null ? void 0 : _a2.find(
|
|
51766
51766
|
(s2) => s2.stepId === step.stepId
|
|
@@ -51829,10 +51829,9 @@ const MITRETacticsOverview = ({
|
|
|
51829
51829
|
"Individual Tactics for",
|
|
51830
51830
|
" ",
|
|
51831
51831
|
(_a = ATTACK_STEPS.find((s2) => s2.stepId === selectedStep)) == null ? void 0 : _a.stepName,
|
|
51832
|
-
" ",
|
|
51833
|
-
"(Click to view details)"
|
|
51832
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "print:hidden", children: "(Click to view details)" })
|
|
51834
51833
|
] }),
|
|
51835
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-2", children: breachData.mitrePhases.filter((phase) => {
|
|
51834
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 lg:grid-cols-4 print:grid-cols-4 gap-2", children: breachData.mitrePhases.filter((phase) => {
|
|
51836
51835
|
const step = getTacticStep(phase.phase);
|
|
51837
51836
|
return (step == null ? void 0 : step.stepId) === selectedStep;
|
|
51838
51837
|
}).sort((a2, b) => {
|
|
@@ -51966,7 +51965,7 @@ const BreachLikelihood = ({ reportData }) => {
|
|
|
51966
51965
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-3xl font-bold text-slate-900", children: "Breach Likelihood Assessment" }),
|
|
51967
51966
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-slate-600 text-base", children: "Analyzing probability and impact of security incidents" })
|
|
51968
51967
|
] }),
|
|
51969
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 mb-4", children: [
|
|
51968
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 print:grid-cols-1 gap-4 mb-4", children: [
|
|
51970
51969
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center p-4 text-center", children: breachData ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
51971
51970
|
MitreAttack,
|
|
51972
51971
|
{
|
|
@@ -51974,7 +51973,7 @@ const BreachLikelihood = ({ reportData }) => {
|
|
|
51974
51973
|
overallLikelihood: attackLikelihood
|
|
51975
51974
|
}
|
|
51976
51975
|
) : /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Getting breach data..." }) }),
|
|
51977
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center gap-4", children: [
|
|
51976
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center print:justify-normal gap-4", children: [
|
|
51978
51977
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center p-4 rounded-md bg-slate-50", children: [
|
|
51979
51978
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "w-6 h-6 mr-4 text-green-600" }),
|
|
51980
51979
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -51995,28 +51994,9 @@ const BreachLikelihood = ({ reportData }) => {
|
|
|
51995
51994
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Smart investments could reduce your risk to under $100,000" })
|
|
51996
51995
|
] })
|
|
51997
51996
|
] })
|
|
51998
|
-
] }),
|
|
51999
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-3", children: [
|
|
52000
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center mb-2", children: [
|
|
52001
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-4 h-4 text-slate-600 mr-1" }),
|
|
52002
|
-
/* @__PURE__ */ jsxRuntime.jsxs("h4", { className: "text-lg font-semibold text-slate-700 italic", children: [
|
|
52003
|
-
"Your Current Estimated Risk = $",
|
|
52004
|
-
realRiskExposure.toLocaleString()
|
|
52005
|
-
] })
|
|
52006
|
-
] }),
|
|
52007
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "text-slate-600 space-y-1", children: [
|
|
52008
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• Cyber attacks increased 38% globally in 2023 compared to 2022" }),
|
|
52009
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• Small businesses experience a cyberattack every 39 seconds on average" }),
|
|
52010
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• 60% of small companies go out of business within 6 months of a cyber attack" }),
|
|
52011
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• The average cost of cybercrime for businesses globally rose to $4.88 million in 2024" })
|
|
52012
|
-
] })
|
|
52013
51997
|
] })
|
|
52014
51998
|
] }),
|
|
52015
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-
|
|
52016
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
52017
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-bold text-slate-900 mb-2", children: "Understanding Your Numbers" }),
|
|
52018
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-slate-600", children: "How We Calculate Your Risk" })
|
|
52019
|
-
] }),
|
|
51999
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-b border-slate-200 pt-8", children: [
|
|
52020
52000
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
52021
52001
|
MITRETacticsOverview,
|
|
52022
52002
|
{
|
|
@@ -52026,6 +52006,25 @@ const BreachLikelihood = ({ reportData }) => {
|
|
|
52026
52006
|
onTacticClick: setSelectedTactic
|
|
52027
52007
|
}
|
|
52028
52008
|
),
|
|
52009
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center mb-2", children: [
|
|
52010
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-4 h-4 text-slate-600 mr-1" }),
|
|
52011
|
+
/* @__PURE__ */ jsxRuntime.jsxs("h4", { className: "text-lg font-semibold text-slate-700 italic", children: [
|
|
52012
|
+
"Your Current Estimated Risk = $",
|
|
52013
|
+
realRiskExposure.toLocaleString()
|
|
52014
|
+
] })
|
|
52015
|
+
] }),
|
|
52016
|
+
/* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "text-slate-600 space-y-1", children: [
|
|
52017
|
+
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• Cyber attacks increased 38% globally in 2023 compared to 2022" }),
|
|
52018
|
+
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• Small businesses experience a cyberattack every 39 seconds on average" }),
|
|
52019
|
+
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• 60% of small companies go out of business within 6 months of a cyber attack" }),
|
|
52020
|
+
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "• The average cost of cybercrime for businesses globally rose to $4.88 million in 2024" })
|
|
52021
|
+
] })
|
|
52022
|
+
] }),
|
|
52023
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-b border-slate-200 pt-8", children: [
|
|
52024
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
52025
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-bold text-slate-900 mb-2", children: "Understanding Your Numbers" }),
|
|
52026
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-slate-600", children: "How We Calculate Your Risk" })
|
|
52027
|
+
] }),
|
|
52029
52028
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-slate-50 rounded-lg p-6 mb-6", children: [
|
|
52030
52029
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-bold mb-4", children: "Our Approach" }),
|
|
52031
52030
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-700", children: "We use the same data sources that insurance companies and security professionals rely on. Our calculations are conservative - real attack costs are often higher than our estimates." })
|
|
@@ -52958,7 +52957,7 @@ const InsuranceImpactCards = ({
|
|
|
52958
52957
|
if (score2 >= 450) return "Detailed review, additional requirements";
|
|
52959
52958
|
return "Extensive review, may require risk mitigation plan";
|
|
52960
52959
|
};
|
|
52961
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
|
|
52960
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 print:grid-cols-3 gap-4", children: [
|
|
52962
52961
|
/* @__PURE__ */ jsxRuntime.jsx(Card, { className: getCardClasses(score), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "pt-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start space-x-3", children: [
|
|
52963
52962
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Shield, { className: `h-5 w-5 mt-0.5 ${getIconClasses(score)}` }),
|
|
52964
52963
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -52992,74 +52991,72 @@ const InsuranceHealthScore = ({ reportData }) => {
|
|
|
52992
52991
|
bgColor: "bg-blue-600"
|
|
52993
52992
|
} : scoreCategory;
|
|
52994
52993
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
52995
|
-
/* @__PURE__ */ jsxRuntime.
|
|
52994
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
52996
52995
|
"section",
|
|
52997
52996
|
{
|
|
52998
52997
|
id: "insurance-health-score",
|
|
52999
52998
|
className: "report-page text-center space-y-6 pb-8 border-b border-slate-200",
|
|
53000
|
-
children:
|
|
52999
|
+
children: [
|
|
53001
53000
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-4xl font-bold text-slate-900", children: "Cyber Insurance Health Score Report" }),
|
|
53002
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-slate-600", children: "Understanding How Insurance Companies View Your Organization" })
|
|
53003
|
-
|
|
53004
|
-
|
|
53005
|
-
|
|
53006
|
-
|
|
53007
|
-
|
|
53008
|
-
|
|
53009
|
-
|
|
53010
|
-
|
|
53011
|
-
|
|
53012
|
-
|
|
53013
|
-
|
|
53014
|
-
|
|
53015
|
-
|
|
53016
|
-
|
|
53017
|
-
|
|
53018
|
-
|
|
53019
|
-
|
|
53020
|
-
|
|
53021
|
-
|
|
53022
|
-
|
|
53023
|
-
|
|
53024
|
-
|
|
53025
|
-
|
|
53026
|
-
|
|
53027
|
-
|
|
53028
|
-
|
|
53029
|
-
|
|
53030
|
-
|
|
53031
|
-
|
|
53032
|
-
|
|
53033
|
-
|
|
53034
|
-
|
|
53035
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-blue-500 mt-1" }),
|
|
53036
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-sm", children: "Risk Evaluation" }) })
|
|
53037
|
-
] })
|
|
53038
|
-
] })
|
|
53039
|
-
] }),
|
|
53040
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
53041
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-slate-900", children: "Things to Consider" }),
|
|
53042
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
53043
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
53044
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-amber-500" }),
|
|
53045
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Cyber insurance rates are directly tied to your security posture" })
|
|
53046
|
-
] }),
|
|
53047
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
53048
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-amber-500" }),
|
|
53049
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Insurers are increasingly requiring security controls" })
|
|
53001
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-slate-600", children: "Understanding How Insurance Companies View Your Organization" }),
|
|
53002
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
53003
|
+
"div",
|
|
53004
|
+
{
|
|
53005
|
+
className: `rounded-lg p-6 text-white text-center ${scoreCategoryData.bgColor}`,
|
|
53006
|
+
children: [
|
|
53007
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center space-x-2 mb-2", children: [
|
|
53008
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-12 h-12 p-2 rounded-full bg-white/20 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-bold", children: score }) }),
|
|
53009
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-bold", children: "INSURANCE HEALTH SCORE" })
|
|
53010
|
+
] }),
|
|
53011
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-bold", children: `${score}/850` }),
|
|
53012
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg font-semibold mt-2", children: scoreCategoryData.category }),
|
|
53013
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm opacity-75 mt-1", children: scoreCategoryData.description })
|
|
53014
|
+
]
|
|
53015
|
+
}
|
|
53016
|
+
),
|
|
53017
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 print:grid-cols-2 gap-6", children: [
|
|
53018
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
53019
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-slate-900", children: "Coverage Impact" }),
|
|
53020
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
53021
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start space-x-2", children: [
|
|
53022
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-blue-500 mt-1" }),
|
|
53023
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-sm", children: "Premium Rates" }) })
|
|
53024
|
+
] }),
|
|
53025
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start space-x-2", children: [
|
|
53026
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-blue-500 mt-1" }),
|
|
53027
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-sm", children: "Coverage Availability" }) })
|
|
53028
|
+
] }),
|
|
53029
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start space-x-2", children: [
|
|
53030
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-blue-500 mt-1" }),
|
|
53031
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-sm", children: "Risk Evaluation" }) })
|
|
53032
|
+
] })
|
|
53033
|
+
] })
|
|
53050
53034
|
] }),
|
|
53051
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
53052
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
53053
|
-
/* @__PURE__ */ jsxRuntime.
|
|
53035
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
53036
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-slate-900", children: "Things to Consider" }),
|
|
53037
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
53038
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
53039
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-amber-500" }),
|
|
53040
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-left", children: "Cyber insurance rates are directly tied to your security posture" })
|
|
53041
|
+
] }),
|
|
53042
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
53043
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-amber-500" }),
|
|
53044
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-left", children: "Insurers are increasingly requiring security controls" })
|
|
53045
|
+
] }),
|
|
53046
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
53047
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-amber-500" }),
|
|
53048
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-left", children: "Claims approval depends on documented security measures" })
|
|
53049
|
+
] })
|
|
53050
|
+
] })
|
|
53054
53051
|
] })
|
|
53055
53052
|
] })
|
|
53056
|
-
]
|
|
53057
|
-
|
|
53058
|
-
|
|
53059
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-
|
|
53053
|
+
]
|
|
53054
|
+
}
|
|
53055
|
+
),
|
|
53056
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-b border-slate-200 pt-8", children: [
|
|
53060
53057
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-bold text-slate-900 mb-2", children: "Your Insurance Health Score Results" }),
|
|
53061
53058
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-slate-600", children: "Assessment results and category breakdown" }),
|
|
53062
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
|
|
53059
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 print:grid-cols-2 gap-8", children: [
|
|
53063
53060
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(InsuranceHealthGauge, { score, size: 320 }) }),
|
|
53064
53061
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
53065
53062
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-slate-900", children: "Security Category Scores" }),
|
|
@@ -53118,7 +53115,7 @@ const InsuranceHealthScore = ({ reportData }) => {
|
|
|
53118
53115
|
] }),
|
|
53119
53116
|
/* @__PURE__ */ jsxRuntime.jsx(InsuranceImpactCards, { score })
|
|
53120
53117
|
] }),
|
|
53121
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-
|
|
53118
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page space-y-6 border-b border-slate-200 pt-8", children: [
|
|
53122
53119
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-3", children: [
|
|
53123
53120
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-lg", children: "?" }) }),
|
|
53124
53121
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -53183,7 +53180,7 @@ const InsuranceHealthScore = ({ reportData }) => {
|
|
|
53183
53180
|
] })
|
|
53184
53181
|
] })
|
|
53185
53182
|
] }),
|
|
53186
|
-
/* @__PURE__ */ jsxRuntime.jsx("section", { className: "report-page space-y-6
|
|
53183
|
+
/* @__PURE__ */ jsxRuntime.jsx("section", { className: "report-page space-y-6 pt-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 print:grid-cols-2 gap-6", children: [
|
|
53187
53184
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
53188
53185
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-green-600 mb-3", children: "What This Report IS:" }),
|
|
53189
53186
|
/* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "text-slate-700 space-y-2 text-sm", children: [
|
|
@@ -53269,7 +53266,7 @@ const ReportBuilder = ({
|
|
|
53269
53266
|
id: "print-report",
|
|
53270
53267
|
className: "report-wrapper max-w-4xl mx-auto bg-white p-8 space-y-8 print:font-sans",
|
|
53271
53268
|
children: [
|
|
53272
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page", children: [
|
|
53269
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "report-page flex flex-col justify-center h-full print:mt-24 print:gap-8", children: [
|
|
53273
53270
|
/* @__PURE__ */ jsxRuntime.jsx("figure", { className: "bg-slate-200 max-w-40 print:max-w-40 flex object-contain rounded-lg items-center justify-center mx-auto", children: mspInfo.company_logo ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
53274
53271
|
"img",
|
|
53275
53272
|
{
|
|
@@ -53296,21 +53293,23 @@ const ReportBuilder = ({
|
|
|
53296
53293
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-900", children: (/* @__PURE__ */ new Date()).toLocaleDateString() })
|
|
53297
53294
|
] })
|
|
53298
53295
|
] }),
|
|
53299
|
-
/* @__PURE__ */ jsxRuntime.
|
|
53300
|
-
|
|
53301
|
-
|
|
53302
|
-
/* @__PURE__ */ jsxRuntime.
|
|
53303
|
-
|
|
53304
|
-
|
|
53305
|
-
|
|
53306
|
-
|
|
53307
|
-
|
|
53308
|
-
|
|
53309
|
-
|
|
53310
|
-
|
|
53311
|
-
|
|
53312
|
-
|
|
53313
|
-
|
|
53296
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-slate-200 mt-6 pt-6", children: [
|
|
53297
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-bold text-slate-900 text-left mb-2", children: "Executive Summary" }),
|
|
53298
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-slate-900", children: "Why This Assessment Matters" }),
|
|
53299
|
+
editExecutiveSummary ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
53300
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
53301
|
+
Textarea,
|
|
53302
|
+
{
|
|
53303
|
+
value: displayExecutiveSummary(clientData),
|
|
53304
|
+
onChange: (e) => onConfigChange("executiveSummary", e.target.value),
|
|
53305
|
+
placeholder: "Executive summary content...",
|
|
53306
|
+
rows: 6,
|
|
53307
|
+
className: "resize-none"
|
|
53308
|
+
}
|
|
53309
|
+
),
|
|
53310
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button$1, { onClick: () => setEditExecutiveSummary(false), children: "Save" })
|
|
53311
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-slate-700 leading-relaxed whitespace-pre-line text-sm", children: displayExecutiveSummary(clientData) }) })
|
|
53312
|
+
] })
|
|
53314
53313
|
] }),
|
|
53315
53314
|
showFinancialImpact && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: financialSimulationData && Object.keys(financialSimulationData).length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
53316
53315
|
FinancialImpact,
|