@thecb/components 11.11.1-beta.0 → 11.11.1-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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "11.11.1-beta.0",
3
+ "version": "11.11.1-beta.2",
4
4
  "description": "Common lib for CityBase react components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "typings": "dist/index.d.ts",
@@ -45,7 +45,11 @@ const CardType = ({ type, size = "small" }) => {
45
45
  const normalizedType = normalizeType(type);
46
46
  const { label, [size]: IconComponent } =
47
47
  cardBrands[normalizedType] || cardBrands.default;
48
- return <IconComponent />;
48
+ return (
49
+ <span>
50
+ <IconComponent />
51
+ </span>
52
+ );
49
53
  };
50
54
 
51
55
  export default CardType;
@@ -14,7 +14,7 @@ export const CreditCardWrapper = styled.div`
14
14
  `;
15
15
 
16
16
  export const CCIconWrapper = styled.div`
17
- margin-right: 8px;
17
+ margin-right: 16px;
18
18
  width: 36px;
19
19
  height: auto;
20
20
  display: flex;
@@ -30,36 +30,36 @@ const FormattedCreditCard = ({
30
30
  }) => {
31
31
  const { isMobile } = useContext(ThemeContext);
32
32
  return (
33
- <CreditCardWrapper>
34
- <CCIconWrapper>
35
- <CardType type={type} size={isMobile ? "small" : "large"} />
36
- </CCIconWrapper>
37
- <Stack childGap="0">
38
- <Box padding="0">
39
- <Text
40
- variant="p"
41
- padding="0"
42
- color={themeValues.textColor}
43
- textAlign="left"
44
- extraStyles={`display: inline-block;`}
45
- >
46
- {`Card ending in ${lastFour}`}
47
- </Text>
48
- {expireDate && (
49
- <Fragment>
50
- {renderCardStatus(expirationStatus, expireDate, "left", "p")}
51
- </Fragment>
52
- )}
53
- </Box>
54
- {autoPay && (
55
- <Text
56
- variant="p"
57
- color={themeValues.autopayTextColor}
58
- extraStyles={`font-style: italic; font-size: .75rem;`}
59
- >{`Autopay On`}</Text>
33
+ <CreditCardWrapper>
34
+ <CCIconWrapper>
35
+ <CardType type={type} size={isMobile ? "small" : "large"} />
36
+ </CCIconWrapper>
37
+ <Stack childGap="0">
38
+ <Box padding="0">
39
+ <Text
40
+ variant="p"
41
+ padding="0"
42
+ color={themeValues.textColor}
43
+ textAlign="left"
44
+ extraStyles={`display: inline-block;`}
45
+ >
46
+ {`Card ending in ${lastFour}`}
47
+ </Text>
48
+ {expireDate && (
49
+ <Fragment>
50
+ {renderCardStatus(expirationStatus, expireDate, "left", "p")}
51
+ </Fragment>
60
52
  )}
61
- </Stack>
62
- </CreditCardWrapper>
53
+ </Box>
54
+ {autoPay && (
55
+ <Text
56
+ variant="p"
57
+ color={themeValues.autopayTextColor}
58
+ extraStyles={`font-style: italic; font-size: .75rem;`}
59
+ >{`Autopay On`}</Text>
60
+ )}
61
+ </Stack>
62
+ </CreditCardWrapper>
63
63
  );
64
64
  };
65
65
  export default themeComponent(
@@ -6,6 +6,7 @@ import {
6
6
  import { Box, Stack } from "../../atoms/layouts";
7
7
  import Placeholder from "../../atoms/placeholder";
8
8
  import ButtonWithAction from "../../atoms/button-with-action";
9
+ import { InternalLink } from "../../atoms/link";
9
10
  import Text from "../../atoms/text";
10
11
  import Title from "../../atoms/title";
11
12
  import {
@@ -42,7 +43,8 @@ const EditableList = ({
42
43
  qaPrefix,
43
44
  ariaLabel,
44
45
  editItemAriaRole = "",
45
- disablePlaceholder = false
46
+ disablePlaceholder = false,
47
+ getEditHref = null
46
48
  }) => {
47
49
  const addText = `Add a${
48
50
  itemName[0].match(/[aieouAIEOU]/) ? "n" : ""
@@ -150,14 +152,25 @@ const EditableList = ({
150
152
  dataQa={qaPrefix + " Edit"}
151
153
  key={`Edit ${item.id}`}
152
154
  >
153
- <ButtonWithAction
154
- variant="smallGhost"
155
- text="Edit"
156
- action={() => editItem(item.id)}
157
- extraStyles={`min-width: 0;`}
158
- aria-label={`Edit ${ariaLabel || itemName}`}
159
- role={editItemAriaRole}
160
- />
155
+ {getEditHref ? (
156
+ <InternalLink
157
+ to={getEditHref(item)}
158
+ fontWeight="400"
159
+ extraStyles={`margin: 0.5rem; min-width: 0;`}
160
+ aria-label={`Edit ${ariaLabel || itemName}`}
161
+ >
162
+ Edit
163
+ </InternalLink>
164
+ ) : (
165
+ <ButtonWithAction
166
+ variant="smallGhost"
167
+ text="Edit"
168
+ action={() => editItem(item.id)}
169
+ extraStyles={`min-width: 0;`}
170
+ aria-label={`Edit ${ariaLabel || itemName}`}
171
+ role={editItemAriaRole}
172
+ />
173
+ )}
161
174
  </Box>
162
175
  )}
163
176
  </EditableListItemControls>
@@ -105,7 +105,7 @@ const RadioButton = ({
105
105
  borderWidth="1px"
106
106
  borderStyle="solid"
107
107
  borderRadius="12px"
108
- margin="6px 8px 6px 6px"
108
+ margin="6px 14px 6px 6px"
109
109
  height="24px"
110
110
  width="24px"
111
111
  variants={buttonBorder}