@prorobotech/openapi-k8s-toolkit 1.1.0-alpha.7 → 1.1.0-alpha.9

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 (196) hide show
  1. package/dist/openapi-k8s-toolkit.es.js +747 -326
  2. package/dist/openapi-k8s-toolkit.es.js.map +1 -1
  3. package/dist/openapi-k8s-toolkit.umd.js +754 -330
  4. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  5. package/dist/types/components/atoms/CursorDefaultDiv/CursorDefaultDiv.d.ts +2 -2
  6. package/dist/types/components/atoms/CursorDefaultDiv/index.d.ts +1 -1
  7. package/dist/types/components/atoms/CursorPointerTag/index.d.ts +1 -1
  8. package/dist/types/components/atoms/CursorPointerTagMinContent/index.d.ts +1 -1
  9. package/dist/types/components/atoms/CustomSelect/index.d.ts +1 -1
  10. package/dist/types/components/atoms/FlexGrow/index.d.ts +1 -1
  11. package/dist/types/components/atoms/PaddingContainer/index.d.ts +1 -1
  12. package/dist/types/components/atoms/ResourceLink/ResourceLink.d.ts +19 -0
  13. package/dist/types/components/atoms/ResourceLink/index.d.ts +1 -0
  14. package/dist/types/components/atoms/ResourceLink/styled.d.ts +8 -0
  15. package/dist/types/components/atoms/UncontrolledSelect/index.d.ts +1 -1
  16. package/dist/types/components/atoms/index.d.ts +19 -13
  17. package/dist/types/components/molecules/BlackholeForm/atoms/ArrayInsideContainer/ArrayInsideContainer.d.ts +2 -2
  18. package/dist/types/components/molecules/BlackholeForm/atoms/ArrayInsideContainer/index.d.ts +1 -1
  19. package/dist/types/components/molecules/BlackholeForm/atoms/CustomCollapse/index.d.ts +1 -1
  20. package/dist/types/components/molecules/BlackholeForm/atoms/CustomSizeTitle/index.d.ts +1 -1
  21. package/dist/types/components/molecules/BlackholeForm/atoms/DebugNameViewer/index.d.ts +1 -1
  22. package/dist/types/components/molecules/BlackholeForm/atoms/HeightContainer/index.d.ts +1 -1
  23. package/dist/types/components/molecules/BlackholeForm/atoms/HiddenContainer/HiddenContainer.d.ts +4 -2
  24. package/dist/types/components/molecules/BlackholeForm/atoms/HiddenContainer/index.d.ts +1 -1
  25. package/dist/types/components/molecules/BlackholeForm/atoms/PersistedCheckbox/index.d.ts +1 -1
  26. package/dist/types/components/molecules/BlackholeForm/atoms/PossibleHiddenContainer/index.d.ts +1 -1
  27. package/dist/types/components/molecules/BlackholeForm/atoms/ResetedFormItem/index.d.ts +1 -1
  28. package/dist/types/components/molecules/BlackholeForm/atoms/index.d.ts +9 -9
  29. package/dist/types/components/molecules/BlackholeForm/index.d.ts +2 -1
  30. package/dist/types/components/molecules/BlackholeForm/molecules/FormArrayHeader/index.d.ts +1 -1
  31. package/dist/types/components/molecules/BlackholeForm/molecules/FormBooleanInput/index.d.ts +1 -1
  32. package/dist/types/components/molecules/BlackholeForm/molecules/FormEnumStringInput/index.d.ts +1 -1
  33. package/dist/types/components/molecules/BlackholeForm/molecules/FormInlineYamlEditor/FormInlineYamlEditor.d.ts +4 -2
  34. package/dist/types/components/molecules/BlackholeForm/molecules/FormInlineYamlEditor/index.d.ts +1 -1
  35. package/dist/types/components/molecules/BlackholeForm/molecules/FormListInput/index.d.ts +1 -1
  36. package/dist/types/components/molecules/BlackholeForm/molecules/FormNamespaceInput/index.d.ts +1 -1
  37. package/dist/types/components/molecules/BlackholeForm/molecules/FormNumberInput/index.d.ts +1 -1
  38. package/dist/types/components/molecules/BlackholeForm/molecules/FormObjectFromSwagger/index.d.ts +1 -1
  39. package/dist/types/components/molecules/BlackholeForm/molecules/FormRangeInput/index.d.ts +1 -1
  40. package/dist/types/components/molecules/BlackholeForm/molecules/FormRangeInput/molecules/RangeInput/index.d.ts +1 -1
  41. package/dist/types/components/molecules/BlackholeForm/molecules/FormRangeInput/molecules/index.d.ts +1 -1
  42. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringInput/index.d.ts +1 -1
  43. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringMultilineInput/index.d.ts +1 -1
  44. package/dist/types/components/molecules/BlackholeForm/molecules/YamlEditor/index.d.ts +1 -1
  45. package/dist/types/components/molecules/BlackholeForm/molecules/YamlEditorSingleton/index.d.ts +1 -1
  46. package/dist/types/components/molecules/BlackholeForm/molecules/index.d.ts +13 -13
  47. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/BlackholeForm.d.ts +2 -3
  48. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/index.d.ts +1 -0
  49. package/dist/types/components/molecules/BlackholeForm/organisms/{BlackholeFormDataProvider/BlackholeFormDataProvider.d.ts → BlackholeFormProvider/BlackholeFormProvider.d.ts} +2 -2
  50. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeFormProvider/index.d.ts +2 -0
  51. package/dist/types/components/molecules/BlackholeForm/organisms/index.d.ts +4 -2
  52. package/dist/types/components/molecules/EnrichedTable/index.d.ts +2 -1
  53. package/dist/types/components/molecules/EnrichedTable/molecules/index.d.ts +1 -1
  54. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/FilterDropdown/index.d.ts +1 -1
  55. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/ShortenedTextWithTooltip/index.d.ts +1 -1
  56. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/TableComponents/index.d.ts +1 -1
  57. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/TextAlignContainer/index.d.ts +1 -1
  58. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/TinyButton/index.d.ts +1 -1
  59. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/TrimmedTags/index.d.ts +1 -1
  60. package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/atoms/index.d.ts +6 -6
  61. package/dist/types/components/molecules/EnrichedTable/organisms/index.d.ts +4 -2
  62. package/dist/types/components/molecules/Events/Events.d.ts +3 -2
  63. package/dist/types/components/molecules/Events/index.d.ts +1 -0
  64. package/dist/types/components/molecules/Events/molecules/EventRow/EventRow.d.ts +1 -0
  65. package/dist/types/components/molecules/Events/molecules/EventRow/utils.d.ts +0 -20
  66. package/dist/types/components/molecules/ManageableBreadcrumbs/index.d.ts +2 -3
  67. package/dist/types/components/molecules/ManageableBreadcrumbs/molecules/CollapsibleBreadcrumb/index.d.ts +1 -1
  68. package/dist/types/components/molecules/ManageableBreadcrumbs/molecules/index.d.ts +1 -1
  69. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbs/ManageableBreadcrumbs.d.ts +8 -0
  70. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbs/index.d.ts +2 -0
  71. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbsProvider/ManageableBreadcrumbsProvider.d.ts +12 -0
  72. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbsProvider/index.d.ts +3 -0
  73. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbsProvider/styled.d.ts +276 -0
  74. package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/index.d.ts +4 -0
  75. package/dist/types/components/molecules/ManageableSidebar/index.d.ts +2 -3
  76. package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebar/ManageableSidebar.d.ts +10 -0
  77. package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebar/index.d.ts +2 -0
  78. package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebarProvider/ManageableSidebarProvider.d.ts +15 -0
  79. package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebarProvider/index.d.ts +3 -0
  80. package/dist/types/components/molecules/ManageableSidebar/organisms/index.d.ts +4 -0
  81. package/dist/types/components/molecules/MarketPlace/atoms/AddCard/index.d.ts +1 -1
  82. package/dist/types/components/molecules/MarketPlace/atoms/index.d.ts +1 -1
  83. package/dist/types/components/molecules/MarketPlace/molecules/AddEditFormModal/index.d.ts +1 -1
  84. package/dist/types/components/molecules/MarketPlace/molecules/MarketplaceCard/index.d.ts +2 -1
  85. package/dist/types/components/molecules/MarketPlace/molecules/SearchTextInput/index.d.ts +1 -1
  86. package/dist/types/components/molecules/MarketPlace/molecules/index.d.ts +4 -3
  87. package/dist/types/components/molecules/ProjectInfoCard/molecules/DropdownAccessGroups/index.d.ts +1 -1
  88. package/dist/types/components/molecules/ProjectInfoCard/molecules/DropdownActions/index.d.ts +1 -1
  89. package/dist/types/components/molecules/ProjectInfoCard/molecules/index.d.ts +2 -2
  90. package/dist/types/components/molecules/Search/Search.d.ts +1 -2
  91. package/dist/types/components/molecules/Search/index.d.ts +1 -0
  92. package/dist/types/components/molecules/Terminals/NodeTerminal/molecules/XTerminal/index.d.ts +1 -1
  93. package/dist/types/components/molecules/Terminals/NodeTerminal/molecules/index.d.ts +1 -1
  94. package/dist/types/components/molecules/Terminals/PodLogs/molecules/XTerminal/index.d.ts +1 -1
  95. package/dist/types/components/molecules/Terminals/PodLogs/molecules/index.d.ts +1 -1
  96. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/MonacoEditor/index.d.ts +1 -1
  97. package/dist/types/components/molecules/Terminals/PodLogsMonaco/molecules/index.d.ts +1 -1
  98. package/dist/types/components/molecules/Terminals/PodTerminal/molecules/XTerminal/index.d.ts +1 -1
  99. package/dist/types/components/molecules/Terminals/PodTerminal/molecules/index.d.ts +1 -1
  100. package/dist/types/components/molecules/Terminals/index.d.ts +8 -4
  101. package/dist/types/components/molecules/index.d.ts +18 -9
  102. package/dist/types/components/organisms/DynamicComponents/molecules/Annotations/index.d.ts +1 -1
  103. package/dist/types/components/organisms/DynamicComponents/molecules/Annotations/molecules/EditModal/index.d.ts +1 -1
  104. package/dist/types/components/organisms/DynamicComponents/molecules/Annotations/molecules/index.d.ts +1 -1
  105. package/dist/types/components/organisms/DynamicComponents/molecules/AntdButton/index.d.ts +1 -1
  106. package/dist/types/components/organisms/DynamicComponents/molecules/AntdCard/index.d.ts +1 -1
  107. package/dist/types/components/organisms/DynamicComponents/molecules/AntdCol/index.d.ts +1 -1
  108. package/dist/types/components/organisms/DynamicComponents/molecules/AntdFlex/index.d.ts +1 -1
  109. package/dist/types/components/organisms/DynamicComponents/molecules/AntdLink/index.d.ts +1 -1
  110. package/dist/types/components/organisms/DynamicComponents/molecules/AntdRow/index.d.ts +1 -1
  111. package/dist/types/components/organisms/DynamicComponents/molecules/AntdTabs/index.d.ts +1 -1
  112. package/dist/types/components/organisms/DynamicComponents/molecules/AntdText/index.d.ts +1 -1
  113. package/dist/types/components/organisms/DynamicComponents/molecules/ArrayOfObjectsToKeyValues/index.d.ts +1 -1
  114. package/dist/types/components/organisms/DynamicComponents/molecules/ContentCard/index.d.ts +1 -1
  115. package/dist/types/components/organisms/DynamicComponents/molecules/ConverterBytes/index.d.ts +1 -1
  116. package/dist/types/components/organisms/DynamicComponents/molecules/DefaultDiv/index.d.ts +1 -1
  117. package/dist/types/components/organisms/DynamicComponents/molecules/EnrichedTable/index.d.ts +1 -1
  118. package/dist/types/components/organisms/DynamicComponents/molecules/Events/index.d.ts +1 -1
  119. package/dist/types/components/organisms/DynamicComponents/molecules/ItemCounter/index.d.ts +1 -1
  120. package/dist/types/components/organisms/DynamicComponents/molecules/KeyCounter/index.d.ts +1 -1
  121. package/dist/types/components/organisms/DynamicComponents/molecules/Labels/index.d.ts +1 -1
  122. package/dist/types/components/organisms/DynamicComponents/molecules/Labels/molecules/EditModal/index.d.ts +1 -1
  123. package/dist/types/components/organisms/DynamicComponents/molecules/Labels/molecules/index.d.ts +1 -1
  124. package/dist/types/components/organisms/DynamicComponents/molecules/LabelsToSearchParams/index.d.ts +1 -1
  125. package/dist/types/components/organisms/DynamicComponents/molecules/MarketplaceCard/index.d.ts +1 -1
  126. package/dist/types/components/organisms/DynamicComponents/molecules/MultiQuery/index.d.ts +1 -1
  127. package/dist/types/components/organisms/DynamicComponents/molecules/NodeTerminal/index.d.ts +1 -1
  128. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/OwnerRefs.d.ts +6 -0
  129. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/guard.d.ts +2 -0
  130. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/index.d.ts +1 -0
  131. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/RefsList.d.ts +21 -0
  132. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/index.d.ts +1 -0
  133. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/RefElement/RefElement.d.ts +20 -0
  134. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/RefElement/index.d.ts +1 -0
  135. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/RefElement/utils.d.ts +5 -0
  136. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/index.d.ts +1 -0
  137. package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/types.d.ts +6 -0
  138. package/dist/types/components/organisms/DynamicComponents/molecules/ParsedText/index.d.ts +1 -1
  139. package/dist/types/components/organisms/DynamicComponents/molecules/PartsOfUrl/index.d.ts +1 -1
  140. package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/index.d.ts +1 -1
  141. package/dist/types/components/organisms/DynamicComponents/molecules/PodTerminal/index.d.ts +1 -1
  142. package/dist/types/components/organisms/DynamicComponents/molecules/ProjectInfoCard/index.d.ts +1 -1
  143. package/dist/types/components/organisms/DynamicComponents/molecules/ResourceBadge/index.d.ts +1 -1
  144. package/dist/types/components/organisms/DynamicComponents/molecules/SecretBase64Plain/index.d.ts +1 -1
  145. package/dist/types/components/organisms/DynamicComponents/molecules/SidebarProvider/index.d.ts +1 -1
  146. package/dist/types/components/organisms/DynamicComponents/molecules/Spacer/index.d.ts +1 -1
  147. package/dist/types/components/organisms/DynamicComponents/molecules/StatusText/index.d.ts +1 -1
  148. package/dist/types/components/organisms/DynamicComponents/molecules/Taints/index.d.ts +1 -1
  149. package/dist/types/components/organisms/DynamicComponents/molecules/Taints/molecules/EditModal/index.d.ts +1 -1
  150. package/dist/types/components/organisms/DynamicComponents/molecules/Taints/molecules/index.d.ts +1 -1
  151. package/dist/types/components/organisms/DynamicComponents/molecules/Tolerations/index.d.ts +1 -1
  152. package/dist/types/components/organisms/DynamicComponents/molecules/Tolerations/molecules/EditModal/index.d.ts +1 -1
  153. package/dist/types/components/organisms/DynamicComponents/molecules/Tolerations/molecules/index.d.ts +1 -1
  154. package/dist/types/components/organisms/DynamicComponents/molecules/VisibilityContainer/index.d.ts +1 -1
  155. package/dist/types/components/organisms/DynamicComponents/molecules/YamlEditorSingleton/index.d.ts +1 -1
  156. package/dist/types/components/organisms/DynamicComponents/molecules/index.d.ts +37 -36
  157. package/dist/types/components/organisms/DynamicComponents/types.d.ts +27 -4
  158. package/dist/types/components/organisms/index.d.ts +5 -3
  159. package/dist/types/index.d.ts +1 -0
  160. package/dist/types/localTypes/bff/table.d.ts +1 -0
  161. package/dist/types/localTypes/navigations.d.ts +24 -0
  162. package/dist/types/utils/createContextFactory/index.d.ts +1 -1
  163. package/dist/types/utils/deepMerge/index.d.ts +1 -1
  164. package/dist/types/utils/filterSelectOptions/index.d.ts +1 -1
  165. package/dist/types/utils/getAllPathsFromObj/index.d.ts +1 -1
  166. package/dist/types/utils/getGroupsByCategory/index.d.ts +1 -1
  167. package/dist/types/utils/getPrefixSubArrays/index.d.ts +1 -1
  168. package/dist/types/utils/getResourceLink/getResourceLink.d.ts +27 -0
  169. package/dist/types/utils/getResourceLink/index.d.ts +1 -0
  170. package/dist/types/utils/getSortedKinds/index.d.ts +1 -1
  171. package/dist/types/utils/getSortedKindsAll/index.d.ts +1 -1
  172. package/dist/types/utils/getStringByName/index.d.ts +1 -1
  173. package/dist/types/utils/getUppercase/index.d.ts +1 -1
  174. package/dist/types/utils/groupsToTreeData/index.d.ts +2 -1
  175. package/dist/types/utils/hslFromString/index.d.ts +1 -1
  176. package/dist/types/utils/index.d.ts +25 -22
  177. package/dist/types/utils/isFlatObject/index.d.ts +1 -1
  178. package/dist/types/utils/kindByGvr/index.d.ts +1 -1
  179. package/dist/types/utils/namespacedByGvr/index.d.ts +1 -1
  180. package/dist/types/utils/nestedStringsArrayInclude/index.d.ts +1 -1
  181. package/dist/types/utils/normalizeValuesForQuotas/index.d.ts +1 -1
  182. package/dist/types/utils/parseForQuotaValues/index.d.ts +1 -1
  183. package/dist/types/utils/pluralByKind/index.d.ts +1 -1
  184. package/dist/types/utils/prepareTemplate/index.d.ts +1 -1
  185. package/dist/types/utils/prepareUrlsToFetchForDynamicRenderer/index.d.ts +1 -1
  186. package/dist/types/utils/tableLocations/index.d.ts +1 -1
  187. package/package.json +1 -1
  188. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeFormDataProvider/index.d.ts +0 -2
  189. package/dist/types/components/molecules/ManageableBreadcrumbs/ManageableBreadcrumbs.d.ts +0 -19
  190. package/dist/types/components/molecules/ManageableSidebar/ManageableSidebar.d.ts +0 -24
  191. /package/dist/types/components/molecules/ManageableBreadcrumbs/{styled.d.ts → organisms/ManageableBreadcrumbs/styled.d.ts} +0 -0
  192. /package/dist/types/components/molecules/ManageableBreadcrumbs/{types.d.ts → organisms/ManageableBreadcrumbsProvider/types.d.ts} +0 -0
  193. /package/dist/types/components/molecules/ManageableBreadcrumbs/{utils.d.ts → organisms/ManageableBreadcrumbsProvider/utils.d.ts} +0 -0
  194. /package/dist/types/components/molecules/ManageableSidebar/{styled.d.ts → organisms/ManageableSidebar/styled.d.ts} +0 -0
  195. /package/dist/types/components/molecules/ManageableSidebar/{types.d.ts → organisms/ManageableSidebarProvider/types.d.ts} +0 -0
  196. /package/dist/types/components/molecules/ManageableSidebar/{utils.d.ts → organisms/ManageableSidebarProvider/utils.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('@tanstack/react-query'), require('react-router-dom')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'styled-components', 'react', 'antd', '@ant-design/icons', '@tanstack/react-query', 'react-router-dom'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@prorobotech/openapi-k8s-toolkit"] = {}, global.styled, global.React, global.antd, global.antdIcons, global.reactQuery, global.ReactRouterDOM));
5
- })(this, (function (exports, styled, K, antd, icons, reactQuery, reactRouterDom) { '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')) :
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';
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$A = {
1576
+ const Styled$C = {
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$A.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1641
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1642
1642
  antd.Tree,
1643
1643
  {
1644
1644
  treeData: loop(treeData),
@@ -8167,14 +8167,14 @@
8167
8167
  display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
8168
8168
  flex-flow: ${({ $flexFlow }) => $flexFlow};
8169
8169
  `;
8170
- const Styled$z = {
8170
+ const Styled$B = {
8171
8171
  ContentContainer
8172
8172
  };
8173
8173
 
8174
8174
  const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
8175
8175
  const { token } = antd.theme.useToken();
8176
8176
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8177
- Styled$z.ContentContainer,
8177
+ Styled$B.ContentContainer,
8178
8178
  {
8179
8179
  $flexGrow: flexGrow,
8180
8180
  $bgColor: token.colorBgContainer,
@@ -8235,13 +8235,13 @@
8235
8235
  padding-inline: 8px;
8236
8236
  }
8237
8237
  `;
8238
- const Styled$y = {
8238
+ const Styled$A = {
8239
8239
  UncontrolledSelect: UncontrolledSelect$1
8240
8240
  };
8241
8241
 
8242
8242
  const UncontrolledSelect = (props) => {
8243
8243
  const { isCursorPointer } = props;
8244
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8244
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8245
8245
  };
8246
8246
 
8247
8247
  const CustomSelect$5 = styled(antd.Select)`
@@ -8289,13 +8289,13 @@
8289
8289
  margin-block: 0 !important;
8290
8290
  }
8291
8291
  `;
8292
- const Styled$x = {
8292
+ const Styled$z = {
8293
8293
  CustomSelect: CustomSelect$5
8294
8294
  };
8295
8295
 
8296
8296
  const CustomSelect$4 = (props) => {
8297
8297
  const { paddingContainerEnd, ...rest } = props;
8298
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8298
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8299
8299
  };
8300
8300
 
8301
8301
  const CursorPointerTag = styled(antd.Tag)`
@@ -8315,6 +8315,273 @@
8315
8315
  padding: ${({ $padding }) => $padding};
8316
8316
  `;
8317
8317
 
8318
+ const getUppercase = (s) => {
8319
+ const uppercases = [...s].filter((c) => c >= "A" && c <= "Z").join("");
8320
+ return uppercases.length > 0 ? uppercases : s[0].toUpperCase();
8321
+ };
8322
+
8323
+ const fnv1a32 = (str) => {
8324
+ let h = 2166136261;
8325
+ for (const ch of str) {
8326
+ h ^= ch.codePointAt(0);
8327
+ h = (h >>> 0) * 16777619;
8328
+ }
8329
+ return h >>> 0;
8330
+ };
8331
+ const pickInRange = (u32, min, max) => min + u32 % (max - min + 1);
8332
+ const hslFromString = (value, theme) => {
8333
+ const hash = fnv1a32(value);
8334
+ const hue = hash % 345;
8335
+ const [sMin, sMax] = theme === "light" ? [90, 100] : [78, 80];
8336
+ const [lMin, lMax] = theme === "light" ? [78, 80] : [25, 35];
8337
+ const s = pickInRange(hash >>> 8, sMin, sMax);
8338
+ const l = pickInRange(hash >>> 16, lMin, lMax);
8339
+ return `hsl(${hue}, ${s}%, ${l}%)`;
8340
+ };
8341
+
8342
+ const parseApiVersion$1 = (apiVersion) => {
8343
+ const parts = apiVersion.split("/");
8344
+ if (parts.length === 1) {
8345
+ return {
8346
+ apiGroup: void 0,
8347
+ apiVersion: parts[0]
8348
+ };
8349
+ }
8350
+ return {
8351
+ apiGroup: parts[0],
8352
+ apiVersion: parts[1]
8353
+ };
8354
+ };
8355
+ const getFactoryKey = ({
8356
+ apiGroup,
8357
+ apiVersion,
8358
+ resource,
8359
+ namespace,
8360
+ baseFactoriesMapping,
8361
+ baseFactoryNamespacedAPIKey,
8362
+ baseFactoryClusterSceopedAPIKey,
8363
+ baseFactoryNamespacedBuiltinKey,
8364
+ baseFactoryClusterSceopedBuiltinKey
8365
+ }) => {
8366
+ if (namespace) {
8367
+ if (apiGroup) {
8368
+ const forcedMapping3 = baseFactoriesMapping?.[`${baseFactoryNamespacedAPIKey}-${apiGroup}-${apiVersion}-${resource}`];
8369
+ return forcedMapping3 || baseFactoryNamespacedAPIKey || "";
8370
+ }
8371
+ const forcedMapping2 = baseFactoriesMapping?.[`${baseFactoryNamespacedBuiltinKey}-${apiVersion}-${resource}`];
8372
+ return forcedMapping2 || baseFactoryNamespacedBuiltinKey || "";
8373
+ }
8374
+ if (apiGroup) {
8375
+ const forcedMapping2 = baseFactoriesMapping?.[`${baseFactoryClusterSceopedAPIKey}-${apiGroup}-${apiVersion}-${resource}`];
8376
+ return forcedMapping2 || baseFactoryClusterSceopedAPIKey || "";
8377
+ }
8378
+ const forcedMapping = baseFactoriesMapping?.[`${baseFactoryClusterSceopedBuiltinKey}-${apiVersion}-${resource}`];
8379
+ return forcedMapping || baseFactoryClusterSceopedBuiltinKey || "";
8380
+ };
8381
+ const getResourceLink = ({
8382
+ baseprefix,
8383
+ cluster,
8384
+ namespace,
8385
+ apiGroupVersion,
8386
+ pluralName,
8387
+ name,
8388
+ baseFactoryNamespacedAPIKey,
8389
+ baseFactoryClusterSceopedAPIKey,
8390
+ baseFactoryNamespacedBuiltinKey,
8391
+ baseFactoryClusterSceopedBuiltinKey,
8392
+ baseFactoriesMapping
8393
+ }) => {
8394
+ if (!pluralName || !name) {
8395
+ return void 0;
8396
+ }
8397
+ const { apiGroup, apiVersion } = parseApiVersion$1(apiGroupVersion);
8398
+ if (apiGroupVersion === "v1") {
8399
+ return `${baseprefix}/${cluster}${namespace ? `/${namespace}` : ""}/factory/${getFactoryKey({
8400
+ apiGroup,
8401
+ apiVersion,
8402
+ resource: pluralName,
8403
+ namespace,
8404
+ baseFactoriesMapping,
8405
+ baseFactoryNamespacedAPIKey,
8406
+ baseFactoryClusterSceopedAPIKey,
8407
+ baseFactoryNamespacedBuiltinKey,
8408
+ baseFactoryClusterSceopedBuiltinKey
8409
+ })}/${apiGroupVersion}/${pluralName}/${name}`;
8410
+ }
8411
+ return `${baseprefix}/${cluster}${namespace ? `/${namespace}` : ""}/factory/${getFactoryKey({
8412
+ apiGroup,
8413
+ apiVersion,
8414
+ resource: pluralName,
8415
+ namespace,
8416
+ baseFactoriesMapping,
8417
+ baseFactoryNamespacedAPIKey,
8418
+ baseFactoryClusterSceopedAPIKey,
8419
+ baseFactoryNamespacedBuiltinKey,
8420
+ baseFactoryClusterSceopedBuiltinKey
8421
+ })}/${apiGroupVersion}/${pluralName}/${name}`;
8422
+ };
8423
+ const getNamespaceLink = ({
8424
+ baseprefix,
8425
+ cluster,
8426
+ apiGroupVersion,
8427
+ pluralName,
8428
+ namespace,
8429
+ baseNamespaceFactoryKey
8430
+ }) => {
8431
+ if (!namespace) {
8432
+ return void 0;
8433
+ }
8434
+ return `${baseprefix}/${cluster}/factory/${baseNamespaceFactoryKey}/${apiGroupVersion}/${pluralName}/${namespace}`;
8435
+ };
8436
+
8437
+ const Abbr$2 = styled.span`
8438
+ background-color: ${({ $bgColor }) => $bgColor};
8439
+ border-radius: 13px;
8440
+ padding: 1px 5px;
8441
+ font-size: 13px;
8442
+ height: min-content;
8443
+ margin-right: 4px;
8444
+ `;
8445
+ const Styled$y = {
8446
+ Abbr: Abbr$2
8447
+ };
8448
+
8449
+ const ResourceLink = ({
8450
+ kind,
8451
+ apiVersion,
8452
+ namespace,
8453
+ name,
8454
+ forcedName,
8455
+ theme,
8456
+ baseprefix,
8457
+ cluster,
8458
+ getPlural,
8459
+ baseFactoryNamespacedAPIKey,
8460
+ baseFactoryClusterSceopedAPIKey,
8461
+ baseFactoryNamespacedBuiltinKey,
8462
+ baseFactoryClusterSceopedBuiltinKey,
8463
+ baseFactoriesMapping
8464
+ }) => {
8465
+ const navigate = reactRouterDom.useNavigate();
8466
+ const abbr = kind ? getUppercase(kind) : void 0;
8467
+ const bgColor = kind && abbr ? hslFromString(kind, theme) : "initial";
8468
+ const parsedKind = kind;
8469
+ const parsedApiVersion = apiVersion;
8470
+ const pluralName = parsedKind && parsedApiVersion ? getPlural?.(parsedKind, parsedApiVersion) : void 0;
8471
+ const resourceLink = getResourceLink({
8472
+ baseprefix,
8473
+ cluster,
8474
+ namespace,
8475
+ apiGroupVersion: parsedApiVersion,
8476
+ pluralName,
8477
+ name,
8478
+ baseFactoryNamespacedAPIKey,
8479
+ baseFactoryClusterSceopedAPIKey,
8480
+ baseFactoryNamespacedBuiltinKey,
8481
+ baseFactoryClusterSceopedBuiltinKey,
8482
+ baseFactoriesMapping
8483
+ });
8484
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
8485
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.Abbr, { $bgColor: bgColor, children: abbr }),
8486
+ resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
8487
+ antd.Typography.Link,
8488
+ {
8489
+ onClick: (e) => {
8490
+ e.preventDefault();
8491
+ navigate(resourceLink);
8492
+ },
8493
+ children: forcedName || name
8494
+ }
8495
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { children: forcedName || name })
8496
+ ] });
8497
+ };
8498
+
8499
+ const PositionRelativeContainer = styled.div`
8500
+ position: relative;
8501
+ `;
8502
+ const FullWidthContainer = styled.div`
8503
+ width: 100%;
8504
+
8505
+ .ant-dropdown-trigger svg {
8506
+ display: none;
8507
+ }
8508
+ `;
8509
+ const NoWrapContainer = styled.div`
8510
+ position: absolute;
8511
+ visibility: hidden;
8512
+ pointer-events: none;
8513
+
8514
+ /* stylelint-disable declaration-no-important */
8515
+
8516
+ * {
8517
+ white-space: nowrap !important;
8518
+ }
8519
+
8520
+ ol {
8521
+ flex-wrap: nowrap !important;
8522
+ }
8523
+ `;
8524
+ const Styled$x = {
8525
+ PositionRelativeContainer,
8526
+ FullWidthContainer,
8527
+ NoWrapContainer
8528
+ };
8529
+
8530
+ const CollapsibleBreadcrumb = ({ items }) => {
8531
+ const [isCollapsed, setIsCollapsed] = K.useState(false);
8532
+ const containerRef = K.useRef(null);
8533
+ const breadcrumbRef = K.useRef(null);
8534
+ K.useLayoutEffect(() => {
8535
+ const checkWidth = () => {
8536
+ if (containerRef.current && breadcrumbRef.current) {
8537
+ const containerWidth = containerRef.current.clientWidth;
8538
+ const breadcrumbWidth = breadcrumbRef.current.scrollWidth;
8539
+ setIsCollapsed(breadcrumbWidth > containerWidth);
8540
+ }
8541
+ };
8542
+ checkWidth();
8543
+ window.addEventListener("resize", checkWidth);
8544
+ return () => window.removeEventListener("resize", checkWidth);
8545
+ }, [items]);
8546
+ const renderItems = () => {
8547
+ if (!isCollapsed) {
8548
+ return items;
8549
+ }
8550
+ if (items.length <= 2) {
8551
+ return items;
8552
+ }
8553
+ const firstItem = items[0];
8554
+ const lastItem = items[items.length - 1];
8555
+ const hiddenItems = items.slice(1, -1);
8556
+ const menuItems = hiddenItems.map((item, index) => ({
8557
+ key: String(index),
8558
+ label: item.href ? /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: item.href, children: item.title }) : item.title
8559
+ }));
8560
+ const ellipsisItem = {
8561
+ title: "...",
8562
+ menu: { items: menuItems },
8563
+ dropdownProps: { arrow: false }
8564
+ };
8565
+ return [firstItem, ellipsisItem, lastItem];
8566
+ };
8567
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$x.PositionRelativeContainer, { children: [
8568
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
8569
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
8570
+ ] });
8571
+ };
8572
+
8573
+ const HeightDiv$1 = styled.div`
8574
+ min-height: 22px;
8575
+ width: 100%;
8576
+ `;
8577
+ const Styled$w = {
8578
+ HeightDiv: HeightDiv$1
8579
+ };
8580
+
8581
+ const ManageableBreadcrumbs = ({ data }) => {
8582
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$w.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
8583
+ };
8584
+
8318
8585
  const getDirectUnknownResource = async ({ uri }) => {
8319
8586
  return axios.get(uri);
8320
8587
  };
