@devtron-labs/devtron-fe-common-lib 0.0.50-beta-1 → 0.0.50-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 (447) hide show
  1. package/dist/CodeEditor-d59fc867.js +103675 -0
  2. package/dist/Common/Api.d.ts +5 -5
  3. package/dist/Common/Api.js +167 -0
  4. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  5. package/dist/Common/AppStatus/AppStatus.js +37 -0
  6. package/dist/Common/AppStatus/constants.d.ts +51 -51
  7. package/dist/Common/AppStatus/constants.js +37 -0
  8. package/dist/Common/AppStatus/index.d.ts +1 -1
  9. package/dist/Common/AppStatus/index.js +4 -0
  10. package/dist/Common/AppStatus/types.d.ts +12 -12
  11. package/dist/Common/AppStatus/types.js +1 -0
  12. package/dist/Common/AppStatus/utils.d.ts +1 -1
  13. package/dist/Common/AppStatus/utils.js +8 -0
  14. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  15. package/dist/Common/BreadCrumb/BreadCrumb.js +71 -0
  16. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  17. package/dist/Common/BreadCrumb/BreadcrumbStore.js +22 -0
  18. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  19. package/dist/Common/BreadCrumb/Types.js +1 -0
  20. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  21. package/dist/Common/CIPipeline.Types.js +10 -0
  22. package/dist/Common/Checkbox.d.ts +5 -5
  23. package/dist/Common/Checkbox.js +28 -0
  24. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  25. package/dist/Common/ClipboardButton/ClipboardButton.js +40 -0
  26. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +1 -0
  27. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +27 -0
  28. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  29. package/dist/Common/ClipboardButton/types.js +1 -0
  30. package/dist/Common/CodeEditor/CodeEditor.d.ts +47 -0
  31. package/dist/Common/CodeEditor/CodeEditor.js +14 -0
  32. package/dist/Common/Common.service.d.ts +19 -20
  33. package/dist/Common/Common.service.js +187 -0
  34. package/dist/Common/Constants.d.ts +71 -66
  35. package/dist/Common/Constants.js +231 -0
  36. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  37. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +43 -0
  38. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -3
  39. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +58 -0
  40. package/dist/Common/CustomTagSelector/TagDetails.d.ts +2 -3
  41. package/dist/Common/CustomTagSelector/TagDetails.js +65 -0
  42. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +2 -3
  43. package/dist/Common/CustomTagSelector/TagLabelSelect.js +50 -0
  44. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +2 -3
  45. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +121 -0
  46. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  47. package/dist/Common/CustomTagSelector/TagSelector.utils.js +61 -0
  48. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  49. package/dist/Common/CustomTagSelector/Types.js +1 -0
  50. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  51. package/dist/Common/CustomTagSelector/ValidationRules.js +35 -0
  52. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  53. package/dist/Common/CustomTagSelector/index.js +12 -0
  54. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +15 -15
  55. package/dist/Common/DebouncedSearch/DebouncedSearch.js +7 -0
  56. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  57. package/dist/Common/DebouncedSearch/Types.js +1 -0
  58. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  59. package/dist/Common/DebouncedSearch/Utils.js +19 -0
  60. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +1 -0
  61. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +33 -0
  62. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -4
  63. package/dist/Common/DeleteComponentModal/DeleteComponent.js +63 -0
  64. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  65. package/dist/Common/DeleteComponentModal/types.js +1 -0
  66. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -9
  67. package/dist/Common/Dialogs/ConfirmationDialog.js +24 -0
  68. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  69. package/dist/Common/Dialogs/DeleteDialog.js +49 -0
  70. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  71. package/dist/Common/Dialogs/DialogForm.js +63 -0
  72. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  73. package/dist/Common/Dialogs/ForceDeleteDialog.js +23 -0
  74. package/dist/Common/Dialogs/Types.d.ts +44 -45
  75. package/dist/Common/Dialogs/Types.js +1 -0
  76. package/dist/Common/Dialogs/index.d.ts +4 -4
  77. package/dist/Common/Dialogs/index.js +11 -0
  78. package/dist/Common/Drawer/Drawer.d.ts +14 -16
  79. package/dist/Common/Drawer/Drawer.js +22 -0
  80. package/dist/Common/EmptyState/EmptyState.d.ts +24 -25
  81. package/dist/Common/EmptyState/EmptyState.js +32 -0
  82. package/dist/Common/EmptyState/GenericEmptyState.d.ts +4 -5
  83. package/dist/Common/EmptyState/GenericEmptyState.js +52 -0
  84. package/dist/Common/Error.d.ts +17 -17
  85. package/dist/Common/Error.js +49 -0
  86. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  87. package/dist/Common/ErrorScreenNotFound.js +23 -0
  88. package/dist/Common/Grid/Grid.d.ts +3 -3
  89. package/dist/Common/Grid/Grid.js +22 -0
  90. package/dist/Common/Grid/types.d.ts +10 -10
  91. package/dist/Common/Grid/types.js +1 -0
  92. package/dist/Common/Helper.d.ts +57 -60
  93. package/dist/Common/Helper.js +33 -0
  94. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  95. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +14 -0
  96. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  97. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +16 -0
  98. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  99. package/dist/Common/Hooks/UseSuperAdmin/types.js +1 -0
  100. package/dist/Common/Hooks/index.d.ts +2 -2
  101. package/dist/Common/Hooks/index.js +6 -0
  102. package/dist/Common/ImageTags.Types.d.ts +40 -40
  103. package/dist/Common/ImageTags.Types.js +1 -0
  104. package/dist/Common/ImageTags.d.ts +3 -4
  105. package/dist/Common/ImageTags.js +380 -0
  106. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +4 -5
  107. package/dist/Common/InfoColorBar/InfoColourbar.js +65 -0
  108. package/dist/Common/Modals/Modal.d.ts +3 -3
  109. package/dist/Common/Modals/Modal.js +48 -0
  110. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  111. package/dist/Common/Modals/OpaqueModal.js +32 -0
  112. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  113. package/dist/Common/Modals/VisibleModal.js +31 -0
  114. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  115. package/dist/Common/Modals/VisibleModal2.js +31 -0
  116. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  117. package/dist/Common/MultiSelectCustomization.js +4250 -0
  118. package/dist/Common/Policy.Types.d.ts +56 -56
  119. package/dist/Common/Policy.Types.js +6 -0
  120. package/dist/Common/PopupMenu.d.ts +8 -8
  121. package/dist/Common/PopupMenu.js +148 -0
  122. package/dist/Common/Progressing.d.ts +4 -4
  123. package/dist/Common/Progressing.js +52 -0
  124. package/dist/Common/RadioGroup/RadioGroup.d.ts +16 -17
  125. package/dist/Common/RadioGroup/RadioGroup.js +76 -0
  126. package/dist/Common/RadioGroup.d.ts +8 -8
  127. package/dist/Common/RadioGroup.js +47 -0
  128. package/dist/Common/Reload.d.ts +3 -3
  129. package/dist/Common/Reload.js +16 -0
  130. package/dist/Common/ResizableTextarea.d.ts +3 -3
  131. package/dist/Common/ResizableTextarea.js +60 -0
  132. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +3 -4
  133. package/dist/Common/Security/ScanVulnerabilitiesTable.js +49 -0
  134. package/dist/Common/Select/Select.d.ts +4 -0
  135. package/dist/Common/Select/Select.js +131 -0
  136. package/dist/Common/Select/types.d.ts +29 -0
  137. package/dist/Common/Select/types.js +1 -0
  138. package/dist/Common/ServerError.d.ts +15 -15
  139. package/dist/Common/ServerError.js +26 -0
  140. package/dist/Common/TippyCustomized.d.ts +3 -4
  141. package/dist/Common/TippyCustomized.js +10 -0
  142. package/dist/Common/ToastBody.d.ts +23 -23
  143. package/dist/Common/ToastBody.js +41 -0
  144. package/dist/Common/Toggle/Toggle.d.ts +12 -14
  145. package/dist/Common/Toggle/Toggle.js +40 -0
  146. package/dist/Common/Types.d.ts +566 -677
  147. package/dist/Common/Types.js +20 -0
  148. package/dist/Common/UseWindowSize.d.ts +4 -0
  149. package/dist/Common/UseWindowSize.js +20 -0
  150. package/dist/Common/index.d.ts +44 -47
  151. package/dist/Common/index.js +185 -0
  152. package/dist/DebouncedSearch-065f3ac2.js +58 -0
  153. package/dist/Helper-4dc38bc2.js +8882 -0
  154. package/dist/TippyCustomized-549ebfaf.js +124 -0
  155. package/dist/abap-9f67f57a.js +1314 -0
  156. package/dist/apex-ff62e532.js +315 -0
  157. package/dist/assets/CodeEditor.css +1 -0
  158. package/dist/assets/Drawer.css +1 -0
  159. package/dist/assets/InfoColourbar.css +1 -0
  160. package/dist/assets/RadioGroup.css +1 -0
  161. package/dist/assets/ScanVulnerabilitiesTable.css +1 -0
  162. package/dist/assets/Select.css +1 -0
  163. package/dist/assets/TippyCustomized.css +1 -0
  164. package/dist/assets/Toggle.css +1 -0
  165. package/dist/assets/editor.worker-d26000ef.js +9 -0
  166. package/dist/assets/emptyState.css +1 -0
  167. package/dist/assets/json.worker-f23a4654.js +40 -0
  168. package/dist/assets/yaml.worker-64fecd27.js +463 -0
  169. package/dist/azcli-31e64a7f.js +74 -0
  170. package/dist/bat-0ffe897e.js +95 -0
  171. package/dist/bicep-3414a2b1.js +108 -0
  172. package/dist/cameligo-df1f3f25.js +168 -0
  173. package/dist/clojure-65b0f010.js +754 -0
  174. package/dist/coffee-437f0fba.js +228 -0
  175. package/dist/cpp-66843dd5.js +390 -0
  176. package/dist/csharp-621d9a49.js +320 -0
  177. package/dist/csp-de0d5244.js +57 -0
  178. package/dist/css-7cd5ed4c.js +186 -0
  179. package/dist/cssMode-518d7b58.js +1446 -0
  180. package/dist/cypher-70ad96fe.js +262 -0
  181. package/dist/dart-33ae3739.js +270 -0
  182. package/dist/dockerfile-f2274a50.js +132 -0
  183. package/dist/ecl-3b8294a3.js +454 -0
  184. package/dist/elixir-b9dcc73a.js +489 -0
  185. package/dist/extends-70f3d2a3.js +13 -0
  186. package/dist/flow9-bdde8316.js +141 -0
  187. package/dist/freemarker2-ec19a832.js +643 -0
  188. package/dist/fsharp-eac2e449.js +210 -0
  189. package/dist/go-d12ed8d4.js +208 -0
  190. package/dist/graphql-c7356b69.js +141 -0
  191. package/dist/handlebars-06e29571.js +391 -0
  192. package/dist/hcl-e883a0d4.js +177 -0
  193. package/dist/html-10fc18eb.js +281 -0
  194. package/dist/htmlMode-5f032666.js +1456 -0
  195. package/dist/ic-add-4787ded5.js +5 -0
  196. package/dist/ic-copy-118b83dc.js +5 -0
  197. package/dist/ic-cross-0e71861d.js +6 -0
  198. package/dist/ic-error-exclamation-5f9af461.js +5 -0
  199. package/dist/ic-info-filled-31a15add.js +6 -0
  200. package/dist/ic-info-outlined-8fa45e87.js +5 -0
  201. package/dist/index-ad700600.js +17444 -0
  202. package/dist/index.d.ts +1 -1
  203. package/dist/index.js +184 -28496
  204. package/dist/ini-425ab711.js +68 -0
  205. package/dist/inject-tag-824bf92c.js +5 -0
  206. package/dist/java-2bc0fd68.js +221 -0
  207. package/dist/javascript-2e90f5e7.js +75 -0
  208. package/dist/jsonMode-36a94a3e.js +1867 -0
  209. package/dist/julia-1c932615.js +496 -0
  210. package/dist/kotlin-1ab839c8.js +245 -0
  211. package/dist/less-6fe856f5.js +168 -0
  212. package/dist/lexon-4955ac52.js +151 -0
  213. package/dist/liquid-57b08f3e.js +238 -0
  214. package/dist/lua-3cca0047.js +157 -0
  215. package/dist/m3-132e9cb6.js +210 -0
  216. package/dist/markdown-ea59a0c1.js +202 -0
  217. package/dist/mips-19811f4b.js +194 -0
  218. package/dist/msdax-69954a10.js +377 -0
  219. package/dist/mysql-82088e5d.js +876 -0
  220. package/dist/objective-c-1976eccc.js +188 -0
  221. package/dist/pascal-8ef177cb.js +245 -0
  222. package/dist/pascaligo-bc517b9e.js +158 -0
  223. package/dist/perl-8b93582c.js +599 -0
  224. package/dist/pgsql-00c11a6d.js +847 -0
  225. package/dist/php-4c8c276f.js +471 -0
  226. package/dist/pla-e9b4ffb1.js +131 -0
  227. package/dist/postiats-2071af8c.js +544 -0
  228. package/dist/powerquery-8e388ceb.js +890 -0
  229. package/dist/powershell-e35db398.js +233 -0
  230. package/dist/protobuf-a24b9176.js +422 -0
  231. package/dist/pug-2c94d9b8.js +393 -0
  232. package/dist/python-761b1908.js +259 -0
  233. package/dist/qsharp-d730d7fe.js +282 -0
  234. package/dist/r-be193556.js +245 -0
  235. package/dist/razor-9cd536c2.js +512 -0
  236. package/dist/react-toastify.esm-9a31d2e1.js +792 -0
  237. package/dist/react.esm-a0625832.js +13149 -0
  238. package/dist/redis-9690c6ac.js +298 -0
  239. package/dist/redshift-6bdcdeaa.js +806 -0
  240. package/dist/restructuredtext-a08c1d20.js +162 -0
  241. package/dist/ruby-2247692b.js +444 -0
  242. package/dist/rust-1dffb4d5.js +337 -0
  243. package/dist/sb-136598e9.js +110 -0
  244. package/dist/scala-b1100fed.js +353 -0
  245. package/dist/scheme-038c8094.js +114 -0
  246. package/dist/scss-700d1b52.js +244 -0
  247. package/dist/shell-86c16e0f.js +224 -0
  248. package/dist/solidity-c05fdf3c.js +1351 -0
  249. package/dist/sophia-cd645d71.js +190 -0
  250. package/dist/sparql-01d9ec9c.js +193 -0
  251. package/dist/sql-4c33df41.js +818 -0
  252. package/dist/st-52cf1408.js +414 -0
  253. package/dist/swift-13c792ba.js +315 -0
  254. package/dist/systemverilog-0bd8b730.js +556 -0
  255. package/dist/tcl-463d7c75.js +232 -0
  256. package/dist/tippy-react.esm-3be2e905.js +2018 -0
  257. package/dist/tsMode-d9dd8508.js +811 -0
  258. package/dist/twig-0d98f5ec.js +323 -0
  259. package/dist/typescript-08c1d7b6.js +328 -0
  260. package/dist/vb-3a2b0a51.js +364 -0
  261. package/dist/wgsl-b2ddb3e4.js +420 -0
  262. package/dist/xml-69527c9c.js +95 -0
  263. package/dist/yaml-eb80879d.js +184 -0
  264. package/package.json +45 -26
  265. package/.eslintrc.js +0 -41
  266. package/.github/workflows/release-package.yml +0 -49
  267. package/.prettierrc.js +0 -7
  268. package/dist/Common/AddCDButton/AddCDButton.d.ts +0 -3
  269. package/dist/Common/AddCDButton/index.d.ts +0 -2
  270. package/dist/Common/AddCDButton/types.d.ts +0 -26
  271. package/dist/Common/AddCDButton/utils.d.ts +0 -2
  272. package/dist/Common/ChartVersionAndTypeSelector.d.ts +0 -4
  273. package/dist/Common/CustomInput/CustomInput.d.ts +0 -3
  274. package/dist/Common/CustomInput/Types.d.ts +0 -29
  275. package/dist/Common/CustomInput/index.d.ts +0 -2
  276. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +0 -3
  277. package/dist/Common/DevtronProgressing/index.d.ts +0 -1
  278. package/dist/Common/DevtronProgressing/types.d.ts +0 -4
  279. package/dist/Common/RJSF/Form.d.ts +0 -4
  280. package/dist/Common/RJSF/common/FieldRow.d.ts +0 -6
  281. package/dist/Common/RJSF/common/types.d.ts +0 -8
  282. package/dist/Common/RJSF/config.d.ts +0 -4
  283. package/dist/Common/RJSF/constants.d.ts +0 -7
  284. package/dist/Common/RJSF/index.d.ts +0 -3
  285. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +0 -3
  286. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +0 -3
  287. package/dist/Common/RJSF/templates/BaseInput.d.ts +0 -3
  288. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +0 -3
  289. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +0 -3
  290. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +0 -3
  291. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +0 -3
  292. package/dist/Common/RJSF/templates/Description.d.ts +0 -3
  293. package/dist/Common/RJSF/templates/Field.d.ts +0 -3
  294. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +0 -3
  295. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +0 -3
  296. package/dist/Common/RJSF/templates/TitleField.d.ts +0 -3
  297. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +0 -3
  298. package/dist/Common/RJSF/templates/index.d.ts +0 -10
  299. package/dist/Common/RJSF/types.d.ts +0 -3
  300. package/dist/Common/RJSF/utils.d.ts +0 -26
  301. package/dist/Common/RJSF/widgets/Checkbox.d.ts +0 -3
  302. package/dist/Common/RJSF/widgets/Select.d.ts +0 -3
  303. package/dist/Common/RJSF/widgets/index.d.ts +0 -2
  304. package/rollup.config.js +0 -31
  305. package/src/Assets/Icon/ic-add.svg +0 -3
  306. package/src/Assets/Icon/ic-appstatus-cancelled.svg +0 -6
  307. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +0 -5
  308. package/src/Assets/Icon/ic-check.svg +0 -5
  309. package/src/Assets/Icon/ic-chevron-down.svg +0 -5
  310. package/src/Assets/Icon/ic-copy.svg +0 -3
  311. package/src/Assets/Icon/ic-cross.svg +0 -3
  312. package/src/Assets/Icon/ic-enter.svg +0 -3
  313. package/src/Assets/Icon/ic-error-cross.svg +0 -8
  314. package/src/Assets/Icon/ic-error-exclamation.svg +0 -6
  315. package/src/Assets/Icon/ic-error-medium.svg +0 -6
  316. package/src/Assets/Icon/ic-help-outline.svg +0 -3
  317. package/src/Assets/Icon/ic-help.svg +0 -3
  318. package/src/Assets/Icon/ic-info-filled.svg +0 -7
  319. package/src/Assets/Icon/ic-info-outlined.svg +0 -13
  320. package/src/Assets/Icon/ic-minus.svg +0 -3
  321. package/src/Assets/Icon/ic-pencil.svg +0 -3
  322. package/src/Assets/Icon/ic-progressing.svg +0 -6
  323. package/src/Assets/Icon/ic-rotate-devtron.svg +0 -103
  324. package/src/Assets/Icon/ic-warning.svg +0 -7
  325. package/src/Assets/Icon/inject-tag.svg +0 -5
  326. package/src/Assets/Img/app-not-deployed.png +0 -0
  327. package/src/Assets/Img/delete-medium.svg +0 -15
  328. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  329. package/src/Assets/Img/ic-loading-failure.png +0 -0
  330. package/src/Assets/Img/ic-not-authorized.svg +0 -62
  331. package/src/Common/AddCDButton/AddCDButton.tsx +0 -68
  332. package/src/Common/AddCDButton/index.ts +0 -2
  333. package/src/Common/AddCDButton/types.ts +0 -38
  334. package/src/Common/AddCDButton/utils.tsx +0 -35
  335. package/src/Common/Api.ts +0 -228
  336. package/src/Common/AppStatus/AppStatus.tsx +0 -64
  337. package/src/Common/AppStatus/constants.ts +0 -53
  338. package/src/Common/AppStatus/index.ts +0 -1
  339. package/src/Common/AppStatus/types.ts +0 -12
  340. package/src/Common/AppStatus/utils.ts +0 -14
  341. package/src/Common/BreadCrumb/BreadCrumb.tsx +0 -105
  342. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +0 -25
  343. package/src/Common/BreadCrumb/Types.ts +0 -30
  344. package/src/Common/CIPipeline.Types.ts +0 -277
  345. package/src/Common/ChartVersionAndTypeSelector.tsx +0 -78
  346. package/src/Common/Checkbox.tsx +0 -36
  347. package/src/Common/ClipboardButton/ClipboardButton.tsx +0 -61
  348. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +0 -43
  349. package/src/Common/ClipboardButton/types.ts +0 -7
  350. package/src/Common/Common.service.ts +0 -315
  351. package/src/Common/Constants.ts +0 -243
  352. package/src/Common/CustomInput/CustomInput.tsx +0 -131
  353. package/src/Common/CustomInput/Types.ts +0 -30
  354. package/src/Common/CustomInput/index.ts +0 -2
  355. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +0 -46
  356. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +0 -84
  357. package/src/Common/CustomTagSelector/TagDetails.tsx +0 -76
  358. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +0 -61
  359. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +0 -198
  360. package/src/Common/CustomTagSelector/TagSelector.utils.ts +0 -71
  361. package/src/Common/CustomTagSelector/Types.ts +0 -72
  362. package/src/Common/CustomTagSelector/ValidationRules.ts +0 -58
  363. package/src/Common/CustomTagSelector/index.ts +0 -6
  364. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +0 -76
  365. package/src/Common/DebouncedSearch/Types.ts +0 -13
  366. package/src/Common/DebouncedSearch/Utils.ts +0 -19
  367. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +0 -61
  368. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +0 -95
  369. package/src/Common/DeleteComponentModal/types.ts +0 -15
  370. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +0 -11
  371. package/src/Common/DevtronProgressing/index.ts +0 -1
  372. package/src/Common/DevtronProgressing/types.ts +0 -4
  373. package/src/Common/Dialogs/ConfirmationDialog.tsx +0 -34
  374. package/src/Common/Dialogs/DeleteDialog.tsx +0 -69
  375. package/src/Common/Dialogs/DialogForm.tsx +0 -86
  376. package/src/Common/Dialogs/ForceDeleteDialog.tsx +0 -19
  377. package/src/Common/Dialogs/Types.ts +0 -47
  378. package/src/Common/Dialogs/index.ts +0 -4
  379. package/src/Common/Drawer/Drawer.scss +0 -40
  380. package/src/Common/Drawer/Drawer.tsx +0 -49
  381. package/src/Common/EmptyState/EmptyState.tsx +0 -42
  382. package/src/Common/EmptyState/GenericEmptyState.tsx +0 -49
  383. package/src/Common/EmptyState/emptyState.scss +0 -74
  384. package/src/Common/Error.tsx +0 -61
  385. package/src/Common/ErrorScreenNotFound.tsx +0 -31
  386. package/src/Common/Grid/Grid.tsx +0 -39
  387. package/src/Common/Grid/types.ts +0 -9
  388. package/src/Common/Helper.tsx +0 -561
  389. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +0 -15
  390. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +0 -24
  391. package/src/Common/Hooks/UseSuperAdmin/types.ts +0 -3
  392. package/src/Common/Hooks/index.ts +0 -2
  393. package/src/Common/ImageTags.Types.ts +0 -44
  394. package/src/Common/ImageTags.tsx +0 -586
  395. package/src/Common/InfoColorBar/InfoColourbar.tsx +0 -80
  396. package/src/Common/InfoColorBar/infoColourBar.scss +0 -28
  397. package/src/Common/Modals/Modal.tsx +0 -68
  398. package/src/Common/Modals/OpaqueModal.tsx +0 -36
  399. package/src/Common/Modals/VisibleModal.tsx +0 -55
  400. package/src/Common/Modals/VisibleModal2.tsx +0 -35
  401. package/src/Common/MultiSelectCustomization.tsx +0 -148
  402. package/src/Common/Policy.Types.ts +0 -63
  403. package/src/Common/PopupMenu.tsx +0 -199
  404. package/src/Common/Progressing.tsx +0 -53
  405. package/src/Common/RJSF/Form.tsx +0 -29
  406. package/src/Common/RJSF/common/FieldRow.tsx +0 -35
  407. package/src/Common/RJSF/common/types.ts +0 -9
  408. package/src/Common/RJSF/config.ts +0 -37
  409. package/src/Common/RJSF/constants.ts +0 -10
  410. package/src/Common/RJSF/index.ts +0 -3
  411. package/src/Common/RJSF/rjsfForm.scss +0 -18
  412. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +0 -31
  413. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +0 -78
  414. package/src/Common/RJSF/templates/BaseInput.tsx +0 -16
  415. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +0 -18
  416. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +0 -10
  417. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +0 -18
  418. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +0 -3
  419. package/src/Common/RJSF/templates/Description.tsx +0 -12
  420. package/src/Common/RJSF/templates/Field.tsx +0 -30
  421. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +0 -25
  422. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +0 -105
  423. package/src/Common/RJSF/templates/TitleField.tsx +0 -9
  424. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +0 -51
  425. package/src/Common/RJSF/templates/index.ts +0 -10
  426. package/src/Common/RJSF/types.ts +0 -4
  427. package/src/Common/RJSF/utils.ts +0 -123
  428. package/src/Common/RJSF/widgets/Checkbox.tsx +0 -44
  429. package/src/Common/RJSF/widgets/Select.tsx +0 -77
  430. package/src/Common/RJSF/widgets/index.ts +0 -2
  431. package/src/Common/RadioGroup/RadioGroup.tsx +0 -105
  432. package/src/Common/RadioGroup/radioGroup.scss +0 -46
  433. package/src/Common/RadioGroup.tsx +0 -53
  434. package/src/Common/Reload.tsx +0 -23
  435. package/src/Common/ResizableTextarea.tsx +0 -73
  436. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +0 -55
  437. package/src/Common/Security/scanVulnerabilities.css +0 -69
  438. package/src/Common/ServerError.ts +0 -31
  439. package/src/Common/TippyCustomized.tsx +0 -172
  440. package/src/Common/ToastBody.tsx +0 -62
  441. package/src/Common/Toggle/Toggle.scss +0 -78
  442. package/src/Common/Toggle/Toggle.tsx +0 -50
  443. package/src/Common/Types.ts +0 -750
  444. package/src/Common/index.ts +0 -47
  445. package/src/custom.d.ts +0 -13
  446. package/src/index.ts +0 -1
  447. package/tsconfig.json +0 -40
