@kartverket/backstage-plugin-risk-scorecard 3.11.1 → 3.12.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.
Files changed (59) hide show
  1. package/css/theme.css +2 -1
  2. package/dist/@kartverket-backstage-plugin-risk-scorecard-3.12.0.tgz +0 -0
  3. package/dist/components/action/ActionView.esm.js +11 -11
  4. package/dist/components/action/ActionView.esm.js.map +1 -1
  5. package/dist/components/common/UpdatedStatusBadge.esm.js +19 -24
  6. package/dist/components/common/UpdatedStatusBadge.esm.js.map +1 -1
  7. package/dist/components/common/UpdatedStatusBadge.module.css.esm.js +2 -2
  8. package/dist/components/riScDialog/ConfigInitialRisc.esm.js +19 -3
  9. package/dist/components/riScDialog/ConfigInitialRisc.esm.js.map +1 -1
  10. package/dist/components/riScDialog/ConfigInitialRisc.module.css.esm.js +2 -2
  11. package/dist/components/riScHeader/RiScHeader.esm.js +1 -5
  12. package/dist/components/riScHeader/RiScHeader.esm.js.map +1 -1
  13. package/dist/components/riScInfo/changeset/RiScChangeSet.esm.js +0 -2
  14. package/dist/components/riScInfo/changeset/RiScChangeSet.esm.js.map +1 -1
  15. package/dist/components/riScInfo/migrations/RiScMigrationChanges.esm.js +3 -1
  16. package/dist/components/riScInfo/migrations/RiScMigrationChanges.esm.js.map +1 -1
  17. package/dist/components/riScInfo/migrations/RiScMigrationChanges52.esm.js +52 -0
  18. package/dist/components/riScInfo/migrations/RiScMigrationChanges52.esm.js.map +1 -0
  19. package/dist/components/riskMatrix/AggregatedCost.esm.js +21 -9
  20. package/dist/components/riskMatrix/AggregatedCost.esm.js.map +1 -1
  21. package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js +157 -67
  22. package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js.map +1 -1
  23. package/dist/components/riskMatrix/RiskMatrix.esm.js +2 -1
  24. package/dist/components/riskMatrix/RiskMatrix.esm.js.map +1 -1
  25. package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js +4 -1
  26. package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js.map +1 -1
  27. package/dist/components/scenario/ScenarioLastUpdatedLabel.esm.js +2 -1
  28. package/dist/components/scenario/ScenarioLastUpdatedLabel.esm.js.map +1 -1
  29. package/dist/components/scenario/ScenarioLastUpdatedLabel.module.css.esm.js +2 -2
  30. package/dist/components/scenarioDrawer/components/ActionsSection.esm.js +7 -2
  31. package/dist/components/scenarioDrawer/components/ActionsSection.esm.js.map +1 -1
  32. package/dist/components/scenarioTable/ActionsCountButton.module.css.esm.js +1 -1
  33. package/dist/components/scenarioWizard/ScenarioWizard.esm.js +9 -1
  34. package/dist/components/scenarioWizard/ScenarioWizard.esm.js.map +1 -1
  35. package/dist/components/scenarioWizard/ScenarioWizardTable.module.css.esm.js +8 -0
  36. package/dist/components/scenarioWizard/ScenarioWizardTable.module.css.esm.js.map +1 -0
  37. package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js +59 -73
  38. package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js.map +1 -1
  39. package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js +15 -27
  40. package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js.map +1 -1
  41. package/dist/contexts/BackstageContext.esm.js +4 -1
  42. package/dist/contexts/BackstageContext.esm.js.map +1 -1
  43. package/dist/contexts/ScenarioContext.esm.js +1 -1
  44. package/dist/contexts/ScenarioContext.esm.js.map +1 -1
  45. package/dist/utils/DTOs.esm.js.map +1 -1
  46. package/dist/utils/constants.esm.js +1 -1
  47. package/dist/utils/constants.esm.js.map +1 -1
  48. package/dist/utils/translations.esm.js +47 -3
  49. package/dist/utils/translations.esm.js.map +1 -1
  50. package/dist/utils/types.esm.js.map +1 -1
  51. package/dist/utils/utilityfunctions.esm.js +18 -2
  52. package/dist/utils/utilityfunctions.esm.js.map +1 -1
  53. package/package.json +15 -12
  54. package/dist/components/riScHeader/VersionChip.esm.js +0 -29
  55. package/dist/components/riScHeader/VersionChip.esm.js.map +0 -1
  56. package/dist/components/riScInfo/changeset/RiScValuationChange.esm.js +0 -57
  57. package/dist/components/riScInfo/changeset/RiScValuationChange.esm.js.map +0 -1
  58. package/dist/components/scenarioWizard/wizardStyles.esm.js +0 -35
  59. package/dist/components/scenarioWizard/wizardStyles.esm.js.map +0 -1
package/css/theme.css CHANGED
@@ -66,7 +66,7 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
66
66
  --ros-outdated: var(--ros-orange-400);
67
67
  --ros-outdated-hover-bg: var(--ros-orange-50);
68
68
  --ros-outdated-hover-text: var(--ros-orange-400);
69
- --ros-outdated-selected-bg: var(--ros-orange-300);
69
+ --ros-outdated-selected-bg: var(--ros-orange-400);
70
70
  --ros-outdated-selected-border: transparent;
71
71
  --ros-outdated-selected-text: var(--bui-white);
72
72
 
@@ -115,6 +115,7 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
115
115
  --ros-outdated-hover-bg: transparent;
116
116
  --ros-outdated-hover: var(--ros-orange-200);
117
117
  --ros-outdated-selected: var(--ros-orange-100);
118
+ --ros-outdated-selected-bg: var(--ros-orange-200);
118
119
  --ros-outdated-selected-text: var(--ros-gray-700);
119
120
  --ros-outdated-selected-border: var(--ros-gray-700);
120
121
 
@@ -67,10 +67,7 @@ function ActionView(props) {
67
67
  )
68
68
  }
69
69
  ),
70
- /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "1", children: [
71
- /* @__PURE__ */ jsx(UpdatedStatusBadge, { status: props.updatedStatus }),
72
- /* @__PURE__ */ jsx(Text, { variant: "body-large", children: props.action.title ?? `${t("dictionary.measure")} ${props.index ?? ""}` })
73
- ] })
70
+ /* @__PURE__ */ jsx(Text, { variant: "body-large", children: props.action.title ?? `${t("dictionary.measure")} ${props.index ?? ""}` })
74
71
  ] }),
75
72
  /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "end", children: [
76
73
  /* @__PURE__ */ jsx(
@@ -104,13 +101,16 @@ function ActionView(props) {
104
101
  }))
105
102
  }
106
103
  ),