@@ -9053,80 +9320,6 @@
9053
9320
  return result;
9054
9321
  };
9055
9322
 
9056
- const PositionRelativeContainer = styled.div`
9057
- position: relative;
9058
- `;
9059
- const FullWidthContainer = styled.div`
9060
- width: 100%;
9061
-
9062
- .ant-dropdown-trigger svg {
9063
- display: none;
9064
- }
9065
- `;
9066
- const NoWrapContainer = styled.div`
9067
- position: absolute;
9068
- visibility: hidden;
9069
- pointer-events: none;
9070
-
9071
- /* stylelint-disable declaration-no-important */
9072
-
9073
- * {
9074
- white-space: nowrap !important;
9075
- }
9076
-
9077
- ol {
9078
- flex-wrap: nowrap !important;
9079
- }
9080
- `;
9081
- const Styled$w = {
9082
- PositionRelativeContainer,
9083
- FullWidthContainer,
9084
- NoWrapContainer
9085
- };
9086
-
9087
- const CollapsibleBreadcrumb = ({ items }) => {
9088
- const [isCollapsed, setIsCollapsed] = K.useState(false);
9089
- const containerRef = K.useRef(null);
9090
- const breadcrumbRef = K.useRef(null);
9091
- K.useLayoutEffect(() => {
9092
- const checkWidth = () => {
9093
- if (containerRef.current && breadcrumbRef.current) {
9094
- const containerWidth = containerRef.current.clientWidth;
9095
- const breadcrumbWidth = breadcrumbRef.current.scrollWidth;
9096
- setIsCollapsed(breadcrumbWidth > containerWidth);
9097
- }
9098
- };
9099
- checkWidth();
9100
- window.addEventListener("resize", checkWidth);
9101
- return () => window.removeEventListener("resize", checkWidth);
9102
- }, [items]);
9103
- const renderItems = () => {
9104
- if (!isCollapsed) {
9105
- return items;
9106
- }
9107
- if (items.length <= 2) {
9108
- return items;
9109
- }
9110
- const firstItem = items[0];
9111
- const lastItem = items[items.length - 1];
9112
- const hiddenItems = items.slice(1, -1);
9113
- const menuItems = hiddenItems.map((item, index) => ({
9114
- key: String(index),
9115
- label: item.href ? /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: item.href, children: item.title }) : item.title
9116
- }));
9117
- const ellipsisItem = {
9118
- title: "...",
9119
- menu: { items: menuItems },
9120
- dropdownProps: { arrow: false }
9121
- };
9122
- return [firstItem, ellipsisItem, lastItem];
9123
- };
9124
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$w.PositionRelativeContainer, { children: [
9125
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$w.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
9126
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$w.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
9127
- ] });
9128
- };
9129
-
9130
9323
  const HeightDiv = styled.div`
9131
9324
  min-height: 22px;
9132
9325
  width: 100%;
@@ -9135,10 +9328,7 @@
9135
9328
  HeightDiv
9136
9329
  };
9137
9330
 
9138
- const ManageableBreadcrumbs = ({ data }) => {
9139
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
9140
- };
9141
- const ManageableBreadcrumbsWithDataProvider = ({
9331
+ const ManageableBreadcrumbsProvider = ({
9142
9332
  cluster,
9143
9333
  apiGroup,
9144
9334
  apiVersion,
@@ -9183,6 +9373,73 @@
9183
9373
  return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result });
9184
9374
  };
9185
9375
 
9376
+ const CustomMenu = styled(antd.Menu)`
9377
+ margin-top: ${({ $noMarginTop }) => $noMarginTop ? "0" : "16px"};
9378
+ font-size: 14px;
9379
+ line-height: 24px;
9380
+ border: 0;
9381
+ /* stylelint-disable declaration-no-important */
9382
+ border-inline-end: 0 !important;
9383
+ /* stylelint-enable declaration-no-important */
9384
+
9385
+ .ant-menu-submenu-expand-icon {
9386
+ width: 16px;
9387
+ }
9388
+
9389
+ && .ant-menu-item-only-child {
9390
+ /* stylelint-disable declaration-no-important */
9391
+
9392
+ /* padding-left: 24px !important; */
9393
+ }
9394
+
9395
+ && .ant-menu-sub .ant-menu-item {
9396
+ margin: 0 !important;
9397
+ }
9398
+ `;
9399
+ const Styled$u = {
9400
+ CustomMenu
9401
+ };
9402
+
9403
+ const ManageableSidebar = ({ data, noMarginTop }) => {
9404
+ const [selectedKeys, setSelectedKeys] = K.useState([]);
9405
+ const [openKeys, setOpenKeys] = K.useState(() => {
9406
+ try {
9407
+ const saved = localStorage.getItem("menuOpenKeys");
9408
+ return saved ? JSON.parse(saved) : [];
9409
+ } catch (error) {
9410
+ console.error("Failed to parse stored menu keys", error);
9411
+ return [];
9412
+ }
9413
+ });
9414
+ const handleOpenChange = (keys) => {
9415
+ setOpenKeys(keys);
9416
+ try {
9417
+ localStorage.setItem("menuOpenKeys", JSON.stringify(keys));
9418
+ } catch (error) {
9419
+ console.error("Failed to save menu keys to localStorage", error);
9420
+ }
9421
+ };
9422
+ K.useEffect(() => {
9423
+ setSelectedKeys(data.selectedKeys);
9424
+ }, [data.selectedKeys]);
9425
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
9426
+ Styled$u.CustomMenu,
9427
+ {
9428
+ selectedKeys,
9429
+ onSelect: () => {
9430
+ },
9431
+ onDeselect: () => {
9432
+ },
9433
+ defaultOpenKeys: data.selectedKeys,
9434
+ openKeys,
9435
+ onOpenChange: handleOpenChange,
9436
+ mode: "inline",
9437
+ items: data.menuItems,
9438
+ $noMarginTop: noMarginTop
9439
+ }
9440
+ );
9441
+ };
9442
+
9186
9443
  const getLabel = ({
9187
9444
  preparedLink,
9188
9445
  label,
@@ -9277,73 +9534,7 @@
9277
9534
  return { ...result, selectedKeys: stringedOpenedKeys };
9278
9535
  };
9279
9536
 
9280
- const CustomMenu = styled(antd.Menu)`
9281
- margin-top: ${({ $noMarginTop }) => $noMarginTop ? "0" : "16px"};
9282
- font-size: 14px;
9283
- line-height: 24px;
9284
- border: 0;
9285
- /* stylelint-disable declaration-no-important */
9286
- border-inline-end: 0 !important;
9287
- /* stylelint-enable declaration-no-important */
9288
-
9289
- .ant-menu-submenu-expand-icon {
9290
- width: 16px;
9291
- }
9292
-
9293
- && .ant-menu-item-only-child {
9294
- /* stylelint-disable declaration-no-important */
9295
-
9296
- /* padding-left: 24px !important; */
9297
- }
9298
-
9299
- && .ant-menu-sub .ant-menu-item {
9300
- margin: 0 !important;
9301
- }
9302
- `;
9303
- const Styled$u = {
9304
- CustomMenu
9305
- };
9306
-
9307
- const ManageableSidebar = ({ data, noMarginTop }) => {
9308
- const [selectedKeys, setSelectedKeys] = K.useState([]);
9309
- const [openKeys, setOpenKeys] = K.useState(() => {
9310
- try {
9311
- const saved = localStorage.getItem("menuOpenKeys");
9312
- return saved ? JSON.parse(saved) : [];
9313
- } catch (error) {
9314
- console.error("Failed to parse stored menu keys", error);
9315
- return [];
9316
- }
9317
- });
9318
- const handleOpenChange = (keys) => {
9319
- setOpenKeys(keys);
9320
- try {
9321
- localStorage.setItem("menuOpenKeys", JSON.stringify(keys));
9322
- } catch (error) {
9323
- console.error("Failed to save menu keys to localStorage", error);
9324
- }
9325
- };
9326
- K.useEffect(() => {
9327
- setSelectedKeys(data.selectedKeys);
9328
- }, [data.selectedKeys]);
9329
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
9330
- Styled$u.CustomMenu,
9331
- {
9332
- selectedKeys,
9333
- onSelect: () => {
9334
- },
9335
- onDeselect: () => {
9336
- },
9337
- defaultOpenKeys: data.selectedKeys,
9338
- openKeys,
9339
- onOpenChange: handleOpenChange,
9340
- mode: "inline",
9341
- items: data.menuItems,
9342
- $noMarginTop: noMarginTop
9343
- }
9344
- );
9345
- };
9346
- const ManageableSidebarWithDataProvider = ({
9537
+ const ManageableSidebarProvider = ({
9347
9538
  cluster,
9348
9539
  apiGroup,
9349
9540
  apiVersion,
@@ -34157,7 +34348,7 @@
34157
34348
  acc[index.toString()] = value;
34158
34349
  return acc;
34159
34350
  }, {});
34160
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableSidebarWithDataProvider, { replaceValues, ...props });
34351
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableSidebarProvider, { replaceValues, ...props });
34161
34352
  };
34162
34353
 
34163
34354
  const checkPermission = async ({
@@ -35207,11 +35398,7 @@
35207
35398
  p === void 0 ? void 0 : Array.isArray(p) ? p : [p]
35208
35399
  );
35209
35400
 
35210
- const HiddenContainer = ({
35211
- name,
35212
- secondName,
35213
- children
35214
- }) => {
35401
+ const HiddenContainer = ({ name, secondName, children }) => {
35215
35402
  const hiddenPaths = useHiddenPathsLayout();
35216
35403
  const nameArr = toArray(name);
35217
35404
  const secondArr = toArray(secondName);
@@ -37726,30 +37913,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
37726
37913
  ] });
37727
37914
  };
37728
37915
 
37729
- const fnv1a32 = (str) => {
37730
- let h = 2166136261;
37731
- for (const ch of str) {
37732
- h ^= ch.codePointAt(0);
37733
- h = (h >>> 0) * 16777619;
37734
- }
37735
- return h >>> 0;
37736
- };
37737
- const pickInRange = (u32, min, max) => min + u32 % (max - min + 1);
37738
- const hslFromString = (value, theme) => {
37739
- const hash = fnv1a32(value);
37740
- const hue = hash % 345;
37741
- const [sMin, sMax] = theme === "light" ? [90, 100] : [78, 80];
37742
- const [lMin, lMax] = theme === "light" ? [78, 80] : [25, 35];
37743
- const s = pickInRange(hash >>> 8, sMin, sMax);
37744
- const l = pickInRange(hash >>> 16, lMin, lMax);
37745
- return `hsl(${hue}, ${s}%, ${l}%)`;
37746
- };
37747
-
37748
- const getUppercase = (s) => {
37749
- const uppercases = [...s].filter((c) => c >= "A" && c <= "Z").join("");
37750
- return uppercases.length > 0 ? uppercases : s[0].toUpperCase();
37751
- };
37752
-
37753
37916
  const RoundSpan = styled.span`
