@thecb/components 3.5.18 → 3.6.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.js +1 -1
- package/.storybook/page.js +0 -2
- package/dist/index.cjs.js +364 -350
- package/package.json +2 -2
- package/src/components/atoms/alert/Alert.js +34 -50
- package/src/components/atoms/breadcrumb/Breadcrumb.js +1 -4
- package/src/components/atoms/button-with-action/ButtonWithAction.js +2 -2
- package/src/components/atoms/checkbox/Checkbox.js +0 -1
- package/src/components/atoms/checkbox-list/CheckboxList.js +1 -3
- package/src/components/atoms/display-card/DisplayCard.js +2 -4
- package/src/components/atoms/dropdown/Dropdown.js +4 -4
- package/src/components/atoms/dropdown/Dropdown.stories.js +33 -10
- package/src/components/atoms/form-layouts/FormInput.js +4 -8
- package/src/components/atoms/form-layouts/FormLayouts.stories.js +5 -5
- package/src/components/atoms/hamburger-button/HamburgerButton.js +3 -4
- package/src/components/atoms/icons/AccountsIconSmall.js +13 -6
- package/src/components/atoms/icons/icons.stories.js +1 -1
- package/src/components/atoms/layouts/Box.styled.js +0 -1
- package/src/components/atoms/layouts/Cluster.styled.js +1 -5
- package/src/components/atoms/layouts/Cover.styled.js +1 -0
- package/src/components/atoms/layouts/Imposter.styled.js +1 -0
- package/src/components/atoms/layouts/Sidebar.js +2 -2
- package/src/components/atoms/layouts/Sidebar.styled.js +3 -9
- package/src/components/atoms/nav-footer/NavFooter.js +2 -1
- package/src/components/atoms/nav-header/NavHeader.js +2 -1
- package/src/components/atoms/radio-button/RadioButton.js +0 -1
- package/src/components/atoms/radio-button/RadioButton.stories.js +61 -26
- package/src/components/atoms/toggle-switch/ToggleSwitch.js +0 -1
- package/src/components/atoms/toggle-switch/ToggleSwitch.stories.js +51 -10
- package/src/components/molecules/content/Content.js +20 -0
- package/src/components/molecules/content/Content.theme.js +60 -0
- package/src/components/molecules/content/blocks/accordion-block/AccordionBlock.js +108 -0
- package/src/components/molecules/content/blocks/accordion-block/index.js +3 -0
- package/src/components/molecules/content/blocks/article-block/ArticleBlock.js +58 -0
- package/src/components/molecules/content/blocks/article-block/index.js +3 -0
- package/src/components/molecules/content/blocks/attached-file-block/AttachedFileBlock.js +60 -0
- package/src/components/molecules/content/blocks/attached-file-block/index.js +3 -0
- package/src/components/molecules/content/blocks/featured-content-block/FeaturedContentBlock.js +0 -0
- package/src/components/molecules/content/blocks/featured-content-block/index.js +0 -0
- package/src/components/molecules/content/blocks/hero-block/HeroBlock.js +54 -0
- package/src/components/molecules/content/blocks/hero-block/index.js +3 -0
- package/src/components/molecules/content/blocks/highlight-block/HighlightBlock.js +42 -0
- package/src/components/molecules/content/blocks/highlight-block/index.js +3 -0
- package/src/components/molecules/content/blocks/index.js +33 -0
- package/src/components/molecules/content/blocks/info-block/InfoBlock.js +15 -0
- package/src/components/molecules/content/blocks/info-block/index.js +3 -0
- package/src/components/molecules/content/blocks/location-block/LocationBlock.js +228 -0
- package/src/components/molecules/content/blocks/location-block/index.js +3 -0
- package/src/components/molecules/content/blocks/related-links-block/RelatedLinksBlock.js +35 -0
- package/src/components/molecules/content/blocks/related-links-block/index.js +3 -0
- package/src/components/molecules/content/blocks/screendoor-block/ScreendoorBlock.js +57 -0
- package/src/components/molecules/content/blocks/screendoor-block/ScreendoorForm.styled.js +314 -0
- package/src/components/molecules/content/blocks/screendoor-block/index.js +3 -0
- package/src/components/molecules/content/blocks/tagline-block/TaglineBlock.js +45 -0
- package/src/components/molecules/content/blocks/tagline-block/index.js +3 -0
- package/src/components/molecules/content/blocks/task-block/TaskBlock.js +40 -0
- package/src/components/molecules/content/blocks/task-block/index.js +3 -0
- package/src/components/molecules/content/blocks/text-block/TextBlock.js +40 -0
- package/src/components/molecules/content/blocks/text-block/index.js +3 -0
- package/src/components/molecules/content/header/Header.js +283 -0
- package/src/components/molecules/content/header/Header.theme.js +11 -0
- package/src/components/molecules/content/header/index.js +3 -0
- package/src/components/molecules/content/index.js +3 -0
- package/src/components/molecules/editable-list/EditableList.js +8 -11
- package/src/components/molecules/nav-menu/NavMenuDesktop.js +1 -2
- package/src/components/molecules/nav-menu/NavMenuMobile.js +1 -7
- package/src/components/molecules/obligation/Obligation.js +7 -9
- package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +23 -23
- package/src/components/molecules/radio-section/RadioSection.js +3 -7
- package/src/deprecated/components/radio-button/radio-button.js +1 -5
- package/src/deprecated/icons/IconInvalid.js +31 -7
- package/src/deprecated/icons/IconNeutral.js +4 -5
- package/src/deprecated/icons/IconValid.js +33 -8
- package/src/util/general.js +1 -10
- package/.tool-versions +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thecb/components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-beta.2",
|
|
4
4
|
"description": "Common lib for CityBase react components",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@babel/preset-react": "^7.0.0",
|
|
26
26
|
"@babel/register": "^7.6.2",
|
|
27
27
|
"@rollup/plugin-json": "^4.0.3",
|
|
28
|
-
"@storybook/addon-a11y": "5.3.14",
|
|
28
|
+
"@storybook/addon-a11y": "^5.3.14",
|
|
29
29
|
"@storybook/addon-actions": "^5.3.14",
|
|
30
30
|
"@storybook/addon-console": "^1.2.1",
|
|
31
31
|
"@storybook/addon-docs": "^5.3.19",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { AlertIcons, IconQuit } from "../../../deprecated/icons";
|
|
3
|
-
import { Box,
|
|
3
|
+
import { Box, Cluster, Stack, Cover, Sidebar } from "../layouts";
|
|
4
4
|
import Text from "../text";
|
|
5
5
|
import { fallbackValues } from "./Alert.theme";
|
|
6
6
|
import { themeComponent } from "../../../util/themeUtils";
|
|
@@ -8,34 +8,37 @@ import { themeComponent } from "../../../util/themeUtils";
|
|
|
8
8
|
const Alert = ({
|
|
9
9
|
heading,
|
|
10
10
|
text,
|
|
11
|
-
textOverride,
|
|
12
11
|
variant,
|
|
13
12
|
children,
|
|
14
13
|
height,
|
|
15
14
|
onLinkClick,
|
|
16
|
-
padding = "0.5rem",
|
|
17
15
|
showQuitLink = true,
|
|
18
|
-
maxContentWidth,
|
|
19
16
|
themeValues
|
|
20
17
|
}) => {
|
|
21
18
|
const Icon = AlertIcons[variant];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
19
|
+
return (
|
|
20
|
+
<Box
|
|
21
|
+
padding="0.5rem"
|
|
22
|
+
width="100%"
|
|
23
|
+
minHeight="100px"
|
|
24
|
+
height={height ? height : "auto"}
|
|
25
|
+
background={themeValues.background}
|
|
26
|
+
borderRadius="4px"
|
|
27
|
+
borderColor={themeValues.border}
|
|
28
|
+
borderSize="1px"
|
|
29
|
+
>
|
|
30
|
+
<Sidebar width="24px" childGap="0rem">
|
|
31
|
+
<Box padding="0 0.5rem 0 1rem" minHeight="100%">
|
|
32
|
+
<Cover minHeight="100%" singleChild>
|
|
33
|
+
<Box padding="0" width="1.5rem" minHeight="1.5rem">
|
|
34
|
+
<Icon />
|
|
35
|
+
</Box>
|
|
36
|
+
</Cover>
|
|
37
|
+
</Box>
|
|
38
|
+
<Box padding="0">
|
|
39
|
+
<Sidebar sidebarOnRight width="24px" childGap="0rem">
|
|
40
|
+
<Box padding="1rem 1rem 1rem 0.5rem">
|
|
41
|
+
<Cluster justify="flex-start" align="center">
|
|
39
42
|
<Stack fullHeight childGap="0.25rem">
|
|
40
43
|
<Text variant="p" color={themeValues.text} weight="600">
|
|
41
44
|
{heading}
|
|
@@ -45,37 +48,18 @@ const Alert = ({
|
|
|
45
48
|
</Text>
|
|
46
49
|
{children}
|
|
47
50
|
</Stack>
|
|
51
|
+
</Cluster>
|
|
52
|
+
</Box>
|
|
53
|
+
<Cluster justify="flex-end" align="flex-start">
|
|
54
|
+
{showQuitLink && (
|
|
55
|
+
<Box padding="0" minHeight="100%" onClick={onLinkClick}>
|
|
56
|
+
<IconQuit />
|
|
57
|
+
</Box>
|
|
48
58
|
)}
|
|
49
59
|
</Cluster>
|
|
50
|
-
</
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
<Box padding="0" minHeight="100%" onClick={onLinkClick}>
|
|
54
|
-
<IconQuit />
|
|
55
|
-
</Box>
|
|
56
|
-
)}
|
|
57
|
-
</Cluster>
|
|
58
|
-
</Sidebar>
|
|
59
|
-
</Box>
|
|
60
|
-
</Sidebar>
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
return (
|
|
64
|
-
<Box
|
|
65
|
-
padding={padding}
|
|
66
|
-
width="100%"
|
|
67
|
-
minHeight={height && parseInt(height) < 100 ? height : "100px"}
|
|
68
|
-
height={height ? height : "auto"}
|
|
69
|
-
background={themeValues.background}
|
|
70
|
-
borderRadius="4px"
|
|
71
|
-
borderColor={themeValues.border}
|
|
72
|
-
borderSize="1px"
|
|
73
|
-
>
|
|
74
|
-
{maxContentWidth ? (
|
|
75
|
-
<Center maxWidth={maxContentWidth}>{content}</Center>
|
|
76
|
-
) : (
|
|
77
|
-
content
|
|
78
|
-
)}
|
|
60
|
+
</Sidebar>
|
|
61
|
+
</Box>
|
|
62
|
+
</Sidebar>
|
|
79
63
|
</Box>
|
|
80
64
|
);
|
|
81
65
|
};
|
|
@@ -15,15 +15,12 @@ const Breadcrumbs = ({ breadcrumbsList = [] }) => {
|
|
|
15
15
|
"Breadcrumb"
|
|
16
16
|
);
|
|
17
17
|
return (
|
|
18
|
-
<Box padding="0"
|
|
18
|
+
<Box padding="0" role="region" aria-level="Breadcrumb navigation">
|
|
19
19
|
<Cluster justify="flex-start" align="center">
|
|
20
20
|
{breadcrumbsList.map(
|
|
21
21
|
({ linkText, linkDestination, isActive }, index) => (
|
|
22
22
|
<Fragment key={`breadcrumb-${linkText}`}>
|
|
23
23
|
<InternalLink
|
|
24
|
-
aria-current={
|
|
25
|
-
index === breadcrumbsList.length - 1 && "location"
|
|
26
|
-
}
|
|
27
24
|
to={linkDestination}
|
|
28
25
|
active={isActive.toString()}
|
|
29
26
|
color={themeValues.color}
|
|
@@ -103,7 +103,7 @@ const ButtonWithAction = ({
|
|
|
103
103
|
`;
|
|
104
104
|
const disabledStyles = `
|
|
105
105
|
background-clor: #6E727E;
|
|
106
|
-
border-
|
|
106
|
+
border-clor: #6E727E;
|
|
107
107
|
color: #FFFFFF;
|
|
108
108
|
&:focus {
|
|
109
109
|
box-shadow: 0 0 10px #6E727E;
|
|
@@ -123,7 +123,7 @@ const ButtonWithAction = ({
|
|
|
123
123
|
activeStyles={activeStyles}
|
|
124
124
|
disabledStyles={disabledStyles}
|
|
125
125
|
as="button"
|
|
126
|
-
onClick={
|
|
126
|
+
onClick={action}
|
|
127
127
|
borderRadius="2px"
|
|
128
128
|
theme={themeContext}
|
|
129
129
|
extraStyles={isLoading ? loadingExtraStyles : extraStyles}
|
|
@@ -35,7 +35,6 @@ const CheckboxListItem = ({
|
|
|
35
35
|
name,
|
|
36
36
|
imageUrl,
|
|
37
37
|
image,
|
|
38
|
-
imageAlt = "checkbox icon",
|
|
39
38
|
disabled,
|
|
40
39
|
borderColor,
|
|
41
40
|
color,
|
|
@@ -58,7 +57,6 @@ const CheckboxListItem = ({
|
|
|
58
57
|
<HiddenCheckboxInput id={`checkbox-${name}-${index}`} />
|
|
59
58
|
<CheckboxLabel
|
|
60
59
|
name={name}
|
|
61
|
-
aria-label={name}
|
|
62
60
|
htmlFor={`checkbox-${name}-${index}`}
|
|
63
61
|
onClick={disabled ? noop : onSelect}
|
|
64
62
|
onKeyDown={disabled ? noop : onSelect}
|
|
@@ -75,7 +73,7 @@ const CheckboxListItem = ({
|
|
|
75
73
|
</CheckboxLabel>
|
|
76
74
|
<Box padding="0rem 0.5rem 0rem 0rem" hiddenStyles={!imageUrl}>
|
|
77
75
|
<Cluster justify="flex-start" align="center">
|
|
78
|
-
<CheckboxItemIcon src={imageUrl}
|
|
76
|
+
<CheckboxItemIcon src={imageUrl} />
|
|
79
77
|
</Cluster>
|
|
80
78
|
</Box>
|
|
81
79
|
<Box padding="0rem 0.5rem 0rem 0rem" hiddenStyles={!image}>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import Stack from "../layouts/Stack";
|
|
3
3
|
import Box from "../layouts/Box";
|
|
4
4
|
import Text from "../text";
|
|
@@ -48,7 +48,7 @@ const DisplayCard = ({
|
|
|
48
48
|
dataQa={buttonText}
|
|
49
49
|
extraStyles={`min-width: 0;`}
|
|
50
50
|
/>
|
|
51
|
-
) :
|
|
51
|
+
) : (
|
|
52
52
|
<ButtonWithAction
|
|
53
53
|
text={buttonText}
|
|
54
54
|
action={buttonAction}
|
|
@@ -56,8 +56,6 @@ const DisplayCard = ({
|
|
|
56
56
|
dataQa={buttonText}
|
|
57
57
|
extraStyles={`min-width: 0;`}
|
|
58
58
|
/>
|
|
59
|
-
) : (
|
|
60
|
-
<Fragment />
|
|
61
59
|
)}
|
|
62
60
|
</Cluster>
|
|
63
61
|
</Box>
|
|
@@ -44,7 +44,7 @@ const DropdownItemWrapper = styled.div`
|
|
|
44
44
|
background-color: ${({ selected, themeValues }) =>
|
|
45
45
|
selected ? themeValues.selectedColor : WHITE};
|
|
46
46
|
text-align: start;
|
|
47
|
-
border-
|
|
47
|
+
border-size: 0px;
|
|
48
48
|
border-color: transparent;
|
|
49
49
|
box-shadow: none;
|
|
50
50
|
padding: 1rem;
|
|
@@ -200,7 +200,7 @@ const Dropdown = ({
|
|
|
200
200
|
tabIndex={0}
|
|
201
201
|
padding="0"
|
|
202
202
|
width="100%"
|
|
203
|
-
|
|
203
|
+
focusStyles={`background-color: ${themeValues.hoverColor};`}
|
|
204
204
|
aria-expanded={isOpen}
|
|
205
205
|
>
|
|
206
206
|
<Box
|
|
@@ -209,6 +209,7 @@ const Dropdown = ({
|
|
|
209
209
|
width="100%"
|
|
210
210
|
padding="12px"
|
|
211
211
|
hoverStyles={`background-color: ${themeValues.hoverColor};`}
|
|
212
|
+
focusStyles={`background-color: ${themeValues.hoverColor};`}
|
|
212
213
|
borderSize="1px"
|
|
213
214
|
borderColor={
|
|
214
215
|
isError
|
|
@@ -224,7 +225,6 @@ const Dropdown = ({
|
|
|
224
225
|
<Stack direction="row" bottomItem={2}>
|
|
225
226
|
{isOpen ? (
|
|
226
227
|
<SearchInput
|
|
227
|
-
aria-label={inputValue || "Dropdown awaiting search value"}
|
|
228
228
|
value={inputValue}
|
|
229
229
|
onChange={noop}
|
|
230
230
|
themeValues={themeValues}
|
|
@@ -242,7 +242,7 @@ const Dropdown = ({
|
|
|
242
242
|
</Stack>
|
|
243
243
|
</Box>
|
|
244
244
|
{isOpen ? (
|
|
245
|
-
<DropdownContentWrapper open={isOpen} ref={dropdownRef} tabIndex={
|
|
245
|
+
<DropdownContentWrapper open={isOpen} ref={dropdownRef} tabIndex={-1}>
|
|
246
246
|
<Stack childGap="0">
|
|
247
247
|
{filteredOptions.map((choice, i) => (
|
|
248
248
|
<DropdownItemWrapper
|
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
import React, { useState, useEffect } from "react";
|
|
2
|
+
import { withKnobs, text } from "@storybook/addon-knobs";
|
|
2
3
|
import Dropdown from "./Dropdown";
|
|
3
|
-
import
|
|
4
|
+
import { Cover, Center } from "../layouts";
|
|
5
|
+
import { ThemeProvider } from "styled-components";
|
|
6
|
+
|
|
7
|
+
const fakeTheme = {
|
|
8
|
+
Dropdown: {
|
|
9
|
+
selectedColor: "#15749D",
|
|
10
|
+
hoverColor: "#EFFAFF"
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
title: "Dropdown",
|
|
16
|
+
component: Dropdown,
|
|
17
|
+
decorators: [
|
|
18
|
+
withKnobs,
|
|
19
|
+
storyFn => (
|
|
20
|
+
<ThemeProvider
|
|
21
|
+
theme={{
|
|
22
|
+
name: text("Theme Name", "default"),
|
|
23
|
+
values: fakeTheme
|
|
24
|
+
}}
|
|
25
|
+
>
|
|
26
|
+
<Cover>
|
|
27
|
+
<div />
|
|
28
|
+
<Center>{storyFn()}</Center>
|
|
29
|
+
<div />
|
|
30
|
+
</Cover>
|
|
31
|
+
</ThemeProvider>
|
|
32
|
+
)
|
|
33
|
+
]
|
|
34
|
+
};
|
|
4
35
|
|
|
5
36
|
const options = [
|
|
6
37
|
{ text: "Please select an option", value: "" },
|
|
@@ -11,7 +42,7 @@ const options = [
|
|
|
11
42
|
|
|
12
43
|
const disabledValues = ["DISABLED_OPTION"];
|
|
13
44
|
|
|
14
|
-
export const
|
|
45
|
+
export const dropdownDefault = () => {
|
|
15
46
|
const [isOpen, setOpen] = useState(false);
|
|
16
47
|
const [value, setValue] = useState(null);
|
|
17
48
|
const [isError, setError] = useState(false);
|
|
@@ -37,11 +68,3 @@ export const dropdown = () => {
|
|
|
37
68
|
/>
|
|
38
69
|
);
|
|
39
70
|
};
|
|
40
|
-
|
|
41
|
-
const story = page({
|
|
42
|
-
title: "Components|Atoms/Dropdown",
|
|
43
|
-
Component: Dropdown,
|
|
44
|
-
height: "500px"
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
export default story;
|
|
@@ -46,7 +46,7 @@ const InputField = styled.input`
|
|
|
46
46
|
`;
|
|
47
47
|
|
|
48
48
|
// eslint-disable-next-line no-unused-vars
|
|
49
|
-
const FormattedInputField = styled(({ showErrors,
|
|
49
|
+
const FormattedInputField = styled(({ showErrors, ...props }) => (
|
|
50
50
|
<FormattedInput {...props} />
|
|
51
51
|
))`
|
|
52
52
|
border: 1px solid
|
|
@@ -106,7 +106,6 @@ const FormInput = ({
|
|
|
106
106
|
{helperModal ? (
|
|
107
107
|
<Cluster justify="space-between" align="center">
|
|
108
108
|
<Text
|
|
109
|
-
as="label"
|
|
110
109
|
color={themeValues.labelColor}
|
|
111
110
|
variant="pS"
|
|
112
111
|
weight={themeValues.fontWeight}
|
|
@@ -115,7 +114,6 @@ const FormInput = ({
|
|
|
115
114
|
&::first-letter {
|
|
116
115
|
text-transform: uppercase;
|
|
117
116
|
}`}
|
|
118
|
-
id={labelTextWhenNoError.replace(/\s+/g, "-")}
|
|
119
117
|
>
|
|
120
118
|
{labelTextWhenNoError}
|
|
121
119
|
</Text>
|
|
@@ -131,7 +129,6 @@ const FormInput = ({
|
|
|
131
129
|
<Box padding="0" minWidth="100%">
|
|
132
130
|
<Cluster justify="space-between" align="center">
|
|
133
131
|
<Text
|
|
134
|
-
as="label"
|
|
135
132
|
color={themeValues.labelColor}
|
|
136
133
|
variant="pS"
|
|
137
134
|
fontWeight={themeValues.fontWeight}
|
|
@@ -140,7 +137,7 @@ const FormInput = ({
|
|
|
140
137
|
&::first-letter {
|
|
141
138
|
text-transform: uppercase;
|
|
142
139
|
}`}
|
|
143
|
-
id={labelTextWhenNoError
|
|
140
|
+
id={labelTextWhenNoError}
|
|
144
141
|
>
|
|
145
142
|
{labelTextWhenNoError}
|
|
146
143
|
</Text>
|
|
@@ -150,7 +147,6 @@ const FormInput = ({
|
|
|
150
147
|
color={themeValues.linkColor}
|
|
151
148
|
weight={themeValues.fontWeight}
|
|
152
149
|
hoverStyles={themeValues.hoverFocusStyles}
|
|
153
|
-
focusStyles={themeValues.hoverFocusStyles}
|
|
154
150
|
extraStyles={`cursor: pointer;`}
|
|
155
151
|
onClick={() => setShowPassword(!showPassword)}
|
|
156
152
|
aria-label="Show password"
|
|
@@ -172,7 +168,7 @@ const FormInput = ({
|
|
|
172
168
|
<Box padding="0">
|
|
173
169
|
{formatter ? (
|
|
174
170
|
<FormattedInputField
|
|
175
|
-
aria-labelledby={labelTextWhenNoError
|
|
171
|
+
aria-labelledby={labelTextWhenNoError}
|
|
176
172
|
onChange={e => fieldActions.set(e)}
|
|
177
173
|
type={type}
|
|
178
174
|
value={field.rawValue}
|
|
@@ -189,7 +185,7 @@ const FormInput = ({
|
|
|
189
185
|
/>
|
|
190
186
|
) : (
|
|
191
187
|
<InputField
|
|
192
|
-
aria-labelledby={labelTextWhenNoError
|
|
188
|
+
aria-labelledby={labelTextWhenNoError}
|
|
193
189
|
onChange={e => fieldActions.set(e.target.value)}
|
|
194
190
|
type={type === "password" && showPassword ? "text" : type}
|
|
195
191
|
value={field.rawValue}
|
|
@@ -30,7 +30,7 @@ export const formLayouts = () => {
|
|
|
30
30
|
>
|
|
31
31
|
<FormInputRow childGap={text("rowChildGap", "1rem", "props")}>
|
|
32
32
|
<FormInput
|
|
33
|
-
labelTextWhenNoError="Form Layouts
|
|
33
|
+
labelTextWhenNoError="Form Layouts"
|
|
34
34
|
errorMessages="Error"
|
|
35
35
|
field={data.test}
|
|
36
36
|
/>
|
|
@@ -38,24 +38,24 @@ export const formLayouts = () => {
|
|
|
38
38
|
<FormInputRow childGap={text("rowChildGap", "1rem", "props")}>
|
|
39
39
|
<FormInputColumn childGap={text("columnChildGap", "0.5rem", "props")}>
|
|
40
40
|
<FormInput
|
|
41
|
-
labelTextWhenNoError="Form Layouts
|
|
41
|
+
labelTextWhenNoError="Form Layouts"
|
|
42
42
|
errorMessages="Error"
|
|
43
43
|
field={data.test}
|
|
44
44
|
/>
|
|
45
45
|
<FormInput
|
|
46
|
-
labelTextWhenNoError="Form Layouts
|
|
46
|
+
labelTextWhenNoError="Form Layouts"
|
|
47
47
|
errorMessages="Error"
|
|
48
48
|
field={data.test}
|
|
49
49
|
/>
|
|
50
50
|
</FormInputColumn>
|
|
51
51
|
<FormInputColumn childGap={text("columnChildGap", "0.5rem", "props")}>
|
|
52
52
|
<FormInput
|
|
53
|
-
labelTextWhenNoError="Form Layouts
|
|
53
|
+
labelTextWhenNoError="Form Layouts"
|
|
54
54
|
errorMessages="Error"
|
|
55
55
|
field={data.test}
|
|
56
56
|
/>
|
|
57
57
|
<FormInput
|
|
58
|
-
labelTextWhenNoError="Form Layouts
|
|
58
|
+
labelTextWhenNoError="Form Layouts"
|
|
59
59
|
errorMessages="Error"
|
|
60
60
|
field={data.test}
|
|
61
61
|
/>
|
|
@@ -97,15 +97,14 @@ const HamburgerButton = ({
|
|
|
97
97
|
activeColor,
|
|
98
98
|
inactiveColor,
|
|
99
99
|
isActive,
|
|
100
|
-
onClick = noop
|
|
101
|
-
controls
|
|
100
|
+
onClick = noop
|
|
102
101
|
}) => (
|
|
103
102
|
<Hamburger
|
|
104
103
|
className={isActive === true ? "active" : ""}
|
|
105
104
|
onClick={onClick}
|
|
106
105
|
type="button"
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
ariaLabel="Menu"
|
|
107
|
+
ariaControls="navigation"
|
|
109
108
|
>
|
|
110
109
|
<HamburgerBox>
|
|
111
110
|
<HamburgerInner
|
|
@@ -22,18 +22,25 @@ const AccountsIconSmall = ({ themeValues }) => {
|
|
|
22
22
|
height="27"
|
|
23
23
|
></rect>
|
|
24
24
|
</defs>
|
|
25
|
-
<g
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
<g
|
|
26
|
+
id="Random-Icon-Work"
|
|
27
|
+
stroke="none"
|
|
28
|
+
strokeWidth="1"
|
|
29
|
+
fill="none"
|
|
30
|
+
fillRule="evenodd"
|
|
31
|
+
>
|
|
32
|
+
<g id="Header/Desktop/Menu">
|
|
33
|
+
<g id="Header/Desktop/Menu/Accounts-Tab">
|
|
28
34
|
<g>
|
|
29
|
-
<g>
|
|
30
|
-
<g>
|
|
35
|
+
<g id="Payments">
|
|
36
|
+
<g id="folder-open">
|
|
31
37
|
<mask id="mask-2-accountssmall" fill="white">
|
|
32
38
|
<use xlinkHref="#path-1-accountssmall"></use>
|
|
33
39
|
</mask>
|
|
34
|
-
<g></g>
|
|
40
|
+
<g id="Mask"></g>
|
|
35
41
|
<path
|
|
36
42
|
d="M1.875,17.9609424 L4.30077547,13.8125148 C4.60546242,13.2968908 5.01561733,12.8867359 5.53124128,12.5820489 C6.04686523,12.277362 6.60936389,12.1250188 7.21873726,12.1250188 L7.21873726,12.1250188 L18.7499598,12.1250188 L18.7499598,10.4375228 C18.7499598,9.9687741 18.5858975,9.57033719 18.2577734,9.24221315 C17.9296494,8.91408911 17.5312125,8.75002682 17.0624638,8.75002682 L17.0624638,8.75002682 L11.4374772,8.75002682 L9.18748257,6.50003219 L3.56249598,6.50003219 C3.09374727,6.50003219 2.69531037,6.66409447 2.36718633,6.99221851 C2.03906229,7.32034255 1.875,7.71877946 1.875,8.18752816 L1.875,8.18752816 L1.875,17.9609424 Z M17.519494,20 C17.9179303,20 18.2929296,19.900391 18.6444913,19.7011726 C18.9960529,19.5019541 19.2655837,19.2265643 19.4530831,18.8750027 L19.4530831,18.8750027 L22.0194832,14.5156381 C22.1835455,14.2343887 22.1835455,13.9531394 22.0194832,13.6718901 C21.8554209,13.3906408 21.6093278,13.2500161 21.2812037,13.2500161 L21.2812037,13.2500161 L7.21873726,13.2500161 C6.82030089,13.2500161 6.4453016,13.3496251 6.09373994,13.5488435 C5.74217828,13.748062 5.47264749,14.0234517 5.28514812,14.3750134 L5.28514812,14.3750134 L2.71874799,18.734378 C2.5546857,19.0156273 2.5546857,19.2968767 2.71874799,19.578126 C2.88281028,19.8593753 3.12890344,20 3.45702748,20 L3.45702748,20 L17.519494,20 Z"
|
|
43
|
+
id="f"
|
|
37
44
|
fill={themeValues.singleIconColor}
|
|
38
45
|
fillRule="nonzero"
|
|
39
46
|
mask="url(#mask-2-accountssmall)"
|
|
@@ -48,5 +48,5 @@ export const routingNumberImage = () => <RoutingNumberImage />;
|
|
|
48
48
|
export const checkmarkIcon = () => <CheckmarkIcon />;
|
|
49
49
|
export const bankIcon = () => <BankIcon />;
|
|
50
50
|
export const genericCard = () => <GenericCard />;
|
|
51
|
-
export const
|
|
51
|
+
export const paymentIco = () => <PaymentIcon />;
|
|
52
52
|
export const autopayOnIcon = () => <AutopayOnIcon />;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import styled from "styled-components";
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
export const ClusterWrapper = styled(({ overflow, ...props }) => (
|
|
6
|
-
<div {...props} />
|
|
7
|
-
))`
|
|
3
|
+
export const ClusterWrapper = styled.div`
|
|
8
4
|
overflow: ${({ overflow }) => (overflow ? "visible" : "hidden")};
|
|
9
5
|
box-sizing: border-box;
|
|
10
6
|
`;
|
|
@@ -6,6 +6,7 @@ export const CoverOuterContainer = styled.div`
|
|
|
6
6
|
flex-direction: column;
|
|
7
7
|
min-height: ${({ minHeight }) => minHeight};
|
|
8
8
|
padding: ${({ padding }) => padding};
|
|
9
|
+
min-width: ${({ fillCenter }) => (fillCenter ? "100%" : "auto")};
|
|
9
10
|
|
|
10
11
|
> * {
|
|
11
12
|
margin-top: ${({ childGap }) => childGap};
|
|
@@ -18,7 +18,7 @@ import { safeChildren } from "../../../util/general";
|
|
|
18
18
|
const Sidebar = ({
|
|
19
19
|
childGap = "1rem",
|
|
20
20
|
width,
|
|
21
|
-
|
|
21
|
+
sidebarOnRight = false,
|
|
22
22
|
contentMinWidth = "50%",
|
|
23
23
|
fullHeight = false,
|
|
24
24
|
minHeight,
|
|
@@ -29,7 +29,7 @@ const Sidebar = ({
|
|
|
29
29
|
<SidebarInnerWrapper
|
|
30
30
|
childGap={childGap}
|
|
31
31
|
width={width}
|
|
32
|
-
|
|
32
|
+
sidebarOnRight={sidebarOnRight}
|
|
33
33
|
contentMinWidth={contentMinWidth}
|
|
34
34
|
fullHeight={fullHeight}
|
|
35
35
|
minHeight={minHeight}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import styled from "styled-components";
|
|
3
2
|
|
|
4
3
|
export const SidebarWrapper = styled.div`
|
|
@@ -8,12 +7,7 @@ export const SidebarWrapper = styled.div`
|
|
|
8
7
|
${({ fullHeight }) => (fullHeight ? `height: 100%;` : ``)}
|
|
9
8
|
`;
|
|
10
9
|
|
|
11
|
-
export const SidebarInnerWrapper = styled
|
|
12
|
-
// eslint-disable-next-line no-unused-vars
|
|
13
|
-
({ onRight, childGap, contentMinWidth, minHeight, fullHeight, ...props }) => (
|
|
14
|
-
<div {...props} />
|
|
15
|
-
)
|
|
16
|
-
)`
|
|
10
|
+
export const SidebarInnerWrapper = styled.div`
|
|
17
11
|
display: flex;
|
|
18
12
|
flex-wrap: wrap;
|
|
19
13
|
box-sizing: border-box;
|
|
@@ -26,8 +20,8 @@ export const SidebarInnerWrapper = styled(
|
|
|
26
20
|
${({ minHeight }) => (minHeight ? `margin-top: 0; margin-bottom: 0;` : ``)}
|
|
27
21
|
}
|
|
28
22
|
|
|
29
|
-
${({
|
|
30
|
-
|
|
23
|
+
${({ sidebarOnRight, contentMinWidth, childGap }) =>
|
|
24
|
+
sidebarOnRight
|
|
31
25
|
? `> :first-child {
|
|
32
26
|
flex-basis: 0;
|
|
33
27
|
flex-grow: 999;
|
|
@@ -10,6 +10,7 @@ const NavFooter = ({
|
|
|
10
10
|
largeSideSize = "2",
|
|
11
11
|
footerPadding = "1.5rem 1rem",
|
|
12
12
|
isMobile,
|
|
13
|
+
footerWidth,
|
|
13
14
|
...rest
|
|
14
15
|
}) => (
|
|
15
16
|
<Box
|
|
@@ -24,7 +25,7 @@ const NavFooter = ({
|
|
|
24
25
|
}
|
|
25
26
|
{...rest}
|
|
26
27
|
>
|
|
27
|
-
<Center maxWidth="76.5rem">
|
|
28
|
+
<Center maxWidth={footerWidth || "76.5rem"}>
|
|
28
29
|
<Cover singleChild minHeight="100%">
|
|
29
30
|
<Box minHeight="100%" padding="0">
|
|
30
31
|
<Switcher
|
|
@@ -7,6 +7,7 @@ const NavHeader = ({
|
|
|
7
7
|
headerHeight = "105px",
|
|
8
8
|
isMobile,
|
|
9
9
|
backgroundColor,
|
|
10
|
+
headerWidth,
|
|
10
11
|
...rest
|
|
11
12
|
}) => (
|
|
12
13
|
<Box
|
|
@@ -20,7 +21,7 @@ const NavHeader = ({
|
|
|
20
21
|
minWidth="100%"
|
|
21
22
|
{...rest}
|
|
22
23
|
>
|
|
23
|
-
<Center maxWidth="76.5rem">
|
|
24
|
+
<Center maxWidth={headerWidth || "76.5rem"}>
|
|
24
25
|
<Box minHeight="100%" padding="0">
|
|
25
26
|
<Cover singleChild minHeight={isMobile ? "72px" : headerHeight}>
|
|
26
27
|
<Cluster justify="space-between" align="center" overflow>
|