107
- /* @__PURE__ */ jsx(
108
- ScenarioLastUpdatedLabel,
109
- {
110
- lastUpdated: !!props.optimisticStatus ? /* @__PURE__ */ new Date() : props.action.lastUpdated,
111
- lastUpdatedBy: props.action.lastUpdatedBy
112
- }
113
- ),
104
+ /* @__PURE__ */ jsxs(Flex, { gap: "0", align: "center", children: [
105
+ /* @__PURE__ */ jsx(
106
+ ScenarioLastUpdatedLabel,
107
+ {
108
+ lastUpdated: !!props.optimisticStatus ? /* @__PURE__ */ new Date() : props.action.lastUpdated,
109
+ lastUpdatedBy: props.action.lastUpdatedBy
110
+ }
111
+ ),
112
+ /* @__PURE__ */ jsx(UpdatedStatusBadge, { status: props.updatedStatus })
113
+ ] }),
114
114
  props.allowDeletion && /* @__PURE__ */ jsx(
115
115
  IconButton,
116
116
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ActionView.esm.js","sources":["../../../src/components/action/ActionView.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport IconButton from '@mui/material/IconButton';\nimport { DualButtonWithMenu } from '../common/DualButtonWithMenu.tsx';\nimport {\n actionStatusOptionsToTranslationKeys,\n getTranslatedActionStatus,\n UpdatedStatusEnumType,\n} from '../../utils/utilityfunctions.ts';\nimport { ActionStatusOptions } from '../../utils/constants.ts';\nimport { ScenarioLastUpdatedLabel } from '../scenario/ScenarioLastUpdatedLabel.tsx';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport { Edit } from '@mui/icons-material';\nimport { Markdown } from '../common/Markdown.tsx';\nimport { ActionURL } from './ActionURL.tsx';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { Action } from '../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { UpdatedStatusBadge } from '../common/UpdatedStatusBadge.tsx';\n\ntype ActionViewProps = {\n action: Action;\n onRefreshActionStatus: (action: Action) => void;\n onNewActionStatus: (actionId: string, newStatus: ActionStatusOptions) => void;\n toggleEditMode: () => void;\n openDeleteDialog: () => void;\n updatedStatus: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n optimisticStatus?: ActionStatusOptions;\n allowDeletion?: boolean;\n allowEdit?: boolean;\n index?: number;\n};\n\nconst getActionStatusButtonClass = (status: string): string => {\n switch (status) {\n case ActionStatusOptions.OK:\n return 'ros-button-green';\n case ActionStatusOptions.NotOK:\n return 'ros-button-red';\n default:\n return 'ros-button-gray';\n }\n};\n\nexport function ActionView(props: ActionViewProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { isActionExpanded, toggleActionExpanded } = useScenario();\n const isExpanded = isActionExpanded(props.action.ID);\n\n return (\n <>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.stopPropagation();\n\n const target = e.target as HTMLElement | null;\n if (target && target.closest('[data-no-row-toggle]')) return;\n\n toggleActionExpanded(props.action.ID);\n }}\n onKeyDown={e => {\n // Prevent keyboard event from bubbling up to parent(s)\n e.stopPropagation();\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggleActionExpanded(props.action.ID);\n }\n }}\n style={{ cursor: 'pointer' }}\n >\n <Flex align=\"center\" gap=\"1\" justify=\"between\">\n <Flex align=\"center\" justify=\"start\" style={{ width: '40%' }}>\n <IconButton\n onClick={e => {\n e.stopPropagation();\n toggleActionExpanded(props.action.ID);\n }}\n >\n <i\n className={`ri-arrow-${isExpanded ? 'down' : 'right'}-s-line`}\n />\n </IconButton>\n <Flex direction=\"column\" gap=\"1\">\n <UpdatedStatusBadge status={props.updatedStatus} />\n <Text variant=\"body-large\">\n {props.action.title ??\n `${t('dictionary.measure')} ${props.index ?? ''}`}\n </Text>\n </Flex>\n </Flex>\n <Flex align=\"center\" justify=\"end\">\n <DualButtonWithMenu\n propsCommon={{\n className: getActionStatusButtonClass(\n props.optimisticStatus ?? props.action.status,\n ),\n }}\n propsLeft={{\n children: getTranslatedActionStatus(\n props.optimisticStatus ?? props.action.status,\n t,\n ),\n }}\n propsRight={{\n iconEnd: <i className=\"ri-loop-left-line\" />,\n onClick: () => {\n props.onRefreshActionStatus(props.action);\n },\n }}\n menuItems={Object.values(ActionStatusOptions).map(value => ({\n key: value,\n // @ts-ignore\n label: t(\n actionStatusOptionsToTranslationKeys[\n value as ActionStatusOptions\n ],\n ),\n onClick: () => props.onNewActionStatus(props.action.ID, value),\n selected: props.optimisticStatus\n ? value === props.optimisticStatus\n : value === props.action.status,\n }))}\n />\n <ScenarioLastUpdatedLabel\n lastUpdated={\n !!props.optimisticStatus ? new Date() : props.action.lastUpdated\n }\n lastUpdatedBy={props.action.lastUpdatedBy}\n />\n {props.allowDeletion && (\n <IconButton\n onClick={e => {\n e.stopPropagation();\n props.openDeleteDialog();\n }}\n >\n <DeleteIcon />\n </IconButton>\n )}\n </Flex>\n </Flex>\n </div>\n <Collapse\n in={isExpanded}\n sx={{ marginTop: 1 }}\n timeout=\"auto\"\n unmountOnExit\n >\n <Box ml=\"56px\" mt=\"4\" mb=\"2\">\n <Flex justify=\"between\" mt=\"8px\" align=\"end\">\n <Text as=\"p\" variant=\"body-large\" weight=\"bold\">\n {t('dictionary.description')}\n </Text>\n {props.allowEdit && (\n <IconButton\n sx={{\n marginLeft: 'auto',\n transition: 'opacity 300ms ease-in',\n }}\n onClick={e => {\n e.stopPropagation();\n props.toggleEditMode();\n }}\n >\n <Edit />\n </IconButton>\n )}\n </Flex>\n <Markdown description={props.action.description} />\n <ActionURL url={props.action.url} />\n </Box>\n </Collapse>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionView.esm.js","sources":["../../../src/components/action/ActionView.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport IconButton from '@mui/material/IconButton';\nimport { DualButtonWithMenu } from '../common/DualButtonWithMenu.tsx';\nimport {\n actionStatusOptionsToTranslationKeys,\n getTranslatedActionStatus,\n UpdatedStatusEnumType,\n} from '../../utils/utilityfunctions.ts';\nimport { ActionStatusOptions } from '../../utils/constants.ts';\nimport { ScenarioLastUpdatedLabel } from '../scenario/ScenarioLastUpdatedLabel.tsx';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport Collapse from '@mui/material/Collapse';\nimport Box from '@mui/material/Box';\nimport { Edit } from '@mui/icons-material';\nimport { Markdown } from '../common/Markdown.tsx';\nimport { ActionURL } from './ActionURL.tsx';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { Action } from '../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { UpdatedStatusBadge } from '../common/UpdatedStatusBadge.tsx';\n\ntype ActionViewProps = {\n action: Action;\n onRefreshActionStatus: (action: Action) => void;\n onNewActionStatus: (actionId: string, newStatus: ActionStatusOptions) => void;\n toggleEditMode: () => void;\n openDeleteDialog: () => void;\n updatedStatus: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n optimisticStatus?: ActionStatusOptions;\n allowDeletion?: boolean;\n allowEdit?: boolean;\n index?: number;\n};\n\nconst getActionStatusButtonClass = (status: string): string => {\n switch (status) {\n case ActionStatusOptions.OK:\n return 'ros-button-green';\n case ActionStatusOptions.NotOK:\n return 'ros-button-red';\n default:\n return 'ros-button-gray';\n }\n};\n\nexport function ActionView(props: ActionViewProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { isActionExpanded, toggleActionExpanded } = useScenario();\n const isExpanded = isActionExpanded(props.action.ID);\n\n return (\n <>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.stopPropagation();\n\n const target = e.target as HTMLElement | null;\n if (target && target.closest('[data-no-row-toggle]')) return;\n\n toggleActionExpanded(props.action.ID);\n }}\n onKeyDown={e => {\n // Prevent keyboard event from bubbling up to parent(s)\n e.stopPropagation();\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggleActionExpanded(props.action.ID);\n }\n }}\n style={{ cursor: 'pointer' }}\n >\n <Flex align=\"center\" gap=\"1\" justify=\"between\">\n <Flex align=\"center\" justify=\"start\" style={{ width: '40%' }}>\n <IconButton\n onClick={e => {\n e.stopPropagation();\n toggleActionExpanded(props.action.ID);\n }}\n >\n <i\n className={`ri-arrow-${isExpanded ? 'down' : 'right'}-s-line`}\n />\n </IconButton>\n <Text variant=\"body-large\">\n {props.action.title ??\n `${t('dictionary.measure')} ${props.index ?? ''}`}\n </Text>\n </Flex>\n <Flex align=\"center\" justify=\"end\">\n <DualButtonWithMenu\n propsCommon={{\n className: getActionStatusButtonClass(\n props.optimisticStatus ?? props.action.status,\n ),\n }}\n propsLeft={{\n children: getTranslatedActionStatus(\n props.optimisticStatus ?? props.action.status,\n t,\n ),\n }}\n propsRight={{\n iconEnd: <i className=\"ri-loop-left-line\" />,\n onClick: () => {\n props.onRefreshActionStatus(props.action);\n },\n }}\n menuItems={Object.values(ActionStatusOptions).map(value => ({\n key: value,\n // @ts-ignore\n label: t(\n actionStatusOptionsToTranslationKeys[\n value as ActionStatusOptions\n ],\n ),\n onClick: () => props.onNewActionStatus(props.action.ID, value),\n selected: props.optimisticStatus\n ? value === props.optimisticStatus\n : value === props.action.status,\n }))}\n />\n <Flex gap=\"0\" align=\"center\">\n <ScenarioLastUpdatedLabel\n lastUpdated={\n !!props.optimisticStatus\n ? new Date()\n : props.action.lastUpdated\n }\n lastUpdatedBy={props.action.lastUpdatedBy}\n />\n <UpdatedStatusBadge status={props.updatedStatus} />\n </Flex>\n {props.allowDeletion && (\n <IconButton\n onClick={e => {\n e.stopPropagation();\n props.openDeleteDialog();\n }}\n >\n <DeleteIcon />\n </IconButton>\n )}\n </Flex>\n </Flex>\n </div>\n <Collapse\n in={isExpanded}\n sx={{ marginTop: 1 }}\n timeout=\"auto\"\n unmountOnExit\n >\n <Box ml=\"56px\" mt=\"4\" mb=\"2\">\n <Flex justify=\"between\" mt=\"8px\" align=\"end\">\n <Text as=\"p\" variant=\"body-large\" weight=\"bold\">\n {t('dictionary.description')}\n </Text>\n {props.allowEdit && (\n <IconButton\n sx={{\n marginLeft: 'auto',\n transition: 'opacity 300ms ease-in',\n }}\n onClick={e => {\n e.stopPropagation();\n props.toggleEditMode();\n }}\n >\n <Edit />\n </IconButton>\n )}\n </Flex>\n <Markdown description={props.action.description} />\n <ActionURL url={props.action.url} />\n </Box>\n </Collapse>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAmCA,MAAM,0BAAA,GAA6B,CAAC,MAAA,KAA2B;AAC7D,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,mBAAA,CAAoB,EAAA;AACvB,MAAA,OAAO,kBAAA;AAAA,IACT,KAAK,mBAAA,CAAoB,KAAA;AACvB,MAAA,OAAO,gBAAA;AAAA,IACT;AACE,MAAA,OAAO,iBAAA;AAAA;AAEb,CAAA;AAEO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,EAAE,gBAAA,EAAkB,oBAAA,EAAqB,GAAI,WAAA,EAAY;AAC/D,EAAA,MAAM,UAAA,GAAa,gBAAA,CAAiB,KAAA,CAAM,MAAA,CAAO,EAAE,CAAA;AAEnD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,QAAA,EAAU,CAAA;AAAA,QACV,SAAS,CAAA,CAAA,KAAK;AACZ,UAAA,CAAA,CAAE,eAAA,EAAgB;AAElB,UAAA,MAAM,SAAS,CAAA,CAAE,MAAA;AACjB,UAAA,IAAI,MAAA,IAAU,MAAA,CAAO,OAAA,CAAQ,sBAAsB,CAAA,EAAG;AAEtD,UAAA,oBAAA,CAAqB,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,QACtC,CAAA;AAAA,QACA,WAAW,CAAA,CAAA,KAAK;AAEd,UAAA,CAAA,CAAE,eAAA,EAAgB;AAElB,UAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACtC,YAAA,CAAA,CAAE,cAAA,EAAe;AACjB,YAAA,oBAAA,CAAqB,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,UACtC;AAAA,QACF,CAAA;AAAA,QACA,KAAA,EAAO,EAAE,MAAA,EAAQ,SAAA,EAAU;AAAA,QAE3B,+BAAC,IAAA,EAAA,EAAK,KAAA,EAAM,UAAS,GAAA,EAAI,GAAA,EAAI,SAAQ,SAAA,EACnC,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,IAAA,EAAA,EAAK,OAAM,QAAA,EAAS,OAAA,EAAQ,SAAQ,KAAA,EAAO,EAAE,KAAA,EAAO,KAAA,EAAM,EACzD,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,SAAS,CAAA,CAAA,KAAK;AACZ,kBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,kBAAA,oBAAA,CAAqB,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,gBACtC,CAAA;AAAA,gBAEA,QAAA,kBAAA,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAW,CAAA,SAAA,EAAY,UAAA,GAAa,MAAA,GAAS,OAAO,CAAA,OAAA;AAAA;AAAA;AACtD;AAAA,aACF;AAAA,4BACA,GAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,YAAA,EACX,gBAAM,MAAA,CAAO,KAAA,IACZ,CAAA,EAAG,CAAA,CAAE,oBAAoB,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,IAAS,EAAE,CAAA,CAAA,EACnD;AAAA,WAAA,EACF,CAAA;AAAA,0BACA,IAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EAAS,SAAQ,KAAA,EAC3B,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,kBAAA;AAAA,cAAA;AAAA,gBACC,WAAA,EAAa;AAAA,kBACX,SAAA,EAAW,0BAAA;AAAA,oBACT,KAAA,CAAM,gBAAA,IAAoB,KAAA,CAAM,MAAA,CAAO;AAAA;AACzC,iBACF;AAAA,gBACA,SAAA,EAAW;AAAA,kBACT,QAAA,EAAU,yBAAA;AAAA,oBACR,KAAA,CAAM,gBAAA,IAAoB,KAAA,CAAM,MAAA,CAAO,MAAA;AAAA,oBACvC;AAAA;AACF,iBACF;AAAA,gBACA,UAAA,EAAY;AAAA,kBACV,OAAA,kBAAS,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mBAAA,EAAoB,CAAA;AAAA,kBAC1C,SAAS,MAAM;AACb,oBAAA,KAAA,CAAM,qBAAA,CAAsB,MAAM,MAAM,CAAA;AAAA,kBAC1C;AAAA,iBACF;AAAA,gBACA,WAAW,MAAA,CAAO,MAAA,CAAO,mBAAmB,CAAA,CAAE,IAAI,CAAA,KAAA,MAAU;AAAA,kBAC1D,GAAA,EAAK,KAAA;AAAA;AAAA,kBAEL,KAAA,EAAO,CAAA;AAAA,oBACL,qCACE,KACF;AAAA,mBACF;AAAA,kBACA,SAAS,MAAM,KAAA,CAAM,kBAAkB,KAAA,CAAM,MAAA,CAAO,IAAI,KAAK,CAAA;AAAA,kBAC7D,QAAA,EAAU,MAAM,gBAAA,GACZ,KAAA,KAAU,MAAM,gBAAA,GAChB,KAAA,KAAU,MAAM,MAAA,CAAO;AAAA,iBAC7B,CAAE;AAAA;AAAA,aACJ;AAAA,4BACA,IAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAI,GAAA,EAAI,OAAM,QAAA,EAClB,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,wBAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EACE,CAAC,CAAC,KAAA,CAAM,mCACJ,IAAI,IAAA,EAAK,GACT,KAAA,CAAM,MAAA,CAAO,WAAA;AAAA,kBAEnB,aAAA,EAAe,MAAM,MAAA,CAAO;AAAA;AAAA,eAC9B;AAAA,8BACA,GAAA,CAAC,kBAAA,EAAA,EAAmB,MAAA,EAAQ,KAAA,CAAM,aAAA,EAAe;AAAA,aAAA,EACnD,CAAA;AAAA,YACC,MAAM,aAAA,oBACL,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,SAAS,CAAA,CAAA,KAAK;AACZ,kBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,kBAAA,KAAA,CAAM,gBAAA,EAAiB;AAAA,gBACzB,CAAA;AAAA,gBAEA,8BAAC,UAAA,EAAA,EAAW;AAAA;AAAA;AACd,WAAA,EAEJ;AAAA,SAAA,EACF;AAAA;AAAA,KACF;AAAA,oBACA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI,UAAA;AAAA,QACJ,EAAA,EAAI,EAAE,SAAA,EAAW,CAAA,EAAE;AAAA,QACnB,OAAA,EAAQ,MAAA;AAAA,QACR,aAAA,EAAa,IAAA;AAAA,QAEb,+BAAC,GAAA,EAAA,EAAI,EAAA,EAAG,QAAO,EAAA,EAAG,GAAA,EAAI,IAAG,GAAA,EACvB,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,QAAK,OAAA,EAAQ,SAAA,EAAU,EAAA,EAAG,KAAA,EAAM,OAAM,KAAA,EACrC,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAG,GAAA,EAAI,OAAA,EAAQ,cAAa,MAAA,EAAO,MAAA,EACtC,QAAA,EAAA,CAAA,CAAE,wBAAwB,CAAA,EAC7B,CAAA;AAAA,YACC,MAAM,SAAA,oBACL,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI;AAAA,kBACF,UAAA,EAAY,MAAA;AAAA,kBACZ,UAAA,EAAY;AAAA,iBACd;AAAA,gBACA,SAAS,CAAA,CAAA,KAAK;AACZ,kBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,kBAAA,KAAA,CAAM,cAAA,EAAe;AAAA,gBACvB,CAAA;AAAA,gBAEA,8BAAC,IAAA,EAAA,EAAK;AAAA;AAAA;AACR,WAAA,EAEJ,CAAA;AAAA,0BACA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAA,EAAa,KAAA,CAAM,OAAO,WAAA,EAAa,CAAA;AAAA,0BACjD,GAAA,CAAC,SAAA,EAAA,EAAU,GAAA,EAAK,KAAA,CAAM,OAAO,GAAA,EAAK;AAAA,SAAA,EACpC;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1,53 +1,48 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
3
- import { Text, Flex } from '@backstage/ui';
4
3
  import { Tooltip } from '@material-ui/core';
5
4
  import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
6
5
  import styles from './UpdatedStatusBadge.module.css.esm.js';
6
+ import CircularProgress from '@mui/material/CircularProgress';
7
7
 
8
8
  function UpdatedStatusBadge(props) {
9
9
  const { t } = useTranslationRef(pluginRiScTranslationRef);
10
10
  if (props.status === "UPDATED") {
11
- return /* @__PURE__ */ jsx(
12
- "span",
11
+ return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updated"), children: /* @__PURE__ */ jsx(
12
+ "i",
13
13
  {
14
- className: `${styles.badge} ${styles.updated}`,
15
- "aria-label": t("rosStatus.updated"),
16
- children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.updated") })
14
+ className: `ri-checkbox-circle-fill ${styles.updatedIcon} ${styles.iconBase}`,
15
+ "aria-label": t("rosStatus.updated")
17
16
  }
18
- );
17
+ ) });
19
18
  }
20
19
  if (props.status === "UPDATING") {
21
- return /* @__PURE__ */ jsx(
22
- "span",
23
- {
24
- className: `${styles.badge} ${styles.updating}`,
25
- "aria-label": t("rosStatus.updating"),
26
- children: /* @__PURE__ */ jsx(Flex, { direction: "row", gap: "4px", children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.updating") }) })
27
- }
28
- );
20
+ return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updating"), children: /* @__PURE__ */ jsx(CircularProgress, { size: "32px" }) });
29
21
  }
30
22
  if (props.status === "VERY_OUTDATED") {
31
23
  return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updatedStatus.tooltip.VERY_OUTDATED"), children: /* @__PURE__ */ jsx(
32
- "span",
24
+ "i",
33
25
  {
34
- className: `${styles.badge} ${styles.veryOutdated}`,
35
- "aria-label": t("rosStatus.veryOutdated"),
36
- children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.veryOutdated") })
26
+ className: `ri-error-warning-fill ${styles.veryOutdatedIcon} ${styles.iconBase}`,
27
+ "aria-label": t("rosStatus.veryOutdated")
37
28
  }
38
29
  ) });
39
30
  }