37754
37917
  background-color: ${({ $bgColor }) => $bgColor || "none"};
37755
37918
  border-radius: 13px;
@@ -37839,6 +38002,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
37839
38002
  baseFactoryNamespacedBuiltinKey,
37840
38003
  baseFactoryClusterSceopedBuiltinKey,
37841
38004
  baseNamespaceFactoryKey,
38005
+ baseNavigationPluralName,
38006
+ baseNavigationSpecificName,
37842
38007
  ...props
37843
38008
  } = data;
37844
38009
  const theme = useTheme();
@@ -37903,6 +38068,336 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
37903
38068
  baseFactoryNamespacedBuiltinKey,
37904
38069
  baseFactoryClusterSceopedBuiltinKey,
37905
38070
  baseNamespaceFactoryKey,
38071
+ baseNavigationPluralName,
38072
+ baseNavigationSpecificName,
38073
+ ...props
38074
+ }
38075
+ ),
38076
+ children
38077
+ ] });
38078
+ };
38079
+
38080
+ const getKinds = async ({ clusterName }) => {
38081
+ const result = await axios.get(`/api/clusters/${clusterName}/openapi-bff/search/kinds/getKinds`);
38082
+ return result.data;
38083
+ };
38084
+
38085
+ const parseK8sVersion$1 = (raw) => {
38086
+ const m = /^v(?<major>\d+)(?:(?<stage>alpha|beta)(?<stageNum>\d+)?)?$/i.exec(raw ?? "");
38087
+ if (!m?.groups) return { rank: 0, major: -1, stageNum: -1 };
38088
+ const stage = (m.groups.stage ?? "").toLowerCase();
38089
+ const major = Number(m.groups.major);
38090
+ const stageNum = m.groups.stageNum ? Number(m.groups.stageNum) : 0;
38091
+ const rank = stage === "" ? 3 : stage === "beta" ? 2 : 1;
38092
+ return { rank, major, stageNum };
38093
+ };
38094
+ const versionToken$1 = (e) => e.version || (e.groupVersion?.split("/").pop() ?? "");
38095
+ const compareK8sVersionDesc$1 = (a, b) => {
38096
+ const pa = parseK8sVersion$1(versionToken$1(a));
38097
+ const pb = parseK8sVersion$1(versionToken$1(b));
38098
+ return pb.rank - pa.rank || pb.major - pa.major || pb.stageNum - pa.stageNum;
38099
+ };
38100
+ const orderVersions = (versions) => {
38101
+ const preferredIdx = versions.findIndex((v) => v.preferred === true);
38102
+ if (preferredIdx >= 0) {
38103
+ const preferred = versions[preferredIdx];
38104
+ const rest = versions.filter((_, i) => i !== preferredIdx).slice().sort(compareK8sVersionDesc$1);
38105
+ return [preferred, ...rest];
38106
+ }
38107
+ return versions.slice().sort(compareK8sVersionDesc$1);
38108
+ };
38109
+ const getSortedKindsAll = (index) => {
38110
+ const counts = index.items.reduce(
38111
+ (acc, item) => ({ ...acc, [item.kind]: (acc[item.kind] ?? 0) + 1 }),
38112
+ {}
38113
+ );
38114
+ const rows = index.items.flatMap((item) => {
38115
+ const ordered = orderVersions(item.versions);
38116
+ return ordered.map((v) => ({
38117
+ group: item.group,
38118
+ kind: item.kind,
38119
+ // clone to drop Readonly<> without changing fields (incl. preferred)
38120
+ version: { ...v },
38121
+ ...counts[item.kind] > 1 ? { notUnique: true } : {}
38122
+ }));
38123
+ });
38124
+ return rows.sort(
38125
+ (a, b) => a.kind.localeCompare(b.kind, void 0, { sensitivity: "base" }) || a.group.localeCompare(b.group, void 0, { sensitivity: "base" })
38126
+ );
38127
+ };
38128
+
38129
+ const parseApiVersion = (apiVersion) => {
38130
+ const parts = apiVersion.trim().split("/");
38131
+ return parts.length === 1 ? { group: "", version: parts[0] } : { group: parts[0], version: parts[1] };
38132
+ };
38133
+ const pluralByKind = (entries) => (kind, apiVersion) => {
38134
+ const norm = (s) => s.trim();
38135
+ const kindNorm = norm(kind);
38136
+ const gv = apiVersion ? parseApiVersion(apiVersion) : void 0;
38137
+ const candidates = entries.filter((e) => norm(e.kind) === kindNorm);
38138
+ if (candidates.length === 0) return void 0;
38139
+ const filtered = gv ? candidates.filter((e) => norm(e.group) === norm(gv.group) && e.version.version === gv.version) : candidates;
38140
+ if (filtered.length === 0) return void 0;
38141
+ const preferredFirst = gv ? filtered : [...filtered.filter((e) => e.version.preferred), ...filtered.filter((e) => !e.version.preferred)];
38142
+ const resources = preferredFirst.map((e) => e.version.resource).filter(Boolean);
38143
+ const uniq = Array.from(new Set(resources));
38144
+ if (!gv && uniq.length > 1) {
38145
+ const first = preferredFirst[0]?.version.resource;
38146
+ return first ?? void 0;
38147
+ }
38148
+ return uniq.length === 1 ? uniq[0] : void 0;
38149
+ };
38150
+
38151
+ const findOwnerReferencePath = (rawObject, jsonPathToArrayOfRefs, reference) => {
38152
+ if (!rawObject || !jsonPathToArrayOfRefs) return void 0;
38153
+ let arrayJsonPath = jsonPathToArrayOfRefs.trim();
38154
+ if (arrayJsonPath.startsWith(".")) {
38155
+ arrayJsonPath = `$${arrayJsonPath}`;
38156
+ }
38157
+ if (!arrayJsonPath.startsWith("$")) {
38158
+ arrayJsonPath = `$${arrayJsonPath}`;
38159
+ }
38160
+ arrayJsonPath = arrayJsonPath.replace(/\[\*\]$/, "");
38161
+ const nodes = jp.nodes(rawObject, arrayJsonPath);
38162
+ if (!nodes.length) return void 0;
38163
+ const arrayNode = nodes[0];
38164
+ const arr = arrayNode.value;
38165
+ if (!Array.isArray(arr)) return void 0;
38166
+ const index = arr.findIndex((item) => {
38167
+ if (!item) return false;
38168
+ return item.name === reference.name && item.kind === reference.kind && item.apiVersion === reference.apiVersion;
38169
+ });
38170
+ if (index === -1) return void 0;
38171
+ const basePathSegs = arrayNode.path.slice(1);
38172
+ return [...basePathSegs, index];
38173
+ };
38174
+ const parseDotPath$1 = (dotPath) => dotPath.split(".").filter(Boolean).map((seg) => seg.match(/^\d+$/) ? Number(seg) : seg);
38175
+ const resolveFormPath$1 = (pathInput, basePathForRelative) => {
38176
+ if (!pathInput) return [];
38177
+ if (Array.isArray(pathInput)) return pathInput;
38178
+ const pathStr = String(pathInput);
38179
+ const isRelative = pathStr.startsWith("./") || pathStr.startsWith("../");
38180
+ if (!isRelative) {
38181
+ return parseDotPath$1(pathStr);
38182
+ }
38183
+ let resolved = [...basePathForRelative];
38184
+ const parts = pathStr.split("/").filter(Boolean);
38185
+ for (const part of parts) {
38186
+ if (part === ".") {
38187
+ continue;
38188
+ }
38189
+ if (part === "..") {
38190
+ resolved = resolved.slice(0, -1);
38191
+ continue;
38192
+ }
38193
+ resolved.push(...parseDotPath$1(part));
38194
+ }
38195
+ return resolved;
38196
+ };
38197
+
38198
+ const RefElement = ({
38199
+ reference,
38200
+ keysToForcedLabel,
38201
+ forcedRelatedValuePath,
38202
+ rawObjectToFindLabel,
38203
+ jsonPathToArrayOfRefs,
38204
+ theme,
38205
+ baseprefix,
38206
+ cluster,
38207
+ getPlural,
38208
+ baseFactoryNamespacedAPIKey,
38209
+ baseFactoryClusterSceopedAPIKey,
38210
+ baseFactoryNamespacedBuiltinKey,
38211
+ baseFactoryClusterSceopedBuiltinKey,
38212
+ baseFactoriesMapping
38213
+ }) => {
38214
+ let forcedName;
38215
+ if (keysToForcedLabel && rawObjectToFindLabel) {
38216
+ forcedName = Array.isArray(keysToForcedLabel) ? _$1.get(rawObjectToFindLabel, keysToForcedLabel) : jp.query(rawObjectToFindLabel, `$${keysToForcedLabel}`)[0];
38217
+ }
38218
+ if (forcedRelatedValuePath && rawObjectToFindLabel) {
38219
+ try {
38220
+ const ownerRefPathSegs = findOwnerReferencePath(
38221
+ rawObjectToFindLabel,
38222
+ jsonPathToArrayOfRefs,
38223
+ // ".spec.customRef"
38224
+ reference
38225
+ );
38226
+ const relatedPath = forcedRelatedValuePath && ownerRefPathSegs ? resolveFormPath$1(forcedRelatedValuePath, ownerRefPathSegs) : void 0;
38227
+ if (relatedPath) {
38228
+ forcedName = _$1.get(rawObjectToFindLabel, relatedPath);
38229
+ }
38230
+ } catch {
38231
+ }
38232
+ }
38233
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
38234
+ ResourceLink,
38235
+ {
38236
+ kind: reference.kind,
38237
+ apiVersion: reference.apiVersion,
38238
+ namespace: reference.namespace,
38239
+ forcedName,
38240
+ name: reference.name,
38241
+ theme,
38242
+ baseprefix,
38243
+ cluster,
38244
+ getPlural,
38245
+ baseFactoryNamespacedAPIKey,
38246
+ baseFactoryClusterSceopedAPIKey,
38247
+ baseFactoryNamespacedBuiltinKey,
38248
+ baseFactoryClusterSceopedBuiltinKey,
38249
+ baseFactoriesMapping
38250
+ }
38251
+ );
38252
+ };
38253
+
38254
+ const RefsList = ({
38255
+ theme,
38256
+ baseprefix,
38257
+ cluster,
38258
+ refsArr,
38259
+ keysToForcedLabel,
38260
+ forcedRelatedValuePath,
38261
+ rawObjectToFindLabel,
38262
+ jsonPathToArrayOfRefs,
38263
+ baseFactoryNamespacedAPIKey,
38264
+ baseFactoryClusterSceopedAPIKey,
38265
+ baseFactoryNamespacedBuiltinKey,
38266
+ baseFactoryClusterSceopedBuiltinKey,
38267
+ baseNavigationPluralName,
38268
+ baseNavigationSpecificName,
38269
+ listFlexProps
38270
+ }) => {
38271
+ const [kindIndex, setKindIndex] = K.useState();
38272
+ const [kindsWithVersion, setKindWithVersion] = K.useState();
38273
+ K.useEffect(() => {
38274
+ getKinds({ clusterName: cluster }).then((data) => {
38275
+ setKindIndex(data);
38276
+ setKindWithVersion(getSortedKindsAll(data));
38277
+ }).catch((error) => {
38278
+ console.error(error);
38279
+ });
38280
+ }, [cluster]);
38281
+ const { data: navigationDataArr } = useK8sSmartResource({
38282
+ cluster,
38283
+ group: "front.in-cloud.io",
38284
+ version: "v1alpha1",
38285
+ plural: baseNavigationPluralName,
38286
+ fieldSelector: `metadata.name=${baseNavigationSpecificName}`
38287
+ });
38288
+ const getPlural = kindsWithVersion ? pluralByKind(kindsWithVersion) : void 0;
38289
+ const baseFactoriesMapping = navigationDataArr && navigationDataArr.items && navigationDataArr.items.length > 0 ? navigationDataArr.items[0].spec?.baseFactoriesMapping : void 0;
38290
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Flex, { vertical: true, gap: 8, ...listFlexProps, children: refsArr.map((ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
38291
+ RefElement,
38292
+ {
38293
+ reference: ref,
38294
+ keysToForcedLabel,
38295
+ forcedRelatedValuePath,
38296
+ rawObjectToFindLabel,
38297
+ jsonPathToArrayOfRefs,
38298
+ theme,
38299
+ baseprefix,
38300
+ cluster,
38301
+ getPlural,
38302
+ baseFactoryNamespacedAPIKey,
38303
+ baseFactoryClusterSceopedAPIKey,
38304
+ baseFactoryNamespacedBuiltinKey,
38305
+ baseFactoryClusterSceopedBuiltinKey,
38306
+ baseFactoriesMapping
38307
+ },
38308
+ JSON.stringify(ref)
38309
+ )) });
38310
+ };
38311
+
38312
+ const isOwnerReference = (value) => {
38313
+ if (!value || typeof value !== "object") {
38314
+ return false;
38315
+ }
38316
+ if (value === null) {
38317
+ return false;
38318
+ }
38319
+ if (!("apiVersion" in value) || typeof value.apiVersion !== "string" || !("kind" in value) || typeof value.kind !== "string" || !("name" in value) || typeof value.name !== "string") {
38320
+ return false;
38321
+ }
38322
+ return true;
38323
+ };
38324
+
38325
+ const OwnerRefs = ({
38326
+ data,
38327
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38328
+ children
38329
+ }) => {
38330
+ const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery();
38331
+ const {
38332
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38333
+ id,
38334
+ baseprefix,
38335
+ clusterNamePartOfUrl,
38336
+ reqIndex,
38337
+ errorText,
38338
+ notArrayErrorText,
38339
+ emptyArrayErrorText,
38340
+ isNotRefsArrayErrorText,
38341
+ containerStyle,
38342
+ listFlexProps,
38343
+ keysToForcedLabel,
38344
+ forcedRelatedValuePath,
38345
+ jsonPathToArrayOfRefs,
38346
+ baseFactoryNamespacedAPIKey,
38347
+ baseFactoryClusterSceopedAPIKey,
38348
+ baseFactoryNamespacedBuiltinKey,
38349
+ baseFactoryClusterSceopedBuiltinKey,
38350
+ baseNavigationPluralName,
38351
+ baseNavigationSpecificName,
38352
+ ...props
38353
+ } = data;
38354
+ const theme = useTheme();
38355
+ const partsOfUrl = usePartsOfUrl();
38356
+ const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
38357
+ acc[index.toString()] = value;
38358
+ return acc;
38359
+ }, {});
38360
+ const clusterName = prepareTemplate({
38361
+ template: clusterNamePartOfUrl,
38362
+ replaceValues
38363
+ });
38364
+ const jsonRoot = multiQueryData[`req${reqIndex}`];
38365
+ if (jsonRoot === void 0) {
38366
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: containerStyle, children: errorText });
38367
+ }
38368
+ const refsArr = jp.query(jsonRoot, `$${jsonPathToArrayOfRefs}`)[0];
38369
+ if (!Array.isArray(refsArr)) {
38370
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: containerStyle, children: notArrayErrorText });
38371
+ }
38372
+ if (refsArr.length === 0) {
38373
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: containerStyle, children: emptyArrayErrorText });
38374
+ }
38375
+ if (refsArr.some((el) => !isOwnerReference(el))) {
38376
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: containerStyle, children: isNotRefsArrayErrorText });
38377
+ }
38378
+ const guardedRefsArr = refsArr;
38379
+ if (isMultiqueryLoading) {
38380
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
38381
+ }
38382
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
38383
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
38384
+ RefsList,
38385
+ {
38386
+ theme,
38387
+ baseprefix,
38388
+ cluster: clusterName,
38389
+ refsArr: guardedRefsArr,
38390
+ keysToForcedLabel,
38391
+ forcedRelatedValuePath,
38392
+ jsonPathToArrayOfRefs,
38393
+ rawObjectToFindLabel: jsonRoot,
38394
+ baseFactoryNamespacedAPIKey,
38395
+ baseFactoryClusterSceopedAPIKey,
38396
+ baseFactoryNamespacedBuiltinKey,
38397
+ baseFactoryClusterSceopedBuiltinKey,
38398
+ baseNavigationPluralName,
38399
+ baseNavigationSpecificName,
38400
+ listFlexProps,
37906
38401
  ...props
37907
38402
  }
