@thecb/components 10.2.4-beta.9 → 10.3.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 (57) hide show
  1. package/README.md +2 -2
  2. package/dist/index.cjs.js +588 -287
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.d.ts +64 -1
  5. package/dist/index.esm.js +584 -286
  6. package/dist/index.esm.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/atoms/badge/Badge.stories.js +1 -2
  9. package/src/components/atoms/badge/Badge.theme.js +4 -8
  10. package/src/components/atoms/breadcrumb/Breadcrumb.js +4 -3
  11. package/src/components/atoms/breadcrumb/Breadcrumb.theme.js +5 -2
  12. package/src/components/atoms/button-with-action/ButtonWithAction.js +6 -14
  13. package/src/components/atoms/button-with-action/ButtonWithAction.stories.js +0 -1
  14. package/src/components/atoms/button-with-action/ButtonWithAction.theme.js +37 -47
  15. package/src/components/atoms/button-with-link/ButtonWithLink.js +2 -2
  16. package/src/components/atoms/form-layouts/FormInput.js +1 -1
  17. package/src/components/atoms/icons/CloseIcon.d.ts +1 -0
  18. package/src/components/atoms/icons/CloseIcon.js +48 -0
  19. package/src/components/atoms/icons/TrashIconV2.d.ts +1 -0
  20. package/src/components/atoms/icons/TrashIconV2.js +41 -0
  21. package/src/components/atoms/icons/icons.stories.js +5 -1
  22. package/src/components/atoms/icons/index.d.ts +2 -0
  23. package/src/components/atoms/icons/index.js +5 -1
  24. package/src/components/atoms/layouts/Box.js +0 -1
  25. package/src/components/atoms/layouts/examples/box-example/BoxExample.stories.js +1 -2
  26. package/src/components/atoms/link/ExternalLink.styled.js +6 -3
  27. package/src/components/atoms/link/InternalLink.styled.js +6 -3
  28. package/src/components/atoms/placeholder/Placeholder.js +74 -87
  29. package/src/components/atoms/placeholder/Placeholder.stories.js +9 -22
  30. package/src/components/atoms/text/Text.styled.js +1 -0
  31. package/src/components/molecules/account-and-routing-modal/AccountAndRoutingModal.js +1 -0
  32. package/src/components/molecules/account-and-routing-modal/AccountAndRoutingModal.stories.js +41 -0
  33. package/src/components/molecules/account-and-routing-modal/AccountAndRoutingModal.theme.js +10 -2
  34. package/src/components/molecules/index.d.ts +1 -0
  35. package/src/components/molecules/index.js +1 -0
  36. package/src/components/molecules/link-card/LinkCard.js +2 -5
  37. package/src/components/molecules/link-card/LinkCard.stories.js +34 -62
  38. package/src/components/molecules/link-card/LinkCard.theme.js +5 -19
  39. package/src/components/molecules/obligation/Obligation.js +1 -4
  40. package/src/components/molecules/obligation/modules/AutopayModalModule.js +1 -4
  41. package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +1 -5
  42. package/src/components/molecules/pagination/Pagination.js +1 -7
  43. package/src/components/molecules/pagination/Pagination.stories.js +32 -0
  44. package/src/components/molecules/pagination/Pagination.theme.js +1 -2
  45. package/src/components/molecules/tab-sidebar/TabSidebar.js +2 -2
  46. package/src/components/molecules/terms-and-conditions-modal/TermsAndConditionsModal.js +1 -0
  47. package/src/components/molecules/terms-and-conditions-modal/TermsAndConditionsModal.theme.js +10 -2
  48. package/src/components/templates/default-page-template/DefaultPageTemplate.js +3 -2
  49. package/src/constants/index.d.ts +2 -1
  50. package/src/constants/index.js +12 -3
  51. package/src/constants/style_constants.d.ts +11 -0
  52. package/src/constants/style_constants.js +3 -1
  53. package/dist/src/apps/checkout/pages/payment/sub-pages/payment-amount/PaymentAmount_old.js +0 -49322
  54. package/src/.DS_Store +0 -0
  55. package/src/components/.DS_Store +0 -0
  56. package/src/components/atoms/.DS_Store +0 -0
  57. package/src/components/atoms/icons/.DS_Store +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "10.2.4-beta.9",
3
+ "version": "10.3.0",
4
4
  "description": "Common lib for CityBase react components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "typings": "dist/index.d.ts",