40
31
  if (props.status === "OUTDATED") {
41
32
  return /* @__PURE__ */ jsx(Tooltip, { title: t("rosStatus.updatedStatus.tooltip.OUTDATED"), children: /* @__PURE__ */ jsx(
42
- "span",
33
+ "i",
43
34
  {
44
- className: `${styles.badge} ${styles.outdated}`,
45
- "aria-label": t("rosStatus.outdated"),
46
- children: /* @__PURE__ */ jsx(Text, { as: "p", className: styles.text, children: t("rosStatus.outdated") })
35
+ className: `ri-error-warning-fill ${styles.outdatedIcon} ${styles.iconBase}`,
36
+ "aria-label": t("rosStatus.outdated")
47
37
  }
48
38
  ) });
49
39
  }
50
- return null;
40
+ return /* @__PURE__ */ jsx(
41
+ "i",
42
+ {
43
+ className: `ri-error-warning-fill ${styles.emptyIcon} ${styles.iconBase}`
44
+ }
45
+ );
51
46
  }
52
47
 
53
48
  export { UpdatedStatusBadge };
@@ -1 +1 @@
1
- {"version":3,"file":"UpdatedStatusBadge.esm.js","sources":["../../../src/components/common/UpdatedStatusBadge.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Flex, Text } from '@backstage/ui';\nimport { Tooltip } from '@material-ui/core';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { UpdatedStatusEnumType } from '../../utils/utilityfunctions';\nimport styles from './UpdatedStatusBadge.module.css';\n\ntype UpdatedStatusBadgeProps = {\n status?: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n};\n\nexport function UpdatedStatusBadge(props: UpdatedStatusBadgeProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n if (props.status === 'UPDATED') {\n return (\n <span\n className={`${styles.badge} ${styles.updated}`}\n aria-label={t('rosStatus.updated')}\n >\n <Text as=\"p\" className={styles.text}>\n {t('rosStatus.updated')}\n </Text>\n </span>\n );\n }\n\n if (props.status === 'UPDATING') {\n return (\n <span\n className={`${styles.badge} ${styles.updating}`}\n aria-label={t('rosStatus.updating')}\n >\n <Flex direction=\"row\" gap=\"4px\">\n <Text as=\"p\" className={styles.text}>\n {t('rosStatus.updating')}\n </Text>\n </Flex>\n </span>\n );\n }\n\n if (props.status === 'VERY_OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.VERY_OUTDATED')}>\n <span\n className={`${styles.badge} ${styles.veryOutdated}`}\n aria-label={t('rosStatus.veryOutdated')}\n >\n <Text as=\"p\" className={styles.text}>\n {t('rosStatus.veryOutdated')}\n </Text>\n </span>\n </Tooltip>\n );\n }\n\n if (props.status === 'OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.OUTDATED')}>\n <span\n className={`${styles.badge} ${styles.outdated}`}\n aria-label={t('rosStatus.outdated')}\n >\n <Text as=\"p\" className={styles.text}>\n {t('rosStatus.outdated')}\n </Text>\n </span>\n </Tooltip>\n );\n }\n return null;\n}\n"],"names":[],"mappings":";;;;;;;AAWO,SAAS,mBAAmB,KAAA,EAAgC;AACjE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,IAAI,KAAA,CAAM,WAAW,SAAA,EAAW;AAC9B,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,OAAO,CAAA,CAAA;AAAA,QAC5C,YAAA,EAAY,EAAE,mBAAmB,CAAA;AAAA,QAEjC,QAAA,kBAAA,GAAA,CAAC,QAAK,EAAA,EAAG,GAAA,EAAI,WAAW,MAAA,CAAO,IAAA,EAC5B,QAAA,EAAA,CAAA,CAAE,mBAAmB,CAAA,EACxB;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC7C,YAAA,EAAY,EAAE,oBAAoB,CAAA;AAAA,QAElC,8BAAC,IAAA,EAAA,EAAK,SAAA,EAAU,KAAA,EAAM,GAAA,EAAI,OACxB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,WAAW,MAAA,CAAO,IAAA,EAC5B,QAAA,EAAA,CAAA,CAAE,oBAAoB,GACzB,CAAA,EACF;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,eAAA,EAAiB;AACpC,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,+CAA+C,CAAA,EAC/D,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,YAAY,CAAA,CAAA;AAAA,QACjD,YAAA,EAAY,EAAE,wBAAwB,CAAA;AAAA,QAEtC,QAAA,kBAAA,GAAA,CAAC,QAAK,EAAA,EAAG,GAAA,EAAI,WAAW,MAAA,CAAO,IAAA,EAC5B,QAAA,EAAA,CAAA,CAAE,wBAAwB,CAAA,EAC7B;AAAA;AAAA,KACF,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,0CAA0C,CAAA,EAC1D,QAAA,kBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC7C,YAAA,EAAY,EAAE,oBAAoB,CAAA;AAAA,QAElC,QAAA,kBAAA,GAAA,CAAC,QAAK,EAAA,EAAG,GAAA,EAAI,WAAW,MAAA,CAAO,IAAA,EAC5B,QAAA,EAAA,CAAA,CAAE,oBAAoB,CAAA,EACzB;AAAA;AAAA,KACF,EACF,CAAA;AAAA,EAEJ;AACA,EAAA,OAAO,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"UpdatedStatusBadge.esm.js","sources":["../../../src/components/common/UpdatedStatusBadge.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Tooltip } from '@material-ui/core';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { UpdatedStatusEnumType } from '../../utils/utilityfunctions';\nimport styles from './UpdatedStatusBadge.module.css';\nimport CircularProgress from '@mui/material/CircularProgress';\n\ntype UpdatedStatusBadgeProps = {\n status?: UpdatedStatusEnumType | 'UPDATING' | 'NONE';\n};\n\nexport function UpdatedStatusBadge(props: UpdatedStatusBadgeProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n if (props.status === 'UPDATED') {\n return (\n <Tooltip title={t('rosStatus.updated')}>\n <i\n className={`ri-checkbox-circle-fill ${styles.updatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.updated')}\n />\n </Tooltip>\n );\n }\n\n if (props.status === 'UPDATING') {\n return (\n <Tooltip title={t('rosStatus.updating')}>\n <CircularProgress size=\"32px\" />\n </Tooltip>\n );\n }\n\n if (props.status === 'VERY_OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.VERY_OUTDATED')}>\n <i\n className={`ri-error-warning-fill ${styles.veryOutdatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.veryOutdated')}\n />\n </Tooltip>\n );\n }\n\n if (props.status === 'OUTDATED') {\n return (\n <Tooltip title={t('rosStatus.updatedStatus.tooltip.OUTDATED')}>\n <i\n className={`ri-error-warning-fill ${styles.outdatedIcon} ${styles.iconBase}`}\n aria-label={t('rosStatus.outdated')}\n />\n </Tooltip>\n );\n }\n return (\n <i\n className={`ri-error-warning-fill ${styles.emptyIcon} ${styles.iconBase}`}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AAWO,SAAS,mBAAmB,KAAA,EAAgC;AACjE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,IAAI,KAAA,CAAM,WAAW,SAAA,EAAW;AAC9B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,mBAAmB,CAAA,EACnC,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,wBAAA,EAA2B,MAAA,CAAO,WAAW,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC3E,YAAA,EAAY,EAAE,mBAAmB;AAAA;AAAA,KACnC,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,oBAAoB,GACpC,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAK,MAAA,EAAO,CAAA,EAChC,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,eAAA,EAAiB;AACpC,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,+CAA+C,CAAA,EAC/D,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC9E,YAAA,EAAY,EAAE,wBAAwB;AAAA;AAAA,KACxC,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,KAAA,CAAM,WAAW,UAAA,EAAY;AAC/B,IAAA,uBACE,GAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,CAAA,CAAE,0CAA0C,CAAA,EAC1D,QAAA,kBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,YAAY,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,QAC1E,YAAA,EAAY,EAAE,oBAAoB;AAAA;AAAA,KACpC,EACF,CAAA;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,WAAW,CAAA,sBAAA,EAAyB,MAAA,CAAO,SAAS,CAAA,CAAA,EAAI,OAAO,QAAQ,CAAA;AAAA;AAAA,GACzE;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = ".UpdatedStatusBadge-module_badge__L8lzQ {\n display: flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 24px;\n text-align: center;\n font-size: 12px;\n width: fit-content;\n}\n.UpdatedStatusBadge-module_text__1DPQ3 {\n color: var(--ros-gray-900, #000);\n}\n\n.UpdatedStatusBadge-module_updated__KmG3B {\n background: var(--ros-green-100);\n border: 1px solid var(--ros-green-500);\n}\n\n.UpdatedStatusBadge-module_veryOutdated__tCijL {\n background: var(--ros-red-200);\n border: 1px solid var(--ros-red-400);\n}\n\n.UpdatedStatusBadge-module_outdated__5H9Uw {\n background: var(--ros-orange-100);\n border: 1px solid var(--ros-orange-300);\n}\n\n.UpdatedStatusBadge-module_updating__5Fz9u {\n background-color: #eaf6ff;\n border: 1px solid #439ccd;\n}\n";
4
- var styles = {"badge":"UpdatedStatusBadge-module_badge__L8lzQ","text":"UpdatedStatusBadge-module_text__1DPQ3","updated":"UpdatedStatusBadge-module_updated__KmG3B","veryOutdated":"UpdatedStatusBadge-module_veryOutdated__tCijL","outdated":"UpdatedStatusBadge-module_outdated__5H9Uw","updating":"UpdatedStatusBadge-module_updating__5Fz9u"};
3
+ var css_248z = ".UpdatedStatusBadge-module_badge__L8lzQ {\n display: flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 24px;\n text-align: center;\n font-size: 12px;\n width: fit-content;\n}\n\n.UpdatedStatusBadge-module_iconBase__NLDc9 {\n font-size: 32px;\n}\n\n.UpdatedStatusBadge-module_outdatedIcon__MJaov {\n color: var(--ros-outdated);\n}\n\n.UpdatedStatusBadge-module_veryOutdatedIcon__mCB0B {\n color: var(--ros-very-outdated);\n}\n\n.UpdatedStatusBadge-module_updatedIcon__-ymyE {\n color: var(--ros-updated);\n}\n\n.UpdatedStatusBadge-module_emptyIcon__h5zdN {\n color: transparent;\n}\n";
4
+ var styles = {"iconBase":"UpdatedStatusBadge-module_iconBase__NLDc9","outdatedIcon":"UpdatedStatusBadge-module_outdatedIcon__MJaov","veryOutdatedIcon":"UpdatedStatusBadge-module_veryOutdatedIcon__mCB0B","updatedIcon":"UpdatedStatusBadge-module_updatedIcon__-ymyE","emptyIcon":"UpdatedStatusBadge-module_emptyIcon__h5zdN"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -12,7 +12,8 @@ const RadioOption = ({
12
12
  description,
13
13
  active = true,
14
14
  numActions,
15
- numScenarios
15
+ numScenarios,
16
+ recommendedBackstageComponentType
16
17
  }) => {
17
18
  const { t } = useTranslationRef(pluginRiScTranslationRef);
18
19
  const theme = useTheme();
@@ -66,7 +67,21 @@ const RadioOption = ({
66
67
  color: active ? "secondary" : "primary",
67
68
  children: description
68
69
  }
69
- ) })
70
+ ) }),
71
+ recommendedBackstageComponentType && /* @__PURE__ */ jsxs(
72
+ Text,
73
+ {
74
+ variant: "body-large",
75
+ color: active ? "secondary" : "primary",
76
+ className: styles.recommendedForComponentTypeText,
77
+ children: [
78
+ t("rosDialog.recommendedForComponentOfType"),
79
+ " ",
80
+ /* @__PURE__ */ jsx("b", { children: recommendedBackstageComponentType }),
81
+ "."
82
+ ]
83
+ }
84
+ )
70
85
  ]
71
86
  }
