@prorobotech/openapi-k8s-toolkit 1.2.0-alpha.10 → 1.2.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/openapi-k8s-toolkit.es.js +898 -146
  2. package/dist/openapi-k8s-toolkit.es.js.map +1 -1
  3. package/dist/openapi-k8s-toolkit.umd.js +899 -147
  4. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  5. package/dist/types/components/atoms/ContentCard/ContentCard.styled.d.ts +2 -0
  6. package/dist/types/components/molecules/BlackholeForm/atoms/HiddenContainer/utils.test.d.ts +1 -0
  7. package/dist/types/components/molecules/BlackholeForm/molecules/FormListInput/utils.test.d.ts +1 -0
  8. package/dist/types/components/molecules/BlackholeForm/molecules/FormRangeInput/utils.test.d.ts +1 -0
  9. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringMultilineInput/helpers.test.d.ts +1 -0
  10. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/BlackholeForm.test.d.ts +1 -0
  11. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/context.test.d.ts +1 -0
  12. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/casts.test.d.ts +1 -0
  13. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/getSortedPropertyKeys.test.d.ts +1 -0
  14. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/hiddenExpanded.test.d.ts +1 -0
  15. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/prefills.test.d.ts +1 -0
  16. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utils.test.d.ts +1 -0
  17. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utilsErrorHandler.test.d.ts +1 -0
  18. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeFormProvider/BlackholeFormProvider.test.d.ts +2 -0
  19. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/utils.test.d.ts +8 -0
  20. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTableProvider/utils.test.d.ts +1 -0
  21. package/dist/types/components/molecules/Events/molecules/EventRow/utils.test.d.ts +1 -0
  22. package/dist/types/components/molecules/Events/reducer.test.d.ts +1 -0
  23. package/dist/types/components/molecules/Events/utils.test.d.ts +1 -0
  24. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbsProvider/utils.test.d.ts +1 -0
  25. package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebarProvider/utils.test.d.ts +1 -0
  26. package/dist/types/components/molecules/MarketPlace/molecules/MarketplaceCard/utils.test.d.ts +1 -0
  27. package/dist/types/components/molecules/Terminals/VMVNC/VMVNC.d.ts +9 -0
  28. package/dist/types/components/molecules/Terminals/VMVNC/hooks/useVNCClient.d.ts +29 -0
  29. package/dist/types/components/molecules/Terminals/VMVNC/index.d.ts +2 -0
  30. package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/VMVNCToolbar.d.ts +17 -0
  31. package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/index.d.ts +1 -0
  32. package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/styled.d.ts +1364 -0
  33. package/dist/types/components/molecules/Terminals/VMVNC/molecules/index.d.ts +1 -0
  34. package/dist/types/components/molecules/Terminals/VMVNC/styled.d.ts +834 -0
  35. package/dist/types/components/molecules/Terminals/index.d.ts +2 -0
  36. package/dist/types/components/molecules/index.d.ts +2 -2
  37. package/dist/types/components/organisms/DynamicComponents/molecules/Annotations/utils.test.d.ts +1 -0
  38. package/dist/types/components/organisms/DynamicComponents/molecules/ArrayOfObjectsToKeyValues/utils.test.d.ts +1 -0
  39. package/dist/types/components/organisms/DynamicComponents/molecules/EnrichedTable/utils.test.d.ts +1 -0
  40. package/dist/types/components/organisms/DynamicComponents/molecules/Events/utils.test.d.ts +1 -0
  41. package/dist/types/components/organisms/DynamicComponents/molecules/ItemCounter/utils.test.d.ts +1 -0
  42. package/dist/types/components/organisms/DynamicComponents/molecules/KeyCounter/utils.test.d.ts +1 -0
  43. package/dist/types/components/organisms/DynamicComponents/molecules/Labels/utils.test.d.ts +1 -0
  44. package/dist/types/components/organisms/DynamicComponents/molecules/LabelsToSearchParams/utils.test.d.ts +1 -0
  45. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/guard.test.d.ts +1 -0
  46. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/RefElement/utils.test.d.ts +1 -0
  47. package/dist/types/components/organisms/DynamicComponents/molecules/ParsedText/utils.test.d.ts +1 -0
  48. package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/utils.test.d.ts +1 -0
  49. package/dist/types/components/organisms/DynamicComponents/molecules/PodTerminal/utils.test.d.ts +1 -0
  50. package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/hooks/usePrometheusQueryRange.test.d.ts +1 -0
  51. package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/hooks/usePrometheusQueryRangeMulti.test.d.ts +1 -0
  52. package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/utils/prometheusAdapter.test.d.ts +1 -0
  53. package/dist/types/components/organisms/DynamicComponents/molecules/StatusText/utils.test.d.ts +1 -0
  54. package/dist/types/components/organisms/DynamicComponents/molecules/Taints/utils.test.d.ts +1 -0
  55. package/dist/types/components/organisms/DynamicComponents/molecules/Tolerations/utils.test.d.ts +1 -0
  56. package/dist/types/components/organisms/DynamicComponents/molecules/VMVNC/VMVNC.d.ts +6 -0
  57. package/dist/types/components/organisms/DynamicComponents/molecules/VMVNC/index.d.ts +1 -0
  58. package/dist/types/components/organisms/DynamicComponents/molecules/YamlEditorSingleton/utils.test.d.ts +1 -0
  59. package/dist/types/components/organisms/DynamicComponents/molecules/index.d.ts +1 -0
  60. package/dist/types/components/organisms/DynamicComponents/types.d.ts +8 -0
  61. package/dist/types/components/organisms/DynamicRenderer/DynamicRenderer.test.d.ts +1 -0
  62. package/dist/types/components/organisms/DynamicRendererWithProviders/DynamicRendererWithProviders.test.d.ts +1 -0
  63. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/factoryConfigProvider/factoryConfigProvider.test.d.ts +1 -0
  64. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/factoryConfigProvider/index.d.ts +1 -0
  65. package/dist/types/components/organisms/DynamicRendererWithProviders/{hybridDataProvider.d.ts → providers/hybridDataProvider/hybridDataProvider.d.ts} +1 -1
  66. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/hybridDataProvider/hybridDataProvider.test.d.ts +1 -0
  67. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/hybridDataProvider/index.d.ts +1 -0
  68. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiK8sProvider/index.d.ts +2 -0
  69. package/dist/types/components/organisms/DynamicRendererWithProviders/{multiK8sProvider.d.ts → providers/multiK8sProvider/multiK8sProvider.d.ts} +1 -1
  70. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiK8sProvider/multiK8sProvider.test.d.ts +1 -0
  71. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiQueryProvider/index.d.ts +1 -0
  72. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiQueryProvider/multiQueryProvider.test.d.ts +1 -0
  73. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/partsOfUrlContext/index.d.ts +1 -0
  74. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/partsOfUrlContext/partsOfUrlContext.test.d.ts +1 -0
  75. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/themeContext/index.d.ts +1 -0
  76. package/dist/types/components/organisms/DynamicRendererWithProviders/providers/themeContext/themeContext.test.d.ts +1 -0
  77. package/dist/types/hooks/useApiResource.d.ts +1 -0
  78. package/dist/types/hooks/useBuiltinResource.d.ts +1 -0
  79. package/dist/types/hooks/useCrdResource.d.ts +1 -0
  80. package/dist/types/hooks/useK8sSmartResource/useK8sSmartResource.test.d.ts +2 -0
  81. package/dist/types/hooks/useK8sSmartResource/useK8sSmartResourceWithoutKinds.test.d.ts +2 -0
  82. package/dist/types/hooks/useK8sSmartResource/useManyK8sSmartResource.test.d.ts +2 -0
  83. package/dist/types/hooks/useK8sSmartResource/useSmartResourceParams.test.d.ts +2 -0
  84. package/dist/types/hooks/useListThenWatch/reducer.test.d.ts +1 -0
  85. package/dist/types/hooks/useListThenWatch/useInfiniteSentinel.test.d.ts +2 -0
  86. package/dist/types/hooks/useListThenWatch/useListWatch.test.d.ts +2 -0
  87. package/dist/types/hooks/useListThenWatch/utils.test.d.ts +1 -0
  88. package/dist/types/hooks/useResourceScope/useResourceScope.test.d.ts +2 -0
  89. package/dist/types/localTypes/k8s.d.ts +1 -0
  90. package/dist/types/utils/converterBytes/converterBytes.d.ts +3 -0
  91. package/dist/types/utils/createContextFactory/createContextFactory.test.d.ts +2 -0
  92. package/dist/types/utils/deepMerge/deepMerge.test.d.ts +1 -0
  93. package/dist/types/utils/filterSelectOptions/filterSelectOptions.test.d.ts +1 -0
  94. package/dist/types/utils/getAllPathsFromObj/getAllPathsFromObj.test.d.ts +1 -0
  95. package/dist/types/utils/getGroupsByCategory/getGroupsByCategory.test.d.ts +2 -0
  96. package/dist/types/utils/getPrefixSubArrays/getPrefixSubArrays.test.d.ts +1 -0
  97. package/dist/types/utils/getResourceLink/getResourceLink.test.d.ts +1 -0
  98. package/dist/types/utils/getSortedKinds/getSortedKinds.test.d.ts +1 -0
  99. package/dist/types/utils/getSortedKindsAll/getSortedKindsAll.test.d.ts +1 -0
  100. package/dist/types/utils/getStringByName/getStringByName.test.d.ts +1 -0
  101. package/dist/types/utils/getUppercase/getUppercase.test.d.ts +1 -0
  102. package/dist/types/utils/groupsToTreeData/groupsToTreeData.test.d.ts +1 -0
  103. package/dist/types/utils/hslFromString/hslFromString.test.d.ts +1 -0
  104. package/dist/types/utils/isFlatObject/isFlatObject.test.d.ts +1 -0
  105. package/dist/types/utils/kindByGvr/kindByGvr.test.d.ts +1 -0
  106. package/dist/types/utils/namespacedByGvr/namespacedByGvr.test.d.ts +1 -0
  107. package/dist/types/utils/nestedStringsArrayInclude/nestedStringsArrayInclude.test.d.ts +1 -0
  108. package/dist/types/utils/normalizeValuesForQuotas/normalizeValuesForQuotas.test.d.ts +1 -0
  109. package/dist/types/utils/parseForQuotaValues/parseForQuotaValues.test.d.ts +1 -0
  110. package/dist/types/utils/pluralByKind/pluralByKind.test.d.ts +1 -0
  111. package/dist/types/utils/prepareUrlsToFetchForDynamicRenderer/prepareUrlsToFetchForDynamicRenderer.test.d.ts +1 -0
  112. package/dist/types/utils/tableLocations/tableLocations.test.d.ts +1 -0
  113. package/package.json +3 -1
  114. /package/dist/types/components/organisms/DynamicRendererWithProviders/{factoryConfigProvider.d.ts → providers/factoryConfigProvider/factoryConfigProvider.d.ts} +0 -0
  115. /package/dist/types/components/organisms/DynamicRendererWithProviders/{multiQueryProvider.d.ts → providers/multiQueryProvider/multiQueryProvider.d.ts} +0 -0
  116. /package/dist/types/components/organisms/DynamicRendererWithProviders/{partsOfUrlContext.d.ts → providers/partsOfUrlContext/partsOfUrlContext.d.ts} +0 -0
  117. /package/dist/types/components/organisms/DynamicRendererWithProviders/{themeContext.d.ts → providers/themeContext/themeContext.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('styled-components'), require('react'), require('antd'), require('@ant-design/icons'), require('react-router-dom'), require('@tanstack/react-query')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'styled-components', 'react', 'antd', '@ant-design/icons', 'react-router-dom', '@tanstack/react-query'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@prorobotech/openapi-k8s-toolkit"] = {}, global.styled, global.React, global.antd, global.antdIcons, global.ReactRouterDOM, global.reactQuery));
5
- })(this, (function (exports, styled, K, antd, icons, reactRouterDom, reactQuery) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('styled-components'), require('react'), require('antd'), require('@ant-design/icons'), require('react-router-dom'), require('@tanstack/react-query'), require('novnc-next')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'styled-components', 'react', 'antd', '@ant-design/icons', 'react-router-dom', '@tanstack/react-query', 'novnc-next'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@prorobotech/openapi-k8s-toolkit"] = {}, global.styled, global.React, global.antd, global.antdIcons, global.ReactRouterDOM, global.reactQuery, global.NoVNC));
5
+ })(this, (function (exports, styled, K, antd, icons, reactRouterDom, reactQuery, RFB) { 'use strict';
6
6
 
7
7
  const Spacer$1 = styled.div`
8
8
  height: ${({ $space, $spaceMob, $samespace }) => {
@@ -1573,7 +1573,7 @@
1573
1573
  justify-content: center;
1574
1574
  }
1575
1575
  `;
1576
- const Styled$C = {
1576
+ const Styled$E = {
1577
1577
  CustomTreeProvider
1578
1578
  };
1579
1579
 
@@ -1638,7 +1638,7 @@
1638
1638
  });
1639
1639
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1640
1640
  /* @__PURE__ */ jsxRuntimeExports.jsx(Search$1, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
1641
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1641
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$E.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1642
1642
  antd.Tree,
1643
1643
  {
1644
1644
  treeData: loop(treeData),
@@ -8196,14 +8196,14 @@
8196
8196
  display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
8197
8197
  flex-flow: ${({ $flexFlow }) => $flexFlow};
8198
8198
  `;
8199
- const Styled$B = {
8199
+ const Styled$D = {
8200
8200
  ContentContainer
8201
8201
  };
8202
8202
 
8203
8203
  const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
8204
8204
  const { token } = antd.theme.useToken();
8205
8205
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8206
- Styled$B.ContentContainer,
8206
+ Styled$D.ContentContainer,
8207
8207
  {
8208
8208
  $flexGrow: flexGrow,
8209
8209
  $bgColor: token.colorBgContainer,
@@ -8264,13 +8264,13 @@
8264
8264
  padding-inline: 8px;
8265
8265
  }
8266
8266
  `;
8267
- const Styled$A = {
8267
+ const Styled$C = {
8268
8268
  UncontrolledSelect: UncontrolledSelect$1
8269
8269
  };
8270
8270
 
8271
8271
  const UncontrolledSelect = (props) => {
8272
8272
  const { isCursorPointer } = props;
8273
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8273
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8274
8274
  };
8275
8275
 
8276
8276
  const CustomSelect$5 = styled(antd.Select)`
@@ -8318,13 +8318,13 @@
8318
8318
  margin-block: 0 !important;
8319
8319
  }
8320
8320
  `;
8321
- const Styled$z = {
8321
+ const Styled$B = {
8322
8322
  CustomSelect: CustomSelect$5
8323
8323
  };
8324
8324
 
8325
8325
  const CustomSelect$4 = (props) => {
8326
8326
  const { paddingContainerEnd, ...rest } = props;
8327
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8327
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8328
8328
  };
8329
8329
 
8330
8330
  const CursorPointerTag = styled(antd.Tag)`
@@ -8471,7 +8471,7 @@
8471
8471
  height: min-content;
8472
8472
  margin-right: 4px;
8473
8473
  `;
8474
- const Styled$y = {
8474
+ const Styled$A = {
8475
8475
  Abbr: Abbr$2
8476
8476
  };
8477
8477
 
@@ -8511,7 +8511,7 @@
8511
8511
  baseFactoriesMapping
8512
8512
  });
8513
8513
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
8514
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.Abbr, { $bgColor: bgColor, children: abbr }),
8514
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.Abbr, { $bgColor: bgColor, children: abbr }),
8515
8515
  resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
8516
8516
  antd.Typography.Link,
8517
8517
  {
@@ -8550,7 +8550,7 @@
8550
8550
  flex-wrap: nowrap !important;
8551
8551
  }
8552
8552
  `;
8553
- const Styled$x = {
8553
+ const Styled$z = {
8554
8554
  PositionRelativeContainer,
8555
8555
  FullWidthContainer,
8556
8556
  NoWrapContainer
@@ -8593,9 +8593,9 @@
8593
8593
  };
8594
8594
  return [firstItem, ellipsisItem, lastItem];
8595
8595
  };
8596
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$x.PositionRelativeContainer, { children: [
8597
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
8598
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
8596
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$z.PositionRelativeContainer, { children: [
8597
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
8598
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
8599
8599
  ] });
8600
8600
  };
8601
8601
 
@@ -8603,12 +8603,12 @@
8603
8603
  min-height: 22px;
8604
8604
  width: 100%;
8605
8605
  `;
8606
- const Styled$w = {
8606
+ const Styled$y = {
8607
8607
  HeightDiv: HeightDiv$1
8608
8608
  };
8609
8609
 
8610
8610
  const ManageableBreadcrumbs = ({ data }) => {
8611
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$w.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
8611
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
8612
8612
  };
8613
8613
 
8614
8614
  const getKinds = async ({ cluster }) => {
@@ -9594,7 +9594,7 @@
9594
9594
  min-height: 22px;
9595
9595
  width: 100%;
9596
9596
  `;
9597
- const Styled$v = {
9597
+ const Styled$x = {
9598
9598
  HeightDiv
9599
9599
  };
9600
9600
 
@@ -9623,7 +9623,7 @@
9623
9623
  return null;
9624
9624
  }
9625
9625
  if (rawDataLoading) {
9626
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
9626
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
9627
9627
  }
9628
9628
  if (!rawData) {
9629
9629
  return null;
@@ -9638,7 +9638,7 @@
9638
9638
  idToCompare
9639
9639
  });
9640
9640
  if (!result) {
9641
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.HeightDiv, {});
9641
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, {});
9642
9642
  }
9643
9643
  return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result }, JSON.stringify(idToCompare));
9644
9644
  };
@@ -9666,7 +9666,7 @@
9666
9666
  margin: 0 !important;
9667
9667
  }
9668
9668
  `;
9669
- const Styled$u = {
9669
+ const Styled$w = {
9670
9670
  CustomMenu
9671
9671
  };
9672
9672
 
@@ -9693,7 +9693,7 @@
9693
9693
  setSelectedKeys(data.selectedKeys);
9694
9694
  }, [data.selectedKeys]);
9695
9695
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
9696
- Styled$u.CustomMenu,
9696
+ Styled$w.CustomMenu,
9697
9697
  {
9698
9698
  selectedKeys,
9699
9699
  onSelect: () => {
@@ -33881,7 +33881,7 @@
33881
33881
  white-space: nowrap;
33882
33882
  text-overflow: ellipsis;
33883
33883
  `;
33884
- const Styled$t = {
33884
+ const Styled$v = {
33885
33885
  ShortenedText
33886
33886
  };
33887
33887
 
@@ -33890,7 +33890,7 @@
33890
33890
  const trimmedText = text.substring(0, trimLength);
33891
33891
  return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, placement: "top", children: trimmedText });
33892
33892
  }
33893
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$t.ShortenedText, { $maxWidth: maxWidth, children: text }) });
33893
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.ShortenedText, { $maxWidth: maxWidth, children: text }) });
33894
33894
  };
33895
33895
 
33896
33896
  const FilterDropdown = ({
@@ -34142,13 +34142,53 @@
34142
34142
  if (bytes < 0) return -1;
34143
34143
  return convertBytes(bytes, to, opts);
34144
34144
  };
34145
+ const normalizeAutoNumber$1 = (raw) => {
34146
+ let s = raw.trim();
34147
+ s = s.replace(/[\s\u00A0\u202F_]/g, "");
34148
+ s = s.replace(/'/g, "");
34149
+ const hasDot = s.includes(".");
34150
+ const hasComma = s.includes(",");
34151
+ if (hasDot && hasComma) {
34152
+ const lastDot = s.lastIndexOf(".");
34153
+ const lastComma = s.lastIndexOf(",");
34154
+ const decimal = lastDot > lastComma ? "." : ",";
34155
+ const group = decimal === "." ? "," : ".";
34156
+ s = s.split(group).join("");
34157
+ if (decimal === ",") s = s.replace(/,/g, ".");
34158
+ return s;
34159
+ }
34160
+ if (hasComma && !hasDot) {
34161
+ const parts = s.split(",");
34162
+ if (parts.length > 2) {
34163
+ return parts.join("");
34164
+ }
34165
+ const [intPart, fracPart = ""] = parts;
34166
+ if (fracPart.length === 3 && intPart.length >= 1) {
34167
+ return intPart + fracPart;
34168
+ }
34169
+ return intPart + (fracPart ? "." + fracPart : "");
34170
+ }
34171
+ if (hasDot && !hasComma) {
34172
+ const parts = s.split(".");
34173
+ if (parts.length > 2) {
34174
+ return parts.join("");
34175
+ }
34176
+ const [intPart, fracPart = ""] = parts;
34177
+ if (fracPart.length === 3 && intPart.length >= 1) {
34178
+ return intPart + fracPart;
34179
+ }
34180
+ return intPart + (fracPart ? "." + fracPart : "");
34181
+ }
34182
+ return s;
34183
+ };
34145
34184
  const parseValueWithUnit = (input) => {
34146
34185
  const trimmed = input.trim();
34147
34186
  if (!trimmed) return null;
34148
- const match = trimmed.match(/^([+-]?\d+(?:\.\d+)?)(?:\s*([a-zA-Z]+))?$/);
34187
+ const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Z]+))?$/);
34149
34188
  if (!match) return null;
34150
- const [, numPart, unitPart] = match;
34151
- const value = Number(numPart);
34189
+ const [, numPartRaw, unitPart] = match;
34190
+ const normalized = normalizeAutoNumber$1(numPartRaw);
34191
+ const value = Number(normalized);
34152
34192
  if (!Number.isFinite(value)) return null;
34153
34193
  if (unitPart) {
34154
34194
  return { value, unit: unitPart };
@@ -34245,18 +34285,72 @@
34245
34285
  if (cores < 0) return -1;
34246
34286
  return convertCores(cores, to, opts);
34247
34287
  };
34288
+ const isDigits = (s) => /^\d+$/.test(s);
34289
+ const isValidThousandGrouping = (parts) => {
34290
+ if (parts.length < 3) return false;
34291
+ if (parts.some((p) => p.length === 0)) return false;
34292
+ if (!parts.every(isDigits)) return false;
34293
+ if (parts[0].length < 1 || parts[0].length > 3) return false;
34294
+ for (let i = 1; i < parts.length; i++) {
34295
+ if (parts[i].length !== 3) return false;
34296
+ }
34297
+ return true;
34298
+ };
34299
+ const normalizeAutoNumber = (raw) => {
34300
+ let s = raw.trim();
34301
+ s = s.replace(/[\s\u00A0\u202F_]/g, "");
34302
+ s = s.replace(/'/g, "");
34303
+ const hasDot = s.includes(".");
34304
+ const hasComma = s.includes(",");
34305
+ if (hasDot && hasComma) {
34306
+ const lastDot = s.lastIndexOf(".");
34307
+ const lastComma = s.lastIndexOf(",");
34308
+ const decimal = lastDot > lastComma ? "." : ",";
34309
+ const group = decimal === "." ? "," : ".";
34310
+ s = s.split(group).join("");
34311
+ if (decimal === ",") s = s.replace(/,/g, ".");
34312
+ return s;
34313
+ }
34314
+ if (hasComma && !hasDot) {
34315
+ const parts = s.split(",");
34316
+ if (parts.length > 2) {
34317
+ if (!isValidThousandGrouping(parts)) return null;
34318
+ return parts.join("");
34319
+ }
34320
+ const [intPart, fracPart = ""] = parts;
34321
+ if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
34322
+ if (fracPart.length === 3 && intPart.length >= 1) {
34323
+ return intPart + fracPart;
34324
+ }
34325
+ return intPart + (fracPart ? "." + fracPart : "");
34326
+ }
34327
+ if (hasDot && !hasComma) {
34328
+ const parts = s.split(".");
34329
+ if (parts.length > 2) {
34330
+ if (!isValidThousandGrouping(parts)) return null;
34331
+ return parts.join("");
34332
+ }
34333
+ const [intPart, fracPart = ""] = parts;
34334
+ if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
34335
+ if (fracPart.length === 3 && intPart.length >= 1) {
34336
+ return intPart + fracPart;
34337
+ }
34338
+ return intPart + (fracPart ? "." + fracPart : "");
34339
+ }
34340
+ if (!isDigits(s.replace(/^[+-]/, ""))) return null;
34341
+ return s;
34342
+ };
34248
34343
  const parseCoresWithUnit = (input) => {
34249
34344
  const trimmed = input.trim();
34250
34345
  if (!trimmed) return null;
34251
- const match = trimmed.match(/^([+-]?\d+(?:\.\d+)?)(?:\s*([a-zA-Zµ]+))?$/);
34346
+ const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Zµ]+))?$/);
34252
34347
  if (!match) return null;
34253
- const [, numPart, unitPart] = match;
34254
- const value = Number(numPart);
34348
+ const [, numPartRaw, unitPart] = match;
34349
+ const normalized = normalizeAutoNumber(numPartRaw);
34350
+ if (!normalized) return null;
34351
+ const value = Number(normalized);
34255
34352
  if (!Number.isFinite(value)) return null;
34256
- if (unitPart) {
34257
- return { value, unit: unitPart };
34258
- }
34259
- return { value };
34353
+ return unitPart ? { value, unit: unitPart } : { value };
34260
34354
  };
34261
34355
 
34262
34356
  const DynamicRendererInner = ({
@@ -42949,7 +43043,7 @@
42949
43043
  font-size: 16px;
42950
43044
  line-height: 24px;
42951
43045
  `;
42952
- const Styled$s = {
43046
+ const Styled$u = {
42953
43047
  BorderRadiusContainer: BorderRadiusContainer$1,
42954
43048
  ControlsRowContainer: ControlsRowContainer$1,
42955
43049
  BigText: BigText$1
@@ -43073,7 +43167,7 @@
43073
43167
  };
43074
43168
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
43075
43169
  contextHolder,
43076
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
43170
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
43077
43171
  Ft$1,
43078
43172
  {
43079
43173
  defaultLanguage: "yaml",
@@ -43092,7 +43186,7 @@
43092
43186
  }
43093
43187
  }
43094
43188
  ) }),
43095
- !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
43189
+ !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
43096
43190
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
43097
43191
  backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => navigate(backlink), children: "Cancel" }),
43098
43192
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: handleReload, children: "Reload" })
@@ -43103,7 +43197,7 @@
43103
43197
  open: !!error,
