@prorobotech/openapi-k8s-toolkit 1.4.0-alpha.6 → 1.4.0-alpha.7

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.
@@ -1,4 +1,4 @@
1
- import { u as useMultiQuery, a as useTheme, b as usePartsOfUrl, p as parseAll, c as usePermissions, s as serializeLabelsWithNoEncoding, _, j as jp, d as useDirectUnknownResource, e as useK8sSmartResource, f as jsxRuntimeExports, R as ReadOnlyModal, E as EnrichedTableProvider, D as DeleteIcon, g as EditIcon, P as PaddingContainer, h as getLinkToForm, i as DeleteModal, k as DeleteModalMany } from './index-DclFY72w.mjs';
1
+ import { u as useMultiQuery, a as useTheme, b as usePartsOfUrl, p as parseAll, c as usePermissions, s as serializeLabelsWithNoEncoding, _, j as jp, d as useDirectUnknownResource, e as useK8sSmartResource, f as jsxRuntimeExports, R as ReadOnlyModal, E as EnrichedTableProvider, D as DeleteIcon, g as EditIcon, P as PaddingContainer, h as getLinkToForm, i as DeleteModal, k as DeleteModalMany } from './index-bpfCtuwB.mjs';
2
2
  import { useState } from 'react';
3
3
  import { useLocation, useParams, useNavigate } from 'react-router-dom';
4
4
  import { theme, Flex, Spin, Button } from 'antd';
