@devtron-labs/devtron-fe-common-lib 0.0.60-beta-1 → 0.0.60-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 (427) 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 +14 -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 +89 -81
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -2
  31. package/dist/Common/CustomInput/Types.d.ts +31 -31
  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 -2
  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 -3
  46. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  47. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -2
  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 -8
  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 -0
  62. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -3
  63. package/dist/Common/Error.d.ts +17 -17
  64. package/dist/Common/ErrorScreenNotFound.d.ts +3 -2
  65. package/dist/Common/Grid/Grid.d.ts +3 -3
  66. package/dist/Common/Grid/types.d.ts +10 -10
  67. package/dist/Common/Helper.d.ts +64 -68
  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 +4 -3
  73. package/dist/Common/Hooks/useUrlFilters/constants.d.ts +8 -0
  74. package/dist/Common/Hooks/useUrlFilters/index.d.ts +2 -0
  75. package/dist/Common/Hooks/useUrlFilters/types.d.ts +19 -0
  76. package/dist/Common/Hooks/useUrlFilters/useUrlFilters.d.ts +20 -0
  77. package/dist/Common/ImageTags.Types.d.ts +40 -40
  78. package/dist/Common/ImageTags.d.ts +4 -3
  79. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -3
  80. package/dist/Common/Modals/Modal.d.ts +3 -3
  81. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  82. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  83. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  84. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  85. package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
  86. package/dist/Common/Pagination/Pagination.d.ts +5 -3
  87. package/dist/Common/Pagination/constants.d.ts +5 -5
  88. package/dist/Common/Pagination/index.d.ts +1 -1
  89. package/dist/Common/Pagination/types.d.ts +51 -51
  90. package/dist/Common/Pagination/utils.d.ts +6 -6
  91. package/dist/Common/Policy.Types.d.ts +56 -56
  92. package/dist/Common/PopupMenu.d.ts +8 -7
  93. package/dist/Common/Progressing.d.ts +4 -3
  94. package/dist/Common/RJSF/Form.d.ts +4 -2
  95. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
  96. package/dist/Common/RJSF/common/types.d.ts +8 -8
  97. package/dist/Common/RJSF/config.d.ts +4 -4
  98. package/dist/Common/RJSF/constants.d.ts +7 -7
  99. package/dist/Common/RJSF/index.d.ts +3 -3
  100. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
  101. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
  102. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
  103. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
  104. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
  105. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
  106. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
  107. package/dist/Common/RJSF/templates/Description.d.ts +3 -2
  108. package/dist/Common/RJSF/templates/Field.d.ts +3 -2
  109. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
  110. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
  111. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
  112. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
  113. package/dist/Common/RJSF/templates/index.d.ts +10 -10
  114. package/dist/Common/RJSF/types.d.ts +3 -3
  115. package/dist/Common/RJSF/utils.d.ts +26 -25
  116. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
  117. package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
  118. package/dist/Common/RJSF/widgets/index.d.ts +2 -2
  119. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  120. package/dist/Common/RadioGroup.d.ts +8 -8
  121. package/dist/Common/Reload.d.ts +3 -3
  122. package/dist/Common/ResizableTextarea.d.ts +3 -3
  123. package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
  124. package/dist/Common/SearchBar/index.d.ts +2 -2
  125. package/dist/Common/SearchBar/types.d.ts +35 -35
  126. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  127. package/dist/Common/ServerError.d.ts +15 -15
  128. package/dist/Common/SortableTableHeaderCell/SortableTableHeaderCell.d.ts +18 -0
  129. package/dist/Common/SortableTableHeaderCell/index.d.ts +2 -0
  130. package/dist/Common/SortableTableHeaderCell/types.d.ts +25 -0
  131. package/dist/Common/TippyCustomized.d.ts +4 -2
  132. package/dist/Common/ToastBody.d.ts +23 -23
  133. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  134. package/dist/Common/Types.d.ts +704 -691
  135. package/dist/Common/index.d.ts +51 -50
  136. package/dist/Pages/GlobalConfigurations/Authorization/constants.d.ts +15 -0
  137. package/dist/Pages/GlobalConfigurations/Authorization/index.d.ts +1 -0
  138. package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
  139. package/dist/Pages/index.d.ts +1 -0
  140. package/dist/Shared/Components/BulkSelection/BulkSelection.d.ts +4 -0
  141. package/dist/Shared/Components/BulkSelection/BulkSelectionDropdownItems.d.ts +4 -0
  142. package/dist/Shared/Components/BulkSelection/BulkSelectionProvider.d.ts +4 -0
  143. package/dist/Shared/Components/BulkSelection/constants.d.ts +9 -0
  144. package/dist/Shared/Components/BulkSelection/index.d.ts +4 -0
  145. package/dist/Shared/Components/BulkSelection/types.d.ts +54 -0
  146. package/dist/Shared/Components/index.d.ts +1 -0
  147. package/dist/Shared/index.d.ts +1 -0
  148. package/dist/index.d.ts +3 -7
  149. package/dist/index.js +29384 -162
  150. package/package.json +23 -34
  151. package/rollup.config.js +31 -0
  152. package/src/Assets/Icon/ic-add.svg +3 -0
  153. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  154. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  155. package/src/Assets/Icon/ic-arrow-up-down.svg +3 -0
  156. package/src/Assets/Icon/ic-check-all.svg +5 -0
  157. package/src/Assets/Icon/ic-check-square.svg +4 -0
  158. package/src/Assets/Icon/ic-check.svg +5 -0
  159. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  160. package/src/Assets/Icon/ic-close.svg +9 -0
  161. package/src/Assets/Icon/ic-copy.svg +3 -0
  162. package/src/Assets/Icon/ic-cross.svg +3 -0
  163. package/src/Assets/Icon/ic-drag.svg +8 -0
  164. package/src/Assets/Icon/ic-enter.svg +3 -0
  165. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  166. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  167. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  168. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  169. package/src/Assets/Icon/ic-help.svg +3 -0
  170. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  171. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  172. package/src/Assets/Icon/ic-minus.svg +3 -0
  173. package/src/Assets/Icon/ic-pencil.svg +3 -0
  174. package/src/Assets/Icon/ic-progressing.svg +6 -0
  175. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  176. package/src/Assets/Icon/ic-search.svg +6 -0
  177. package/src/Assets/Icon/ic-sort-arrow-down.svg +3 -0
  178. package/src/Assets/Icon/ic-warning.svg +7 -0
  179. package/src/Assets/Icon/inject-tag.svg +5 -0
  180. package/src/Assets/Img/app-not-deployed.png +0 -0
  181. package/src/Assets/Img/delete-medium.svg +15 -0
  182. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  183. package/src/Assets/Img/ic-loading-failure.png +0 -0
  184. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  185. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  186. package/src/Common/AddCDButton/index.ts +2 -0
  187. package/src/Common/AddCDButton/types.ts +38 -0
  188. package/src/Common/AddCDButton/utils.tsx +35 -0
  189. package/src/Common/Api.ts +251 -0
  190. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  191. package/src/Common/AppStatus/constants.ts +53 -0
  192. package/src/Common/AppStatus/index.ts +1 -0
  193. package/src/Common/AppStatus/types.ts +12 -0
  194. package/src/Common/AppStatus/utils.ts +14 -0
  195. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  196. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  197. package/src/Common/BreadCrumb/Types.ts +30 -0
  198. package/src/Common/CIPipeline.Types.ts +277 -0
  199. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  200. package/src/Common/Checkbox.tsx +36 -0
  201. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  202. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  203. package/src/Common/ClipboardButton/types.ts +7 -0
  204. package/src/Common/Common.service.ts +315 -0
  205. package/src/Common/Constants.ts +270 -0
  206. package/src/Common/CustomInput/CustomInput.tsx +134 -0
  207. package/src/Common/CustomInput/Types.ts +32 -0
  208. package/src/Common/CustomInput/index.ts +2 -0
  209. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  210. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  211. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  212. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  213. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  214. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  215. package/src/Common/CustomTagSelector/Types.ts +72 -0
  216. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  217. package/src/Common/CustomTagSelector/index.ts +6 -0
  218. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  219. package/src/Common/DebouncedSearch/Types.ts +13 -0
  220. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  221. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  222. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  223. package/src/Common/DeleteComponentModal/types.ts +15 -0
  224. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  225. package/src/Common/DevtronProgressing/index.ts +1 -0
  226. package/src/Common/DevtronProgressing/types.ts +4 -0
  227. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  228. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  229. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  230. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  231. package/src/Common/Dialogs/Types.ts +47 -0
  232. package/src/Common/Dialogs/index.ts +4 -0
  233. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  234. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +116 -0
  235. package/src/Common/DraggableWrapper/index.ts +3 -0
  236. package/src/Common/DraggableWrapper/types.ts +27 -0
  237. package/src/Common/Drawer/Drawer.scss +40 -0
  238. package/src/Common/Drawer/Drawer.tsx +49 -0
  239. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  240. package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
  241. package/src/Common/EmptyState/emptyState.scss +74 -0
  242. package/src/Common/Error.tsx +61 -0
  243. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  244. package/src/Common/Grid/Grid.tsx +44 -0
  245. package/src/Common/Grid/types.ts +11 -0
  246. package/src/Common/Helper.tsx +576 -0
  247. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  248. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  249. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  250. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  251. package/src/Common/Hooks/index.ts +4 -0
  252. package/src/Common/Hooks/useUrlFilters/constants.ts +9 -0
  253. package/src/Common/Hooks/useUrlFilters/index.ts +2 -0
  254. package/src/Common/Hooks/useUrlFilters/types.ts +21 -0
  255. package/src/Common/Hooks/useUrlFilters/useUrlFilters.ts +121 -0
  256. package/src/Common/ImageTags.Types.ts +44 -0
  257. package/src/Common/ImageTags.tsx +586 -0
  258. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  259. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  260. package/src/Common/Modals/Modal.tsx +68 -0
  261. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  262. package/src/Common/Modals/VisibleModal.tsx +55 -0
  263. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  264. package/src/Common/MultiSelectCustomization.tsx +148 -0
  265. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  266. package/src/Common/Pagination/Pagination.tsx +127 -0
  267. package/src/Common/Pagination/constants.ts +6 -0
  268. package/src/Common/Pagination/index.tsx +3 -0
  269. package/src/Common/Pagination/pagination.scss +123 -0
  270. package/src/Common/Pagination/types.ts +55 -0
  271. package/src/Common/Pagination/utils.tsx +24 -0
  272. package/src/Common/Policy.Types.ts +63 -0
  273. package/src/Common/PopupMenu.tsx +199 -0
  274. package/src/Common/Progressing.tsx +53 -0
  275. package/src/Common/RJSF/Form.tsx +29 -0
  276. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  277. package/src/Common/RJSF/common/types.ts +9 -0
  278. package/src/Common/RJSF/config.ts +37 -0
  279. package/src/Common/RJSF/constants.ts +10 -0
  280. package/src/Common/RJSF/index.ts +3 -0
  281. package/src/Common/RJSF/rjsfForm.scss +18 -0
  282. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  283. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  284. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  285. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  286. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  287. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  288. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  289. package/src/Common/RJSF/templates/Description.tsx +12 -0
  290. package/src/Common/RJSF/templates/Field.tsx +30 -0
  291. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  292. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  293. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  294. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  295. package/src/Common/RJSF/templates/index.ts +10 -0
  296. package/src/Common/RJSF/types.ts +4 -0
  297. package/src/Common/RJSF/utils.ts +123 -0
  298. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  299. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  300. package/src/Common/RJSF/widgets/index.ts +2 -0
  301. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  302. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  303. package/src/Common/RadioGroup.tsx +53 -0
  304. package/src/Common/Reload.tsx +23 -0
  305. package/src/Common/ResizableTextarea.tsx +73 -0
  306. package/src/Common/SearchBar/SearchBar.component.tsx +131 -0
  307. package/src/Common/SearchBar/index.ts +2 -0
  308. package/src/Common/SearchBar/searchBar.scss +31 -0
  309. package/src/Common/SearchBar/types.ts +34 -0
  310. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  311. package/src/Common/Security/scanVulnerabilities.css +69 -0
  312. package/src/Common/ServerError.ts +31 -0
  313. package/src/Common/SortableTableHeaderCell/SortableTableHeaderCell.tsx +44 -0
  314. package/src/Common/SortableTableHeaderCell/index.ts +2 -0
  315. package/src/Common/SortableTableHeaderCell/types.ts +26 -0
  316. package/src/Common/TippyCustomized.tsx +172 -0
  317. package/src/Common/ToastBody.tsx +62 -0
  318. package/src/Common/Toggle/Toggle.scss +78 -0
  319. package/src/Common/Toggle/Toggle.tsx +50 -0
  320. package/src/Common/Types.ts +778 -0
  321. package/src/Common/index.ts +51 -0
  322. package/src/Pages/GlobalConfigurations/Authorization/constants.ts +16 -0
  323. package/src/Pages/GlobalConfigurations/Authorization/index.ts +1 -0
  324. package/src/Pages/GlobalConfigurations/index.ts +1 -0
  325. package/src/Pages/index.ts +1 -0
  326. package/src/Shared/Components/BulkSelection/BulkSelection.tsx +77 -0
  327. package/src/Shared/Components/BulkSelection/BulkSelectionDropdownItems.tsx +31 -0
  328. package/src/Shared/Components/BulkSelection/BulkSelectionProvider.tsx +160 -0
  329. package/src/Shared/Components/BulkSelection/constants.tsx +13 -0
  330. package/src/Shared/Components/BulkSelection/index.ts +4 -0
  331. package/src/Shared/Components/BulkSelection/types.tsx +65 -0
  332. package/src/Shared/Components/index.ts +1 -0
  333. package/src/Shared/index.ts +1 -0
  334. package/src/custom.d.ts +13 -0
  335. package/src/index.ts +3 -0
  336. package/tsconfig.json +40 -0
  337. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  338. package/dist/Common/Select/Select.d.ts +0 -4
  339. package/dist/Common/Select/types.d.ts +0 -29
  340. package/dist/abap-9f67f57a.js +0 -1314
  341. package/dist/apex-ff62e532.js +0 -315
  342. package/dist/assets/editor.worker-d26000ef.js +0 -9
  343. package/dist/assets/index.css +0 -1
  344. package/dist/assets/json.worker-f23a4654.js +0 -40
  345. package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
  346. package/dist/azcli-31e64a7f.js +0 -74
  347. package/dist/bat-0ffe897e.js +0 -95
  348. package/dist/bicep-3414a2b1.js +0 -108
  349. package/dist/cameligo-df1f3f25.js +0 -168
  350. package/dist/clojure-65b0f010.js +0 -754
  351. package/dist/coffee-437f0fba.js +0 -228
  352. package/dist/cpp-66843dd5.js +0 -390
  353. package/dist/csharp-621d9a49.js +0 -320
  354. package/dist/csp-de0d5244.js +0 -57
  355. package/dist/css-7cd5ed4c.js +0 -186
  356. package/dist/cssMode-6b75f943.js +0 -1446
  357. package/dist/cypher-70ad96fe.js +0 -262
  358. package/dist/dart-33ae3739.js +0 -270
  359. package/dist/dockerfile-f2274a50.js +0 -132
  360. package/dist/ecl-3b8294a3.js +0 -454
  361. package/dist/elixir-b9dcc73a.js +0 -489
  362. package/dist/flow9-bdde8316.js +0 -141
  363. package/dist/freemarker2-af9f92ac.js +0 -643
  364. package/dist/fsharp-eac2e449.js +0 -210
  365. package/dist/go-d12ed8d4.js +0 -208
  366. package/dist/graphql-c7356b69.js +0 -141
  367. package/dist/handlebars-cc9800dd.js +0 -391
  368. package/dist/hcl-e883a0d4.js +0 -177
  369. package/dist/html-edc1e4c2.js +0 -281
  370. package/dist/htmlMode-17cc8a79.js +0 -1456
  371. package/dist/index-32e797ab.js +0 -126102
  372. package/dist/ini-425ab711.js +0 -68
  373. package/dist/java-2bc0fd68.js +0 -221
  374. package/dist/javascript-5e615a9b.js +0 -75
  375. package/dist/jsonMode-742c1a1b.js +0 -1867
  376. package/dist/julia-1c932615.js +0 -496
  377. package/dist/kotlin-1ab839c8.js +0 -245
  378. package/dist/less-6fe856f5.js +0 -168
  379. package/dist/lexon-4955ac52.js +0 -151
  380. package/dist/liquid-843d0e9e.js +0 -238
  381. package/dist/lua-3cca0047.js +0 -157
  382. package/dist/m3-132e9cb6.js +0 -210
  383. package/dist/markdown-ea59a0c1.js +0 -202
  384. package/dist/mips-19811f4b.js +0 -194
  385. package/dist/msdax-69954a10.js +0 -377
  386. package/dist/mysql-82088e5d.js +0 -876
  387. package/dist/objective-c-1976eccc.js +0 -188
  388. package/dist/pascal-8ef177cb.js +0 -245
  389. package/dist/pascaligo-bc517b9e.js +0 -158
  390. package/dist/perl-8b93582c.js +0 -599
  391. package/dist/pgsql-00c11a6d.js +0 -847
  392. package/dist/php-4c8c276f.js +0 -471
  393. package/dist/pla-e9b4ffb1.js +0 -131
  394. package/dist/postiats-2071af8c.js +0 -544
  395. package/dist/powerquery-8e388ceb.js +0 -890
  396. package/dist/powershell-e35db398.js +0 -233
  397. package/dist/protobuf-a24b9176.js +0 -422
  398. package/dist/pug-2c94d9b8.js +0 -393
  399. package/dist/python-67e4059c.js +0 -259
  400. package/dist/qsharp-d730d7fe.js +0 -282
  401. package/dist/r-be193556.js +0 -245
  402. package/dist/razor-8e9d6aa5.js +0 -512
  403. package/dist/redis-9690c6ac.js +0 -298
  404. package/dist/redshift-6bdcdeaa.js +0 -806
  405. package/dist/restructuredtext-a08c1d20.js +0 -162
  406. package/dist/ruby-2247692b.js +0 -444
  407. package/dist/rust-1dffb4d5.js +0 -337
  408. package/dist/sb-136598e9.js +0 -110
  409. package/dist/scala-b1100fed.js +0 -353
  410. package/dist/scheme-038c8094.js +0 -114
  411. package/dist/scss-700d1b52.js +0 -244
  412. package/dist/shell-86c16e0f.js +0 -224
  413. package/dist/solidity-c05fdf3c.js +0 -1351
  414. package/dist/sophia-cd645d71.js +0 -190
  415. package/dist/sparql-01d9ec9c.js +0 -193
  416. package/dist/sql-4c33df41.js +0 -818
  417. package/dist/st-52cf1408.js +0 -414
  418. package/dist/swift-13c792ba.js +0 -315
  419. package/dist/systemverilog-0bd8b730.js +0 -556
  420. package/dist/tcl-463d7c75.js +0 -232
  421. package/dist/tsMode-d5db18bc.js +0 -811
  422. package/dist/twig-0d98f5ec.js +0 -323
  423. package/dist/typescript-302557e6.js +0 -328
  424. package/dist/vb-3a2b0a51.js +0 -364
  425. package/dist/wgsl-b2ddb3e4.js +0 -420
  426. package/dist/xml-47f08bc4.js +0 -95
  427. package/dist/yaml-49f075d9.js +0 -184
