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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) 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 -81
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
  31. package/dist/Common/CustomInput/Types.d.ts +29 -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 -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 +67 -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 -691
  128. package/dist/Common/index.d.ts +50 -51
  129. package/dist/index.d.ts +1 -1
  130. package/dist/index.js +28882 -225
  131. package/package.json +23 -35
  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 +590 -0
  223. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  224. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  225. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  226. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  227. package/src/Common/Hooks/index.ts +3 -0
  228. package/src/Common/ImageTags.Types.ts +44 -0
  229. package/src/Common/ImageTags.tsx +586 -0
  230. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  231. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  232. package/src/Common/Modals/Modal.tsx +68 -0
  233. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  234. package/src/Common/Modals/VisibleModal.tsx +55 -0
  235. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  236. package/src/Common/MultiSelectCustomization.tsx +148 -0
  237. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  238. package/src/Common/Pagination/Pagination.tsx +127 -0
  239. package/src/Common/Pagination/constants.ts +6 -0
  240. package/src/Common/Pagination/index.tsx +3 -0
  241. package/src/Common/Pagination/pagination.scss +123 -0
  242. package/src/Common/Pagination/types.ts +55 -0
  243. package/src/Common/Pagination/utils.tsx +24 -0
  244. package/src/Common/Policy.Types.ts +63 -0
  245. package/src/Common/PopupMenu.tsx +199 -0
  246. package/src/Common/Progressing.tsx +53 -0
  247. package/src/Common/RJSF/Form.tsx +29 -0
  248. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  249. package/src/Common/RJSF/common/types.ts +9 -0
  250. package/src/Common/RJSF/config.ts +37 -0
  251. package/src/Common/RJSF/constants.ts +10 -0
  252. package/src/Common/RJSF/index.ts +3 -0
  253. package/src/Common/RJSF/rjsfForm.scss +18 -0
  254. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  255. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  256. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  257. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  258. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  259. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  260. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  261. package/src/Common/RJSF/templates/Description.tsx +12 -0
  262. package/src/Common/RJSF/templates/Field.tsx +30 -0
  263. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  264. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  265. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  266. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  267. package/src/Common/RJSF/templates/index.ts +10 -0
  268. package/src/Common/RJSF/types.ts +4 -0
  269. package/src/Common/RJSF/utils.ts +123 -0
  270. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  271. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  272. package/src/Common/RJSF/widgets/index.ts +2 -0
  273. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  274. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  275. package/src/Common/RadioGroup.tsx +53 -0
  276. package/src/Common/Reload.tsx +23 -0
  277. package/src/Common/ResizableTextarea.tsx +73 -0
  278. package/src/Common/SearchBar/SearchBar.component.tsx +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/CodeEditor-3c2aaef5.js +0 -103695
  295. package/dist/Common/AddCDButton/AddCDButton.js +0 -61
  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 -167
  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 -71
  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.d.ts +0 -1
  313. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  314. package/dist/Common/ClipboardButton/types.js +0 -1
  315. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  316. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  317. package/dist/Common/Common.service.js +0 -191
  318. package/dist/Common/Constants.js +0 -239
  319. package/dist/Common/CustomInput/CustomInput.js +0 -81
  320. package/dist/Common/CustomInput/Types.js +0 -1
  321. package/dist/Common/CustomInput/index.js +0 -4
  322. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  323. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  324. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  325. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  326. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  327. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  328. package/dist/Common/CustomTagSelector/Types.js +0 -1
  329. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  330. package/dist/Common/CustomTagSelector/index.js +0 -12
  331. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
  332. package/dist/Common/DebouncedSearch/Types.js +0 -1
  333. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  334. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  335. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
  336. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  337. package/dist/Common/DeleteComponentModal/types.js +0 -1
  338. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -98
  339. package/dist/Common/DevtronProgressing/index.js +0 -4
  340. package/dist/Common/DevtronProgressing/types.js +0 -1
  341. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  342. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  343. package/dist/Common/Dialogs/DialogForm.js +0 -63
  344. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  345. package/dist/Common/Dialogs/Types.js +0 -1
  346. package/dist/Common/Dialogs/index.js +0 -11
  347. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  348. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -73
  349. package/dist/Common/DraggableWrapper/index.js +0 -8
  350. package/dist/Common/DraggableWrapper/types.js +0 -4
  351. package/dist/Common/Drawer/Drawer.js +0 -22
  352. package/dist/Common/EmptyState/EmptyState.js +0 -32
  353. package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
  354. package/dist/Common/Error.js +0 -49
  355. package/dist/Common/ErrorScreenNotFound.js +0 -23
  356. package/dist/Common/Grid/Grid.js +0 -31
  357. package/dist/Common/Grid/types.js +0 -1
  358. package/dist/Common/Helper.js +0 -39
  359. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  360. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  361. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  362. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  363. package/dist/Common/Hooks/index.js +0 -8
  364. package/dist/Common/ImageTags.Types.js +0 -1
  365. package/dist/Common/ImageTags.js +0 -384
  366. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  367. package/dist/Common/Modals/Modal.js +0 -48
  368. package/dist/Common/Modals/OpaqueModal.js +0 -32
  369. package/dist/Common/Modals/VisibleModal.js +0 -31
  370. package/dist/Common/Modals/VisibleModal2.js +0 -31
  371. package/dist/Common/MultiSelectCustomization.js +0 -97
  372. package/dist/Common/Pagination/PageSizeSelector.js +0 -52
  373. package/dist/Common/Pagination/Pagination.js +0 -98
  374. package/dist/Common/Pagination/constants.js +0 -9
  375. package/dist/Common/Pagination/index.js +0 -4
  376. package/dist/Common/Pagination/types.js +0 -1
  377. package/dist/Common/Pagination/utils.js +0 -15
  378. package/dist/Common/Policy.Types.js +0 -6
  379. package/dist/Common/PopupMenu.js +0 -148
  380. package/dist/Common/Progressing.js +0 -52
  381. package/dist/Common/RJSF/Form.js +0 -25
  382. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  383. package/dist/Common/RJSF/common/types.js +0 -1
  384. package/dist/Common/RJSF/config.js +0 -33
  385. package/dist/Common/RJSF/constants.js +0 -10
  386. package/dist/Common/RJSF/index.js +0 -7
  387. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  388. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -60
  389. package/dist/Common/RJSF/templates/BaseInput.js +0 -16
  390. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  391. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  392. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -17
  393. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  394. package/dist/Common/RJSF/templates/Description.js +0 -9
  395. package/dist/Common/RJSF/templates/Field.js +0 -18
  396. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -13
  397. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -71
  398. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  399. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -43
  400. package/dist/Common/RJSF/templates/index.js +0 -26
  401. package/dist/Common/RJSF/types.js +0 -1
  402. package/dist/Common/RJSF/utils.js +0 -95
  403. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  404. package/dist/Common/RJSF/widgets/Select.js +0 -625
  405. package/dist/Common/RJSF/widgets/index.js +0 -6
  406. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  407. package/dist/Common/RadioGroup.js +0 -47
  408. package/dist/Common/Reload.js +0 -16
  409. package/dist/Common/ResizableTextarea.js +0 -60
  410. package/dist/Common/SearchBar/SearchBar.component.js +0 -66
  411. package/dist/Common/SearchBar/index.js +0 -4
  412. package/dist/Common/SearchBar/types.js +0 -1
  413. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  414. package/dist/Common/Select/Select.d.ts +0 -4
  415. package/dist/Common/Select/Select.js +0 -193
  416. package/dist/Common/Select/types.d.ts +0 -29
  417. package/dist/Common/Select/types.js +0 -1
  418. package/dist/Common/ServerError.js +0 -26
  419. package/dist/Common/TippyCustomized.js +0 -10
  420. package/dist/Common/ToastBody.js +0 -41
  421. package/dist/Common/Toggle/Toggle.js +0 -40
  422. package/dist/Common/Types.js +0 -24
  423. package/dist/Common/index.js +0 -226
  424. package/dist/Helper-a0caa238.js +0 -9834
  425. package/dist/TippyCustomized-7b9b46b9.js +0 -124
  426. package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
  427. package/dist/abap-9f67f57a.js +0 -1314
  428. package/dist/apex-ff62e532.js +0 -315
  429. package/dist/assets/CodeEditor.css +0 -1
  430. package/dist/assets/Drawer.css +0 -1
  431. package/dist/assets/Form.css +0 -1
  432. package/dist/assets/GenericEmptyState.css +0 -1
  433. package/dist/assets/InfoColourbar.css +0 -1
  434. package/dist/assets/Pagination.css +0 -1
  435. package/dist/assets/RadioGroup.css +0 -1
  436. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  437. package/dist/assets/SearchBar.component.css +0 -1
  438. package/dist/assets/Select.css +0 -1
  439. package/dist/assets/TippyCustomized.css +0 -1
  440. package/dist/assets/Toggle.css +0 -1
  441. package/dist/assets/editor.worker-d26000ef.js +0 -9
  442. package/dist/assets/json.worker-f23a4654.js +0 -40
  443. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  444. package/dist/azcli-31e64a7f.js +0 -74
  445. package/dist/bat-0ffe897e.js +0 -95
  446. package/dist/bicep-3414a2b1.js +0 -108
  447. package/dist/cameligo-df1f3f25.js +0 -168
  448. package/dist/clojure-65b0f010.js +0 -754
  449. package/dist/coffee-437f0fba.js +0 -228
  450. package/dist/cpp-66843dd5.js +0 -390
  451. package/dist/csharp-621d9a49.js +0 -320
  452. package/dist/csp-de0d5244.js +0 -57
  453. package/dist/css-7cd5ed4c.js +0 -186
  454. package/dist/cssMode-c5cae484.js +0 -1446
  455. package/dist/cypher-70ad96fe.js +0 -262
  456. package/dist/dart-33ae3739.js +0 -270
  457. package/dist/dockerfile-f2274a50.js +0 -132
  458. package/dist/ecl-3b8294a3.js +0 -454
  459. package/dist/elixir-b9dcc73a.js +0 -489
  460. package/dist/extends-70f3d2a3.js +0 -13
  461. package/dist/flow9-bdde8316.js +0 -141
  462. package/dist/freemarker2-b9a8615c.js +0 -643
  463. package/dist/fsharp-eac2e449.js +0 -210
  464. package/dist/go-d12ed8d4.js +0 -208
  465. package/dist/graphql-c7356b69.js +0 -141
  466. package/dist/handlebars-3803af36.js +0 -391
  467. package/dist/hcl-e883a0d4.js +0 -177
  468. package/dist/html-498f0150.js +0 -281
  469. package/dist/htmlMode-a8ae8cc5.js +0 -1456
  470. package/dist/ic-add-4787ded5.js +0 -5
  471. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  472. package/dist/ic-copy-118b83dc.js +0 -5
  473. package/dist/ic-cross-0e71861d.js +0 -6
  474. package/dist/ic-error-cross-2760059a.js +0 -5
  475. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  476. package/dist/ic-info-filled-31a15add.js +0 -6
  477. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  478. package/dist/ic-warning-42534af1.js +0 -5
  479. package/dist/ini-425ab711.js +0 -68
  480. package/dist/inject-tag-824bf92c.js +0 -5
  481. package/dist/java-2bc0fd68.js +0 -221
  482. package/dist/javascript-4363ced3.js +0 -75
  483. package/dist/jsonMode-80290b9e.js +0 -1867
  484. package/dist/jsx-runtime-0dcb030c.js +0 -667
  485. package/dist/julia-1c932615.js +0 -496
  486. package/dist/kotlin-1ab839c8.js +0 -245
  487. package/dist/less-6fe856f5.js +0 -168
  488. package/dist/lexon-4955ac52.js +0 -151
  489. package/dist/liquid-1398df0a.js +0 -238
  490. package/dist/lua-3cca0047.js +0 -157
  491. package/dist/m3-132e9cb6.js +0 -210
  492. package/dist/markdown-ea59a0c1.js +0 -202
  493. package/dist/mips-19811f4b.js +0 -194
  494. package/dist/msdax-69954a10.js +0 -377
  495. package/dist/mysql-82088e5d.js +0 -876
  496. package/dist/objective-c-1976eccc.js +0 -188
  497. package/dist/pascal-8ef177cb.js +0 -245
  498. package/dist/pascaligo-bc517b9e.js +0 -158
  499. package/dist/perl-8b93582c.js +0 -599
  500. package/dist/pgsql-00c11a6d.js +0 -847
  501. package/dist/php-4c8c276f.js +0 -471
  502. package/dist/pla-e9b4ffb1.js +0 -131
  503. package/dist/postiats-2071af8c.js +0 -544
  504. package/dist/powerquery-8e388ceb.js +0 -890
  505. package/dist/powershell-e35db398.js +0 -233
  506. package/dist/protobuf-a24b9176.js +0 -422
  507. package/dist/pug-2c94d9b8.js +0 -393
  508. package/dist/python-dd2d43e8.js +0 -259
  509. package/dist/qsharp-d730d7fe.js +0 -282
  510. package/dist/r-be193556.js +0 -245
  511. package/dist/razor-20a66096.js +0 -512
  512. package/dist/react-select.esm-97f26847.js +0 -4160
  513. package/dist/react-toastify.esm-1042de65.js +0 -792
  514. package/dist/react.esm-2c92920f.js +0 -13727
  515. package/dist/redis-9690c6ac.js +0 -298
  516. package/dist/redshift-6bdcdeaa.js +0 -806
  517. package/dist/restructuredtext-a08c1d20.js +0 -162
  518. package/dist/ruby-2247692b.js +0 -444
  519. package/dist/rust-1dffb4d5.js +0 -337
  520. package/dist/sb-136598e9.js +0 -110
  521. package/dist/scala-b1100fed.js +0 -353
  522. package/dist/scheme-038c8094.js +0 -114
  523. package/dist/scss-700d1b52.js +0 -244
  524. package/dist/shell-86c16e0f.js +0 -224
  525. package/dist/solidity-c05fdf3c.js +0 -1351
  526. package/dist/sophia-cd645d71.js +0 -190
  527. package/dist/sparql-01d9ec9c.js +0 -193
  528. package/dist/sql-4c33df41.js +0 -818
  529. package/dist/st-52cf1408.js +0 -414
  530. package/dist/swift-13c792ba.js +0 -315
  531. package/dist/systemverilog-0bd8b730.js +0 -556
  532. package/dist/tcl-463d7c75.js +0 -232
  533. package/dist/tippy-react.esm-8dc66a75.js +0 -2018
  534. package/dist/tsMode-3fa4eb6a.js +0 -811
  535. package/dist/twig-0d98f5ec.js +0 -323
  536. package/dist/typescript-1bbaf605.js +0 -328
  537. package/dist/vb-3a2b0a51.js +0 -364
  538. package/dist/wgsl-b2ddb3e4.js +0 -420
  539. package/dist/xml-a2693dbd.js +0 -95
  540. package/dist/yaml-01ce4fdd.js +0 -184