@@ -295,4 +295,4 @@ const EnrichedTableModal = ({
295
295
  };
296
296
 
297
297
  export { EnrichedTableModal };
298
- //# sourceMappingURL=index-eI1hWaeQ.mjs.map
298
+ //# sourceMappingURL=index-BOKNPmwt.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-eI1hWaeQ.mjs","sources":["../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/styled.ts","../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/EnrichedTableModal.tsx"],"sourcesContent":["import styled from 'styled-components'\n\ntype TColorContainerProps = {\n $colorText: string\n}\n\nconst ColorContainer = styled.div<TColorContainerProps>`\n color: ${({ $colorText }) => $colorText};\n\n & tr,\n td {\n color: ${({ $colorText }) => $colorText};\n }\n`\n\nexport const Styled = {\n ColorContainer,\n}\n","/* eslint-disable max-lines-per-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useState, CSSProperties } from 'react'\nimport jp from 'jsonpath'\nimport _ from 'lodash'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { Flex, Spin, Button, theme as antdtheme } from 'antd'\nimport { PlusOutlined, ClearOutlined, MinusOutlined } from '@ant-design/icons'\nimport { EditIcon, DeleteIcon, PaddingContainer, DeleteModal, DeleteModalMany } from 'components/atoms'\nimport { EnrichedTableProvider } from 'components/molecules'\nimport { usePermissions } from 'hooks/usePermissions'\nimport { useK8sSmartResource } from 'hooks/useK8sSmartResource'\nimport { useDirectUnknownResource } from 'hooks/useDirectUnknownResource'\nimport { getLinkToForm } from 'utils/tableLocations'\nimport { useMultiQuery } from '../../../../../DynamicRendererWithProviders/providers/hybridDataProvider'\nimport { usePartsOfUrl } from '../../../../../DynamicRendererWithProviders/providers/partsOfUrlContext'\nimport { useTheme } from '../../../../../DynamicRendererWithProviders/providers/themeContext'\nimport { serializeLabelsWithNoEncoding } from '../../../../utils/EnrichedTable'\nimport { TEnrichedTableProps as TInnerProps } from '../../../../types/EnrichedTable'\nimport { parseAll } from '../../../utils'\nimport { ReadOnlyModal } from '../../../../atoms/modals'\nimport { Styled } from './styled'\n\ntype TEnrichedTableModalProps = {\n open: boolean\n onClose: () => void\n modalTitle?: string\n modalDescriptionText?: string\n modalDescriptionTextStyle?: CSSProperties\n editModalWidth?: number | string\n} & TInnerProps\n\nexport const EnrichedTableModal: FC<TEnrichedTableModalProps> = ({\n open,\n onClose,\n modalTitle,\n modalDescriptionText,\n modalDescriptionTextStyle,\n editModalWidth,\n fetchUrl,\n k8sResourceToFetch,\n pathToItems,\n additionalReqsDataToEachItem,\n cluster,\n labelSelector,\n labelSelectorFull,\n fieldSelector,\n namespace,\n k8sResource,\n dataForControls,\n baseprefix,\n pathToKey,\n ...props\n}) => {\n const location = useLocation()\n const params = useParams()\n const navigate = useNavigate()\n const { token } = antdtheme.useToken()\n\n const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([])\n const [selectedRowsData, setSelectedRowsData] = useState<{ name: string; endpoint: string }[]>([])\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState<false | { name: string; endpoint: string }>(false)\n const [isDeleteModalManyOpen, setIsDeleteModalManyOpen] = useState<false | { name: string; endpoint: string }[]>(\n false,\n )\n\n const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery()\n\n const theme = useTheme()\n const partsOfUrl = usePartsOfUrl()\n\n const replaceValues = partsOfUrl.partsOfUrl.reduce<Record<string, string | undefined>>((acc, value, index) => {\n acc[index.toString()] = value\n return acc\n }, {})\n\n const clusterPrepared = parseAll({ text: cluster, replaceValues, multiQueryData })\n\n const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : undefined\n\n const k8sResourcePrePrepared = k8sResource\n ? {\n apiGroup: k8sResource.apiGroup\n ? parseAll({ text: k8sResource.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResource.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResource.plural, replaceValues, multiQueryData }),\n }\n : undefined\n\n const k8sResourcePrepared =\n k8sResourcePrePrepared?.apiGroup === '-'\n ? { apiVersion: k8sResourcePrePrepared.apiVersion, plural: k8sResourcePrePrepared.plural }\n : k8sResourcePrePrepared\n\n const dataForControlsPrepared = dataForControls\n ? {\n cluster: clusterPrepared,\n syntheticProject: dataForControls.syntheticProject\n ? parseAll({ text: dataForControls.syntheticProject, replaceValues, multiQueryData })\n : undefined,\n plural: parseAll({ text: dataForControls.plural, replaceValues, multiQueryData }),\n apiGroup: dataForControls.apiGroup\n ? parseAll({ text: dataForControls.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: dataForControls.apiVersion, replaceValues, multiQueryData }),\n }\n : undefined\n\n const createPermission = usePermissions({\n apiGroup: dataForControlsPrepared?.apiGroup,\n plural: dataForControlsPrepared?.plural || '',\n namespace: namespacePrepared,\n cluster: clusterPrepared,\n verb: 'create',\n refetchInterval: false,\n enabler: Boolean(dataForControlsPrepared && clusterPrepared && !isMultiqueryLoading),\n })\n\n const fetchUrlPrepared = fetchUrl ? parseAll({ text: fetchUrl, replaceValues, multiQueryData }) : undefined\n\n const k8sResourceToFetchPrepared = k8sResourceToFetch\n ? {\n apiGroup: k8sResourceToFetch.apiGroup\n ? parseAll({ text: k8sResourceToFetch.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResourceToFetch.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResourceToFetch.plural, replaceValues, multiQueryData }),\n namespace: k8sResourceToFetch.namespace\n ? parseAll({ text: k8sResourceToFetch.namespace, replaceValues, multiQueryData })\n : undefined,\n }\n : undefined\n\n const sParams = new URLSearchParams()\n\n if (labelSelector && Object.keys(labelSelector).length > 0) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(labelSelector).map(\n ([k, v]) => [k, parseAll({ text: v, replaceValues, multiQueryData })] as [string, string],\n ),\n )\n const serializedLabels = serializeLabelsWithNoEncoding(parsedObject)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (labelSelectorFull) {\n const root = multiQueryData[`req${labelSelectorFull.reqIndex}`]\n const value = Array.isArray(labelSelectorFull.pathToLabels)\n ? _.get(root || {}, labelSelectorFull.pathToLabels)\n : jp.query(root || {}, `$${labelSelectorFull.pathToLabels}`)[0]\n\n const serializedLabels = serializeLabelsWithNoEncoding(value)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (fieldSelector) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(fieldSelector).map(\n ([k, v]) =>\n [\n parseAll({ text: k, replaceValues, multiQueryData }),\n parseAll({ text: v, replaceValues, multiQueryData }),\n ] as [string, string],\n ),\n )\n const serializedFields = serializeLabelsWithNoEncoding(parsedObject)\n\n if (serializedFields.length > 0) sParams.set('fieldSelector', serializedFields)\n }\n\n const searchParams = sParams.toString()\n\n const {\n data: fetchedData,\n isLoading: isFetchedDataLoading,\n error: fetchedDataError,\n } = useDirectUnknownResource<unknown>({\n uri: `${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`,\n queryKey: [`${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`],\n isEnabled: Boolean(!isMultiqueryLoading && fetchUrlPrepared),\n })\n\n const {\n data: fetchedDataSocket,\n isLoading: isFetchedDataSocketLoading,\n error: fetchedDataSocketError,\n } = useK8sSmartResource<{ items?: unknown }>({\n cluster: clusterPrepared || '',\n namespace: k8sResourceToFetchPrepared?.namespace,\n apiGroup: k8sResourceToFetchPrepared?.apiGroup,\n apiVersion: k8sResourceToFetchPrepared?.apiVersion || '',\n plural: k8sResourceToFetchPrepared?.plural || '',\n fieldSelector: sParams.get('fieldSelector') || undefined,\n labelSelector: sParams.get('labelSelector') || undefined,\n isEnabled: Boolean(!isMultiqueryLoading && k8sResourceToFetchPrepared),\n })\n\n if (fetchUrlPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n if (k8sResourceToFetchPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n // if (!fetchedData) {\n // return <div>No data has been fetched</div>\n // }\n\n if (fetchUrlPrepared && isFetchedDataLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (k8sResourceToFetchPrepared && isFetchedDataSocketLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (fetchUrlPrepared && fetchedDataError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n if (k8sResourceToFetchPrepared && fetchedDataSocketError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n const dataFromOneOfHooks = fetchedData || fetchedDataSocket || {}\n\n const items = Array.isArray(pathToItems)\n ? _.get(dataFromOneOfHooks || {}, pathToItems)\n : jp.query(dataFromOneOfHooks || {}, `$${pathToItems}`)[0]\n\n const itemsAlwaysArr = Array.isArray(items) ? items : []\n\n let additionalReqsData: any[] | undefined = []\n if (additionalReqsDataToEachItem) {\n additionalReqsDataToEachItem.forEach(item => {\n additionalReqsData?.push(multiQueryData[`req${item}`])\n })\n }\n additionalReqsData = additionalReqsData.length > 0 ? additionalReqsData : undefined\n\n const itemsAlwaysArrWithAdditionalData = itemsAlwaysArr.map(el => ({\n ...el,\n ...(additionalReqsData ? { additionalReqsData } : {}),\n }))\n\n // if (!items) {\n // return <div>No data on this path {JSON.stringify(pathToItems)}</div>\n // }\n\n const clearSelected = () => {\n setSelectedRowKeys([])\n setSelectedRowsData([])\n }\n\n const onDeleteHandle = (name: string, endpoint: string) => {\n setIsDeleteModalOpen({ name, endpoint })\n }\n\n const fullPath = `${location.pathname}${location.search}`\n\n const modalTitlePrepared = modalTitle ? parseAll({ text: modalTitle, replaceValues, multiQueryData }) : 'Edit'\n const modalDescriptionTextPrepared = modalDescriptionText\n ? parseAll({ text: modalDescriptionText, replaceValues, multiQueryData })\n : undefined\n\n return (\n <>\n <ReadOnlyModal\n open={open}\n close={onClose}\n modalTitle={modalTitlePrepared}\n modalDescriptionText={modalDescriptionTextPrepared}\n modalDescriptionTextStyle={modalDescriptionTextStyle}\n editModalWidth={editModalWidth}\n >\n <Styled.ColorContainer $colorText={token.colorText}>\n <EnrichedTableProvider\n tableMappingsReplaceValues={replaceValues}\n cluster={clusterPrepared}\n namespace={namespacePrepared}\n theme={theme}\n dataItems={itemsAlwaysArrWithAdditionalData}\n tableProps={{\n borderless: true,\n paginationPosition: ['bottomRight'],\n isTotalLeft: true,\n editIcon: <EditIcon />,\n deleteIcon: <DeleteIcon />,\n disablePagination: true,\n }}\n selectData={\n dataForControlsPrepared\n ? {\n selectedRowKeys,\n onChange: (\n selectedRowKeys: React.Key[],\n selectedRowsData: { name: string; endpoint: string }[],\n ) => {\n setSelectedRowKeys(selectedRowKeys)\n setSelectedRowsData(selectedRowsData)\n },\n }\n : undefined\n }\n k8sResource={k8sResourcePrepared}\n dataForControlsInternal={{ onDeleteHandle }}\n dataForControls={dataForControlsPrepared}\n withoutControls={!dataForControlsPrepared}\n baseprefix={baseprefix}\n pathToKey={pathToKey}\n {...props}\n />\n </Styled.ColorContainer>\n </ReadOnlyModal>\n {dataForControlsPrepared && (\n <PaddingContainer $padding=\"4px\">\n <Flex justify=\"space-between\">\n <Button\n type=\"primary\"\n onClick={() => {\n const url = getLinkToForm({\n cluster: clusterPrepared,\n baseprefix,\n namespace: namespacePrepared,\n syntheticProject: params.syntheticProject,\n apiGroup: dataForControlsPrepared.apiGroup,\n apiVersion: dataForControlsPrepared.apiVersion,\n plural: dataForControlsPrepared.plural,\n fullPath,\n })\n navigate(url)\n }}\n loading={createPermission.isPending}\n disabled={!createPermission.data?.status.allowed}\n >\n <PlusOutlined />\n Add\n </Button>\n {selectedRowKeys.length > 0 && (\n <Flex gap={16}>\n <Button type=\"primary\" onClick={clearSelected}>\n <ClearOutlined />\n Clear\n </Button>\n <Button type=\"primary\" onClick={() => setIsDeleteModalManyOpen(selectedRowsData)}>\n <MinusOutlined />\n Delete\n </Button>\n </Flex>\n )}\n </Flex>\n </PaddingContainer>\n )}\n {isDeleteModalOpen && (\n <DeleteModal\n name={isDeleteModalOpen.name}\n onClose={() => {\n setIsDeleteModalOpen(false)\n clearSelected()\n }}\n endpoint={isDeleteModalOpen.endpoint}\n />\n )}\n {isDeleteModalManyOpen !== false && (\n <DeleteModalMany\n data={isDeleteModalManyOpen}\n onClose={() => {\n setIsDeleteModalManyOpen(false)\n clearSelected()\n }}\n />\n )}\n </>\n )\n}\n"],"names":["antdtheme","theme","jsx","jsxs","Fragment","selectedRowKeys","selectedRowsData"],"mappings":";;;;;;;;;AAMA,MAAM,iBAAiB,MAAO,CAAA,GAAA;AAAA,SAAA,EACnB,CAAC,EAAE,UAAW,EAAA,KAAM,UAAU,CAAA;;AAAA;AAAA;AAAA,WAAA,EAI5B,CAAC,EAAE,UAAW,EAAA,KAAM,UAAU,CAAA;AAAA;AAAA,CAAA;AAIpC,MAAM,MAAS,GAAA;AAAA,EACpB;AACF,CAAA;;ACeO,MAAM,qBAAmD,CAAC;AAAA,EAC/D,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,oBAAA;AAAA,EACA,yBAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA,4BAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,WAAW,WAAY,EAAA;AAC7B,EAAA,MAAM,SAAS,SAAU,EAAA;AACzB,EAAA,MAAM,WAAW,WAAY,EAAA;AAC7B,EAAA,MAAM,EAAE,KAAA,EAAU,GAAAA,KAAA,CAAU,QAAS,EAAA;AAErC,EAAA,MAAM,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAA,QAAA,CAAsB,EAAE,CAAA;AACtE,EAAA,MAAM,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAA,QAAA,CAA+C,EAAE,CAAA;AACjG,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAAqD,KAAK,CAAA;AAC5G,EAAM,MAAA,CAAC,qBAAuB,EAAA,wBAAwB,CAAI,GAAA,QAAA;AAAA,IACxD;AAAA,GACF;AAEA,EAAA,MAAM,EAAE,IAAM,EAAA,cAAA,EAAgB,SAAW,EAAA,mBAAA,KAAwB,aAAc,EAAA;AAE/E,EAAA,MAAMC,UAAQ,QAAS,EAAA;AACvB,EAAA,MAAM,aAAa,aAAc,EAAA;AAEjC,EAAA,MAAM,gBAAgB,UAAW,CAAA,UAAA,CAAW,OAA2C,CAAC,GAAA,EAAK,OAAO,KAAU,KAAA;AAC5G,IAAI,GAAA,CAAA,KAAA,CAAM,QAAS,EAAC,CAAI,GAAA,KAAA;AACxB,IAAO,OAAA,GAAA;AAAA,GACT,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,kBAAkB,QAAS,CAAA,EAAE,MAAM,OAAS,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAEjF,EAAM,MAAA,iBAAA,GAAoB,YAAY,QAAS,CAAA,EAAE,MAAM,SAAW,EAAA,aAAA,EAAe,cAAe,EAAC,CAAI,GAAA,MAAA;AAErG,EAAA,MAAM,yBAAyB,WAC3B,GAAA;AAAA,IACE,QAAA,EAAU,WAAY,CAAA,QAAA,GAClB,QAAS,CAAA,EAAE,IAAM,EAAA,WAAA,CAAY,QAAU,EAAA,aAAA,EAAe,cAAe,EAAC,CACtE,GAAA,MAAA;AAAA,IACJ,UAAA,EAAY,SAAS,EAAE,IAAA,EAAM,YAAY,UAAY,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAAA,IACpF,MAAA,EAAQ,SAAS,EAAE,IAAA,EAAM,YAAY,MAAQ,EAAA,aAAA,EAAe,gBAAgB;AAAA,GAE9E,GAAA,MAAA;AAEJ,EAAM,MAAA,mBAAA,GACJ,sBAAwB,EAAA,QAAA,KAAa,GACjC,GAAA,EAAE,UAAY,EAAA,sBAAA,CAAuB,UAAY,EAAA,MAAA,EAAQ,sBAAuB,CAAA,MAAA,EAChF,GAAA,sBAAA;AAEN,EAAA,MAAM,0BAA0B,eAC5B,GAAA;AAAA,IACE,OAAS,EAAA,eAAA;AAAA,IACT,gBAAA,EAAkB,eAAgB,CAAA,gBAAA,GAC9B,QAAS,CAAA,EAAE,IAAM,EAAA,eAAA,CAAgB,gBAAkB,EAAA,aAAA,EAAe,cAAe,EAAC,CAClF,GAAA,MAAA;AAAA,IACJ,MAAA,EAAQ,SAAS,EAAE,IAAA,EAAM,gBAAgB,MAAQ,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAAA,IAChF,QAAA,EAAU,eAAgB,CAAA,QAAA,GACtB,QAAS,CAAA,EAAE,IAAM,EAAA,eAAA,CAAgB,QAAU,EAAA,aAAA,EAAe,cAAe,EAAC,CAC1E,GAAA,MAAA;AAAA,IACJ,UAAA,EAAY,SAAS,EAAE,IAAA,EAAM,gBAAgB,UAAY,EAAA,aAAA,EAAe,gBAAgB;AAAA,GAE1F,GAAA,MAAA;AAEJ,EAAA,MAAM,mBAAmB,cAAe,CAAA;AAAA,IACtC,UAAU,uBAAyB,EAAA,QAAA;AAAA,IACnC,MAAA,EAAQ,yBAAyB,MAAU,IAAA,EAAA;AAAA,IAC3C,SAAW,EAAA,iBAAA;AAAA,IACX,OAAS,EAAA,eAAA;AAAA,IACT,IAAM,EAAA,QAAA;AAAA,IACN,eAAiB,EAAA,KAAA;AAAA,IACjB,OAAS,EAAA,OAAA,CAAQ,uBAA2B,IAAA,eAAA,IAAmB,CAAC,mBAAmB;AAAA,GACpF,CAAA;AAED,EAAM,MAAA,gBAAA,GAAmB,WAAW,QAAS,CAAA,EAAE,MAAM,QAAU,EAAA,aAAA,EAAe,cAAe,EAAC,CAAI,GAAA,MAAA;AAElG,EAAA,MAAM,6BAA6B,kBAC/B,GAAA;AAAA,IACE,QAAA,EAAU,kBAAmB,CAAA,QAAA,GACzB,QAAS,CAAA,EAAE,IAAM,EAAA,kBAAA,CAAmB,QAAU,EAAA,aAAA,EAAe,cAAe,EAAC,CAC7E,GAAA,MAAA;AAAA,IACJ,UAAA,EAAY,SAAS,EAAE,IAAA,EAAM,mBAAmB,UAAY,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAAA,IAC3F,MAAA,EAAQ,SAAS,EAAE,IAAA,EAAM,mBAAmB,MAAQ,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAAA,IACnF,SAAA,EAAW,kBAAmB,CAAA,SAAA,GAC1B,QAAS,CAAA,EAAE,IAAM,EAAA,kBAAA,CAAmB,SAAW,EAAA,aAAA,EAAe,cAAe,EAAC,CAC9E,GAAA;AAAA,GAEN,GAAA,MAAA;AAEJ,EAAM,MAAA,OAAA,GAAU,IAAI,eAAgB,EAAA;AAEpC,EAAA,IAAI,iBAAiB,MAAO,CAAA,IAAA,CAAK,aAAa,CAAA,CAAE,SAAS,CAAG,EAAA;AAC1D,IAAA,MAAM,eAAuC,MAAO,CAAA,WAAA;AAAA,MAClD,MAAA,CAAO,OAAQ,CAAA,aAAa,CAAE,CAAA,GAAA;AAAA,QAC5B,CAAC,CAAC,CAAG,EAAA,CAAC,MAAM,CAAC,CAAA,EAAG,QAAS,CAAA,EAAE,IAAM,EAAA,CAAA,EAAG,aAAe,EAAA,cAAA,EAAgB,CAAC;AAAA;AACtE,KACF;AACA,IAAM,MAAA,gBAAA,GAAmB,8BAA8B,YAAY,CAAA;AACnE,IAAA,IAAI,iBAAiB,MAAS,GAAA,CAAA,EAAW,OAAA,CAAA,GAAA,CAAI,iBAAiB,gBAAgB,CAAA;AAAA;AAGhF,EAAA,IAAI,iBAAmB,EAAA;AACrB,IAAA,MAAM,IAAO,GAAA,cAAA,CAAe,CAAM,GAAA,EAAA,iBAAA,CAAkB,QAAQ,CAAE,CAAA,CAAA;AAC9D,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,OAAA,CAAQ,iBAAkB,CAAA,YAAY,IACtD,CAAE,CAAA,GAAA,CAAI,IAAQ,IAAA,EAAI,EAAA,iBAAA,CAAkB,YAAY,CAChD,GAAA,EAAA,CAAG,KAAM,CAAA,IAAA,IAAQ,EAAC,EAAG,IAAI,iBAAkB,CAAA,YAAY,CAAE,CAAA,CAAA,CAAE,CAAC,CAAA;AAEhE,IAAM,MAAA,gBAAA,GAAmB,8BAA8B,KAAK,CAAA;AAC5D,IAAA,IAAI,iBAAiB,MAAS,GAAA,CAAA,EAAW,OAAA,CAAA,GAAA,CAAI,iBAAiB,gBAAgB,CAAA;AAAA;AAGhF,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,MAAM,eAAuC,MAAO,CAAA,WAAA;AAAA,MAClD,MAAA,CAAO,OAAQ,CAAA,aAAa,CAAE,CAAA,GAAA;AAAA,QAC5B,CAAC,CAAC,CAAG,EAAA,CAAC,CACJ,KAAA;AAAA,UACE,SAAS,EAAE,IAAA,EAAM,CAAG,EAAA,aAAA,EAAe,gBAAgB,CAAA;AAAA,UACnD,SAAS,EAAE,IAAA,EAAM,CAAG,EAAA,aAAA,EAAe,gBAAgB;AAAA;AACrD;AACJ,KACF;AACA,IAAM,MAAA,gBAAA,GAAmB,8BAA8B,YAAY,CAAA;AAEnE,IAAA,IAAI,iBAAiB,MAAS,GAAA,CAAA,EAAW,OAAA,CAAA,GAAA,CAAI,iBAAiB,gBAAgB,CAAA;AAAA;AAGhF,EAAM,MAAA,YAAA,GAAe,QAAQ,QAAS,EAAA;AAEtC,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,SAAW,EAAA,oBAAA;AAAA,IACX,KAAO,EAAA;AAAA,MACL,wBAAkC,CAAA;AAAA,IACpC,GAAA,EAAK,GAAG,gBAAgB,CAAA,EAAG,eAAe,CAAI,CAAA,EAAA,YAAY,KAAK,EAAE,CAAA,CAAA;AAAA,IACjE,QAAA,EAAU,CAAC,CAAA,EAAG,gBAAgB,CAAA,EAAG,eAAe,CAAI,CAAA,EAAA,YAAY,CAAK,CAAA,GAAA,EAAE,CAAE,CAAA,CAAA;AAAA,IACzE,SAAW,EAAA,OAAA,CAAQ,CAAC,mBAAA,IAAuB,gBAAgB;AAAA,GAC5D,CAAA;AAED,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,iBAAA;AAAA,IACN,SAAW,EAAA,0BAAA;AAAA,IACX,KAAO,EAAA;AAAA,MACL,mBAAyC,CAAA;AAAA,IAC3C,SAAS,eAAmB,IAAA,EAAA;AAAA,IAC5B,WAAW,0BAA4B,EAAA,SAAA;AAAA,IACvC,UAAU,0BAA4B,EAAA,QAAA;AAAA,IACtC,UAAA,EAAY,4BAA4B,UAAc,IAAA,EAAA;AAAA,IACtD,MAAA,EAAQ,4BAA4B,MAAU,IAAA,EAAA;AAAA,IAC9C,aAAe,EAAA,OAAA,CAAQ,GAAI,CAAA,eAAe,CAAK,IAAA,MAAA;AAAA,IAC/C,aAAe,EAAA,OAAA,CAAQ,GAAI,CAAA,eAAe,CAAK,IAAA,MAAA;AAAA,IAC/C,SAAW,EAAA,OAAA,CAAQ,CAAC,mBAAA,IAAuB,0BAA0B;AAAA,GACtE,CAAA;AAED,EAAA,IAAI,oBAAoB,mBAAqB,EAAA;AAC3C,IAAO,uBAAAC,qBAAA,CAAC,SAAI,QAAkB,EAAA,oBAAA,EAAA,CAAA;AAAA;AAGhC,EAAA,IAAI,8BAA8B,mBAAqB,EAAA;AACrD,IAAO,uBAAAA,qBAAA,CAAC,SAAI,QAAkB,EAAA,oBAAA,EAAA,CAAA;AAAA;AAOhC,EAAA,IAAI,oBAAoB,oBAAsB,EAAA;AAC5C,IAAA,6CACG,IAAK,EAAA,EAAA,OAAA,EAAQ,QACZ,EAAA,QAAA,kBAAAA,qBAAA,CAAC,QAAK,CACR,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,8BAA8B,0BAA4B,EAAA;AAC5D,IAAA,6CACG,IAAK,EAAA,EAAA,OAAA,EAAQ,QACZ,EAAA,QAAA,kBAAAA,qBAAA,CAAC,QAAK,CACR,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,oBAAoB,gBAAkB,EAAA;AACxC,IAAA,8CAAQ,KAAI,EAAA,EAAA,QAAA,EAAA;AAAA,MAAA,SAAA;AAAA,MAAQ,IAAA,CAAK,UAAU,gBAAgB;AAAA,KAAE,EAAA,CAAA;AAAA;AAGvD,EAAA,IAAI,8BAA8B,sBAAwB,EAAA;AACxD,IAAA,8CAAQ,KAAI,EAAA,EAAA,QAAA,EAAA;AAAA,MAAA,SAAA;AAAA,MAAQ,IAAA,CAAK,UAAU,gBAAgB;AAAA,KAAE,EAAA,CAAA;AAAA;AAGvD,EAAM,MAAA,kBAAA,GAAqB,WAAe,IAAA,iBAAA,IAAqB,EAAC;AAEhE,EAAM,MAAA,KAAA,GAAQ,MAAM,OAAQ,CAAA,WAAW,IACnC,CAAE,CAAA,GAAA,CAAI,sBAAsB,EAAC,EAAG,WAAW,CAC3C,GAAA,EAAA,CAAG,MAAM,kBAAsB,IAAA,IAAI,CAAI,CAAA,EAAA,WAAW,CAAE,CAAA,CAAA,CAAE,CAAC,CAAA;AAE3D,EAAA,MAAM,iBAAiB,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,QAAQ,EAAC;AAEvD,EAAA,IAAI,qBAAwC,EAAC;AAC7C,EAAA,IAAI,4BAA8B,EAAA;AAChC,IAAA,4BAAA,CAA6B,QAAQ,CAAQ,IAAA,KAAA;AAC3C,MAAA,kBAAA,EAAoB,IAAK,CAAA,cAAA,CAAe,CAAM,GAAA,EAAA,IAAI,EAAE,CAAC,CAAA;AAAA,KACtD,CAAA;AAAA;AAEH,EAAqB,kBAAA,GAAA,kBAAA,CAAmB,MAAS,GAAA,CAAA,GAAI,kBAAqB,GAAA,MAAA;AAE1E,EAAM,MAAA,gCAAA,GAAmC,cAAe,CAAA,GAAA,CAAI,CAAO,EAAA,MAAA;AAAA,IACjE,GAAG,EAAA;AAAA,IACH,GAAI,kBAAA,GAAqB,EAAE,kBAAA,KAAuB;AAAC,GACnD,CAAA,CAAA;AAMF,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,kBAAA,CAAmB,EAAE,CAAA;AACrB,IAAA,mBAAA,CAAoB,EAAE,CAAA;AAAA,GACxB;AAEA,EAAM,MAAA,cAAA,GAAiB,CAAC,IAAA,EAAc,QAAqB,KAAA;AACzD,IAAqB,oBAAA,CAAA,EAAE,IAAM,EAAA,QAAA,EAAU,CAAA;AAAA,GACzC;AAEA,EAAA,MAAM,WAAW,CAAG,EAAA,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAS,MAAM,CAAA,CAAA;AAEvD,EAAM,MAAA,kBAAA,GAAqB,aAAa,QAAS,CAAA,EAAE,MAAM,UAAY,EAAA,aAAA,EAAe,cAAe,EAAC,CAAI,GAAA,MAAA;AACxG,EAAM,MAAA,4BAAA,GAA+B,uBACjC,QAAS,CAAA,EAAE,MAAM,oBAAsB,EAAA,aAAA,EAAe,cAAe,EAAC,CACtE,GAAA,MAAA;AAEJ,EAAA,uBAEIC,sBAAA,CAAAC,0BAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAF,qBAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,KAAO,EAAA,OAAA;AAAA,QACP,UAAY,EAAA,kBAAA;AAAA,QACZ,oBAAsB,EAAA,4BAAA;AAAA,QACtB,yBAAA;AAAA,QACA,cAAA;AAAA,QAEA,gDAAC,MAAO,CAAA,cAAA,EAAP,EAAsB,UAAA,EAAY,MAAM,SACvC,EAAA,QAAA,kBAAAA,qBAAA;AAAA,UAAC,qBAAA;AAAA,UAAA;AAAA,YACC,0BAA4B,EAAA,aAAA;AAAA,YAC5B,OAAS,EAAA,eAAA;AAAA,YACT,SAAW,EAAA,iBAAA;AAAA,mBACXD,OAAA;AAAA,YACA,SAAW,EAAA,gCAAA;AAAA,YACX,UAAY,EAAA;AAAA,cACV,UAAY,EAAA,IAAA;AAAA,cACZ,kBAAA,EAAoB,CAAC,aAAa,CAAA;AAAA,cAClC,WAAa,EAAA,IAAA;AAAA,cACb,QAAA,wCAAW,QAAS,EAAA,EAAA,CAAA;AAAA,cACpB,UAAA,wCAAa,UAAW,EAAA,EAAA,CAAA;AAAA,cACxB,iBAAmB,EAAA;AAAA,aACrB;AAAA,YACA,YACE,uBACI,GAAA;AAAA,cACE,eAAA;AAAA,cACA,QAAA,EAAU,CACRI,gBAAAA,EACAC,iBACG,KAAA;AACH,gBAAA,kBAAA,CAAmBD,gBAAe,CAAA;AAClC,gBAAA,mBAAA,CAAoBC,iBAAgB,CAAA;AAAA;AACtC,aAEF,GAAA,MAAA;AAAA,YAEN,WAAa,EAAA,mBAAA;AAAA,YACb,uBAAA,EAAyB,EAAE,cAAe,EAAA;AAAA,YAC1C,eAAiB,EAAA,uBAAA;AAAA,YACjB,iBAAiB,CAAC,uBAAA;AAAA,YAClB,UAAA;AAAA,YACA,SAAA;AAAA,YACC,GAAG;AAAA;AAAA,SAER,EAAA;AAAA;AAAA,KACF;AAAA,IACC,uBAAA,0CACE,gBAAiB,EAAA,EAAA,QAAA,EAAS,OACzB,QAAC,kBAAAH,sBAAA,CAAA,IAAA,EAAA,EAAK,SAAQ,eACZ,EAAA,QAAA,EAAA;AAAA,sBAAAA,sBAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,SAAA;AAAA,UACL,SAAS,MAAM;AACb,YAAA,MAAM,MAAM,aAAc,CAAA;AAAA,cACxB,OAAS,EAAA,eAAA;AAAA,cACT,UAAA;AAAA,cACA,SAAW,EAAA,iBAAA;AAAA,cACX,kBAAkB,MAAO,CAAA,gBAAA;AAAA,cACzB,UAAU,uBAAwB,CAAA,QAAA;AAAA,cAClC,YAAY,uBAAwB,CAAA,UAAA;AAAA,cACpC,QAAQ,uBAAwB,CAAA,MAAA;AAAA,cAChC;AAAA,aACD,CAAA;AACD,YAAA,QAAA,CAAS,GAAG,CAAA;AAAA,WACd;AAAA,UACA,SAAS,gBAAiB,CAAA,SAAA;AAAA,UAC1B,QAAU,EAAA,CAAC,gBAAiB,CAAA,IAAA,EAAM,MAAO,CAAA,OAAA;AAAA,UAEzC,QAAA,EAAA;AAAA,4BAAAD,qBAAA,CAAC,YAAa,EAAA,EAAA,CAAA;AAAA,YAAE;AAAA;AAAA;AAAA,OAElB;AAAA,MACC,gBAAgB,MAAS,GAAA,CAAA,oBACvBC,sBAAA,CAAA,IAAA,EAAA,EAAK,KAAK,EACT,EAAA,QAAA,EAAA;AAAA,wBAAAA,sBAAA,CAAC,MAAO,EAAA,EAAA,IAAA,EAAK,SAAU,EAAA,OAAA,EAAS,aAC9B,EAAA,QAAA,EAAA;AAAA,0BAAAD,qBAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,UAAE;AAAA,SAEnB,EAAA,CAAA;AAAA,wBACAC,sBAAA,CAAC,UAAO,IAAK,EAAA,SAAA,EAAU,SAAS,MAAM,wBAAA,CAAyB,gBAAgB,CAC7E,EAAA,QAAA,EAAA;AAAA,0BAAAD,qBAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,UAAE;AAAA,SAEnB,EAAA;AAAA,OACF,EAAA;AAAA,KAAA,EAEJ,CACF,EAAA,CAAA;AAAA,IAED,iBACC,oBAAAA,qBAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,MAAM,iBAAkB,CAAA,IAAA;AAAA,QACxB,SAAS,MAAM;AACb,UAAA,oBAAA,CAAqB,KAAK,CAAA;AAC1B,UAAc,aAAA,EAAA;AAAA,SAChB;AAAA,QACA,UAAU,iBAAkB,CAAA;AAAA;AAAA,KAC9B;AAAA,IAED,0BAA0B,KACzB,oBAAAA,qBAAA;AAAA,MAAC,eAAA;AAAA,MAAA;AAAA,QACC,IAAM,EAAA,qBAAA;AAAA,QACN,SAAS,MAAM;AACb,UAAA,wBAAA,CAAyB,KAAK,CAAA;AAC9B,UAAc,aAAA,EAAA;AAAA;AAChB;AAAA;AACF,GAEJ,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"index-BOKNPmwt.mjs","sources":["../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/styled.ts","../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/EnrichedTableModal.tsx"],"sourcesContent":["import styled from 'styled-components'\n\ntype TColorContainerProps = {\n $colorText: string\n}\n\nconst ColorContainer = styled.div<TColorContainerProps>`\n color: ${({ $colorText }) => $colorText};\n\n & tr,\n td {\n color: ${({ $colorText }) => $colorText};\n }\n`\n\nexport const Styled = {\n ColorContainer,\n}\n","/* eslint-disable max-lines-per-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useState, CSSProperties } from 'react'\nimport jp from 'jsonpath'\nimport _ from 'lodash'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { Flex, Spin, Button, theme as antdtheme } from 'antd'\nimport { PlusOutlined, ClearOutlined, MinusOutlined } from '@ant-design/icons'\nimport { EditIcon, DeleteIcon, PaddingContainer, DeleteModal, DeleteModalMany } from 'components/atoms'\nimport { EnrichedTableProvider } from 'components/molecules'\nimport { usePermissions } from 'hooks/usePermissions'\nimport { useK8sSmartResource } from 'hooks/useK8sSmartResource'\nimport { useDirectUnknownResource } from 'hooks/useDirectUnknownResource'\nimport { getLinkToForm } from 'utils/tableLocations'\nimport { useMultiQuery } from '../../../../../DynamicRendererWithProviders/providers/hybridDataProvider'\nimport { usePartsOfUrl } from '../../../../../DynamicRendererWithProviders/providers/partsOfUrlContext'\nimport { useTheme } from '../../../../../DynamicRendererWithProviders/providers/themeContext'\nimport { serializeLabelsWithNoEncoding } from '../../../../utils/EnrichedTable'\nimport { TEnrichedTableProps as TInnerProps } from '../../../../types/EnrichedTable'\nimport { parseAll } from '../../../utils'\nimport { ReadOnlyModal } from '../../../../atoms/modals'\nimport { Styled } from './styled'\n\ntype TEnrichedTableModalProps = {\n open: boolean\n onClose: () => void\n modalTitle?: string\n modalDescriptionText?: string\n modalDescriptionTextStyle?: CSSProperties\n editModalWidth?: number | string\n} & TInnerProps\n\nexport const EnrichedTableModal: FC<TEnrichedTableModalProps> = ({\n open,\n onClose,\n modalTitle,\n modalDescriptionText,\n modalDescriptionTextStyle,\n editModalWidth,\n fetchUrl,\n k8sResourceToFetch,\n pathToItems,\n additionalReqsDataToEachItem,\n cluster,\n labelSelector,\n labelSelectorFull,\n fieldSelector,\n namespace,\n k8sResource,\n dataForControls,\n baseprefix,\n pathToKey,\n ...props\n}) => {\n const location = useLocation()\n const params = useParams()\n const navigate = useNavigate()\n const { token } = antdtheme.useToken()\n\n const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([])\n const [selectedRowsData, setSelectedRowsData] = useState<{ name: string; endpoint: string }[]>([])\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState<false | { name: string; endpoint: string }>(false)\n const [isDeleteModalManyOpen, setIsDeleteModalManyOpen] = useState<false | { name: string; endpoint: string }[]>(\n false,\n )\n\n const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery()\n\n const theme = useTheme()\n const partsOfUrl = usePartsOfUrl()\n\n const replaceValues = partsOfUrl.partsOfUrl.reduce<Record<string, string | undefined>>((acc, value, index) => {\n acc[index.toString()] = value\n return acc\n }, {})\n\n const clusterPrepared = parseAll({ text: cluster, replaceValues, multiQueryData })\n\n const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : undefined\n\n const k8sResourcePrePrepared = k8sResource\n ? {\n apiGroup: k8sResource.apiGroup\n ? parseAll({ text: k8sResource.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResource.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResource.plural, replaceValues, multiQueryData }),\n }\n : undefined\n\n const k8sResourcePrepared =\n k8sResourcePrePrepared?.apiGroup === '-'\n ? { apiVersion: k8sResourcePrePrepared.apiVersion, plural: k8sResourcePrePrepared.plural }\n : k8sResourcePrePrepared\n\n const dataForControlsPrepared = dataForControls\n ? {\n cluster: clusterPrepared,\n syntheticProject: dataForControls.syntheticProject\n ? parseAll({ text: dataForControls.syntheticProject, replaceValues, multiQueryData })\n : undefined,\n plural: parseAll({ text: dataForControls.plural, replaceValues, multiQueryData }),\n apiGroup: dataForControls.apiGroup\n ? parseAll({ text: dataForControls.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: dataForControls.apiVersion, replaceValues, multiQueryData }),\n }\n : undefined\n\n const createPermission = usePermissions({\n apiGroup: dataForControlsPrepared?.apiGroup,\n plural: dataForControlsPrepared?.plural || '',\n namespace: namespacePrepared,\n cluster: clusterPrepared,\n verb: 'create',\n refetchInterval: false,\n enabler: Boolean(dataForControlsPrepared && clusterPrepared && !isMultiqueryLoading),\n })\n\n const fetchUrlPrepared = fetchUrl ? parseAll({ text: fetchUrl, replaceValues, multiQueryData }) : undefined\n\n const k8sResourceToFetchPrepared = k8sResourceToFetch\n ? {\n apiGroup: k8sResourceToFetch.apiGroup\n ? parseAll({ text: k8sResourceToFetch.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResourceToFetch.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResourceToFetch.plural, replaceValues, multiQueryData }),\n namespace: k8sResourceToFetch.namespace\n ? parseAll({ text: k8sResourceToFetch.namespace, replaceValues, multiQueryData })\n : undefined,\n }\n : undefined\n\n const sParams = new URLSearchParams()\n\n if (labelSelector && Object.keys(labelSelector).length > 0) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(labelSelector).map(\n ([k, v]) => [k, parseAll({ text: v, replaceValues, multiQueryData })] as [string, string],\n ),\n )\n const serializedLabels = serializeLabelsWithNoEncoding(parsedObject)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (labelSelectorFull) {\n const root = multiQueryData[`req${labelSelectorFull.reqIndex}`]\n const value = Array.isArray(labelSelectorFull.pathToLabels)\n ? _.get(root || {}, labelSelectorFull.pathToLabels)\n : jp.query(root || {}, `$${labelSelectorFull.pathToLabels}`)[0]\n\n const serializedLabels = serializeLabelsWithNoEncoding(value)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (fieldSelector) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(fieldSelector).map(\n ([k, v]) =>\n [\n parseAll({ text: k, replaceValues, multiQueryData }),\n parseAll({ text: v, replaceValues, multiQueryData }),\n ] as [string, string],\n ),\n )\n const serializedFields = serializeLabelsWithNoEncoding(parsedObject)\n\n if (serializedFields.length > 0) sParams.set('fieldSelector', serializedFields)\n }\n\n const searchParams = sParams.toString()\n\n const {\n data: fetchedData,\n isLoading: isFetchedDataLoading,\n error: fetchedDataError,\n } = useDirectUnknownResource<unknown>({\n uri: `${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`,\n queryKey: [`${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`],\n isEnabled: Boolean(!isMultiqueryLoading && fetchUrlPrepared),\n })\n\n const {\n data: fetchedDataSocket,\n isLoading: isFetchedDataSocketLoading,\n error: fetchedDataSocketError,\n } = useK8sSmartResource<{ items?: unknown }>({\n cluster: clusterPrepared || '',\n namespace: k8sResourceToFetchPrepared?.namespace,\n apiGroup: k8sResourceToFetchPrepared?.apiGroup,\n apiVersion: k8sResourceToFetchPrepared?.apiVersion || '',\n plural: k8sResourceToFetchPrepared?.plural || '',\n fieldSelector: sParams.get('fieldSelector') || undefined,\n labelSelector: sParams.get('labelSelector') || undefined,\n isEnabled: Boolean(!isMultiqueryLoading && k8sResourceToFetchPrepared),\n })\n\n if (fetchUrlPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n if (k8sResourceToFetchPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n // if (!fetchedData) {\n // return <div>No data has been fetched</div>\n // }\n\n if (fetchUrlPrepared && isFetchedDataLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (k8sResourceToFetchPrepared && isFetchedDataSocketLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (fetchUrlPrepared && fetchedDataError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n if (k8sResourceToFetchPrepared && fetchedDataSocketError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n const dataFromOneOfHooks = fetchedData || fetchedDataSocket || {}\n\n const items = Array.isArray(pathToItems)\n ? _.get(dataFromOneOfHooks || {}, pathToItems)\n : jp.query(dataFromOneOfHooks || {}, `$${pathToItems}`)[0]\n\n const itemsAlwaysArr = Array.isArray(items) ? items : []\n\n let additionalReqsData: any[] | undefined = []\n if (additionalReqsDataToEachItem) {\n additionalReqsDataToEachItem.forEach(item => {\n additionalReqsData?.push(multiQueryData[`req${item}`])\n })\n }\n additionalReqsData = additionalReqsData.length > 0 ? additionalReqsData : undefined\n\n const itemsAlwaysArrWithAdditionalData = itemsAlwaysArr.map(el => ({\n ...el,\n ...(additionalReqsData ? { additionalReqsData } : {}),\n }))\n\n // if (!items) {\n // return <div>No data on this path {JSON.stringify(pathToItems)}</div>\n // }\n\n const clearSelected = () => {\n setSelectedRowKeys([])\n setSelectedRowsData([])\n }\n\n const onDeleteHandle = (name: string, endpoint: string) => {\n setIsDeleteModalOpen({ name, endpoint })\n }\n\n const fullPath = `${location.pathname}${location.search}`\n\n const modalTitlePrepared = modalTitle ? parseAll({ text: modalTitle, replaceValues, multiQueryData }) : 'Edit'\n const modalDescriptionTextPrepared = modalDescriptionText\n ? parseAll({ text: modalDescriptionText, replaceValues, multiQueryData })\n : undefined\n\n return (\n <>\n <ReadOnlyModal\n open={open}\n close={onClose}\n modalTitle={modalTitlePrepared}\n modalDescriptionText={modalDescriptionTextPrepared}\n modalDescriptionTextStyle={modalDescriptionTextStyle}\n editModalWidth={editModalWidth}\n >\n <Styled.ColorContainer $colorText={token.colorText}>\n <EnrichedTableProvider\n tableMappingsReplaceValues={replaceValues}\n cluster={clusterPrepared}\n namespace={namespacePrepared}\n theme={theme}\n dataItems={itemsAlwaysArrWithAdditionalData}\n tableProps={{\n borderless: true,\n paginationPosition: ['bottomRight'],\n isTotalLeft: true,\n editIcon: <EditIcon />,\n deleteIcon: <DeleteIcon />,\n disablePagination: true,\n }}\n selectData={\n dataForControlsPrepared\n ? {\n selectedRowKeys,\n onChange: (\n selectedRowKeys: React.Key[],\n selectedRowsData: { name: string; endpoint: string }[],\n ) => {\n setSelectedRowKeys(selectedRowKeys)\n setSelectedRowsData(selectedRowsData)\n },\n }\n : undefined\n }\n k8sResource={k8sResourcePrepared}\n dataForControlsInternal={{ onDeleteHandle }}\n dataForControls={dataForControlsPrepared}\n withoutControls={!dataForControlsPrepared}\n baseprefix={baseprefix}\n pathToKey={pathToKey}\n {...props}\n />\n </Styled.ColorContainer>\n </ReadOnlyModal>\n {dataForControlsPrepared && (\n <PaddingContainer $padding=\"4px\">\n <Flex justify=\"space-between\">\n <Button\n type=\"primary\"\n onClick={() => {\n const url = getLinkToForm({\n cluster: clusterPrepared,\n baseprefix,\n namespace: namespacePrepared,\n syntheticProject: params.syntheticProject,\n apiGroup: dataForControlsPrepared.apiGroup,\n apiVersion: dataForControlsPrepared.apiVersion,\n plural: dataForControlsPrepared.plural,\n fullPath,\n })\n navigate(url)\n }}\n loading={createPermission.isPending}\n disabled={!createPermission.data?.status.allowed}\n >\n <PlusOutlined />\n Add\n </Button>\n {selectedRowKeys.length > 0 && (\n <Flex gap={16}>\n <Button type=\"primary\" onClick={clearSelected}>\n <ClearOutlined />\n Clear\n </Button>\n <Button type=\"primary\" onClick={() => setIsDeleteModalManyOpen(selectedRowsData)}>\n <MinusOutlined />\n Delete\n </Button>\n </Flex>\n )}\n </Flex>\n </PaddingContainer>\n )}\n {isDeleteModalOpen && (\n <DeleteModal\n name={isDeleteModalOpen.name}\n onClose={() => {\n setIsDeleteModalOpen(false)\n clearSelected()\n }}\n endpoint={isDeleteModalOpen.endpoint}\n />\n )}\n {isDeleteModalManyOpen !== false && (\n <DeleteModalMany\n data={isDeleteModalManyOpen}\n onClose={() => {\n setIsDeleteModalManyOpen(false)\n clearSelected()\n }}\n />\n )}\n </>\n )\n}\n"],"names":["antdtheme","theme","jsx","jsxs","Fragment","selectedRowKeys","selectedRowsData"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as React$1 from 'react';
3
3
  import React__default, { useState, useRef, useLayoutEffect, useReducer, useEffect, useCallback, useMemo, Fragment, createContext, useContext, memo, createElement, isValidElement, cloneElement, useInsertionEffect, useSyncExternalStore, forwardRef, useImperativeHandle, PureComponent, Children, Component, lazy, Suspense } from 'react';
4
4
  import { Input, Tree, Modal, Alert, theme, Select, Tag, Flex, Typography, Breadcrumb, Spin, Menu, Tooltip as Tooltip$1, Space, Button, Card as Card$2, Row, Col, Tabs, notification, Form, Popover, Switch, Segmented, Table, Progress, Statistic, message, Dropdown, Slider, InputNumber, Result, DatePicker, Radio, Checkbox, Empty } from 'antd';
5
5
  import * as AntIcons from '@ant-design/icons';
6
- import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, PlusOutlined, ClearOutlined, MinusOutlined, CaretDownOutlined, CaretRightOutlined, InfoCircleOutlined, SearchOutlined, EyeOutlined, EyeInvisibleOutlined, CopyOutlined, WarningOutlined, MoreOutlined, DownOutlined, CheckOutlined, CloseOutlined, BugOutlined, EllipsisOutlined, PoweroffOutlined, FullscreenExitOutlined, FullscreenOutlined, SettingOutlined, ReloadOutlined } from '@ant-design/icons';
6
+ import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, PlusOutlined, ClearOutlined, MinusOutlined, CaretDownOutlined, CaretRightOutlined, InfoCircleOutlined, SearchOutlined, EyeOutlined, EyeInvisibleOutlined, CopyOutlined, WarningOutlined, MoreOutlined, DownOutlined, CheckOutlined, CloseOutlined, QuestionCircleOutlined, BugOutlined, EllipsisOutlined, PoweroffOutlined, FullscreenExitOutlined, FullscreenOutlined, SettingOutlined, ReloadOutlined } from '@ant-design/icons';
7
7
  import { useNavigate, useSearchParams, Link, useLocation, useParams } from 'react-router-dom';
