@devtron-labs/devtron-fe-common-lib 0.0.55-beta-1 → 0.0.55

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 (551) 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 +67 -73
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
  31. package/dist/Common/CustomInput/Types.d.ts +29 -29
  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 -3
  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 -4
  46. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  47. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -3
  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 -9
  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 -28
  62. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
  63. package/dist/Common/Error.d.ts +17 -17
  64. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  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 -4
  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 -8
  89. package/dist/Common/Progressing.d.ts +4 -4
  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 -3
  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 +690 -690
  128. package/dist/Common/index.d.ts +50 -51
  129. package/dist/index.d.ts +1 -1
  130. package/dist/index.js +28865 -223
  131. package/package.json +13 -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 +245 -0
  182. package/src/Common/CustomInput/CustomInput.tsx +131 -0
  183. package/src/Common/CustomInput/Types.ts +30 -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 +49 -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 +120 -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 +36 -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 +763 -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/BaseInput-8101e714.js +0 -1686
  295. package/dist/CodeEditor-0a5bfd53.js +0 -103695
  296. package/dist/Common/AddCDButton/AddCDButton.js +0 -61
  297. package/dist/Common/AddCDButton/index.js +0 -6
  298. package/dist/Common/AddCDButton/types.js +0 -1
  299. package/dist/Common/AddCDButton/utils.js +0 -19
  300. package/dist/Common/Api.js +0 -167
  301. package/dist/Common/AppStatus/AppStatus.js +0 -37
  302. package/dist/Common/AppStatus/constants.js +0 -37
  303. package/dist/Common/AppStatus/index.js +0 -4
  304. package/dist/Common/AppStatus/types.js +0 -1
  305. package/dist/Common/AppStatus/utils.js +0 -8
  306. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  307. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  308. package/dist/Common/BreadCrumb/Types.js +0 -1
  309. package/dist/Common/CIPipeline.Types.js +0 -10
  310. package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
  311. package/dist/Common/Checkbox.js +0 -28
  312. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  313. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  314. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  315. package/dist/Common/ClipboardButton/types.js +0 -1
  316. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  317. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  318. package/dist/Common/Common.service.js +0 -191
  319. package/dist/Common/Constants.js +0 -234
  320. package/dist/Common/CustomInput/CustomInput.js +0 -80
  321. package/dist/Common/CustomInput/Types.js +0 -1
  322. package/dist/Common/CustomInput/index.js +0 -4
  323. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  324. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  325. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  326. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  327. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  328. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  329. package/dist/Common/CustomTagSelector/Types.js +0 -1
  330. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  331. package/dist/Common/CustomTagSelector/index.js +0 -12
  332. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
  333. package/dist/Common/DebouncedSearch/Types.js +0 -1
  334. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  335. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  336. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
  337. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  338. package/dist/Common/DeleteComponentModal/types.js +0 -1
  339. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -98
  340. package/dist/Common/DevtronProgressing/index.js +0 -4
  341. package/dist/Common/DevtronProgressing/types.js +0 -1
  342. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  343. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  344. package/dist/Common/Dialogs/DialogForm.js +0 -63
  345. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  346. package/dist/Common/Dialogs/Types.js +0 -1
  347. package/dist/Common/Dialogs/index.js +0 -11
  348. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  349. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -1499
  350. package/dist/Common/DraggableWrapper/index.js +0 -8
  351. package/dist/Common/DraggableWrapper/types.js +0 -4
  352. package/dist/Common/Drawer/Drawer.js +0 -22
  353. package/dist/Common/EmptyState/EmptyState.js +0 -32
  354. package/dist/Common/EmptyState/GenericEmptyState.js +0 -53
  355. package/dist/Common/Error.js +0 -49
  356. package/dist/Common/ErrorScreenNotFound.js +0 -23
  357. package/dist/Common/Grid/Grid.js +0 -31
  358. package/dist/Common/Grid/types.js +0 -1
  359. package/dist/Common/Helper.js +0 -39
  360. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  361. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  362. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  363. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  364. package/dist/Common/Hooks/index.js +0 -8
  365. package/dist/Common/ImageTags.Types.js +0 -1
  366. package/dist/Common/ImageTags.js +0 -381
  367. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  368. package/dist/Common/Modals/Modal.js +0 -48
  369. package/dist/Common/Modals/OpaqueModal.js +0 -32
  370. package/dist/Common/Modals/VisibleModal.js +0 -31
  371. package/dist/Common/Modals/VisibleModal2.js +0 -31
  372. package/dist/Common/MultiSelectCustomization.js +0 -97
  373. package/dist/Common/Pagination/PageSizeSelector.js +0 -49
  374. package/dist/Common/Pagination/Pagination.js +0 -95
  375. package/dist/Common/Pagination/constants.js +0 -9
  376. package/dist/Common/Pagination/index.js +0 -4
  377. package/dist/Common/Pagination/types.js +0 -1
  378. package/dist/Common/Pagination/utils.js +0 -15
  379. package/dist/Common/Policy.Types.js +0 -6
  380. package/dist/Common/PopupMenu.js +0 -148
  381. package/dist/Common/Progressing.js +0 -52
  382. package/dist/Common/RJSF/Form.js +0 -9888
  383. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  384. package/dist/Common/RJSF/common/types.js +0 -1
  385. package/dist/Common/RJSF/config.js +0 -33
  386. package/dist/Common/RJSF/constants.js +0 -10
  387. package/dist/Common/RJSF/index.js +0 -7
  388. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  389. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -63
  390. package/dist/Common/RJSF/templates/BaseInput.js +0 -8
  391. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  392. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  393. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -19
  394. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  395. package/dist/Common/RJSF/templates/Description.js +0 -9
  396. package/dist/Common/RJSF/templates/Field.js +0 -21
  397. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -15
  398. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -76
  399. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  400. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -44
  401. package/dist/Common/RJSF/templates/index.js +0 -26
  402. package/dist/Common/RJSF/types.js +0 -1
  403. package/dist/Common/RJSF/utils.js +0 -98
  404. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  405. package/dist/Common/RJSF/widgets/Select.js +0 -56
  406. package/dist/Common/RJSF/widgets/index.js +0 -6
  407. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  408. package/dist/Common/RadioGroup.js +0 -47
  409. package/dist/Common/Reload.js +0 -16
  410. package/dist/Common/ResizableTextarea.js +0 -60
  411. package/dist/Common/SearchBar/SearchBar.component.js +0 -66
  412. package/dist/Common/SearchBar/index.js +0 -4
  413. package/dist/Common/SearchBar/types.js +0 -1
  414. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  415. package/dist/Common/Select/Select.d.ts +0 -4
  416. package/dist/Common/Select/Select.js +0 -193
  417. package/dist/Common/Select/types.d.ts +0 -29
  418. package/dist/Common/Select/types.js +0 -1
  419. package/dist/Common/ServerError.js +0 -26
  420. package/dist/Common/TippyCustomized.js +0 -10
  421. package/dist/Common/ToastBody.js +0 -41
  422. package/dist/Common/Toggle/Toggle.js +0 -40
  423. package/dist/Common/Types.js +0 -24
  424. package/dist/Common/UseWindowSize.d.ts +0 -4
  425. package/dist/Common/UseWindowSize.js +0 -20
  426. package/dist/Common/index.js +0 -224
  427. package/dist/Helper-e1262739.js +0 -9834
  428. package/dist/TippyCustomized-c58fd46a.js +0 -124
  429. package/dist/_commonjsHelpers-c5d32002.js +0 -30
  430. package/dist/abap-9f67f57a.js +0 -1314
  431. package/dist/apex-ff62e532.js +0 -315
  432. package/dist/assets/CodeEditor.css +0 -1
  433. package/dist/assets/Drawer.css +0 -1
  434. package/dist/assets/Form.css +0 -1
  435. package/dist/assets/GenericEmptyState.css +0 -1
  436. package/dist/assets/InfoColourbar.css +0 -1
  437. package/dist/assets/Pagination.css +0 -1
  438. package/dist/assets/RadioGroup.css +0 -1
  439. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  440. package/dist/assets/SearchBar.component.css +0 -1
  441. package/dist/assets/Select.css +0 -1
  442. package/dist/assets/TippyCustomized.css +0 -1
  443. package/dist/assets/Toggle.css +0 -1
  444. package/dist/assets/editor.worker-d26000ef.js +0 -9
  445. package/dist/assets/json.worker-f23a4654.js +0 -40
  446. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  447. package/dist/azcli-31e64a7f.js +0 -74
  448. package/dist/bat-0ffe897e.js +0 -95
  449. package/dist/bicep-3414a2b1.js +0 -108
  450. package/dist/cameligo-df1f3f25.js +0 -168
  451. package/dist/canExpand-ab1f6741.js +0 -10
  452. package/dist/clojure-65b0f010.js +0 -754
  453. package/dist/coffee-437f0fba.js +0 -228
  454. package/dist/cpp-66843dd5.js +0 -390
  455. package/dist/csharp-621d9a49.js +0 -320
  456. package/dist/csp-de0d5244.js +0 -57
  457. package/dist/css-7cd5ed4c.js +0 -186
  458. package/dist/cssMode-c259da7f.js +0 -1446
  459. package/dist/cypher-70ad96fe.js +0 -262
  460. package/dist/dart-33ae3739.js +0 -270
  461. package/dist/dockerfile-f2274a50.js +0 -132
  462. package/dist/ecl-3b8294a3.js +0 -454
  463. package/dist/elixir-b9dcc73a.js +0 -489
  464. package/dist/englishStringTranslator-2c9a30fc.js +0 -17
  465. package/dist/enums-d0bd3f97.js +0 -6618
  466. package/dist/extends-70f3d2a3.js +0 -13
  467. package/dist/flow9-bdde8316.js +0 -141
  468. package/dist/freemarker2-d852fa33.js +0 -643
  469. package/dist/fsharp-eac2e449.js +0 -210
  470. package/dist/getSubmitButtonOptions-a1be9bb0.js +0 -20
  471. package/dist/getTemplate-91d3260d.js +0 -11
  472. package/dist/getUiOptions-844b45a7.js +0 -10
  473. package/dist/go-d12ed8d4.js +0 -208
  474. package/dist/graphql-c7356b69.js +0 -141
  475. package/dist/handlebars-7e868cd0.js +0 -391
  476. package/dist/hcl-e883a0d4.js +0 -177
  477. package/dist/html-1faea799.js +0 -281
  478. package/dist/htmlMode-175871d9.js +0 -1456
  479. package/dist/ic-add-4787ded5.js +0 -5
  480. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  481. package/dist/ic-copy-118b83dc.js +0 -5
  482. package/dist/ic-cross-0e71861d.js +0 -6
  483. package/dist/ic-error-cross-2760059a.js +0 -5
  484. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  485. package/dist/ic-info-filled-31a15add.js +0 -6
  486. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  487. package/dist/ic-warning-42534af1.js +0 -5
  488. package/dist/idGenerators-0b33693c.js +0 -35
  489. package/dist/index-5a231705.js +0 -17417
  490. package/dist/index-c855d89c.js +0 -173
  491. package/dist/ini-425ab711.js +0 -68
  492. package/dist/inject-tag-824bf92c.js +0 -5
  493. package/dist/java-2bc0fd68.js +0 -221
  494. package/dist/javascript-46245cbe.js +0 -75
  495. package/dist/jsonMode-bbe5176f.js +0 -1867
  496. package/dist/julia-1c932615.js +0 -496
  497. package/dist/kotlin-1ab839c8.js +0 -245
  498. package/dist/less-6fe856f5.js +0 -168
  499. package/dist/lexon-4955ac52.js +0 -151
  500. package/dist/liquid-e6b820e1.js +0 -238
  501. package/dist/lua-3cca0047.js +0 -157
  502. package/dist/m3-132e9cb6.js +0 -210
  503. package/dist/markdown-ea59a0c1.js +0 -202
  504. package/dist/mips-19811f4b.js +0 -194
  505. package/dist/msdax-69954a10.js +0 -377
  506. package/dist/mysql-82088e5d.js +0 -876
  507. package/dist/objective-c-1976eccc.js +0 -188
  508. package/dist/pascal-8ef177cb.js +0 -245
  509. package/dist/pascaligo-bc517b9e.js +0 -158
  510. package/dist/perl-8b93582c.js +0 -599
  511. package/dist/pgsql-00c11a6d.js +0 -847
  512. package/dist/php-4c8c276f.js +0 -471
  513. package/dist/pla-e9b4ffb1.js +0 -131
  514. package/dist/postiats-2071af8c.js +0 -544
  515. package/dist/powerquery-8e388ceb.js +0 -890
  516. package/dist/powershell-e35db398.js +0 -233
  517. package/dist/protobuf-a24b9176.js +0 -422
  518. package/dist/pug-2c94d9b8.js +0 -393
  519. package/dist/python-7d292338.js +0 -259
  520. package/dist/qsharp-d730d7fe.js +0 -282
  521. package/dist/r-be193556.js +0 -245
  522. package/dist/razor-c6ab49dd.js +0 -512
  523. package/dist/react-select.esm-27b8d563.js +0 -3992
  524. package/dist/react-toastify.esm-e28f7200.js +0 -798
  525. package/dist/react.esm-5465a283.js +0 -13191
  526. package/dist/redis-9690c6ac.js +0 -298
  527. package/dist/redshift-6bdcdeaa.js +0 -806
  528. package/dist/restructuredtext-a08c1d20.js +0 -162
  529. package/dist/ruby-2247692b.js +0 -444
  530. package/dist/rust-1dffb4d5.js +0 -337
  531. package/dist/sb-136598e9.js +0 -110
  532. package/dist/scala-b1100fed.js +0 -353
  533. package/dist/scheme-038c8094.js +0 -114
  534. package/dist/scss-700d1b52.js +0 -244
  535. package/dist/shell-86c16e0f.js +0 -224
  536. package/dist/solidity-c05fdf3c.js +0 -1351
  537. package/dist/sophia-cd645d71.js +0 -190
  538. package/dist/sparql-01d9ec9c.js +0 -193
  539. package/dist/sql-4c33df41.js +0 -818
  540. package/dist/st-52cf1408.js +0 -414
  541. package/dist/swift-13c792ba.js +0 -315
  542. package/dist/systemverilog-0bd8b730.js +0 -556
  543. package/dist/tcl-463d7c75.js +0 -232
  544. package/dist/tippy-react.esm-d5c56a0a.js +0 -2018
  545. package/dist/tsMode-4d1329d1.js +0 -811
  546. package/dist/twig-0d98f5ec.js +0 -323
  547. package/dist/typescript-402306e6.js +0 -328
  548. package/dist/vb-3a2b0a51.js +0 -364
  549. package/dist/wgsl-b2ddb3e4.js +0 -420
  550. package/dist/xml-8975e1f9.js +0 -95
  551. package/dist/yaml-680c02bf.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
+ )