@madie/madie-design-system 1.0.6 → 1.0.9

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 (137) hide show
  1. package/components/Button/Button.stories.js +6 -0
  2. package/components/Button/index.js +1 -1
  3. package/components/Footer/FooterUI.jsx +27 -10
  4. package/components/MadieSpinner/MadieSpinner.stories.js +29 -0
  5. package/components/MadieSpinner/index.jsx +37 -0
  6. package/components/Select/index.jsx +2 -2
  7. package/components/TextField/index.jsx +1 -1
  8. package/components/Toast/Toast.stories.js +49 -0
  9. package/components/Toast/index.jsx +121 -0
  10. package/components/index.js +4 -0
  11. package/coverage/clover.xml +15 -1330
  12. package/coverage/coverage-final.json +1 -72
  13. package/coverage/lcov-report/InputLabel/index.html +17 -17
  14. package/coverage/lcov-report/InputLabel/index.jsx.html +60 -15
  15. package/coverage/lcov-report/MadieSpinner/index.html +116 -0
  16. package/coverage/lcov-report/MadieSpinner/index.jsx.html +196 -0
  17. package/coverage/lcov-report/Textfield/index.html +23 -23
  18. package/coverage/lcov-report/Textfield/index.jsx.html +26 -23
  19. package/coverage/lcov-report/index.html +13 -403
  20. package/coverage/lcov-report/index.jsx.html +130 -370
  21. package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
  22. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
  23. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  24. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  25. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  26. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  27. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  28. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  29. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +92 -41
  30. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
  31. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +11 -11
  32. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +11 -11
  33. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  34. package/coverage/lcov-report/react/components/Footer/index.html +38 -38
  35. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  36. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  37. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
  38. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
  39. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  40. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
  41. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  42. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  43. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  44. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
  45. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  46. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
  47. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  48. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  49. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  50. package/coverage/lcov-report/react/components/Header/index.html +1 -1
  51. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  52. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +2 -2
  53. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +2 -2
  54. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  55. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  56. package/coverage/lcov-report/react/components/InputLabel/index.html +1 -1
  57. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +48 -3
  58. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  59. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  60. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  61. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  62. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  63. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
  64. package/coverage/lcov-report/react/components/Pagination/index.html +1 -1
  65. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +26 -11
  66. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  67. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  68. package/coverage/lcov-report/react/components/Select/index.html +1 -1
  69. package/coverage/lcov-report/react/components/Select/index.jsx.html +7 -4
  70. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  71. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  72. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  73. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  74. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  75. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  77. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  78. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +1 -1
  79. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  80. package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
  81. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  82. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  85. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  86. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  87. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  88. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  89. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +1 -1
  90. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
  91. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  92. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  93. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  94. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1 -1
  95. package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
  96. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  97. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +1 -1
  98. package/coverage/lcov-report/react/components/SideNav/index.html +1 -1
  99. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  100. package/coverage/lcov-report/react/components/Textfield/index.html +3 -3
  101. package/coverage/lcov-report/react/components/Textfield/index.jsx.html +8 -5
  102. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +8 -8
  103. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  104. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  105. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  106. package/coverage/lcov-report/react/components/hooks/index.html +1 -1
  107. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
  108. package/coverage/lcov-report/react/components/index.html +1 -1
  109. package/coverage/lcov-report/react/index.html +1 -1
  110. package/coverage/lcov-report/react/index.js.html +1 -1
  111. package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
  112. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
  113. package/coverage/lcov-report/react/lib/index.html +1 -1
  114. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  115. package/coverage/lcov-report/react/session/index.html +1 -1
  116. package/coverage/lcov-report/react/session/index.js.html +1 -1
  117. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  118. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  119. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  120. package/coverage/lcov.info +15 -2996
  121. package/dist/browser.js +1 -1
  122. package/dist/index.js +1 -1
  123. package/dist/react/index.js +2 -2
  124. package/dist/react/index.js.map +1 -1
  125. package/package.json +1 -1
  126. package/storybook-static/795.32ffebb1.iframe.bundle.js +103 -0
  127. package/storybook-static/{749.f895d976.iframe.bundle.js.LICENSE.txt → 795.32ffebb1.iframe.bundle.js.LICENSE.txt} +0 -0
  128. package/storybook-static/795.32ffebb1.iframe.bundle.js.map +1 -0
  129. package/storybook-static/iframe.html +1 -1
  130. package/storybook-static/main.45299231.iframe.bundle.js +1 -0
  131. package/styles/qppds/components/_button.scss +39 -0
  132. package/test/components/FooterUI.test.js +30 -0
  133. package/test/components/MadieSpinner.test.js +25 -0
  134. package/test/components/Toast.test.js +70 -0
  135. package/storybook-static/749.f895d976.iframe.bundle.js +0 -76
  136. package/storybook-static/749.f895d976.iframe.bundle.js.map +0 -1
  137. package/storybook-static/main.f0be52a5.iframe.bundle.js +0 -1
