@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.
Files changed (75) hide show
  1. package/.storybook/main.js +1 -1
  2. package/.storybook/page.js +0 -2
  3. package/dist/index.cjs.js +364 -350
  4. package/package.json +2 -2
  5. package/src/components/atoms/alert/Alert.js +34 -50
  6. package/src/components/atoms/breadcrumb/Breadcrumb.js +1 -4
  7. package/src/components/atoms/button-with-action/ButtonWithAction.js +2 -2
  8. package/src/components/atoms/checkbox/Checkbox.js +0 -1
  9. package/src/components/atoms/checkbox-list/CheckboxList.js +1 -3
  10. package/src/components/atoms/display-card/DisplayCard.js +2 -4
  11. package/src/components/atoms/dropdown/Dropdown.js +4 -4
  12. package/src/components/atoms/dropdown/Dropdown.stories.js +33 -10
  13. package/src/components/atoms/form-layouts/FormInput.js +4 -8
  14. package/src/components/atoms/form-layouts/FormLayouts.stories.js +5 -5
  15. package/src/components/atoms/hamburger-button/HamburgerButton.js +3 -4
  16. package/src/components/atoms/icons/AccountsIconSmall.js +13 -6
  17. package/src/components/atoms/icons/icons.stories.js +1 -1
  18. package/src/components/atoms/layouts/Box.styled.js +0 -1
  19. package/src/components/atoms/layouts/Cluster.styled.js +1 -5
  20. package/src/components/atoms/layouts/Cover.styled.js +1 -0
  21. package/src/components/atoms/layouts/Imposter.styled.js +1 -0
  22. package/src/components/atoms/layouts/Sidebar.js +2 -2
  23. package/src/components/atoms/layouts/Sidebar.styled.js +3 -9
  24. package/src/components/atoms/nav-footer/NavFooter.js +2 -1
  25. package/src/components/atoms/nav-header/NavHeader.js +2 -1
  26. package/src/components/atoms/radio-button/RadioButton.js +0 -1
  27. package/src/components/atoms/radio-button/RadioButton.stories.js +61 -26
  28. package/src/components/atoms/toggle-switch/ToggleSwitch.js +0 -1
  29. package/src/components/atoms/toggle-switch/ToggleSwitch.stories.js +51 -10
  30. package/src/components/molecules/content/Content.js +20 -0
  31. package/src/components/molecules/content/Content.theme.js +60 -0
  32. package/src/components/molecules/content/blocks/accordion-block/AccordionBlock.js +108 -0
  33. package/src/components/molecules/content/blocks/accordion-block/index.js +3 -0
  34. package/src/components/molecules/content/blocks/article-block/ArticleBlock.js +58 -0
  35. package/src/components/molecules/content/blocks/article-block/index.js +3 -0
  36. package/src/components/molecules/content/blocks/attached-file-block/AttachedFileBlock.js +60 -0
  37. package/src/components/molecules/content/blocks/attached-file-block/index.js +3 -0
  38. package/src/components/molecules/content/blocks/featured-content-block/FeaturedContentBlock.js +0 -0
  39. package/src/components/molecules/content/blocks/featured-content-block/index.js +0 -0
  40. package/src/components/molecules/content/blocks/hero-block/HeroBlock.js +54 -0
  41. package/src/components/molecules/content/blocks/hero-block/index.js +3 -0
  42. package/src/components/molecules/content/blocks/highlight-block/HighlightBlock.js +42 -0
  43. package/src/components/molecules/content/blocks/highlight-block/index.js +3 -0
  44. package/src/components/molecules/content/blocks/index.js +33 -0
  45. package/src/components/molecules/content/blocks/info-block/InfoBlock.js +15 -0
  46. package/src/components/molecules/content/blocks/info-block/index.js +3 -0
  47. package/src/components/molecules/content/blocks/location-block/LocationBlock.js +228 -0
  48. package/src/components/molecules/content/blocks/location-block/index.js +3 -0
  49. package/src/components/molecules/content/blocks/related-links-block/RelatedLinksBlock.js +35 -0
  50. package/src/components/molecules/content/blocks/related-links-block/index.js +3 -0
  51. package/src/components/molecules/content/blocks/screendoor-block/ScreendoorBlock.js +57 -0
  52. package/src/components/molecules/content/blocks/screendoor-block/ScreendoorForm.styled.js +314 -0
  53. package/src/components/molecules/content/blocks/screendoor-block/index.js +3 -0
  54. package/src/components/molecules/content/blocks/tagline-block/TaglineBlock.js +45 -0
  55. package/src/components/molecules/content/blocks/tagline-block/index.js +3 -0
  56. package/src/components/molecules/content/blocks/task-block/TaskBlock.js +40 -0
  57. package/src/components/molecules/content/blocks/task-block/index.js +3 -0
  58. package/src/components/molecules/content/blocks/text-block/TextBlock.js +40 -0
  59. package/src/components/molecules/content/blocks/text-block/index.js +3 -0
  60. package/src/components/molecules/content/header/Header.js +283 -0
  61. package/src/components/molecules/content/header/Header.theme.js +11 -0
  62. package/src/components/molecules/content/header/index.js +3 -0
  63. package/src/components/molecules/content/index.js +3 -0
  64. package/src/components/molecules/editable-list/EditableList.js +8 -11
  65. package/src/components/molecules/nav-menu/NavMenuDesktop.js +1 -2
  66. package/src/components/molecules/nav-menu/NavMenuMobile.js +1 -7
  67. package/src/components/molecules/obligation/Obligation.js +7 -9
  68. package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +23 -23
  69. package/src/components/molecules/radio-section/RadioSection.js +3 -7
  70. package/src/deprecated/components/radio-button/radio-button.js +1 -5
  71. package/src/deprecated/icons/IconInvalid.js +31 -7
  72. package/src/deprecated/icons/IconNeutral.js +4 -5
  73. package/src/deprecated/icons/IconValid.js +33 -8
  74. package/src/util/general.js +1 -10
  75. package/.tool-versions +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "3.5.18",
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, Center, Cluster, Stack, Cover, Sidebar } from "../layouts";
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
- const content = (
24
- <Sidebar width="24px" childGap="0rem">
25
- <Box padding="0 0 0 1rem" minHeight="100%">
26
- <Cover minHeight="100%" singleChild>
27
- <Box padding="0" width="1.5rem" minHeight="1.5rem">
28
- <Icon />
29
- </Box>
30
- </Cover>
31
- </Box>
32
- <Box padding="0">
33
- <Sidebar onRight width="24px" childGap="0rem">
34
- <Box padding={`${padding} 1rem`}>
35
- <Cluster justify="flex-start" align="center">
36
- {textOverride ? (
37
- textOverride
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
- </Box>
51
- <Cluster justify="flex-end" align="flex-start">
52
- {showQuitLink && (
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" as="nav" aria-label="Breadcrumb navigation">
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-color: #6E727E;
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={!isLoading && action}
126
+ onClick={action}
127
127
  borderRadius="2px"
128
128
  theme={themeContext}
129
129
  extraStyles={isLoading ? loadingExtraStyles : extraStyles}
@@ -103,7 +103,6 @@ const Checkbox = ({
103
103
  id={`checkbox-${name}`}
104
104
  disabled={disabled}
105
105
  name={name}
106
- aria-label={name}
107
106
  checked={checked}
108
107
  onChange={onChange}
109
108
  tabIndex="-1"
@@ -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} alt={imageAlt} />
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, { Fragment } from "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
- ) : buttonAction ? (
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-width: 0px;
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
- hoverStyles={`background-color: ${themeValues.hoverColor};`}
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={0}>
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 page from "../../../../.storybook/page";
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 dropdown = () => {
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, themeValues, ...props }) => (
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.replace(/\s+/g, "-")}
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.replace(/\s+/g, "-")}
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.replace(/\s+/g, "-")}
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 1"
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 2"
41
+ labelTextWhenNoError="Form Layouts"
42
42
  errorMessages="Error"
43
43
  field={data.test}
44
44
  />
45
45
  <FormInput
46
- labelTextWhenNoError="Form Layouts 3"
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 4"
53
+ labelTextWhenNoError="Form Layouts"
54
54
  errorMessages="Error"
55
55
  field={data.test}
56
56
  />
57
57
  <FormInput
58
- labelTextWhenNoError="Form Layouts 5"
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
- aria-label="Menu"
108
- aria-controls={controls}
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 stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
26
- <g>
27
- <g>
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 paymentIcon = () => <PaymentIcon />;
51
+ export const paymentIco = () => <PaymentIcon />;
52
52
  export const autopayOnIcon = () => <AutopayOnIcon />;
@@ -26,7 +26,6 @@ export const BoxWrapper = styled(
26
26
  minWidth,
27
27
  maxWidth,
28
28
  padding,
29
- hiddenStyles,
30
29
  ...props
31
30
  }) => <div {...props} />
32
31
  )`
@@ -1,10 +1,6 @@
1
- import React from "react";
2
1
  import styled from "styled-components";
3
2
 
4
- /* eslint-disable no-unused-vars */
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};
@@ -16,4 +16,5 @@ export const ImposterWrapper = styled.div`
16
16
  max-width: calc(100% - (${horizontalMargin} * 2));
17
17
  max-height: calc(100% - (${verticalMargin} * 2));
18
18
  `}
19
+ ${({ extraStyles }) => extraStyles};
19
20
  `;
@@ -18,7 +18,7 @@ import { safeChildren } from "../../../util/general";
18
18
  const Sidebar = ({
19
19
  childGap = "1rem",
20
20
  width,
21
- onRight = false,
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
- onRight={onRight}
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
- ${({ onRight, contentMinWidth, childGap }) =>
30
- onRight
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>
@@ -77,7 +77,6 @@ const RadioButton = ({
77
77
  >
78
78
  <HiddenRadioButton
79
79
  id={`#radio-${name}`}
80
- aria-label={name}
81
80
  disabled={disabled}
82
81
  onClick={toggleRadio}
83
82
  tabIndex="-1"