37908
38403
  ),
@@ -37946,7 +38441,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
37946
38441
  ConverterBytes,
37947
38442
  SecretBase64Plain,
37948
38443
  ResourceBadge,
37949
- Events: Events$1
38444
+ Events: Events$1,
38445
+ OwnerRefs
37950
38446
  };
37951
38447
 
37952
38448
  const prepareUrlsToFetchForDynamicRenderer = ({
@@ -38614,6 +39110,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
38614
39110
  setIsError(void 0);
38615
39111
  setIsLoading(true);
38616
39112
  const payload = {
39113
+ clusterName: cluster,
38617
39114
  customizationId,
38618
39115
  tableMappingsReplaceValues,
38619
39116
  forceDefaultAdditionalPrinterColumns,
@@ -50113,7 +50610,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50113
50610
  ] });
50114
50611
  };
50115
50612
 
50116
- const BlackholeFormDataProvider = ({
50613
+ const BlackholeFormProvider = ({
50117
50614
  theme,
50118
50615
  cluster,
50119
50616
  urlParams,
@@ -52377,77 +52874,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52377
52874
  );
52378
52875
  };
52379
52876
 
52380
- const getKinds = async ({ clusterName }) => {
52381
- const result = await axios.get(`/api/clusters/${clusterName}/openapi-bff/search/kinds/getKinds`);
52382
- return result.data;
52383
- };
52384
-
52385
- const parseK8sVersion$1 = (raw) => {
52386
- const m = /^v(?<major>\d+)(?:(?<stage>alpha|beta)(?<stageNum>\d+)?)?$/i.exec(raw ?? "");
52387
- if (!m?.groups) return { rank: 0, major: -1, stageNum: -1 };
52388
- const stage = (m.groups.stage ?? "").toLowerCase();
52389
- const major = Number(m.groups.major);
52390
- const stageNum = m.groups.stageNum ? Number(m.groups.stageNum) : 0;
52391
- const rank = stage === "" ? 3 : stage === "beta" ? 2 : 1;
52392
- return { rank, major, stageNum };
52393
- };
52394
- const versionToken$1 = (e) => e.version || (e.groupVersion?.split("/").pop() ?? "");
52395
- const compareK8sVersionDesc$1 = (a, b) => {
52396
- const pa = parseK8sVersion$1(versionToken$1(a));
52397
- const pb = parseK8sVersion$1(versionToken$1(b));
52398
- return pb.rank - pa.rank || pb.major - pa.major || pb.stageNum - pa.stageNum;
52399
- };
52400
- const orderVersions = (versions) => {
52401
- const preferredIdx = versions.findIndex((v) => v.preferred === true);
52402
- if (preferredIdx >= 0) {
52403
- const preferred = versions[preferredIdx];
52404
- const rest = versions.filter((_, i) => i !== preferredIdx).slice().sort(compareK8sVersionDesc$1);
52405
- return [preferred, ...rest];
52406
- }
52407
- return versions.slice().sort(compareK8sVersionDesc$1);
52408
- };
52409
- const getSortedKindsAll = (index) => {
52410
- const counts = index.items.reduce(
52411
- (acc, item) => ({ ...acc, [item.kind]: (acc[item.kind] ?? 0) + 1 }),
52412
- {}
52413
- );
52414
- const rows = index.items.flatMap((item) => {
52415
- const ordered = orderVersions(item.versions);
52416
- return ordered.map((v) => ({
52417
- group: item.group,
52418
- kind: item.kind,
52419
- // clone to drop Readonly<> without changing fields (incl. preferred)
52420
- version: { ...v },
52421
- ...counts[item.kind] > 1 ? { notUnique: true } : {}
52422
- }));
52423
- });
52424
- return rows.sort(
52425
- (a, b) => a.kind.localeCompare(b.kind, void 0, { sensitivity: "base" }) || a.group.localeCompare(b.group, void 0, { sensitivity: "base" })
52426
- );
52427
- };
52428
-
52429
- const parseApiVersion = (apiVersion) => {
52430
- const parts = apiVersion.trim().split("/");
52431
- return parts.length === 1 ? { group: "", version: parts[0] } : { group: parts[0], version: parts[1] };
52432
- };
52433
- const pluralByKind = (entries) => (kind, apiVersion) => {
52434
- const norm = (s) => s.trim();
52435
- const kindNorm = norm(kind);
52436
- const gv = apiVersion ? parseApiVersion(apiVersion) : void 0;
52437
- const candidates = entries.filter((e) => norm(e.kind) === kindNorm);
52438
- if (candidates.length === 0) return void 0;
52439
- const filtered = gv ? candidates.filter((e) => norm(e.group) === norm(gv.group) && e.version.version === gv.version) : candidates;
52440
- if (filtered.length === 0) return void 0;
52441
- const preferredFirst = gv ? filtered : [...filtered.filter((e) => e.version.preferred), ...filtered.filter((e) => !e.version.preferred)];
52442
- const resources = preferredFirst.map((e) => e.version.resource).filter(Boolean);
52443
- const uniq = Array.from(new Set(resources));
52444
- if (!gv && uniq.length > 1) {
52445
- const first = preferredFirst[0]?.version.resource;
52446
- return first ?? void 0;
52447
- }
52448
- return uniq.length === 1 ? uniq[0] : void 0;
52449
- };
52450
-
52451
52877
  const eventKey = (e) => {
52452
52878
  const n = e.metadata?.name ?? "";
52453
52879
  const ns = e.metadata?.namespace ?? "";
@@ -52517,39 +52943,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52517
52943
  }
52518
52944
  return new Date(iso).toLocaleString();
52519
52945
  };
52520
- const getResourceLink = ({
52521
- baseprefix,
52522
- cluster,
52523
- namespace,
52524
- apiGroupVersion,
52525
- pluralName,
52526
- name,
52527
- baseFactoryNamespacedAPIKey,
52528
- baseFactoryClusterSceopedAPIKey,
52529
- baseFactoryNamespacedBuiltinKey,
52530
- baseFactoryClusterSceopedBuiltinKey
52531
- }) => {
52532
- if (!pluralName || !name) {
52533
- return void 0;
52534
- }
52535
- if (apiGroupVersion === "v1") {
52536
- return `${baseprefix}/${cluster}${namespace ? `/${namespace}` : ""}/factory/${namespace ? baseFactoryNamespacedBuiltinKey : baseFactoryClusterSceopedBuiltinKey}/${apiGroupVersion}/${pluralName}/${name}`;
52537
- }
52538
- return `${baseprefix}/${cluster}${namespace ? `/${namespace}` : ""}/factory/${namespace ? baseFactoryNamespacedAPIKey : baseFactoryClusterSceopedAPIKey}/${apiGroupVersion}/${pluralName}/${name}`;
52539
- };
52540
- const getNamespaceLink = ({
52541
- baseprefix,
52542
- cluster,
52543
- apiGroupVersion,
52544
- pluralName,
52545
- namespace,
52546
- baseNamespaceFactoryKey
52547
- }) => {
52548
- if (!namespace) {
52549
- return void 0;
52550
- }
52551
- return `${baseprefix}/${cluster}/factory/${baseNamespaceFactoryKey}/${apiGroupVersion}/${pluralName}/${namespace}`;
52552
- };
52553
52946
  const formatEventSummary = (event) => {
52554
52947
  if (!event.deprecatedCount || !event.deprecatedFirstTimestamp) {
52555
52948
  return void 0;
@@ -52628,28 +53021,12 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52628
53021
  baseFactoryClusterSceopedAPIKey,
52629
53022
  baseFactoryNamespacedBuiltinKey,
52630
53023
  baseFactoryClusterSceopedBuiltinKey,
52631
- baseNamespaceFactoryKey
53024
+ baseNamespaceFactoryKey,
53025
+ baseFactoriesMapping
52632
53026
  }) => {
52633
53027
  const { token } = antd.theme.useToken();
52634
53028
  const navigate = reactRouterDom.useNavigate();
52635
- const abbr = e.regarding?.kind ? getUppercase(e.regarding.kind) : void 0;
52636
- const bgColor = e.regarding?.kind && abbr ? hslFromString(e.regarding?.kind, theme) : "initial";
52637
53029
  const bgColorNamespace = hslFromString("Namespace", theme);
52638
- const regardingKind = e.regarding?.kind;
52639
- const regardingApiVersion = e.regarding?.apiVersion || "v1";
52640
- const pluralName = regardingKind && regardingApiVersion ? getPlural?.(regardingKind, regardingApiVersion) : void 0;
52641
- const resourceLink = getResourceLink({
52642
- baseprefix,
52643
- cluster,
52644
- namespace: e.regarding?.namespace,
52645
- apiGroupVersion: regardingApiVersion,
52646
- pluralName,
52647
- name: e.regarding?.name,
52648
- baseFactoryNamespacedAPIKey,
52649
- baseFactoryClusterSceopedAPIKey,
52650
- baseFactoryNamespacedBuiltinKey,
52651
- baseFactoryClusterSceopedBuiltinKey
52652
- });
52653
53030
  const namespaceLink = getNamespaceLink({
52654
53031
  baseprefix,
52655
53032
  cluster,
@@ -52666,19 +53043,24 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52666
53043
  children: [
52667
53044
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", align: "center", children: [
52668
53045
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 16, children: [
52669
- /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
52670
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.Abbr, { $bgColor: bgColor, children: abbr }),
52671
- resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
52672
- antd.Typography.Link,
52673
- {
52674
- onClick: (e2) => {
52675
- e2.preventDefault();
52676
- navigate(resourceLink);
52677
- },
52678
- children: e.regarding?.name
52679
- }
52680
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { children: e.regarding?.name })
52681
- ] }),
53046
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
53047
+ ResourceLink,
53048
+ {
53049
+ kind: e.regarding?.kind,
53050
+ apiVersion: e.regarding?.apiVersion || "v1",
53051
+ namespace: e.regarding?.namespace,
53052
+ name: e.regarding?.name,
53053
+ theme,
53054
+ baseprefix,
53055
+ cluster,
53056
+ getPlural,
53057
+ baseFactoryNamespacedAPIKey,
53058
+ baseFactoryClusterSceopedAPIKey,
53059
+ baseFactoryNamespacedBuiltinKey,
53060
+ baseFactoryClusterSceopedBuiltinKey,
53061
+ baseFactoriesMapping
53062
+ }
53063
+ ),
52682
53064
  e.regarding?.namespace && /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