@@ -9,8 +9,7 @@ const variants = {
9
9
  info: "info",
10
10
  warn: "warn",
11
11
  primary: "primary",
12
- success: "success",
13
- disabled: "disabled"
12
+ success: "success"
14
13
  };
15
14
 
16
15
  const defaultValue = "success";
@@ -1,6 +1,4 @@
1
1
  import {
2
- MANATEE_GREY,
3
- GRECIAN_GREY,
4
2
  CORNFLOWER_BLUE,
5
3
  HALF_COLONIAL_WHITE,
6
4
  HINT_GREEN,
@@ -15,19 +13,17 @@ const background = {
15
13
  info: `${INFO_BLUE}`,
16
14
  warn: `${HALF_COLONIAL_WHITE}`,
17
15
  primary: `${CORNFLOWER_BLUE}`,
18
- success: `${HINT_GREEN}`,
19
- disabled: `${GRECIAN_GREY}`
16
+ success: `${HINT_GREEN}`
20
17
  };
21
18
 
22
19
  const color = {
23
20
  info: `${MATISSE_BLUE}`,
24
21
  warn: `${ZEST_ORANGE}`,
25
22
  primary: `${ROYAL_BLUE_VIVID}`,
26
- success: `${SEA_GREEN}`,
27
- disabled: `${MANATEE_GREY}`
23
+ success: `${SEA_GREEN}`
28
24
  };
29
25
 
30
26
  export const fallbackValues = {
31
- background: background,
32
- color: color
27
+ background,
28
+ color
33
29
  };
@@ -33,15 +33,16 @@ const Breadcrumbs = ({ breadcrumbsList = [] }) => {
33
33
  margin={themeValues.margin}
34
34
  extraStyles={`
35
35
  text-transform: uppercase;
36
+ text-decoration: none;
36
37
  ${isActive.toString() === "true" &&
37
- `pointer-events: none;
38
- color: ${themeValues.activeBreadcrumbColor};
38
+ `color: ${themeValues.activeBreadcrumbColor};
39
+ pointer-events: none;
39
40
  `}
40
41
  &:first-child {
41
42
  margin-left: 0;
42
43
  }
43
44
  &:active {
44
- color: ${themeValues.activeColor};
45
+ color: ${themeValues.activeColor};
45
46
  }`}
46
47
  >
47
48
  {linkText}
@@ -1,5 +1,8 @@
1
1
  // import theme from "styled-theming";
2
- import { MATISSE_BLUE, STORM_GREY } from "../../../constants/colors";
2
+ import { colors, styleConstants } from "../../../constants";
3
+
4
+ const { MATISSE_BLUE, STORM_GREY } = colors;
5
+ const { LINK_TEXT_DECORATION } = styleConstants;
3
6
 
4
7
  /*
5
8
  For now I'm using string values, eventually shared components library will have its own constants file
@@ -13,7 +16,7 @@ const fontSize = "0.875rem";
13
16
  const lineHeight = "1.25rem";
14
17
  const fontWeight = "400";
15
18
  const margin = "0.5rem";
16
- const hover = `text-decoration: none;`;
19
+ const hover = `text-decoration: ${LINK_TEXT_DECORATION};`;
17
20
 
18
21
  export const fallbackValues = {
19
22
  color,
@@ -57,7 +57,7 @@ const Spinner = ({ color, isMobile }) => (
57
57
 
58
58
  Note: the children prop is only used if contentOverride is set to true, in which case
59
59
  the text prop is ignored.
60
-
60
+
61
61
  */
62
62
 
63
63
  const ButtonWithAction = forwardRef(
@@ -81,7 +81,6 @@ const ButtonWithAction = forwardRef(
81
81
  },
82
82
  ref
83
83
  ) => {
84
- const isGhostVariant = variant === "ghost" || variant === "smallGhost";
85
84
  const themeContext = useContext(ThemeContext);
86
85
  const themeValues = createThemeValues(
87
86
  themeContext,
@@ -96,9 +95,6 @@ const ButtonWithAction = forwardRef(
96
95
  background-color: ${themeValues.hoverBackgroundColor};
97
96
  border-color: ${themeValues.hoverBorderColor};
98
97
  color: ${themeValues.hoverColor};
99
- text-decoration: ${
100
- variant === "ghost" || variant === "smallGhost" ? "underline" : "none"
101
- };
102
98
  cursor: pointer;
103
99
  `;
104
100
  const activeStyles = `
@@ -106,14 +102,11 @@ const ButtonWithAction = forwardRef(
106
102
  background-color: ${themeValues.activeBackgroundColor};
107
103
  border-color: ${themeValues.activeBorderColor};
108
104
  color: ${themeValues.activeColor};
109
- text-decoration: ${
110
- variant === "ghost" || variant === "smallGhost" ? "underline" : "none"
111
- };
112
105
  `;
113
106
  const disabledStyles = `
114
- background-color: ${isGhostVariant ? "transparent;" : "#6D717E;"};
115
- border-color: ${isGhostVariant ? "transparent;" : "#6D717E;"};
116
- color: ${isGhostVariant ? "#6D717E;" : "#FFFFFF"};
107
+ background-color: #6D717E;
108
+ border-color: #6D717E;
109
+ color: #FFFFFF;
117
110
  cursor: default;
118
111
  &:focus {
119
112
  outline: 3px solid #6D717E;
@@ -155,10 +148,9 @@ const ButtonWithAction = forwardRef(
155
148
  weight={themeValues.fontWeight}
156
149
  variant={themeValues.fontSizeVariant}
157
150
  color={themeValues.color}
151
+ textDecoration={themeValues.textDecoration}
158
152
  textWrap={textWrap}
159
- extraStyles={
160
- disabled ? textExtraStyles + disabledStyles : textExtraStyles
161
- }
153
+ extraStyles={textExtraStyles}
162
154
  >
163
155
  {text}
164
156
  </Text>
@@ -13,7 +13,6 @@ const variants = {
13
13
  ghost: "ghost",
14
14
  smallGhost: "smallGhost",
15
15
  danger: "danger",
16
- disabled: "disabled",
17
16
  None: undefined
18
17
  };
19
18
  const defaultValue = "primary";
@@ -1,14 +1,16 @@
1
- import {
1
+ import { colors, styleConstants } from "../../../constants";
2
+
3
+ const {
2
4
  WHITE,
3
5
  TRANSPARENT,
4
6
  SAPPHIRE_BLUE,
5
7
  PEACOCK_BLUE,
6
- MANATEE_GREY,
7
8
  MATISSE_BLUE,
8
9
  RASPBERRY,
9
- ERROR_COLOR,
10
- GRECIAN_GREY
11
- } from "../../../constants/colors";
10
+ ERROR_COLOR
11
+ } = colors;
12
+
13
+ const { LINK_TEXT_DECORATION } = styleConstants;
12
14
 
13
15
  const padding = {
14
16
  primary: "0.75rem 1.5rem",
@@ -22,9 +24,7 @@ const padding = {
22
24
  danger: "0.75rem 1.5rem",
23
25
  dangerSecondary: "0.75rem 1.5rem",
24
26
  whiteSecondary: "0.75rem 2rem",
25
- whitePrimary: "1.125rem 0.75rem",
26
- disabled: "0.75rem 1.5rem",
27
- smallDisabled: "0.75rem 1rem"
27
+ whitePrimary: "1.125rem 0.75rem"
28
28
  };
29
29
 
30
30
  const color = {
@@ -39,9 +39,7 @@ const color = {
39
39
  danger: WHITE,
40
40
  dangerSecondary: ERROR_COLOR,
41
41
  whiteSecondary: WHITE,
42
- whitePrimary: WHITE,
43
- disabled: MANATEE_GREY,
44
- smallDisabled: MANATEE_GREY
42
+ whitePrimary: WHITE
45
43
  };
46
44
 
47
45
  const fontSizeVariant = {
@@ -56,9 +54,7 @@ const fontSizeVariant = {
56
54
  danger: "pS",
57
55
  dangerSecondary: "pS",
58
56
  whiteSecondary: "pS",
59
- whitePrimary: "pS",
60
- disabled: "pS",
61
- smallDisabled: "pS"
57
+ whitePrimary: "pS"
62
58
  };
63
59
 
64
60
  const fontWeight = {
@@ -73,9 +69,7 @@ const fontWeight = {
73
69
  danger: "600",
74
70
  dangerSecondary: "600",
75
71
  whiteSecondary: "600",
76
- whitePrimary: "600",
77
- disabled: "600",
78
- smallDisabled: "600"
72
+ whitePrimary: "600"
79
73
  };
80
74
 
81
75
  const height = {
@@ -90,9 +84,7 @@ const height = {
90
84
  danger: "3rem",
91
85
  dangerSecondary: "3rem",
92
86
  whiteSecondary: "3rem",
93
- whitePrimary: "auto",
94
- disabled: "3rem",
95
- smallDisabled: "2.5rem"
87
+ whitePrimary: "auto"
96
88
  };
97
89
 
98
90
  const minWidth = {
@@ -107,9 +99,22 @@ const minWidth = {
107
99
  danger: "130px",
108
100
  dangerSecondary: "157px",
109
101
  whiteSecondary: "160px",
110
- whitePrimary: "130px",
111
- disabled: "130px",
112
- smallDisabled: "100px"
102
+ whitePrimary: "130px"
103
+ };
104
+
105
+ const textDecoration = {
106
+ primary: "none",
107
+ secondary: "none",
108
+ back: "none",
109
+ smallPrimary: "none",
110
+ smallSecondary: "none",
111
+ smallGhost: LINK_TEXT_DECORATION,
112
+ ghost: LINK_TEXT_DECORATION,
113
+ tertiary: "none",
114
+ danger: "none",
115
+ dangerSecondary: "none",
116
+ whiteSecondary: "none",
117
+ whitePrimary: "none"
113
118
  };
114
119
 
115
120
  const backgroundColor = {
@@ -124,9 +129,7 @@ const backgroundColor = {
124
129
  danger: RASPBERRY,
125
130
  dangerSecondary: TRANSPARENT,
126
131
  whiteSecondary: TRANSPARENT,
127
- whitePrimary: TRANSPARENT,
128
- disabled: GRECIAN_GREY,
129
- smallDisabled: GRECIAN_GREY
132
+ whitePrimary: TRANSPARENT
130
133
  };
131
134
 
132
135
  const border = {
@@ -141,9 +144,7 @@ const border = {
141
144
  danger: "2px solid " + RASPBERRY,
142
145
  dangerSecondary: "2px solid " + ERROR_COLOR,
143
146
  whiteSecondary: "2px solid " + WHITE,
144
- whitePrimary: "2px solid " + TRANSPARENT,
145
- disabled: "2px solid " + MANATEE_GREY,
146
- smallDisabled: "2px solid " + MANATEE_GREY
147
+ whitePrimary: "2px solid " + TRANSPARENT
147
148
  };
148
149
 
149
150
  const hoverBackgroundColor = {
@@ -158,9 +159,7 @@ const hoverBackgroundColor = {
158
159
  danger: "#BA002C",
159
160
  dangerSecondary: "#FAE7EE",
160
161
  whiteSecondary: TRANSPARENT,
161
- whitePrimary: TRANSPARENT,
162
- disabled: TRANSPARENT,
163
- smallDisabled: TRANSPARENT
162
+ whitePrimary: TRANSPARENT
164
163
  };
165
164
 
166
165
  const hoverBorderColor = {
@@ -175,9 +174,7 @@ const hoverBorderColor = {
175
174
  danger: "#BA002C",
176
175
  dangerSecondary: "#B10541",
177
176
  whiteSecondary: "2px solid " + TRANSPARENT,
178
- whitePrimary: "2px solid " + TRANSPARENT,
179
- disabled: MANATEE_GREY,
180
- smallDisabled: MANATEE_GREY
177
+ whitePrimary: "2px solid " + TRANSPARENT
181
178
  };
182
179
 
183
180
  const hoverColor = {
@@ -192,9 +189,7 @@ const hoverColor = {
192
189
  danger: WHITE,
193
190
  dangerSecondary: "#B10541",
194
191
  whiteSecondary: WHITE,
195
- whitePrimary: WHITE,
196
- disabled: MANATEE_GREY,
197
- smallDisabled: MANATEE_GREY
192
+ whitePrimary: WHITE
198
193
  };
199
194
 
200
195
  const activeBackgroundColor = {
@@ -209,9 +204,7 @@ const activeBackgroundColor = {
209
204
  danger: "#870000",
210
205
  dangerSecondary: "#FAE7EE",
211
206
  whiteSecondary: TRANSPARENT,
212
- whitePrimary: TRANSPARENT,
213
- disabled: TRANSPARENT,
214
- smallDisabled: TRANSPARENT
207
+ whitePrimary: TRANSPARENT
215
208
  };
216
209
 
217
210
  const activeBorderColor = {
@@ -226,9 +219,7 @@ const activeBorderColor = {
226
219
  danger: "#870000",
227
220
  dangerSecondary: "#910029",
228
221
  whiteSecondary: "2px solid " + TRANSPARENT,
229
- whitePrimary: "2px solid " + TRANSPARENT,
230
- disabled: TRANSPARENT,
231
- smallDisabled: TRANSPARENT
222
+ whitePrimary: "2px solid " + TRANSPARENT
232
223
  };
233
224
 
234
225
  const activeColor = {
@@ -243,9 +234,7 @@ const activeColor = {
243
234
  danger: WHITE,
244
235
  dangerSecondary: "#910029",
245
236
  whiteSecondary: WHITE,
246
- whitePrimary: WHITE,
247
- disabled: MANATEE_GREY,
248
- smallDisabled: MANATEE_GREY
237
+ whitePrimary: WHITE
249
238
  };
250
239
 
251
240
  export const fallbackValues = {
@@ -255,6 +244,7 @@ export const fallbackValues = {
255
244
  fontWeight,
256
245
  height,
257
246
  minWidth,
247
+ textDecoration,
258
248
  backgroundColor,
259
249
  border,
260
250
  hoverBackgroundColor,
@@ -9,8 +9,8 @@ const ButtonWithLink = ({
9
9
  url = "/",
10
10
  disabled = false,
11
11
  fileLink = false,
12
- extraStyles,
13
- linkExtraStyles,
12
+ extraStyles = "",
13
+ linkExtraStyles = "",
14
14
  newTab = false,
15
15
  dataQa,
16
16
  ...otherProps
@@ -172,7 +172,7 @@ const FormInput = ({
172
172
  color={themeValues.linkColor}
173
173
  weight={themeValues.fontWeight}
174
174
  hoverStyles={themeValues.hoverFocusStyles}
175
- extraStyles={`cursor: pointer; &:focus { outline-offset: -2px; }`}
175
+ extraStyles={`text-decoration: underline; cursor: pointer; &:focus { outline-offset: -2px; }`}
176
176
  onClick={() => setShowPassword(!showPassword)}
177
177
  tabIndex="0"
178
178
  aria-label={showPassword ? "Hide Password" : "Show password"}
@@ -0,0 +1 @@
1
+ export const CloseIcon: JSX.Element;
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+
3
+ export const CloseIcon = ({
4
+ iconFill = "#3B414D",
5
+ iconWidth = "24",
6
+ iconHeight = "24",
7
+ ...rest
8
+ }) => {
9
+ return (
10
+ <svg
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ width={iconWidth}
13
+ height={iconHeight}
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ {...rest}
17
+ >
18
+ <title>Close Icon</title>
19
+ <path
20
+ fillRule="evenodd"
21
+ clipRule="evenodd"
22
+ d="M17.3033 5.98982C17.108 5.79456 16.7915 5.79456 16.5962 5.98982L12 10.586L7.40381 5.98982C7.20854 5.79456 6.89196 5.79456 6.6967 5.98982L5.98959 6.69693C5.79433 6.89219 5.79433 7.20878 5.98959 7.40404L10.5858 12.0002L5.98959 16.5964C5.79433 16.7917 5.79433 17.1083 5.98959 17.3035L6.6967 18.0106C6.89196 18.2059 7.20854 18.2059 7.40381 18.0106L12 13.4144L16.5962 18.0106C16.7915 18.2059 17.108 18.2059 17.3033 18.0106L18.0104 17.3035C18.2057 17.1083 18.2057 16.7917 18.0104 16.5964L13.4142 12.0002L18.0104 7.40404C18.2057 7.20878 18.2057 6.89219 18.0104 6.69693L17.3033 5.98982Z"
23
+ fill={iconFill}
24
+ />
25
+ <mask
26
+ id="mask0_3727_16765"
27
+ style={{ maskType: "luminance" }}
28
+ maskUnits="userSpaceOnUse"
29
+ x="5"
30
+ y="5"
31
+ width="14"
32
+ height="14"
33
+ >
34
+ <path
35
+ fillRule="evenodd"
36
+ clipRule="evenodd"
37
+ d="M17.3033 5.98982C17.108 5.79456 16.7915 5.79456 16.5962 5.98982L12 10.586L7.40381 5.98982C7.20854 5.79456 6.89196 5.79456 6.6967 5.98982L5.98959 6.69693C5.79433 6.89219 5.79433 7.20878 5.98959 7.40404L10.5858 12.0002L5.98959 16.5964C5.79433 16.7917 5.79433 17.1083 5.98959 17.3035L6.6967 18.0106C6.89196 18.2059 7.20854 18.2059 7.40381 18.0106L12 13.4144L16.5962 18.0106C16.7915 18.2059 17.108 18.2059 17.3033 18.0106L18.0104 17.3035C18.2057 17.1083 18.2057 16.7917 18.0104 16.5964L13.4142 12.0002L18.0104 7.40404C18.2057 7.20878 18.2057 6.89219 18.0104 6.69693L17.3033 5.98982Z"
38
+ fill="none"
39
+ />
40
+ </mask>
41
+ <g mask="url(#mask0_3727_16765)">
42
+ <path d="M0 0H24V24H0V0Z" fill={iconFill} />
43
+ </g>
44
+ </svg>
45
+ );
46
+ };
47
+
48
+ export default CloseIcon;
@@ -0,0 +1 @@
1
+ export const TrashIconV2: JSX.Element;
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import { fallbackValues } from "./Icons.theme";
3
+ import { themeComponent } from "../../../util/themeUtils";
4
+
5
+ const TrashIconV2 = ({ themeValues, iconFill }) => {
6
+ return (
7
+ <svg
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ width="18"
10
+ height="18"
11
+ viewBox="0 0 18 18"
12
+ fill="none"
13
+ >
14
+ <path
15
+ fillRule="evenodd"
16
+ clipRule="evenodd"
17
+ d="M11.5 4H14V6H4V4H6.5L7.21429 3H10.7857L11.5 4ZM6.99048 15C6.25714 15 5.65714 14.4857 5.65714 13.8571L4.85714 7H12.8571L12.0571 13.8571C12.0571 14.4857 11.4571 15 10.7238 15H6.99048Z"
18
+ fill={iconFill ?? themeValues.singleIconColor}
19
+ />
20
+ <mask
21
+ id="mask0_4292_11876"
22
+ style={{ maskType: "luminance" }}
23
+ maskUnits="userSpaceOnUse"
24
+ x="4"
25
+ y="3"
26
+ width="10"
27
+ height="12"
28
+ >
29
+ <path
30
+ fillRule="evenodd"
31
+ clipRule="evenodd"
32
+ d="M11.5 4H14V6H4V4H6.5L7.21429 3H10.7857L11.5 4ZM6.99048 15C6.25714 15 5.65714 14.4857 5.65714 13.8571L4.85714 7H12.8571L12.0571 13.8571C12.0571 14.4857 11.4571 15 10.7238 15H6.99048Z"
33
+ fill="white"
34
+ />
35
+ </mask>
36
+ <g mask="url(#mask0_4292_11876)"></g>
37
+ </svg>
38
+ );
39
+ };
40
+
41
+ export default themeComponent(TrashIconV2, "Icons", fallbackValues, "primary");
@@ -40,7 +40,9 @@ import {
40
40
  StatusUnknownIcon,
41
41
  AutopayIcon,
42
42
  KebabMenuIcon,
43
- MultiCartIcon
43
+ MultiCartIcon,
44
+ CloseIcon,
45
+ TrashIconV2
44
46
  } from "./index";
45
47
 
46
48
  const story = page({
@@ -88,3 +90,5 @@ export const statusUnknownIcon = () => <StatusUnknownIcon />;
88
90
  export const autopayIcon = () => <AutopayIcon />;
89
91
  export const kebabMenuIcon = () => <KebabMenuIcon />;
90
92
  export const multiCartIcon = () => <MultiCartIcon />;
93
+ export const closeIcon = () => <CloseIcon />;
94
+ export const trashIconV2 = () => <TrashIconV2 />;
@@ -23,3 +23,5 @@ export * from "./XCircleIconMedium";
23
23
  export * from "./XCircleIconSmall";
24
24
  export * from "./KebabMenuIcon";
25
25
  export * from "./MultiCartIcon";
26
+ export * from "./CloseIcon";
27
+ export * from "./TrashIconV2";
@@ -88,6 +88,8 @@ import ChargebackReversalIconMedium from "./ChargebackReversalIconMedium";
88
88
  import PlusCircleIcon from "./PlusCircleIcon";
89
89
  import KebabMenuIcon from "./KebabMenuIcon";
90
90
  import MultiCartIcon from "./MultiCartIcon";
91
+ import CloseIcon from "./CloseIcon";
92
+ import TrashIconV2 from "./TrashIconV2";
91
93
 
92
94
  export {
93
95
  AccountsIcon,
@@ -179,5 +181,7 @@ export {
179
181
  ChargebackReversalIconMedium,
180
182
  PlusCircleIcon,
181
183
  KebabMenuIcon,
182
- MultiCartIcon
184
+ MultiCartIcon,
185
+ CloseIcon,
186
+ TrashIconV2
183
187
  };
@@ -45,7 +45,6 @@ const Box = forwardRef(
45
45
  extraStyles,
46
46
  srOnly = false,
47
47
  dataQa,
48
- disabled = false,
49
48
  children,
50
49
  ...rest
51
50
  },
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { boolean, text, radios, select } from "@storybook/addon-knobs";
2
+ import { text, radios, select } from "@storybook/addon-knobs";
3
3
 
4
4
  import page from "../../../../../../.storybook/page";
5
5
  import Box from "../../Box";
@@ -47,7 +47,6 @@ export const box = () => (
47
47
  onFocus={text("onFocus", () => {}, groupId)}
48
48
  onBlur={text("onBlur", () => {}, groupId)}
49
49
  onTouchEnd={text("onTouchEnd", () => {}, groupId)}
50
- disabled={boolean("disabled", false, groupId)}
51
50
  >
52
51
  Text Child
53
52
  <LayoutContentBlock
@@ -1,6 +1,10 @@
1
1
  import React, { forwardRef } from "react";
2
2
  import styled from "styled-components";
3
- import { ROYAL_BLUE } from "../../../constants/colors";
3
+ import { colors, styleConstants } from "../../../constants";
4
+
5
+ const { ROYAL_BLUE } = colors;
6
+ const { LINK_TEXT_DECORATION } = styleConstants;
7
+
4
8
  /*
5
9
  The extracting of props and the disabling of the eslint rule is to stop React from complaining about
6
10
  unrecognized DOM attributes.
@@ -18,10 +22,10 @@ export const StyledExternalLink = styled(
18
22
  font-weight: ${({ weight }) => weight};
19
23
  font-family: ${({ fontFamily }) => fontFamily};
20
24
  line-height: ${({ lineheight }) => lineheight};
25
+ text-decoration: ${LINK_TEXT_DECORATION};
21
26
 
22
27
  &:hover {
23
28
  color: ${({ hoverColor }) => hoverColor};
24
- text-decoration: underline;
25
29
  }
26
30
 
27
31
  &:focus {
@@ -30,7 +34,6 @@ export const StyledExternalLink = styled(
30
34
  }
31
35
 
32
36
  &:active {
33
- text-decoration: underline;
34
37
  color: ${({ activeColor }) => activeColor};
35
38
  }
36
39
 
@@ -1,7 +1,11 @@
1
1
  import React, { forwardRef } from "react";
2
2
  import styled from "styled-components";
3
3
  import { Link } from "react-router-dom";
4
- import { ROYAL_BLUE } from "../../../constants/colors";
4
+ import { colors, styleConstants } from "../../../constants";
5
+
6
+ const { ROYAL_BLUE } = colors;
7
+ const { LINK_TEXT_DECORATION } = styleConstants;
8
+
5
9
  /*
6
10
  The extracting of props and the disabling of the eslint rule is to stop React from complaining about
7
11
  unrecognized DOM attributes.
@@ -24,10 +28,10 @@ export const StyledInternalLink = styled(
24
28
  font-size: ${({ fontSize }) => fontSize};
25
29
  font-family: ${({ fontFamily }) => fontFamily};
26
30
  margin: ${({ margin }) => margin};
31
+ text-decoration: ${LINK_TEXT_DECORATION};
27
32
 
28
33
  &:hover {
29
34
  color: ${({ hoverColor }) => hoverColor};
30
- text-decoration: underline;
31
35
  }
32
36
 
33
37
  &:focus {
@@ -36,7 +40,6 @@ export const StyledInternalLink = styled(
36
40
  }
37
41
 
38
42
  &:active {
39
- text-decoration: underline;
40
43
  color: ${({ activeColor }) => activeColor};
41
44
  }
42
45