@madie/madie-design-system 1.0.0 → 1.0.1

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 (245) hide show
  1. package/README.md +2 -3
  2. package/components/Header/ImpersonatorBanner.jsx +2 -2
  3. package/components/Link/Link.stories.js +1 -1
  4. package/components/Pagination/index.jsx +201 -0
  5. package/components/Search/index.js +1 -1
  6. package/components/Tabs/Tab.js +1 -1
  7. package/components/Tabs/index.js +5 -5
  8. package/components/index.js +2 -0
  9. package/coverage/clover.xml +1296 -0
  10. package/coverage/coverage-final.json +70 -0
  11. package/coverage/lcov-report/base.css +224 -0
  12. package/coverage/lcov-report/block-navigation.js +87 -0
  13. package/coverage/lcov-report/favicon.png +0 -0
  14. package/coverage/lcov-report/index.html +461 -0
  15. package/coverage/lcov-report/index.jsx.html +688 -0
  16. package/coverage/lcov-report/prettify.css +1 -0
  17. package/coverage/lcov-report/prettify.js +2 -0
  18. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  19. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +364 -0
  20. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  21. package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
  22. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +349 -0
  23. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  24. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  25. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  26. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +892 -0
  27. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +667 -0
  28. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +265 -0
  29. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  30. package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
  31. package/coverage/lcov-report/react/components/Footer/index.html +176 -0
  32. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +592 -0
  33. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  34. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +274 -0
  35. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  36. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  37. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +781 -0
  38. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
  39. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  40. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  41. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +586 -0
  42. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  43. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +256 -0
  44. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  45. package/coverage/lcov-report/react/components/Header/header.js.html +205 -0
  46. package/coverage/lcov-report/react/components/Header/hooks.js.html +241 -0
  47. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  48. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  49. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  50. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  51. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  52. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  53. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +301 -0
  54. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  55. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  56. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  57. package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
  58. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +880 -0
  59. package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
  60. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +688 -0
  61. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  62. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
  63. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  64. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  65. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +868 -0
  66. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  67. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  68. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  69. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  70. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  71. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +709 -0
  72. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  73. package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
  74. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
  75. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  76. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  77. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  78. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  79. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  80. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  81. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  82. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  83. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +406 -0
  84. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  85. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  86. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  87. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  88. package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
  89. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  90. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +232 -0
  91. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  92. package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
  93. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  94. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  95. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  96. package/coverage/lcov-report/react/components/Tooltip/position.js.html +289 -0
  97. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  98. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +307 -0
  99. package/coverage/lcov-report/react/components/index.html +116 -0
  100. package/coverage/lcov-report/react/index.html +116 -0
  101. package/coverage/lcov-report/react/index.js.html +178 -0
  102. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  103. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
  104. package/coverage/lcov-report/react/lib/index.html +146 -0
  105. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  106. package/coverage/lcov-report/react/session/index.html +161 -0
  107. package/coverage/lcov-report/react/session/index.js.html +100 -0
  108. package/coverage/lcov-report/react/session/logout.js.html +280 -0
  109. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  110. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  111. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  112. package/coverage/lcov-report/sorter.js +196 -0
  113. package/coverage/lcov.info +2931 -0
  114. package/dist/browser.js +1 -3
  115. package/dist/index.js +1 -3
  116. package/dist/react/index.html +1 -0
  117. package/dist/react/index.js +199 -1
  118. package/dist/react/index.js.LICENSE.txt +37 -1
  119. package/dist/react/index.js.map +1 -1
  120. package/package.json +21 -12
  121. package/storybook-static/0.5651be4a8d0b1984a772.manager.bundle.js +2 -0
  122. package/storybook-static/0.5651be4a8d0b1984a772.manager.bundle.js.LICENSE.txt +8 -0
  123. package/storybook-static/0.ce0ed568.iframe.bundle.js +1 -0
  124. package/storybook-static/1.1b179d27.iframe.bundle.js +3 -0
  125. package/storybook-static/1.1b179d27.iframe.bundle.js.LICENSE.txt +8 -0
  126. package/storybook-static/1.1b179d27.iframe.bundle.js.map +1 -0
  127. package/storybook-static/1.c46d7d065aa0aa5a87ca.manager.bundle.js +1 -0
  128. package/storybook-static/10.99011d85.iframe.bundle.js +3 -0
  129. package/storybook-static/10.99011d85.iframe.bundle.js.LICENSE.txt +11 -0
  130. package/storybook-static/10.99011d85.iframe.bundle.js.map +1 -0
  131. package/storybook-static/2.35ddc55d.iframe.bundle.js +1 -0
  132. package/storybook-static/3.ed97833d.iframe.bundle.js +1 -0
  133. package/storybook-static/5.333e450fad8648669908.manager.bundle.js +1 -0
  134. package/storybook-static/6.505ea3c696ed314e90c8.manager.bundle.js +2 -0
  135. package/storybook-static/6.505ea3c696ed314e90c8.manager.bundle.js.LICENSE.txt +12 -0
  136. package/storybook-static/7.94be8178.iframe.bundle.js +1 -0
  137. package/storybook-static/7.d26483fcb6f4087398a8.manager.bundle.js +1 -0
  138. package/storybook-static/8.68cd1217.iframe.bundle.js +3 -0
  139. package/storybook-static/8.68cd1217.iframe.bundle.js.LICENSE.txt +12 -0
  140. package/storybook-static/8.68cd1217.iframe.bundle.js.map +1 -0
  141. package/storybook-static/8.7adf0ef161215cd35a66.manager.bundle.js +1 -0
  142. package/storybook-static/9.488e3969.iframe.bundle.js +1 -0
  143. package/storybook-static/favicon.ico +0 -0
  144. package/storybook-static/fonts/FontAwesome.otf +0 -0
  145. package/storybook-static/fonts/OFL.txt +92 -0
  146. package/storybook-static/fonts/Rubik-Black.ttf +0 -0
  147. package/storybook-static/fonts/Rubik-BlackItalic.ttf +0 -0
  148. package/storybook-static/fonts/Rubik-Bold.ttf +0 -0
  149. package/storybook-static/fonts/Rubik-BoldItalic.ttf +0 -0
  150. package/storybook-static/fonts/Rubik-Italic.ttf +0 -0
  151. package/storybook-static/fonts/Rubik-Light.ttf +0 -0
  152. package/storybook-static/fonts/Rubik-LightItalic.ttf +0 -0
  153. package/storybook-static/fonts/Rubik-Medium.ttf +0 -0
  154. package/storybook-static/fonts/Rubik-MediumItalic.ttf +0 -0
  155. package/storybook-static/fonts/Rubik-Regular.ttf +0 -0
  156. package/storybook-static/fonts/fontawesome-webfont.eot +0 -0
  157. package/storybook-static/fonts/fontawesome-webfont.svg +2671 -0
  158. package/storybook-static/fonts/fontawesome-webfont.ttf +0 -0
  159. package/storybook-static/fonts/fontawesome-webfont.woff +0 -0
  160. package/storybook-static/fonts/fontawesome-webfont.woff2 +0 -0
  161. package/storybook-static/iframe.html +348 -0
  162. package/storybook-static/images/favicon/android-chrome-192x192.png +0 -0
  163. package/storybook-static/images/favicon/android-chrome-256x256.png +0 -0
  164. package/storybook-static/images/favicon/apple-touch-icon.png +0 -0
  165. package/storybook-static/images/favicon/browserconfig.xml +9 -0
  166. package/storybook-static/images/favicon/favicon-16x16.png +0 -0
  167. package/storybook-static/images/favicon/favicon-32x32.png +0 -0
  168. package/storybook-static/images/favicon/favicon.ico +0 -0
  169. package/storybook-static/images/favicon/manifest.json +18 -0
  170. package/storybook-static/images/favicon/mstile-150x150.png +0 -0
  171. package/storybook-static/images/favicon/safari-pinned-tab.svg +32 -0
  172. package/storybook-static/images/hhs-logo-black.svg +10 -0
  173. package/storybook-static/images/hhs-logo-white.svg +10 -0
  174. package/storybook-static/images/icons/close-x.svg +6 -0
  175. package/storybook-static/images/icons/help-headset.svg +21 -0
  176. package/storybook-static/images/icons/svg/arrow-down.svg +1 -0
  177. package/storybook-static/images/icons/svg/arrow-download.svg +1 -0
  178. package/storybook-static/images/icons/svg/arrow-right.svg +1 -0
  179. package/storybook-static/images/icons/svg/calendar.svg +1 -0
  180. package/storybook-static/images/icons/svg/close.svg +1 -0
  181. package/storybook-static/images/icons/svg/download.svg +1 -0
  182. package/storybook-static/images/icons/svg/external.svg +1 -0
  183. package/storybook-static/images/icons/svg/file-upload.svg +1 -0
  184. package/storybook-static/images/icons/svg/print.svg +1 -0
  185. package/storybook-static/images/icons/svg/search.svg +7 -0
  186. package/storybook-static/images/icons/svg/tooltip-question.svg +6 -0
  187. package/storybook-static/images/icons/svg/trash.svg +1 -0
  188. package/storybook-static/images/icons/svg/upload.svg +1 -0
  189. package/storybook-static/images/qpp_logo_reversed.png +0 -0
  190. package/storybook-static/images/qpp_logo_rgb_color.png +0 -0
  191. package/storybook-static/index.html +59 -0
  192. package/storybook-static/main.5ae8041695a4f0c06f75.manager.bundle.js +1 -0
  193. package/storybook-static/main.ee2cae16.iframe.bundle.js +1 -0
  194. package/storybook-static/runtime~main.7eeb017b9a4ce6a70a00.manager.bundle.js +1 -0
  195. package/storybook-static/runtime~main.e2794f2d.iframe.bundle.js +1 -0
  196. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  197. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  198. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  199. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  200. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  201. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  202. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  203. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  204. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  205. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  206. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  207. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  208. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  209. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  210. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  211. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  212. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  213. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  214. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  215. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  216. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  217. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  218. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  219. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  220. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  221. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  222. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  223. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  224. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  225. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  226. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  227. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  228. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  229. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  230. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  231. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  232. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  233. package/storybook-static/vendors~main.c7e1bdf2e91d9cdba380.manager.bundle.js +2 -0
  234. package/storybook-static/vendors~main.c7e1bdf2e91d9cdba380.manager.bundle.js.LICENSE.txt +104 -0
  235. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js +76 -0
  236. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js.LICENSE.txt +145 -0
  237. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js.map +1 -0
  238. package/test/components/Pagination.test.js +55 -0
  239. package/test-setup.js +1 -1
  240. package/webpack.config.js +9 -11
  241. package/webpack.config.react.js +7 -2
  242. package/dist/browser.js.LICENSE.txt +0 -54
  243. package/dist/browser.js.map +0 -1
  244. package/dist/index.js.LICENSE.txt +0 -54
  245. package/dist/index.js.map +0 -1
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
- # QPP-Style React
1
+ # Madie/madie-design-system React
2
2
 