52683
53065
  /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$1.Abbr, { $bgColor: bgColorNamespace, children: "NS" }),
52684
53066
  namespaceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -52808,7 +53190,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52808
53190
  baseFactoryClusterSceopedAPIKey,
52809
53191
  baseFactoryNamespacedBuiltinKey,
52810
53192
  baseFactoryClusterSceopedBuiltinKey,
52811
- baseNamespaceFactoryKey
53193
+ baseNamespaceFactoryKey,
53194
+ baseNavigationPluralName,
53195
+ baseNavigationSpecificName
52812
53196
  }) => {
52813
53197
  const { token } = antd.theme.useToken();
52814
53198
  const [kindIndex, setKindIndex] = K.useState();
@@ -52821,6 +53205,13 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52821
53205
  console.error(error);
52822
53206
  });
52823
53207
  }, [cluster]);
53208
+ const { data: navigationDataArr } = useK8sSmartResource({
53209
+ cluster,
53210
+ group: "front.in-cloud.io",
53211
+ version: "v1alpha1",
53212
+ plural: baseNavigationPluralName,
53213
+ fieldSelector: `metadata.name=${baseNavigationSpecificName}`
53214
+ });
52824
53215
  const [isPaused, setIsPaused] = K.useState(false);
52825
53216
  const pausedRef = K.useRef(isPaused);
