@devtron-labs/devtron-fe-common-lib 0.0.50-beta-2 → 0.0.51-beta-2

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 (457) hide show
  1. package/.eslintrc.js +41 -0
  2. package/.github/workflows/release-package.yml +49 -0
  3. package/.prettierrc.js +7 -0
  4. package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -0
  5. package/dist/Common/AddCDButton/index.d.ts +2 -0
  6. package/dist/Common/AddCDButton/types.d.ts +26 -0
  7. package/dist/Common/AddCDButton/utils.d.ts +2 -0
  8. package/dist/Common/Api.d.ts +5 -5
  9. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  10. package/dist/Common/AppStatus/constants.d.ts +51 -51
  11. package/dist/Common/AppStatus/index.d.ts +1 -1
  12. package/dist/Common/AppStatus/types.d.ts +12 -12
  13. package/dist/Common/AppStatus/utils.d.ts +1 -1
  14. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  15. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  16. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  17. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  18. package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -0
  19. package/dist/Common/Checkbox.d.ts +5 -5
  20. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  21. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  22. package/dist/Common/Common.service.d.ts +20 -19
  23. package/dist/Common/Constants.d.ts +67 -71
  24. package/dist/Common/CustomInput/CustomInput.d.ts +3 -0
  25. package/dist/Common/CustomInput/Types.d.ts +29 -0
  26. package/dist/Common/CustomInput/index.d.ts +2 -0
  27. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  28. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -3
  29. package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
  30. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
  31. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
  32. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  33. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  34. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  35. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  36. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +15 -15
  37. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  38. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  39. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -4
  40. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  41. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -0
  42. package/dist/Common/DevtronProgressing/index.d.ts +1 -0
  43. package/dist/Common/DevtronProgressing/types.d.ts +4 -0
  44. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -9
  45. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  46. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  47. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  48. package/dist/Common/Dialogs/Types.d.ts +45 -44
  49. package/dist/Common/Dialogs/index.d.ts +4 -4
  50. package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -0
  51. package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -0
  52. package/dist/Common/DraggableWrapper/index.d.ts +3 -0
  53. package/dist/Common/DraggableWrapper/types.d.ts +19 -0
  54. package/dist/Common/Drawer/Drawer.d.ts +16 -14
  55. package/dist/Common/EmptyState/EmptyState.d.ts +25 -24
  56. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
  57. package/dist/Common/Error.d.ts +17 -17
  58. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  59. package/dist/Common/Grid/Grid.d.ts +3 -3
  60. package/dist/Common/Grid/types.d.ts +10 -10
  61. package/dist/Common/Helper.d.ts +60 -57
  62. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  63. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  64. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  65. package/dist/Common/{UseWindowSize.d.ts → Hooks/UseWindowSize/UseWindowSize.d.ts} +4 -4
  66. package/dist/Common/Hooks/index.d.ts +3 -2
  67. package/dist/Common/ImageTags.Types.d.ts +40 -40
  68. package/dist/Common/ImageTags.d.ts +4 -3
  69. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -4
  70. package/dist/Common/Modals/Modal.d.ts +3 -3
  71. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  72. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  73. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  74. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  75. package/dist/Common/Policy.Types.d.ts +56 -56
  76. package/dist/Common/PopupMenu.d.ts +8 -8
  77. package/dist/Common/Progressing.d.ts +4 -4
  78. package/dist/Common/RJSF/Form.d.ts +4 -0
  79. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -0
  80. package/dist/Common/RJSF/common/types.d.ts +8 -0
  81. package/dist/Common/RJSF/config.d.ts +4 -0
  82. package/dist/Common/RJSF/constants.d.ts +7 -0
  83. package/dist/Common/RJSF/index.d.ts +3 -0
  84. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -0
  85. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -0
  86. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -0
  87. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -0
  88. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -0
  89. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -0
  90. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -0
  91. package/dist/Common/RJSF/templates/Description.d.ts +3 -0
  92. package/dist/Common/RJSF/templates/Field.d.ts +3 -0
  93. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -0
  94. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -0
  95. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -0
  96. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -0
  97. package/dist/Common/RJSF/templates/index.d.ts +10 -0
  98. package/dist/Common/RJSF/types.d.ts +3 -0
  99. package/dist/Common/RJSF/utils.d.ts +26 -0
  100. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -0
  101. package/dist/Common/RJSF/widgets/Select.d.ts +3 -0
  102. package/dist/Common/RJSF/widgets/index.d.ts +2 -0
  103. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  104. package/dist/Common/RadioGroup.d.ts +8 -8
  105. package/dist/Common/Reload.d.ts +3 -3
  106. package/dist/Common/ResizableTextarea.d.ts +3 -3
  107. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  108. package/dist/Common/ServerError.d.ts +15 -15
  109. package/dist/Common/TippyCustomized.d.ts +4 -3
  110. package/dist/Common/ToastBody.d.ts +23 -23
  111. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  112. package/dist/Common/Types.d.ts +677 -566
  113. package/dist/Common/index.d.ts +48 -44
  114. package/dist/index.d.ts +1 -1
  115. package/dist/index.js +28627 -184
  116. package/package.json +28 -46
  117. package/rollup.config.js +31 -0
  118. package/src/Assets/Icon/ic-add.svg +3 -0
  119. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  120. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  121. package/src/Assets/Icon/ic-check.svg +5 -0
  122. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  123. package/src/Assets/Icon/ic-copy.svg +3 -0
  124. package/src/Assets/Icon/ic-cross.svg +3 -0
  125. package/src/Assets/Icon/ic-drag.svg +8 -0
  126. package/src/Assets/Icon/ic-enter.svg +3 -0
  127. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  128. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  129. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  130. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  131. package/src/Assets/Icon/ic-help.svg +3 -0
  132. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  133. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  134. package/src/Assets/Icon/ic-minus.svg +3 -0
  135. package/src/Assets/Icon/ic-pencil.svg +3 -0
  136. package/src/Assets/Icon/ic-progressing.svg +6 -0
  137. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  138. package/src/Assets/Icon/ic-warning.svg +7 -0
  139. package/src/Assets/Icon/inject-tag.svg +5 -0
  140. package/src/Assets/Img/app-not-deployed.png +0 -0
  141. package/src/Assets/Img/delete-medium.svg +15 -0
  142. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  143. package/src/Assets/Img/ic-loading-failure.png +0 -0
  144. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  145. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  146. package/src/Common/AddCDButton/index.ts +2 -0
  147. package/src/Common/AddCDButton/types.ts +38 -0
  148. package/src/Common/AddCDButton/utils.tsx +35 -0
  149. package/src/Common/Api.ts +230 -0
  150. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  151. package/src/Common/AppStatus/constants.ts +53 -0
  152. package/src/Common/AppStatus/index.ts +1 -0
  153. package/src/Common/AppStatus/types.ts +12 -0
  154. package/src/Common/AppStatus/utils.ts +14 -0
  155. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  156. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  157. package/src/Common/BreadCrumb/Types.ts +30 -0
  158. package/src/Common/CIPipeline.Types.ts +277 -0
  159. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  160. package/src/Common/Checkbox.tsx +36 -0
  161. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  162. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  163. package/src/Common/ClipboardButton/types.ts +7 -0
  164. package/src/Common/Common.service.ts +315 -0
  165. package/src/Common/Constants.ts +245 -0
  166. package/src/Common/CustomInput/CustomInput.tsx +131 -0
  167. package/src/Common/CustomInput/Types.ts +30 -0
  168. package/src/Common/CustomInput/index.ts +2 -0
  169. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  170. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  171. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  172. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  173. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  174. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  175. package/src/Common/CustomTagSelector/Types.ts +72 -0
  176. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  177. package/src/Common/CustomTagSelector/index.ts +6 -0
  178. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +76 -0
  179. package/src/Common/DebouncedSearch/Types.ts +13 -0
  180. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  181. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  182. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  183. package/src/Common/DeleteComponentModal/types.ts +15 -0
  184. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  185. package/src/Common/DevtronProgressing/index.ts +1 -0
  186. package/src/Common/DevtronProgressing/types.ts +4 -0
  187. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  188. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  189. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  190. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  191. package/src/Common/Dialogs/Types.ts +47 -0
  192. package/src/Common/Dialogs/index.ts +4 -0
  193. package/src/Common/DraggableWrapper/DraggableButton.tsx +11 -0
  194. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +109 -0
  195. package/src/Common/DraggableWrapper/index.ts +3 -0
  196. package/src/Common/DraggableWrapper/types.ts +22 -0
  197. package/src/Common/Drawer/Drawer.scss +40 -0
  198. package/src/Common/Drawer/Drawer.tsx +49 -0
  199. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  200. package/src/Common/EmptyState/GenericEmptyState.tsx +49 -0
  201. package/src/Common/EmptyState/emptyState.scss +74 -0
  202. package/src/Common/Error.tsx +61 -0
  203. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  204. package/src/Common/Grid/Grid.tsx +44 -0
  205. package/src/Common/Grid/types.ts +11 -0
  206. package/src/Common/Helper.tsx +561 -0
  207. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  208. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  209. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  210. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +30 -0
  211. package/src/Common/Hooks/index.ts +3 -0
  212. package/src/Common/ImageTags.Types.ts +44 -0
  213. package/src/Common/ImageTags.tsx +586 -0
  214. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  215. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  216. package/src/Common/Modals/Modal.tsx +68 -0
  217. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  218. package/src/Common/Modals/VisibleModal.tsx +55 -0
  219. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  220. package/src/Common/MultiSelectCustomization.tsx +148 -0
  221. package/src/Common/Policy.Types.ts +63 -0
  222. package/src/Common/PopupMenu.tsx +199 -0
  223. package/src/Common/Progressing.tsx +53 -0
  224. package/src/Common/RJSF/Form.tsx +29 -0
  225. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  226. package/src/Common/RJSF/common/types.ts +9 -0
  227. package/src/Common/RJSF/config.ts +37 -0
  228. package/src/Common/RJSF/constants.ts +10 -0
  229. package/src/Common/RJSF/index.ts +3 -0
  230. package/src/Common/RJSF/rjsfForm.scss +18 -0
  231. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  232. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  233. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  234. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  235. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  236. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  237. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  238. package/src/Common/RJSF/templates/Description.tsx +12 -0
  239. package/src/Common/RJSF/templates/Field.tsx +30 -0
  240. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  241. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  242. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  243. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  244. package/src/Common/RJSF/templates/index.ts +10 -0
  245. package/src/Common/RJSF/types.ts +4 -0
  246. package/src/Common/RJSF/utils.ts +123 -0
  247. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  248. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  249. package/src/Common/RJSF/widgets/index.ts +2 -0
  250. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  251. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  252. package/src/Common/RadioGroup.tsx +53 -0
  253. package/src/Common/Reload.tsx +23 -0
  254. package/src/Common/ResizableTextarea.tsx +73 -0
  255. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  256. package/src/Common/Security/scanVulnerabilities.css +69 -0
  257. package/src/Common/ServerError.ts +31 -0
  258. package/src/Common/TippyCustomized.tsx +172 -0
  259. package/src/Common/ToastBody.tsx +62 -0
  260. package/src/Common/Toggle/Toggle.scss +78 -0
  261. package/src/Common/Toggle/Toggle.tsx +50 -0
  262. package/src/Common/Types.ts +750 -0
  263. package/src/Common/index.ts +48 -0
  264. package/src/custom.d.ts +13 -0
  265. package/src/index.ts +1 -0
  266. package/tsconfig.json +40 -0
  267. package/dist/CodeEditor-d59fc867.js +0 -103675
  268. package/dist/Common/Api.js +0 -167
  269. package/dist/Common/AppStatus/AppStatus.js +0 -37
  270. package/dist/Common/AppStatus/constants.js +0 -37
  271. package/dist/Common/AppStatus/index.js +0 -4
  272. package/dist/Common/AppStatus/types.js +0 -1
  273. package/dist/Common/AppStatus/utils.js +0 -8
  274. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  275. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  276. package/dist/Common/BreadCrumb/Types.js +0 -1
  277. package/dist/Common/CIPipeline.Types.js +0 -10
  278. package/dist/Common/Checkbox.js +0 -28
  279. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  280. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  281. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  282. package/dist/Common/ClipboardButton/types.js +0 -1
  283. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  284. package/dist/Common/CodeEditor/CodeEditor.js +0 -14
  285. package/dist/Common/Common.service.js +0 -187
  286. package/dist/Common/Constants.js +0 -231
  287. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  288. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  289. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  290. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  291. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  292. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  293. package/dist/Common/CustomTagSelector/Types.js +0 -1
  294. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  295. package/dist/Common/CustomTagSelector/index.js +0 -12
  296. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -7
  297. package/dist/Common/DebouncedSearch/Types.js +0 -1
  298. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  299. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  300. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -33
  301. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  302. package/dist/Common/DeleteComponentModal/types.js +0 -1
  303. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  304. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  305. package/dist/Common/Dialogs/DialogForm.js +0 -63
  306. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  307. package/dist/Common/Dialogs/Types.js +0 -1
  308. package/dist/Common/Dialogs/index.js +0 -11
  309. package/dist/Common/Drawer/Drawer.js +0 -22
  310. package/dist/Common/EmptyState/EmptyState.js +0 -32
  311. package/dist/Common/EmptyState/GenericEmptyState.js +0 -52
  312. package/dist/Common/Error.js +0 -49
  313. package/dist/Common/ErrorScreenNotFound.js +0 -23
  314. package/dist/Common/Grid/Grid.js +0 -22
  315. package/dist/Common/Grid/types.js +0 -1
  316. package/dist/Common/Helper.js +0 -33
  317. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  318. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  319. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  320. package/dist/Common/Hooks/index.js +0 -6
  321. package/dist/Common/ImageTags.Types.js +0 -1
  322. package/dist/Common/ImageTags.js +0 -380
  323. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  324. package/dist/Common/Modals/Modal.js +0 -48
  325. package/dist/Common/Modals/OpaqueModal.js +0 -32
  326. package/dist/Common/Modals/VisibleModal.js +0 -31
  327. package/dist/Common/Modals/VisibleModal2.js +0 -31
  328. package/dist/Common/MultiSelectCustomization.js +0 -4250
  329. package/dist/Common/Policy.Types.js +0 -6
  330. package/dist/Common/PopupMenu.js +0 -148
  331. package/dist/Common/Progressing.js +0 -52
  332. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  333. package/dist/Common/RadioGroup.js +0 -47
  334. package/dist/Common/Reload.js +0 -16
  335. package/dist/Common/ResizableTextarea.js +0 -60
  336. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  337. package/dist/Common/Select/Select.d.ts +0 -4
  338. package/dist/Common/Select/Select.js +0 -131
  339. package/dist/Common/Select/types.d.ts +0 -29
  340. package/dist/Common/Select/types.js +0 -1
  341. package/dist/Common/ServerError.js +0 -26
  342. package/dist/Common/TippyCustomized.js +0 -10
  343. package/dist/Common/ToastBody.js +0 -41
  344. package/dist/Common/Toggle/Toggle.js +0 -40
  345. package/dist/Common/Types.js +0 -20
  346. package/dist/Common/UseWindowSize.js +0 -20
  347. package/dist/Common/index.js +0 -185
  348. package/dist/DebouncedSearch-065f3ac2.js +0 -58
  349. package/dist/Helper-4dc38bc2.js +0 -8882
  350. package/dist/TippyCustomized-549ebfaf.js +0 -124
  351. package/dist/abap-9f67f57a.js +0 -1314
  352. package/dist/apex-ff62e532.js +0 -315
  353. package/dist/assets/CodeEditor.css +0 -1
  354. package/dist/assets/Drawer.css +0 -1
  355. package/dist/assets/InfoColourbar.css +0 -1
  356. package/dist/assets/RadioGroup.css +0 -1
  357. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  358. package/dist/assets/Select.css +0 -1
  359. package/dist/assets/TippyCustomized.css +0 -1
  360. package/dist/assets/Toggle.css +0 -1
  361. package/dist/assets/editor.worker-d26000ef.js +0 -9
  362. package/dist/assets/emptyState.css +0 -1
  363. package/dist/assets/json.worker-f23a4654.js +0 -40
  364. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  365. package/dist/azcli-31e64a7f.js +0 -74
  366. package/dist/bat-0ffe897e.js +0 -95
  367. package/dist/bicep-3414a2b1.js +0 -108
  368. package/dist/cameligo-df1f3f25.js +0 -168
  369. package/dist/clojure-65b0f010.js +0 -754
  370. package/dist/coffee-437f0fba.js +0 -228
  371. package/dist/cpp-66843dd5.js +0 -390
  372. package/dist/csharp-621d9a49.js +0 -320
  373. package/dist/csp-de0d5244.js +0 -57
  374. package/dist/css-7cd5ed4c.js +0 -186
  375. package/dist/cssMode-518d7b58.js +0 -1446
  376. package/dist/cypher-70ad96fe.js +0 -262
  377. package/dist/dart-33ae3739.js +0 -270
  378. package/dist/dockerfile-f2274a50.js +0 -132
  379. package/dist/ecl-3b8294a3.js +0 -454
  380. package/dist/elixir-b9dcc73a.js +0 -489
  381. package/dist/extends-70f3d2a3.js +0 -13
  382. package/dist/flow9-bdde8316.js +0 -141
  383. package/dist/freemarker2-ec19a832.js +0 -643
  384. package/dist/fsharp-eac2e449.js +0 -210
  385. package/dist/go-d12ed8d4.js +0 -208
  386. package/dist/graphql-c7356b69.js +0 -141
  387. package/dist/handlebars-06e29571.js +0 -391
  388. package/dist/hcl-e883a0d4.js +0 -177
  389. package/dist/html-10fc18eb.js +0 -281
  390. package/dist/htmlMode-5f032666.js +0 -1456
  391. package/dist/ic-add-4787ded5.js +0 -5
  392. package/dist/ic-copy-118b83dc.js +0 -5
  393. package/dist/ic-cross-0e71861d.js +0 -6
  394. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  395. package/dist/ic-info-filled-31a15add.js +0 -6
  396. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  397. package/dist/index-ad700600.js +0 -17444
  398. package/dist/ini-425ab711.js +0 -68
  399. package/dist/inject-tag-824bf92c.js +0 -5
  400. package/dist/java-2bc0fd68.js +0 -221
  401. package/dist/javascript-2e90f5e7.js +0 -75
  402. package/dist/jsonMode-36a94a3e.js +0 -1867
  403. package/dist/julia-1c932615.js +0 -496
  404. package/dist/kotlin-1ab839c8.js +0 -245
  405. package/dist/less-6fe856f5.js +0 -168
  406. package/dist/lexon-4955ac52.js +0 -151
  407. package/dist/liquid-57b08f3e.js +0 -238
  408. package/dist/lua-3cca0047.js +0 -157
  409. package/dist/m3-132e9cb6.js +0 -210
  410. package/dist/markdown-ea59a0c1.js +0 -202
  411. package/dist/mips-19811f4b.js +0 -194
  412. package/dist/msdax-69954a10.js +0 -377
  413. package/dist/mysql-82088e5d.js +0 -876
  414. package/dist/objective-c-1976eccc.js +0 -188
  415. package/dist/pascal-8ef177cb.js +0 -245
  416. package/dist/pascaligo-bc517b9e.js +0 -158
  417. package/dist/perl-8b93582c.js +0 -599
  418. package/dist/pgsql-00c11a6d.js +0 -847
  419. package/dist/php-4c8c276f.js +0 -471
  420. package/dist/pla-e9b4ffb1.js +0 -131
  421. package/dist/postiats-2071af8c.js +0 -544
  422. package/dist/powerquery-8e388ceb.js +0 -890
  423. package/dist/powershell-e35db398.js +0 -233
  424. package/dist/protobuf-a24b9176.js +0 -422
  425. package/dist/pug-2c94d9b8.js +0 -393
  426. package/dist/python-761b1908.js +0 -259
  427. package/dist/qsharp-d730d7fe.js +0 -282
  428. package/dist/r-be193556.js +0 -245
  429. package/dist/razor-9cd536c2.js +0 -512
  430. package/dist/react-toastify.esm-9a31d2e1.js +0 -792
  431. package/dist/react.esm-a0625832.js +0 -13149
  432. package/dist/redis-9690c6ac.js +0 -298
  433. package/dist/redshift-6bdcdeaa.js +0 -806
  434. package/dist/restructuredtext-a08c1d20.js +0 -162
  435. package/dist/ruby-2247692b.js +0 -444
  436. package/dist/rust-1dffb4d5.js +0 -337
  437. package/dist/sb-136598e9.js +0 -110
  438. package/dist/scala-b1100fed.js +0 -353
  439. package/dist/scheme-038c8094.js +0 -114
  440. package/dist/scss-700d1b52.js +0 -244
  441. package/dist/shell-86c16e0f.js +0 -224
  442. package/dist/solidity-c05fdf3c.js +0 -1351
  443. package/dist/sophia-cd645d71.js +0 -190
  444. package/dist/sparql-01d9ec9c.js +0 -193
  445. package/dist/sql-4c33df41.js +0 -818
  446. package/dist/st-52cf1408.js +0 -414
  447. package/dist/swift-13c792ba.js +0 -315
  448. package/dist/systemverilog-0bd8b730.js +0 -556
  449. package/dist/tcl-463d7c75.js +0 -232
  450. package/dist/tippy-react.esm-3be2e905.js +0 -2018
  451. package/dist/tsMode-d9dd8508.js +0 -811
  452. package/dist/twig-0d98f5ec.js +0 -323
  453. package/dist/typescript-08c1d7b6.js +0 -328
  454. package/dist/vb-3a2b0a51.js +0 -364
  455. package/dist/wgsl-b2ddb3e4.js +0 -420
  456. package/dist/xml-69527c9c.js +0 -95
  457. package/dist/yaml-eb80879d.js +0 -184
