@kartverket/backstage-plugin-risk-scorecard 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/PluginRoot.esm.js +7 -3
  2. package/dist/PluginRoot.esm.js.map +1 -1
  3. package/dist/components/common/EditButton.esm.js +2 -2
  4. package/dist/components/common/EditButton.esm.js.map +1 -1
  5. package/dist/components/common/Input.esm.js +29 -26
  6. package/dist/components/common/Input.esm.js.map +1 -1
  7. package/dist/components/common/MarkdownInput.esm.js +57 -0
  8. package/dist/components/common/MarkdownInput.esm.js.map +1 -0
  9. package/dist/components/common/Select.esm.js +44 -36
  10. package/dist/components/common/Select.esm.js.map +1 -1
  11. package/dist/components/common/Spinner.esm.js +13 -13
  12. package/dist/components/common/Spinner.esm.js.map +1 -1
  13. package/dist/components/riScDialog/ConfigEncryptionDialog.esm.js +129 -108
  14. package/dist/components/riScDialog/ConfigEncryptionDialog.esm.js.map +1 -1
  15. package/dist/components/riScDialog/ConfigRiscInfo.esm.js +63 -47
  16. package/dist/components/riScDialog/ConfigRiscInfo.esm.js.map +1 -1
  17. package/dist/components/riScDialog/MatrixDialog.esm.js +39 -28
  18. package/dist/components/riScDialog/MatrixDialog.esm.js.map +1 -1
  19. package/dist/components/riScDialog/RiScDialog.esm.js +121 -86
  20. package/dist/components/riScDialog/RiScDialog.esm.js.map +1 -1
  21. package/dist/components/riScInfo/MigrationDialog.esm.js +50 -27
  22. package/dist/components/riScInfo/MigrationDialog.esm.js.map +1 -1
  23. package/dist/components/riScInfo/PublishDialog.esm.js +31 -20
  24. package/dist/components/riScInfo/PublishDialog.esm.js.map +1 -1
  25. package/dist/components/riScInfo/RiScInfo.esm.js +39 -29
  26. package/dist/components/riScInfo/RiScInfo.esm.js.map +1 -1
  27. package/dist/components/riScInfo/riScStatus/DifferenceText.esm.js +112 -98
  28. package/dist/components/riScInfo/riScStatus/DifferenceText.esm.js.map +1 -1
  29. package/dist/components/riScInfo/riScStatus/Progress.esm.js +3 -3
  30. package/dist/components/riScInfo/riScStatus/Progress.esm.js.map +1 -1
  31. package/dist/components/riScInfo/riScStatus/RiScDifferenceDialog.esm.js +92 -77
  32. package/dist/components/riScInfo/riScStatus/RiScDifferenceDialog.esm.js.map +1 -1
  33. package/dist/components/riScInfo/riScStatus/RiScStatusComponent.esm.js +182 -91
  34. package/dist/components/riScInfo/riScStatus/RiScStatusComponent.esm.js.map +1 -1
  35. package/dist/components/riScInfo/riScStatus/icons/little_outdated.svg +6 -0
  36. package/dist/components/riScInfo/riScStatus/icons/outdated.svg +6 -0
  37. package/dist/components/riScInfo/riScStatus/icons/updated.svg +7 -0
  38. package/dist/components/riScInfo/riScStatus/icons/very_outdated.svg +6 -0
  39. package/dist/components/riScInfo/riScStatus/utils.esm.js +9 -0
  40. package/dist/components/riScInfo/riScStatus/utils.esm.js.map +1 -0
  41. package/dist/components/riScPlugin/RiScPlugin.esm.js +83 -61
  42. package/dist/components/riScPlugin/RiScPlugin.esm.js.map +1 -1
  43. package/dist/components/riskMatrix/AggregatedCost.esm.js +20 -8
  44. package/dist/components/riskMatrix/AggregatedCost.esm.js.map +1 -1
  45. package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js +27 -2
  46. package/dist/components/riskMatrix/EstimatedRiskInfoDialog.esm.js.map +1 -1
  47. package/dist/components/riskMatrix/RiskMatrix.esm.js +42 -27
  48. package/dist/components/riskMatrix/RiskMatrix.esm.js.map +1 -1
  49. package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js +38 -32
  50. package/dist/components/riskMatrix/RiskMatrixScenarioCount.esm.js.map +1 -1
  51. package/dist/components/riskMatrix/Tabs.esm.js +23 -21
  52. package/dist/components/riskMatrix/Tabs.esm.js.map +1 -1
  53. package/dist/components/scenarioDrawer/ScenarioDrawer.esm.js +119 -104
  54. package/dist/components/scenarioDrawer/ScenarioDrawer.esm.js.map +1 -1
  55. package/dist/components/scenarioDrawer/components/ActionBox.esm.js +159 -131
  56. package/dist/components/scenarioDrawer/components/ActionBox.esm.js.map +1 -1
  57. package/dist/components/scenarioDrawer/components/ActionFormItem.esm.js +90 -75
  58. package/dist/components/scenarioDrawer/components/ActionFormItem.esm.js.map +1 -1
  59. package/dist/components/scenarioDrawer/components/ActionsSection.esm.js +46 -31
  60. package/dist/components/scenarioDrawer/components/ActionsSection.esm.js.map +1 -1
  61. package/dist/components/scenarioDrawer/components/DeleteConfirmation.esm.js +19 -13
  62. package/dist/components/scenarioDrawer/components/DeleteConfirmation.esm.js.map +1 -1
  63. package/dist/components/scenarioDrawer/components/RiskFormSection.esm.js +75 -52
  64. package/dist/components/scenarioDrawer/components/RiskFormSection.esm.js.map +1 -1
  65. package/dist/components/scenarioDrawer/components/RiskSection.esm.js +59 -32
  66. package/dist/components/scenarioDrawer/components/RiskSection.esm.js.map +1 -1
  67. package/dist/components/scenarioDrawer/components/ScopeFormSection.esm.js +50 -38
  68. package/dist/components/scenarioDrawer/components/ScopeFormSection.esm.js.map +1 -1
  69. package/dist/components/scenarioDrawer/components/ScopeSection.esm.js +35 -16
  70. package/dist/components/scenarioDrawer/components/ScopeSection.esm.js.map +1 -1
  71. package/dist/components/scenarioTable/ScenarioTable.esm.js +115 -97
  72. package/dist/components/scenarioTable/ScenarioTable.esm.js.map +1 -1
  73. package/dist/components/scenarioTable/ScenarioTableRow.esm.js +73 -48
  74. package/dist/components/scenarioTable/ScenarioTableRow.esm.js.map +1 -1
  75. package/dist/components/scenarioWizard/ScenarioWizard.esm.js +76 -65
  76. package/dist/components/scenarioWizard/ScenarioWizard.esm.js.map +1 -1
  77. package/dist/components/scenarioWizard/components/CloseConfirmation.esm.js +8 -2
  78. package/dist/components/scenarioWizard/components/CloseConfirmation.esm.js.map +1 -1
  79. package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js +72 -48
  80. package/dist/components/scenarioWizard/components/ConsequenceTable.esm.js.map +1 -1
  81. package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js +43 -23
  82. package/dist/components/scenarioWizard/components/ProbabilityTable.esm.js.map +1 -1
  83. package/dist/components/scenarioWizard/components/RiskRadioButton.esm.js +4 -3
  84. package/dist/components/scenarioWizard/components/RiskRadioButton.esm.js.map +1 -1
  85. package/dist/components/scenarioWizard/steps/ActionsStep.esm.js +110 -79
  86. package/dist/components/scenarioWizard/steps/ActionsStep.esm.js.map +1 -1
  87. package/dist/components/scenarioWizard/steps/RiskStep.esm.js +17 -2
  88. package/dist/components/scenarioWizard/steps/RiskStep.esm.js.map +1 -1
  89. package/dist/components/scenarioWizard/steps/ScenarioStep.esm.js +57 -40
  90. package/dist/components/scenarioWizard/steps/ScenarioStep.esm.js.map +1 -1
  91. package/dist/components/sopsConfigDialog/GcpCryptoKeyMenu.esm.js +72 -50
  92. package/dist/components/sopsConfigDialog/GcpCryptoKeyMenu.esm.js.map +1 -1
  93. package/dist/components/sopsConfigDialog/GcpCryptoKeyMenuItem.esm.js +25 -17
  94. package/dist/components/sopsConfigDialog/GcpCryptoKeyMenuItem.esm.js.map +1 -1
  95. package/dist/contexts/RiScContext.esm.js +16 -14
  96. package/dist/contexts/RiScContext.esm.js.map +1 -1
  97. package/dist/contexts/ScenarioContext.esm.js +12 -8
  98. package/dist/contexts/ScenarioContext.esm.js.map +1 -1
  99. package/dist/index.d.ts +2 -2
  100. package/dist/urls/backend.esm.js +8 -0
  101. package/dist/urls/backend.esm.js.map +1 -0
  102. package/dist/urls/external.esm.js +10 -0
  103. package/dist/urls/external.esm.js.map +1 -0
  104. package/dist/urls/index.esm.js +10 -0
  105. package/dist/urls/index.esm.js.map +1 -0
  106. package/dist/utils/DTOs.esm.js.map +1 -1
  107. package/dist/utils/hooks.esm.js +12 -9
  108. package/dist/utils/hooks.esm.js.map +1 -1
  109. package/dist/utils/translations.esm.js +11 -1
  110. package/dist/utils/translations.esm.js.map +1 -1
  111. package/dist/utils/types.esm.js.map +1 -1
  112. package/dist/utils/utilityfunctions.esm.js +51 -1
  113. package/dist/utils/utilityfunctions.esm.js.map +1 -1
  114. package/package.json +32 -38