8
8
  import { useQuery, useQueries, useQueryClient } from '@tanstack/react-query';
9
9
  import RFB from 'novnc-next';
@@ -77970,7 +77970,7 @@ const TolerationsModal = ({
77970
77970
  };
77971
77971
 
77972
77972
  const LazyEnrichedTableModal = lazy(
77973
- () => import('./index-eI1hWaeQ.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
77973
+ () => import('./index-BOKNPmwt.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
77974
77974
  );
77975
77975
  const renderActiveType = (activeType, extraProps) => {
77976
77976
  if (!activeType) return null;
@@ -81283,6 +81283,16 @@ const resolveFormPath = (pathInput, basePathForRelative) => {
81283
81283
  };
81284
81284
  const normalizeNameToPath = (name) => Array.isArray(name) ? name : [name];
81285
81285
 
81286
+ const prettyFieldPath = (name) => {
81287
+ return Array.isArray(name) ? name.map((segment) => String(segment)).join(".") : String(name);
81288
+ };
81289
+ const getRequiredRule = (isRequired, name) => {
81290
+ return {
81291
+ required: isRequired,
81292
+ message: `Please enter ${prettyFieldPath(name)}`
81293
+ };
81294
+ };
81295
+
81286
81296
  const FormListInput = ({
81287
81297
  name,
81288
81298
  arrKey,
@@ -81312,6 +81322,9 @@ const FormListInput = ({
81312
81322
  const rawRelatedFieldValue = Form.useWatch(relatedPath, form);
81313
81323
  const relatedFieldValue = relatedPath ? rawRelatedFieldValue : void 0;
81314
81324
  const relatedTouched = relatedPath ? form.isFieldTouched(relatedPath) : "~";
81325
+ const isWaitingForRelatedValue = Boolean(relatedPath && !rawRelatedFieldValue);
81326
+ const relatedPathLabel = relatedPath?.join(".");
81327
+ const relatedValueTooltip = relatedPathLabel ? isWaitingForRelatedValue ? `Please select ${relatedPathLabel} first` : `Depends on ${relatedPathLabel}` : void 0;
81315
81328
  const hasFiredRef = useRef(false);
81316
81329
  const relatedFieldValuePrev = useRef("unset");
81317
81330
  const hasSeededRef = useRef(false);
@@ -81428,21 +81441,25 @@ const FormListInput = ({
81428
81441
  ResetedFormItem$1,
81429
81442
  {
81430
81443
  name: arrName || fixedName,
81431
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
81444
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
81432
81445
  validateTrigger: "onBlur",
81433
81446
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81434
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
81435
- Select,
81436
- {
81437
- mode: customProps.mode,
81438
- placeholder: "Select",
81439
- options: uniqueOptions,
81440
- filterOption: filterSelectOptions,
81441
- disabled: relatedPath && !rawRelatedFieldValue,
81442
- allowClear: true,
81443
- showSearch: true
81444
- }
81445
- )
81447
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 8, align: "center", children: [
81448
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
81449
+ Select,
81450
+ {
81451
+ mode: customProps.mode,
81452
+ placeholder: "Select",
81453
+ options: uniqueOptions,
81454
+ filterOption: filterSelectOptions,
81455
+ disabled: isWaitingForRelatedValue,
81456
+ allowClear: true,
81457
+ showSearch: true,
81458
+ style: { width: "100%" }
81459
+ }
81460
+ ),
81461
+ relatedValueTooltip && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: relatedValueTooltip, children: /* @__PURE__ */ jsxRuntimeExports.jsx(QuestionCircleOutlined, {}) })
81462
+ ] })
81446
81463
  },
81447
81464
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
81448
81465
  )
@@ -81612,7 +81629,7 @@ const RangeInput = ({
81612
81629
  ResetedFormItem$1,
81613
81630
  {
81614
81631
  name: arrName || name,
81615
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
81632
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
81616
81633
  validateTrigger: "onBlur",
81617
81634
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81618
81635
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Slider, { min, max, step, ...props })
@@ -81628,7 +81645,7 @@ const RangeInput = ({
81628
81645
  ResetedFormItem$1,
81629
81646
  {
81630
81647
  name: arrName || name,
81631
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
81648
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
81632
81649
  validateTrigger: "onBlur",
81633
81650
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81634
81651
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { min, max, step, value, disabled: props.disabled })
@@ -81857,7 +81874,7 @@ const FormNamespaceInput = ({
81857
81874
  ResetedFormItem$1,
81858
81875
  {
81859
81876
  name,
81860
- rules: [{ required: true }],
81877
+ rules: [getRequiredRule(true, name)],
81861
81878
  validateTrigger: "onBlur",
81862
81879
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81863
81880
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -81908,7 +81925,7 @@ const FormStringInput = ({
81908
81925
  ResetedFormItem$1,
81909
81926
  {
81910
81927
  name: arrName || fixedName,
81911
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
81928
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
81912
81929
  validateTrigger: "onBlur",
81913
81930
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81914
81931
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Input, { placeholder: getStringByName(name) })
@@ -81989,7 +82006,7 @@ const FormStringMultilineInput = ({
81989
82006
  ResetedFormItem$1,
81990
82007
  {
81991
82008
  name: arrName || fixedName,
81992
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
82009
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
81993
82010
  validateTrigger: "onBlur",
81994
82011
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
81995
82012
  style: {
@@ -82115,7 +82132,7 @@ const FormEnumStringInput = ({
82115
82132
  ResetedFormItem$1,
82116
82133
  {
82117
82134
  name: arrName || fixedName,
82118
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
82135
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
82119
82136
  validateTrigger: "onBlur",
82120
82137
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
82121
82138
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { options: options.map((el) => ({ value: el, label: el })), placeholder: getStringByName(name) })
@@ -82157,7 +82174,7 @@ const FormNumberInput = ({
82157
82174
  ResetedFormItem$1,
82158
82175
  {
82159
82176
  name: arrName || name,
82160
- rules: [{ required: forceNonRequired === false && required?.includes(getStringByName(name)) }],
82177
+ rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
82161
82178
  validateTrigger: "onBlur",
82162
82179
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
82163
82180
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { placeholder: getStringByName(name), step: isNumber ? 0.1 : 1 })
@@ -82777,7 +82794,7 @@ const getArrayFormItemFromSwagger = ({
82777
82794
  {
82778
82795
  validator: async (_, value) => {
82779
82796
  if (!value || value.length < 1) {
82780
- return Promise.reject(new Error("Field is required"));
82797
+ return Promise.reject(new Error(`Please enter ${prettyFieldPath(name)}`));
82781
82798
  }
82782
82799
  }
82783
82800
  }
@@ -84378,6 +84395,18 @@ const BlackholeFormProvider = ({
84378
84395
  modeData.onDisabled();
84379
84396
  }
84380
84397
  }, [modeData]);
84398
+ const applyForceViewMode = useCallback(
84399
+ (forceViewMode) => {
84400
+ if (!modeData || !forceViewMode) return;
84401
+ if (forceViewMode === "Manual") {
84402
+ modeData.onChange("Manual");
84403
+ modeData.onDisabled();
84404
+ return;
84405
+ }
84406
+ modeData.onChange("OpenAPI");
84407
+ },
84408
+ [modeData]
84409
+ );
84381
84410
  const forcedCustomizationId = customizationId ? mappingData?.items?.[0]?.spec?.mappings?.[customizationId] : void 0;
84382
84411
  const hasMatchingOverride = Boolean(
84383
84412
  customizationId && overridesData?.items?.some((item) => item?.spec?.customizationId === customizationId)
@@ -84388,6 +84417,10 @@ const BlackholeFormProvider = ({
84388
84417
  const isResolutionReady = !customizationId || !overridesLoading && !mappingLoading;
84389
84418
  const resolvedCustomizationId = isResolutionReady ? hasMatchingOverride ? customizationId : hasForcedMatchingOverride ? forcedCustomizationId : forcingCustomization.fallbackId : void 0;
84390
84419
  useEffect(() => {
84420
+ if (!cluster) {
84421
+ setIsLoading(false);
84422
+ return;
84423
+ }
84391
84424
  if (!isResolutionReady) return;
84392
84425
  if (customizationId && !resolvedCustomizationId) return;
84393
84426
  setIsLoading(true);
@@ -84403,8 +84436,13 @@ const BlackholeFormProvider = ({
84403
84436
  if (data2.result === "error") {
84404
84437
  setIsError(data2.error);
84405
84438
  console.warn(data2.error);
84406
- fallbackToManualMode();
84439
+ if (data2.forceViewMode) {
84440
+ applyForceViewMode(data2.forceViewMode);
84441
+ } else {
84442
+ fallbackToManualMode();
84443
+ }
84407
84444
  } else {
84445
+ applyForceViewMode(data2.forceViewMode);
84408
84446
  setPreparedData({
84409
84447
  properties: data2.properties,
84410
84448
  required: data2.required || [],
@@ -84423,7 +84461,15 @@ const BlackholeFormProvider = ({
84423
84461
  }).finally(() => {
84424
84462
  setIsLoading(false);
84425
84463
  });
84426
- }, [cluster, data, customizationId, resolvedCustomizationId, isResolutionReady, fallbackToManualMode]);
84464
+ }, [
84465
+ cluster,
84466
+ data,
84467
+ customizationId,
84468
+ resolvedCustomizationId,
84469
+ isResolutionReady,
84470
+ fallbackToManualMode,
84471
+ applyForceViewMode
84472
+ ]);
84427
84473
  if (isLoading) {
84428
84474
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {});
84429
84475
  }
@@ -84828,7 +84874,7 @@ const MarketplaceCard = ({
84828
84874
  onEditClick,
84829
84875
  addedMode,
84830
84876
  standalone,
84831
- showZeroResources
84877
+ showZeroResources = false
84832
84878
  }) => {
84833
84879
  const { useToken } = theme;
84834
84880
  const { token } = useToken();
@@ -84866,7 +84912,13 @@ const MarketplaceCard = ({
84866
84912
  plural: type,
84867
84913
  isEnabled: Boolean(apiVersion && addedMode && type !== "direct")
84868
84914
  });
84869
- if (addedMode && (k8sListError || type === "direct") && !showZeroResources) {
84915
+ const isAddedMode = Boolean(addedMode);
84916
+ const isDirectType = type === "direct";
84917
+ const hasK8sListError = Boolean(k8sListError);
84918
+ const isUncountable = isAddedMode && (hasK8sListError || isDirectType);
84919
+ const itemsCount = k8sList?.items?.length ?? 0;
84920
+ const isCountableZero = isAddedMode && !isUncountable && itemsCount === 0;
84921
+ if (showZeroResources === false && (isUncountable || isCountableZero)) {
84870
84922
  return null;
84871
84923
  }
84872
84924
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -84904,7 +84956,7 @@ const MarketplaceCard = ({
84904
84956
  " ",
84905
84957
  addedMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
84906
84958
  "x",
84907
- k8sList?.items?.length
84959
+ itemsCount
84908
84960
  ] })
84909
84961
  ] }),
84910
84962
  /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.CustomTag, { children: tag }, tag)) }),
@@ -84981,7 +85033,7 @@ const MarketPlace = ({
84981
85033
  marketplaceKind,
84982
85034
  baseprefix,
84983
85035
  standalone,
84984
- forceAddedMode,
85036
+ addedMode,
84985
85037
  showZeroResources
84986
85038
  }) => {
84987
85039
  const [api, contextHolder] = notification.useNotification();
@@ -85134,7 +85186,7 @@ const MarketPlace = ({
85134
85186
  setIsAddEditOpen(marketplacePanels.items.find(({ spec }) => spec.name === name) || false);
85135
85187
  },
85136
85188
  standalone,
85137
- addedMode: forceAddedMode,
85189
+ addedMode,
85138
85190
  showZeroResources
85139
85191
  },
85140
85192
  name
@@ -88981,4 +89033,4 @@ const usePluginManifest = ({
88981
89033
  };
88982
89034
 
88983
89035
  export { useInfiniteSentinel as $, getBuiltinResourceTypes as A, getCrdData as B, getDirectUnknownResource as C, DeleteIcon as D, EnrichedTableProvider as E, checkPermission as F, getSwagger as G, filterIfApiInstanceNamespaceScoped as H, filterIfBuiltInInstanceNamespaceScoped as I, checkIfApiInstanceNamespaceScoped as J, checkIfBuiltInInstanceNamespaceScoped as K, getKinds as L, useClusterList as M, useApiResources as N, useApiResourceSingle as O, PaddingContainer as P, useBuiltinResources as Q, ReadOnlyModal as R, useBuiltinResourceSingle as S, useCrdResources as T, useCrdResourceSingle as U, useApisResourceTypes as V, useApiResourceTypesByGroup as W, useBuiltinResourceTypes as X, useCrdData as Y, useListWatch as Z, _$1 as _, useTheme as a, parseQuotaValueMemoryAndStorage as a$, useK8sVerbs as a0, useManyK8sSmartResource as a1, useSmartResourceParams as a2, useResourceScope as a3, useKinds as a4, usePluginManifest as a5, Spacer$1 as a6, TreeWithSearch as a7, ConfirmModal as a8, UpIcon as a9, EnrichedTable as aA, getEnrichedColumns as aB, getEnrichedColumnsWithControls as aC, YamlEditorSingleton$1 as aD, BlackholeFormProvider as aE, BlackholeForm as aF, getObjectFormItemsDraft as aG, MarketPlace as aH, MarketplaceCard as aI, ProjectInfoCard as aJ, PodTerminal as aK, NodeTerminal as aL, PodLogs as aM, PodLogsMonaco as aN, VMVNC as aO, Search as aP, Events as aQ, DynamicRenderer as aR, DynamicComponents as aS, DynamicRendererWithProviders as aT, prepareTemplate as aU, isFlatObject as aV, filterSelectOptions as aW, getStringByName as aX, floorToDecimal as aY, parseQuotaValue as aZ, parseQuotaValueCpu as a_, DownIcon as aa, BackToDefaultIcon as ab, SuccessIcon as ac, feedbackIcons as ad, PlusIcon as ae, MinusIcon as af, LockedIcon as ag, UnlockedIcon as ah, PauseCircleIcon as ai, ResumeCircleIcon as aj, LookingGlassIcon as ak, EarthIcon as al, ContentCard$1 as am, FlexGrow as an, UncontrolledSelect as ao, CustomSelect$4 as ap, CursorPointerTag as aq, CursorPointerTagMinContent as ar, CursorDefaultDiv as as, ResourceLink as at, ManageableBreadcrumbsProvider as au, prepareDataForManageableBreadcrumbs as av, ManageableBreadcrumbs as aw, ManageableSidebarProvider as ax, prepareDataForManageableSidebar as ay, ManageableSidebar as az, usePartsOfUrl as b, normalizeValuesForQuotasToNumber as b0, getAllPathsFromObj as b1, getPrefixSubarrays as b2, groupsToTreeData as b3, getBuiltinTreeData as b4, getGroupsByCategory as b5, createContextFactory as b6, prepareUrlsToFetchForDynamicRenderer as b7, deepMerge as b8, getSortedKinds as b9, getSortedKindsAll as ba, hslFromString as bb, getUppercase as bc, kindByGvr as bd, pluralByKind as be, namespacedByGvr as bf, getLinkToBuiltinForm as bg, getLinkToApiForm as bh, isMultilineString as bi, isMultilineFromYaml as bj, includesArray as bk, getResourceLink as bl, getNamespaceLink as bm, convertBytes as bn, formatBytesAuto as bo, toBytes as bp, convertStorage as bq, parseValueWithUnit as br, convertCores as bs, formatCoresAuto as bt, toCores as bu, convertCompute as bv, parseCoresWithUnit as bw, formatDateAuto as bx, isValidRFC3339 as by, usePermissions as c, useDirectUnknownResource as d, useK8sSmartResource as e, jsxRuntimeExports as f, EditIcon as g, getLinkToForm as h, DeleteModal as i, jp as j, DeleteModalMany as k, getClusterList as l, createNewEntry as m, updateEntry as n, deleteEntry as o, parseAll as p, getApiResources as q, getApiResourceSingle as r, serializeLabelsWithNoEncoding$1 as s, getBuiltinResources as t, useMultiQuery as u, getBuiltinResourceSingle as v, getCrdResources as w, getCrdResourceSingle as x, getApiResourceTypes as y, getApiResourceTypesByApiGroup as z };
88984
- //# sourceMappingURL=index-DclFY72w.mjs.map
89036
+ //# sourceMappingURL=index-bpfCtuwB.mjs.map