@devtron-labs/devtron-fe-common-lib 0.0.59-beta-5 → 0.0.59-beta-6

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 (450) 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 +14 -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 +76 -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 +64 -65
  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/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.d.ts +4 -0
  130. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.d.ts +4 -0
  131. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.d.ts +7 -0
  132. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.d.ts +4 -0
  133. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.d.ts +4 -0
  134. package/dist/Pages/GlobalConfigurations/BuildInfra/Descriptor.d.ts +4 -0
  135. package/dist/Pages/GlobalConfigurations/BuildInfra/Footer.d.ts +4 -0
  136. package/dist/Pages/GlobalConfigurations/BuildInfra/constants.d.ts +50 -0
  137. package/dist/Pages/GlobalConfigurations/BuildInfra/index.d.ts +7 -0
  138. package/dist/Pages/GlobalConfigurations/BuildInfra/services.d.ts +6 -0
  139. package/dist/Pages/GlobalConfigurations/BuildInfra/types.d.ts +286 -0
  140. package/dist/Pages/GlobalConfigurations/BuildInfra/utils.d.ts +12 -0
  141. package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
  142. package/dist/Pages/index.d.ts +1 -0
  143. package/dist/Shared/Components/APIResponseHandler/APIResponseHandler.d.ts +4 -0
  144. package/dist/Shared/Components/APIResponseHandler/constants.d.ts +4 -0
  145. package/dist/Shared/Components/APIResponseHandler/index.d.ts +2 -0
  146. package/dist/Shared/Components/APIResponseHandler/types.d.ts +37 -0
  147. package/dist/Shared/Components/BulkSelection/BulkSelection.d.ts +4 -0
  148. package/dist/Shared/Components/BulkSelection/BulkSelectionDropdownItems.d.ts +4 -0
  149. package/dist/Shared/Components/BulkSelection/UseBulkSelection.d.ts +3 -0
  150. package/dist/Shared/Components/BulkSelection/constants.d.ts +8 -0
  151. package/dist/Shared/Components/BulkSelection/index.d.ts +4 -0
  152. package/dist/Shared/Components/BulkSelection/types.d.ts +51 -0
  153. package/dist/Shared/Components/ReactSelect/index.d.ts +1 -0
  154. package/dist/Shared/Components/ReactSelect/utils.d.ts +12 -0
  155. package/dist/Shared/Components/index.d.ts +3 -0
  156. package/dist/Shared/Helpers.d.ts +16 -0
  157. package/dist/Shared/index.d.ts +3 -0
  158. package/dist/Shared/validations.d.ts +8 -0
  159. package/dist/index.d.ts +3 -7
  160. package/dist/index.js +30111 -162
  161. package/package.json +23 -34
  162. package/rollup.config.js +31 -0
  163. package/src/Assets/Icon/ic-add.svg +3 -0
  164. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  165. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  166. package/src/Assets/Icon/ic-check-all.svg +5 -0
  167. package/src/Assets/Icon/ic-check-square.svg +4 -0
  168. package/src/Assets/Icon/ic-check.svg +5 -0
  169. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  170. package/src/Assets/Icon/ic-copy.svg +3 -0
  171. package/src/Assets/Icon/ic-cpu.svg +4 -0
  172. package/src/Assets/Icon/ic-cross.svg +3 -0
  173. package/src/Assets/Icon/ic-drag.svg +8 -0
  174. package/src/Assets/Icon/ic-enter.svg +3 -0
  175. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  176. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  177. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  178. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  179. package/src/Assets/Icon/ic-help.svg +3 -0
  180. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  181. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  182. package/src/Assets/Icon/ic-memory.svg +3 -0
  183. package/src/Assets/Icon/ic-minus.svg +3 -0
  184. package/src/Assets/Icon/ic-pencil.svg +3 -0
  185. package/src/Assets/Icon/ic-progressing.svg +6 -0
  186. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  187. package/src/Assets/Icon/ic-search.svg +6 -0
  188. package/src/Assets/Icon/ic-timer.svg +3 -0
  189. package/src/Assets/Icon/ic-warning.svg +7 -0
  190. package/src/Assets/Icon/inject-tag.svg +5 -0
  191. package/src/Assets/Img/app-not-deployed.png +0 -0
  192. package/src/Assets/Img/delete-medium.svg +15 -0
  193. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  194. package/src/Assets/Img/ic-loading-failure.png +0 -0
  195. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  196. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  197. package/src/Common/AddCDButton/index.ts +2 -0
  198. package/src/Common/AddCDButton/types.ts +38 -0
  199. package/src/Common/AddCDButton/utils.tsx +35 -0
  200. package/src/Common/Api.ts +251 -0
  201. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  202. package/src/Common/AppStatus/constants.ts +53 -0
  203. package/src/Common/AppStatus/index.ts +1 -0
  204. package/src/Common/AppStatus/types.ts +12 -0
  205. package/src/Common/AppStatus/utils.ts +14 -0
  206. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  207. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  208. package/src/Common/BreadCrumb/Types.ts +29 -0
  209. package/src/Common/CIPipeline.Types.ts +277 -0
  210. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  211. package/src/Common/Checkbox.tsx +37 -0
  212. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  213. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  214. package/src/Common/ClipboardButton/types.ts +7 -0
  215. package/src/Common/Common.service.ts +315 -0
  216. package/src/Common/Constants.ts +255 -0
  217. package/src/Common/CustomInput/CustomInput.tsx +135 -0
  218. package/src/Common/CustomInput/Types.ts +32 -0
  219. package/src/Common/CustomInput/index.ts +2 -0
  220. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  221. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  222. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  223. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  224. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  225. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  226. package/src/Common/CustomTagSelector/Types.ts +72 -0
  227. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  228. package/src/Common/CustomTagSelector/index.ts +6 -0
  229. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  230. package/src/Common/DebouncedSearch/Types.ts +13 -0
  231. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  232. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  233. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  234. package/src/Common/DeleteComponentModal/types.ts +15 -0
  235. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  236. package/src/Common/DevtronProgressing/index.ts +1 -0
  237. package/src/Common/DevtronProgressing/types.ts +4 -0
  238. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  239. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  240. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  241. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  242. package/src/Common/Dialogs/Types.ts +47 -0
  243. package/src/Common/Dialogs/index.ts +4 -0
  244. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  245. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +118 -0
  246. package/src/Common/DraggableWrapper/index.ts +3 -0
  247. package/src/Common/DraggableWrapper/types.ts +27 -0
  248. package/src/Common/Drawer/Drawer.scss +40 -0
  249. package/src/Common/Drawer/Drawer.tsx +49 -0
  250. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  251. package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
  252. package/src/Common/EmptyState/emptyState.scss +74 -0
  253. package/src/Common/Error.tsx +61 -0
  254. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  255. package/src/Common/Grid/Grid.tsx +44 -0
  256. package/src/Common/Grid/types.ts +11 -0
  257. package/src/Common/Helper.tsx +576 -0
  258. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  259. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  260. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  261. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  262. package/src/Common/Hooks/index.ts +3 -0
  263. package/src/Common/ImageTags.Types.ts +44 -0
  264. package/src/Common/ImageTags.tsx +586 -0
  265. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  266. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  267. package/src/Common/Modals/Modal.tsx +68 -0
  268. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  269. package/src/Common/Modals/VisibleModal.tsx +55 -0
  270. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  271. package/src/Common/MultiSelectCustomization.tsx +148 -0
  272. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  273. package/src/Common/Pagination/Pagination.tsx +127 -0
  274. package/src/Common/Pagination/constants.ts +6 -0
  275. package/src/Common/Pagination/index.tsx +3 -0
  276. package/src/Common/Pagination/pagination.scss +123 -0
  277. package/src/Common/Pagination/types.ts +55 -0
  278. package/src/Common/Pagination/utils.tsx +24 -0
  279. package/src/Common/Policy.Types.ts +63 -0
  280. package/src/Common/PopupMenu.tsx +199 -0
  281. package/src/Common/Progressing.tsx +53 -0
  282. package/src/Common/RJSF/Form.tsx +29 -0
  283. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  284. package/src/Common/RJSF/common/types.ts +9 -0
  285. package/src/Common/RJSF/config.ts +37 -0
  286. package/src/Common/RJSF/constants.ts +10 -0
  287. package/src/Common/RJSF/index.ts +3 -0
  288. package/src/Common/RJSF/rjsfForm.scss +18 -0
  289. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  290. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  291. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  292. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  293. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  294. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  295. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  296. package/src/Common/RJSF/templates/Description.tsx +12 -0
  297. package/src/Common/RJSF/templates/Field.tsx +30 -0
  298. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  299. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  300. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  301. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  302. package/src/Common/RJSF/templates/index.ts +10 -0
  303. package/src/Common/RJSF/types.ts +4 -0
  304. package/src/Common/RJSF/utils.ts +125 -0
  305. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  306. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  307. package/src/Common/RJSF/widgets/index.ts +2 -0
  308. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  309. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  310. package/src/Common/RadioGroup.tsx +53 -0
  311. package/src/Common/Reload.tsx +23 -0
  312. package/src/Common/ResizableTextarea.tsx +73 -0
  313. package/src/Common/SearchBar/SearchBar.component.tsx +131 -0
  314. package/src/Common/SearchBar/index.ts +2 -0
  315. package/src/Common/SearchBar/searchBar.scss +31 -0
  316. package/src/Common/SearchBar/types.ts +34 -0
  317. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  318. package/src/Common/Security/scanVulnerabilities.css +69 -0
  319. package/src/Common/ServerError.ts +31 -0
  320. package/src/Common/TippyCustomized.tsx +172 -0
  321. package/src/Common/ToastBody.tsx +62 -0
  322. package/src/Common/Toggle/Toggle.scss +78 -0
  323. package/src/Common/Toggle/Toggle.tsx +50 -0
  324. package/src/Common/Types.ts +766 -0
  325. package/src/Common/index.ts +50 -0
  326. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.tsx +128 -0
  327. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.tsx +44 -0
  328. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.tsx +106 -0
  329. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.tsx +55 -0
  330. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.tsx +32 -0
  331. package/src/Pages/GlobalConfigurations/BuildInfra/Descriptor.tsx +45 -0
  332. package/src/Pages/GlobalConfigurations/BuildInfra/Footer.tsx +55 -0
  333. package/src/Pages/GlobalConfigurations/BuildInfra/Readme.md +4 -0
  334. package/src/Pages/GlobalConfigurations/BuildInfra/constants.tsx +138 -0
  335. package/src/Pages/GlobalConfigurations/BuildInfra/index.ts +7 -0
  336. package/src/Pages/GlobalConfigurations/BuildInfra/services.tsx +167 -0
  337. package/src/Pages/GlobalConfigurations/BuildInfra/types.tsx +339 -0
  338. package/src/Pages/GlobalConfigurations/BuildInfra/utils.tsx +509 -0
  339. package/src/Pages/GlobalConfigurations/index.ts +1 -0
  340. package/src/Pages/index.ts +1 -0
  341. package/src/Shared/Components/APIResponseHandler/APIResponseHandler.tsx +41 -0
  342. package/src/Shared/Components/APIResponseHandler/constants.tsx +5 -0
  343. package/src/Shared/Components/APIResponseHandler/index.ts +2 -0
  344. package/src/Shared/Components/APIResponseHandler/types.tsx +39 -0
  345. package/src/Shared/Components/BulkSelection/BulkSelection.tsx +81 -0
  346. package/src/Shared/Components/BulkSelection/BulkSelectionDropdownItems.tsx +31 -0
  347. package/src/Shared/Components/BulkSelection/UseBulkSelection.tsx +99 -0
  348. package/src/Shared/Components/BulkSelection/constants.tsx +12 -0
  349. package/src/Shared/Components/BulkSelection/index.ts +4 -0
  350. package/src/Shared/Components/BulkSelection/types.tsx +61 -0
  351. package/src/Shared/Components/ReactSelect/index.ts +1 -0
  352. package/src/Shared/Components/ReactSelect/utils.tsx +97 -0
  353. package/src/Shared/Components/index.ts +3 -0
  354. package/src/Shared/Helpers.tsx +29 -0
  355. package/src/Shared/index.ts +3 -0
  356. package/src/Shared/validations.tsx +130 -0
  357. package/src/custom.d.ts +13 -0
  358. package/src/index.ts +3 -0
  359. package/tsconfig.json +40 -0
  360. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  361. package/dist/Common/Select/Select.d.ts +0 -4
  362. package/dist/Common/Select/types.d.ts +0 -29
  363. package/dist/abap-9f67f57a.js +0 -1314
  364. package/dist/apex-ff62e532.js +0 -315
  365. package/dist/assets/editor.worker-d26000ef.js +0 -9
  366. package/dist/assets/index.css +0 -1
  367. package/dist/assets/json.worker-f23a4654.js +0 -40
  368. package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
  369. package/dist/azcli-31e64a7f.js +0 -74
  370. package/dist/bat-0ffe897e.js +0 -95
  371. package/dist/bicep-3414a2b1.js +0 -108
  372. package/dist/cameligo-df1f3f25.js +0 -168
  373. package/dist/clojure-65b0f010.js +0 -754
  374. package/dist/coffee-437f0fba.js +0 -228
  375. package/dist/cpp-66843dd5.js +0 -390
  376. package/dist/csharp-621d9a49.js +0 -320
  377. package/dist/csp-de0d5244.js +0 -57
  378. package/dist/css-7cd5ed4c.js +0 -186
  379. package/dist/cssMode-dc5f347f.js +0 -1446
  380. package/dist/cypher-70ad96fe.js +0 -262
  381. package/dist/dart-33ae3739.js +0 -270
  382. package/dist/dockerfile-f2274a50.js +0 -132
  383. package/dist/ecl-3b8294a3.js +0 -454
  384. package/dist/elixir-b9dcc73a.js +0 -489
  385. package/dist/flow9-bdde8316.js +0 -141
  386. package/dist/freemarker2-adb1a1bb.js +0 -643
  387. package/dist/fsharp-eac2e449.js +0 -210
  388. package/dist/go-d12ed8d4.js +0 -208
  389. package/dist/graphql-c7356b69.js +0 -141
  390. package/dist/handlebars-096fff05.js +0 -391
  391. package/dist/hcl-e883a0d4.js +0 -177
  392. package/dist/html-0cbfb620.js +0 -281
  393. package/dist/htmlMode-cb96e200.js +0 -1456
  394. package/dist/index-3e12a5d1.js +0 -126104
  395. package/dist/ini-425ab711.js +0 -68
  396. package/dist/java-2bc0fd68.js +0 -221
  397. package/dist/javascript-198e562f.js +0 -75
  398. package/dist/jsonMode-9c219fc6.js +0 -1867
  399. package/dist/julia-1c932615.js +0 -496
  400. package/dist/kotlin-1ab839c8.js +0 -245
  401. package/dist/less-6fe856f5.js +0 -168
  402. package/dist/lexon-4955ac52.js +0 -151
  403. package/dist/liquid-7405cc0a.js +0 -238
  404. package/dist/lua-3cca0047.js +0 -157
  405. package/dist/m3-132e9cb6.js +0 -210
  406. package/dist/markdown-ea59a0c1.js +0 -202
  407. package/dist/mips-19811f4b.js +0 -194
  408. package/dist/msdax-69954a10.js +0 -377
  409. package/dist/mysql-82088e5d.js +0 -876
  410. package/dist/objective-c-1976eccc.js +0 -188
  411. package/dist/pascal-8ef177cb.js +0 -245
  412. package/dist/pascaligo-bc517b9e.js +0 -158
  413. package/dist/perl-8b93582c.js +0 -599
  414. package/dist/pgsql-00c11a6d.js +0 -847
  415. package/dist/php-4c8c276f.js +0 -471
  416. package/dist/pla-e9b4ffb1.js +0 -131
  417. package/dist/postiats-2071af8c.js +0 -544
  418. package/dist/powerquery-8e388ceb.js +0 -890
  419. package/dist/powershell-e35db398.js +0 -233
  420. package/dist/protobuf-a24b9176.js +0 -422
  421. package/dist/pug-2c94d9b8.js +0 -393
  422. package/dist/python-2df08096.js +0 -259
  423. package/dist/qsharp-d730d7fe.js +0 -282
  424. package/dist/r-be193556.js +0 -245
  425. package/dist/razor-11eb7ebc.js +0 -512
  426. package/dist/redis-9690c6ac.js +0 -298
  427. package/dist/redshift-6bdcdeaa.js +0 -806
  428. package/dist/restructuredtext-a08c1d20.js +0 -162
  429. package/dist/ruby-2247692b.js +0 -444
  430. package/dist/rust-1dffb4d5.js +0 -337
  431. package/dist/sb-136598e9.js +0 -110
  432. package/dist/scala-b1100fed.js +0 -353
  433. package/dist/scheme-038c8094.js +0 -114
  434. package/dist/scss-700d1b52.js +0 -244
  435. package/dist/shell-86c16e0f.js +0 -224
  436. package/dist/solidity-c05fdf3c.js +0 -1351
  437. package/dist/sophia-cd645d71.js +0 -190
  438. package/dist/sparql-01d9ec9c.js +0 -193
  439. package/dist/sql-4c33df41.js +0 -818
  440. package/dist/st-52cf1408.js +0 -414
  441. package/dist/swift-13c792ba.js +0 -315
  442. package/dist/systemverilog-0bd8b730.js +0 -556
  443. package/dist/tcl-463d7c75.js +0 -232
  444. package/dist/tsMode-35934209.js +0 -811
  445. package/dist/twig-0d98f5ec.js +0 -323
  446. package/dist/typescript-999619a1.js +0 -328
  447. package/dist/vb-3a2b0a51.js +0 -364
  448. package/dist/wgsl-b2ddb3e4.js +0 -420
  449. package/dist/xml-ebd03a57.js +0 -95
  450. package/dist/yaml-d1cda485.js +0 -184