@@ -1,4 +1,4 @@
1
- import React__default from 'react';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Routes, Route } from 'react-router-dom';
3
3
  import { CacheProvider } from '@emotion/react';
4
4
  import createCache from '@emotion/cache';
@@ -14,8 +14,12 @@ const cache = createCache({
14
14
  key: "css",
15
15
  insertionPoint: emotionInsertionPoint
16
16
  });
17
- const ProvidedPlugin = () => /* @__PURE__ */ React__default.createElement(CacheProvider, { value: cache }, /* @__PURE__ */ React__default.createElement(RiScProvider, null, /* @__PURE__ */ React__default.createElement(ScenarioProvider, null, /* @__PURE__ */ React__default.createElement(RiScPlugin, null))));
18
- const PluginRoot = () => /* @__PURE__ */ React__default.createElement(Routes, null, /* @__PURE__ */ React__default.createElement(Route, { path: "/", element: /* @__PURE__ */ React__default.createElement(ProvidedPlugin, null) }), /* @__PURE__ */ React__default.createElement(Route, { path: riScRouteRef.path, element: /* @__PURE__ */ React__default.createElement(ProvidedPlugin, null) }), /* @__PURE__ */ React__default.createElement(Route, { path: scenarioRouteRef.path, element: /* @__PURE__ */ React__default.createElement(ProvidedPlugin, null) }));
17
+ const ProvidedPlugin = () => /* @__PURE__ */ jsx(CacheProvider, { value: cache, children: /* @__PURE__ */ jsx(RiScProvider, { children: /* @__PURE__ */ jsx(ScenarioProvider, { children: /* @__PURE__ */ jsx(RiScPlugin, {}) }) }) });
18
+ const PluginRoot = () => /* @__PURE__ */ jsxs(Routes, { children: [
19
+ /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(ProvidedPlugin, {}) }),
20
+ /* @__PURE__ */ jsx(Route, { path: riScRouteRef.path, element: /* @__PURE__ */ jsx(ProvidedPlugin, {}) }),
21
+ /* @__PURE__ */ jsx(Route, { path: scenarioRouteRef.path, element: /* @__PURE__ */ jsx(ProvidedPlugin, {}) })
22
+ ] });
19
23
 
20
24
  export { PluginRoot };
