@kartverket/backstage-plugin-risk-scorecard 6.4.2 → 6.5.1

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/css/theme.css CHANGED
@@ -48,6 +48,14 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
48
48
  --ros-gray-800: #2e2e2e;
49
49
  --ros-gray-900: #212121;
50
50
  --ros-gray-medium: #808080;
51
+ --ros-gray-light-hover: #e0e0e0;
52
+ --ros-gray-dark-card: #424242;
53
+ --ros-gray-dark-hover: #616161;
54
+
55
+ --ros-orange-warm-50: #fff7ed;
56
+
57
+ --ros-blue-info-50: #eaf6ff;
58
+ --ros-blue-info-400: #439ccd;
51
59
 
52
60
  --ros-risc-status-updated: var(--ros-green-500);
53
61
  --ros-risc-status-little-outdated: var(--ros-orange-400);
@@ -80,6 +88,19 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
80
88
  --ros-input-text-color: #757575;
81
89
  --ros-input-disabledBackground: rgba(0, 0, 0, 0.12);
82
90
 
91
+ --ros-initial-risc-bg: var(--bui-bg-neutral-1);
92
+ --ros-scenario-highlight: var(--ros-gray-100);
93
+ --ros-scenario-card-bg: var(--ros-gray-50);
94
+
95
+ --ros-alert-success-bg: var(--ros-green-50);
96
+ --ros-alert-success-border: var(--ros-green-300);
97
+ --ros-alert-warning-bg: var(--ros-orange-warm-50);
98
+ --ros-alert-warning-border: var(--ros-orange-300);
99
+ --ros-alert-error-bg: var(--ros-red-50);
100
+ --ros-alert-error-border: var(--ros-red-500);
101
+ --ros-alert-info-bg: var(--ros-blue-info-50);
102
+ --ros-alert-info-border: var(--ros-blue-info-400);
103
+
83
104
  /* -------Button styles------- */
84
105
  .ros-button-red {
85
106
  background-color: var(--ros-red-bright);
@@ -129,11 +150,24 @@ Remember to prefix custom styles with 'ros-' to avoid conflicts with other plugi
129
150
  --ros-input-text-color: #ffffff80;
130
151
  --ros-input-disabledBackground: rgba(255, 255, 255, 0.12);
131
152
 
153
+ --ros-initial-risc-bg: var(--bui-bg-neutral-3);
154
+ --ros-scenario-highlight: var(--ros-gray-300);
155
+ --ros-scenario-card-bg: var(--ros-gray-500);
156
+
157
+ --ros-alert-success-bg: #1a3a2a;
158
+ --ros-alert-success-border: var(--ros-green-300);
159
+ --ros-alert-warning-bg: #3a2e1a;
160
+ --ros-alert-warning-border: var(--ros-orange-300);
161
+ --ros-alert-error-bg: #3a1a1a;
162
+ --ros-alert-error-border: var(--ros-red-400);
163
+ --ros-alert-info-bg: #1a2a3a;
164
+ --ros-alert-info-border: var(--ros-blue-info-400);
165
+
132
166
  .bui-Switch:not([data-selected]) .bui-SwitchIndicator {
133
167
  background-color: var(--ros-gray-300);
134
168
  }
135
169
 
136
170
  .bui-Card {
137
- background-color: #424242;
171
+ background-color: var(--ros-gray-dark-card);
138
172
  }
139
173
  }