@@ -43,6 +43,12 @@ export const Danger = () => (
43
43
  </Container>
44
44
  );
45
45
 
46
+ export const DangerPrimary = () => (
47
+ <Container>
48
+ <Button variant="danger-primary">Button</Button>
49
+ </Container>
50
+ );
51
+
46
52
  export const Outline = () => (
47
53
  <Container className="qpp-u-fill--blue-80">
48
54
  <Button variant="outline">Button</Button>
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import PropTypes from "prop-types";
3
3
 
4
- const VARIANTS = ["secondary", "outline", "danger", "white"];
4
+ const VARIANTS = ["secondary", "outline", "cyan", "danger", "danger-primary", "white"];
5
5
  const SIZES = ["big"];
6
6
 
7
7
  const Button = ({
@@ -18,6 +18,27 @@ const FooterUI = (props) => {
18
18
  : "mailto:QPPUserResearch@cms.hhs.gov?subject=Sign up for feedback sessions&body=Please let us know your role and how many Tax Identification Numbers (TINs) you represent. Don’t send us your actual TINs, that is confidential information that should not be shared with this email address. If you do not represent a practice, let us know what work you do in connection to QPP.";
19
19
  const [listServ, setListServ] = useState(false);
20
20
 
21
+ // Default footer assets
22
+ const assets = {
23
+ ...{
24
+ hhsLogo: (
25
+ <img
26
+ className="hhs-logo"
27
+ alt="Department of Health &amp; Human Services USA"
28
+ src="/images/hhs-logo-black.svg"
29
+ />
30
+ ),
31
+ qppLogo: (
32
+ <img
33
+ className="qpp-logo"
34
+ src="/images/qpp_logo_rgb_color.png"
35
+ alt="qpp logo"
36
+ />
37
+ ),
38
+ },
39
+ ...props.assets,
40
+ };
41
+
21
42
  const setLink = (link) => {
22
43
  return isIESupportPage ? "/" : link;
23
44
  };
@@ -236,18 +257,10 @@ const FooterUI = (props) => {
236
257
  </div>
237
258
  <div className="qpp-hhs-logo-container">
238
259
  <div className="qpp-logo-container">
239
- <img
240
- className="qpp-logo"
241
- src="/images/qpp_logo_rgb_color.png"
242
- alt="qpp logo"
243
- />
260
+ {assets.qppLogo}
244
261
  </div>
245
262
  <div className="hhs-logo-container">
246
- <img
247
- className="hhs-logo"
248
- alt="Department of Health &amp; Human Services USA"
249
- src="/images/hhs-logo-black.svg"
250
- />
263
+ {assets.hhsLogo}
251
264
  <p>
252
265
  A federal government website managed and
253
266
  paid for by the U.S Centers for Medicare
@@ -276,6 +289,10 @@ FooterUI.propTypes = {
276
289
  isNewFooter: PropTypes.bool,
277
290
  isIESupportPage: PropTypes.bool,
278
291
  showHcdResearch: PropTypes.bool,
292
+ assets: PropTypes.shape({
293
+ hhsLogo: PropTypes.element,
294
+ qppLogo: PropTypes.element,
295
+ }),
279
296
  };
280
297
 
281
298
  export default FooterUI;
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import PropTypes from "prop-types";
3
+ import { withKnobs } from "@storybook/addon-knobs";
4
+ import MadieSpinner from "./index";
5
+
6
+ export default {
7
+ title: "MadieSpinner",
8
+ component: MadieSpinner,
9
+ decorators: [withKnobs],
10
+ };
11
+
12
+ const Wrapper = ({ children }) => (
13
+ <div className="qpp-u-padding--16" style={{ width: 300 }}>
14
+ {children}
15
+ </div>
16
+ );
17
+
18
+ Wrapper.propTypes = {
19
+ className: PropTypes.string,
20
+ children: PropTypes.node,
21
+ };
22
+
23
+ export const ExampleSpinner = () => (
24
+ <Wrapper>
25
+ <MadieSpinner />
26
+ </Wrapper>
27
+ )
28
+
29
+ ExampleSpinner.storyName = "example Madie Spinner";
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { CircularProgress } from '@mui/material';
3
+ import { makeStyles } from "@mui/styles";
4
+ import PropTypes from "prop-types";
5
+
6
+ // To change the spinner size you have to pass style props for height and width.
7
+ const MadieSpinner = (props) => {
8
+ const useStyles = makeStyles({
9
+ svg: {
10
+ backgroundColor: 'transparent',
11
+ borderRadius: '100%',
12
+ // box shadow is our track. It needs to match the thickness of the svg element to look like it
13
+ // if we get a thickness value, we update our box shadow
14
+ boxShadow: `inset 0 0 0px ${props.thickness ? props.thickness : '7'}px #DDDDDD`,
15
+ },
16
+ circle: {
17
+ color: '#209FA6',
18
+ strokeLinecap: 'round',
19
+ }
20
+ });
21
+ const classes = useStyles();
22
+ return (
23
+ <CircularProgress
24
+ aria-label="loading-spinner"
25
+ classes={classes}
26
+ thickness={7}
27
+ style={{ height: 50, width: 50 }}
28
+ // Props overwrite whatever they want.
29
+ {...props}
30
+ />)
31
+ }
32
+
33
+ MadieSpinner.propTypes = {
34
+ thickness: PropTypes.number
35
+ };
36
+
37
+ export default MadieSpinner;
@@ -23,7 +23,7 @@ const useStyles = makeStyles({
23
23
  paddingBottom: 7.5,
24
24
  fontFamily: "Rubik",
25
25
  fontSize: 14,
26
- borderRadius: 3,
26
+ borderRadius: 3
27
27
  },
28
28
  },
29
29
  });
@@ -48,7 +48,7 @@ const Select = ({
48
48
  ...rest
49
49
  }) => {
50
50
  const classes = useStyles();
51
- const placehold = <span>{placeHolder?.name || "placeholder"}</span>;
51
+ const placehold = <span style={{ opacity: .6 }}>{placeHolder?.name || "placeholder"}</span>;
52
52
  return (
53
53
  <FormControl error={error} fullWidth>
54
54
  <InputLabel
@@ -28,7 +28,7 @@ const useStyles = makeStyles({
28
28
  borderRadius: 3,
29
29
  padding: "9px 14px",
30
30
  "&::placeholder": {
31
- opacity: 1,
31
+ opacity: .6,
32
32
  },
33
33
  },
34
34
  },
@@ -0,0 +1,49 @@
1
+ import React, { useState } from "react";
2
+ import { withKnobs } from "@storybook/addon-knobs";
3
+ import Toast from './index'
4
+
5
+ export default {
6
+ title: "Toast",
7
+ component: Toast,
8
+ decorators: [withKnobs],
9
+ };
10
+
11
+ export const SuccessToast = () => {
12
+ const [toastOpen, setToastOpen] = useState(false);
13
+ return (
14
+ <div style={{ height: '100vh', width: '100vw', backgroundColor: '#242424'}}>
15
+ <button onClick={() => setToastOpen(true)} style={{ position: 'absolute', top: '50%', left: 'calc(50% - 80px)'}}>
16
+ Simulate Success
17
+ </button>
18
+ <Toast
19
+ toastKey='toast-key'
20
+ testId="success-toast"
21
+ toastType='success'
22
+ open={toastOpen}
23
+ message='An action has successfully been completed'
24
+ onClose={() => setToastOpen(false)}
25
+ autoHideDuration={3000}
26
+ />
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export const DangerToast = () => {
32
+ const [toastOpen, setToastOpen] = useState(false);
33
+ return (
34
+ <div style={{ height: '100vh', width: '100vw', backgroundColor: '#242424'}}>
35
+ <button onClick={() => setToastOpen(true)} style={{ position: 'absolute', top: '50%', left: 'calc(50% - 80px)'}}>
36
+ Simulate Danger
37
+ </button>
38
+ <Toast
39
+ toastKey='toast-key'
40
+ toastType='danger'
41
+ testId="danger-toast"
42
+ open={toastOpen}
43
+ message='Something has gone wrong. Please try again'
44
+ onClose={() => setToastOpen(false)}
45
+ autoHideDuration={3000}
46
+ />
47
+ </div>
48
+ )
49
+ }
@@ -0,0 +1,121 @@
1
+ import React from 'react';
2
+ import { IconButton, Snackbar } from '@mui/material';
3
+ import CloseIcon from '@mui/icons-material/Close';
4
+ import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
5
+ import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';
6
+
7
+ const Toast = ({
8
+ open,
9
+ message,
10
+ toastType, // 'danger | success, more later when mockups come out
11
+ autoHideDuration,
12
+ onClose,
13
+ testId,
14
+ toastKey,
15
+ ...rest
16
+ }) => {
17
+ const dangerColor = '#D92F2F'
18
+ const successColor = '#4d7e23'
19
+ // we can map our colors and icons to make this reusable for multiple info types.
20
+ const colorMap = {
21
+ danger: dangerColor,
22
+ success: successColor
23
+ }
24
+ const iconMap = {
25
+ danger: ErrorOutlineIcon,
26
+ success: CheckCircleOutlineIcon
27
+ }
28
+ const selectedColor = colorMap[toastType];
29
+ const SelectedIcon = iconMap[toastType];
30
+
31
+ const Message = (
32
+ <div className='messageCont'>
33
+ <div>
34
+ <div className='errorCont'>
35
+ {SelectedIcon && (
36
+ <SelectedIcon
37
+ className='leftIcon'
38
+ />
39
+ )}
40
+ </div>
41
+ <p className='messageText' data-testid={testId}>
42
+ {message}
43
+ </p>
44
+ </div>
45
+ <div style={{display: 'block'}}>
46
+ <IconButton
47
+ className='icon-button'
48
+ aria-label="close"
49
+ color="inherit"
50
+ sx={{ p: 0}}
51
+ onClick={onClose}
52
+ >
53
+ <CloseIcon />
54
+ </IconButton>
55
+ </div>
56
+ </div>
57
+ )
58
+ return (
59
+ <Snackbar
60
+ key={toastKey ? toastKey : undefined}
61
+ anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
62
+ sx={{
63
+ overflow:'hidden',
64
+ color: selectedColor,
65
+ borderRadius: 1,
66
+ '& .MuiPaper-root': {
67
+ backgroundColor: '#fff',
68
+ padding: 0,
69
+ color: selectedColor
70
+ },
71
+ '& .MuiSvgIcon-root': {
72
+ color: '#242424'
73
+ },
74
+ '& .MuiSnackbarContent-message': {
75
+ padding: 0,
76
+ flexGrow: 1,
77
+ '.messageCont': {
78
+ display: 'flex',
79
+ flexDirection: 'row',
80
+ flexGrow: 1,
81
+ justifyContent: 'space-between',
82
+ 'div': {
83
+ display: 'flex',
84
+ '.messageText':{
85
+ m: 0,
86
+ p: 2.375,
87
+ fontFamily: 'Rubik',
88
+ fontWeight: 500,
89
+ fontSize: 14
90
+ },
91
+ '.errorCont':{
92
+ backgroundColor: selectedColor,
93
+ '.leftIcon':{
94
+ m: 2,
95
+ color: '#fff'
96
+ }
97
+ },
98
+ '.icon-button':{
99
+ m: 2,
100
+ '&. MuiSvgIcon-root': {
101
+ color: '#242424'
102
+ }
103
+ }
104
+ }
105
+ },
106
+ '& .MuiSvgIcon-root': {
107
+ color: '#242424'
108
+
109
+ }
110
+ }
111
+ }}
112
+
113
+ autoHideDuration={autoHideDuration}
114
+ open={open}
115
+ onClose={onClose}
116
+ message={message ? Message : undefined}
117
+ {...rest}
118
+ />)
119
+ }
120
+
121
+ export default Toast;
@@ -9,6 +9,7 @@ import Footer from "./Footer/FooterUI";
9
9
  import Header from "./Header/HeaderUI";
10
10
  import InputLabel from "./InputLabel";
11
11
  import FormControlLabel from "./FormControlLabel";
12
+ import MadieSpinner from './MadieSpinner';
12
13
  import Modal from "./Modal";
13
14
  import { Pagination } from "./Pagination";
14
15
  import SideNav from "./SideNav/UI/SideNavUI";
@@ -18,6 +19,7 @@ import TabPanel from "./Tabs/TabPanel";
18
19
  import Tabs from "./Tabs/index";
19
20
  import TextField from "./TextField";
20
21
  import Tooltip from "./Tooltip";
22
+ import Toast from './Toast';
21
23
  import Infotip from "./Infotip";
22
24
  import Search from "./Search";
23
25
  import TextInput from "./TextInput";
@@ -120,6 +122,7 @@ export {
120
122
  Icons,
121
123
  Infotip,
122
124
  Modal,
125
+ MadieSpinner,
123
126
  Pagination,
124
127
  Search,
125
128
  Select,
@@ -130,6 +133,7 @@ export {
130
133
  TextButton,
131
134
  TextInput,
132
135
  TextField,
136
+ Toast,
133
137
  Dropdown,
134
138
  Tooltip,
135
139
  DSLink,