52826
53217
  K.useEffect(() => {
@@ -53033,6 +53424,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53033
53424
  }, [hasMore, sendScroll]);
53034
53425
  const total = state.order.length;
53035
53426
  const getPlural = kindsWithVersion ? pluralByKind(kindsWithVersion) : void 0;
53427
+ const baseFactoriesMapping = navigationDataArr && navigationDataArr.items && navigationDataArr.items.length > 0 ? navigationDataArr.items[0].spec?.baseFactoriesMapping : void 0;
53036
53428
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled.Root, { $substractHeight: substractHeight || 340, children: [
53037
53429
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled.Header, { children: [
53038
53430
  /* @__PURE__ */ jsxRuntimeExports.jsx(Styled.HeaderLeftSide, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "start", align: "center", gap: 10, children: [
@@ -53093,7 +53485,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53093
53485
  baseFactoryClusterSceopedAPIKey,
53094
53486
  baseFactoryNamespacedBuiltinKey,
53095
53487
  baseFactoryClusterSceopedBuiltinKey,
53096
- baseNamespaceFactoryKey
53488
+ baseNamespaceFactoryKey,
53489
+ baseFactoriesMapping
53097
53490
  },
53098
53491
  k
53099
53492
  )) : /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Empty, { description: "No events" }),
@@ -53292,6 +53685,34 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53292
53685
  }
53293
53686
  };