43104
43198
  onOk: () => setError(void 0),
43105
43199
  onCancel: () => setError(void 0),
43106
- title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.BigText, { children: "Error!" }) }),
43200
+ title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BigText, { children: "Error!" }) }),
43107
43201
  cancelButtonProps: { style: { display: "none" } },
43108
43202
  children: [
43109
43203
  "An error has occurred: ",
@@ -43219,7 +43313,7 @@
43219
43313
  const VisibilityContainer$2 = styled.div`
43220
43314
  display: ${({ $hidden }) => $hidden ? "none" : "block"};
43221
43315
  `;
43222
- const Styled$r = {
43316
+ const Styled$t = {
43223
43317
  VisibilityContainer: VisibilityContainer$2
43224
43318
  };
43225
43319
 
@@ -43242,7 +43336,7 @@
43242
43336
  if (isMultiqueryLoading) {
43243
43337
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
43244
43338
  }
43245
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$r.VisibilityContainer, { $hidden: valuePrepared === "~undefined-value~", children });
43339
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$t.VisibilityContainer, { $hidden: valuePrepared === "~undefined-value~", children });
43246
43340
  };
43247
43341
 
43248
43342
  const unknownToString = (value) => {
@@ -43481,7 +43575,7 @@
43481
43575
  return dispatch;
43482
43576
  };