@@ -0,0 +1,167 @@
1
+ import { ROUTES, ResponseType, get, post, put, showError } from '../../../Common'
2
+ import { CREATE_PROFILE_BASE_VALUE, CREATE_VIEW_CHECKED_CONFIGS } from './constants'
3
+ import {
4
+ BuildInfraConfigTypes,
5
+ BuildInfraConfigurationMapType,
6
+ BuildInfraConfigurationType,
7
+ BuildInfraProfileAPIResponseType,
8
+ BuildInfraProfileBase,
9
+ BuildInfraProfileResponseDataType,
10
+ BuildInfraProfileResponseType,
11
+ BuildInfraProfileTransformerType,
12
+ CreateBuildInfraProfileType,
13
+ CreateBuildInfraServicePayloadType,
14
+ CreateBuildInfraServiceConfigurationType,
15
+ GetBuildInfraProfileType,
16
+ UpdateBuildInfraProfileType,
17
+ BuildInfraConfigurationMapWithoutDefaultType,
18
+ } from './types'
19
+
20
+ const getBaseProfileObject = (
21
+ fromCreateView: boolean,
22
+ profile: BuildInfraProfileResponseDataType,
23
+ ): BuildInfraProfileBase => {
24
+ if (fromCreateView) {
25
+ return CREATE_PROFILE_BASE_VALUE
26
+ }
27
+
28
+ return {
29
+ id: profile.id,
30
+ name: profile.name,
31
+ description: profile.description,
32
+ type: profile.type,
33
+ appCount: profile.appCount,
34
+ }
35
+ }
36
+
37
+ // Would receive a single profile and return transformed response
38
+ export const getTransformedBuildInfraProfileResponse = ({
39
+ configurationUnits,
40
+ defaultConfigurations,
41
+ profile,
42
+ fromCreateView,
43
+ }: BuildInfraProfileTransformerType): BuildInfraProfileResponseType => {
44
+ // Assuming would contain all the keys
45
+ const defaultConfigurationsMap =
46
+ defaultConfigurations?.reduce((acc, configuration) => {
47
+ acc[configuration.key] = configuration
48
+ return acc
49
+ }, {} as BuildInfraConfigurationMapWithoutDefaultType) ?? ({} as BuildInfraConfigurationMapWithoutDefaultType)
50
+
51
+ const profileConfigurations =
52
+ profile?.configurations?.reduce((acc, configuration) => {
53
+ acc[configuration.key] = configuration
54
+ return acc
55
+ }, {} as BuildInfraConfigurationMapWithoutDefaultType) ?? ({} as BuildInfraConfigurationMapWithoutDefaultType)
56
+
57
+ const configurations = Object.keys(defaultConfigurationsMap).reduce((acc, key) => {
58
+ const defaultConfiguration: BuildInfraConfigurationType = defaultConfigurationsMap[key]
59
+ const profileConfiguration =
60
+ profileConfigurations[key]?.profileName === profile?.name ? profileConfigurations[key] : null
61
+ // Pushing default value in configurations in case we de-activate the configuration
62
+ const defaultValue = {
63
+ value: defaultConfiguration.value,
64
+ unit: defaultConfiguration.unit,
65
+ }
66
+
67
+ if (fromCreateView) {
68
+ acc[key] = {
69
+ key,
70
+ value: defaultConfiguration.value,
71
+ unit: defaultConfiguration.unit,
72
+ active: CREATE_VIEW_CHECKED_CONFIGS[key] ?? false,
73
+ defaultValue,
74
+ }
75
+ return acc
76
+ }
77
+
78
+ if (profileConfiguration) {
79
+ acc[key] = {
80
+ ...profileConfiguration,
81
+ defaultValue,
82
+ }
83
+ return acc
84
+ }
85
+
86
+ // Removing id from it since we do not have a configuration
87
+ // While generating payload, we will check on the basis of id and active flag.
88
+ acc[key] = {
89
+ key,
90
+ value: defaultConfiguration.value,
91
+ // saving profile name as undefined and this would be a check, if we are deriving from default or not
92
+ unit: defaultConfiguration.unit,
93
+ active: false,
94
+ defaultValue,
95
+ }
96
+ return acc
97
+ }, {} as BuildInfraConfigurationMapType)
98
+
99
+ return {
100
+ configurationUnits,
101
+ profile: {
102
+ ...(profile && getBaseProfileObject(fromCreateView, profile)),
103
+ configurations,
104
+ },
105
+ }
106
+ }
107
+
108
+ export const getBuildInfraProfileByName = async ({
109
+ name,
110
+ fromCreateView,
111
+ }: GetBuildInfraProfileType): Promise<BuildInfraProfileResponseType> => {
112
+ try {
113
+ const response = await get(`${ROUTES.INFRA_CONFIG_PROFILE}/${name}`)
114
+ const {
115
+ result: { configurationUnits, defaultConfigurations, profile },
116
+ } = response as ResponseType<BuildInfraProfileAPIResponseType>
117
+
118
+ return getTransformedBuildInfraProfileResponse({
119
+ configurationUnits,
120
+ defaultConfigurations,
121
+ profile,
122
+ fromCreateView,
123
+ })
124
+ } catch (error) {
125
+ showError(error)
126
+ throw error
127
+ }
128
+ }
129
+
130
+ const getBuildInfraProfilePayload = (
131
+ profileInput: CreateBuildInfraProfileType['profileInput'],
132
+ ): CreateBuildInfraServicePayloadType => {
133
+ const currentConfigurations = profileInput.configurations
134
+ const configurationKeys = Object.keys(currentConfigurations) as BuildInfraConfigTypes[]
135
+ // would only keep the configurations with id or active flag as true
136
+ const configurations: CreateBuildInfraServiceConfigurationType[] = configurationKeys.reduce((acc, key) => {
137
+ const configuration = currentConfigurations[key]
138
+ if (configuration.id || configuration.active) {
139
+ acc.push({
140
+ id: configuration.id,
141
+ key,
142
+ value: Number(configuration.value),
143
+ unit: configuration.unit,
144
+ active: configuration.active,
145
+ })
146
+ }
147
+ return acc
148
+ }, [] as CreateBuildInfraServiceConfigurationType[])
149
+
150
+ const payload: CreateBuildInfraServicePayloadType = {
151
+ name: profileInput.name,
152
+ description: profileInput.description,
153
+ type: profileInput.type,
154
+ configurations,
155
+ }
156
+ return payload
157
+ }
158
+
159
+ export const updateBuildInfraProfile = ({ name, profileInput }: UpdateBuildInfraProfileType) => {
160
+ const payload = getBuildInfraProfilePayload(profileInput)
161
+ return put(`${ROUTES.INFRA_CONFIG_PROFILE}/${name}`, payload)
162
+ }
163
+
164
+ export const createBuildInfraProfile = async ({ profileInput }: CreateBuildInfraProfileType) => {
165
+ const payload = getBuildInfraProfilePayload(profileInput)
166
+ return post(ROUTES.INFRA_CONFIG_PROFILE, payload)
167
+ }
@@ -0,0 +1,339 @@
1
+ import { FormEvent, FunctionComponent, ReactNode } from 'react'
2
+ import { Breadcrumb } from '../../../Common/BreadCrumb/Types'
3
+ import { ValidationResponseType } from '../../../Shared'
4
+ import { ServerErrors } from '../../../Common'
5
+
6
+ /**
7
+ * Unique actions that will be dispatched and,
8
+ * Keeping some values (cpu_limit, etc) in sync with backend
9
+ */
10
+ export enum BuildInfraConfigTypes {
11
+ CPU_LIMIT = 'cpu_limit',
12
+ CPU_REQUEST = 'cpu_request',
13
+ MEMORY_LIMIT = 'memory_limit',
14
+ MEMORY_REQUEST = 'memory_request',
15
+ BUILD_TIMEOUT = 'timeout',
16
+ }
17
+
18
+ /**
19
+ * Combination of BuildInfraConfigTypes and BuildInfraMetaConfigTypes is going to derive error state and actions(actions will also be derived with BuildInfraInheritActions)
20
+ */
21
+ export enum BuildInfraMetaConfigTypes {
22
+ NAME = 'name',
23
+ DESCRIPTION = 'description',
24
+ }
25
+
26
+ /**
27
+ * Would be used as key for few components and would be appending activate and de_activate actions to it
28
+ */
29
+ export enum BuildInfraLocators {
30
+ CPU = 'cpu',
31
+ MEMORY = 'memory',
32
+ // This name can be also different from BuildInfraConfigTypes[BUILD_TIMEOUT] in case we want to show different label
33
+ BUILD_TIMEOUT = 'timeout',
34
+ }
35
+
36
+ // FIXME: Derive this from BuildInfraLocators
37
+ // Appending the locators from above
38
+ export enum BuildInfraInheritActions {
39
+ ACTIVATE_CPU = 'activate_cpu',
40
+ DE_ACTIVATE_CPU = 'de_activate_cpu',
41
+ ACTIVATE_MEMORY = 'activate_memory',
42
+ DE_ACTIVATE_MEMORY = 'de_activate_memory',
43
+ ACTIVATE_BUILD_TIMEOUT = 'activate_timeout',
44
+ DE_ACTIVATE_BUILD_TIMEOUT = 'de_activate_timeout',
45
+ }
46
+
47
+ export const BuildInfraConfigActionMap = {
48
+ [BuildInfraConfigTypes.BUILD_TIMEOUT]: BuildInfraLocators.BUILD_TIMEOUT,
49
+ [BuildInfraConfigTypes.CPU_LIMIT]: BuildInfraLocators.CPU,
50
+ [BuildInfraConfigTypes.CPU_REQUEST]: BuildInfraLocators.CPU,
51
+ [BuildInfraConfigTypes.MEMORY_LIMIT]: BuildInfraLocators.MEMORY,
52
+ [BuildInfraConfigTypes.MEMORY_REQUEST]: BuildInfraLocators.MEMORY,
53
+ }
54
+
55
+ export enum BuildInfraProfileVariants {
56
+ DEFAULT = 'DEFAULT',
57
+ NORMAL = 'NORMAL',
58
+ CUSTOM = 'CUSTOM',
59
+ }
60
+
61
+ export interface DescriptorProps {
62
+ /**
63
+ * In case we want to restrict the max-width
64
+ */
65
+ additionalContainerClasses?: string
66
+ breadCrumbs: Breadcrumb[]
67
+ /**
68
+ * Would stick at right of div
69
+ */
70
+ children?: ReactNode
71
+ tippyInfoText?: string
72
+ tippyAdditionalContent?: ReactNode
73
+ }
74
+
75
+ export interface BuildInfraActionType {
76
+ /**
77
+ * Type of action to be dispatched, would be suffixed with type of change
78
+ */
79
+ actionType: BuildInfraConfigTypes
80
+ /**
81
+ * Label to be shown above input
82
+ */
83
+ label: string
84
+ /**
85
+ * Placeholder for input, can be optional
86
+ */
87
+ placeholder?: string
88
+ // Can add a prop for variant, if there is a need to show different types of inputs
89
+ }
90
+
91
+ export interface BuildInfraConfigurationMarkerProps {
92
+ className?: string
93
+ }
94
+
95
+ export interface BuildInfraFormFieldType {
96
+ /**
97
+ * Heading of the form item
98
+ */
99
+ heading: ReactNode
100
+ /**
101
+ * Icon/Checkbox to be shown in front of heading
102
+ */
103
+ marker: FunctionComponent<BuildInfraConfigurationMarkerProps>
104
+ /**
105
+ * Actions to be shown in the form item
106
+ */
107
+ actions: BuildInfraActionType[]
108
+ /**
109
+ * Unique identifier for the form item used for key
110
+ */
111
+ locator: BuildInfraLocators
112
+ }
113
+
114
+ export interface ConfigurationUnitType {
115
+ name: string
116
+ conversionFactor: number
117
+ }
118
+
119
+ // key would be the name of ConfigurationUnitType
120
+ export type ConfigurationUnitMapType = {
121
+ [key: ConfigurationUnitType['name']]: ConfigurationUnitType
122
+ }
123
+
124
+ export type BuildInfraUnitsMapType = {
125
+ [key in BuildInfraConfigTypes]: ConfigurationUnitMapType
126
+ }
127
+
128
+ export interface BuildInfraConfigValuesType {
129
+ value: string
130
+ unit?: ConfigurationUnitType['name']
131
+ }
132
+
133
+ interface BuildInfraProfileConfigBase {
134
+ id?: number
135
+ key: BuildInfraConfigTypes
136
+ profileName: string
137
+ active: boolean
138
+ }
139
+
140
+ export interface BuildInfraProfileConfigResponseDataType
141
+ extends BuildInfraConfigValuesType,
142
+ BuildInfraProfileConfigBase {}
143
+
144
+ export interface BuildInfraConfigurationType extends BuildInfraConfigValuesType, BuildInfraProfileConfigBase {
145
+ defaultValue: BuildInfraConfigValuesType
146
+ }
147
+
148
+ export type BuildInfraConfigurationMapWithoutDefaultType = {
149
+ [key in BuildInfraConfigTypes]: BuildInfraConfigValuesType & BuildInfraProfileConfigBase
150
+ }
151
+
152
+ export type BuildInfraConfigurationMapType = {
153
+ [key in BuildInfraConfigTypes]: BuildInfraConfigurationType
154
+ }
155
+
156
+ export interface BuildInfraProfileBase {
157
+ id?: number
158
+ name: string
159
+ description: string
160
+ type: BuildInfraProfileVariants
161
+ appCount: number
162
+ }
163
+
164
+ export interface BuildInfraProfileResponseDataType extends BuildInfraProfileBase {
165
+ configurations: BuildInfraProfileConfigResponseDataType[]
166
+ }
167
+
168
+ export interface BuildInfraProfileData extends BuildInfraProfileBase {
169
+ configurations: BuildInfraConfigurationMapType
170
+ }
171
+
172
+ export interface GetBuildInfraProfileType {
173
+ name: string
174
+ fromCreateView?: boolean
175
+ }
176
+
177
+ export interface BuildInfraProfileResponseType {
178
+ configurationUnits: BuildInfraUnitsMapType | null
179
+ profile: BuildInfraProfileData | null
180
+ }
181
+
182
+ export interface UseBuildInfraFormProps {
183
+ /**
184
+ * Name of the profile, if not provided assumption would be for create view
185
+ */
186
+ name?: string
187
+ /**
188
+ * If true, would send put request else would create profile via post
189
+ */
190
+ editProfile?: boolean
191
+ /**
192
+ * If true, call this on form submission success
193
+ */
194
+ handleSuccessRedirection?: () => void
195
+ }
196
+
197
+ export type ProfileInputErrorType = {
198
+ [key in BuildInfraConfigTypes | BuildInfraMetaConfigTypes]: string
199
+ }
200
+
201
+ export interface ProfileInputDispatchDataType {
202
+ value: string
203
+ unit?: string
204
+ }
205
+
206
+ export interface HandleProfileInputChangeType {
207
+ action: BuildInfraConfigTypes | BuildInfraInheritActions | BuildInfraMetaConfigTypes
208
+ data?: ProfileInputDispatchDataType
209
+ }
210
+
211
+ export interface UseBuildInfraFormResponseType {
212
+ isLoading: boolean
213
+ profileResponse: BuildInfraProfileResponseType | null
214
+ responseError: ServerErrors | null
215
+ reloadRequest: () => void
216
+ profileInput: BuildInfraProfileData
217
+ profileInputErrors: ProfileInputErrorType
218
+ handleProfileInputChange: ({ action, data }: HandleProfileInputChangeType) => void
219
+ loadingActionRequest: boolean
220
+ handleSubmit: (e: FormEvent<HTMLFormElement>) => Promise<void>
221
+ }
222
+
223
+ export interface BuildInfraFormItemProps extends Pick<BuildInfraFormFieldType, 'marker' | 'heading'> {
224
+ children?: ReactNode
225
+ /**
226
+ * If true, means profile is inheriting values from other profile (e.g, default)
227
+ */
228
+ isInheriting?: boolean
229
+ /**
230
+ * Would be false for last item
231
+ */
232
+ showDivider?: boolean
233
+
234
+ /**
235
+ * Would be used to dispatch inherit actions (activate_cpu, de_activate_cpu, etc)
236
+ */
237
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
238
+ locator: BuildInfraFormFieldType['locator']
239
+ isDefaultProfile: boolean
240
+ }
241
+
242
+ export interface ValidateRequestLimitType {
243
+ request: BuildInfraConfigValuesType
244
+ limit: BuildInfraConfigValuesType
245
+ unitsMap: ConfigurationUnitMapType
246
+ }
247
+
248
+ export interface ValidateRequestLimitResponseType {
249
+ request: ValidationResponseType
250
+ limit: ValidationResponseType
251
+ }
252
+
253
+ export interface BuildInfraConfigFormProps
254
+ extends Pick<UseBuildInfraFormResponseType, 'profileInput' | 'profileInputErrors' | 'handleProfileInputChange'> {
255
+ isDefaultProfile?: boolean
256
+ unitsMap?: BuildInfraProfileResponseType['configurationUnits']
257
+ configurationContainerLabel?: ReactNode
258
+ }
259
+
260
+ export interface BuildInfraFormActionProps extends BuildInfraActionType {
261
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
262
+ currentValue: BuildInfraConfigValuesType['value']
263
+ error?: string
264
+ isRequired?: boolean
265
+ profileUnitsMap?: ConfigurationUnitMapType
266
+ currentUnitName?: BuildInfraConfigValuesType['unit']
267
+ }
268
+
269
+ export interface FooterProps {
270
+ /**
271
+ * If true, means form contains errors
272
+ */
273
+ disabled?: boolean
274
+ handleCancel?: () => void
275
+ /**
276
+ * If true would show save changes else would show save for submit button
277
+ */
278
+ editProfile?: boolean
279
+ loading?: boolean
280
+ }
281
+
282
+ export interface UpdateBuildInfraProfileType extends Pick<UseBuildInfraFormResponseType, 'profileInput'> {
283
+ name: string
284
+ }
285
+
286
+ export interface CreateBuildInfraProfileType extends Pick<UseBuildInfraFormResponseType, 'profileInput'> {}
287
+
288
+ export interface CreateBuildInfraServiceConfigurationType {
289
+ key: BuildInfraConfigTypes
290
+ value: string | number
291
+ active: boolean
292
+ unit?: string
293
+ /**
294
+ * Would send for those that are available in profileInput
295
+ */
296
+ id?: number
297
+ }
298
+
299
+ export interface CreateBuildInfraServicePayloadType {
300
+ name: string
301
+ description: string
302
+ type: BuildInfraProfileVariants
303
+ configurations: CreateBuildInfraServiceConfigurationType[]
304
+ }
305
+
306
+ export interface BuildInfraInputFieldComponentProps {
307
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
308
+ currentValue: BuildInfraConfigValuesType['value']
309
+ error?: string
310
+ }
311
+
312
+ export interface InheritingHeaderProps {
313
+ defaultHeading: BuildInfraFormFieldType['heading']
314
+ inheritingData: BuildInfraConfigValuesType[]
315
+ isInheriting: boolean
316
+ isDefaultProfile: boolean
317
+ }
318
+
319
+ export interface BuildInfraConfigResponseDataType {
320
+ name: BuildInfraConfigTypes
321
+ units: ConfigurationUnitType[]
322
+ }
323
+
324
+ interface BaseBuildInfraProfileResponseType {
325
+ defaultConfigurations: BuildInfraProfileConfigResponseDataType[]
326
+ configurationUnits: BuildInfraUnitsMapType
327
+ }
328
+
329
+ export interface BuildInfraListResponseType extends BaseBuildInfraProfileResponseType {
330
+ profiles: BuildInfraProfileResponseDataType[]
331
+ }
332
+
333
+ export interface BuildInfraProfileAPIResponseType extends BaseBuildInfraProfileResponseType {
334
+ profile: BuildInfraProfileResponseDataType
335
+ }
336
+
337
+ export interface BuildInfraProfileTransformerType
338
+ extends BuildInfraProfileAPIResponseType,
339
+ Pick<GetBuildInfraProfileType, 'fromCreateView'> {}