@prorobotech/openapi-k8s-toolkit 0.0.1-alpha.66 → 0.0.1-alpha.68

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 (40) hide show
  1. package/dist/openapi-k8s-toolkit.es.js +638 -201
  2. package/dist/openapi-k8s-toolkit.es.js.map +1 -1
  3. package/dist/openapi-k8s-toolkit.umd.js +639 -200
  4. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  5. package/dist/types/components/molecules/Terminals/PodLogs/PodLogs.d.ts +8 -0
  6. package/dist/types/components/molecules/Terminals/PodLogs/index.d.ts +2 -0
  7. package/dist/types/components/molecules/Terminals/PodLogs/molecules/XTerminal/styled.d.ts +285 -0
  8. package/dist/types/components/molecules/Terminals/PodLogs/styled.d.ts +276 -0
  9. package/dist/types/components/molecules/Terminals/PodLogsMonaco/PodLogsMonaco.d.ts +9 -0
  10. package/dist/types/components/molecules/Terminals/PodLogsMonaco/index.d.ts +2 -0
  11. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/MonacoEditor/MonacoEditor.d.ts +10 -0
  12. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/MonacoEditor/index.d.ts +1 -0
  13. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/MonacoEditor/styled.d.ts +285 -0
  14. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/index.d.ts +1 -0
  15. package/dist/types/components/molecules/Terminals/PodLogsMonaco/styled.d.ts +276 -0
  16. package/dist/types/components/molecules/Terminals/PodTerminal/molecules/XTerminal/XTerminal.d.ts +10 -0
  17. package/dist/types/components/molecules/Terminals/PodTerminal/molecules/XTerminal/index.d.ts +1 -0
  18. package/dist/types/components/molecules/Terminals/PodTerminal/molecules/index.d.ts +1 -0
  19. package/dist/types/components/molecules/Terminals/PodTerminal/styled.d.ts +276 -0
  20. package/dist/types/components/molecules/Terminals/index.d.ts +4 -0
  21. package/dist/types/components/molecules/index.d.ts +1 -2
  22. package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/PodLogs.d.ts +6 -0
  23. package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/index.d.ts +1 -0
  24. package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/utils.d.ts +18 -0
  25. package/dist/types/components/organisms/DynamicComponents/molecules/index.d.ts +1 -0
  26. package/dist/types/components/organisms/DynamicComponents/types.d.ts +6 -0
  27. package/package.json +1 -1
  28. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/NodeTerminal.d.ts +0 -0
  29. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/index.d.ts +0 -0
  30. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/molecules/XTerminal/XTerminal.d.ts +0 -0
  31. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/molecules/XTerminal/index.d.ts +0 -0
  32. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/molecules/XTerminal/styled.d.ts +0 -0
  33. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/molecules/index.d.ts +0 -0
  34. /package/dist/types/components/molecules/{NodeTerminal → Terminals/NodeTerminal}/styled.d.ts +0 -0
  35. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodLogs}/molecules/XTerminal/XTerminal.d.ts +0 -0
  36. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodLogs}/molecules/XTerminal/index.d.ts +0 -0
  37. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodLogs}/molecules/index.d.ts +0 -0
  38. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodTerminal}/PodTerminal.d.ts +0 -0
  39. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodTerminal}/index.d.ts +0 -0
  40. /package/dist/types/components/molecules/{PodTerminal → Terminals/PodTerminal}/molecules/XTerminal/styled.d.ts +0 -0
@@ -2504,7 +2504,7 @@ const CustomTreeProvider = st.div`
2504
2504
  justify-content: center;
2505
2505
  }
2506
2506
  `;
2507
- const Styled$i = {
2507
+ const Styled$n = {
2508
2508
  CustomTreeProvider
2509
2509
  };
2510
2510
 
@@ -2569,7 +2569,7 @@ const TreeWithSearch = ({ treeData, onSelect }) => {
2569
2569
  });
2570
2570
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2571
2571
  /* @__PURE__ */ jsxRuntimeExports.jsx(Search, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
2572
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2572
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2573
2573
  Tree,
2574
2574
  {
2575
2575
  treeData: loop(treeData),
@@ -8400,14 +8400,14 @@ const ContentContainer = st.div`
8400
8400
  display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
8401
8401
  flex-flow: ${({ $flexFlow }) => $flexFlow};
8402
8402
  `;
8403
- const Styled$h = {
8403
+ const Styled$m = {
8404
8404
  ContentContainer
8405
8405
  };
8406
8406
 
8407
8407
  const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
8408
8408
  const { token } = theme.useToken();
8409
8409
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8410
- Styled$h.ContentContainer,
8410
+ Styled$m.ContentContainer,
8411
8411
  {
8412
8412
  $flexGrow: flexGrow,
8413
8413
  $bgColor: token.colorBgContainer,
@@ -8523,7 +8523,7 @@ const NoWrapContainer = st.div`
8523
8523
  flex-wrap: nowrap !important;
8524
8524
  }
8525
8525
  `;
8526
- const Styled$g = {
8526
+ const Styled$l = {
8527
8527
  PositionRelativeContainer,
8528
8528
  FullWidthContainer,
8529
8529
  NoWrapContainer
@@ -8566,9 +8566,9 @@ const CollapsibleBreadcrumb = ({ items }) => {
8566
8566
  };
8567
8567
  return [firstItem, ellipsisItem, lastItem];
8568
8568
  };
8569
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$g.PositionRelativeContainer, { children: [
8570
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items: renderItems() }) }),
8571
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
8569
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$l.PositionRelativeContainer, { children: [
8570
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items: renderItems() }) }),
8571
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
8572
8572
  ] });
8573
8573
  };
8574
8574
 
@@ -8576,12 +8576,12 @@ const HeightDiv = st.div`
8576
8576
  min-height: 22px;
8577
8577
  width: 100%;
8578
8578
  `;
8579
- const Styled$f = {
8579
+ const Styled$k = {
8580
8580
  HeightDiv
8581
8581
  };
8582
8582
 
8583
8583
  const ManageableBreadcrumbs = ({ data }) => {
8584
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
8584
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
8585
8585
  };
8586
8586
  const ManageableBreadcrumbsWithDataProvider = ({
8587
8587
  uri,
@@ -8605,7 +8605,7 @@ const ManageableBreadcrumbsWithDataProvider = ({
8605
8605
  return null;
8606
8606
  }
8607
8607
  if (rawDataLoading) {
8608
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}) });
8608
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}) });
8609
8609
  }
8610
8610
  if (!rawData) {
8611
8611
  return null;
@@ -8620,7 +8620,7 @@ const ManageableBreadcrumbsWithDataProvider = ({
8620
8620
  idToCompare
8621
8621
  });
8622
8622
  if (!result) {
8623
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.HeightDiv, {});
8623
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.HeightDiv, {});
8624
8624
  }
8625
8625
  return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result });
8626
8626
  };
@@ -8711,7 +8711,7 @@ const CustomMenu = st(Menu)`
8711
8711
  margin: 0 !important;
8712
8712
  }
8713
8713
  `;
8714
- const Styled$e = {
8714
+ const Styled$j = {
8715
8715
  CustomMenu
8716
8716
  };
8717
8717
 
@@ -8738,7 +8738,7 @@ const ManageableSidebar = ({ data, noMarginTop }) => {
8738
8738
  setSelectedKeys(data.selectedKeys);
8739
8739
  }, [data.selectedKeys]);
8740
8740
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8741
- Styled$e.CustomMenu,
8741
+ Styled$j.CustomMenu,
8742
8742
  {
8743
8743
  selectedKeys,
8744
8744
  onSelect: () => {
@@ -26015,7 +26015,7 @@ const ShortenedText = st.div`
26015
26015
  white-space: nowrap;
26016
26016
  text-overflow: ellipsis;
26017
26017
  `;
26018
- const Styled$d = {
26018
+ const Styled$i = {
26019
26019
  ShortenedText
26020
26020
  };
26021
26021
 
@@ -26024,7 +26024,7 @@ const ShortenedTextWithTooltip = ({ text, trimLength, maxWidth = 200 }) => {
26024
26024
  const trimmedText = text.substring(0, trimLength);
26025
26025
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, placement: "top", children: trimmedText });
26026
26026
  }
26027
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.ShortenedText, { $maxWidth: maxWidth, children: text }) });
26027
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.ShortenedText, { $maxWidth: maxWidth, children: text }) });
26028
26028
  };