53294
53687
 
53688
+ const arraysEqual = (arr1, arr2) => {
53689
+ if (arr1.length !== arr2.length) {
53690
+ return false;
53691
+ }
53692
+ for (let i = 0; i < arr1.length; i++) {
53693
+ if (typeof arr2[i] === "number") {
53694
+ if (arr1[i] !== String(arr2[i])) {
53695
+ return false;
53696
+ }
53697
+ }
53698
+ if (arr1[i] !== arr2[i]) {
53699
+ return false;
53700
+ }
53701
+ }
53702
+ return true;
53703
+ };
53704
+ const includesArray = (matrix, target) => {
53705
+ if (!matrix) {
53706
+ return false;
53707
+ }
53708
+ for (const row of matrix) {
53709
+ if (arraysEqual(row, target)) {
53710
+ return true;
53711
+ }
53712
+ }
53713
+ return false;
53714
+ };
53715
+
53295
53716
  const getClusterList = async () => {
53296
53717
  return axios.get("/clusterlist");
53297
53718
  };
@@ -53728,7 +54149,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53728
54149
 
53729
54150
  exports.BackToDefaultIcon = BackToDefaultIcon;
53730
54151
  exports.BlackholeForm = BlackholeForm;
53731
- exports.BlackholeFormDataProvider = BlackholeFormDataProvider;
54152
+ exports.BlackholeFormProvider = BlackholeFormProvider;
53732
54153
  exports.ContentCard = ContentCard$1;
