@prorobotech/openapi-k8s-toolkit 1.3.0-alpha.17 → 1.3.0-alpha.18

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.
@@ -44492,6 +44492,39 @@ const AnnotationsEditModal = ({
44492
44492
  );
44493
44493
  };
44494
44494
 
44495
+ const ReadOnlyModal = ({
44496
+ open,
44497
+ close,
44498
+ modalTitle,
44499
+ modalDescriptionText,
44500
+ modalDescriptionTextStyle,
44501
+ editModalWidth,
44502
+ children
44503
+ }) => {
44504
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
44505
+ Modal,
44506
+ {
44507
+ title: modalTitle,
44508
+ open,
44509
+ okButtonProps: { style: { display: "none" } },
44510
+ onCancel: () => {
44511
+ close();
44512
+ },
44513
+ maskClosable: false,
44514
+ width: editModalWidth || 520,
44515
+ destroyOnHidden: true,
44516
+ centered: true,
44517
+ children: [
44518
+ modalDescriptionText && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44519
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: modalDescriptionTextStyle, children: modalDescriptionText }),
44520
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true })
44521
+ ] }),
44522
+ children
44523
+ ]
44524
+ }
44525
+ );
44526
+ };
44527
+
44495
44528
  const isRecordStringNumber = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.entries(value).every(([k, v]) => typeof k === "string" && (typeof v === "string" || typeof v === "number"));