@@ -0,0 +1,86 @@
1
+ import React, { Component, createContext } from 'react';
2
+ import { VisibleModal } from '../Modals/VisibleModal';
3
+ import close from '../../Assets/Icon/ic-cross.svg';
4
+ import { Progressing } from '../Progressing'
5
+ import { DialogFormProps } from './Types';
6
+ //TODO: may not need context
7
+ const DialogFormContext = createContext({ title: '', isLoading: false, close: (event) => {}, onSave: (event) => {} });
8
+
9
+ export class DialogForm extends Component<DialogFormProps> {
10
+ constructor(props) {
11
+ super(props);
12
+ this.escFunction = this.escFunction.bind(this);
13
+ }
14
+
15
+ componentDidMount() {
16
+ document.addEventListener('keydown', this.escFunction);
17
+ }
18
+
19
+ componentWillUnmount() {
20
+ document.removeEventListener('keydown', this.escFunction);
21
+ }
22
+
23
+ escFunction(event) {
24
+ if (event.keyCode === 27 && this.props.closeOnESC) {
25
+ this.props.close(event);
26
+ }
27
+ }
28
+
29
+ render() {
30
+ return (
31
+ <DialogFormContext.Provider
32
+ value={{
33
+ title: this.props.title,
34
+ isLoading: this.props.isLoading,
35
+ close: this.props.close,
36
+ onSave: this.props.onSave,
37
+ }}
38
+ >
39
+ <VisibleModal className="">
40
+ <div className={`modal__body ${this.props.className || ''}`}>
41
+ <div className={`modal__header ${this.props.headerClassName || ''}`}>
42
+ <h1 className="modal__title">{this.props.title}</h1>
43
+ <button type="button" className="dc__transparent" onClick={this.props.close}>
44
+ {' '}
45
+ <img src={close} alt="close" />
46
+ </button>
47
+ </div>
48
+ <DialogFormContext.Consumer>
49
+ {(context) => {
50
+ return (
51
+ <form
52
+ noValidate
53
+ onSubmit={(e) => {
54
+ e.preventDefault();
55
+ if (!context.isLoading) {
56
+ context.onSave(e);
57
+ }
58
+ }}
59
+ >
60
+ {this.props.children}
61
+ </form>
62
+ );
63
+ }}
64
+ </DialogFormContext.Consumer>
65
+ </div>
66
+ </VisibleModal>
67
+ </DialogFormContext.Provider>
68
+ );
69
+ }
70
+ }
71
+
72
+ export class DialogFormSubmit extends Component<{ tabIndex: number }> {
73
+ render() {
74
+ return (
75
+ <DialogFormContext.Consumer>
76
+ {(context) => {
77
+ return (
78
+ <button type="submit" className="cta dc__align-right" tabIndex={this.props.tabIndex}>
79
+ {context.isLoading ? <Progressing /> : this.props.children}
80
+ </button>
81
+ );
82
+ }}
83
+ </DialogFormContext.Consumer>
84
+ );
85
+ }
86
+ }
@@ -0,0 +1,19 @@
1
+ import React from 'react'
2
+ import { ForceDeleteDialogType } from './Types';
3
+ import { DeleteDialog } from './DeleteDialog';
4
+
5
+ export default function ForceDeleteDialog({ onClickDelete, closeDeleteModal, forceDeleteDialogTitle, forceDeleteDialogMessage }: ForceDeleteDialogType) {
6
+ return (
7
+ <div>
8
+ <DeleteDialog title={forceDeleteDialogTitle}
9
+ delete={onClickDelete}
10
+ closeDelete={closeDeleteModal}
11
+ deletePrefix="Force ">
12
+ <DeleteDialog.Description >
13
+ <p className="mt-12 mb-12 p-8 dc__break-word dc__window-bg">Error: {forceDeleteDialogMessage}</p>
14
+ <p>Do you want to force delete?</p>
15
+ </DeleteDialog.Description>
16
+ </DeleteDialog>
17
+ </div>
18
+ )
19
+ }
@@ -0,0 +1,47 @@
1
+ import { ReactNode } from "react"
2
+
3
+ export interface DeleteDialogProps {
4
+ title: string
5
+ description?: string
6
+ closeDelete: () => void
7
+ delete: () => any
8
+ deletePrefix?: string
9
+ deletePostfix?: string
10
+ apiCallInProgress?: boolean
11
+ dataTestId?: string
12
+ buttonPrimaryText?: string
13
+ shouldStopPropagation?: boolean
14
+ disabled?: boolean
15
+ }
16
+
17
+ export interface ForceDeleteDialogType {
18
+ onClickDelete: () => void
19
+ closeDeleteModal: () => void
20
+ forceDeleteDialogTitle: string
21
+ forceDeleteDialogMessage: string
22
+ }
23
+ export interface ConfirmationDialogType {
24
+ className?: string
25
+ children: any
26
+ }
27
+ export interface ConfirmationDialogIconType {
28
+ src: string
29
+ className?: string
30
+ }
31
+ export interface ConfirmationDialogBodyType {
32
+ title: string
33
+ subtitle?: ReactNode
34
+ children?: any
35
+ }
36
+ export interface ConfirmationDialogButtonGroupType {
37
+ children: any
38
+ }
39
+ export interface DialogFormProps {
40
+ className: string;
41
+ title: string;
42
+ isLoading: boolean;
43
+ closeOnESC?: boolean;
44
+ close: (event) => void;
45
+ onSave: (event) => void;
46
+ headerClassName?: string;
47
+ }
@@ -0,0 +1,4 @@
1
+ export { default as ConfirmationDialog } from './ConfirmationDialog'
2
+ export * from './DeleteDialog'
3
+ export * from './DialogForm'
4
+ export { default as ForceDeleteDialog } from './ForceDeleteDialog'
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import { ReactComponent as ICDrag } from '../../Assets/Icon/ic-drag.svg'
3
+ import { DraggableButtonProps } from './types'
4
+
5
+ export default function DraggableButton({ dragClassName }: DraggableButtonProps) {
6
+ return (
7
+ <button
8
+ type="button"
9
+ className={`${dragClassName} dc__outline-none-imp dc__no-border p-0 dc__transparent h-20`}
10
+ >
11
+ <ICDrag className="dc__grabbable icon-dim-20 fcn-6" />
12
+ </button>
13
+ )
14
+ }
@@ -0,0 +1,116 @@
1
+ import React, { useEffect, useRef, useState } from 'react'
2
+ import Draggable, { ControlPosition, DraggableData } from 'react-draggable'
3
+ import { DraggableWrapperProps, DraggablePositionVariant } from './types'
4
+ import { useWindowSize } from '../Hooks'
5
+ import { MAX_Z_INDEX } from '../Constants'
6
+
7
+ /**
8
+ * TODO: import it as lazy, after it is supported in common
9
+ * 1. If using react select please use menuPlacement='auto'
10
+ * 2. dragSelector will be used to identify the grabbable button that will grab the div to drag
11
+ * 3. parentRef is the reference point from which we will derive the base top:0 ,left: 0 position
12
+ */
13
+ export default function DraggableWrapper({
14
+ children,
15
+ zIndex = MAX_Z_INDEX,
16
+ positionVariant,
17
+ dragSelector,
18
+ parentRef,
19
+ boundaryGap = 16,
20
+ childDivProps = {},
21
+ }: DraggableWrapperProps) {
22
+ const windowSize = useWindowSize()
23
+ const nodeRef = useRef<HTMLDivElement>(null)
24
+
25
+ const [position, setPosition] = useState<ControlPosition>({
26
+ x: 0,
27
+ y: 0,
28
+ })
29
+
30
+ const getDefaultPosition = (positionVariant: DraggablePositionVariant): ControlPosition => {
31
+ // if this return x: 0, y: 0 then it will be top left corner of parentDiv
32
+ const parentRect =
33
+ parentRef?.current?.getBoundingClientRect() ??
34
+ ({
35
+ width: 0,
36
+ height: 0,
37
+ top: 0,
38
+ left: 0,
39
+ bottom: 0,
40
+ } as DOMRect)
41
+ const nodeRefHeight = nodeRef.current?.getBoundingClientRect().height ?? 0
42
+ const nodeRefWidth = nodeRef.current?.getBoundingClientRect().width ?? 0
43
+
44
+ switch (positionVariant) {
45
+ case DraggablePositionVariant.PARENT_BOTTOM_CENTER: {
46
+ // currently at parentRect.x and need to start to the center of its width and half of node should lie on left of center and other half on right
47
+ const x = (parentRect.width - nodeRefWidth) / 2
48
+ // currently at parentRect.y now parent height can be greater than windowSize.height so taking min
49
+ // subtracting parentRect.top since window height already contains that
50
+ const baseY =
51
+ parentRect.height > windowSize.height ? windowSize.height - parentRect.top : parentRect.height
52
+ const y = baseY - nodeRefHeight - boundaryGap
53
+ return { x, y }
54
+ }
55
+ // Add more cases for other variants if needed
56
+ default: {
57
+ // Since need node to be in center of screen so subtracting width/2 by left of parentRect it will start the node from center but want node's midpoint at center so subtracting node's width from it.
58
+ const x = windowSize.width / 2 - parentRect.left - nodeRefWidth / 2
59
+ // subtracting top since windowSize already contains that
60
+ const y = windowSize.height - parentRect.top - nodeRefHeight - boundaryGap
61
+
62
+ return { x, y }
63
+ }
64
+ }
65
+ }
66
+
67
+ // On change of windowSize we will reset the position to default
68
+ useEffect(() => {
69
+ const defaultPosition = getDefaultPosition(positionVariant)
70
+ setPosition(defaultPosition)
71
+ }, [nodeRef, positionVariant, windowSize])
72
+
73
+ // Would be called on drag and will not update the state if the new position is out of window screen
74
+ function handlePositionChange(e, data: DraggableData) {
75
+ const offsetX = parentRef?.current?.getBoundingClientRect().left ?? 0
76
+ const offsetY = parentRef?.current?.getBoundingClientRect().top ?? 0
77
+
78
+ const nodeRefHeight = nodeRef.current?.getBoundingClientRect().height ?? 0
79
+ const nodeRefWidth = nodeRef.current?.getBoundingClientRect().width ?? 0
80
+
81
+ if (
82
+ offsetX + data.x + nodeRefWidth + boundaryGap > windowSize.width ||
83
+ offsetY + data.y + nodeRefHeight + boundaryGap > windowSize.height ||
84
+ offsetX + data.x < 0 ||
85
+ offsetY + data.y < 0
86
+ ) {
87
+ return
88
+ }
89
+
90
+ setPosition({
91
+ x: data.x,
92
+ y: data.y,
93
+ })
94
+ }
95
+
96
+ return (
97
+ <div
98
+ className="dc__position-fixed"
99
+ style={{
100
+ zIndex,
101
+ }}
102
+ >
103
+ <Draggable handle={dragSelector} nodeRef={nodeRef} position={position} onDrag={handlePositionChange}>
104
+ <div
105
+ ref={nodeRef}
106
+ {...childDivProps}
107
+ style={{
108
+ zIndex,
109
+ }}
110
+ >
111
+ {children}
112
+ </div>
113
+ </Draggable>
114
+ </div>
115
+ )
116
+ }
@@ -0,0 +1,3 @@
1
+ export { default as DraggableWrapper } from './DraggableWrapper'
2
+ export { default as DraggableButton } from './DraggableButton'
3
+ export * from './types'
@@ -0,0 +1,27 @@
1
+ import { HTMLAttributes, ReactNode, RefObject } from 'react'
2
+
3
+ export enum DraggablePositionVariant {
4
+ PARENT_BOTTOM_CENTER = 'PARENT_BOTTOM_CENTER',
5
+ SCREEN_BOTTOM_CENTER = 'SCREEN_BOTTOM_CENTER',
6
+ // Can add more based on requirement
7
+ }
8
+
9
+ export interface DraggableWrapperProps {
10
+ children: ReactNode
11
+ zIndex?: number
12
+ positionVariant?: DraggablePositionVariant
13
+ /**
14
+ * dragSelector (class - (append with .), id, etc) will be used to identify the grabbable button that will grab the div to drag
15
+ */
16
+ dragSelector: string
17
+ parentRef?: RefObject<HTMLDivElement>
18
+ boundaryGap?: number
19
+ childDivProps?: HTMLAttributes<HTMLDivElement>
20
+ }
21
+
22
+ /**
23
+ * dragClassName is the class that we feed to Draggable to identify dragging buttons
24
+ */
25
+ export interface DraggableButtonProps {
26
+ dragClassName: string
27
+ }
@@ -0,0 +1,40 @@
1
+ .drawer {
2
+ position: absolute;
3
+ overflow: hidden;
4
+ &.left,
5
+ &.right {
6
+ top: 0;
7
+ bottom: 0;
8
+ width: 0;
9
+ transition: width 200ms;
10
+ &.show {
11
+ min-width: var(--minWidth);
12
+ width: var(--width);
13
+ max-width: var(--maxWidth);
14
+ }
15
+ }
16
+
17
+ &.top,
18
+ &.bottom {
19
+ left: 0;
20
+ right: 0;
21
+ height: 0;
22
+ transition: height 200ms;
23
+ &.show {
24
+ height: var(--height);
25
+ }
26
+ }
27
+ &.right {
28
+ right: 0;
29
+ }
30
+ &.left {
31
+ left: 0;
32
+ }
33
+ &.top {
34
+ top: 0;
35
+ }
36
+
37
+ &.bottom {
38
+ bottom: 0;
39
+ }
40
+ }
@@ -0,0 +1,49 @@
1
+ import React, { useRef, useEffect } from 'react'
2
+ import { VisibleModal } from '../Modals/VisibleModal'
3
+ import './Drawer.scss'
4
+
5
+ interface drawerInterface {
6
+ position: 'left' | 'right' | 'bottom' | 'top'
7
+ children?: any
8
+ backdrop?: boolean
9
+ onClose?: (e: any) => void
10
+ width?: string
11
+ minWidth?: string
12
+ maxWidth?: string
13
+ height?: string
14
+ parentClassName?: string
15
+ onEscape?: (e?: any) => void
16
+ }
17
+
18
+ export const Drawer = ({
19
+ children,
20
+ position,
21
+ height,
22
+ width,
23
+ minWidth,
24
+ maxWidth,
25
+ parentClassName,
26
+ onEscape,
27
+ }: drawerInterface) => {
28
+ const drawerRef = useRef(null)
29
+ useEffect(() => {
30
+ setTimeout(() => drawerRef.current?.classList?.add('show'), 1)
31
+ return () => drawerRef.current?.classList?.remove('show')
32
+ }, [])
33
+ const style = {}
34
+ if (position === 'left' || position === 'right') {
35
+ style['--width'] = width
36
+ style['--minWidth'] = minWidth
37
+ style['--maxWidth'] = maxWidth
38
+ }
39
+ if (position === 'top' || position === 'bottom') {
40
+ style['--height'] = height
41
+ }
42
+ return (
43
+ <VisibleModal className="drawer--container" parentClassName={parentClassName || ''} onEscape={onEscape}>
44
+ <aside style={style} ref={drawerRef} className={`drawer ${position}`}>
45
+ {children}
46
+ </aside>
47
+ </VisibleModal>
48
+ )
49
+ }
@@ -0,0 +1,42 @@
1
+ import React from 'react'
2
+ import './emptyState.scss';
3
+ import { ReactComponent as Progressing } from '../../Assets/Icon/ic-progressing.svg';
4
+
5
+ function EmptyState({ children, className = '' }) {
6
+ return (
7
+ <div className={`flex column empty-state w-100 h-100 ${className}`}>
8
+ {children}
9
+ </div>
10
+ )
11
+ }
12
+
13
+ function Image({ children }) {
14
+ return children
15
+ }
16
+
17
+ function Title({ children }) {
18
+ return children
19
+ }
20
+
21
+ function Subtitle({ children, className }: { children: any; className?: string }) {
22
+ return <p className={`subtitle ${className || ''}`}>{children}</p>
23
+ }
24
+
25
+ function Button({ children }) {
26
+ return children
27
+ }
28
+
29
+ const Loading: React.FC<{ text: string }> = function (props) {
30
+ return <>
31
+ <Progressing className="dc__block empty-state__loader" />
32
+ <p className="empty-state__loading-text">{props.text}</p>
33
+ </>
34
+ }
35
+
36
+ EmptyState.Image = Image
37
+ EmptyState.Title = Title
38
+ EmptyState.Subtitle = Subtitle
39
+ EmptyState.Button = Button
40
+ EmptyState.Loading = Loading
41
+
42
+ export default EmptyState
@@ -0,0 +1,81 @@
1
+ import React from 'react'
2
+ import AppNotDeployed from '../../Assets/Img/app-not-deployed.png'
3
+ import { GenericEmptyStateType, ImageType } from '../Types'
4
+
5
+ import './emptyState.scss'
6
+
7
+ function GenericEmptyState({
8
+ title,
9
+ image,
10
+ subTitle,
11
+ isButtonAvailable,
12
+ classname,
13
+ styles,
14
+ heightToDeduct,
15
+ imageType,
16
+ renderButton,
17
+ imageClassName,
18
+ children,
19
+ SvgImage,
20
+ noImage,
21
+ layout = 'column',
22
+ contentClassName = '',
23
+ imageStyles = {},
24
+ }: GenericEmptyStateType): JSX.Element {
25
+ const isRowLayout = layout === 'row'
26
+
27
+ const getImageSize = () => {
28
+ switch (imageType) {
29
+ case ImageType.Large:
30
+ return { width: '250px', height: '200px' }
31
+ default:
32
+ return { width: '200px', height: '160px' }
33
+ }
34
+ }
35
+
36
+ return (
37
+ <div
38
+ className={`flex ${isRowLayout ? 'dc__gap-32' : 'column dc__gap-20'} empty-state ${
39
+ classname ? classname : ''
40
+ }`}
41
+ style={styles}
42
+ data-testid="generic-empty-state"
43
+ {...(heightToDeduct >= 0 && { style: { ...styles, height: `calc(100vh - ${heightToDeduct}px)` } })}
44
+ >
45
+ {!SvgImage ? (
46
+ !noImage && (
47
+ <img
48
+ className={imageClassName ? imageClassName : ''}
49
+ src={image || AppNotDeployed}
50
+ style={{
51
+ ...imageStyles,
52
+ width: `${getImageSize().width}`,
53
+ height: `${getImageSize().height}`,
54
+ }}
55
+ alt="empty-state"
56
+ />
57
+ )
58
+ ) : (
59
+ <SvgImage
60
+ style={{
61
+ ...imageStyles,
62
+ width: `${getImageSize().width}`,
63
+ height: `${getImageSize().height}`,
64
+ }}
65
+ />
66
+ )}
67
+ <div
68
+ className={`flex column dc__gap-10 dc__mxw-300 ${
69
+ isRowLayout ? 'dc__align-start' : ''
70
+ } ${contentClassName}`}
71
+ >
72
+ <h4 className="title fw-6 cn-9 mt-0 mb-0">{title}</h4>
73
+ {subTitle && <p className={`subtitle ${isRowLayout ? 'subtitle--text-start' : ''}`}>{subTitle}</p>}
74
+ {isButtonAvailable && renderButton()}
75
+ {children}
76
+ </div>
77
+ </div>
78
+ )
79
+ }
80
+
81
+ export default GenericEmptyState
@@ -0,0 +1,74 @@
1
+ .empty-state {
2
+ height: 100%;
3
+ img {
4
+ height: 40%;
5
+ max-height: 200px;
6
+ width: auto;
7
+ max-width: 250px;
8
+ }
9
+ svg {
10
+ height: 40%;
11
+ max-height: 200px;
12
+ width: auto;
13
+ }
14
+ h1,
15
+ h2,
16
+ h3,
17
+ h4,
18
+ h5,
19
+ h6 {
20
+ color: var(--N900);
21
+ }
22
+ .subtitle {
23
+ font-size: 13px;
24
+ font-weight: 400;
25
+ text-align: center;
26
+ line-height: 1.5;
27
+ margin-bottom: 6px;
28
+
29
+ &--text-start {
30
+ text-align: start;
31
+ }
32
+ }
33
+ .cta {
34
+ height: 36px;
35
+ }
36
+ p {
37
+ text-align: center;
38
+ font-size: 13px;
39
+ color: var(--N700);
40
+ }
41
+ strong {
42
+ font-size: 16px;
43
+ margin-bottom: 4px;
44
+ color: var(--N900);
45
+ font-weight: normal;
46
+ }
47
+ .select-popup {
48
+ height: min-content;
49
+ max-height: 250px;
50
+ overflow: auto;
51
+ padding: 8px 0;
52
+ }
53
+ .empty-state__loader {
54
+ width: 34px;
55
+ height: 34px;
56
+ margin-bottom: 16px;
57
+ }
58
+ .empty-state__loading-text {
59
+ font-size: 12px;
60
+ width: 200px;
61
+ font-weight: normal;
62
+ font-stretch: normal;
63
+ font-style: normal;
64
+ line-height: 1.5;
65
+ letter-spacing: normal;
66
+ text-align: center;
67
+ color: var(--N900);
68
+ }
69
+ .button__icon {
70
+ width: 16px;
71
+ height: 16px;
72
+ margin-left: 8px;
73
+ }
74
+ }
@@ -0,0 +1,61 @@
1
+ import React, { Component } from 'react'
2
+ import EmptyState from './EmptyState/EmptyState'
3
+ import notAuthorized from '../Assets/Img/ic-not-authorized.svg'
4
+ import ErrorScreenNotFound from './ErrorScreenNotFound'
5
+ import { ERROR_EMPTY_SCREEN } from './Constants'
6
+ import GenericEmptyState from './EmptyState/GenericEmptyState'
7
+ import Reload from './Reload'
8
+
9
+ export class ErrorScreenManager extends Component<{
10
+ code?: number
11
+ reload?: (...args) => any
12
+ subtitle?: React.ReactChild
13
+ subtitleClass?: string
14
+ reloadClass?: string
15
+ }> {
16
+ getMessage() {
17
+ switch (this.props.code) {
18
+ case 400:
19
+ return 'Bad Request'
20
+ case 401:
21
+ return 'Unauthorized'
22
+ case 403:
23
+ return (
24
+ <ErrorScreenNotAuthorized subtitle={this.props.subtitle} />
25
+ )
26
+ case 404:
27
+ return <ErrorScreenNotFound />
28
+ case 500:
29
+ return 'Internal Server Error'
30
+ case 502:
31
+ return 'Bad Gateway'
32
+ case 503:
33
+ return 'Service Temporarily Unavailable'
34
+ default:
35
+ return <Reload className={this.props.reloadClass} />
36
+ }
37
+ }
38
+ render() {
39
+ let msg = this.getMessage()
40
+ return (
41
+ <div>
42
+ <h1>{msg}</h1>
43
+ </div>
44
+ )
45
+ }
46
+ }
47
+
48
+ export class ErrorScreenNotAuthorized extends Component<{
49
+ subtitle?: React.ReactChild
50
+ title?: string
51
+ }> {
52
+ render() {
53
+ return (
54
+ <GenericEmptyState
55
+ image={notAuthorized}
56
+ title={this.props.title ?? ERROR_EMPTY_SCREEN.NOT_AUTHORIZED}
57
+ subTitle={this.props.subtitle ?? ERROR_EMPTY_SCREEN.ONLY_FOR_SUPERADMIN}
58
+ />
59
+ )
60
+ }
61
+ }