mod-arch-shared 0.1.9 → 1.0.1

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 (319) hide show
  1. package/README.md +23 -268
  2. package/dist/__tests__/unit/jest.setup.d.ts +1 -0
  3. package/dist/__tests__/unit/jest.setup.d.ts.map +1 -1
  4. package/dist/__tests__/unit/jest.setup.js +3 -46
  5. package/dist/__tests__/unit/jest.setup.js.map +1 -1
  6. package/dist/components/EditableLabelsDescriptionListGroup.d.ts +1 -0
  7. package/dist/components/EditableLabelsDescriptionListGroup.d.ts.map +1 -1
  8. package/dist/components/EditableLabelsDescriptionListGroup.js +15 -12
  9. package/dist/components/EditableLabelsDescriptionListGroup.js.map +1 -1
  10. package/dist/components/EditableTextDescriptionListGroup.d.ts +1 -0
  11. package/dist/components/EditableTextDescriptionListGroup.d.ts.map +1 -1
  12. package/dist/components/EditableTextDescriptionListGroup.js +13 -6
  13. package/dist/components/EditableTextDescriptionListGroup.js.map +1 -1
  14. package/dist/components/WhosMyAdministrator.d.ts.map +1 -1
  15. package/dist/components/WhosMyAdministrator.js +5 -2
  16. package/dist/components/WhosMyAdministrator.js.map +1 -1
  17. package/dist/components/index.d.ts +0 -5
  18. package/dist/components/index.d.ts.map +1 -1
  19. package/dist/components/index.js +0 -5
  20. package/dist/components/index.js.map +1 -1
  21. package/dist/config/transform.file.d.ts +2 -1
  22. package/dist/config/transform.file.d.ts.map +1 -1
  23. package/dist/config/transform.file.js +2 -7
  24. package/dist/config/transform.file.js.map +1 -1
  25. package/dist/config/transform.style.js +1 -0
  26. package/dist/config/transform.style.js.map +1 -1
  27. package/dist/images/index.d.ts +2 -2
  28. package/dist/images/index.d.ts.map +1 -1
  29. package/dist/images/index.js +2 -2
  30. package/dist/images/index.js.map +1 -1
  31. package/dist/images/index.ts +2 -2
  32. package/dist/images/logo-odh-dark-theme.svg +18 -0
  33. package/dist/images/logo-odh-light-theme..svg +18 -0
  34. package/dist/images/logo-odh-light-theme.svg +18 -0
  35. package/dist/images/logo-odh-logo-light-theme.svg +18 -0
  36. package/dist/index.d.ts +0 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -15
  39. package/dist/index.js.map +1 -1
  40. package/dist/jest-coverage/lcov-report/block-navigation.d.ts +2 -0
  41. package/dist/jest-coverage/lcov-report/block-navigation.d.ts.map +1 -0
  42. package/dist/jest-coverage/lcov-report/block-navigation.js +71 -0
  43. package/dist/jest-coverage/lcov-report/block-navigation.js.map +1 -0
  44. package/dist/jest-coverage/lcov-report/prettify.d.ts +1 -0
  45. package/dist/jest-coverage/lcov-report/prettify.d.ts.map +1 -0
  46. package/dist/jest-coverage/lcov-report/prettify.js +478 -0
  47. package/dist/jest-coverage/lcov-report/prettify.js.map +1 -0
  48. package/dist/jest-coverage/lcov-report/sorter.d.ts +2 -0
  49. package/dist/jest-coverage/lcov-report/sorter.d.ts.map +1 -0
  50. package/dist/jest-coverage/lcov-report/sorter.js +164 -0
  51. package/dist/jest-coverage/lcov-report/sorter.js.map +1 -0
  52. package/dist/jest.config.d.ts +1 -0
  53. package/dist/jest.config.js +3 -1
  54. package/dist/jest.config.js.map +1 -1
  55. package/dist/types/common.d.ts +0 -43
  56. package/dist/types/common.d.ts.map +1 -1
  57. package/dist/types/common.js +0 -1
  58. package/dist/types/common.js.map +1 -1
  59. package/dist/utilities/__tests__/markdown.spec.d.ts +2 -0
  60. package/dist/utilities/__tests__/markdown.spec.d.ts.map +1 -0
  61. package/dist/utilities/__tests__/markdown.spec.js +17 -0
  62. package/dist/utilities/__tests__/markdown.spec.js.map +1 -0
  63. package/dist/utilities/__tests__/string.spec.d.ts +2 -0
  64. package/dist/utilities/__tests__/string.spec.d.ts.map +1 -0
  65. package/dist/utilities/__tests__/string.spec.js +51 -0
  66. package/dist/utilities/__tests__/string.spec.js.map +1 -0
  67. package/dist/utilities/__tests__/time.spec.d.ts +2 -0
  68. package/dist/utilities/__tests__/time.spec.d.ts.map +1 -0
  69. package/dist/utilities/__tests__/time.spec.js +61 -0
  70. package/dist/utilities/__tests__/time.spec.js.map +1 -0
  71. package/dist/utilities/index.d.ts +0 -5
  72. package/dist/utilities/index.d.ts.map +1 -1
  73. package/dist/utilities/index.js +0 -5
  74. package/dist/utilities/index.js.map +1 -1
  75. package/dist/utilities/utils.d.ts +0 -23
  76. package/dist/utilities/utils.d.ts.map +1 -1
  77. package/dist/utilities/utils.js +0 -93
  78. package/dist/utilities/utils.js.map +1 -1
  79. package/package.json +28 -36
  80. package/LICENSE +0 -201
  81. package/dist/__tests__/__mocks__/mockGenericResponse.d.ts +0 -8
  82. package/dist/__tests__/__mocks__/mockGenericResponse.d.ts.map +0 -1
  83. package/dist/__tests__/__mocks__/mockGenericResponse.js +0 -6
  84. package/dist/__tests__/__mocks__/mockGenericResponse.js.map +0 -1
  85. package/dist/__tests__/__mocks__/styleMock.d.ts +0 -2
  86. package/dist/__tests__/__mocks__/styleMock.d.ts.map +0 -1
  87. package/dist/__tests__/__mocks__/styleMock.js +0 -3
  88. package/dist/__tests__/__mocks__/styleMock.js.map +0 -1
  89. package/dist/__tests__/unit/testUtils/hooks.d.ts +0 -80
  90. package/dist/__tests__/unit/testUtils/hooks.d.ts.map +0 -1
  91. package/dist/__tests__/unit/testUtils/hooks.js +0 -126
  92. package/dist/__tests__/unit/testUtils/hooks.js.map +0 -1
  93. package/dist/__tests__/unit/testUtils/hooks.spec.d.ts +0 -2
  94. package/dist/__tests__/unit/testUtils/hooks.spec.d.ts.map +0 -1
  95. package/dist/__tests__/unit/testUtils/hooks.spec.js +0 -192
  96. package/dist/__tests__/unit/testUtils/hooks.spec.js.map +0 -1
  97. package/dist/api/__tests__/errorUtils.spec.d.ts +0 -2
  98. package/dist/api/__tests__/errorUtils.spec.d.ts.map +0 -1
  99. package/dist/api/__tests__/errorUtils.spec.js +0 -27
  100. package/dist/api/__tests__/errorUtils.spec.js.map +0 -1
  101. package/dist/api/apiUtils.d.ts +0 -16
  102. package/dist/api/apiUtils.d.ts.map +0 -1
  103. package/dist/api/apiUtils.js +0 -96
  104. package/dist/api/apiUtils.js.map +0 -1
  105. package/dist/api/const.d.ts +0 -3
  106. package/dist/api/const.d.ts.map +0 -1
  107. package/dist/api/const.js +0 -4
  108. package/dist/api/const.js.map +0 -1
  109. package/dist/api/errorUtils.d.ts +0 -2
  110. package/dist/api/errorUtils.d.ts.map +0 -1
  111. package/dist/api/errorUtils.js +0 -22
  112. package/dist/api/errorUtils.js.map +0 -1
  113. package/dist/api/index.d.ts +0 -7
  114. package/dist/api/index.d.ts.map +0 -1
  115. package/dist/api/index.js +0 -8
  116. package/dist/api/index.js.map +0 -1
  117. package/dist/api/k8s.d.ts +0 -10
  118. package/dist/api/k8s.d.ts.map +0 -1
  119. package/dist/api/k8s.js +0 -16
  120. package/dist/api/k8s.js.map +0 -1
  121. package/dist/api/types.d.ts +0 -19
  122. package/dist/api/types.d.ts.map +0 -1
  123. package/dist/api/types.js +0 -2
  124. package/dist/api/types.js.map +0 -1
  125. package/dist/api/useAPIState.d.ts +0 -3
  126. package/dist/api/useAPIState.d.ts.map +0 -1
  127. package/dist/api/useAPIState.js +0 -22
  128. package/dist/api/useAPIState.js.map +0 -1
  129. package/dist/components/NavBar.d.ts +0 -8
  130. package/dist/components/NavBar.d.ts.map +0 -1
  131. package/dist/components/NavBar.js +0 -53
  132. package/dist/components/NavBar.js.map +0 -1
  133. package/dist/components/NavSidebar.d.ts +0 -8
  134. package/dist/components/NavSidebar.d.ts.map +0 -1
  135. package/dist/components/NavSidebar.js +0 -25
  136. package/dist/components/NavSidebar.js.map +0 -1
  137. package/dist/components/ToastNotification.d.ts +0 -8
  138. package/dist/components/ToastNotification.d.ts.map +0 -1
  139. package/dist/components/ToastNotification.js +0 -29
  140. package/dist/components/ToastNotification.js.map +0 -1
  141. package/dist/components/ToastNotifications.d.ts +0 -4
  142. package/dist/components/ToastNotifications.d.ts.map +0 -1
  143. package/dist/components/ToastNotifications.js +0 -10
  144. package/dist/components/ToastNotifications.js.map +0 -1
  145. package/dist/components/__tests__/NavBar.test.d.ts +0 -2
  146. package/dist/components/__tests__/NavBar.test.d.ts.map +0 -1
  147. package/dist/components/__tests__/NavBar.test.js +0 -65
  148. package/dist/components/__tests__/NavBar.test.js.map +0 -1
  149. package/dist/components/browserStorage/BrowserStorageContext.d.ts +0 -25
  150. package/dist/components/browserStorage/BrowserStorageContext.d.ts.map +0 -1
  151. package/dist/components/browserStorage/BrowserStorageContext.js +0 -97
  152. package/dist/components/browserStorage/BrowserStorageContext.js.map +0 -1
  153. package/dist/components/browserStorage/index.d.ts +0 -2
  154. package/dist/components/browserStorage/index.d.ts.map +0 -1
  155. package/dist/components/browserStorage/index.js +0 -2
  156. package/dist/components/browserStorage/index.js.map +0 -1
  157. package/dist/components/table/__tests__/useCheckboxTable.spec.d.ts +0 -2
  158. package/dist/components/table/__tests__/useCheckboxTable.spec.d.ts.map +0 -1
  159. package/dist/components/table/__tests__/useCheckboxTable.spec.js +0 -45
  160. package/dist/components/table/__tests__/useCheckboxTable.spec.js.map +0 -1
  161. package/dist/config/stylePaths.d.ts +0 -2
  162. package/dist/config/stylePaths.d.ts.map +0 -1
  163. package/dist/config/stylePaths.js +0 -17
  164. package/dist/config/stylePaths.js.map +0 -1
  165. package/dist/context/ModularArchContext.d.ts +0 -20
  166. package/dist/context/ModularArchContext.d.ts.map +0 -1
  167. package/dist/context/ModularArchContext.js +0 -68
  168. package/dist/context/ModularArchContext.js.map +0 -1
  169. package/dist/context/NotificationContext.d.ts +0 -15
  170. package/dist/context/NotificationContext.d.ts.map +0 -1
  171. package/dist/context/NotificationContext.js +0 -43
  172. package/dist/context/NotificationContext.js.map +0 -1
  173. package/dist/context/ThemeContext.d.ts +0 -13
  174. package/dist/context/ThemeContext.d.ts.map +0 -1
  175. package/dist/context/ThemeContext.js +0 -23
  176. package/dist/context/ThemeContext.js.map +0 -1
  177. package/dist/context/__tests__/ModularArchContext.test.d.ts +0 -2
  178. package/dist/context/__tests__/ModularArchContext.test.d.ts.map +0 -1
  179. package/dist/context/__tests__/ModularArchContext.test.js +0 -331
  180. package/dist/context/__tests__/ModularArchContext.test.js.map +0 -1
  181. package/dist/context/index.d.ts +0 -4
  182. package/dist/context/index.d.ts.map +0 -1
  183. package/dist/context/index.js +0 -4
  184. package/dist/context/index.js.map +0 -1
  185. package/dist/hooks/__tests__/useModularArchContext.test.d.ts +0 -2
  186. package/dist/hooks/__tests__/useModularArchContext.test.d.ts.map +0 -1
  187. package/dist/hooks/__tests__/useModularArchContext.test.js +0 -39
  188. package/dist/hooks/__tests__/useModularArchContext.test.js.map +0 -1
  189. package/dist/hooks/__tests__/useNamespaces.test.d.ts +0 -2
  190. package/dist/hooks/__tests__/useNamespaces.test.d.ts.map +0 -1
  191. package/dist/hooks/__tests__/useNamespaces.test.js +0 -62
  192. package/dist/hooks/__tests__/useNamespaces.test.js.map +0 -1
  193. package/dist/hooks/index.d.ts +0 -9
  194. package/dist/hooks/index.d.ts.map +0 -1
  195. package/dist/hooks/index.js +0 -9
  196. package/dist/hooks/index.js.map +0 -1
  197. package/dist/hooks/useModularArchContext.d.ts +0 -5
  198. package/dist/hooks/useModularArchContext.d.ts.map +0 -1
  199. package/dist/hooks/useModularArchContext.js +0 -11
  200. package/dist/hooks/useModularArchContext.js.map +0 -1
  201. package/dist/hooks/useNamespaceSelector.d.ts +0 -10
  202. package/dist/hooks/useNamespaceSelector.d.ts.map +0 -1
  203. package/dist/hooks/useNamespaceSelector.js +0 -13
  204. package/dist/hooks/useNamespaceSelector.js.map +0 -1
  205. package/dist/hooks/useNamespaces.d.ts +0 -6
  206. package/dist/hooks/useNamespaces.d.ts.map +0 -1
  207. package/dist/hooks/useNamespaces.js +0 -34
  208. package/dist/hooks/useNamespaces.js.map +0 -1
  209. package/dist/hooks/useNotification.d.ts +0 -18
  210. package/dist/hooks/useNotification.d.ts.map +0 -1
  211. package/dist/hooks/useNotification.js +0 -75
  212. package/dist/hooks/useNotification.js.map +0 -1
  213. package/dist/hooks/useQueryParamNamespaces.d.ts +0 -2
  214. package/dist/hooks/useQueryParamNamespaces.d.ts.map +0 -1
  215. package/dist/hooks/useQueryParamNamespaces.js +0 -9
  216. package/dist/hooks/useQueryParamNamespaces.js.map +0 -1
  217. package/dist/hooks/useSettings.d.ts +0 -9
  218. package/dist/hooks/useSettings.d.ts.map +0 -1
  219. package/dist/hooks/useSettings.js +0 -72
  220. package/dist/hooks/useSettings.js.map +0 -1
  221. package/dist/hooks/useThemeContext.d.ts +0 -6
  222. package/dist/hooks/useThemeContext.d.ts.map +0 -1
  223. package/dist/hooks/useThemeContext.js +0 -10
  224. package/dist/hooks/useThemeContext.js.map +0 -1
  225. package/dist/hooks/useTimeBasedRefresh.d.ts +0 -4
  226. package/dist/hooks/useTimeBasedRefresh.d.ts.map +0 -1
  227. package/dist/hooks/useTimeBasedRefresh.js +0 -32
  228. package/dist/hooks/useTimeBasedRefresh.js.map +0 -1
  229. package/dist/images/logo-dark-theme.svg +0 -43
  230. package/dist/images/logo-light-theme.svg +0 -43
  231. package/dist/style/MUI-theme.scss +0 -995
  232. package/dist/style/index.d.ts +0 -2
  233. package/dist/style/index.d.ts.map +0 -1
  234. package/dist/style/index.js +0 -6
  235. package/dist/style/index.js.map +0 -1
  236. package/dist/style/index.ts +0 -6
  237. package/dist/utilities/appUtils.d.ts +0 -2
  238. package/dist/utilities/appUtils.d.ts.map +0 -1
  239. package/dist/utilities/appUtils.js +0 -4
  240. package/dist/utilities/appUtils.js.map +0 -1
  241. package/dist/utilities/const.d.ts +0 -13
  242. package/dist/utilities/const.d.ts.map +0 -1
  243. package/dist/utilities/const.js +0 -20
  244. package/dist/utilities/const.js.map +0 -1
  245. package/dist/utilities/useFetchState.d.ts +0 -92
  246. package/dist/utilities/useFetchState.d.ts.map +0 -1
  247. package/dist/utilities/useFetchState.js +0 -153
  248. package/dist/utilities/useFetchState.js.map +0 -1
  249. package/dist/utilities/useGenericObjectState.d.ts +0 -9
  250. package/dist/utilities/useGenericObjectState.d.ts.map +0 -1
  251. package/dist/utilities/useGenericObjectState.js +0 -14
  252. package/dist/utilities/useGenericObjectState.js.map +0 -1
  253. package/dist/utilities/useMakeFetchObject.d.ts +0 -4
  254. package/dist/utilities/useMakeFetchObject.d.ts.map +0 -1
  255. package/dist/utilities/useMakeFetchObject.js +0 -6
  256. package/dist/utilities/useMakeFetchObject.js.map +0 -1
  257. package/images/Icon-Layered_A_Black-RGB.svg +0 -66
  258. package/images/Icon-Storage-A-Black-RGB.svg +0 -3
  259. package/images/Icon-Sys_admin-A-Black-RGB.svg +0 -8
  260. package/images/UI_icon-Branch-RGB.svg +0 -1
  261. package/images/UI_icon-Connected-RGB.svg +0 -1
  262. package/images/UI_icon-Cubes-RGB.svg +0 -1
  263. package/images/UI_icon-Double_arrow_right-RGB.svg +0 -1
  264. package/images/UI_icon-Folder-RGB.svg +0 -1
  265. package/images/UI_icon-Notebook-Images-RGB.svg +0 -9
  266. package/images/UI_icon-Server-RGB.svg +0 -1
  267. package/images/UI_icon-Server_upload-RGB.svg +0 -1
  268. package/images/UI_icon-Shared_workspace-RGB.svg +0 -8
  269. package/images/UI_icon-Storage-RGB.svg +0 -1
  270. package/images/UI_icon-User-RGB.svg +0 -1
  271. package/images/UI_icon-Wrench-RGB.svg +0 -1
  272. package/images/empty-state-cluster-storage.svg +0 -472
  273. package/images/empty-state-data-connections.svg +0 -299
  274. package/images/empty-state-model-registries.svg +0 -9
  275. package/images/empty-state-model-serving.svg +0 -249
  276. package/images/empty-state-notebooks.svg +0 -392
  277. package/images/empty-state-pipelines.svg +0 -393
  278. package/images/empty-state-project-overview.svg +0 -482
  279. package/images/empty-state-projects-color.svg +0 -275
  280. package/images/empty-state-storage-classes.svg +0 -56
  281. package/images/icons/AcceleratorProfileIcon.ts +0 -13
  282. package/images/icons/ArtifactIcon.ts +0 -13
  283. package/images/icons/BuildIcon.ts +0 -13
  284. package/images/icons/ClusterSettingsIcon.ts +0 -13
  285. package/images/icons/ConfigurationIcon.ts +0 -13
  286. package/images/icons/CreateAndTrainIcon.ts +0 -13
  287. package/images/icons/DataConnectionIcon.ts +0 -13
  288. package/images/icons/DeployedModelIcon.ts +0 -13
  289. package/images/icons/DistributedWorkloadIcon.ts +0 -13
  290. package/images/icons/EnabledApplicationsIcon.ts +0 -13
  291. package/images/icons/ExperimentIcon.ts +0 -13
  292. package/images/icons/ExploreApplicationsIcon.ts +0 -13
  293. package/images/icons/GroupIcon.ts +0 -13
  294. package/images/icons/ModelIcon.ts +0 -13
  295. package/images/icons/ModelRegistryIcon.ts +0 -13
  296. package/images/icons/ModelServerIcon.ts +0 -13
  297. package/images/icons/MultiModelIcon.ts +0 -13
  298. package/images/icons/NotebookIcon.ts +0 -13
  299. package/images/icons/NotebookImageIcon.ts +0 -13
  300. package/images/icons/PermissionsIcon.ts +0 -13
  301. package/images/icons/PipelineExecutionIcon.ts +0 -13
  302. package/images/icons/PipelineIcon.ts +0 -13
  303. package/images/icons/PipelineRunIcon.ts +0 -13
  304. package/images/icons/ProjectIcon.ts +0 -13
  305. package/images/icons/RegisteredModelIcon.ts +0 -13
  306. package/images/icons/ResourcesIcon.ts +0 -13
  307. package/images/icons/ServingRuntimeIcon.ts +0 -13
  308. package/images/icons/SingleModelIcon.ts +0 -13
  309. package/images/icons/StorageClassIcon.ts +0 -13
  310. package/images/icons/StorageIcon.ts +0 -13
  311. package/images/icons/UserIcon.ts +0 -13
  312. package/images/icons/index.ts +0 -31
  313. package/images/index.ts +0 -62
  314. package/images/logo-dark-theme.svg +0 -43
  315. package/images/logo-light-theme.svg +0 -43
  316. package/images/no-models-model-registry.svg +0 -180
  317. package/images/no-versions-model-registry.svg +0 -149
  318. package/style/MUI-theme.scss +0 -995
  319. package/style/index.ts +0 -6