53733
54154
  exports.CursorDefaultDiv = CursorDefaultDiv;
53734
54155
  exports.CursorPointerTag = CursorPointerTag;
@@ -53750,9 +54171,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53750
54171
  exports.LockedIcon = LockedIcon;
53751
54172
  exports.LookingGlassIcon = LookingGlassIcon;
53752
54173
  exports.ManageableBreadcrumbs = ManageableBreadcrumbs;
53753
- exports.ManageableBreadcrumbsWithDataProvider = ManageableBreadcrumbsWithDataProvider;
54174
+ exports.ManageableBreadcrumbsProvider = ManageableBreadcrumbsProvider;
53754
54175
  exports.ManageableSidebar = ManageableSidebar;
53755
- exports.ManageableSidebarWithDataProvider = ManageableSidebarWithDataProvider;
54176
+ exports.ManageableSidebarProvider = ManageableSidebarProvider;
53756
54177
  exports.MarketPlace = MarketPlace;
53757
54178
  exports.MarketplaceCard = MarketplaceCard;
53758
54179
  exports.MinusIcon = MinusIcon;
@@ -53764,6 +54185,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53764
54185
  exports.PodLogsMonaco = PodLogsMonaco;
53765
54186
  exports.PodTerminal = PodTerminal;
53766
54187
  exports.ProjectInfoCard = ProjectInfoCard;
54188
+ exports.ResourceLink = ResourceLink;
53767
54189
  exports.ResumeCircleIcon = ResumeCircleIcon;
53768
54190
  exports.Search = Search;
53769
54191
  exports.Spacer = Spacer$1;
@@ -53790,7 +54212,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53790
54212
  exports.getApiResourceTypes = getApiResourceTypes;
53791
54213
  exports.getApiResourceTypesByApiGroup = getApiResourceTypesByApiGroup;
53792
54214
  exports.getApiResources = getApiResources;
53793
- exports.getBackLinkToTable = getBackLinkToTable;
53794
54215
  exports.getBuiltinResourceSingle = getBuiltinResourceSingle;
53795
54216
  exports.getBuiltinResourceTypes = getBuiltinResourceTypes;
53796
54217
  exports.getBuiltinResources = getBuiltinResources;
@@ -53807,8 +54228,10 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53807
54228
  exports.getLinkToApiForm = getLinkToApiForm;
53808
54229
  exports.getLinkToBuiltinForm = getLinkToBuiltinForm;
53809
54230
  exports.getLinkToForm = getLinkToForm;
54231
+ exports.getNamespaceLink = getNamespaceLink;
53810
54232
  exports.getObjectFormItemsDraft = getObjectFormItemsDraft;
53811
54233
  exports.getPrefixSubarrays = getPrefixSubarrays;
54234
+ exports.getResourceLink = getResourceLink;
53812
54235
  exports.getSortedKinds = getSortedKinds;
53813
54236
  exports.getSortedKindsAll = getSortedKindsAll;
53814
54237
  exports.getStringByName = getStringByName;
@@ -53816,6 +54239,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
53816
54239
  exports.getUppercase = getUppercase;
53817
54240
  exports.groupsToTreeData = groupsToTreeData;
53818
54241
  exports.hslFromString = hslFromString;
54242
+ exports.includesArray = includesArray;
53819
54243
  exports.isFlatObject = isFlatObject;
53820
54244
  exports.isMultilineFromYaml = isMultilineFromYaml;
53821
54245
  exports.isMultilineString = isMultilineString;