@thecb/components 3.6.0-beta.2 → 4.0.0

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 (73) hide show
  1. package/.storybook/main.js +1 -1
  2. package/.storybook/page.js +2 -0
  3. package/dist/index.cjs.js +293 -145
  4. package/package.json +2 -2
  5. package/src/components/atoms/alert/Alert.js +53 -35
  6. package/src/components/atoms/breadcrumb/Breadcrumb.js +4 -1
  7. package/src/components/atoms/button-with-action/ButtonWithAction.js +2 -2
  8. package/src/components/atoms/checkbox/Checkbox.js +1 -0
  9. package/src/components/atoms/checkbox-list/CheckboxList.js +3 -1
  10. package/src/components/atoms/display-card/DisplayCard.js +4 -2
  11. package/src/components/atoms/dropdown/Dropdown.js +4 -4
  12. package/src/components/atoms/dropdown/Dropdown.stories.js +10 -33
  13. package/src/components/atoms/form-layouts/FormInput.js +7 -4
  14. package/src/components/atoms/form-layouts/FormLayouts.stories.js +5 -5
  15. package/src/components/atoms/hamburger-button/HamburgerButton.js +4 -3
  16. package/src/components/atoms/icons/AccountsIconSmall.js +6 -13
  17. package/src/components/atoms/icons/ChevronIcon.js +4 -4
  18. package/src/components/atoms/icons/icons.stories.js +1 -1
  19. package/src/components/atoms/layouts/Box.styled.js +1 -0
  20. package/src/components/atoms/layouts/Cluster.styled.js +5 -1
  21. package/src/components/atoms/layouts/Sidebar.styled.js +7 -1
  22. package/src/components/atoms/radio-button/RadioButton.js +1 -0
  23. package/src/components/atoms/radio-button/RadioButton.stories.js +26 -61
  24. package/src/components/atoms/toggle-switch/ToggleSwitch.js +1 -0
  25. package/src/components/atoms/toggle-switch/ToggleSwitch.stories.js +10 -51
  26. package/src/components/molecules/editable-list/EditableList.js +11 -8
  27. package/src/components/molecules/index.js +1 -0
  28. package/src/components/molecules/nav-menu/NavMenuDesktop.js +2 -1
  29. package/src/components/molecules/nav-menu/NavMenuMobile.js +7 -1
  30. package/src/components/molecules/obligation/Obligation.js +9 -7
  31. package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +23 -23
  32. package/src/components/molecules/pagination/Pagination.js +149 -0
  33. package/src/components/molecules/pagination/index.js +3 -0
  34. package/src/components/molecules/radio-section/RadioSection.js +7 -3
  35. package/src/deprecated/components/radio-button/radio-button.js +5 -1
  36. package/src/deprecated/icons/IconInvalid.js +7 -31
  37. package/src/deprecated/icons/IconNeutral.js +5 -4
  38. package/src/deprecated/icons/IconValid.js +8 -33
  39. package/src/util/general.js +10 -1
  40. package/src/components/molecules/content/Content.js +0 -20
  41. package/src/components/molecules/content/Content.theme.js +0 -60
  42. package/src/components/molecules/content/blocks/accordion-block/AccordionBlock.js +0 -108
  43. package/src/components/molecules/content/blocks/accordion-block/index.js +0 -3
  44. package/src/components/molecules/content/blocks/article-block/ArticleBlock.js +0 -58
  45. package/src/components/molecules/content/blocks/article-block/index.js +0 -3
  46. package/src/components/molecules/content/blocks/attached-file-block/AttachedFileBlock.js +0 -60
  47. package/src/components/molecules/content/blocks/attached-file-block/index.js +0 -3
  48. package/src/components/molecules/content/blocks/featured-content-block/FeaturedContentBlock.js +0 -0
  49. package/src/components/molecules/content/blocks/featured-content-block/index.js +0 -0
  50. package/src/components/molecules/content/blocks/hero-block/HeroBlock.js +0 -54
  51. package/src/components/molecules/content/blocks/hero-block/index.js +0 -3
  52. package/src/components/molecules/content/blocks/highlight-block/HighlightBlock.js +0 -42
  53. package/src/components/molecules/content/blocks/highlight-block/index.js +0 -3
  54. package/src/components/molecules/content/blocks/index.js +0 -33
  55. package/src/components/molecules/content/blocks/info-block/InfoBlock.js +0 -15
  56. package/src/components/molecules/content/blocks/info-block/index.js +0 -3
  57. package/src/components/molecules/content/blocks/location-block/LocationBlock.js +0 -228
  58. package/src/components/molecules/content/blocks/location-block/index.js +0 -3
  59. package/src/components/molecules/content/blocks/related-links-block/RelatedLinksBlock.js +0 -35
  60. package/src/components/molecules/content/blocks/related-links-block/index.js +0 -3
  61. package/src/components/molecules/content/blocks/screendoor-block/ScreendoorBlock.js +0 -57
  62. package/src/components/molecules/content/blocks/screendoor-block/ScreendoorForm.styled.js +0 -314
  63. package/src/components/molecules/content/blocks/screendoor-block/index.js +0 -3
  64. package/src/components/molecules/content/blocks/tagline-block/TaglineBlock.js +0 -45
  65. package/src/components/molecules/content/blocks/tagline-block/index.js +0 -3
  66. package/src/components/molecules/content/blocks/task-block/TaskBlock.js +0 -40
  67. package/src/components/molecules/content/blocks/task-block/index.js +0 -3
  68. package/src/components/molecules/content/blocks/text-block/TextBlock.js +0 -40
  69. package/src/components/molecules/content/blocks/text-block/index.js +0 -3
  70. package/src/components/molecules/content/header/Header.js +0 -283
  71. package/src/components/molecules/content/header/Header.theme.js +0 -11
  72. package/src/components/molecules/content/header/index.js +0 -3
  73. package/src/components/molecules/content/index.js +0 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "3.6.0-beta.2",