package/dist/api/k8s.js DELETED
@@ -1,16 +0,0 @@
1
- import { handleRestFailures } from '../api/errorUtils';
2
- import { isModArchResponse, restGET } from '../api/apiUtils';
3
- // Functions now accept config object
4
- export const getUser = (hostPath, config) => (opts) => handleRestFailures(restGET(hostPath, `${config.URL_PREFIX}/api/${config.BFF_API_VERSION}/user`, {}, opts)).then((response) => {
5
- if (isModArchResponse(response)) {
6
- return response.data;
7
- }
8
- throw new Error('Invalid response format');
9
- });
10
- export const getNamespaces = (hostPath, config) => (opts) => handleRestFailures(restGET(hostPath, `${config.URL_PREFIX}/api/${config.BFF_API_VERSION}/namespaces`, {}, opts)).then((response) => {
11
- if (isModArchResponse(response)) {
12
- return response.data;
13
- }
14
- throw new Error('Invalid response format');
15
- });
16
- //# sourceMappingURL=k8s.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"k8s.js","sourceRoot":"","sources":["../../api/k8s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAS5D,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,QAAgB,EAAE,MAAoB,EAAE,EAAE,CAC3C,CAAC,IAAgB,EAAyB,EAAE,CAC1C,kBAAkB,CAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,eAAe,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CACvF,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAClB,IAAI,iBAAiB,CAAe,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,QAAgB,EAAE,MAAoB,EAAE,EAAE,CAC3C,CAAC,IAAgB,EAAwB,EAAE,CACzC,kBAAkB,CAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,eAAe,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAC7F,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAClB,IAAI,iBAAiB,CAAc,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- export type APIOptions = {
2
- dryRun?: boolean;
3
- signal?: AbortSignal;
4
- parseJSON?: boolean;
5
- headers?: Record<string, string>;
6
- };
7
- export type APIError = {
8
- error: {
9
- code: string;
10
- message: string;
11
- };
12
- };
13
- export type APIState<T> = {
14
- /** If API will successfully call */
15
- apiAvailable: boolean;
16
- /** The available API functions */
17
- api: T;
18
- };
19
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,oCAAoC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,GAAG,EAAE,CAAC,CAAC;CACR,CAAC"}
package/dist/api/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { APIState } from '../api/types';
2
- export declare const useAPIState: <T>(hostPath: string | null, createAPI: (path: string) => T) => [apiState: APIState<T>, refreshAPIState: () => void];
3
- //# sourceMappingURL=useAPIState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAPIState.d.ts","sourceRoot":"","sources":["../../api/useAPIState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,UAAU,MAAM,GAAG,IAAI,EACvB,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,KAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,IAAI,CAuBrD,CAAC"}
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- export const useAPIState = (hostPath, createAPI) => {
3
- const [internalAPIToggleState, setInternalAPIToggleState] = React.useState(false);
4
- const refreshAPIState = React.useCallback(() => {
5
- setInternalAPIToggleState((v) => !v);
6
- }, []);
7
- const apiState = React.useMemo(() => {
8
- let path = hostPath;
9
- if (!path) {
10
- // TODO: we need to figure out maybe a stopgap or something
11
- path = '';
12
- }
13
- const api = createAPI(path);
14
- return {
15
- apiAvailable: !!path,
16
- api,
17
- };
18
- // eslint-disable-next-line react-hooks/exhaustive-deps
19
- }, [createAPI, hostPath, internalAPIToggleState]);
20
- return [apiState, refreshAPIState];
21
- };
22
- //# sourceMappingURL=useAPIState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAPIState.js","sourceRoot":"","sources":["../../api/useAPIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAuB,EACvB,SAA8B,EACwB,EAAE;IACxD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAc,GAAG,EAAE;QAC/C,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,2DAA2D;YAC3D,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,IAAI;YACpB,GAAG;SACJ,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface NavBarProps {
3
- username?: string;
4
- onLogout: () => void;
5
- }
6
- declare const NavBar: React.FC<NavBarProps>;
7
- export default NavBar;
8
- //# sourceMappingURL=NavBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../components/NavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2B1B,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0FjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,53 +0,0 @@
1
- import React from 'react';
2
- import { Brand, Dropdown, DropdownItem, DropdownList, Masthead, MastheadBrand, MastheadContent, MastheadLogo, MastheadMain, MastheadToggle, MenuToggle, PageToggleButton, Toolbar, ToolbarContent, ToolbarGroup, ToolbarItem, } from '@patternfly/react-core';
3
- import { SimpleSelect } from '@patternfly/react-templates';
4
- import { BarsIcon } from '@patternfly/react-icons';
5
- import { useNamespaceSelector } from '../hooks/useNamespaceSelector';
6
- import { useModularArchContext } from '../hooks/useModularArchContext';
7
- import logoDarkTheme from '../images/logo-dark-theme.svg';
8
- import { useThemeContext } from '../hooks/useThemeContext';
9
- const NavBar = ({ username, onLogout }) => {
10
- const { namespaces, preferredNamespace, updatePreferredNamespace } = useNamespaceSelector();
11
- const { config } = useModularArchContext();
12
- const { isMUITheme } = useThemeContext();
13
- const [userMenuOpen, setUserMenuOpen] = React.useState(false);
14
- // Check if mandatory namespace is configured
15
- const isMandatoryNamespace = Boolean(config.mandatoryNamespace);
16
- const options = namespaces.map((namespace) => ({
17
- content: namespace.name,
18
- value: namespace.name,
19
- selected: namespace.name === preferredNamespace?.name,
20
- }));
21
- const handleLogout = () => {
22
- setUserMenuOpen(false);
23
- onLogout();
24
- };
25
- const userMenuItems = [
26
- React.createElement(DropdownItem, { key: "logout", onClick: handleLogout }, "Log out"),
27
- ];
28
- return (React.createElement(Masthead, null,
29
- React.createElement(MastheadMain, null,
30
- React.createElement(MastheadToggle, null,
31
- React.createElement(PageToggleButton, { id: "page-nav-toggle", variant: "plain", "aria-label": "Dashboard navigation" },
32
- React.createElement(BarsIcon, null))),
33
- !isMUITheme ? (React.createElement(MastheadBrand, null,
34
- React.createElement(MastheadLogo, { component: "a" },
35
- React.createElement(Brand, { src: logoDarkTheme, alt: "Kubeflow", heights: { default: '36px' } })))) : null),
36
- React.createElement(MastheadContent, null,
37
- React.createElement(Toolbar, null,
38
- React.createElement(ToolbarContent, null,
39
- React.createElement(ToolbarGroup, { variant: "action-group-plain", align: { default: 'alignStart' } },
40
- React.createElement(ToolbarItem, { className: "kubeflow-u-namespace-select" },
41
- React.createElement(SimpleSelect, { initialOptions: options, isDisabled: isMandatoryNamespace, onSelect: (_ev, selection) => {
42
- // Only allow selection if not mandatory namespace
43
- if (!isMandatoryNamespace) {
44
- updatePreferredNamespace({ name: String(selection) });
45
- }
46
- } }))),
47
- username && (React.createElement(ToolbarGroup, { variant: "action-group-plain", align: { default: 'alignEnd' } },
48
- React.createElement(ToolbarItem, null,
49
- React.createElement(Dropdown, { popperProps: { position: 'right' }, onOpenChange: (isOpen) => setUserMenuOpen(isOpen), toggle: (toggleRef) => (React.createElement(MenuToggle, { "aria-label": "User menu", id: "user-menu-toggle", "data-testid": "user-menu-toggle-button", ref: toggleRef, onClick: () => setUserMenuOpen(!userMenuOpen), isExpanded: userMenuOpen }, username)), isOpen: userMenuOpen },
50
- React.createElement(DropdownList, null, userMenuItems))))))))));
51
- };
52
- export default NavBar;
53
- //# sourceMappingURL=NavBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../components/NavBar.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import { NavDataItem } from '../types/common';
3
- export type NavSidebarProps = {
4
- navData: NavDataItem[];
5
- };
6
- declare const NavSidebar: React.FC<NavSidebarProps>;
7
- export default NavSidebar;
8
- //# sourceMappingURL=NavSidebar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavSidebar.d.ts","sourceRoot":"","sources":["../../components/NavSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAA6C,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA+BxF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwBzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,25 +0,0 @@
1
- import * as React from 'react';
2
- import { NavLink } from 'react-router-dom';
3
- import { Brand, Nav, NavExpandable, NavItem, NavList, PageSidebar, PageSidebarBody, } from '@patternfly/react-core';
4
- import logoLightTheme from '../images/logo-light-theme.svg';
5
- import { isNavDataGroup } from '../types/common';
6
- import { useThemeContext } from '../hooks/useThemeContext';
7
- const NavHref = ({ item }) => (React.createElement(NavItem, { key: item.label, "data-id": item.label, itemId: item.label },
8
- React.createElement(NavLink, { to: item.path }, item.label)));
9
- const NavGroup = ({ item }) => {
10
- const { children } = item;
11
- const [expanded, setExpanded] = React.useState(false);
12
- return (React.createElement(NavExpandable, { "data-id": item.label, key: item.label, id: item.label, title: item.label, groupId: item.label, isExpanded: expanded, onExpand: (e, val) => setExpanded(val), "aria-label": item.label }, children.map((childItem) => (React.createElement(NavHref, { key: childItem.label, "data-id": childItem.label, item: childItem })))));
13
- };
14
- const NavSidebar = ({ navData }) => {
15
- const { isMUITheme } = useThemeContext();
16
- return (React.createElement(PageSidebar, null,
17
- React.createElement(PageSidebarBody, null,
18
- React.createElement(Nav, { id: "nav-primary-simple" },
19
- React.createElement(NavList, { id: "nav-list-simple" },
20
- isMUITheme ? (React.createElement(NavItem, null,
21
- React.createElement(Brand, { className: "kubeflow_brand", src: logoLightTheme, alt: "Kubeflow Logo" }))) : null,
22
- navData.map((item) => isNavDataGroup(item) ? (React.createElement(NavGroup, { key: item.label, item: item })) : (React.createElement(NavHref, { key: item.label, item: item }))))))));
23
- };
24
- export default NavSidebar;
25
- //# sourceMappingURL=NavSidebar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavSidebar.js","sourceRoot":"","sources":["../../components/NavSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,KAAK,EACL,GAAG,EACH,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAA0C,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,GAAoC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC7D,oBAAC,OAAO,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,aAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK;IAC/D,oBAAC,OAAO,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAG,IAAI,CAAC,KAAK,CAAW,CACtC,CACX,CAAC;AAEF,MAAM,QAAQ,GAAqC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,CACL,oBAAC,aAAa,eACH,IAAI,CAAC,KAAK,EACnB,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,EAAE,EAAE,IAAI,CAAC,KAAK,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,gBAC1B,IAAI,CAAC,KAAK,IAErB,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC3B,oBAAC,OAAO,IAAC,GAAG,EAAE,SAAS,CAAC,KAAK,aAAW,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,GAAI,CAC7E,CAAC,CACY,CACjB,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,UAAU,GAA8B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,OAAO,CACL,oBAAC,WAAW;QACV,oBAAC,eAAe;YACd,oBAAC,GAAG,IAAC,EAAE,EAAC,oBAAoB;gBAC1B,oBAAC,OAAO,IAAC,EAAE,EAAC,iBAAiB;oBAC1B,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,OAAO;wBACN,oBAAC,KAAK,IAAC,SAAS,EAAC,gBAAgB,EAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAC,eAAe,GAAG,CACrE,CACX,CAAC,CAAC,CAAC,IAAI;oBACP,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACrB,oBAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAC1C,CAAC,CAAC,CAAC,CACF,oBAAC,OAAO,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CACzC,CACF,CACO,CACN,CACU,CACN,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { Notification } from '../types';
3
- interface ToastNotificationProps {
4
- notification: Notification;
5
- }
6
- declare const ToastNotification: React.FC<ToastNotificationProps>;
7
- export default ToastNotification;
8
- //# sourceMappingURL=ToastNotification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastNotification.d.ts","sourceRoot":"","sources":["../../components/ToastNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,UAAU,sBAAsB;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmCvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,29 +0,0 @@
1
- import React from 'react';
2
- import { Alert, AlertActionCloseButton, AlertVariant } from '@patternfly/react-core';
3
- import { asEnumMember } from '../utilities/utils';
4
- import { useNotification } from '../hooks/useNotification';
5
- const TOAST_NOTIFICATION_TIMEOUT = 8 * 1000;
6
- const ToastNotification = ({ notification }) => {
7
- const notifications = useNotification();
8
- const [timedOut, setTimedOut] = React.useState(false);
9
- const [mouseOver, setMouseOver] = React.useState(false);
10
- React.useEffect(() => {
11
- const handle = setTimeout(() => {
12
- setTimedOut(true);
13
- }, TOAST_NOTIFICATION_TIMEOUT);
14
- return () => {
15
- clearTimeout(handle);
16
- };
17
- }, [setTimedOut]);
18
- React.useEffect(() => {
19
- if (!notification.hidden && timedOut && !mouseOver) {
20
- notifications.remove(notification.id);
21
- }
22
- }, [mouseOver, notification, timedOut, notifications]);
23
- if (notification.hidden) {
24
- return null;
25
- }
26
- return (React.createElement(Alert, { variant: asEnumMember(notification.status, AlertVariant) ?? undefined, title: notification.title, actionClose: React.createElement(AlertActionCloseButton, { onClose: () => notifications.remove(notification.id) }), onMouseEnter: () => setMouseOver(true), onMouseLeave: () => setMouseOver(false) }, notification.message));
27
- };
28
- export default ToastNotification;
29
- //# sourceMappingURL=ToastNotification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastNotification.js","sourceRoot":"","sources":["../../components/ToastNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,CAAC;AAM5C,MAAM,iBAAiB,GAAqC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC/E,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACnD,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,SAAS,EACrE,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,WAAW,EAAE,oBAAC,sBAAsB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAI,EAC7F,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAEtC,YAAY,CAAC,OAAO,CACf,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- declare const ToastNotifications: React.FC;
3
- export default ToastNotifications;
4
- //# sourceMappingURL=ToastNotifications.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastNotifications.d.ts","sourceRoot":"","sources":["../../components/ToastNotifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAU/B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,10 +0,0 @@
1
- import React, { useContext } from 'react';
2
- import { AlertGroup } from '@patternfly/react-core';
3
- import { NotificationContext } from '../context/NotificationContext';
4
- import ToastNotification from './ToastNotification';
5
- const ToastNotifications = () => {
6
- const { notifications } = useContext(NotificationContext);
7
- return (React.createElement(AlertGroup, { isToast: true, isLiveRegion: true }, notifications.map((notification) => (React.createElement(ToastNotification, { notification: notification, key: notification.id })))));
8
- };
9
- export default ToastNotifications;
10
- //# sourceMappingURL=ToastNotifications.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastNotifications.js","sourceRoot":"","sources":["../../components/ToastNotifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,kBAAkB,GAAa,GAAG,EAAE;IACxC,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAE1D,OAAO,CACL,oBAAC,UAAU,IAAC,OAAO,QAAC,YAAY,UAC7B,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACnC,oBAAC,iBAAiB,IAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,GAAI,CACxE,CAAC,CACS,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- import '@testing-library/jest-dom';
2
- //# sourceMappingURL=NavBar.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar.test.d.ts","sourceRoot":"","sources":["../../../components/__tests__/NavBar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -1,65 +0,0 @@
1
- import '@testing-library/jest-dom';
2
- import React from 'react';
3
- import { render, screen } from '@testing-library/react';
4
- import * as useFetchStateModule from '../../utilities/useFetchState';
5
- import { ModularArchContextProvider } from '../../context/ModularArchContext';
6
- import { DeploymentMode } from '../../utilities';
7
- import NavBar from '../NavBar';
8
- // Mock the utilities
9
- jest.mock('~/utilities/useFetchState');
10
- jest.mock('~/api/k8s', () => ({
11
- getNamespaces: jest.fn(() => jest.fn(() => Promise.resolve([]))),
12
- }));
13
- const mockUseFetchState = useFetchStateModule.useFetchState;
14
- const createMockConfig = (mandatoryNamespace, deploymentMode = DeploymentMode.Standalone) => ({
15
- deploymentMode,
16
- URL_PREFIX: 'test',
17
- BFF_API_VERSION: 'v1',
18
- ...(mandatoryNamespace && { mandatoryNamespace }),
19
- });
20
- const createWrapper = (config) => {
21
- const Wrapper = ({ children }) => (React.createElement(ModularArchContextProvider, { config: config }, children));
22
- Wrapper.displayName = 'TestWrapper';
23
- return Wrapper;
24
- };
25
- describe('NavBar mandatory namespace functionality', () => {
26
- beforeEach(() => {
27
- jest.clearAllMocks();
28
- // Mock fetch for script loading
29
- global.fetch = jest.fn().mockResolvedValue({ ok: false });
30
- });
31
- afterEach(() => {
32
- jest.restoreAllMocks();
33
- // Clean up fetch stub explicitly
34
- // @ts-expect-error – fetch might be undefined in node
35
- delete global.fetch;
36
- });
37
- it('should disable namespace selection when mandatory namespace is set', async () => {
38
- const mandatoryNamespace = 'mandatory-namespace';
39
- const config = createMockConfig(mandatoryNamespace);
40
- const Wrapper = createWrapper(config);
41
- // Mock useFetchState to return only the mandatory namespace
42
- mockUseFetchState.mockReturnValue([[{ name: mandatoryNamespace }], true, undefined, jest.fn()]);
43
- render(React.createElement(NavBar, { onLogout: jest.fn() }), { wrapper: Wrapper });
44
- const namespaceButton = await screen.findByText(mandatoryNamespace);
45
- expect(namespaceButton).toBeInTheDocument();
46
- // The MenuToggle button should be disabled due to mandatory namespace
47
- const menuToggle = namespaceButton.closest('button');
48
- expect(menuToggle).toBeDisabled();
49
- });
50
- it('should allow namespace selection when no mandatory namespace is set', async () => {
51
- const config = createMockConfig();
52
- const Wrapper = createWrapper(config);
53
- const mockNamespaces = [{ name: 'namespace-1' }, { name: 'namespace-2' }];
54
- // Mock useFetchState to return multiple namespaces
55
- mockUseFetchState.mockReturnValue([mockNamespaces, true, undefined, jest.fn()]);
56
- render(React.createElement(NavBar, { onLogout: jest.fn() }), { wrapper: Wrapper });
57
- // Check that the namespace selector is present and enabled
58
- const namespaceButton = screen.getByText('namespace-1');
59
- expect(namespaceButton).toBeInTheDocument();
60
- // The MenuToggle button should be enabled (not disabled)
61
- const menuToggle = namespaceButton.closest('button');
62
- expect(menuToggle).not.toBeDisabled();
63
- });
64
- });
65
- //# sourceMappingURL=NavBar.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar.test.js","sourceRoot":"","sources":["../../../components/__tests__/NavBar.test.tsx"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import * as React from 'react';
2
- export type BrowserStorageContextType = {
3
- /** Based on parseJSON it can be any jsonify-able item */
4
- getValue: (storageKey: string, parseJSON: boolean, isSessionStorage?: boolean) => unknown;
5
- /** Returns a boolean if it was able to json-ify it. */
6
- setJSONValue: (storageKey: string, value: unknown, isSessionStorage?: boolean) => boolean;
7
- setStringValue: (storageKey: string, value: string, isSessionStorage?: boolean) => void;
8
- };
9
- /**
10
- * @returns {boolean} if it was successful, false if it was not
11
- */
12
- export type SetBrowserStorageHook<T> = (value: T) => boolean;
13
- /**
14
- * useBrowserStorage will handle all the effort behind managing localStorage or sessionStorage.
15
- */
16
- export declare const useBrowserStorage: <T>(storageKey: string, defaultValue: T, jsonify?: boolean, isSessionStorage?: boolean) => [T, SetBrowserStorageHook<T>];
17
- type BrowserStorageContextProviderProps = {
18
- children: React.ReactNode;
19
- };
20
- /**
21
- * @see useBrowserStorage
22
- */
23
- export declare const BrowserStorageContextProvider: React.FC<BrowserStorageContextProviderProps>;
24
- export {};
25
- //# sourceMappingURL=BrowserStorageContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserStorageContext.d.ts","sourceRoot":"","sources":["../../../components/browserStorage/BrowserStorageContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,yBAAyB,GAAG;IACtC,yDAAyD;IACzD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1F,uDAAuD;IACvD,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1F,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzF,CAAC;AAQF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EACjC,YAAY,MAAM,EAClB,cAAc,CAAC,EACf,iBAAc,EACd,0BAAwB,KACvB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAwB9B,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CA+EtF,CAAC"}
@@ -1,97 +0,0 @@
1
- import * as React from 'react';
2
- import { useDeepCompareMemoize } from '../../utilities/useDeepCompareMemoize';
3
- import { useEventListener } from '../../utilities/useEventListener';
4
- const BrowserStorageContext = React.createContext({
5
- getValue: () => null,
6
- setJSONValue: () => false,
7
- setStringValue: () => undefined,
8
- });
9
- /**
10
- * useBrowserStorage will handle all the effort behind managing localStorage or sessionStorage.
11
- */
12
- export const useBrowserStorage = (storageKey, defaultValue, jsonify = true, isSessionStorage = false) => {
13
- const { getValue, setJSONValue, setStringValue } = React.useContext(BrowserStorageContext);
14
- const setValue = React.useCallback((value) => {
15
- if (jsonify) {
16
- return setJSONValue(storageKey, value, isSessionStorage);
17
- }
18
- if (typeof value === 'string') {
19
- setStringValue(storageKey, value, isSessionStorage);
20
- return true;
21
- }
22
- /* eslint-disable-next-line no-console */
23
- console.error('Was not a string value provided, cannot stringify');
24
- return false;
25
- }, [isSessionStorage, jsonify, setJSONValue, setStringValue, storageKey]);
26
- const value = useDeepCompareMemoize(
27
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
28
- getValue(storageKey, jsonify, isSessionStorage) ?? defaultValue);
29
- return [value, setValue];
30
- };
31
- const getStorage = (isSessionStorage) => {
32
- if (isSessionStorage) {
33
- return sessionStorage;
34
- }
35
- return localStorage;
36
- };
37
- /**
38
- * @see useBrowserStorage
39
- */
40
- export const BrowserStorageContextProvider = ({ children, }) => {
41
- const [values, setValues] = React.useState({});
42
- /**
43
- * Only listen to other storage changes (windows/tabs) -- which are localStorage.
44
- * Session storage does not have cross instance storages.
45
- * See MDN for more: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
46
- */
47
- useEventListener(window, 'storage', () => {
48
- // Another browser tab has updated storage, sync up the data
49
- const keys = Object.keys(values);
50
- setValues(keys.reduce((acc, key) => {
51
- const value = localStorage.getItem(key);
52
- return { ...acc, [key]: value };
53
- }, {}));
54
- });
55
- const getValue = React.useCallback((key, parseJSON, isSessionStorage = false) => {
56
- const value = getStorage(isSessionStorage).getItem(key);
57
- if (value === null) {
58
- return value;
59
- }
60
- if (parseJSON) {
61
- try {
62
- return JSON.parse(value);
63
- }
64
- catch {
65
- /* eslint-disable-next-line no-console */
66
- console.warn(`Failed to parse storage value "${key}"`);
67
- return null;
68
- }
69
- }
70
- else {
71
- return value;
72
- }
73
- }, []);
74
- const setJSONValue = React.useCallback((storageKey, value, isSessionStorage = false) => {
75
- try {
76
- const storageValue = JSON.stringify(value);
77
- getStorage(isSessionStorage).setItem(storageKey, storageValue);
78
- setValues((oldValues) => ({ ...oldValues, [storageKey]: storageValue }));
79
- return true;
80
- }
81
- catch {
82
- /* eslint-disable-next-line no-console */
83
- console.warn('Could not store a value because it was requested to be stringified but was an invalid value for stringification.');
84
- return false;
85
- }
86
- }, []);
87
- const setStringValue = React.useCallback((storageKey, value, isSessionStorage = false) => {
88
- getStorage(isSessionStorage).setItem(storageKey, value);
89
- setValues((oldValues) => ({ ...oldValues, [storageKey]: value }));
90
- }, []);
91
- const contextValue = React.useMemo(() => ({ getValue, setJSONValue, setStringValue }),
92
- // Also trigger a context update if `values` changes.
93
- // eslint-disable-next-line react-hooks/exhaustive-deps
94
- [getValue, setJSONValue, setStringValue, values]);
95
- return (React.createElement(BrowserStorageContext.Provider, { value: contextValue }, children));
96
- };
97
- //# sourceMappingURL=BrowserStorageContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserStorageContext.js","sourceRoot":"","sources":["../../../components/browserStorage/BrowserStorageContext.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { useBrowserStorage, BrowserStorageContextProvider } from './BrowserStorageContext';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/browserStorage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { useBrowserStorage, BrowserStorageContextProvider } from './BrowserStorageContext';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/browserStorage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=useCheckboxTable.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCheckboxTable.spec.d.ts","sourceRoot":"","sources":["../../../../components/table/__tests__/useCheckboxTable.spec.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { act } from 'react';
2
- import { testHook } from '../../../__tests__/unit/testUtils/hooks';
3
- import { useCheckboxTable } from '../../../components/table';
4
- describe('useCheckboxTable', () => {
5
- it('should select/unselect all', () => {
6
- const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
7
- act(() => {
8
- renderResult.result.current.tableProps.selectAll.onSelect(true);
9
- });
10
- expect(renderResult.result.current.selections).toStrictEqual(['a', 'b', 'c']);
11
- expect(renderResult.result.current.tableProps.selectAll.selected).toBe(true);
12
- act(() => {
13
- renderResult.result.current.tableProps.selectAll.onSelect(false);
14
- });
15
- expect(renderResult.result.current.selections).toStrictEqual([]);
16
- expect(renderResult.result.current.tableProps.selectAll.selected).toBe(false);
17
- });
18
- it('should select/unselect ids', () => {
19
- const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
20
- act(() => {
21
- renderResult.result.current.toggleSelection('a');
22
- renderResult.result.current.toggleSelection('b');
23
- });
24
- expect(renderResult.result.current.selections).toStrictEqual(['a', 'b']);
25
- expect(renderResult.result.current.isSelected('a')).toBe(true);
26
- expect(renderResult.result.current.isSelected('b')).toBe(true);
27
- expect(renderResult.result.current.isSelected('c')).toBe(false);
28
- act(() => {
29
- renderResult.result.current.toggleSelection('a');
30
- });
31
- expect(renderResult.result.current.selections).toStrictEqual(['b']);
32
- expect(renderResult.result.current.isSelected('a')).toBe(false);
33
- expect(renderResult.result.current.isSelected('b')).toBe(true);
34
- expect(renderResult.result.current.isSelected('c')).toBe(false);
35
- });
36
- it('should remove selected ids that no longer exist', () => {
37
- const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
38
- act(() => {
39
- renderResult.result.current.tableProps.selectAll.onSelect(true);
40
- });
41
- renderResult.rerender(['c']);
42
- expect(renderResult.result.current.selections).toStrictEqual(['c']);
43
- });
44
- });
45
- //# sourceMappingURL=useCheckboxTable.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCheckboxTable.spec.js","sourceRoot":"","sources":["../../../../components/table/__tests__/useCheckboxTable.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export let stylePaths: string[];
2
- //# sourceMappingURL=stylePaths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stylePaths.d.ts","sourceRoot":"","sources":["../../config/stylePaths.js"],"names":[],"mappings":""}