@devtron-labs/devtron-fe-common-lib 0.0.58-beta-14 → 0.0.58-beta-19

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 (538) 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 -30
  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 -31
  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 +48 -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 +691 -691
  128. package/dist/Common/index.d.ts +50 -51
  129. package/dist/index.d.ts +1 -1
  130. package/dist/index.js +28883 -225
  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 +133 -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 +576 -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 +124 -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 +49 -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 +764 -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/CodeEditor-57d766d0.js +0 -103695
  295. package/dist/Common/AddCDButton/AddCDButton.js +0 -59
  296. package/dist/Common/AddCDButton/index.js +0 -6
  297. package/dist/Common/AddCDButton/types.js +0 -1
  298. package/dist/Common/AddCDButton/utils.js +0 -19
  299. package/dist/Common/Api.js +0 -169
  300. package/dist/Common/AppStatus/AppStatus.js +0 -37
  301. package/dist/Common/AppStatus/constants.js +0 -37
  302. package/dist/Common/AppStatus/index.js +0 -4
  303. package/dist/Common/AppStatus/types.js +0 -1
  304. package/dist/Common/AppStatus/utils.js +0 -8
  305. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -73
  306. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  307. package/dist/Common/BreadCrumb/Types.js +0 -1
  308. package/dist/Common/CIPipeline.Types.js +0 -10
  309. package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
  310. package/dist/Common/Checkbox.js +0 -28
  311. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  312. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  313. package/dist/Common/ClipboardButton/types.js +0 -1
  314. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  315. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  316. package/dist/Common/Common.service.js +0 -196
  317. package/dist/Common/Constants.js +0 -239
  318. package/dist/Common/CustomInput/CustomInput.js +0 -81
  319. package/dist/Common/CustomInput/Types.js +0 -1
  320. package/dist/Common/CustomInput/index.js +0 -4
  321. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  322. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  323. package/dist/Common/CustomTagSelector/TagDetails.js +0 -73
  324. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -53
  325. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  326. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  327. package/dist/Common/CustomTagSelector/Types.js +0 -1
  328. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  329. package/dist/Common/CustomTagSelector/index.js +0 -12
  330. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
  331. package/dist/Common/DebouncedSearch/Types.js +0 -1
  332. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  333. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
  334. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  335. package/dist/Common/DeleteComponentModal/types.js +0 -1
  336. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -95
  337. package/dist/Common/DevtronProgressing/index.js +0 -4
  338. package/dist/Common/DevtronProgressing/types.js +0 -1
  339. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -13
  340. package/dist/Common/Dialogs/DeleteDialog.js +0 -46
  341. package/dist/Common/Dialogs/DialogForm.js +0 -63
  342. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -28
  343. package/dist/Common/Dialogs/Types.js +0 -1
  344. package/dist/Common/Dialogs/index.js +0 -11
  345. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  346. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -73
  347. package/dist/Common/DraggableWrapper/index.js +0 -8
  348. package/dist/Common/DraggableWrapper/types.js +0 -4
  349. package/dist/Common/Drawer/Drawer.js +0 -22
  350. package/dist/Common/EmptyState/EmptyState.js +0 -25
  351. package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
  352. package/dist/Common/Error.js +0 -49
  353. package/dist/Common/ErrorScreenNotFound.js +0 -22
  354. package/dist/Common/Grid/Grid.js +0 -31
  355. package/dist/Common/Grid/types.js +0 -1
  356. package/dist/Common/Helper.js +0 -39
  357. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  358. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  359. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  360. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  361. package/dist/Common/Hooks/index.js +0 -8
  362. package/dist/Common/ImageTags.Types.js +0 -1
  363. package/dist/Common/ImageTags.js +0 -382
  364. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -67
  365. package/dist/Common/Modals/Modal.js +0 -48
  366. package/dist/Common/Modals/OpaqueModal.js +0 -40
  367. package/dist/Common/Modals/VisibleModal.js +0 -39
  368. package/dist/Common/Modals/VisibleModal2.js +0 -39
  369. package/dist/Common/MultiSelectCustomization.js +0 -97
  370. package/dist/Common/Pagination/PageSizeSelector.js +0 -51
  371. package/dist/Common/Pagination/Pagination.js +0 -98
  372. package/dist/Common/Pagination/constants.js +0 -9
  373. package/dist/Common/Pagination/index.js +0 -4
  374. package/dist/Common/Pagination/types.js +0 -1
  375. package/dist/Common/Pagination/utils.js +0 -15
  376. package/dist/Common/Policy.Types.js +0 -6
  377. package/dist/Common/PopupMenu.js +0 -146
  378. package/dist/Common/Progressing.js +0 -49
  379. package/dist/Common/RJSF/Form.js +0 -25
  380. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  381. package/dist/Common/RJSF/common/types.js +0 -1
  382. package/dist/Common/RJSF/config.js +0 -33
  383. package/dist/Common/RJSF/constants.js +0 -10
  384. package/dist/Common/RJSF/index.js +0 -7
  385. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  386. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -60
  387. package/dist/Common/RJSF/templates/BaseInput.js +0 -16
  388. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  389. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  390. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -9
  391. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  392. package/dist/Common/RJSF/templates/Description.js +0 -9
  393. package/dist/Common/RJSF/templates/Field.js +0 -31
  394. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -13
  395. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -71
  396. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  397. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -43
  398. package/dist/Common/RJSF/templates/index.js +0 -26
  399. package/dist/Common/RJSF/types.js +0 -1
  400. package/dist/Common/RJSF/utils.js +0 -95
  401. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  402. package/dist/Common/RJSF/widgets/Select.js +0 -625
  403. package/dist/Common/RJSF/widgets/index.js +0 -6
  404. package/dist/Common/RadioGroup/RadioGroup.js +0 -69
  405. package/dist/Common/RadioGroup.js +0 -53
  406. package/dist/Common/Reload.js +0 -16
  407. package/dist/Common/ResizableTextarea.js +0 -60
  408. package/dist/Common/SearchBar/SearchBar.component.js +0 -66
  409. package/dist/Common/SearchBar/index.js +0 -4
  410. package/dist/Common/SearchBar/types.js +0 -1
  411. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  412. package/dist/Common/Select/Select.d.ts +0 -4
  413. package/dist/Common/Select/Select.js +0 -193
  414. package/dist/Common/Select/types.d.ts +0 -29
  415. package/dist/Common/Select/types.js +0 -1
  416. package/dist/Common/ServerError.js +0 -26
  417. package/dist/Common/TippyCustomized.js +0 -10
  418. package/dist/Common/ToastBody.js +0 -41
  419. package/dist/Common/Toggle/Toggle.js +0 -40
  420. package/dist/Common/Types.js +0 -24
  421. package/dist/Common/index.js +0 -226
  422. package/dist/Helper-6e21d971.js +0 -10200
  423. package/dist/TippyCustomized-a8eee994.js +0 -124
  424. package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
  425. package/dist/abap-9f67f57a.js +0 -1314
  426. package/dist/apex-ff62e532.js +0 -315
  427. package/dist/assets/CodeEditor.css +0 -1
  428. package/dist/assets/Drawer.css +0 -1
  429. package/dist/assets/Form.css +0 -1
  430. package/dist/assets/GenericEmptyState.css +0 -1
  431. package/dist/assets/InfoColourbar.css +0 -1
  432. package/dist/assets/Pagination.css +0 -1
  433. package/dist/assets/RadioGroup.css +0 -1
  434. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  435. package/dist/assets/SearchBar.component.css +0 -1
  436. package/dist/assets/Select.css +0 -1
  437. package/dist/assets/TippyCustomized.css +0 -1
  438. package/dist/assets/Toggle.css +0 -1
  439. package/dist/assets/editor.worker-d26000ef.js +0 -9
  440. package/dist/assets/json.worker-f23a4654.js +0 -40
  441. package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
  442. package/dist/azcli-31e64a7f.js +0 -74
  443. package/dist/bat-0ffe897e.js +0 -95
  444. package/dist/bicep-3414a2b1.js +0 -108
  445. package/dist/cameligo-df1f3f25.js +0 -168
  446. package/dist/clojure-65b0f010.js +0 -754
  447. package/dist/coffee-437f0fba.js +0 -228
  448. package/dist/cpp-66843dd5.js +0 -390
  449. package/dist/csharp-621d9a49.js +0 -320
  450. package/dist/csp-de0d5244.js +0 -57
  451. package/dist/css-7cd5ed4c.js +0 -186
  452. package/dist/cssMode-51109c72.js +0 -1446
  453. package/dist/cypher-70ad96fe.js +0 -262
  454. package/dist/dart-33ae3739.js +0 -270
  455. package/dist/dockerfile-f2274a50.js +0 -132
  456. package/dist/ecl-3b8294a3.js +0 -454
  457. package/dist/elixir-b9dcc73a.js +0 -489
  458. package/dist/extends-70f3d2a3.js +0 -13
  459. package/dist/flow9-bdde8316.js +0 -141
  460. package/dist/freemarker2-56c268e7.js +0 -643
  461. package/dist/fsharp-eac2e449.js +0 -210
  462. package/dist/go-d12ed8d4.js +0 -208
  463. package/dist/graphql-c7356b69.js +0 -141
  464. package/dist/handlebars-14160245.js +0 -391
  465. package/dist/hcl-e883a0d4.js +0 -177
  466. package/dist/html-b5f7d4c2.js +0 -281
  467. package/dist/htmlMode-b802d066.js +0 -1456
  468. package/dist/ic-add-4787ded5.js +0 -5
  469. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  470. package/dist/ic-copy-118b83dc.js +0 -5
  471. package/dist/ic-cross-0e71861d.js +0 -6
  472. package/dist/ic-error-cross-2760059a.js +0 -5
  473. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  474. package/dist/ic-info-filled-31a15add.js +0 -6
  475. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  476. package/dist/ic-warning-42534af1.js +0 -5
  477. package/dist/ini-425ab711.js +0 -68
  478. package/dist/inject-tag-824bf92c.js +0 -5
  479. package/dist/java-2bc0fd68.js +0 -221
  480. package/dist/javascript-1c1abf89.js +0 -75
  481. package/dist/jsonMode-f9cd720a.js +0 -1867
  482. package/dist/jsx-runtime-0dcb030c.js +0 -667
  483. package/dist/julia-1c932615.js +0 -496
  484. package/dist/kotlin-1ab839c8.js +0 -245
  485. package/dist/less-6fe856f5.js +0 -168
  486. package/dist/lexon-4955ac52.js +0 -151
  487. package/dist/liquid-a38c622a.js +0 -238
  488. package/dist/lua-3cca0047.js +0 -157
  489. package/dist/m3-132e9cb6.js +0 -210
  490. package/dist/markdown-ea59a0c1.js +0 -202
  491. package/dist/mips-19811f4b.js +0 -194
  492. package/dist/msdax-69954a10.js +0 -377
  493. package/dist/mysql-82088e5d.js +0 -876
  494. package/dist/objective-c-1976eccc.js +0 -188
  495. package/dist/pascal-8ef177cb.js +0 -245
  496. package/dist/pascaligo-bc517b9e.js +0 -158
  497. package/dist/perl-8b93582c.js +0 -599
  498. package/dist/pgsql-00c11a6d.js +0 -847
  499. package/dist/php-4c8c276f.js +0 -471
  500. package/dist/pla-e9b4ffb1.js +0 -131
  501. package/dist/postiats-2071af8c.js +0 -544
  502. package/dist/powerquery-8e388ceb.js +0 -890
  503. package/dist/powershell-e35db398.js +0 -233
  504. package/dist/protobuf-a24b9176.js +0 -422
  505. package/dist/pug-2c94d9b8.js +0 -393
  506. package/dist/python-966fee14.js +0 -259
  507. package/dist/qsharp-d730d7fe.js +0 -282
  508. package/dist/r-be193556.js +0 -245
  509. package/dist/razor-d300ce4c.js +0 -512
  510. package/dist/react-select.esm-3ab5c599.js +0 -4174
  511. package/dist/react-toastify.esm-1042de65.js +0 -792
  512. package/dist/react.esm-d9d3bd77.js +0 -13727
  513. package/dist/redis-9690c6ac.js +0 -298
  514. package/dist/redshift-6bdcdeaa.js +0 -806
  515. package/dist/restructuredtext-a08c1d20.js +0 -162
  516. package/dist/ruby-2247692b.js +0 -444
  517. package/dist/rust-1dffb4d5.js +0 -337
  518. package/dist/sb-136598e9.js +0 -110
  519. package/dist/scala-b1100fed.js +0 -353
  520. package/dist/scheme-038c8094.js +0 -114
  521. package/dist/scss-700d1b52.js +0 -244
  522. package/dist/shell-86c16e0f.js +0 -224
  523. package/dist/solidity-c05fdf3c.js +0 -1351
  524. package/dist/sophia-cd645d71.js +0 -190
  525. package/dist/sparql-01d9ec9c.js +0 -193
  526. package/dist/sql-4c33df41.js +0 -818
  527. package/dist/st-52cf1408.js +0 -414
  528. package/dist/swift-13c792ba.js +0 -315
  529. package/dist/systemverilog-0bd8b730.js +0 -556
  530. package/dist/tcl-463d7c75.js +0 -232
  531. package/dist/tippy-react.esm-7f62ad0a.js +0 -1919
  532. package/dist/tsMode-c3995c03.js +0 -811
  533. package/dist/twig-0d98f5ec.js +0 -323
  534. package/dist/typescript-18b20a48.js +0 -328
  535. package/dist/vb-3a2b0a51.js +0 -364
  536. package/dist/wgsl-b2ddb3e4.js +0 -420
  537. package/dist/xml-82b60f64.js +0 -95
  538. package/dist/yaml-229aea3c.js +0 -184