@@ -0,0 +1,68 @@
1
+ import React, { useEffect } from 'react'
2
+ import ReactDOM from 'react-dom'
3
+ import { ModalType } from '../Types'
4
+
5
+ export const Modal = ({
6
+ style = {},
7
+ children,
8
+ modal = false,
9
+ rootClassName = '',
10
+ onClick = null,
11
+ callbackRef = null,
12
+ preventWheelDisable = false,
13
+ noBackDrop,
14
+ }: ModalType) => {
15
+ const innerRef = React.useRef(null)
16
+ function handleClick(e) {
17
+ if (typeof onClick !== 'function') return
18
+ if (innerRef && innerRef.current?.contains(e.target)) {
19
+ onClick(e, 'in')
20
+ } else {
21
+ onClick(e, 'out')
22
+ }
23
+ }
24
+
25
+ function disableWheel(e) {
26
+ if (!preventWheelDisable) {
27
+ if (innerRef?.current.contains(e.target)) {
28
+ if (innerRef.current.clientHeight === innerRef.current.scrollHeight) {
29
+ e.preventDefault()
30
+ }
31
+ } else {
32
+ e.preventDefault()
33
+ }
34
+ }
35
+ }
36
+ useEffect(() => {
37
+ document.addEventListener('click', handleClick)
38
+ let modal = document.getElementById('visible-modal')
39
+ if (modal) modal.classList.add('show')
40
+ if (noBackDrop) modal.classList.add('no-back-drop')
41
+ if (!preventWheelDisable) document.body.addEventListener('wheel', disableWheel, { passive: false })
42
+ return () => {
43
+ if (!preventWheelDisable) document.body.removeEventListener('wheel', disableWheel)
44
+ document.removeEventListener('click', handleClick)
45
+ if (modal) modal.classList.remove('show')
46
+ if (noBackDrop) modal.classList.remove('no-back-drop')
47
+ }
48
+ }, [])
49
+ return ReactDOM.createPortal(
50
+ <div
51
+ tabIndex={0}
52
+ onClick={onClick}
53
+ data-testid="common-modal"
54
+ ref={(el) => {
55
+ if (typeof callbackRef === 'function') {
56
+ callbackRef(el)
57
+ }
58
+ innerRef.current = el
59
+ }}
60
+ id="popup"
61
+ className={`${rootClassName} popup ${modal ? 'modal' : ''}`}
62
+ style={{ ...style }}
63
+ >
64
+ {children}
65
+ </div>,
66
+ document.getElementById('visible-modal'),
67
+ )
68
+ }
@@ -0,0 +1,36 @@
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom';
3
+ import closeIcon from '../../Assets/Icon/ic-cross.svg'
4
+
5
+ export interface OpaqueModalProps {
6
+ className?: string;
7
+ onHide?: any;
8
+ noBackground?: boolean;
9
+ }
10
+
11
+ export class OpaqueModal extends React.Component<OpaqueModalProps> {
12
+ modalRef = document.getElementById('full-screen-modal');
13
+
14
+ componentDidMount() {
15
+ if (this.props.noBackground)
16
+ this.modalRef.classList.add("show");
17
+ else this.modalRef.classList.add("show-with-bg");
18
+ }
19
+
20
+ componentWillUnmount() {
21
+ this.modalRef.classList.remove("show");
22
+ this.modalRef.classList.remove("show-with-bg");
23
+ }
24
+
25
+ render() {
26
+ const { className = "", onHide = null } = { ...this.props };
27
+
28
+ return ReactDOM.createPortal(
29
+ <div className={`full-screen-modal__body-container ${className}`}>
30
+ {this.props.children}
31
+ {typeof onHide === 'function' && <div className="close-btn icon-dim-24" onClick={e => onHide(false)} data-testid="opaque-modal-close">
32
+ <img className="close-img" src={closeIcon} alt="close" />
33
+ </div>}
34
+ </div>, document.getElementById('full-screen-modal'))
35
+ }
36
+ }
@@ -0,0 +1,55 @@
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom'
3
+
4
+ export class VisibleModal extends React.Component<{
5
+ className: string
6
+ parentClassName?: string
7
+ noBackground?: boolean
8
+ close?: (e) => void
9
+ onEscape?: (e) => void
10
+ }> {
11
+ modalRef = document.getElementById('visible-modal')
12
+
13
+ constructor(props) {
14
+ super(props)
15
+ this.escFunction = this.escFunction.bind(this)
16
+ }
17
+
18
+ escFunction(event) {
19
+ if (event.keyCode === 27 || event.key === 'Escape') {
20
+ if (this.props.onEscape) {
21
+ this.props.onEscape(event)
22
+ } else if (this.props.close) {
23
+ this.props.close(event)
24
+ }
25
+ }
26
+ }
27
+
28
+ componentDidMount() {
29
+ document.addEventListener('keydown', this.escFunction)
30
+ this.modalRef.classList.add(this.props.noBackground ? 'show' : 'show-with-bg')
31
+
32
+ if (this.props.parentClassName) {
33
+ this.modalRef.classList.add(this.props.parentClassName)
34
+ }
35
+ }
36
+
37
+ componentWillUnmount() {
38
+ document.removeEventListener('keydown', this.escFunction)
39
+ this.modalRef.classList.remove('show')
40
+ this.modalRef.classList.remove('show-with-bg')
41
+
42
+ if (this.props.parentClassName) {
43
+ this.modalRef.classList.remove(this.props.parentClassName)
44
+ }
45
+ }
46
+
47
+ render() {
48
+ return ReactDOM.createPortal(
49
+ <div className={`visible-modal__body ${this.props.className}`} onClick={this.props?.close} data-testid="visible-modal-close">
50
+ {this.props.children}
51
+ </div>,
52
+ document.getElementById('visible-modal'),
53
+ )
54
+ }
55
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+
4
+ export class VisibleModal2 extends React.Component<{ className: string; close?: (e) => void; }> {
5
+
6
+ modalRef = document.getElementById('visible-modal-2');
7
+
8
+ constructor(props) {
9
+ super(props);
10
+ this.escFunction = this.escFunction.bind(this);
11
+ }
12
+
13
+ escFunction(event) {
14
+ if (event.keyCode === 27 && this.props.close) {
15
+ this.props.close(event);
16
+ }
17
+ }
18
+
19
+ componentDidMount() {
20
+ document.addEventListener("keydown", this.escFunction);
21
+ this.modalRef.classList.add("show-with-bg");
22
+ }
23
+
24
+ componentWillUnmount() {
25
+ document.removeEventListener("keydown", this.escFunction);
26
+ this.modalRef.classList.remove("show-with-bg");
27
+ }
28
+
29
+ render() {
30
+ return ReactDOM.createPortal(
31
+ <div className={`visible-modal__body ${this.props.className}`} onClick={this.props?.close} data-testid="visible-modal2-close">
32
+ {this.props.children}
33
+ </div>, document.getElementById('visible-modal-2'))
34
+ }
35
+ }
@@ -0,0 +1,148 @@
1
+ import React from 'react'
2
+ import Select, { components } from 'react-select'
3
+ import { ReactComponent as ClearIcon } from '../Assets/Icon/ic-appstatus-cancelled.svg'
4
+ import { ReactComponent as Check } from '../Assets/Icon/ic-check.svg'
5
+ import { ReactComponent as RedWarning } from '../Assets/Icon/ic-error-medium.svg'
6
+
7
+ export const Option = (props) => {
8
+ const { selectOption, data } = props
9
+ return (
10
+ <div className="flex left pl-12" style={{ background: props.isFocused ? 'var(--N100)' : 'transparent' }}>
11
+ <input
12
+ checked={props.isSelected}
13
+ disabled={props.isDisabled}
14
+ onChange={(e) => selectOption(data)}
15
+ type="checkbox"
16
+ style={{ height: '16px', width: '16px', flex: '0 0 16px' }}
17
+ className="mr-8"
18
+ />
19
+ <components.Option {...props} />
20
+ </div>
21
+ )
22
+ }
23
+
24
+ export const SingleSelectOption = (props) => {
25
+ const { selectOption, data } = props
26
+ const style = { height: '16px', width: '16px', flex: '0 0 16px' }
27
+ const onClick = (e) => selectOption(data)
28
+ return (
29
+ <div className="flex left pl-12" style={{ background: props.isFocused ? 'var(--N100)' : 'transparent' }}>
30
+ {props.isSelected ? (
31
+ <Check onClick={onClick} className="mr-8 icon-dim-16" style={style} />
32
+ ) : (
33
+ <span onClick={onClick} className="mr-8" style={style} />
34
+ )}
35
+ <components.Option {...props} />
36
+ </div>
37
+ )
38
+ }
39
+
40
+ export const MultiValueContainer = (props) => {
41
+ const { children, data, innerProps, selectProps } = props
42
+ const { label, value } = data
43
+ return (
44
+ <components.MultiValueContainer {...{ data, innerProps, selectProps }}>
45
+ <div className={`flex fs-12 ml-4 cn-9`}>{label}</div>
46
+ {children[1]}
47
+ </components.MultiValueContainer>
48
+ )
49
+ }
50
+
51
+ export const ClearIndicator = (props) => {
52
+ const {
53
+ children = <ClearIcon className="icon-dim-24" />,
54
+ getStyles,
55
+ innerProps: { ref, ...restInnerProps },
56
+ } = props
57
+ return (
58
+ <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)}>
59
+ <div className="flex pointer">{children}</div>
60
+ </div>
61
+ )
62
+ }
63
+
64
+ export const MultiValueRemove = (props) => {
65
+ const {
66
+ data,
67
+ innerProps: { onClick, onMouseDown },
68
+ selectProps,
69
+ } = props
70
+ return (
71
+ <components.MultiValueRemove {...props}>
72
+ <ClearIcon
73
+ {...{ onClick, onMouseDown }}
74
+ onClick={(e) => onClick(data)}
75
+ style={{ height: '18px', width: '18px' }}
76
+ />
77
+ </components.MultiValueRemove>
78
+ )
79
+ }
80
+
81
+ export const MultiValueChipContainer = ({ validator, isAllSelected = false, ...props }) => {
82
+ const { children, data, innerProps, selectProps } = props
83
+ const { label, value } = data
84
+ const isValidEmail = validator ? validator(value) : true
85
+
86
+ if (isAllSelected && value !== '*') return null
87
+
88
+ return (
89
+ <components.MultiValueContainer {...{ data, innerProps, selectProps }}>
90
+ <div className="flex left fs-12 pl-4 pr-4 dc__ellipsis-right">
91
+ {!isValidEmail && <RedWarning className="mr-4 icon-dim-16" />}
92
+ <div className={`dc__ellipsis-right ${isValidEmail ? 'cn-9' : 'cr-5'}`}>{label}</div>
93
+ </div>
94
+ {children[1]}
95
+ </components.MultiValueContainer>
96
+ )
97
+ }
98
+
99
+ export const multiSelectStyles = {
100
+ control: (base, state) => ({
101
+ ...base,
102
+ cursor: state.isDisabled ? 'not-allowed' : 'normal',
103
+ border: state.isFocused ? '1px solid #06c' : '1px solid #d6dbdf',
104
+ boxShadow: 'none',
105
+ }),
106
+ menu: (base, state) => ({
107
+ ...base,
108
+ }),
109
+ option: (base, state) => {
110
+ return {
111
+ ...base,
112
+ backgroundColor: state.isFocused ? 'var(--N100)' : 'white',
113
+ color: 'var(--N900)',
114
+ padding: '8px 12px',
115
+ }
116
+ },
117
+ container: (base, state) => ({
118
+ ...base,
119
+ cursor: state.isDisabled ? 'not-allowed' : 'pointer',
120
+ }),
121
+ valueContainer: (base, state) => ({
122
+ ...base,
123
+ color: state.selectProps.menuIsOpen ? 'var(--N500)' : base.color,
124
+ }),
125
+ }
126
+
127
+ export interface CustomSelect {
128
+ sortSelected?: boolean
129
+ options: any[]
130
+ onChange: (...args) => void
131
+ value?: any
132
+ name?: string
133
+ placeholder?: string
134
+ className?: string
135
+ classNamePrefix?: string
136
+ menuPortalTarget?: any
137
+ components?: object
138
+ styles?: object
139
+ isMulti?: boolean
140
+ isDisabled?: boolean
141
+ closeMenuOnSelect?: boolean
142
+ hideSelectedOptions?: boolean
143
+ formatOptionLabel?: (...args) => any
144
+ }
145
+
146
+ export const CustomSelect: React.FC<CustomSelect> = (props) => {
147
+ return <Select {...props} />
148
+ }
@@ -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
+ )