72
87
  ) });
@@ -146,7 +161,8 @@ function ConfigInitialRisc(props) {
146
161
  description: descriptor.listDescription,
147
162
  active: !props.switchOn,
148
163
  numActions: descriptor.numberOfActions,
149
- numScenarios: descriptor.numberOfScenarios
164
+ numScenarios: descriptor.numberOfScenarios,
165
+ recommendedBackstageComponentType: descriptor.preferredBackstageComponentType
150
166
  },
151
167
  descriptor.id
152
168
  ))
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigInitialRisc.esm.js","sources":["../../../src/components/riScDialog/ConfigInitialRisc.tsx"],"sourcesContent":["import { pluginRiScTranslationRef } from '../../utils/translations';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Box, Flex, Radio, RadioGroup, Switch, Text } from '@backstage/ui';\nimport { RiScWithMetadata } from '../../utils/types.ts';\nimport { useDefaultRiScTypeDescriptors } from '../../contexts/DefaultRiScTypesContext.tsx';\nimport { UseFormSetValue } from 'react-hook-form/dist/types/form';\nimport { useTheme } from '@mui/material/styles';\nimport styles from './ConfigInitialRisc.module.css';\n\ntype RadioOptionProps = {\n value: string;\n label: string;\n description?: string;\n active?: boolean;\n numActions: number | null;\n numScenarios: number | null;\n};\n\nconst RadioOption = ({\n value,\n label,\n description,\n active = true,\n numActions,\n numScenarios,\n}: RadioOptionProps) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const theme = useTheme();\n const style = {\n fontSize: '12px',\n border: `1px solid ${active ? 'var(--bui-gray-6)' : 'var(--bui-gray-8)'}`,\n borderRadius: '24px',\n padding: '2px 8px',\n };\n\n return (\n <>\n <Flex\n direction=\"column\"\n align=\"start\"\n p=\"12px 16px\"\n gap=\"2\"\n style={{\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'var(--bui-gray-5)'\n : 'var(--bui-gray-2)',\n borderRadius: '8px',\n }}\n >\n <Radio value={value}>\n <Text\n weight=\"bold\"\n as=\"h5\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {label}\n </Text>\n <Flex gap=\"8px\">\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numActions} {t('dictionary.measuresInitialRiSc')}\n </Text>\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numScenarios} {t('dictionary.scenarios')}\n </Text>\n </Flex>\n </Radio>\n {description && (\n <Flex ml=\"6\">\n <Text\n as=\"p\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {description}\n </Text>\n </Flex>\n )}\n </Flex>\n </>\n );\n};\n\ninterface ConfigInitialRiscProps {\n switchOn: boolean;\n setSwitchOn: (val: boolean) => void;\n setValue: UseFormSetValue<RiScWithMetadata>;\n selectedRiScId: string | undefined;\n setSelectedRiScId: (riScId: string | undefined) => void;\n}\n\nfunction ConfigInitialRisc(props: ConfigInitialRiscProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const {\n defaultRiScTypeDescriptors,\n riScSelectedByDefault,\n getDescriptorOfId,\n } = useDefaultRiScTypeDescriptors();\n\n function onCreateDefaultRiScSwitchChange() {\n if (props.switchOn) {\n props.setValue('content.title', '');\n props.setValue('content.scope', '');\n } else {\n props.setSelectedRiScId(riScSelectedByDefault?.id);\n if (riScSelectedByDefault) {\n props.setValue('content.title', riScSelectedByDefault.defaultTitle);\n props.setValue('content.scope', riScSelectedByDefault.defaultScope);\n }\n }\n props.setSwitchOn(!props.switchOn);\n }\n\n function onSelectRiScType(selectedDefaultRiScId: string) {\n props.setSelectedRiScId(selectedDefaultRiScId);\n const descriptor = getDescriptorOfId(selectedDefaultRiScId);\n if (descriptor) {\n props.setValue('content.title', descriptor.defaultTitle);\n props.setValue('content.scope', descriptor.defaultScope);\n }\n }\n\n return (\n <Box>\n {defaultRiScTypeDescriptors.length > 0 && (\n <>\n <Box pb=\"2\">\n <Text variant=\"body-medium\" as=\"p\">\n {t('rosDialog.initialRiscScopeDescription')}\n </Text>\n <Box pt=\"2\">\n <Switch\n isSelected={props.switchOn}\n onChange={onCreateDefaultRiScSwitchChange}\n label={\n props.switchOn ? t('dictionary.yes') : t('dictionary.no')\n }\n />\n </Box>\n </Box>\n <Flex direction=\"column\" justify=\"between\" mt=\"2\" gap=\"2\">\n <Text\n weight=\"bold\"\n as=\"p\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.applicationType')}\n </Text>\n <Text\n variant=\"body-medium\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.initialRiscApplicationType')}\n </Text>\n\n <RadioGroup\n onChange={onSelectRiScType}\n isDisabled={!props.switchOn}\n aria-label=\"Select application type\"\n value={props.selectedRiScId}\n className={styles.radioGroup}\n >\n {defaultRiScTypeDescriptors.map(descriptor => (\n <RadioOption\n key={descriptor.id}\n value={descriptor.id}\n label={descriptor.listName}\n description={descriptor.listDescription}\n active={!props.switchOn}\n numActions={descriptor.numberOfActions}\n numScenarios={descriptor.numberOfScenarios}\n />\n ))}\n </RadioGroup>\n </Flex>\n </>\n )}\n {defaultRiScTypeDescriptors.length === 0 && (\n <Text>{t('rosDialog.noInitialRiScFound')}</Text>\n )}\n </Box>\n );\n}\n\nexport default ConfigInitialRisc;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigInitialRisc.esm.js","sources":["../../../src/components/riScDialog/ConfigInitialRisc.tsx"],"sourcesContent":["import { pluginRiScTranslationRef } from '../../utils/translations';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { Box, Flex, Radio, RadioGroup, Switch, Text } from '@backstage/ui';\nimport { RiScWithMetadata } from '../../utils/types.ts';\nimport { useDefaultRiScTypeDescriptors } from '../../contexts/DefaultRiScTypesContext.tsx';\nimport { UseFormSetValue } from 'react-hook-form/dist/types/form';\nimport { useTheme } from '@mui/material/styles';\nimport styles from './ConfigInitialRisc.module.css';\n\ntype RadioOptionProps = {\n value: string;\n label: string;\n description?: string;\n active?: boolean;\n numActions: number | null;\n numScenarios: number | null;\n recommendedBackstageComponentType?: string | null;\n};\n\nconst RadioOption = ({\n value,\n label,\n description,\n active = true,\n numActions,\n numScenarios,\n recommendedBackstageComponentType,\n}: RadioOptionProps) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const theme = useTheme();\n const style = {\n fontSize: '12px',\n border: `1px solid ${active ? 'var(--bui-gray-6)' : 'var(--bui-gray-8)'}`,\n borderRadius: '24px',\n padding: '2px 8px',\n };\n\n return (\n <>\n <Flex\n direction=\"column\"\n align=\"start\"\n p=\"12px 16px\"\n gap=\"2\"\n style={{\n backgroundColor:\n theme.palette.mode === 'dark'\n ? 'var(--bui-gray-5)'\n : 'var(--bui-gray-2)',\n borderRadius: '8px',\n }}\n >\n <Radio value={value}>\n <Text\n weight=\"bold\"\n as=\"h5\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {label}\n </Text>\n <Flex gap=\"8px\">\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numActions} {t('dictionary.measuresInitialRiSc')}\n </Text>\n <Text color={active ? 'secondary' : 'primary'} style={style}>\n {numScenarios} {t('dictionary.scenarios')}\n </Text>\n </Flex>\n </Radio>\n {description && (\n <Flex ml=\"6\">\n <Text\n as=\"p\"\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n >\n {description}\n </Text>\n </Flex>\n )}\n {recommendedBackstageComponentType && (\n <Text\n variant=\"body-large\"\n color={active ? 'secondary' : 'primary'}\n className={styles.recommendedForComponentTypeText}\n >\n {t('rosDialog.recommendedForComponentOfType')}{' '}\n <b>{recommendedBackstageComponentType}</b>.\n </Text>\n )}\n </Flex>\n </>\n );\n};\n\ninterface ConfigInitialRiscProps {\n switchOn: boolean;\n setSwitchOn: (val: boolean) => void;\n setValue: UseFormSetValue<RiScWithMetadata>;\n selectedRiScId: string | undefined;\n setSelectedRiScId: (riScId: string | undefined) => void;\n}\n\nfunction ConfigInitialRisc(props: ConfigInitialRiscProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const {\n defaultRiScTypeDescriptors,\n riScSelectedByDefault,\n getDescriptorOfId,\n } = useDefaultRiScTypeDescriptors();\n\n function onCreateDefaultRiScSwitchChange() {\n if (props.switchOn) {\n props.setValue('content.title', '');\n props.setValue('content.scope', '');\n } else {\n props.setSelectedRiScId(riScSelectedByDefault?.id);\n if (riScSelectedByDefault) {\n props.setValue('content.title', riScSelectedByDefault.defaultTitle);\n props.setValue('content.scope', riScSelectedByDefault.defaultScope);\n }\n }\n props.setSwitchOn(!props.switchOn);\n }\n\n function onSelectRiScType(selectedDefaultRiScId: string) {\n props.setSelectedRiScId(selectedDefaultRiScId);\n const descriptor = getDescriptorOfId(selectedDefaultRiScId);\n if (descriptor) {\n props.setValue('content.title', descriptor.defaultTitle);\n props.setValue('content.scope', descriptor.defaultScope);\n }\n }\n\n return (\n <Box>\n {defaultRiScTypeDescriptors.length > 0 && (\n <>\n <Box pb=\"2\">\n <Text variant=\"body-medium\" as=\"p\">\n {t('rosDialog.initialRiscScopeDescription')}\n </Text>\n <Box pt=\"2\">\n <Switch\n isSelected={props.switchOn}\n onChange={onCreateDefaultRiScSwitchChange}\n label={\n props.switchOn ? t('dictionary.yes') : t('dictionary.no')\n }\n />\n </Box>\n </Box>\n <Flex direction=\"column\" justify=\"between\" mt=\"2\" gap=\"2\">\n <Text\n weight=\"bold\"\n as=\"p\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.applicationType')}\n </Text>\n <Text\n variant=\"body-medium\"\n color={!props.switchOn ? 'secondary' : 'primary'}\n >\n {t('rosDialog.initialRiscApplicationType')}\n </Text>\n\n <RadioGroup\n onChange={onSelectRiScType}\n isDisabled={!props.switchOn}\n aria-label=\"Select application type\"\n value={props.selectedRiScId}\n className={styles.radioGroup}\n >\n {defaultRiScTypeDescriptors.map(descriptor => (\n <RadioOption\n key={descriptor.id}\n value={descriptor.id}\n label={descriptor.listName}\n description={descriptor.listDescription}\n active={!props.switchOn}\n numActions={descriptor.numberOfActions}\n numScenarios={descriptor.numberOfScenarios}\n recommendedBackstageComponentType={\n descriptor.preferredBackstageComponentType\n }\n />\n ))}\n </RadioGroup>\n </Flex>\n </>\n )}\n {defaultRiScTypeDescriptors.length === 0 && (\n <Text>{t('rosDialog.noInitialRiScFound')}</Text>\n )}\n </Box>\n );\n}\n\nexport default ConfigInitialRisc;\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = ".ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 300px;\n overflow-y: auto;\n}\n\n@media (max-height: 770px) {\n .ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 200px;\n }\n}\n";
4
- var styles = {"radioGroup":"ConfigInitialRisc-module_radioGroup__EPL8I"};
3
+ var css_248z = ".ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 300px;\n overflow-y: auto;\n}\n\n@media (max-height: 770px) {\n .ConfigInitialRisc-module_radioGroup__EPL8I {\n height: 200px;\n }\n}\n\n.ConfigInitialRisc-module_recommendedForComponentTypeText__XCI4D {\n margin-left: var(--bui-space-4);\n font-style: italic;\n}\n";
4
+ var styles = {"radioGroup":"ConfigInitialRisc-module_radioGroup__EPL8I","recommendedForComponentTypeText":"ConfigInitialRisc-module_recommendedForComponentTypeText__XCI4D"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -4,15 +4,11 @@ import { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.esm.js'
4
4
  import { SupportDialog } from '../riScDialog/SupportDialog.esm.js';
5
5
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
6
6
  import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
7
- import { VersionChip } from './VersionChip.esm.js';
8
7
 
9
8
  function RiScHeader(props) {
10
9
  const { t } = useTranslationRef(pluginRiScTranslationRef);
11
10
  return /* @__PURE__ */ jsx("header", { style: { position: "relative" }, children: /* @__PURE__ */ jsxs(Flex, { justify: "between", align: "center", style: { marginBottom: "16px" }, children: [
12
- /* @__PURE__ */ jsxs(Flex, { align: "center", children: [
13
- /* @__PURE__ */ jsx(Text, { variant: "title-medium", weight: "bold", children: t("contentHeader.title") }),
14
- /* @__PURE__ */ jsx(VersionChip, {})
15
- ] }),
11
+ /* @__PURE__ */ jsx(Flex, { align: "center", children: /* @__PURE__ */ jsx(Text, { variant: "title-medium", weight: "bold", children: t("contentHeader.title") }) }),
16
12
  /* @__PURE__ */ jsxs(Flex, { gap: "8px", children: [
17
13
  /* @__PURE__ */ jsx(EditEncryptionButton, { onEditEncryption: props.onEditEncryption }),
18
14
  /* @__PURE__ */ jsx(SupportDialog, {})
@@ -1 +1 @@
1
- {"version":3,"file":"RiScHeader.esm.js","sources":["../../../src/components/riScHeader/RiScHeader.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.tsx';\nimport { SupportDialog } from '../riScDialog/SupportDialog.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\nimport { VersionChip } from './VersionChip.tsx';\n\ntype RiScHeaderProps = {\n onEditEncryption: () => void;\n};\n\nexport function RiScHeader(props: RiScHeaderProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <header style={{ position: 'relative' }}>\n <Flex justify=\"between\" align=\"center\" style={{ marginBottom: '16px' }}>\n <Flex align=\"center\">\n <Text variant=\"title-medium\" weight=\"bold\">\n {t('contentHeader.title')}\n </Text>\n <VersionChip />\n </Flex>\n <Flex gap=\"8px\">\n <EditEncryptionButton onEditEncryption={props.onEditEncryption} />\n <SupportDialog />\n </Flex>\n </Flex>\n </header>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAWO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,2BACG,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,QAAA,EAAU,YAAW,EACpC,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,WAAU,KAAA,EAAM,QAAA,EAAS,OAAO,EAAE,YAAA,EAAc,QAAO,EACnE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,OAAM,QAAA,EACV,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,QAAK,OAAA,EAAQ,cAAA,EAAe,QAAO,MAAA,EACjC,QAAA,EAAA,CAAA,CAAE,qBAAqB,CAAA,EAC1B,CAAA;AAAA,0BACC,WAAA,EAAA,EAAY;AAAA,KAAA,EACf,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAI,KAAA,EACR,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,gBAAA,EAAkB,KAAA,CAAM,gBAAA,EAAkB,CAAA;AAAA,0BAC/D,aAAA,EAAA,EAAc;AAAA,KAAA,EACjB;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"RiScHeader.esm.js","sources":["../../../src/components/riScHeader/RiScHeader.tsx"],"sourcesContent":["import { Flex, Text } from '@backstage/ui';\nimport { EditEncryptionButton } from '../riScDialog/EditEncryptionButton.tsx';\nimport { SupportDialog } from '../riScDialog/SupportDialog.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations.ts';\n\ntype RiScHeaderProps = {\n onEditEncryption: () => void;\n};\n\nexport function RiScHeader(props: RiScHeaderProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <header style={{ position: 'relative' }}>\n <Flex justify=\"between\" align=\"center\" style={{ marginBottom: '16px' }}>\n <Flex align=\"center\">\n <Text variant=\"title-medium\" weight=\"bold\">\n {t('contentHeader.title')}\n </Text>\n </Flex>\n <Flex gap=\"8px\">\n <EditEncryptionButton onEditEncryption={props.onEditEncryption} />\n <SupportDialog />\n </Flex>\n </Flex>\n </header>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAUO,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,2BACG,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,QAAA,EAAU,YAAW,EACpC,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,WAAU,KAAA,EAAM,QAAA,EAAS,OAAO,EAAE,YAAA,EAAc,QAAO,EACnE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EACV,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,cAAA,EAAe,MAAA,EAAO,MAAA,EACjC,QAAA,EAAA,CAAA,CAAE,qBAAqB,CAAA,EAC1B,CAAA,EACF,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAI,KAAA,EACR,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,gBAAA,EAAkB,KAAA,CAAM,gBAAA,EAAkB,CAAA;AAAA,0BAC/D,aAAA,EAAA,EAAc;AAAA,KAAA,EACjB;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
@@ -5,7 +5,6 @@ import { RiScScenarioChangeSet } from './RiScScenarioChangeSet.esm.js';
5
5
  import { RiScScenarioChange } from './RiScScenarioChange.esm.js';
6
6
  import { dtoToScenario } from '../../../utils/DTOs.esm.js';
7
7
  import { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.esm.js';
8
- import { RiScValuationChange } from './RiScValuationChange.esm.js';
9
8
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
10
9
  import { pluginRiScTranslationRef } from '../../../utils/translations.esm.js';
11
10
 
@@ -36,7 +35,6 @@ function RiScChangeSet({ changeset }) {
36
35
  title: t("dictionary.scope")
37
36
  }
38
37
  ),
39
- changes.valuations.map((valuation) => /* @__PURE__ */ jsx(RiScValuationChange, { valuation })),
40
38
  changes.scenarios.map((scenario) => /* @__PURE__ */ jsxs(Fragment, { children: [
41
39
  (scenario.type === "ADDED" || scenario.type === "DELETED") && /* @__PURE__ */ jsx(
42
40
  RiScScenarioChange,
@@ -1 +1 @@
1
- {"version":3,"file":"RiScChangeSet.esm.js","sources":["../../../../src/components/riScInfo/changeset/RiScChangeSet.tsx"],"sourcesContent":["import { DifferenceFetchState } from '../../../utils/types.ts';\nimport { RiScMigrationChanges } from '../migrations/RiScMigrationChanges.tsx';\nimport { ChangeSetTitle } from './components/ChangeSetTitle.tsx';\nimport { RiScScenarioChangeSet } from './RiScScenarioChangeSet.tsx';\nimport { RiScScenarioChange } from './RiScScenarioChange.tsx';\nimport { dtoToScenario } from '../../../utils/DTOs.ts';\nimport { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.tsx';\nimport { RiScValuationChange } from './RiScValuationChange.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\n\ntype RiScChangeSetProps = {\n changeset: DifferenceFetchState;\n};\n\nexport function RiScChangeSet({ changeset }: RiScChangeSetProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const migrationChanges = changeset.differenceState.migrationChanges;\n const changes = changeset.differenceState;\n\n const hasChanges =\n changes.scenarios.length > 0 ||\n changes.valuations.length > 0 ||\n changes.title ||\n changes.scope;\n\n const hasAnyChanges = changes.migrationChanges.migrationChanges || hasChanges;\n\n if (!hasAnyChanges) {\n return <i>{t('comparisonDialog.noChanges')}</i>;\n }\n\n return (\n <div>\n {migrationChanges.migrationVersions?.fromVersion !==\n migrationChanges.migrationVersions?.toVersion && (\n <RiScMigrationChanges migrationStatus={migrationChanges} />\n )}\n {hasChanges && (\n <>\n <ChangeSetTitle text={t('comparisonDialog.changes')} />\n <ChangeSetSimpleBox\n prop={changes.title}\n title={t('dictionary.title')}\n />\n <ChangeSetSimpleBox\n prop={changes.scope}\n title={t('dictionary.scope')}\n />\n {changes.valuations.map(valuation => (\n <RiScValuationChange valuation={valuation} />\n ))}\n {changes.scenarios.map(scenario => (\n <>\n {(scenario.type === 'ADDED' || scenario.type === 'DELETED') && (\n <RiScScenarioChange\n scenario={dtoToScenario(\n scenario.type === 'ADDED'\n ? scenario.newValue\n : scenario.oldValue,\n )}\n type={scenario.type}\n />\n )}\n {scenario.type === 'CONTENT_CHANGED' && (\n <RiScScenarioChangeSet scenario={scenario.value} />\n )}\n </>\n ))}\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAeO,SAAS,aAAA,CAAc,EAAE,SAAA,EAAU,EAAuB;AAC/D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,gBAAA,GAAmB,UAAU,eAAA,CAAgB,gBAAA;AACnD,EAAA,MAAM,UAAU,SAAA,CAAU,eAAA;AAE1B,EAAA,MAAM,UAAA,GACJ,OAAA,CAAQ,SAAA,CAAU,MAAA,GAAS,CAAA,IAC3B,OAAA,CAAQ,UAAA,CAAW,MAAA,GAAS,CAAA,IAC5B,OAAA,CAAQ,KAAA,IACR,OAAA,CAAQ,KAAA;AAEV,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,gBAAA,CAAiB,gBAAA,IAAoB,UAAA;AAEnE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,uBAAO,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,CAAA,CAAE,4BAA4B,CAAA,EAAE,CAAA;AAAA,EAC7C;AAEA,EAAA,4BACG,KAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,gBAAA,CAAiB,iBAAA,EAAmB,gBACnC,gBAAA,CAAiB,iBAAA,EAAmB,6BACpC,GAAA,CAAC,oBAAA,EAAA,EAAqB,iBAAiB,gBAAA,EAAkB,CAAA;AAAA,IAE1D,8BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,0BAA0B,CAAA,EAAG,CAAA;AAAA,sBACrD,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,sBACA,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,MACC,QAAQ,UAAA,CAAW,GAAA,CAAI,+BACtB,GAAA,CAAC,mBAAA,EAAA,EAAoB,WAAsB,CAC5C,CAAA;AAAA,MACA,OAAA,CAAQ,SAAA,CAAU,GAAA,CAAI,CAAA,QAAA,qBACrB,IAAA,CAAA,QAAA,EAAA,EACI,QAAA,EAAA;AAAA,QAAA,CAAA,QAAA,CAAS,IAAA,KAAS,OAAA,IAAW,QAAA,CAAS,IAAA,KAAS,SAAA,qBAC/C,GAAA;AAAA,UAAC,kBAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAU,aAAA;AAAA,cACR,QAAA,CAAS,IAAA,KAAS,OAAA,GACd,QAAA,CAAS,WACT,QAAA,CAAS;AAAA,aACf;AAAA,YACA,MAAM,QAAA,CAAS;AAAA;AAAA,SACjB;AAAA,QAED,SAAS,IAAA,KAAS,iBAAA,wBAChB,qBAAA,EAAA,EAAsB,QAAA,EAAU,SAAS,KAAA,EAAO;AAAA,OAAA,EAErD,CACD;AAAA,KAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"RiScChangeSet.esm.js","sources":["../../../../src/components/riScInfo/changeset/RiScChangeSet.tsx"],"sourcesContent":["import { DifferenceFetchState } from '../../../utils/types.ts';\nimport { RiScMigrationChanges } from '../migrations/RiScMigrationChanges.tsx';\nimport { ChangeSetTitle } from './components/ChangeSetTitle.tsx';\nimport { RiScScenarioChangeSet } from './RiScScenarioChangeSet.tsx';\nimport { RiScScenarioChange } from './RiScScenarioChange.tsx';\nimport { dtoToScenario } from '../../../utils/DTOs.ts';\nimport { ChangeSetSimpleBox } from './components/ChangeSetSimpleBox.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\n\ntype RiScChangeSetProps = {\n changeset: DifferenceFetchState;\n};\n\nexport function RiScChangeSet({ changeset }: RiScChangeSetProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const migrationChanges = changeset.differenceState.migrationChanges;\n const changes = changeset.differenceState;\n\n const hasChanges =\n changes.scenarios.length > 0 ||\n changes.valuations.length > 0 ||\n changes.title ||\n changes.scope;\n\n const hasAnyChanges = changes.migrationChanges.migrationChanges || hasChanges;\n\n if (!hasAnyChanges) {\n return <i>{t('comparisonDialog.noChanges')}</i>;\n }\n\n return (\n <div>\n {migrationChanges.migrationVersions?.fromVersion !==\n migrationChanges.migrationVersions?.toVersion && (\n <RiScMigrationChanges migrationStatus={migrationChanges} />\n )}\n {hasChanges && (\n <>\n <ChangeSetTitle text={t('comparisonDialog.changes')} />\n <ChangeSetSimpleBox\n prop={changes.title}\n title={t('dictionary.title')}\n />\n <ChangeSetSimpleBox\n prop={changes.scope}\n title={t('dictionary.scope')}\n />\n {changes.scenarios.map(scenario => (\n <>\n {(scenario.type === 'ADDED' || scenario.type === 'DELETED') && (\n <RiScScenarioChange\n scenario={dtoToScenario(\n scenario.type === 'ADDED'\n ? scenario.newValue\n : scenario.oldValue,\n )}\n type={scenario.type}\n />\n )}\n {scenario.type === 'CONTENT_CHANGED' && (\n <RiScScenarioChangeSet scenario={scenario.value} />\n )}\n </>\n ))}\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAcO,SAAS,aAAA,CAAc,EAAE,SAAA,EAAU,EAAuB;AAC/D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,gBAAA,GAAmB,UAAU,eAAA,CAAgB,gBAAA;AACnD,EAAA,MAAM,UAAU,SAAA,CAAU,eAAA;AAE1B,EAAA,MAAM,UAAA,GACJ,OAAA,CAAQ,SAAA,CAAU,MAAA,GAAS,CAAA,IAC3B,OAAA,CAAQ,UAAA,CAAW,MAAA,GAAS,CAAA,IAC5B,OAAA,CAAQ,KAAA,IACR,OAAA,CAAQ,KAAA;AAEV,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,gBAAA,CAAiB,gBAAA,IAAoB,UAAA;AAEnE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,uBAAO,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,CAAA,CAAE,4BAA4B,CAAA,EAAE,CAAA;AAAA,EAC7C;AAEA,EAAA,4BACG,KAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,gBAAA,CAAiB,iBAAA,EAAmB,gBACnC,gBAAA,CAAiB,iBAAA,EAAmB,6BACpC,GAAA,CAAC,oBAAA,EAAA,EAAqB,iBAAiB,gBAAA,EAAkB,CAAA;AAAA,IAE1D,8BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,0BAA0B,CAAA,EAAG,CAAA;AAAA,sBACrD,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,sBACA,GAAA;AAAA,QAAC,kBAAA;AAAA,QAAA;AAAA,UACC,MAAM,OAAA,CAAQ,KAAA;AAAA,UACd,KAAA,EAAO,EAAE,kBAAkB;AAAA;AAAA,OAC7B;AAAA,MACC,OAAA,CAAQ,SAAA,CAAU,GAAA,CAAI,CAAA,QAAA,qBACrB,IAAA,CAAA,QAAA,EAAA,EACI,QAAA,EAAA;AAAA,QAAA,CAAA,QAAA,CAAS,IAAA,KAAS,OAAA,IAAW,QAAA,CAAS,IAAA,KAAS,SAAA,qBAC/C,GAAA;AAAA,UAAC,kBAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAU,aAAA;AAAA,cACR,QAAA,CAAS,IAAA,KAAS,OAAA,GACd,QAAA,CAAS,WACT,QAAA,CAAS;AAAA,aACf;AAAA,YACA,MAAM,QAAA,CAAS;AAAA;AAAA,SACjB;AAAA,QAED,SAAS,IAAA,KAAS,iBAAA,wBAChB,qBAAA,EAAA,EAAsB,QAAA,EAAU,SAAS,KAAA,EAAO;AAAA,OAAA,EAErD,CACD;AAAA,KAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
@@ -9,6 +9,7 @@ import { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChang
9
9
  import { RiScMigrationChanges42 } from './RiScMigrationChanges42.esm.js';
10
10
  import { RiScMigrationChanges50 } from './RiScMigrationChanges50.esm.js';
11
11
  import { RiScMigrationChanges51 } from './RiScMigrationChanges51.esm.js';
12
+ import { RiScMigrationChanges52 } from './RiScMigrationChanges52.esm.js';
12
13
 
13
14
  function RiScMigrationChanges({
14
15
  migrationStatus
@@ -29,7 +30,8 @@ function RiScMigrationChanges({
29
30
  migrationStatus.migrationChanges41 && /* @__PURE__ */ jsx(RiScMigrationChanges41, { changes: migrationStatus.migrationChanges41 }),
30
31
  migrationStatus.migrationChanges42 && /* @__PURE__ */ jsx(RiScMigrationChanges42, { changes: migrationStatus.migrationChanges42 }),
31
32
  migrationStatus.migrationChanges50 && /* @__PURE__ */ jsx(RiScMigrationChanges50, { changes: migrationStatus.migrationChanges50 }),
32
- migrationStatus.migrationChanges51 && /* @__PURE__ */ jsx(RiScMigrationChanges51, { changes: migrationStatus.migrationChanges51 })
33
+ migrationStatus.migrationChanges51 && /* @__PURE__ */ jsx(RiScMigrationChanges51, { changes: migrationStatus.migrationChanges51 }),
34
+ migrationStatus.migrationChanges52 && /* @__PURE__ */ jsx(RiScMigrationChanges52, { changes: migrationStatus.migrationChanges52 })
33
35
  ] });
34
36
  }
35
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"RiScMigrationChanges.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges.tsx"],"sourcesContent":["import { ChangeSetTitle } from '../changeset/components/ChangeSetTitle.tsx';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { RiScMigrationChanges40 } from './RiScMigrationChanges40.tsx';\nimport { RiScMigrationChanges41 } from './RiScMigrationChanges41.tsx';\nimport { MigrationStatus } from '../../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\nimport { RiScMigrationChanges42 } from './RiScMigrationChanges42.tsx';\nimport { RiScMigrationChanges50 } from './RiScMigrationChanges50.tsx';\nimport { RiScMigrationChanges51 } from './RiScMigrationChanges51.tsx';\n\ninterface RiScMigrationChangesProps {\n migrationStatus: MigrationStatus;\n}\n\nexport function RiScMigrationChanges({\n migrationStatus,\n}: RiScMigrationChangesProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <div>\n <ChangeSetTitle text={t('migrationDialog.schemaVersion')} />\n <ChangeSetBox type=\"primary\">\n <ChangeSetChangedProperty\n propertyName={t('migrationDialog.schemaVersion')}\n oldValue={migrationStatus.migrationVersions?.fromVersion || ''}\n newValue={migrationStatus.migrationVersions?.toVersion || ''}\n compact={true}\n />\n </ChangeSetBox>\n {migrationStatus.migrationChanges40 && (\n <RiScMigrationChanges40 changes={migrationStatus.migrationChanges40} />\n )}\n {migrationStatus.migrationChanges41 && (\n <RiScMigrationChanges41 changes={migrationStatus.migrationChanges41} />\n )}\n {migrationStatus.migrationChanges42 && (\n <RiScMigrationChanges42 changes={migrationStatus.migrationChanges42} />\n )}\n {migrationStatus.migrationChanges50 && (\n <RiScMigrationChanges50 changes={migrationStatus.migrationChanges50} />\n )}\n {migrationStatus.migrationChanges51 && (\n <RiScMigrationChanges51 changes={migrationStatus.migrationChanges51} />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAgBO,SAAS,oBAAA,CAAqB;AAAA,EACnC;AACF,CAAA,EAA8B;AAC5B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,4BACG,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,+BAA+B,CAAA,EAAG,CAAA;AAAA,oBAC1D,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EACjB,QAAA,kBAAA,GAAA;AAAA,MAAC,wBAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAc,EAAE,+BAA+B,CAAA;AAAA,QAC/C,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,WAAA,IAAe,EAAA;AAAA,QAC5D,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,SAAA,IAAa,EAAA;AAAA,QAC1D,OAAA,EAAS;AAAA;AAAA,KACX,EACF,CAAA;AAAA,IACC,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB;AAAA,GAAA,EAEzE,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"RiScMigrationChanges.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges.tsx"],"sourcesContent":["import { ChangeSetTitle } from '../changeset/components/ChangeSetTitle.tsx';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { RiScMigrationChanges40 } from './RiScMigrationChanges40.tsx';\nimport { RiScMigrationChanges41 } from './RiScMigrationChanges41.tsx';\nimport { MigrationStatus } from '../../../utils/types.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\nimport { RiScMigrationChanges42 } from './RiScMigrationChanges42.tsx';\nimport { RiScMigrationChanges50 } from './RiScMigrationChanges50.tsx';\nimport { RiScMigrationChanges51 } from './RiScMigrationChanges51.tsx';\nimport { RiScMigrationChanges52 } from './RiScMigrationChanges52.tsx';\n\ninterface RiScMigrationChangesProps {\n migrationStatus: MigrationStatus;\n}\n\nexport function RiScMigrationChanges({\n migrationStatus,\n}: RiScMigrationChangesProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n return (\n <div>\n <ChangeSetTitle text={t('migrationDialog.schemaVersion')} />\n <ChangeSetBox type=\"primary\">\n <ChangeSetChangedProperty\n propertyName={t('migrationDialog.schemaVersion')}\n oldValue={migrationStatus.migrationVersions?.fromVersion || ''}\n newValue={migrationStatus.migrationVersions?.toVersion || ''}\n compact={true}\n />\n </ChangeSetBox>\n {migrationStatus.migrationChanges40 && (\n <RiScMigrationChanges40 changes={migrationStatus.migrationChanges40} />\n )}\n {migrationStatus.migrationChanges41 && (\n <RiScMigrationChanges41 changes={migrationStatus.migrationChanges41} />\n )}\n {migrationStatus.migrationChanges42 && (\n <RiScMigrationChanges42 changes={migrationStatus.migrationChanges42} />\n )}\n {migrationStatus.migrationChanges50 && (\n <RiScMigrationChanges50 changes={migrationStatus.migrationChanges50} />\n )}\n {migrationStatus.migrationChanges51 && (\n <RiScMigrationChanges51 changes={migrationStatus.migrationChanges51} />\n )}\n {migrationStatus.migrationChanges52 && (\n <RiScMigrationChanges52 changes={migrationStatus.migrationChanges52} />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAiBO,SAAS,oBAAA,CAAqB;AAAA,EACnC;AACF,CAAA,EAA8B;AAC5B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,4BACG,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAM,CAAA,CAAE,+BAA+B,CAAA,EAAG,CAAA;AAAA,oBAC1D,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EACjB,QAAA,kBAAA,GAAA;AAAA,MAAC,wBAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAc,EAAE,+BAA+B,CAAA;AAAA,QAC/C,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,WAAA,IAAe,EAAA;AAAA,QAC5D,QAAA,EAAU,eAAA,CAAgB,iBAAA,EAAmB,SAAA,IAAa,EAAA;AAAA,QAC1D,OAAA,EAAS;AAAA;AAAA,KACX,EACF,CAAA;AAAA,IACC,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB,CAAA;AAAA,IAEtE,gBAAgB,kBAAA,oBACf,GAAA,CAAC,sBAAA,EAAA,EAAuB,OAAA,EAAS,gBAAgB,kBAAA,EAAoB;AAAA,GAAA,EAEzE,CAAA;AAEJ;;;;"}
@@ -0,0 +1,52 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { ChangeSetBox } from '../changeset/components/ChangeSetBox.esm.js';
3
+ import { MigrationTitle } from './components/MigrationTitle.esm.js';
4
+ import { ChangeSetTag } from '../changeset/components/ChangeSetTag.esm.js';
5
+ import { ChangeSetBoxTitle } from '../changeset/components/ChangeSetBoxTitle.esm.js';
6
+ import { ChangeSetTags } from '../changeset/components/ChangeSetTags.esm.js';
7
+ import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
8
+ import { pluginRiScTranslationRef } from '../../../utils/translations.esm.js';
9
+ import { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.esm.js';
10
+
11
+ function RiScMigrationChanges52({
12
+ changes
13
+ }) {
14
+ const { t } = useTranslationRef(pluginRiScTranslationRef);
15
+ const deletedValuations = changes.valuations;
16
+ if (!deletedValuations || deletedValuations.type !== "DELETED") return null;
17
+ const count = Array.isArray(deletedValuations.oldValue) ? deletedValuations.oldValue.length : 0;
18
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
19
+ /* @__PURE__ */ jsx(
20
+ MigrationTitle,
21
+ {
22
+ from: "5.1",
23
+ to: "5.2",
24
+ migrationExplanation: t(
25
+ "migrationDialog.migration52.changeExplanation"
26
+ ),
27
+ changelogUrl: "https://github.com/kartverket/backstage-plugin-risk-scorecard-backend/blob/main/docs/schemaChangelog.md#52"
28
+ }
29
+ ),
30
+ /* @__PURE__ */ jsxs(ChangeSetBox, { type: "primary", children: [
31
+ /* @__PURE__ */ jsx(ChangeSetTags, { children: /* @__PURE__ */ jsx(
32
+ ChangeSetTag,
33
+ {
34
+ type: "primary",
35
+ text: t("migrationDialog.schemaVersion")
36
+ }
37
+ ) }),
38
+ /* @__PURE__ */ jsx(ChangeSetBoxTitle, { title: t("migrationDialog.migration52.title") }),
39
+ /* @__PURE__ */ jsx(
40
+ ChangeSetChangedProperty,
41
+ {
42
+ propertyName: t("dictionary.valuation"),
43
+ oldValue: `${t("migrationDialog.migration52.oldValue")}: ${count}`,
44
+ newValue: t("migrationDialog.removed")
45
+ }
46
+ )
47
+ ] })
48
+ ] });
49
+ }
50
+
51
+ export { RiScMigrationChanges52 };
52
+ //# sourceMappingURL=RiScMigrationChanges52.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RiScMigrationChanges52.esm.js","sources":["../../../../src/components/riScInfo/migrations/RiScMigrationChanges52.tsx"],"sourcesContent":["import { MigrationChanges52 } from '../../../utils/types.ts';\nimport { ChangeSetBox } from '../changeset/components/ChangeSetBox.tsx';\nimport { MigrationTitle } from './components/MigrationTitle.tsx';\nimport { ChangeSetTag } from '../changeset/components/ChangeSetTag.tsx';\nimport { ChangeSetBoxTitle } from '../changeset/components/ChangeSetBoxTitle.tsx';\nimport { ChangeSetTags } from '../changeset/components/ChangeSetTags.tsx';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../../utils/translations.ts';\nimport { ChangeSetChangedProperty } from '../changeset/components/ChangeSetChangedProperty.tsx';\n\ninterface RiScMigrationChanges52Props {\n changes: MigrationChanges52;\n}\n\nexport function RiScMigrationChanges52({\n changes,\n}: RiScMigrationChanges52Props) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const deletedValuations = changes.valuations;\n if (!deletedValuations || deletedValuations.type !== 'DELETED') return null;\n\n const count = Array.isArray(deletedValuations.oldValue)\n ? deletedValuations.oldValue.length\n : 0;\n\n return (\n <>\n <MigrationTitle\n from=\"5.1\"\n to=\"5.2\"\n migrationExplanation={t(\n 'migrationDialog.migration52.changeExplanation',\n )}\n changelogUrl=\"https://github.com/kartverket/backstage-plugin-risk-scorecard-backend/blob/main/docs/schemaChangelog.md#52\"\n />\n\n <ChangeSetBox type=\"primary\">\n <ChangeSetTags>\n <ChangeSetTag\n type=\"primary\"\n text={t('migrationDialog.schemaVersion')}\n />\n </ChangeSetTags>\n\n <ChangeSetBoxTitle title={t('migrationDialog.migration52.title')} />\n\n <ChangeSetChangedProperty\n propertyName={t('dictionary.valuation')}\n oldValue={`${t('migrationDialog.migration52.oldValue')}: ${count}`}\n newValue={t('migrationDialog.removed')}\n />\n </ChangeSetBox>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAcO,SAAS,sBAAA,CAAuB;AAAA,EACrC;AACF,CAAA,EAAgC;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,MAAM,oBAAoB,OAAA,CAAQ,UAAA;AAClC,EAAA,IAAI,CAAC,iBAAA,IAAqB,iBAAA,CAAkB,IAAA,KAAS,WAAW,OAAO,IAAA;AAEvE,EAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,iBAAA,CAAkB,QAAQ,CAAA,GAClD,iBAAA,CAAkB,SAAS,MAAA,GAC3B,CAAA;AAEJ,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,KAAA;AAAA,QACL,EAAA,EAAG,KAAA;AAAA,QACH,oBAAA,EAAsB,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA,YAAA,EAAa;AAAA;AAAA,KACf;AAAA,oBAEA,IAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EACjB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,SAAA;AAAA,UACL,IAAA,EAAM,EAAE,+BAA+B;AAAA;AAAA,OACzC,EACF,CAAA;AAAA,sBAEA,GAAA,CAAC,iBAAA,EAAA,EAAkB,KAAA,EAAO,CAAA,CAAE,mCAAmC,CAAA,EAAG,CAAA;AAAA,sBAElE,GAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAc,EAAE,sBAAsB,CAAA;AAAA,UACtC,UAAU,CAAA,EAAG,CAAA,CAAE,sCAAsC,CAAC,KAAK,KAAK,CAAA,CAAA;AAAA,UAChE,QAAA,EAAU,EAAE,yBAAyB;AAAA;AAAA;AACvC,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -15,16 +15,27 @@ function AggregatedCost({ riSc, riskType }) {
15
15
  const { t } = useTranslationRef(pluginRiScTranslationRef);
16
16
  const [showDialog, setShowDialog] = useState(false);
17
17
  const cost = calcRiskCostOfRiSc(riSc, riskType);
18
- const riskLabel = {
19
- [RiskMatrixTabs.initialRisk]: t("dictionary.initialRisk"),
20
- [RiskMatrixTabs.remainingRisk]: t("dictionary.restRisk"),
21
- [RiskMatrixTabs.currentRisk]: t("dictionary.currentRisk")
18
+ const estimatedRiskTitle = {
19
+ [RiskMatrixTabs.initialRisk]: t("dictionary.estimatedInitialRisk"),
20
+ [RiskMatrixTabs.remainingRisk]: t("dictionary.estimatedRemainingRisk"),
21
+ [RiskMatrixTabs.currentRisk]: t("dictionary.estimatedCurrentRisk")
22
22
  };
23
+ const riskExplanation = {
24
+ [RiskMatrixTabs.initialRisk]: t("dictionary.riskExplanation.initial"),
25
+ [RiskMatrixTabs.currentRisk]: t("dictionary.riskExplanation.current"),
26
+ [RiskMatrixTabs.remainingRisk]: t("dictionary.riskExplanation.remaining")
27
+ };
28
+ const title = riskType ? estimatedRiskTitle[riskType] : t("riskMatrix.estimatedRisk.title");
29
+ const explanation = riskType ? riskExplanation[riskType] : void 0;
23
30
  return /* @__PURE__ */ jsxs(Box, { className: styles.boxStyle, children: [
24
- /* @__PURE__ */ jsxs(Text, { as: "h3", variant: "body-large", weight: "bold", children: [
25
- t("riskMatrix.estimatedRisk.title"),
26
- " ",
27
- riskType && `(${riskLabel[riskType]})`
31
+ /* @__PURE__ */ jsxs(Text, { as: "h3", variant: "body-large", children: [
32
+ /* @__PURE__ */ jsx(Text, { as: "span", weight: "bold", children: title }),
33
+ explanation && /* @__PURE__ */ jsxs(Text, { as: "span", weight: "regular", children: [
34
+ " ",
35
+ "(",
36
+ explanation,
37
+ ")"
38
+ ] })
28
39
  ] }),
29
40
  /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "0", children: [
30
41
  /* @__PURE__ */ jsxs(Text, { variant: "body-large", children: [
@@ -38,7 +49,8 @@ function AggregatedCost({ riSc, riskType }) {
38
49
  EstimatedRiskInfoDialog,
39
50
  {
40
51
  isOpen: showDialog,
41
- onClose: () => setShowDialog(false)
52
+ onClose: () => setShowDialog(false),
53
+ riskTab: riskType
42
54
  }
43
55
  )
44
56
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"AggregatedCost.esm.js","sources":["../../../src/components/riskMatrix/AggregatedCost.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { IconButton } from '@material-ui/core';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiSc } from '../../utils/types';\nimport { formatNumber } from '../../utils/utilityfunctions';\nimport { EstimatedRiskInfoDialog } from './EstimatedRiskInfoDialog';\nimport { Box, Flex, Text } from '@backstage/ui';\nimport styles from './AggregatedCost.module.css';\nimport { calcRiskCostOfRiSc } from '../../utils/risk';\nimport { RiskMatrixTabs } from './utils';\n\ninterface AggregatedCostProps {\n riSc: RiSc;\n riskType?: RiskMatrixTabs;\n}\n\nexport function AggregatedCost({ riSc, riskType }: AggregatedCostProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const [showDialog, setShowDialog] = useState(false);\n\n const cost = calcRiskCostOfRiSc(riSc, riskType);\n\n const riskLabel = {\n [RiskMatrixTabs.initialRisk]: t('dictionary.initialRisk'),\n [RiskMatrixTabs.remainingRisk]: t('dictionary.restRisk'),\n [RiskMatrixTabs.currentRisk]: t('dictionary.currentRisk'),\n };\n\n return (\n <Box className={styles.boxStyle}>\n <Text as=\"h3\" variant=\"body-large\" weight=\"bold\">\n {t('riskMatrix.estimatedRisk.title')}{' '}\n {riskType && `(${riskLabel[riskType]})`}\n </Text>\n <Flex align=\"center\" gap=\"0\">\n <Text variant=\"body-large\">\n {formatNumber(cost, t)}{' '}\n {t('riskMatrix.estimatedRisk.unit.nokPerYear')}\n </Text>\n <IconButton size=\"small\" onClick={() => setShowDialog(true)}>\n <InfoIcon />\n </IconButton>\n </Flex>\n <EstimatedRiskInfoDialog\n isOpen={showDialog}\n onClose={() => setShowDialog(false)}\n />\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAkBO,SAAS,cAAA,CAAe,EAAE,IAAA,EAAM,QAAA,EAAS,EAAwB;AACtE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAElD,EAAA,MAAM,IAAA,GAAO,kBAAA,CAAmB,IAAA,EAAM,QAAQ,CAAA;AAE9C,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,wBAAwB,CAAA;AAAA,IACxD,CAAC,cAAA,CAAe,aAAa,GAAG,EAAE,qBAAqB,CAAA;AAAA,IACvD,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,wBAAwB;AAAA,GAC1D;AAEA,EAAA,uBACE,IAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,QAAA,EACrB,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,QAAK,EAAA,EAAG,IAAA,EAAK,OAAA,EAAQ,YAAA,EAAa,QAAO,MAAA,EACvC,QAAA,EAAA;AAAA,MAAA,CAAA,CAAE,gCAAgC,CAAA;AAAA,MAAG,GAAA;AAAA,MACrC,QAAA,IAAY,CAAA,CAAA,EAAI,SAAA,CAAU,QAAQ,CAAC,CAAA,CAAA;AAAA,KAAA,EACtC,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EAAS,KAAI,GAAA,EACvB,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,YAAA,EACX,QAAA,EAAA;AAAA,QAAA,YAAA,CAAa,MAAM,CAAC,CAAA;AAAA,QAAG,GAAA;AAAA,QACvB,EAAE,0CAA0C;AAAA,OAAA,EAC/C,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA,EACxD,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA,EACZ;AAAA,KAAA,EACF,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,uBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,UAAA;AAAA,QACR,OAAA,EAAS,MAAM,aAAA,CAAc,KAAK;AAAA;AAAA;AACpC,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"AggregatedCost.esm.js","sources":["../../../src/components/riskMatrix/AggregatedCost.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { IconButton } from '@material-ui/core';\nimport InfoIcon from '@mui/icons-material/Info';\nimport { useState } from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiSc } from '../../utils/types';\nimport { formatNumber } from '../../utils/utilityfunctions';\nimport { EstimatedRiskInfoDialog } from './EstimatedRiskInfoDialog';\nimport { Box, Flex, Text } from '@backstage/ui';\nimport styles from './AggregatedCost.module.css';\nimport { calcRiskCostOfRiSc } from '../../utils/risk';\nimport { RiskMatrixTabs } from './utils';\n\ninterface AggregatedCostProps {\n riSc: RiSc;\n riskType?: RiskMatrixTabs;\n}\n\nexport function AggregatedCost({ riSc, riskType }: AggregatedCostProps) {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n\n const [showDialog, setShowDialog] = useState(false);\n\n const cost = calcRiskCostOfRiSc(riSc, riskType);\n\n const estimatedRiskTitle = {\n [RiskMatrixTabs.initialRisk]: t('dictionary.estimatedInitialRisk'),\n [RiskMatrixTabs.remainingRisk]: t('dictionary.estimatedRemainingRisk'),\n [RiskMatrixTabs.currentRisk]: t('dictionary.estimatedCurrentRisk'),\n } as const;\n\n const riskExplanation = {\n [RiskMatrixTabs.initialRisk]: t('dictionary.riskExplanation.initial'),\n [RiskMatrixTabs.currentRisk]: t('dictionary.riskExplanation.current'),\n [RiskMatrixTabs.remainingRisk]: t('dictionary.riskExplanation.remaining'),\n } as const;\n\n const title = riskType\n ? estimatedRiskTitle[riskType]\n : t('riskMatrix.estimatedRisk.title');\n\n const explanation = riskType ? riskExplanation[riskType] : undefined;\n\n return (\n <Box className={styles.boxStyle}>\n <Text as=\"h3\" variant=\"body-large\">\n <Text as=\"span\" weight=\"bold\">\n {title}\n </Text>\n\n {explanation && (\n <Text as=\"span\" weight=\"regular\">\n {' '}\n ({explanation})\n </Text>\n )}\n </Text>\n <Flex align=\"center\" gap=\"0\">\n <Text variant=\"body-large\">\n {formatNumber(cost, t)}{' '}\n {t('riskMatrix.estimatedRisk.unit.nokPerYear')}\n </Text>\n <IconButton size=\"small\" onClick={() => setShowDialog(true)}>\n <InfoIcon />\n </IconButton>\n </Flex>\n <EstimatedRiskInfoDialog\n isOpen={showDialog}\n onClose={() => setShowDialog(false)}\n riskTab={riskType}\n />\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAkBO,SAAS,cAAA,CAAe,EAAE,IAAA,EAAM,QAAA,EAAS,EAAwB;AACtE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,wBAAwB,CAAA;AAExD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAElD,EAAA,MAAM,IAAA,GAAO,kBAAA,CAAmB,IAAA,EAAM,QAAQ,CAAA;AAE9C,EAAA,MAAM,kBAAA,GAAqB;AAAA,IACzB,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,iCAAiC,CAAA;AAAA,IACjE,CAAC,cAAA,CAAe,aAAa,GAAG,EAAE,mCAAmC,CAAA;AAAA,IACrE,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,iCAAiC;AAAA,GACnE;AAEA,EAAA,MAAM,eAAA,GAAkB;AAAA,IACtB,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,oCAAoC,CAAA;AAAA,IACpE,CAAC,cAAA,CAAe,WAAW,GAAG,EAAE,oCAAoC,CAAA;AAAA,IACpE,CAAC,cAAA,CAAe,aAAa,GAAG,EAAE,sCAAsC;AAAA,GAC1E;AAEA,EAAA,MAAM,QAAQ,QAAA,GACV,kBAAA,CAAmB,QAAQ,CAAA,GAC3B,EAAE,gCAAgC,CAAA;AAEtC,EAAA,MAAM,WAAA,GAAc,QAAA,GAAW,eAAA,CAAgB,QAAQ,CAAA,GAAI,MAAA;AAE3D,EAAA,uBACE,IAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,QAAA,EACrB,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,IAAA,EAAK,OAAA,EAAQ,YAAA,EACpB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,MAAA,EAAO,QACpB,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MAEC,+BACC,IAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAO,SAAA,EACpB,QAAA,EAAA;AAAA,QAAA,GAAA;AAAA,QAAI,GAAA;AAAA,QACH,WAAA;AAAA,QAAY;AAAA,OAAA,EAChB;AAAA,KAAA,EAEJ,CAAA;AAAA,oBACA,IAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAM,QAAA,EAAS,KAAI,GAAA,EACvB,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,YAAA,EACX,QAAA,EAAA;AAAA,QAAA,YAAA,CAAa,MAAM,CAAC,CAAA;AAAA,QAAG,GAAA;AAAA,QACvB,EAAE,0CAA0C;AAAA,OAAA,EAC/C,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA,EACxD,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA,EACZ;AAAA,KAAA,EACF,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,uBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,UAAA;AAAA,QACR,OAAA,EAAS,MAAM,aAAA,CAAc,KAAK,CAAA;AAAA,QAClC,OAAA,EAAS;AAAA;AAAA;AACX,GAAA,EACF,CAAA;AAEJ;;;;"}