21
25
  //# sourceMappingURL=PluginRoot.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRoot.esm.js","sources":["../src/PluginRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { Route, Routes } from 'react-router-dom';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport { RiScPlugin } from './components/riScPlugin/RiScPlugin';\nimport { ScenarioProvider } from './contexts/ScenarioContext';\nimport { riScRouteRef, scenarioRouteRef } from './routes';\nimport { RiScProvider } from './contexts/RiScContext';\n\nconst emotionInsertionPoint = document.createElement('meta');\nemotionInsertionPoint.setAttribute('name', 'emotion-insertion-point');\ndocument.querySelector('head')?.appendChild(emotionInsertionPoint);\n\nconst cache = createCache({\n key: 'css',\n insertionPoint: emotionInsertionPoint,\n});\n\nconst ProvidedPlugin = () => (\n <CacheProvider value={cache}>\n <RiScProvider>\n <ScenarioProvider>\n <RiScPlugin />\n </ScenarioProvider>\n </RiScProvider>\n </CacheProvider>\n);\n\nexport const PluginRoot = () => (\n <Routes>\n <Route path=\"/\" element={<ProvidedPlugin />} />\n <Route path={riScRouteRef.path} element={<ProvidedPlugin />} />\n <Route path={scenarioRouteRef.path} element={<ProvidedPlugin />} />\n </Routes>\n);\n"],"names":["React"],"mappings":";;;;;;;;;AASA,MAAM,qBAAA,GAAwB,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA;AAC3D,qBAAsB,CAAA,YAAA,CAAa,QAAQ,yBAAyB,CAAA;AACpE,QAAA,CAAS,aAAc,CAAA,MAAM,CAAG,EAAA,WAAA,CAAY,qBAAqB,CAAA;AAEjE,MAAM,QAAQ,WAAY,CAAA;AAAA,EACxB,GAAK,EAAA,KAAA;AAAA,EACL,cAAgB,EAAA;AAClB,CAAC,CAAA;AAED,MAAM,cAAiB,GAAA,sBACpBA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,OAAO,KACpB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,IAAA,CACd,CACF,CACF,CAAA;AAGK,MAAM,UAAa,GAAA,sBACvBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,+CACE,KAAM,EAAA,EAAA,IAAA,EAAK,GAAI,EAAA,OAAA,kBAAUA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,IAAe,CAAI,EAAA,CAAA,+CAC5C,KAAM,EAAA,EAAA,IAAA,EAAM,YAAa,CAAA,IAAA,EAAM,OAAS,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAe,EAAA,IAAA,CAAA,EAAI,mBAC5DA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,IAAM,EAAA,gBAAA,CAAiB,IAAM,EAAA,OAAA,kBAAUA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,IAAe,GAAI,CACnE;;;;"}