43483
43577
 
43484
- const Container$2 = styled.div`
43578
+ const Container$3 = styled.div`
43485
43579
  display: flex;
43486
43580
  flex-direction: column;
43487
43581
  gap: ${({ $designNewLayout }) => $designNewLayout ? "4px" : "8px"};
@@ -43507,8 +43601,8 @@
43507
43601
  display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
43508
43602
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
43509
43603
  `;
43510
- const Styled$q = {
43511
- Container: Container$2,
43604
+ const Styled$s = {
43605
+ Container: Container$3,
43512
43606
  TitleBar,
43513
43607
  Content: Content$1
43514
43608
  };
@@ -43534,14 +43628,14 @@
43534
43628
  }
43535
43629
  };
43536
43630
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
43537
- Styled$q.Container,
43631
+ Styled$s.Container,
43538
43632
  {
43539
43633
  $designNewLayout: designNewLayout,
43540
43634
  $borderColor: token.colorBorder,
43541
43635
  $bgColor: token.colorBgContainer,
43542
43636
  children: [
43543
43637
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
43544
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$q.TitleBar, { onClick: () => toggleCollapse(), children: [
43638
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$s.TitleBar, { onClick: () => toggleCollapse(), children: [
43545
43639
  !designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(icons.CaretDownOutlined, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(icons.CaretRightOutlined, { size: 14 }) }),
43546
43640
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: title }),
43547
43641
  designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(DownIcon, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(UpIcon, {}) })
@@ -43552,7 +43646,7 @@
43552
43646
  persistedCheckbox
43553
43647
  ] })
43554
43648
  ] }),
43555
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$q.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
43649
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
43556
43650
  ]
43557
43651
  }
43558
43652
  );
@@ -43586,13 +43680,13 @@
43586
43680
  const Content = styled.div`
43587
43681
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
43588
43682
  `;
43589
- const Styled$p = {
43683
+ const Styled$r = {
43590
43684
  Content
43591
43685
  };
43592
43686
 
43593
43687
  const ArrayInsideContainer = ({ children }) => {
43594
43688
  const designNewLayout = useDesignNewLayout();
43595
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$p.Content, { $designNewLayout: designNewLayout, children });
43689
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$r.Content, { $designNewLayout: designNewLayout, children });
43596
43690
  };
43597
43691
 
43598
43692
  const includesPath = (haystack, needle) => haystack.some((h) => h.length === needle.length && h.every((seg, i) => seg === String(needle[i])));
@@ -44145,7 +44239,7 @@
44145
44239
  const ResetedFormList$3 = styled(antd.Form.List)`
44146
44240
  margin-bottom: 8px;
44147
44241
  `;
44148
- const Styled$o = {
44242
+ const Styled$q = {
44149
44243
  ResetedFormList: ResetedFormList$3
44150
44244
  };
44151
44245
 
@@ -44230,7 +44324,7 @@
44230
44324
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[3], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
44231
44325
  ] }),
44232
44326
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
44233
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$o.ResetedFormList, { name: "taints", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44327
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$q.ResetedFormList, { name: "taints", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44234
44328
  fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
44235
44329
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
44236
44330
  ResetedFormItem$1,
@@ -44470,7 +44564,7 @@
44470
44564
  const ResetedFormList$2 = styled(antd.Form.List)`
44471
44565
  margin-bottom: 8px;
44472
44566
  `;
44473
- const Styled$n = {
44567
+ const Styled$p = {
44474
44568
  ResetedFormList: ResetedFormList$2
44475
44569
  };
44476
44570
 
@@ -44565,7 +44659,7 @@
44565
44659
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[4], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
44566
44660
  ] }),
44567
44661
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
44568
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.ResetedFormList, { name: "tolerations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44662
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$p.ResetedFormList, { name: "tolerations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44569
44663
  fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
44570
44664
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
44571
44665
  ResetedFormItem$1,
@@ -44847,7 +44941,7 @@
44847
44941
  const ResetedFormList$1 = styled(antd.Form.List)`
44848
44942
  margin-bottom: 8px;
