@openchoreo/backstage-plugin-openchoreo-observability 1.1.0
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/CHANGELOG.md +5 -0
- package/README.md +22 -0
- package/dist/api/FinOpsAgentApi.esm.js +43 -0
- package/dist/api/FinOpsAgentApi.esm.js.map +1 -0
- package/dist/api/ObservabilityApi.esm.js +568 -0
- package/dist/api/ObservabilityApi.esm.js.map +1 -0
- package/dist/api/ObserverUrlCache.esm.js +59 -0
- package/dist/api/ObserverUrlCache.esm.js.map +1 -0
- package/dist/api/RCAAgentApi.esm.js +104 -0
- package/dist/api/RCAAgentApi.esm.js.map +1 -0
- package/dist/components/Alerts/AlertRow.esm.js +203 -0
- package/dist/components/Alerts/AlertRow.esm.js.map +1 -0
- package/dist/components/Alerts/AlertsActions.esm.js +77 -0
- package/dist/components/Alerts/AlertsActions.esm.js.map +1 -0
- package/dist/components/Alerts/AlertsFilter.esm.js +95 -0
- package/dist/components/Alerts/AlertsFilter.esm.js.map +1 -0
- package/dist/components/Alerts/AlertsTable.esm.js +63 -0
- package/dist/components/Alerts/AlertsTable.esm.js.map +1 -0
- package/dist/components/Alerts/ObservabilityAlertsPage.esm.js +251 -0
- package/dist/components/Alerts/ObservabilityAlertsPage.esm.js.map +1 -0
- package/dist/components/Alerts/types.esm.js +4 -0
- package/dist/components/Alerts/types.esm.js.map +1 -0
- package/dist/components/CostAnalysis/CostAnalysisPage.esm.js +141 -0
- package/dist/components/CostAnalysis/CostAnalysisPage.esm.js.map +1 -0
- package/dist/components/CostAnalysis/CostAnalysisReport.esm.js +128 -0
- package/dist/components/CostAnalysis/CostAnalysisReport.esm.js.map +1 -0
- package/dist/components/CostAnalysis/CostAnalysisReportView.esm.js +517 -0
- package/dist/components/CostAnalysis/CostAnalysisReportView.esm.js.map +1 -0
- package/dist/components/CostAnalysis/CostAnalysisTable.esm.js +149 -0
- package/dist/components/CostAnalysis/CostAnalysisTable.esm.js.map +1 -0
- package/dist/components/CostAnalysis/FinOpsApplyButton.esm.js +112 -0
- package/dist/components/CostAnalysis/FinOpsApplyButton.esm.js.map +1 -0
- package/dist/components/CostAnalysis/index.esm.js +2 -0
- package/dist/components/CostAnalysis/index.esm.js.map +1 -0
- package/dist/components/Incidents/IncidentRow.esm.js +258 -0
- package/dist/components/Incidents/IncidentRow.esm.js.map +1 -0
- package/dist/components/Incidents/IncidentsActions.esm.js +77 -0
- package/dist/components/Incidents/IncidentsActions.esm.js.map +1 -0
- package/dist/components/Incidents/IncidentsFilter.esm.js +144 -0
- package/dist/components/Incidents/IncidentsFilter.esm.js.map +1 -0
- package/dist/components/Incidents/IncidentsTable.esm.js +68 -0
- package/dist/components/Incidents/IncidentsTable.esm.js.map +1 -0
- package/dist/components/Incidents/ObservabilityProjectIncidentsPage.esm.js +283 -0
- package/dist/components/Incidents/ObservabilityProjectIncidentsPage.esm.js.map +1 -0
- package/dist/components/Incidents/types.esm.js +8 -0
- package/dist/components/Incidents/types.esm.js.map +1 -0
- package/dist/components/Metrics/ChartTooltip.esm.js +53 -0
- package/dist/components/Metrics/ChartTooltip.esm.js.map +1 -0
- package/dist/components/Metrics/HTTPMetricsSection.esm.js +109 -0
- package/dist/components/Metrics/HTTPMetricsSection.esm.js.map +1 -0
- package/dist/components/Metrics/MetricGraphByComponent.esm.js +99 -0
- package/dist/components/Metrics/MetricGraphByComponent.esm.js.map +1 -0
- package/dist/components/Metrics/MetricsActions.esm.js +30 -0
- package/dist/components/Metrics/MetricsActions.esm.js.map +1 -0
- package/dist/components/Metrics/MetricsFilters.esm.js +49 -0
- package/dist/components/Metrics/MetricsFilters.esm.js.map +1 -0
- package/dist/components/Metrics/ObservabilityMetricsPage.esm.js +196 -0
- package/dist/components/Metrics/ObservabilityMetricsPage.esm.js.map +1 -0
- package/dist/components/Metrics/styles.esm.js +55 -0
- package/dist/components/Metrics/styles.esm.js.map +1 -0
- package/dist/components/Metrics/utils.esm.js +221 -0
- package/dist/components/Metrics/utils.esm.js.map +1 -0
- package/dist/components/RCA/RCAActions.esm.js +42 -0
- package/dist/components/RCA/RCAActions.esm.js.map +1 -0
- package/dist/components/RCA/RCAFilters.esm.js +100 -0
- package/dist/components/RCA/RCAFilters.esm.js.map +1 -0
- package/dist/components/RCA/RCAPage.esm.js +137 -0
- package/dist/components/RCA/RCAPage.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/EntityLinkContext.esm.js +9 -0
- package/dist/components/RCA/RCAReport/EntityLinkContext.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/FormattedText.esm.js +94 -0
- package/dist/components/RCA/RCAReport/FormattedText.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/RCAReportView.esm.js +308 -0
- package/dist/components/RCA/RCAReport/RCAReportView.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/AssessmentSection.esm.js +113 -0
- package/dist/components/RCA/RCAReport/sections/AssessmentSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/ChatPanelSection.esm.js +272 -0
- package/dist/components/RCA/RCAReport/sections/ChatPanelSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/ExcludedCausesSection.esm.js +48 -0
- package/dist/components/RCA/RCAReport/sections/ExcludedCausesSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/IncidentOverviewSection.esm.js +205 -0
- package/dist/components/RCA/RCAReport/sections/IncidentOverviewSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/InvestigationPathSection.esm.js +121 -0
- package/dist/components/RCA/RCAReport/sections/InvestigationPathSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/PatchTabContent.esm.js +593 -0
- package/dist/components/RCA/RCAReport/sections/PatchTabContent.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/QuickFixesPanelSection.esm.js +35 -0
- package/dist/components/RCA/RCAReport/sections/QuickFixesPanelSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/RecommendationsSection.esm.js +54 -0
- package/dist/components/RCA/RCAReport/sections/RecommendationsSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/RootCausesSection.esm.js +526 -0
- package/dist/components/RCA/RCAReport/sections/RootCausesSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/SystemTimelineSection.esm.js +70 -0
- package/dist/components/RCA/RCAReport/sections/SystemTimelineSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/sections/VisibilityImprovementsSection.esm.js +54 -0
- package/dist/components/RCA/RCAReport/sections/VisibilityImprovementsSection.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport/styles.esm.js +467 -0
- package/dist/components/RCA/RCAReport/styles.esm.js.map +1 -0
- package/dist/components/RCA/RCAReport.esm.js +109 -0
- package/dist/components/RCA/RCAReport.esm.js.map +1 -0
- package/dist/components/RCA/RCATable.esm.js +140 -0
- package/dist/components/RCA/RCATable.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/LogEntry.esm.js +182 -0
- package/dist/components/RuntimeLogs/LogEntry.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/LogsActions.esm.js +106 -0
- package/dist/components/RuntimeLogs/LogsActions.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/LogsFilter.esm.js +200 -0
- package/dist/components/RuntimeLogs/LogsFilter.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/LogsTable.esm.js +91 -0
- package/dist/components/RuntimeLogs/LogsTable.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/ObservabilityProjectRuntimeLogsPage.esm.js +220 -0
- package/dist/components/RuntimeLogs/ObservabilityProjectRuntimeLogsPage.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/ObservabilityRuntimeLogsPage.esm.js +222 -0
- package/dist/components/RuntimeLogs/ObservabilityRuntimeLogsPage.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/styles.esm.js +256 -0
- package/dist/components/RuntimeLogs/styles.esm.js.map +1 -0
- package/dist/components/RuntimeLogs/types.esm.js +16 -0
- package/dist/components/RuntimeLogs/types.esm.js.map +1 -0
- package/dist/components/TimeRangeFilter/TimeRangeFilter.esm.js +280 -0
- package/dist/components/TimeRangeFilter/TimeRangeFilter.esm.js.map +1 -0
- package/dist/components/Traces/ObservabilityTracesPage.esm.js +165 -0
- package/dist/components/Traces/ObservabilityTracesPage.esm.js.map +1 -0
- package/dist/components/Traces/TracesActions.esm.js +37 -0
- package/dist/components/Traces/TracesActions.esm.js.map +1 -0
- package/dist/components/Traces/TracesFilters.esm.js +121 -0
- package/dist/components/Traces/TracesFilters.esm.js.map +1 -0
- package/dist/components/Traces/TracesTable.esm.js +137 -0
- package/dist/components/Traces/TracesTable.esm.js.map +1 -0
- package/dist/components/Traces/WaterfallView.esm.js +567 -0
- package/dist/components/Traces/WaterfallView.esm.js.map +1 -0
- package/dist/components/Traces/styles.esm.js +198 -0
- package/dist/components/Traces/styles.esm.js.map +1 -0
- package/dist/components/Traces/utils.esm.js +19 -0
- package/dist/components/Traces/utils.esm.js.map +1 -0
- package/dist/hooks/useAutoSelectFirstEnvironment.esm.js +25 -0
- package/dist/hooks/useAutoSelectFirstEnvironment.esm.js.map +1 -0
- package/dist/hooks/useComponentAlerts.esm.js +80 -0
- package/dist/hooks/useComponentAlerts.esm.js.map +1 -0
- package/dist/hooks/useDataPlaneNetPolProvider.esm.js +55 -0
- package/dist/hooks/useDataPlaneNetPolProvider.esm.js.map +1 -0
- package/dist/hooks/useDebouncedSearch.esm.js +24 -0
- package/dist/hooks/useDebouncedSearch.esm.js.map +1 -0
- package/dist/hooks/useFilters.esm.js +29 -0
- package/dist/hooks/useFilters.esm.js.map +1 -0
- package/dist/hooks/useFinOpsReport.esm.js +66 -0
- package/dist/hooks/useFinOpsReport.esm.js.map +1 -0
- package/dist/hooks/useFinOpsReports.esm.js +70 -0
- package/dist/hooks/useFinOpsReports.esm.js.map +1 -0
- package/dist/hooks/useGetComponentsByProject.esm.js +57 -0
- package/dist/hooks/useGetComponentsByProject.esm.js.map +1 -0
- package/dist/hooks/useGetEnvironmentsByNamespace.esm.js +53 -0
- package/dist/hooks/useGetEnvironmentsByNamespace.esm.js.map +1 -0
- package/dist/hooks/useGetNamespaceAndProjectByEntity.esm.js +40 -0
- package/dist/hooks/useGetNamespaceAndProjectByEntity.esm.js.map +1 -0
- package/dist/hooks/useMetrics.esm.js +107 -0
- package/dist/hooks/useMetrics.esm.js.map +1 -0
- package/dist/hooks/useProjectIncidents.esm.js +111 -0
- package/dist/hooks/useProjectIncidents.esm.js.map +1 -0
- package/dist/hooks/useProjectRuntimeLogs.esm.js +185 -0
- package/dist/hooks/useProjectRuntimeLogs.esm.js.map +1 -0
- package/dist/hooks/useRCAReportByAlert.esm.js +54 -0
- package/dist/hooks/useRCAReportByAlert.esm.js.map +1 -0
- package/dist/hooks/useRCAReports.esm.js +75 -0
- package/dist/hooks/useRCAReports.esm.js.map +1 -0
- package/dist/hooks/useRuntimeLogs.esm.js +147 -0
- package/dist/hooks/useRuntimeLogs.esm.js.map +1 -0
- package/dist/hooks/useSpanDetails.esm.js +71 -0
- package/dist/hooks/useSpanDetails.esm.js.map +1 -0
- package/dist/hooks/useTraceSpans.esm.js +80 -0
- package/dist/hooks/useTraceSpans.esm.js.map +1 -0
- package/dist/hooks/useTraces.esm.js +112 -0
- package/dist/hooks/useTraces.esm.js.map +1 -0
- package/dist/hooks/useUpdateIncident.esm.js +50 -0
- package/dist/hooks/useUpdateIncident.esm.js.map +1 -0
- package/dist/hooks/useUrlFilters.esm.js +63 -0
- package/dist/hooks/useUrlFilters.esm.js.map +1 -0
- package/dist/hooks/useUrlFiltersForAlerts.esm.js +80 -0
- package/dist/hooks/useUrlFiltersForAlerts.esm.js.map +1 -0
- package/dist/hooks/useUrlFiltersForIncidents.esm.js +87 -0
- package/dist/hooks/useUrlFiltersForIncidents.esm.js.map +1 -0
- package/dist/hooks/useUrlFiltersForRuntimeLogs.esm.js +135 -0
- package/dist/hooks/useUrlFiltersForRuntimeLogs.esm.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/plugin.esm.js +107 -0
- package/dist/plugin.esm.js.map +1 -0
- package/dist/routes.esm.js +8 -0
- package/dist/routes.esm.js.map +1 -0
- package/dist/types.esm.js +18 -0
- package/dist/types.esm.js.map +1 -0
- package/dist/utils/applyResourceChange.esm.js +79 -0
- package/dist/utils/applyResourceChange.esm.js.map +1 -0
- package/dist/utils/urlTimeRange.esm.js +52 -0
- package/dist/utils/urlTimeRange.esm.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SystemTimelineSection.esm.js","sources":["../../../../../src/components/RCA/RCAReport/sections/SystemTimelineSection.tsx"],"sourcesContent":["import { Box, Typography } from '@material-ui/core';\nimport {\n Timeline,\n TimelineItem,\n TimelineSeparator,\n TimelineDot,\n TimelineConnector,\n TimelineContent,\n TimelineOppositeContent,\n} from '@material-ui/lab';\nimport { useRCAReportStyles } from '../styles';\nimport { FormattedText } from '../FormattedText';\nimport type { AIRCAAgentComponents } from '@openchoreo/backstage-plugin-common';\n\ntype TimelineEvent = AIRCAAgentComponents['schemas']['TimelineEvent'];\n\ninterface SystemTimelineSectionProps {\n timeline?: TimelineEvent[];\n}\n\nconst formatTimelineTimestamp = (timestamp?: string): string => {\n if (!timestamp) return 'N/A';\n try {\n const date = new Date(timestamp);\n return date.toLocaleString('en-US', {\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n });\n } catch {\n return timestamp;\n }\n};\n\nexport const SystemTimelineSection = ({\n timeline,\n}: SystemTimelineSectionProps) => {\n const classes = useRCAReportStyles();\n\n if (!timeline || timeline.length === 0) {\n return null;\n }\n\n return (\n <Box className={classes.timelineContainer}>\n <Timeline style={{ padding: '4px 0', margin: 0 }}>\n {timeline.map((event, idx) => (\n <TimelineItem key={idx} style={{ minHeight: 'auto' }}>\n <TimelineOppositeContent\n style={{\n maxWidth: 0,\n padding: 0,\n flex: 0,\n }}\n />\n <TimelineSeparator>\n <TimelineDot color=\"primary\" />\n {idx < timeline.length - 1 && <TimelineConnector />}\n </TimelineSeparator>\n <TimelineContent style={{ paddingRight: 0 }}>\n <Box className={classes.timelineHeaderRow}>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {formatTimelineTimestamp(event.timestamp)}\n </Typography>\n {event.component && (\n <Typography\n variant=\"caption\"\n color=\"textSecondary\"\n style={{ marginLeft: 8 }}\n >\n <FormattedText text={event.component} />\n </Typography>\n )}\n </Box>\n <Typography\n component=\"div\"\n variant=\"body2\"\n className={classes.timelineEventText}\n >\n <FormattedText text={event.event || ''} />\n </Typography>\n </TimelineContent>\n </TimelineItem>\n ))}\n </Timeline>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;AAoBA,MAAM,uBAAA,GAA0B,CAAC,SAAA,KAA+B;AAC9D,EAAA,IAAI,CAAC,WAAW,OAAO,KAAA;AACvB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,SAAS,CAAA;AAC/B,IAAA,OAAO,IAAA,CAAK,eAAe,OAAA,EAAS;AAAA,MAClC,KAAA,EAAO,OAAA;AAAA,MACP,GAAA,EAAK,SAAA;AAAA,MACL,IAAA,EAAM,SAAA;AAAA,MACN,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,SAAA;AAAA,EACT;AACF,CAAA;AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AACF,CAAA,KAAkC;AAChC,EAAA,MAAM,UAAU,kBAAA,EAAmB;AAEnC,EAAA,IAAI,CAAC,QAAA,IAAY,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG;AACtC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,iBAAA,EACtB,8BAAC,QAAA,EAAA,EAAS,KAAA,EAAO,EAAE,OAAA,EAAS,OAAA,EAAS,MAAA,EAAQ,GAAE,EAC5C,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,KAAA,EAAO,GAAA,qBACpB,IAAA,CAAC,YAAA,EAAA,EAAuB,KAAA,EAAO,EAAE,SAAA,EAAW,MAAA,EAAO,EACjD,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,uBAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO;AAAA,UACL,QAAA,EAAU,CAAA;AAAA,UACV,OAAA,EAAS,CAAA;AAAA,UACT,IAAA,EAAM;AAAA;AACR;AAAA,KACF;AAAA,yBACC,iBAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAM,SAAA,EAAU,CAAA;AAAA,MAC5B,GAAA,GAAM,QAAA,CAAS,MAAA,GAAS,CAAA,wBAAM,iBAAA,EAAA,EAAkB;AAAA,KAAA,EACnD,CAAA;AAAA,yBACC,eAAA,EAAA,EAAgB,KAAA,EAAO,EAAE,YAAA,EAAc,GAAE,EACxC,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,iBAAA,EACtB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,iBACjC,QAAA,EAAA,uBAAA,CAAwB,KAAA,CAAM,SAAS,CAAA,EAC1C,CAAA;AAAA,QACC,MAAM,SAAA,oBACL,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,SAAA;AAAA,YACR,KAAA,EAAM,eAAA;AAAA,YACN,KAAA,EAAO,EAAE,UAAA,EAAY,CAAA,EAAE;AAAA,YAEvB,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,KAAA,CAAM,SAAA,EAAW;AAAA;AAAA;AACxC,OAAA,EAEJ,CAAA;AAAA,sBACA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,KAAA;AAAA,UACV,OAAA,EAAQ,OAAA;AAAA,UACR,WAAW,OAAA,CAAQ,iBAAA;AAAA,UAEnB,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,KAAA,CAAM,SAAS,EAAA,EAAI;AAAA;AAAA;AAC1C,KAAA,EACF;AAAA,GAAA,EAAA,EAlCiB,GAmCnB,CACD,CAAA,EACH,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { Fragment } from 'react';
|
|
3
|
+
import { List, ListItem, ListItemText, Divider } from '@material-ui/core';
|
|
4
|
+
import { makeStyles } from '@material-ui/core/styles';
|
|
5
|
+
import { FormattedText } from '../FormattedText.esm.js';
|
|
6
|
+
|
|
7
|
+
const useStyles = makeStyles((theme) => ({
|
|
8
|
+
list: {
|
|
9
|
+
padding: 0,
|
|
10
|
+
margin: 0
|
|
11
|
+
},
|
|
12
|
+
listItem: {
|
|
13
|
+
padding: theme.spacing(1, 0)
|
|
14
|
+
},
|
|
15
|
+
primary: {
|
|
16
|
+
fontWeight: 500,
|
|
17
|
+
fontSize: theme.typography.body1.fontSize,
|
|
18
|
+
color: theme.palette.text.primary
|
|
19
|
+
},
|
|
20
|
+
secondary: {
|
|
21
|
+
fontSize: theme.typography.caption.fontSize
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
const VisibilityImprovementsSection = ({
|
|
25
|
+
recommendations
|
|
26
|
+
}) => {
|
|
27
|
+
const classes = useStyles();
|
|
28
|
+
if (!recommendations || recommendations.length === 0) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ jsx(List, { className: classes.list, disablePadding: true, children: recommendations.map((recommendation, idx) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
|
+
/* @__PURE__ */ jsx(ListItem, { className: classes.listItem, disableGutters: true, children: /* @__PURE__ */ jsx(
|
|
33
|
+
ListItemText,
|
|
34
|
+
{
|
|
35
|
+
primary: /* @__PURE__ */ jsx(
|
|
36
|
+
FormattedText,
|
|
37
|
+
{
|
|
38
|
+
text: recommendation.description || "",
|
|
39
|
+
disableMarkdown: true
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
secondary: recommendation.rationale ? /* @__PURE__ */ jsx(FormattedText, { text: recommendation.rationale }) : void 0,
|
|
43
|
+
classes: {
|
|
44
|
+
primary: classes.primary,
|
|
45
|
+
secondary: classes.secondary
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
) }),
|
|
49
|
+
idx < recommendations.length - 1 && /* @__PURE__ */ jsx(Divider, { component: "li" })
|
|
50
|
+
] }, idx)) });
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export { VisibilityImprovementsSection };
|
|
54
|
+
//# sourceMappingURL=VisibilityImprovementsSection.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisibilityImprovementsSection.esm.js","sources":["../../../../../src/components/RCA/RCAReport/sections/VisibilityImprovementsSection.tsx"],"sourcesContent":["import { Fragment } from 'react';\nimport { List, ListItem, ListItemText, Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { FormattedText } from '../FormattedText';\nimport type { AIRCAAgentComponents } from '@openchoreo/backstage-plugin-common';\n\ntype Action = AIRCAAgentComponents['schemas']['Action'];\n\ninterface VisibilityImprovementsSectionProps {\n recommendations?: Action[];\n}\n\nconst useStyles = makeStyles(theme => ({\n list: {\n padding: 0,\n margin: 0,\n },\n listItem: {\n padding: theme.spacing(1, 0),\n },\n primary: {\n fontWeight: 500,\n fontSize: theme.typography.body1.fontSize,\n color: theme.palette.text.primary,\n },\n secondary: {\n fontSize: theme.typography.caption.fontSize,\n },\n}));\n\nexport const VisibilityImprovementsSection = ({\n recommendations,\n}: VisibilityImprovementsSectionProps) => {\n const classes = useStyles();\n\n if (!recommendations || recommendations.length === 0) {\n return null;\n }\n\n return (\n <List className={classes.list} disablePadding>\n {recommendations.map((recommendation, idx) => (\n <Fragment key={idx}>\n <ListItem className={classes.listItem} disableGutters>\n <ListItemText\n primary={\n <FormattedText\n text={recommendation.description || ''}\n disableMarkdown\n />\n }\n secondary={\n recommendation.rationale ? (\n <FormattedText text={recommendation.rationale} />\n ) : undefined\n }\n classes={{\n primary: classes.primary,\n secondary: classes.secondary,\n }}\n />\n </ListItem>\n {idx < recommendations.length - 1 && <Divider component=\"li\" />}\n </Fragment>\n ))}\n </List>\n );\n};\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,SAAA,GAAY,WAAW,CAAA,KAAA,MAAU;AAAA,EACrC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,CAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,CAAC;AAAA,GAC7B;AAAA,EACA,OAAA,EAAS;AAAA,IACP,UAAA,EAAY,GAAA;AAAA,IACZ,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,QAAA;AAAA,IACjC,KAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK;AAAA,GAC5B;AAAA,EACA,SAAA,EAAW;AAAA,IACT,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,OAAA,CAAQ;AAAA;AAEvC,CAAA,CAAE,CAAA;AAEK,MAAM,gCAAgC,CAAC;AAAA,EAC5C;AACF,CAAA,KAA0C;AACxC,EAAA,MAAM,UAAU,SAAA,EAAU;AAE1B,EAAA,IAAI,CAAC,eAAA,IAAmB,eAAA,CAAgB,MAAA,KAAW,CAAA,EAAG;AACpD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAM,cAAA,EAAc,IAAA,EAC1C,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,cAAA,EAAgB,GAAA,0BACnC,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,OAAA,CAAQ,QAAA,EAAU,gBAAc,IAAA,EACnD,QAAA,kBAAA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,OAAA,kBACE,GAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,eAAe,WAAA,IAAe,EAAA;AAAA,YACpC,eAAA,EAAe;AAAA;AAAA,SACjB;AAAA,QAEF,SAAA,EACE,eAAe,SAAA,mBACb,GAAA,CAAC,iBAAc,IAAA,EAAM,cAAA,CAAe,WAAW,CAAA,GAC7C,MAAA;AAAA,QAEN,OAAA,EAAS;AAAA,UACP,SAAS,OAAA,CAAQ,OAAA;AAAA,UACjB,WAAW,OAAA,CAAQ;AAAA;AACrB;AAAA,KACF,EACF,CAAA;AAAA,IACC,MAAM,eAAA,CAAgB,MAAA,GAAS,qBAAK,GAAA,CAAC,OAAA,EAAA,EAAQ,WAAU,IAAA,EAAK;AAAA,GAAA,EAAA,EApBhD,GAqBf,CACD,CAAA,EACH,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
import { makeStyles } from '@material-ui/core/styles';
|
|
2
|
+
|
|
3
|
+
const useRCAReportStyles = makeStyles((theme) => ({
|
|
4
|
+
header: {
|
|
5
|
+
backgroundColor: theme.palette.background.paper,
|
|
6
|
+
display: "flex",
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
justifyContent: "space-between",
|
|
9
|
+
padding: theme.spacing(1, 2),
|
|
10
|
+
borderBottom: `1px solid ${theme.palette.divider}`
|
|
11
|
+
},
|
|
12
|
+
headerLeft: {
|
|
13
|
+
display: "flex",
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
gap: theme.spacing(1)
|
|
16
|
+
},
|
|
17
|
+
backButton: {
|
|
18
|
+
marginRight: theme.spacing(1)
|
|
19
|
+
},
|
|
20
|
+
titleContainer: {
|
|
21
|
+
display: "flex",
|
|
22
|
+
flexDirection: "column"
|
|
23
|
+
},
|
|
24
|
+
title: {
|
|
25
|
+
fontWeight: 500
|
|
26
|
+
},
|
|
27
|
+
subtitle: {
|
|
28
|
+
color: theme.palette.text.secondary,
|
|
29
|
+
display: "flex",
|
|
30
|
+
alignItems: "center",
|
|
31
|
+
gap: theme.spacing(1)
|
|
32
|
+
},
|
|
33
|
+
content: {
|
|
34
|
+
paddingTop: theme.spacing(1)
|
|
35
|
+
},
|
|
36
|
+
cardTitle: {
|
|
37
|
+
display: "flex",
|
|
38
|
+
alignItems: "center",
|
|
39
|
+
gap: theme.spacing(1)
|
|
40
|
+
},
|
|
41
|
+
cardTitleIcon: {
|
|
42
|
+
color: theme.palette.primary.main,
|
|
43
|
+
fontSize: theme.typography.h3.fontSize
|
|
44
|
+
},
|
|
45
|
+
emptyState: {
|
|
46
|
+
padding: theme.spacing(4),
|
|
47
|
+
textAlign: "center"
|
|
48
|
+
},
|
|
49
|
+
timelineContainer: {},
|
|
50
|
+
numberedDot: {
|
|
51
|
+
width: 24,
|
|
52
|
+
height: 24,
|
|
53
|
+
display: "flex",
|
|
54
|
+
alignItems: "center",
|
|
55
|
+
justifyContent: "center",
|
|
56
|
+
padding: 0
|
|
57
|
+
},
|
|
58
|
+
dotNumber: {
|
|
59
|
+
fontSize: theme.typography.caption.fontSize,
|
|
60
|
+
fontWeight: 500,
|
|
61
|
+
color: theme.palette.primary.contrastText,
|
|
62
|
+
lineHeight: 1
|
|
63
|
+
},
|
|
64
|
+
stepRationale: {
|
|
65
|
+
fontStyle: "italic",
|
|
66
|
+
color: theme.palette.text.secondary,
|
|
67
|
+
fontSize: theme.typography.caption.fontSize,
|
|
68
|
+
marginTop: theme.spacing(0.25)
|
|
69
|
+
},
|
|
70
|
+
timelineHeaderRow: {
|
|
71
|
+
display: "flex",
|
|
72
|
+
alignItems: "center",
|
|
73
|
+
gap: theme.spacing(0.75),
|
|
74
|
+
marginBottom: theme.spacing(0.25)
|
|
75
|
+
},
|
|
76
|
+
timelineEventText: {
|
|
77
|
+
fontWeight: 500
|
|
78
|
+
},
|
|
79
|
+
infoCardSpacing: {
|
|
80
|
+
marginBottom: theme.spacing(1)
|
|
81
|
+
},
|
|
82
|
+
sidebarColumn: {},
|
|
83
|
+
chatPanelWrapper: {
|
|
84
|
+
height: `calc(100vh - 240px)`,
|
|
85
|
+
marginBottom: theme.spacing(1),
|
|
86
|
+
display: "flex",
|
|
87
|
+
flexDirection: "column"
|
|
88
|
+
},
|
|
89
|
+
chatPanel: {
|
|
90
|
+
flex: 1,
|
|
91
|
+
display: "flex",
|
|
92
|
+
flexDirection: "column",
|
|
93
|
+
overflow: "hidden",
|
|
94
|
+
"& > div:first-child": {
|
|
95
|
+
alignItems: "center"
|
|
96
|
+
},
|
|
97
|
+
"& > div:last-child": {
|
|
98
|
+
flex: 1,
|
|
99
|
+
display: "flex",
|
|
100
|
+
flexDirection: "column",
|
|
101
|
+
overflow: "auto",
|
|
102
|
+
padding: 0
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
chatContent: {
|
|
106
|
+
flex: 1,
|
|
107
|
+
display: "flex",
|
|
108
|
+
flexDirection: "column",
|
|
109
|
+
overflow: "hidden"
|
|
110
|
+
},
|
|
111
|
+
chatMessages: {
|
|
112
|
+
flex: 1,
|
|
113
|
+
display: "flex",
|
|
114
|
+
flexDirection: "column",
|
|
115
|
+
gap: theme.spacing(1.5),
|
|
116
|
+
overflow: "auto",
|
|
117
|
+
padding: theme.spacing(2)
|
|
118
|
+
},
|
|
119
|
+
chatMessageUser: {
|
|
120
|
+
alignSelf: "flex-end",
|
|
121
|
+
backgroundColor: theme.palette.primary.main,
|
|
122
|
+
borderRadius: theme.spacing(2),
|
|
123
|
+
borderBottomRightRadius: theme.spacing(0.5),
|
|
124
|
+
padding: theme.spacing(1, 1.5),
|
|
125
|
+
maxWidth: "85%",
|
|
126
|
+
"& p, & span, & li, & strong, & em, & a": {
|
|
127
|
+
color: theme.palette.primary.contrastText
|
|
128
|
+
},
|
|
129
|
+
"& code": {
|
|
130
|
+
color: theme.palette.primary.contrastText,
|
|
131
|
+
backgroundColor: "rgba(255, 255, 255, 0.2)"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
chatMessageAssistant: {
|
|
135
|
+
alignSelf: "flex-start",
|
|
136
|
+
backgroundColor: theme.palette.action.hover,
|
|
137
|
+
borderRadius: theme.spacing(2),
|
|
138
|
+
borderBottomLeftRadius: theme.spacing(0.5),
|
|
139
|
+
padding: theme.spacing(1, 1.5),
|
|
140
|
+
maxWidth: "85%"
|
|
141
|
+
},
|
|
142
|
+
chatInputArea: {
|
|
143
|
+
padding: theme.spacing(0.25, 0.5, 0.5, 0.5),
|
|
144
|
+
marginTop: "auto",
|
|
145
|
+
"& .MuiOutlinedInput-adornedEnd": {
|
|
146
|
+
paddingRight: theme.spacing(0.25)
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
statusStrip: {
|
|
150
|
+
padding: theme.spacing(0.25, 2, 0, 2),
|
|
151
|
+
textAlign: "center"
|
|
152
|
+
},
|
|
153
|
+
statusText: {
|
|
154
|
+
color: theme.palette.text.secondary,
|
|
155
|
+
animation: "$pulse 1.5s ease-in-out infinite"
|
|
156
|
+
},
|
|
157
|
+
"@keyframes pulse": {
|
|
158
|
+
"0%, 100%": {
|
|
159
|
+
opacity: 1
|
|
160
|
+
},
|
|
161
|
+
"50%": {
|
|
162
|
+
opacity: 0.4
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
inputPulsing: {
|
|
166
|
+
"& .MuiOutlinedInput-notchedOutline": {
|
|
167
|
+
animation: "$pulse 1.5s ease-in-out infinite"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
buttonPulsing: {
|
|
171
|
+
animation: "$pulse 1.5s ease-in-out infinite"
|
|
172
|
+
},
|
|
173
|
+
markdownContent: {
|
|
174
|
+
fontSize: theme.typography.body2.fontSize,
|
|
175
|
+
lineHeight: 1.6,
|
|
176
|
+
"& p": {
|
|
177
|
+
margin: 0,
|
|
178
|
+
marginBottom: theme.spacing(1),
|
|
179
|
+
"&:last-child": {
|
|
180
|
+
marginBottom: 0
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"& ul, & ol": {
|
|
184
|
+
margin: 0,
|
|
185
|
+
marginBottom: theme.spacing(1),
|
|
186
|
+
paddingLeft: theme.spacing(2.5),
|
|
187
|
+
"&:last-child": {
|
|
188
|
+
marginBottom: 0
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"& li": {
|
|
192
|
+
marginBottom: theme.spacing(0.5)
|
|
193
|
+
},
|
|
194
|
+
"& code": {
|
|
195
|
+
backgroundColor: theme.palette.action.hover,
|
|
196
|
+
color: theme.palette.primary.main,
|
|
197
|
+
padding: "2px 6px",
|
|
198
|
+
borderRadius: 4,
|
|
199
|
+
fontFamily: "monospace",
|
|
200
|
+
fontSize: "0.85em"
|
|
201
|
+
},
|
|
202
|
+
"& pre": {
|
|
203
|
+
backgroundColor: theme.palette.background.default,
|
|
204
|
+
padding: theme.spacing(1.5),
|
|
205
|
+
borderRadius: theme.shape.borderRadius,
|
|
206
|
+
overflow: "auto",
|
|
207
|
+
marginBottom: theme.spacing(1),
|
|
208
|
+
"& code": {
|
|
209
|
+
backgroundColor: "transparent",
|
|
210
|
+
color: theme.palette.text.secondary,
|
|
211
|
+
padding: 0
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"& strong": {
|
|
215
|
+
fontWeight: 500,
|
|
216
|
+
color: "inherit"
|
|
217
|
+
},
|
|
218
|
+
"& em": {
|
|
219
|
+
fontStyle: "italic"
|
|
220
|
+
},
|
|
221
|
+
"& a": {
|
|
222
|
+
color: theme.palette.primary.main,
|
|
223
|
+
textDecoration: "none",
|
|
224
|
+
"&:hover": {
|
|
225
|
+
textDecoration: "underline"
|
|
226
|
+
},
|
|
227
|
+
"& strong": {
|
|
228
|
+
color: theme.palette.primary.main
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"& blockquote": {
|
|
232
|
+
borderLeft: `3px solid ${theme.palette.primary.main}`,
|
|
233
|
+
margin: 0,
|
|
234
|
+
marginBottom: theme.spacing(1),
|
|
235
|
+
paddingLeft: theme.spacing(1.5),
|
|
236
|
+
color: theme.palette.text.secondary,
|
|
237
|
+
fontStyle: "italic"
|
|
238
|
+
},
|
|
239
|
+
"& h1": {
|
|
240
|
+
fontSize: "1.1em",
|
|
241
|
+
marginTop: theme.spacing(1),
|
|
242
|
+
marginBottom: theme.spacing(0.5),
|
|
243
|
+
fontWeight: 500
|
|
244
|
+
},
|
|
245
|
+
"& h2": {
|
|
246
|
+
fontSize: "1.05em",
|
|
247
|
+
marginTop: theme.spacing(1),
|
|
248
|
+
marginBottom: theme.spacing(0.5),
|
|
249
|
+
fontWeight: 500
|
|
250
|
+
},
|
|
251
|
+
"& h3, & h4, & h5, & h6": {
|
|
252
|
+
fontSize: "1em",
|
|
253
|
+
marginTop: theme.spacing(0.75),
|
|
254
|
+
marginBottom: theme.spacing(0.5),
|
|
255
|
+
fontWeight: 500
|
|
256
|
+
},
|
|
257
|
+
"& h1:first-child, & h2:first-child, & h3:first-child": {
|
|
258
|
+
marginTop: 0
|
|
259
|
+
},
|
|
260
|
+
"& hr": {
|
|
261
|
+
border: "none",
|
|
262
|
+
borderTop: `1px solid ${theme.palette.divider}`,
|
|
263
|
+
margin: theme.spacing(1.5, 0)
|
|
264
|
+
},
|
|
265
|
+
"& table": {
|
|
266
|
+
display: "block",
|
|
267
|
+
width: "100%",
|
|
268
|
+
overflowX: "auto",
|
|
269
|
+
borderCollapse: "collapse",
|
|
270
|
+
marginBottom: theme.spacing(1),
|
|
271
|
+
fontSize: "0.85em",
|
|
272
|
+
whiteSpace: "nowrap",
|
|
273
|
+
// Thin scrollbar
|
|
274
|
+
"&::-webkit-scrollbar": {
|
|
275
|
+
height: 6
|
|
276
|
+
},
|
|
277
|
+
"&::-webkit-scrollbar-track": {
|
|
278
|
+
backgroundColor: theme.palette.action.hover,
|
|
279
|
+
borderRadius: 3
|
|
280
|
+
},
|
|
281
|
+
"&::-webkit-scrollbar-thumb": {
|
|
282
|
+
backgroundColor: theme.palette.action.disabled,
|
|
283
|
+
borderRadius: 3,
|
|
284
|
+
"&:hover": {
|
|
285
|
+
backgroundColor: theme.palette.action.active
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
scrollbarWidth: "thin",
|
|
289
|
+
"&:last-child": {
|
|
290
|
+
marginBottom: 0
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"& th, & td": {
|
|
294
|
+
border: `1px solid ${theme.palette.divider}`,
|
|
295
|
+
padding: theme.spacing(0.75, 1),
|
|
296
|
+
textAlign: "left"
|
|
297
|
+
},
|
|
298
|
+
"& th": {
|
|
299
|
+
backgroundColor: theme.palette.action.hover,
|
|
300
|
+
fontWeight: 500
|
|
301
|
+
},
|
|
302
|
+
"& tr:nth-child(even)": {
|
|
303
|
+
backgroundColor: theme.palette.action.hover
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
chatError: {
|
|
307
|
+
padding: theme.spacing(0.5, 1),
|
|
308
|
+
backgroundColor: theme.palette.error.light,
|
|
309
|
+
textAlign: "center"
|
|
310
|
+
},
|
|
311
|
+
severityCritical: {
|
|
312
|
+
backgroundColor: theme.palette.error.light,
|
|
313
|
+
color: theme.palette.error.dark
|
|
314
|
+
},
|
|
315
|
+
severityWarning: {
|
|
316
|
+
backgroundColor: theme.palette.warning.light,
|
|
317
|
+
color: theme.palette.warning.dark
|
|
318
|
+
},
|
|
319
|
+
severityNormal: {
|
|
320
|
+
backgroundColor: theme.palette.success.light,
|
|
321
|
+
color: theme.palette.success.dark
|
|
322
|
+
},
|
|
323
|
+
outcomeNoAnomaly: {
|
|
324
|
+
backgroundColor: theme.palette.success.light,
|
|
325
|
+
color: theme.palette.success.dark
|
|
326
|
+
},
|
|
327
|
+
outcomeInsufficientData: {
|
|
328
|
+
backgroundColor: theme.palette.warning.light,
|
|
329
|
+
color: theme.palette.warning.dark
|
|
330
|
+
},
|
|
331
|
+
outcomeTransient: {
|
|
332
|
+
backgroundColor: theme.palette.grey[200],
|
|
333
|
+
color: theme.palette.grey[700]
|
|
334
|
+
},
|
|
335
|
+
outcomeExternal: {
|
|
336
|
+
backgroundColor: theme.palette.grey[300],
|
|
337
|
+
color: theme.palette.grey[800]
|
|
338
|
+
},
|
|
339
|
+
// Alert Context pane styles
|
|
340
|
+
alertContextHeader: {
|
|
341
|
+
display: "flex",
|
|
342
|
+
justifyContent: "space-between",
|
|
343
|
+
alignItems: "flex-start",
|
|
344
|
+
marginBottom: theme.spacing(1)
|
|
345
|
+
},
|
|
346
|
+
alertContextName: {
|
|
347
|
+
fontSize: theme.typography.h6.fontSize,
|
|
348
|
+
fontWeight: 500,
|
|
349
|
+
color: theme.palette.text.primary
|
|
350
|
+
},
|
|
351
|
+
alertContextDescriptionInline: {
|
|
352
|
+
fontSize: theme.typography.body2.fontSize,
|
|
353
|
+
color: theme.palette.text.secondary,
|
|
354
|
+
marginBottom: theme.spacing(2)
|
|
355
|
+
},
|
|
356
|
+
// Property row pattern (consistent with rest of repo)
|
|
357
|
+
propertyGrid: {
|
|
358
|
+
display: "flex",
|
|
359
|
+
flexDirection: "column",
|
|
360
|
+
gap: theme.spacing(1.5),
|
|
361
|
+
marginBottom: theme.spacing(2)
|
|
362
|
+
},
|
|
363
|
+
propertyRow: {
|
|
364
|
+
display: "flex",
|
|
365
|
+
alignItems: "baseline",
|
|
366
|
+
gap: theme.spacing(2)
|
|
367
|
+
},
|
|
368
|
+
propertyKey: {
|
|
369
|
+
fontWeight: 500,
|
|
370
|
+
color: theme.palette.text.secondary,
|
|
371
|
+
fontSize: theme.typography.body2.fontSize,
|
|
372
|
+
minWidth: 100,
|
|
373
|
+
flexShrink: 0
|
|
374
|
+
},
|
|
375
|
+
propertyValue: {
|
|
376
|
+
color: theme.palette.text.primary,
|
|
377
|
+
fontSize: theme.typography.body2.fontSize,
|
|
378
|
+
wordBreak: "break-word"
|
|
379
|
+
},
|
|
380
|
+
propertyValueHighlight: {
|
|
381
|
+
fontWeight: 500,
|
|
382
|
+
color: theme.palette.warning.main
|
|
383
|
+
},
|
|
384
|
+
alertContextQueryBox: {
|
|
385
|
+
marginTop: theme.spacing(1)
|
|
386
|
+
},
|
|
387
|
+
alertContextQuery: {
|
|
388
|
+
fontFamily: "monospace",
|
|
389
|
+
fontSize: theme.typography.caption.fontSize,
|
|
390
|
+
backgroundColor: theme.palette.action.hover,
|
|
391
|
+
padding: theme.spacing(1, 1.5),
|
|
392
|
+
borderRadius: theme.shape.borderRadius,
|
|
393
|
+
color: theme.palette.text.primary,
|
|
394
|
+
wordBreak: "break-word",
|
|
395
|
+
marginTop: theme.spacing(0.5)
|
|
396
|
+
},
|
|
397
|
+
overviewDivider: {
|
|
398
|
+
borderTop: `1px solid ${theme.palette.divider}`,
|
|
399
|
+
margin: theme.spacing(2, 0)
|
|
400
|
+
},
|
|
401
|
+
fixesPanelWrapper: {
|
|
402
|
+
maxHeight: `calc(100vh - 240px)`,
|
|
403
|
+
marginBottom: theme.spacing(1),
|
|
404
|
+
display: "flex",
|
|
405
|
+
flexDirection: "column"
|
|
406
|
+
},
|
|
407
|
+
fixesPanel: {
|
|
408
|
+
flex: 1,
|
|
409
|
+
display: "flex",
|
|
410
|
+
flexDirection: "column",
|
|
411
|
+
overflow: "hidden",
|
|
412
|
+
"& > div:first-child": {
|
|
413
|
+
alignItems: "center"
|
|
414
|
+
},
|
|
415
|
+
"& > div:last-child": {
|
|
416
|
+
flex: 1,
|
|
417
|
+
display: "flex",
|
|
418
|
+
flexDirection: "column",
|
|
419
|
+
overflow: "auto",
|
|
420
|
+
padding: 0
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
fixesContent: {
|
|
424
|
+
flex: 1,
|
|
425
|
+
overflow: "auto",
|
|
426
|
+
padding: theme.spacing(2)
|
|
427
|
+
},
|
|
428
|
+
patchActionCard: {
|
|
429
|
+
display: "flex",
|
|
430
|
+
flexDirection: "column",
|
|
431
|
+
gap: theme.spacing(1.5),
|
|
432
|
+
marginBottom: theme.spacing(1.5),
|
|
433
|
+
border: `1px solid ${theme.palette.divider}`,
|
|
434
|
+
borderRadius: theme.shape.borderRadius,
|
|
435
|
+
overflow: "hidden",
|
|
436
|
+
padding: theme.spacing(2),
|
|
437
|
+
"&:last-child": {
|
|
438
|
+
marginBottom: 0
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
patchActionDescription: {
|
|
442
|
+
fontWeight: 500,
|
|
443
|
+
fontSize: theme.typography.caption.fontSize,
|
|
444
|
+
color: theme.palette.text.primary,
|
|
445
|
+
lineHeight: 1.4
|
|
446
|
+
},
|
|
447
|
+
patchActionFooter: {
|
|
448
|
+
display: "flex",
|
|
449
|
+
alignItems: "center",
|
|
450
|
+
justifyContent: "space-between",
|
|
451
|
+
gap: theme.spacing(1)
|
|
452
|
+
},
|
|
453
|
+
patchResultDetails: {
|
|
454
|
+
fontSize: theme.typography.caption.fontSize,
|
|
455
|
+
color: theme.palette.text.secondary,
|
|
456
|
+
fontStyle: "italic"
|
|
457
|
+
},
|
|
458
|
+
patchBindingName: {
|
|
459
|
+
fontSize: theme.typography.caption.fontSize,
|
|
460
|
+
color: theme.palette.primary.main,
|
|
461
|
+
fontWeight: 500,
|
|
462
|
+
letterSpacing: "0.3px"
|
|
463
|
+
}
|
|
464
|
+
}));
|
|
465
|
+
|
|
466
|
+
export { useRCAReportStyles };
|
|
467
|
+
//# sourceMappingURL=styles.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.esm.js","sources":["../../../../src/components/RCA/RCAReport/styles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core/styles';\n\nexport const useRCAReportStyles = makeStyles(theme => ({\n header: {\n backgroundColor: theme.palette.background.paper,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: theme.spacing(1, 2),\n borderBottom: `1px solid ${theme.palette.divider}`,\n },\n headerLeft: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n },\n backButton: {\n marginRight: theme.spacing(1),\n },\n titleContainer: {\n display: 'flex',\n flexDirection: 'column',\n },\n title: {\n fontWeight: 500,\n },\n subtitle: {\n color: theme.palette.text.secondary,\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n },\n content: {\n paddingTop: theme.spacing(1),\n },\n cardTitle: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n },\n cardTitleIcon: {\n color: theme.palette.primary.main,\n fontSize: theme.typography.h3.fontSize,\n },\n emptyState: {\n padding: theme.spacing(4),\n textAlign: 'center',\n },\n timelineContainer: {},\n numberedDot: {\n width: 24,\n height: 24,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 0,\n },\n dotNumber: {\n fontSize: theme.typography.caption.fontSize,\n fontWeight: 500,\n color: theme.palette.primary.contrastText,\n lineHeight: 1,\n },\n stepRationale: {\n fontStyle: 'italic',\n color: theme.palette.text.secondary,\n fontSize: theme.typography.caption.fontSize,\n marginTop: theme.spacing(0.25),\n },\n timelineHeaderRow: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.75),\n marginBottom: theme.spacing(0.25),\n },\n timelineEventText: {\n fontWeight: 500,\n },\n infoCardSpacing: {\n marginBottom: theme.spacing(1),\n },\n sidebarColumn: {},\n chatPanelWrapper: {\n height: `calc(100vh - 240px)`,\n marginBottom: theme.spacing(1),\n display: 'flex',\n flexDirection: 'column',\n },\n chatPanel: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n '& > div:first-child': {\n alignItems: 'center',\n },\n '& > div:last-child': {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n padding: 0,\n },\n },\n chatContent: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n },\n chatMessages: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1.5),\n overflow: 'auto',\n padding: theme.spacing(2),\n },\n chatMessageUser: {\n alignSelf: 'flex-end',\n backgroundColor: theme.palette.primary.main,\n borderRadius: theme.spacing(2),\n borderBottomRightRadius: theme.spacing(0.5),\n padding: theme.spacing(1, 1.5),\n maxWidth: '85%',\n '& p, & span, & li, & strong, & em, & a': {\n color: theme.palette.primary.contrastText,\n },\n '& code': {\n color: theme.palette.primary.contrastText,\n backgroundColor: 'rgba(255, 255, 255, 0.2)',\n },\n },\n chatMessageAssistant: {\n alignSelf: 'flex-start',\n backgroundColor: theme.palette.action.hover,\n borderRadius: theme.spacing(2),\n borderBottomLeftRadius: theme.spacing(0.5),\n padding: theme.spacing(1, 1.5),\n maxWidth: '85%',\n },\n chatInputArea: {\n padding: theme.spacing(0.25, 0.5, 0.5, 0.5),\n marginTop: 'auto',\n '& .MuiOutlinedInput-adornedEnd': {\n paddingRight: theme.spacing(0.25),\n },\n },\n statusStrip: {\n padding: theme.spacing(0.25, 2, 0, 2),\n textAlign: 'center',\n },\n statusText: {\n color: theme.palette.text.secondary,\n animation: '$pulse 1.5s ease-in-out infinite',\n },\n '@keyframes pulse': {\n '0%, 100%': {\n opacity: 1,\n },\n '50%': {\n opacity: 0.4,\n },\n },\n inputPulsing: {\n '& .MuiOutlinedInput-notchedOutline': {\n animation: '$pulse 1.5s ease-in-out infinite',\n },\n },\n buttonPulsing: {\n animation: '$pulse 1.5s ease-in-out infinite',\n },\n markdownContent: {\n fontSize: theme.typography.body2.fontSize,\n lineHeight: 1.6,\n '& p': {\n margin: 0,\n marginBottom: theme.spacing(1),\n '&:last-child': {\n marginBottom: 0,\n },\n },\n '& ul, & ol': {\n margin: 0,\n marginBottom: theme.spacing(1),\n paddingLeft: theme.spacing(2.5),\n '&:last-child': {\n marginBottom: 0,\n },\n },\n '& li': {\n marginBottom: theme.spacing(0.5),\n },\n '& code': {\n backgroundColor: theme.palette.action.hover,\n color: theme.palette.primary.main,\n padding: '2px 6px',\n borderRadius: 4,\n fontFamily: 'monospace',\n fontSize: '0.85em',\n },\n '& pre': {\n backgroundColor: theme.palette.background.default,\n padding: theme.spacing(1.5),\n borderRadius: theme.shape.borderRadius,\n overflow: 'auto',\n marginBottom: theme.spacing(1),\n '& code': {\n backgroundColor: 'transparent',\n color: theme.palette.text.secondary,\n padding: 0,\n },\n },\n '& strong': {\n fontWeight: 500,\n color: 'inherit',\n },\n '& em': {\n fontStyle: 'italic',\n },\n '& a': {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline',\n },\n '& strong': {\n color: theme.palette.primary.main,\n },\n },\n '& blockquote': {\n borderLeft: `3px solid ${theme.palette.primary.main}`,\n margin: 0,\n marginBottom: theme.spacing(1),\n paddingLeft: theme.spacing(1.5),\n color: theme.palette.text.secondary,\n fontStyle: 'italic',\n },\n '& h1': {\n fontSize: '1.1em',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(0.5),\n fontWeight: 500,\n },\n '& h2': {\n fontSize: '1.05em',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(0.5),\n fontWeight: 500,\n },\n '& h3, & h4, & h5, & h6': {\n fontSize: '1em',\n marginTop: theme.spacing(0.75),\n marginBottom: theme.spacing(0.5),\n fontWeight: 500,\n },\n '& h1:first-child, & h2:first-child, & h3:first-child': {\n marginTop: 0,\n },\n '& hr': {\n border: 'none',\n borderTop: `1px solid ${theme.palette.divider}`,\n margin: theme.spacing(1.5, 0),\n },\n '& table': {\n display: 'block',\n width: '100%',\n overflowX: 'auto',\n borderCollapse: 'collapse',\n marginBottom: theme.spacing(1),\n fontSize: '0.85em',\n whiteSpace: 'nowrap',\n // Thin scrollbar\n '&::-webkit-scrollbar': {\n height: 6,\n },\n '&::-webkit-scrollbar-track': {\n backgroundColor: theme.palette.action.hover,\n borderRadius: 3,\n },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: theme.palette.action.disabled,\n borderRadius: 3,\n '&:hover': {\n backgroundColor: theme.palette.action.active,\n },\n },\n scrollbarWidth: 'thin',\n '&:last-child': {\n marginBottom: 0,\n },\n },\n '& th, & td': {\n border: `1px solid ${theme.palette.divider}`,\n padding: theme.spacing(0.75, 1),\n textAlign: 'left',\n },\n '& th': {\n backgroundColor: theme.palette.action.hover,\n fontWeight: 500,\n },\n '& tr:nth-child(even)': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n chatError: {\n padding: theme.spacing(0.5, 1),\n backgroundColor: theme.palette.error.light,\n textAlign: 'center',\n },\n severityCritical: {\n backgroundColor: theme.palette.error.light,\n color: theme.palette.error.dark,\n },\n severityWarning: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.warning.dark,\n },\n severityNormal: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.success.dark,\n },\n outcomeNoAnomaly: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.success.dark,\n },\n outcomeInsufficientData: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.warning.dark,\n },\n outcomeTransient: {\n backgroundColor: theme.palette.grey[200],\n color: theme.palette.grey[700],\n },\n outcomeExternal: {\n backgroundColor: theme.palette.grey[300],\n color: theme.palette.grey[800],\n },\n // Alert Context pane styles\n alertContextHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n marginBottom: theme.spacing(1),\n },\n alertContextName: {\n fontSize: theme.typography.h6.fontSize,\n fontWeight: 500,\n color: theme.palette.text.primary,\n },\n alertContextDescriptionInline: {\n fontSize: theme.typography.body2.fontSize,\n color: theme.palette.text.secondary,\n marginBottom: theme.spacing(2),\n },\n // Property row pattern (consistent with rest of repo)\n propertyGrid: {\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1.5),\n marginBottom: theme.spacing(2),\n },\n propertyRow: {\n display: 'flex',\n alignItems: 'baseline',\n gap: theme.spacing(2),\n },\n propertyKey: {\n fontWeight: 500,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.body2.fontSize,\n minWidth: 100,\n flexShrink: 0,\n },\n propertyValue: {\n color: theme.palette.text.primary,\n fontSize: theme.typography.body2.fontSize,\n wordBreak: 'break-word',\n },\n propertyValueHighlight: {\n fontWeight: 500,\n color: theme.palette.warning.main,\n },\n alertContextQueryBox: {\n marginTop: theme.spacing(1),\n },\n alertContextQuery: {\n fontFamily: 'monospace',\n fontSize: theme.typography.caption.fontSize,\n backgroundColor: theme.palette.action.hover,\n padding: theme.spacing(1, 1.5),\n borderRadius: theme.shape.borderRadius,\n color: theme.palette.text.primary,\n wordBreak: 'break-word',\n marginTop: theme.spacing(0.5),\n },\n overviewDivider: {\n borderTop: `1px solid ${theme.palette.divider}`,\n margin: theme.spacing(2, 0),\n },\n fixesPanelWrapper: {\n maxHeight: `calc(100vh - 240px)`,\n marginBottom: theme.spacing(1),\n display: 'flex',\n flexDirection: 'column',\n },\n fixesPanel: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n '& > div:first-child': {\n alignItems: 'center',\n },\n '& > div:last-child': {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n padding: 0,\n },\n },\n fixesContent: {\n flex: 1,\n overflow: 'auto',\n padding: theme.spacing(2),\n },\n patchActionCard: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: theme.spacing(1.5),\n marginBottom: theme.spacing(1.5),\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: theme.shape.borderRadius,\n overflow: 'hidden',\n padding: theme.spacing(2),\n '&:last-child': {\n marginBottom: 0,\n },\n },\n patchActionDescription: {\n fontWeight: 500,\n fontSize: theme.typography.caption.fontSize,\n color: theme.palette.text.primary,\n lineHeight: 1.4,\n },\n patchActionFooter: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: theme.spacing(1),\n },\n patchResultDetails: {\n fontSize: theme.typography.caption.fontSize,\n color: theme.palette.text.secondary,\n fontStyle: 'italic',\n },\n patchBindingName: {\n fontSize: theme.typography.caption.fontSize,\n color: theme.palette.primary.main,\n fontWeight: 500,\n letterSpacing: '0.3px',\n },\n}));\n"],"names":[],"mappings":"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"}
|