1
+ {"version":3,"file":"PluginRoot.esm.js","sources":["../src/PluginRoot.tsx"],"sourcesContent":["import { Route, Routes } from 'react-router-dom';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport { RiScPlugin } from './components/riScPlugin/RiScPlugin';\nimport { ScenarioProvider } from './contexts/ScenarioContext';\nimport { riScRouteRef, scenarioRouteRef } from './routes';\nimport { RiScProvider } from './contexts/RiScContext';\n\nconst emotionInsertionPoint = document.createElement('meta');\nemotionInsertionPoint.setAttribute('name', 'emotion-insertion-point');\ndocument.querySelector('head')?.appendChild(emotionInsertionPoint);\n\nconst cache = createCache({\n key: 'css',\n insertionPoint: emotionInsertionPoint,\n});\n\nconst ProvidedPlugin = () => (\n <CacheProvider value={cache}>\n <RiScProvider>\n <ScenarioProvider>\n <RiScPlugin />\n </ScenarioProvider>\n </RiScProvider>\n </CacheProvider>\n);\n\nexport const PluginRoot = () => (\n <Routes>\n <Route path=\"/\" element={<ProvidedPlugin />} />\n <Route path={riScRouteRef.path} element={<ProvidedPlugin />} />\n <Route path={scenarioRouteRef.path} element={<ProvidedPlugin />} />\n </Routes>\n);\n"],"names":[],"mappings":";;;;;;;;;AAQA,MAAM,qBAAA,GAAwB,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA;AAC3D,qBAAsB,CAAA,YAAA,CAAa,QAAQ,yBAAyB,CAAA;AACpE,QAAA,CAAS,aAAc,CAAA,MAAM,CAAG,EAAA,WAAA,CAAY,qBAAqB,CAAA;AAEjE,MAAM,QAAQ,WAAY,CAAA;AAAA,EACxB,GAAK,EAAA,KAAA;AAAA,EACL,cAAgB,EAAA;AAClB,CAAC,CAAA;AAED,MAAM,cAAiB,GAAA,sBACpB,GAAA,CAAA,aAAA,EAAA,EAAc,OAAO,KACpB,EAAA,QAAA,kBAAA,GAAA,CAAC,YACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,gBACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,CAAA,EACd,GACF,CACF,EAAA,CAAA;AAGW,MAAA,UAAA,GAAa,sBACxB,IAAA,CAAC,MACC,EAAA,EAAA,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,SAAM,IAAK,EAAA,GAAA,EAAI,OAAS,kBAAA,GAAA,CAAC,kBAAe,CAAI,EAAA,CAAA;AAAA,kBAC7C,GAAA,CAAC,SAAM,IAAM,EAAA,YAAA,CAAa,MAAM,OAAS,kBAAA,GAAA,CAAC,kBAAe,CAAI,EAAA,CAAA;AAAA,kBAC7D,GAAA,CAAC,SAAM,IAAM,EAAA,gBAAA,CAAiB,MAAM,OAAS,kBAAA,GAAA,CAAC,kBAAe,CAAI,EAAA;AAAA,CACnE,EAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import React__default from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { makeStyles, IconButton } from '@material-ui/core';
3
3
  import EditIcon from '@mui/icons-material/Edit';
4
4
 
@@ -9,7 +9,7 @@ const useEditButtonStyle = makeStyles((theme) => ({
9
9
  }));
10
10
  const EditButton = (props) => {
11
11
  const { icon } = useEditButtonStyle();
12
- return /* @__PURE__ */ React__default.createElement(IconButton, { size: "small", ...props }, /* @__PURE__ */ React__default.createElement(EditIcon, { className: icon, "aria-label": "Edit" }));
12
+ return /* @__PURE__ */ jsx(IconButton, { size: "small", ...props, children: /* @__PURE__ */ jsx(EditIcon, { className: icon, "aria-label": "Edit" }) });
13
13
  };
14
14
 
15
15
  export { EditButton as default };
@@ -1 +1 @@
1
- {"version":3,"file":"EditButton.esm.js","sources":["../../../src/components/common/EditButton.tsx"],"sourcesContent":["import React from 'react';\nimport {\n IconButton,\n IconButtonProps,\n makeStyles,\n Theme,\n} from '@material-ui/core';\nimport EditIcon from '@mui/icons-material/Edit';\n\nconst useEditButtonStyle = makeStyles((theme: Theme) => ({\n icon: {\n color: theme.palette.type === 'dark' ? '#fff' : 'rgba(0, 0, 0, 0.54)',\n },\n}));\n\nconst EditButton = (props: IconButtonProps) => {\n const { icon } = useEditButtonStyle();\n\n return (\n <IconButton size=\"small\" {...props}>\n <EditIcon className={icon} aria-label=\"Edit\" />\n </IconButton>\n );\n};\n\nexport default EditButton;\n"],"names":["React"],"mappings":";;;;AASA,MAAM,kBAAA,GAAqB,UAAW,CAAA,CAAC,KAAkB,MAAA;AAAA,EACvD,IAAM,EAAA;AAAA,IACJ,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,SAAS,MAAS,GAAA;AAAA;AAEpD,CAAE,CAAA,CAAA;AAEI,MAAA,UAAA,GAAa,CAAC,KAA2B,KAAA;AAC7C,EAAM,MAAA,EAAE,IAAK,EAAA,GAAI,kBAAmB,EAAA;AAEpC,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAK,EAAA,OAAA,EAAS,GAAG,KAAA,EAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,SAAW,EAAA,IAAA,EAAM,YAAW,EAAA,MAAA,EAAO,CAC/C,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"EditButton.esm.js","sources":["../../../src/components/common/EditButton.tsx"],"sourcesContent":["import {\n IconButton,\n IconButtonProps,\n makeStyles,\n Theme,\n} from '@material-ui/core';\nimport EditIcon from '@mui/icons-material/Edit';\n\nconst useEditButtonStyle = makeStyles((theme: Theme) => ({\n icon: {\n color: theme.palette.type === 'dark' ? '#fff' : 'rgba(0, 0, 0, 0.54)',\n },\n}));\n\nconst EditButton = (props: IconButtonProps) => {\n const { icon } = useEditButtonStyle();\n\n return (\n <IconButton size=\"small\" {...props}>\n <EditIcon className={icon} aria-label=\"Edit\" />\n </IconButton>\n );\n};\n\nexport default EditButton;\n"],"names":[],"mappings":";;;;AAQA,MAAM,kBAAA,GAAqB,UAAW,CAAA,CAAC,KAAkB,MAAA;AAAA,EACvD,IAAM,EAAA;AAAA,IACJ,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,SAAS,MAAS,GAAA;AAAA;AAEpD,CAAE,CAAA,CAAA;AAEI,MAAA,UAAA,GAAa,CAAC,KAA2B,KAAA;AAC7C,EAAM,MAAA,EAAE,IAAK,EAAA,GAAI,kBAAmB,EAAA;AAEpC,EAAA,uBACG,GAAA,CAAA,UAAA,EAAA,EAAW,IAAK,EAAA,OAAA,EAAS,GAAG,KAAA,EAC3B,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA,EAAS,SAAW,EAAA,IAAA,EAAM,YAAW,EAAA,MAAA,EAAO,CAC/C,EAAA,CAAA;AAEJ;;;;"}
@@ -1,41 +1,44 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import FormControl from '@mui/material/FormControl';
2
3
  import FormHelperText from '@mui/material/FormHelperText';
3
4
  import FormLabel from '@mui/material/FormLabel';
4
5
  import TextField from '@mui/material/TextField';
5
- import React__default, { forwardRef } from 'react';
6
+ import { forwardRef } from 'react';
6
7
  import { formLabel, formHelperText } from './typography.esm.js';
7
8
 
8
9
  const Input = forwardRef(
9
10
  ({ label, sublabel, error, helperText, required, ...props }, ref) => {
10
- return /* @__PURE__ */ React__default.createElement(
11
+ return /* @__PURE__ */ jsxs(
11
12
  FormControl,
12
13
  {
13
14
  sx: { width: "100%", gap: "4px" },
14
15
  error,
15
- required
16
- },
17
- label && /* @__PURE__ */ React__default.createElement(FormLabel, { required, sx: formLabel }, label),
18
- sublabel && /* @__PURE__ */ React__default.createElement(FormHelperText, { sx: formHelperText }, sublabel),
19
- /* @__PURE__ */ React__default.createElement(
20
- TextField,
21
- {
22
- id: "filled-multiline-static",
23
- error,
24
- multiline: true,
25
- fullWidth: true,
26
- variant: "outlined",
27
- inputRef: ref,
28
- InputProps: {
29
- sx: (theme) => ({
30
- "&.Mui-disabled": {
31
- color: theme.palette.mode === "dark" ? "#FFFFFF80" : "#757575"
32
- }
33
- })
34
- },
35
- ...props
36
- }
37
- ),
38
- helperText && /* @__PURE__ */ React__default.createElement(FormHelperText, null, helperText)
16
+ required,
17
+ children: [
18
+ label && /* @__PURE__ */ jsx(FormLabel, { required, sx: formLabel, children: label }),
19
+ sublabel && /* @__PURE__ */ jsx(FormHelperText, { sx: formHelperText, children: sublabel }),
20
+ /* @__PURE__ */ jsx(
21
+ TextField,
22
+ {
23
+ id: "filled-multiline-static",
24
+ error,
25
+ multiline: true,
26
+ fullWidth: true,
27
+ variant: "outlined",
28
+ inputRef: ref,
29
+ InputProps: {
30
+ sx: (theme) => ({
31
+ "&.Mui-disabled": {
32
+ color: theme.palette.mode === "dark" ? "#FFFFFF80" : "#757575"
33
+ }
34
+ })
35
+ },
36
+ ...props
37
+ }
38
+ ),
39
+ helperText && /* @__PURE__ */ jsx(FormHelperText, { children: helperText })
40
+ ]
41
+ }
39
42
  );
40
43
  }
41
44
  );
@@ -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 React, { forwardRef } from 'react';\nimport { formHelperText, formLabel } from './typography';\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 sx={{ width: '100%', gap: '4px' }}\n error={error}\n required={required}\n >\n {label && (\n <FormLabel required={required} sx={formLabel}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText sx={formHelperText}>{sublabel}</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: theme.palette.mode === 'dark' ? '#FFFFFF80' : '#757575',\n },\n }),\n }}\n {...props}\n />\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n },\n);\n"],"names":["React"],"mappings":";;;;;;;AAWO,MAAM,KAAQ,GAAA,UAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,YAAY,QAAU,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACnE,IACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,EAAI,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,KAAK,KAAM,EAAA;AAAA,QAChC,KAAA;AAAA,QACA;AAAA,OAAA;AAAA,MAEC,yBACEA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,QAAoB,EAAA,EAAA,EAAI,aAChC,KACH,CAAA;AAAA,MAED,QACC,oBAAAA,cAAA,CAAA,aAAA,CAAC,cAAe,EAAA,EAAA,EAAA,EAAI,kBAAiB,QAAS,CAAA;AAAA,sBAEhDA,cAAA,CAAA,aAAA;AAAA,QAAC,SAAA;AAAA,QAAA;AAAA,UACC,EAAG,EAAA,yBAAA;AAAA,UACH,KAAA;AAAA,UACA,SAAS,EAAA,IAAA;AAAA,UACT,SAAS,EAAA,IAAA;AAAA,UACT,OAAQ,EAAA,UAAA;AAAA,UACR,QAAU,EAAA,GAAA;AAAA,UACV,UAAY,EAAA;AAAA,YACV,IAAI,CAAU,KAAA,MAAA;AAAA,cACZ,gBAAkB,EAAA;AAAA,gBAChB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,SAAS,WAAc,GAAA;AAAA;AACvD,aACF;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC,UAAA,oBAAeA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,IAAA,EAAgB,UAAW;AAAA,KAC7C;AAAA;AAGN;;;;"}
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 { formHelperText, formLabel } from './typography';\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 sx={{ width: '100%', gap: '4px' }}\n error={error}\n required={required}\n >\n {label && (\n <FormLabel required={required} sx={formLabel}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText sx={formHelperText}>{sublabel}</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: theme.palette.mode === 'dark' ? '#FFFFFF80' : '#757575',\n },\n }),\n }}\n {...props}\n />\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,KAAQ,GAAA,UAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,YAAY,QAAU,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACnE,IACE,uBAAA,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,EAAI,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,KAAK,KAAM,EAAA;AAAA,QAChC,KAAA;AAAA,QACA,QAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA,oBACE,GAAA,CAAA,SAAA,EAAA,EAAU,QAAoB,EAAA,EAAA,EAAI,WAChC,QACH,EAAA,KAAA,EAAA,CAAA;AAAA,UAED,QACC,oBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,EAAA,EAAI,gBAAiB,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,0BAEhD,GAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,EAAG,EAAA,yBAAA;AAAA,cACH,KAAA;AAAA,cACA,SAAS,EAAA,IAAA;AAAA,cACT,SAAS,EAAA,IAAA;AAAA,cACT,OAAQ,EAAA,UAAA;AAAA,cACR,QAAU,EAAA,GAAA;AAAA,cACV,UAAY,EAAA;AAAA,gBACV,IAAI,CAAU,KAAA,MAAA;AAAA,kBACZ,gBAAkB,EAAA;AAAA,oBAChB,KAAO,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,KAAS,SAAS,WAAc,GAAA;AAAA;AACvD,iBACF;AAAA,eACF;AAAA,cACC,GAAG;AAAA;AAAA,WACN;AAAA,UACC,UAAA,oBAAe,GAAA,CAAA,cAAA,EAAA,EAAgB,QAAW,EAAA,UAAA,EAAA;AAAA;AAAA;AAAA,KAC7C;AAAA;AAGN;;;;"}
@@ -0,0 +1,57 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useState, useEffect } from 'react';
3
+ import FormControl from '@mui/material/FormControl';
4
+ import FormHelperText from '@mui/material/FormHelperText';
5
+ import FormLabel from '@mui/material/FormLabel';
6
+ import MDEditor from '@uiw/react-md-editor';
7
+ import { formLabel, formHelperText } from './typography.esm.js';
8
+
9
+ const MarkdownInput = forwardRef(
10
+ ({
11
+ label,
12
+ sublabel,
13
+ error,
14
+ helperText,
15
+ required,
16
+ minRows,
17
+ value,
18
+ onMarkdownChange
19
+ }, ref) => {
20
+ const [markdownContent, setMarkdownContent] = useState(
21
+ value
22
+ );
23
+ useEffect(() => {
24
+ setMarkdownContent(value);
25
+ }, [value]);
26
+ const handleMarkdownChange = (newValue) => {
27
+ setMarkdownContent(newValue || "");
28
+ onMarkdownChange?.(newValue || "");
29
+ };
30
+ return /* @__PURE__ */ jsxs(
31
+ FormControl,
32
+ {
33
+ sx: { width: "100%", gap: "4px" },
34
+ error,
35
+ required,
36
+ children: [
37
+ label && /* @__PURE__ */ jsx(FormLabel, { required, sx: formLabel, children: label }),
38
+ sublabel && /* @__PURE__ */ jsx(FormHelperText, { sx: formHelperText, children: sublabel }),
39
+ /* @__PURE__ */ jsx(
40
+ MDEditor,
41
+ {
42
+ ref,
43
+ value: markdownContent,
44
+ onChange: handleMarkdownChange,
45
+ preview: "edit",
46
+ height: minRows ? minRows * 24 : 64
47
+ }
48
+ ),
49
+ helperText && /* @__PURE__ */ jsx(FormHelperText, { children: helperText })
50
+ ]
51
+ }
52
+ );
53
+ }
54
+ );
55
+
56
+ export { MarkdownInput };
57
+ //# sourceMappingURL=MarkdownInput.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownInput.esm.js","sources":["../../../src/components/common/MarkdownInput.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect } from 'react';\nimport FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormLabel from '@mui/material/FormLabel';\nimport MDEditor from '@uiw/react-md-editor';\nimport { formHelperText, formLabel } from './typography';\nimport { TextFieldProps } from '@material-ui/core';\n\ntype Props = TextFieldProps & {\n sublabel?: string;\n value?: string;\n onMarkdownChange?: (markdown: string) => void;\n minRows?: number;\n};\n\nexport const MarkdownInput = forwardRef<HTMLDivElement, Props>(\n (\n {\n label,\n sublabel,\n error,\n helperText,\n required,\n minRows,\n value,\n onMarkdownChange,\n },\n ref,\n ) => {\n const [markdownContent, setMarkdownContent] = useState<string | undefined>(\n value,\n );\n\n useEffect(() => {\n setMarkdownContent(value);\n }, [value]);\n\n const handleMarkdownChange = (newValue: string | undefined) => {\n setMarkdownContent(newValue || '');\n onMarkdownChange?.(newValue || '');\n };\n\n return (\n <FormControl\n sx={{ width: '100%', gap: '4px' }}\n error={error}\n required={required}\n >\n {label && (\n <FormLabel required={required} sx={formLabel}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText sx={formHelperText}>{sublabel}</FormHelperText>\n )}\n <MDEditor\n ref={ref}\n value={markdownContent}\n onChange={handleMarkdownChange}\n preview=\"edit\"\n height={minRows ? minRows * 24 : 64}\n />\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CACE;AAAA,IACE,KAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,KAEF,GACG,KAAA;AACH,IAAM,MAAA,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAA,QAAA;AAAA,MAC5C;AAAA,KACF;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,kBAAA,CAAmB,KAAK,CAAA;AAAA,KAC1B,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,IAAM,MAAA,oBAAA,GAAuB,CAAC,QAAiC,KAAA;AAC7D,MAAA,kBAAA,CAAmB,YAAY,EAAE,CAAA;AACjC,MAAA,gBAAA,GAAmB,YAAY,EAAE,CAAA;AAAA,KACnC;AAEA,IACE,uBAAA,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,EAAI,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,KAAK,KAAM,EAAA;AAAA,QAChC,KAAA;AAAA,QACA,QAAA;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA,oBACE,GAAA,CAAA,SAAA,EAAA,EAAU,QAAoB,EAAA,EAAA,EAAI,WAChC,QACH,EAAA,KAAA,EAAA,CAAA;AAAA,UAED,QACC,oBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,EAAA,EAAI,gBAAiB,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,0BAEhD,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,GAAA;AAAA,cACA,KAAO,EAAA,eAAA;AAAA,cACP,QAAU,EAAA,oBAAA;AAAA,cACV,OAAQ,EAAA,MAAA;AAAA,cACR,MAAA,EAAQ,OAAU,GAAA,OAAA,GAAU,EAAK,GAAA;AAAA;AAAA,WACnC;AAAA,UACC,UAAA,oBAAe,GAAA,CAAA,cAAA,EAAA,EAAgB,QAAW,EAAA,UAAA,EAAA;AAAA;AAAA;AAAA,KAC7C;AAAA;AAGN;;;;"}
@@ -1,4 +1,4 @@
1
- import React__default from 'react';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useController } from 'react-hook-form';
3
3
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
4
4
  import { pluginRiScTranslationRef } from '../../utils/translations.esm.js';
