@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,77 @@
1
+ import React from 'react'
2
+ import isEqual from 'lodash/isEqual'
3
+ import { WidgetProps } from '@rjsf/utils'
4
+ import ReactSelect, { MenuListProps, components } from 'react-select'
5
+ import { PLACEHOLDERS } from '../constants'
6
+ import { getCommonSelectStyle } from '../utils'
7
+
8
+ import { ReactComponent as ArrowDown } from '../../../Assets/Icon/ic-chevron-down.svg'
9
+
10
+ const commonStyles = getCommonSelectStyle()
11
+
12
+ const MenuList = ({ children, ...props }: MenuListProps) => (
13
+ <components.MenuList {...props}>{Array.isArray(children) ? children.slice(0, 20) : children}</components.MenuList>
14
+ )
15
+
16
+ const DropdownIndicator = (props) => (
17
+ <components.DropdownIndicator {...props}>
18
+ <ArrowDown className="icon-dim-20 icon-n5" data-testid="overview-project-edit-dropdown" />
19
+ </components.DropdownIndicator>
20
+ )
21
+
22
+ export const Select = (props: WidgetProps) => {
23
+ const {
24
+ id,
25
+ multiple = false,
26
+ options,
27
+ value,
28
+ disabled,
29
+ readonly,
30
+ autofocus = false,
31
+ onChange,
32
+ onBlur,
33
+ onFocus,
34
+ placeholder,
35
+ } = props
36
+ const { enumOptions: selectOptions = [] } = options
37
+ const emptyValue = multiple ? [] : ''
38
+
39
+ const handleChange = (option) => {
40
+ onChange(multiple ? option.map((o) => o.value) : option.value)
41
+ }
42
+
43
+ const getOption = (value) =>
44
+ multiple
45
+ ? selectOptions.filter((option) => value.some((val) => isEqual(val, option.value)))
46
+ : selectOptions.find((option) => isEqual(value, option.value))
47
+
48
+ return (
49
+ <ReactSelect
50
+ id={id}
51
+ name={id}
52
+ isMulti={multiple}
53
+ value={typeof value === 'undefined' ? emptyValue : getOption(value)}
54
+ autoFocus={autofocus}
55
+ onChange={handleChange}
56
+ options={selectOptions}
57
+ onBlur={() => onBlur(id, value)}
58
+ onFocus={() => onFocus(id, value)}
59
+ placeholder={placeholder || PLACEHOLDERS.SELECT}
60
+ isDisabled={disabled || readonly}
61
+ styles={{
62
+ ...commonStyles,
63
+ control: (base) => ({
64
+ ...base,
65
+ ...commonStyles.control,
66
+ backgroundColor: 'var(--N50)',
67
+ }),
68
+ }}
69
+ components={{
70
+ IndicatorSeparator: null,
71
+ DropdownIndicator,
72
+ MenuList,
73
+ }}
74
+ menuPlacement="auto"
75
+ />
76
+ )
77
+ }
@@ -0,0 +1,2 @@
1
+ export { Checkbox as CheckboxWidget } from './Checkbox'
2
+ export { Select as SelectWidget } from './Select'
@@ -0,0 +1,105 @@
1
+ import Tippy from '@tippyjs/react'
2
+ import React, { useState, useEffect } from 'react'
3
+ import { ConditionalWrap } from '../Helper'
4
+ import './radioGroup.scss'
5
+
6
+ const RadioContext = React.createContext(null)
7
+
8
+ function useRadioContext() {
9
+ const context = React.useContext(RadioContext)
10
+ if (!context) {
11
+ throw new Error(`Radio compound components cannot be rendered outside the Toggle component`)
12
+ }
13
+ return context
14
+ }
15
+
16
+ interface RadioGroupInterface {
17
+ name: string
18
+ onChange: any
19
+ className?: string
20
+ initialTab: string
21
+ disabled: boolean
22
+ showTippy?: boolean
23
+ tippyContent?: any
24
+ dataTestId?: string
25
+ }
26
+
27
+ interface RadioGroupComposition {
28
+ Radio?: React.FC<any>
29
+ }
30
+
31
+ const RadioGroup: React.FC<RadioGroupInterface> & RadioGroupComposition = React.memo(function RadioGroup({
32
+ name,
33
+ onChange,
34
+ children,
35
+ className = '',
36
+ initialTab,
37
+ disabled = false,
38
+ dataTestId,
39
+ }) {
40
+ const [selected, select] = useState(null)
41
+
42
+ useEffect(() => {
43
+ if (initialTab === selected) return
44
+ select(initialTab)
45
+ }, [initialTab])
46
+
47
+ return (
48
+ <RadioContext.Provider value={{ name, selected, select, disabled, onChange }}>
49
+ <div className={`${className} radio-group`}>{children}</div>
50
+ </RadioContext.Provider>
51
+ )
52
+ })
53
+
54
+ function Radio({
55
+ value,
56
+ children,
57
+ className = '',
58
+ showTippy = false,
59
+ tippyContent = '',
60
+ tippyPlacement = 'bottom',
61
+ canSelect = true,
62
+ isDisabled = false,
63
+ tippyClass = '',
64
+ dataTestId,
65
+ }) {
66
+ const { name, selected, select, disabled, onChange } = useRadioContext()
67
+ return (
68
+ <ConditionalWrap
69
+ condition={showTippy}
70
+ wrap={(children) => (
71
+ <Tippy
72
+ className={`default-tt w-250 ${tippyClass}`}
73
+ arrow={false}
74
+ placement={tippyPlacement as any}
75
+ content={tippyContent}
76
+ >
77
+ {children}
78
+ </Tippy>
79
+ )}
80
+ >
81
+ <label className={`${className} radio ${isDisabled || disabled ? 'disabled' : ''}`}>
82
+ <input
83
+ type="checkbox"
84
+ value={value}
85
+ name={name}
86
+ checked={value === selected}
87
+ onChange={(e) => {
88
+ e.persist()
89
+ if (canSelect) {
90
+ select(e.target.value)
91
+ }
92
+ onChange(e)
93
+ }}
94
+ disabled={isDisabled || disabled}
95
+ />
96
+ <span className="radio__item-label" data-testid={dataTestId}>
97
+ {children}
98
+ </span>
99
+ </label>
100
+ </ConditionalWrap>
101
+ )
102
+ }
103
+
104
+ RadioGroup.Radio = Radio
105
+ export default RadioGroup
@@ -0,0 +1,46 @@
1
+ .radio-group {
2
+ .label,
3
+ .radio,
4
+ .checkbox {
5
+ margin: 0;
6
+ }
7
+ height: 30px;
8
+ background: white;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ padding: 4px;
13
+ border-radius: 4px;
14
+ .radio {
15
+ height: 100%;
16
+ width: auto;
17
+ color: var(--N400);
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ .radio+.radio {
22
+ margin-top: 0;
23
+ }
24
+ input[type=checkbox] {
25
+ display: contents;
26
+ overflow: hidden;
27
+ max-width: 0px;
28
+ height: 0;
29
+ opacity: 0;
30
+ margin: unset;
31
+ }
32
+ input+.radio__item-label {
33
+ padding: 4px 6px;
34
+ height: 100%;
35
+ width: 100%;
36
+ display: flex;
37
+ align-items: center;
38
+ transition: all 0.5s;
39
+ cursor: pointer;
40
+ }
41
+ input[type=checkbox]:checked+.radio__item-label {
42
+ background: #2c3354;
43
+ color: white;
44
+ border-radius: 4px;
45
+ }
46
+ }
@@ -0,0 +1,53 @@
1
+ import React, { Component, createContext } from 'react'
2
+ import { RadioGroupItemProps, RadioGroupProps } from './Types'
3
+ const RadioGroupContext = createContext({ name: '', value: '', disabled: false, onChange: (event) => {} })
4
+
5
+ export class RadioGroupItem extends Component<RadioGroupItemProps> {
6
+ render() {
7
+ return (
8
+ <RadioGroupContext.Consumer>
9
+ {(context) => {
10
+ return (
11
+ <>
12
+ <label className={(this.props.disabled || context.disabled) ? 'form__radio-item disabled' : 'form__radio-item'}>
13
+ <input
14
+ type="radio"
15
+ className="form__checkbox"
16
+ name={context.name}
17
+ disabled={context.disabled || this.props.disabled}
18
+ onChange={context.onChange}
19
+ value={this.props.value}
20
+ checked={context.value === this.props.value}
21
+ data-testid={this.props.dataTestId}
22
+ />
23
+ <span className="form__radio-item-content" data-testid={`${this.props.dataTestId}-span`}>
24
+ <span className="radio__button"></span>
25
+ <span className="radio__title">{this.props.children}</span>
26
+ </span>
27
+ </label>
28
+ </>
29
+ )
30
+ }}
31
+ </RadioGroupContext.Consumer>
32
+ )
33
+ }
34
+ }
35
+
36
+ export class RadioGroup extends Component<RadioGroupProps> {
37
+ render() {
38
+ return (
39
+ <div className={`form__radio-group ${this.props.className || ''}`}>
40
+ <RadioGroupContext.Provider
41
+ value={{
42
+ name: this.props.name,
43
+ value: this.props.value,
44
+ disabled: this.props.disabled,
45
+ onChange: this.props.onChange,
46
+ }}
47
+ >
48
+ {this.props.children}
49
+ </RadioGroupContext.Provider>
50
+ </div>
51
+ )
52
+ }
53
+ }
@@ -0,0 +1,23 @@
1
+ import React from 'react'
2
+ import loadingFailure from '../Assets/Img/ic-loading-failure.png'
3
+ import { ReloadType } from './Types'
4
+
5
+ export default function Reload({ reload, className = '' }: ReloadType) {
6
+ function refresh(e) {
7
+ window.location.reload()
8
+ }
9
+ return (
10
+ <article className={`flex w-100 h-100 ${className}`}>
11
+ <div className="flex column w-250 dc__align-center" data-testid="reload">
12
+ <img src={loadingFailure} style={{ height: 'auto' }} className="w-100 mb-12" alt="load-error" />
13
+ <h3 className="title dc__bold">Failed to load</h3>
14
+ <div className="dc__empty__subtitle mb-20">
15
+ We could not load this page. Please give us another try.
16
+ </div>
17
+ <button type="button" className="cta ghosted" onClick={typeof reload === 'function' ? reload : refresh}>
18
+ Retry
19
+ </button>
20
+ </div>
21
+ </article>
22
+ )
23
+ }
@@ -0,0 +1,73 @@
1
+ import React, { useState, useEffect, useRef } from 'react'
2
+ import { useThrottledEffect } from './Helper'
3
+ import { ResizableTextareaProps } from './Types'
4
+
5
+ export const ResizableTextarea: React.FC<ResizableTextareaProps> = ({
6
+ minHeight,
7
+ maxHeight,
8
+ value,
9
+ onChange = null,
10
+ onBlur = null,
11
+ onFocus = null,
12
+ className = '',
13
+ placeholder = 'Enter your text here..',
14
+ lineHeight = 14,
15
+ padding = 12,
16
+ disabled = false,
17
+ dataTestId,
18
+ ...props
19
+ }) => {
20
+ const [text, setText] = useState('')
21
+ const _textRef = useRef(null)
22
+
23
+ useEffect(() => {
24
+ setText(value)
25
+ }, [value])
26
+
27
+ function handleChange(e) {
28
+ e.persist()
29
+ setText(e.target.value)
30
+ if (typeof onChange === 'function') onChange(e)
31
+ }
32
+
33
+ function handleBlur(e) {
34
+ if (typeof onBlur === 'function') onBlur(e)
35
+ }
36
+
37
+ function handleFocus(e) {
38
+ if (typeof onFocus === 'function') onFocus(e)
39
+ }
40
+
41
+ useThrottledEffect(
42
+ () => {
43
+ _textRef.current.style.height = 'auto'
44
+ let nextHeight = _textRef.current.scrollHeight
45
+ if (minHeight && nextHeight < minHeight) {
46
+ nextHeight = minHeight
47
+ }
48
+ if (maxHeight && nextHeight > maxHeight) {
49
+ nextHeight = maxHeight
50
+ }
51
+ _textRef.current.style.height = nextHeight + 2 + 'px'
52
+ },
53
+ 500,
54
+ [text],
55
+ )
56
+
57
+ return (
58
+ <textarea
59
+ data-testid={dataTestId}
60
+ ref={(el) => (_textRef.current = el)}
61
+ value={text}
62
+ placeholder={placeholder}
63
+ className={`dc__resizable-textarea ${className}`}
64
+ onChange={handleChange}
65
+ onBlur={handleBlur}
66
+ onFocus={handleFocus}
67
+ style={{ lineHeight: `${lineHeight}px`, padding: `${padding}px` }}
68
+ spellCheck={false}
69
+ disabled={disabled}
70
+ {...props}
71
+ />
72
+ )
73
+ }
@@ -0,0 +1,120 @@
1
+ import { ChangeEvent, useCallback, useRef, useState, KeyboardEvent } from 'react'
2
+ import { ReactComponent as Search } from '../../Assets/Icon/ic-search.svg'
3
+ import { ReactComponent as Clear } from '../../Assets/Icon/ic-error-cross.svg'
4
+ import { SearchBarProps } from './types'
5
+ import './searchBar.scss'
6
+ import { debounce } from '../Helper'
7
+
8
+ /**
9
+ * Generic search input component with support for enter based and debounced search
10
+ * Note: The component is uncontrolled
11
+ *
12
+ * @example Usage with default debounced search
13
+ * ```tsx
14
+ * <SearchBar handleSearchChange={triggerSearchApi} shouldDebounce />
15
+ * ```
16
+ *
17
+ * @example Initial search text
18
+ * ```tsx
19
+ * <SearchBar initialSearchText="Keyword" />
20
+ * ```
21
+ *
22
+ * @example Custom width
23
+ * ```tsx
24
+ * <SearchBar containerClassName="w-300" />
25
+ * ```
26
+ *
27
+ * @example Trigger search on enter key press
28
+ * ```tsx
29
+ * <SearchBar handleEnter={triggerSearchApi} />
30
+ * ```
31
+ *
32
+ * @example Custom timeout for debounced search
33
+ * ```tsx
34
+ * <SearchBar handleSearchChange={triggerSearchApi} shouldDebounce debounceTimeout={500} />
35
+ * ```
36
+ *
37
+ * @example Placeholder for the search
38
+ * ```tsx
39
+ * <SearchBar inputProps={{ placeholder: 'Enter search text' }} />
40
+ * ```
41
+ */
42
+ const SearchBar = ({
43
+ initialSearchText = '',
44
+ handleSearchChange = () => {},
45
+ handleEnter = () => {},
46
+ inputProps = {},
47
+ containerClassName,
48
+ shouldDebounce = false,
49
+ debounceTimeout = 300,
50
+ }: SearchBarProps) => {
51
+ const [showClearButton, setShowClearButton] = useState(!!initialSearchText)
52
+ const inputRef = useRef<HTMLInputElement>()
53
+ const debouncedSearchChange = useCallback(debounce(handleSearchChange, debounceTimeout), [
54
+ handleSearchChange,
55
+ debounceTimeout,
56
+ ])
57
+
58
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
59
+ const { value } = e.target
60
+ setShowClearButton(!!value)
61
+ if (shouldDebounce) {
62
+ debouncedSearchChange(value)
63
+ } else {
64
+ handleSearchChange(value)
65
+ }
66
+ }
67
+
68
+ const _applySearch = (value: string) => {
69
+ handleSearchChange(value)
70
+ handleEnter(value)
71
+ }
72
+
73
+ const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {
74
+ const { key } = e
75
+
76
+ if (key === 'Enter') {
77
+ const inputTarget = e.target as HTMLInputElement
78
+ const value = inputTarget.value.trim()
79
+ _applySearch(value)
80
+ }
81
+ }
82
+
83
+ const clearSearch = () => {
84
+ inputRef.current.value = ''
85
+ _applySearch('')
86
+ }
87
+
88
+ return (
89
+ <div className={containerClassName}>
90
+ <div className="search-bar bcn-0 dc__block w-100 min-w-200 dc__position-rel en-2 bw-1 br-4 h-32">
91
+ <Search className="search-bar__icon dc__position-abs icon-color-n6 icon-dim-18" />
92
+ <input
93
+ placeholder="Search"
94
+ data-testid="search-bar"
95
+ type="text"
96
+ {...inputProps}
97
+ defaultValue={initialSearchText}
98
+ className={`search-bar__input bcn-0 dc__position-abs w-100 h-100 br-4 dc__no-border pt-6 pr-10 pb-6 pl-30 fs-13 lh-20 fw-4 cn-9 placeholder-cn5 ${
99
+ showClearButton ? 'pr-30' : 'pr-10'
100
+ }`}
101
+ onChange={handleChange}
102
+ onKeyDown={handleKeyDown}
103
+ ref={inputRef}
104
+ />
105
+ {showClearButton && (
106
+ <button
107
+ className="flex search-bar__clear-button dc__position-abs dc__transparent mt-0 mb-0 mr-5 ml-5"
108
+ type="button"
109
+ onClick={clearSearch}
110
+ aria-label="Clear search"
111
+ >
112
+ <Clear className="icon-dim-18 icon-n4 dc__vertical-align-middle" />
113
+ </button>
114
+ )}
115
+ </div>
116
+ </div>
117
+ )
118
+ }
119
+
120
+ export default SearchBar
@@ -0,0 +1,2 @@
1
+ export { default as SearchBar } from './SearchBar.component'
2
+ export type { SearchBarProps } from './types'
@@ -0,0 +1,31 @@
1
+ .search-bar {
2
+
3
+ &:focus,
4
+ &:focus-within {
5
+ outline: none;
6
+ border: solid 1px var(--B500);
7
+ }
8
+
9
+ &__input {
10
+
11
+ &:focus,
12
+ &:focus-visible {
13
+ border: none;
14
+ outline: none;
15
+ }
16
+ }
17
+
18
+ &__icon {
19
+ z-index: 1;
20
+ top: 50%;
21
+ left: 8px;
22
+ transform: translateY(-50%);
23
+ }
24
+
25
+ &__clear-button {
26
+ right: 0;
27
+ top: 50%;
28
+ transform: translateY(-50%);
29
+ z-index: 1;
30
+ }
31
+ }
@@ -0,0 +1,36 @@
1
+ import { InputHTMLAttributes } from 'react'
2
+
3
+ export interface SearchBarProps {
4
+ /**
5
+ * Initial search text
6
+ *
7
+ * @default ''
8
+ */
9
+ initialSearchText?: string
10
+ /**
11
+ * Search handler for the search input
12
+ */
13
+ handleSearchChange?: (searchText: string) => void
14
+ /**
15
+ * Enter event handler for the search input
16
+ */
17
+ handleEnter?: (searchText: string) => void
18
+ /**
19
+ * Input props for the search input
20
+ */
21
+ inputProps?: InputHTMLAttributes<HTMLInputElement>
22
+ /**
23
+ * Class name for the container; can be used for handling width
24
+ */
25
+ containerClassName?: string
26
+ /**
27
+ * If true, the change handler would be triggered with debounce
28
+ *
29
+ * @default false
30
+ */
31
+ shouldDebounce?: boolean
32
+ /**
33
+ * Timeout for the debounce handler to be triggered
34
+ */
35
+ debounceTimeout?: number
36
+ }
@@ -0,0 +1,55 @@
1
+ import React from 'react'
2
+ import { ScanVulnerabilitiesTableProps, VulnerabilityType } from '../Types'
3
+ import './scanVulnerabilities.css'
4
+
5
+ export default function ScanVulnerabilitiesTable({ vulnerabilities }: ScanVulnerabilitiesTableProps) {
6
+ const renderRow = (vulnerability: VulnerabilityType) => {
7
+ return (
8
+ <tr
9
+ className="dc__security-tab__table-row cursor"
10
+ onClick={(e) => {
11
+ window.open(`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`, '_blank')
12
+ }}
13
+ >
14
+ <td className="security-tab__cell-cve dc__cve-cell">
15
+ <a
16
+ href={`https://cve.mitre.org/cgi-bin/cvename.cgi?name=${vulnerability.name}`}
17
+ rel="noopener noreferrer"
18
+ target="_blank"
19
+ >
20
+ {vulnerability.name}
21
+ </a>
22
+ </td>
23
+ <td className="security-tab__cell-severity">
24
+ <span className={`fill-${vulnerability.severity?.toLowerCase()}`}>{vulnerability.severity}</span>
25
+ </td>
26
+ <td className="security-tab__cell-package">{vulnerability.package}</td>
27
+ <td className="security-tab__cell-current-ver">{vulnerability.version}</td>
28
+ <td className="security-tab__cell-fixed-ver">{vulnerability.fixedVersion}</td>
29
+ <td
30
+ className={`security-tab__cell-policy security-tab__cell-policy--${vulnerability.policy?.toLowerCase()}`}
31
+ >
32
+ {vulnerability.policy?.toLowerCase()}
33
+ </td>
34
+ </tr>
35
+ )
36
+ }
37
+
38
+ return (
39
+ <table className="security-tab__table">
40
+ <tbody>
41
+ <tr className="security-tab__table-header">
42
+ <th className="security-cell-header security-tab__cell-cve">CVE</th>
43
+ <th className="security-cell-header security-tab__cell-severity">Severity</th>
44
+ <th className="security-cell-header security-tab__cell-package">Package</th>
45
+ <th className="security-cell-header security-tab__cell-current-ver">Current Version</th>
46
+ <th className="security-cell-header security-tab__cell-fixed-ver">Fixed In Version</th>
47
+ <th className="security-cell-header security-tab__cell-policy">Policy</th>
48
+ </tr>
49
+ {vulnerabilities.map((vulnerability) => {
50
+ return renderRow(vulnerability)
51
+ })}
52
+ </tbody>
53
+ </table>
54
+ )
55
+ }