44849
44943
  `;
44850
- const Styled$m = {
44944
+ const Styled$o = {
44851
44945
  ResetedFormList: ResetedFormList$1
44852
44946
  };
44853
44947
 
@@ -44937,7 +45031,7 @@
44937
45031
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[2], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
44938
45032
  ] }),
44939
45033
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
44940
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.ResetedFormList, { name: "annotations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45034
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$o.ResetedFormList, { name: "annotations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44941
45035
  fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
44942
45036
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
44943
45037
  ResetedFormItem$1,
@@ -46086,7 +46180,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46086
46180
  margin-bottom: 0 !important;
46087
46181
  }
46088
46182
  `;
46089
- const Styled$l = {
46183
+ const Styled$n = {
46090
46184
  NoSelect,
46091
46185
  DisabledInput,
46092
46186
  NotificationOverrides
@@ -46152,10 +46246,10 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46152
46246
  }
46153
46247
  };
46154
46248
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
46155
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.NotificationOverrides, {}),
46249
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NotificationOverrides, {}),
46156
46250
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 8, ...flexProps, children: [
46157
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.NoSelect, { style: inputContainerStyle, children: niceLooking ? /* @__PURE__ */ jsxRuntimeExports.jsx(te, { theme, hidden, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46158
- Styled$l.DisabledInput,
46251
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NoSelect, { style: inputContainerStyle, children: niceLooking ? /* @__PURE__ */ jsxRuntimeExports.jsx(te, { theme, hidden, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46252
+ Styled$n.DisabledInput,
46159
46253
  {
46160
46254
  $hidden: hidden,
46161
46255
  ref: inputRef,
@@ -46170,7 +46264,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46170
46264
  value: decodedText
46171
46265
  }
46172
46266
  ) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
46173
- Styled$l.DisabledInput,
46267
+ Styled$n.DisabledInput,
46174
46268
  {
46175
46269
  $hidden: hidden,
46176
46270
  ref: inputRef,
@@ -46204,7 +46298,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46204
46298
  letter-spacing: 0.02em;
46205
46299
  box-sizing: content-box;
46206
46300
  `;
46207
- const Styled$k = {
46301
+ const Styled$m = {
46208
46302
  RoundSpan
46209
46303
  };
46210
46304
 
@@ -46243,7 +46337,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46243
46337
  multiQueryData
46244
46338
  }) : getUppercase(parsedValue);
46245
46339
  const bgColor = hslFromString(parsedValue, theme);
46246
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.RoundSpan, { $bgColor: bgColor, style, children: parsedAbbreviation });
46340
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.RoundSpan, { $bgColor: bgColor, style, children: parsedAbbreviation });
46247
46341
  };
46248
46342
 
46249
46343
  const serializeLabelsWithNoEncoding = (input) => {
@@ -46921,6 +47015,50 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46921
47015
  ] });
46922
47016
  };
46923
47017
 
47018
+ const VMVNC$1 = ({
47019
+ data,
47020
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47021
+ children
47022
+ }) => {
47023
+ const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery();
47024
+ const {
47025
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47026
+ id,
47027
+ cluster,
47028
+ namespace,
47029
+ vmName,
47030
+ forcedFullWsPath,
47031
+ substractHeight,
47032
+ ...props
47033
+ } = data;
47034
+ const partsOfUrl = usePartsOfUrl();
47035
+ const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
47036
+ acc[index.toString()] = value;
47037
+ return acc;
47038
+ }, {});
47039
+ const clusterPrepared = cluster ? parseAll({ text: cluster, replaceValues, multiQueryData }) : void 0;
47040
+ const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : void 0;
47041
+ const vmNamePrepared = vmName ? parseAll({ text: vmName, replaceValues, multiQueryData }) : void 0;
47042
+ const forcedFullWsPathPrepared = forcedFullWsPath ? parseAll({ text: forcedFullWsPath, replaceValues, multiQueryData }) : void 0;
47043
+ if (isMultiqueryLoading) {
47044
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
47045
+ }
47046
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
47047
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
47048
+ VMVNC,
47049
+ {
47050
+ cluster: clusterPrepared,
47051
+ namespace: namespacePrepared,
47052
+ vmName: vmNamePrepared,
47053
+ forcedFullWsPath: forcedFullWsPathPrepared,
47054
+ substractHeight: substractHeight || 400,
47055
+ ...props
47056
+ }
47057
+ ),
47058
+ children
47059
+ ] });
47060
+ };
47061
+
46924
47062
  const DynamicComponents = {
46925
47063
  DefaultDiv,
46926
47064
  antdText: AntdText,
@@ -46961,7 +47099,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
46961
47099
  Events: Events$1,
46962
47100
  OwnerRefs,
46963
47101
  Toggler,
46964
- TogglerSegmented
47102
+ TogglerSegmented,
47103
+ VMVNC: VMVNC$1
46965
47104
  };
46966
47105
 
46967
47106
  const prepareUrlsToFetchForDynamicRenderer = ({
@@ -47155,7 +47294,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
47155
47294
  const isSortersAndFiltersDisabled = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "disabled";
47156
47295
  const isSortersAndFiltersCPU = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "cpu";
47157
47296
  const isSortersAndFiltersMemory = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "memory";
47158
- console.log(`key: ${el.key}, isSortersAndFiltersMemory: ${isSortersAndFiltersMemory}`);
47159
47297
  const possibleUndefinedValue = additionalPrinterColumnsUndefinedValues?.find(({ key }) => key === el.key)?.value;
47160
47298
  const possibleTrimLength = additionalPrinterColumnsTrimLengths?.find(({ key }) => key === el.key)?.value;
47161
47299
  const possibleColWidth = additionalPrinterColumnsColWidths?.find(({ key }) => key === el.key)?.value;
@@ -47171,7 +47309,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
47171
47309
  };
47172
47310
  const getMemoryInBytes = (record) => {
47173
47311
  const text = getCellTextFromDOM(record);
47174
- console.log(`text from cell ${text}`);
47175
47312
  if (!text) return 0;
47176
47313
  const parsed = parseValueWithUnit(text);
47177
47314
  if (!parsed) return 0;
@@ -47272,7 +47409,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
47272
47409
  if (isSortersAndFiltersMemory) {
47273
47410
  const aBytes = getMemoryInBytes(a);
47274
47411
  const bBytes = getMemoryInBytes(b);
47275
- console.log(`isSortersAndFiltersMemory ${aBytes}/${bBytes}`);
47276
47412
  return safeNumericCompare(aBytes, bBytes);
47277
47413
  }
47278
47414
  if (isSortersAndFiltersCPU) {
@@ -48393,7 +48529,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
48393
48529
  border-radius: 8px;
48394
48530
  }
48395
48531
  `;
48396
- const Styled$j = {
48532
+ const Styled$l = {
48397
48533
  BorderRadiusContainer
48398
48534
  };
48399
48535
 
@@ -48440,7 +48576,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
48440
48576
  }
48441
48577
  }
48442
48578
  }, [yamlData, editorUri]);
48443
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$j.BorderRadiusContainer, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
48579
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.BorderRadiusContainer, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
48444
48580
  Ft$1,
48445
48581
  {
48446
48582
  language: "yaml",
@@ -49197,7 +49333,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49197
49333
  const MarginBottom = styled.div`
49198
49334
  margin-bottom: 8px;
49199
49335
  `;
49200
- const Styled$i = {
49336
+ const Styled$k = {
49201
49337
  MarginBottom
49202
49338
  };
49203
49339
 
@@ -49263,7 +49399,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49263
49399
  },
49264
49400
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
49265
49401
  ),
49266
- isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.MarginBottom, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
49402
+ isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.MarginBottom, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
49267
49403
  antd.Input.TextArea,
49268
49404
  {
49269
49405
  placeholder: getStringByName(name),
@@ -49290,7 +49426,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49290
49426
  cursor: pointer;
49291
49427
  padding-top: 11px;
49292
49428
  `;
49293
- const Styled$h = {
49429
+ const Styled$j = {
49294
49430
  SwitchAndCrossContainer,
49295
49431
  CrossContainer
49296
49432
  };
@@ -49315,7 +49451,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49315
49451
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) })
49316
49452
  ] })
49317
49453
  ] }),
49318
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$h.SwitchAndCrossContainer, { children: [
49454
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$j.SwitchAndCrossContainer, { children: [
49319
49455
  /* @__PURE__ */ jsxRuntimeExports.jsx(
49320
49456
  ResetedFormItem$1,
49321
49457
  {
@@ -49325,7 +49461,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49325
49461
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
49326
49462
  ),
49327
49463
  /* @__PURE__ */ jsxRuntimeExports.jsx(
49328
- Styled$h.CrossContainer,
49464
+ Styled$j.CrossContainer,
49329
49465
  {
49330
49466
  onClick: () => {
49331
49467
  if (makeValueUndefined) {
@@ -49513,7 +49649,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49513
49649
  ] });
49514
49650
  };
49515
49651
 
49516
- const Container$1 = styled.div`
49652
+ const Container$2 = styled.div`
49517
49653
  height: 140px;
49518
49654
  border: 1px solid ${({ $colorBorder }) => $colorBorder};
49519
49655
  border-radius: 8px;
@@ -49524,8 +49660,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49524
49660
  border-radius: 8px;
49525
49661
  }
49526
49662
  `;
49527
- const Styled$g = {
49528
- Container: Container$1
49663
+ const Styled$i = {
49664
+ Container: Container$2
49529
49665
  };
49530
49666
 
49531
49667
  const FormInlineYamlEditor = ({ path, persistedControls, externalValue }) => {
@@ -49578,7 +49714,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49578
49714
  }
49579
49715
  }
49580
49716
  }, [yamlText, modelUri]);
49581
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.Container, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
49717
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.Container, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
49582
49718
  Ft$1,
49583
49719
  {
49584
49720
  language: "yaml",
@@ -49717,7 +49853,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49717
49853
  });
49718
49854
  };
49719
49855
 
49720
- const Container = styled.div`
49856
+ const Container$1 = styled.div`
49721
49857
  display: grid;
49722
49858
  grid-template-columns: repeat(2, 1fr);
49723
49859
  gap: ${({ $designNewLayout }) => $designNewLayout ? "36px" : "8px"};
@@ -49745,9 +49881,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49745
49881
  font-size: 16px;
49746
49882
  line-height: 24px;
49747
49883
  `;
49748
- const Styled$f = {
49884
+ const Styled$h = {
49749
49885
  ResetedFormList,
49750
- Container,
49886
+ Container: Container$1,
49751
49887
  OverflowContainer: OverflowContainer$1,
49752
49888
  ControlsRowContainer,
49753
49889
  DebugContainer,
@@ -50027,7 +50163,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50027
50163
  }
50028
50164
  ),
50029
50165
  /* @__PURE__ */ jsxRuntimeExports.jsx(
50030
- Styled$f.ResetedFormList,
50166
+ Styled$h.ResetedFormList,
50031
50167
  {
50032
50168
  name: arrName || name,
50033
50169
  rules: !forceNonRequired && required?.includes(getStringByName(name)) ? [
@@ -51468,8 +51604,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51468
51604
  setPersistedKeys([...persistedKeys.filter((arr) => JSON.stringify(arr) !== JSON.stringify(value))]);
51469
51605
  };
51470
51606
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51471
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
51472
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
51607
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$h.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
51608
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
51473
51609
  antd.Form,
51474
51610
  {
51475
51611
  form,
@@ -51523,7 +51659,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51523
51659
  ) })
51524
51660
  ] }),
51525
51661
  /* @__PURE__ */ jsxRuntimeExports.jsx(FlexGrow, {}),
51526
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
51662
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
51527
51663
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
51528
51664
  backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => navigate(backlink), children: "Cancel" }),
51529
51665
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => setIsDebugModalOpen(true), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.BugOutlined, {}) }),
@@ -51535,7 +51671,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51535
51671
  open: !!error,
51536
51672
  onOk: () => setError(void 0),
51537
51673
  onCancel: () => setError(void 0),
51538
- title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.BigText, { children: "Error!" }) }),
51674
+ title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.BigText, { children: "Error!" }) }),
51539
51675
  cancelButtonProps: { style: { display: "none" } },
51540
51676
  children: [
51541
51677
  "An error has occurred: ",
@@ -51551,7 +51687,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51551
51687
  onCancel: () => setIsDebugModalOpen(false),
51552
51688
  title: "Debug for properties",
51553
51689
  width: "90vw",
51554
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(K.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
51690
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(K.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
51555
51691
  Editor,
51556
51692
  {
51557
51693
  defaultLanguage: "json",
@@ -51606,7 +51742,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51606
51742
  }
51607
51743
  if (data2.result === "error") {
51608
51744
  setIsError(data2.error);
51609
- console.log(data2.error);
51745
+ console.warn(data2.error);
51610
51746
  fallbackToManualMode();
51611
51747
  } else {
51612
51748
  setPreparedData({
@@ -51649,15 +51785,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51649
51785
  }
51650
51786
  );
51651
51787
  }
51788
+ if (isError) {
51789
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Alert, { message: isError, type: "error" });
51790
+ }
51652
51791
  if (!preparedData?.properties && !isError) {
51653
51792
  return null;
51654
51793
  }
51655
51794
  if (!preparedData?.properties) {
51656
51795
  return null;
51657
51796
  }
51658
- if (isError) {
51659
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Alert, { message: isError, type: "error" });
51660
- }
51661
51797
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
51662
51798
  BlackholeForm,
51663
51799
  {
@@ -51688,7 +51824,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51688
51824
  );
51689
51825
  };
51690
51826
 
51691
- const CustomCard$5 = styled(antd.Card)`
51827
+ const CustomCard$6 = styled(antd.Card)`
51692
51828
  display: flex;
51693
51829
  justify-content: center;
51694
51830
  align-items: center;
@@ -51708,12 +51844,12 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51708
51844
  padding: 8px;
51709
51845
  }
51710
51846
  `;
51711
- const Styled$e = {
51712
- CustomCard: CustomCard$5
51847
+ const Styled$g = {
51848
+ CustomCard: CustomCard$6
51713
51849
  };
51714
51850
 
51715
51851
  const AddCard = ({ onAddClick }) => {
51716
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$e.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PlusOutlined, {}) });
51852
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PlusOutlined, {}) });
51717
51853
  };
