@devtron-labs/devtron-fe-common-lib 0.0.50-beta-2 → 0.0.51

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 (447) hide show
  1. package/.eslintrc.js +41 -0
  2. package/.github/workflows/release-package.yml +49 -0
  3. package/.prettierrc.js +7 -0
  4. package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -0
  5. package/dist/Common/AddCDButton/index.d.ts +2 -0
  6. package/dist/Common/AddCDButton/types.d.ts +26 -0
  7. package/dist/Common/AddCDButton/utils.d.ts +2 -0
  8. package/dist/Common/Api.d.ts +5 -5
  9. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  10. package/dist/Common/AppStatus/constants.d.ts +51 -51
  11. package/dist/Common/AppStatus/index.d.ts +1 -1
  12. package/dist/Common/AppStatus/types.d.ts +12 -12
  13. package/dist/Common/AppStatus/utils.d.ts +1 -1
  14. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  15. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  16. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  17. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  18. package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -0
  19. package/dist/Common/Checkbox.d.ts +5 -5
  20. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  21. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  22. package/dist/Common/Common.service.d.ts +20 -19
  23. package/dist/Common/Constants.d.ts +66 -71
  24. package/dist/Common/CustomInput/CustomInput.d.ts +3 -0
  25. package/dist/Common/CustomInput/Types.d.ts +29 -0
  26. package/dist/Common/CustomInput/index.d.ts +2 -0
  27. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  28. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -3
  29. package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
  30. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
  31. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
  32. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  33. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  34. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  35. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  36. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +15 -15
  37. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  38. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  39. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -4
  40. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  41. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -0
  42. package/dist/Common/DevtronProgressing/index.d.ts +1 -0
  43. package/dist/Common/DevtronProgressing/types.d.ts +4 -0
  44. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -9
  45. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  46. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  47. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  48. package/dist/Common/Dialogs/Types.d.ts +45 -44
  49. package/dist/Common/Dialogs/index.d.ts +4 -4
  50. package/dist/Common/Drawer/Drawer.d.ts +16 -14
  51. package/dist/Common/EmptyState/EmptyState.d.ts +25 -24
  52. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
  53. package/dist/Common/Error.d.ts +17 -17
  54. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  55. package/dist/Common/Grid/Grid.d.ts +3 -3
  56. package/dist/Common/Grid/types.d.ts +10 -10
  57. package/dist/Common/Helper.d.ts +60 -57
  58. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  59. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  60. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  61. package/dist/Common/Hooks/index.d.ts +2 -2
  62. package/dist/Common/ImageTags.Types.d.ts +40 -40
  63. package/dist/Common/ImageTags.d.ts +4 -3
  64. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -4
  65. package/dist/Common/Modals/Modal.d.ts +3 -3
  66. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  67. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  68. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  69. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  70. package/dist/Common/Policy.Types.d.ts +56 -56
  71. package/dist/Common/PopupMenu.d.ts +8 -8
  72. package/dist/Common/Progressing.d.ts +4 -4
  73. package/dist/Common/RJSF/Form.d.ts +4 -0
  74. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -0
  75. package/dist/Common/RJSF/common/types.d.ts +8 -0
  76. package/dist/Common/RJSF/config.d.ts +4 -0
  77. package/dist/Common/RJSF/constants.d.ts +7 -0
  78. package/dist/Common/RJSF/index.d.ts +3 -0
  79. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -0
  80. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -0
  81. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -0
  82. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -0
  83. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -0
  84. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -0
  85. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -0
  86. package/dist/Common/RJSF/templates/Description.d.ts +3 -0
  87. package/dist/Common/RJSF/templates/Field.d.ts +3 -0
  88. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -0
  89. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -0
  90. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -0
  91. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -0
  92. package/dist/Common/RJSF/templates/index.d.ts +10 -0
  93. package/dist/Common/RJSF/types.d.ts +3 -0
  94. package/dist/Common/RJSF/utils.d.ts +26 -0
  95. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -0
  96. package/dist/Common/RJSF/widgets/Select.d.ts +3 -0
  97. package/dist/Common/RJSF/widgets/index.d.ts +2 -0
  98. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  99. package/dist/Common/RadioGroup.d.ts +8 -8
  100. package/dist/Common/Reload.d.ts +3 -3
  101. package/dist/Common/ResizableTextarea.d.ts +3 -3
  102. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  103. package/dist/Common/ServerError.d.ts +15 -15
  104. package/dist/Common/TippyCustomized.d.ts +4 -3
  105. package/dist/Common/ToastBody.d.ts +23 -23
  106. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  107. package/dist/Common/Types.d.ts +677 -566
  108. package/dist/Common/index.d.ts +47 -44
  109. package/dist/index.d.ts +1 -1
  110. package/dist/index.js +28498 -184
  111. package/package.json +26 -45
  112. package/rollup.config.js +31 -0
  113. package/src/Assets/Icon/ic-add.svg +3 -0
  114. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  115. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  116. package/src/Assets/Icon/ic-check.svg +5 -0
  117. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  118. package/src/Assets/Icon/ic-copy.svg +3 -0
  119. package/src/Assets/Icon/ic-cross.svg +3 -0
  120. package/src/Assets/Icon/ic-enter.svg +3 -0
  121. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  122. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  123. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  124. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  125. package/src/Assets/Icon/ic-help.svg +3 -0
  126. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  127. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  128. package/src/Assets/Icon/ic-minus.svg +3 -0
  129. package/src/Assets/Icon/ic-pencil.svg +3 -0
  130. package/src/Assets/Icon/ic-progressing.svg +6 -0
  131. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  132. package/src/Assets/Icon/ic-warning.svg +7 -0
  133. package/src/Assets/Icon/inject-tag.svg +5 -0
  134. package/src/Assets/Img/app-not-deployed.png +0 -0
  135. package/src/Assets/Img/delete-medium.svg +15 -0
  136. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  137. package/src/Assets/Img/ic-loading-failure.png +0 -0
  138. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  139. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  140. package/src/Common/AddCDButton/index.ts +2 -0
  141. package/src/Common/AddCDButton/types.ts +38 -0
  142. package/src/Common/AddCDButton/utils.tsx +35 -0
  143. package/src/Common/Api.ts +230 -0
  144. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  145. package/src/Common/AppStatus/constants.ts +53 -0
  146. package/src/Common/AppStatus/index.ts +1 -0
  147. package/src/Common/AppStatus/types.ts +12 -0
  148. package/src/Common/AppStatus/utils.ts +14 -0
  149. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  150. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  151. package/src/Common/BreadCrumb/Types.ts +30 -0
  152. package/src/Common/CIPipeline.Types.ts +277 -0
  153. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  154. package/src/Common/Checkbox.tsx +36 -0
  155. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  156. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  157. package/src/Common/ClipboardButton/types.ts +7 -0
  158. package/src/Common/Common.service.ts +315 -0
  159. package/src/Common/Constants.ts +243 -0
  160. package/src/Common/CustomInput/CustomInput.tsx +131 -0
  161. package/src/Common/CustomInput/Types.ts +30 -0
  162. package/src/Common/CustomInput/index.ts +2 -0
  163. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  164. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  165. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  166. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  167. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  168. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  169. package/src/Common/CustomTagSelector/Types.ts +72 -0
  170. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  171. package/src/Common/CustomTagSelector/index.ts +6 -0
  172. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +76 -0
  173. package/src/Common/DebouncedSearch/Types.ts +13 -0
  174. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  175. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  176. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  177. package/src/Common/DeleteComponentModal/types.ts +15 -0
  178. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  179. package/src/Common/DevtronProgressing/index.ts +1 -0
  180. package/src/Common/DevtronProgressing/types.ts +4 -0
  181. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  182. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  183. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  184. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  185. package/src/Common/Dialogs/Types.ts +47 -0
  186. package/src/Common/Dialogs/index.ts +4 -0
  187. package/src/Common/Drawer/Drawer.scss +40 -0
  188. package/src/Common/Drawer/Drawer.tsx +49 -0
  189. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  190. package/src/Common/EmptyState/GenericEmptyState.tsx +49 -0
  191. package/src/Common/EmptyState/emptyState.scss +74 -0
  192. package/src/Common/Error.tsx +61 -0
  193. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  194. package/src/Common/Grid/Grid.tsx +39 -0
  195. package/src/Common/Grid/types.ts +9 -0
  196. package/src/Common/Helper.tsx +561 -0
  197. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  198. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  199. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  200. package/src/Common/Hooks/index.ts +2 -0
  201. package/src/Common/ImageTags.Types.ts +44 -0
  202. package/src/Common/ImageTags.tsx +586 -0
  203. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  204. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  205. package/src/Common/Modals/Modal.tsx +68 -0
  206. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  207. package/src/Common/Modals/VisibleModal.tsx +55 -0
  208. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  209. package/src/Common/MultiSelectCustomization.tsx +148 -0
  210. package/src/Common/Policy.Types.ts +63 -0
  211. package/src/Common/PopupMenu.tsx +199 -0
  212. package/src/Common/Progressing.tsx +53 -0
  213. package/src/Common/RJSF/Form.tsx +29 -0
  214. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  215. package/src/Common/RJSF/common/types.ts +9 -0
  216. package/src/Common/RJSF/config.ts +37 -0
  217. package/src/Common/RJSF/constants.ts +10 -0
  218. package/src/Common/RJSF/index.ts +3 -0
  219. package/src/Common/RJSF/rjsfForm.scss +18 -0
  220. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  221. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  222. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  223. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  224. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  225. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  226. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  227. package/src/Common/RJSF/templates/Description.tsx +12 -0
  228. package/src/Common/RJSF/templates/Field.tsx +30 -0
  229. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  230. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  231. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  232. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  233. package/src/Common/RJSF/templates/index.ts +10 -0
  234. package/src/Common/RJSF/types.ts +4 -0
  235. package/src/Common/RJSF/utils.ts +123 -0
  236. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  237. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  238. package/src/Common/RJSF/widgets/index.ts +2 -0
  239. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  240. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  241. package/src/Common/RadioGroup.tsx +53 -0
  242. package/src/Common/Reload.tsx +23 -0
  243. package/src/Common/ResizableTextarea.tsx +73 -0
  244. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  245. package/src/Common/Security/scanVulnerabilities.css +69 -0
  246. package/src/Common/ServerError.ts +31 -0
  247. package/src/Common/TippyCustomized.tsx +172 -0
  248. package/src/Common/ToastBody.tsx +62 -0
  249. package/src/Common/Toggle/Toggle.scss +78 -0
  250. package/src/Common/Toggle/Toggle.tsx +50 -0
  251. package/src/Common/Types.ts +750 -0
  252. package/src/Common/index.ts +47 -0
  253. package/src/custom.d.ts +13 -0
  254. package/src/index.ts +1 -0
  255. package/tsconfig.json +40 -0
  256. package/dist/CodeEditor-d59fc867.js +0 -103675
  257. package/dist/Common/Api.js +0 -167
  258. package/dist/Common/AppStatus/AppStatus.js +0 -37
  259. package/dist/Common/AppStatus/constants.js +0 -37
  260. package/dist/Common/AppStatus/index.js +0 -4
  261. package/dist/Common/AppStatus/types.js +0 -1
  262. package/dist/Common/AppStatus/utils.js +0 -8
  263. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  264. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  265. package/dist/Common/BreadCrumb/Types.js +0 -1
  266. package/dist/Common/CIPipeline.Types.js +0 -10
  267. package/dist/Common/Checkbox.js +0 -28
  268. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  269. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  270. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  271. package/dist/Common/ClipboardButton/types.js +0 -1
  272. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  273. package/dist/Common/CodeEditor/CodeEditor.js +0 -14
  274. package/dist/Common/Common.service.js +0 -187
  275. package/dist/Common/Constants.js +0 -231
  276. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  277. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  278. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  279. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  280. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  281. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  282. package/dist/Common/CustomTagSelector/Types.js +0 -1
  283. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  284. package/dist/Common/CustomTagSelector/index.js +0 -12
  285. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -7
  286. package/dist/Common/DebouncedSearch/Types.js +0 -1
  287. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  288. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  289. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -33
  290. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  291. package/dist/Common/DeleteComponentModal/types.js +0 -1
  292. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  293. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  294. package/dist/Common/Dialogs/DialogForm.js +0 -63
  295. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  296. package/dist/Common/Dialogs/Types.js +0 -1
  297. package/dist/Common/Dialogs/index.js +0 -11
  298. package/dist/Common/Drawer/Drawer.js +0 -22
  299. package/dist/Common/EmptyState/EmptyState.js +0 -32
  300. package/dist/Common/EmptyState/GenericEmptyState.js +0 -52
  301. package/dist/Common/Error.js +0 -49
  302. package/dist/Common/ErrorScreenNotFound.js +0 -23
  303. package/dist/Common/Grid/Grid.js +0 -22
  304. package/dist/Common/Grid/types.js +0 -1
  305. package/dist/Common/Helper.js +0 -33
  306. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  307. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  308. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  309. package/dist/Common/Hooks/index.js +0 -6
  310. package/dist/Common/ImageTags.Types.js +0 -1
  311. package/dist/Common/ImageTags.js +0 -380
  312. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  313. package/dist/Common/Modals/Modal.js +0 -48
  314. package/dist/Common/Modals/OpaqueModal.js +0 -32
  315. package/dist/Common/Modals/VisibleModal.js +0 -31
  316. package/dist/Common/Modals/VisibleModal2.js +0 -31
  317. package/dist/Common/MultiSelectCustomization.js +0 -4250
  318. package/dist/Common/Policy.Types.js +0 -6
  319. package/dist/Common/PopupMenu.js +0 -148
  320. package/dist/Common/Progressing.js +0 -52
  321. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  322. package/dist/Common/RadioGroup.js +0 -47
  323. package/dist/Common/Reload.js +0 -16
  324. package/dist/Common/ResizableTextarea.js +0 -60
  325. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  326. package/dist/Common/Select/Select.d.ts +0 -4
  327. package/dist/Common/Select/Select.js +0 -131
  328. package/dist/Common/Select/types.d.ts +0 -29
  329. package/dist/Common/Select/types.js +0 -1
  330. package/dist/Common/ServerError.js +0 -26
  331. package/dist/Common/TippyCustomized.js +0 -10
  332. package/dist/Common/ToastBody.js +0 -41
  333. package/dist/Common/Toggle/Toggle.js +0 -40
  334. package/dist/Common/Types.js +0 -20
  335. package/dist/Common/UseWindowSize.d.ts +0 -4
  336. package/dist/Common/UseWindowSize.js +0 -20
  337. package/dist/Common/index.js +0 -185
  338. package/dist/DebouncedSearch-065f3ac2.js +0 -58
  339. package/dist/Helper-4dc38bc2.js +0 -8882
  340. package/dist/TippyCustomized-549ebfaf.js +0 -124
  341. package/dist/abap-9f67f57a.js +0 -1314
  342. package/dist/apex-ff62e532.js +0 -315
  343. package/dist/assets/CodeEditor.css +0 -1
  344. package/dist/assets/Drawer.css +0 -1
  345. package/dist/assets/InfoColourbar.css +0 -1
  346. package/dist/assets/RadioGroup.css +0 -1
  347. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  348. package/dist/assets/Select.css +0 -1
  349. package/dist/assets/TippyCustomized.css +0 -1
  350. package/dist/assets/Toggle.css +0 -1
  351. package/dist/assets/editor.worker-d26000ef.js +0 -9
  352. package/dist/assets/emptyState.css +0 -1
  353. package/dist/assets/json.worker-f23a4654.js +0 -40
  354. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  355. package/dist/azcli-31e64a7f.js +0 -74
  356. package/dist/bat-0ffe897e.js +0 -95
  357. package/dist/bicep-3414a2b1.js +0 -108
  358. package/dist/cameligo-df1f3f25.js +0 -168
  359. package/dist/clojure-65b0f010.js +0 -754
  360. package/dist/coffee-437f0fba.js +0 -228
  361. package/dist/cpp-66843dd5.js +0 -390
  362. package/dist/csharp-621d9a49.js +0 -320
  363. package/dist/csp-de0d5244.js +0 -57
  364. package/dist/css-7cd5ed4c.js +0 -186
  365. package/dist/cssMode-518d7b58.js +0 -1446
  366. package/dist/cypher-70ad96fe.js +0 -262
  367. package/dist/dart-33ae3739.js +0 -270
  368. package/dist/dockerfile-f2274a50.js +0 -132
  369. package/dist/ecl-3b8294a3.js +0 -454
  370. package/dist/elixir-b9dcc73a.js +0 -489
  371. package/dist/extends-70f3d2a3.js +0 -13
  372. package/dist/flow9-bdde8316.js +0 -141
  373. package/dist/freemarker2-ec19a832.js +0 -643
  374. package/dist/fsharp-eac2e449.js +0 -210
  375. package/dist/go-d12ed8d4.js +0 -208
  376. package/dist/graphql-c7356b69.js +0 -141
  377. package/dist/handlebars-06e29571.js +0 -391
  378. package/dist/hcl-e883a0d4.js +0 -177
  379. package/dist/html-10fc18eb.js +0 -281
  380. package/dist/htmlMode-5f032666.js +0 -1456
  381. package/dist/ic-add-4787ded5.js +0 -5
  382. package/dist/ic-copy-118b83dc.js +0 -5
  383. package/dist/ic-cross-0e71861d.js +0 -6
  384. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  385. package/dist/ic-info-filled-31a15add.js +0 -6
  386. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  387. package/dist/index-ad700600.js +0 -17444
  388. package/dist/ini-425ab711.js +0 -68
  389. package/dist/inject-tag-824bf92c.js +0 -5
  390. package/dist/java-2bc0fd68.js +0 -221
  391. package/dist/javascript-2e90f5e7.js +0 -75
  392. package/dist/jsonMode-36a94a3e.js +0 -1867
  393. package/dist/julia-1c932615.js +0 -496
  394. package/dist/kotlin-1ab839c8.js +0 -245
  395. package/dist/less-6fe856f5.js +0 -168
  396. package/dist/lexon-4955ac52.js +0 -151
  397. package/dist/liquid-57b08f3e.js +0 -238
  398. package/dist/lua-3cca0047.js +0 -157
  399. package/dist/m3-132e9cb6.js +0 -210
  400. package/dist/markdown-ea59a0c1.js +0 -202
  401. package/dist/mips-19811f4b.js +0 -194
  402. package/dist/msdax-69954a10.js +0 -377
  403. package/dist/mysql-82088e5d.js +0 -876
  404. package/dist/objective-c-1976eccc.js +0 -188
  405. package/dist/pascal-8ef177cb.js +0 -245
  406. package/dist/pascaligo-bc517b9e.js +0 -158
  407. package/dist/perl-8b93582c.js +0 -599
  408. package/dist/pgsql-00c11a6d.js +0 -847
  409. package/dist/php-4c8c276f.js +0 -471
  410. package/dist/pla-e9b4ffb1.js +0 -131
  411. package/dist/postiats-2071af8c.js +0 -544
  412. package/dist/powerquery-8e388ceb.js +0 -890
  413. package/dist/powershell-e35db398.js +0 -233
  414. package/dist/protobuf-a24b9176.js +0 -422
  415. package/dist/pug-2c94d9b8.js +0 -393
  416. package/dist/python-761b1908.js +0 -259
  417. package/dist/qsharp-d730d7fe.js +0 -282
  418. package/dist/r-be193556.js +0 -245
  419. package/dist/razor-9cd536c2.js +0 -512
  420. package/dist/react-toastify.esm-9a31d2e1.js +0 -792
  421. package/dist/react.esm-a0625832.js +0 -13149
  422. package/dist/redis-9690c6ac.js +0 -298
  423. package/dist/redshift-6bdcdeaa.js +0 -806
  424. package/dist/restructuredtext-a08c1d20.js +0 -162
  425. package/dist/ruby-2247692b.js +0 -444
  426. package/dist/rust-1dffb4d5.js +0 -337
  427. package/dist/sb-136598e9.js +0 -110
  428. package/dist/scala-b1100fed.js +0 -353
  429. package/dist/scheme-038c8094.js +0 -114
  430. package/dist/scss-700d1b52.js +0 -244
  431. package/dist/shell-86c16e0f.js +0 -224
  432. package/dist/solidity-c05fdf3c.js +0 -1351
  433. package/dist/sophia-cd645d71.js +0 -190
  434. package/dist/sparql-01d9ec9c.js +0 -193
  435. package/dist/sql-4c33df41.js +0 -818
  436. package/dist/st-52cf1408.js +0 -414
  437. package/dist/swift-13c792ba.js +0 -315
  438. package/dist/systemverilog-0bd8b730.js +0 -556
  439. package/dist/tcl-463d7c75.js +0 -232
  440. package/dist/tippy-react.esm-3be2e905.js +0 -2018
  441. package/dist/tsMode-d9dd8508.js +0 -811
  442. package/dist/twig-0d98f5ec.js +0 -323
  443. package/dist/typescript-08c1d7b6.js +0 -328
  444. package/dist/vb-3a2b0a51.js +0 -364
  445. package/dist/wgsl-b2ddb3e4.js +0 -420
  446. package/dist/xml-69527c9c.js +0 -95
  447. package/dist/yaml-eb80879d.js +0 -184