26029
26029
 
26030
26030
  const FilterDropdown = ({
@@ -41554,7 +41554,7 @@ const BorderRadiusContainer$1 = st.div`
41554
41554
  border-radius: 8px;
41555
41555
  }
41556
41556
  `;
41557
- const Styled$c = {
41557
+ const Styled$h = {
41558
41558
  BorderRadiusContainer: BorderRadiusContainer$1
41559
41559
  };
41560
41560
 
@@ -41563,7 +41563,7 @@ const YamlEditor = ({ theme, currentValues, onChange }) => {
41563
41563
  useEffect(() => {
41564
41564
  setYamlData(stringify(currentValues));
41565
41565
  }, [currentValues]);
41566
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.BorderRadiusContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
41566
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.BorderRadiusContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
41567
41567
  Ft,
41568
41568
  {
41569
41569
  defaultLanguage: "yaml",
@@ -41602,7 +41602,7 @@ const BigText$1 = st.div`
41602
41602
  font-size: 16px;
41603
41603
  line-height: 24px;
41604
41604
  `;
41605
- const Styled$b = {
41605
+ const Styled$g = {
41606
41606
  BorderRadiusContainer,
41607
41607
  ControlsRowContainer: ControlsRowContainer$1,
41608
41608
  BigText: BigText$1
@@ -41662,7 +41662,7 @@ const YamlEditorSingleton = ({
41662
41662
  }
41663
41663
  };
41664
41664
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
41665
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
41665
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
41666
41666
  Ft,
41667
41667
  {
41668
41668
  defaultLanguage: "yaml",
@@ -41678,7 +41678,7 @@ const YamlEditorSingleton = ({
41678
41678
  }
41679
41679
  }
41680
41680
  ) }),
41681
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
41681
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
41682
41682
  /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
41683
41683
  backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => navigate(backlink), children: "Cancel" })
41684
41684
  ] }) }),
@@ -41688,7 +41688,7 @@ const YamlEditorSingleton = ({
41688
41688
  open: !!error,
41689
41689
  onOk: () => setError(void 0),
41690
41690
  onCancel: () => setError(void 0),
41691
- title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.BigText, { children: "Error!" }) }),
41691
+ title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.BigText, { children: "Error!" }) }),
41692
41692
  cancelButtonProps: { style: { display: "none" } },
41693
41693
  children: [
41694
41694
  "An error has occurred: ",
@@ -41768,7 +41768,7 @@ const Content$1 = st.div`
41768
41768
  display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
41769
41769
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
41770
41770
  `;
41771
- const Styled$a = {
41771
+ const Styled$f = {
41772
41772
  Container: Container$1,
41773
41773
  TitleBar,
41774
41774
  Content: Content$1
@@ -41795,14 +41795,14 @@ const CustomCollapse = ({
41795
41795
  }
41796
41796
  };
41797
41797
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
41798
- Styled$a.Container,
41798
+ Styled$f.Container,
41799
41799
  {
41800
41800
  $designNewLayout: designNewLayout,
41801
41801
  $borderColor: token.colorBorder,
41802
41802
  $bgColor: token.colorBgContainer,
41803
41803
  children: [
41804
41804
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
41805
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.TitleBar, { onClick: () => toggleCollapse(), children: [
41805
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.TitleBar, { onClick: () => toggleCollapse(), children: [
41806
41806
  !designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(CaretDownOutlined, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CaretRightOutlined, { size: 14 }) }),
41807
41807
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: title }),
41808
41808
  designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(DownIcon, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(UpIcon, {}) })
@@ -41813,7 +41813,7 @@ const CustomCollapse = ({
41813
41813
  persistedCheckbox
41814
41814
  ] })
41815
41815
  ] }),
41816
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
41816
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
41817
41817
  ]
41818
41818
  }
41819
41819
  );
@@ -41847,13 +41847,13 @@ const CustomSizeTitle = st.div`
41847
41847
  const Content = st.div`
41848
41848
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
41849
41849
  `;
41850
- const Styled$9 = {
41850
+ const Styled$e = {
41851
41851
  Content
41852
41852
  };
41853
41853
 
41854
41854
  const ArrayInsideContainer = ({ children }) => {
41855
41855
  const designNewLayout = useDesignNewLayout();
41856
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.Content, { $designNewLayout: designNewLayout, children });
41856
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$e.Content, { $designNewLayout: designNewLayout, children });
41857
41857
  };
41858
41858
 
41859
41859
  const arraysEqual = (arr1, arr2) => {
@@ -42529,7 +42529,7 @@ const CrossContainer = st.div`
42529
42529
  cursor: pointer;
42530
42530
  padding-top: 11px;
42531
42531
  `;
42532
- const Styled$8 = {
42532
+ const Styled$d = {
42533
42533
  SwitchAndCrossContainer,
42534
42534
  CrossContainer
42535
42535
  };
@@ -42554,7 +42554,7 @@ const FormBooleanInput = ({
42554
42554
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) })
42555
42555
  ] })
42556
42556
  ] }),
42557
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$8.SwitchAndCrossContainer, { children: [
42557
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$d.SwitchAndCrossContainer, { children: [
42558
42558
  /* @__PURE__ */ jsxRuntimeExports.jsx(
42559
42559
  ResetedFormItem,
42560
42560
  {
@@ -42564,7 +42564,7 @@ const FormBooleanInput = ({
42564
42564
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
42565
42565
  ),
42566
42566
  /* @__PURE__ */ jsxRuntimeExports.jsx(
42567
- Styled$8.CrossContainer,
42567
+ Styled$d.CrossContainer,
42568
42568
  {
42569
42569
  onClick: () => {
42570
42570
  if (makeValueUndefined) {
@@ -42780,7 +42780,7 @@ const BigText = st.div`
42780
42780
  font-size: 16px;
42781
42781
  line-height: 24px;
42782
42782
  `;
42783
- const Styled$7 = {
42783
+ const Styled$c = {
42784
42784
  ResetedFormList,
42785
42785
  Container,
42786
42786
  OverflowContainer: OverflowContainer$1,
@@ -43028,7 +43028,7 @@ const getArrayFormItemFromSwagger = ({
43028
43028
  }
43029
43029
  ),
43030
43030
  /* @__PURE__ */ jsxRuntimeExports.jsx(
43031
- Styled$7.ResetedFormList,
43031
+ Styled$c.ResetedFormList,
43032
43032
  {
43033
43033
  name: arrName || name,
43034
43034
  rules: !forceNonRequired && required?.includes(getStringByName(name)) ? [
@@ -43755,8 +43755,8 @@ const BlackholeForm = ({
43755
43755
  setPersistedKeys([...persistedKeys.filter((arr) => JSON.stringify(arr) !== JSON.stringify(value))]);
43756
43756
  };
43757
43757
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
43758
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$7.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
43759
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
43758
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$c.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
43759
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
43760
43760
  Form,
43761
43761
  {
43762
43762
  form,
@@ -43799,7 +43799,7 @@ const BlackholeForm = ({
43799
43799
  ) }),
43800
43800
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(YamlEditor, { theme: theme$1, currentValues: yamlValues || {}, onChange: onYamlChangeCallback }) })
43801
43801
  ] }),
43802
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
43802
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
43803
43803
  /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
43804
43804
  backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => navigate(backlink), children: "Cancel" }),
43805
43805
  /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => setIsDebugModalOpen(true), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(BugOutlined, {}) }),
@@ -43811,7 +43811,7 @@ const BlackholeForm = ({
43811
43811
  open: !!error,
43812
43812
  onOk: () => setError(void 0),
43813
43813
  onCancel: () => setError(void 0),
43814
- title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.BigText, { children: "Error!" }) }),
43814
+ title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.BigText, { children: "Error!" }) }),
43815
43815
  cancelButtonProps: { style: { display: "none" } },
43816
43816
  children: [
43817
43817
  "An error has occurred: ",
@@ -43827,7 +43827,7 @@ const BlackholeForm = ({
43827
43827
  onCancel: () => setIsDebugModalOpen(false),
43828
43828
  title: "Debug for properties",
43829
43829
  width: "90vw",
43830
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
43830
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
43831
43831
  Editor,
43832
43832
  {
43833
43833
  defaultLanguage: "json",
@@ -43961,7 +43961,7 @@ const BlackholeFormDataProvider = ({
43961
43961
  );
43962
43962
  };
43963
43963
 
43964
- const CustomCard$3 = st(Card)`
43964
+ const CustomCard$5 = st(Card)`
43965
43965
  display: flex;
43966
43966
  justify-content: center;
43967
43967
  align-items: center;
@@ -43981,12 +43981,12 @@ const CustomCard$3 = st(Card)`
43981
43981
  padding: 8px;