51718
51854
 
51719
51855
  const byteToHex = [];
@@ -51930,7 +52066,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51930
52066
  return `/${baseprefix}/${cluster}/${namespace}/forms/builtin/${apiVersion}/${plural}?backlink=${window.location.pathname}`;
51931
52067
  };
51932
52068
 
51933
- const CustomCard$4 = styled(antd.Card)`
52069
+ const CustomCard$5 = styled(antd.Card)`
51934
52070
  position: relative;
51935
52071
  width: 238px;
51936
52072
  overflow-x: auto;
@@ -52001,8 +52137,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52001
52137
  bottom: 6px;
52002
52138
  right: 6px;
52003
52139
  `;
52004
- const Styled$d = {
52005
- CustomCard: CustomCard$4,
52140
+ const Styled$f = {
52141
+ CustomCard: CustomCard$5,
52006
52142
  ImageContainer,
52007
52143
  OverflowContainer,
52008
52144
  TitleContainer,
@@ -52073,14 +52209,14 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52073
52209
  return null;
52074
52210
  }
52075
52211
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
52076
- Styled$d.CustomCard,
52212
+ Styled$f.CustomCard,
52077
52213
  {
52078
52214
  $isDisabled: disabled,
52079
52215
  $hoverColor: token.colorPrimary,
52080
52216
  onClick: () => disabled ? null : navigate(navigateUrl),
52081
52217
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { vertical: true, style: { width: "100%", height: "100%" }, justify: "spaceBetween", children: [
52082
52218
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
52083
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
52219
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
52084
52220
  isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
52085
52221
  "div",
52086
52222
  {
@@ -52101,8 +52237,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52101
52237
  }
52102
52238
  )
52103
52239
  ] }),
52104
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$d.OverflowContainer, { children: [
52105
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$d.TitleContainer, { children: [
52240
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.OverflowContainer, { children: [
52241
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.TitleContainer, { children: [
52106
52242
  name,
52107
52243
  " ",
52108
52244
  addedMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
@@ -52110,10 +52246,10 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52110
52246
  k8sList?.items?.length
52111
52247
  ] })
52112
52248
  ] }),
52113
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.CustomTag, { children: tag }, tag)) }),
52114
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "secondary", children: description }) })
52249
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.CustomTag, { children: tag }, tag)) }),
52250
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "secondary", children: description }) })
52115
52251
  ] }),
52116
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
52252
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
52117
52253
  "div",
52118
52254
  {
52119
52255
  onClick: (e) => {
@@ -52171,7 +52307,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52171
52307
  line-clamp: 1;
52172
52308
  word-break: break-all;
52173
52309
  `;
52174
- const Styled$c = {
52310
+ const Styled$e = {
52175
52311
  BigValue
52176
52312
  };
52177
52313
 
@@ -52281,7 +52417,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52281
52417
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
52282
52418
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 12, vertical: true, children: [
52283
52419
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "secondary", children: "Available Products" }) }),
52284
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.BigValue, { children: "Marketplace" }) })
52420
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$e.BigValue, { children: "Marketplace" }) })
52285
52421
  ] }) }),
52286
52422
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 12, vertical: true, children: [
52287
52423
  /* @__PURE__ */ jsxRuntimeExports.jsx(SearchTextInput, { uniqueTags, selectedTags, onSelectedTags: setSelectedTags }),
@@ -52487,7 +52623,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52487
52623
  line-clamp: 1;
52488
52624
  word-break: break-all;
52489
52625
  `;
52490
- const Styled$b = {
52626
+ const Styled$d = {
52491
52627
  ActionMenuPlaceholder};
52492
52628
 
52493
52629
  const ProjectInfoCard = ({
@@ -52566,7 +52702,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52566
52702
  } : void 0,
52567
52703
  onUpdate: updatePermission.data?.status.allowed ? openUpdate : void 0
52568
52704
  }
52569
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.ActionMenuPlaceholder, {}) }),
52705
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.ActionMenuPlaceholder, {}) }),
52570
52706
  /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownAccessGroups, { accessGroups })
52571
52707
  ] }) })
52572
52708
  ] }),
@@ -52639,7 +52775,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52639
52775
 
52640
52776
  var addonFitExports = addonFit.exports;
52641
52777
 
52642
- const CustomCard$3 = styled.div`
52778
+ const CustomCard$4 = styled.div`
52643
52779
  visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
52644
52780
  height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
52645
52781
 
@@ -52647,15 +52783,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52647
52783
  scrollbar-width: thin;
52648
52784
  }
52649
52785
  `;
52650
- const FullWidthDiv$3 = styled.div`
52786
+ const FullWidthDiv$4 = styled.div`
52651
52787
  display: flex;
52652
52788
  justify-content: center;
52653
52789
  width: 100%;
52654
52790
  height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
52655
52791
  `;
52656
- const Styled$a = {
52657
- FullWidthDiv: FullWidthDiv$3,
52658
- CustomCard: CustomCard$3
52792
+ const Styled$c = {
52793
+ FullWidthDiv: FullWidthDiv$4,
52794
+ CustomCard: CustomCard$4
52659
52795
  };
52660
52796
 
52661
52797
  const XTerminal$2 = ({ endpoint, namespace, podName, container, substractHeight }) => {
@@ -52738,7 +52874,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52738
52874
  };
52739
52875
  }, [terminal, endpoint, namespace, podName, container]);
52740
52876
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
52741
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
52877
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
52742
52878
  isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
52743
52879
  error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
52744
52880
  ] });
@@ -52749,7 +52885,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52749
52885
  width: 200px;
52750
52886
  }
52751
52887
  `;
52752
- const Styled$9 = {
52888
+ const Styled$b = {
52753
52889
  CustomSelect: CustomSelect$3
52754
52890
  };
52755
52891
 
@@ -52760,7 +52896,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52760
52896
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
52761
52897
  }
52762
52898
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
52763
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
52899
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
52764
52900
  antd.Select,
52765
52901
  {
52766
52902
  placeholder: "Select container",
@@ -52789,7 +52925,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52789
52925
  ] });
52790
52926
  };
52791
52927
 
52792
- const CustomCard$2 = styled.div`
52928
+ const CustomCard$3 = styled.div`
52793
52929
  visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
52794
52930
  height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
52795
52931
 
@@ -52797,7 +52933,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52797
52933
  scrollbar-width: thin;
52798
52934
  }
52799
52935
  `;
52800
- const FullWidthDiv$2 = styled.div`
52936
+ const FullWidthDiv$3 = styled.div`
52801
52937
  display: flex;
52802
52938
  justify-content: center;
52803
52939
  width: 100%;
@@ -52812,9 +52948,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52812
52948
  align-items: center;
52813
52949
  gap: 8px;
52814
52950
  `;
52815
- const Styled$8 = {
52816
- FullWidthDiv: FullWidthDiv$2,
52817
- CustomCard: CustomCard$2,
52951
+ const Styled$a = {
52952
+ FullWidthDiv: FullWidthDiv$3,
52953
+ CustomCard: CustomCard$3,
52818
52954
  ProgressContainer
52819
52955
  };
52820
52956
 
@@ -52944,8 +53080,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52944
53080
  };
52945
53081
  }, [terminal, endpoint, nodeName, profile]);