@@ -32,7 +32,7 @@ const Select = ({
32
32
  control,
33
33
  rules: { required }
34
34
  });
35
- const renderValue = (values) => multiple ? /* @__PURE__ */ React__default.createElement(
35
+ const renderValue = (values) => multiple ? /* @__PURE__ */ jsx(
36
36
  Box,
37
37
  {
38
38
  sx: {
@@ -40,45 +40,53 @@ const Select = ({
40
40
  flexWrap: "wrap",
41
41
  marginBottom: 0,
42
42
  paddingBottom: 0
43
- }
44
- },
45
- values.map((value) => /* @__PURE__ */ React__default.createElement(
46
- Chip,
47
- {
48
- key: value,
49
- label: (
50
- /* @ts-ignore Because ts can't typecheck strings against our keys */
51
- labelTranslationKey ? t(`${labelTranslationKey}.${value}`) : value
52
- )
53
- }
54
- ))
43
+ },
44
+ children: values.map((value) => /* @__PURE__ */ jsx(
45
+ Chip,
46
+ {
47
+ label: (
48
+ /* @ts-ignore Because ts can't typecheck strings against our keys */
49
+ labelTranslationKey ? t(`${labelTranslationKey}.${value}`) : value
50
+ )
51
+ },
52
+ value
53
+ ))
54
+ }
55
55
  ) : options.find((option) => option.value === values)?.renderedValue;
56
56
  const handleChecked = (fieldValue, optionValue) => {
57
57
  if (Array.isArray(fieldValue)) return fieldValue.includes(optionValue);
58
58
  return fieldValue === optionValue;
59
59
  };
60
- return /* @__PURE__ */ React__default.createElement(FormControl, { sx: { width: "100%", gap: "4px" } }, label && /* @__PURE__ */ React__default.createElement(FormLabel, { sx: formLabel, required }, label), sublabel && /* @__PURE__ */ React__default.createElement(FormHelperText, { sx: formHelperText }, sublabel), /* @__PURE__ */ React__default.createElement(
61
- MUISelect,
62
- {
63
- MenuProps: {
64
- disablePortal: true
65
- },
66
- variant: "outlined",
67
- renderValue,
68
- multiple,
69
- SelectDisplayProps: multiple ? {
70
- style: {
71
- paddingBottom: 8,
72
- paddingTop: 16,
73
- minHeight: 40
74
- }
75
- } : {},
76
- inputRef: field.ref,
77
- ...field,
78
- ...props
79
- },
80
- options.map((option) => /* @__PURE__ */ React__default.createElement(MenuItem, { key: option.value, value: option.value }, multiple && /* @__PURE__ */ React__default.createElement(Checkbox, { checked: handleChecked(field.value, option.value) }), /* @__PURE__ */ React__default.createElement(ListItemText, { primary: option.renderedValue })))
81
- ), error && /* @__PURE__ */ React__default.createElement(FormHelperText, { error: true }, helperText));
60
+ return /* @__PURE__ */ jsxs(FormControl, { sx: { width: "100%", gap: "4px" }, children: [
61
+ label && /* @__PURE__ */ jsx(FormLabel, { sx: formLabel, required, children: label }),
62
+ sublabel && /* @__PURE__ */ jsx(FormHelperText, { sx: formHelperText, children: sublabel }),
63
+ /* @__PURE__ */ jsx(
64
+ MUISelect,
65
+ {
66
+ MenuProps: {
67
+ disablePortal: true
68
+ },
69
+ variant: "outlined",
70
+ renderValue,
71
+ multiple,
72
+ SelectDisplayProps: multiple ? {
73
+ style: {
74
+ paddingBottom: 8,
75
+ paddingTop: 16,
76
+ minHeight: 40
77
+ }
78
+ } : {},
79
+ inputRef: field.ref,
80
+ ...field,
81
+ ...props,
82
+ children: options.map((option) => /* @__PURE__ */ jsxs(MenuItem, { value: option.value, children: [
83
+ multiple && /* @__PURE__ */ jsx(Checkbox, { checked: handleChecked(field.value, option.value) }),
84
+ /* @__PURE__ */ jsx(ListItemText, { primary: option.renderedValue })
85
+ ] }, option.value))
86
+ }
87
+ ),
88
+ error && /* @__PURE__ */ jsx(FormHelperText, { error: true, children: helperText })
89
+ ] });
82
90
  };