43982
43982
  }
43983
43983
  `;
43984
- const Styled$6 = {
43985
- CustomCard: CustomCard$3
43984
+ const Styled$b = {
43985
+ CustomCard: CustomCard$5
43986
43986
  };
43987
43987
 
43988
43988
  const AddCard = ({ onAddClick }) => {
43989
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(PlusOutlined, {}) });
43989
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(PlusOutlined, {}) });
43990
43990
  };
43991
43991
 
43992
43992
  const byteToHex = [];
@@ -44219,7 +44219,7 @@ const getListPath = ({
44219
44219
  return `/api/clusters/${clusterName}/k8s/api/v1${namespace ? `/namespaces/${namespace}` : ""}/${typeName}`;
44220
44220
  };
44221
44221
 
44222
- const CustomCard$2 = st(Card)`
44222
+ const CustomCard$4 = st(Card)`
44223
44223
  position: relative;
44224
44224
  width: 238px;
44225
44225
  overflow-x: auto;
@@ -44290,8 +44290,8 @@ const EditButtonContainer = st.div`
44290
44290
  bottom: 6px;
44291
44291
  right: 6px;
44292
44292
  `;
44293
- const Styled$5 = {
44294
- CustomCard: CustomCard$2,
44293
+ const Styled$a = {
44294
+ CustomCard: CustomCard$4,
44295
44295
  ImageContainer,
44296
44296
  OverflowContainer,
44297
44297
  TitleContainer,
@@ -44366,14 +44366,14 @@ const MarketplaceCard$1 = ({
44366
44366
  return null;
44367
44367
  }
44368
44368
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
44369
- Styled$5.CustomCard,
44369
+ Styled$a.CustomCard,
44370
44370
  {
44371
44371
  $isDisabled: disabled,
44372
44372
  $hoverColor: token.colorPrimary,
44373
44373
  onClick: () => disabled ? null : navigate(navigateUrl),
44374
44374
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { vertical: true, style: { width: "100%", height: "100%" }, justify: "spaceBetween", children: [
44375
44375
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
44376
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
44376
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
44377
44377
  isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
44378
44378
  "div",
44379
44379
  {
@@ -44394,8 +44394,8 @@ const MarketplaceCard$1 = ({
44394
44394
  }
44395
44395
  )
44396
44396
  ] }),
44397
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$5.OverflowContainer, { children: [
44398
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$5.TitleContainer, { children: [
44397
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.OverflowContainer, { children: [
44398
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.TitleContainer, { children: [
44399
44399
  name,
44400
44400
  " ",
44401
44401
  addedMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
@@ -44403,10 +44403,10 @@ const MarketplaceCard$1 = ({
44403
44403
  k8sList?.items?.length
44404
44404
  ] })
44405
44405
  ] }),
44406
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomTag, { children: tag }, tag)) }),
44407
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "secondary", children: description }) })
44406
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.CustomTag, { children: tag }, tag)) }),
44407
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "secondary", children: description }) })
44408
44408
  ] }),
44409
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
44409
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
44410
44410
  "div",
44411
44411
  {
44412
44412
  onClick: (e) => {
@@ -44464,7 +44464,7 @@ const BigValue = st.div`
44464
44464
  line-clamp: 1;
44465
44465
  word-break: break-all;
44466
44466
  `;
44467
- const Styled$4 = {
44467
+ const Styled$9 = {
44468
44468
  BigValue
44469
44469
  };
44470
44470
 
@@ -44574,7 +44574,7 @@ const MarketPlace = ({
44574
44574
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
44575
44575
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 12, vertical: true, children: [
44576
44576
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "secondary", children: "Available Products" }) }),
44577
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.BigValue, { children: "Marketplace" }) })
44577
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.BigValue, { children: "Marketplace" }) })
44578
44578
  ] }) }),
44579
44579
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 12, vertical: true, children: [
44580
44580
  /* @__PURE__ */ jsxRuntimeExports.jsx(SearchTextInput, { uniqueTags, selectedTags, onSelectedTags: setSelectedTags }),
@@ -44777,7 +44777,7 @@ st.div`
44777
44777
  line-clamp: 1;
44778
44778
  word-break: break-all;
44779
44779
  `;
44780
- const Styled$3 = {
44780
+ const Styled$8 = {
44781
44781
  ActionMenuPlaceholder};
44782
44782
 
44783
44783
  const ProjectInfoCard$1 = ({
@@ -44855,7 +44855,7 @@ const ProjectInfoCard$1 = ({
44855
44855
  } : void 0,
44856
44856
  onUpdate: updatePermission.data?.status.allowed ? openUpdate : void 0
44857
44857
  }
44858
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ActionMenuPlaceholder, {}) }),
44858
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.ActionMenuPlaceholder, {}) }),
44859
44859
  /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownAccessGroups, { accessGroups })
44860
44860
  ] }) })
44861
44861
  ] }),
@@ -44927,47 +44927,35 @@ var addonFit = {exports: {}};
44927
44927
 
44928
44928
  var addonFitExports = addonFit.exports;
44929
44929
 
44930
- const FullWidthDiv$1 = st.div`
44930
+ const FullWidthDiv$3 = st.div`
44931
44931
  display: flex;
44932
44932
  justify-content: center;
44933
44933
  width: 100%;
44934
44934
  `;
44935
- const CustomCard$1 = st.div`
44936
- display: ${({ $isVisible }) => $isVisible ? "block" : "none"};
44935
+ const CustomCard$3 = st.div`
44936
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
44937
44937
  max-height: calc(100vh - 158px);
44938
44938
 
44939
- /* overflow-y: auto; */
44940
-
44941
- /* background: black; */
44942
-
44943
- /* stylelint-disable declaration-no-important */
44944
-
44945
44939
  * {
44946
44940
  scrollbar-width: thin;
44947
44941
  }
