@devtron-labs/devtron-fe-common-lib 0.0.60-beta-1 → 0.0.60-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 (384) 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 +75 -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 +67 -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 +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 -3
  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 -7
  89. package/dist/Common/Progressing.d.ts +4 -3
  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 -2
  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 +692 -691
  128. package/dist/Common/index.d.ts +50 -50
  129. package/dist/index.d.ts +1 -7
  130. package/dist/index.js +28900 -162
  131. package/package.json +23 -34
  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 +254 -0
  182. package/src/Common/CustomInput/CustomInput.tsx +134 -0
  183. package/src/Common/CustomInput/Types.ts +32 -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 +81 -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 +119 -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 +34 -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 +765 -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/Common/CodeEditor/CodeEditor.d.ts +0 -47
  295. package/dist/Common/Select/Select.d.ts +0 -4
  296. package/dist/Common/Select/types.d.ts +0 -29
  297. package/dist/abap-9f67f57a.js +0 -1314
  298. package/dist/apex-ff62e532.js +0 -315
  299. package/dist/assets/editor.worker-d26000ef.js +0 -9
  300. package/dist/assets/index.css +0 -1
  301. package/dist/assets/json.worker-f23a4654.js +0 -40
  302. package/dist/assets/yaml.worker-35ea3f9a.js +0 -467
  303. package/dist/azcli-31e64a7f.js +0 -74
  304. package/dist/bat-0ffe897e.js +0 -95
  305. package/dist/bicep-3414a2b1.js +0 -108
  306. package/dist/cameligo-df1f3f25.js +0 -168
  307. package/dist/clojure-65b0f010.js +0 -754
  308. package/dist/coffee-437f0fba.js +0 -228
  309. package/dist/cpp-66843dd5.js +0 -390
  310. package/dist/csharp-621d9a49.js +0 -320
  311. package/dist/csp-de0d5244.js +0 -57
  312. package/dist/css-7cd5ed4c.js +0 -186
  313. package/dist/cssMode-6b75f943.js +0 -1446
  314. package/dist/cypher-70ad96fe.js +0 -262
  315. package/dist/dart-33ae3739.js +0 -270
  316. package/dist/dockerfile-f2274a50.js +0 -132
  317. package/dist/ecl-3b8294a3.js +0 -454
  318. package/dist/elixir-b9dcc73a.js +0 -489
  319. package/dist/flow9-bdde8316.js +0 -141
  320. package/dist/freemarker2-af9f92ac.js +0 -643
  321. package/dist/fsharp-eac2e449.js +0 -210
  322. package/dist/go-d12ed8d4.js +0 -208
  323. package/dist/graphql-c7356b69.js +0 -141
  324. package/dist/handlebars-cc9800dd.js +0 -391
  325. package/dist/hcl-e883a0d4.js +0 -177
  326. package/dist/html-edc1e4c2.js +0 -281
  327. package/dist/htmlMode-17cc8a79.js +0 -1456
  328. package/dist/index-32e797ab.js +0 -126102
  329. package/dist/ini-425ab711.js +0 -68
  330. package/dist/java-2bc0fd68.js +0 -221
  331. package/dist/javascript-5e615a9b.js +0 -75
  332. package/dist/jsonMode-742c1a1b.js +0 -1867
  333. package/dist/julia-1c932615.js +0 -496
  334. package/dist/kotlin-1ab839c8.js +0 -245
  335. package/dist/less-6fe856f5.js +0 -168
  336. package/dist/lexon-4955ac52.js +0 -151
  337. package/dist/liquid-843d0e9e.js +0 -238
  338. package/dist/lua-3cca0047.js +0 -157
  339. package/dist/m3-132e9cb6.js +0 -210
  340. package/dist/markdown-ea59a0c1.js +0 -202
  341. package/dist/mips-19811f4b.js +0 -194
  342. package/dist/msdax-69954a10.js +0 -377
  343. package/dist/mysql-82088e5d.js +0 -876
  344. package/dist/objective-c-1976eccc.js +0 -188
  345. package/dist/pascal-8ef177cb.js +0 -245
  346. package/dist/pascaligo-bc517b9e.js +0 -158
  347. package/dist/perl-8b93582c.js +0 -599
  348. package/dist/pgsql-00c11a6d.js +0 -847
  349. package/dist/php-4c8c276f.js +0 -471
  350. package/dist/pla-e9b4ffb1.js +0 -131
  351. package/dist/postiats-2071af8c.js +0 -544
  352. package/dist/powerquery-8e388ceb.js +0 -890
  353. package/dist/powershell-e35db398.js +0 -233
  354. package/dist/protobuf-a24b9176.js +0 -422
  355. package/dist/pug-2c94d9b8.js +0 -393
  356. package/dist/python-67e4059c.js +0 -259
  357. package/dist/qsharp-d730d7fe.js +0 -282
  358. package/dist/r-be193556.js +0 -245
  359. package/dist/razor-8e9d6aa5.js +0 -512
  360. package/dist/redis-9690c6ac.js +0 -298
  361. package/dist/redshift-6bdcdeaa.js +0 -806
  362. package/dist/restructuredtext-a08c1d20.js +0 -162
  363. package/dist/ruby-2247692b.js +0 -444
  364. package/dist/rust-1dffb4d5.js +0 -337
  365. package/dist/sb-136598e9.js +0 -110
  366. package/dist/scala-b1100fed.js +0 -353
  367. package/dist/scheme-038c8094.js +0 -114
  368. package/dist/scss-700d1b52.js +0 -244
  369. package/dist/shell-86c16e0f.js +0 -224
  370. package/dist/solidity-c05fdf3c.js +0 -1351
  371. package/dist/sophia-cd645d71.js +0 -190
  372. package/dist/sparql-01d9ec9c.js +0 -193
  373. package/dist/sql-4c33df41.js +0 -818
  374. package/dist/st-52cf1408.js +0 -414
  375. package/dist/swift-13c792ba.js +0 -315
  376. package/dist/systemverilog-0bd8b730.js +0 -556
  377. package/dist/tcl-463d7c75.js +0 -232
  378. package/dist/tsMode-d5db18bc.js +0 -811
  379. package/dist/twig-0d98f5ec.js +0 -323
  380. package/dist/typescript-302557e6.js +0 -328
  381. package/dist/vb-3a2b0a51.js +0 -364
  382. package/dist/wgsl-b2ddb3e4.js +0 -420
  383. package/dist/xml-47f08bc4.js +0 -95
  384. package/dist/yaml-49f075d9.js +0 -184