@@ -28,11 +28,11 @@ const Input = forwardRef(
28
28
  variant: "outlined",
29
29
  inputRef: ref,
30
30
  InputProps: {
31
- sx: (theme) => ({
31
+ sx: {
32
32
  "&.Mui-disabled": {
33
- color: commonTextColor(theme)
33
+ color: commonTextColor()
34
34
  }
35
- })
35
+ }
36
36
  },
37
37
  ...props
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Input.esm.js","sources":["../../../src/components/common/Input.tsx"],"sourcesContent":["import FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormLabel from '@mui/material/FormLabel';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { forwardRef } from 'react';\nimport { commonTextColor } from '../../utils/style';\nimport formStyles from './formStyles.module.css';\n\ntype Props = TextFieldProps & {\n sublabel?: string;\n};\n\nexport const Input = forwardRef<HTMLInputElement, Props>(\n ({ label, sublabel, error, helperText, required, ...props }, ref) => {\n return (\n <FormControl\n className={formStyles.formControl}\n error={error}\n required={required}\n >\n {label && (\n <FormLabel required={required} className={formStyles.formLabel}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText className={formStyles.formHelperText}>\n {sublabel}\n </FormHelperText>\n )}\n <TextField\n id=\"filled-multiline-static\"\n error={error}\n multiline\n fullWidth\n variant=\"outlined\"\n inputRef={ref}\n InputProps={{\n sx: theme => ({\n '&.Mui-disabled': {\n color: commonTextColor(theme, true),\n },\n }),\n }}\n {...props}\n />\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;;AAYO,MAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,YAAY,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACnE,IAAA,uBACE,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,WAAW,UAAA,CAAW,WAAA;AAAA,QACtB,KAAA;AAAA,QACA,QAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA,wBACE,SAAA,EAAA,EAAU,QAAA,EAAoB,SAAA,EAAW,UAAA,CAAW,WAClD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UAED,4BACC,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAW,UAAA,CAAW,gBACnC,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,0BAEF,GAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAG,yBAAA;AAAA,cACH,KAAA;AAAA,cACA,SAAA,EAAS,IAAA;AAAA,cACT,SAAA,EAAS,IAAA;AAAA,cACT,OAAA,EAAQ,UAAA;AAAA,cACR,QAAA,EAAU,GAAA;AAAA,cACV,UAAA,EAAY;AAAA,gBACV,IAAI,CAAA,KAAA,MAAU;AAAA,kBACZ,gBAAA,EAAkB;AAAA,oBAChB,KAAA,EAAO,eAAA,CAAgB,KAAW;AAAA;AACpC,iBACF;AAAA,eACF;AAAA,cACC,GAAG;AAAA;AAAA,WACN;AAAA,UACC,UAAA,oBAAc,GAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,KAC7C;AAAA,EAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Input.esm.js","sources":["../../../src/components/common/Input.tsx"],"sourcesContent":["import FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormLabel from '@mui/material/FormLabel';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { forwardRef } from 'react';\nimport { commonTextColor } from '../../utils/style';\nimport formStyles from './formStyles.module.css';\n\ntype Props = TextFieldProps & {\n sublabel?: string;\n};\n\nexport const Input = forwardRef<HTMLInputElement, Props>(\n ({ label, sublabel, error, helperText, required, ...props }, ref) => {\n return (\n <FormControl\n className={formStyles.formControl}\n error={error}\n required={required}\n >\n {label && (\n <FormLabel required={required} className={formStyles.formLabel}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText className={formStyles.formHelperText}>\n {sublabel}\n </FormHelperText>\n )}\n <TextField\n id=\"filled-multiline-static\"\n error={error}\n multiline\n fullWidth\n variant=\"outlined\"\n inputRef={ref}\n InputProps={{\n sx: {\n '&.Mui-disabled': {\n color: commonTextColor(true),\n },\n },\n }}\n {...props}\n />\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;;AAYO,MAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,YAAY,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACnE,IAAA,uBACE,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,WAAW,UAAA,CAAW,WAAA;AAAA,QACtB,KAAA;AAAA,QACA,QAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA,wBACE,SAAA,EAAA,EAAU,QAAA,EAAoB,SAAA,EAAW,UAAA,CAAW,WAClD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UAED,4BACC,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAW,UAAA,CAAW,gBACnC,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,0BAEF,GAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAG,yBAAA;AAAA,cACH,KAAA;AAAA,cACA,SAAA,EAAS,IAAA;AAAA,cACT,SAAA,EAAS,IAAA;AAAA,cACT,OAAA,EAAQ,UAAA;AAAA,cACR,QAAA,EAAU,GAAA;AAAA,cACV,UAAA,EAAY;AAAA,gBACV,EAAA,EAAI;AAAA,kBACF,gBAAA,EAAkB;AAAA,oBAChB,KAAA,EAAO,gBAAoB;AAAA;AAC7B;AACF,eACF;AAAA,cACC,GAAG;AAAA;AAAA,WACN;AAAA,UACC,UAAA,oBAAc,GAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,KAC7C;AAAA,EAEJ;AACF;;;;"}
@@ -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 = ".alertBar_alertBarBox__381ae2067c {\n position: sticky;\n top: 8px;\n z-index: 100;\n display: block;\n}\n\n.alertBar_alertBar__381ae2067c {\n width: 100%;\n margin-bottom: 8px;\n}\n\n/* severity variants */\n.alertBar_success__381ae2067c {\n background-color: #e9f8eb;\n border: 1px solid #66b077;\n}\n\n.alertBar_warning__381ae2067c {\n background-color: #fff7ed;\n border: 1px solid #cf914a;\n}\n\n.alertBar_error__381ae2067c {\n background-color: #fcf1e8;\n border: 1px solid #a32f00;\n}\n\n.alertBar_info__381ae2067c {\n background-color: #eaf6ff;\n border: 1px solid #439ccd;\n}\n\n.alertBar_preLineText__381ae2067c {\n white-space: pre-line;\n}\n";
4
- var styles = {"alertBarBox":"alertBar_alertBarBox__381ae2067c","alertBar":"alertBar_alertBar__381ae2067c","success":"alertBar_success__381ae2067c","warning":"alertBar_warning__381ae2067c","error":"alertBar_error__381ae2067c","info":"alertBar_info__381ae2067c","preLineText":"alertBar_preLineText__381ae2067c"};
3
+ var css_248z = ".alertBar_alertBarBox__a5db352c44 {\n position: sticky;\n top: 8px;\n z-index: 100;\n display: block;\n}\n\n.alertBar_alertBar__a5db352c44 {\n width: 100%;\n margin-bottom: 8px;\n}\n\n/* severity variants — !important needed to override MUI Alert inline styles */\n.alertBar_success__a5db352c44 {\n background-color: var(--ros-alert-success-bg) !important;\n border: 1px solid var(--ros-alert-success-border);\n}\n\n.alertBar_warning__a5db352c44 {\n background-color: var(--ros-alert-warning-bg) !important;\n border: 1px solid var(--ros-alert-warning-border);\n}\n\n.alertBar_error__a5db352c44 {\n background-color: var(--ros-alert-error-bg) !important;\n border: 1px solid var(--ros-alert-error-border);\n}\n\n.alertBar_info__a5db352c44 {\n background-color: var(--ros-alert-info-bg) !important;\n border: 1px solid var(--ros-alert-info-border);\n}\n\n.alertBar_preLineText__a5db352c44 {\n white-space: pre-line;\n}\n";
4
+ var styles = {"alertBarBox":"alertBar_alertBarBox__a5db352c44","alertBar":"alertBar_alertBar__a5db352c44","success":"alertBar_success__a5db352c44","warning":"alertBar_warning__a5db352c44","error":"alertBar_error__a5db352c44","info":"alertBar_info__a5db352c44","preLineText":"alertBar_preLineText__a5db352c44"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -3,7 +3,6 @@ import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
3
3
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
4
4
  import { Box, Text, Switch, Flex, RadioGroup, Radio } from '@backstage/ui';
5
5
  import { useDefaultRiScTypeDescriptors } from '../../contexts/DefaultRiScTypesContext.esm.js';
6
- import { useTheme } from '@mui/material/styles';
7
6
  import styles from './ConfigInitialRisc.module.css.esm.js';
8
7
 
9
8
  const RadioOption = ({
@@ -16,7 +15,6 @@ const RadioOption = ({
16
15
  recommendedBackstageComponentType
17
16
  }) => {
18
17
  const { t } = useTranslationRef(pluginRiScTranslationRef);
19
- const theme = useTheme();
20
18
  const style = {
21
19
  fontSize: "12px",
22
20
  border: `1px solid ${active ? "var(--bui-border-2)" : "var(--bui-border-1)"}`,
@@ -31,7 +29,7 @@ const RadioOption = ({
31
29
  p: "12px 16px",
32
30
  gap: "2",
33
31
  style: {
34
- backgroundColor: theme.palette.mode === "dark" ? "var(--bui-bg-neutral-3)" : "var(--bui-bg-neutral-1)",
32
+ backgroundColor: "var(--ros-initial-risc-bg)",
35
33
  borderRadius: "8px",
36
34
  opacity: active ? 0.5 : 1
37
35
  },
@@ -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';\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-border-2)' : 'var(--bui-border-1)'}`,\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-bg-neutral-3)'\n : 'var(--bui-bg-neutral-1)',\n borderRadius: '8px',\n opacity: active ? 0.5 : 1,\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
+ {"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';\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 style = {\n fontSize: '12px',\n border: `1px solid ${active ? 'var(--bui-border-2)' : 'var(--bui-border-1)'}`,\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: 'var(--ros-initial-risc-bg)',\n borderRadius: '8px',\n opacity: active ? 0.5 : 1,\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 = ".RiScDialog_subtitle__07347c1283 {\n padding-top: 24px;\n padding-bottom: 8px;\n}\n\n.RiScDialog_deleteButton__07347c1283 {\n color: #d32f2f;\n padding-left: 0;\n}\n\n.RiScDialog_deleteButtonIcon__07347c1283 {\n font-size: 16px;\n}\n\n.RiScDialog_matrixDialog__07347c1283 {\n width: 1050px;\n margin: 32px;\n padding: 24px;\n border-radius: 4px;\n}\n\n.RiScDialog_matrixDialogBody__07347c1283 {\n padding-bottom: 32px;\n}\n\n.RiScDialog_createRiscDialog__07347c1283 {\n padding: 16px 12px;\n gap: 16px;\n border-radius: 4px;\n width: 600px;\n}\n\n.RiScDialog_accordionContainer__07347c1283 {\n border: 1px solid var(--ros-gray-200);\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .RiScDialog_accordionContainer__07347c1283 {\n border: 1px solid var(--bui-white);\n}\n";
4
- var dialogStyles = {"subtitle":"RiScDialog_subtitle__07347c1283","deleteButton":"RiScDialog_deleteButton__07347c1283","deleteButtonIcon":"RiScDialog_deleteButtonIcon__07347c1283","matrixDialog":"RiScDialog_matrixDialog__07347c1283","matrixDialogBody":"RiScDialog_matrixDialogBody__07347c1283","createRiscDialog":"RiScDialog_createRiscDialog__07347c1283","accordionContainer":"RiScDialog_accordionContainer__07347c1283"};
3
+ var css_248z = ".RiScDialog_subtitle__75fb248a3a {\n padding-top: 24px;\n padding-bottom: 8px;\n}\n\n.RiScDialog_deleteButton__75fb248a3a {\n color: var(--ros-red-bright);\n padding-left: 0;\n}\n\n.RiScDialog_deleteButtonIcon__75fb248a3a {\n font-size: 16px;\n}\n\n.RiScDialog_matrixDialog__75fb248a3a {\n width: 1050px;\n margin: 32px;\n padding: 24px;\n border-radius: 4px;\n}\n\n.RiScDialog_matrixDialogBody__75fb248a3a {\n padding-bottom: 32px;\n}\n\n.RiScDialog_createRiscDialog__75fb248a3a {\n padding: 16px 12px;\n gap: 16px;\n border-radius: 4px;\n width: 600px;\n}\n\n.RiScDialog_accordionContainer__75fb248a3a {\n border: 1px solid var(--ros-gray-200);\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .RiScDialog_accordionContainer__75fb248a3a {\n border: 1px solid var(--bui-white);\n}\n";
4
+ var dialogStyles = {"subtitle":"RiScDialog_subtitle__75fb248a3a","deleteButton":"RiScDialog_deleteButton__75fb248a3a","deleteButtonIcon":"RiScDialog_deleteButtonIcon__75fb248a3a","matrixDialog":"RiScDialog_matrixDialog__75fb248a3a","matrixDialogBody":"RiScDialog_matrixDialogBody__75fb248a3a","createRiscDialog":"RiScDialog_createRiscDialog__75fb248a3a","accordionContainer":"RiScDialog_accordionContainer__75fb248a3a"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { dialogStyles as default };
@@ -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 = "/* Retrieved from Kartverket's colour profile */\n\n/* ChangeSetBox */\n.changeSet_box__d765f6b35a {\n padding: 14px 18px;\n height: 100%;\n border-radius: 24px;\n color: #212121;\n font-size: 14px;\n}\n\n[data-theme-mode='dark'] .changeSet_box__d765f6b35a {\n color: #f5f2f2;\n}\n\n.changeSet_boxPrimary__d765f6b35a {\n background-color: #fcebcd;\n margin-bottom: 24px;\n}\n\n[data-theme-mode='dark'] .changeSet_boxPrimary__d765f6b35a {\n background-color: #706f6e;\n}\n\n.changeSet_boxSecondary__d765f6b35a {\n background-color: #ffffff;\n margin-bottom: 12px;\n}\n\n[data-theme-mode='dark'] .changeSet_boxSecondary__d765f6b35a {\n background-color: #4a4848;\n}\n\n/* ChangeSetBoxTitle */\n.changeSet_boxTitle__d765f6b35a {\n font-weight: 700;\n font-size: 18px;\n line-height: 26px;\n margin-bottom: 12px;\n}\n\n/* ChangeSetPropertyBase */\n.changeSet_property__d765f6b35a {\n margin-bottom: 12px;\n}\n\n.changeSet_propertyTitle__d765f6b35a {\n font-weight: 700;\n color: #212121;\n}\n\n[data-theme-mode='dark'] .changeSet_propertyTitle__d765f6b35a {\n color: #f5f2f2;\n}\n\n/* ChangeSetChangedValue */\n.changeSet_oldValue__d765f6b35a {\n font-weight: 700;\n color: #a32f00;\n text-decoration: line-through;\n}\n\n[data-theme-mode='dark'] .changeSet_oldValue__d765f6b35a {\n color: #ffe2d4;\n}\n\n.changeSet_newValue__d765f6b35a {\n font-weight: 700;\n color: #156630;\n}\n\n[data-theme-mode='dark'] .changeSet_newValue__d765f6b35a {\n color: #d0ecd6;\n}\n\n/* ChangeSetRemovedProperty */\n.changeSet_removedPropertyContainer__d765f6b35a {\n margin-bottom: 8px;\n}\n\n.changeSet_removedProperty__d765f6b35a {\n font-weight: 700;\n color: #a32f00;\n text-decoration: line-through;\n font-size: 18px;\n line-height: 26px;\n}\n\n[data-theme-mode='dark'] .changeSet_removedProperty__d765f6b35a {\n color: #ffe2d4;\n}\n\n/* ChangeSetRemovedValue */\n.changeSet_removedValue__d765f6b35a {\n font-weight: 500;\n color: #a32f00;\n text-decoration: line-through;\n font-size: 14px;\n}\n\n[data-theme-mode='dark'] .changeSet_removedValue__d765f6b35a {\n color: #ffe2d4;\n}\n\n/* ChangeSetAddedValue */\n.changeSet_addedValue__d765f6b35a {\n font-weight: 500;\n color: #156630;\n font-size: 14px;\n}\n\n[data-theme-mode='dark'] .changeSet_addedValue__d765f6b35a {\n color: #d0ecd6;\n}\n\n/* ChangeSetTag */\n.changeSet_tag__d765f6b35a {\n border-radius: 24px;\n width: fit-content;\n padding: 1px 8px;\n border: 1px solid;\n color: #212121;\n}\n\n.changeSet_tagPrimary__d765f6b35a {\n background-color: #ffdd9d;\n border-color: #cf914a;\n}\n\n.changeSet_tagDelete__d765f6b35a {\n background-color: #ebb095;\n border-color: #d04a14;\n}\n\n.changeSet_tagAdded__d765f6b35a {\n background-color: #d0ecd6;\n border-color: #66b077;\n}\n\n/* ChangeSetTags */\n.changeSet_tags__d765f6b35a {\n margin-bottom: 4px;\n display: flex;\n gap: 4px;\n}\n\n/* ChangeSetText */\n.changeSet_text__d765f6b35a {\n font-weight: 500;\n color: #212121;\n}\n\n[data-theme-mode='dark'] .changeSet_text__d765f6b35a {\n color: #f5f2f2;\n}\n\n/* ChangeSetBodyText */\n.changeSet_bodyText__d765f6b35a {\n color: #212121;\n margin-top: 0;\n margin-bottom: 4px;\n}\n\n[data-theme-mode='dark'] .changeSet_bodyText__d765f6b35a {\n color: #f5f2f2;\n}\n\n/* ChangeSetTitle */\n.changeSet_title__d765f6b35a {\n text-transform: uppercase;\n letter-spacing: 1px;\n color: #212121;\n font-weight: 700;\n font-size: 14px;\n margin-bottom: 12px;\n}\n\n[data-theme-mode='dark'] .changeSet_title__d765f6b35a {\n color: #f5f2f2;\n}\n\n/* ChangeSetTwoColumnSplit */\n.changeSet_twoColumnSplit__d765f6b35a {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 18px;\n margin-bottom: 12px;\n}\n\n/* ChangeSetColumn */\n.changeSet_firstColumn__d765f6b35a {\n grid-column: 1;\n}\n\n.changeSet_secondColumn__d765f6b35a {\n grid-column: 2;\n}\n";
4
- var styles = {"box":"changeSet_box__d765f6b35a","boxPrimary":"changeSet_boxPrimary__d765f6b35a","boxSecondary":"changeSet_boxSecondary__d765f6b35a","boxTitle":"changeSet_boxTitle__d765f6b35a","property":"changeSet_property__d765f6b35a","propertyTitle":"changeSet_propertyTitle__d765f6b35a","oldValue":"changeSet_oldValue__d765f6b35a","newValue":"changeSet_newValue__d765f6b35a","removedPropertyContainer":"changeSet_removedPropertyContainer__d765f6b35a","removedProperty":"changeSet_removedProperty__d765f6b35a","removedValue":"changeSet_removedValue__d765f6b35a","addedValue":"changeSet_addedValue__d765f6b35a","tag":"changeSet_tag__d765f6b35a","tagPrimary":"changeSet_tagPrimary__d765f6b35a","tagDelete":"changeSet_tagDelete__d765f6b35a","tagAdded":"changeSet_tagAdded__d765f6b35a","tags":"changeSet_tags__d765f6b35a","text":"changeSet_text__d765f6b35a","title":"changeSet_title__d765f6b35a","twoColumnSplit":"changeSet_twoColumnSplit__d765f6b35a","firstColumn":"changeSet_firstColumn__d765f6b35a","secondColumn":"changeSet_secondColumn__d765f6b35a"};
3
+ var css_248z = "/* Retrieved from Kartverket's colour profile */\n\n/* ChangeSetBox */\n.changeSet_box__a2004d2902 {\n padding: 14px 18px;\n height: 100%;\n border-radius: 24px;\n color: var(--bui-fg-primary);\n font-size: 14px;\n}\n\n.changeSet_boxPrimary__a2004d2902 {\n background-color: var(--ros-orange-50);\n margin-bottom: 24px;\n}\n\n[data-theme-mode='dark'] .changeSet_boxPrimary__a2004d2902 {\n background-color: var(--bui-bg-neutral-3);\n}\n\n.changeSet_boxSecondary__a2004d2902 {\n background-color: var(--bui-white);\n margin-bottom: 12px;\n}\n\n[data-theme-mode='dark'] .changeSet_boxSecondary__a2004d2902 {\n background-color: var(--bui-bg-neutral-4);\n}\n\n/* ChangeSetBoxTitle */\n.changeSet_boxTitle__a2004d2902 {\n font-weight: 700;\n font-size: 18px;\n line-height: 26px;\n margin-bottom: 12px;\n}\n\n/* ChangeSetPropertyBase */\n.changeSet_property__a2004d2902 {\n margin-bottom: 12px;\n}\n\n.changeSet_propertyTitle__a2004d2902 {\n font-weight: 700;\n color: var(--bui-fg-primary);\n}\n\n/* ChangeSetChangedValue */\n.changeSet_oldValue__a2004d2902 {\n font-weight: 700;\n color: var(--ros-red-500);\n text-decoration: line-through;\n}\n\n[data-theme-mode='dark'] .changeSet_oldValue__a2004d2902 {\n color: var(--ros-red-100);\n}\n\n.changeSet_newValue__a2004d2902 {\n font-weight: 700;\n color: var(--ros-green-500);\n}\n\n[data-theme-mode='dark'] .changeSet_newValue__a2004d2902 {\n color: var(--ros-green-100);\n}\n\n/* ChangeSetRemovedProperty */\n.changeSet_removedPropertyContainer__a2004d2902 {\n margin-bottom: 8px;\n}\n\n.changeSet_removedProperty__a2004d2902 {\n font-weight: 700;\n color: var(--ros-red-500);\n text-decoration: line-through;\n font-size: 18px;\n line-height: 26px;\n}\n\n[data-theme-mode='dark'] .changeSet_removedProperty__a2004d2902 {\n color: var(--ros-red-100);\n}\n\n/* ChangeSetRemovedValue */\n.changeSet_removedValue__a2004d2902 {\n font-weight: 500;\n color: var(--ros-red-500);\n text-decoration: line-through;\n font-size: 14px;\n}\n\n[data-theme-mode='dark'] .changeSet_removedValue__a2004d2902 {\n color: var(--ros-red-100);\n}\n\n/* ChangeSetAddedValue */\n.changeSet_addedValue__a2004d2902 {\n font-weight: 500;\n color: var(--ros-green-500);\n font-size: 14px;\n}\n\n[data-theme-mode='dark'] .changeSet_addedValue__a2004d2902 {\n color: var(--ros-green-100);\n}\n\n/* ChangeSetTag */\n.changeSet_tag__a2004d2902 {\n border-radius: 24px;\n width: fit-content;\n padding: 1px 8px;\n border: 1px solid;\n color: var(--bui-fg-primary);\n}\n\n.changeSet_tagPrimary__a2004d2902 {\n background-color: var(--ros-orange-100);\n border-color: var(--ros-orange-300);\n}\n[data-theme-mode='dark'] .changeSet_tagPrimary__a2004d2902 {\n background-color: var(--ros-orange-300);\n border-color: var(--ros-orange-500);\n}\n\n.changeSet_tagDelete__a2004d2902 {\n background-color: var(--ros-red-200);\n border-color: var(--ros-red-400);\n}\n\n[data-theme-mode='dark'] .changeSet_tagDelete__a2004d2902 {\n background-color: var(--ros-red-400);\n border-color: var(--ros-red-600);\n}\n\n.changeSet_tagAdded__a2004d2902 {\n background-color: var(--ros-green-100);\n border-color: var(--ros-green-300);\n}\n[data-theme-mode='dark'] .changeSet_tagAdded__a2004d2902 {\n background-color: var(--ros-green-300);\n border-color: var(--ros-green-500);\n}\n\n/* ChangeSetTags */\n.changeSet_tags__a2004d2902 {\n margin-bottom: 4px;\n display: flex;\n gap: 4px;\n}\n\n/* ChangeSetText */\n.changeSet_text__a2004d2902 {\n font-weight: 500;\n color: var(--bui-fg-primary);\n}\n\n/* ChangeSetBodyText */\n.changeSet_bodyText__a2004d2902 {\n color: var(--bui-fg-primary);\n margin-top: 0;\n margin-bottom: 4px;\n}\n\n/* ChangeSetTitle */\n.changeSet_title__a2004d2902 {\n text-transform: uppercase;\n letter-spacing: 1px;\n color: var(--bui-fg-primary);\n font-weight: 700;\n font-size: 14px;\n margin-bottom: 12px;\n}\n\n/* ChangeSetTwoColumnSplit */\n.changeSet_twoColumnSplit__a2004d2902 {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 18px;\n margin-bottom: 12px;\n}\n\n/* ChangeSetColumn */\n.changeSet_firstColumn__a2004d2902 {\n grid-column: 1;\n}\n\n.changeSet_secondColumn__a2004d2902 {\n grid-column: 2;\n}\n";
4
+ var styles = {"box":"changeSet_box__a2004d2902","boxPrimary":"changeSet_boxPrimary__a2004d2902","boxSecondary":"changeSet_boxSecondary__a2004d2902","boxTitle":"changeSet_boxTitle__a2004d2902","property":"changeSet_property__a2004d2902","propertyTitle":"changeSet_propertyTitle__a2004d2902","oldValue":"changeSet_oldValue__a2004d2902","newValue":"changeSet_newValue__a2004d2902","removedPropertyContainer":"changeSet_removedPropertyContainer__a2004d2902","removedProperty":"changeSet_removedProperty__a2004d2902","removedValue":"changeSet_removedValue__a2004d2902","addedValue":"changeSet_addedValue__a2004d2902","tag":"changeSet_tag__a2004d2902","tagPrimary":"changeSet_tagPrimary__a2004d2902","tagDelete":"changeSet_tagDelete__a2004d2902","tagAdded":"changeSet_tagAdded__a2004d2902","tags":"changeSet_tags__a2004d2902","text":"changeSet_text__a2004d2902","title":"changeSet_title__a2004d2902","twoColumnSplit":"changeSet_twoColumnSplit__a2004d2902","firstColumn":"changeSet_firstColumn__a2004d2902","secondColumn":"changeSet_secondColumn__a2004d2902"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -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 = ".StatusBanner_boxStyle__f879159989 {\n background-color: #fcebcd;\n padding: 8px 16px;\n margin-top: 8px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .StatusBanner_boxStyle__f879159989 {\n background-color: var(--ros-gray-500);\n}\n";
4
- var styles = {"boxStyle":"StatusBanner_boxStyle__f879159989"};
3
+ var css_248z = ".StatusBanner_boxStyle__197ce65819 {\n background-color: var(--ros-orange-50);\n padding: 8px 16px;\n margin-top: 8px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .StatusBanner_boxStyle__197ce65819 {\n background-color: var(--ros-gray-500);\n}\n";
4
+ var styles = {"boxStyle":"StatusBanner_boxStyle__197ce65819"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -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 = ".AggregatedCost_boxStyle__75ddbd0c78 {\n background-color: #fcebcd;\n padding: 8px 16px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .AggregatedCost_boxStyle__75ddbd0c78 {\n background-color: var(--ros-gray-500);\n}\n\n.AggregatedCost_infoIcon__75ddbd0c78 {\n font-size: 24px;\n color: var(--bui-fg-secondary);\n}\n";
4
- var styles = {"boxStyle":"AggregatedCost_boxStyle__75ddbd0c78","infoIcon":"AggregatedCost_infoIcon__75ddbd0c78"};
3
+ var css_248z = ".AggregatedCost_boxStyle__cc0560bfa3 {\n background-color: var(--ros-orange-50);\n padding: 8px 16px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .AggregatedCost_boxStyle__cc0560bfa3 {\n background-color: var(--ros-gray-500);\n}\n\n.AggregatedCost_infoIcon__cc0560bfa3 {\n font-size: 24px;\n color: var(--bui-fg-secondary);\n}\n";
4
+ var styles = {"boxStyle":"AggregatedCost_boxStyle__cc0560bfa3","infoIcon":"AggregatedCost_infoIcon__cc0560bfa3"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -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 = ".Tabs_tab__f265d01f72 {\n background-color: transparent;\n}\n\n.Tabs_riskMatrixDialog__f265d01f72 {\n padding: 16px;\n}\n\n.Tabs_riskMatrixButton__f265d01f72 {\n display: flex;\n padding: 20px 0;\n flex: 1;\n border-radius: 24px;\n border: 1px solid var(--ros-blue-600, transparent);\n}\n.Tabs_tabButtonTextBase__f265d01f72 {\n text-align: center;\n width: 100%;\n color: var(--ros-blue-600);\n}\n\n.Tabs_tabButtonTextBase__f265d01f72[data-selected='true'] {\n color: #ffffff;\n}\n\n[data-theme-mode='dark'] {\n .Tabs_riskMatrixButton__f265d01f72 {\n border: 1px solid var(--ros-light-blue-200, transparent);\n }\n .Tabs_tabButtonTextBase__f265d01f72[data-selected='true'] {\n color: var(--ros-gray-900);\n }\n .Tabs_tabButtonTextBase__f265d01f72 {\n text-align: center;\n width: 100%;\n color: var(--ros-light-blue-200);\n }\n}\n";
4
- var styles = {"riskMatrixDialog":"Tabs_riskMatrixDialog__f265d01f72","riskMatrixButton":"Tabs_riskMatrixButton__f265d01f72","tabButtonTextBase":"Tabs_tabButtonTextBase__f265d01f72"};
3
+ var css_248z = ".Tabs_tab__e942867364 {\n background-color: transparent;\n}\n\n.Tabs_riskMatrixDialog__e942867364 {\n padding: 16px;\n}\n\n.Tabs_riskMatrixButton__e942867364 {\n display: flex;\n padding: 20px 0;\n flex: 1;\n border-radius: 24px;\n border: 1px solid var(--ros-blue-600, transparent);\n}\n.Tabs_tabButtonTextBase__e942867364 {\n text-align: center;\n width: 100%;\n color: var(--ros-blue-600);\n}\n\n.Tabs_tabButtonTextBase__e942867364[data-selected='true'] {\n color: var(--bui-white);\n}\n\n[data-theme-mode='dark'] {\n .Tabs_riskMatrixButton__e942867364 {\n border: 1px solid var(--ros-light-blue-200, transparent);\n }\n .Tabs_tabButtonTextBase__e942867364[data-selected='true'] {\n color: var(--ros-gray-900);\n }\n .Tabs_tabButtonTextBase__e942867364 {\n text-align: center;\n width: 100%;\n color: var(--ros-light-blue-200);\n }\n}\n";
4
+ var styles = {"riskMatrixDialog":"Tabs_riskMatrixDialog__e942867364","riskMatrixButton":"Tabs_riskMatrixButton__e942867364","tabButtonTextBase":"Tabs_tabButtonTextBase__e942867364"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -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 = ".ScenarioTable_tableCellDragIcon__d028139fb6 {\n min-width: 10px;\n width: 4%;\n}\n\n.ScenarioTable_tableCard__d028139fb6 {\n cursor: pointer;\n border: none;\n margin-bottom: 8px;\n padding: 28px 24px;\n background-color: #f8f8f8;\n}\n\n.ScenarioTable_tableCard__d028139fb6:hover {\n background-color: #e0e0e0;\n cursor: pointer;\n}\n\n.ScenarioTable_tableCard__d028139fb6.ScenarioTable_tableCardNoHover__d028139fb6:hover {\n background-color: #f8f8f8;\n cursor: pointer;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6 {\n background-color: #424242;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6:hover {\n background-color: #616161;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__d028139fb6.ScenarioTable_tableCardNoHover__d028139fb6:hover {\n background-color: #424242;\n}\n\n.ScenarioTable_tableCardNoHover__d028139fb6 {\n cursor: default;\n}\n";
4
- var styles = {"tableCellDragIcon":"ScenarioTable_tableCellDragIcon__d028139fb6","tableCard":"ScenarioTable_tableCard__d028139fb6","tableCardNoHover":"ScenarioTable_tableCardNoHover__d028139fb6"};
3
+ var css_248z = ".ScenarioTable_tableCellDragIcon__88059512c0 {\n min-width: 10px;\n width: 4%;\n}\n\n.ScenarioTable_tableCard__88059512c0 {\n cursor: pointer;\n border: none;\n margin-bottom: 8px;\n padding: 28px 24px;\n background-color: var(--ros-gray-50);\n}\n\n.ScenarioTable_tableCard__88059512c0:hover {\n background-color: var(--ros-gray-light-hover);\n cursor: pointer;\n}\n\n.ScenarioTable_tableCard__88059512c0.ScenarioTable_tableCardNoHover__88059512c0:hover {\n background-color: var(--ros-gray-50);\n cursor: pointer;\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__88059512c0 {\n background-color: var(--ros-gray-dark-card);\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__88059512c0:hover {\n background-color: var(--ros-gray-dark-hover);\n}\n\n[data-theme-mode='dark'] .ScenarioTable_tableCard__88059512c0.ScenarioTable_tableCardNoHover__88059512c0:hover {\n background-color: var(--ros-gray-dark-card);\n}\n\n.ScenarioTable_tableCardNoHover__88059512c0 {\n cursor: default;\n}\n";
4
+ var styles = {"tableCellDragIcon":"ScenarioTable_tableCellDragIcon__88059512c0","tableCard":"ScenarioTable_tableCard__88059512c0","tableCardNoHover":"ScenarioTable_tableCardNoHover__88059512c0"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -62,8 +62,8 @@ function ScenarioTableRow({
62
62
  const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(
63
63
  (s) => s.ID === scenario.ID
64
64
  );
65
- const highlightColor = theme.palette.mode === "dark" ? "var(--ros-gray-300)" : "var(--ros-gray-100)";
66
- const cardBgColor = theme.palette.mode === "dark" ? "var(--ros-gray-500)" : void 0;
65
+ const highlightColor = "var(--ros-scenario-highlight)";
66
+ const cardBgColor = "var(--ros-scenario-card-bg)";
67
67
  const isTextColorBlack = theme.palette.mode === "dark" ? isScenarioHoveredFromRiskMatrix : true;
68
68
  const textColorAsBuiVariable = isTextColorBlack ? "var(--bui-black)" : "var(--bui-white)";
69
69
  return /* @__PURE__ */ jsxs(
@@ -1 +1 @@
1
- {"version":3,"file":"ScenarioTableRow.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTableRow.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport Collapse from '@mui/material/Collapse';\nimport IconButton from '@mui/material/IconButton';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport DragIndicatorIcon from '@mui/icons-material/DragIndicator';\nimport {\n useState,\n useRef,\n useEffect,\n MouseEvent,\n SetStateAction,\n Dispatch,\n} from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiScWithMetadata, Scenario } from '../../utils/types';\nimport { useRiScs } from '../../contexts/RiScContext';\nimport {\n deleteScenario,\n findConsequenceIndex,\n findProbabilityIndex,\n getConsequenceLevel,\n getProbabilityLevel,\n} from '../../utils/utilityfunctions';\nimport { ScenarioTableProgressBar } from './ScenarioTableProgressBar';\nimport classnames from 'classnames';\nimport styles from './ScenarioTable.module.css';\nimport { Text, Flex, Card } from '@backstage/ui';\nimport { DeleteScenarioConfirmation } from '../scenarioDrawer/components/DeleteConfirmation.tsx';\nimport { ActionStatusOptions } from '../../utils/constants';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { useTheme } from '@mui/material/styles';\nimport { ActionRowList } from '../action/ActionRowList.tsx';\nimport { RiskMatrixSquare } from '../riskMatrix/RiskMatrixSquare.tsx';\nimport {\n useScenarioTableDrag,\n useScenarioTableDrop,\n} from '../../hooks/UseScenarioTableDnD.ts';\n\ninterface ScenarioTableRowProps {\n scenario: Scenario;\n filteredActionIds?: string[];\n isAnyFilterEnabled: boolean;\n isDnDAllowed?: boolean;\n viewRow: (id: string) => void;\n listIndex: number;\n isEditing: boolean;\n setTempScenarios: Dispatch<SetStateAction<Scenario[]>>;\n riScWithMetadata: RiScWithMetadata;\n}\n\nexport function ScenarioTableRow({\n scenario,\n filteredActionIds,\n isAnyFilterEnabled,\n isDnDAllowed,\n viewRow,\n listIndex,\n isEditing,\n setTempScenarios,\n riScWithMetadata,\n}: ScenarioTableRowProps) {\n // Getting global state\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { selectedRiSc: riSc, updateRiSc } = useRiScs();\n const { hoveredScenarios, setHoveredScenarios } = useScenario();\n\n // Initializing local state\n const [isScenarioDeletionDialogOpen, setScenarioDeletionDialogOpen] =\n useState(false);\n const [isExpanded, setIsExpanded] = useState(false);\n\n // Drag n Drop functionality definitions\n const ref = useRef<HTMLDivElement>(null);\n\n const [, drop] = useScenarioTableDrop(\n listIndex,\n scenario.ID,\n setTempScenarios,\n ref,\n );\n\n useEffect(() => {\n setIsExpanded(!!filteredActionIds);\n }, [filteredActionIds]);\n\n const [{ isDragging }, drag, preview] = useScenarioTableDrag(\n listIndex,\n scenario.ID,\n setTempScenarios,\n riScWithMetadata,\n );\n\n preview(drop(ref));\n\n // Styling\n useEffect(() => {\n if (isExpanded) {\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }\n // Only run when visibleType or expansion changes for this scenario\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n const theme = useTheme();\n const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(\n s => s.ID === scenario.ID,\n );\n\n const highlightColor =\n theme.palette.mode === 'dark'\n ? 'var(--ros-gray-300)'\n : 'var(--ros-gray-100)';\n\n // Necessary because the darkmode card color in theme.css overwrites the color defined in ScenarioTableStyles.ts\n const cardBgColor =\n theme.palette.mode === 'dark' ? 'var(--ros-gray-500)' : undefined;\n\n const isTextColorBlack =\n theme.palette.mode === 'dark' ? isScenarioHoveredFromRiskMatrix : true;\n const textColorAsBuiVariable = isTextColorBlack\n ? 'var(--bui-black)'\n : 'var(--bui-white)';\n\n return (\n <Card\n onMouseEnter={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev =>\n prev.some(s => s.ID === scenario.ID) ? prev : [...prev, scenario],\n );\n }}\n onMouseLeave={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }}\n ref={ref}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.closest('[data-action-root]') ||\n target.closest('[data-action-collapse]') ||\n target.closest('[data-no-row-toggle]'))\n ) {\n return;\n }\n viewRow(scenario.ID);\n }}\n className={classnames(styles.tableCard, {\n [styles.tableCardNoHover]: isExpanded,\n })}\n style={{\n opacity: isDragging ? 0.3 : 1,\n transition: isDragging ? 'none' : undefined,\n backgroundColor: isScenarioHoveredFromRiskMatrix\n ? highlightColor\n : cardBgColor,\n }}\n >\n <Flex align=\"center\">\n {isEditing && isDnDAllowed && (\n <IconButton size=\"small\" ref={drag}>\n <DragIndicatorIcon\n sx={{ cursor: isDragging ? 'grabbing' : 'grab' }}\n />\n </IconButton>\n )}\n <IconButton\n size=\"medium\"\n data-action-root\n onClick={e => {\n e.stopPropagation();\n setIsExpanded(prev => !prev);\n }}\n style={{ padding: 0 }}\n >\n {isExpanded ? (\n <i className=\"ri-arrow-down-s-line\" />\n ) : (\n <i className=\"ri-arrow-right-s-line\" />\n )}\n </IconButton>\n <Text\n as=\"p\"\n variant=\"body-large\"\n weight=\"bold\"\n style={{ width: '35%', color: textColorAsBuiVariable }}\n >\n {scenario.title}\n </Text>\n <Flex align=\"center\" justify=\"start\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(scenario.risk.probability)}\n consequence={findConsequenceIndex(scenario.risk.consequence)}\n />\n <Text variant=\"body-medium\" style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.columns.probabilityChar')}:\n {`${getProbabilityLevel(\n scenario.risk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.risk)}`}\n </Text>\n </Flex>\n\n <Flex\n align=\"center\"\n justify=\"start\"\n style={{ width: isEditing ? '30%' : '35%' }}\n >\n {(() => {\n if (scenario.actions.length > 0) {\n return (\n <ScenarioTableProgressBar\n completedCount={\n scenario.actions.filter(\n a => a.status === ActionStatusOptions.OK,\n ).length\n }\n totalCount={\n scenario.actions.filter(\n a => a.status !== ActionStatusOptions.NotRelevant,\n ).length\n }\n textColor={textColorAsBuiVariable}\n />\n );\n }\n return (\n <Text style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.noActions')}\n </Text>\n );\n })()}\n </Flex>\n <Flex align=\"center\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(\n scenario.remainingRisk.probability,\n )}\n consequence={findConsequenceIndex(\n scenario.remainingRisk.consequence,\n )}\n />\n <Text\n variant=\"body-medium\"\n style={{ color: textColorAsBuiVariable }}\n >{`${t('scenarioTable.columns.probabilityChar')}:${getProbabilityLevel(\n scenario.remainingRisk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.remainingRisk)}`}</Text>\n </Flex>\n\n {isEditing && (\n <Flex align=\"center\" justify=\"end\">\n <IconButton\n size=\"small\"\n onClick={event => {\n event.stopPropagation();\n setScenarioDeletionDialogOpen(true);\n }}\n >\n <DeleteIcon />\n </IconButton>\n <DeleteScenarioConfirmation\n isOpen={isScenarioDeletionDialogOpen}\n setIsOpen={setScenarioDeletionDialogOpen}\n onConfirm={() => deleteScenario(riSc, updateRiSc, scenario)}\n />\n </Flex>\n )}\n </Flex>\n {isExpanded && (\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <div data-action-root>\n <ActionRowList\n scenarioId={scenario.ID}\n displayedActions={scenario.actions.filter(action =>\n isAnyFilterEnabled && filteredActionIds\n ? filteredActionIds.includes(action.ID)\n : true,\n )}\n />\n </div>\n </Collapse>\n )}\n </Card>\n );\n}\n"],"names":["classnames"],"mappings":"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"}
1
+ {"version":3,"file":"ScenarioTableRow.esm.js","sources":["../../../src/components/scenarioTable/ScenarioTableRow.tsx"],"sourcesContent":["import { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport Collapse from '@mui/material/Collapse';\nimport IconButton from '@mui/material/IconButton';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport DragIndicatorIcon from '@mui/icons-material/DragIndicator';\nimport {\n useState,\n useRef,\n useEffect,\n MouseEvent,\n SetStateAction,\n Dispatch,\n} from 'react';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport { RiScWithMetadata, Scenario } from '../../utils/types';\nimport { useRiScs } from '../../contexts/RiScContext';\nimport {\n deleteScenario,\n findConsequenceIndex,\n findProbabilityIndex,\n getConsequenceLevel,\n getProbabilityLevel,\n} from '../../utils/utilityfunctions';\nimport { ScenarioTableProgressBar } from './ScenarioTableProgressBar';\nimport classnames from 'classnames';\nimport styles from './ScenarioTable.module.css';\nimport { Text, Flex, Card } from '@backstage/ui';\nimport { DeleteScenarioConfirmation } from '../scenarioDrawer/components/DeleteConfirmation.tsx';\nimport { ActionStatusOptions } from '../../utils/constants';\nimport { useScenario } from '../../contexts/ScenarioContext.tsx';\nimport { useTheme } from '@mui/material/styles';\nimport { ActionRowList } from '../action/ActionRowList.tsx';\nimport { RiskMatrixSquare } from '../riskMatrix/RiskMatrixSquare.tsx';\nimport {\n useScenarioTableDrag,\n useScenarioTableDrop,\n} from '../../hooks/UseScenarioTableDnD.ts';\n\ninterface ScenarioTableRowProps {\n scenario: Scenario;\n filteredActionIds?: string[];\n isAnyFilterEnabled: boolean;\n isDnDAllowed?: boolean;\n viewRow: (id: string) => void;\n listIndex: number;\n isEditing: boolean;\n setTempScenarios: Dispatch<SetStateAction<Scenario[]>>;\n riScWithMetadata: RiScWithMetadata;\n}\n\nexport function ScenarioTableRow({\n scenario,\n filteredActionIds,\n isAnyFilterEnabled,\n isDnDAllowed,\n viewRow,\n listIndex,\n isEditing,\n setTempScenarios,\n riScWithMetadata,\n}: ScenarioTableRowProps) {\n // Getting global state\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { selectedRiSc: riSc, updateRiSc } = useRiScs();\n const { hoveredScenarios, setHoveredScenarios } = useScenario();\n\n // Initializing local state\n const [isScenarioDeletionDialogOpen, setScenarioDeletionDialogOpen] =\n useState(false);\n const [isExpanded, setIsExpanded] = useState(false);\n\n // Drag n Drop functionality definitions\n const ref = useRef<HTMLDivElement>(null);\n\n const [, drop] = useScenarioTableDrop(\n listIndex,\n scenario.ID,\n setTempScenarios,\n ref,\n );\n\n useEffect(() => {\n setIsExpanded(!!filteredActionIds);\n }, [filteredActionIds]);\n\n const [{ isDragging }, drag, preview] = useScenarioTableDrag(\n listIndex,\n scenario.ID,\n setTempScenarios,\n riScWithMetadata,\n );\n\n preview(drop(ref));\n\n // Styling\n useEffect(() => {\n if (isExpanded) {\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }\n // Only run when visibleType or expansion changes for this scenario\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n const theme = useTheme();\n const isScenarioHoveredFromRiskMatrix = hoveredScenarios.some(\n s => s.ID === scenario.ID,\n );\n\n const highlightColor = 'var(--ros-scenario-highlight)';\n\n const cardBgColor = 'var(--ros-scenario-card-bg)';\n\n const isTextColorBlack =\n theme.palette.mode === 'dark' ? isScenarioHoveredFromRiskMatrix : true;\n const textColorAsBuiVariable = isTextColorBlack\n ? 'var(--bui-black)'\n : 'var(--bui-white)';\n\n return (\n <Card\n onMouseEnter={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev =>\n prev.some(s => s.ID === scenario.ID) ? prev : [...prev, scenario],\n );\n }}\n onMouseLeave={() => {\n if (isExpanded) return;\n setHoveredScenarios(prev => prev.filter(s => s.ID !== scenario.ID));\n }}\n ref={ref}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n const target = e.target as HTMLElement | null;\n if (\n target &&\n (target.closest('[data-action-root]') ||\n target.closest('[data-action-collapse]') ||\n target.closest('[data-no-row-toggle]'))\n ) {\n return;\n }\n viewRow(scenario.ID);\n }}\n className={classnames(styles.tableCard, {\n [styles.tableCardNoHover]: isExpanded,\n })}\n style={{\n opacity: isDragging ? 0.3 : 1,\n transition: isDragging ? 'none' : undefined,\n backgroundColor: isScenarioHoveredFromRiskMatrix\n ? highlightColor\n : cardBgColor,\n }}\n >\n <Flex align=\"center\">\n {isEditing && isDnDAllowed && (\n <IconButton size=\"small\" ref={drag}>\n <DragIndicatorIcon\n sx={{ cursor: isDragging ? 'grabbing' : 'grab' }}\n />\n </IconButton>\n )}\n <IconButton\n size=\"medium\"\n data-action-root\n onClick={e => {\n e.stopPropagation();\n setIsExpanded(prev => !prev);\n }}\n style={{ padding: 0 }}\n >\n {isExpanded ? (\n <i className=\"ri-arrow-down-s-line\" />\n ) : (\n <i className=\"ri-arrow-right-s-line\" />\n )}\n </IconButton>\n <Text\n as=\"p\"\n variant=\"body-large\"\n weight=\"bold\"\n style={{ width: '35%', color: textColorAsBuiVariable }}\n >\n {scenario.title}\n </Text>\n <Flex align=\"center\" justify=\"start\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(scenario.risk.probability)}\n consequence={findConsequenceIndex(scenario.risk.consequence)}\n />\n <Text variant=\"body-medium\" style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.columns.probabilityChar')}:\n {`${getProbabilityLevel(\n scenario.risk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.risk)}`}\n </Text>\n </Flex>\n\n <Flex\n align=\"center\"\n justify=\"start\"\n style={{ width: isEditing ? '30%' : '35%' }}\n >\n {(() => {\n if (scenario.actions.length > 0) {\n return (\n <ScenarioTableProgressBar\n completedCount={\n scenario.actions.filter(\n a => a.status === ActionStatusOptions.OK,\n ).length\n }\n totalCount={\n scenario.actions.filter(\n a => a.status !== ActionStatusOptions.NotRelevant,\n ).length\n }\n textColor={textColorAsBuiVariable}\n />\n );\n }\n return (\n <Text style={{ color: textColorAsBuiVariable }}>\n {t('scenarioTable.noActions')}\n </Text>\n );\n })()}\n </Flex>\n <Flex align=\"center\" style={{ width: '15%' }}>\n <RiskMatrixSquare\n size=\"small\"\n probability={findProbabilityIndex(\n scenario.remainingRisk.probability,\n )}\n consequence={findConsequenceIndex(\n scenario.remainingRisk.consequence,\n )}\n />\n <Text\n variant=\"body-medium\"\n style={{ color: textColorAsBuiVariable }}\n >{`${t('scenarioTable.columns.probabilityChar')}:${getProbabilityLevel(\n scenario.remainingRisk,\n )} ${t('scenarioTable.columns.consequenceChar')}:${getConsequenceLevel(scenario.remainingRisk)}`}</Text>\n </Flex>\n\n {isEditing && (\n <Flex align=\"center\" justify=\"end\">\n <IconButton\n size=\"small\"\n onClick={event => {\n event.stopPropagation();\n setScenarioDeletionDialogOpen(true);\n }}\n >\n <DeleteIcon />\n </IconButton>\n <DeleteScenarioConfirmation\n isOpen={isScenarioDeletionDialogOpen}\n setIsOpen={setScenarioDeletionDialogOpen}\n onConfirm={() => deleteScenario(riSc, updateRiSc, scenario)}\n />\n </Flex>\n )}\n </Flex>\n {isExpanded && (\n <Collapse in={isExpanded} timeout=\"auto\" unmountOnExit>\n <div data-action-root>\n <ActionRowList\n scenarioId={scenario.ID}\n displayedActions={scenario.actions.filter(action =>\n isAnyFilterEnabled && filteredActionIds\n ? filteredActionIds.includes(action.ID)\n : true,\n )}\n />\n </div>\n </Collapse>\n )}\n </Card>\n );\n}\n"],"names":["classnames"],"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 = ".CoverageStatusBox_boxStyle__650f6eee39 {\n display: flex;\n align-items: center;\n gap: 8px;\n background-color: #fcebcd;\n padding: 8px 16px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .CoverageStatusBox_boxStyle__650f6eee39 {\n background-color: var(--ros-gray-500);\n}\n";
4
- var styles = {"boxStyle":"CoverageStatusBox_boxStyle__650f6eee39"};
3
+ var css_248z = ".CoverageStatusBox_boxStyle__a7081cebbf {\n display: flex;\n align-items: center;\n gap: 8px;\n background-color: var(--ros-orange-50);\n padding: 8px 16px;\n border-radius: 4px;\n}\n\n[data-theme-mode='dark'] .CoverageStatusBox_boxStyle__a7081cebbf {\n background-color: var(--ros-gray-500);\n}\n";
4
+ var styles = {"boxStyle":"CoverageStatusBox_boxStyle__a7081cebbf"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1,6 +1,6 @@
1
- const commonTextColor = (theme, disabled) => {
1
+ const commonTextColor = (disabled) => {
2
2
  {
3
- return theme.palette.mode === "dark" ? "#FFFFFF80" : "#757575";
3
+ return "var(--ros-input-text-color)";
4
4
  }
5
5
  };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.esm.js","sources":["../../src/utils/style.ts"],"sourcesContent":["import { Theme } from '@mui/material/styles';\n\n// Common styles for Input, MarkdownInput, and Markdown components\nexport const commonTextColor = (theme: Theme, disabled: boolean) => {\n if (disabled) {\n return theme.palette.mode === 'dark' ? '#FFFFFF80' : '#757575';\n }\n return 'inherit';\n};\n"],"names":[],"mappings":"AAGO,MAAM,eAAA,GAAkB,CAAC,KAAA,EAAc,QAAA,KAAsB;AAClE,EAAc;AACZ,IAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,IAAA,KAAS,MAAA,GAAS,WAAA,GAAc,SAAA;AAAA,EACvD;AAEF;;;;"}
1
+ {"version":3,"file":"style.esm.js","sources":["../../src/utils/style.ts"],"sourcesContent":["// Common styles for Input, MarkdownInput, and Markdown components\nexport const commonTextColor = (disabled: boolean) => {\n if (disabled) {\n return 'var(--ros-input-text-color)';\n }\n return 'inherit';\n};\n"],"names":[],"mappings":"AACO,MAAM,eAAA,GAAkB,CAAC,QAAA,KAAsB;AACpD,EAAc;AACZ,IAAA,OAAO,6BAAA;AAAA,EACT;AAEF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kartverket/backstage-plugin-risk-scorecard",
3
- "version": "6.4.2",
3
+ "version": "6.5.1",
4
4
  "main": "dist/index.esm.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -46,20 +46,20 @@
46
46
  "@backstage/ui": "backstage:^",
47
47
  "@emotion/cache": "^11.14.0",
48
48
  "@emotion/react": "^11.14.0",
49
- "@emotion/styled": "^11.14.0",
50
- "@mui/icons-material": "^7.3.9",
51
- "@mui/material": "^7.3.9",
52
- "@uiw/react-md-editor": "^4.0.5",
49
+ "@emotion/styled": "^11.14.1",
50
+ "@mui/icons-material": "^7.3.10",
51
+ "@mui/material": "^7.3.10",
52
+ "@uiw/react-md-editor": "^4.1.0",
53
53
  "classnames": "^2.5.1",
54
- "github-markdown-css": "^5.8.1",
55
- "luxon": "^3.6.1",
56
- "react-aria-components": "^1.15.1",
54
+ "github-markdown-css": "^5.9.0",
55
+ "luxon": "^3.7.2",
56
+ "react-aria-components": "^1.17.0",
57
57
  "react-dnd": "^16.0.1",
58
58
  "react-dnd-html5-backend": "^16.0.1",
59
59
  "react-hook-form": "^7.55.0",
60
60
  "react-markdown": "^10.1.0",
61
61
  "remark-breaks": "^4.0.0",
62
- "remixicon": "^4.6.0"
62
+ "remixicon": "^4.9.1"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "react": "^18.0.0",
@@ -72,12 +72,12 @@
72
72
  "@backstage/core-app-api": "backstage:^",
73
73
  "@backstage/dev-utils": "backstage:^",
74
74
  "@backstage/test-utils": "backstage:^",
75
- "@testing-library/jest-dom": "^6.6.3",
76
- "@testing-library/react": "^16.3.0",
75
+ "@testing-library/jest-dom": "^6.9.1",
76
+ "@testing-library/react": "^16.3.2",
77
77
  "@types/classnames": "^2.3.4",
78
- "@types/luxon": "^3",
78
+ "@types/luxon": "^3.7.1",
79
79
  "@types/react": "^18.3.20",
80
- "prettier": "^3.6.2",
80
+ "prettier": "^3.8.3",
81
81
  "semantic-release-yarn": "^3.0.2"
82
82
  },
83
83
  "prettier": "@backstage/cli/config/prettier",