3
+ "version": "4.0.0",
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, Cluster, Stack, Cover, Sidebar } from "../layouts";
3
+ import { Box, Center, 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,37 +8,35 @@ import { themeComponent } from "../../../util/themeUtils";
8
8
  const Alert = ({
9
9
  heading,
10
10
  text,
11
+ textOverride,
11
12
  variant,
12
13
  children,
13
14
  height,
14
15
  onLinkClick,
16
+ padding = "0.5rem",
15
17
  showQuitLink = true,
16
- themeValues
18
+ themeValues,
19
+ extraStyles,
20
+ maxContentWidth
17
21
  }) => {
18
22
  const Icon = AlertIcons[variant];
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">
23
+
24
+ const content = (
25
+ <Sidebar width="24px" childGap="0rem">
26
+ <Box padding="0 0 0 1rem" minHeight="100%">
27
+ <Cover minHeight="100%" singleChild>
28
+ <Box padding="0" width="1.5rem" minHeight="1.5rem">
29
+ <Icon />
30
+ </Box>
31
+ </Cover>
32
+ </Box>
33
+ <Box padding="0">
34
+ <Sidebar onRight width="24px" childGap="0rem">
35
+ <Box padding={`${padding} 1rem`}>
36
+ <Cluster justify="flex-start" align="center">
37
+ {textOverride ? (
38
+ textOverride
39
+ ) : (
42
40
  <Stack fullHeight childGap="0.25rem">
43
41
  <Text variant="p" color={themeValues.text} weight="600">
44
42
  {heading}
@@ -48,18 +46,38 @@ const Alert = ({
48
46
  </Text>
49
47
  {children}
50
48
  </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>
58
49
  )}
59
50
  </Cluster>
60
- </Sidebar>
61
- </Box>
62
- </Sidebar>
51
+ </Box>
52
+ <Cluster justify="flex-end" align="flex-start">
53
+ {showQuitLink && (
54
+ <Box padding="0" minHeight="100%" onClick={onLinkClick}>
55
+ <IconQuit />
56
+ </Box>
57
+ )}
58
+ </Cluster>
59
+ </Sidebar>
60
+ </Box>
61
+ </Sidebar>
62
+ );
63
+
64
+ return (
65
+ <Box
66
+ padding={padding}
67
+ width="100%"
68
+ minHeight={height && parseInt(height) < 100 ? height : "100px"}
69
+ height={height ? height : "auto"}
70
+ background={themeValues.background}
71
+ borderRadius="4px"
72
+ borderColor={themeValues.border}
73
+ borderSize="1px"
74
+ extraStyles={extraStyles}
75
+ >
76
+ {maxContentWidth ? (
77
+ <Center maxWidth={maxContentWidth}>{content}</Center>
78
+ ) : (
79
+ content
80
+ )}
63
81
  </Box>
64
82
  );
65
83
  };
@@ -15,12 +15,15 @@ const Breadcrumbs = ({ breadcrumbsList = [] }) => {
15
15
  "Breadcrumb"
16
16
  );
17
17
  return (
18
- <Box padding="0" role="region" aria-level="Breadcrumb navigation">
18
+ <Box padding="0" as="nav" aria-label="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
+ }
24
27
  to={linkDestination}
25
28
  active={isActive.toString()}
26
29
  color={themeValues.color}
@@ -103,7 +103,7 @@ const ButtonWithAction = ({
103
103
  `;
104
104
  const disabledStyles = `
105
105
  background-clor: #6E727E;
106
- border-clor: #6E727E;
106
+ border-color: #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={action}
126
+ onClick={!isLoading && action}
127
127
  borderRadius="2px"
128
128
  theme={themeContext}
129
129
  extraStyles={isLoading ? loadingExtraStyles : extraStyles}
@@ -103,6 +103,7 @@ const Checkbox = ({
103
103
  id={`checkbox-${name}`}
104
104
  disabled={disabled}
105
105
  name={name}
106
+ aria-label={name}
106
107
  checked={checked}
107
108
  onChange={onChange}
108
109
  tabIndex="-1"
@@ -35,6 +35,7 @@ const CheckboxListItem = ({
35
35
  name,
36
36
  imageUrl,
37
37
  image,
38
+ imageAlt = "checkbox icon",
38
39
  disabled,
39
40
  borderColor,
40
41
  color,
@@ -57,6 +58,7 @@ const CheckboxListItem = ({
57
58
  <HiddenCheckboxInput id={`checkbox-${name}-${index}`} />
58
59
  <CheckboxLabel
59
60
  name={name}
61
+ aria-label={name}
60
62
  htmlFor={`checkbox-${name}-${index}`}
61
63
  onClick={disabled ? noop : onSelect}
62
64
  onKeyDown={disabled ? noop : onSelect}
@@ -73,7 +75,7 @@ const CheckboxListItem = ({
73
75
  </CheckboxLabel>
74
76
  <Box padding="0rem 0.5rem 0rem 0rem" hiddenStyles={!imageUrl}>
75
77
  <Cluster justify="flex-start" align="center">
76
- <CheckboxItemIcon src={imageUrl} />
78
+ <CheckboxItemIcon src={imageUrl} alt={imageAlt} />
77
79
  </Cluster>
78
80
  </Box>
79
81
  <Box padding="0rem 0.5rem 0rem 0rem" hiddenStyles={!image}>
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { Fragment } 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
+ ) : buttonAction ? (
52
52
  <ButtonWithAction
53
53
  text={buttonText}
54
54
  action={buttonAction}
@@ -56,6 +56,8 @@ const DisplayCard = ({
56
56
  dataQa={buttonText}
57
57
  extraStyles={`min-width: 0;`}
58
58
  />
59
+ ) : (
60
+ <Fragment />
59
61
  )}
60
62
  </Cluster>
61
63
  </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-size: 0px;
47
+ border-width: 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
- focusStyles={`background-color: ${themeValues.hoverColor};`}
203
+ hoverStyles={`background-color: ${themeValues.hoverColor};`}
204
204
  aria-expanded={isOpen}
205
205
  >
206
206
  <Box
@@ -209,7 +209,6 @@ const Dropdown = ({
209
209
  width="100%"
210
210
  padding="12px"
211
211
  hoverStyles={`background-color: ${themeValues.hoverColor};`}
212
- focusStyles={`background-color: ${themeValues.hoverColor};`}
213
212
  borderSize="1px"
214
213
  borderColor={
215
214
  isError
@@ -225,6 +224,7 @@ const Dropdown = ({
225
224
  <Stack direction="row" bottomItem={2}>
226
225
  {isOpen ? (
227
226
  <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={-1}>
245
+ <DropdownContentWrapper open={isOpen} ref={dropdownRef} tabIndex={0}>
246
246
  <Stack childGap="0">
247
247
  {filteredOptions.map((choice, i) => (
248
248
  <DropdownItemWrapper
@@ -1,37 +1,6 @@
1
1
  import React, { useState, useEffect } from "react";
2
- import { withKnobs, text } from "@storybook/addon-knobs";
3
2
  import Dropdown from "./Dropdown";
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
- };
3
+ import page from "../../../../.storybook/page";
35
4
 
36
5
  const options = [
37
6
  { text: "Please select an option", value: "" },
@@ -42,7 +11,7 @@ const options = [
42
11
 
43
12
  const disabledValues = ["DISABLED_OPTION"];
44
13
 
45
- export const dropdownDefault = () => {
14
+ export const dropdown = () => {
46
15
  const [isOpen, setOpen] = useState(false);
47
16
  const [value, setValue] = useState(null);
48
17
  const [isError, setError] = useState(false);
@@ -68,3 +37,11 @@ export const dropdownDefault = () => {
68
37
  />
69
38
  );
70
39
  };
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, ...props }) => (
49
+ const FormattedInputField = styled(({ showErrors, themeValues, ...props }) => (
50
50
  <FormattedInput {...props} />
51
51
  ))`
52
52
  border: 1px solid
@@ -106,6 +106,7 @@ const FormInput = ({
106
106
  {helperModal ? (
107
107
  <Cluster justify="space-between" align="center">
108
108
  <Text
109
+ as="label"
109
110
  color={themeValues.labelColor}
110
111
  variant="pS"
111
112
  weight={themeValues.fontWeight}
@@ -114,6 +115,7 @@ const FormInput = ({
114
115
  &::first-letter {
115
116
  text-transform: uppercase;
116
117
  }`}
118
+ id={labelTextWhenNoError.replace(/\s+/g, "-")}
117
119
  >
118
120
  {labelTextWhenNoError}
119
121
  </Text>
@@ -129,6 +131,7 @@ const FormInput = ({
129
131
  <Box padding="0" minWidth="100%">
130
132
  <Cluster justify="space-between" align="center">
131
133
  <Text
134
+ as="label"
132
135
  color={themeValues.labelColor}
133
136
  variant="pS"
134
137
  fontWeight={themeValues.fontWeight}
@@ -137,7 +140,7 @@ const FormInput = ({
137
140
  &::first-letter {
138
141
  text-transform: uppercase;
139
142
  }`}
140
- id={labelTextWhenNoError}
143
+ id={labelTextWhenNoError.replace(/\s+/g, "-")}
141
144
  >
142
145
  {labelTextWhenNoError}
143
146
  </Text>
@@ -168,7 +171,7 @@ const FormInput = ({
168
171
  <Box padding="0">
169
172
  {formatter ? (
170
173
  <FormattedInputField
171
- aria-labelledby={labelTextWhenNoError}
174
+ aria-labelledby={labelTextWhenNoError.replace(/\s+/g, "-")}
172
175
  onChange={e => fieldActions.set(e)}
173
176
  type={type}
174
177
  value={field.rawValue}
@@ -185,7 +188,7 @@ const FormInput = ({
185
188
  />
186
189
  ) : (
187
190
  <InputField
188
- aria-labelledby={labelTextWhenNoError}
191
+ aria-labelledby={labelTextWhenNoError.replace(/\s+/g, "-")}
189
192
  onChange={e => fieldActions.set(e.target.value)}
190
193
  type={type === "password" && showPassword ? "text" : type}
191
194
  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 1"
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 2"
42
42
  errorMessages="Error"
43
43
  field={data.test}
44
44
  />
45
45
  <FormInput
46
- labelTextWhenNoError="Form Layouts"
46
+ labelTextWhenNoError="Form Layouts 3"
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 4"
54
54
  errorMessages="Error"
55
55
  field={data.test}
56
56
  />
57
57
  <FormInput
58
- labelTextWhenNoError="Form Layouts"
58
+ labelTextWhenNoError="Form Layouts 5"
59
59
  errorMessages="Error"
60
60
  field={data.test}
61
61
  />
@@ -97,14 +97,15 @@ const HamburgerButton = ({
97
97
  activeColor,
98
98
  inactiveColor,
99
99
  isActive,
100
- onClick = noop
100
+ onClick = noop,
101
+ controls
101
102
  }) => (
102
103
  <Hamburger
103
104
  className={isActive === true ? "active" : ""}
104
105
  onClick={onClick}
105
106
  type="button"
106
- ariaLabel="Menu"
107
- ariaControls="navigation"
107
+ aria-label="Menu"
108
+ aria-controls={controls}
108
109
  >
109
110
  <HamburgerBox>
110
111
  <HamburgerInner
@@ -22,25 +22,18 @@ const AccountsIconSmall = ({ themeValues }) => {
22
22
  height="27"
23
23
  ></rect>
24
24
  </defs>
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">
25
+ <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
26
+ <g>
27
+ <g>
34
28
  <g>
35
- <g id="Payments">
36
- <g id="folder-open">
29
+ <g>
30
+ <g>
37
31
  <mask id="mask-2-accountssmall" fill="white">
38
32
  <use xlinkHref="#path-1-accountssmall"></use>
39
33
  </mask>
40
- <g id="Mask"></g>
34
+ <g></g>
41
35
  <path
42
36
  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"
44
37
  fill={themeValues.singleIconColor}
45
38
  fillRule="nonzero"
46
39
  mask="url(#mask-2-accountssmall)"
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { fallbackValues } from "./Icons.theme";
3
3
  import { themeComponent } from "../../../util/themeUtils";
4
4
 
5
- const ChevronIcon = ({ themeValues }) => {
5
+ const ChevronIcon = ({ themeValues, iconFill }) => {
6
6
  return (
7
7
  <svg
8
8
  width="24"
@@ -21,20 +21,20 @@ const ChevronIcon = ({ themeValues }) => {
21
21
  <g id={`icon-chevron-Icon/Chevron-Down`} fill="none" fillRule="evenodd">
22
22
  <mask id={`icon-chevron-mask-2`}>
23
23
  <use
24
- fill={themeValues.singleIconColor}
24
+ fill={iconFill ?? themeValues.singleIconColor}
25
25
  xlinkHref={`#icon-chevron-path-1`}
26
26
  />
27
27
  </mask>
28
28
 
29
29
  <use
30
- fill={themeValues.singleIconColor}
30
+ fill={iconFill ?? themeValues.singleIconColor}
31
31
  id={`icon-chevron-Fill-2`}
32
32
  xlinkHref={`#icon-chevron-path-1`}
33
33
  />
34
34
  <g
35
35
  id="Colors/Blue-Dark"
36
36
  mask={`url(#icon-chevron-mask-2)`}
37
- fill={themeValues.singleIconColor}
37
+ fill={iconFill ?? themeValues.singleIconColor}
38
38
  >
39
39
  <rect id={`icon-chevron-rect`} width="24" height="24" />
40
40
  </g>
@@ -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 paymentIco = () => <PaymentIcon />;
51
+ export const paymentIcon = () => <PaymentIcon />;
52
52
  export const autopayOnIcon = () => <AutopayOnIcon />;
@@ -26,6 +26,7 @@ export const BoxWrapper = styled(
26
26
  minWidth,
27
27
  maxWidth,
28
28
  padding,
29
+ hiddenStyles,
29
30
  ...props
30
31
  }) => <div {...props} />
31
32
  )`
@@ -1,6 +1,10 @@
1
+ import React from "react";
1
2
  import styled from "styled-components";
2
3
 
3
- export const ClusterWrapper = styled.div`
4
+ /* eslint-disable no-unused-vars */
5
+ export const ClusterWrapper = styled(({ overflow, ...props }) => (
6
+ <div {...props} />
7
+ ))`
4
8
  overflow: ${({ overflow }) => (overflow ? "visible" : "hidden")};
5
9
  box-sizing: border-box;
6
10
  `;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import styled from "styled-components";
2
3
 
3
4
  export const SidebarWrapper = styled.div`
@@ -7,7 +8,12 @@ export const SidebarWrapper = styled.div`
7
8
  ${({ fullHeight }) => (fullHeight ? `height: 100%;` : ``)}
8
9
  `;
9
10
 
10
- export const SidebarInnerWrapper = styled.div`
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
+ )`
11
17
  display: flex;
12
18
  flex-wrap: wrap;
13
19
  box-sizing: border-box;
@@ -77,6 +77,7 @@ const RadioButton = ({
77
77
  >
78
78
  <HiddenRadioButton
79
79
  id={`#radio-${name}`}
80
+ aria-label={name}
80
81
  disabled={disabled}
81
82
  onClick={toggleRadio}
82
83
  tabIndex="-1"