@devtron-labs/devtron-fe-common-lib 0.0.60-beta-1 → 0.0.60-beta-3

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 (384) hide show
  1. package/.eslintignore +96 -0
  2. package/.eslintrc.js +109 -0
  3. package/.github/pull_request_template.md +25 -0
  4. package/.github/workflows/ci.yml +31 -0
  5. package/.github/workflows/release-package.yml +48 -0
  6. package/.husky/pre-commit +5 -0
  7. package/.lintstagedrc +3 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierrc.js +7 -0
  10. package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -3
  11. package/dist/Common/AddCDButton/index.d.ts +2 -2
  12. package/dist/Common/AddCDButton/types.d.ts +26 -26
  13. package/dist/Common/AddCDButton/utils.d.ts +2 -2
  14. package/dist/Common/Api.d.ts +5 -5
  15. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  16. package/dist/Common/AppStatus/constants.d.ts +51 -51
  17. package/dist/Common/AppStatus/index.d.ts +1 -1
  18. package/dist/Common/AppStatus/types.d.ts +12 -12
  19. package/dist/Common/AppStatus/utils.d.ts +1 -1
  20. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  21. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  22. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  23. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  24. package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -3
  25. package/dist/Common/Checkbox.d.ts +5 -5
  26. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  27. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  28. package/dist/Common/Common.service.d.ts +20 -20
  29. package/dist/Common/Constants.d.ts +75 -81
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -2
  31. package/dist/Common/CustomInput/Types.d.ts +31 -31
  32. package/dist/Common/CustomInput/index.d.ts +2 -2
  33. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  34. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -2
  35. package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
  36. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
  37. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
  38. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  39. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  40. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  41. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  42. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +17 -17
  43. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  44. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  45. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -3
  46. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  47. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -2
  48. package/dist/Common/DevtronProgressing/index.d.ts +1 -1
  49. package/dist/Common/DevtronProgressing/types.d.ts +4 -4
  50. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -8
  51. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  52. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  53. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  54. package/dist/Common/Dialogs/Types.d.ts +45 -45
  55. package/dist/Common/Dialogs/index.d.ts +4 -4
  56. package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -3
  57. package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -9
  58. package/dist/Common/DraggableWrapper/index.d.ts +3 -3
  59. package/dist/Common/DraggableWrapper/types.d.ts +23 -23
  60. package/dist/Common/Drawer/Drawer.d.ts +16 -14
  61. package/dist/Common/EmptyState/EmptyState.d.ts +25 -0
  62. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -3
  63. package/dist/Common/Error.d.ts +17 -17
  64. package/dist/Common/ErrorScreenNotFound.d.ts +3 -2
  65. package/dist/Common/Grid/Grid.d.ts +3 -3
  66. package/dist/Common/Grid/types.d.ts +10 -10
  67. package/dist/Common/Helper.d.ts +67 -68
  68. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  69. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  70. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  71. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.d.ts +4 -4
  72. package/dist/Common/Hooks/index.d.ts +3 -3
  73. package/dist/Common/ImageTags.Types.d.ts +40 -40
  74. package/dist/Common/ImageTags.d.ts +4 -3
  75. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -3
  76. package/dist/Common/Modals/Modal.d.ts +3 -3
  77. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  78. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  79. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  80. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  81. package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
  82. package/dist/Common/Pagination/Pagination.d.ts +5 -3
  83. package/dist/Common/Pagination/constants.d.ts +5 -5
  84. package/dist/Common/Pagination/index.d.ts +1 -1
  85. package/dist/Common/Pagination/types.d.ts +51 -51
  86. package/dist/Common/Pagination/utils.d.ts +6 -6
  87. package/dist/Common/Policy.Types.d.ts +56 -56
  88. package/dist/Common/PopupMenu.d.ts +8 -7
  89. package/dist/Common/Progressing.d.ts +4 -3
  90. package/dist/Common/RJSF/Form.d.ts +4 -2
  91. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
  92. package/dist/Common/RJSF/common/types.d.ts +8 -8
  93. package/dist/Common/RJSF/config.d.ts +4 -4
  94. package/dist/Common/RJSF/constants.d.ts +7 -7
  95. package/dist/Common/RJSF/index.d.ts +3 -3
  96. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
  97. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
  98. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
  99. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
  100. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
  101. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
  102. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
  103. package/dist/Common/RJSF/templates/Description.d.ts +3 -2
  104. package/dist/Common/RJSF/templates/Field.d.ts +3 -2
  105. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
  106. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
  107. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
  108. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
  109. package/dist/Common/RJSF/templates/index.d.ts +10 -10
  110. package/dist/Common/RJSF/types.d.ts +3 -3
  111. package/dist/Common/RJSF/utils.d.ts +26 -25
  112. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
  113. package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
  114. package/dist/Common/RJSF/widgets/index.d.ts +2 -2
  115. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  116. package/dist/Common/RadioGroup.d.ts +8 -8
  117. package/dist/Common/Reload.d.ts +3 -3
  118. package/dist/Common/ResizableTextarea.d.ts +3 -3
  119. package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
  120. package/dist/Common/SearchBar/index.d.ts +2 -2
  121. package/dist/Common/SearchBar/types.d.ts +35 -35
  122. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  123. package/dist/Common/ServerError.d.ts +15 -15
  124. package/dist/Common/TippyCustomized.d.ts +4 -2
  125. package/dist/Common/ToastBody.d.ts +23 -23
  126. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  127. package/dist/Common/Types.d.ts +692 -691
  128. package/dist/Common/index.d.ts +50 -50
  129. package/dist/index.d.ts +1 -7
  130. package/dist/index.js +28900 -162
  131. package/package.json +23 -34
  132. package/rollup.config.js +31 -0
  133. package/src/Assets/Icon/ic-add.svg +3 -0
  134. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  135. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  136. package/src/Assets/Icon/ic-check.svg +5 -0
  137. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  138. package/src/Assets/Icon/ic-copy.svg +3 -0
  139. package/src/Assets/Icon/ic-cross.svg +3 -0
  140. package/src/Assets/Icon/ic-drag.svg +8 -0
  141. package/src/Assets/Icon/ic-enter.svg +3 -0
  142. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  143. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  144. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  145. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  146. package/src/Assets/Icon/ic-help.svg +3 -0
  147. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  148. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  149. package/src/Assets/Icon/ic-minus.svg +3 -0
  150. package/src/Assets/Icon/ic-pencil.svg +3 -0
  151. package/src/Assets/Icon/ic-progressing.svg +6 -0
  152. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  153. package/src/Assets/Icon/ic-search.svg +6 -0
  154. package/src/Assets/Icon/ic-warning.svg +7 -0
  155. package/src/Assets/Icon/inject-tag.svg +5 -0
  156. package/src/Assets/Img/app-not-deployed.png +0 -0
  157. package/src/Assets/Img/delete-medium.svg +15 -0
  158. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  159. package/src/Assets/Img/ic-loading-failure.png +0 -0
  160. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  161. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  162. package/src/Common/AddCDButton/index.ts +2 -0
  163. package/src/Common/AddCDButton/types.ts +38 -0
  164. package/src/Common/AddCDButton/utils.tsx +35 -0
  165. package/src/Common/Api.ts +230 -0
  166. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  167. package/src/Common/AppStatus/constants.ts +53 -0
  168. package/src/Common/AppStatus/index.ts +1 -0
  169. package/src/Common/AppStatus/types.ts +12 -0
  170. package/src/Common/AppStatus/utils.ts +14 -0
  171. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  172. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  173. package/src/Common/BreadCrumb/Types.ts +30 -0
  174. package/src/Common/CIPipeline.Types.ts +277 -0
  175. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  176. package/src/Common/Checkbox.tsx +36 -0
  177. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  178. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  179. package/src/Common/ClipboardButton/types.ts +7 -0
  180. package/src/Common/Common.service.ts +315 -0
  181. package/src/Common/Constants.ts +254 -0
  182. package/src/Common/CustomInput/CustomInput.tsx +134 -0
  183. package/src/Common/CustomInput/Types.ts +32 -0
  184. package/src/Common/CustomInput/index.ts +2 -0
  185. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  186. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  187. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  188. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  189. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  190. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  191. package/src/Common/CustomTagSelector/Types.ts +72 -0
  192. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  193. package/src/Common/CustomTagSelector/index.ts +6 -0
  194. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  195. package/src/Common/DebouncedSearch/Types.ts +13 -0
  196. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  197. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  198. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  199. package/src/Common/DeleteComponentModal/types.ts +15 -0
  200. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  201. package/src/Common/DevtronProgressing/index.ts +1 -0
  202. package/src/Common/DevtronProgressing/types.ts +4 -0
  203. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  204. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  205. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  206. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  207. package/src/Common/Dialogs/Types.ts +47 -0
  208. package/src/Common/Dialogs/index.ts +4 -0
  209. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  210. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +116 -0
  211. package/src/Common/DraggableWrapper/index.ts +3 -0
  212. package/src/Common/DraggableWrapper/types.ts +27 -0
  213. package/src/Common/Drawer/Drawer.scss +40 -0
  214. package/src/Common/Drawer/Drawer.tsx +49 -0
  215. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  216. package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
  217. package/src/Common/EmptyState/emptyState.scss +74 -0
  218. package/src/Common/Error.tsx +61 -0
  219. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  220. package/src/Common/Grid/Grid.tsx +44 -0
  221. package/src/Common/Grid/types.ts +11 -0
  222. package/src/Common/Helper.tsx +590 -0
  223. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  224. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  225. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  226. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  227. package/src/Common/Hooks/index.ts +3 -0
  228. package/src/Common/ImageTags.Types.ts +44 -0
  229. package/src/Common/ImageTags.tsx +586 -0
  230. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  231. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  232. package/src/Common/Modals/Modal.tsx +68 -0
  233. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  234. package/src/Common/Modals/VisibleModal.tsx +55 -0
  235. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  236. package/src/Common/MultiSelectCustomization.tsx +148 -0
  237. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  238. package/src/Common/Pagination/Pagination.tsx +127 -0
  239. package/src/Common/Pagination/constants.ts +6 -0
  240. package/src/Common/Pagination/index.tsx +3 -0
  241. package/src/Common/Pagination/pagination.scss +123 -0
  242. package/src/Common/Pagination/types.ts +55 -0
  243. package/src/Common/Pagination/utils.tsx +24 -0
  244. package/src/Common/Policy.Types.ts +63 -0
  245. package/src/Common/PopupMenu.tsx +199 -0
  246. package/src/Common/Progressing.tsx +53 -0
  247. package/src/Common/RJSF/Form.tsx +29 -0
  248. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  249. package/src/Common/RJSF/common/types.ts +9 -0
  250. package/src/Common/RJSF/config.ts +37 -0
  251. package/src/Common/RJSF/constants.ts +10 -0
  252. package/src/Common/RJSF/index.ts +3 -0
  253. package/src/Common/RJSF/rjsfForm.scss +18 -0
  254. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  255. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  256. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  257. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  258. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  259. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  260. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  261. package/src/Common/RJSF/templates/Description.tsx +12 -0
  262. package/src/Common/RJSF/templates/Field.tsx +30 -0
  263. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  264. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  265. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  266. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  267. package/src/Common/RJSF/templates/index.ts +10 -0
  268. package/src/Common/RJSF/types.ts +4 -0
  269. package/src/Common/RJSF/utils.ts +123 -0
  270. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  271. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  272. package/src/Common/RJSF/widgets/index.ts +2 -0
  273. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  274. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  275. package/src/Common/RadioGroup.tsx +53 -0
  276. package/src/Common/Reload.tsx +23 -0
  277. package/src/Common/ResizableTextarea.tsx +73 -0
  278. package/src/Common/SearchBar/SearchBar.component.tsx +119 -0
  279. package/src/Common/SearchBar/index.ts +2 -0
  280. package/src/Common/SearchBar/searchBar.scss +31 -0
  281. package/src/Common/SearchBar/types.ts +34 -0
  282. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  283. package/src/Common/Security/scanVulnerabilities.css +69 -0
  284. package/src/Common/ServerError.ts +31 -0
  285. package/src/Common/TippyCustomized.tsx +172 -0
  286. package/src/Common/ToastBody.tsx +62 -0
  287. package/src/Common/Toggle/Toggle.scss +78 -0
  288. package/src/Common/Toggle/Toggle.tsx +50 -0
  289. package/src/Common/Types.ts +765 -0
  290. package/src/Common/index.ts +50 -0
  291. package/src/custom.d.ts +13 -0
  292. package/src/index.ts +1 -0
  293. package/tsconfig.json +40 -0
  294. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  295. package/dist/Common/Select/Select.d.ts +0 -4
  296. package/dist/Common/Select/types.d.ts +0 -29
  297. package/dist/abap-9f67f57a.js +0 -1314
  298. package/dist/apex-ff62e532.js +0 -315
  299. package/dist/assets/editor.worker-d26000ef.js +0 -9
  300. package/dist/assets/index.css +0 -1
  301. package/dist/assets/json.worker-f23a4654.js +0 -40
  302. package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
  303. package/dist/azcli-31e64a7f.js +0 -74
  304. package/dist/bat-0ffe897e.js +0 -95
  305. package/dist/bicep-3414a2b1.js +0 -108
  306. package/dist/cameligo-df1f3f25.js +0 -168
  307. package/dist/clojure-65b0f010.js +0 -754
  308. package/dist/coffee-437f0fba.js +0 -228
  309. package/dist/cpp-66843dd5.js +0 -390
  310. package/dist/csharp-621d9a49.js +0 -320
  311. package/dist/csp-de0d5244.js +0 -57
  312. package/dist/css-7cd5ed4c.js +0 -186
  313. package/dist/cssMode-6b75f943.js +0 -1446
  314. package/dist/cypher-70ad96fe.js +0 -262
  315. package/dist/dart-33ae3739.js +0 -270
  316. package/dist/dockerfile-f2274a50.js +0 -132
  317. package/dist/ecl-3b8294a3.js +0 -454
  318. package/dist/elixir-b9dcc73a.js +0 -489
  319. package/dist/flow9-bdde8316.js +0 -141
  320. package/dist/freemarker2-af9f92ac.js +0 -643
  321. package/dist/fsharp-eac2e449.js +0 -210
  322. package/dist/go-d12ed8d4.js +0 -208
  323. package/dist/graphql-c7356b69.js +0 -141
  324. package/dist/handlebars-cc9800dd.js +0 -391
  325. package/dist/hcl-e883a0d4.js +0 -177
  326. package/dist/html-edc1e4c2.js +0 -281
  327. package/dist/htmlMode-17cc8a79.js +0 -1456
  328. package/dist/index-32e797ab.js +0 -126102
  329. package/dist/ini-425ab711.js +0 -68
  330. package/dist/java-2bc0fd68.js +0 -221
  331. package/dist/javascript-5e615a9b.js +0 -75
  332. package/dist/jsonMode-742c1a1b.js +0 -1867
  333. package/dist/julia-1c932615.js +0 -496
  334. package/dist/kotlin-1ab839c8.js +0 -245
  335. package/dist/less-6fe856f5.js +0 -168
  336. package/dist/lexon-4955ac52.js +0 -151
  337. package/dist/liquid-843d0e9e.js +0 -238
  338. package/dist/lua-3cca0047.js +0 -157
  339. package/dist/m3-132e9cb6.js +0 -210
  340. package/dist/markdown-ea59a0c1.js +0 -202
  341. package/dist/mips-19811f4b.js +0 -194
  342. package/dist/msdax-69954a10.js +0 -377
  343. package/dist/mysql-82088e5d.js +0 -876
  344. package/dist/objective-c-1976eccc.js +0 -188
  345. package/dist/pascal-8ef177cb.js +0 -245
  346. package/dist/pascaligo-bc517b9e.js +0 -158
  347. package/dist/perl-8b93582c.js +0 -599
  348. package/dist/pgsql-00c11a6d.js +0 -847
  349. package/dist/php-4c8c276f.js +0 -471
  350. package/dist/pla-e9b4ffb1.js +0 -131
  351. package/dist/postiats-2071af8c.js +0 -544
  352. package/dist/powerquery-8e388ceb.js +0 -890
  353. package/dist/powershell-e35db398.js +0 -233
  354. package/dist/protobuf-a24b9176.js +0 -422
  355. package/dist/pug-2c94d9b8.js +0 -393
  356. package/dist/python-67e4059c.js +0 -259
  357. package/dist/qsharp-d730d7fe.js +0 -282
  358. package/dist/r-be193556.js +0 -245
  359. package/dist/razor-8e9d6aa5.js +0 -512
  360. package/dist/redis-9690c6ac.js +0 -298
  361. package/dist/redshift-6bdcdeaa.js +0 -806
  362. package/dist/restructuredtext-a08c1d20.js +0 -162
  363. package/dist/ruby-2247692b.js +0 -444
  364. package/dist/rust-1dffb4d5.js +0 -337
  365. package/dist/sb-136598e9.js +0 -110
  366. package/dist/scala-b1100fed.js +0 -353
  367. package/dist/scheme-038c8094.js +0 -114
  368. package/dist/scss-700d1b52.js +0 -244
  369. package/dist/shell-86c16e0f.js +0 -224
  370. package/dist/solidity-c05fdf3c.js +0 -1351
  371. package/dist/sophia-cd645d71.js +0 -190
  372. package/dist/sparql-01d9ec9c.js +0 -193
  373. package/dist/sql-4c33df41.js +0 -818
  374. package/dist/st-52cf1408.js +0 -414
  375. package/dist/swift-13c792ba.js +0 -315
  376. package/dist/systemverilog-0bd8b730.js +0 -556
  377. package/dist/tcl-463d7c75.js +0 -232
  378. package/dist/tsMode-d5db18bc.js +0 -811
  379. package/dist/twig-0d98f5ec.js +0 -323
  380. package/dist/typescript-302557e6.js +0 -328
  381. package/dist/vb-3a2b0a51.js +0 -364
  382. package/dist/wgsl-b2ddb3e4.js +0 -420
  383. package/dist/xml-47f08bc4.js +0 -95
  384. package/dist/yaml-49f075d9.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,254 @@
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
+ }
244
+
245
+ export enum APPROVAL_MODAL_TYPE {
246
+ CONFIG = 'CONFIG',
247
+ DEPLOYMENT = 'DEPLOYMENT',
248
+ }
249
+ export const MAX_Z_INDEX = 2147483647
250
+
251
+ export const SELECTED_APPROVAL_TAB_STATE = {
252
+ APPROVAL: 'approval',
253
+ PENDING: 'pending',
254
+ }
@@ -0,0 +1,134 @@
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
+ inputWrapClassName = '',
33
+ inputProps = {},
34
+ }: CustomInputProps) {
35
+ function handleError(error: any): any[] {
36
+ if (!Array.isArray(error)) {
37
+ return [error]
38
+ }
39
+ return error
40
+ }
41
+
42
+ const onBlur = (event) => {
43
+ //NOTE: This is to prevent the input from being trimmed when the user do not want to trim the input
44
+ if (!noTrim) {
45
+ event.stopPropagation()
46
+ event.target.value = event.target.value?.trim()
47
+ onChange(event)
48
+ }
49
+ if (typeof handleOnBlur === 'function') {
50
+ handleOnBlur(event)
51
+ }
52
+ }
53
+
54
+ const renderFormErrorWithIcon = (error: string) => {
55
+ return (
56
+ <div className="form__error" key={error}>
57
+ <ErrorIcon className="form__icon form__icon--error" />
58
+ {error}
59
+ {error && typeof additionalErrorInfo === 'function' && additionalErrorInfo()}
60
+ </div>
61
+ )
62
+ }
63
+
64
+ const getInputError = () => {
65
+ if (!error?.length) {
66
+ return null
67
+ } else {
68
+ if (typeof error === 'object') {
69
+ return handleError(error).map((err: string) => renderFormErrorWithIcon(err))
70
+ }
71
+ return renderFormErrorWithIcon(error)
72
+ }
73
+ }
74
+
75
+ const renderInputLabelConditionally = () => {
76
+ if (typeof label === 'string') {
77
+ return <span className={`${isRequiredField ? 'dc__required-field' : ''}`}>{label}</span>
78
+ } else {
79
+ return label
80
+ }
81
+ }
82
+
83
+ const renderInputLabel = () => {
84
+ if (!label) {
85
+ return null
86
+ } else {
87
+ return (
88
+ <label className={`form__label ${labelClassName}`} data-testid={`label-${dataTestid}`}>
89
+ {renderInputLabelConditionally()}
90
+ </label>
91
+ )
92
+ }
93
+ }
94
+
95
+ return (
96
+ <div className={`flex column left top ${inputWrapClassName}`}>
97
+ {renderInputLabel()}
98
+ <input
99
+ data-testid={dataTestid}
100
+ type={type}
101
+ name={name}
102
+ autoComplete={autoComplete}
103
+ className={`form__input ${rootClassName}`}
104
+ onChange={(e) => {
105
+ e.persist()
106
+ onChange(e)
107
+ }}
108
+ onBlur={onBlur}
109
+ onFocus={onFocus}
110
+ placeholder={placeholder}
111
+ value={value}
112
+ disabled={disabled}
113
+ tabIndex={tabIndex}
114
+ autoFocus={autoFocus}
115
+ readOnly={readOnly}
116
+ ref={ref}
117
+ onKeyPress={onKeyPress}
118
+ defaultValue={defaultValue}
119
+ onKeyDown={onKeyDown}
120
+ required={required}
121
+ // Will be passing other props like other data attributes etc from inputProps
122
+ {...inputProps}
123
+ />
124
+
125
+ {getInputError()}
126
+ {helperText && (
127
+ <div className="form__text-field-info">
128
+ <Info className="form__icon form__icon--info" />
129
+ <p className="sentence-case">{helperText}</p>
130
+ </div>
131
+ )}
132
+ </div>
133
+ )
134
+ }