@kuadrant/kuadrant-backstage-plugin-frontend 0.0.2-dev-9ec7b6f → 0.0.2-dev-61ff3d3

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.
@@ -3,6 +3,8 @@ import { Box, Typography, Grid, Button, Chip, IconButton } from '@material-ui/co
3
3
  import AddIcon from '@material-ui/icons/Add';
4
4
  import DeleteIcon from '@material-ui/icons/Delete';
5
5
  import EditIcon from '@material-ui/icons/Edit';
6
+ import VpnKeyIcon from '@material-ui/icons/VpnKey';
7
+ import LockIcon from '@material-ui/icons/Lock';
6
8
  import { Page, Header, SupportButton, Content, Progress, ResponseErrorPanel, InfoCard, Table, Link } from '@backstage/core-components';
7
9
  import useAsync from 'react-use/lib/useAsync';
8
10
  import { useApi, configApiRef, fetchApiRef, alertApiRef, identityApiRef } from '@backstage/core-plugin-api';
@@ -202,6 +204,37 @@ const ResourceList = () => {
202
204
  );
203
205
  }
204
206
  },
207
+ {
208
+ title: "Authentication",
209
+ field: "status.discoveredAuthScheme",
210
+ render: (row) => {
211
+ const authSchemes = row.status?.discoveredAuthScheme?.authentication || {};
212
+ const schemeObjects = Object.values(authSchemes);
213
+ console.log(`[${row.metadata.name}] schemeObjects count:`, schemeObjects.length, "data:", schemeObjects);
214
+ const hasApiKey = schemeObjects.some((scheme) => scheme.hasOwnProperty("apiKey"));
215
+ const hasJwt = schemeObjects.some((scheme) => scheme.hasOwnProperty("jwt"));
216
+ if (!hasApiKey && !hasJwt) {
217
+ return /* @__PURE__ */ React.createElement(Typography, { variant: "body2", style: { fontStyle: "italic" } }, "unknown");
218
+ }
219
+ return /* @__PURE__ */ React.createElement(Box, { display: "flex", style: { gap: 4 } }, hasApiKey && /* @__PURE__ */ React.createElement(
220
+ Chip,
221
+ {
222
+ icon: /* @__PURE__ */ React.createElement(VpnKeyIcon, null),
223
+ label: "API Key",
224
+ size: "small",
225
+ color: "primary"
226
+ }
227
+ ), hasJwt && /* @__PURE__ */ React.createElement(
228
+ Chip,
229
+ {
230
+ icon: /* @__PURE__ */ React.createElement(LockIcon, null),
231
+ label: "OIDC",
232
+ size: "small",
233
+ color: "secondary"
234
+ }
235
+ ));
236
+ }
237
+ },
205
238
  {
206
239
  title: "Namespace",
207
240
  field: "metadata.namespace"
@@ -1 +1 @@
1
- {"version":3,"file":"KuadrantPage.esm.js","sources":["../../../src/components/KuadrantPage/KuadrantPage.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Typography, Grid, Box, Chip, Button, IconButton } from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport {\n InfoCard,\n Header,\n Page,\n Content,\n SupportButton,\n Progress,\n ResponseErrorPanel,\n Link,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/lib/useAsync';\nimport { useApi, configApiRef, fetchApiRef, alertApiRef, identityApiRef } from '@backstage/core-plugin-api';\nimport { ApprovalQueueCard } from '../ApprovalQueueCard';\nimport { MyApiKeysCard } from '../MyApiKeysCard';\nimport { PermissionGate } from '../PermissionGate';\nimport { CreateAPIProductDialog } from '../CreateAPIProductDialog';\nimport {\n kuadrantApiProductCreatePermission,\n kuadrantApiProductDeleteOwnPermission,\n kuadrantApiProductDeleteAllPermission,\n kuadrantApiProductUpdateOwnPermission,\n kuadrantApiProductUpdateAllPermission,\n kuadrantApiProductListPermission,\n kuadrantApiKeyApprovePermission,\n kuadrantPlanPolicyListPermission,\n} from '../../permissions';\nimport { useKuadrantPermission } from '../../utils/permissions';\nimport { EditAPIProductDialog } from '../EditAPIProductDialog';\nimport { ConfirmDeleteDialog } from '../ConfirmDeleteDialog';\n\ntype KuadrantResource = {\n metadata: {\n name: string;\n namespace: string;\n creationTimestamp: string;\n annotations?: Record<string, string>;\n };\n spec?: any;\n};\n\ntype KuadrantList = {\n items: KuadrantResource[];\n};\n\nexport const ResourceList = () => {\n const config = useApi(configApiRef);\n const fetchApi = useApi(fetchApiRef);\n const alertApi = useApi(alertApiRef);\n const identityApi = useApi(identityApiRef);\n const backendUrl = config.getString('backend.baseUrl');\n const [userEntityRef, setUserEntityRef] = useState<string>('');\n const [createDialogOpen, setCreateDialogOpen] = useState(false);\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const [refreshTrigger, setRefreshTrigger] = useState(0);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const [apiProductToDelete, setApiProductToDelete] = useState<{ namespace: string; name: string } | null>(null);\n const [apiProductToEdit, setApiProductToEdit] = useState<{ namespace: string; name: string } | null>(null);\n const [deleting, setDeleting] = useState(false);\n const [deleteStats, setDeleteStats] = useState<{requests: number; secrets: number} | null>(null);\n\n const {\n allowed: canCreateApiProduct,\n loading: createPermissionLoading,\n error: createPermissionError,\n } = useKuadrantPermission(kuadrantApiProductCreatePermission);\n\n const {\n allowed: canViewApprovalQueue,\n loading: approvalQueuePermissionLoading,\n error: approvalQueuePermissionError,\n } = useKuadrantPermission(kuadrantApiKeyApprovePermission);\n\n const {\n allowed: canDeleteOwnApiProduct,\n loading: deleteOwnPermissionLoading,\n } = useKuadrantPermission(kuadrantApiProductDeleteOwnPermission);\n\n const {\n allowed: canDeleteAllApiProducts,\n loading: deleteAllPermissionLoading,\n error: deletePermissionError,\n } = useKuadrantPermission(kuadrantApiProductDeleteAllPermission);\n\n const {\n allowed: canUpdateOwnApiProduct,\n } = useKuadrantPermission(kuadrantApiProductUpdateOwnPermission);\n\n const {\n allowed: canUpdateAllApiProducts,\n } = useKuadrantPermission(kuadrantApiProductUpdateAllPermission);\n\n const deletePermissionLoading = deleteOwnPermissionLoading || deleteAllPermissionLoading;\n\n const {\n allowed: canListPlanPolicies,\n loading: planPolicyPermissionLoading,\n error: planPolicyPermissionError,\n } = useKuadrantPermission(kuadrantPlanPolicyListPermission);\n\n useAsync(async () => {\n const identity = await identityApi.getBackstageIdentity();\n setUserEntityRef(identity.userEntityRef);\n }, [identityApi]);\n\n const { value: apiProducts, loading: apiProductsLoading, error: apiProductsError } = useAsync(async (): Promise<KuadrantList> => {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/apiproducts`);\n return await response.json();\n }, [backendUrl, fetchApi, refreshTrigger]);\n\n const { value: planPolicies, loading: planPoliciesLoading, error: planPoliciesError } = useAsync(async (): Promise<KuadrantList> => {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/planpolicies`);\n return await response.json();\n }, [backendUrl, fetchApi, refreshTrigger]);\n\n const loading = apiProductsLoading || planPoliciesLoading || createPermissionLoading || approvalQueuePermissionLoading || deletePermissionLoading || planPolicyPermissionLoading;\n const error = apiProductsError || planPoliciesError;\n const permissionError = createPermissionError || approvalQueuePermissionError || deletePermissionError || planPolicyPermissionError;\n\n const handleCreateSuccess = () => {\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product created', severity: 'success', display: 'transient' });\n };\n\n const handleEditClick = (namespace: string, name: string) => {\n setApiProductToEdit({ namespace, name });\n setEditDialogOpen(true);\n };\n\n const handleEditSuccess = () => {\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product updated', severity: 'success', display: 'transient' });\n };\n\n const handleDeleteClick = async (namespace: string, name: string) => {\n setApiProductToDelete({ namespace, name });\n setDeleteStats(null);\n\n try {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/requests?namespace=${namespace}`);\n if (response.ok) {\n const data = await response.json();\n const related = (data.items || []).filter(\n (r: any) => r.spec.apiName === name && r.spec.apiNamespace === namespace\n );\n const approved = related.filter((r: any) => r.status?.phase === 'Approved').length;\n setDeleteStats({ requests: related.length, secrets: approved });\n }\n } catch (err) {\n console.warn('Failed to fetch delete stats:', err);\n }\n\n setDeleteDialogOpen(true);\n };\n\n const handleDeleteConfirm = async () => {\n if (!apiProductToDelete) return;\n\n setDeleting(true);\n try {\n const response = await fetchApi.fetch(\n `${backendUrl}/api/kuadrant/apiproducts/${apiProductToDelete.namespace}/${apiProductToDelete.name}`,\n { method: 'DELETE' }\n );\n\n if (!response.ok) {\n throw new Error('failed to delete apiproduct');\n }\n\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product deleted', severity: 'success', display: 'transient' });\n } catch (err) {\n console.error('error deleting apiproduct:', err);\n alertApi.post({ message: 'Failed to delete API Product', severity: 'error', display: 'transient' });\n } finally {\n setDeleting(false);\n setDeleteDialogOpen(false);\n setApiProductToDelete(null);\n }\n };\n\n const handleDeleteCancel = () => {\n setDeleteDialogOpen(false);\n setApiProductToDelete(null);\n };\n\n const formatDate = (dateString: string) => {\n const date = new Date(dateString);\n return date.toLocaleDateString('en-GB', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n };\n\n const columns: TableColumn[] = [\n {\n title: 'Name',\n field: 'spec.displayName',\n render: (row: any) => {\n const publishStatus = row.spec?.publishStatus;\n const isPublished = publishStatus === 'Published';\n const displayName = row.spec?.displayName ?? row.metadata.name;\n\n if (isPublished) {\n return (\n <Link to={`/catalog/default/api/${row.metadata.name}/api-product`}>\n <strong>{displayName}</strong>\n </Link>\n );\n }\n\n return (\n <span className=\"text-muted\">\n <strong>{displayName}</strong>\n </span>\n );\n },\n customFilterAndSearch: (term, row: any) => {\n const displayName = row.spec?.displayName || row.metadata.name || '';\n return displayName.toLowerCase().includes(term.toLowerCase());\n },\n },\n {\n title: 'Resource Name',\n field: 'metadata.name',\n },\n {\n title: 'Version',\n field: 'spec.version',\n render: (row: any) => row.spec?.version || '-',\n },\n {\n title: 'HTTPRoute',\n field: 'spec.targetRef.name',\n render: (row: any) => row.spec?.targetRef?.name || '-',\n },\n {\n title: 'Publish Status',\n field: 'spec.publishStatus',\n render: (row: any) => {\n const status = row.spec?.publishStatus || 'Draft';\n return (\n <Chip\n label={status}\n size=\"small\"\n color={status === 'Published' ? 'primary' : 'default'}\n />\n );\n },\n },\n {\n title: 'Approval Mode',\n field: 'spec.approvalMode',\n render: (row: any) => {\n const mode = row.spec?.approvalMode || 'manual';\n return (\n <Chip\n label={mode}\n size=\"small\"\n color={mode === 'automatic' ? 'secondary' : 'default'}\n />\n );\n },\n },\n {\n title: 'Namespace',\n field: 'metadata.namespace',\n },\n {\n title: 'Created',\n field: 'metadata.creationTimestamp',\n render: (row: any) => formatDate(row.metadata.creationTimestamp),\n },\n {\n title: 'Actions',\n field: 'actions',\n filtering: false,\n render: (row: any) => {\n const owner = row.metadata?.annotations?.['backstage.io/owner'];\n const isOwner = owner === userEntityRef;\n const canEdit = canUpdateAllApiProducts || (canUpdateOwnApiProduct && isOwner);\n const canDelete = canDeleteAllApiProducts || (canDeleteOwnApiProduct && isOwner);\n\n if (!canEdit && !canDelete) return null;\n\n return (\n <Box display=\"flex\" style={{ gap: 4 }}>\n {canEdit && (\n <IconButton\n size=\"small\"\n onClick={() => handleEditClick(row.metadata.namespace, row.metadata.name)}\n title=\"Edit API Product\"\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n )}\n\n {canDelete && (\n <IconButton\n size=\"small\"\n onClick={() => handleDeleteClick(row.metadata.namespace, row.metadata.name)}\n title=\"Delete API Product\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n );\n },\n },\n ];\n\n const planPolicyColumns: TableColumn[] = [\n {\n title: 'Name',\n field: 'metadata.name',\n render: (row: any) => (\n <Link to={`/kuadrant/planpolicy/${row.metadata.namespace}/${row.metadata.name}`}>\n <strong>{row.metadata.name}</strong>\n </Link>\n ),\n },\n {\n title: 'Namespace',\n field: 'metadata.namespace',\n },\n ];\n\n const renderResources = (resources: KuadrantResource[] | undefined) => {\n if (!resources || resources.length === 0) {\n return <Typography variant=\"body2\" color=\"textSecondary\">No API products found</Typography>;\n }\n return (\n <Table\n options={{\n paging: resources.length > 5,\n pageSize: 20,\n search: true,\n filtering: true,\n debounceInterval: 300,\n toolbar: true,\n emptyRowsWhenPaging: false,\n }}\n columns={columns}\n data={resources}\n />\n );\n };\n\n const renderPlanPolicies = (resources: KuadrantResource[] | undefined) => {\n if (!resources || resources.length === 0) {\n return <Typography variant=\"body2\" color=\"textSecondary\">No plan policies found</Typography>;\n }\n return (\n <Table\n options={{ paging: false, search: false, toolbar: false }}\n columns={planPolicyColumns}\n data={resources}\n />\n );\n };\n\n return (\n <Page themeId=\"tool\">\n <Header title=\"Kuadrant\" subtitle=\"API management for Kubernetes\">\n <SupportButton>Manage API products and access requests</SupportButton>\n </Header>\n <Content>\n {loading && <Progress />}\n {error && <ResponseErrorPanel error={error} />}\n {permissionError && (\n <Box p={2}>\n <Typography color=\"error\">\n unable to check permissions: {permissionError.message}\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\">\n permission: {createPermissionError ? 'kuadrant.apiproduct.create' :\n deletePermissionError ? 'kuadrant.apiproduct.delete' :\n approvalQueuePermissionError ? 'kuadrant.apikey.read.all' :\n planPolicyPermissionError ? 'kuadrant.planpolicy.list' : 'unknown'}\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\">\n please try again or contact your administrator\n </Typography>\n </Box>\n )}\n {!loading && !error && !permissionError && (\n <Grid container spacing={3} direction=\"column\">\n <Grid item>\n <MyApiKeysCard />\n </Grid>\n\n <Grid item>\n <InfoCard\n title=\"API Products\"\n action={\n canCreateApiProduct ? (\n <Box display=\"flex\" alignItems=\"center\" height=\"100%\" mt={1}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n startIcon={<AddIcon />}\n onClick={() => setCreateDialogOpen(true)}\n >\n Create API Product\n </Button>\n </Box>\n ) : undefined\n }\n >\n {renderResources(apiProducts?.items)}\n </InfoCard>\n </Grid>\n\n {canListPlanPolicies && (\n <Grid item>\n <InfoCard title=\"Plan Policies\">\n {renderPlanPolicies(planPolicies?.items)}\n </InfoCard>\n </Grid>\n )}\n\n {canViewApprovalQueue && (\n <Grid item>\n <ApprovalQueueCard />\n </Grid>\n )}\n </Grid>\n )}\n <CreateAPIProductDialog\n open={createDialogOpen}\n onClose={() => setCreateDialogOpen(false)}\n onSuccess={handleCreateSuccess}\n />\n <EditAPIProductDialog\n open={editDialogOpen}\n onClose={() => setEditDialogOpen(false)}\n onSuccess={handleEditSuccess}\n namespace={apiProductToEdit?.namespace || ''}\n name={apiProductToEdit?.name || ''}\n />\n <ConfirmDeleteDialog\n open={deleteDialogOpen}\n title=\"Delete API Product\"\n description={\n deleteStats\n ? `Deleting \"${apiProductToDelete?.name}\" will also remove:\n\n• ${deleteStats.requests} API Key Request(s)\n• ${deleteStats.secrets} API Key Secret(s)\n\nThis action cannot be undone.`\n : `Deleting \"${apiProductToDelete?.name}\" will also remove all associated API Key Requests and Secrets.\nThis action cannot be undone.`\n }\n confirmText={apiProductToDelete?.name}\n severity=\"high\"\n deleting={deleting}\n onConfirm={handleDeleteConfirm}\n onCancel={handleDeleteCancel}\n />\n </Content>\n </Page>\n );\n};\n\nexport const KuadrantPage = () => {\n return (\n <PermissionGate\n permission={kuadrantApiProductListPermission}\n errorMessage=\"you don't have permission to view the Kuadrant page\"\n >\n <ResourceList />\n </PermissionGate>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KuadrantPage.esm.js","sources":["../../../src/components/KuadrantPage/KuadrantPage.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Typography, Grid, Box, Chip, Button, IconButton } from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\nimport LockIcon from '@material-ui/icons/Lock';\nimport {\n InfoCard,\n Header,\n Page,\n Content,\n SupportButton,\n Progress,\n ResponseErrorPanel,\n Link,\n Table,\n TableColumn,\n} from '@backstage/core-components';\nimport useAsync from 'react-use/lib/useAsync';\nimport { useApi, configApiRef, fetchApiRef, alertApiRef, identityApiRef } from '@backstage/core-plugin-api';\nimport { ApprovalQueueCard } from '../ApprovalQueueCard';\nimport { MyApiKeysCard } from '../MyApiKeysCard';\nimport { PermissionGate } from '../PermissionGate';\nimport { CreateAPIProductDialog } from '../CreateAPIProductDialog';\nimport {\n kuadrantApiProductCreatePermission,\n kuadrantApiProductDeleteOwnPermission,\n kuadrantApiProductDeleteAllPermission,\n kuadrantApiProductUpdateOwnPermission,\n kuadrantApiProductUpdateAllPermission,\n kuadrantApiProductListPermission,\n kuadrantApiKeyApprovePermission,\n kuadrantPlanPolicyListPermission,\n} from '../../permissions';\nimport { useKuadrantPermission } from '../../utils/permissions';\nimport { EditAPIProductDialog } from '../EditAPIProductDialog';\nimport { ConfirmDeleteDialog } from '../ConfirmDeleteDialog';\n\ntype KuadrantResource = {\n metadata: {\n name: string;\n namespace: string;\n creationTimestamp: string;\n annotations?: Record<string, string>;\n };\n spec?: any;\n};\n\ntype KuadrantList = {\n items: KuadrantResource[];\n};\n\nexport const ResourceList = () => {\n const config = useApi(configApiRef);\n const fetchApi = useApi(fetchApiRef);\n const alertApi = useApi(alertApiRef);\n const identityApi = useApi(identityApiRef);\n const backendUrl = config.getString('backend.baseUrl');\n const [userEntityRef, setUserEntityRef] = useState<string>('');\n const [createDialogOpen, setCreateDialogOpen] = useState(false);\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const [refreshTrigger, setRefreshTrigger] = useState(0);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const [apiProductToDelete, setApiProductToDelete] = useState<{ namespace: string; name: string } | null>(null);\n const [apiProductToEdit, setApiProductToEdit] = useState<{ namespace: string; name: string } | null>(null);\n const [deleting, setDeleting] = useState(false);\n const [deleteStats, setDeleteStats] = useState<{ requests: number; secrets: number } | null>(null);\n\n const {\n allowed: canCreateApiProduct,\n loading: createPermissionLoading,\n error: createPermissionError,\n } = useKuadrantPermission(kuadrantApiProductCreatePermission);\n\n const {\n allowed: canViewApprovalQueue,\n loading: approvalQueuePermissionLoading,\n error: approvalQueuePermissionError,\n } = useKuadrantPermission(kuadrantApiKeyApprovePermission);\n\n const {\n allowed: canDeleteOwnApiProduct,\n loading: deleteOwnPermissionLoading,\n } = useKuadrantPermission(kuadrantApiProductDeleteOwnPermission);\n\n const {\n allowed: canDeleteAllApiProducts,\n loading: deleteAllPermissionLoading,\n error: deletePermissionError,\n } = useKuadrantPermission(kuadrantApiProductDeleteAllPermission);\n\n const {\n allowed: canUpdateOwnApiProduct,\n } = useKuadrantPermission(kuadrantApiProductUpdateOwnPermission);\n\n const {\n allowed: canUpdateAllApiProducts,\n } = useKuadrantPermission(kuadrantApiProductUpdateAllPermission);\n\n const deletePermissionLoading = deleteOwnPermissionLoading || deleteAllPermissionLoading;\n\n const {\n allowed: canListPlanPolicies,\n loading: planPolicyPermissionLoading,\n error: planPolicyPermissionError,\n } = useKuadrantPermission(kuadrantPlanPolicyListPermission);\n\n useAsync(async () => {\n const identity = await identityApi.getBackstageIdentity();\n setUserEntityRef(identity.userEntityRef);\n }, [identityApi]);\n\n const { value: apiProducts, loading: apiProductsLoading, error: apiProductsError } = useAsync(async (): Promise<KuadrantList> => {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/apiproducts`);\n return await response.json();\n }, [backendUrl, fetchApi, refreshTrigger]);\n\n const { value: planPolicies, loading: planPoliciesLoading, error: planPoliciesError } = useAsync(async (): Promise<KuadrantList> => {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/planpolicies`);\n return await response.json();\n }, [backendUrl, fetchApi, refreshTrigger]);\n\n const loading = apiProductsLoading || planPoliciesLoading || createPermissionLoading || approvalQueuePermissionLoading || deletePermissionLoading || planPolicyPermissionLoading;\n const error = apiProductsError || planPoliciesError;\n const permissionError = createPermissionError || approvalQueuePermissionError || deletePermissionError || planPolicyPermissionError;\n\n const handleCreateSuccess = () => {\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product created', severity: 'success', display: 'transient' });\n };\n\n const handleEditClick = (namespace: string, name: string) => {\n setApiProductToEdit({ namespace, name });\n setEditDialogOpen(true);\n };\n\n const handleEditSuccess = () => {\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product updated', severity: 'success', display: 'transient' });\n };\n\n const handleDeleteClick = async (namespace: string, name: string) => {\n setApiProductToDelete({ namespace, name });\n setDeleteStats(null);\n\n try {\n const response = await fetchApi.fetch(`${backendUrl}/api/kuadrant/requests?namespace=${namespace}`);\n if (response.ok) {\n const data = await response.json();\n const related = (data.items || []).filter(\n (r: any) => r.spec.apiName === name && r.spec.apiNamespace === namespace\n );\n const approved = related.filter((r: any) => r.status?.phase === 'Approved').length;\n setDeleteStats({ requests: related.length, secrets: approved });\n }\n } catch (err) {\n console.warn('Failed to fetch delete stats:', err);\n }\n\n setDeleteDialogOpen(true);\n };\n\n const handleDeleteConfirm = async () => {\n if (!apiProductToDelete) return;\n\n setDeleting(true);\n try {\n const response = await fetchApi.fetch(\n `${backendUrl}/api/kuadrant/apiproducts/${apiProductToDelete.namespace}/${apiProductToDelete.name}`,\n { method: 'DELETE' }\n );\n\n if (!response.ok) {\n throw new Error('failed to delete apiproduct');\n }\n\n setRefreshTrigger(prev => prev + 1);\n alertApi.post({ message: 'API Product deleted', severity: 'success', display: 'transient' });\n } catch (err) {\n console.error('error deleting apiproduct:', err);\n alertApi.post({ message: 'Failed to delete API Product', severity: 'error', display: 'transient' });\n } finally {\n setDeleting(false);\n setDeleteDialogOpen(false);\n setApiProductToDelete(null);\n }\n };\n\n const handleDeleteCancel = () => {\n setDeleteDialogOpen(false);\n setApiProductToDelete(null);\n };\n\n const formatDate = (dateString: string) => {\n const date = new Date(dateString);\n return date.toLocaleDateString('en-GB', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n };\n\n const columns: TableColumn[] = [\n {\n title: 'Name',\n field: 'spec.displayName',\n render: (row: any) => {\n const publishStatus = row.spec?.publishStatus;\n const isPublished = publishStatus === 'Published';\n const displayName = row.spec?.displayName ?? row.metadata.name;\n\n if (isPublished) {\n return (\n <Link to={`/catalog/default/api/${row.metadata.name}/api-product`}>\n <strong>{displayName}</strong>\n </Link>\n );\n }\n\n return (\n <span className=\"text-muted\">\n <strong>{displayName}</strong>\n </span>\n );\n },\n customFilterAndSearch: (term, row: any) => {\n const displayName = row.spec?.displayName || row.metadata.name || '';\n return displayName.toLowerCase().includes(term.toLowerCase());\n },\n },\n {\n title: 'Resource Name',\n field: 'metadata.name',\n },\n {\n title: 'Version',\n field: 'spec.version',\n render: (row: any) => row.spec?.version || '-',\n },\n {\n title: 'HTTPRoute',\n field: 'spec.targetRef.name',\n render: (row: any) => row.spec?.targetRef?.name || '-',\n },\n {\n title: 'Publish Status',\n field: 'spec.publishStatus',\n render: (row: any) => {\n const status = row.spec?.publishStatus || 'Draft';\n return (\n <Chip\n label={status}\n size=\"small\"\n color={status === 'Published' ? 'primary' : 'default'}\n />\n );\n },\n },\n {\n title: 'Approval Mode',\n field: 'spec.approvalMode',\n render: (row: any) => {\n const mode = row.spec?.approvalMode || 'manual';\n return (\n <Chip\n label={mode}\n size=\"small\"\n color={mode === 'automatic' ? 'secondary' : 'default'}\n />\n );\n },\n },\n {\n title: 'Authentication',\n field: 'status.discoveredAuthScheme',\n render: (row: any) => {\n const authSchemes = row.status?.discoveredAuthScheme?.authentication || {};\n const schemeObjects = Object.values(authSchemes);\n\n console.log(`[${row.metadata.name}] schemeObjects count:`, schemeObjects.length, 'data:', schemeObjects);\n\n const hasApiKey = schemeObjects.some((scheme: any) => scheme.hasOwnProperty('apiKey'));\n const hasJwt = schemeObjects.some((scheme: any) => scheme.hasOwnProperty('jwt'));\n\n if (!hasApiKey && !hasJwt) {\n return <Typography variant=\"body2\" style={{ fontStyle: 'italic' }}>unknown</Typography>;\n }\n\n return (\n <Box display=\"flex\" style={{ gap: 4 }}>\n {hasApiKey && (\n <Chip\n icon={<VpnKeyIcon />}\n label=\"API Key\"\n size=\"small\"\n color=\"primary\"\n />\n )}\n {hasJwt && (\n <Chip\n icon={<LockIcon />}\n label=\"OIDC\"\n size=\"small\"\n color=\"secondary\"\n />\n )}\n </Box>\n );\n },\n },\n {\n title: 'Namespace',\n field: 'metadata.namespace',\n },\n {\n title: 'Created',\n field: 'metadata.creationTimestamp',\n render: (row: any) => formatDate(row.metadata.creationTimestamp),\n },\n {\n title: 'Actions',\n field: 'actions',\n filtering: false,\n render: (row: any) => {\n const owner = row.metadata?.annotations?.['backstage.io/owner'];\n const isOwner = owner === userEntityRef;\n const canEdit = canUpdateAllApiProducts || (canUpdateOwnApiProduct && isOwner);\n const canDelete = canDeleteAllApiProducts || (canDeleteOwnApiProduct && isOwner);\n\n if (!canEdit && !canDelete) return null;\n\n return (\n <Box display=\"flex\" style={{ gap: 4 }}>\n {canEdit && (\n <IconButton\n size=\"small\"\n onClick={() => handleEditClick(row.metadata.namespace, row.metadata.name)}\n title=\"Edit API Product\"\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n )}\n\n {canDelete && (\n <IconButton\n size=\"small\"\n onClick={() => handleDeleteClick(row.metadata.namespace, row.metadata.name)}\n title=\"Delete API Product\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n );\n },\n },\n ];\n\n const planPolicyColumns: TableColumn[] = [\n {\n title: 'Name',\n field: 'metadata.name',\n render: (row: any) => (\n <Link to={`/kuadrant/planpolicy/${row.metadata.namespace}/${row.metadata.name}`}>\n <strong>{row.metadata.name}</strong>\n </Link>\n ),\n },\n {\n title: 'Namespace',\n field: 'metadata.namespace',\n },\n ];\n\n const renderResources = (resources: KuadrantResource[] | undefined) => {\n if (!resources || resources.length === 0) {\n return <Typography variant=\"body2\" color=\"textSecondary\">No API products found</Typography>;\n }\n return (\n <Table\n options={{\n paging: resources.length > 5,\n pageSize: 20,\n search: true,\n filtering: true,\n debounceInterval: 300,\n toolbar: true,\n emptyRowsWhenPaging: false,\n }}\n columns={columns}\n data={resources}\n />\n );\n };\n\n const renderPlanPolicies = (resources: KuadrantResource[] | undefined) => {\n if (!resources || resources.length === 0) {\n return <Typography variant=\"body2\" color=\"textSecondary\">No plan policies found</Typography>;\n }\n return (\n <Table\n options={{ paging: false, search: false, toolbar: false }}\n columns={planPolicyColumns}\n data={resources}\n />\n );\n };\n\n return (\n <Page themeId=\"tool\">\n <Header title=\"Kuadrant\" subtitle=\"API management for Kubernetes\">\n <SupportButton>Manage API products and access requests</SupportButton>\n </Header>\n <Content>\n {loading && <Progress />}\n {error && <ResponseErrorPanel error={error} />}\n {permissionError && (\n <Box p={2}>\n <Typography color=\"error\">\n unable to check permissions: {permissionError.message}\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\">\n permission: {createPermissionError ? 'kuadrant.apiproduct.create' :\n deletePermissionError ? 'kuadrant.apiproduct.delete' :\n approvalQueuePermissionError ? 'kuadrant.apikey.read.all' :\n planPolicyPermissionError ? 'kuadrant.planpolicy.list' : 'unknown'}\n </Typography>\n <Typography variant=\"body2\" color=\"textSecondary\">\n please try again or contact your administrator\n </Typography>\n </Box>\n )}\n {!loading && !error && !permissionError && (\n <Grid container spacing={3} direction=\"column\">\n <Grid item>\n <MyApiKeysCard />\n </Grid>\n\n <Grid item>\n <InfoCard\n title=\"API Products\"\n action={\n canCreateApiProduct ? (\n <Box display=\"flex\" alignItems=\"center\" height=\"100%\" mt={1}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n startIcon={<AddIcon />}\n onClick={() => setCreateDialogOpen(true)}\n >\n Create API Product\n </Button>\n </Box>\n ) : undefined\n }\n >\n {renderResources(apiProducts?.items)}\n </InfoCard>\n </Grid>\n\n {canListPlanPolicies && (\n <Grid item>\n <InfoCard title=\"Plan Policies\">\n {renderPlanPolicies(planPolicies?.items)}\n </InfoCard>\n </Grid>\n )}\n\n {canViewApprovalQueue && (\n <Grid item>\n <ApprovalQueueCard />\n </Grid>\n )}\n </Grid>\n )}\n <CreateAPIProductDialog\n open={createDialogOpen}\n onClose={() => setCreateDialogOpen(false)}\n onSuccess={handleCreateSuccess}\n />\n <EditAPIProductDialog\n open={editDialogOpen}\n onClose={() => setEditDialogOpen(false)}\n onSuccess={handleEditSuccess}\n namespace={apiProductToEdit?.namespace || ''}\n name={apiProductToEdit?.name || ''}\n />\n <ConfirmDeleteDialog\n open={deleteDialogOpen}\n title=\"Delete API Product\"\n description={\n deleteStats\n ? `Deleting \"${apiProductToDelete?.name}\" will also remove:\n\n• ${deleteStats.requests} API Key Request(s)\n• ${deleteStats.secrets} API Key Secret(s)\n\nThis action cannot be undone.`\n : `Deleting \"${apiProductToDelete?.name}\" will also remove all associated API Key Requests and Secrets.\nThis action cannot be undone.`\n }\n confirmText={apiProductToDelete?.name}\n severity=\"high\"\n deleting={deleting}\n onConfirm={handleDeleteConfirm}\n onCancel={handleDeleteCancel}\n />\n </Content>\n </Page>\n );\n};\n\nexport const KuadrantPage = () => {\n return (\n <PermissionGate\n permission={kuadrantApiProductListPermission}\n errorMessage=\"you don't have permission to view the Kuadrant page\"\n >\n <ResourceList />\n </PermissionGate>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Box, Typography, Chip } from '@material-ui/core';
2
+ import { useTheme, Box, Typography, Chip } from '@material-ui/core';
3
3
  import { Alert } from '@material-ui/lab';
4
4
 
5
5
  const PlanPolicyDetails = ({
@@ -8,14 +8,15 @@ const PlanPolicyDetails = ({
8
8
  alertMessage = "No PlanPolicy found for this HTTPRoute. API keys and rate limiting may not be available.",
9
9
  includeTopMargin = true
10
10
  }) => {
11
+ const theme = useTheme();
11
12
  return /* @__PURE__ */ React.createElement(
12
13
  Box,
13
14
  {
14
15
  mt: includeTopMargin ? 1 : 0,
15
16
  p: 2,
16
- bgcolor: "#f5f5f5",
17
+ bgcolor: theme.palette.background.default,
17
18
  borderRadius: 1,
18
- border: "1px solid #e0e0e0"
19
+ border: `1px solid ${theme.palette.divider}`
19
20
  },
20
21
  selectedPolicy ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Typography, { variant: "subtitle2", gutterBottom: true, style: { fontWeight: 600 } }, "Associated PlanPolicy: ", /* @__PURE__ */ React.createElement("strong", null, selectedPolicy.metadata.name)), selectedPolicy.plans && selectedPolicy.plans.length > 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
21
22
  Typography,
@@ -26,7 +27,7 @@ const PlanPolicyDetails = ({
26
27
  color: "textSecondary",
27
28
  style: { marginTop: 8 }
28
29
  },
29
- "Available Plans:"
30
+ "Available Tiers:"
30
31
  ), /* @__PURE__ */ React.createElement(Box, { display: "flex", flexWrap: "wrap", mt: 1, style: { gap: 8 } }, selectedPolicy.plans.map((plan, idx) => {
31
32
  const limitText = plan.limits?.daily ? `${plan.limits.daily}/day` : plan.limits?.monthly ? `${plan.limits.monthly}/month` : plan.limits?.yearly ? `${plan.limits.yearly}/year` : "No limit";
32
33
  return /* @__PURE__ */ React.createElement(
@@ -1 +1 @@
1
- {"version":3,"file":"PlanPolicyDetails.esm.js","sources":["../../../src/components/PlanPolicyDetailsCard/PlanPolicyDetails.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Typography, Chip } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\n\ninterface PlanPolicyDetailsProps {\n selectedPolicy: {\n metadata: {\n name: string;\n };\n plans?: Array<{\n tier: string;\n description?: string;\n limits?: {\n daily?: number;\n monthly?: number;\n yearly?: number;\n };\n }>;\n } | null;\n alertSeverity?: 'warning' | 'info';\n alertMessage?: string;\n includeTopMargin?: boolean;\n}\n\nexport const PlanPolicyDetails: React.FC<PlanPolicyDetailsProps> = ({\n selectedPolicy,\n alertSeverity = 'warning',\n alertMessage = 'No PlanPolicy found for this HTTPRoute. API keys and rate limiting may not be available.',\n includeTopMargin = true,\n}) => {\n return (\n <Box\n mt={includeTopMargin ? 1 : 0}\n p={2}\n bgcolor=\"#f5f5f5\"\n borderRadius={1}\n border=\"1px solid #e0e0e0\"\n >\n {selectedPolicy ? (\n <>\n <Typography variant=\"subtitle2\" gutterBottom style={{ fontWeight: 600 }}>\n Associated PlanPolicy: <strong>{selectedPolicy.metadata.name}</strong>\n </Typography>\n\n {selectedPolicy.plans && selectedPolicy.plans.length > 0 ? (\n <>\n <Typography\n variant=\"caption\"\n display=\"block\"\n gutterBottom\n color=\"textSecondary\"\n style={{ marginTop: 8 }}\n >\n Available Plans:\n </Typography>\n <Box display=\"flex\" flexWrap=\"wrap\" mt={1} style={{ gap: 8 }}>\n {selectedPolicy.plans.map((plan: any, idx: number) => {\n const limitText = plan.limits?.daily\n ? `${plan.limits.daily}/day`\n : plan.limits?.monthly\n ? `${plan.limits.monthly}/month`\n : plan.limits?.yearly\n ? `${plan.limits.yearly}/year`\n : 'No limit';\n\n return (\n <Chip\n key={idx}\n label={`${plan.tier}: ${limitText}`}\n size=\"small\"\n variant=\"outlined\"\n color=\"primary\"\n />\n );\n })}\n </Box>\n </>\n ) : (\n <Typography variant=\"caption\" color=\"textSecondary\">\n No plans defined in this PlanPolicy\n </Typography>\n )}\n </>\n ) : (\n <Alert severity={alertSeverity}>{alertMessage}</Alert>\n )}\n </Box>\n );\n};\n\n"],"names":[],"mappings":";;;;AAwBO,MAAM,oBAAsD,CAAC;AAAA,EAClE,cAAA;AAAA,EACA,aAAgB,GAAA,SAAA;AAAA,EAChB,YAAe,GAAA,0FAAA;AAAA,EACf,gBAAmB,GAAA;AACrB,CAAM,KAAA;AACJ,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI,mBAAmB,CAAI,GAAA,CAAA;AAAA,MAC3B,CAAG,EAAA,CAAA;AAAA,MACH,OAAQ,EAAA,SAAA;AAAA,MACR,YAAc,EAAA,CAAA;AAAA,MACd,MAAO,EAAA;AAAA,KAAA;AAAA,IAEN,cAAA,mBAEG,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,WAAY,EAAA,YAAA,EAAY,IAAC,EAAA,KAAA,EAAO,EAAE,UAAA,EAAY,GAAI,EAAA,EAAA,EAAG,yBAChD,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA,EAAA,cAAA,CAAe,QAAS,CAAA,IAAK,CAC/D,CAAA,EAEC,cAAe,CAAA,KAAA,IAAS,cAAe,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,mBAEnD,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,SAAA;AAAA,QACR,OAAQ,EAAA,OAAA;AAAA,QACR,YAAY,EAAA,IAAA;AAAA,QACZ,KAAM,EAAA,eAAA;AAAA,QACN,KAAA,EAAO,EAAE,SAAA,EAAW,CAAE;AAAA,OAAA;AAAA,MACvB;AAAA,uBAGA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,SAAQ,MAAO,EAAA,QAAA,EAAS,QAAO,EAAI,EAAA,CAAA,EAAG,OAAO,EAAE,GAAA,EAAK,GACtD,EAAA,EAAA,cAAA,CAAe,MAAM,GAAI,CAAA,CAAC,MAAW,GAAgB,KAAA;AACpD,MAAM,MAAA,SAAA,GAAY,IAAK,CAAA,MAAA,EAAQ,KAC3B,GAAA,CAAA,EAAG,KAAK,MAAO,CAAA,KAAK,CACpB,IAAA,CAAA,GAAA,IAAA,CAAK,MAAQ,EAAA,OAAA,GACX,GAAG,IAAK,CAAA,MAAA,CAAO,OAAO,CAAA,MAAA,CAAA,GACtB,IAAK,CAAA,MAAA,EAAQ,SACX,CAAG,EAAA,IAAA,CAAK,MAAO,CAAA,MAAM,CACrB,KAAA,CAAA,GAAA,UAAA;AAER,MACE,uBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,GAAA;AAAA,UACL,KAAO,EAAA,CAAA,EAAG,IAAK,CAAA,IAAI,KAAK,SAAS,CAAA,CAAA;AAAA,UACjC,IAAK,EAAA,OAAA;AAAA,UACL,OAAQ,EAAA,UAAA;AAAA,UACR,KAAM,EAAA;AAAA;AAAA,OACR;AAAA,KAEH,CACH,CACF,CAEA,mBAAA,KAAA,CAAA,aAAA,CAAC,cAAW,OAAQ,EAAA,SAAA,EAAU,KAAM,EAAA,eAAA,EAAA,EAAgB,qCAEpD,CAEJ,CAAA,uCAEC,KAAM,EAAA,EAAA,QAAA,EAAU,iBAAgB,YAAa;AAAA,GAElD;AAEJ;;;;"}
1
+ {"version":3,"file":"PlanPolicyDetails.esm.js","sources":["../../../src/components/PlanPolicyDetailsCard/PlanPolicyDetails.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Typography, Chip, useTheme } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\n\ninterface PlanPolicyDetailsProps {\n selectedPolicy: {\n metadata: {\n name: string;\n };\n plans?: Array<{\n tier: string;\n description?: string;\n limits?: {\n daily?: number;\n monthly?: number;\n yearly?: number;\n };\n }>;\n } | null;\n alertSeverity?: 'warning' | 'info';\n alertMessage?: string;\n includeTopMargin?: boolean;\n}\n\nexport const PlanPolicyDetails: React.FC<PlanPolicyDetailsProps> = ({\n selectedPolicy,\n alertSeverity = 'warning',\n alertMessage = 'No PlanPolicy found for this HTTPRoute. API keys and rate limiting may not be available.',\n includeTopMargin = true,\n}) => {\n const theme = useTheme();\n return (\n <Box\n mt={includeTopMargin ? 1 : 0}\n p={2}\n bgcolor={theme.palette.background.default}\n borderRadius={1}\n border={`1px solid ${theme.palette.divider}`}\n >\n {selectedPolicy ? (\n <>\n <Typography variant=\"subtitle2\" gutterBottom style={{ fontWeight: 600 }}>\n Associated PlanPolicy: <strong>{selectedPolicy.metadata.name}</strong>\n </Typography>\n\n {selectedPolicy.plans && selectedPolicy.plans.length > 0 ? (\n <>\n <Typography\n variant=\"caption\"\n display=\"block\"\n gutterBottom\n color=\"textSecondary\"\n style={{ marginTop: 8 }}\n >\n Available Tiers:\n </Typography>\n <Box display=\"flex\" flexWrap=\"wrap\" mt={1} style={{ gap: 8 }}>\n {selectedPolicy.plans.map((plan: any, idx: number) => {\n const limitText = plan.limits?.daily\n ? `${plan.limits.daily}/day`\n : plan.limits?.monthly\n ? `${plan.limits.monthly}/month`\n : plan.limits?.yearly\n ? `${plan.limits.yearly}/year`\n : 'No limit';\n\n return (\n <Chip\n key={idx}\n label={`${plan.tier}: ${limitText}`}\n size=\"small\"\n variant=\"outlined\"\n color=\"primary\"\n />\n );\n })}\n </Box>\n </>\n ) : (\n <Typography variant=\"caption\" color=\"textSecondary\">\n No plans defined in this PlanPolicy\n </Typography>\n )}\n </>\n ) : (\n <Alert severity={alertSeverity}>{alertMessage}</Alert>\n )}\n </Box>\n );\n};\n\n"],"names":[],"mappings":";;;;AAwBO,MAAM,oBAAsD,CAAC;AAAA,EAClE,cAAA;AAAA,EACA,aAAgB,GAAA,SAAA;AAAA,EAChB,YAAe,GAAA,0FAAA;AAAA,EACf,gBAAmB,GAAA;AACrB,CAAM,KAAA;AACJ,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI,mBAAmB,CAAI,GAAA,CAAA;AAAA,MAC3B,CAAG,EAAA,CAAA;AAAA,MACH,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,UAAW,CAAA,OAAA;AAAA,MAClC,YAAc,EAAA,CAAA;AAAA,MACd,MAAQ,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,KAAA;AAAA,IAEzC,cAAA,mBAEG,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,WAAY,EAAA,YAAA,EAAY,IAAC,EAAA,KAAA,EAAO,EAAE,UAAA,EAAY,GAAI,EAAA,EAAA,EAAG,yBAChD,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA,EAAA,cAAA,CAAe,QAAS,CAAA,IAAK,CAC/D,CAAA,EAEC,cAAe,CAAA,KAAA,IAAS,cAAe,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,mBAEnD,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,SAAA;AAAA,QACR,OAAQ,EAAA,OAAA;AAAA,QACR,YAAY,EAAA,IAAA;AAAA,QACZ,KAAM,EAAA,eAAA;AAAA,QACN,KAAA,EAAO,EAAE,SAAA,EAAW,CAAE;AAAA,OAAA;AAAA,MACvB;AAAA,uBAGA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,SAAQ,MAAO,EAAA,QAAA,EAAS,QAAO,EAAI,EAAA,CAAA,EAAG,OAAO,EAAE,GAAA,EAAK,GACtD,EAAA,EAAA,cAAA,CAAe,MAAM,GAAI,CAAA,CAAC,MAAW,GAAgB,KAAA;AACpD,MAAM,MAAA,SAAA,GAAY,IAAK,CAAA,MAAA,EAAQ,KAC3B,GAAA,CAAA,EAAG,KAAK,MAAO,CAAA,KAAK,CACpB,IAAA,CAAA,GAAA,IAAA,CAAK,MAAQ,EAAA,OAAA,GACX,GAAG,IAAK,CAAA,MAAA,CAAO,OAAO,CAAA,MAAA,CAAA,GACtB,IAAK,CAAA,MAAA,EAAQ,SACX,CAAG,EAAA,IAAA,CAAK,MAAO,CAAA,MAAM,CACrB,KAAA,CAAA,GAAA,UAAA;AAER,MACE,uBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,GAAA;AAAA,UACL,KAAO,EAAA,CAAA,EAAG,IAAK,CAAA,IAAI,KAAK,SAAS,CAAA,CAAA;AAAA,UACjC,IAAK,EAAA,OAAA;AAAA,UACL,OAAQ,EAAA,UAAA;AAAA,UACR,KAAM,EAAA;AAAA;AAAA,OACR;AAAA,KAEH,CACH,CACF,CAEA,mBAAA,KAAA,CAAA,aAAA,CAAC,cAAW,OAAQ,EAAA,SAAA,EAAU,KAAM,EAAA,eAAA,EAAA,EAAgB,qCAEpD,CAEJ,CAAA,uCAEC,KAAM,EAAA,EAAA,QAAA,EAAU,iBAAgB,YAAa;AAAA,GAElD;AAEJ;;;;"}
@@ -1,2 +1,2 @@
1
- __load_plugin_entry__("internal.plugin-kuadrant",(()=>{"use strict";var h,e,g,a,t,i,l,r,n,s,_,c,u,o,f,y,d,x,b,p,m,v={76741:(h,e,g)=>{var a={PluginRoot:()=>g.e(879).then(()=>()=>g(72627)),KuadrantPage:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiAccessCard:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiKeyManagementTab:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiKeysContent:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiProductInfoContent:()=>g.e(879).then(()=>()=>g(72627)),KuadrantApprovalQueueCard:()=>g.e(879).then(()=>()=>g(72627))},t=(h,e)=>(g.R=e,e=g.o(a,h)?a[h]():Promise.resolve().then(()=>{throw new Error('Module "'+h+'" does not exist in container.')}),g.R=void 0,e),i=(h,e)=>{if(g.S){var a="default",t=g.S[a];if(t&&t!==h)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return g.S[a]=h,g.I(a,e)}};g.d(e,{get:()=>t,init:()=>i})}},k={};function w(h){var e=k[h];if(void 0!==e)return e.exports;var g=k[h]={id:h,loaded:!1,exports:{}};return v[h].call(g.exports,g,g.exports,w),g.loaded=!0,g.exports}return w.m=v,w.c=k,w.n=h=>{var e=h&&h.__esModule?()=>h.default:()=>h;return w.d(e,{a:e}),e},e=Object.getPrototypeOf?h=>Object.getPrototypeOf(h):h=>h.__proto__,w.t=function(g,a){if(1&a&&(g=this(g)),8&a)return g;if("object"==typeof g&&g){if(4&a&&g.__esModule)return g;if(16&a&&"function"==typeof g.then)return g}var t=Object.create(null);w.r(t);var i={};h=h||[null,e({}),e([]),e(e)];for(var l=2&a&&g;("object"==typeof l||"function"==typeof l)&&!~h.indexOf(l);l=e(l))Object.getOwnPropertyNames(l).forEach(h=>i[h]=()=>g[h]);return i.default=()=>g,w.d(t,i),t},w.d=(h,e)=>{for(var g in e)w.o(e,g)&&!w.o(h,g)&&Object.defineProperty(h,g,{enumerable:!0,get:e[g]})},w.f={},w.e=h=>Promise.all(Object.keys(w.f).reduce((e,g)=>(w.f[g](h,e),e),[])),w.u=h=>"static/"+({51:"react-syntax-highlighter_languages_highlight_prolog",200:"react-syntax-highlighter_languages_highlight_mel",206:"react-syntax-highlighter_languages_highlight_gml",371:"react-syntax-highlighter_languages_highlight_excel",456:"react-syntax-highlighter_languages_highlight_roboconf",460:"react-syntax-highlighter_languages_highlight_avrasm",464:"react-syntax-highlighter_languages_highlight_shell",557:"react-syntax-highlighter_languages_highlight_oneC",579:"react-syntax-highlighter_languages_highlight_vbnet",634:"react-syntax-highlighter_languages_highlight_scilab",879:"exposed-PluginRoot",927:"react-syntax-highlighter_languages_highlight_javascript",946:"react-syntax-highlighter_languages_highlight_clojure",985:"react-syntax-highlighter_languages_highlight_monkey",1062:"react-syntax-highlighter_languages_highlight_nim",1084:"react-syntax-highlighter_languages_highlight_aspectj",1099:"react-syntax-highlighter_languages_highlight_ebnf",1173:"react-syntax-highlighter_languages_highlight_autohotkey",1177:"react-syntax-highlighter_languages_highlight_profile",1214:"react-syntax-highlighter_languages_highlight_properties",1276:"react-syntax-highlighter_languages_highlight_phpTemplate",1325:"react-syntax-highlighter_languages_highlight_actionscript",1352:"react-syntax-highlighter_languages_highlight_fortran",1362:"react-syntax-highlighter_languages_highlight_mathematica",1418:"react-syntax-highlighter_languages_highlight_pony",1441:"react-syntax-highlighter_languages_highlight_coq",1461:"react-syntax-highlighter_languages_highlight_livescript",1489:"react-syntax-highlighter_languages_highlight_reasonml",1496:"react-syntax-highlighter_languages_highlight_lua",1522:"react-syntax-highlighter_languages_highlight_dust",1679:"react-syntax-highlighter_languages_highlight_scheme",1694:"react-syntax-highlighter_languages_highlight_accesslog",1727:"react-syntax-highlighter_languages_highlight_oxygene",1750:"react-syntax-highlighter_languages_highlight_makefile",1828:"react-syntax-highlighter_languages_highlight_dockerfile",1895:"react-syntax-highlighter_languages_highlight_pythonRepl",1956:"react-syntax-highlighter_languages_highlight_puppet",1961:"react-syntax-highlighter_languages_highlight_stan",1972:"react-syntax-highlighter_languages_highlight_fsharp",2007:"react-syntax-highlighter_languages_highlight_css",2064:"react-syntax-highlighter_languages_highlight_vhdl",2108:"react-syntax-highlighter_languages_highlight_cLike",2180:"react-syntax-highlighter_languages_highlight_sqf",2234:"react-syntax-highlighter_languages_highlight_lisp",2267:"react-syntax-highlighter_languages_highlight_maxima",2346:"react-syntax-highlighter_languages_highlight_d",2362:"react-syntax-highlighter_languages_highlight_xquery",2378:"react-syntax-highlighter_languages_highlight_parser3",2383:"react-syntax-highlighter_languages_highlight_crmsh",2438:"react-syntax-highlighter_languages_highlight_haxe",2488:"react-syntax-highlighter_languages_highlight_verilog",2496:"react-syntax-highlighter_languages_highlight_erlangRepl",2512:"react-syntax-highlighter_languages_highlight_stylus",2516:"react-syntax-highlighter_languages_highlight_apache",2665:"react-syntax-highlighter_languages_highlight_powershell",2693:"react-syntax-highlighter_languages_highlight_tap",2727:"react-syntax-highlighter_languages_highlight_q",2743:"react-syntax-highlighter_languages_highlight_asciidoc",2762:"react-syntax-highlighter_languages_highlight_haskell",2795:"react-syntax-highlighter_languages_highlight_dns",2871:"react-syntax-highlighter_languages_highlight_typescript",2882:"react-syntax-highlighter_languages_highlight_sml",2979:"react-syntax-highlighter_languages_highlight_plaintext",2981:"react-syntax-highlighter_languages_highlight_ruleslanguage",2983:"react-syntax-highlighter_languages_highlight_golo",3146:"react-syntax-highlighter_languages_highlight_purebasic",3193:"react-syntax-highlighter_languages_highlight_xml",3299:"react-syntax-highlighter_languages_highlight_fix",3357:"react-syntax-highlighter_languages_highlight_x86asm",3384:"react-syntax-highlighter_languages_highlight_ini",3418:"react-syntax-highlighter_languages_highlight_ruby",3419:"react-syntax-highlighter_languages_highlight_nix",3487:"react-syntax-highlighter_languages_highlight_mipsasm",3500:"react-syntax-highlighter_languages_highlight_autoit",3540:"react-syntax-highlighter_languages_highlight_moonscript",3562:"react-syntax-highlighter_languages_highlight_gams",3580:"react-syntax-highlighter_languages_highlight_csp",3607:"react-syntax-highlighter_languages_highlight_abnf",3623:"react-syntax-highlighter_languages_highlight_yaml",3722:"react-syntax-highlighter_languages_highlight_latex",3736:"react-syntax-highlighter_languages_highlight_json",3811:"react-syntax-highlighter_languages_highlight_erb",3885:"react-syntax-highlighter_languages_highlight_stata",3923:"react-syntax-highlighter_languages_highlight_applescript",3988:"react-syntax-highlighter_languages_highlight_vala",4014:"react-syntax-highlighter_languages_highlight_scss",4075:"react-syntax-highlighter_languages_highlight_hsp",4110:"react-syntax-highlighter_languages_highlight_tp",4135:"react-syntax-highlighter_languages_highlight_mizar",4282:"react-syntax-highlighter_languages_highlight_livecodeserver",4300:"react-syntax-highlighter_languages_highlight_r",4342:"react-syntax-highlighter_languages_highlight_php",4383:"react-syntax-highlighter_languages_highlight_dsconfig",4436:"react-syntax-highlighter_languages_highlight_zephir",4446:"react-syntax-highlighter_languages_highlight_leaf",4493:"react-syntax-highlighter_languages_highlight_gauss",4575:"react-syntax-highlighter_languages_highlight_processing",4635:"react-syntax-highlighter_languages_highlight_jbossCli",4733:"react-syntax-highlighter_languages_highlight_llvm",4835:"react-syntax-highlighter_languages_highlight_cos",4931:"react-syntax-highlighter_languages_highlight_step21",4956:"react-syntax-highlighter_languages_highlight_angelscript",4971:"react-syntax-highlighter_languages_highlight_lsl",5034:"react-syntax-highlighter_languages_highlight_ada",5051:"react-syntax-highlighter_languages_highlight_coffeescript",5099:"react-syntax-highlighter_languages_highlight_nsis",5123:"react-syntax-highlighter_languages_highlight_erlang",5189:"react-syntax-highlighter_languages_highlight_dts",5251:"react-syntax-highlighter_languages_highlight_pgsql",5253:"react-syntax-highlighter_languages_highlight_clojureRepl",5286:"react-syntax-highlighter_languages_highlight_nginx",5446:"react-syntax-highlighter_languages_highlight_ocaml",5565:"react-syntax-highlighter_languages_highlight_kotlin",5613:"react-syntax-highlighter_languages_highlight_rib",5664:"react-syntax-highlighter_languages_highlight_dos",5773:"react-syntax-highlighter_languages_highlight_mojolicious",5813:"react-syntax-highlighter_languages_highlight_less",5819:"react-syntax-highlighter_languages_highlight_gradle",5868:"react-syntax-highlighter_languages_highlight_inform7",5900:"react-syntax-highlighter_languages_highlight_lasso",6057:"react-syntax-highlighter_languages_highlight_sqlMore",6152:"react-syntax-highlighter_languages_highlight_vbscriptHtml",6161:"react-syntax-highlighter_languages_highlight_clean",6177:"react-syntax-highlighter_languages_highlight_taggerscript",6195:"react-syntax-highlighter_languages_highlight_ldif",6228:"react-syntax-highlighter_languages_highlight_rust",6267:"react-syntax-highlighter_languages_highlight_swift",6354:"react-syntax-highlighter_languages_highlight_java",6501:"react-syntax-highlighter_languages_highlight_armasm",6512:"react-syntax-highlighter_languages_highlight_scala",6542:"react-syntax-highlighter_languages_highlight_vim",6555:"react-syntax-highlighter_languages_highlight_openscad",6573:"react-syntax-highlighter_languages_highlight_cpp",6780:"react-syntax-highlighter_languages_highlight_qml",6835:"react-syntax-highlighter_languages_highlight_brainfuck",6848:"react-syntax-highlighter_languages_highlight_crystal",6924:"react-syntax-highlighter_languages_highlight_isbl",6977:"react-syntax-highlighter_languages_highlight_rsl",6986:"react-syntax-highlighter_languages_highlight_capnproto",7048:"react-syntax-highlighter_languages_highlight_gherkin",7079:"react-syntax-highlighter_languages_highlight_diff",7131:"react-syntax-highlighter_languages_highlight_protobuf",7209:"react-syntax-highlighter_languages_highlight_perl",7247:"react-syntax-highlighter_languages_highlight_cmake",7254:"react-syntax-highlighter_languages_highlight_subunit",7351:"react-syntax-highlighter_languages_highlight_elixir",7401:"react-syntax-highlighter_languages_highlight_sas",7406:"react-syntax-highlighter_languages_highlight_sql",7439:"react-syntax-highlighter_languages_highlight_flix",7533:"react-syntax-highlighter_languages_highlight_awk",7572:"react-syntax-highlighter_languages_highlight_basic",7764:"react-syntax-highlighter_languages_highlight_go",7776:"react-syntax-highlighter_languages_highlight_haml",7794:"react-syntax-highlighter_languages_highlight_http",7818:"react-syntax-highlighter_languages_highlight_arduino",7879:"react-syntax-highlighter_languages_highlight_csharp",7934:"react-syntax-highlighter_languages_highlight_glsl",7959:"react-syntax-highlighter_languages_highlight_htmlbars",8001:"react-syntax-highlighter_languages_highlight_matlab",8030:"react-syntax-highlighter_languages_highlight_handlebars",8058:"react-syntax-highlighter_languages_highlight_n1ql",8078:"react-syntax-highlighter_languages_highlight_delphi",8138:"react-syntax-highlighter_languages_highlight_elm",8140:"react-syntax-highlighter_languages_highlight_pf",8216:"react-syntax-highlighter_languages_highlight_bnf",8217:"react-syntax-highlighter_languages_highlight_twig",8331:"react-syntax-highlighter_languages_highlight_thrift",8338:"react-syntax-highlighter_languages_highlight_objectivec",8549:"react-syntax-highlighter_languages_highlight_c",8595:"react-syntax-highlighter_languages_highlight_hy",8705:"react-syntax-highlighter_languages_highlight_nodeRepl",8725:"react-syntax-highlighter_languages_highlight_smalltalk",8727:"react-syntax-highlighter/lowlight-import",8753:"react-syntax-highlighter_languages_highlight_mercury",8755:"react-syntax-highlighter_languages_highlight_tcl",8763:"react-syntax-highlighter_languages_highlight_routeros",8833:"react-syntax-highlighter_languages_highlight_markdown",8874:"react-syntax-highlighter_languages_highlight_smali",8903:"react-syntax-highlighter_languages_highlight_axapta",8904:"react-syntax-highlighter_languages_highlight_python",8948:"react-syntax-highlighter_languages_highlight_groovy",9078:"react-syntax-highlighter_languages_highlight_irpf90",9118:"react-syntax-highlighter_languages_highlight_juliaRepl",9139:"react-syntax-highlighter_languages_highlight_django",9162:"react-syntax-highlighter_languages_highlight_ceylon",9175:"react-syntax-highlighter_languages_highlight_vbscript",9229:"react-syntax-highlighter_languages_highlight_julia",9265:"react-syntax-highlighter_languages_highlight_dart",9406:"react-syntax-highlighter_languages_highlight_cal",9612:"react-syntax-highlighter_languages_highlight_bash",9702:"react-syntax-highlighter_languages_highlight_gcode",9726:"react-syntax-highlighter_languages_highlight_xl",9882:"react-syntax-highlighter_languages_highlight_arcade"}[h]||h)+"."+{51:"be0fdf0c",200:"5251fe1a",206:"2347c999",371:"2f5c76b9",428:"0a290bc6",441:"9f02e61b",456:"47518214",460:"6381890e",464:"9bbc16eb",532:"e406b85b",557:"362a3b0a",579:"21c190ed",634:"bb9cc730",879:"7023ce03",927:"b0ad82d3",946:"e3fcc98c",985:"5f60f06d",1062:"17afaed1",1084:"35f221e8",1099:"a34b6944",1173:"614c5248",1177:"615fa721",1214:"60f97895",1276:"2bd36dc7",1325:"78db0238",1352:"38ec3d00",1362:"d8631b37",1418:"1961f69f",1441:"6b156852",1461:"3ece3068",1489:"a5a73a29",1496:"52f73c98",1522:"b30d0c38",1613:"71f0fccd",1679:"508b5846",1694:"bd112f1a",1727:"ea742315",1750:"cad796c9",1828:"2c5fdf55",1836:"b74b4c40",1895:"feb72aed",1956:"ee3f80da",1961:"17155e77",1972:"2ba37c00",2007:"2cc312ae",2064:"dea9db6c",2108:"f884fdc0",2120:"44884438",2180:"43421810",2198:"5905970e",2234:"1cb2f675",2267:"f1f17544",2346:"bf4f2b44",2362:"353780d4",2378:"706a4bd6",2383:"58c4cb07",2438:"e2543cc2",2488:"e32adbeb",2496:"0d7f4890",2512:"cde06cf5",2516:"aa86d495",2665:"7bd31b3a",2693:"402e473f",2727:"989943de",2743:"4b40a3f9",2762:"bbd3c104",2795:"6d79126a",2871:"cf576f17",2882:"0e45c1cf",2979:"25f8d292",2981:"038504d0",2983:"eaa5e2bf",3007:"bffc9924",3144:"6f99ccee",3146:"08443005",3193:"ee14d6a4",3299:"5ee62733",3357:"217c56f0",3384:"d9d4ed7e",3418:"d84064e5",3419:"245f31b6",3483:"2f14a8ca",3487:"f5bc5b04",3500:"a06c1c62",3540:"443301b3",3562:"a45eb030",3580:"7fc6f9a3",3607:"bb6a8626",3623:"2aae489e",3647:"b96f9b3e",3657:"59d45756",3722:"b4bb9102",3736:"d934b52b",3811:"4ac917b8",3885:"fe81a7fc",3923:"ddf703d6",3988:"843d9bc4",4014:"bec19089",4041:"29923ad9",4075:"5d714528",4110:"0f4ff415",4135:"9b39cf3b",4282:"f624f22d",4300:"8540ccea",4306:"b68910c9",4342:"ade4c6c4",4383:"c3457b50",4436:"fc94a148",4446:"92519810",4491:"a2e0258f",4493:"cceeafb0",4556:"c6bedfc4",4570:"8b9f98d7",4575:"8d1f48c5",4635:"1ff533ef",4733:"f32d41e6",4835:"78d69dee",4931:"a431b2db",4956:"f9816c44",4971:"b6519e02",5034:"b0d90871",5051:"3bc87b5b",5099:"4934a8e8",5123:"501777c7",5189:"8fd3703c",5222:"796292ca",5251:"5b0d21b9",5253:"e6dbc3b4",5286:"630147e0",5446:"0e42541e",5453:"29118045",5565:"c5eaa6f5",5568:"5dbce633",5603:"05d9ca7f",5613:"dc8afdf1",5664:"1ede6e37",5773:"0cf721ff",5813:"cc574d49",5819:"72fdf84d",5868:"78be038f",5900:"8d4054e7",6057:"d69b1825",6152:"42eb54af",6161:"97b48014",6177:"695a2547",6195:"74045e43",6228:"7e26e901",6267:"7d33a4a9",6272:"e49551fa",6281:"eb6e16a2",6352:"d48bba8c",6354:"e04d1c07",6501:"4bfb8996",6512:"a4629d0a",6542:"e82f126f",6555:"4a460eaf",6573:"ff6a8f78",6780:"8f3a0af6",6835:"31bde7c5",6848:"3a36e63f",6872:"feed76d2",6924:"abe269c1",6977:"909f2a27",6986:"79dfc31f",7048:"e740620a",7079:"a8373241",7131:"0cd375bc",7209:"ae8475a2",7247:"cb9028b5",7254:"c5ac3a0a",7351:"1e79c9b9",7401:"94075d6a",7406:"651dcc8d",7439:"972cc801",7533:"dfc9b0b0",7572:"ec232b8a",7601:"08d8ff3f",7764:"abc0a144",7776:"d698757b",7794:"5859273c",7818:"9b9ce313",7879:"ea98c6fb",7934:"bb5b0086",7959:"e57e3c89",7984:"c8511b89",8001:"114e44eb",8030:"75c0a89b",8058:"c54b2c4a",8078:"588e191d",8138:"8a488b19",8140:"5052a768",8216:"84e0a497",8217:"5cb0fdfc",8331:"ecb04f2a",8338:"2d204375",8365:"75ea3581",8441:"62394cfd",8549:"b43ce116",8595:"c60db034",8705:"5b05cdf2",8725:"53da57ca",8727:"2bd53873",8753:"fa8fdac0",8755:"79af288c",8763:"c0bcd6ce",8833:"1489792c",8874:"4fa5afdd",8903:"80d14346",8904:"9e4100ae",8948:"ecd68b19",9078:"25afcc29",9118:"e3bfcde8",9139:"8fb85401",9162:"ab3b1c28",9175:"4703f4c5",9229:"f43a39d0",9265:"0a0b12af",9288:"61b45746",9406:"781cc6c6",9612:"53f7c730",9702:"378d3296",9726:"7cff3cbb",9882:"70910623"}[h]+".chunk.js",w.miniCssF=h=>{},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(h){if("object"==typeof window)return window}}(),w.o=(h,e)=>Object.prototype.hasOwnProperty.call(h,e),g={},a="internal.plugin-kuadrant:",w.l=(h,e,t,i)=>{if(g[h])g[h].push(e);else{var l,r;if(void 0!==t)for(var n=document.getElementsByTagName("script"),s=0;s<n.length;s++){var _=n[s];if(_.getAttribute("src")==h||_.getAttribute("data-webpack")==a+t){l=_;break}}l||(r=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,w.nc&&l.setAttribute("nonce",w.nc),l.setAttribute("data-webpack",a+t),l.src=h),g[h]=[e];var c=(e,a)=>{l.onerror=l.onload=null,clearTimeout(u);var t=g[h];if(delete g[h],l.parentNode&&l.parentNode.removeChild(l),t&&t.forEach(h=>h(a)),e)return e(a)},u=setTimeout(c.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=c.bind(null,l.onerror),l.onload=c.bind(null,l.onload),r&&document.head.appendChild(l)}},w.r=h=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(h,"__esModule",{value:!0})},w.nmd=h=>(h.paths=[],h.children||(h.children=[]),h),(()=>{w.S={};var h={},e={};w.I=(g,a)=>{a||(a=[]);var t=e[g];if(t||(t=e[g]={}),!(a.indexOf(t)>=0)){if(a.push(t),h[g])return h[g];w.o(w.S,g)||(w.S[g]={});var i=w.S[g],l="internal.plugin-kuadrant",r=(h,e,g,a)=>{var t=i[h]=i[h]||{},r=t[e];(!r||!r.loaded&&(!a!=!r.eager?a:l>r.from))&&(t[e]={get:g,from:l,eager:!!a})},n=[];return"default"===g&&(r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(7601),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(47601))),r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(428),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(20428))),r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(6272),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(26272))),r("@backstage/core-plugin-api","1.11.1",()=>Promise.all([w.e(5568),w.e(3647),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(83647))),r("@backstage/version-bridge","1.0.11",()=>Promise.all([w.e(5478),w.e(5603)]).then(()=>()=>w(65603))),r("@material-ui/core/styles","4.12.4",()=>Promise.all([w.e(6352),w.e(5478),w.e(1942),w.e(4491)]).then(()=>()=>w(64491))),r("@material-ui/styles","4.11.5",()=>Promise.all([w.e(4570),w.e(5478),w.e(3007)]).then(()=>()=>w(94570))),r("react-dom","18.3.1",()=>Promise.all([w.e(3144),w.e(5478)]).then(()=>()=>w(43144))),r("react-router-dom","6.30.1",()=>Promise.all([w.e(1613),w.e(3657),w.e(5478),w.e(484),w.e(2731)]).then(()=>()=>w(73657))),r("react-router","6.30.1",()=>Promise.all([w.e(1613),w.e(1836),w.e(5478)]).then(()=>()=>w(51836))),r("react","18.3.1",()=>w.e(4041).then(()=>()=>w(14041)))),h[g]=n.length?Promise.all(n).then(()=>h[g]=1):1}}})(),(()=>{var h;w.g.importScripts&&(h=w.g.location+"");var e=w.g.document;if(!h&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(h=e.currentScript.src),!h)){var g=e.getElementsByTagName("script");if(g.length)for(var a=g.length-1;a>-1&&(!h||!/^http(s?):/.test(h));)h=g[a--].src}if(!h)throw new Error("Automatic publicPath is not supported in this browser");h=h.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=h})(),t=h=>{var e=h=>h.split(".").map(h=>+h==h?+h:h),g=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(h),a=g[1]?e(g[1]):[];return g[2]&&(a.length++,a.push.apply(a,e(g[2]))),g[3]&&(a.push([]),a.push.apply(a,e(g[3]))),a},i=(h,e)=>{h=t(h),e=t(e);for(var g=0;;){if(g>=h.length)return g<e.length&&"u"!=(typeof e[g])[0];var a=h[g],i=(typeof a)[0];if(g>=e.length)return"u"==i;var l=e[g],r=(typeof l)[0];if(i!=r)return"o"==i&&"n"==r||"s"==r||"u"==i;if("o"!=i&&"u"!=i&&a!=l)return a<l;g++}},l=h=>{var e=h[0],g="";if(1===h.length)return"*";if(e+.5){g+=0==e?">=":-1==e?"<":1==e?"^":2==e?"~":e>0?"=":"!=";for(var a=1,t=1;t<h.length;t++)a--,g+="u"==(typeof(r=h[t]))[0]?"-":(a>0?".":"")+(a=2,r);return g}var i=[];for(t=1;t<h.length;t++){var r=h[t];i.push(0===r?"not("+n()+")":1===r?"("+n()+" || "+n()+")":2===r?i.pop()+" "+i.pop():l(r))}return n();function n(){return i.pop().replace(/^\((.+)\)$/,"$1")}},r=(h,e)=>{if(0 in h){e=t(e);var g=h[0],a=g<0;a&&(g=-g-1);for(var i=0,l=1,n=!0;;l++,i++){var s,_,c=l<h.length?(typeof h[l])[0]:"";if(i>=e.length||"o"==(_=(typeof(s=e[i]))[0]))return!n||("u"==c?l>g&&!a:""==c!=a);if("u"==_){if(!n||"u"!=c)return!1}else if(n)if(c==_)if(l<=g){if(s!=h[l])return!1}else{if(a?s>h[l]:s<h[l])return!1;s!=h[l]&&(n=!1)}else if("s"!=c&&"n"!=c){if(a||l<=g)return!1;n=!1,l--}else{if(l<=g||_<c!=a)return!1;n=!1}else"s"!=c&&"n"!=c&&(n=!1,l--)}}var u=[],o=u.pop.bind(u);for(i=1;i<h.length;i++){var f=h[i];u.push(1==f?o()|o():2==f?o()&o():f?r(f,e):!o())}return!!o()},n=(h,e)=>h&&w.o(h,e),s=h=>(h.loaded=1,h.get()),_=h=>Object.keys(h).reduce((e,g)=>(h[g].eager&&(e[g]=h[g]),e),{}),c=(h,e,g)=>{var a=g?_(h[e]):h[e];return Object.keys(a).reduce((h,e)=>!h||!a[h].loaded&&i(h,e)?e:h,0)},u=(h,e,g,a)=>"Unsatisfied version "+g+" from "+(g&&h[e][g].from)+" of shared singleton module "+e+" (required "+l(a)+")",o=h=>{throw new Error(h)},f=h=>{"undefined"!=typeof console&&console.warn&&console.warn(h)},y=(h,e,g)=>g?g():((h,e)=>o("Shared module "+e+" doesn't exist in shared scope "+h))(h,e),d=(h=>function(e,g,a,t,i){var l=w.I(e);return l&&l.then&&!a?l.then(h.bind(h,e,w.S[e],g,!1,t,i)):h(e,w.S[e],g,a,t,i)})((h,e,g,a,t,i)=>{if(!n(e,g))return y(h,g,i);var l=c(e,g,a);return r(t,l)||f(u(e,g,l,t)),s(e[g][l])}),x={},b={22097:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(5568),w.e(6272),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(26272))),95478:()=>d("default","react",!1,[0],()=>w.e(4041).then(()=>()=>w(14041))),42469:()=>d("default","react-router-dom",!1,[0],()=>Promise.all([w.e(1613),w.e(3657),w.e(484),w.e(2731)]).then(()=>()=>w(73657))),64218:()=>d("default","@backstage/version-bridge",!1,[0],()=>w.e(7984).then(()=>()=>w(65603))),11942:()=>d("default","@material-ui/styles",!1,[0],()=>w.e(4570).then(()=>()=>w(94570))),40484:()=>d("default","react-dom",!1,[0],()=>w.e(3144).then(()=>()=>w(43144))),92731:()=>d("default","react-router",!1,[0],()=>w.e(1836).then(()=>()=>w(51836))),37976:()=>d("default","@material-ui/core/styles",!1,[0],()=>w.e(6872).then(()=>()=>w(64491))),97094:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(3647),w.e(2469)]).then(()=>()=>w(83647))),26659:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(428),w.e(2469)]).then(()=>()=>w(20428)))},p={484:[40484],879:[22097],1942:[11942],2469:[42469],2731:[92731],4218:[64218],5478:[95478],6659:[26659],7094:[97094],7976:[37976]},m={},w.f.consumes=(h,e)=>{w.o(p,h)&&p[h].forEach(h=>{if(w.o(x,h))return e.push(x[h]);if(!m[h]){var g=e=>{x[h]=0,w.m[h]=g=>{delete w.c[h],g.exports=e()}};m[h]=!0;var a=e=>{delete x[h],w.m[h]=g=>{throw delete w.c[h],e}};try{var t=b[h]();t.then?e.push(x[h]=t.then(g).catch(a)):g(t)}catch(h){a(h)}}})},(()=>{var h={2310:0};w.f.j=(e,g)=>{var a=w.o(h,e)?h[e]:void 0;if(0!==a)if(a)g.push(a[2]);else if(/^(1942|2469|2731|4218|484|5478|6659|7094|7976)$/.test(e))h[e]=0;else{var t=new Promise((g,t)=>a=h[e]=[g,t]);g.push(a[2]=t);var i=w.p+w.u(e),l=new Error;w.l(i,g=>{if(w.o(h,e)&&(0!==(a=h[e])&&(h[e]=void 0),a)){var t=g&&("load"===g.type?"missing":g.type),i=g&&g.target&&g.target.src;l.message="Loading chunk "+e+" failed.\n("+t+": "+i+")",l.name="ChunkLoadError",l.type=t,l.request=i,a[1](l)}},"chunk-"+e,e)}};var e=(e,g)=>{var a,t,[i,l,r]=g,n=0;if(i.some(e=>0!==h[e])){for(a in l)w.o(l,a)&&(w.m[a]=l[a]);r&&r(w)}for(e&&e(g);n<i.length;n++)t=i[n],w.o(h,t)&&h[t]&&h[t][0](),h[t]=0},g=self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[];g.forEach(e.bind(null,0)),g.push=e.bind(null,g.push.bind(g))})(),w(76741)})());
2
- //# sourceMappingURL=internal.plugin-kuadrant.6dd50c0e0265251d3d4f.js.map
1
+ __load_plugin_entry__("internal.plugin-kuadrant",(()=>{"use strict";var h,e,g,a,t,i,l,r,n,s,_,c,u,o,f,y,d,x,b,p,m,v={76741:(h,e,g)=>{var a={PluginRoot:()=>g.e(879).then(()=>()=>g(72627)),KuadrantPage:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiAccessCard:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiKeyManagementTab:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiKeysContent:()=>g.e(879).then(()=>()=>g(72627)),EntityKuadrantApiProductInfoContent:()=>g.e(879).then(()=>()=>g(72627)),KuadrantApprovalQueueCard:()=>g.e(879).then(()=>()=>g(72627))},t=(h,e)=>(g.R=e,e=g.o(a,h)?a[h]():Promise.resolve().then(()=>{throw new Error('Module "'+h+'" does not exist in container.')}),g.R=void 0,e),i=(h,e)=>{if(g.S){var a="default",t=g.S[a];if(t&&t!==h)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return g.S[a]=h,g.I(a,e)}};g.d(e,{get:()=>t,init:()=>i})}},k={};function w(h){var e=k[h];if(void 0!==e)return e.exports;var g=k[h]={id:h,loaded:!1,exports:{}};return v[h].call(g.exports,g,g.exports,w),g.loaded=!0,g.exports}return w.m=v,w.c=k,w.n=h=>{var e=h&&h.__esModule?()=>h.default:()=>h;return w.d(e,{a:e}),e},e=Object.getPrototypeOf?h=>Object.getPrototypeOf(h):h=>h.__proto__,w.t=function(g,a){if(1&a&&(g=this(g)),8&a)return g;if("object"==typeof g&&g){if(4&a&&g.__esModule)return g;if(16&a&&"function"==typeof g.then)return g}var t=Object.create(null);w.r(t);var i={};h=h||[null,e({}),e([]),e(e)];for(var l=2&a&&g;("object"==typeof l||"function"==typeof l)&&!~h.indexOf(l);l=e(l))Object.getOwnPropertyNames(l).forEach(h=>i[h]=()=>g[h]);return i.default=()=>g,w.d(t,i),t},w.d=(h,e)=>{for(var g in e)w.o(e,g)&&!w.o(h,g)&&Object.defineProperty(h,g,{enumerable:!0,get:e[g]})},w.f={},w.e=h=>Promise.all(Object.keys(w.f).reduce((e,g)=>(w.f[g](h,e),e),[])),w.u=h=>"static/"+({51:"react-syntax-highlighter_languages_highlight_prolog",200:"react-syntax-highlighter_languages_highlight_mel",206:"react-syntax-highlighter_languages_highlight_gml",371:"react-syntax-highlighter_languages_highlight_excel",456:"react-syntax-highlighter_languages_highlight_roboconf",460:"react-syntax-highlighter_languages_highlight_avrasm",464:"react-syntax-highlighter_languages_highlight_shell",557:"react-syntax-highlighter_languages_highlight_oneC",579:"react-syntax-highlighter_languages_highlight_vbnet",634:"react-syntax-highlighter_languages_highlight_scilab",879:"exposed-PluginRoot",927:"react-syntax-highlighter_languages_highlight_javascript",946:"react-syntax-highlighter_languages_highlight_clojure",985:"react-syntax-highlighter_languages_highlight_monkey",1062:"react-syntax-highlighter_languages_highlight_nim",1084:"react-syntax-highlighter_languages_highlight_aspectj",1099:"react-syntax-highlighter_languages_highlight_ebnf",1173:"react-syntax-highlighter_languages_highlight_autohotkey",1177:"react-syntax-highlighter_languages_highlight_profile",1214:"react-syntax-highlighter_languages_highlight_properties",1276:"react-syntax-highlighter_languages_highlight_phpTemplate",1325:"react-syntax-highlighter_languages_highlight_actionscript",1352:"react-syntax-highlighter_languages_highlight_fortran",1362:"react-syntax-highlighter_languages_highlight_mathematica",1418:"react-syntax-highlighter_languages_highlight_pony",1441:"react-syntax-highlighter_languages_highlight_coq",1461:"react-syntax-highlighter_languages_highlight_livescript",1489:"react-syntax-highlighter_languages_highlight_reasonml",1496:"react-syntax-highlighter_languages_highlight_lua",1522:"react-syntax-highlighter_languages_highlight_dust",1679:"react-syntax-highlighter_languages_highlight_scheme",1694:"react-syntax-highlighter_languages_highlight_accesslog",1727:"react-syntax-highlighter_languages_highlight_oxygene",1750:"react-syntax-highlighter_languages_highlight_makefile",1828:"react-syntax-highlighter_languages_highlight_dockerfile",1895:"react-syntax-highlighter_languages_highlight_pythonRepl",1956:"react-syntax-highlighter_languages_highlight_puppet",1961:"react-syntax-highlighter_languages_highlight_stan",1972:"react-syntax-highlighter_languages_highlight_fsharp",2007:"react-syntax-highlighter_languages_highlight_css",2064:"react-syntax-highlighter_languages_highlight_vhdl",2108:"react-syntax-highlighter_languages_highlight_cLike",2180:"react-syntax-highlighter_languages_highlight_sqf",2234:"react-syntax-highlighter_languages_highlight_lisp",2267:"react-syntax-highlighter_languages_highlight_maxima",2346:"react-syntax-highlighter_languages_highlight_d",2362:"react-syntax-highlighter_languages_highlight_xquery",2378:"react-syntax-highlighter_languages_highlight_parser3",2383:"react-syntax-highlighter_languages_highlight_crmsh",2438:"react-syntax-highlighter_languages_highlight_haxe",2488:"react-syntax-highlighter_languages_highlight_verilog",2496:"react-syntax-highlighter_languages_highlight_erlangRepl",2512:"react-syntax-highlighter_languages_highlight_stylus",2516:"react-syntax-highlighter_languages_highlight_apache",2665:"react-syntax-highlighter_languages_highlight_powershell",2693:"react-syntax-highlighter_languages_highlight_tap",2727:"react-syntax-highlighter_languages_highlight_q",2743:"react-syntax-highlighter_languages_highlight_asciidoc",2762:"react-syntax-highlighter_languages_highlight_haskell",2795:"react-syntax-highlighter_languages_highlight_dns",2871:"react-syntax-highlighter_languages_highlight_typescript",2882:"react-syntax-highlighter_languages_highlight_sml",2979:"react-syntax-highlighter_languages_highlight_plaintext",2981:"react-syntax-highlighter_languages_highlight_ruleslanguage",2983:"react-syntax-highlighter_languages_highlight_golo",3146:"react-syntax-highlighter_languages_highlight_purebasic",3193:"react-syntax-highlighter_languages_highlight_xml",3299:"react-syntax-highlighter_languages_highlight_fix",3357:"react-syntax-highlighter_languages_highlight_x86asm",3384:"react-syntax-highlighter_languages_highlight_ini",3418:"react-syntax-highlighter_languages_highlight_ruby",3419:"react-syntax-highlighter_languages_highlight_nix",3487:"react-syntax-highlighter_languages_highlight_mipsasm",3500:"react-syntax-highlighter_languages_highlight_autoit",3540:"react-syntax-highlighter_languages_highlight_moonscript",3562:"react-syntax-highlighter_languages_highlight_gams",3580:"react-syntax-highlighter_languages_highlight_csp",3607:"react-syntax-highlighter_languages_highlight_abnf",3623:"react-syntax-highlighter_languages_highlight_yaml",3722:"react-syntax-highlighter_languages_highlight_latex",3736:"react-syntax-highlighter_languages_highlight_json",3811:"react-syntax-highlighter_languages_highlight_erb",3885:"react-syntax-highlighter_languages_highlight_stata",3923:"react-syntax-highlighter_languages_highlight_applescript",3988:"react-syntax-highlighter_languages_highlight_vala",4014:"react-syntax-highlighter_languages_highlight_scss",4075:"react-syntax-highlighter_languages_highlight_hsp",4110:"react-syntax-highlighter_languages_highlight_tp",4135:"react-syntax-highlighter_languages_highlight_mizar",4282:"react-syntax-highlighter_languages_highlight_livecodeserver",4300:"react-syntax-highlighter_languages_highlight_r",4342:"react-syntax-highlighter_languages_highlight_php",4383:"react-syntax-highlighter_languages_highlight_dsconfig",4436:"react-syntax-highlighter_languages_highlight_zephir",4446:"react-syntax-highlighter_languages_highlight_leaf",4493:"react-syntax-highlighter_languages_highlight_gauss",4575:"react-syntax-highlighter_languages_highlight_processing",4635:"react-syntax-highlighter_languages_highlight_jbossCli",4733:"react-syntax-highlighter_languages_highlight_llvm",4835:"react-syntax-highlighter_languages_highlight_cos",4931:"react-syntax-highlighter_languages_highlight_step21",4956:"react-syntax-highlighter_languages_highlight_angelscript",4971:"react-syntax-highlighter_languages_highlight_lsl",5034:"react-syntax-highlighter_languages_highlight_ada",5051:"react-syntax-highlighter_languages_highlight_coffeescript",5099:"react-syntax-highlighter_languages_highlight_nsis",5123:"react-syntax-highlighter_languages_highlight_erlang",5189:"react-syntax-highlighter_languages_highlight_dts",5251:"react-syntax-highlighter_languages_highlight_pgsql",5253:"react-syntax-highlighter_languages_highlight_clojureRepl",5286:"react-syntax-highlighter_languages_highlight_nginx",5446:"react-syntax-highlighter_languages_highlight_ocaml",5565:"react-syntax-highlighter_languages_highlight_kotlin",5613:"react-syntax-highlighter_languages_highlight_rib",5664:"react-syntax-highlighter_languages_highlight_dos",5773:"react-syntax-highlighter_languages_highlight_mojolicious",5813:"react-syntax-highlighter_languages_highlight_less",5819:"react-syntax-highlighter_languages_highlight_gradle",5868:"react-syntax-highlighter_languages_highlight_inform7",5900:"react-syntax-highlighter_languages_highlight_lasso",6057:"react-syntax-highlighter_languages_highlight_sqlMore",6152:"react-syntax-highlighter_languages_highlight_vbscriptHtml",6161:"react-syntax-highlighter_languages_highlight_clean",6177:"react-syntax-highlighter_languages_highlight_taggerscript",6195:"react-syntax-highlighter_languages_highlight_ldif",6228:"react-syntax-highlighter_languages_highlight_rust",6267:"react-syntax-highlighter_languages_highlight_swift",6354:"react-syntax-highlighter_languages_highlight_java",6501:"react-syntax-highlighter_languages_highlight_armasm",6512:"react-syntax-highlighter_languages_highlight_scala",6542:"react-syntax-highlighter_languages_highlight_vim",6555:"react-syntax-highlighter_languages_highlight_openscad",6573:"react-syntax-highlighter_languages_highlight_cpp",6780:"react-syntax-highlighter_languages_highlight_qml",6835:"react-syntax-highlighter_languages_highlight_brainfuck",6848:"react-syntax-highlighter_languages_highlight_crystal",6924:"react-syntax-highlighter_languages_highlight_isbl",6977:"react-syntax-highlighter_languages_highlight_rsl",6986:"react-syntax-highlighter_languages_highlight_capnproto",7048:"react-syntax-highlighter_languages_highlight_gherkin",7079:"react-syntax-highlighter_languages_highlight_diff",7131:"react-syntax-highlighter_languages_highlight_protobuf",7209:"react-syntax-highlighter_languages_highlight_perl",7247:"react-syntax-highlighter_languages_highlight_cmake",7254:"react-syntax-highlighter_languages_highlight_subunit",7351:"react-syntax-highlighter_languages_highlight_elixir",7401:"react-syntax-highlighter_languages_highlight_sas",7406:"react-syntax-highlighter_languages_highlight_sql",7439:"react-syntax-highlighter_languages_highlight_flix",7533:"react-syntax-highlighter_languages_highlight_awk",7572:"react-syntax-highlighter_languages_highlight_basic",7764:"react-syntax-highlighter_languages_highlight_go",7776:"react-syntax-highlighter_languages_highlight_haml",7794:"react-syntax-highlighter_languages_highlight_http",7818:"react-syntax-highlighter_languages_highlight_arduino",7879:"react-syntax-highlighter_languages_highlight_csharp",7934:"react-syntax-highlighter_languages_highlight_glsl",7959:"react-syntax-highlighter_languages_highlight_htmlbars",8001:"react-syntax-highlighter_languages_highlight_matlab",8030:"react-syntax-highlighter_languages_highlight_handlebars",8058:"react-syntax-highlighter_languages_highlight_n1ql",8078:"react-syntax-highlighter_languages_highlight_delphi",8138:"react-syntax-highlighter_languages_highlight_elm",8140:"react-syntax-highlighter_languages_highlight_pf",8216:"react-syntax-highlighter_languages_highlight_bnf",8217:"react-syntax-highlighter_languages_highlight_twig",8331:"react-syntax-highlighter_languages_highlight_thrift",8338:"react-syntax-highlighter_languages_highlight_objectivec",8549:"react-syntax-highlighter_languages_highlight_c",8595:"react-syntax-highlighter_languages_highlight_hy",8705:"react-syntax-highlighter_languages_highlight_nodeRepl",8725:"react-syntax-highlighter_languages_highlight_smalltalk",8727:"react-syntax-highlighter/lowlight-import",8753:"react-syntax-highlighter_languages_highlight_mercury",8755:"react-syntax-highlighter_languages_highlight_tcl",8763:"react-syntax-highlighter_languages_highlight_routeros",8833:"react-syntax-highlighter_languages_highlight_markdown",8874:"react-syntax-highlighter_languages_highlight_smali",8903:"react-syntax-highlighter_languages_highlight_axapta",8904:"react-syntax-highlighter_languages_highlight_python",8948:"react-syntax-highlighter_languages_highlight_groovy",9078:"react-syntax-highlighter_languages_highlight_irpf90",9118:"react-syntax-highlighter_languages_highlight_juliaRepl",9139:"react-syntax-highlighter_languages_highlight_django",9162:"react-syntax-highlighter_languages_highlight_ceylon",9175:"react-syntax-highlighter_languages_highlight_vbscript",9229:"react-syntax-highlighter_languages_highlight_julia",9265:"react-syntax-highlighter_languages_highlight_dart",9406:"react-syntax-highlighter_languages_highlight_cal",9612:"react-syntax-highlighter_languages_highlight_bash",9702:"react-syntax-highlighter_languages_highlight_gcode",9726:"react-syntax-highlighter_languages_highlight_xl",9882:"react-syntax-highlighter_languages_highlight_arcade"}[h]||h)+"."+{51:"be0fdf0c",200:"5251fe1a",206:"2347c999",371:"2f5c76b9",428:"0a290bc6",441:"9f02e61b",456:"47518214",460:"6381890e",464:"9bbc16eb",532:"146b1fd6",557:"362a3b0a",579:"21c190ed",634:"bb9cc730",879:"4183ceef",927:"b0ad82d3",946:"e3fcc98c",985:"5f60f06d",1062:"17afaed1",1084:"35f221e8",1099:"a34b6944",1173:"614c5248",1177:"615fa721",1214:"60f97895",1276:"2bd36dc7",1325:"78db0238",1352:"38ec3d00",1362:"d8631b37",1418:"1961f69f",1441:"6b156852",1461:"3ece3068",1483:"be69af13",1489:"a5a73a29",1496:"52f73c98",1522:"b30d0c38",1613:"71f0fccd",1679:"508b5846",1694:"bd112f1a",1727:"ea742315",1750:"cad796c9",1828:"2c5fdf55",1836:"b74b4c40",1895:"feb72aed",1956:"ee3f80da",1961:"17155e77",1972:"2ba37c00",2007:"2cc312ae",2064:"dea9db6c",2108:"f884fdc0",2120:"44884438",2180:"43421810",2198:"5905970e",2234:"1cb2f675",2267:"f1f17544",2346:"bf4f2b44",2362:"353780d4",2378:"706a4bd6",2383:"58c4cb07",2438:"e2543cc2",2488:"e32adbeb",2496:"0d7f4890",2512:"cde06cf5",2516:"aa86d495",2665:"7bd31b3a",2693:"402e473f",2727:"989943de",2743:"4b40a3f9",2762:"bbd3c104",2795:"6d79126a",2871:"cf576f17",2882:"0e45c1cf",2979:"25f8d292",2981:"038504d0",2983:"eaa5e2bf",3007:"bffc9924",3144:"6f99ccee",3146:"08443005",3193:"ee14d6a4",3299:"5ee62733",3357:"217c56f0",3384:"d9d4ed7e",3418:"d84064e5",3419:"245f31b6",3483:"2f14a8ca",3487:"f5bc5b04",3500:"a06c1c62",3540:"443301b3",3562:"a45eb030",3580:"7fc6f9a3",3607:"bb6a8626",3623:"2aae489e",3647:"b96f9b3e",3657:"59d45756",3722:"b4bb9102",3736:"d934b52b",3811:"4ac917b8",3885:"fe81a7fc",3923:"ddf703d6",3988:"843d9bc4",4014:"bec19089",4041:"29923ad9",4075:"5d714528",4110:"0f4ff415",4135:"9b39cf3b",4282:"f624f22d",4300:"8540ccea",4306:"b68910c9",4342:"ade4c6c4",4383:"c3457b50",4436:"fc94a148",4446:"92519810",4491:"a2e0258f",4493:"cceeafb0",4556:"c6bedfc4",4570:"8b9f98d7",4575:"8d1f48c5",4635:"1ff533ef",4733:"f32d41e6",4835:"78d69dee",4931:"a431b2db",4956:"f9816c44",4971:"b6519e02",5034:"b0d90871",5051:"3bc87b5b",5099:"4934a8e8",5123:"501777c7",5189:"8fd3703c",5222:"796292ca",5251:"5b0d21b9",5253:"e6dbc3b4",5286:"630147e0",5446:"0e42541e",5453:"29118045",5565:"c5eaa6f5",5568:"5dbce633",5603:"05d9ca7f",5613:"dc8afdf1",5664:"1ede6e37",5773:"0cf721ff",5813:"cc574d49",5819:"72fdf84d",5868:"78be038f",5900:"8d4054e7",6057:"d69b1825",6152:"42eb54af",6161:"97b48014",6177:"695a2547",6195:"74045e43",6228:"7e26e901",6267:"7d33a4a9",6272:"e49551fa",6281:"eb6e16a2",6352:"d48bba8c",6354:"e04d1c07",6501:"4bfb8996",6512:"a4629d0a",6542:"e82f126f",6555:"4a460eaf",6573:"ff6a8f78",6780:"8f3a0af6",6835:"31bde7c5",6848:"3a36e63f",6872:"feed76d2",6924:"abe269c1",6977:"909f2a27",6986:"79dfc31f",7048:"e740620a",7079:"a8373241",7131:"0cd375bc",7209:"ae8475a2",7247:"cb9028b5",7254:"c5ac3a0a",7351:"1e79c9b9",7401:"94075d6a",7406:"651dcc8d",7439:"972cc801",7533:"dfc9b0b0",7572:"ec232b8a",7601:"08d8ff3f",7764:"abc0a144",7776:"d698757b",7794:"5859273c",7818:"9b9ce313",7879:"ea98c6fb",7934:"bb5b0086",7959:"e57e3c89",7984:"c8511b89",8001:"114e44eb",8030:"75c0a89b",8058:"c54b2c4a",8078:"588e191d",8138:"8a488b19",8140:"5052a768",8216:"84e0a497",8217:"5cb0fdfc",8331:"ecb04f2a",8338:"2d204375",8365:"75ea3581",8549:"b43ce116",8595:"c60db034",8705:"5b05cdf2",8725:"53da57ca",8727:"2bd53873",8753:"fa8fdac0",8755:"79af288c",8763:"c0bcd6ce",8833:"1489792c",8874:"4fa5afdd",8903:"80d14346",8904:"9e4100ae",8948:"ecd68b19",9078:"25afcc29",9118:"e3bfcde8",9139:"8fb85401",9162:"ab3b1c28",9175:"4703f4c5",9229:"f43a39d0",9265:"0a0b12af",9288:"61b45746",9406:"781cc6c6",9612:"53f7c730",9702:"378d3296",9726:"7cff3cbb",9882:"70910623"}[h]+".chunk.js",w.miniCssF=h=>{},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(h){if("object"==typeof window)return window}}(),w.o=(h,e)=>Object.prototype.hasOwnProperty.call(h,e),g={},a="internal.plugin-kuadrant:",w.l=(h,e,t,i)=>{if(g[h])g[h].push(e);else{var l,r;if(void 0!==t)for(var n=document.getElementsByTagName("script"),s=0;s<n.length;s++){var _=n[s];if(_.getAttribute("src")==h||_.getAttribute("data-webpack")==a+t){l=_;break}}l||(r=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,w.nc&&l.setAttribute("nonce",w.nc),l.setAttribute("data-webpack",a+t),l.src=h),g[h]=[e];var c=(e,a)=>{l.onerror=l.onload=null,clearTimeout(u);var t=g[h];if(delete g[h],l.parentNode&&l.parentNode.removeChild(l),t&&t.forEach(h=>h(a)),e)return e(a)},u=setTimeout(c.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=c.bind(null,l.onerror),l.onload=c.bind(null,l.onload),r&&document.head.appendChild(l)}},w.r=h=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(h,"__esModule",{value:!0})},w.nmd=h=>(h.paths=[],h.children||(h.children=[]),h),(()=>{w.S={};var h={},e={};w.I=(g,a)=>{a||(a=[]);var t=e[g];if(t||(t=e[g]={}),!(a.indexOf(t)>=0)){if(a.push(t),h[g])return h[g];w.o(w.S,g)||(w.S[g]={});var i=w.S[g],l="internal.plugin-kuadrant",r=(h,e,g,a)=>{var t=i[h]=i[h]||{},r=t[e];(!r||!r.loaded&&(!a!=!r.eager?a:l>r.from))&&(t[e]={get:g,from:l,eager:!!a})},n=[];return"default"===g&&(r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(7601),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(47601))),r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(428),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(20428))),r("@backstage/core-plugin-api","1.11.0",()=>Promise.all([w.e(5568),w.e(6272),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(26272))),r("@backstage/core-plugin-api","1.11.1",()=>Promise.all([w.e(5568),w.e(3647),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(83647))),r("@backstage/version-bridge","1.0.11",()=>Promise.all([w.e(5478),w.e(5603)]).then(()=>()=>w(65603))),r("@material-ui/core/styles","4.12.4",()=>Promise.all([w.e(6352),w.e(5478),w.e(1942),w.e(4491)]).then(()=>()=>w(64491))),r("@material-ui/styles","4.11.5",()=>Promise.all([w.e(4570),w.e(5478),w.e(3007)]).then(()=>()=>w(94570))),r("react-dom","18.3.1",()=>Promise.all([w.e(3144),w.e(5478)]).then(()=>()=>w(43144))),r("react-router-dom","6.30.1",()=>Promise.all([w.e(1613),w.e(3657),w.e(5478),w.e(484),w.e(2731)]).then(()=>()=>w(73657))),r("react-router","6.30.1",()=>Promise.all([w.e(1613),w.e(1836),w.e(5478)]).then(()=>()=>w(51836))),r("react","18.3.1",()=>w.e(4041).then(()=>()=>w(14041)))),h[g]=n.length?Promise.all(n).then(()=>h[g]=1):1}}})(),(()=>{var h;w.g.importScripts&&(h=w.g.location+"");var e=w.g.document;if(!h&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(h=e.currentScript.src),!h)){var g=e.getElementsByTagName("script");if(g.length)for(var a=g.length-1;a>-1&&(!h||!/^http(s?):/.test(h));)h=g[a--].src}if(!h)throw new Error("Automatic publicPath is not supported in this browser");h=h.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=h})(),t=h=>{var e=h=>h.split(".").map(h=>+h==h?+h:h),g=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(h),a=g[1]?e(g[1]):[];return g[2]&&(a.length++,a.push.apply(a,e(g[2]))),g[3]&&(a.push([]),a.push.apply(a,e(g[3]))),a},i=(h,e)=>{h=t(h),e=t(e);for(var g=0;;){if(g>=h.length)return g<e.length&&"u"!=(typeof e[g])[0];var a=h[g],i=(typeof a)[0];if(g>=e.length)return"u"==i;var l=e[g],r=(typeof l)[0];if(i!=r)return"o"==i&&"n"==r||"s"==r||"u"==i;if("o"!=i&&"u"!=i&&a!=l)return a<l;g++}},l=h=>{var e=h[0],g="";if(1===h.length)return"*";if(e+.5){g+=0==e?">=":-1==e?"<":1==e?"^":2==e?"~":e>0?"=":"!=";for(var a=1,t=1;t<h.length;t++)a--,g+="u"==(typeof(r=h[t]))[0]?"-":(a>0?".":"")+(a=2,r);return g}var i=[];for(t=1;t<h.length;t++){var r=h[t];i.push(0===r?"not("+n()+")":1===r?"("+n()+" || "+n()+")":2===r?i.pop()+" "+i.pop():l(r))}return n();function n(){return i.pop().replace(/^\((.+)\)$/,"$1")}},r=(h,e)=>{if(0 in h){e=t(e);var g=h[0],a=g<0;a&&(g=-g-1);for(var i=0,l=1,n=!0;;l++,i++){var s,_,c=l<h.length?(typeof h[l])[0]:"";if(i>=e.length||"o"==(_=(typeof(s=e[i]))[0]))return!n||("u"==c?l>g&&!a:""==c!=a);if("u"==_){if(!n||"u"!=c)return!1}else if(n)if(c==_)if(l<=g){if(s!=h[l])return!1}else{if(a?s>h[l]:s<h[l])return!1;s!=h[l]&&(n=!1)}else if("s"!=c&&"n"!=c){if(a||l<=g)return!1;n=!1,l--}else{if(l<=g||_<c!=a)return!1;n=!1}else"s"!=c&&"n"!=c&&(n=!1,l--)}}var u=[],o=u.pop.bind(u);for(i=1;i<h.length;i++){var f=h[i];u.push(1==f?o()|o():2==f?o()&o():f?r(f,e):!o())}return!!o()},n=(h,e)=>h&&w.o(h,e),s=h=>(h.loaded=1,h.get()),_=h=>Object.keys(h).reduce((e,g)=>(h[g].eager&&(e[g]=h[g]),e),{}),c=(h,e,g)=>{var a=g?_(h[e]):h[e];return Object.keys(a).reduce((h,e)=>!h||!a[h].loaded&&i(h,e)?e:h,0)},u=(h,e,g,a)=>"Unsatisfied version "+g+" from "+(g&&h[e][g].from)+" of shared singleton module "+e+" (required "+l(a)+")",o=h=>{throw new Error(h)},f=h=>{"undefined"!=typeof console&&console.warn&&console.warn(h)},y=(h,e,g)=>g?g():((h,e)=>o("Shared module "+e+" doesn't exist in shared scope "+h))(h,e),d=(h=>function(e,g,a,t,i){var l=w.I(e);return l&&l.then&&!a?l.then(h.bind(h,e,w.S[e],g,!1,t,i)):h(e,w.S[e],g,a,t,i)})((h,e,g,a,t,i)=>{if(!n(e,g))return y(h,g,i);var l=c(e,g,a);return r(t,l)||f(u(e,g,l,t)),s(e[g][l])}),x={},b={22097:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(5568),w.e(6272),w.e(5478),w.e(2469),w.e(4218)]).then(()=>()=>w(26272))),95478:()=>d("default","react",!1,[0],()=>w.e(4041).then(()=>()=>w(14041))),42469:()=>d("default","react-router-dom",!1,[0],()=>Promise.all([w.e(1613),w.e(3657),w.e(484),w.e(2731)]).then(()=>()=>w(73657))),64218:()=>d("default","@backstage/version-bridge",!1,[0],()=>w.e(7984).then(()=>()=>w(65603))),11942:()=>d("default","@material-ui/styles",!1,[0],()=>w.e(4570).then(()=>()=>w(94570))),40484:()=>d("default","react-dom",!1,[0],()=>w.e(3144).then(()=>()=>w(43144))),92731:()=>d("default","react-router",!1,[0],()=>w.e(1836).then(()=>()=>w(51836))),37976:()=>d("default","@material-ui/core/styles",!1,[0],()=>w.e(6872).then(()=>()=>w(64491))),97094:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(3647),w.e(2469)]).then(()=>()=>w(83647))),26659:()=>d("default","@backstage/core-plugin-api",!1,[0],()=>Promise.all([w.e(428),w.e(2469)]).then(()=>()=>w(20428)))},p={484:[40484],879:[22097],1942:[11942],2469:[42469],2731:[92731],4218:[64218],5478:[95478],6659:[26659],7094:[97094],7976:[37976]},m={},w.f.consumes=(h,e)=>{w.o(p,h)&&p[h].forEach(h=>{if(w.o(x,h))return e.push(x[h]);if(!m[h]){var g=e=>{x[h]=0,w.m[h]=g=>{delete w.c[h],g.exports=e()}};m[h]=!0;var a=e=>{delete x[h],w.m[h]=g=>{throw delete w.c[h],e}};try{var t=b[h]();t.then?e.push(x[h]=t.then(g).catch(a)):g(t)}catch(h){a(h)}}})},(()=>{var h={2310:0};w.f.j=(e,g)=>{var a=w.o(h,e)?h[e]:void 0;if(0!==a)if(a)g.push(a[2]);else if(/^(1942|2469|2731|4218|484|5478|6659|7094|7976)$/.test(e))h[e]=0;else{var t=new Promise((g,t)=>a=h[e]=[g,t]);g.push(a[2]=t);var i=w.p+w.u(e),l=new Error;w.l(i,g=>{if(w.o(h,e)&&(0!==(a=h[e])&&(h[e]=void 0),a)){var t=g&&("load"===g.type?"missing":g.type),i=g&&g.target&&g.target.src;l.message="Loading chunk "+e+" failed.\n("+t+": "+i+")",l.name="ChunkLoadError",l.type=t,l.request=i,a[1](l)}},"chunk-"+e,e)}};var e=(e,g)=>{var a,t,[i,l,r]=g,n=0;if(i.some(e=>0!==h[e])){for(a in l)w.o(l,a)&&(w.m[a]=l[a]);r&&r(w)}for(e&&e(g);n<i.length;n++)t=i[n],w.o(h,t)&&h[t]&&h[t][0](),h[t]=0},g=self.webpackChunkinternal_plugin_kuadrant=self.webpackChunkinternal_plugin_kuadrant||[];g.forEach(e.bind(null,0)),g.push=e.bind(null,g.push.bind(g))})(),w(76741)})());
2
+ //# sourceMappingURL=internal.plugin-kuadrant.90488643192ec2f36944.js.map