@@ -0,0 +1,123 @@
1
+ .pagination-wrapper {
2
+ display: flex;
3
+ align-items: center;
4
+ padding: 0px 24px;
5
+ justify-content: space-between;
6
+ margin: 0px;
7
+ background-color: var(--white);
8
+ }
9
+
10
+ .pagination {
11
+ margin-top: 16px;
12
+ margin-bottom: 16px;
13
+ padding: 0px;
14
+ }
15
+
16
+ .select {
17
+ display: flex;
18
+ align-items: center;
19
+ position: relative;
20
+ }
21
+
22
+ .select__placeholder {
23
+ font-size: 12px;
24
+ font-weight: normal;
25
+ font-style: normal;
26
+ font-stretch: normal;
27
+ line-height: 1.5;
28
+ letter-spacing: normal;
29
+ color: var(--N700);
30
+ margin-right: 8px;
31
+ }
32
+
33
+ .pagination__select-menu {
34
+ padding: 0px;
35
+ list-style: none;
36
+ overflow: hidden;
37
+ border: solid 1px var(--N200);
38
+ border-radius: 4px;
39
+ width: 64px;
40
+ position: absolute;
41
+ bottom: 31px;
42
+ background-color: var(--white);;
43
+ }
44
+
45
+ .select__button {
46
+ width: 64px;
47
+ background-color: transparent;
48
+ border-radius: 4px;
49
+ border: solid 1px var(--N200);
50
+ padding: 5px 10px;
51
+ text-align: left;
52
+ }
53
+
54
+ .select__item {
55
+ padding: 5px 10px;
56
+ cursor: pointer;
57
+ }
58
+
59
+ .select__icon {
60
+ margin-left: 18px;
61
+ }
62
+
63
+ .page {
64
+ margin: 0px 8px;
65
+ display: inline-block;
66
+ }
67
+
68
+ .page-number {
69
+ font-size: 12px;
70
+ font-weight: normal;
71
+ font-style: normal;
72
+ font-stretch: normal;
73
+ line-height: 1.5;
74
+ letter-spacing: normal;
75
+ color: var(--N700);
76
+ }
77
+
78
+ .page__button {
79
+ width: 24px;
80
+ height: 24px;
81
+ border-radius: 8px;
82
+ color: var(--B500);
83
+ background-color: var(--white);
84
+ padding: 0px;
85
+ user-select: none;
86
+ }
87
+
88
+ .page__button--icon {
89
+ background-color: var(--white);
90
+ color: var(--B500);
91
+ }
92
+
93
+ /* MODIFIERS */
94
+
95
+ .page__button--selected {
96
+ color: var(--white);
97
+ background-color: var(--B500);
98
+ }
99
+
100
+ /* States and Selectorys */
101
+
102
+ .page__button:disabled {
103
+ opacity: 0.5;
104
+ }
105
+
106
+ .select__item:hover {
107
+ background-color: var(--N50);
108
+ }
109
+
110
+ .page__button:hover ~ :disabled {
111
+ background-color: var(--B100);
112
+ }
113
+
114
+ .page__button--selected:hover {
115
+ color: var(--white);
116
+ background-color: var(--B500);
117
+ }
118
+
119
+ @media (min-width: 1024px) {
120
+ .pagination {
121
+ margin: 16px auto;
122
+ }
123
+ }
@@ -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
+ }