@madie/madie-design-system 1.0.0 → 1.0.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.
- package/.storybook/main.js +3 -0
- package/README.md +2 -3
- package/components/Accordion/Accordion.stories.js +11 -11
- package/components/Accordion/index.jsx +78 -76
- package/components/Alert/Alert.stories.js +60 -51
- package/components/Alert/index.js +46 -37
- package/components/Breadcrumb/Breadcrumb.stories.js +62 -62
- package/components/Breadcrumb/index.js +80 -71
- package/components/Button/Button.stories.js +92 -86
- package/components/Button/index.js +65 -65
- package/components/CalloutBox/CalloutBox.stories.js +75 -75
- package/components/CalloutBox/index.js +92 -92
- package/components/Card/Card.stories.js +135 -135
- package/components/Card/index.js +128 -121
- package/components/Dropdown/Dropdown.stories.js +73 -73
- package/components/Dropdown/index.js +72 -72
- package/components/Error/Collapsible.jsx +75 -70
- package/components/Error/ErrorUI.jsx +22 -22
- package/components/Error/error.js +20 -20
- package/components/FlashNotification/FlashNotificationUI.jsx +77 -77
- package/components/FlashNotification/index.js +23 -23
- package/components/Footer/Footer.stories.js +13 -13
- package/components/Footer/FooterUI.jsx +264 -252
- package/components/Footer/LegacyFooterUI.jsx +190 -180
- package/components/Footer/SocialLinks.jsx +58 -55
- package/components/Footer/Subscribe.jsx +29 -29
- package/components/Footer/footer.js +21 -21
- package/components/FormControlLabel/index.jsx +23 -0
- package/components/Header/Header.stories.js +29 -26
- package/components/Header/HeaderAccountMenu.jsx +163 -149
- package/components/Header/HeaderCancel.jsx +8 -8
- package/components/Header/HeaderContainer.jsx +48 -43
- package/components/Header/HeaderLogo.jsx +34 -34
- package/components/Header/HeaderMenuButton.js +39 -39
- package/components/Header/HeaderMenuItem.jsx +252 -205
- package/components/Header/HeaderMenuLink.js +37 -37
- package/components/Header/HeaderMenuSignOutButton.js +50 -50
- package/components/Header/HeaderMobileButton.js +29 -29
- package/components/Header/HeaderUI.jsx +164 -147
- package/components/Header/HelpIcon.jsx +15 -15
- package/components/Header/ImpersonatorBanner.jsx +50 -47
- package/components/Header/NavigationButtonIcon.jsx +21 -21
- package/components/Header/header.js +36 -34
- package/components/Header/hooks.js +42 -35
- package/components/Header/utag-helpers.js +8 -8
- package/components/Infotip/Infotip.jsx +48 -48
- package/components/Infotip/Infotip.stories.js +32 -30
- package/components/Infotip/InfotipIcon.jsx +30 -30
- package/components/Infotip/index.js +1 -1
- package/components/InputLabel/index.jsx +58 -0
- package/components/Link/Link.stories.js +65 -64
- package/components/Link/index.js +46 -46
- package/components/Modal/LegacyModal.jsx +56 -54
- package/components/Modal/Modal.jsx +121 -121
- package/components/Modal/Modal.stories.js +152 -144
- package/components/Modal/index.jsx +11 -11
- package/components/NotificationBanner/NotificationBanner.stories.js +16 -16
- package/components/NotificationBanner/index.js +239 -225
- package/components/Pagination/index.jsx +212 -0
- package/components/SanitizedContent/index.jsx +183 -183
- package/components/Search/Search.stories.js +14 -14
- package/components/Search/index.js +72 -72
- package/components/Select/Select.stories.js +168 -0
- package/components/Select/index.jsx +103 -0
- package/components/SessionDialog/sessionDialog.js +20 -20
- package/components/SessionDialogUI.jsx +231 -219
- package/components/SideNav/AnimationGroup/AnimationGroup.jsx +19 -17
- package/components/SideNav/Chart/ScoreChart.jsx +238 -229
- package/components/SideNav/Chart/__tests__/ScoreChart.test.js +15 -15
- package/components/SideNav/Chart/index.js +1 -1
- package/components/SideNav/Content/LevelOneContent.jsx +194 -190
- package/components/SideNav/Content/LevelTwoContent.jsx +208 -195
- package/components/SideNav/Content/index.js +2 -2
- package/components/SideNav/Details/IndividualDetails.jsx +10 -10
- package/components/SideNav/Details/PracticeDetails.jsx +36 -34
- package/components/SideNav/Details/index.js +2 -2
- package/components/SideNav/Links/CmsSwitchLink.jsx +32 -32
- package/components/SideNav/Links/NavItemInline.jsx +44 -44
- package/components/SideNav/Links/NavLinkContainer.jsx +27 -25
- package/components/SideNav/Links/NavLinkDrawer.jsx +267 -231
- package/components/SideNav/Links/NavLinkInline.jsx +94 -92
- package/components/SideNav/Links/NavLinkToggle.jsx +25 -25
- package/components/SideNav/Links/index.js +10 -10
- package/components/SideNav/SideNav.stories.js +320 -288
- package/components/SideNav/UI/SideNavUI.jsx +321 -301
- package/components/SideNav/UI/index.js +1 -1
- package/components/SideNav/helpers.js +33 -33
- package/components/SideNav/index.js +46 -46
- package/components/Spinner/index.js +6 -6
- package/components/Tabs/Tab.js +19 -19
- package/components/Tabs/TabPanel.js +31 -24
- package/components/Tabs/Tabs.stories.js +118 -108
- package/components/Tabs/index.js +84 -79
- package/components/TextField/TextField.stories.js +103 -0
- package/components/TextField/index.jsx +80 -0
- package/components/TextInput/TextInput.stories.js +84 -84
- package/components/TextInput/index.js +123 -123
- package/components/Tooltip/Tooltip.jsx +57 -57
- package/components/Tooltip/Tooltip.stories.js +50 -50
- package/components/Tooltip/index.js +1 -1
- package/components/Tooltip/position.js +42 -34
- package/components/UnwrappedSpinner/index.js +5 -5
- package/components/hooks/useGetConfig.js +64 -55
- package/components/index.js +129 -119
- package/coverage/clover.xml +1333 -0
- package/coverage/coverage-final.json +73 -0
- package/coverage/lcov-report/InputLabel/index.html +116 -0
- package/coverage/lcov-report/InputLabel/index.jsx.html +214 -0
- package/coverage/lcov-report/Select/index.html +116 -0
- package/coverage/lcov-report/Select/index.jsx.html +391 -0
- package/coverage/lcov-report/Textfield/index.html +116 -0
- package/coverage/lcov-report/Textfield/index.jsx.html +322 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +506 -0
- package/coverage/lcov-report/index.jsx.html +688 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +370 -0
- package/coverage/lcov-report/react/components/Button/index.html +116 -0
- package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +364 -0
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
- package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
- package/coverage/lcov-report/react/components/Error/index.html +146 -0
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +928 -0
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +697 -0
- package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +274 -0
- package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
- package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
- package/coverage/lcov-report/react/components/Footer/index.html +176 -0
- package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +634 -0
- package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
- package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +289 -0
- package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +922 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
- package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
- package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +637 -0
- package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
- package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +265 -0
- package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
- package/coverage/lcov-report/react/components/Header/header.js.html +211 -0
- package/coverage/lcov-report/react/components/Header/hooks.js.html +262 -0
- package/coverage/lcov-report/react/components/Header/index.html +341 -0
- package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
- package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
- package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
- package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
- package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +214 -0
- package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +307 -0
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
- package/coverage/lcov-report/react/components/Modal/index.html +146 -0
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
- package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
- package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +922 -0
- package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
- package/coverage/lcov-report/react/components/Pagination/index.jsx.html +721 -0
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
- package/coverage/lcov-report/react/components/Select/index.html +116 -0
- package/coverage/lcov-report/react/components/Select/index.jsx.html +391 -0
- package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
- package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +904 -0
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +172 -0
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +916 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
- package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +721 -0
- package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +772 -0
- package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
- package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
- package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
- package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +226 -0
- package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
- package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
- package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +205 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +940 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +412 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
- package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
- package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
- package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1144 -0
- package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
- package/coverage/lcov-report/react/components/SideNav/helpers.js.html +232 -0
- package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
- package/coverage/lcov-report/react/components/Textfield/index.html +116 -0
- package/coverage/lcov-report/react/components/Textfield/index.jsx.html +322 -0
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
- package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +313 -0
- package/coverage/lcov-report/react/components/hooks/index.html +116 -0
- package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +334 -0
- package/coverage/lcov-report/react/components/index.html +116 -0
- package/coverage/lcov-report/react/index.html +116 -0
- package/coverage/lcov-report/react/index.js.html +178 -0
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
- package/coverage/lcov-report/react/lib/index.html +146 -0
- package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
- package/coverage/lcov-report/react/session/index.html +161 -0
- package/coverage/lcov-report/react/session/index.js.html +100 -0
- package/coverage/lcov-report/react/session/logout.js.html +280 -0
- package/coverage/lcov-report/react/session/refresh.js.html +232 -0
- package/coverage/lcov-report/react/session/ttl.js.html +196 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +3007 -0
- package/dist/browser.js +1 -3
- package/dist/index.js +1 -3
- package/dist/react/index.html +1 -0
- package/dist/react/index.js +199 -1
- package/dist/react/index.js.LICENSE.txt +37 -1
- package/dist/react/index.js.map +1 -1
- package/package.json +29 -15
- package/storybook-static/favicon.ico +0 -0
- package/styles/qppds/components/_button.scss +29 -1
- package/test/components/Accordion.test.js +10 -10
- package/test/components/ErrorUI.test.js +29 -30
- package/test/components/FooterUI.test.js +82 -80
- package/test/components/HeaderUI.test.js +42 -38
- package/test/components/Infotip.test.js +64 -61
- package/test/components/Pagination.test.js +55 -0
- package/test/components/Select.test.js +113 -0
- package/test/components/SessionDialogUI.test.js +302 -294
- package/test/components/SideNavUI.test.js +19 -19
- package/test/components/TextField.test.js +50 -0
- package/test/components/Tooltip.test.js +133 -133
- package/test/index.test.js +6 -6
- package/test/session/session.test.js +200 -200
- package/test-setup.js +1 -1
- package/webpack.config.js +9 -11
- package/webpack.config.react.js +7 -2
- package/dist/browser.js.LICENSE.txt +0 -54
- package/dist/browser.js.map +0 -1
- package/dist/index.js.LICENSE.txt +0 -54
- package/dist/index.js.map +0 -1
package/.storybook/main.js
CHANGED
package/README.md
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Madie/madie-design-system React
|
|
2
2
|
|
|
3
|
-
This directory contains react implementations of the components for
|
|
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,20 +1,20 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import Accordion from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Accordion from ".";
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
title: "Accordion",
|
|
6
|
+
component: Accordion,
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export const Example = () => (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
<div style={{ padding: "20px", maxWidth: "500px" }}>
|
|
11
|
+
<Accordion title="Accordion title">My accordion content</Accordion>
|
|
12
|
+
</div>
|
|
13
13
|
);
|
|
14
14
|
|
|
15
15
|
export const Focus = () => (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
<div style={{ padding: "20px", maxWidth: "500px" }}>
|
|
17
|
+
<input />
|
|
18
|
+
<Accordion title="Accordion title">My accordion content</Accordion>
|
|
19
|
+
</div>
|
|
20
20
|
);
|
|
@@ -1,93 +1,95 @@
|
|
|
1
|
-
import React, { useState, useRef, useEffect } from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import { Chevron } from
|
|
1
|
+
import React, { useState, useRef, useEffect } from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import { Chevron } from "../../lib/Chevron.jsx";
|
|
4
4
|
|
|
5
5
|
const Accordion = (props) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
function toggleAccordion() {
|
|
19
|
-
setActiveState(setActive === '' ? 'active' : '');
|
|
20
|
-
}
|
|
6
|
+
const content = useRef(null);
|
|
7
|
+
const [setActive, setActiveState] = useState(props.isOpen ? "active" : "");
|
|
8
|
+
const ariaPressed = setActive ? "true" : "false";
|
|
9
|
+
const getHeight = (node) => {
|
|
10
|
+
if (node) {
|
|
11
|
+
return `${node.scrollHeight}px`;
|
|
12
|
+
}
|
|
13
|
+
return "auto";
|
|
14
|
+
};
|
|
15
|
+
const height = setActive ? getHeight(content.current) : "0px";
|
|
16
|
+
const rotate = setActive ? "accordion-icon rotate" : "accordion-icon";
|
|
21
17
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
function toggleAccordion() {
|
|
19
|
+
setActiveState(setActive === "" ? "active" : "");
|
|
20
|
+
}
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
function openAccordion() {
|
|
23
|
+
setActiveState("active");
|
|
24
|
+
}
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
openAccordion();
|
|
33
|
-
} else {
|
|
34
|
-
closeAccordion();
|
|
26
|
+
function closeAccordion() {
|
|
27
|
+
setActiveState("");
|
|
35
28
|
}
|
|
36
|
-
}, [props.isOpen]);
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (props.isOpen) {
|
|
32
|
+
openAccordion();
|
|
33
|
+
} else {
|
|
34
|
+
closeAccordion();
|
|
35
|
+
}
|
|
36
|
+
}, [props.isOpen]);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<div className="accordion-section" data-testid="accordion">
|
|
40
|
+
<button
|
|
41
|
+
className={`accordion ${setActive}`}
|
|
42
|
+
aria-label={props.title}
|
|
43
|
+
aria-pressed={ariaPressed}
|
|
44
|
+
aria-expanded={ariaPressed}
|
|
45
|
+
tabIndex="0"
|
|
46
|
+
onClick={toggleAccordion}
|
|
47
|
+
>
|
|
48
|
+
<div className="accordion-left-title">
|
|
49
|
+
<p className="accordion-title">{props.title}</p>
|
|
50
|
+
{props.subTitle && (
|
|
51
|
+
<p className="accordion-subtitle">{props.subTitle}</p>
|
|
52
|
+
)}
|
|
53
|
+
</div>
|
|
54
|
+
{props.centerItem && (
|
|
55
|
+
<div className="accordion-center">
|
|
56
|
+
<p>{props.centerItem}</p>
|
|
57
|
+
</div>
|
|
58
|
+
)}
|
|
59
|
+
{props.rightItem && (
|
|
60
|
+
<div className="accordion-right">
|
|
61
|
+
<p>{props.rightItem}</p>
|
|
62
|
+
</div>
|
|
63
|
+
)}
|
|
64
|
+
<div className="chevron-container">
|
|
65
|
+
<Chevron className={rotate} />
|
|
66
|
+
</div>
|
|
67
|
+
</button>
|
|
68
|
+
<div
|
|
69
|
+
ref={content}
|
|
70
|
+
style={{ maxHeight: height }}
|
|
71
|
+
className="accordion-content"
|
|
72
|
+
>
|
|
73
|
+
<div className="accordion-text dashed-border">
|
|
74
|
+
{props.children}
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
66
77
|
</div>
|
|
67
|
-
|
|
68
|
-
<div
|
|
69
|
-
ref={content}
|
|
70
|
-
style={{ maxHeight: height }}
|
|
71
|
-
className="accordion-content"
|
|
72
|
-
>
|
|
73
|
-
<div className="accordion-text dashed-border">{props.children}</div>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
);
|
|
78
|
+
);
|
|
77
79
|
};
|
|
78
80
|
|
|
79
81
|
Accordion.propTypes = {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
title: PropTypes.string.isRequired,
|
|
83
|
+
subTitle: PropTypes.string,
|
|
84
|
+
children: PropTypes.any.isRequired,
|
|
85
|
+
centerItem: PropTypes.string,
|
|
86
|
+
rightItem: PropTypes.string,
|
|
87
|
+
isOpen: PropTypes.bool,
|
|
86
88
|
};
|
|
87
89
|
|
|
88
90
|
Accordion.defaultProps = {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
title: "",
|
|
92
|
+
isOpen: false,
|
|
91
93
|
};
|
|
92
94
|
|
|
93
95
|
export default Accordion;
|
|
@@ -1,61 +1,70 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
|
|
3
|
-
import Alert from
|
|
3
|
+
import Alert from "./index";
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
title: "Alert",
|
|
7
|
+
component: Alert,
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export const Default = () => (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
11
|
+
<div className="qpp-u-padding--16">
|
|
12
|
+
<h1 className="h3">Information</h1>
|
|
13
|
+
<Alert
|
|
14
|
+
title="Information Alert"
|
|
15
|
+
description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida."
|
|
16
|
+
/>
|
|
17
|
+
<h2 className="h3">Warning</h2>
|
|
18
|
+
<Alert
|
|
19
|
+
variant="warning"
|
|
20
|
+
title={{ headingLevel: "h3", text: "Warning Alert" }}
|
|
21
|
+
>
|
|
22
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
23
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
24
|
+
eleifend gravida.
|
|
25
|
+
</Alert>
|
|
26
|
+
<h2 className="h3">Error</h2>
|
|
27
|
+
<Alert
|
|
28
|
+
variant="error"
|
|
29
|
+
title={{ headingLevel: "h3", text: "Error Alert" }}
|
|
30
|
+
>
|
|
31
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
32
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
33
|
+
eleifend gravida.
|
|
34
|
+
</Alert>
|
|
35
|
+
<h2 className="h3">Success</h2>
|
|
36
|
+
<Alert
|
|
37
|
+
variant="success"
|
|
38
|
+
title={{ headingLevel: "h3", text: "Success Alert" }}
|
|
39
|
+
>
|
|
40
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
41
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
42
|
+
eleifend gravida.
|
|
43
|
+
</Alert>
|
|
44
|
+
</div>
|
|
39
45
|
);
|
|
40
46
|
|
|
41
47
|
export const WithoutHeading = () => (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
48
|
+
<div className="qpp-u-padding--16">
|
|
49
|
+
<h1 className="h3">Information</h1>
|
|
50
|
+
<Alert description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida." />
|
|
51
|
+
<h1 className="h3">Warning</h1>
|
|
52
|
+
<Alert variant="warning">
|
|
53
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
54
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
55
|
+
eleifend gravida.
|
|
56
|
+
</Alert>
|
|
57
|
+
<h1 className="h3">Error</h1>
|
|
58
|
+
<Alert variant="error">
|
|
59
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
60
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
61
|
+
eleifend gravida.
|
|
62
|
+
</Alert>
|
|
63
|
+
<h1 className="h3">Success</h1>
|
|
64
|
+
<Alert variant="success">
|
|
65
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
|
|
66
|
+
imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
|
|
67
|
+
eleifend gravida.
|
|
68
|
+
</Alert>
|
|
69
|
+
</div>
|
|
61
70
|
);
|
|
@@ -1,46 +1,55 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import PropTypes from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
3
|
|
|
4
|
-
const Alert = ({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
{
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
4
|
+
const Alert = ({
|
|
5
|
+
title,
|
|
6
|
+
children,
|
|
7
|
+
description,
|
|
8
|
+
variant,
|
|
9
|
+
className,
|
|
10
|
+
...rest
|
|
11
|
+
}) => {
|
|
12
|
+
const HeadingComponent = title?.headingLevel || "h2";
|
|
13
|
+
return (
|
|
14
|
+
<div
|
|
15
|
+
className={`qpp-c-alert qpp-c-alert--${variant} ${className}`}
|
|
16
|
+
role="alert"
|
|
17
|
+
{...rest}
|
|
18
|
+
>
|
|
19
|
+
<div className="qpp-c-alert__body">
|
|
20
|
+
{title && (
|
|
21
|
+
<HeadingComponent className="h4 qpp-c-alert__heading">
|
|
22
|
+
{typeof title === "object" ? title.text : title}
|
|
23
|
+
</HeadingComponent>
|
|
24
|
+
)}
|
|
25
|
+
{description && (
|
|
26
|
+
<p className="qpp-c-alert__text">{description}</p>
|
|
27
|
+
)}
|
|
28
|
+
{children}
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
23
32
|
};
|
|
24
33
|
|
|
25
34
|
Alert.propTypes = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
children: PropTypes.node,
|
|
36
|
+
className: PropTypes.string,
|
|
37
|
+
description: PropTypes.string,
|
|
38
|
+
title: PropTypes.oneOfType([
|
|
39
|
+
PropTypes.string,
|
|
40
|
+
PropTypes.shape({
|
|
41
|
+
text: PropTypes.string,
|
|
42
|
+
headingLevel: PropTypes.string,
|
|
43
|
+
}),
|
|
44
|
+
]),
|
|
45
|
+
variant: PropTypes.oneOf(["info", "warning", "success", "error"]),
|
|
37
46
|
};
|
|
38
47
|
Alert.defaultProps = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
children: null,
|
|
49
|
+
className: "",
|
|
50
|
+
description: null,
|
|
51
|
+
title: null,
|
|
52
|
+
variant: "info",
|
|
44
53
|
};
|
|
45
54
|
|
|
46
55
|
export default Alert;
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import Breadcrumb from
|
|
3
|
-
import { withKnobs, boolean } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Breadcrumb from "./index";
|
|
3
|
+
import { withKnobs, boolean } from "@storybook/addon-knobs";
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
title: "Breadcrumb",
|
|
7
|
+
component: Breadcrumb,
|
|
8
|
+
decorators: [withKnobs],
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export const ExampleLightBreadcrumb = () => (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
12
|
+
<div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
|
|
13
|
+
<Breadcrumb
|
|
14
|
+
newBreadcrumb={boolean("newBreadcrumb", true)}
|
|
15
|
+
crumbs={[
|
|
16
|
+
{
|
|
17
|
+
url: "/",
|
|
18
|
+
category: "MainContent",
|
|
19
|
+
label: "Home",
|
|
20
|
+
title: "Home",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
url: "/",
|
|
24
|
+
category: "MainContent",
|
|
25
|
+
label: "Mips Overview",
|
|
26
|
+
title: "Mips Overview",
|
|
27
|
+
},
|
|
28
|
+
]}
|
|
29
|
+
/>
|
|
30
|
+
</div>
|
|
31
31
|
);
|
|
32
32
|
|
|
33
|
-
ExampleLightBreadcrumb.storyName =
|
|
33
|
+
ExampleLightBreadcrumb.storyName = "Light";
|
|
34
34
|
|
|
35
35
|
export const ExampleScreenreaderOnlyBreadcrumb = () => (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
<div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
|
|
37
|
+
<Breadcrumb
|
|
38
|
+
newBreadcrumb={boolean("newBreadcrumb", true)}
|
|
39
|
+
crumbs={[
|
|
40
|
+
{
|
|
41
|
+
url: "/",
|
|
42
|
+
category: "MainContent",
|
|
43
|
+
label: "Home",
|
|
44
|
+
title: "Home",
|
|
45
|
+
},
|
|
46
|
+
"Mips Overview",
|
|
47
|
+
]}
|
|
48
|
+
/>
|
|
49
|
+
</div>
|
|
50
50
|
);
|
|
51
|
-
ExampleScreenreaderOnlyBreadcrumb.storyName =
|
|
51
|
+
ExampleScreenreaderOnlyBreadcrumb.storyName = "SR Only Breadcrumb";
|
|
52
52
|
|
|
53
53
|
export const ExampleDarkBreadcrumb = () => (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
<div className="qppds qpp-u-padding--16">
|
|
55
|
+
<Breadcrumb
|
|
56
|
+
newBreadcrumb={boolean("newBreadcrumb", true)}
|
|
57
|
+
dark
|
|
58
|
+
crumbs={[
|
|
59
|
+
{
|
|
60
|
+
url: "/",
|
|
61
|
+
category: "MainContent",
|
|
62
|
+
label: "Home",
|
|
63
|
+
title: "Home",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
url: "/",
|
|
67
|
+
category: "MainContent",
|
|
68
|
+
label: "Mips Overview",
|
|
69
|
+
title: "Mips Overview",
|
|
70
|
+
},
|
|
71
|
+
]}
|
|
72
|
+
/>
|
|
73
|
+
</div>
|
|
74
74
|
);
|
|
75
75
|
|
|
76
|
-
ExampleDarkBreadcrumb.storyName =
|
|
76
|
+
ExampleDarkBreadcrumb.storyName = "Dark";
|