44948
-
44949
- > div > div {
44950
- width: 100% !important;
44951
- }
44952
-
44953
- .xterm {
44954
- width: 100% !important;
44955
- height: 100% !important; /* optional */
44956
- }
44957
44942
  `;
44958
- const Styled$2 = {
44959
- FullWidthDiv: FullWidthDiv$1,
44960
- CustomCard: CustomCard$1
44943
+ const Styled$7 = {
44944
+ FullWidthDiv: FullWidthDiv$3,
44945
+ CustomCard: CustomCard$3
44961
44946
  };
44962
44947
 
44963
- const XTerminal$1 = ({ endpoint, namespace, podName, container }) => {
44948
+ const XTerminal$2 = ({ endpoint, namespace, podName, container }) => {
44964
44949
  const [isLoading, setIsLoading] = useState(true);
44965
44950
  const [error, setError] = useState();
44966
44951
  const [terminal, setTerminal] = useState();
44952
+ const terminalInstance = useRef(null);
44967
44953
  const terminalRef = useRef(null);
44968
- const resizeObserverRef = useRef(null);
44969
- const fitAddon = new addonFitExports.FitAddon();
44954
+ const fitAddon = useRef(new addonFitExports.FitAddon());
44970
44955
  useEffect(() => {
44956
+ if (!terminalRef.current) {
44957
+ return;
44958
+ }
44971
44959
  const terminal2 = new xtermExports.Terminal({
44972
44960
  cursorBlink: false,
44973
44961
  cursorStyle: "block",
@@ -44975,34 +44963,20 @@ const XTerminal$1 = ({ endpoint, namespace, podName, container }) => {
44975
44963
  fontSize: 16,
44976
44964
  theme: themes.MaterialDark
44977
44965
  });
44978
- terminal2.loadAddon(fitAddon);
44966
+ terminal2.loadAddon(fitAddon.current);
44967
+ terminal2.open(terminalRef.current);
44968
+ terminalInstance.current = terminal2;
44979
44969
  setTerminal(terminal2);
44980
- fitAddon.fit();
44981
- return () => {
44982
- if (terminal2) {
44983
- terminal2.dispose();
44984
- }
44970
+ fitAddon.current.fit();
44971
+ const handleResize = () => {
44972
+ fitAddon.current.fit();
44985
44973
  };
44986
- }, []);
44987
- useEffect(() => {
44988
- if (terminal) {
44989
- if (terminalRef.current) {
44990
- terminal.open(terminalRef.current);
44991
- setTerminal(terminal);
44992
- }
44993
- }
44994
- resizeObserverRef.current = new ResizeObserver(() => {
44995
- fitAddon.fit();
44996
- });
44997
- if (terminalRef.current) {
44998
- resizeObserverRef.current.observe(terminalRef.current);
44999
- }
44974
+ window.addEventListener("resize", handleResize);
45000
44975
  return () => {
45001
- if (resizeObserverRef.current) {
45002
- resizeObserverRef.current.disconnect();
45003
- }
44976
+ window.removeEventListener("resize", handleResize);
44977
+ terminal2.dispose();
45004
44978
  };
45005
- }, [terminal]);
44979
+ }, []);
45006
44980
  useEffect(() => {
45007
44981
  if (!terminal) {
45008
44982
  return;
@@ -45051,80 +45025,94 @@ const XTerminal$1 = ({ endpoint, namespace, podName, container }) => {
45051
45025
  };
45052
45026
  }, [terminal, endpoint, namespace, podName, container]);
45053
45027
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45054
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$2.CustomCard, { $isVisible: !isLoading && !error, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$2.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef }) }) }),
45028
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.CustomCard, { $isVisible: !isLoading && !error, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
45055
45029
  isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
45056
45030
  error && /* @__PURE__ */ jsxRuntimeExports.jsx(Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
45057
45031
  ] });
45058
45032
  };
45059
45033
 
45034
+ const CustomSelect$3 = st.div`
45035
+ .ant-select {
45036
+ width: 200px;
45037
+ }
45038
+ `;
45039
+ const Styled$6 = {
45040
+ CustomSelect: CustomSelect$3
45041
+ };
45042
+
45060
45043
  const PodTerminal$1 = ({ cluster, namespace, podName, containers }) => {
45061
- const [currentContainer, setCurrentContainer] = useState(containers[0] || void 0);
45044
+ const [selectValue, setSelectValue] = useState(containers[0] || void 0);
45045
+ const [currentContainer, setCurrentContainer] = useState();
45046
+ const [hash, setHash] = useState(0);
45062
45047
  const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalPod/terminalPod`;
45063
45048
  if (containers.length === 0) {
45064
45049
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
45065
45050
  }
45066
45051
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45067
- /* @__PURE__ */ jsxRuntimeExports.jsx(
45068
- Select,
45069
- {
45070
- placeholder: "Select container",
45071
- options: containers.map((container) => ({ value: container, label: container })),
45072
- filterOption: filterSelectOptions,
45073
- disabled: containers.length === 0,
45074
- showSearch: true,
45075
- value: currentContainer,
45076
- onChange: (value) => setCurrentContainer(value)
45077
- }
45078
- ),
45052
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 16, children: [
45053
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45054
+ Select,
45055
+ {
45056
+ placeholder: "Select container",
45057
+ options: containers.map((container) => ({ value: container, label: container })),
45058
+ filterOption: filterSelectOptions,
45059
+ disabled: containers.length === 0,
45060
+ showSearch: true,
45061
+ value: selectValue,
45062
+ onChange: (value) => {
45063
+ setHash(hash + 1);
45064
+ setSelectValue(value);
45065
+ }
45066
+ }
45067
+ ) }),
45068
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
45069
+ Button,
45070
+ {
45071
+ type: "primary",
45072
+ onClick: () => {
45073
+ setCurrentContainer(selectValue);
45074
+ setHash(hash + 1);
45075
+ },
45076
+ disabled: !selectValue,
45077
+ children: "Open"
45078
+ }
45079
+ )
45080
+ ] }),
45079
45081
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45080
45082
  currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(
45081
- XTerminal$1,
45083
+ XTerminal$2,
45082
45084
  {
45083
45085
  endpoint,
45084
45086
  namespace,
45085
45087
  podName,
45086
45088
  container: currentContainer
45087
45089
  },
45088
- `${cluster}-${namespace}-${podName}-${currentContainer}`
45090
+ `${cluster}-${namespace}-${podName}-${currentContainer}-${hash}`
45089
45091
  )
45090
45092
  ] });
45091
45093
  };
45092
45094
 
45093
- const FullWidthDiv = st.div`
45095
+ const FullWidthDiv$2 = st.div`
45094
45096
  display: flex;
45095
45097
  justify-content: center;
45096
45098
  width: 100%;
45097
45099
  `;
45098
- const CustomCard = st.div`
45099
- display: ${({ $isVisible }) => $isVisible ? "block" : "none"};
45100
+ const CustomCard$2 = st.div`
45101
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
45100
45102
  max-height: calc(100vh - 158px);
45101
45103
 
45102
- /* overflow-y: auto; */
45103
-
45104
- /* background: black; */
45105
-
45106
- /* stylelint-disable declaration-no-important */
45107
-
45108
45104
  * {
45109
45105
  scrollbar-width: thin;
45110
45106
  }
45111
-
45112
- > div > div {
45113
- width: 100% !important;
45114
- }
45115
-
45116
- .xterm {
45117
- width: 100% !important;
45118
- height: 100% !important; /* optional */
45119
- }
45120
45107
  `;
45121
- const ShutdownContainer = st.div`
45122
- display: ${({ $isVisible }) => $isVisible ? "block" : "none"};
45108
+ const ShutdownContainer$2 = st.div`
45109
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
45123
45110
  margin-top: -40px;
45124
45111
  display: flex;
45125
45112
  justify-content: flex-end;
45126
45113
  `;
45127
45114
  const ProgressContainer = st.div`
45115
+ margin-top: -464px;
45128
45116
  height: 464px;
45129
45117
  display: flex;
45130
45118
  flex-flow: column;
@@ -45132,14 +45120,14 @@ const ProgressContainer = st.div`
45132
45120
  align-items: center;
45133
45121
  gap: 8px;
45134
45122
  `;