44496
44529
  const parseLabelsArrayOfAny = (value) => {
44497
44530
  if (!Array.isArray(value)) {
@@ -77871,7 +77904,7 @@ const TolerationsModal = ({
77871
77904
  };
77872
77905
 
77873
77906
  const LazyEnrichedTableModal = lazy(
77874
- () => import('./index-DS2-YkHT.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
77907
+ () => import('./index-WFzl-A72.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
77875
77908
  );
77876
77909
  const renderActiveType = (activeType, extraProps) => {
77877
77910
  if (!activeType) return null;
@@ -78980,34 +79013,6 @@ const buildEditUrl = (props, fullPath) => {
78980
79013
  ].filter(Boolean);
78981
79014
  return `/${parts.join("/")}?backlink=${backlink}`;
78982
79015
  };
78983
- const renderActionModal = (action, extraProps) => {
78984
- switch (action.type) {
78985
- case "edit":
78986
- return null;
78987
- case "editLabels":
78988
- return /* @__PURE__ */ jsxRuntimeExports.jsx(LabelsModal, { ...action.props, ...extraProps });
78989
- case "editAnnotations":
78990
- return /* @__PURE__ */ jsxRuntimeExports.jsx(AnnotationsModal, { ...action.props, ...extraProps });
78991
- case "editTaints":
78992
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TaintsModal, { ...action.props, ...extraProps });
78993
- case "editTolerations":
78994
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TolerationsModal, { ...action.props, ...extraProps });
78995
- case "delete":
78996
- return null;
78997
- case "cordon":
78998
- case "uncordon":
78999
- case "suspend":
79000
- case "resume":
79001
- case "rolloutRestart":
79002
- case "evict":
79003
- case "openKubeletConfig":
79004
- return null;
79005
- default: {
79006
- const _exhaustive = action;
79007
- return _exhaustive;
79008
- }
79009
- }
79010
- };
79011
79016
  const getActionIcon = (action) => {
79012
79017
  if (action.props.iconBase64Encoded) {
79013
79018
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.IconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.IconScaler, { children: renderIcon$1(action.props.iconBase64Encoded, "currentColor") }) });
@@ -79088,6 +79093,92 @@ const buildEvictBody = (data) => {
79088
79093
  ...Object.keys(deleteOptions).length > 0 ? { deleteOptions } : {}
79089
79094
  };
79090
79095
  };
79096
+ const handleEditAction = (action, ctx, fullPath, navigate) => {
79097
+ const clusterPrepared = parseAll({ text: action.props.cluster, ...ctx });
79098
+ const namespacePrepared = action.props.namespace ? parseAll({ text: action.props.namespace, ...ctx }) : void 0;
79099
+ const syntheticProjectPrepared = action.props.syntheticProject ? parseAll({ text: action.props.syntheticProject, ...ctx }) : void 0;
79100
+ const apiGroupPrepared = action.props.apiGroup ? parseAll({ text: action.props.apiGroup, ...ctx }) : void 0;
79101
+ const apiVersionPrepared = parseAll({ text: action.props.apiVersion, ...ctx });
79102
+ const pluralPrepared = parseAll({ text: action.props.plural, ...ctx });
79103
+ const namePrepared = parseAll({ text: action.props.name, ...ctx });
79104
+ const baseprefixPrepared = action.props.baseprefix ? parseAll({ text: action.props.baseprefix, ...ctx }) : void 0;
79105
+ const url = buildEditUrl(
79106
+ {
79107
+ ...action.props,
79108
+ cluster: clusterPrepared,
79109
+ namespace: namespacePrepared,
79110
+ syntheticProject: syntheticProjectPrepared,
79111
+ apiGroup: apiGroupPrepared,
79112
+ apiVersion: apiVersionPrepared,
79113
+ plural: pluralPrepared,
79114
+ name: namePrepared,
79115
+ baseprefix: baseprefixPrepared
79116
+ },
79117
+ fullPath
79118
+ );
79119
+ navigate(url);
79120
+ };
79121
+ const handleDeleteAction = (action, ctx, setDeleteModalData) => {
79122
+ const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
79123
+ const namePrepared = parseAll({ text: action.props.name, ...ctx });
79124
+ const redirectToPrepared = action.props.redirectTo ? parseAll({ text: action.props.redirectTo, ...ctx }) : void 0;
79125
+ setDeleteModalData({
79126
+ name: namePrepared,
79127
+ endpoint: endpointPrepared,
79128
+ redirectTo: redirectToPrepared
79129
+ });
79130
+ };
79131
+ const handlePatchActions = (action, ctx, onSuccess, onError) => {
79132
+ const actionLabel = action.props.text || action.type;
79133
+ const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
79134
+ const pathToValuePrepared = parseAll({ text: action.props.pathToValue, ...ctx });
79135
+ const valuePrepared = parseValueIfString(action.props.value, ctx);
79136
+ patchEntryWithReplaceOp({
79137
+ endpoint: endpointPrepared,
79138
+ pathToValue: pathToValuePrepared,
79139
+ body: valuePrepared
79140
+ }).then(() => onSuccess(actionLabel)).catch((error) => {
79141
+ onError(actionLabel, error);
79142
+ });
79143
+ };
79144
+ const handleRolloutRestartAction = (action, ctx, onSuccess, onError) => {
79145
+ const actionLabel = action.props.text || "Rollout restart";
79146
+ const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
79147
+ const annotationKeyPrepared = action.props.annotationKey ? parseAll({ text: action.props.annotationKey, ...ctx }) : "kubectl.kubernetes.io/restartedAt";
79148
+ const timestampPrepared = action.props.timestamp ? parseAll({ text: action.props.timestamp, ...ctx }) : (/* @__PURE__ */ new Date()).toISOString();
79149
+ patchEntryWithMergePatch({
79150
+ endpoint: endpointPrepared,
79151
+ body: {
79152
+ spec: {
79153
+ template: {
79154
+ metadata: {
79155
+ annotations: {
79156
+ [annotationKeyPrepared]: timestampPrepared
79157
+ }
79158
+ }
79159
+ }
79160
+ }
79161
+ }
79162
+ }).then(() => onSuccess(actionLabel)).catch((error) => {
79163
+ onError(actionLabel, error);
79164
+ console.error(error);
79165
+ });
79166
+ };
79167
+ const handleOpenKubeletConfigAction = (action, ctx, setActiveAction, setModalOpen) => {
79168
+ const urlPrepared = parseAll({ text: action.props.url, ...ctx });
79169
+ const modalTitlePrepared = action.props.modalTitle ? parseAll({ text: action.props.modalTitle, ...ctx }) : void 0;
79170
+ const modalDescriptionTextPrepared = action.props.modalDescriptionText ? parseAll({ text: action.props.modalDescriptionText, ...ctx }) : void 0;
79171
+ setActiveAction({
79172
+ ...action,
79173
+ props: {
79174
+ ...action.props,
79175
+ url: urlPrepared,
79176
+ modalTitle: modalTitlePrepared,
79177
+ modalDescriptionText: modalDescriptionTextPrepared
79178
+ }
79179
+ });
79180
+ setModalOpen(true);
79181
+ };
79091
79182
  const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
79092
79183
  const navigate = useNavigate();
79093
79184
  const location = useLocation();
@@ -79104,100 +79195,44 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
79104
79195
  queryClient.invalidateQueries({ queryKey: ["multi"] });
79105
79196
  };