@@ -0,0 +1,80 @@
1
+ import React from 'react'
2
+ import { Link } from 'react-router-dom'
3
+ import { InfoColourBarType } from '../Types'
4
+ import './infoColourBar.scss'
5
+
6
+ function InfoColourBar({
7
+ message,
8
+ classname,
9
+ Icon,
10
+ iconClass,
11
+ iconSize,
12
+ renderActionButton,
13
+ linkText,
14
+ redirectLink,
15
+ linkOnClick,
16
+ linkClass,
17
+ internalLink,
18
+ styles,
19
+ }: InfoColourBarType) {
20
+ const renderLink = () => {
21
+ if (!linkText) {
22
+ return null
23
+ } else if (redirectLink) {
24
+ if (internalLink) {
25
+ return (
26
+ <Link
27
+ to={redirectLink}
28
+ onClick={linkOnClick}
29
+ data-testid="info-bar-internal-link"
30
+ className="cursor dc__link dc__underline-onhover mr-5"
31
+ >
32
+ {linkText}
33
+ </Link>
34
+ )
35
+ }
36
+
37
+ return (
38
+ <a
39
+ href={redirectLink}
40
+ target="_blank"
41
+ onClick={linkOnClick}
42
+ data-testid="info-bar-redirectLink"
43
+ className="cursor dc__link dc__underline-onhover mr-5"
44
+ >
45
+ {linkText}
46
+ </a>
47
+ )
48
+ }
49
+
50
+ return (
51
+ linkOnClick && (
52
+ <div onClick={linkOnClick} className="cursor dc__link dc__underline-onhover" data-testid="info-bar-linkText">
53
+ {linkText}
54
+ </div>
55
+ )
56
+ )
57
+ }
58
+
59
+ return (
60
+ <div className="info-bar-container">
61
+ <div
62
+ className={`${classname} info_text flex dc__content-space pt-8 pb-8 pl-12 pr-12 br-4 top fs-13 fw-4`}
63
+ style={styles}
64
+ >
65
+ <div className={`flex top ${typeof renderActionButton === 'function' ? 'mr-5' : ''}`}>
66
+ <div className={`icon-dim-${iconSize ?? '20'} mr-10`}>
67
+ <Icon className={`icon-dim-${iconSize ?? '20'} ${iconClass || ''} mr-8`} />
68
+ </div>
69
+ <div className={`info-bar-message-wrapper ${linkClass || ''}`}>
70
+ <span className={linkText && redirectLink ? 'mr-5' : ''}>{message}</span>
71
+ {renderLink()}
72
+ </div>
73
+ </div>
74
+ {typeof renderActionButton === 'function' && renderActionButton()}
75
+ </div>
76
+ </div>
77
+ )
78
+ }
79
+
80
+ export default InfoColourBar
@@ -0,0 +1,28 @@
1
+ .info-bar-container {
2
+ .info_text .success {
3
+ background-color: var(--G100);
4
+ }
5
+ .warn {
6
+ background: var(--Y100);
7
+ border: solid var(--Y200);
8
+
9
+ .warning-icon path:nth-child(2) {
10
+ fill: var(--Y700);
11
+ }
12
+ }
13
+
14
+ .info_bar {
15
+ background-color: var(--B100);
16
+ border: 1px solid var(--B200);
17
+ }
18
+
19
+ .error_bar {
20
+ background-color: var(--R100);
21
+ border: 1px solid var(--R200);
22
+ }
23
+
24
+ .question-bar {
25
+ background-color: var(--V100);
26
+ border: 1px solid var(--V200);
27
+ }
28
+ }
@@ -0,0 +1,68 @@
1
+ import React, { useEffect } from 'react'
2
+ import ReactDOM from 'react-dom'
3
+ import { ModalType } from '../Types'
4
+
5
+ export const Modal = ({
6
+ style = {},
7
+ children,
8
+ modal = false,
9
+ rootClassName = '',
10
+ onClick = null,
11
+ callbackRef = null,
12
+ preventWheelDisable = false,
13
+ noBackDrop,
14
+ }: ModalType) => {
15
+ const innerRef = React.useRef(null)
16
+ function handleClick(e) {
17
+ if (typeof onClick !== 'function') return
18
+ if (innerRef && innerRef.current?.contains(e.target)) {
19
+ onClick(e, 'in')
20
+ } else {
21
+ onClick(e, 'out')
22
+ }
23
+ }
24
+
25
+ function disableWheel(e) {
26
+ if (!preventWheelDisable) {
27
+ if (innerRef?.current.contains(e.target)) {
28
+ if (innerRef.current.clientHeight === innerRef.current.scrollHeight) {
29
+ e.preventDefault()
30
+ }
31
+ } else {
32
+ e.preventDefault()
33
+ }
34
+ }
35
+ }
36
+ useEffect(() => {
37
+ document.addEventListener('click', handleClick)
38
+ let modal = document.getElementById('visible-modal')
39
+ if (modal) modal.classList.add('show')
40
+ if (noBackDrop) modal.classList.add('no-back-drop')
41
+ if (!preventWheelDisable) document.body.addEventListener('wheel', disableWheel, { passive: false })
42
+ return () => {
43
+ if (!preventWheelDisable) document.body.removeEventListener('wheel', disableWheel)
44
+ document.removeEventListener('click', handleClick)
45
+ if (modal) modal.classList.remove('show')
46
+ if (noBackDrop) modal.classList.remove('no-back-drop')
47
+ }
48
+ }, [])
49
+ return ReactDOM.createPortal(
50
+ <div
51
+ tabIndex={0}
52
+ onClick={onClick}
53
+ data-testid="common-modal"
54
+ ref={(el) => {
55
+ if (typeof callbackRef === 'function') {
56
+ callbackRef(el)
57
+ }
58
+ innerRef.current = el
59
+ }}
60
+ id="popup"
61
+ className={`${rootClassName} popup ${modal ? 'modal' : ''}`}
62
+ style={{ ...style }}
63
+ >
64
+ {children}
65
+ </div>,
66
+ document.getElementById('visible-modal'),
67
+ )
68
+ }
@@ -0,0 +1,36 @@
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom';
3
+ import closeIcon from '../../Assets/Icon/ic-cross.svg'
4
+
5
+ export interface OpaqueModalProps {
6
+ className?: string;
7
+ onHide?: any;
8
+ noBackground?: boolean;
9
+ }
10
+
11
+ export class OpaqueModal extends React.Component<OpaqueModalProps> {
12
+ modalRef = document.getElementById('full-screen-modal');
13
+
14
+ componentDidMount() {
15
+ if (this.props.noBackground)
16
+ this.modalRef.classList.add("show");
17
+ else this.modalRef.classList.add("show-with-bg");
18
+ }
19
+
20
+ componentWillUnmount() {
21
+ this.modalRef.classList.remove("show");
22
+ this.modalRef.classList.remove("show-with-bg");
23
+ }
24
+
25
+ render() {
26
+ const { className = "", onHide = null } = { ...this.props };
27
+
28
+ return ReactDOM.createPortal(
29
+ <div className={`full-screen-modal__body-container ${className}`}>
30
+ {this.props.children}
31
+ {typeof onHide === 'function' && <div className="close-btn icon-dim-24" onClick={e => onHide(false)} data-testid="opaque-modal-close">
32
+ <img className="close-img" src={closeIcon} alt="close" />
33
+ </div>}
34
+ </div>, document.getElementById('full-screen-modal'))
35
+ }
36
+ }
@@ -0,0 +1,55 @@
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom'
3
+
4
+ export class VisibleModal extends React.Component<{
5
+ className: string
6
+ parentClassName?: string
7
+ noBackground?: boolean
8
+ close?: (e) => void
9
+ onEscape?: (e) => void
10
+ }> {
11
+ modalRef = document.getElementById('visible-modal')
12
+
13
+ constructor(props) {
14
+ super(props)
15
+ this.escFunction = this.escFunction.bind(this)
16
+ }
17
+
18
+ escFunction(event) {
19
+ if (event.keyCode === 27 || event.key === 'Escape') {
20
+ if (this.props.onEscape) {
21
+ this.props.onEscape(event)
22
+ } else if (this.props.close) {
23
+ this.props.close(event)
24
+ }
25
+ }
26
+ }
27
+
28
+ componentDidMount() {
29
+ document.addEventListener('keydown', this.escFunction)
30
+ this.modalRef.classList.add(this.props.noBackground ? 'show' : 'show-with-bg')
31
+
32
+ if (this.props.parentClassName) {
33
+ this.modalRef.classList.add(this.props.parentClassName)
34
+ }
35
+ }
36
+
37
+ componentWillUnmount() {
38
+ document.removeEventListener('keydown', this.escFunction)
39
+ this.modalRef.classList.remove('show')
40
+ this.modalRef.classList.remove('show-with-bg')
41
+
42
+ if (this.props.parentClassName) {
43
+ this.modalRef.classList.remove(this.props.parentClassName)
44
+ }
45
+ }
46
+
47
+ render() {
48
+ return ReactDOM.createPortal(
49
+ <div className={`visible-modal__body ${this.props.className}`} onClick={this.props?.close} data-testid="visible-modal-close">
50
+ {this.props.children}
51
+ </div>,
52
+ document.getElementById('visible-modal'),
53
+ )
54
+ }
55
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+
4
+ export class VisibleModal2 extends React.Component<{ className: string; close?: (e) => void; }> {
5
+
6
+ modalRef = document.getElementById('visible-modal-2');
7
+
8
+ constructor(props) {
9
+ super(props);
10
+ this.escFunction = this.escFunction.bind(this);
11
+ }
12
+
13
+ escFunction(event) {
14
+ if (event.keyCode === 27 && this.props.close) {
15
+ this.props.close(event);
16
+ }
17
+ }
18
+
19
+ componentDidMount() {
20
+ document.addEventListener("keydown", this.escFunction);
21
+ this.modalRef.classList.add("show-with-bg");
22
+ }
23
+
24
+ componentWillUnmount() {
25
+ document.removeEventListener("keydown", this.escFunction);
26
+ this.modalRef.classList.remove("show-with-bg");
27
+ }
28
+
29
+ render() {
30
+ return ReactDOM.createPortal(
31
+ <div className={`visible-modal__body ${this.props.className}`} onClick={this.props?.close} data-testid="visible-modal2-close">
32
+ {this.props.children}
33
+ </div>, document.getElementById('visible-modal-2'))
34
+ }
35
+ }
@@ -0,0 +1,148 @@
1
+ import React from 'react'
2
+ import Select, { components } from 'react-select'
3
+ import { ReactComponent as ClearIcon } from '../Assets/Icon/ic-appstatus-cancelled.svg'
4
+ import { ReactComponent as Check } from '../Assets/Icon/ic-check.svg'
5
+ import { ReactComponent as RedWarning } from '../Assets/Icon/ic-error-medium.svg'
6
+
7
+ export const Option = (props) => {
8
+ const { selectOption, data } = props
9
+ return (
10
+ <div className="flex left pl-12" style={{ background: props.isFocused ? 'var(--N100)' : 'transparent' }}>
11
+ <input
12
+ checked={props.isSelected}
13
+ disabled={props.isDisabled}
14
+ onChange={(e) => selectOption(data)}
15
+ type="checkbox"
16
+ style={{ height: '16px', width: '16px', flex: '0 0 16px' }}
17
+ className="mr-8"
18
+ />
19
+ <components.Option {...props} />
20
+ </div>
21
+ )
22
+ }
23
+
24
+ export const SingleSelectOption = (props) => {
25
+ const { selectOption, data } = props
26
+ const style = { height: '16px', width: '16px', flex: '0 0 16px' }
27
+ const onClick = (e) => selectOption(data)
28
+ return (
29
+ <div className="flex left pl-12" style={{ background: props.isFocused ? 'var(--N100)' : 'transparent' }}>
30
+ {props.isSelected ? (
31
+ <Check onClick={onClick} className="mr-8 icon-dim-16" style={style} />
32
+ ) : (
33
+ <span onClick={onClick} className="mr-8" style={style} />
34
+ )}
35
+ <components.Option {...props} />
36
+ </div>
37
+ )
38
+ }
39
+
40
+ export const MultiValueContainer = (props) => {
41
+ const { children, data, innerProps, selectProps } = props
42
+ const { label, value } = data
43
+ return (
44
+ <components.MultiValueContainer {...{ data, innerProps, selectProps }}>
45
+ <div className={`flex fs-12 ml-4 cn-9`}>{label}</div>
46
+ {children[1]}
47
+ </components.MultiValueContainer>
48
+ )
49
+ }
50
+
51
+ export const ClearIndicator = (props) => {
52
+ const {
53
+ children = <ClearIcon className="icon-dim-24" />,
54
+ getStyles,
55
+ innerProps: { ref, ...restInnerProps },
56
+ } = props
57
+ return (
58
+ <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)}>
59
+ <div className="flex pointer">{children}</div>
60
+ </div>
61
+ )
62
+ }
63
+
64
+ export const MultiValueRemove = (props) => {
65
+ const {
66
+ data,
67
+ innerProps: { onClick, onMouseDown },
68
+ selectProps,
69
+ } = props
70
+ return (
71
+ <components.MultiValueRemove {...props}>
72
+ <ClearIcon
73
+ {...{ onClick, onMouseDown }}
74
+ onClick={(e) => onClick(data)}
75
+ style={{ height: '18px', width: '18px' }}
76
+ />
77
+ </components.MultiValueRemove>
78
+ )
79
+ }
80
+
81
+ export const MultiValueChipContainer = ({ validator, isAllSelected = false, ...props }) => {
82
+ const { children, data, innerProps, selectProps } = props
83
+ const { label, value } = data
84
+ const isValidEmail = validator ? validator(value) : true
85
+
86
+ if (isAllSelected && value !== '*') return null
87
+
88
+ return (
89
+ <components.MultiValueContainer {...{ data, innerProps, selectProps }}>
90
+ <div className="flex left fs-12 pl-4 pr-4 dc__ellipsis-right">
91
+ {!isValidEmail && <RedWarning className="mr-4 icon-dim-16" />}
92
+ <div className={`dc__ellipsis-right ${isValidEmail ? 'cn-9' : 'cr-5'}`}>{label}</div>
93
+ </div>
94
+ {children[1]}
95
+ </components.MultiValueContainer>
96
+ )
97
+ }
98
+
99
+ export const multiSelectStyles = {
100
+ control: (base, state) => ({
101
+ ...base,
102
+ cursor: state.isDisabled ? 'not-allowed' : 'normal',
103
+ border: state.isFocused ? '1px solid #06c' : '1px solid #d6dbdf',
104
+ boxShadow: 'none',
105
+ }),
106
+ menu: (base, state) => ({
107
+ ...base,
108
+ }),
109
+ option: (base, state) => {
110
+ return {
111
+ ...base,
112
+ backgroundColor: state.isFocused ? 'var(--N100)' : 'white',
113
+ color: 'var(--N900)',
114
+ padding: '8px 12px',
115
+ }
116
+ },
117
+ container: (base, state) => ({
118
+ ...base,
119
+ cursor: state.isDisabled ? 'not-allowed' : 'pointer',
120
+ }),
121
+ valueContainer: (base, state) => ({
122
+ ...base,
123
+ color: state.selectProps.menuIsOpen ? 'var(--N500)' : base.color,
124
+ }),
125
+ }
126
+
127
+ export interface CustomSelect {
128
+ sortSelected?: boolean
129
+ options: any[]
130
+ onChange: (...args) => void
131
+ value?: any
132
+ name?: string
133
+ placeholder?: string
134
+ className?: string
135
+ classNamePrefix?: string
136
+ menuPortalTarget?: any
137
+ components?: object
138
+ styles?: object
139
+ isMulti?: boolean
140
+ isDisabled?: boolean
141
+ closeMenuOnSelect?: boolean
142
+ hideSelectedOptions?: boolean
143
+ formatOptionLabel?: (...args) => any
144
+ }
145
+
146
+ export const CustomSelect: React.FC<CustomSelect> = (props) => {
147
+ return <Select {...props} />
148
+ }
@@ -0,0 +1,78 @@
1
+ import { useRef, useState } from 'react'
2
+ import { PageSizeItemsProps, PageSizeOption, PageSizeSelectorProps } from './types'
3
+ import { useClickOutside } from '../Hooks'
4
+ import { getDefaultPageValueOptions } from './utils'
5
+
6
+ const PageSizeItems = ({
7
+ optionValue,
8
+ options,
9
+ setOptions,
10
+ handleCloseDropdown,
11
+ changePageSize,
12
+ }: PageSizeItemsProps) => {
13
+ const handlePageSizeSelect = () => {
14
+ const newOptions = options.map((_option) => ({
15
+ value: _option.value,
16
+ selected: _option.value === optionValue,
17
+ }))
18
+ setOptions([...newOptions])
19
+ handleCloseDropdown()
20
+ changePageSize(optionValue)
21
+ }
22
+
23
+ return (
24
+ <div key={optionValue} className="select__item" onClick={handlePageSizeSelect}>
25
+ {optionValue}
26
+ </div>
27
+ )
28
+ }
29
+
30
+ const PageSizeSelector = ({ pageSizeOptions, pageSize, changePageSize }: PageSizeSelectorProps) => {
31
+ const defaultOptions = getDefaultPageValueOptions(pageSizeOptions).map((option) => ({
32
+ value: option.value,
33
+ selected: option.value === pageSize,
34
+ }))
35
+
36
+ const [isDropdownOpen, setIsDropdownOpen] = useState<boolean>(false)
37
+ const [options, setOptions] = useState<PageSizeOption[]>(defaultOptions)
38
+
39
+ const handleCloseDropdown = () => {
40
+ setIsDropdownOpen(false)
41
+ }
42
+
43
+ const handleDropdownToggle = () => {
44
+ setIsDropdownOpen(!isDropdownOpen)
45
+ }
46
+
47
+ const dropdownRef = useRef<HTMLDivElement>(null)
48
+ useClickOutside(dropdownRef, handleCloseDropdown)
49
+
50
+ const selectedOption = options.find((option) => option.selected)
51
+ const font = isDropdownOpen ? 'fa fa-caret-up' : 'fa fa-caret-down'
52
+ return (
53
+ <div ref={dropdownRef}>
54
+ {isDropdownOpen && (
55
+ <div className="pagination__select-menu">
56
+ {options.map((_option) => (
57
+ <PageSizeItems
58
+ optionValue={_option.value}
59
+ options={options}
60
+ setOptions={setOptions}
61
+ handleCloseDropdown={handleCloseDropdown}
62
+ changePageSize={changePageSize}
63
+ />
64
+ ))}
65
+ </div>
66
+ )}
67
+
68
+ <button type="button" className="select__button" onClick={handleDropdownToggle}>
69
+ <span>{selectedOption ? selectedOption.value : ''}</span>
70
+ <span className="select__icon">
71
+ <i className={font} />
72
+ </span>
73
+ </button>
74
+ </div>
75
+ )
76
+ }
77
+
78
+ export default PageSizeSelector
@@ -0,0 +1,127 @@
1
+ import { useEffect, useState } from 'react'
2
+ import PageSizeSelector from './PageSizeSelector'
3
+ import { Page, PageValueItemProps, PaginationProps } from './types'
4
+ import { createPageArr } from './utils'
5
+ import './pagination.scss'
6
+
7
+ const PageValueItem = ({ value, isSelected, selectPage }: PageValueItemProps) => {
8
+ const classes = isSelected ? 'page__button page__button--selected' : 'page__button'
9
+ const handlePageSelection = () => {
10
+ selectPage(value)
11
+ }
12
+
13
+ return (
14
+ <li className="page">
15
+ <button className={classes} onClick={handlePageSelection} type="button">
16
+ {value}
17
+ </button>
18
+ </li>
19
+ )
20
+ }
21
+
22
+ // NOTE: This component will heavily benefit from data normalization
23
+ const Pagination = ({
24
+ size,
25
+ pageSize,
26
+ offset,
27
+ changePage,
28
+ changePageSize,
29
+ isPageSizeFix,
30
+ pageSizeOptions,
31
+ rootClassName,
32
+ }: PaginationProps) => {
33
+ const [pages, setPages] = useState<Page[]>([])
34
+
35
+ useEffect(() => {
36
+ const _pages = createPageArr({ size, pageSize, selectedPageNo: 1 })
37
+ setPages(_pages)
38
+ }, [size, pageSize])
39
+
40
+ useEffect(() => {
41
+ const selectedPageNo = 1 + Math.floor(offset / pageSize)
42
+ const _pages = createPageArr({ size, pageSize, selectedPageNo })
43
+ setPages(_pages)
44
+ }, [offset])
45
+
46
+ const selectPage = (selectedPageNo: number): void => {
47
+ const _pages = createPageArr({ size, pageSize, selectedPageNo })
48
+ setPages(_pages)
49
+ changePage(selectedPageNo)
50
+ }
51
+
52
+ const selectPreviousPage = (): void => {
53
+ const currPage = pages.find((page) => page.selected)
54
+ const selectedPageNo = currPage.value - 1
55
+ selectPage(selectedPageNo)
56
+ }
57
+
58
+ const selectNextPage = (): void => {
59
+ const currPage = pages.find((page) => page.selected)
60
+ const selectedPageNo = currPage.value + 1
61
+ selectPage(selectedPageNo)
62
+ }
63
+
64
+ const lastPageNo = offset + pageSize < size ? offset + pageSize : size
65
+ const pageNoIndex = pages.findIndex((page) => page.selected)
66
+ const visiblePages = pages.filter((page) => page.isVisible)
67
+ return (
68
+ // TODO: Remove pagination-wrapper from dashboard
69
+ <div className={rootClassName || ''}>
70
+ <div className="page-number">
71
+ {offset + 1} - {lastPageNo} of {size}
72
+ </div>
73
+
74
+ <ul className="pagination">
75
+ <li className="page">
76
+ <button
77
+ className="page__button page__button--icon"
78
+ disabled={!pageNoIndex}
79
+ onClick={selectPreviousPage}
80
+ type="button"
81
+ aria-label="Previous page"
82
+ >
83
+ <span className="left-icon">
84
+ <i className="fa fa-chevron-left" />
85
+ </span>
86
+ </button>
87
+ </li>
88
+
89
+ {visiblePages.map((page) => (
90
+ <PageValueItem
91
+ value={page.value}
92
+ isSelected={page.selected}
93
+ key={page.value}
94
+ selectPage={selectPage}
95
+ />
96
+ ))}
97
+
98
+ <li className="page">
99
+ <button
100
+ className="page__button page__button--icon"
101
+ disabled={pageNoIndex === pages.length - 1}
102
+ onClick={selectNextPage}
103
+ type="button"
104
+ aria-label="Next page"
105
+ >
106
+ <span className="left-icon">
107
+ <i className="fa fa-chevron-right" />
108
+ </span>
109
+ </button>
110
+ </li>
111
+ </ul>
112
+
113
+ {!isPageSizeFix && (
114
+ <div className="select">
115
+ <span className="select__placeholder">Rows per page</span>
116
+ <PageSizeSelector
117
+ pageSizeOptions={pageSizeOptions}
118
+ pageSize={pageSize}
119
+ changePageSize={changePageSize}
120
+ />
121
+ </div>
122
+ )}
123
+ </div>
124
+ )
125
+ }
126
+
127
+ export default Pagination
@@ -0,0 +1,6 @@
1
+ export const VISIBLE_PAGES_LIMIT = 5
2
+ export const FALLBACK_PAGE_SIZE_OPTIONS = [
3
+ { value: 20, selected: true },
4
+ { value: 40, selected: false },
5
+ { value: 50, selected: false },
6
+ ]
@@ -0,0 +1,3 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ // Disabling since might need to export types as well
3
+ export { default as Pagination } from './Pagination'