83
91
 
84
92
  export { Select };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.esm.js","sources":["../../../src/components/common/Select.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Control,\n FieldValues,\n Path,\n PathValue,\n useController,\n} from 'react-hook-form';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport Box from '@mui/material/Box';\nimport Chip from '@mui/material/Chip';\nimport FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormLabel from '@mui/material/FormLabel';\nimport MUISelect, { SelectProps } from '@mui/material/Select';\nimport Checkbox from '@mui/material/Checkbox';\nimport MenuItem from '@mui/material/MenuItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport { formHelperText, formLabel } from './typography';\n\ntype Props<T extends FieldValues> = SelectProps & {\n sublabel?: string;\n helperText?: string;\n control?: Control<T, any>;\n name: Path<T>;\n labelTranslationKey?: string;\n options: { value: string | number; renderedValue: string | number }[];\n};\n\nexport const Select = <T extends FieldValues>({\n label,\n sublabel,\n error,\n helperText,\n required,\n control,\n name,\n multiple,\n labelTranslationKey,\n options,\n ...props\n}: Props<T>) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { field } = useController({\n name,\n control,\n rules: { required },\n });\n\n // values er strengt tatt unknown, men da må vi bruke mye ts-ignore for å komme i mål\n const renderValue = (values: any) =>\n multiple ? (\n <Box\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: 0,\n paddingBottom: 0,\n }}\n >\n {values.map((value: string) => (\n <Chip\n key={value}\n label={\n /* @ts-ignore Because ts can't typecheck strings against our keys */\n labelTranslationKey ? t(`${labelTranslationKey}.${value}`) : value\n }\n />\n ))}\n </Box>\n ) : (\n options.find(option => option.value === values)?.renderedValue\n );\n\n const handleChecked = (\n fieldValue: PathValue<T, (string | undefined) & Path<T>>,\n optionValue: Props<T>['options'][0]['value'],\n ) => {\n if (Array.isArray(fieldValue)) return fieldValue.includes(optionValue);\n return fieldValue === optionValue;\n };\n\n return (\n <FormControl sx={{ width: '100%', gap: '4px' }}>\n {label && (\n <FormLabel sx={formLabel} required={required}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText sx={formHelperText}>{sublabel}</FormHelperText>\n )}\n\n <MUISelect\n MenuProps={{\n disablePortal: true,\n }}\n variant=\"outlined\"\n renderValue={renderValue}\n multiple={multiple}\n SelectDisplayProps={\n multiple\n ? {\n style: {\n paddingBottom: 8,\n paddingTop: 16,\n minHeight: 40,\n },\n }\n : {}\n }\n inputRef={field.ref}\n {...field}\n {...props}\n >\n {options.map(option => (\n <MenuItem key={option.value} value={option.value}>\n {multiple && (\n <Checkbox checked={handleChecked(field.value, option.value)} />\n )}\n <ListItemText primary={option.renderedValue} />\n </MenuItem>\n ))}\n </MUISelect>\n {error && <FormHelperText error>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"Select.esm.js","sources":["../../../src/components/common/Select.tsx"],"sourcesContent":["import {\n Control,\n FieldValues,\n Path,\n useController,\n type UseControllerReturn,\n} from 'react-hook-form';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { pluginRiScTranslationRef } from '../../utils/translations';\nimport Box from '@mui/material/Box';\nimport Chip from '@mui/material/Chip';\nimport FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormLabel from '@mui/material/FormLabel';\nimport MUISelect, { SelectProps } from '@mui/material/Select';\nimport Checkbox from '@mui/material/Checkbox';\nimport MenuItem from '@mui/material/MenuItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport { formHelperText, formLabel } from './typography';\n\ntype Props<T extends FieldValues> = SelectProps & {\n sublabel?: string;\n helperText?: string;\n control?: Control<T, any>;\n name: Path<T>;\n labelTranslationKey?: string;\n options: { value: string | number; renderedValue: string | number }[];\n};\n\nexport const Select = <T extends FieldValues>({\n label,\n sublabel,\n error,\n helperText,\n required,\n control,\n name,\n multiple,\n labelTranslationKey,\n options,\n ...props\n}: Props<T>) => {\n const { t } = useTranslationRef(pluginRiScTranslationRef);\n const { field } = useController({\n name,\n control,\n rules: { required },\n });\n\n // values er strengt tatt unknown, men da må vi bruke mye ts-ignore for å komme i mål\n const renderValue = (values: any) =>\n multiple ? (\n <Box\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: 0,\n paddingBottom: 0,\n }}\n >\n {values.map((value: string) => (\n <Chip\n key={value}\n label={\n /* @ts-ignore Because ts can't typecheck strings against our keys */\n labelTranslationKey ? t(`${labelTranslationKey}.${value}`) : value\n }\n />\n ))}\n </Box>\n ) : (\n options.find(option => option.value === values)?.renderedValue\n );\n\n const handleChecked = (\n fieldValue: UseControllerReturn['field']['value'],\n optionValue: Props<T>['options'][number]['value'],\n ) => {\n if (Array.isArray(fieldValue)) return fieldValue.includes(optionValue);\n return fieldValue === optionValue;\n };\n\n return (\n <FormControl sx={{ width: '100%', gap: '4px' }}>\n {label && (\n <FormLabel sx={formLabel} required={required}>\n {label}\n </FormLabel>\n )}\n {sublabel && (\n <FormHelperText sx={formHelperText}>{sublabel}</FormHelperText>\n )}\n\n <MUISelect\n MenuProps={{\n disablePortal: true,\n }}\n variant=\"outlined\"\n renderValue={renderValue}\n multiple={multiple}\n SelectDisplayProps={\n multiple\n ? {\n style: {\n paddingBottom: 8,\n paddingTop: 16,\n minHeight: 40,\n },\n }\n : {}\n }\n inputRef={field.ref}\n {...field}\n {...props}\n >\n {options.map(option => (\n <MenuItem key={option.value} value={option.value}>\n {multiple && (\n <Checkbox checked={handleChecked(field.value, option.value)} />\n )}\n <ListItemText primary={option.renderedValue} />\n </MenuItem>\n ))}\n </MUISelect>\n {error && <FormHelperText error>{helperText}</FormHelperText>}\n </FormControl>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import React__default from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import Box from '@mui/material/Box';
3
3
  import CircularProgress from '@mui/material/CircularProgress';
4
4
 
5
- const Spinner = ({ size }) => /* @__PURE__ */ React__default.createElement(
5
+ const Spinner = ({ size }) => /* @__PURE__ */ jsx(
6
6
  Box,
7
7
  {
8
8
  sx: {
@@ -11,18 +11,18 @@ const Spinner = ({ size }) => /* @__PURE__ */ React__default.createElement(
11
11
  height: "100vh",
12
12
  justifyContent: "center",
13
13
  alignItems: "flex-start"
14
- }
15
- },
16
- /* @__PURE__ */ React__default.createElement(
17
- CircularProgress,
18
- {
19
- size,
20
- sx: {
21
- display: "flex",
22
- marginTop: "200px"
14
+ },
15
+ children: /* @__PURE__ */ jsx(
16
+ CircularProgress,
17
+ {
18
+ size,
19
+ sx: {
20
+ display: "flex",
21
+ marginTop: "200px"
22
+ }
23
23
  }
24
- }
25
- )
24
+ )
25
+ }
26
26
  );
27
27
 
28
28
  export { Spinner };
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.esm.js","sources":["../../../src/components/common/Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\n\nexport const Spinner = ({ size }: { size?: string | number }) => (\n <Box\n sx={{\n display: 'flex',\n minWidth: '100wh',\n height: '100vh',\n justifyContent: 'center',\n alignItems: 'flex-start',\n }}\n >\n <CircularProgress\n size={size}\n sx={{\n display: 'flex',\n marginTop: '200px',\n }}\n />\n </Box>\n);\n"],"names":["React"],"mappings":";;;;AAIO,MAAM,OAAU,GAAA,CAAC,EAAE,IAAA,EACxB,qBAAAA,cAAA,CAAA,aAAA;AAAA,EAAC,GAAA;AAAA,EAAA;AAAA,IACC,EAAI,EAAA;AAAA,MACF,OAAS,EAAA,MAAA;AAAA,MACT,QAAU,EAAA,OAAA;AAAA,MACV,MAAQ,EAAA,OAAA;AAAA,MACR,cAAgB,EAAA,QAAA;AAAA,MAChB,UAAY,EAAA;AAAA;AACd,GAAA;AAAA,kBAEAA,cAAA,CAAA,aAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,EAAI,EAAA;AAAA,QACF,OAAS,EAAA,MAAA;AAAA,QACT,SAAW,EAAA;AAAA;AACb;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Spinner.esm.js","sources":["../../../src/components/common/Spinner.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\n\nexport const Spinner = ({ size }: { size?: string | number }) => (\n <Box\n sx={{\n display: 'flex',\n minWidth: '100wh',\n height: '100vh',\n justifyContent: 'center',\n alignItems: 'flex-start',\n }}\n >\n <CircularProgress\n size={size}\n sx={{\n display: 'flex',\n marginTop: '200px',\n }}\n />\n </Box>\n);\n"],"names":[],"mappings":";;;;AAGO,MAAM,OAAU,GAAA,CAAC,EAAE,IAAA,EACxB,qBAAA,GAAA;AAAA,EAAC,GAAA;AAAA,EAAA;AAAA,IACC,EAAI,EAAA;AAAA,MACF,OAAS,EAAA,MAAA;AAAA,MACT,QAAU,EAAA,OAAA;AAAA,MACV,MAAQ,EAAA,OAAA;AAAA,MACR,cAAgB,EAAA,QAAA;AAAA,MAChB,UAAY,EAAA;AAAA,KACd;AAAA,IAEA,QAAA,kBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,EAAI,EAAA;AAAA,UACF,OAAS,EAAA,MAAA;AAAA,UACT,SAAW,EAAA;AAAA;AACb;AAAA;AACF;AACF;;;;"}