45135
- const Styled$1 = {
45136
- FullWidthDiv,
45137
- CustomCard,
45138
- ShutdownContainer,
45123
+ const Styled$5 = {
45124
+ FullWidthDiv: FullWidthDiv$2,
45125
+ CustomCard: CustomCard$2,
45126
+ ShutdownContainer: ShutdownContainer$2,
45139
45127
  ProgressContainer
45140
45128
  };
45141
45129
 
45142
- const XTerminal = ({ endpoint, nodeName, profile }) => {
45130
+ const XTerminal$1 = ({ endpoint, nodeName, profile }) => {
45143
45131
  const [isLoading, setIsLoading] = useState(true);
45144
45132
  const [error, setError] = useState();
45145
45133
  const [isTerminalVisible, setIsTerminalVisible] = useState(false);
@@ -45147,12 +45135,15 @@ const XTerminal = ({ endpoint, nodeName, profile }) => {
45147
45135
  const [containerWaitingMessage, setContainerWaitingMessage] = useState();
45148
45136
  const [progressPercent, setProgressPercent] = useState(0);
45149
45137
  const [isWarmingUp, setIsWarmingUp] = useState(true);
45150
- const [terminal, setTerminal] = useState();
45151
45138
  const socketRef = useRef(null);
45139
+ const [terminal, setTerminal] = useState();
45140
+ const terminalInstance = useRef(null);
45152
45141
  const terminalRef = useRef(null);
45153
- const resizeObserverRef = useRef(null);
45154
- const fitAddon = new addonFitExports.FitAddon();
45142
+ const fitAddon = useRef(new addonFitExports.FitAddon());
45155
45143
  useEffect(() => {
45144
+ if (!terminalRef.current) {
45145
+ return;
45146
+ }
45156
45147
  const terminal2 = new xtermExports.Terminal({
45157
45148
  cursorBlink: false,
45158
45149
  cursorStyle: "block",
@@ -45160,34 +45151,20 @@ const XTerminal = ({ endpoint, nodeName, profile }) => {
45160
45151
  fontSize: 16,
45161
45152
  theme: themes.MaterialDark
45162
45153
  });
45163
- terminal2.loadAddon(fitAddon);
45154
+ terminal2.loadAddon(fitAddon.current);
45155
+ terminal2.open(terminalRef.current);
45156
+ terminalInstance.current = terminal2;
45164
45157
  setTerminal(terminal2);
45165
- fitAddon.fit();
45166
- return () => {
45167
- if (terminal2) {
45168
- terminal2.dispose();
45169
- }
45158
+ fitAddon.current.fit();
45159
+ const handleResize = () => {
45160
+ fitAddon.current.fit();
45170
45161
  };
45171
- }, []);
45172
- useEffect(() => {
45173
- if (terminal) {
45174
- if (terminalRef.current) {
45175
- terminal.open(terminalRef.current);
45176
- setTerminal(terminal);
45177
- }
45178
- }
45179
- resizeObserverRef.current = new ResizeObserver(() => {
45180
- fitAddon.fit();
45181
- });
45182
- if (terminalRef.current) {
45183
- resizeObserverRef.current.observe(terminalRef.current);
45184
- }
45162
+ window.addEventListener("resize", handleResize);
45185
45163
  return () => {
45186
- if (resizeObserverRef.current) {
45187
- resizeObserverRef.current.disconnect();
45188
- }
45164
+ window.removeEventListener("resize", handleResize);
45165
+ terminal2.dispose();
45189
45166
  };
45190
- }, [terminal]);
45167
+ }, []);
45191
45168
  useEffect(() => {
45192
45169
  if (!terminal) {
45193
45170
  return;
@@ -45279,22 +45256,25 @@ const XTerminal = ({ endpoint, nodeName, profile }) => {
45279
45256
  };
45280
45257
  }, [terminal, endpoint, nodeName, profile]);
45281
45258
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45282
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.ShutdownContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45259
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.ShutdownContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45283
45260
  Button,
45284
45261
  {
45285
45262
  type: "dashed",
45286
45263
  disabled: !socketRef.current,
45287
- onClick: () => socketRef.current?.send(
45288
- JSON.stringify({
45289
- type: "shutdown"
45290
- })
45291
- ),
45264
+ onClick: () => {
45265
+ setIsTerminalVisible(false);
45266
+ socketRef.current?.send(
45267
+ JSON.stringify({
45268
+ type: "shutdown"
45269
+ })
45270
+ );
45271
+ },
45292
45272
  children: "Terminate"
45293
45273
  }
45294
45274
  ) }),
45295
45275
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45296
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef }) }) }),
45297
- !isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$1.ProgressContainer, { children: [
45276
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
45277
+ !isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$5.ProgressContainer, { children: [
45298
45278
  isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
45299
45279
  !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Progress, { type: "circle", percent: progressPercent }),
45300
45280
  warmupMessage && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography.Text, { children: [
@@ -45310,13 +45290,13 @@ const XTerminal = ({ endpoint, nodeName, profile }) => {
45310
45290
  ] });
45311
45291
  };
45312
45292
 
45313
- const CustomSelect = st.div`
45293
+ const CustomSelect$2 = st.div`
45314
45294
  .ant-select {
45315
45295
  width: 200px;
45316
45296
  }
45317
45297
  `;
45318
- const Styled = {
45319
- CustomSelect
45298
+ const Styled$4 = {
45299
+ CustomSelect: CustomSelect$2
45320
45300
  };
45321
45301
 
45322
45302
  const NodeTerminal$1 = ({ cluster, nodeName }) => {
@@ -45324,10 +45304,10 @@ const NodeTerminal$1 = ({ cluster, nodeName }) => {
45324
45304
  const [currentProfile, setCurrentProfile] = useState();
45325
45305
  const [hash, setHash] = useState(0);
45326
45306
  const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalNode/terminalNode`;
45327
- const profiles = ["legacy", "general", "baseline", "netadmin", "sysadmin"];
45307
+ const profiles = ["legacy", "general", "baseline", "netadmin", "restricted", "sysadmin"];
45328
45308
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45329
45309
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 16, children: [
45330
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45310
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45331
45311
  Select,
45332
45312
  {
45333
45313
  placeholder: "Select profile",
@@ -45353,7 +45333,7 @@ const NodeTerminal$1 = ({ cluster, nodeName }) => {
45353
45333
  ] }),
45354
45334
  /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45355
45335
  currentProfile && /* @__PURE__ */ jsxRuntimeExports.jsx(
45356
- XTerminal,
45336
+ XTerminal$1,
45357
45337
  {
45358
45338
  endpoint,
45359
45339
  nodeName,
@@ -45364,6 +45344,371 @@ const NodeTerminal$1 = ({ cluster, nodeName }) => {
45364
45344
  ] });
45365
45345
  };
45366
45346
 
45347
+ const FullWidthDiv$1 = st.div`
45348
+ display: flex;
45349
+ justify-content: center;
45350
+ width: 100%;
45351
+ `;
45352
+ const CustomCard$1 = st.div`
45353
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
45354
+ max-height: calc(100vh - 158px);
45355
+
45356
+ * {
45357
+ scrollbar-width: thin;
45358
+ }
45359
+ `;
45360
+ const ShutdownContainer$1 = st.div`
45361
+ margin-top: -40px;
45362
+ display: flex;
45363
+ justify-content: flex-end;
45364
+ `;
45365
+ const Styled$3 = {
45366
+ FullWidthDiv: FullWidthDiv$1,
45367
+ CustomCard: CustomCard$1,
45368
+ ShutdownContainer: ShutdownContainer$1
45369
+ };
45370
+
45371
+ const XTerminal = ({ endpoint, namespace, podName, container }) => {
45372
+ const [isLoading, setIsLoading] = useState(true);
45373
+ const [error, setError] = useState();
45374
+ const [isTerminalVisible, setIsTerminalVisible] = useState(false);
45375
+ const socketRef = useRef(null);
45376
+ const [terminal, setTerminal] = useState();
45377
+ const terminalInstance = useRef(null);
45378
+ const terminalRef = useRef(null);
45379
+ const fitAddon = useRef(new addonFitExports.FitAddon());
45380
+ useEffect(() => {
45381
+ if (!terminalRef.current) {
45382
+ return;
45383
+ }
45384
+ const terminal2 = new xtermExports.Terminal({
45385
+ cursorBlink: false,
45386
+ cursorStyle: "block",
45387
+ fontFamily: "monospace",
45388
+ fontSize: 16,
45389
+ theme: themes.MaterialDark,
45390
+ convertEol: true
45391
+ });
45392
+ terminal2.loadAddon(fitAddon.current);
45393
+ terminal2.open(terminalRef.current);
45394
+ terminalInstance.current = terminal2;
45395
+ setTerminal(terminal2);
45396
+ fitAddon.current.fit();
45397
+ const handleResize = () => {
45398
+ fitAddon.current.fit();
45399
+ };
45400
+ window.addEventListener("resize", handleResize);
45401
+ return () => {
45402
+ window.removeEventListener("resize", handleResize);
45403
+ terminal2.dispose();
45404
+ };
45405
+ }, []);
45406
+ useEffect(() => {
45407
+ if (!terminal) {
45408
+ return;
45409
+ }
45410
+ const socket = new WebSocket(endpoint);
45411
+ socketRef.current = socket;
45412
+ socket.onopen = () => {
45413
+ socket.send(
45414
+ JSON.stringify({
45415
+ type: "init",
45416
+ payload: { namespace, podName, container }
45417
+ })
45418
+ );
45419
+ console.log(`[${namespace}/${podName}]: WebSocket Client Connected`);
45420
+ setIsLoading(false);
45421
+ };
45422
+ socket.onmessage = (event) => {
45423
+ const data = JSON.parse(event.data);
45424
+ if (data.type === "ready") {
45425
+ setIsTerminalVisible(true);
45426
+ }
45427
+ if (data.type === "output") {
45428
+ if (data.payload) {
45429
+ terminal.write(data.payload);
45430
+ }
45431
+ }
45432
+ };
45433
+ socket.onclose = () => {
45434
+ console.log(`[${namespace}/${podName}]: WebSocket Client Closed`);
45435
+ };
45436
+ socket.onerror = (error2) => {
45437
+ console.error("WebSocket Error:", error2);
45438
+ setError(error2);
45439
+ };
45440
+ return () => {
45441
+ terminal.dispose();
45442
+ if (socket.readyState === WebSocket.OPEN) {
45443
+ socket.close();
45444
+ }
45445
+ };
45446
+ }, [terminal, endpoint, namespace, podName, container]);
45447
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45448
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ShutdownContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45449
+ Button,
45450
+ {
45451
+ type: "dashed",
45452
+ disabled: !socketRef.current,
45453
+ onClick: () => {
45454
+ setIsTerminalVisible(false);
45455
+ socketRef.current?.send(
45456
+ JSON.stringify({
45457
+ type: "close"
45458
+ })
45459
+ );
45460
+ },
45461
+ children: "Terminate"
45462
+ }
45463
+ ) }),
45464
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45465
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
45466
+ isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
45467
+ error && /* @__PURE__ */ jsxRuntimeExports.jsx(Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
45468
+ ] });
45469
+ };
45470
+
45471
+ const CustomSelect$1 = st.div`
45472
+ .ant-select {
45473
+ width: 200px;
45474
+ }
45475
+ `;
45476
+ const Styled$2 = {
45477
+ CustomSelect: CustomSelect$1
45478
+ };
45479
+
45480
+ const PodLogs$1 = ({ cluster, namespace, podName, containers }) => {
45481
+ const [selectValue, setSelectValue] = useState(containers[0] || void 0);
45482
+ const [currentContainer, setCurrentContainer] = useState();
45483
+ const [hash, setHash] = useState(0);
45484
+ const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/podLogs/podLogs`;
45485
+ if (containers.length === 0) {
45486
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
45487
+ }
45488
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45489
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 16, children: [
45490
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$2.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45491
+ Select,
45492
+ {
45493
+ placeholder: "Select container",
45494
+ options: containers.map((container) => ({ value: container, label: container })),
45495
+ filterOption: filterSelectOptions,
45496
+ disabled: containers.length === 0,
45497
+ showSearch: true,
45498
+ value: selectValue,
45499
+ onChange: (value) => {
45500
+ setHash(hash + 1);
45501
+ setSelectValue(value);
45502
+ }
45503
+ }
45504
+ ) }),
45505
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
45506
+ Button,
45507
+ {
45508
+ type: "primary",
45509
+ onClick: () => {
45510
+ setCurrentContainer(selectValue);
45511
+ setHash(hash + 1);
45512
+ },
45513
+ disabled: !selectValue,
45514
+ children: "Open"
45515
+ }
45516
+ )
45517
+ ] }),
45518
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45519
+ currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(
45520
+ XTerminal,
45521
+ {
45522
+ endpoint,
45523
+ namespace,
45524
+ podName,
45525
+ container: currentContainer
45526
+ },
45527
+ `${cluster}-${namespace}-${podName}-${currentContainer}-${hash}`
45528
+ )
45529
+ ] });
45530
+ };
45531
+
45532
+ const FullWidthDiv = st.div`
45533
+ display: flex;
45534
+ justify-content: center;
45535
+ width: 100%;
45536
+ `;
45537
+ const CustomCard = st.div`
45538
+ visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
45539
+ max-height: calc(100vh - 158px);
45540
+
45541
+ * {
45542
+ scrollbar-width: thin;
45543
+ }
45544
+ `;
45545
+ const ShutdownContainer = st.div`
45546
+ margin-top: -40px;
45547
+ display: flex;
45548
+ justify-content: flex-end;
45549
+ `;
45550
+ const Styled$1 = {
45551
+ FullWidthDiv,
45552
+ CustomCard,
45553
+ ShutdownContainer
45554
+ };
45555
+
45556
+ const MonacoEditor = ({ endpoint, namespace, podName, container, theme }) => {
45557
+ const [isLoading, setIsLoading] = useState(true);
45558
+ const [error, setError] = useState();
45559
+ const [isTerminalVisible, setIsTerminalVisible] = useState(false);
45560
+ const socketRef = useRef(null);
45561
+ const editorRef = useRef(null);
45562
+ const handleEditorDidMount = (editor) => {
45563
+ editorRef.current = editor;
45564
+ };
45565
+ const appendContent = (newContent) => {
45566
+ if (editorRef.current) {
45567
+ const currentContent = editorRef.current.getValue();
45568
+ editorRef.current.setValue(currentContent + newContent);
45569
+ const model = editorRef.current.getModel();
45570
+ if (model) {
45571
+ const lineCount = model.getLineCount();
45572
+ editorRef.current.revealLine(lineCount);
45573
+ }
45574
+ }
45575
+ };
45576
+ useEffect(() => {
45577
+ const socket = new WebSocket(endpoint);
45578
+ socketRef.current = socket;
45579
+ socket.onopen = () => {
45580
+ socket.send(
45581
+ JSON.stringify({
45582
+ type: "init",
45583
+ payload: { namespace, podName, container }
45584
+ })
45585
+ );
45586
+ console.log(`[${namespace}/${podName}]: WebSocket Client Connected`);
45587
+ setIsLoading(false);
45588
+ };
45589
+ socket.onmessage = (event) => {
45590
+ const data = JSON.parse(event.data);
45591
+ if (data.type === "ready") {
45592
+ setIsTerminalVisible(true);
45593
+ }
45594
+ if (data.type === "output") {
45595
+ if (data.payload) {
45596
+ appendContent(data.payload);
45597
+ }
45598
+ }
45599
+ };
45600
+ socket.onclose = () => {
45601
+ console.log(`[${namespace}/${podName}]: WebSocket Client Closed`);
45602
+ };
45603
+ socket.onerror = (error2) => {
45604
+ console.error("WebSocket Error:", error2);
45605
+ setError(error2);
45606
+ };
45607
+ return () => {
45608
+ if (socket.readyState === WebSocket.OPEN) {
45609
+ socket.close();
45610
+ }
45611
+ };
45612
+ }, [endpoint, namespace, podName, container]);
45613
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45614
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.ShutdownContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45615
+ Button,
45616
+ {
45617
+ type: "dashed",
45618
+ disabled: !socketRef.current,
45619
+ onClick: () => {
45620
+ setIsTerminalVisible(false);
45621
+ socketRef.current?.send(
45622
+ JSON.stringify({
45623
+ type: "close"
45624
+ })
45625
+ );
45626
+ },
45627
+ children: "Terminate"
45628
+ }
45629
+ ) }),
45630
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45631
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45632
+ Ft,
45633
+ {
45634
+ defaultLanguage: "yaml",
45635
+ width: "100%",
45636
+ height: 464,
45637
+ theme: theme === "dark" ? "vs-dark" : theme === void 0 ? "vs-dark" : "vs",
45638
+ options: {
45639
+ theme: theme === "dark" ? "vs-dark" : theme === void 0 ? "vs-dark" : "vs",
45640
+ readOnly: true
45641
+ },
45642
+ onMount: handleEditorDidMount
45643
+ }
45644
+ ) }) }),
45645
+ isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
45646
+ error && /* @__PURE__ */ jsxRuntimeExports.jsx(Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
45647
+ ] });
45648
+ };
45649
+
45650
+ const CustomSelect = st.div`
45651
+ .ant-select {
45652
+ width: 200px;
45653
+ }
45654
+ `;
45655
+ const Styled = {
45656
+ CustomSelect
45657
+ };
45658
+
45659
+ const PodLogsMonaco = ({ cluster, namespace, podName, containers, theme }) => {
45660
+ const [selectValue, setSelectValue] = useState(containers[0] || void 0);
45661
+ const [currentContainer, setCurrentContainer] = useState();
45662
+ const [hash, setHash] = useState(0);
45663
+ const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/podLogs/podLogs`;
45664
+ if (containers.length === 0) {
45665
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
45666
+ }
45667
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45668
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 16, children: [
45669
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
45670
+ Select,
45671
+ {
45672
+ placeholder: "Select container",
45673
+ options: containers.map((container) => ({ value: container, label: container })),
45674
+ filterOption: filterSelectOptions,
45675
+ disabled: containers.length === 0,
45676
+ showSearch: true,
45677
+ value: selectValue,
45678
+ onChange: (value) => {
45679
+ setHash(hash + 1);
45680
+ setSelectValue(value);
45681
+ }
45682
+ }
45683
+ ) }),
45684
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
45685
+ Button,
45686
+ {
45687
+ type: "primary",
45688
+ onClick: () => {
45689
+ setCurrentContainer(selectValue);
45690
+ setHash(hash + 1);
45691
+ },
45692
+ disabled: !selectValue,
45693
+ children: "Open"
45694
+ }
45695
+ )
45696
+ ] }),
45697
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 8, $samespace: true }),
45698
+ currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(
45699
+ MonacoEditor,
45700
+ {
45701
+ endpoint,
45702
+ namespace,
45703
+ podName,
45704
+ container: currentContainer,
45705
+ theme
45706
+ },
45707
+ `${cluster}-${namespace}-${podName}-${currentContainer}-${hash}`
45708
+ )
45709
+ ] });
45710
+ };
45711
+
45367
45712
  const DynamicRendererInner = ({
45368
45713
  items,
45369
45714
  components
@@ -45738,7 +46083,7 @@ const useTheme = () => {
45738
46083
  return useContext(ThemeContext);
45739
46084
  };
45740
46085
 
45741
- const parseMutliqueryText$2 = ({ text, multiQueryData }) => {
46086
+ const parseMutliqueryText$3 = ({ text, multiQueryData }) => {
45742
46087
  if (!text) return "";
45743
46088
  return text.replace(/\{reqs\[(\d+)\]\[((?:\s*['"][^'"]+['"]\s*,?)+)\]\}/g, (match, reqIndexStr, rawPath) => {
45744
46089
  try {
@@ -45792,14 +46137,14 @@ const EnrichedTable = ({
45792
46137
  replaceValues
45793
46138
  });
45794
46139
  const fetchUrlPrepared = prepareTemplate({
45795
- template: parseMutliqueryText$2({ text: fetchUrl, multiQueryData }),
46140
+ template: parseMutliqueryText$3({ text: fetchUrl, multiQueryData }),
45796
46141
  replaceValues
45797
46142
  });
45798
46143
  let labelsSuffix;
45799
46144
  if (labelsSelector) {
45800
46145
  const parsedObject = Object.fromEntries(
45801
46146
  Object.entries(labelsSelector).map(
45802
- ([key, value]) => [key, prepareTemplate({ template: parseMutliqueryText$2({ text: value, multiQueryData }), replaceValues })]
46147
+ ([key, value]) => [key, prepareTemplate({ template: parseMutliqueryText$3({ text: value, multiQueryData }), replaceValues })]
45803
46148
  )
45804
46149
  );
45805
46150
  const serializedLabels = serializeLabels(parsedObject);
@@ -45812,7 +46157,7 @@ const EnrichedTable = ({
45812
46157
  }
45813
46158
  let fieldSelectorSuffix;
45814
46159
  if (fieldSelector) {
45815
- const preparedFieldSelectorValueText = parseMutliqueryText$2({ text: fieldSelector?.parsedText, multiQueryData });
46160
+ const preparedFieldSelectorValueText = parseMutliqueryText$3({ text: fieldSelector?.parsedText, multiQueryData });
45816
46161
  const preparedFieldSelectorValueTextWithPartsOfUrl = prepareTemplate({
45817
46162
  template: preparedFieldSelectorValueText,
45818
46163
  replaceValues
@@ -45875,7 +46220,7 @@ const EnrichedTable = ({
45875
46220
  ] });
45876
46221
  };
45877
46222
 
45878
- const parseMutliqueryText$1 = ({ text, multiQueryData }) => {
46223
+ const parseMutliqueryText$2 = ({ text, multiQueryData }) => {
45879
46224
  if (!text) return "";
45880
46225
  return text.replace(/\{reqs\[(\d+)\]\[((?:\s*['"][^'"]+['"]\s*,?)+)\]\}/g, (match, reqIndexStr, rawPath) => {
45881
46226
  try {
@@ -45890,7 +46235,7 @@ const parseMutliqueryText$1 = ({ text, multiQueryData }) => {
45890
46235
  }
45891
46236
  });
45892
46237
  };
45893
- const getRunningContainerNames = (pod) => (pod.status?.containerStatuses ?? []).filter((st) => Boolean(st.state?.running)).map((st) => st.name);
46238
+ const getRunningContainerNames$1 = (pod) => (pod.status?.containerStatuses ?? []).filter((st) => Boolean(st.state?.running)).map((st) => st.name);
45894
46239
 
45895
46240
  const PodTerminal = ({
45896
46241
  data,
@@ -45912,15 +46257,15 @@ const PodTerminal = ({
45912
46257
  return acc;
45913
46258
  }, {});
45914
46259
  const clusterPrepared = prepareTemplate({
45915
- template: parseMutliqueryText$1({ text: cluster, multiQueryData }),
46260
+ template: parseMutliqueryText$2({ text: cluster, multiQueryData }),
45916
46261
  replaceValues
45917
46262
  });
45918
46263
  const namespacePrepared = prepareTemplate({
45919
- template: parseMutliqueryText$1({ text: namespace, multiQueryData }),
46264
+ template: parseMutliqueryText$2({ text: namespace, multiQueryData }),
45920
46265
  replaceValues
45921
46266
  });
45922
46267
  const podNamePrepared = prepareTemplate({
45923
- template: parseMutliqueryText$1({ text: podName, multiQueryData }),
46268
+ template: parseMutliqueryText$2({ text: podName, multiQueryData }),
45924
46269
  replaceValues
45925
46270
  });
45926
46271
  const {
@@ -45948,7 +46293,7 @@ const PodTerminal = ({
45948
46293
  if (!podInfo) {
45949
46294
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Pod Info" });
45950
46295
  }
45951
- const containers = getRunningContainerNames(podInfo);
46296
+ const containers = getRunningContainerNames$1(podInfo);
45952
46297
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
45953
46298
  /* @__PURE__ */ jsxRuntimeExports.jsx(
45954
46299
  PodTerminal$1,
@@ -45964,7 +46309,7 @@ const PodTerminal = ({
45964
46309
  ] });
45965
46310
  };
45966
46311
 
45967
- const parseMutliqueryText = ({ text, multiQueryData }) => {
46312
+ const parseMutliqueryText$1 = ({ text, multiQueryData }) => {
45968
46313
  if (!text) return "";
45969
46314
  return text.replace(/\{reqs\[(\d+)\]\[((?:\s*['"][^'"]+['"]\s*,?)+)\]\}/g, (match, reqIndexStr, rawPath) => {
45970
46315
  try {
@@ -45999,11 +46344,11 @@ const NodeTerminal = ({
45999
46344
  return acc;
46000
46345
  }, {});
46001
46346
  const clusterPrepared = prepareTemplate({
46002
- template: parseMutliqueryText({ text: cluster, multiQueryData }),
46347
+ template: parseMutliqueryText$1({ text: cluster, multiQueryData }),
46003
46348
  replaceValues
46004
46349
  });
46005
46350
  const nodeNamePrepared = prepareTemplate({
46006
- template: parseMutliqueryText({ text: nodeName, multiQueryData }),
46351
+ template: parseMutliqueryText$1({ text: nodeName, multiQueryData }),
46007
46352
  replaceValues
46008
46353
  });
46009
46354
  if (isMultiqueryLoading) {
@@ -46015,6 +46360,97 @@ const NodeTerminal = ({
46015
46360
  ] });
46016
46361
  };
46017
46362
 
46363
+ const parseMutliqueryText = ({ text, multiQueryData }) => {
46364
+ if (!text) return "";
46365
+ return text.replace(/\{reqs\[(\d+)\]\[((?:\s*['"][^'"]+['"]\s*,?)+)\]\}/g, (match, reqIndexStr, rawPath) => {
46366
+ try {
46367
+ const reqIndex = parseInt(reqIndexStr, 10);
46368
+ const path = Array.from(rawPath.matchAll(/['"]([^'"]+)['"]/g)).map(
46369
+ (m) => m[1]
46370
+ );
46371
+ const value = _$1.get(multiQueryData[`req${reqIndex}`], path);
46372
+ return value != null ? String(value) : "";
46373
+ } catch {
46374
+ return match;
46375
+ }
46376
+ });
46377
+ };
46378
+ const getRunningContainerNames = (pod) => (pod.status?.containerStatuses ?? []).filter((st) => Boolean(st.state?.running)).map((st) => st.name);
46379
+
46380
+ const PodLogs = ({
46381
+ data,
46382
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46383
+ children
46384
+ }) => {
46385
+ const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery();
46386
+ const theme = useTheme();
46387
+ const {
46388
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46389
+ id,
46390
+ cluster,
46391
+ namespace,
46392
+ podName,
46393
+ ...props
46394
+ } = data;
46395
+ const partsOfUrl = usePartsOfUrl();
46396
+ const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
46397
+ acc[index.toString()] = value;
46398
+ return acc;
46399
+ }, {});
46400
+ const clusterPrepared = prepareTemplate({
46401
+ template: parseMutliqueryText({ text: cluster, multiQueryData }),
46402
+ replaceValues
46403
+ });
46404
+ const namespacePrepared = prepareTemplate({
46405
+ template: parseMutliqueryText({ text: namespace, multiQueryData }),
46406
+ replaceValues
46407
+ });
46408
+ const podNamePrepared = prepareTemplate({
46409
+ template: parseMutliqueryText({ text: podName, multiQueryData }),
46410
+ replaceValues
46411
+ });
46412
+ const {
46413
+ data: podInfo,
46414
+ isError: isPodInfoError,
46415
+ isLoading: isLoadingPodInfo
46416
+ } = useDirectUnknownResource({
46417
+ uri: `/api/clusters/${clusterPrepared}/k8s/api/v1/namespaces/${namespacePrepared}/pods/${podNamePrepared}`,
46418
+ refetchInterval: 5e3,
46419
+ queryKey: [clusterPrepared || "no-cluster", "pods", podNamePrepared],
46420
+ isEnabled: clusterPrepared !== void 0 && namespacePrepared !== void 0 && podNamePrepared !== void 0
46421
+ });
46422
+ if (isMultiqueryLoading) {
46423
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
46424
+ }
46425
+ if (isLoadingPodInfo) {
46426
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Flex, { justify: "center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}) });
46427
+ }
46428
+ if (isPodInfoError) {
46429
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
46430
+ "Error: ",
46431
+ JSON.stringify(isPodInfoError)
46432
+ ] });
46433
+ }
46434
+ if (!podInfo) {
46435
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Pod Info" });
46436
+ }
46437
+ const containers = getRunningContainerNames(podInfo);
46438
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
46439
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
46440
+ PodLogsMonaco,
46441
+ {
46442
+ cluster: clusterPrepared,
46443
+ namespace: namespacePrepared,
46444
+ podName: podNamePrepared,
46445
+ containers,
46446
+ theme,
46447
+ ...props
46448
+ }
46449
+ ),
46450
+ children
46451
+ ] });
46452
+ };
46453
+
46018
46454
  const DynamicComponents = {
46019
46455
  DefaultDiv,
46020
46456
  antdText: AntdText,
@@ -46035,7 +46471,8 @@ const DynamicComponents = {
46035
46471
  SidebarProvider,
46036
46472
  EnrichedTable,
46037
46473
  PodTerminal,
46038
- NodeTerminal
46474
+ NodeTerminal,
46475
+ PodLogs
46039
46476
  };
46040
46477
 
46041
46478
  const prepareUrlsToFetchForDynamicRenderer = ({
@@ -46537,5 +46974,5 @@ const useCrdData = ({
46537
46974
  });
46538
46975
  };
46539
46976
 
46540
- export { BackToDefaultIcon, BlackholeForm, BlackholeFormDataProvider, ContentCard$1 as ContentCard, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EditIcon, EnrichedTable$1 as EnrichedTable, EnrichedTableProvider, LockedIcon, ManageableBreadcrumbs, ManageableBreadcrumbsWithDataProvider, ManageableSidebar, ManageableSidebarWithDataProvider, MarketPlace, MarketplaceCard$1 as MarketplaceCard, MinusIcon, NodeTerminal$1 as NodeTerminal, PlusIcon, PodTerminal$1 as PodTerminal, ProjectInfoCard$1 as ProjectInfoCard, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UnlockedIcon, UpIcon, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, createContextFactory, createNewEntry, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getObjectFormItemsDraft, getPrefixSubarrays, getStringByName, getSwagger, groupsToTreeData, isFlatObject, normalizeValuesForQuotasToNumber, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, usePermissions };
46977
+ export { BackToDefaultIcon, BlackholeForm, BlackholeFormDataProvider, ContentCard$1 as ContentCard, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EditIcon, EnrichedTable$1 as EnrichedTable, EnrichedTableProvider, LockedIcon, ManageableBreadcrumbs, ManageableBreadcrumbsWithDataProvider, ManageableSidebar, ManageableSidebarWithDataProvider, MarketPlace, MarketplaceCard$1 as MarketplaceCard, MinusIcon, NodeTerminal$1 as NodeTerminal, PlusIcon, PodLogs$1 as PodLogs, PodLogsMonaco, PodTerminal$1 as PodTerminal, ProjectInfoCard$1 as ProjectInfoCard, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UnlockedIcon, UpIcon, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, createContextFactory, createNewEntry, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getObjectFormItemsDraft, getPrefixSubarrays, getStringByName, getSwagger, groupsToTreeData, isFlatObject, normalizeValuesForQuotasToNumber, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, usePermissions };
46541
46978
  //# sourceMappingURL=openapi-k8s-toolkit.es.js.map