52946
53082
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
52947
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
52948
- !isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$8.ProgressContainer, { $substractHeight: substractHeight, children: [
53083
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
53084
+ !isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.ProgressContainer, { $substractHeight: substractHeight, children: [
52949
53085
  isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
52950
53086
  !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Progress, { type: "circle", percent: progressPercent }),
52951
53087
  warmupMessage && /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Typography.Text, { children: [
@@ -52966,7 +53102,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52966
53102
  width: 200px;
52967
53103
  }
52968
53104
  `;
52969
- const Styled$7 = {
53105
+ const Styled$9 = {
52970
53106
  CustomSelect: CustomSelect$2
52971
53107
  };
52972
53108
 
@@ -52975,7 +53111,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52975
53111
  const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalNode/terminalNode`;
52976
53112
  const profiles = ["legacy", "general", "baseline", "netadmin", "restricted", "sysadmin"];
52977
53113
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
52978
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53114
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
52979
53115
  antd.Select,
52980
53116
  {
52981
53117
  placeholder: "Select profile",
@@ -53000,7 +53136,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53000
53136
  ] });
53001
53137
  };
53002
53138
 
53003
- const CustomCard$1 = styled.div`
53139
+ const CustomCard$2 = styled.div`
53004
53140
  visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
53005
53141
  height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
53006
53142
 
@@ -53008,15 +53144,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53008
53144
  scrollbar-width: thin;
53009
53145
  }
53010
53146
  `;
53011
- const FullWidthDiv$1 = styled.div`
53147
+ const FullWidthDiv$2 = styled.div`
53012
53148
  display: flex;
53013
53149
  justify-content: center;
53014
53150
  width: 100%;
53015
53151
  height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
53016
53152
  `;
53017
- const Styled$6 = {
53018
- FullWidthDiv: FullWidthDiv$1,
53019
- CustomCard: CustomCard$1
53153
+ const Styled$8 = {
53154
+ FullWidthDiv: FullWidthDiv$2,
53155
+ CustomCard: CustomCard$2
53020
53156
  };
53021
53157
 
53022
53158
  const XTerminal = ({ endpoint, namespace, podName, container, substractHeight }) => {
@@ -53095,7 +53231,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53095
53231
  };
53096
53232
  }, [terminal, endpoint, namespace, podName, container]);
53097
53233
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
53098
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
53234
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
53099
53235
  isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
53100
53236
  error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
53101
53237
  ] });
@@ -53106,7 +53242,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53106
53242
  width: 200px;
53107
53243
  }
53108
53244
  `;
53109
- const Styled$5 = {
53245
+ const Styled$7 = {
53110
53246
  CustomSelect: CustomSelect$1
53111
53247
  };
53112
53248
 
@@ -53117,7 +53253,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53117
53253
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
53118
53254
  }
53119
53255
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
53120
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53256
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53121
53257
  antd.Select,
53122
53258
  {
53123
53259
  placeholder: "Select container",
@@ -53146,12 +53282,12 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53146
53282
  ] });
53147
53283
  };
53148
53284
 
53149
- const FullWidthDiv = styled.div`
53285
+ const FullWidthDiv$1 = styled.div`
53150
53286
  display: flex;
53151
53287
  justify-content: center;
53152
53288
  width: 100%;
53153
53289
  `;
53154
- const CustomCard = styled.div`
53290
+ const CustomCard$1 = styled.div`
53155
53291
  visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
53156
53292
  max-height: calc(100vh - 158px);
53157
53293
 
@@ -53167,9 +53303,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53167
53303
  cursor: pointer;
53168
53304
  user-select: none;
53169
53305
  `;
53170
- const Styled$4 = {
53171
- FullWidthDiv,
53172
- CustomCard,
53306
+ const Styled$6 = {
53307
+ FullWidthDiv: FullWidthDiv$1,
53308
+ CustomCard: CustomCard$1,
53173
53309
  VisibilityContainer,
53174
53310
  CursorPointerDiv: CursorPointerDiv$1
53175
53311
  };
@@ -53246,9 +53382,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53246
53382
  };
53247
53383
  }, [endpoint, namespace, podName, container, previous, editorReady]);
53248
53384
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
53249
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.VisibilityContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "start", align: "center", gap: 16, children: [
53385
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.VisibilityContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "start", align: "center", gap: 16, children: [
53250
53386
  /* @__PURE__ */ jsxRuntimeExports.jsx(
53251
- Styled$4.CursorPointerDiv,
53387
+ Styled$6.CursorPointerDiv,
53252
53388
  {
53253
53389
  onClick: () => {
53254
53390
  if (isPaused) {
@@ -53273,7 +53409,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53273
53409
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isPaused ? "Not streaming events" : "Streaming events" })
53274
53410
  ] }) }),
53275
53411
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
53276
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53412
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53277
53413
  Ft$1,
53278
53414
  {
53279
53415
  defaultLanguage: "plaintext",
@@ -53304,7 +53440,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53304
53440
  width: 200px;
53305
53441
  }
53306
53442
  `;
53307
- const Styled$3 = {
53443
+ const Styled$5 = {
53308
53444
  TopRowContent,
53309
53445
  CustomSelect
53310
53446
  };
@@ -53350,8 +53486,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53350
53486
  }
53351
53487
  ];
53352
53488
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
53353
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.TopRowContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 16, children: [
53354
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53489
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.TopRowContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 16, children: [
53490
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53355
53491
  antd.Select,
53356
53492
  {
53357
53493
  placeholder: "Select container",
@@ -53366,7 +53502,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53366
53502
  }
53367
53503
  }
53368
53504
  ) }),
53369
- currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53505
+ currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53370
53506
  antd.Select,
53371
53507
  {
53372
53508
  placeholder: "Select current/previous",
@@ -53402,6 +53538,621 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53402
53538
  ] });
53403
53539
  };
53404
53540
 