3
- This directory contains react implementations of the components for QPP.
3
+ This directory contains react implementations of the components for Madie.
4
4
 
5
- A storybook with examples is published at [https://cmsgov.github.io/qpp-style](https://cmsgov.github.io/qpp-style)
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cookie from 'cookie';
3
3
  import axios from 'axios';
4
- import CloseIcon from '@material-ui/icons/Close';
4
+ import CloseIcon from '@mui/icons-material/Close';
5
5
 
6
6
  import { TextButton } from '../Button';
7
7
  import { deleteImpersonatedUser, revertQppHasAuthsCookie } from '../../session/logout';
@@ -21,7 +21,7 @@ const ImpersonatorBanner = () => {
21
21
  ].join(' ');
22
22
 
23
23
  const onClick = () => {
24
- const fn = () => {
24
+ const fn = () => {
25
25
  deleteImpersonatedUser({ qpp_impersonated_user: user });
26
26
  // Set qpp_has_authorizations cookie back to impersonator's value
27
27
  revertQppHasAuthsCookie();
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import DSLink from './index';
3
3
  import { withKnobs } from '@storybook/addon-knobs';
4
- import OpenInNewIcon from '@material-ui/icons/OpenInNew';
4
+ import OpenInNewIcon from '@mui/icons-material/OpenInNew';
5
5
 
6
6
  export default {
7
7
  title: 'Link',
@@ -0,0 +1,201 @@
1
+ import React from "react";
2
+ import { makeStyles } from "@mui/styles";
3
+ import PropTypes from "prop-types";
4
+ import {
5
+ Pagination as PaginationComponent,
6
+ PaginationItem,
7
+ Select,
8
+ MenuItem,
9
+ Typography,
10
+ } from "@mui/material";
11
+
12
+ const useStyles = makeStyles({
13
+ root: {
14
+ display: "flex",
15
+ flexGrow: 1,
16
+ flexDirection: "row",
17
+ justifyContent: "space-between",
18
+ alignItems: "center",
19
+ minHeight: 90,
20
+ padding: "0px 24px",
21
+ },
22
+ row: {
23
+ display: "flex",
24
+ flexDirection: "row",
25
+ alignItems: "center",
26
+ },
27
+ // text
28
+ dark: {
29
+ color: "#333333",
30
+ },
31
+ faded: {
32
+ color: "#757575",
33
+ },
34
+ //select
35
+ select: {
36
+ margin: "0 11px",
37
+ "& .MuiSelect-select": {
38
+ margin: "0 11px",
39
+ },
40
+ },
41
+ // pagination
42
+ ul: {
43
+ "& .MuiPaginationItem-root": {
44
+ color: "#0073C8",
45
+ border: "solid 1px #CACACA",
46
+ "&:focus": {
47
+ border: "0.0625rem solid #125496",
48
+ borderRadius: "0.1875rem",
49
+ boxShadow: "0 0 0 0.25rem #cbe4ff",
50
+ outline: "none",
51
+ },
52
+ },
53
+ "& .Mui-selected": {
54
+ color: "#fff",
55
+ backgroundColor: "#0073C8 !important",
56
+ },
57
+ "& .MuiPaginationItem-ellipsis": {
58
+ border: "solid 1px transparent",
59
+ },
60
+ "& .MuiPaginationItem-previousNext": {
61
+ border: "solid 1px transparent",
62
+ },
63
+ },
64
+ next: {
65
+ border: "solid 1px transparent",
66
+ "&::before": {
67
+ content: '"Next "',
68
+ marginRight: 5,
69
+ fontSize: 14,
70
+ fontFamily: "Rubik",
71
+ },
72
+ },
73
+ prev: {
74
+ border: "solid 1px transparent",
75
+ "&::after": {
76
+ content: '" Previous"',
77
+ marginLeft: 5,
78
+ fontSize: 14,
79
+ fontFamily: "Rubik",
80
+ },
81
+ },
82
+ selected: {
83
+ backgroundColor: "#0073C8",
84
+ border: "solid 1px #0073C8",
85
+ color: "#fff",
86
+ },
87
+ });
88
+
89
+ // for ts later implemeentation.
90
+ // interface PaginationProps {
91
+ // totalItems: number; // total items
92
+ // visibleItems: number; // returned by paging object in spring
93
+ // count: number; // page count
94
+ // limit: number; // items per page
95
+ // limitOptions: number[]; // limit options
96
+ // shape?: "rounded" | "circular"; // style
97
+ // page: number; // current page zer0 indexed
98
+ // siblingCount?: number;
99
+ // boundaryCount?: number;
100
+ // handlePageChange: (e: any, v: any) => void;
101
+ // handleLimitChange: (e: any) => void;
102
+ // hidePrevButton: boolean;
103
+ // hideNextButton: boolean;
104
+ // }
105
+
106
+ const Pagination = ({
107
+ totalItems = 0,
108
+ visibleItems = 0,
109
+ count = 1,
110
+ offset = 0,
111
+ shape = "rounded",
112
+ page = 0,
113
+ limit = 10,
114
+ limitOptions = [10, 25, 50],
115
+ handlePageChange,
116
+ handleLimitChange,
117
+ hidePrevButton = true,
118
+ hideNextButton = false,
119
+ }) => {
120
+ const classes = useStyles();
121
+ return (
122
+ <div className={classes.root}>
123
+ <div className={classes.row}>
124
+ <Typography fontSize={14} fontFamily="Rubik" className={classes.dark}>
125
+ Items per page
126
+ </Typography>
127
+ <Select
128
+ size="small"
129
+ classes={{
130
+ root: classes.select,
131
+ }}
132
+ id="pagination-limit-select"
133
+ value={limit}
134
+ label={null}
135
+ onChange={handleLimitChange}
136
+ >
137
+ {limitOptions.map((val) => (
138
+ <MenuItem value={val} key={`limit-${val}`} data-testid="limit-option">
139
+ {val}
140
+ </MenuItem>
141
+ ))}
142
+ </Select>
143
+ <Typography
144
+ fontSize={14}
145
+ className={classes.faded}
146
+ fontFamily="Rubik"
147
+ >{`${offset + 1} - ${
148
+ visibleItems + offset
149
+ } of ${totalItems}`}</Typography>
150
+ </div>
151
+ <PaginationComponent
152
+ classes={{
153
+ ul: classes.ul,
154
+ selected: classes.selected,
155
+ }}
156
+ renderItem={(props) => {
157
+ if (props.type === "next") {
158
+ return (
159
+ <PaginationItem {...props} classes={{ text: classes.next }} />
160
+ );
161
+ }
162
+ if (props.type === "previous") {
163
+ return (
164
+ <PaginationItem
165
+ {...props}
166
+ classes={{ text: classes.prev }}
167
+ />
168
+ );
169
+ }
170
+ return <PaginationItem {...props} />;
171
+ }}
172
+ count={count}
173
+ page={page}
174
+ shape={shape}
175
+ siblingCount={2}
176
+ boundaryCount={0}
177
+ onChange={handlePageChange}
178
+ hidePrevButton={hidePrevButton}
179
+ hideNextButton={hideNextButton}
180
+ />
181
+ </div>
182
+ );
183
+ };
184
+
185
+ Pagination.propTypes = {
186
+ totalItems: PropTypes.number,
187
+ visibleItems: PropTypes.number,
188
+ count: PropTypes.number,
189
+ offset: PropTypes.number,
190
+ shape: PropTypes.string,
191
+ limit: PropTypes.number,
192
+ page: PropTypes.number,
193
+ limitOptions: PropTypes.array,
194
+ handlePageChange: PropTypes.func,
195
+ handleLimitChange: PropTypes.func,
196
+ hidePrevButton: PropTypes.bool,
197
+ hideNextButton: PropTypes.bool,
198
+ type: PropTypes.string,
199
+ };
200
+
201
+ export { Pagination };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import SearchIcon from '@material-ui/icons/Search';
3
+ import SearchIcon from '@mui/icons-material/Search';
4
4
 
5
5
  const Search = ({
6
6
  id,
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import MuiTab from '@material-ui/core/Tab';
3
+ import { Tab as MuiTab } from '@mui/material';
4
4
 
5
5
  const Tab = ({ href, ...rest }) => {
6
6
  return (
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react'
2
2
  import PropTypes from 'prop-types'
3
- import MuiTabs from '@material-ui/core/Tabs'
3
+ import { Tabs as MuiTabs } from '@mui/material'
4
4
  import TabPanel from './TabPanel'
5
5
  import LinkTab from './Tab'
6
6
 
@@ -12,7 +12,7 @@ const getPanelChildren = (children) => {
12
12
 
13
13
  const Tabs = ({ children, onChange, selected, defaultSelectedId, ariaLabel }) => {
14
14
  const [value, setValue] = useState(defaultSelectedId || selected)
15
-
15
+
16
16
  useEffect(() => {
17
17
  if (selected) {
18
18
  setValue(selected)
@@ -37,10 +37,10 @@ const Tabs = ({ children, onChange, selected, defaultSelectedId, ariaLabel }) =>
37
37
  }
38
38
  return child
39
39
  })
40
- }
40
+ }
41
41
 
42
42
  const panels = getPanelChildren(children)
43
-
43
+
44
44
  const tabList = panels.map(
45
45
  (panel) => {
46
46
  const { id, tab, tabHref, disabled } = panel?.props || {}
@@ -49,7 +49,7 @@ const Tabs = ({ children, onChange, selected, defaultSelectedId, ariaLabel }) =>
49
49
  )
50
50
 
51
51
  const foundIndex = tabList.findIndex(({ id }) => id === value)
52
-
52
+
53
53
  const tabIndex = foundIndex >= 0 ? foundIndex : 0
54
54
 
55
55
  return (
@@ -8,6 +8,7 @@ import FlashNotification from './FlashNotification/FlashNotificationUI';
8
8
  import Footer from './Footer/FooterUI';
9
9
  import Header from './Header/HeaderUI';
10
10
  import Modal from './Modal';
11
+ import { Pagination } from './Pagination';
11
12
  import SideNav from './SideNav/UI/SideNavUI';
12
13
  import Spinner from './UnwrappedSpinner';
13
14
  import TabPanel from './Tabs/TabPanel';
@@ -113,6 +114,7 @@ export {
113
114
  Icons,
114
115
  Infotip,
115
116
  Modal,
117
+ Pagination,
116
118
  Search,
117
119
  SideNav,
118
120
  Spinner,