@prorobotech/openapi-k8s-toolkit 0.0.1-alpha.94 → 0.0.1-alpha.96

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,7 +1,7 @@
1
1
  import o, { useDebugValue, createElement, useRef, useContext, useState, useLayoutEffect, useEffect, useMemo, memo, useCallback, createContext, Suspense, Fragment } from 'react';
2
2
  import { Input, Tree, Modal, Alert, theme, Select, Tag, Breadcrumb, Spin, Menu, Tooltip, Space, Button, Flex, Table, notification, Typography, Form, Row, Col, Slider, InputNumber, Switch, Card, Dropdown, Result, Progress, Tabs, Popover } from 'antd';
3
3
  import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, SearchOutlined, CheckOutlined, CloseOutlined, EditOutlined, DeleteOutlined, CaretDownOutlined, CaretRightOutlined, BugOutlined, PlusOutlined, EllipsisOutlined } from '@ant-design/icons';
4
- import { useQuery, useQueries } from '@tanstack/react-query';
4
+ import { useQuery, useQueries, useQueryClient } from '@tanstack/react-query';
5
5
  import { Link, useNavigate, useLocation } from 'react-router-dom';
6
6
 
7
7
  function getDefaultExportFromCjs$1 (x) {
@@ -2504,7 +2504,7 @@ const CustomTreeProvider = st.div`
2504
2504
  justify-content: center;
2505
2505
  }
2506
2506
  `;
2507
- const Styled$p = {
2507
+ const Styled$q = {
2508
2508
  CustomTreeProvider
2509
2509
  };
2510
2510
 
@@ -2569,7 +2569,7 @@ const TreeWithSearch = ({ treeData, onSelect }) => {
2569
2569
  });
2570
2570
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2571
2571
  /* @__PURE__ */ jsxRuntimeExports.jsx(Search, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
2572
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$p.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2572
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$q.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2573
2573
  Tree,
2574
2574
  {
2575
2575
  treeData: loop(treeData),
@@ -8182,6 +8182,25 @@ const updateEntry = async ({
8182
8182
  const deleteEntry = async ({ endpoint }) => {
8183
8183
  return axios.delete(endpoint);
8184
8184
  };
8185
+ const patchEntryWithReplaceOp = async ({
8186
+ endpoint,
8187
+ pathToValue,
8188
+ body
8189
+ }) => {
8190
+ const patchData = [
8191
+ {
8192
+ op: "replace",
8193
+ path: pathToValue,
8194
+ value: body
8195
+ }
8196
+ ];
8197
+ return axios.patch(endpoint, patchData, {
8198
+ method: "PATCH",
8199
+ headers: {
8200
+ "Content-Type": "application/json-patch+json"
8201
+ }
8202
+ });
8203
+ };
8185
8204
 
8186
8205
  const DeleteModal = ({ name, onClose, endpoint }) => {
8187
8206
  const [error, setError] = useState();
@@ -8424,14 +8443,14 @@ const ContentContainer = st.div`
8424
8443
  display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
8425
8444
  flex-flow: ${({ $flexFlow }) => $flexFlow};
8426
8445
  `;
8427
- const Styled$o = {
8446
+ const Styled$p = {
8428
8447
  ContentContainer
8429
8448
  };
8430
8449
 
8431
8450
  const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
8432
8451
  const { token } = theme.useToken();
8433
8452
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8434
- Styled$o.ContentContainer,
8453
+ Styled$p.ContentContainer,
8435
8454
  {
8436
8455
  $flexGrow: flexGrow,
8437
8456
  $bgColor: token.colorBgContainer,
@@ -8492,13 +8511,63 @@ const UncontrolledSelect$1 = st(Select)`
8492
8511
  padding-inline: 8px;
8493
8512
  }
8494
8513
  `;
8495
- const Styled$n = {
8514
+ const Styled$o = {
8496
8515
  UncontrolledSelect: UncontrolledSelect$1
8497
8516
  };
8498
8517
 
8499
8518
  const UncontrolledSelect = (props) => {
8500
8519
  const { isCursorPointer } = props;
8501
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8520
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$o.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8521
+ };
8522
+
8523
+ const CustomSelect$5 = st(Select)`
8524
+ width: 100%;
8525
+ margin: 0;
8526
+ padding: 4px;
8527
+
8528
+ && .ant-select-selector {
8529
+ background: none;
8530
+ }
8531
+
8532
+ && .ant-select-selector,
8533
+ && .ant-select-focused .ant-select-selector,
8534
+ && .ant-select-selector:focus,
8535
+ && .ant-select-selector:active,
8536
+ && .ant-select-open .ant-select-selector {
8537
+ align-items: flex-start;
8538
+ outline: none !important;
8539
+ outline-color: transparent !important;
8540
+ box-shadow: none !important;
8541
+ padding-inline: 4px !important;
8542
+ padding-block: 4px !important;
8543
+ }
8544
+
8545
+ && .ant-select-selection-overflow {
8546
+ gap: 4px;
8547
+ }
8548
+
8549
+ && .ant-select-selection-overflow-item-rest .ant-select-selection-item {
8550
+ background: 0;
8551
+ }
8552
+
8553
+ && .ant-tag {
8554
+ font-size: 14px;
8555
+ line-height: 22px;
8556
+ border: 0;
8557
+ padding-inline: 8px;
8558
+ }
8559
+
8560
+ && .ant-select-multiple .ant-select-selection-overflow-item-suffix {
8561
+ min-height: 22px !important;
8562
+ margin-block: 0 !important;
8563
+ }
8564
+ `;
8565
+ const Styled$n = {
8566
+ CustomSelect: CustomSelect$5
8567
+ };
8568
+
8569
+ const CustomSelect$4 = (props) => {
8570
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.CustomSelect, { ...props });
8502
8571
  };
8503
8572
 
8504
8573
  const CursorPointerTag = st(Tag)`
@@ -46858,7 +46927,7 @@ const getItemsInside = (value) => {
46858
46927
  return { error: "Value on jsonPath is not an array" };
46859
46928
  }
46860
46929
  if (typeof value[0] !== "object" || value[0] === null) {
46861
- return { error: "Value[0] is not an object" };
46930
+ return { counter: 0 };
46862
46931
  }
46863
46932
  return { counter: Object.keys(value[0]).length };
46864
46933
  };
@@ -46910,6 +46979,23 @@ const KeyCounter = ({
46910
46979
  ] });
46911
46980
  };
46912
46981
 
46982
+ const isRecordStringNumber$1 = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.entries(value).every(([k, v]) => typeof k === "string" && (typeof v === "string" || typeof v === "number"));
46983
+ const parseArrayOfAny$1 = (value) => {
46984
+ if (!Array.isArray(value)) {
46985
+ return { error: "Value on jsonPath is not an array" };
46986
+ }
46987
+ if (isRecordStringNumber$1(value[0])) {
46988
+ return { data: value[0] };
46989
+ }
46990
+ return { error: "Value on jsonPath is not a record array" };
46991
+ };
46992
+ const truncate = (text, max) => {
46993
+ if (!max) {
46994
+ return text;
46995
+ }
46996
+ return text.length > max ? text.slice(0, max) + "..." : text;
46997
+ };
46998
+
46913
46999
  const EditModal = ({
46914
47000
  open,
46915
47001
  close,
@@ -46917,8 +47003,14 @@ const EditModal = ({
46917
47003
  openNotificationSuccess,
46918
47004
  modalTitle,
46919
47005
  modalDescriptionText,
46920
- inputLabel
47006
+ inputLabel,
47007
+ maxEditTagTextLength,
47008
+ allowClearEditSelect,
47009
+ endpoint,
47010
+ pathToValue,
47011
+ editModalWidth
46921
47012
  }) => {
47013
+ const queryClient = useQueryClient();
46922
47014
  const [error, setError] = useState();
46923
47015
  const [isLoading, setIsLoading] = useState(false);
46924
47016
  const [form] = Form.useForm();
@@ -46938,9 +47030,20 @@ const EditModal = ({
46938
47030
  result[key] = value || "";
46939
47031
  });
46940
47032
  console.log(JSON.stringify(result));
46941
- if (openNotificationSuccess) {
46942
- openNotificationSuccess();
46943
- }
47033
+ setIsLoading(true);
47034
+ setError(void 0);
47035
+ patchEntryWithReplaceOp({ endpoint, pathToValue, body: result }).then(() => {
47036
+ queryClient.invalidateQueries({ queryKey: ["multi"] });
47037
+ if (openNotificationSuccess) {
47038
+ openNotificationSuccess();
47039
+ }
47040
+ setIsLoading(false);
47041
+ setError(void 0);
47042
+ close();
47043
+ }).catch((error2) => {
47044
+ setIsLoading(false);
47045
+ setError(error2);
47046
+ });
46944
47047
  }).catch(() => console.log("Validating error"));
46945
47048
  };
46946
47049
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -46958,13 +47061,18 @@ const EditModal = ({
46958
47061
  okText: "Save",
46959
47062
  confirmLoading: isLoading,
46960
47063
  maskClosable: false,
46961
- width: "60vw",
47064
+ width: editModalWidth || 520,
46962
47065
  destroyOnHidden: true,
47066
+ centered: true,
46963
47067
  children: [
46964
47068
  error && /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { type: "error", message: "Error while submitting", description: error?.response?.data?.message }),
46965
- modalDescriptionText,
47069
+ modalDescriptionText && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
47070
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: modalDescriptionText }),
47071
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true })
47072
+ ] }),
46966
47073
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Form, { form, children: [
46967
- inputLabel && /* @__PURE__ */ jsxRuntimeExports.jsx(CustomSizeTitle, { children: inputLabel }),
47074
+ inputLabel && /* @__PURE__ */ jsxRuntimeExports.jsx(CustomSizeTitle, { $designNewLayout: true, children: inputLabel }),
47075
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
46968
47076
  /* @__PURE__ */ jsxRuntimeExports.jsx(
46969
47077
  ResetedFormItem,
46970
47078
  {
@@ -46974,7 +47082,7 @@ const EditModal = ({
46974
47082
  rules: [
46975
47083
  () => ({
46976
47084
  validator(_, value) {
46977
- if (Array.isArray(value) && value.every((str) => typeof str === "string" && str.includes("="))) {
47085
+ if (Array.isArray(value) && value.every((str) => typeof str === "string" && str.includes("=") && !str.startsWith("="))) {
46978
47086
  return Promise.resolve();
46979
47087
  }
46980
47088
  return Promise.reject(new Error("Please enter key=value style"));
@@ -46982,14 +47090,27 @@ const EditModal = ({
46982
47090
  })
46983
47091
  ],
46984
47092
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46985
- Select,
47093
+ CustomSelect$4,
46986
47094
  {
46987
47095
  mode: "tags",
46988
47096
  placeholder: "Enter key=value",
46989
47097
  filterOption: filterSelectOptions,
46990
- allowClear: true,
47098
+ allowClear: allowClearEditSelect,
46991
47099
  tokenSeparators: [" "],
46992
- open: false
47100
+ open: false,
47101
+ tagRender: ({ label, closable, onClose }) => {
47102
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, { content: label, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47103
+ Tag,
47104
+ {
47105
+ closable,
47106
+ onClose,
47107
+ onClick: (e) => {
47108
+ e.stopPropagation();
47109
+ },
47110
+ children: typeof label === "string" ? truncate(label, maxEditTagTextLength) : "Not a string value"
47111
+ }
47112
+ ) });
47113
+ }
46993
47114
  }
46994
47115
  )
46995
47116
  }
@@ -47000,23 +47121,6 @@ const EditModal = ({
47000
47121
  );
47001
47122
  };
47002
47123
 
47003
- const isRecordStringNumber$1 = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.entries(value).every(([k, v]) => typeof k === "string" && (typeof v === "string" || typeof v === "number"));
47004
- const parseArrayOfAny$1 = (value) => {
47005
- if (!Array.isArray(value)) {
47006
- return { error: "Value on jsonPath is not an array" };
47007
- }
47008
- if (isRecordStringNumber$1(value[0])) {
47009
- return { data: value[0] };
47010
- }
47011
- return { error: "Value on jsonPath is not a record array" };
47012
- };
47013
- const truncate = (text, max) => {
47014
- if (!max) {
47015
- return text;
47016
- }
47017
- return text.length > max ? text.slice(0, max) + "..." : text;
47018
- };
47019
-
47020
47124
  const Labels = ({ data, children }) => {
47021
47125
  const {
47022
47126
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -47024,12 +47128,18 @@ const Labels = ({ data, children }) => {
47024
47128
  reqIndex,
47025
47129
  jsonPathToLabels,
47026
47130
  selectProps,
47131
+ readOnly,
47027
47132
  notificationSuccessMessage,
47028
47133
  notificationSuccessMessageDescription,
47029
47134
  modalTitle,
47030
47135
  modalDescriptionText,
47031
47136
  inputLabel,
47032
- containerStyle
47137
+ containerStyle,
47138
+ maxEditTagTextLength,
47139
+ allowClearEditSelect,
47140
+ endpoint,
47141
+ pathToValue,
47142
+ editModalWidth
47033
47143
  } = data;
47034
47144
  const [api, contextHolder] = notification.useNotification();
47035
47145
  const [open, setOpen] = useState(false);
@@ -47055,19 +47165,21 @@ const Labels = ({ data, children }) => {
47055
47165
  }
47056
47166
  const anythingForNow = jp.query(jsonRoot, `$${jsonPathToLabels}`);
47057
47167
  const { data: labelsRaw, error: errorArrayOfObjects } = parseArrayOfAny$1(anythingForNow);
47058
- const notificationSuccessMessagePrepared = parseAll({
47168
+ const notificationSuccessMessagePrepared = notificationSuccessMessage ? parseAll({
47059
47169
  text: notificationSuccessMessage,
47060
47170
  replaceValues,
47061
47171
  multiQueryData
47062
- });
47063
- const notificationSuccessMessageDescriptionPrepared = parseAll({
47172
+ }) : "Success";
47173
+ const notificationSuccessMessageDescriptionPrepared = notificationSuccessMessageDescription ? parseAll({
47064
47174
  text: notificationSuccessMessageDescription,
47065
47175
  replaceValues,
47066
47176
  multiQueryData
47067
- });
47068
- const modalTitlePrepared = parseAll({ text: modalTitle, replaceValues, multiQueryData });
47177
+ }) : "Success";
47178
+ const modalTitlePrepared = modalTitle ? parseAll({ text: modalTitle, replaceValues, multiQueryData }) : "Edit";
47069
47179
  const modalDescriptionTextPrepared = modalDescriptionText ? parseAll({ text: modalDescriptionText, replaceValues, multiQueryData }) : void 0;
47070
47180
  const inputLabelPrepared = inputLabel ? parseAll({ text: inputLabel, replaceValues, multiQueryData }) : void 0;
47181
+ const endpointPrepared = endpoint ? parseAll({ text: endpoint, replaceValues, multiQueryData }) : "no-endpoint-provided";
47182
+ const pathToValuePrepared = pathToValue ? parseAll({ text: pathToValue, replaceValues, multiQueryData }) : "no-pathToValue-provided";
47071
47183
  const openNotificationSuccess = () => {
47072
47184
  api.success({
47073
47185
  message: notificationSuccessMessagePrepared,
@@ -47076,7 +47188,7 @@ const Labels = ({ data, children }) => {
47076
47188
  });
47077
47189
  };
47078
47190
  const EmptySelect = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
47079
- /* @__PURE__ */ jsxRuntimeExports.jsx(Flex, { justify: "flex-end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47191
+ !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Flex, { justify: "flex-end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47080
47192
  Button,
47081
47193
  {
47082
47194
  type: "text",
@@ -47115,7 +47227,12 @@ const Labels = ({ data, children }) => {
47115
47227
  openNotificationSuccess,
47116
47228
  modalTitle: modalTitlePrepared,
47117
47229
  modalDescriptionText: modalDescriptionTextPrepared,
47118
- inputLabel: inputLabelPrepared
47230
+ inputLabel: inputLabelPrepared,
47231
+ maxEditTagTextLength,
47232
+ allowClearEditSelect,
47233
+ endpoint: endpointPrepared,
47234
+ pathToValue: pathToValuePrepared,
47235
+ editModalWidth
47119
47236
  }
47120
47237
  )
47121
47238
  ] });
@@ -47127,7 +47244,7 @@ const Labels = ({ data, children }) => {
47127
47244
  }
47128
47245
  const labels = Object.entries(labelsRaw).map(([key, value]) => `${key}=${value}`);
47129
47246
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
47130
- /* @__PURE__ */ jsxRuntimeExports.jsx(Flex, { justify: "flex-end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47247
+ !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Flex, { justify: "flex-end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47131
47248
  Button,
47132
47249
  {
47133
47250
  type: "text",
@@ -47174,7 +47291,12 @@ const Labels = ({ data, children }) => {
47174
47291
  openNotificationSuccess,
47175
47292
  modalTitle: modalTitlePrepared,
47176
47293
  modalDescriptionText: modalDescriptionTextPrepared,
47177
- inputLabel: inputLabelPrepared
47294
+ inputLabel: inputLabelPrepared,
47295
+ maxEditTagTextLength,
47296
+ allowClearEditSelect,
47297
+ endpoint: endpointPrepared,
47298
+ pathToValue: pathToValuePrepared,
47299
+ editModalWidth
47178
47300
  }
47179
47301
  )
47180
47302
  ] });
@@ -47768,5 +47890,5 @@ const useCrdData = ({
47768
47890
  });
47769
47891
  };
47770
47892
 
47771
- export { BackToDefaultIcon, BlackholeForm, BlackholeFormDataProvider, ContentCard$1 as ContentCard, CursorPointerTag, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EditIcon, EnrichedTable$1 as EnrichedTable, EnrichedTableProvider, FlexGrow, LockedIcon, ManageableBreadcrumbs, ManageableBreadcrumbsWithDataProvider, ManageableSidebar, ManageableSidebarWithDataProvider, MarketPlace, MarketplaceCard$1 as MarketplaceCard, MinusIcon, NodeTerminal$1 as NodeTerminal, PauseCircleIcon, PlusIcon, PodLogs$1 as PodLogs, PodLogsMonaco, PodTerminal$1 as PodTerminal, ProjectInfoCard$1 as ProjectInfoCard, ResumeCircleIcon, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UncontrolledSelect, UnlockedIcon, UpIcon, YamlEditorSingleton$1 as YamlEditorSingleton, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, createContextFactory, createNewEntry, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getObjectFormItemsDraft, getPrefixSubarrays, getStringByName, getSwagger, groupsToTreeData, isFlatObject, normalizeValuesForQuotasToNumber, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, usePermissions };
47893
+ export { BackToDefaultIcon, BlackholeForm, BlackholeFormDataProvider, ContentCard$1 as ContentCard, CursorPointerTag, CustomSelect$4 as CustomSelect, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EditIcon, EnrichedTable$1 as EnrichedTable, EnrichedTableProvider, FlexGrow, LockedIcon, ManageableBreadcrumbs, ManageableBreadcrumbsWithDataProvider, ManageableSidebar, ManageableSidebarWithDataProvider, MarketPlace, MarketplaceCard$1 as MarketplaceCard, MinusIcon, NodeTerminal$1 as NodeTerminal, PauseCircleIcon, PlusIcon, PodLogs$1 as PodLogs, PodLogsMonaco, PodTerminal$1 as PodTerminal, ProjectInfoCard$1 as ProjectInfoCard, ResumeCircleIcon, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UncontrolledSelect, UnlockedIcon, UpIcon, YamlEditorSingleton$1 as YamlEditorSingleton, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, createContextFactory, createNewEntry, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getObjectFormItemsDraft, getPrefixSubarrays, getStringByName, getSwagger, groupsToTreeData, isFlatObject, normalizeValuesForQuotasToNumber, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, usePermissions };
47772
47894
  //# sourceMappingURL=openapi-k8s-toolkit.es.js.map