53541
+ const buildDefaultWsPath = (cluster, namespace, vmName) => {
53542
+ const base = cluster ? `/k8s/clusters/${encodeURIComponent(cluster)}` : `/k8s`;
53543
+ return `${base}/apis/subresources.kubevirt.io/v1/namespaces/${encodeURIComponent(
53544
+ namespace
53545
+ )}/virtualmachineinstances/${encodeURIComponent(vmName)}/vnc`;
53546
+ };
53547
+ const normalizePath = (p) => p.startsWith("/") ? p : `/${p}`;
53548
+ const useVNCClient = ({
53549
+ cluster,
53550
+ namespace,
53551
+ vmName,
53552
+ forcedFullWsPath
53553
+ }) => {
53554
+ const [isLoading, setIsLoading] = K.useState(true);
53555
+ const [error, setError] = K.useState(null);
53556
+ const [status, setStatus] = K.useState("Loading VNC client...");
53557
+ const [isConnected, setIsConnected] = K.useState(false);
53558
+ const [showDotCursor, setShowDotCursor] = K.useState(false);
53559
+ const [scalingMode, setScalingModeState] = K.useState("local");
53560
+ const [screenEl, setScreenEl] = K.useState(null);
53561
+ const screenRef = K.useCallback((node) => {
53562
+ setScreenEl(node);
53563
+ }, []);
53564
+ const rfbRef = K.useRef(null);
53565
+ const [isManuallyDisconnected, setIsManuallyDisconnected] = K.useState(false);
53566
+ const [, setReconnectAttempts] = K.useState(0);
53567
+ const [shouldReconnect, setShouldReconnect] = K.useState(true);
53568
+ const [connectionKey, setConnectionKey] = K.useState(0);
53569
+ const reconnectTimeoutRef = K.useRef(null);
53570
+ const isManuallyDisconnectedRef = K.useRef(false);
53571
+ const shouldReconnectRef = K.useRef(true);
53572
+ const showDotCursorRef = K.useRef(showDotCursor);
53573
+ const maxReconnectAttempts = 5;
53574
+ const reconnectDelay = 3e3;
53575
+ K.useEffect(() => {
53576
+ isManuallyDisconnectedRef.current = isManuallyDisconnected;
53577
+ }, [isManuallyDisconnected]);
53578
+ K.useEffect(() => {
53579
+ shouldReconnectRef.current = shouldReconnect;
53580
+ }, [shouldReconnect]);
53581
+ K.useEffect(() => {
53582
+ showDotCursorRef.current = showDotCursor;
53583
+ if (rfbRef.current && typeof rfbRef.current.showDotCursor !== "undefined") {
53584
+ try {
53585
+ rfbRef.current.showDotCursor = showDotCursor;
53586
+ } catch (err) {
53587
+ console.error("Error updating dot cursor:", err);
53588
+ }
53589
+ }
53590
+ }, [showDotCursor, isConnected]);
53591
+ const applyScalingMode = (rfb, mode) => {
53592
+ if (!rfb) return;
53593
+ if (mode === "none") {
53594
+ rfb.scaleViewport = false;
53595
+ rfb.resizeSession = false;
53596
+ } else if (mode === "local") {
53597
+ rfb.scaleViewport = true;
53598
+ rfb.resizeSession = false;
53599
+ } else {
53600
+ rfb.scaleViewport = false;
53601
+ rfb.resizeSession = true;
53602
+ }
53603
+ };
53604
+ const setScalingMode = K.useCallback((mode) => {
53605
+ setScalingModeState(mode);
53606
+ if (rfbRef.current) {
53607
+ applyScalingMode(rfbRef.current, mode);
53608
+ }
53609
+ }, []);
53610
+ K.useEffect(() => {
53611
+ console.log("[VMVNC hook] effect run", {
53612
+ cluster,
53613
+ namespace,
53614
+ vmName,
53615
+ connectionKey,
53616
+ hasScreenEl: !!screenEl,
53617
+ forcedFullWsPath
53618
+ });
53619
+ const hasForced = !!forcedFullWsPath;
53620
+ const hasNamespaceVm = !!namespace && !!vmName;
53621
+ if (!hasForced && !hasNamespaceVm) {
53622
+ setIsLoading(false);
53623
+ setIsConnected(false);
53624
+ setStatus("VNC not configured");
53625
+ setError("Provide forcedFullWsPath or both namespace and vmName for VNC connection");
53626
+ return;
53627
+ }
53628
+ if (!screenEl) {
53629
+ setIsLoading(true);
53630
+ setError(null);
53631
+ setStatus("Waiting for VNC container...");
53632
+ return;
53633
+ }
53634
+ if (reconnectTimeoutRef.current) {
53635
+ window.clearTimeout(reconnectTimeoutRef.current);
53636
+ reconnectTimeoutRef.current = null;
53637
+ }
53638
+ setIsLoading(true);
53639
+ setError(null);
53640
+ setStatus("Connecting...");
53641
+ const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
53642
+ const { host } = window.location;
53643
+ const defaultWsPath = namespace && vmName ? buildDefaultWsPath(cluster, namespace, vmName) : void 0;
53644
+ const wsPath = (() => {
53645
+ if (forcedFullWsPath && !forcedFullWsPath.startsWith("ws")) {
53646
+ return normalizePath(forcedFullWsPath);
53647
+ }
53648
+ return defaultWsPath;
53649
+ })();
53650
+ const wsUrl = forcedFullWsPath && forcedFullWsPath.startsWith("ws") ? forcedFullWsPath : `${protocol}//${host}${wsPath ?? ""}`;
53651
+ console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket URL: ${wsUrl}`);
53652
+ console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket path: ${wsPath}`);
53653
+ if (!forcedFullWsPath?.startsWith("ws") && !wsPath) {
53654
+ setIsLoading(false);
53655
+ setIsConnected(false);
53656
+ setStatus("VNC not configured");
53657
+ setError("Unable to build WebSocket path. Provide forcedFullWsPath or namespace+vmName.");
53658
+ return;
53659
+ }
53660
+ let cancelled = false;
53661
+ try {
53662
+ const rfb = new RFB(screenEl, wsUrl, {
53663
+ credentials: { password: "" },
53664
+ showDotCursor: showDotCursorRef.current
53665
+ });
53666
+ rfbRef.current = rfb;
53667
+ applyScalingMode(rfb, scalingMode);
53668
+ if (typeof rfb.showDotCursor !== "undefined") {
53669
+ try {
53670
+ rfb.showDotCursor = showDotCursorRef.current;
53671
+ } catch (err) {
53672
+ console.error("Error setting dot cursor on RFB instance:", err);
53673
+ }
53674
+ }
53675
+ const handleConnect = () => {
53676
+ if (cancelled) return;
53677
+ console.log(`[VMVNC ${namespace}/${vmName}]: Connected`);
53678
+ setStatus("Connected");
53679
+ setIsLoading(false);
53680
+ setError(null);
53681
+ setIsConnected(true);
53682
+ setReconnectAttempts(0);
53683
+ if (reconnectTimeoutRef.current) {
53684
+ window.clearTimeout(reconnectTimeoutRef.current);
53685
+ reconnectTimeoutRef.current = null;
53686
+ }
53687
+ };
53688
+ const handleDisconnect = (e) => {
53689
+ if (cancelled) return;
53690
+ const detail = e?.detail;
53691
+ const wasManuallyDisconnected = isManuallyDisconnectedRef.current;
53692
+ const autoReconnectEnabled = shouldReconnectRef.current;
53693
+ console.log(
53694
+ `[VMVNC ${namespace}/${vmName}]: Disconnected (clean=${detail?.clean}, manual=${wasManuallyDisconnected}, autoReconnect=${autoReconnectEnabled})`
53695
+ );
53696
+ setIsConnected(false);
53697
+ setIsLoading(false);
53698
+ if (wasManuallyDisconnected) {
53699
+ setStatus("Disconnected");
53700
+ setError(null);
53701
+ return;
53702
+ }
53703
+ if (!autoReconnectEnabled) {
53704
+ if (detail?.clean) {
53705
+ setStatus("Disconnected");
53706
+ } else {
53707
+ setStatus("Connection closed");
53708
+ setError("Connection closed unexpectedly");
53709
+ }
53710
+ return;
53711
+ }
53712
+ if (detail?.clean) {
53713
+ setStatus("Disconnected - Reconnecting...");
53714
+ setError(null);
53715
+ } else {
53716
+ setStatus("Connection closed - Reconnecting...");
53717
+ setError("Connection closed unexpectedly");
53718
+ }
53719
+ reconnectTimeoutRef.current = window.setTimeout(() => {
53720
+ if (isManuallyDisconnectedRef.current || !shouldReconnectRef.current) {
53721
+ console.log(`[VMVNC ${namespace}/${vmName}]: Reconnect cancelled before attempting`);
53722
+ return;
53723
+ }
53724
+ setReconnectAttempts((prev) => {
53725
+ const next = prev + 1;
53726
+ if (next > maxReconnectAttempts) {
53727
+ console.log(`[VMVNC ${namespace}/${vmName}]: Max reconnect attempts reached (${maxReconnectAttempts})`);
53728
+ setStatus("Connection failed - Max reconnect attempts reached");
53729
+ setError("Failed to reconnect after multiple attempts");
53730
+ setIsLoading(false);
53731
+ setShouldReconnect(false);
53732
+ return prev;
53733
+ }
53734
+ console.log(
53735
+ `[VMVNC ${namespace}/${vmName}]: Reconnect attempt ${next}/${maxReconnectAttempts} (bump connectionKey)`
53736
+ );
53737
+ setStatus(`Reconnecting... (Attempt ${next}/${maxReconnectAttempts})`);
53738
+ setIsLoading(true);
53739
+ setError(null);
53740
+ setConnectionKey((k) => k + 1);
53741
+ return next;
53742
+ });
53743
+ }, reconnectDelay);
53744
+ };
53745
+ const handleCredentialsRequired = () => {
53746
+ if (cancelled) return;
53747
+ console.log(`[VMVNC ${namespace}/${vmName}]: Credentials required`);
53748
+ setStatus("Credentials required");
53749
+ };
53750
+ const handleSecurityFailure = (e) => {
53751
+ if (cancelled) return;
53752
+ const detail = e?.detail;
53753
+ console.error(`[VMVNC ${namespace}/${vmName}]: Security failure`, detail);
53754
+ setError(`Security failure: ${detail?.reason || "Unknown error"}`);
53755
+ setIsLoading(false);
53756
+ setIsConnected(false);
53757
+ };
53758
+ const handleDesktopName = (e) => {
53759
+ if (cancelled) return;
53760
+ const detail = e?.detail;
53761
+ if (detail?.name) {
53762
+ console.log(`[VMVNC ${namespace}/${vmName}]: Desktop name: ${detail.name}`);
53763
+ setStatus(`Connected to ${detail.name}`);
53764
+ }
53765
+ };
53766
+ rfb.addEventListener("connect", handleConnect);
53767
+ rfb.addEventListener("disconnect", handleDisconnect);
53768
+ rfb.addEventListener("credentialsrequired", handleCredentialsRequired);
53769
+ rfb.addEventListener("securityfailure", handleSecurityFailure);
53770
+ rfb.addEventListener("desktopname", handleDesktopName);
53771
+ return () => {
53772
+ cancelled = true;
53773
+ console.log(`[VMVNC ${namespace}/${vmName}]: Cleaning up connection`);
53774
+ if (reconnectTimeoutRef.current) {
53775
+ window.clearTimeout(reconnectTimeoutRef.current);
53776
+ reconnectTimeoutRef.current = null;
53777
+ }
53778
+ if (rfbRef.current) {
53779
+ try {
53780
+ rfbRef.current.disconnect();
53781
+ } catch (err) {
53782
+ console.error("Error disconnecting RFB during cleanup:", err);
53783
+ }
53784
+ rfbRef.current = null;
53785
+ }
53786
+ if (screenEl) {
53787
+ while (screenEl.firstChild) {
53788
+ screenEl.removeChild(screenEl.firstChild);
53789
+ }
53790
+ }
53791
+ };
53792
+ } catch (err) {
53793
+ console.error(`[VMVNC ${namespace}/${vmName}]: Error creating RFB connection:`, err);
53794
+ setError(`Failed to create VNC connection: ${err instanceof Error ? err.message : "Unknown error"}`);
53795
+ setIsLoading(false);
53796
+ setIsConnected(false);
53797
+ setStatus("Failed to create VNC connection");
53798
+ }
53799
+ }, [cluster, namespace, vmName, forcedFullWsPath, scalingMode, connectionKey, screenEl]);
53800
+ const disconnect = K.useCallback(() => {
53801
+ isManuallyDisconnectedRef.current = true;
53802
+ shouldReconnectRef.current = false;
53803
+ setIsManuallyDisconnected(true);
53804
+ setShouldReconnect(false);
53805
+ if (reconnectTimeoutRef.current) {
53806
+ window.clearTimeout(reconnectTimeoutRef.current);
53807
+ reconnectTimeoutRef.current = null;
53808
+ }
53809
+ if (rfbRef.current) {
53810
+ try {
53811
+ rfbRef.current.disconnect();
53812
+ } catch (err) {
53813
+ console.error("Error disconnecting RFB:", err);
53814
+ }
53815
+ rfbRef.current = null;
53816
+ }
53817
+ setStatus("Disconnected");
53818
+ setIsLoading(false);
53819
+ setIsConnected(false);
53820
+ }, []);
53821
+ const reconnect = K.useCallback(() => {
53822
+ isManuallyDisconnectedRef.current = false;
53823
+ shouldReconnectRef.current = true;
53824
+ setIsManuallyDisconnected(false);
53825
+ setShouldReconnect(true);
53826
+ setReconnectAttempts(0);
53827
+ setError(null);
53828
+ setIsLoading(true);
53829
+ setStatus("Reconnecting...");
53830
+ if (reconnectTimeoutRef.current) {
53831
+ window.clearTimeout(reconnectTimeoutRef.current);
53832
+ reconnectTimeoutRef.current = null;
53833
+ }
53834
+ if (rfbRef.current) {
53835
+ try {
53836
+ rfbRef.current.disconnect();
53837
+ } catch (err) {
53838
+ console.error("Error disconnecting RFB before manual reconnect:", err);
53839
+ }
53840
+ rfbRef.current = null;
53841
+ }
53842
+ setConnectionKey((k) => k + 1);
53843
+ }, []);
53844
+ const sendCtrlAltDel = () => {
53845
+ if (!rfbRef.current) return;
53846
+ try {
53847
+ rfbRef.current.sendCtrlAltDel();
53848
+ } catch (err) {
53849
+ console.error("Error sending Ctrl+Alt+Del:", err);
53850
+ }
53851
+ };
53852
+ return {
53853
+ screenRef,
53854
+ isLoading,
53855
+ error,
53856
+ status,
53857
+ isConnected,
53858
+ showDotCursor,
53859
+ scalingMode,
53860
+ setShowDotCursor,
53861
+ setScalingMode,
53862
+ disconnect,
53863
+ reconnect,
53864
+ sendCtrlAltDel
53865
+ };
53866
+ };
53867
+
53868
+ const ShowCursorDiv = styled.div`
53869
+ display: flex;
53870
+ justify-content: space-between;
53871
+ align-items: center;
53872
+ min-width: 200px;
53873
+ `;
53874
+ const ScalingModeContainer = styled.div`
53875
+ min-width: 200px;
53876
+ `;
53877
+ const ScalingModeTitle = styled.div`
53878
+ margin-bottom: 8px;
53879
+ font-weight: 500;
53880
+ `;
53881
+ const StatusBar = styled.div`
53882
+ background-color: #2d2d2d;
53883
+ color: white;
53884
+ padding: 8px 16px;
53885
+ font-size: 12px;
53886
+ border-bottom: 1px solid #3d3d3d;
53887
+ display: flex;
53888
+ align-items: center;
53889
+ justify-content: flex-start;
53890
+ flex-shrink: 0;
53891
+ z-index: 10;
53892
+ flex-wrap: wrap;
53893
+ gap: 4px;
53894
+ `;
53895
+ const StatusDivider = styled.span`
53896
+ color: #666;
53897
+ margin: 0 8px;
53898
+ user-select: none;
53899
+ `;
53900
+ const Styled$4 = {
53901
+ ShowCursorDiv,
53902
+ ScalingModeContainer,
53903
+ ScalingModeTitle,
53904
+ StatusBar,
53905
+ StatusDivider
53906
+ };
53907
+
53908
+ const VMVNCToolbar = ({
53909
+ status,
53910
+ isConnected,
53911
+ isFullscreen,
53912
+ isLoading,
53913
+ showDotCursor,
53914
+ scalingMode,
53915
+ onSendCtrlAltDel,
53916
+ onToggleFullscreen,
53917
+ onReconnect,
53918
+ onShowDotCursorChange,
53919
+ onScalingModeChange
53920
+ }) => {
53921
+ const optionsMenuItems = K.useMemo(
53922
+ () => [
53923
+ {
53924
+ key: "show-cursor",
53925
+ label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ShowCursorDiv, { children: [
53926
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Show Cursor" }),
53927
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Switch, { checked: showDotCursor, onChange: onShowDotCursorChange, disabled: !isConnected, size: "small" })
53928
+ ] })
53929
+ },
53930
+ {
53931
+ type: "divider"
53932
+ },
53933
+ {
53934
+ key: "scaling-mode",
53935
+ label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ScalingModeContainer, { children: [
53936
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.ScalingModeTitle, { children: "Scaling Mode" }),
53937
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
53938
+ antd.Radio.Group,
53939
+ {
53940
+ value: scalingMode,
53941
+ onChange: (e) => onScalingModeChange(e.target.value),
53942
+ disabled: !isConnected,
53943
+ style: { display: "flex", flexDirection: "column", gap: 8 },
53944
+ children: [
53945
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "none", children: "None" }),
53946
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "local", children: "Local scaling" }),
53947
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "remote", children: "Remote resizing" })
53948
+ ]
53949
+ }
53950
+ )
53951
+ ] })
53952
+ }
53953
+ ],
53954
+ [showDotCursor, scalingMode, isConnected, onShowDotCursorChange, onScalingModeChange]
53955
+ );
53956
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusBar, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Space, { size: "small", children: [
53957
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Send Ctrl+Alt+Del", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53958
+ antd.Button,
53959
+ {
53960
+ type: "text",
53961
+ size: "small",
53962
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PoweroffOutlined, {}),
53963
+ onClick: onSendCtrlAltDel,
53964
+ disabled: !isConnected,
53965
+ style: { color: "#ffffff" },
53966
+ children: "Send Ctrl+Alt+Del"
53967
+ }
53968
+ ) }),
53969
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53970
+ antd.Button,
53971
+ {
53972
+ type: "text",
53973
+ size: "small",
53974
+ icon: isFullscreen ? /* @__PURE__ */ jsxRuntimeExports.jsx(icons.FullscreenExitOutlined, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(icons.FullscreenOutlined, {}),
53975
+ onClick: onToggleFullscreen,
53976
+ disabled: !isConnected,
53977
+ style: { color: "#ffffff" },
53978
+ children: "Fullscreen"
53979
+ }
53980
+ ) }),
53981
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Dropdown, { menu: { items: optionsMenuItems }, trigger: ["click"], placement: "bottomRight", children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "text", size: "small", icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.SettingOutlined, {}), style: { color: "#ffffff" }, children: "Options" }) }),
53982
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Reconnect", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
53983
+ antd.Button,
53984
+ {
53985
+ type: "text",
53986
+ size: "small",
53987
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.ReloadOutlined, {}),
53988
+ onClick: onReconnect,
53989
+ loading: isLoading,
53990
+ style: { color: "#ffffff" },
53991
+ children: "Reconnect"
53992
+ }
53993
+ ) }),
53994
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusDivider, { children: "|" }),
53995
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: status })
53996
+ ] }) });
53997
+ };
53998
+
53999
+ const Container = styled.div`
54000
+ height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
54001
+ display: flex;
54002
+ flex-direction: column;
54003
+ background-color: #1e1e1e;
54004
+ position: relative;
54005
+
54006
+ * {
54007
+ scrollbar-width: thin;
54008
+ }
54009
+ `;
54010
+ const CustomCard = styled.div`
54011
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
54012
+ height: 100%;
54013
+ display: flex;
54014
+ flex-direction: column;
54015
+ background-color: #1e1e1e;
54016
+ position: relative;
54017
+
54018
+ * {
54019
+ scrollbar-width: thin;
54020
+ }
54021
+ `;
54022
+ const ContentWrapper = styled.div`
54023
+ display: flex;
54024
+ flex: 1;
54025
+ overflow: hidden;
54026
+ position: relative;
54027
+ min-width: 0; /* Allow flex item to shrink */
54028
+ `;
54029
+ const FullWidthDiv = styled.div`
54030
+ display: flex;
54031
+ justify-content: center;
54032
+ align-items: center;
54033
+ flex: 1;
54034
+ overflow: hidden;
54035
+ background-color: black;
54036
+ min-width: 0; /* Allow flex item to shrink */
54037
+ transition: margin-right 0.3s ease;
54038
+ `;
54039
+ const LoadingContainer = styled.div`
54040
+ display: flex;
54041
+ flex-direction: column;
54042
+ align-items: center;
54043
+ justify-content: center;
54044
+ padding: 40px;
54045
+ color: white;
54046
+ `;
54047
+ const ErrorContainer = styled.div`
54048
+ display: flex;
54049
+ flex-direction: column;
54050
+ align-items: center;
54051
+ justify-content: center;
54052
+ padding: 40px;
54053
+ color: white;
54054
+ `;
54055
+ const Styled$3 = {
54056
+ Container,
54057
+ CustomCard,
54058
+ ContentWrapper,
54059
+ FullWidthDiv,
54060
+ LoadingContainer,
54061
+ ErrorContainer
54062
+ };
54063
+
54064
+ const VMVNC = ({ cluster, namespace, vmName, forcedFullWsPath, substractHeight }) => {
54065
+ const containerRef = K.useRef(null);
54066
+ const [isFullscreen, setIsFullscreen] = K.useState(false);
54067
+ const {
54068
+ screenRef,
54069
+ isLoading,
54070
+ error,
54071
+ status,
54072
+ isConnected,
54073
+ showDotCursor,
54074
+ scalingMode,
54075
+ setShowDotCursor,
54076
+ setScalingMode,
54077
+ disconnect,
54078
+ reconnect,
54079
+ sendCtrlAltDel
54080
+ } = useVNCClient({ cluster, namespace, vmName, forcedFullWsPath });
54081
+ const handleToggleFullscreen = () => {
54082
+ const element = containerRef.current;
54083
+ if (!element) return;
54084
+ if (!isFullscreen) {
54085
+ if (element.requestFullscreen) {
54086
+ element.requestFullscreen();
54087
+ } else if (element.webkitRequestFullscreen) {
54088
+ element.webkitRequestFullscreen();
54089
+ } else if (element.msRequestFullscreen) {
54090
+ element.msRequestFullscreen();
54091
+ }
54092
+ return;
54093
+ }
54094
+ const fullscreenDoc = document;
54095
+ if (fullscreenDoc.exitFullscreen) {
54096
+ fullscreenDoc.exitFullscreen();
54097
+ } else if (fullscreenDoc.webkitExitFullscreen) {
54098
+ fullscreenDoc.webkitExitFullscreen();
54099
+ } else if (fullscreenDoc.msExitFullscreen) {
54100
+ fullscreenDoc.msExitFullscreen();
54101
+ }
54102
+ };
54103
+ K.useEffect(() => {
54104
+ const handleFullscreenChange = () => {
54105
+ setIsFullscreen(!!document.fullscreenElement);
54106
+ };
54107
+ document.addEventListener("fullscreenchange", handleFullscreenChange);
54108
+ document.addEventListener("webkitfullscreenchange", handleFullscreenChange);
54109
+ document.addEventListener("msfullscreenchange", handleFullscreenChange);
54110
+ return () => {
54111
+ document.removeEventListener("fullscreenchange", handleFullscreenChange);
54112
+ document.removeEventListener("webkitfullscreenchange", handleFullscreenChange);
54113
+ document.removeEventListener("msfullscreenchange", handleFullscreenChange);
54114
+ };
54115
+ }, []);
54116
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.Container, { ref: containerRef, $substractHeight: substractHeight, children: [
54117
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: [
54118
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
54119
+ VMVNCToolbar,
54120
+ {
54121
+ status,
54122
+ isConnected,
54123
+ isFullscreen,
54124
+ isLoading,
54125
+ showDotCursor,
54126
+ scalingMode,
54127
+ onSendCtrlAltDel: sendCtrlAltDel,
54128
+ onToggleFullscreen: handleToggleFullscreen,
54129
+ onReconnect: reconnect,
54130
+ onShowDotCursorChange: setShowDotCursor,
54131
+ onScalingModeChange: setScalingMode
54132
+ }
54133
+ ),
54134
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ContentWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%", height: "100%" }, ref: screenRef }) }) })
54135
+ ] }),
54136
+ isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.LoadingContainer, { children: [
54137
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, { size: "large" }),
54138
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
54139
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: status })
54140
+ ] }),
54141
+ error && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ErrorContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
54142
+ antd.Result,
54143
+ {
54144
+ status: "error",
54145
+ title: "VNC Connection Error",
54146
+ subTitle: error,
54147
+ extra: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Space, { children: [
54148
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: disconnect, children: "Disconnect" }),
54149
+ /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: reconnect, loading: isLoading, children: "Reconnect" })
54150
+ ] })
54151
+ }
54152
+ ) })
54153
+ ] });
54154
+ };
54155
+
53405
54156
  const SelectTag = styled(antd.Tag)`
53406
54157
  margin-inline-end: 4px;
53407
54158
  padding: 4px 6px;
@@ -55117,6 +55868,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
55117
55868
  exports.UncontrolledSelect = UncontrolledSelect;
55118
55869
  exports.UnlockedIcon = UnlockedIcon;
55119
55870
  exports.UpIcon = UpIcon;
55871
+ exports.VMVNC = VMVNC;
55120
55872
  exports.YamlEditorSingleton = YamlEditorSingleton$1;
55121
55873
  exports.checkIfApiInstanceNamespaceScoped = checkIfApiInstanceNamespaceScoped;
55122
55874
  exports.checkIfBuiltInInstanceNamespaceScoped = checkIfBuiltInInstanceNamespaceScoped;