79106
79197
  const showSuccess = (actionLabel) => {
79198
+ invalidateMultiQuery();
79107
79199
  notificationApi.success({
79108
79200
  message: `${actionLabel} successful`,
79109
79201
  placement: "bottomRight"
79110
79202
  });
79111
79203
  };
79204
+ const getErrorDescription = (error) => {
79205
+ if (error instanceof AxiosError) {
79206
+ return error.response?.data?.message || error.message;
79207
+ }
79208
+ if (error instanceof Error) {
79209
+ return error.message;
79210
+ }
79211
+ return "Unknown error";
79212
+ };
79112
79213
  const showError = (actionLabel, error) => {
79113
- const description = error instanceof AxiosError ? error.response?.data?.message || error.message : error instanceof Error ? error.message : "Unknown error";
79114
79214
  notificationApi.error({
79115
79215
  message: `${actionLabel} failed`,
79116
- description,
79216
+ description: getErrorDescription(error),
79117
79217
  placement: "bottomRight"
79118
79218
  });
79119
79219
  };
79120
79220
  const ctx = { replaceValues, multiQueryData };
79121
79221
  const handleActionClick = (action) => {
79122
79222
  if (action.type === "edit") {
79123
- const clusterPrepared = parseAll({ text: action.props.cluster, replaceValues, multiQueryData });
79124
- const namespacePrepared = action.props.namespace ? parseAll({ text: action.props.namespace, replaceValues, multiQueryData }) : void 0;
79125
- const syntheticProjectPrepared = action.props.syntheticProject ? parseAll({ text: action.props.syntheticProject, replaceValues, multiQueryData }) : void 0;
79126
- const apiGroupPrepared = action.props.apiGroup ? parseAll({ text: action.props.apiGroup, replaceValues, multiQueryData }) : void 0;
79127
- const apiVersionPrepared = parseAll({ text: action.props.apiVersion, replaceValues, multiQueryData });
79128
- const pluralPrepared = parseAll({ text: action.props.plural, replaceValues, multiQueryData });
79129
- const namePrepared = parseAll({ text: action.props.name, replaceValues, multiQueryData });
79130
- const baseprefixPrepared = action.props.baseprefix ? parseAll({ text: action.props.baseprefix, replaceValues, multiQueryData }) : void 0;
79131
- const url = buildEditUrl(
79132
- {
79133
- ...action.props,
79134
- cluster: clusterPrepared,
79135
- namespace: namespacePrepared,
79136
- syntheticProject: syntheticProjectPrepared,
79137
- apiGroup: apiGroupPrepared,
79138
- apiVersion: apiVersionPrepared,
79139
- plural: pluralPrepared,
79140
- name: namePrepared,
79141
- baseprefix: baseprefixPrepared
79142
- },
79143
- fullPath
79144
- );
79145
- navigate(url);
79223
+ handleEditAction(action, ctx, fullPath, navigate);
79146
79224
  return;
79147
79225
  }
79148
79226
  if (action.type === "delete") {
79149
- const endpointPrepared = parseAll({ text: action.props.endpoint, replaceValues, multiQueryData });
79150
- const namePrepared = parseAll({ text: action.props.name, replaceValues, multiQueryData });
79151
- const redirectToPrepared = action.props.redirectTo ? parseAll({ text: action.props.redirectTo, replaceValues, multiQueryData }) : void 0;
79152
- setDeleteModalData({
79153
- name: namePrepared,
79154
- endpoint: endpointPrepared,
79155
- redirectTo: redirectToPrepared
79156
- });
79227
+ handleDeleteAction(action, ctx, setDeleteModalData);
79157
79228
  return;
79158
79229
  }
79159
79230
  if (action.type === "cordon" || action.type === "uncordon" || action.type === "suspend" || action.type === "resume") {
79160
- const actionLabel = action.props.text || action.type;
79161
- const endpointPrepared = parseAll({ text: action.props.endpoint, replaceValues, multiQueryData });
79162
- const pathToValuePrepared = parseAll({ text: action.props.pathToValue, replaceValues, multiQueryData });
79163
- const valuePrepared = parseValueIfString(action.props.value, ctx);
79164
- patchEntryWithReplaceOp({
79165
- endpoint: endpointPrepared,
79166
- pathToValue: pathToValuePrepared,
79167
- body: valuePrepared
79168
- }).then(() => {
79169
- invalidateMultiQuery();
79170
- showSuccess(actionLabel);
79171
- }).catch((error) => {
79172
- showError(actionLabel, error);
79173
- });
79231
+ handlePatchActions(action, ctx, showSuccess, showError);
79174
79232
  return;
79175
79233
  }
79176
79234
  if (action.type === "rolloutRestart") {
79177
- const actionLabel = action.props.text || "Rollout restart";
79178
- const endpointPrepared = parseAll({ text: action.props.endpoint, replaceValues, multiQueryData });
79179
- const annotationKeyPrepared = action.props.annotationKey ? parseAll({ text: action.props.annotationKey, replaceValues, multiQueryData }) : "kubectl.kubernetes.io/restartedAt";
79180
- const timestampPrepared = action.props.timestamp ? parseAll({ text: action.props.timestamp, replaceValues, multiQueryData }) : (/* @__PURE__ */ new Date()).toISOString();
79181
- patchEntryWithMergePatch({
79182
- endpoint: endpointPrepared,
79183
- body: {
79184
- spec: {
79185
- template: {
79186
- metadata: {
79187
- annotations: {
79188
- [annotationKeyPrepared]: timestampPrepared
79189
- }
79190
- }
79191
- }
79192
- }
79193
- }
79194
- }).then(() => {
79195
- invalidateMultiQuery();
79196
- showSuccess(actionLabel);
79197
- }).catch((error) => {
79198
- showError(actionLabel, error);
79199
- console.error(error);
79200
- });
79235
+ handleRolloutRestartAction(action, ctx, showSuccess, showError);
79201
79236
  return;
79202
79237
  }
79203
79238
  if (action.type === "evict") {
@@ -79206,9 +79241,7 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
79206
79241
  return;
79207
79242
  }
79208
79243
  if (action.type === "openKubeletConfig") {
79209
- const urlPrepared = parseAll({ text: action.props.url, replaceValues, multiQueryData });
79210
- const target = action.props.target ?? "_blank";
79211
- window.open(urlPrepared, target);
79244
+ handleOpenKubeletConfigAction(action, ctx, setActiveAction, setModalOpen);
79212
79245
  return;
79213
79246
  }
79214
79247
  setActiveAction(action);
@@ -79218,11 +79251,9 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
79218
79251
  if (!evictModalData) return;
79219
79252
  setIsEvictLoading(true);
79220
79253
  const body = buildEvictBody(evictModalData);
79221
- createNewEntry({ endpoint: evictModalData.endpoint, body }).then(() => {
79222
- invalidateMultiQuery();
79223
- showSuccess(`Evict ${evictModalData.name}`);
79224
- }).catch((error) => {
79225
- showError(`Evict ${evictModalData.name}`, error);
79254
+ const evictLabel = `Evict ${evictModalData.name}`;
79255
+ createNewEntry({ endpoint: evictModalData.endpoint, body }).then(() => showSuccess(evictLabel)).catch((error) => {
79256
+ showError(evictLabel, error);
79226
79257
  }).finally(() => {
79227
79258
  setIsEvictLoading(false);
79228
79259
  setEvictModalData(null);
@@ -79327,6 +79358,96 @@ const useActionsDropdownPermissions = ({
79327
79358
  return permissions ?? computedPermissions;
79328
79359
  };
79329
79360
 
79361
+ const toYamlString = (value) => {
79362
+ if (value === void 0) return "";
79363
+ if (typeof value === "string") {
79364
+ try {
79365
+ return stringify(JSON.parse(value));
79366
+ } catch {
79367
+ return value;
79368
+ }
79369
+ }
79370
+ return stringify(value);
79371
+ };
79372
+ const OpenKubeletConfigModal = ({ open, onClose, props }) => {
79373
+ const theme = useTheme();
79374
+ const { data, isLoading, isError, error } = useDirectUnknownResource({
79375
+ uri: props.url,
79376
+ queryKey: ["open-kubelet-config", props.url],
79377
+ refetchInterval: false,
79378
+ isEnabled: open && !!props.url && props.url !== "-"
79379
+ });
79380
+ const yamlData = useMemo(() => toYamlString(data), [data]);
79381
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
79382
+ ReadOnlyModal,
79383
+ {
79384
+ open,
79385
+ close: onClose,
79386
+ modalTitle: props.modalTitle || props.text,
79387
+ modalDescriptionText: props.modalDescriptionText,
79388
+ editModalWidth: props.editModalWidth || 920,
79389
+ children: [
79390
+ isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
79391
+ isError && /* @__PURE__ */ jsxRuntimeExports.jsx(
79392
+ Alert,
79393
+ {
79394
+ type: "error",
79395
+ showIcon: true,
79396
+ message: "Failed to load kubelet config",
79397
+ description: error instanceof Error ? error.message : "Unknown error"
79398
+ }
79399
+ ),
79400
+ !isLoading && !isError && /* @__PURE__ */ jsxRuntimeExports.jsx(
79401
+ Ft$1,
79402
+ {
79403
+ defaultLanguage: "yaml",
79404
+ width: "100%",
79405
+ height: "60vh",
79406
+ value: yamlData,
79407
+ theme: theme === "dark" ? "vs-dark" : "vs",
79408
+ options: {
79409
+ readOnly: true,
79410
+ minimap: { enabled: false },
79411
+ wordWrap: "on",
79412
+ lineNumbers: "on"
79413
+ }
79414
+ }
79415
+ )
79416
+ ]
79417
+ }
79418
+ );
79419
+ };
79420
+
79421
+ const renderActionModal = (action, extraProps) => {
79422
+ switch (action.type) {
79423
+ case "edit":
79424
+ return null;
79425
+ case "editLabels":
79426
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(LabelsModal, { ...action.props, ...extraProps });
79427
+ case "editAnnotations":
79428
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(AnnotationsModal, { ...action.props, ...extraProps });
79429
+ case "editTaints":
79430
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(TaintsModal, { ...action.props, ...extraProps });
79431
+ case "editTolerations":
79432
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(TolerationsModal, { ...action.props, ...extraProps });
79433
+ case "delete":
79434
+ return null;
79435
+ case "cordon":
79436
+ case "uncordon":
79437
+ case "suspend":
79438
+ case "resume":
79439
+ case "rolloutRestart":
79440
+ case "evict":
79441
+ return null;
79442
+ case "openKubeletConfig":
79443
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(OpenKubeletConfigModal, { ...extraProps, props: action.props });
79444
+ default: {
79445
+ const _exhaustive = action;
79446
+ return _exhaustive;
79447
+ }
79448
+ }
79449
+ };
79450
+
79330
79451
  const ActionsDropdown = ({ data, children }) => {
79331
79452
  const {
79332
79453
  buttonText = "Actions",
@@ -88769,5 +88890,5 @@ const usePluginManifest = ({
88769
88890
  });
88770
88891
  };
88771
88892
 
88772
- 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, useBuiltinResourceSingle as R, Spacer$1 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, normalizeValuesForQuotasToNumber as a$, useK8sVerbs as a0, useManyK8sSmartResource as a1, useSmartResourceParams as a2, useResourceScope as a3, useKinds as a4, usePluginManifest as a5, TreeWithSearch as a6, ConfirmModal as a7, UpIcon as a8, DownIcon as a9, getEnrichedColumns as aA, getEnrichedColumnsWithControls as aB, YamlEditorSingleton$1 as aC, BlackholeFormProvider as aD, BlackholeForm as aE, getObjectFormItemsDraft as aF, MarketPlace as aG, MarketplaceCard as aH, ProjectInfoCard as aI, PodTerminal as aJ, NodeTerminal as aK, PodLogs as aL, PodLogsMonaco as aM, VMVNC as aN, Search as aO, Events as aP, DynamicRenderer as aQ, DynamicComponents as aR, DynamicRendererWithProviders as aS, prepareTemplate as aT, isFlatObject as aU, filterSelectOptions as aV, getStringByName as aW, floorToDecimal as aX, parseQuotaValue as aY, parseQuotaValueCpu as aZ, parseQuotaValueMemoryAndStorage as a_, BackToDefaultIcon as aa, SuccessIcon as ab, feedbackIcons as ac, PlusIcon as ad, MinusIcon as ae, LockedIcon as af, UnlockedIcon as ag, PauseCircleIcon as ah, ResumeCircleIcon as ai, LookingGlassIcon as aj, EarthIcon as ak, ContentCard$1 as al, FlexGrow as am, UncontrolledSelect as an, CustomSelect$4 as ao, CursorPointerTag as ap, CursorPointerTagMinContent as aq, CursorDefaultDiv as ar, ResourceLink as as, ManageableBreadcrumbsProvider as at, prepareDataForManageableBreadcrumbs as au, ManageableBreadcrumbs as av, ManageableSidebarProvider as aw, prepareDataForManageableSidebar as ax, ManageableSidebar as ay, EnrichedTable as az, usePartsOfUrl as b, getAllPathsFromObj as b0, getPrefixSubarrays as b1, groupsToTreeData as b2, getBuiltinTreeData as b3, getGroupsByCategory as b4, createContextFactory as b5, prepareUrlsToFetchForDynamicRenderer as b6, deepMerge as b7, getSortedKinds as b8, getSortedKindsAll as b9, hslFromString as ba, getUppercase as bb, kindByGvr as bc, pluralByKind as bd, namespacedByGvr as be, getLinkToBuiltinForm as bf, getLinkToApiForm as bg, isMultilineString as bh, isMultilineFromYaml as bi, includesArray as bj, getResourceLink as bk, getNamespaceLink as bl, convertBytes as bm, formatBytesAuto as bn, toBytes as bo, convertStorage as bp, parseValueWithUnit as bq, convertCores as br, formatCoresAuto as bs, toCores as bt, convertCompute as bu, parseCoresWithUnit as bv, formatDateAuto as bw, isValidRFC3339 as bx, usePermissions as c, jp as d, useDirectUnknownResource as e, useK8sSmartResource as f, EditIcon as g, getLinkToForm as h, DeleteModal as i, jsxRuntimeExports 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 };
88773
- //# sourceMappingURL=index-i0mxijz0.mjs.map
88893
+ 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 };
88894
+ //# sourceMappingURL=index-CpyIUcpX.mjs.map