@@ -1,198 +0,0 @@
1
- import React, { useState, useEffect } from 'react'
2
- import PopupMenu from '../PopupMenu'
3
- import { ReactComponent as ErrorCross } from '../../Assets/Icon/ic-cross.svg'
4
- import { ReactComponent as Info } from '../../Assets/Icon/ic-info-outlined.svg'
5
- import { KEY_VALUE } from '../Constants'
6
- import { stopPropagation } from '../Helper'
7
- import { ResizableTagTextArea } from './ResizableTagTextArea'
8
- import { SuggestedTagOptionType, TagLabelValueSelectorType } from './Types'
9
- import Tippy from '@tippyjs/react'
10
- import { ValidationRules } from './ValidationRules'
11
-
12
- export const TagLabelValueSelector = ({
13
- selectedTagIndex,
14
- tagData,
15
- setTagData,
16
- tagOptions,
17
- isRequired,
18
- tagInputType,
19
- placeholder,
20
- tabIndex = null,
21
- refVar,
22
- dependentRef,
23
- noBackDrop,
24
- }: TagLabelValueSelectorType) => {
25
- const [selectedValue, setSelectedValue] = useState<string>('')
26
- const [activeElement, setActiveElement] = useState<string>('')
27
- const validationRules = new ValidationRules()
28
-
29
- useEffect(() => {
30
- setSelectedValue(tagData?.[tagInputType] || '')
31
- }, [selectedTagIndex, tagData, tagInputType])
32
-
33
- const handleOnFocus = (e) => {
34
- setTimeout(() => {
35
- setActiveElement(`tag-${tagInputType}-${selectedTagIndex}`)
36
- }, 300)
37
- }
38
- const handleOnBlur = (e) => {
39
- if (
40
- !e.relatedTarget ||
41
- !e.relatedTarget.classList.value ||
42
- !e.relatedTarget.classList.value.includes(`tag-${selectedTagIndex}-class`)
43
- ) {
44
- setActiveElement('')
45
- const _tagData = { ...tagData }
46
- _tagData[tagInputType] = selectedValue
47
- if (tagInputType === KEY_VALUE.KEY) {
48
- _tagData.isInvalidKey =
49
- selectedValue || _tagData.propagate
50
- ? !validationRules.propagateTagKey(selectedValue).isValid
51
- : _tagData.value !== ''
52
- } else if (selectedValue || isRequired || _tagData.propagate) {
53
- _tagData.isInvalidValue = !validationRules.propagateTagValue(selectedValue, _tagData.key).isValid
54
- _tagData.isInvalidKey = !_tagData.key || _tagData.isInvalidKey
55
- } else {
56
- _tagData.isInvalidValue = false
57
- _tagData.isInvalidKey = !_tagData.key ? false : _tagData.isInvalidKey
58
- }
59
- setTagData(selectedTagIndex, _tagData)
60
- }
61
- }
62
-
63
- const handleInputChange = (e): void => {
64
- setSelectedValue(e.target.value)
65
- }
66
-
67
- const onSelectValue = (e): void => {
68
- stopPropagation(e)
69
- const _tagData = { ...tagData }
70
- _tagData[tagInputType] = e.currentTarget.dataset.key
71
- _tagData.propagate = e.currentTarget.dataset.propagate === 'true'
72
- setTagData(selectedTagIndex, _tagData)
73
- setActiveElement('')
74
- }
75
-
76
- const renderValidationsSuggestions = (): JSX.Element => {
77
- let field = { isValid: true, messages: [] }
78
- if (tagInputType === KEY_VALUE.KEY) {
79
- if (selectedValue || tagData.value) {
80
- field = validationRules.propagateTagKey(selectedValue)
81
- }
82
- } else if (isRequired || selectedValue || tagData.propagate) {
83
- field = validationRules.propagateTagValue(selectedValue, tagData.key)
84
- }
85
- if (!field.isValid) {
86
- return (
87
- <div className="p-4" onClick={stopPropagation} data-testid="tag-label-cross-stop-propagation">
88
- {field.messages.map((error) => (
89
- <div key={error} className="flexbox pr-4 pl-4">
90
- <span>
91
- <ErrorCross className="icon-dim-14 scr-5 mt-3 mr-4" />
92
- </span>
93
- <span>{error}</span>
94
- </div>
95
- ))}
96
- {tagInputType === KEY_VALUE.KEY && (
97
- <div className="flexbox pr-4 pl-4">
98
- <span>
99
- <Info className="icon-dim-14 mt-3 mr-4" />
100
- </span>
101
- <span className="dc__italic-font-style">Key format: prefix/name or name</span>
102
- </div>
103
- )}
104
- </div>
105
- )
106
- }
107
- return null
108
- }
109
-
110
- const option = (tag: SuggestedTagOptionType, index: number): JSX.Element => {
111
- return (
112
- <div
113
- key={`${tag.value}-${index}`}
114
- data-key={tag.label}
115
- data-propagate={tag.propagate}
116
- className="dc__hover-n50 dc__ellipsis-right lh-20 fs-13 fw-4 pt-6 pr-8 pb-6 pl-8 cursor"
117
- onClick={onSelectValue}
118
- data-testid={`tag-label-value-${index}`}
119
- >
120
- {tag.label}
121
- </div>
122
- )
123
- }
124
-
125
- const optionWithTippy = (tag: SuggestedTagOptionType, index: number): JSX.Element => {
126
- return (
127
- <Tippy
128
- className="default-tt"
129
- arrow={false}
130
- placement="right"
131
- content={
132
- <div>
133
- <div className="mb-10 fs-12 fw-6 cn-0 dc__break-word">{tag.label}</div>
134
- <div className="fs-12 fw-4 cn-0 dc__break-word">{tag.description}</div>
135
- </div>
136
- }
137
- >
138
- {option(tag, index)}
139
- </Tippy>
140
- )
141
- }
142
-
143
- const renderSuggestions = (): JSX.Element => {
144
- if (tagOptions?.length) {
145
- const filteredTags = tagOptions.filter((tag) => tag.label.indexOf(selectedValue) >= 0)
146
- if (filteredTags.length) {
147
- return (
148
- <div>
149
- {filteredTags.map((tag, index) =>
150
- tag.description ? optionWithTippy(tag, index) : option(tag, index),
151
- )}
152
- </div>
153
- )
154
- }
155
- }
156
- return renderValidationsSuggestions()
157
- }
158
-
159
- const popupMenuBody = activeElement === `tag-${tagInputType}-${selectedTagIndex}` ? renderSuggestions() : null
160
- return (
161
- <PopupMenu autoClose autoPosition>
162
- <PopupMenu.Button rootClassName="dc__bg-n50 flex top dc__no-border-imp">
163
- <ResizableTagTextArea
164
- minHeight={30}
165
- maxHeight={80}
166
- className={`form__input tag-input pt-4-imp pb-4-imp fs-13 ${
167
- tagInputType === KEY_VALUE.KEY
168
- ? `dc__no-right-radius`
169
- : `dc__no-border-radius dc__no-right-border dc__no-left-border`
170
- } ${
171
- tagData[tagInputType === KEY_VALUE.KEY ? 'isInvalidKey' : 'isInvalidValue']
172
- ? 'form__input--error'
173
- : ''
174
- }`}
175
- value={selectedValue}
176
- onChange={handleInputChange}
177
- onBlur={handleOnBlur}
178
- onFocus={handleOnFocus}
179
- placeholder={placeholder}
180
- tabIndex={tabIndex}
181
- refVar={refVar}
182
- dependentRef={dependentRef}
183
- dataTestId={`tag-${tagInputType === KEY_VALUE.KEY ? 'key' : 'value'}-${selectedTagIndex}`}
184
- />
185
- </PopupMenu.Button>
186
- {popupMenuBody && (
187
- <PopupMenu.Body
188
- rootClassName={`mxh-210 dc__overflow-auto tag-${selectedTagIndex}-class`}
189
- autoWidth={true}
190
- preventWheelDisable={true}
191
- noBackDrop={noBackDrop}
192
- >
193
- {popupMenuBody}
194
- </PopupMenu.Body>
195
- )}
196
- </PopupMenu>
197
- )
198
- }
@@ -1,71 +0,0 @@
1
- export const baseSelectStyles = {
2
- control: (base, state) => ({
3
- ...base,
4
- border: '1px solid var(--N200)',
5
- boxShadow: 'none',
6
- minHeight: 'auto',
7
- borderRadius: 'none',
8
- height: '32px',
9
- fontSize: '12px',
10
- borderRight: '0',
11
- cursor: state.isDisabled ? 'not-allowed' : 'normal',
12
- }),
13
- singleValue: (base, state) => ({
14
- ...base,
15
- fontWeight: '500',
16
- }),
17
- placeholder: (base, state) => ({
18
- ...base,
19
- fontWeight: '500',
20
- }),
21
- option: (base, state) => ({
22
- ...base,
23
- fontWeight: '500',
24
- color: 'var(--N900)',
25
- fontSize: '12px',
26
- padding: '5px 10px',
27
- }),
28
- dropdownIndicator: (styles) => ({ ...styles, padding: 0 }),
29
- valueContainer: (base, state) => ({
30
- ...base,
31
- color: 'var(--N900)',
32
- background: state.isDisabled ? 'var(--N100) !important' : 'var(--N50) !important',
33
- padding: '0px 10px',
34
- display: 'flex',
35
- height: '30px',
36
- fontSize: '12px',
37
- cursor: state.isDisabled ? 'not-allowed' : 'normal',
38
- pointerEvents: 'all',
39
- width: '100px',
40
- whiteSpace: 'nowrap',
41
- }),
42
- indicatorsContainer: (base, state) => ({
43
- ...base,
44
- background: state.isDisabled ? 'var(--N100) !important' : 'var(--N50) !important',
45
- }),
46
- menu: (base, state) => ({
47
- ...base,
48
- marginTop: '0',
49
- }),
50
- }
51
-
52
- export const validateKubernetesKey = (key: string) => {
53
- const invalidMessageList = []
54
- if (!key || key.split('/')) {
55
- invalidMessageList.push('Name is required')
56
- } else {
57
- const re = new RegExp('/', 'g')
58
- const noOfSlashInKey = key.match(re).length
59
- if (noOfSlashInKey > 1) {
60
- invalidMessageList.push('Key: Max 1 ( / ) allowed')
61
- } else {
62
- let name = key
63
- if (noOfSlashInKey === 1) {
64
- const [prefix, name]=key.split('/')
65
-
66
- }
67
- }
68
- }
69
- }
70
-
71
- export const validateKubernetesValue = (value: string) => {}
@@ -1,72 +0,0 @@
1
- import { KEY_VALUE } from '../Constants'
2
- import { OptionType } from '../Types'
3
-
4
- export interface SuggestedTagOptionType extends OptionType {
5
- description: string
6
- propagate: boolean
7
- }
8
- export interface TagType {
9
- id?: number
10
- key: string
11
- value?: string
12
- description?: string
13
- propagate: boolean
14
- mandatoryProjectIdsCsv?: string
15
- isInvalidKey?: boolean
16
- isInvalidValue?: boolean
17
- isSuggested?: boolean
18
- isPropagateDisabled?: boolean
19
- }
20
-
21
- export interface TagErrorType {
22
- isValid: boolean
23
- messages: string[]
24
- }
25
- export interface TagLabelSelectType {
26
- isCreateApp?: boolean
27
- labelTags: TagType[]
28
- setLabelTags: (tagList: TagType[]) => void
29
- tabIndex?: number
30
- selectedProjectId?: number
31
- suggestedTagsOptions?: SuggestedTagOptionType[]
32
- reloadProjectTags?: boolean
33
- }
34
-
35
- export interface TagDetailType {
36
- index: number
37
- tagData: TagType
38
- setTagData: (index: number, tagData: TagType) => void
39
- removeTag?: (index: number) => void
40
- tabIndex?: number
41
- suggestedTagsOptions?: SuggestedTagOptionType[]
42
- }
43
-
44
- export interface TagLabelValueSelectorType {
45
- selectedTagIndex: number
46
- tagData: TagType
47
- setTagData: (index: number, tagData: TagType) => void
48
- tagOptions?: SuggestedTagOptionType[]
49
- isRequired?: boolean
50
- tagInputType?: KEY_VALUE
51
- placeholder?: string
52
- tabIndex?: number
53
- refVar?: React.MutableRefObject<HTMLTextAreaElement>
54
- dependentRef?: React.MutableRefObject<HTMLTextAreaElement>
55
- noBackDrop?: boolean
56
- }
57
-
58
- export interface ResizableTagTextAreaProps {
59
- className?: string
60
- minHeight?: number
61
- maxHeight?: number
62
- value?: string
63
- onChange?: (e) => void
64
- onBlur?: (e) => void
65
- onFocus?: (e) => void
66
- placeholder?: string
67
- tabIndex?: number
68
- refVar?: React.MutableRefObject<HTMLTextAreaElement>
69
- dependentRef?: React.MutableRefObject<HTMLTextAreaElement>
70
- dataTestId?: string
71
- handleKeyDown?: any
72
- }
@@ -1,58 +0,0 @@
1
- import { PATTERNS } from '../Constants'
2
-
3
- const validateTagValue = (value: string): string[] => {
4
- const errorList = []
5
- if (value.length > 63) {
6
- errorList.push('Can be max 63 characters')
7
- }
8
- const firstLastAlphanumeric = PATTERNS.START_END_ALPHANUMERIC.test(value)
9
- if (!firstLastAlphanumeric) {
10
- errorList.push('Must start and end with an alphanumeric character')
11
- }
12
- const validValue = PATTERNS.ALPHANUMERIC_WITH_SPECIAL_CHAR.test(value)
13
- if (!validValue) {
14
- errorList.push('Can only contain alphanumeric chars and (-), (_), (.)')
15
- }
16
- return errorList
17
- }
18
- export class ValidationRules {
19
- propagateTagKey = (key: string): { isValid: boolean; messages: string[] } => {
20
- const errorList = []
21
- if (!key) {
22
- errorList.push('Key is required')
23
- } else {
24
- if(!key.startsWith("devtron.ai/")){
25
- const re = new RegExp('/', 'g')
26
- const noOfSlashInKey = key.match(re)?.length
27
- if (noOfSlashInKey > 1) {
28
- errorList.push('Key: Max 1 ( / ) allowed')
29
- } else if (noOfSlashInKey === 1) {
30
- const [prefix, name] = key.split('/')
31
- errorList.push(...validateTagValue(name).map((error) => `Name: ${error}`))
32
- if (prefix.length > 253) {
33
- errorList.push('Prefix: Can be max 253 characters')
34
- }
35
- const validPrefix = PATTERNS.KUBERNETES_KEY_PREFIX.test(prefix)
36
- if (!validPrefix) {
37
- errorList.push('Prefix: Must be a DNS subdomain (a series of DNS labels separated by dots (.)')
38
- }
39
- } else {
40
- errorList.push(...validateTagValue(key).map((error) => `Name: ${error}`))
41
- }
42
- }
43
- }
44
- return { isValid: errorList.length === 0, messages: errorList }
45
- }
46
-
47
- propagateTagValue = (value: string, key: string): { isValid: boolean; messages: string[] } => {
48
- const errorList = []
49
- if (!value) {
50
- errorList.push('Value is required')
51
- } else {
52
- if(!key.startsWith("devtron.ai/")){
53
- errorList.push(...validateTagValue(value))
54
- }
55
- }
56
- return { isValid: errorList.length === 0, messages: errorList }
57
- }
58
- }
@@ -1,6 +0,0 @@
1
- export {default as PropagateTagInfo} from './PropagateTagInfo'
2
- export * from './TagDetails'
3
- export * from './TagLabelSelect'
4
- export * from './TagLabelValueSelector'
5
- export * from './ResizableTagTextArea'
6
- export * from './Types'
@@ -1,76 +0,0 @@
1
- import React, { useEffect, useState } from 'react'
2
- import { useDebouncedEffect } from './Utils'
3
- import { ReactComponent as ICClear } from '../../Assets/Icon/ic-error-cross.svg'
4
- import { DebouncedSearchProps } from './Types'
5
-
6
- /**
7
- * @param onSearch - Callback function to be called on search
8
- * @param Icon - (Optional) Icon to be shown before the input
9
- * @param iconClass - (Optional) Class for the icon
10
- * @param children - (Optional) In case we want to add another button or any other element
11
- * @param placeholder - (Optional) Placeholder for the input
12
- * @param containerClass - (Optional) Class for the container
13
- * @param inputClass - (Optional) Class for the input field
14
- * @param debounceTimeout - (Optional) Timeout for the debounce with default value of 500ms
15
- * @param clearSearch - (Optional) To clear the search text
16
- * @param showClearIcon - (Optional) To show the clear icon default value is true
17
- */
18
- export default function DebouncedSearch({
19
- onSearch,
20
- Icon,
21
- children,
22
- placeholder,
23
- containerClass = '',
24
- iconClass = '',
25
- inputClass = '',
26
- debounceTimeout = 500,
27
- clearSearch,
28
- showClearIcon = true,
29
- autoFocus = true,
30
- }: DebouncedSearchProps) {
31
- const [searchText, setSearchText] = useState<string>('')
32
-
33
- useEffect(() => {
34
- setSearchText('')
35
- }, [clearSearch])
36
-
37
- const handleSearchTextChange = (e: React.ChangeEvent<HTMLInputElement>) => {
38
- setSearchText(e.target.value)
39
- }
40
-
41
- const handleClearSearch = () => {
42
- setSearchText('')
43
- }
44
-
45
- useDebouncedEffect(() => onSearch(searchText), debounceTimeout, [searchText])
46
-
47
- return (
48
- <div className={containerClass}>
49
- {Icon && <Icon className={iconClass} />}
50
-
51
- <input
52
- type="text"
53
- className={inputClass}
54
- placeholder={placeholder ?? 'Search'}
55
- value={searchText}
56
- onChange={handleSearchTextChange}
57
- autoFocus={autoFocus}
58
- data-testid="debounced-search"
59
- />
60
-
61
- {showClearIcon && !!searchText && (
62
- <button
63
- type="button"
64
- className="dc__outline-none-imp dc__no-border p-0 bc-n50 flex"
65
- onClick={handleClearSearch}
66
- data-testid="clear-search"
67
- >
68
- <ICClear className="icon-dim-20 icon-n6" />
69
- </button>
70
- )}
71
-
72
- {/* In case we want to add another button or something */}
73
- {children}
74
- </div>
75
- )
76
- }
@@ -1,13 +0,0 @@
1
- export interface DebouncedSearchProps {
2
- onSearch: (query: string) => void
3
- Icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>
4
- placeholder?: string
5
- inputClass?: string
6
- containerClass?: string
7
- iconClass?: string
8
- children?: React.ReactNode
9
- debounceTimeout?: number
10
- clearSearch?: boolean
11
- showClearIcon?: boolean
12
- autoFocus?: boolean
13
- }
@@ -1,19 +0,0 @@
1
- import { useEffect, useRef } from 'react'
2
-
3
- export function useDebouncedEffect(callback, delay, deps: unknown[] = []) {
4
- // function will be executed only after the specified time once the user stops firing the event.
5
- const firstUpdate = useRef(true)
6
- useEffect(() => {
7
- if (firstUpdate.current) {
8
- firstUpdate.current = false
9
- return
10
- }
11
- const handler = setTimeout(() => {
12
- callback()
13
- }, delay)
14
-
15
- return () => {
16
- clearTimeout(handler)
17
- }
18
- }, [delay, ...deps])
19
- }
@@ -1,61 +0,0 @@
1
- import React from 'react'
2
- import { render, screen, fireEvent } from '@testing-library/react'
3
- import { ReactComponent as ICClear } from '../../../../assets/icons/ic-error.svg'
4
- import DebouncedSearch from '../DebouncedSearch'
5
-
6
- jest.mock('../../helpers/Helpers', () => ({
7
- useDebouncedEffect: jest.fn().mockImplementation((fn) => fn()),
8
- }))
9
-
10
- describe('When DebouncedSearch mounts', () => {
11
- it('should have a input field', () => {
12
- render(<DebouncedSearch onSearch={jest.fn()} />)
13
- expect(screen.getByRole('textbox')).toBeTruthy()
14
- })
15
-
16
- it('should have a clear icon when clearSearch is true and user has typed something', () => {
17
- const { getByTestId } = render(<DebouncedSearch onSearch={jest.fn()} clearSearch debounceTimeout={0} />)
18
- fireEvent.change(screen.getByRole('textbox'), { target: { value: 'test' } })
19
- expect(getByTestId('clear-search')).toBeTruthy()
20
- })
21
-
22
- it('should call onSearch when input value changes', () => {
23
- const onSearch = jest.fn()
24
- render(<DebouncedSearch onSearch={onSearch} debounceTimeout={0} />)
25
- fireEvent.change(screen.getByRole('textbox'), { target: { value: 'test' } })
26
- expect(onSearch).toHaveBeenCalled()
27
- })
28
-
29
- it('should clear input value when clear icon is clicked', () => {
30
- const { container } = render(<DebouncedSearch onSearch={jest.fn()} clearSearch debounceTimeout={0} />)
31
- fireEvent.change(screen.getByRole('textbox'), { target: { value: 'test' } })
32
- const inputBar = container.querySelector('input')
33
- expect(inputBar.value).toBe('test')
34
- fireEvent.click(screen.getByRole('button'))
35
- expect(inputBar.value).toBe('')
36
- })
37
-
38
- it('should have a placeholder', () => {
39
- render(<DebouncedSearch onSearch={jest.fn()} placeholder="test" />)
40
- expect(screen.getByPlaceholderText('test')).toBeTruthy()
41
- })
42
-
43
- it('should not show clear icon when showClearIcon is false', () => {
44
- render(<DebouncedSearch onSearch={jest.fn()} showClearIcon={false} />)
45
- expect(screen.queryByRole('button')).toBeNull()
46
- })
47
-
48
- it('should have a custom Icon', () => {
49
- const { container } = render(<DebouncedSearch onSearch={jest.fn()} Icon={ICClear} iconClass="icon-class" />)
50
- expect(container.querySelector('.icon-class')).toBeTruthy()
51
- })
52
-
53
- it('should support children', () => {
54
- render(
55
- <DebouncedSearch onSearch={jest.fn()}>
56
- <div>test</div>
57
- </DebouncedSearch>,
58
- )
59
- expect(screen.getByText('test')).toBeTruthy()
60
- })
61
- })
@@ -1,95 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { useHistory } from 'react-router-dom'
3
- import { toast } from 'react-toastify'
4
- import info from '../../Assets/Icon/ic-info-filled.svg'
5
- import { ConfirmationDialog, DeleteDialog } from '../Dialogs'
6
- import { ServerErrors } from '../ServerError'
7
- import { DeleteComponentProps } from './types'
8
-
9
-
10
- function DeleteComponent({
11
- setDeleting,
12
- toggleConfirmation,
13
- deleteComponent,
14
- title,
15
- component,
16
- payload,
17
- confirmationDialogDescription = '',
18
- redirectTo = false,
19
- url = '',
20
- reload,
21
- configuration = '',
22
- closeCustomComponent,
23
- }: DeleteComponentProps) {
24
- const [showCannotDeleteDialogModal, setCannotDeleteDialogModal] = useState(false)
25
- const { push } = useHistory()
26
-
27
- async function handleDelete() {
28
- setDeleting(true)
29
- try {
30
- await deleteComponent(payload)
31
- toast.success('Successfully deleted')
32
- toggleConfirmation(false)
33
- if (redirectTo) {
34
- push(url)
35
- } else {
36
- reload()
37
- }
38
- if (typeof closeCustomComponent === 'function') {
39
- closeCustomComponent()
40
- }
41
- } catch (serverError) {
42
- if (serverError instanceof ServerErrors && serverError.code === 500) {
43
- setCannotDeleteDialogModal(true)
44
- }
45
- } finally {
46
- setDeleting(false)
47
- }
48
- }
49
-
50
- const handleConfirmation = () => {
51
- setCannotDeleteDialogModal(false)
52
- toggleConfirmation(false)
53
- if (typeof closeCustomComponent === 'function') {
54
- closeCustomComponent()
55
- }
56
- }
57
-
58
- const renderCannotDeleteDialogModal = () => {
59
- return (
60
- <ConfirmationDialog className="confirmation-dialog__body--w-360">
61
- <ConfirmationDialog.Icon src={info} />
62
- <ConfirmationDialog.Body title={`Cannot delete ${component} '${title}'`} />
63
- <p className="fs-13 cn-7 ">{confirmationDialogDescription}</p>
64
- <ConfirmationDialog.ButtonGroup>
65
- <button type="button" className="cta" onClick={handleConfirmation}>
66
- Okay
67
- </button>
68
- </ConfirmationDialog.ButtonGroup>
69
- </ConfirmationDialog>
70
- )
71
- }
72
-
73
- const renderDeleteDialog = () => {
74
- return (
75
- <DeleteDialog
76
- title={`Delete ${component} '${title}'`}
77
- delete={handleDelete}
78
- closeDelete={() => toggleConfirmation(false)}
79
- dataTestId="delete-dialog"
80
- >
81
- <DeleteDialog.Description>
82
- <p>Are you sure you want to delete this {configuration ? configuration : component}? </p>
83
- </DeleteDialog.Description>
84
- </DeleteDialog>
85
- )
86
- }
87
- return (
88
- <div>
89
- {!showCannotDeleteDialogModal && renderDeleteDialog()}
90
- {showCannotDeleteDialogModal && renderCannotDeleteDialogModal()}
91
- </div>
92
- )
93
- }
94
-
95
- export default DeleteComponent