@@ -0,0 +1,55 @@
1
+ export interface PageSizeOption {
2
+ value: number
3
+ selected: boolean
4
+ }
5
+ export interface PaginationProps {
6
+ /**
7
+ * number of items
8
+ */
9
+ size: number
10
+ /**
11
+ * pageSize
12
+ */
13
+ pageSize: number
14
+ offset: number
15
+ changePage: (pageNo: number) => void
16
+ changePageSize?: (pageSize: number) => void
17
+ /**
18
+ * If true will not show page size selector
19
+ */
20
+ isPageSizeFix?: boolean
21
+ /**
22
+ * If given would show these options in page size selector else [20,40,50] with 20 as selected
23
+ */
24
+ pageSizeOptions?: PageSizeOption[]
25
+ /**
26
+ * class for wrapper
27
+ */
28
+ rootClassName?: string
29
+ }
30
+
31
+ export interface Page {
32
+ value: number
33
+ selected: boolean
34
+ isVisible: boolean
35
+ }
36
+
37
+ export interface CreatePageArrType extends Pick<PaginationProps, 'size' | 'pageSize'> {
38
+ selectedPageNo: number
39
+ }
40
+
41
+ export interface PageSizeSelectorProps
42
+ extends Pick<PaginationProps, 'pageSizeOptions' | 'pageSize' | 'changePageSize'> {}
43
+
44
+ export interface PageSizeItemsProps extends Pick<PageSizeSelectorProps, 'changePageSize'> {
45
+ optionValue: PageSizeOption['value']
46
+ options: PageSizeOption[]
47
+ setOptions: React.Dispatch<React.SetStateAction<PageSizeOption[]>>
48
+ handleCloseDropdown: () => void
49
+ }
50
+
51
+ export interface PageValueItemProps {
52
+ value: PageSizeOption['value']
53
+ isSelected: PageSizeOption['selected']
54
+ selectPage: (selectedPageNo: number) => void
55
+ }
@@ -0,0 +1,24 @@
1
+ import { CreatePageArrType, Page, PageSizeOption } from './types'
2
+ import { FALLBACK_PAGE_SIZE_OPTIONS, VISIBLE_PAGES_LIMIT } from './constants'
3
+
4
+ /**
5
+ * Returns an array of pages numbers and whether they are selected, visible or not
6
+ */
7
+ export const createPageArr = ({ size, pageSize, selectedPageNo }: CreatePageArrType): Page[] => {
8
+ const arr = []
9
+ const numberOfPages = Math.ceil(size / pageSize)
10
+ // we are showing 2 numbers before and after the selected page, so computing the lower and upper bounds
11
+ const lowerBound = selectedPageNo - 2 < 1 ? 1 : selectedPageNo - 2
12
+ const upperBound = selectedPageNo + 2 > numberOfPages ? numberOfPages : selectedPageNo + 2
13
+ for (let i = 1; i <= numberOfPages; i++) {
14
+ arr.push({
15
+ value: i,
16
+ selected: i === selectedPageNo,
17
+ isVisible: upperBound - VISIBLE_PAGES_LIMIT < i && i < lowerBound + VISIBLE_PAGES_LIMIT,
18
+ })
19
+ }
20
+ return arr
21
+ }
22
+
23
+ export const getDefaultPageValueOptions = (pageSizeOptions: PageSizeOption[]): PageSizeOption[] =>
24
+ pageSizeOptions?.length ? pageSizeOptions : FALLBACK_PAGE_SIZE_OPTIONS
@@ -0,0 +1,63 @@
1
+ import { VariableType } from "./CIPipeline.Types"
2
+ import { ResponseType } from "./Types"
3
+
4
+ export enum ApplyPolicyToStage {
5
+ PRE_CI = 'PRE_CI',
6
+ POST_CI = 'POST_CI',
7
+ PRE_OR_POST_CI = 'PRE_OR_POST_CI',
8
+ }
9
+
10
+ export enum PluginRequiredStage {
11
+ PRE_CI = 'preBuildStage',
12
+ POST_CI = 'postBuildStage',
13
+ PRE_OR_POST_CI = 'PRE_OR_POST_CI',
14
+ }
15
+
16
+ export interface DefinitionSourceType {
17
+ projectName: string
18
+ isDueToProductionEnvironment: boolean
19
+ isDueToLinkedPipeline: boolean
20
+ policyName: string
21
+ appName?: string
22
+ clusterName?: string
23
+ environmentName?: string
24
+ branchNames?: string[]
25
+ ciPipelineName?: string
26
+ }
27
+ export interface MandatoryPluginDetailType {
28
+ id: number
29
+ icon: string
30
+ name: string
31
+ description?: string
32
+ requiredIn: PluginRequiredStage
33
+ applied?: boolean
34
+ inputVariables?: VariableType[]
35
+ outputVariables?: VariableType[]
36
+ definitionSources?: DefinitionSourceType[]
37
+ }
38
+ export interface MandatoryPluginDataType {
39
+ pluginData: MandatoryPluginDetailType[]
40
+ isValidPre: boolean
41
+ isValidPost: boolean
42
+ }
43
+
44
+ export enum ConsequenceAction {
45
+ BLOCK = 'BLOCK',
46
+ ALLOW_UNTIL_TIME = 'ALLOW_UNTIL_TIME',
47
+ ALLOW_FOREVER = 'ALLOW_FOREVER',
48
+ }
49
+
50
+ export interface ConsequenceType {
51
+ action: ConsequenceAction
52
+ metadataField: string
53
+ }
54
+
55
+ export interface BlockedStateData {
56
+ isOffendingMandatoryPlugin: boolean
57
+ isCITriggerBlocked: boolean
58
+ ciBlockState: ConsequenceType
59
+ }
60
+
61
+ export interface GetBlockedStateResponse extends ResponseType {
62
+ result?: BlockedStateData
63
+ }
@@ -0,0 +1,199 @@
1
+ import React, { useEffect } from 'react'
2
+ import { Modal } from './Modals/Modal'
3
+ import { PopupMenuBodyType, PopupMenuButtonType, PopupMenuType } from './Types'
4
+
5
+ const PopupContext = React.createContext(null)
6
+
7
+ function usePopupContext() {
8
+ const context = React.useContext(PopupContext)
9
+ if (!context) {
10
+ throw new Error(`Select compound components cannot be rendered outside popupmenup`)
11
+ }
12
+ return context
13
+ }
14
+
15
+ function PopupMenu({
16
+ children = null,
17
+ onToggleCallback = null,
18
+ autoClose = false,
19
+ autoPosition = false,
20
+ }: PopupMenuType) {
21
+ const [popupPosition, setPopupPosition] = React.useState(null)
22
+ const [opacity, setOpacity] = React.useState(0)
23
+ const observer = React.useRef<IntersectionObserver | null>(null)
24
+ const buttonRef = React.useRef(null)
25
+ const buttonWidth = React.useRef(null)
26
+
27
+ React.useEffect(() => {
28
+ observer.current = window.IntersectionObserver ? new IntersectionObserver(intersectionCallback, options) : null
29
+ return () => {
30
+ if (observer && observer.current && observer.current.disconnect) observer.current.disconnect()
31
+ }
32
+ }, [])
33
+
34
+ useEffect(() => {
35
+ if (typeof onToggleCallback === 'function') {
36
+ if (popupPosition) {
37
+ onToggleCallback(true)
38
+ } else {
39
+ onToggleCallback(false)
40
+ }
41
+ }
42
+ }, [popupPosition])
43
+
44
+ useEffect(() => {
45
+ if (buttonRef?.current && autoPosition && popupPosition) {
46
+ const { height, x, y } = buttonRef.current.getBoundingClientRect()
47
+ setPopupPosition({ left: x, top: y + height })
48
+ }
49
+ }, [buttonRef?.current?.clientHeight])
50
+
51
+ let options = {
52
+ root: null,
53
+ rootMargin: '0px',
54
+ threshold: 1.0,
55
+ }
56
+
57
+ if (!children) return children
58
+
59
+ function intersectionCallback(entries, observer) {
60
+ entries.forEach((entry) => {
61
+ if (entry.isIntersecting && entry.intersectionRatio >= 1) {
62
+ setOpacity(1)
63
+ } else {
64
+ const { boundingClientRect, rootBounds } = entry
65
+ const { x, y, height, width } = boundingClientRect
66
+ const {
67
+ x: buttonX,
68
+ y: buttonY,
69
+ height: buttonHeight,
70
+ width: buttonWidth,
71
+ left: buttonLeft,
72
+ right: buttonRight,
73
+ top: buttonTop,
74
+ bottom: buttonBottom,
75
+ } = buttonRef.current.getBoundingClientRect()
76
+ if (y + height > rootBounds.height) {
77
+ setPopupPosition({ left: buttonX, bottom: document.documentElement.clientHeight - buttonY })
78
+ setOpacity(1)
79
+ }
80
+ if (x + width > rootBounds.width) {
81
+ // setPopupPosition(position => ({ right: document.documentElement.clientWidth - buttonLeft,...position, left:'unset' }))
82
+ setPopupPosition((position) => ({ ...position, right: '20px', left: 'unset' }))
83
+ setOpacity(1)
84
+ }
85
+ }
86
+ })
87
+ }
88
+
89
+ const handleOpen = (e) => {
90
+ e.stopPropagation()
91
+ setOpacity(0)
92
+ const { height, x, y } = e.currentTarget.getBoundingClientRect()
93
+ setPopupPosition({ left: x, top: y + height })
94
+ }
95
+
96
+ const handleClose = (e, inOrOut) => {
97
+ if (autoClose || inOrOut === 'out') {
98
+ if (observer && observer.current && observer.current.disconnect) observer.current.disconnect()
99
+ setOpacity(0)
100
+ setPopupPosition(null)
101
+ } else {
102
+ e.stopPropagation()
103
+ }
104
+ }
105
+
106
+ function callbackRef(element) {
107
+ if (element && observer?.current?.observe) {
108
+ observer.current.observe(element)
109
+ } else observer.current.disconnect()
110
+ }
111
+
112
+ function initialiseButtonWidth(buttonEl) {
113
+ if (!buttonEl) return
114
+ buttonRef.current = buttonEl
115
+ const { bottom, height, left, right, top, width, x, y } = buttonEl.getBoundingClientRect()
116
+ buttonWidth.current = width
117
+ }
118
+
119
+ return (
120
+ <PopupContext.Provider
121
+ value={{
122
+ handleOpen,
123
+ popupPosition,
124
+ handleClose,
125
+ opacity,
126
+ setPopupPosition,
127
+ callbackRef,
128
+ buttonRef,
129
+ initialiseButtonWidth,
130
+ buttonWidth,
131
+ }}
132
+ >
133
+ {children}
134
+ </PopupContext.Provider>
135
+ )
136
+ }
137
+
138
+ function Button({
139
+ children = null,
140
+ disabled = false,
141
+ rootClassName = '',
142
+ tabIndex = 0,
143
+ onHover = false,
144
+ isKebab = false,
145
+ dataTestId = "",
146
+ }: PopupMenuButtonType) {
147
+ const { handleOpen, popupPosition, buttonRef, initialiseButtonWidth } = usePopupContext()
148
+ return (
149
+ <button
150
+ ref={initialiseButtonWidth}
151
+ type="button"
152
+ tabIndex={tabIndex}
153
+ disabled={disabled}
154
+ className={`${rootClassName} ${popupPosition ? 'focused' : ''} ${
155
+ isKebab ? 'popup-button-kebab' : 'popup-button'
156
+ }`}
157
+ onMouseEnter={onHover ? (disabled ? null : handleOpen) : () => {}}
158
+ onClick={disabled ? null : handleOpen}
159
+ data-testid={dataTestId}
160
+ >
161
+ {children}
162
+ </button>
163
+ )
164
+ }
165
+
166
+ function Body({
167
+ children = null,
168
+ rootClassName = '',
169
+ style = {},
170
+ autoWidth = false,
171
+ preventWheelDisable = false,
172
+ noBackDrop,
173
+ }: PopupMenuBodyType) {
174
+ const { handleClose, popupPosition, opacity, callbackRef, buttonWidth } = usePopupContext()
175
+ return popupPosition ? (
176
+ <Modal
177
+ callbackRef={callbackRef}
178
+ onClick={handleClose}
179
+ rootClassName={`${rootClassName} popup-body ${!children ? 'popup-body--empty' : ''} ${Object.keys(
180
+ popupPosition,
181
+ ).join(' ')}`}
182
+ style={{
183
+ ...popupPosition,
184
+ ...style,
185
+ ...(autoWidth ? { width: buttonWidth.current } : {}),
186
+ opacity: opacity,
187
+ }}
188
+ preventWheelDisable={preventWheelDisable}
189
+ noBackDrop={noBackDrop}
190
+ >
191
+ {children}
192
+ </Modal>
193
+ ) : null
194
+ }
195
+
196
+ PopupMenu.Button = Button
197
+ PopupMenu.Body = Body
198
+
199
+ export default PopupMenu
@@ -0,0 +1,53 @@
1
+ import React from 'react'
2
+ import { ProgressingProps } from './Types'
3
+
4
+ export function Progressing({ pageLoader, size, theme, styles, fillColor }: ProgressingProps): JSX.Element {
5
+ const loaderSize = size ? `${size}px` : pageLoader ? '48px' : '20px'
6
+ return (
7
+ <div className={`loader ${theme || 'default'}-background`} style={styles} data-testid="progressing">
8
+ <div style={{ width: loaderSize, height: loaderSize }}>
9
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="loader__svg">
10
+ <g fill="none" fillRule="evenodd" strokeLinecap="round">
11
+ <animateTransform
12
+ attributeName="transform"
13
+ attributeType="XML"
14
+ dur="0.5s"
15
+ from="0 12 12"
16
+ repeatCount="indefinite"
17
+ to="360 12 12"
18
+ type="rotate"
19
+ />
20
+ <path
21
+ fill={fillColor || '#06C'}
22
+ fillRule="nonzero"
23
+ d="M12 2.5A9.5 9.5 0 1 1 2.5 12a1.5 1.5 0 0 1 3 0A6.5 6.5 0 1 0 12 5.5a1.5 1.5 0 0 1 0-3z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ </div>
28
+ </div>
29
+ )
30
+ }
31
+
32
+ export function DetailsProgressing({
33
+ loadingText,
34
+ size = 24,
35
+ fullHeight = false,
36
+ styles,
37
+ fillColor,
38
+ children,
39
+ }: ProgressingProps): JSX.Element {
40
+ return (
41
+ <div
42
+ className={`details-loader bcn-0 flex column fs-14 fw-6 ${fullHeight ? 'h-100' : 'details-loader-height'}`}
43
+ style={styles}
44
+ data-testid="details-progressing"
45
+ >
46
+ <span style={{ width: `${size}px`, height: `${size}px` }}>
47
+ <Progressing size={size} fillColor={fillColor} />
48
+ </span>
49
+ {loadingText && <span className="mt-10">{loadingText}</span>}
50
+ {children}
51
+ </div>
52
+ )
53
+ }
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+ import RJSF from '@rjsf/core'
3
+ import RJSFValidator from '@rjsf/validator-ajv8'
4
+
5
+ import { templates, widgets } from './config'
6
+ import { FormProps } from './types'
7
+ import { translateString } from './utils'
8
+ import './rjsfForm.scss'
9
+
10
+ // Need to use this way because the default import was not working as expected
11
+ // The default import resolves to an object intead of a function
12
+ const Form = (RJSF as any).default as typeof RJSF
13
+ const validator = (RJSFValidator as any).default as typeof RJSFValidator
14
+
15
+ export const RJSFForm = (props: FormProps) => (
16
+ <Form
17
+ noHtml5Validate
18
+ showErrorList={false}
19
+ autoComplete="off"
20
+ {...props}
21
+ validator={validator}
22
+ templates={{
23
+ ...templates,
24
+ ...props.templates,
25
+ }}
26
+ widgets={{ ...widgets, ...props.widgets }}
27
+ translateString={translateString}
28
+ />
29
+ )
@@ -0,0 +1,35 @@
1
+ import React from 'react'
2
+ import { FieldRowProps } from './types'
3
+ import { DEFAULT_FIELD_TITLE, DO_NOT_SHOW_LABEL } from '../constants'
4
+
5
+ export const FieldRowWithLabel = ({
6
+ showLabel,
7
+ label,
8
+ required,
9
+ children,
10
+ id,
11
+ shouldAlignCenter = true,
12
+ }: Omit<FieldRowProps, 'label'> & {
13
+ label: FieldRowProps['label'] | typeof DO_NOT_SHOW_LABEL
14
+ }) => (
15
+ <div
16
+ className={
17
+ showLabel
18
+ ? `display-grid dc__gap-12 rjsf-form-template__field ${shouldAlignCenter ? 'flex-align-center' : ''}`
19
+ : ''
20
+ }
21
+ >
22
+ {showLabel && (
23
+ <label className="cn-7 fs-13 lh-32 fw-4 flexbox mb-0" htmlFor={id}>
24
+ {/* The check is added here intentionally for proper layout for array type field */}
25
+ {label !== DO_NOT_SHOW_LABEL && (
26
+ <>
27
+ <span className="dc__ellipsis-right">{label || DEFAULT_FIELD_TITLE}</span>
28
+ {required && <span className="cr-5">&nbsp;*</span>}
29
+ </>
30
+ )}
31
+ </label>
32
+ )}
33
+ {children}
34
+ </div>
35
+ )
@@ -0,0 +1,9 @@
1
+ import { FieldTemplateProps } from '@rjsf/utils'
2
+
3
+ export interface FieldRowProps extends Pick<FieldTemplateProps, 'children' | 'label' | 'required' | 'id'> {
4
+ showLabel?: boolean
5
+ /**
6
+ * @default true
7
+ */
8
+ shouldAlignCenter?: boolean
9
+ }
@@ -0,0 +1,37 @@
1
+ import React from 'react'
2
+ import { RegistryWidgetsType } from '@rjsf/utils'
3
+
4
+ import {
5
+ AddButton,
6
+ ArrayFieldItemTemplate,
7
+ ArrayFieldTemplate,
8
+ BaseInputTemplate,
9
+ DescriptionFieldTemplate,
10
+ FieldTemplate,
11
+ FieldErrorTemplate,
12
+ ObjectFieldTemplate,
13
+ RemoveButton,
14
+ SubmitButton,
15
+ TitleFieldTemplate,
16
+ WrapIfAdditionalTemplate,
17
+ } from './templates'
18
+ import { CheckboxWidget, SelectWidget } from './widgets'
19
+ import { FormProps } from './types'
20
+
21
+ export const widgets: RegistryWidgetsType = {
22
+ CheckboxWidget,
23
+ SelectWidget,
24
+ }
25
+
26
+ export const templates: FormProps['templates'] = {
27
+ ArrayFieldItemTemplate,
28
+ ArrayFieldTemplate,
29
+ BaseInputTemplate,
30
+ ButtonTemplates: { AddButton, RemoveButton, SubmitButton },
31
+ DescriptionFieldTemplate,
32
+ FieldTemplate,
33
+ FieldErrorTemplate,
34
+ ObjectFieldTemplate,
35
+ TitleFieldTemplate,
36
+ WrapIfAdditionalTemplate,
37
+ }
@@ -0,0 +1,10 @@
1
+ export const PLACEHOLDERS = {
2
+ SELECT: 'Please select an option',
3
+ INPUT: 'Please enter an input',
4
+ OBJECT_KEY: 'Please enter a value for the key',
5
+ }
6
+
7
+ export const DEFAULT_FIELD_TITLE = 'Key not available'
8
+
9
+ // Using symbol to ensure uniqueness across the fields
10
+ export const DO_NOT_SHOW_LABEL = Symbol('Do not show label')
@@ -0,0 +1,3 @@
1
+ export { RJSFForm } from './Form'
2
+ export * from './types'
3
+ export { getInferredTypeFromValueType, getRedirectionProps } from './utils'
@@ -0,0 +1,18 @@
1
+ .rjsf-form-template {
2
+ &__field {
3
+ grid-template-columns: 250px 1fr;
4
+ }
5
+
6
+ &__additional-fields {
7
+ grid-template-columns: 1fr 1fr minmax(20px, auto);
8
+ }
9
+
10
+ &__array-field-item {
11
+ grid-template-columns: 1fr auto;
12
+
13
+ & > :first-child {
14
+ // This is added as the array field itself has a margin bottom
15
+ margin: 0;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,31 @@
1
+ import React, { CSSProperties } from 'react'
2
+ import { ArrayFieldTemplateItemType } from '@rjsf/utils'
3
+
4
+ export const ArrayFieldItemTemplate = ({
5
+ children,
6
+ className,
7
+ disabled,
8
+ hasToolbar,
9
+ hasRemove,
10
+ index,
11
+ onDropIndexClick,
12
+ readonly,
13
+ registry,
14
+ uiSchema,
15
+ }: ArrayFieldTemplateItemType) => {
16
+ const { RemoveButton } = registry.templates.ButtonTemplates
17
+
18
+ return (
19
+ <div className="display-grid rjsf-form-template__array-field-item flex-align-center dc__gap-8 mb-12">
20
+ {children}
21
+ {hasToolbar && hasRemove && (
22
+ <RemoveButton
23
+ disabled={disabled || readonly}
24
+ onClick={onDropIndexClick(index)}
25
+ uiSchema={uiSchema}
26
+ registry={registry}
27
+ />
28
+ )}
29
+ </div>
30
+ )
31
+ }
@@ -0,0 +1,78 @@
1
+ import React from 'react'
2
+ import { getTemplate, getUiOptions, ArrayFieldTemplateProps, ArrayFieldTemplateItemType } from '@rjsf/utils'
3
+ import { FieldRowWithLabel } from '../common/FieldRow'
4
+ import { DO_NOT_SHOW_LABEL } from '../constants'
5
+
6
+ const ActionButton = ({ canAdd, onAddClick, disabled, readonly, uiSchema, registry }) => {
7
+ const {
8
+ ButtonTemplates: { AddButton },
9
+ } = registry.templates
10
+
11
+ return (
12
+ canAdd && (
13
+ <AddButton onClick={onAddClick} disabled={disabled || readonly} uiSchema={uiSchema} registry={registry} />
14
+ )
15
+ )
16
+ }
17
+
18
+ export const ArrayFieldTemplate = ({
19
+ canAdd,
20
+ className,
21
+ disabled,
22
+ idSchema,
23
+ uiSchema,
24
+ items,
25
+ onAddClick,
26
+ readonly,
27
+ registry,
28
+ required,
29
+ title,
30
+ }: ArrayFieldTemplateProps) => {
31
+ const uiOptions = getUiOptions(uiSchema)
32
+ const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate'>('ArrayFieldItemTemplate', registry, uiOptions)
33
+ const label = uiOptions.title || title
34
+
35
+ return (
36
+ <fieldset className={className} id={idSchema.$id}>
37
+ {/* Show the label here in case there are no items, otherwise handled by Field Template */}
38
+ {items.length ? (
39
+ <>
40
+ {items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType, index) => {
41
+ // Show the title as the label for the first field
42
+ const children = {
43
+ ...itemProps.children,
44
+ props: {
45
+ ...itemProps.children.props,
46
+ name: index === 0 ? label : DO_NOT_SHOW_LABEL,
47
+ },
48
+ }
49
+ return (
50
+ <ArrayFieldItemTemplate key={key} {...itemProps}>
51
+ {children}
52
+ </ArrayFieldItemTemplate>
53
+ )
54
+ })}
55
+ <ActionButton
56
+ canAdd={canAdd}
57
+ onAddClick={onAddClick}
58
+ disabled={disabled}
59
+ readonly={readonly}
60
+ uiSchema={uiSchema}
61
+ registry={registry}
62
+ />
63
+ </>
64
+ ) : (
65
+ <FieldRowWithLabel label={label} required={required} showLabel id={idSchema.$id}>
66
+ <ActionButton
67
+ canAdd={canAdd}
68
+ onAddClick={onAddClick}
69
+ disabled={disabled}
70
+ readonly={readonly}
71
+ uiSchema={uiSchema}
72
+ registry={registry}
73
+ />
74
+ </FieldRowWithLabel>
75
+ )}
76
+ </fieldset>
77
+ )
78
+ }
@@ -0,0 +1,16 @@
1
+ import React from 'react'
2
+ import { getDefaultRegistry } from '@rjsf/core'
3
+ import { BaseInputTemplateProps } from '@rjsf/utils'
4
+ import { PLACEHOLDERS } from '../constants'
5
+
6
+ const {
7
+ templates: { BaseInputTemplate },
8
+ } = getDefaultRegistry()
9
+
10
+ export const BaseInput = ({ placeholder, ...props }: BaseInputTemplateProps) => (
11
+ <BaseInputTemplate
12
+ placeholder={placeholder || PLACEHOLDERS.INPUT}
13
+ {...props}
14
+ className="form__input cn-9 fs-13 lh-20 fw-4"
15
+ />
16
+ )