@@ -0,0 +1,315 @@
1
+ import moment from 'moment';
2
+ import {get, post} from './Api';
3
+ import { ROUTES } from './Constants'
4
+ import { sortCallback } from './Helper';
5
+ import {
6
+ TeamList,
7
+ ResponseType,
8
+ DeploymentNodeType,
9
+ CDModalTab,
10
+ FilterStates,
11
+ CDMaterialServiceEnum,
12
+ CDMaterialServiceQueryParams,
13
+ CDMaterialResponseType,
14
+ CDMaterialsMetaInfo,
15
+ CDMaterialsApprovalInfo,
16
+ CDMaterialFilterQuery,
17
+ } from './Types'
18
+
19
+ export const getTeamListMin = (): Promise<TeamList> => {
20
+ // ignore active field
21
+ const URL = `${ROUTES.PROJECT_LIST_MIN}`;
22
+ return get(URL).then(response => {
23
+ let list = [];
24
+ if (response && response.result && Array.isArray(response.result)) {
25
+ list = response.result;
26
+ }
27
+ list = list.sort((a, b) => {
28
+ return sortCallback('name', a, b);
29
+ });
30
+ return {
31
+ code: response.code,
32
+ status: response.status,
33
+ result: list,
34
+ };
35
+ });
36
+ };
37
+
38
+ interface UserRole extends ResponseType {
39
+ result?: {
40
+ roles: string[]
41
+ superAdmin: boolean
42
+ }
43
+ }
44
+
45
+ const stageMap = {
46
+ PRECD: 'PRE',
47
+ CD: 'DEPLOY',
48
+ POSTCD: 'POST',
49
+ APPROVAL: 'APPROVAL',
50
+ }
51
+
52
+ export const SourceTypeMap = {
53
+ BranchFixed: 'SOURCE_TYPE_BRANCH_FIXED',
54
+ WEBHOOK: 'WEBHOOK',
55
+ BranchRegex: 'SOURCE_TYPE_BRANCH_REGEX',
56
+ }
57
+
58
+ export function getUserRole(appName?: string): Promise<UserRole> {
59
+ return get(`${ROUTES.USER_CHECK_ROLE}${appName ? `?appName=${appName}` : ''}`)
60
+ }
61
+
62
+ export function setImageTags(request, pipelineId: number, artifactId: number){
63
+ return post(`${ROUTES.IMAGE_TAGGING}/${pipelineId}/${artifactId}`,request )
64
+ }
65
+
66
+ const processURL = (url: string, params: object) => {
67
+ const validParams = Object.keys(params).filter((key) => {
68
+ return params[key] != null
69
+ })
70
+
71
+ if (!validParams.length) {
72
+ return url
73
+ }
74
+
75
+ const queryString = validParams
76
+ .map((key) => {
77
+ if (Array.isArray(params[key])) {
78
+ return `${key}=${params[key].join(',')}`
79
+ }
80
+ return `${key}=${params[key]}`
81
+ })
82
+ .join('&')
83
+
84
+ return `${url}?${queryString}`
85
+ }
86
+
87
+ const cdMaterialListModal = (artifacts: any[], offset: number, artifactId?: number, artifactStatus?: string) => {
88
+ if (!artifacts || !artifacts.length) return []
89
+
90
+ const markFirstSelected = offset === 0
91
+ const startIndex = offset
92
+ let isImageMarked = false
93
+
94
+ const materials = artifacts.map((material, index) => {
95
+ let artifactStatusValue = ''
96
+ const filterState = material.filterState ?? FilterStates.ALLOWED
97
+
98
+ if (artifactId && artifactStatus && material.id === artifactId) {
99
+ artifactStatusValue = artifactStatus
100
+ }
101
+
102
+ const selectImage =
103
+ !isImageMarked && markFirstSelected && filterState === FilterStates.ALLOWED ? !material.vulnerable : false
104
+ if (selectImage) {
105
+ isImageMarked = true
106
+ }
107
+
108
+ return {
109
+ index: startIndex + index,
110
+ id: material.id,
111
+ deployedTime: material.deployed_time
112
+ ? moment(material.deployed_time).format('ddd, DD MMM YYYY, hh:mm A')
113
+ : 'Not Deployed',
114
+ deployedBy: material.deployedBy,
115
+ wfrId: material.wfrId,
116
+ tab: CDModalTab.Changes,
117
+ image: extractImage(material.image),
118
+ showChanges: false,
119
+ vulnerabilities: [],
120
+ buildTime: material.build_time || '',
121
+ isSelected: selectImage,
122
+ showSourceInfo: false,
123
+ deployed: material.deployed || false,
124
+ latest: material.latest || false,
125
+ vulnerabilitiesLoading: true,
126
+ scanned: material.scanned,
127
+ scanEnabled: material.scanEnabled,
128
+ vulnerable: material.vulnerable,
129
+ runningOnParentCd: material.runningOnParentCd,
130
+ artifactStatus: artifactStatusValue,
131
+ userApprovalMetadata: material.userApprovalMetadata,
132
+ triggeredBy: material.triggeredBy,
133
+ isVirtualEnvironment: material.isVirtualEnvironment,
134
+ imageComment: material.imageComment,
135
+ imageReleaseTags: material.imageReleaseTags,
136
+ // It is going to be null but required in type so can't remove
137
+ lastExecution: material.lastExecution,
138
+ materialInfo: material.material_info
139
+ ? material.material_info.map((mat) => {
140
+ return {
141
+ modifiedTime: mat.modifiedTime
142
+ ? moment(mat.modifiedTime).format('ddd, DD MMM YYYY, hh:mm A')
143
+ : '',
144
+ commitLink: createGitCommitUrl(mat.url, mat.revision),
145
+ author: mat.author || '',
146
+ message: mat.message || '',
147
+ revision: mat.revision || '',
148
+ tag: mat.tag || '',
149
+ webhookData: mat.webhookData || '',
150
+ url: mat.url || '',
151
+ branch:
152
+ (material.ciConfigureSourceType === SourceTypeMap.WEBHOOK
153
+ ? material.ciConfigureSourceValue
154
+ : mat.branch) || '',
155
+ type: material.ciConfigureSourceType || '',
156
+ }
157
+ })
158
+ : [],
159
+ filterState,
160
+ appliedFiltersTimestamp: material.appliedFiltersTimestamp ?? '',
161
+ appliedFilters: material.appliedFilters ?? [],
162
+ appliedFiltersState: material.appliedFiltersState ?? FilterStates.ALLOWED,
163
+ createdTime: material.createdTime ?? '',
164
+ dataSource: material.data_source ?? '',
165
+ registryType: material.registryType ?? '',
166
+ imagePath: material.image ?? '',
167
+ registryName: material.registryName ?? '',
168
+ }
169
+ })
170
+ return materials
171
+ }
172
+
173
+ const processCDMaterialsApprovalInfo = (enableApproval: boolean, cdMaterialsResult): CDMaterialsApprovalInfo => {
174
+ if (!enableApproval) {
175
+ return {
176
+ approvalUsers: [],
177
+ userApprovalConfig: null,
178
+ requestedUserId: 0,
179
+ }
180
+ }
181
+
182
+ return {
183
+ approvalUsers: cdMaterialsResult.approvalUsers,
184
+ userApprovalConfig: cdMaterialsResult.userApprovalConfig,
185
+ requestedUserId: cdMaterialsResult.requestedUserId,
186
+ }
187
+ }
188
+
189
+ const processCDMaterialsMetaInfo = (cdMaterialsResult): CDMaterialsMetaInfo => {
190
+ if (!cdMaterialsResult) {
191
+ return {
192
+ tagsEditable: false,
193
+ appReleaseTagNames: [],
194
+ hideImageTaggingHardDelete: false,
195
+ resourceFilters: [],
196
+ totalCount: 0,
197
+ canApproverDeploy: cdMaterialsResult.canApproverDeploy ?? false,
198
+ }
199
+ }
200
+
201
+ return {
202
+ appReleaseTagNames: cdMaterialsResult.appReleaseTagNames,
203
+ tagsEditable: cdMaterialsResult.tagsEditable,
204
+ hideImageTaggingHardDelete: cdMaterialsResult.hideImageTaggingHardDelete,
205
+ resourceFilters: cdMaterialsResult.resourceFilters ?? [],
206
+ totalCount: cdMaterialsResult.totalCount ?? 0,
207
+ canApproverDeploy: cdMaterialsResult.canApproverDeploy ?? false,
208
+ }
209
+ }
210
+
211
+ const processCDMaterialServiceResponse = (
212
+ cdMaterialsResult,
213
+ stage: DeploymentNodeType,
214
+ offset: number,
215
+ filter: CDMaterialFilterQuery,
216
+ ): CDMaterialResponseType => {
217
+ if (!cdMaterialsResult) {
218
+ return {
219
+ materials: [],
220
+ ...processCDMaterialsMetaInfo(cdMaterialsResult),
221
+ ...processCDMaterialsApprovalInfo(false, cdMaterialsResult),
222
+ }
223
+ }
224
+
225
+ const materials = cdMaterialListModal(
226
+ cdMaterialsResult.ci_artifacts,
227
+ offset ?? 0,
228
+ cdMaterialsResult.latest_wf_artifact_id,
229
+ cdMaterialsResult.latest_wf_artifact_status,
230
+ )
231
+ const approvalInfo = processCDMaterialsApprovalInfo(
232
+ stage === DeploymentNodeType.CD || stage === DeploymentNodeType.APPROVAL,
233
+ cdMaterialsResult,
234
+ )
235
+ const metaInfo = processCDMaterialsMetaInfo(cdMaterialsResult)
236
+
237
+ // TODO: On update of service would remove from here
238
+ const filteredMaterials =
239
+ filter && filter === CDMaterialFilterQuery.RESOURCE
240
+ ? materials.filter((material) => {
241
+ return material.filterState === FilterStates.ALLOWED
242
+ })
243
+ : materials
244
+
245
+ return {
246
+ materials: filteredMaterials,
247
+ ...approvalInfo,
248
+ ...metaInfo,
249
+ }
250
+ }
251
+
252
+ const getSanitizedQueryParams = (queryParams: CDMaterialServiceQueryParams): CDMaterialServiceQueryParams => {
253
+ const { filter, ...rest } = queryParams
254
+ return rest
255
+ }
256
+
257
+ export const genericCDMaterialsService = (
258
+ serviceType: CDMaterialServiceEnum,
259
+ cdMaterialID: number,
260
+ stage: DeploymentNodeType,
261
+ signal: AbortSignal,
262
+ queryParams: CDMaterialServiceQueryParams = {},
263
+ ): Promise<CDMaterialResponseType> => {
264
+ // TODO: On update of service would remove from here
265
+ const manipulatedParams = getSanitizedQueryParams(queryParams)
266
+
267
+ let URL
268
+ switch (serviceType) {
269
+ case CDMaterialServiceEnum.ROLLBACK:
270
+ URL = processURL(`${ROUTES.CD_MATERIAL_GET}/${cdMaterialID}/material/rollback`, manipulatedParams)
271
+ break
272
+
273
+ // Meant for handling getCDMaterialList
274
+ default:
275
+ URL = processURL(`${ROUTES.CD_MATERIAL_GET}/${cdMaterialID}/material`, { ...manipulatedParams, stage: stageMap[stage] })
276
+ break
277
+ }
278
+
279
+ return get(URL, { signal }).then((response) => {
280
+ return processCDMaterialServiceResponse(response.result, stage, queryParams.offset, queryParams.filter)
281
+ })
282
+ }
283
+
284
+ export function extractImage(image: string): string {
285
+ return image ? image.split(':').pop() : ''
286
+ }
287
+
288
+ export function createGitCommitUrl(url: string, revision: string): string {
289
+ if (!url || !revision) {
290
+ return "NA"
291
+ }
292
+ if (url.indexOf("gitlab") > 0 || url.indexOf("github") > 0 || url.indexOf("azure") > 0) {
293
+ let urlpart = url.split("@")
294
+ if (urlpart.length > 1) {
295
+ return "https://" + urlpart[1].split(".git")[0] + "/commit/" + revision
296
+ }
297
+ if (urlpart.length == 1) {
298
+ return urlpart[0].split(".git")[0] + "/commit/" + revision
299
+ }
300
+ }
301
+ if (url.indexOf("bitbucket") > 0) {
302
+ let urlpart = url.split("@")
303
+ if (urlpart.length > 1) {
304
+ return "https://" + urlpart[1].split(".git")[0] + "/commits/" + revision
305
+ }
306
+ if (urlpart.length == 1) {
307
+ return urlpart[0].split(".git")[0] + "/commits/" + revision
308
+ }
309
+ }
310
+ return "NA"
311
+ }
312
+
313
+ export function fetchChartTemplateVersions() {
314
+ return get(`${ROUTES.DEPLOYMENT_TEMPLATE_LIST}?appId=-1&envId=-1`)
315
+ }
@@ -0,0 +1,243 @@
1
+ import { RegistryTypeDetailType } from "./Types"
2
+
3
+ export const FALLBACK_REQUEST_TIMEOUT = 60000
4
+ export const Host = process.env.REACT_APP_ORCHESTRATOR_ROOT
5
+
6
+ export const DOCUMENTATION_HOME_PAGE = 'https://docs.devtron.ai'
7
+ export const DOCUMENTATION = {
8
+ APP_TAGS: `${DOCUMENTATION_HOME_PAGE}/v/v0.6/usage/applications/create-application#tags`,
9
+ APP_OVERVIEW_TAGS: `${DOCUMENTATION_HOME_PAGE}/v/v0.6/usage/applications/overview#manage-tags`,
10
+ }
11
+
12
+ export const PATTERNS = {
13
+ KUBERNETES_KEY_PREFIX: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/,
14
+ KUBERNETES_KEY_NAME: /^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$/,
15
+ START_END_ALPHANUMERIC: /^([Az09].*[A-Za-z0-9])$|[A-Za-z0-9]$/,
16
+ ALPHANUMERIC_WITH_SPECIAL_CHAR: /^[A-Za-z0-9._-]+$/, // allow alphanumeric,(.) ,(-),(_)
17
+ }
18
+
19
+ export const URLS = {
20
+ LOGIN_SSO: '/login/sso',
21
+ }
22
+
23
+ export const ROUTES = {
24
+ PROJECT_LIST_MIN: 'team/autocomplete',
25
+ USER_CHECK_ROLE: 'user/check/roles',
26
+ IMAGE_TAGGING:'app/image-tagging',
27
+ CD_MATERIAL_GET: 'app/cd-pipeline',
28
+ DEPLOYMENT_TEMPLATE_LIST: 'app/template/list'
29
+ }
30
+
31
+ export enum KEY_VALUE {
32
+ KEY = 'key',
33
+ VALUE = 'value',
34
+ }
35
+
36
+ export const DEFAULT_TAG_DATA = {
37
+ key: '',
38
+ value: '',
39
+ propagate: false,
40
+ isInvalidKey: false,
41
+ isInvalidValue: false,
42
+ isSuggested: true,
43
+ }
44
+
45
+ export const TOAST_ACCESS_DENIED = {
46
+ TITLE: 'Access denied',
47
+ SUBTITLE: 'You do not have required access to perform this action',
48
+ }
49
+
50
+ // Empty state messgaes
51
+ export const ERROR_EMPTY_SCREEN = {
52
+ PAGE_NOT_FOUND: 'We could not find this page',
53
+ PAGE_NOT_EXIST: 'This page doesn’t exist or was removed. We suggest you go back to home',
54
+ TAKE_BACK_HOME: 'Take me home',
55
+ ONLY_FOR_SUPERADMIN: 'Information on this page is available only to superadmin users.',
56
+ NOT_AUTHORIZED: 'Not authorized',
57
+ UNAUTHORIZED: 'unauthorized',
58
+ FORBIDDEN: 'forbidden',
59
+ REQUIRED_MANAGER_ACCESS:
60
+ 'Looks like you don’t have access to information on this page. Please contact your manager to request access.',
61
+ }
62
+ export const TOKEN_COOKIE_NAME = 'argocd.token'
63
+ export const TriggerTypeMap = {
64
+ automatic: 'Auto',
65
+ manual: 'Manual',
66
+ }
67
+
68
+ export const BuildStageVariable = {
69
+ PreBuild: 'preBuildStage',
70
+ Build: 'buildStage',
71
+ PostBuild: 'postBuildStage',
72
+ }
73
+
74
+ export const REGISTRY_TYPE_MAP: Record<string, RegistryTypeDetailType> = {
75
+ ecr: {
76
+ value: 'ecr',
77
+ label: 'ECR',
78
+ desiredFormat: '(desired format: repo-name)',
79
+ placeholderText: 'Eg. repo_name',
80
+ gettingStartedLink: 'https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html',
81
+ defaultRegistryURL: '',
82
+ registryURL: {
83
+ label: 'Registry URL',
84
+ defaultValue: '',
85
+ placeholder: 'Eg. xxxxxxxxxxxx.dkr.ecr.region.amazonaws.com',
86
+ },
87
+ id: {
88
+ label: 'Access key ID',
89
+ defaultValue: '',
90
+ placeholder: '',
91
+ },
92
+ password: {
93
+ label: 'Secret access key',
94
+ defaultValue: '',
95
+ placeholder: '',
96
+ },
97
+ },
98
+ 'docker-hub': {
99
+ value: 'docker-hub',
100
+ label: 'Docker',
101
+ desiredFormat: '(desired format: username/repo-name)',
102
+ placeholderText: 'Eg. username/repo_name',
103
+ gettingStartedLink: 'https://docs.docker.com/docker-hub/',
104
+ defaultRegistryURL: 'docker.io',
105
+ registryURL: {
106
+ label: 'Registry URL',
107
+ defaultValue: '',
108
+ placeholder: '',
109
+ },
110
+ id: {
111
+ label: 'Username',
112
+ defaultValue: '',
113
+ placeholder: '',
114
+ },
115
+ password: {
116
+ label: 'Password/Token (Recommended: Token)',
117
+ defaultValue: '',
118
+ placeholder: '',
119
+ },
120
+ },
121
+ acr: {
122
+ value: 'acr',
123
+ label: 'Azure',
124
+ desiredFormat: '(desired format: repo-name)',
125
+ placeholderText: 'Eg. repo_name',
126
+ gettingStartedLink:
127
+ 'https://docs.microsoft.com/en-us/azure/container-registry/container-registry-get-started-portal',
128
+ defaultRegistryURL: '',
129
+ registryURL: {
130
+ label: 'Registry URL/Login Server',
131
+ defaultValue: '',
132
+ placeholder: 'Eg. xxx.azurecr.io',
133
+ },
134
+ id: {
135
+ label: 'Username/Registry Name',
136
+ defaultValue: '',
137
+ placeholder: '',
138
+ },
139
+ password: {
140
+ label: 'Password',
141
+ defaultValue: '',
142
+ placeholder: '',
143
+ },
144
+ },
145
+ 'artifact-registry': {
146
+ value: 'artifact-registry',
147
+ label: 'Artifact Registry (GCP)',
148
+ desiredFormat: '(desired format: project-id/artifacts-repo/repo-name)',
149
+ placeholderText: 'Eg. project-id/artifacts-repo/repo-name',
150
+ gettingStartedLink: 'https://cloud.google.com/artifact-registry/docs/manage-repos?hl=en_US',
151
+ defaultRegistryURL: '',
152
+ registryURL: {
153
+ label: 'Registry URL',
154
+ defaultValue: '',
155
+ placeholder: 'Eg. region-docker.pkg.dev',
156
+ },
157
+ id: {
158
+ label: 'Username',
159
+ defaultValue: '_json_key',
160
+ placeholder: '',
161
+ },
162
+ password: {
163
+ label: 'Service Account JSON File',
164
+ defaultValue: '',
165
+ placeholder: 'Paste json file content here',
166
+ },
167
+ },
168
+ gcr: {
169
+ value: 'gcr',
170
+ label: 'GCR',
171
+ desiredFormat: '(desired format: project-id/repo-name)',
172
+ placeholderText: 'Eg. project-id/repo_name',
173
+ gettingStartedLink: 'https://cloud.google.com/container-registry/docs/quickstart',
174
+ defaultRegistryURL: 'gcr.io',
175
+ registryURL: {
176
+ label: 'Registry URL',
177
+ defaultValue: 'gcr.io',
178
+ placeholder: '',
179
+ },
180
+ id: {
181
+ label: 'Username',
182
+ defaultValue: '_json_key',
183
+ placeholder: '',
184
+ },
185
+ password: {
186
+ label: 'Service Account JSON File',
187
+ defaultValue: '',
188
+ placeholder: 'Paste json file content here',
189
+ },
190
+ },
191
+ quay: {
192
+ value: 'quay',
193
+ label: 'Quay',
194
+ desiredFormat: '(desired format: username/repo-name)',
195
+ placeholderText: 'Eg. username/repo_name',
196
+ gettingStartedLink: '',
197
+ defaultRegistryURL: 'quay.io',
198
+ registryURL: {
199
+ label: 'Registry URL',
200
+ defaultValue: '',
201
+ placeholder: '',
202
+ },
203
+ id: {
204
+ label: 'Username',
205
+ defaultValue: '',
206
+ placeholder: '',
207
+ },
208
+ password: {
209
+ label: 'Token',
210
+ defaultValue: '',
211
+ placeholder: '',
212
+ },
213
+ },
214
+ other: {
215
+ value: 'other',
216
+ label: 'Other',
217
+ desiredFormat: '',
218
+ placeholderText: '',
219
+ gettingStartedLink: '',
220
+ defaultRegistryURL: '',
221
+ registryURL: {
222
+ label: 'Registry URL',
223
+ defaultValue: '',
224
+ placeholder: '',
225
+ },
226
+ id: {
227
+ label: 'Username',
228
+ defaultValue: '',
229
+ placeholder: '',
230
+ },
231
+ password: {
232
+ label: 'Password/Token',
233
+ defaultValue: '',
234
+ placeholder: '',
235
+ },
236
+ },
237
+ }
238
+
239
+ export const RepositoryAction = {
240
+ CONTAINER: "CONTAINER",
241
+ CHART_PULL: "CHART_PULL",
242
+ CHART_PUSH: "CHART_PUSH"
243
+ }
@@ -0,0 +1,131 @@
1
+ import { CustomInputProps } from './Types'
2
+ import { ReactComponent as Info } from '../../Assets/Icon/ic-info-filled.svg'
3
+ import { ReactComponent as ErrorIcon } from '../../Assets/Icon/ic-warning.svg'
4
+
5
+ export function CustomInput({
6
+ name,
7
+ value,
8
+ error,
9
+ onChange,
10
+ onFocus = (e) => {},
11
+ label,
12
+ type = 'text',
13
+ disabled = false,
14
+ labelClassName = '',
15
+ placeholder = '',
16
+ tabIndex = 1,
17
+ dataTestid = '',
18
+ isRequiredField = false,
19
+ autoFocus = false,
20
+ rootClassName = '',
21
+ autoComplete = 'off',
22
+ helperText = '',
23
+ handleOnBlur,
24
+ readOnly = false,
25
+ noTrim = false,
26
+ ref,
27
+ onKeyPress,
28
+ defaultValue,
29
+ onKeyDown,
30
+ required,
31
+ additionalErrorInfo
32
+ }: CustomInputProps) {
33
+
34
+ function handleError(error: any): any[] {
35
+ if (!Array.isArray(error)) {
36
+ return [error]
37
+ }
38
+ return error
39
+ }
40
+
41
+ const onBlur = (event) => {
42
+ //NOTE: This is to prevent the input from being trimmed when the user do not want to trim the input
43
+ if (!noTrim) {
44
+ event.stopPropagation()
45
+ event.target.value = event.target.value?.trim()
46
+ onChange(event)
47
+ }
48
+ if (typeof handleOnBlur === 'function') {
49
+ handleOnBlur(event)
50
+ }
51
+ }
52
+
53
+ const renderFormErrorWithIcon = (error: string) => {
54
+ return (
55
+ <div className="form__error" key={error}>
56
+ <ErrorIcon className="form__icon form__icon--error" />
57
+ {error}
58
+ {typeof additionalErrorInfo === 'function' && additionalErrorInfo()}
59
+ </div>
60
+ )
61
+ }
62
+
63
+ const getInputError = () => {
64
+ if (!error?.length) {
65
+ return null
66
+ } else {
67
+ if (typeof error === 'object') {
68
+ return handleError(error).map((err: string) => renderFormErrorWithIcon(err))
69
+ }
70
+ return renderFormErrorWithIcon(error)
71
+ }
72
+ }
73
+
74
+ const renderInputLabelConditionally = () => {
75
+ if (typeof label === 'string') {
76
+ return <span className={`${isRequiredField ? 'dc__required-field' : ''}`}>{label}</span>
77
+ } else {
78
+ return label
79
+ }
80
+ }
81
+
82
+ const renderInputLabel = () => {
83
+ if (!label) {
84
+ return null
85
+ } else {
86
+ return (
87
+ <label className={`form__label ${labelClassName}`} data-testid={`label-${dataTestid}`}>
88
+ {renderInputLabelConditionally()}
89
+ </label>
90
+ )
91
+ }
92
+ }
93
+
94
+ return (
95
+ <div className="flex column left top">
96
+ {renderInputLabel()}
97
+ <input
98
+ data-testid={dataTestid}
99
+ type={type}
100
+ name={name}
101
+ autoComplete={autoComplete}
102
+ className={`form__input ${rootClassName}`}
103
+ onChange={(e) => {
104
+ e.persist()
105
+ onChange(e)
106
+ }}
107
+ onBlur={onBlur}
108
+ onFocus={onFocus}
109
+ placeholder={placeholder}
110
+ value={value}
111
+ disabled={disabled}
112
+ tabIndex={tabIndex}
113
+ autoFocus={autoFocus}
114
+ readOnly={readOnly}
115
+ ref={ref}
116
+ onKeyPress={onKeyPress}
117
+ defaultValue={defaultValue}
118
+ onKeyDown={onKeyDown}
119
+ required={required}
120
+ />
121
+
122
+ {getInputError()}
123
+ {helperText && (
124
+ <div className="form__text-field-info">
125
+ <Info className="form__icon form__icon--info" />
126
+ <p className="sentence-case">{helperText}</p>
127
+ </div>
128
+ )}
129
+ </div>
130
+ )
131
+ }