@kuadrant/kuadrant-backstage-plugin-frontend 0.2.1 → 0.3.0-aaa46b4

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 (152) hide show
  1. package/dist/api.esm.js +40 -2
  2. package/dist/api.esm.js.map +1 -1
  3. package/dist/components/ApiAccessCard/ApiAccessCard.esm.js +20 -85
  4. package/dist/components/ApiAccessCard/ApiAccessCard.esm.js.map +1 -1
  5. package/dist/components/ApiKeyApprovalPage/ApiKeyApprovalPageWithPermissions.esm.js +18 -0
  6. package/dist/components/ApiKeyApprovalPage/ApiKeyApprovalPageWithPermissions.esm.js.map +1 -0
  7. package/dist/components/ApiKeyApprovalPage/index.esm.js +1 -0
  8. package/dist/components/ApiKeyApprovalPage/index.esm.js.map +1 -1
  9. package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js +19 -60
  10. package/dist/components/ApiKeyDetailPage/ApiKeyDetailPage.esm.js.map +1 -1
  11. package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js +45 -110
  12. package/dist/components/ApiKeyManagementTab/ApiKeyManagementTab.esm.js.map +1 -1
  13. package/dist/components/ApiProductInfoCard/ApiProductInfoCard.esm.js +3 -2
  14. package/dist/components/ApiProductInfoCard/ApiProductInfoCard.esm.js.map +1 -1
  15. package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js +16 -15
  16. package/dist/components/ApprovalQueueTable/ApprovalQueueTable.esm.js.map +1 -1
  17. package/dist/components/EditAPIProductDialog/EditAPIProductDialog.esm.js +2 -3
  18. package/dist/components/EditAPIProductDialog/EditAPIProductDialog.esm.js.map +1 -1
  19. package/dist/components/KuadrantPage/ApiProductsPage.esm.js +5 -18
  20. package/dist/components/KuadrantPage/ApiProductsPage.esm.js.map +1 -1
  21. package/dist/components/MyApiKeysTable/MyApiKeysTable.esm.js +28 -138
  22. package/dist/components/MyApiKeysTable/MyApiKeysTable.esm.js.map +1 -1
  23. package/dist/components/PermissionGate/PermissionGate.esm.js +2 -2
  24. package/dist/components/PermissionGate/PermissionGate.esm.js.map +1 -1
  25. package/dist/components/RequestAccessDialog/RequestAccessDialog.esm.js +32 -18
  26. package/dist/components/RequestAccessDialog/RequestAccessDialog.esm.js.map +1 -1
  27. package/dist/components/SimpleRequestAccessDialog/SimpleRequestAccessDialog.esm.js +13 -2
  28. package/dist/components/SimpleRequestAccessDialog/SimpleRequestAccessDialog.esm.js.map +1 -1
  29. package/dist/index.d.ts +47 -6
  30. package/dist/index.esm.js +1 -1
  31. package/dist/plugin.esm.js +2 -10
  32. package/dist/plugin.esm.js.map +1 -1
  33. package/dist/utils/apikeys.esm.js +21 -0
  34. package/dist/utils/apikeys.esm.js.map +1 -0
  35. package/dist/utils/styles.esm.js +5 -2
  36. package/dist/utils/styles.esm.js.map +1 -1
  37. package/dist-scalprum/internal.plugin-kuadrant.7f1de85661b1b848af15.js +2 -0
  38. package/dist-scalprum/internal.plugin-kuadrant.7f1de85661b1b848af15.js.map +1 -0
  39. package/dist-scalprum/plugin-manifest.json +3 -3
  40. package/dist-scalprum/static/1340.7c4f4722.chunk.js +3 -0
  41. package/dist-scalprum/static/1340.7c4f4722.chunk.js.map +1 -0
  42. package/dist-scalprum/static/1719.52ca7daf.chunk.js +2 -0
  43. package/dist-scalprum/static/1719.52ca7daf.chunk.js.map +1 -0
  44. package/dist-scalprum/static/{1881.56cde36b.chunk.js → 1931.f6a5edbb.chunk.js} +2 -2
  45. package/dist-scalprum/static/1931.f6a5edbb.chunk.js.map +1 -0
  46. package/dist-scalprum/static/20.b3a37d1d.chunk.js +3 -0
  47. package/dist-scalprum/static/20.b3a37d1d.chunk.js.map +1 -0
  48. package/dist-scalprum/static/2251.08f3db99.chunk.js +2 -0
  49. package/dist-scalprum/static/2251.08f3db99.chunk.js.map +1 -0
  50. package/dist-scalprum/static/2769.e09b0ab0.chunk.js +2 -0
  51. package/dist-scalprum/static/2769.e09b0ab0.chunk.js.map +1 -0
  52. package/dist-scalprum/static/2821.1ac360ec.chunk.js +2 -0
  53. package/dist-scalprum/static/2821.1ac360ec.chunk.js.map +1 -0
  54. package/dist-scalprum/static/2967.004a950e.chunk.js +2 -0
  55. package/dist-scalprum/static/2967.004a950e.chunk.js.map +1 -0
  56. package/dist-scalprum/static/327.74ecd572.chunk.js +2 -0
  57. package/dist-scalprum/static/327.74ecd572.chunk.js.map +1 -0
  58. package/dist-scalprum/static/3658.104704cc.chunk.js +2 -0
  59. package/dist-scalprum/static/3658.104704cc.chunk.js.map +1 -0
  60. package/dist-scalprum/static/3917.888fba36.chunk.js +2 -0
  61. package/dist-scalprum/static/3917.888fba36.chunk.js.map +1 -0
  62. package/dist-scalprum/static/3947.f5320e89.chunk.js +2 -0
  63. package/dist-scalprum/static/3947.f5320e89.chunk.js.map +1 -0
  64. package/dist-scalprum/static/438.4335b833.chunk.js +2 -0
  65. package/dist-scalprum/static/438.4335b833.chunk.js.map +1 -0
  66. package/dist-scalprum/static/4908.4f21d453.chunk.js +2 -0
  67. package/dist-scalprum/static/4908.4f21d453.chunk.js.map +1 -0
  68. package/dist-scalprum/static/5197.53535ff4.chunk.js +2 -0
  69. package/dist-scalprum/static/5197.53535ff4.chunk.js.map +1 -0
  70. package/dist-scalprum/static/5289.6c803140.chunk.js +2 -0
  71. package/dist-scalprum/static/5289.6c803140.chunk.js.map +1 -0
  72. package/dist-scalprum/static/5943.4e1dedc5.chunk.js +2 -0
  73. package/dist-scalprum/static/5943.4e1dedc5.chunk.js.map +1 -0
  74. package/dist-scalprum/static/6311.da1849d1.chunk.js +2 -0
  75. package/dist-scalprum/static/6311.da1849d1.chunk.js.map +1 -0
  76. package/dist-scalprum/static/6371.02375475.chunk.js +3 -0
  77. package/dist-scalprum/static/6371.02375475.chunk.js.map +1 -0
  78. package/dist-scalprum/static/6837.6252b97a.chunk.js +2 -0
  79. package/dist-scalprum/static/6837.6252b97a.chunk.js.map +1 -0
  80. package/dist-scalprum/static/7270.8ee9d452.chunk.js +2 -0
  81. package/dist-scalprum/static/7270.8ee9d452.chunk.js.map +1 -0
  82. package/dist-scalprum/static/980.744a4d36.chunk.js +2 -0
  83. package/dist-scalprum/static/980.744a4d36.chunk.js.map +1 -0
  84. package/dist-scalprum/static/exposed-KuadrantPage.f123b200.chunk.js +2 -0
  85. package/dist-scalprum/static/exposed-KuadrantPage.f123b200.chunk.js.map +1 -0
  86. package/dist-scalprum/static/exposed-PluginRoot.3a5f9157.chunk.js +2 -0
  87. package/dist-scalprum/static/exposed-PluginRoot.3a5f9157.chunk.js.map +1 -0
  88. package/package.json +1 -1
  89. package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js +0 -265
  90. package/dist/components/EntityApiApprovalTab/EntityApiApprovalTab.esm.js.map +0 -1
  91. package/dist/components/EntityApiApprovalTab/index.esm.js +0 -2
  92. package/dist/components/EntityApiApprovalTab/index.esm.js.map +0 -1
  93. package/dist-scalprum/internal.plugin-kuadrant.c4fb9c2347d3ad03a5d0.js +0 -2
  94. package/dist-scalprum/internal.plugin-kuadrant.c4fb9c2347d3ad03a5d0.js.map +0 -1
  95. package/dist-scalprum/static/1584.1e45e570.chunk.js +0 -3
  96. package/dist-scalprum/static/1584.1e45e570.chunk.js.map +0 -1
  97. package/dist-scalprum/static/1719.246c020d.chunk.js +0 -2
  98. package/dist-scalprum/static/1719.246c020d.chunk.js.map +0 -1
  99. package/dist-scalprum/static/1881.56cde36b.chunk.js.map +0 -1
  100. package/dist-scalprum/static/286.ee43f560.chunk.js +0 -2
  101. package/dist-scalprum/static/286.ee43f560.chunk.js.map +0 -1
  102. package/dist-scalprum/static/2967.0c2ef90e.chunk.js +0 -2
  103. package/dist-scalprum/static/2967.0c2ef90e.chunk.js.map +0 -1
  104. package/dist-scalprum/static/3581.ebe5968a.chunk.js +0 -2
  105. package/dist-scalprum/static/3581.ebe5968a.chunk.js.map +0 -1
  106. package/dist-scalprum/static/369.2374941c.chunk.js +0 -2
  107. package/dist-scalprum/static/369.2374941c.chunk.js.map +0 -1
  108. package/dist-scalprum/static/3947.4f4aa8c2.chunk.js +0 -2
  109. package/dist-scalprum/static/3947.4f4aa8c2.chunk.js.map +0 -1
  110. package/dist-scalprum/static/3976.e8a8fda2.chunk.js +0 -2
  111. package/dist-scalprum/static/3976.e8a8fda2.chunk.js.map +0 -1
  112. package/dist-scalprum/static/4434.f92f6ba4.chunk.js +0 -2
  113. package/dist-scalprum/static/4434.f92f6ba4.chunk.js.map +0 -1
  114. package/dist-scalprum/static/4908.196a4425.chunk.js +0 -2
  115. package/dist-scalprum/static/4908.196a4425.chunk.js.map +0 -1
  116. package/dist-scalprum/static/512.d592d164.chunk.js +0 -2
  117. package/dist-scalprum/static/512.d592d164.chunk.js.map +0 -1
  118. package/dist-scalprum/static/5289.55069930.chunk.js +0 -2
  119. package/dist-scalprum/static/5289.55069930.chunk.js.map +0 -1
  120. package/dist-scalprum/static/5605.430f697e.chunk.js +0 -2
  121. package/dist-scalprum/static/5605.430f697e.chunk.js.map +0 -1
  122. package/dist-scalprum/static/5978.bf347a09.chunk.js +0 -2
  123. package/dist-scalprum/static/5978.bf347a09.chunk.js.map +0 -1
  124. package/dist-scalprum/static/6371.7b57ac27.chunk.js +0 -3
  125. package/dist-scalprum/static/6371.7b57ac27.chunk.js.map +0 -1
  126. package/dist-scalprum/static/6426.4c18bab5.chunk.js +0 -2
  127. package/dist-scalprum/static/6426.4c18bab5.chunk.js.map +0 -1
  128. package/dist-scalprum/static/6777.a2b77ec5.chunk.js +0 -2
  129. package/dist-scalprum/static/6777.a2b77ec5.chunk.js.map +0 -1
  130. package/dist-scalprum/static/6800.a45da2f4.chunk.js +0 -2
  131. package/dist-scalprum/static/6800.a45da2f4.chunk.js.map +0 -1
  132. package/dist-scalprum/static/7005.8190ad95.chunk.js +0 -2
  133. package/dist-scalprum/static/7005.8190ad95.chunk.js.map +0 -1
  134. package/dist-scalprum/static/7057.fcd688c7.chunk.js +0 -2
  135. package/dist-scalprum/static/7057.fcd688c7.chunk.js.map +0 -1
  136. package/dist-scalprum/static/7270.d52407cd.chunk.js +0 -2
  137. package/dist-scalprum/static/7270.d52407cd.chunk.js.map +0 -1
  138. package/dist-scalprum/static/7717.6f5b9dd7.chunk.js +0 -3
  139. package/dist-scalprum/static/7717.6f5b9dd7.chunk.js.map +0 -1
  140. package/dist-scalprum/static/9079.2ddaea57.chunk.js +0 -2
  141. package/dist-scalprum/static/9079.2ddaea57.chunk.js.map +0 -1
  142. package/dist-scalprum/static/9239.1acfe112.chunk.js +0 -2
  143. package/dist-scalprum/static/9239.1acfe112.chunk.js.map +0 -1
  144. package/dist-scalprum/static/9625.b0c6610a.chunk.js +0 -2
  145. package/dist-scalprum/static/9625.b0c6610a.chunk.js.map +0 -1
  146. package/dist-scalprum/static/exposed-KuadrantPage.5ae00605.chunk.js +0 -2
  147. package/dist-scalprum/static/exposed-KuadrantPage.5ae00605.chunk.js.map +0 -1
  148. package/dist-scalprum/static/exposed-PluginRoot.949381c2.chunk.js +0 -2
  149. package/dist-scalprum/static/exposed-PluginRoot.949381c2.chunk.js.map +0 -1
  150. /package/dist-scalprum/static/{1584.1e45e570.chunk.js.LICENSE.txt → 1340.7c4f4722.chunk.js.LICENSE.txt} +0 -0
  151. /package/dist-scalprum/static/{7717.6f5b9dd7.chunk.js.LICENSE.txt → 20.b3a37d1d.chunk.js.LICENSE.txt} +0 -0
  152. /package/dist-scalprum/static/{6371.7b57ac27.chunk.js.LICENSE.txt → 6371.02375475.chunk.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/6837.6252b97a.chunk.js","mappings":"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","sources":["webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/internal/SwitchBase.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/TableRow/TableRow.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/FormGroup/FormGroup.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/TableBody/TableBody.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/RadioGroup/RadioGroup.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/internal/svg-icons/RadioButtonUnchecked.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/internal/svg-icons/RadioButtonChecked.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/Radio/RadioButtonIcon.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/Radio/Radio.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/InputAdornment/InputAdornment.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/TableHead/TableHead.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/TableCell/TableCell.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/DialogContentText/DialogContentText.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/Table/Table.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/RadioGroup/useRadioGroup.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/RadioGroup/RadioGroupContext.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/Table/Tablelvl2Context.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/icons/Edit.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/LinearProgress/LinearProgress.js","webpack://internal.plugin-kuadrant/../../node_modules/@material-ui/core/esm/Table/TableContext.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport withStyles from '../styles/withStyles';\nimport IconButton from '../IconButton';\nexport var styles = {\n root: {\n padding: 9\n },\n checked: {},\n disabled: {},\n input: {\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n var autoFocus = props.autoFocus,\n checkedProp = props.checked,\n checkedIcon = props.checkedIcon,\n classes = props.classes,\n className = props.className,\n defaultChecked = props.defaultChecked,\n disabledProp = props.disabled,\n icon = props.icon,\n id = props.id,\n inputProps = props.inputProps,\n inputRef = props.inputRef,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onFocus = props.onFocus,\n readOnly = props.readOnly,\n required = props.required,\n tabIndex = props.tabIndex,\n type = props.type,\n value = props.value,\n other = _objectWithoutProperties(props, [\"autoFocus\", \"checked\", \"checkedIcon\", \"classes\", \"className\", \"defaultChecked\", \"disabled\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"]);\n\n var _useControlled = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n checked = _useControlled2[0],\n setCheckedState = _useControlled2[1];\n\n var muiFormControl = useFormControl();\n\n var handleFocus = function handleFocus(event) {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n var handleInputChange = function handleInputChange(event) {\n var newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v5: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n var disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var hasLabelFor = type === 'checkbox' || type === 'radio';\n return /*#__PURE__*/React.createElement(IconButton, _extends({\n component: \"span\",\n className: clsx(classes.root, className, checked && classes.checked, disabled && classes.disabled),\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ref: ref\n }, other), /*#__PURE__*/React.createElement(\"input\", _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n tabIndex: tabIndex,\n type: type,\n value: value\n }, inputProps)), checked ? checkedIcon : icon);\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'PrivateSwitchBase'\n})(SwitchBase);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport { alpha } from '../styles/colorManipulator';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n '&$hover:hover': {\n backgroundColor: theme.palette.action.hover\n },\n '&$selected, &$selected:hover': {\n backgroundColor: alpha(theme.palette.secondary.main, theme.palette.action.selectedOpacity)\n }\n },\n\n /* Pseudo-class applied to the root element if `selected={true}`. */\n selected: {},\n\n /* Pseudo-class applied to the root element if `hover={true}`. */\n hover: {},\n\n /* Styles applied to the root element if table variant=\"head\". */\n head: {},\n\n /* Styles applied to the root element if table variant=\"footer\". */\n footer: {}\n };\n};\nvar defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\nvar TableRow = /*#__PURE__*/React.forwardRef(function TableRow(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? defaultComponent : _props$component,\n _props$hover = props.hover,\n hover = _props$hover === void 0 ? false : _props$hover,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? false : _props$selected,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n\n var tablelvl2 = React.useContext(Tablelvl2Context);\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref,\n className: clsx(classes.root, className, tablelvl2 && {\n 'head': classes.head,\n 'footer': classes.footer\n }[tablelvl2.variant], hover && classes.hover, selected && classes.selected),\n role: Component === defaultComponent ? null : 'row'\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes = {\n /**\n * Should be valid <tr> children such as `TableCell`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: PropTypes.bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTableRow'\n})(TableRow);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n },\n\n /* Styles applied to the root element if `row={true}`. */\n row: {\n flexDirection: 'row'\n }\n};\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\n\nvar FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$row = props.row,\n row = _props$row === void 0 ? false : _props$row,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"row\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, className, row && classes.row),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Display group of elements in a compact row.\n */\n row: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiFormGroup'\n})(FormGroup);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'table-row-group'\n }\n};\nvar tablelvl2 = {\n variant: 'body'\n};\nvar defaultComponent = 'tbody';\nvar TableBody = /*#__PURE__*/React.forwardRef(function TableBody(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? defaultComponent : _props$component,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\"]);\n\n return /*#__PURE__*/React.createElement(Tablelvl2Context.Provider, {\n value: tablelvl2\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n role: Component === defaultComponent ? null : 'rowgroup'\n }, other)));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes = {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTableBody'\n})(TableBody);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport FormGroup from '../FormGroup';\nimport useForkRef from '../utils/useForkRef';\nimport useControlled from '../utils/useControlled';\nimport RadioGroupContext from './RadioGroupContext';\nimport useId from '../utils/unstable_useId';\nvar RadioGroup = /*#__PURE__*/React.forwardRef(function RadioGroup(props, ref) {\n var actions = props.actions,\n children = props.children,\n nameProp = props.name,\n valueProp = props.value,\n onChange = props.onChange,\n other = _objectWithoutProperties(props, [\"actions\", \"children\", \"name\", \"value\", \"onChange\"]);\n\n var rootRef = React.useRef(null);\n\n var _useControlled = useControlled({\n controlled: valueProp,\n default: props.defaultValue,\n name: 'RadioGroup'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n value = _useControlled2[0],\n setValue = _useControlled2[1];\n\n React.useImperativeHandle(actions, function () {\n return {\n focus: function focus() {\n var input = rootRef.current.querySelector('input:not(:disabled):checked');\n\n if (!input) {\n input = rootRef.current.querySelector('input:not(:disabled)');\n }\n\n if (input) {\n input.focus();\n }\n }\n };\n }, []);\n var handleRef = useForkRef(ref, rootRef);\n\n var handleChange = function handleChange(event) {\n setValue(event.target.value);\n\n if (onChange) {\n onChange(event, event.target.value);\n }\n };\n\n var name = useId(nameProp);\n return /*#__PURE__*/React.createElement(RadioGroupContext.Provider, {\n value: {\n name: name,\n onChange: handleChange,\n value: value\n }\n }, /*#__PURE__*/React.createElement(FormGroup, _extends({\n role: \"radiogroup\",\n ref: handleRef\n }, other), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? RadioGroup.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The default `input` element value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string]),\n\n /**\n * The name used to reference the value of the control.\n * If you don't provide this prop, it falls back to a randomly generated name.\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when a radio button is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * Value of the selected radio button. The DOM API casts this to a string.\n */\n value: PropTypes.any\n} : void 0;\nexport default RadioGroup;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'RadioButtonUnchecked');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z\"\n}), 'RadioButtonChecked');","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport RadioButtonUncheckedIcon from '../internal/svg-icons/RadioButtonUnchecked';\nimport RadioButtonCheckedIcon from '../internal/svg-icons/RadioButtonChecked';\nimport withStyles from '../styles/withStyles';\nexport var styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n display: 'flex',\n '&$checked $layer': {\n transform: 'scale(1)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.shortest\n })\n }\n },\n layer: {\n left: 0,\n position: 'absolute',\n transform: 'scale(0)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.shortest\n })\n },\n checked: {}\n };\n};\n/**\n * @ignore - internal component.\n */\n\nfunction RadioButtonIcon(props) {\n var checked = props.checked,\n classes = props.classes,\n fontSize = props.fontSize;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.root, checked && classes.checked)\n }, /*#__PURE__*/React.createElement(RadioButtonUncheckedIcon, {\n fontSize: fontSize\n }), /*#__PURE__*/React.createElement(RadioButtonCheckedIcon, {\n fontSize: fontSize,\n className: classes.layer\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? RadioButtonIcon.propTypes = {\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * The size of the radio.\n * `small` is equivalent to the dense radio styling.\n */\n fontSize: PropTypes.oneOf(['small', 'medium'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'PrivateRadioButtonIcon'\n})(RadioButtonIcon);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport SwitchBase from '../internal/SwitchBase';\nimport RadioButtonIcon from './RadioButtonIcon';\nimport { alpha } from '../styles/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport withStyles from '../styles/withStyles';\nimport useRadioGroup from '../RadioGroup/useRadioGroup';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n color: theme.palette.text.secondary\n },\n\n /* Pseudo-class applied to the root element if `checked={true}`. */\n checked: {},\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n '&$checked': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n '&$checked': {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n }\n };\n};\nvar defaultCheckedIcon = /*#__PURE__*/React.createElement(RadioButtonIcon, {\n checked: true\n});\nvar defaultIcon = /*#__PURE__*/React.createElement(RadioButtonIcon, null);\nvar Radio = /*#__PURE__*/React.forwardRef(function Radio(props, ref) {\n var checkedProp = props.checked,\n classes = props.classes,\n _props$color = props.color,\n color = _props$color === void 0 ? 'secondary' : _props$color,\n nameProp = props.name,\n onChangeProp = props.onChange,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = _objectWithoutProperties(props, [\"checked\", \"classes\", \"color\", \"name\", \"onChange\", \"size\"]);\n\n var radioGroup = useRadioGroup();\n var checked = checkedProp;\n var onChange = createChainedFunction(onChangeProp, radioGroup && radioGroup.onChange);\n var name = nameProp;\n\n if (radioGroup) {\n if (typeof checked === 'undefined') {\n checked = radioGroup.value === props.value;\n }\n\n if (typeof name === 'undefined') {\n name = radioGroup.name;\n }\n }\n\n return /*#__PURE__*/React.createElement(SwitchBase, _extends({\n color: color,\n type: \"radio\",\n icon: /*#__PURE__*/React.cloneElement(defaultIcon, {\n fontSize: size === 'small' ? 'small' : 'medium'\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(defaultCheckedIcon, {\n fontSize: size === 'small' ? 'small' : 'medium'\n }),\n classes: {\n root: clsx(classes.root, classes[\"color\".concat(capitalize(color))]),\n checked: classes.checked,\n disabled: classes.disabled\n },\n name: name,\n checked: checked,\n onChange: onChange,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Radio.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['default', 'primary', 'secondary']),\n\n /**\n * If `true`, the radio will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the radio.\n * `small` is equivalent to the dense radio styling.\n */\n size: PropTypes.oneOf(['medium', 'small']),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiRadio'\n})(Radio);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport Typography from '../Typography';\nimport withStyles from '../styles/withStyles';\nimport FormControlContext, { useFormControl } from '../FormControl/FormControlContext';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'flex',\n height: '0.01em',\n // Fix IE 11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `variant=\"filled\"`. */\n filled: {\n '&$positionStart:not($hiddenLabel)': {\n marginTop: 16\n }\n },\n\n /* Styles applied to the root element if `position=\"start\"`. */\n positionStart: {\n marginRight: 8\n },\n\n /* Styles applied to the root element if `position=\"end\"`. */\n positionEnd: {\n marginLeft: 8\n },\n\n /* Styles applied to the root element if `disablePointerEvents=true`. */\n disablePointerEvents: {\n pointerEvents: 'none'\n },\n\n /* Styles applied if the adornment is used inside <FormControl hiddenLabel />. */\n hiddenLabel: {},\n\n /* Styles applied if the adornment is used inside <FormControl margin=\"dense\" />. */\n marginDense: {}\n};\nvar InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disablePointer = props.disablePointerEvents,\n disablePointerEvents = _props$disablePointer === void 0 ? false : _props$disablePointer,\n _props$disableTypogra = props.disableTypography,\n disableTypography = _props$disableTypogra === void 0 ? false : _props$disableTypogra,\n position = props.position,\n variantProp = props.variant,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"]);\n\n var muiFormControl = useFormControl() || {};\n var variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('Material-UI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n return /*#__PURE__*/React.createElement(FormControlContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, position === 'end' ? classes.positionEnd : classes.positionStart, disablePointerEvents && classes.disablePointerEvents, muiFormControl.hiddenLabel && classes.hiddenLabel, variant === 'filled' && classes.filled, muiFormControl.margin === 'dense' && classes.marginDense),\n ref: ref\n }, other), typeof children === 'string' && !disableTypography ? /*#__PURE__*/React.createElement(Typography, {\n color: \"textSecondary\"\n }, children) : children));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes = {\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the input on click.\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n */\n disableTypography: PropTypes.bool,\n\n /**\n * @ignore\n */\n muiFormControl: PropTypes.object,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['start', 'end']).isRequired,\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiInputAdornment'\n})(InputAdornment);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'table-header-group'\n }\n};\nvar tablelvl2 = {\n variant: 'head'\n};\nvar defaultComponent = 'thead';\nvar TableHead = /*#__PURE__*/React.forwardRef(function TableHead(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? defaultComponent : _props$component,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\"]);\n\n return /*#__PURE__*/React.createElement(Tablelvl2Context.Provider, {\n value: tablelvl2\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n role: Component === defaultComponent ? null : 'rowgroup'\n }, other)));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes = {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTableHead'\n})(TableHead);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport { darken, alpha, lighten } from '../styles/colorManipulator';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: \"1px solid\\n \".concat(theme.palette.type === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)),\n textAlign: 'left',\n padding: 16\n }),\n\n /* Styles applied to the root element if `variant=\"head\"` or `context.table.head`. */\n head: {\n color: theme.palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n },\n\n /* Styles applied to the root element if `variant=\"body\"` or `context.table.body`. */\n body: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `variant=\"footer\"` or `context.table.footer`. */\n footer: {\n color: theme.palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: '6px 24px 6px 16px',\n '&:last-child': {\n paddingRight: 16\n },\n '&$paddingCheckbox': {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '&:last-child': {\n paddingLeft: 12,\n paddingRight: 16\n },\n '& > *': {\n padding: 0\n }\n }\n },\n\n /* Styles applied to the root element if `padding=\"checkbox\"`. */\n paddingCheckbox: {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px',\n '&:last-child': {\n paddingLeft: 0,\n paddingRight: 4\n }\n },\n\n /* Styles applied to the root element if `padding=\"none\"`. */\n paddingNone: {\n padding: 0,\n '&:last-child': {\n padding: 0\n }\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `context.table.stickyHeader={true}`. */\n stickyHeader: {\n position: 'sticky',\n top: 0,\n left: 0,\n zIndex: 2,\n backgroundColor: theme.palette.background.default\n }\n };\n};\n/**\n * The component renders a `<th>` element when the parent context is a header\n * or otherwise a `<td>` element.\n */\n\nvar TableCell = /*#__PURE__*/React.forwardRef(function TableCell(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n component = props.component,\n paddingProp = props.padding,\n scopeProp = props.scope,\n sizeProp = props.size,\n sortDirection = props.sortDirection,\n variantProp = props.variant,\n other = _objectWithoutProperties(props, [\"align\", \"classes\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"]);\n\n var table = React.useContext(TableContext);\n var tablelvl2 = React.useContext(Tablelvl2Context);\n var isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n var role;\n var Component;\n\n if (component) {\n Component = component;\n role = isHeadCell ? 'columnheader' : 'cell';\n } else {\n Component = isHeadCell ? 'th' : 'td';\n }\n\n var scope = scopeProp;\n\n if (!scope && isHeadCell) {\n scope = 'col';\n }\n\n var padding = paddingProp || (table && table.padding ? table.padding : 'normal');\n var size = sizeProp || (table && table.size ? table.size : 'medium');\n var variant = variantProp || tablelvl2 && tablelvl2.variant;\n var ariaSort = null;\n\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref,\n className: clsx(classes.root, classes[variant], className, align !== 'inherit' && classes[\"align\".concat(capitalize(align))], padding !== 'normal' && classes[\"padding\".concat(capitalize(padding))], size !== 'medium' && classes[\"size\".concat(capitalize(size))], variant === 'head' && table && table.stickyHeader && classes.stickyHeader),\n \"aria-sort\": ariaSort,\n role: role,\n scope: scope\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes = {\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n\n /**\n * The table cell contents.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Sets the padding applied to the cell.\n * By default, the Table parent component set the value (`normal`).\n * `default` is deprecated, use `normal` instead.\n */\n padding: chainPropTypes(PropTypes.oneOf(['normal', 'checkbox', 'none', 'default']), function (props) {\n if (props.padding === 'default') {\n return new Error('Material-UI: padding=\"default\" was renamed to padding=\"normal\" for consistency.');\n }\n\n return null;\n }),\n\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n\n /**\n * Specify the size of the cell.\n * By default, the Table parent component set the value (`medium`).\n */\n size: PropTypes.oneOf(['medium', 'small']),\n\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\n\n /**\n * Specify the cell type.\n * By default, the TableHead, TableBody or TableFooter parent component set the value.\n */\n variant: PropTypes.oneOf(['body', 'footer', 'head'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTableCell'\n})(TableCell);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '../styles/withStyles';\nimport Typography from '../Typography';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n marginBottom: 12\n }\n};\nvar DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(props, ref) {\n return /*#__PURE__*/React.createElement(Typography, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"textSecondary\",\n ref: ref\n }, props));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiDialogContentText'\n})(DialogContentText);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport TableContext from './TableContext';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: theme.palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n },\n\n /* Styles applied to the root element if `stickyHeader={true}`. */\n stickyHeader: {\n borderCollapse: 'separate'\n }\n };\n};\nvar defaultComponent = 'table';\nvar Table = /*#__PURE__*/React.forwardRef(function Table(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? defaultComponent : _props$component,\n _props$padding = props.padding,\n padding = _props$padding === void 0 ? 'normal' : _props$padding,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n _props$stickyHeader = props.stickyHeader,\n stickyHeader = _props$stickyHeader === void 0 ? false : _props$stickyHeader,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"]);\n\n var table = React.useMemo(function () {\n return {\n padding: padding,\n size: size,\n stickyHeader: stickyHeader\n };\n }, [padding, size, stickyHeader]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: table\n }, /*#__PURE__*/React.createElement(Component, _extends({\n role: Component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className, stickyHeader && classes.stickyHeader)\n }, other)));\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes = {\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Allows TableCells to inherit padding of the Table.\n * `default` is deprecated, use `normal` instead.\n */\n padding: chainPropTypes(PropTypes.oneOf(['normal', 'checkbox', 'none', 'default']), function (props) {\n if (props.padding === 'default') {\n return new Error('Material-UI: padding=\"default\" was renamed to padding=\"normal\" for consistency.');\n }\n\n return null;\n }),\n\n /**\n * Allows TableCells to inherit size of the Table.\n */\n size: PropTypes.oneOf(['small', 'medium']),\n\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE 11.\n */\n stickyHeader: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTable'\n})(Table);","import * as React from 'react';\nimport RadioGroupContext from './RadioGroupContext';\nexport default function useRadioGroup() {\n return React.useContext(RadioGroupContext);\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar RadioGroupContext = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n RadioGroupContext.displayName = 'RadioGroupContext';\n}\n\nexport default RadioGroupContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar Tablelvl2Context = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\n\nexport default Tablelvl2Context;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\n}), 'Edit');\n\nexports.default = _default;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport { useFormControl } from '../FormControl';\nimport withStyles from '../styles/withStyles';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n\n /* Styles applied to the root element if `labelPlacement=\"start\"`. */\n labelPlacementStart: {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n },\n\n /* Styles applied to the root element if `labelPlacement=\"top\"`. */\n labelPlacementTop: {\n flexDirection: 'column-reverse',\n marginLeft: 16\n },\n\n /* Styles applied to the root element if `labelPlacement=\"bottom\"`. */\n labelPlacementBottom: {\n flexDirection: 'column',\n marginLeft: 16\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the label's Typography component. */\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\nvar FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(props, ref) {\n var checked = props.checked,\n classes = props.classes,\n className = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n _props$labelPlacement = props.labelPlacement,\n labelPlacement = _props$labelPlacement === void 0 ? 'end' : _props$labelPlacement,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = _objectWithoutProperties(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"value\"]);\n\n var muiFormControl = useFormControl();\n var disabled = disabledProp;\n\n if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {\n disabled = control.props.disabled;\n }\n\n if (typeof disabled === 'undefined' && muiFormControl) {\n disabled = muiFormControl.disabled;\n }\n\n var controlProps = {\n disabled: disabled\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n return /*#__PURE__*/React.createElement(\"label\", _extends({\n className: clsx(classes.root, className, labelPlacement !== 'end' && classes[\"labelPlacement\".concat(capitalize(labelPlacement))], disabled && classes.disabled),\n ref: ref\n }, other), /*#__PURE__*/React.cloneElement(control, controlProps), /*#__PURE__*/React.createElement(Typography, {\n component: \"span\",\n className: clsx(classes.label, disabled && classes.disabled)\n }, label));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: PropTypes.node,\n\n /**\n * The position of the label.\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n\n /**\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport capitalize from '../utils/capitalize';\nimport withStyles from '../styles/withStyles';\nimport { darken, lighten } from '../styles/colorManipulator';\nimport useTheme from '../styles/useTheme';\nvar TRANSITION_DURATION = 4; // seconds\n\nexport var styles = function styles(theme) {\n var getColor = function getColor(color) {\n return theme.palette.type === 'light' ? lighten(color, 0.62) : darken(color, 0.5);\n };\n\n var backgroundPrimary = getColor(theme.palette.primary.main);\n var backgroundSecondary = getColor(theme.palette.secondary.main);\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'relative',\n overflow: 'hidden',\n height: 4,\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root and bar2 element if `color=\"primary\"`; bar2 if `variant=\"buffer\"`. */\n colorPrimary: {\n backgroundColor: backgroundPrimary\n },\n\n /* Styles applied to the root and bar2 elements if `color=\"secondary\"`; bar2 if `variant=\"buffer\"`. */\n colorSecondary: {\n backgroundColor: backgroundSecondary\n },\n\n /* Styles applied to the root element if `variant=\"determinate\"`. */\n determinate: {},\n\n /* Styles applied to the root element if `variant=\"indeterminate\"`. */\n indeterminate: {},\n\n /* Styles applied to the root element if `variant=\"buffer\"`. */\n buffer: {\n backgroundColor: 'transparent'\n },\n\n /* Styles applied to the root element if `variant=\"query\"`. */\n query: {\n transform: 'rotate(180deg)'\n },\n\n /* Styles applied to the additional bar element if `variant=\"buffer\"`. */\n dashed: {\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n animation: '$buffer 3s infinite linear'\n },\n\n /* Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"primary\"`. */\n dashedColorPrimary: {\n backgroundImage: \"radial-gradient(\".concat(backgroundPrimary, \" 0%, \").concat(backgroundPrimary, \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n },\n\n /* Styles applied to the additional bar element if `variant=\"buffer\"` and `color=\"secondary\"`. */\n dashedColorSecondary: {\n backgroundImage: \"radial-gradient(\".concat(backgroundSecondary, \" 0%, \").concat(backgroundSecondary, \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n },\n\n /* Styles applied to the layered bar1 and bar2 elements. */\n bar: {\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n },\n\n /* Styles applied to the bar elements if `color=\"primary\"`; bar2 if `variant` not \"buffer\". */\n barColorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n\n /* Styles applied to the bar elements if `color=\"secondary\"`; bar2 if `variant` not \"buffer\". */\n barColorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n\n /* Styles applied to the bar1 element if `variant=\"indeterminate or query\"`. */\n bar1Indeterminate: {\n width: 'auto',\n animation: '$indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite'\n },\n\n /* Styles applied to the bar1 element if `variant=\"determinate\"`. */\n bar1Determinate: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n\n /* Styles applied to the bar1 element if `variant=\"buffer\"`. */\n bar1Buffer: {\n zIndex: 1,\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n\n /* Styles applied to the bar2 element if `variant=\"indeterminate or query\"`. */\n bar2Indeterminate: {\n width: 'auto',\n animation: '$indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite'\n },\n\n /* Styles applied to the bar2 element if `variant=\"buffer\"`. */\n bar2Buffer: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n // Legends:\n // || represents the viewport\n // - represents a light background\n // x represents a dark background\n '@keyframes indeterminate1': {\n // |-----|---x-||-----||-----|\n '0%': {\n left: '-35%',\n right: '100%'\n },\n // |-----|-----||-----||xxxx-|\n '60%': {\n left: '100%',\n right: '-90%'\n },\n '100%': {\n left: '100%',\n right: '-90%'\n }\n },\n '@keyframes indeterminate2': {\n // |xxxxx|xxxxx||-----||-----|\n '0%': {\n left: '-200%',\n right: '100%'\n },\n // |-----|-----||-----||-x----|\n '60%': {\n left: '107%',\n right: '-8%'\n },\n '100%': {\n left: '107%',\n right: '-8%'\n }\n },\n '@keyframes buffer': {\n '0%': {\n opacity: 1,\n backgroundPosition: '0 -23px'\n },\n '50%': {\n opacity: 0,\n backgroundPosition: '0 -23px'\n },\n '100%': {\n opacity: 1,\n backgroundPosition: '-200px -23px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\nvar LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n value = props.value,\n valueBuffer = props.valueBuffer,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'indeterminate' : _props$variant,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"]);\n\n var theme = useTheme();\n var rootProps = {};\n var inlineStyles = {\n bar1: {},\n bar2: {}\n };\n\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n var transform = value - 100;\n\n if (theme.direction === 'rtl') {\n transform = -transform;\n }\n\n inlineStyles.bar1.transform = \"translateX(\".concat(transform, \"%)\");\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n var _transform = (valueBuffer || 0) - 100;\n\n if (theme.direction === 'rtl') {\n _transform = -_transform;\n }\n\n inlineStyles.bar2.transform = \"translateX(\".concat(_transform, \"%)\");\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(color))], className, {\n 'determinate': classes.determinate,\n 'indeterminate': classes.indeterminate,\n 'buffer': classes.buffer,\n 'query': classes.query\n }[variant]),\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other), variant === 'buffer' ? /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.dashed, classes[\"dashedColor\".concat(capitalize(color))])\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.bar, classes[\"barColor\".concat(capitalize(color))], (variant === 'indeterminate' || variant === 'query') && classes.bar1Indeterminate, {\n 'determinate': classes.bar1Determinate,\n 'buffer': classes.bar1Buffer\n }[variant]),\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.bar, (variant === 'indeterminate' || variant === 'query') && classes.bar2Indeterminate, variant === 'buffer' ? [classes[\"color\".concat(capitalize(color))], classes.bar2Buffer] : classes[\"barColor\".concat(capitalize(color))]),\n style: inlineStyles.bar2\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['primary', 'secondary']),\n\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiLinearProgress'\n})(LinearProgress);","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar TableContext = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\n\nexport default TableContext;"],"names":["SwitchBase","props","ref","autoFocus","checkedProp","checked","checkedIcon","classes","className","defaultChecked","disabledProp","disabled","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value","other","_useControlled","controlled","default","Boolean","state","_useControlled2","setCheckedState","muiFormControl","hasLabelFor","component","root","role","undefined","event","input","newChecked","target","padding","cursor","position","opacity","width","height","top","left","margin","zIndex","TableRow","_props$component","Component","_props$hover","hover","_props$selected","selected","tablelvl2","head","footer","variant","theme","color","display","verticalAlign","outline","backgroundColor","palette","action","secondary","main","selectedOpacity","FormGroup","_props$row","row","flexDirection","flexWrap","defaultComponent","TableBody","Provider","actions","children","nameProp","valueProp","rootRef","defaultValue","setValue","focus","current","querySelector","handleRef","createSvgIcon","d","withStyles","transform","transition","transitions","create","easing","easeOut","duration","shortest","layer","easeIn","fontSize","RadioButtonUnchecked","RadioButtonChecked","defaultCheckedIcon","defaultIcon","Radio","_props$color","onChangeProp","_props$size","size","radioGroup","useRadioGroup","createChainedFunction","concat","capitalize","text","colorPrimary","primary","hoverOpacity","colorSecondary","InputAdornment","_props$disablePointer","disablePointerEvents","_props$disableTypogra","disableTypography","variantProp","positionEnd","positionStart","hiddenLabel","filled","marginDense","maxHeight","alignItems","whiteSpace","marginTop","marginRight","marginLeft","pointerEvents","TableHead","TableCell","_props$align","align","paddingProp","scopeProp","scope","sizeProp","sortDirection","table","isHeadCell","ariaSort","stickyHeader","typography","body2","borderBottom","divider","textAlign","lineHeight","pxToRem","fontWeight","fontWeightMedium","body","sizeSmall","paddingRight","paddingLeft","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","background","DialogContentText","marginBottom","Table","_props$padding","_props$stickyHeader","borderCollapse","borderSpacing","spacing","captionSide","_interopRequireDefault","_interopRequireWildcard","exports","React","_default","createElement","FormControlLabel","control","label","_props$labelPlacement","labelPlacement","controlProps","forEach","key","WebkitTapHighlightColor","labelPlacementStart","labelPlacementTop","labelPlacementBottom","LinearProgress","valueBuffer","_props$variant","rootProps","inlineStyles","bar1","bar2","Math","round","direction","_transform","determinate","indeterminate","buffer","query","dashed","bar","bar1Indeterminate","bar1Determinate","bar1Buffer","style","bar2Indeterminate","bar2Buffer","getColor","backgroundPrimary","backgroundSecondary","overflow","colorAdjust","animation","dashedColorPrimary","backgroundImage","backgroundSize","backgroundPosition","dashedColorSecondary","bottom","transformOrigin","barColorPrimary","barColorSecondary","right"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[]).push([[7270],{5030:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=a(85608),s=a(95478),n=r.__importDefault(a(10009));t.default=function(e,t,a){void 0===t&&(t=[]),void 0===a&&(a={loading:!1});var i=s.useRef(0),o=n.default(),l=s.useState(a),c=l[0],d=l[1],u=s.useCallback(function(){for(var t=[],a=0;a<arguments.length;a++)t[a]=arguments[a];var s=++i.current;return c.loading||d(function(e){return r.__assign(r.__assign({},e),{loading:!0})}),e.apply(void 0,t).then(function(e){return o()&&s===i.current&&d({value:e,loading:!1}),e},function(e){return o()&&s===i.current&&d({error:e,loading:!1}),e})},t);return[c,u]}},10009:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=a(95478);t.default=function(){var e=r.useRef(!1),t=r.useCallback(function(){return e.current},[]);return r.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}},12229:(e,t,a)=>{a.d(t,{Z:()=>A});var r=a(31085),s=a(95478),n=a.n(s),i=a(10394),o=a(72501),l=a(64947),c=a(37197),d=a(69621),u=a(12981),p=a(86901),h=a(69076),m=a(58837),f=a(6924),y=a(23164);const g=(0,m.A)(e=>({root:{width:240,minWidth:240,padding:e.spacing(2),borderRight:`1px solid ${e.palette.divider}`,backgroundColor:e.palette.background.paper,height:"100%",overflowY:"auto"},sectionTitle:{fontWeight:600,fontSize:"0.75rem",textTransform:"uppercase",letterSpacing:"0.05em",color:e.palette.text.secondary,marginBottom:e.spacing(1),display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",userSelect:"none"},filterSection:{marginBottom:e.spacing(2)},checkbox:{padding:e.spacing(.5)},checkboxLabel:{fontSize:"0.875rem"},clearButton:{marginTop:e.spacing(2)},count:{fontSize:"0.75rem",color:e.palette.text.secondary,marginLeft:e.spacing(1)}})),A=({sections:e,filters:t,onChange:a,onClear:s})=>{const m=g(),[A,v]=n().useState(new Set(e.filter(e=>e.collapsed).map(e=>e.id))),x=Object.values(t).some(e=>e.length>0);return(0,r.jsxs)(i.A,{className:m.root,children:[(0,r.jsxs)(i.A,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[(0,r.jsx)(o.A,{variant:"subtitle2",children:"Filters"}),x&&(0,r.jsx)(l.A,{size:"small",color:"primary",onClick:()=>{const t={};e.forEach(e=>{t[e.id]=[]}),a(t),null==s||s()},children:"Clear all"})]}),(0,r.jsx)(c.A,{}),e.map(e=>{const s=A.has(e.id),n=(t[e.id]||[]).length;return(0,r.jsxs)(i.A,{className:m.filterSection,mt:2,children:[(0,r.jsxs)(i.A,{className:m.sectionTitle,onClick:()=>{return t=e.id,void v(e=>{const a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a});var t},children:[(0,r.jsxs)(i.A,{display:"flex",alignItems:"center",children:[(0,r.jsx)("span",{children:e.title}),n>0&&(0,r.jsxs)("span",{className:m.count,children:["(",n,")"]})]}),s?(0,r.jsx)(f.A,{fontSize:"small"}):(0,r.jsx)(y.A,{fontSize:"small"})]}),(0,r.jsx)(d.A,{in:!s,children:(0,r.jsx)(u.A,{children:e.options.map(s=>(0,r.jsx)(p.A,{control:(0,r.jsx)(h.A,{checked:(t[e.id]||[]).includes(s.value),onChange:()=>((e,r)=>{const s=t[e]||[],n=s.includes(r)?s.filter(e=>e!==r):[...s,r];a({...t,[e]:n})})(e.id,s.value),size:"small",className:m.checkbox,color:"primary"}),label:(0,r.jsxs)(i.A,{display:"flex",alignItems:"center",children:[(0,r.jsx)("span",{className:m.checkboxLabel,children:s.label}),void 0!==s.count&&(0,r.jsxs)("span",{className:m.count,children:["(",s.count,")"]})]})},s.value))})})]},e.id)})]})}},16325:(e,t,a)=>{function r(e){return e&&0!==e.length?e.find(e=>"Approved"===e.type&&"True"===e.status)?"Approved":e.find(e=>"Denied"===e.type&&"True"===e.status)?"Denied":e.find(e=>"Failed"===e.type&&"True"===e.status)?"Failed":"Pending":"Pending"}a.d(t,{v:()=>r})},23164:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");t.A=i},27799:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M21 5v6.59l-3-3.01-4 4.01-4-4-4 4-3-3.01V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2zm-3 6.42l3 3.01V19c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2v-6.58l3 2.99 4-4 4 4 4-3.99z"}),"BrokenImage");t.A=i},32269:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"Visibility");t.A=i},37270:(e,t,a)=>{a.r(t),a.d(t,{MyApiKeysPage:()=>J});var r=a(31085),s=a(95478),n=a(289),i=a(15831),o=a(45210),l=a(46681),c=a(49634),d=a(37725),u=a(42367),p=a(25010),h=a(22097),m=a(70980),f=a(16325),y=a(91638),g=a(58837),A=a(10394),v=a(72501),x=a(67720),j=a(71677),b=a(29365),k=a(78467),P=a(64947),w=a(76891),S=a(61477),$=a(46805),C=a(93453),R=a(4387),I=a(95061),q=a(48543),B=a(81215),T=a(26343),z=a(51253),F=a(16249);const W=({open:e,onClose:t,onSuccess:a})=>{var n;const i=(0,h.useApi)(h.configApiRef),o=(0,h.useApi)(h.fetchApiRef),l=(0,h.useApi)(h.alertApiRef),c=(0,h.useApi)(h.identityApiRef),d=(0,h.useApi)(m.s),u=i.getString("backend.baseUrl"),[p,f]=(0,s.useState)(""),[g,A]=(0,s.useState)(""),[x,j]=(0,s.useState)(""),[b,R]=(0,s.useState)(!1),{value:W,loading:N}=(0,y.A)(async()=>{if(!e)return[];const t=await o.fetch(`${u}/api/kuadrant/apiproducts`);if(!t.ok)throw new Error("Failed to fetch API products");return((await t.json()).items||[]).filter(e=>{var t;return"Published"===(null===(t=e.spec)||void 0===t?void 0:t.publishStatus)})},[u,o,e]),{value:E}=(0,y.A)(async()=>`${(await c.getBackstageIdentity()).userEntityRef.split("/")[1]||"unknown"}@example.com`,[c]),U=null==W?void 0:W.find(e=>`${e.metadata.namespace}/${e.metadata.name}`===p),O=(null==U||null===(n=U.status)||void 0===n?void 0:n.discoveredPlans)||[],M=()=>{f(""),A(""),j(""),t()};return(0,r.jsxs)(w.A,{open:e,onClose:M,maxWidth:"sm",fullWidth:!0,children:[(0,r.jsx)(S.A,{children:"Request API key"}),(0,r.jsxs)($.A,{children:[(0,r.jsx)(v.A,{variant:"body2",color:"textSecondary",children:"Submit your request to generate an API key."}),(0,r.jsxs)(I.A,{fullWidth:!0,margin:"normal",disabled:b||N,children:[(0,r.jsx)(q.A,{id:"api-select-label",required:!0,children:"API"}),(0,r.jsx)(B.A,{labelId:"api-select-label",value:p,onChange:e=>{f(e.target.value),A("")},disabled:b||N,"data-testid":"api-select",children:N?(0,r.jsx)(T.A,{disabled:!0,children:"Loading..."}):null==W?void 0:W.map(e=>(0,r.jsx)(T.A,{value:`${e.metadata.namespace}/${e.metadata.name}`,children:e.metadata.name},`${e.metadata.namespace}/${e.metadata.name}`))}),(0,r.jsx)(z.A,{children:"Select one API. Please submit separate requests for multiple APIs."})]}),(0,r.jsxs)(I.A,{fullWidth:!0,margin:"normal",disabled:b||!p,required:!0,children:[(0,r.jsx)(q.A,{id:"tier-select-label",children:"Tiers"}),(0,r.jsx)(B.A,{labelId:"tier-select-label",value:g,onChange:e=>A(e.target.value),disabled:b||!p,"data-testid":"tier-select",children:p?0===O.length?(0,r.jsx)(T.A,{disabled:!0,children:"No tiers available"}):O.map(e=>{const t=Object.entries(e.limits||{}).map(([e,t])=>`${t} per ${e}`).join(", ");return(0,r.jsxs)(T.A,{value:e.tier,children:[e.tier," ",t?`(${t})`:""]},e.tier)}):(0,r.jsx)(T.A,{disabled:!0,children:"Select an API first"})}),(0,r.jsx)(z.A,{children:"Select an API to view available tiers."})]}),(0,r.jsx)(F.A,{label:"Use case",placeholder:"Briefly describe your specific use case of using this API key",multiline:!0,rows:2,fullWidth:!0,margin:"normal",value:x,onChange:e=>j(e.target.value),disabled:b,inputProps:{"data-testid":"usecase-input"}})]}),(0,r.jsxs)(C.A,{children:[(0,r.jsx)(P.A,{onClick:M,disabled:b,"data-testid":"cancel-button",children:"Cancel"}),(0,r.jsx)(P.A,{onClick:async()=>{if(!p||!g)return;const[e,t]=p.split("/");R(!0);try{const r=`${(await c.getBackstageIdentity()).userEntityRef.split("/")[1]||"unknown"}-${t}-secret-${Math.random().toString(36).substring(2,10)}`.toLowerCase().replace(/[^a-z0-9-]/g,"-"),s=crypto.randomUUID().replace(/-/g,"");await d.createSecret(r,s);const n=await o.fetch(`${u}/api/kuadrant/requests`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiProductName:t,namespace:e,planTier:g,useCase:x.trim()||"",userEmail:E||"unknown",secretName:r})});if(!n.ok){let a;try{a=await n.json()}catch{a={error:`Server returned ${n.status} ${n.statusText}`}}console.error("Backend error response:",{status:n.status,statusText:n.statusText,errorData:a,requestBody:{apiProductName:t,namespace:e,planTier:g,useCase:x.trim()||"",userEmail:E||"unknown",secretName:"(generated)"}});const s=a.error||a.message||`Server returned ${n.status}`;let i=s;if(s.includes("spec.requestedBy.email"))i="Invalid email format. Please contact your administrator to update your profile email.";else if(s.includes("is invalid:")){const e=s.match(/is invalid: (.+?)(?:\s+\(|$)/);e&&(i=`Validation error: ${e[1]}`)}else 403===n.status?i="You do not have permission to request access to this API.":404===n.status?i="The selected API or tier was not found.":n.status>=500&&(i=`Server error: ${s}`);throw await d.deleteSecret(r).catch(e=>console.warn("Failed to cleanup orphaned secret:",e)),new Error(i)}l.post({message:"API key requested successfully",severity:"success",display:"transient"}),M(),a()}catch(e){const t=e instanceof Error?e.message:"unknown error occurred";console.error("Failed to create API key request:",{error:e,selectedApi:p,selectedTier:g,userEmail:E}),l.post({message:`Failed to request API key: ${t}`,severity:"error",display:"permanent"})}finally{R(!1)}},color:"primary",variant:"contained",disabled:!p||!g||b,startIcon:b?(0,r.jsx)(k.A,{size:16,color:"inherit"}):void 0,"data-testid":"submit-button",children:b?"Submitting...":"Request"})]})]})};var N=a(32269),E=a(61524),U=a(99594),O=a(77225),M=a(39590),K=a(63221),D=a(12229),L=a(46299);const _=(0,g.A)(e=>({container:{display:"flex",height:"100%",minHeight:400},tableContainer:{flex:1,overflow:"auto",padding:10},useCasePanel:{padding:e.spacing(2),backgroundColor:e.palette.background.default},useCaseLabel:{fontWeight:600,marginBottom:e.spacing(1),color:e.palette.text.secondary,textTransform:"uppercase",fontSize:"0.75rem"},rejectedBanner:{backgroundColor:e.palette.error.light,border:`1px solid ${e.palette.error.main}`,borderRadius:e.shape.borderRadius,padding:e.spacing(1.5,2),marginBottom:e.spacing(2),display:"flex",alignItems:"center",gap:e.spacing(1)}})),H=({request:e})=>{var t,a;const s=_(),n="Denied"===(0,f.v)(null===(t=e.status)||void 0===t?void 0:t.conditions),i=(null===(a=e.spec.apiProductRef)||void 0===a?void 0:a.name)||"unknown";return(0,r.jsxs)(A.A,{className:s.useCasePanel,onClick:e=>e.stopPropagation(),children:[n&&(0,r.jsxs)(A.A,{className:s.rejectedBanner,children:[(0,r.jsx)(O.A,{color:"error",fontSize:"small"}),(0,r.jsxs)(v.A,{variant:"body2",children:["This API key was denied."," ",(0,r.jsx)(d.N_,{to:`/catalog/default/api/${i}/api-keys`,children:"Request a new API key"})]})]}),(0,r.jsx)(v.A,{className:s.useCaseLabel,children:"Use Case"}),(0,r.jsx)(v.A,{variant:"body2",children:e.spec.useCase||"No use case provided"})]})},V=()=>{var e,t;const a=_(),n=(0,c.useNavigate)(),i=(0,h.useApi)(m.s),o=(0,h.useApi)(h.alertApiRef),[l,g]=(0,s.useState)(!1),[I,q]=(0,s.useState)(new Set),[B,T]=(0,s.useState)(0),[z,F]=(0,s.useState)(null),[V,J]=(0,s.useState)({open:!1,request:null}),[Y,Z]=(0,s.useState)(new Map),[X,G]=(0,s.useState)(new Set),[Q,ee]=(0,s.useState)(!1),[te,ae]=(0,s.useState)(null),[re,se]=(0,s.useState)(new Set),[ne,ie]=(0,s.useState)({status:[],apiProduct:[],tier:[]}),{value:oe,loading:le,error:ce}=(0,y.A)(async()=>{const[e,t]=await Promise.all([i.getRequests(),i.getApiProducts()]),a=e.items||[],r=t.items||[],s=new Map;return r.forEach(e=>{var t;const a=`${e.metadata.namespace}/${e.metadata.name}`,r=(null===(t=e.metadata.annotations)||void 0===t?void 0:t["backstage.io/owner"])||"unknown";s.set(a,r)}),{requests:a,products:r,ownerMap:s}},[i,B]),de=(0,s.useMemo)(()=>(null==oe?void 0:oe.requests)?oe.requests.filter(e=>!re.has(e.metadata.name)):[],[null==oe?void 0:oe.requests,re]),ue=(0,s.useMemo)(()=>{const e={Approved:0,Pending:0,Denied:0,Failed:0},t=new Map,a=new Map;return de.forEach(r=>{var s,n;const i=(0,f.v)(null===(s=r.status)||void 0===s?void 0:s.conditions);e[i]++;const o=(null===(n=r.spec.apiProductRef)||void 0===n?void 0:n.name)||"unknown";t.set(o,(t.get(o)||0)+1);const l=r.spec.planTier||"unknown";a.set(l,(a.get(l)||0)+1)}),[{id:"status",title:"Status",options:[{value:"Approved",label:"Active",count:e.Approved},{value:"Pending",label:"Pending",count:e.Pending},{value:"Denied",label:"Denied",count:e.Denied},{value:"Failed",label:"Failed",count:e.Failed}]},{id:"apiProduct",title:"API Product",options:Array.from(t.entries()).map(([e,t])=>({value:e,label:e,count:t})),collapsed:t.size>5},{id:"tier",title:"Tier",options:Array.from(a.entries()).map(([e,t])=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1),count:t}))}]},[de]),pe=(0,s.useMemo)(()=>de.filter(e=>{if(ne.status.length>0){var t;const a=(0,f.v)(null===(t=e.status)||void 0===t?void 0:t.conditions);if(!ne.status.includes(a))return!1}if(ne.apiProduct.length>0){var a;const t=(null===(a=e.spec.apiProductRef)||void 0===a?void 0:a.name)||"unknown";if(!ne.apiProduct.includes(t))return!1}if(ne.tier.length>0){const t=e.spec.planTier||"unknown";if(!ne.tier.includes(t))return!1}return!0}),[de,ne]),he=e=>{q(t=>{const a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})},me=[{title:"API Product",field:"spec.apiProductRef.name",render:e=>{var t;const a=(null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name)||"unknown";return(0,r.jsx)(d.N_,{to:`/catalog/default/api/${a}/api-keys`,children:(0,r.jsx)("strong",{children:a})})}},{title:"Owner",field:"owner",render:e=>{var t,a;const s=`${e.metadata.namespace}/${null===(t=e.spec.apiProductRef)||void 0===t?void 0:t.name}`,n=((null==oe||null===(a=oe.ownerMap)||void 0===a?void 0:a.get(s))||"unknown").replace(/^user:default\//,"");return(0,r.jsx)(v.A,{variant:"body2",children:n})}},{title:"Status",field:"status.conditions",render:e=>{var t;const a=(0,f.v)(null===(t=e.status)||void 0===t?void 0:t.conditions),s="Approved"===a?"Active":a;return(0,r.jsx)(x.A,{label:s,size:"small",style:(0,L.g9)(a)})}},{title:"Tier",field:"spec.planTier",render:e=>(0,r.jsx)(x.A,{label:e.spec.planTier,size:"small",variant:"outlined"})},{title:"API Key",field:"status.secretRef",filtering:!1,render:e=>{var t;if("Approved"!==(0,f.v)(null===(t=e.status)||void 0===t?void 0:t.conditions))return(0,r.jsx)(v.A,{variant:"body2",color:"textSecondary",children:"-"});const a=`${e.metadata.namespace}/${e.metadata.name}`,s=I.has(e.metadata.name),n=X.has(a),i=Y.get(a);return(0,r.jsxs)(A.A,{display:"flex",alignItems:"center",style:{gap:8},children:[(0,r.jsx)(A.A,{fontFamily:"monospace",fontSize:"0.875rem",children:n?"Loading...":s&&i?i:"•".repeat(20)}),s&&i&&(0,r.jsx)(j.Ay,{title:"Copy to clipboard",children:(0,r.jsx)(b.A,{size:"small",onClick:async()=>{i&&(await navigator.clipboard.writeText(i),o.post({message:"API key copied to clipboard",severity:"success",display:"transient"}))},children:(0,r.jsx)(U.A,{fontSize:"small"})})}),(0,r.jsx)(j.Ay,{title:s?"Hide API key":"Reveal API key",children:(0,r.jsx)("span",{children:(0,r.jsx)(b.A,{size:"small",onClick:()=>{s?(((e,t)=>{const a=`${e}/${t}`;Z(e=>{const t=new Map(e);return t.delete(a),t})})(e.metadata.namespace,e.metadata.name),he(e.metadata.name)):(ae({namespace:e.metadata.namespace,name:e.metadata.name}),ee(!0))},disabled:n,children:s?(0,r.jsx)(E.A,{fontSize:"small"}):(0,r.jsx)(N.A,{fontSize:"small"})})})})]})}},{title:"Requested",field:"metadata.creationTimestamp",render:e=>{if(!e.metadata.creationTimestamp)return(0,r.jsx)(v.A,{variant:"body2",children:"-"});const t=new Date(e.metadata.creationTimestamp);return(0,r.jsx)(v.A,{variant:"body2",children:t.toLocaleDateString()})}},{title:"Actions",filtering:!1,width:"100px",render:e=>z===e.metadata.name?(0,r.jsx)(k.A,{size:20}):(0,r.jsxs)(A.A,{display:"flex",style:{gap:4},children:[(0,r.jsx)(j.Ay,{title:"View details",children:(0,r.jsx)(b.A,{size:"small",onClick:t=>{t.stopPropagation(),n(`/kuadrant/api-keys/${e.metadata.namespace}/${e.metadata.name}`)},children:(0,r.jsx)(N.A,{fontSize:"small"})})}),(0,r.jsx)(j.Ay,{title:"Delete",children:(0,r.jsx)(b.A,{size:"small",onClick:t=>{t.stopPropagation(),J({open:!0,request:e})},children:(0,r.jsx)(M.A,{fontSize:"small"})})})]})}],fe=(0,s.useMemo)(()=>[{render:e=>{var t;const a=e.rowData;return(null==a||null===(t=a.metadata)||void 0===t?void 0:t.name)?(0,r.jsx)(H,{request:a}):(0,r.jsx)(A.A,{})}}],[]);return le?(0,r.jsx)(A.A,{p:2,children:[...Array(5)].map((e,t)=>(0,r.jsx)(A.A,{p:2,children:(0,r.jsx)(R.A,{variant:"text",width:"100%"})},t))}):ce?(0,r.jsx)(u._,{error:ce}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A.A,{display:"flex",justifyContent:"flex-end",mb:2,px:2,children:(0,r.jsx)(P.A,{variant:"contained",color:"primary",onClick:()=>g(!0),"data-testid":"request-access-button",children:"Request Access"})}),(0,r.jsxs)(A.A,{className:a.container,children:[(0,r.jsx)(D.Z,{sections:ue,filters:ne,onChange:ie}),(0,r.jsx)(A.A,{className:a.tableContainer,children:0===de.length?(0,r.jsx)(A.A,{p:4,textAlign:"center",children:(0,r.jsx)(v.A,{variant:"body1",color:"textSecondary",gutterBottom:!0,children:"No API keys found. Request access to an API to get started."})}):0===pe.length?(0,r.jsx)(A.A,{p:4,textAlign:"center",children:(0,r.jsx)(v.A,{variant:"body1",color:"textSecondary",children:"No API keys match the selected filters."})}):(0,r.jsx)(p.X,{options:{paging:pe.length>10,pageSize:20,search:!0,filtering:!1,debounceInterval:300,toolbar:!0,emptyRowsWhenPaging:!1},columns:me,data:pe.map(e=>({...e,id:e.metadata.name})),detailPanel:fe})})]}),(0,r.jsx)(K.K,{open:V.open,title:"Delete API Key",description:`Are you sure you want to delete this API key for ${(null===(t=V.request)||void 0===t||null===(e=t.spec.apiProductRef)||void 0===e?void 0:e.name)||"this API"}?`,deleting:null!==z,onConfirm:async()=>{if(!V.request)return;const e=V.request,t=e.metadata.name;se(e=>new Set(e).add(t)),F(t);try{await i.deleteRequest(e.metadata.namespace,e.metadata.name),T(e=>e+1),o.post({message:"API key deleted",severity:"success",display:"transient"}),J({open:!1,request:null})}catch(e){console.error("Error deleting request:",e),se(e=>{const a=new Set(e);return a.delete(t),a});const a=e instanceof Error?e.message:"unknown error occurred";o.post({message:`Failed to delete APIKey. ${a}`,severity:"error",display:"transient"})}finally{F(null)}},onCancel:()=>{J({open:!1,request:null})}}),(0,r.jsxs)(w.A,{open:Q,onClose:()=>{ee(!1),ae(null)},maxWidth:"sm",children:[(0,r.jsx)(S.A,{children:(0,r.jsxs)(A.A,{display:"flex",alignItems:"center",children:[(0,r.jsx)(O.A,{color:"primary",style:{marginRight:8}}),"View API Key"]})}),(0,r.jsxs)($.A,{children:[(0,r.jsx)(v.A,{variant:"body1",paragraph:!0,children:"You are about to reveal the API key. Make sure to copy and store it securely."}),(0,r.jsx)(v.A,{variant:"body2",color:"textSecondary",children:"The key will remain accessible for future viewing if needed."})]}),(0,r.jsxs)(C.A,{children:[(0,r.jsx)(P.A,{onClick:()=>{ee(!1),ae(null)},children:"Cancel"}),(0,r.jsx)(P.A,{variant:"contained",color:"primary",onClick:()=>{te&&((async(e,t)=>{const a=`${e}/${t}`;if(!X.has(a)){G(e=>new Set(e).add(a));try{const r=await i.getApiKeySecret(e,t);Z(e=>new Map(e).set(a,r.apiKey))}catch(e){const t=e instanceof Error?e.message:"unknown error occurred";o.post({message:`Failed to fetch api key: ${t}`,severity:"error",display:"transient"})}finally{G(e=>{const t=new Set(e);return t.delete(a),t})}}})(te.namespace,te.name),he(te.name)),ee(!1),ae(null)},children:"Reveal API Key"})]})]}),(0,r.jsx)(W,{open:l,onClose:()=>g(!1),onSuccess:()=>{g(!1),T(e=>e+1)}})]})},J=()=>(0,r.jsxs)(n.Y,{themeId:"tool",children:[(0,r.jsx)(i.Y,{title:"My API Keys",subtitle:"View and manage your API keys",children:(0,r.jsx)(o.Y,{children:"Manage your API keys and access requests"})}),(0,r.jsx)(l.U,{children:(0,r.jsx)(V,{})})]})},39590:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");t.A=i},45210:(e,t,a)=>{a.d(t,{Y:()=>R});var r=a(31085),s=a(22097),n=a(10394),i=a(64947),o=a(93453),l=a(29365),c=a(46423),d=a(5951),u=a(26343),p=a(28233),h=a(55197),m=a(37976),f=a(72501),y=a(5893),g=a(95478),A=(a(45250),a(49634),a(21006)),v=a(67550);const x=()=>{const{t:e}=(0,v.i)(A.O);return{url:"https://github.com/backstage/backstage/issues",items:[{title:e("supportConfig.default.title"),icon:"warning",links:[{title:e("supportConfig.default.linkTitle"),url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]}};var j=a(27799);function b(e){const{id:t,Fallback:a=j.A,...n}=e,i=(0,s.useApp)().getSystemIcon(t)??a;return(0,r.jsx)(i,{...n})}function k(e){return(0,r.jsx)(b,{id:"help",...e})}var P=a(37725);const w=(0,m.makeStyles)({popoverList:{minWidth:260,maxWidth:400},menuItem:{whiteSpace:"normal"}},{name:"BackstageSupportButton"}),S=({icon:e})=>{const t=(0,s.useApp)(),a=e?t.getSystemIcon(e)??k:k;return(0,r.jsx)(a,{})},$=({link:e})=>(0,r.jsx)(P.N_,{to:e.url,children:e.title??e.url}),C=({item:e})=>(0,r.jsxs)(u.A,{button:!1,children:[(0,r.jsx)(c.A,{children:(0,r.jsx)(S,{icon:e.icon})}),(0,r.jsx)(d.A,{primary:e.title,secondary:e.links?.reduce((e,t,a)=>[...e,a>0&&(0,r.jsx)("br",{},a),(0,r.jsx)($,{link:t},t.url)],[])})]});function R(e){const{t}=(0,v.i)(A.O),{title:a,items:c,children:d}=e,{items:m}=function(){const e=(0,s.useApiHolder)().get(s.configApiRef),t=e?.getOptionalConfig("app.support"),a=x();return t?{url:t.getString("url"),items:t.getConfigArray("items").flatMap(e=>({title:e.getString("title"),icon:e.getOptionalString("icon"),links:(e.getOptionalConfigArray("links")??[]).flatMap(e=>({url:e.getString("url"),title:e.getOptionalString("title")??""}))}))}:a}(),[j,b]=(0,g.useState)(!1),[P,S]=(0,g.useState)(null),$=w(),R=(0,s.useApi)(s.configApiRef).getOptionalConfig("app.support"),I=(0,y.A)(e=>e.breakpoints.down("sm")),q=e=>{S(e.currentTarget),b(!0)},B=()=>{b(!1)};return R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.A,{display:"flex",ml:1,children:I?(0,r.jsx)(l.A,{color:"primary",size:"small",onClick:q,"data-testid":"support-button","aria-label":"Support",children:(0,r.jsx)(k,{})}):(0,r.jsx)(i.A,{"data-testid":"support-button","aria-label":"Support",color:"primary",onClick:q,startIcon:(0,r.jsx)(k,{}),children:t("supportButton.title")})}),(0,r.jsxs)(h.Ay,{"data-testid":"support-button-popover",open:j,anchorEl:P,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:B,children:[(0,r.jsxs)(p.A,{className:$.popoverList,autoFocusItem:Boolean(P),children:[a&&(0,r.jsx)(u.A,{button:!1,alignItems:"flex-start",className:$.menuItem,children:(0,r.jsx)(f.A,{variant:"subtitle1",children:a})}),g.Children.map(d,(e,t)=>(0,r.jsx)(u.A,{button:!1,alignItems:"flex-start",className:$.menuItem,children:e},`child-${t}`)),(c??m).map((e,t)=>(0,r.jsx)(C,{item:e},`item-${t}`))]}),(0,r.jsx)(o.A,{children:(0,r.jsx)(i.A,{color:"primary",onClick:B,"aria-label":"Close",children:t("supportButton.close")})})]})]}):null}},46299:(e,t,a)=>{a.d(t,{ee:()=>n,g9:()=>r,uU:()=>s});const r=e=>{const t={border:"none"};switch(e){case"Approved":return{...t,backgroundColor:"#1976d2",color:"#fff"};case"Denied":return{...t,backgroundColor:"#d32f2f",color:"#fff"};case"Failed":return{...t,backgroundColor:"#ed6c02",color:"#fff"};default:return{...t,backgroundColor:"#9c27b0",color:"#fff"}}},s=e=>{const t={border:"none"};switch(e){case"Approved":return{...t,backgroundColor:"#2e7d32",color:"#fff"};case"Denied":return{...t,backgroundColor:"#d32f2f",color:"#fff"};default:return{...t,backgroundColor:"#ed6c02",color:"#fff"}}},n=e=>{switch(e){case"production":return{backgroundColor:"#1976d2",color:"#fff"};case"experimental":return{backgroundColor:"#9c27b0",color:"#fff"};case"deprecated":return{backgroundColor:"#ff9800",color:"#fff"};case"retired":return{backgroundColor:"#d32f2f",color:"#fff"};default:return{}}}},61524:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.A=i},63221:(e,t,a)=>{a.d(t,{K:()=>y});var r=a(31085),s=a(95478),n=a(76891),i=a(61477),o=a(10394),l=a(46805),c=a(59461),d=a(72501),u=a(16249),p=a(93453),h=a(64947),m=a(78467),f=a(77225);const y=({open:e,title:t,description:a,confirmText:y,severity:g="normal",deleting:A=!1,onConfirm:v,onCancel:x})=>{const[j,b]=(0,s.useState)("");(0,s.useEffect)(()=>{e||b("")},[e]);const k="high"===g&&y,P=!k||j===y;return(0,r.jsxs)(n.A,{open:e,onClose:A?void 0:x,maxWidth:"sm",fullWidth:!0,children:[(0,r.jsxs)(i.A,{children:["high"===g&&(0,r.jsxs)(o.A,{display:"flex",alignItems:"center",style:{gap:8},children:[(0,r.jsx)(f.A,{color:"error"}),(0,r.jsx)("span",{children:t})]}),"high"!==g&&t]}),(0,r.jsxs)(l.A,{children:[(0,r.jsx)(c.A,{style:{whiteSpace:"pre-line"},children:a}),k&&(0,r.jsxs)(o.A,{mt:2,children:[(0,r.jsxs)(d.A,{variant:"body2",color:"textSecondary",gutterBottom:!0,children:["Type ",(0,r.jsx)("strong",{children:y})," to confirm:"]}),(0,r.jsx)(u.A,{fullWidth:!0,variant:"outlined",size:"small",value:j,onChange:e=>b(e.target.value),disabled:A,autoFocus:!0,placeholder:y})]})]}),(0,r.jsxs)(p.A,{children:[(0,r.jsx)(h.A,{onClick:x,disabled:A,children:"Cancel"}),(0,r.jsx)(h.A,{onClick:()=>{P&&v()},color:"secondary",variant:"contained",disabled:A||!P,startIcon:A?(0,r.jsx)(m.A,{size:16,color:"inherit"}):void 0,children:A?"Deleting...":"Delete"})]})]})}},70980:(e,t,a)=>{a.d(t,{y:()=>d,s:()=>c});var r=a(18990),s=a(22097),n=a(54209),i=a.n(n);async function o(e){const t=await e.json().catch(()=>({}));switch(e.status){case 400:return t.error||"Invalid request. Please check your input.";case 403:return"Permission denied. Contact your administrator.";case 404:return"Resource not found. It may have been deleted.";case 409:return"Resource already exists or conflicts with existing data.";case 500:return"Server error. Please try again or contact support.";default:return t.error||`Request failed (${e.status})`}}const l={retries:3,factor:2,minTimeout:300,maxTimeout:3e3,randomize:!0},c=(0,s.createApiRef)({id:"plugin.kuadrant.service"});class d{async getBaseUrl(){return await this.discoveryApi.getBaseUrl("")}async fetchWithRetry(e,t=""){return i()(async a=>{const r=await this.fetchApi.fetch(e);if(401===r.status||403===r.status){const e=await o(r);a(new Error(e))}else if(!r.ok){const e=await o(r);throw new Error(`${t} ${e}`)}return await r.json()},l)}async fetchWithoutRetry(e,t,a=""){const r=await this.fetchApi.fetch(e,{headers:{"Content-Type":"application/json"},...t});if(!r.ok){const e=await o(r);throw new Error(`${a} ${e}`)}if("DELETE"!==t.method)return await r.json()}async getRequests(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/requests/my`,"Failed to fetch API Key requests.")}async getAllRequests(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/requests`,"Failed to fetch API Key requests.")}async getRequestsByNamespace(e){const t=await this.getBaseUrl(),a=e?`${t}kuadrant/requests/my?namespace=${e}`:`${t}kuadrant/requests/my`;return this.fetchWithRetry(a,"Failed to fetch API Key requests by namespace.")}async getRequestsByApiProduct(e,t){const a=await this.getBaseUrl(),r=new URLSearchParams({apiProductName:e,apiProductNamespace:t});return this.fetchWithRetry(`${a}kuadrant/requests/my?${r.toString()}`,"Failed to fetch API Key requests by API product.")}async getAllRequestsByApiProduct(e,t){const a=await this.getBaseUrl(),r=new URLSearchParams({apiProductName:e,apiProductNamespace:t});return this.fetchWithRetry(`${a}kuadrant/requests?${r.toString()}`,"Failed to fetch all API Key requests by API product.")}async getRequest(e,t){const a=await this.getBaseUrl();return this.fetchWithRetry(`${a}kuadrant/requests/${e}/${t}`,"Failed to fetch API Key request.")}async createRequest(e){const t=await this.getBaseUrl();return this.fetchWithoutRetry(`${t}kuadrant/requests`,{method:"POST",body:JSON.stringify(e)},"Failed to create APIKey request.")}async updateRequest(e,t,a){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/requests/${e}/${t}`,{method:"PATCH",body:JSON.stringify(a)},"Failed to update APIKey request.")}async deleteRequest(e,t){const a=await this.getBaseUrl();return this.fetchWithoutRetry(`${a}kuadrant/requests/${e}/${t}`,{method:"DELETE"},"Failed to delete APIKey request.")}async approveRequest(e,t,a="system"){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/requests/${e}/${t}/approve`,{method:"POST",body:JSON.stringify({reviewedBy:a})},"Failed to approve APIKey request.")}async rejectRequest(e,t,a="system"){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/requests/${e}/${t}/reject`,{method:"POST",body:JSON.stringify({reviewedBy:a})},"Failed to reject APIKey request.")}async bulkApproveRequests(e,t){const a=await this.getBaseUrl();return(await this.fetchWithoutRetry(`${a}kuadrant/requests/bulk-approve`,{method:"POST",body:JSON.stringify({requests:e,reviewedBy:t})},"Failed to bulk approve APIKey requests.")).results}async bulkRejectRequests(e,t){const a=await this.getBaseUrl();return(await this.fetchWithoutRetry(`${a}kuadrant/requests/bulk-reject`,{method:"POST",body:JSON.stringify({requests:e,reviewedBy:t})},"Failed to bulk reject APIKey requests")).results}async getApiKey(e,t){const a=await this.getBaseUrl();return this.fetchWithRetry(`${a}kuadrant/apikeys/${e}/${t}`,"Failed to fetch API Key.")}async getApiKeySecret(e,t){const a=await this.getBaseUrl();return this.fetchWithRetry(`${a}kuadrant/apikeys/${e}/${t}/secret`,"Failed to fetch API Key Secret.")}async getApiProducts(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/apiproducts`,"Failed to fetch API Products.")}async getApiProduct(e,t){const a=await this.getBaseUrl();return this.fetchWithRetry(`${a}kuadrant/apiproducts/${e}/${t}`,"Failed to fetch API Product.")}async createApiProduct(e){const t=await this.getBaseUrl();return this.fetchWithoutRetry(`${t}kuadrant/apiproducts`,{method:"POST",body:JSON.stringify(e)},"Failed to create API Product.")}async updateApiProduct(e,t,a){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/apiproducts/${e}/${t}`,{method:"PATCH",body:JSON.stringify(a)},"Failed to update API Product.")}async deleteApiProduct(e,t){const a=await this.getBaseUrl();return this.fetchWithoutRetry(`${a}kuadrant/apiproducts/${e}/${t}`,{method:"DELETE"},"Failed to delete API Product.")}async getHttpRoutes(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/httproutes`,"Failed to fetch HTTPRoutes.")}async getHttpRoute(e,t){const a=await this.getBaseUrl();return this.fetchWithRetry(`${a}kuadrant/httproutes/${e}/${t}`,`Failed to fetc HTTPRoute ${e}/${t}.`)}async getPlanPolicies(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/planpolicies`,"Failed to fetch PlanPolicies.")}async getAuthPolicies(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/authpolicies`,"Failed to fetch AuthPolicies.")}async getRateLimitPolicies(){const e=await this.getBaseUrl();return this.fetchWithRetry(`${e}kuadrant/ratelimitpolicies`,"Failed to fetch RateLimitPolicies.")}async createSecret(e,t){const a=await this.getBaseUrl();return this.fetchWithoutRetry(`${a}kuadrant/secrets`,{method:"POST",body:JSON.stringify({name:e,apiKeyValue:t})},"Failed to create secret")}async deleteSecret(e){const t=await this.getBaseUrl();return this.fetchWithoutRetry(`${t}kuadrant/secrets/${e}`,{method:"DELETE"},"Failed to delete secret")}constructor(e){(0,r._)(this,"discoveryApi",void 0),(0,r._)(this,"fetchApi",void 0),this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi}}},77225:(e,t,a)=>{var r=a(4293),s=a(78920);t.A=void 0;var n=s(a(95478)),i=(0,r(a(74044)).default)(n.createElement("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");t.A=i},91638:(e,t,a)=>{var r=a(85608),s=a(95478),n=r.__importDefault(a(5030));t.A=function(e,t){void 0===t&&(t=[]);var a=n.default(e,t,{loading:!0}),r=a[0],i=a[1];return s.useEffect(function(){i()},[i]),r}}}]);
2
+ //# sourceMappingURL=7270.8ee9d452.chunk.js.map