@thecb/components 4.1.29 → 4.1.31-beta.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.
package/dist/index.cjs.js CHANGED
@@ -4846,7 +4846,8 @@ var CELLO_BLUE = "#214566";
4846
4846
  var BOSTON_BLUE = "#357fb8";
4847
4847
  var INFO_BLUE = "#E4F4FD";
4848
4848
  var HOVER_LIGHT_BLUE = "#EFFAFF";
4849
- var MATISSE_BLUE = "#15749D"; // GREEN
4849
+ var MATISSE_BLUE = "#15749D";
4850
+ var ROYAL_BLUE = "#3181E3"; // GREEN
4850
4851
 
4851
4852
  var FOREST_GREEN = "#19b03F";
4852
4853
  var MEADOW_GREEN = "#16C98D";
@@ -4949,6 +4950,7 @@ var colors = /*#__PURE__*/Object.freeze({
4949
4950
  BOSTON_BLUE: BOSTON_BLUE,
4950
4951
  HOVER_LIGHT_BLUE: HOVER_LIGHT_BLUE,
4951
4952
  MATISSE_BLUE: MATISSE_BLUE,
4953
+ ROYAL_BLUE: ROYAL_BLUE,
4952
4954
  FOREST_GREEN: FOREST_GREEN,
4953
4955
  MEADOW_GREEN: MEADOW_GREEN,
4954
4956
  POLAR_GREEN: POLAR_GREEN,
@@ -4994,7 +4996,7 @@ function _templateObject2() {
4994
4996
  }
4995
4997
 
4996
4998
  function _templateObject() {
4997
- var data = _taggedTemplateLiteral(["\n --font-size: ", ";\n font-size: var(--font-size);\n line-height: calc(1.5 * var(--font-size));\n font-weight: ", ";\n font-family: ", ";\n color: ", ";\n\n &:hover,\n &:focus {\n ", "\n }\n\n ", "\n\n ", "\n"]);
4999
+ var data = _taggedTemplateLiteral(["\n --font-size: ", ";\n font-size: var(--font-size);\n line-height: calc(1.5 * var(--font-size));\n font-weight: ", ";\n font-family: ", ";\n color: ", ";\n\n &:hover {\n ", "\n }\n\n &:focus {\n outline: 3px solid ", ";\n outline-offset: 2px;\n }\n\n ", "\n\n ", "\n"]);
4998
5000
 
4999
5001
  _templateObject = function _templateObject() {
5000
5002
  return data;
@@ -5017,7 +5019,7 @@ var TextSpan = styled__default.span(_templateObject(), function (_ref) {
5017
5019
  }, function (_ref5) {
5018
5020
  var hoverStyles = _ref5.hoverStyles;
5019
5021
  return styled.css(_templateObject2(), hoverStyles);
5020
- }, function (_ref6) {
5022
+ }, ROYAL_BLUE, function (_ref6) {
5021
5023
  var disabled = _ref6.disabled,
5022
5024
  disabledStyles = _ref6.disabledStyles;
5023
5025
  return disabled && styled.css(_templateObject3(), disabledStyles);
@@ -6143,9 +6145,19 @@ var Text = function Text(_ref) {
6143
6145
 
6144
6146
  var Text$1 = themeComponent(Text, "Text", fallbackValues, "p");
6145
6147
 
6146
- function _templateObject6() {
6148
+ function _templateObject7() {
6147
6149
  var data = _taggedTemplateLiteral(["\n ", "\n "]);
6148
6150
 
6151
+ _templateObject7 = function _templateObject7() {
6152
+ return data;
6153
+ };
6154
+
6155
+ return data;
6156
+ }
6157
+
6158
+ function _templateObject6() {
6159
+ var data = _taggedTemplateLiteral(["\n display: none;\n "]);
6160
+
6149
6161
  _templateObject6 = function _templateObject6() {
6150
6162
  return data;
6151
6163
  };
@@ -6154,7 +6166,7 @@ function _templateObject6() {
6154
6166
  }
6155
6167
 
6156
6168
  function _templateObject5() {
6157
- var data = _taggedTemplateLiteral(["\n display: none;\n "]);
6169
+ var data = _taggedTemplateLiteral(["\n ", "\n ", "\n "]);
6158
6170
 
6159
6171
  _templateObject5 = function _templateObject5() {
6160
6172
  return data;
@@ -6174,7 +6186,7 @@ function _templateObject4() {
6174
6186
  }
6175
6187
 
6176
6188
  function _templateObject3$1() {
6177
- var data = _taggedTemplateLiteral(["\n ", "\n ", "\n "]);
6189
+ var data = _taggedTemplateLiteral(["\n outline: 3px solid ", ";\n outline-offset: 2px;\n ", "\n "]);
6178
6190
 
6179
6191
  _templateObject3$1 = function _templateObject3() {
6180
6192
  return data;
@@ -6194,7 +6206,7 @@ function _templateObject2$1() {
6194
6206
  }
6195
6207
 
6196
6208
  function _templateObject$1() {
6197
- var data = _taggedTemplateLiteral(["\n position: relative;\n box-sizing: border-box;\n padding: ", ";\n border: ", ";\n box-shadow: ", ";\n background-color: ", ";\n min-height: ", ";\n ", "\n min-width: ", ";\n max-width: ", ";\n color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border: ", ";\n text-align: ", ";\n\n &:hover, &:focus {\n ", "\n }\n\n &:active {\n ", "\n }\n\n &:disabled {\n ", "\n }\n\n & * {\n color: ", ";\n }\n\n ", "\n ", "\n"]);
6209
+ var data = _taggedTemplateLiteral(["\n position: relative;\n box-sizing: border-box;\n padding: ", ";\n border: ", ";\n box-shadow: ", ";\n background-color: ", ";\n min-height: ", ";\n ", "\n min-width: ", ";\n max-width: ", ";\n color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border: ", ";\n text-align: ", ";\n\n &:hover {\n ", "\n }\n\n &:focus {\n ", "\n }\n\n &:active {\n ", "\n }\n\n &:disabled {\n ", "\n }\n\n & * {\n color: ", ";\n }\n\n ", "\n ", "\n"]);
6198
6210
 
6199
6211
  _templateObject$1 = function _templateObject() {
6200
6212
  return data;
@@ -6282,22 +6294,25 @@ var BoxWrapper = styled__default(function (_ref) {
6282
6294
  as = _ref15.as;
6283
6295
  return styled.css(_templateObject2$1(), hoverStyles, as === "button" ? "> * > span {\n ".concat(hoverStyles, "\n border: none;\n outline: none;\n box-shadow: none;\n }") : "");
6284
6296
  }, function (_ref16) {
6285
- var activeStyles = _ref16.activeStyles,
6286
- as = _ref16.as;
6287
- return styled.css(_templateObject3$1(), activeStyles, as === "button" ? " > * > span {\n ".concat(activeStyles, "\n border: none;\n outline: none;\n box-shadow: none;\n }") : "");
6297
+ var as = _ref16.as;
6298
+ return styled.css(_templateObject3$1(), ROYAL_BLUE, as === "button" && "\n > * > span {\n border: none;\n outline: none;\n box-shadow: none;\n }");
6288
6299
  }, function (_ref17) {
6289
- var disabledStyles = _ref17.disabledStyles,
6300
+ var activeStyles = _ref17.activeStyles,
6290
6301
  as = _ref17.as;
6291
- return styled.css(_templateObject4(), disabledStyles, as === "button" ? " > * > span {\n ".concat(disabledStyles, "\n border: none;\n outline: none;\n box-shadow: none;\n }") : "");
6302
+ return styled.css(_templateObject4(), activeStyles, as === "button" ? " > * > span {\n ".concat(activeStyles, "\n border: none;\n outline: none;\n box-shadow: none;\n }") : "");
6292
6303
  }, function (_ref18) {
6293
- var color = _ref18.color;
6294
- return color;
6304
+ var disabledStyles = _ref18.disabledStyles,
6305
+ as = _ref18.as;
6306
+ return styled.css(_templateObject5(), disabledStyles, as === "button" ? " > * > span {\n ".concat(disabledStyles, "\n border: none;\n outline: none;\n box-shadow: none;\n }") : "");
6295
6307
  }, function (_ref19) {
6296
- var hiddenStyles = _ref19.hiddenStyles;
6297
- return hiddenStyles && styled.css(_templateObject5());
6308
+ var color = _ref19.color;
6309
+ return color;
6298
6310
  }, function (_ref20) {
6299
- var extraStyles = _ref20.extraStyles;
6300
- return styled.css(_templateObject6(), extraStyles);
6311
+ var hiddenStyles = _ref20.hiddenStyles;
6312
+ return hiddenStyles && styled.css(_templateObject6());
6313
+ }, function (_ref21) {
6314
+ var extraStyles = _ref21.extraStyles;
6315
+ return styled.css(_templateObject7(), extraStyles);
6301
6316
  });
6302
6317
  /* eslint-enable no-unused-vars */
6303
6318
 
@@ -12281,15 +12296,15 @@ var Reel = function Reel(_ref) {
12281
12296
  for colors/values that should be used here instead
12282
12297
  */
12283
12298
  var padding = {
12284
- primary: "1rem 1.25rem",
12285
- secondary: "1rem 1.25rem",
12286
- back: "1rem 1.25rem",
12299
+ primary: "0.75rem 1.5rem",
12300
+ secondary: "0.75rem 1.5rem",
12301
+ back: "0.75rem 1.5rem",
12287
12302
  smallPrimary: "0.75rem 1rem",
12288
12303
  smallSecondary: "0.75rem 1rem",
12289
12304
  smallGhost: "0",
12290
- tertiary: "1rem 1.25rem",
12305
+ tertiary: "0.75rem 1.5rem",
12291
12306
  ghost: "0.65rem 0",
12292
- danger: "1rem 1.25rem",
12307
+ danger: "0.75rem 1.5rem",
12293
12308
  whiteSecondary: "0.75rem 2rem",
12294
12309
  whitePrimary: "1.125rem 0.75rem"
12295
12310
  };
@@ -12490,7 +12505,7 @@ function _templateObject2$5() {
12490
12505
  }
12491
12506
 
12492
12507
  function _templateObject$d() {
12493
- var data = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n line-height: 1;\n"]);
12508
+ var data = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n"]);
12494
12509
 
12495
12510
  _templateObject$d = function _templateObject() {
12496
12511
  return data;
@@ -12515,21 +12530,20 @@ var rotate = posed.div({
12515
12530
  });
12516
12531
  var SpinnerContainer = styled__default.div(_templateObject$d());
12517
12532
  var SpinnerIconWrapper = styled__default(rotate)(_templateObject2$5(), function (_ref) {
12518
- var size = _ref.size;
12519
- return size;
12533
+ var isMobile = _ref.isMobile;
12534
+ return isMobile ? "18" : "21";
12520
12535
  }, function (_ref2) {
12521
- var size = _ref2.size;
12522
- return size;
12536
+ var isMobile = _ref2.isMobile;
12537
+ return isMobile ? "18" : "21";
12523
12538
  });
12524
12539
 
12525
12540
  var SpinnerIcon = function SpinnerIcon(_ref3) {
12526
12541
  var color = _ref3.color,
12527
- _ref3$size = _ref3.size,
12528
- size = _ref3$size === void 0 ? 24 : _ref3$size;
12542
+ isMobile = _ref3.isMobile;
12529
12543
  return /*#__PURE__*/React__default.createElement(SpinnerContainer, null, /*#__PURE__*/React__default.createElement(SpinnerIconWrapper, {
12530
12544
  initialPose: "fixed",
12531
12545
  pose: "rotate",
12532
- size: size
12546
+ isMobile: isMobile
12533
12547
  }, /*#__PURE__*/React__default.createElement("svg", {
12534
12548
  viewBox: "0 0 24 24",
12535
12549
  height: "100%",
@@ -12559,7 +12573,7 @@ var SpinnerIcon = function SpinnerIcon(_ref3) {
12559
12573
  };
12560
12574
 
12561
12575
  function _templateObject2$6() {
12562
- var data = _taggedTemplateLiteral(["\n width: 24px;\n height: 24px;\n"]);
12576
+ var data = _taggedTemplateLiteral([""]);
12563
12577
 
12564
12578
  _templateObject2$6 = function _templateObject2() {
12565
12579
  return data;
@@ -12569,7 +12583,7 @@ function _templateObject2$6() {
12569
12583
  }
12570
12584
 
12571
12585
  function _templateObject$e() {
12572
- var data = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n line-height: 1;\n"]);
12586
+ var data = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n"]);
12573
12587
 
12574
12588
  _templateObject$e = function _templateObject() {
12575
12589
  return data;
@@ -12595,11 +12609,14 @@ var rotate$1 = posed.div({
12595
12609
  var SpinnerContainer$1 = styled__default.div(_templateObject$e());
12596
12610
  var SpinnerIconWrapper$1 = styled__default(rotate$1)(_templateObject2$6());
12597
12611
 
12598
- var Spinner = function Spinner() {
12612
+ var Spinner = function Spinner(_ref) {
12613
+ var isMobile = _ref.isMobile;
12599
12614
  return /*#__PURE__*/React__default.createElement(SpinnerContainer$1, null, /*#__PURE__*/React__default.createElement(SpinnerIconWrapper$1, {
12600
12615
  initialPose: "fixed",
12601
12616
  pose: "rotate"
12602
- }, /*#__PURE__*/React__default.createElement(SpinnerIcon, null)));
12617
+ }, /*#__PURE__*/React__default.createElement(SpinnerIcon, {
12618
+ isMobile: isMobile
12619
+ })));
12603
12620
  };
12604
12621
  /* Most of the time, to use this button you'll only need to specify:
12605
12622
  - A variant (if different than primary)
@@ -12618,25 +12635,26 @@ var Spinner = function Spinner() {
12618
12635
  */
12619
12636
 
12620
12637
 
12621
- var ButtonWithAction = function ButtonWithAction(_ref) {
12622
- var _ref$action = _ref.action,
12623
- action = _ref$action === void 0 ? noop : _ref$action,
12624
- _ref$variant = _ref.variant,
12625
- variant = _ref$variant === void 0 ? "primary" : _ref$variant,
12626
- text = _ref.text,
12627
- _ref$isLoading = _ref.isLoading,
12628
- isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
12629
- _ref$dataQa = _ref.dataQa,
12630
- dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
12631
- textExtraStyles = _ref.textExtraStyles,
12632
- _ref$contentOverride = _ref.contentOverride,
12633
- contentOverride = _ref$contentOverride === void 0 ? false : _ref$contentOverride,
12634
- _ref$extraStyles = _ref.extraStyles,
12635
- extraStyles = _ref$extraStyles === void 0 ? "" : _ref$extraStyles,
12636
- children = _ref.children;
12638
+ var ButtonWithAction = function ButtonWithAction(_ref2) {
12639
+ var _ref2$action = _ref2.action,
12640
+ action = _ref2$action === void 0 ? noop : _ref2$action,
12641
+ _ref2$variant = _ref2.variant,
12642
+ variant = _ref2$variant === void 0 ? "primary" : _ref2$variant,
12643
+ text = _ref2.text,
12644
+ _ref2$isLoading = _ref2.isLoading,
12645
+ isLoading = _ref2$isLoading === void 0 ? false : _ref2$isLoading,
12646
+ _ref2$dataQa = _ref2.dataQa,
12647
+ dataQa = _ref2$dataQa === void 0 ? null : _ref2$dataQa,
12648
+ textExtraStyles = _ref2.textExtraStyles,
12649
+ _ref2$contentOverride = _ref2.contentOverride,
12650
+ contentOverride = _ref2$contentOverride === void 0 ? false : _ref2$contentOverride,
12651
+ _ref2$extraStyles = _ref2.extraStyles,
12652
+ extraStyles = _ref2$extraStyles === void 0 ? "" : _ref2$extraStyles,
12653
+ tabIndex = _ref2.tabIndex,
12654
+ children = _ref2.children;
12637
12655
  var themeContext = React.useContext(styled.ThemeContext);
12638
12656
  var themeValues = createThemeValues(themeContext, fallbackValues$1, "Button", variant);
12639
- var loadingExtraStyles = "".concat(extraStyles, "; padding-top: 0.75rem; padding-bottom: 0.75rem; height: ").concat(themeContext.isMobile ? "50px" : "57px", " ");
12657
+ var isMobile = themeContext.isMobile;
12640
12658
  var hoverStyles = "\n outline: none;\n background-color: ".concat(themeValues.hoverBackgroundColor, ";\n border-color: ").concat(themeValues.hoverBorderColor, ";\n color: ").concat(themeValues.hoverColor, ";\n text-decoration: ").concat(variant === "ghost" || variant === "smallGhost" ? "underline" : "none", ";\n cursor: pointer;\n ");
12641
12659
  var activeStyles = "\n outline: none;\n background-color: ".concat(themeValues.activeBackgroundColor, ";\n border-color: ").concat(themeValues.activeBorderColor, ";\n color: ").concat(themeValues.activeColor, ";\n text-decoration: ").concat(variant === "ghost" || variant === "smallGhost" ? "underline" : "none", ";\n ");
12642
12660
  var disabledStyles = "\n background-clor: #6E727E;\n border-color: #6E727E;\n color: #FFFFFF;\n &:focus {\n box-shadow: 0 0 10px #6E727E;\n outline: none;\n }\n ";
@@ -12654,11 +12672,14 @@ var ButtonWithAction = function ButtonWithAction(_ref) {
12654
12672
  onClick: !isLoading && action,
12655
12673
  borderRadius: "2px",
12656
12674
  theme: themeContext,
12657
- extraStyles: isLoading ? loadingExtraStyles : extraStyles,
12658
- dataQa: dataQa
12675
+ extraStyles: "margin: 0.5rem; ".concat(extraStyles),
12676
+ dataQa: dataQa,
12677
+ tabIndex: tabIndex
12659
12678
  }, contentOverride ? children : /*#__PURE__*/React__default.createElement(Center, {
12660
12679
  intrinsic: true
12661
- }, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, null) : /*#__PURE__*/React__default.createElement(Text$1, {
12680
+ }, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
12681
+ isMobile: isMobile
12682
+ }) : /*#__PURE__*/React__default.createElement(Text$1, {
12662
12683
  weight: themeValues.fontWeight,
12663
12684
  variant: themeValues.fontSizeVariant,
12664
12685
  color: themeValues.color,
@@ -14712,14 +14733,15 @@ var AddObligation = function AddObligation(_ref) {
14712
14733
  textExtraStyles = _ref.textExtraStyles;
14713
14734
  var hoverStyles = "\n &:hover {\n .fill { fill: ".concat(themeValues.hoverColor, "; }\n .stroke { stroke: ").concat(themeValues.hoverColor, "; }\n button { text-decoration: underline; text-decoration-color: ").concat(themeValues.hoverColor, "; }\n span { color: ").concat(themeValues.hoverColor, "; }\n }");
14714
14735
  var activeStyles = "\n &:active {\n .fill { fill: ".concat(themeValues.activeColor, "; }\n .stroke { stroke: ").concat(themeValues.activeColor, "; }\n button { text-decoration: underline; text-decoration-color: ").concat(themeValues.activeColor, "; }\n span { color: ").concat(themeValues.activeColor, "; }\n }");
14715
- var defaultStyles = "\n min-height: 0;\n .fill { fill: ".concat(themeValues.color, "; }\n .stroke { stroke: ").concat(themeValues.color, "; }\n ");
14736
+ var defaultStyles = "\n min-height: 0;\n .fill { fill: ".concat(themeValues.color, "; }\n .stroke { stroke: ").concat(themeValues.color, "; }\n &:focus {\n outline: 3px solid ").concat(ROYAL_BLUE, ";\n outline-offset: 2px;\n }\n ");
14716
14737
  return /*#__PURE__*/React__default.createElement(Box, {
14717
14738
  className: "button",
14718
- padding: "0.5rem 0",
14739
+ padding: "0",
14719
14740
  hoverStyles: hoverStyles,
14720
14741
  activeStyles: activeStyles,
14721
14742
  extraStyles: defaultStyles,
14722
- onClick: action
14743
+ onClick: action,
14744
+ tabIndex: "0"
14723
14745
  }, /*#__PURE__*/React__default.createElement(Cover, {
14724
14746
  singleChild: true,
14725
14747
  minHeight: "100%"
@@ -14734,7 +14756,8 @@ var AddObligation = function AddObligation(_ref) {
14734
14756
  text: text,
14735
14757
  variant: "smallGhost",
14736
14758
  extraStyles: "min-height: 0; ".concat(extraStyles),
14737
- textExtraStyles: "padding: 0 0 0 0.75rem; font-size: 0.875rem; font-weight ".concat(FONT_WEIGHT_SEMIBOLD, "; ").concat(textExtraStyles)
14759
+ textExtraStyles: "padding: 0 0 0 0.75rem; font-size: 0.875rem; font-weight ".concat(FONT_WEIGHT_SEMIBOLD, "; ").concat(textExtraStyles),
14760
+ tabIndex: "-1"
14738
14761
  })))));
14739
14762
  };
14740
14763
 
@@ -16184,7 +16207,7 @@ var activeBreadcrumbColor = "".concat(STORM_GREY);
16184
16207
  var fontSize$3 = "0.875rem";
16185
16208
  var lineHeight$1 = "1.25rem";
16186
16209
  var fontWeight$1 = "400";
16187
- var margin = "0 0.5rem";
16210
+ var margin = "0.5rem";
16188
16211
  var hover = "text-decoration: none;";
16189
16212
  var fallbackValues$8 = {
16190
16213
  color: color$4,
@@ -16212,7 +16235,7 @@ var fallbackValues$9 = {
16212
16235
  };
16213
16236
 
16214
16237
  function _templateObject$h() {
16215
- var data = _taggedTemplateLiteral(["\n display: flex;\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n font-family: ", ";\n line-height: ", ";\n\n &:hover,\n &:focus {\n color: ", ";\n text-decoration: underline;\n }\n\n &:active {\n text-decoration: underline;\n color: ", ";\n }\n\n ", "\n"]);
16238
+ var data = _taggedTemplateLiteral(["\n display: flex;\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n font-family: ", ";\n line-height: ", ";\n\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n\n &:focus {\n outline: 3px solid ", ";\n outline-offset: 2px;\n }\n\n &:active {\n text-decoration: underline;\n color: ", ";\n }\n\n ", "\n"]);
16216
16239
 
16217
16240
  _templateObject$h = function _templateObject() {
16218
16241
  return data;
@@ -16252,7 +16275,7 @@ var StyledExternalLink = styled__default(function (_ref) {
16252
16275
  }, function (_ref7) {
16253
16276
  var hoverColor = _ref7.hoverColor;
16254
16277
  return hoverColor;
16255
- }, function (_ref8) {
16278
+ }, ROYAL_BLUE, function (_ref8) {
16256
16279
  var activeColor = _ref8.activeColor;
16257
16280
  return activeColor;
16258
16281
  }, function (_ref9) {
@@ -16298,7 +16321,7 @@ var ExternalLink = function ExternalLink(_ref) {
16298
16321
  };
16299
16322
 
16300
16323
  function _templateObject$i() {
16301
- var data = _taggedTemplateLiteral(["\n display: flex;\n color: ", ";\n font-weight: ", ";\n line-height: ", ";\n font-size: ", ";\n font-family: ", ";\n margin: ", ";\n\n &:hover,\n &:focus {\n color: ", ";\n text-decoration: underline;\n }\n\n &:active {\n text-decoration: underline;\n color: ", ";\n }\n\n ", "\n"]);
16324
+ var data = _taggedTemplateLiteral(["\n display: flex;\n color: ", ";\n font-weight: ", ";\n line-height: ", ";\n font-size: ", ";\n font-family: ", ";\n margin: ", ";\n\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n\n &:focus {\n outline: 3px solid ", ";\n outline-offset: 2px;\n }\n\n &:active {\n text-decoration: underline;\n color: ", ";\n }\n\n ", "\n"]);
16302
16325
 
16303
16326
  _templateObject$i = function _templateObject() {
16304
16327
  return data;
@@ -16345,7 +16368,7 @@ var StyledInternalLink = styled__default(function (_ref) {
16345
16368
  }, function (_ref8) {
16346
16369
  var hoverColor = _ref8.hoverColor;
16347
16370
  return hoverColor;
16348
- }, function (_ref9) {
16371
+ }, ROYAL_BLUE, function (_ref9) {
16349
16372
  var activeColor = _ref9.activeColor;
16350
16373
  return activeColor;
16351
16374
  }, function (_ref10) {
@@ -18405,10 +18428,10 @@ function _templateObject8() {
18405
18428
  return data;
18406
18429
  }
18407
18430
 
18408
- function _templateObject7() {
18431
+ function _templateObject7$1() {
18409
18432
  var data = _taggedTemplateLiteral(["\n display: inline-block;\n margin-right: 16px;\n width: 24px;\n height: 24px;\n border-radius: 2px;\n transition: all 150ms;\n\n ", " {\n visibility: ", ";\n }\n\n ", ";\n"]);
18410
18433
 
18411
- _templateObject7 = function _templateObject7() {
18434
+ _templateObject7$1 = function _templateObject7() {
18412
18435
  return data;
18413
18436
  };
18414
18437
 
@@ -18485,7 +18508,7 @@ var CheckboxIcon = styled__default.svg(_templateObject3$3(), function (_ref) {
18485
18508
  var HiddenCheckbox = styled__default.input.attrs({
18486
18509
  type: "checkbox"
18487
18510
  })(_templateObject6$1());
18488
- var StyledCheckbox = styled__default.div(_templateObject7(), CheckboxIcon, function (_ref2) {
18511
+ var StyledCheckbox = styled__default.div(_templateObject7$1(), CheckboxIcon, function (_ref2) {
18489
18512
  var checked = _ref2.checked;
18490
18513
  return checked ? "visible" : "hidden";
18491
18514
  }, function (_ref3) {
@@ -20513,7 +20536,7 @@ function _templateObject4$3() {
20513
20536
  }
20514
20537
 
20515
20538
  function _templateObject3$7() {
20516
- var data = _taggedTemplateLiteral(["\n border: 1px solid\n ", ";\n border-radius: 2px;\n height: ", ";\n width: 100%;\n padding: 1rem;\n min-width: 100px;\n margin: 0;\n box-sizing: border-box;\n position: relative;\n font-size: 1.1rem;\n line-height: 2rem;\n font-weight: ", ";\n background-color: ", ";\n color: ", ";\n box-shadow: none;\n\n &:focus {\n border: 1px solid ", ";\n }\n\n ", "\n"]);
20539
+ var data = _taggedTemplateLiteral(["\n border: 1px solid\n ", ";\n border-radius: 2px;\n height: ", ";\n width: 100%;\n padding: 1rem;\n min-width: 100px;\n margin: 0;\n box-sizing: border-box;\n position: relative;\n font-size: 1.1rem;\n line-height: 2rem;\n font-weight: ", ";\n background-color: ", ";\n color: ", ";\n box-shadow: none;\n\n &:focus {\n outline: 3px solid ", ";\n outline-offset: 2px;\n }\n\n ", "\n"]);
20517
20540
 
20518
20541
  _templateObject3$7 = function _templateObject3() {
20519
20542
  return data;
@@ -20533,7 +20556,7 @@ function _templateObject2$d() {
20533
20556
  }
20534
20557
 
20535
20558
  function _templateObject$p() {
20536
- var data = _taggedTemplateLiteral(["\n border: 1px solid\n ", ";\n border-radius: 2px;\n height: ", ";\n width: 100%;\n padding: 1rem;\n min-width: 100px;\n margin: 0;\n box-sizing: border-box;\n position: relative;\n font-size: 1.1rem;\n font-family: Public Sans;\n line-height: 2rem;\n font-weight: ", ";\n background-color: ", ";\n color: ", ";\n box-shadow: none;\n ", "\n transition: background 0.3s ease;\n\n &:focus {\n border: 1px solid ", ";\n }\n\n ", "\n"]);
20559
+ var data = _taggedTemplateLiteral(["\n border: 1px solid\n ", ";\n border-radius: 2px;\n height: ", ";\n width: 100%;\n padding: 1rem;\n min-width: 100px;\n margin: 0;\n box-sizing: border-box;\n position: relative;\n font-size: 1.1rem;\n font-family: Public Sans;\n line-height: 2rem;\n font-weight: ", ";\n background-color: ", ";\n color: ", ";\n box-shadow: none;\n ", "\n transition: background 0.3s ease;\n\n &:focus {\n outline: 3px solid ", ";\n outline-offset: 2px;\n }\n\n ", "\n"]);
20537
20560
 
20538
20561
  _templateObject$p = function _templateObject() {
20539
20562
  return data;
@@ -20559,7 +20582,7 @@ var InputField = styled__default.input(_templateObject$p(), function (_ref) {
20559
20582
  var background = _ref5.background,
20560
20583
  themeValues = _ref5.themeValues;
20561
20584
  return background && "background: ".concat(themeValues.inputBackgroundColor, " url(").concat(background, ") no-repeat right 0.5rem center;");
20562
- }, MATISSE_BLUE, function (_ref6) {
20585
+ }, ROYAL_BLUE, function (_ref6) {
20563
20586
  var extraStyles = _ref6.extraStyles;
20564
20587
  return styled.css(_templateObject2$d(), extraStyles);
20565
20588
  }); // eslint-disable-next-line no-unused-vars
@@ -20584,7 +20607,7 @@ var FormattedInputField = styled__default(function (_ref7) {
20584
20607
  }, function (_ref11) {
20585
20608
  var themeValues = _ref11.themeValues;
20586
20609
  return themeValues.color && themeValues.color;
20587
- }, MATISSE_BLUE, function (_ref12) {
20610
+ }, ROYAL_BLUE, function (_ref12) {
20588
20611
  var extraStyles = _ref12.extraStyles;
20589
20612
  return styled.css(_templateObject4$3(), extraStyles);
20590
20613
  });
@@ -20657,7 +20680,7 @@ var FormInput = function FormInput(_ref13) {
20657
20680
  color: themeValues.linkColor,
20658
20681
  weight: themeValues.fontWeight,
20659
20682
  hoverStyles: themeValues.hoverFocusStyles,
20660
- extraStyles: "cursor: pointer;",
20683
+ extraStyles: "cursor: pointer; &:focus { outline-offset: -2px; }",
20661
20684
  onClick: function onClick() {
20662
20685
  return setShowPassword(!showPassword);
20663
20686
  },
@@ -20780,7 +20803,7 @@ var FormFooterPanel = function FormFooterPanel(_ref) {
20780
20803
  return /*#__PURE__*/React__default.createElement(Box, {
20781
20804
  background: themeValues.formFooterPanel,
20782
20805
  minWidth: "100%",
20783
- padding: isMobile ? "1.5rem" : "2rem"
20806
+ padding: isMobile ? "1rem" : "1.5rem"
20784
20807
  }, /*#__PURE__*/React__default.createElement(Cluster, {
20785
20808
  justify: "center",
20786
20809
  align: "center"
@@ -21199,7 +21222,7 @@ var NavFooter = function NavFooter(_ref) {
21199
21222
  breakpoint: isMobile ? "999px" : "700px",
21200
21223
  largeChild: largeSide === "right" ? "2" : "1",
21201
21224
  largeChildSize: largeSideSize,
21202
- childGap: "0.25rem"
21225
+ childGap: "0.5rem"
21203
21226
  }, leftContent, /*#__PURE__*/React__default.createElement(Cluster, {
21204
21227
  justify: isMobile ? "flex-start" : "flex-end",
21205
21228
  align: "center",
@@ -21337,10 +21360,10 @@ function _templateObject8$1() {
21337
21360
  return data;
21338
21361
  }
21339
21362
 
21340
- function _templateObject7$1() {
21363
+ function _templateObject7$2() {
21341
21364
  var data = _taggedTemplateLiteral(["", " needs an uppercase letter"]);
21342
21365
 
21343
- _templateObject7$1 = function _templateObject7() {
21366
+ _templateObject7$2 = function _templateObject7() {
21344
21367
  return data;
21345
21368
  };
21346
21369
 
@@ -21446,7 +21469,7 @@ with interpolation.
21446
21469
  */
21447
21470
 
21448
21471
 
21449
- var DEFAULT_ERROR_MESSAGES = (_DEFAULT_ERROR_MESSAG = {}, _defineProperty(_DEFAULT_ERROR_MESSAG, MIN_LENGTH_ERROR, genErrorMessage(_templateObject$t(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MAX_LENGTH_ERROR, genErrorMessage(_templateObject2$h(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, EXACT_LENGTH_ERROR, genErrorMessage(_templateObject3$9(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MULTIPLE_LENGTHS_ERROR, genErrorMessage(_templateObject4$4(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, EMAIL_ERROR, genErrorMessage(_templateObject5$2(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_NUMBER_ERROR, genErrorMessage(_templateObject6$2(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_UPPERCASE_LETTER_ERROR, genErrorMessage(_templateObject7$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_LOWERCASE_LETTER_ERROR, genErrorMessage(_templateObject8$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_SPECIAL_CHARACTER_ERROR, genErrorMessage(_templateObject9$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, ONLY_NUMBERS_ERROR, genErrorMessage(_templateObject10$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, ONLY_LETTERS_ERROR, genErrorMessage(_templateObject11$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, REQUIRED_FIELD_ERROR, genErrorMessage(_templateObject12(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, NUM_GREATER_THAN_ERROR, genErrorMessage(_templateObject13(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, NUM_LESS_THAN_ERROR, genErrorMessage(_templateObject14(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MATCHES_FIELD_ERROR, genErrorMessage(_templateObject15(), "fieldLabel", "matchField")), _defineProperty(_DEFAULT_ERROR_MESSAG, VALID_SELECT_OPTION_ERROR, genErrorMessage(_templateObject16(), "fieldLabel")), _DEFAULT_ERROR_MESSAG); // Constants to represent an input's state
21472
+ var DEFAULT_ERROR_MESSAGES = (_DEFAULT_ERROR_MESSAG = {}, _defineProperty(_DEFAULT_ERROR_MESSAG, MIN_LENGTH_ERROR, genErrorMessage(_templateObject$t(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MAX_LENGTH_ERROR, genErrorMessage(_templateObject2$h(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, EXACT_LENGTH_ERROR, genErrorMessage(_templateObject3$9(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MULTIPLE_LENGTHS_ERROR, genErrorMessage(_templateObject4$4(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, EMAIL_ERROR, genErrorMessage(_templateObject5$2(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_NUMBER_ERROR, genErrorMessage(_templateObject6$2(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_UPPERCASE_LETTER_ERROR, genErrorMessage(_templateObject7$2(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_LOWERCASE_LETTER_ERROR, genErrorMessage(_templateObject8$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, HAS_SPECIAL_CHARACTER_ERROR, genErrorMessage(_templateObject9$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, ONLY_NUMBERS_ERROR, genErrorMessage(_templateObject10$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, ONLY_LETTERS_ERROR, genErrorMessage(_templateObject11$1(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, REQUIRED_FIELD_ERROR, genErrorMessage(_templateObject12(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, NUM_GREATER_THAN_ERROR, genErrorMessage(_templateObject13(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, NUM_LESS_THAN_ERROR, genErrorMessage(_templateObject14(), "fieldLabel")), _defineProperty(_DEFAULT_ERROR_MESSAG, MATCHES_FIELD_ERROR, genErrorMessage(_templateObject15(), "fieldLabel", "matchField")), _defineProperty(_DEFAULT_ERROR_MESSAG, VALID_SELECT_OPTION_ERROR, genErrorMessage(_templateObject16(), "fieldLabel")), _DEFAULT_ERROR_MESSAG); // Constants to represent an input's state
21450
21473
  // Neutral - has not been validated
21451
21474
  // Invalid - has been validated and has an error
21452
21475
  // Valid - has been validated and has no error
@@ -21584,7 +21607,8 @@ var PlaceholderContentWrapper = function PlaceholderContentWrapper(_ref) {
21584
21607
  dataQa = _ref.dataQa;
21585
21608
  return isLink ? /*#__PURE__*/React__default.createElement(reactRouterDom.Link, {
21586
21609
  to: destination,
21587
- dataQa: dataQa
21610
+ dataQa: dataQa,
21611
+ tabIndex: "0"
21588
21612
  }, /*#__PURE__*/React__default.createElement(Box, {
21589
21613
  padding: "0",
21590
21614
  minHeight: "100%",
@@ -21594,7 +21618,8 @@ var PlaceholderContentWrapper = function PlaceholderContentWrapper(_ref) {
21594
21618
  padding: "0",
21595
21619
  minHeight: "100%",
21596
21620
  extraStyles: "cursor: pointer;",
21597
- dataQa: dataQa
21621
+ dataQa: dataQa,
21622
+ tabIndex: "0"
21598
21623
  }, children);
21599
21624
  };
21600
21625
 
@@ -34575,7 +34600,8 @@ var CollapsibleSection = function CollapsibleSection(_ref) {
34575
34600
  onClick: isMobile && supportsTouch ? noop : toggleSection,
34576
34601
  onTouchEnd: isMobile && supportsTouch ? toggleSection : noop,
34577
34602
  key: "header",
34578
- hoverStyles: "cursor: pointer;"
34603
+ hoverStyles: "cursor: pointer;",
34604
+ tabIndex: "0"
34579
34605
  }, /*#__PURE__*/React__default.createElement(Cluster, {
34580
34606
  justify: "space-between",
34581
34607
  align: "center"
@@ -34812,10 +34838,10 @@ function _templateObject8$2() {
34812
34838
  return data;
34813
34839
  }
34814
34840
 
34815
- function _templateObject7$2() {
34841
+ function _templateObject7$3() {
34816
34842
  var data = _taggedTemplateLiteral(["\n display: flex;\n ", ";\n ", ";\n ", ";\n font-size: ", ";\n color: ", ";\n"]);
34817
34843
 
34818
- _templateObject7$2 = function _templateObject7() {
34844
+ _templateObject7$3 = function _templateObject7() {
34819
34845
  return data;
34820
34846
  };
34821
34847
 
@@ -34908,7 +34934,7 @@ var ActionWrapper = styled__default.div(_templateObject6$3(), function (_ref7) {
34908
34934
  var isMobile = _ref7.isMobile;
34909
34935
  return isMobile && "display: none";
34910
34936
  });
34911
- var TableItemKey = styled__default.div(_templateObject7$2(), function (_ref8) {
34937
+ var TableItemKey = styled__default.div(_templateObject7$3(), function (_ref8) {
34912
34938
  var isMobile = _ref8.isMobile;
34913
34939
  return !isMobile && "flex: 1";
34914
34940
  }, function (_ref9) {
@@ -36469,8 +36495,7 @@ var Modal$1 = function Modal(_ref) {
36469
36495
  variant: "secondary",
36470
36496
  action: cancelAction ? cancelAction : hideModal,
36471
36497
  text: cancelButtonText,
36472
- dataQa: cancelButtonText,
36473
- extraStyles: "width: 100%;"
36498
+ dataQa: cancelButtonText
36474
36499
  })), /*#__PURE__*/React__default.createElement(Box, {
36475
36500
  padding: "0.5rem",
36476
36501
  extraStyles: isMobile ? "flex-grow: 1" : ""
@@ -36478,8 +36503,7 @@ var Modal$1 = function Modal(_ref) {
36478
36503
  variant: useDangerButton ? "danger" : "primary",
36479
36504
  action: continueAction,
36480
36505
  text: continueButtonText,
36481
- dataQa: continueButtonText,
36482
- extraStyles: "width: 100%;"
36506
+ dataQa: continueButtonText
36483
36507
  }))) : /*#__PURE__*/React__default.createElement(Box, {
36484
36508
  padding: "0.5rem"
36485
36509
  }, /*#__PURE__*/React__default.createElement(ButtonWithAction, {
@@ -38392,7 +38416,7 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
38392
38416
  align: "center",
38393
38417
  childGap: "0"
38394
38418
  }, /*#__PURE__*/React__default.createElement(Box, {
38395
- padding: isMobile ? "0 8px 0 0" : "8px",
38419
+ padding: isMobile ? "0 8px 0 0" : "0",
38396
38420
  extraStyles: isMobile && "flex-grow: 1;"
38397
38421
  }, /*#__PURE__*/React__default.createElement(ButtonWithAction, {
38398
38422
  variant: "tertiary",
@@ -38401,7 +38425,7 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
38401
38425
  dataQa: "Account Details",
38402
38426
  extraStyles: isMobile && "flex-grow: 1; width: 100%;"
38403
38427
  })), /*#__PURE__*/React__default.createElement(Box, {
38404
- padding: isMobile ? "0 8px 0 0" : "8px",
38428
+ padding: isMobile ? "0 8px 0 0" : "0",
38405
38429
  extraStyles: isMobile && "flex-grow: 1;"
38406
38430
  }, autoPayAvailable && !autoPayEnabled ? /*#__PURE__*/React__default.createElement(ButtonWithAction, {
38407
38431
  variant: "tertiary",
@@ -38425,7 +38449,7 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
38425
38449
  isPaymentPlan: isPaymentPlan,
38426
38450
  nextAutopayDate: nextAutopayDate
38427
38451
  })), !isMobile && /*#__PURE__*/React__default.createElement(Box, {
38428
- padding: isMobile ? "0 0 0 8px" : "8px",
38452
+ padding: isMobile ? "0 0 0 8px" : "0",
38429
38453
  extraStyles: isMobile && "flex-grow: 1;"
38430
38454
  }, /*#__PURE__*/React__default.createElement(ButtonWithAction, {
38431
38455
  isLoading: isLoading,
@@ -38820,8 +38844,7 @@ var PaymentButtonBar = function PaymentButtonBar(_ref) {
38820
38844
  padding: "2.5rem 0 3.125rem 0"
38821
38845
  }, /*#__PURE__*/React__default.createElement(Cluster, {
38822
38846
  justify: buttonFlexOverride ? buttonFlexOverride : !!backButton ? "space-between" : "flex-end",
38823
- align: "center",
38824
- childGap: "0.75rem"
38847
+ align: "center"
38825
38848
  }, backButton, !hideForwardButton && /*#__PURE__*/React__default.createElement(React.Fragment, null, forwardButton))));
38826
38849
  };
38827
38850
 
@@ -40014,7 +40037,7 @@ var TabSidebar = function TabSidebar(_ref) {
40014
40037
  return /*#__PURE__*/React__default.createElement(InternalLink, {
40015
40038
  to: route,
40016
40039
  key: "".concat(route, "-").concat(index),
40017
- extraStyles: "&:hover, &:focus {\n text-decoration: none; \n ".concat(active ? "> * {\n background-color: ".concat(themeValues.activeTabHover, ";\n }") : "> * { \n background-color: rgba(8, 27, 43, 0.05);\n }", "}")
40040
+ extraStyles: "&:hover {\n text-decoration: none; \n ".concat(active ? "> * {\n background-color: ".concat(themeValues.activeTabHover, ";\n }") : "> * { \n background-color: rgba(8, 27, 43, 0.05);\n }", "}")
40018
40041
  }, /*#__PURE__*/React__default.createElement(Box, {
40019
40042
  padding: isMobile ? "6px 4px" : "18px 16px",
40020
40043
  background: active ? themeValues.activeTabBackground : "transparent",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thecb/components",
3
- "version": "4.1.29",
3
+ "version": "4.1.31-beta.0",
4
4
  "description": "Common lib for CityBase react components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -5,6 +5,7 @@ import { IconAdd } from "../icons";
5
5
  import { FONT_WEIGHT_SEMIBOLD } from "../../../constants/style_constants";
6
6
  import { fallbackValues } from "./AddObligation.theme";
7
7
  import { themeComponent } from "../../../util/themeUtils";
8
+ import { ROYAL_BLUE } from "../../../constants/colors";
8
9
 
9
10
  const AddObligation = ({
10
11
  text,
@@ -33,15 +34,20 @@ const AddObligation = ({
33
34
  min-height: 0;
34
35
  .fill { fill: ${themeValues.color}; }
35
36
  .stroke { stroke: ${themeValues.color}; }
37
+ &:focus {
38
+ outline: 3px solid ${ROYAL_BLUE};
39
+ outline-offset: 2px;
40
+ }
36
41
  `;
37
42
  return (
38
43
  <Box
39
44
  className="button"
40
- padding="0.5rem 0"
45
+ padding="0"
41
46
  hoverStyles={hoverStyles}
42
47
  activeStyles={activeStyles}
43
48
  extraStyles={defaultStyles}
44
49
  onClick={action}
50
+ tabIndex="0"
45
51
  >
46
52
  <Cover singleChild minHeight="100%">
47
53
  <Cluster justify="center" align="center" minHeight="100%">
@@ -53,6 +59,7 @@ const AddObligation = ({
53
59
  variant="smallGhost"
54
60
  extraStyles={`min-height: 0; ${extraStyles}`}
55
61
  textExtraStyles={`padding: 0 0 0 0.75rem; font-size: 0.875rem; font-weight ${FONT_WEIGHT_SEMIBOLD}; ${textExtraStyles}`}
62
+ tabIndex="-1"
56
63
  />
57
64
  </Center>
58
65
  </Cluster>
@@ -12,7 +12,7 @@ const activeBreadcrumbColor = `${STORM_GREY}`;
12
12
  const fontSize = "0.875rem";
13
13
  const lineHeight = "1.25rem";
14
14
  const fontWeight = "400";
15
- const margin = "0 0.5rem";
15
+ const margin = "0.5rem";
16
16
  const hover = `text-decoration: none;`;
17
17
 
18
18
  export const fallbackValues = {
@@ -32,18 +32,14 @@ const SpinnerContainer = styled.div`
32
32
  flex-direction: row;
33
33
  align-items: center;
34
34
  justify-content: center;
35
- line-height: 1;
36
35
  `;
37
36
 
38
- const SpinnerIconWrapper = styled(rotate)`
39
- width: 24px;
40
- height: 24px;
41
- `;
37
+ const SpinnerIconWrapper = styled(rotate)``;
42
38
 
43
- const Spinner = () => (
39
+ const Spinner = ({ isMobile }) => (
44
40
  <SpinnerContainer>
45
41
  <SpinnerIconWrapper initialPose="fixed" pose="rotate">
46
- <SpinnerIcon />
42
+ <SpinnerIcon isMobile={isMobile} />
47
43
  </SpinnerIconWrapper>
48
44
  </SpinnerContainer>
49
45
  );
@@ -73,6 +69,7 @@ const ButtonWithAction = ({
73
69
  textExtraStyles,
74
70
  contentOverride = false,
75
71
  extraStyles = "",
72
+ tabIndex,
76
73
  children
77
74
  }) => {
78
75
  const themeContext = useContext(ThemeContext);
@@ -82,9 +79,8 @@ const ButtonWithAction = ({
82
79
  "Button",
83
80
  variant
84
81
  );
85
- const loadingExtraStyles = `${extraStyles}; padding-top: 0.75rem; padding-bottom: 0.75rem; height: ${
86
- themeContext.isMobile ? "50px" : "57px"
87
- } `;
82
+ const { isMobile } = themeContext;
83
+
88
84
  const hoverStyles = `
89
85
  outline: none;
90
86
  background-color: ${themeValues.hoverBackgroundColor};
@@ -129,15 +125,16 @@ const ButtonWithAction = ({
129
125
  onClick={!isLoading && action}
130
126
  borderRadius="2px"
131
127
  theme={themeContext}
132
- extraStyles={isLoading ? loadingExtraStyles : extraStyles}
128
+ extraStyles={`margin: 0.5rem; ${extraStyles}`}
133
129
  dataQa={dataQa}
130
+ tabIndex={tabIndex}
134
131
  >
135
132
  {contentOverride ? (
136
133
  children
137
134
  ) : (
138
135
  <Center intrinsic>
139
136
  {isLoading ? (
140
- <Spinner />
137
+ <Spinner isMobile={isMobile} />
141
138
  ) : (
142
139
  <Text
143
140
  weight={themeValues.fontWeight}
@@ -4,15 +4,15 @@
4
4
  */
5
5
 
6
6
  const padding = {
7
- primary: "1rem 1.25rem",
8
- secondary: "1rem 1.25rem",
9
- back: "1rem 1.25rem",
7
+ primary: "0.75rem 1.5rem",
8
+ secondary: "0.75rem 1.5rem",
9
+ back: "0.75rem 1.5rem",
10
10
  smallPrimary: "0.75rem 1rem",
11
11
  smallSecondary: "0.75rem 1rem",
12
12
  smallGhost: "0",
13
- tertiary: "1rem 1.25rem",
13
+ tertiary: "0.75rem 1.5rem",
14
14
  ghost: "0.65rem 0",
15
- danger: "1rem 1.25rem",
15
+ danger: "0.75rem 1.5rem",
16
16
  whiteSecondary: "0.75rem 2rem",
17
17
  whitePrimary: "1.125rem 0.75rem"
18
18
  };
@@ -12,7 +12,7 @@ const FormFooterPanel = ({ themeValues, link, linkText }) => {
12
12
  <Box
13
13
  background={themeValues.formFooterPanel}
14
14
  minWidth="100%"
15
- padding={isMobile ? "1.5rem" : "2rem"}
15
+ padding={isMobile ? "1rem" : "1.5rem"}
16
16
  >
17
17
  <Cluster justify="center" align="center">
18
18
  <ButtonWithLink url={link} variant="smallGhost" text={linkText} />
@@ -6,7 +6,7 @@ import { themeComponent } from "../../../util/themeUtils";
6
6
  import Text from "../text";
7
7
  import { Box, Cluster, Stack } from "../layouts";
8
8
  import { FONT_WEIGHT_REGULAR } from "../../../constants/style_constants";
9
- import { MATISSE_BLUE, ERROR_COLOR } from "../../../constants/colors";
9
+ import { ERROR_COLOR, ROYAL_BLUE } from "../../../constants/colors";
10
10
 
11
11
  const InputField = styled.input`
12
12
  border: 1px solid
@@ -36,7 +36,8 @@ const InputField = styled.input`
36
36
  transition: background 0.3s ease;
37
37
 
38
38
  &:focus {
39
- border: 1px solid ${MATISSE_BLUE};
39
+ outline: 3px solid ${ROYAL_BLUE};
40
+ outline-offset: 2px;
40
41
  }
41
42
 
42
43
  ${({ extraStyles }) =>
@@ -71,7 +72,8 @@ const FormattedInputField = styled(({ showErrors, themeValues, ...props }) => (
71
72
  box-shadow: none;
72
73
 
73
74
  &:focus {
74
- border: 1px solid ${MATISSE_BLUE};
75
+ outline: 3px solid ${ROYAL_BLUE};
76
+ outline-offset: 2px;
75
77
  }
76
78
 
77
79
  ${({ extraStyles }) =>
@@ -151,7 +153,7 @@ const FormInput = ({
151
153
  color={themeValues.linkColor}
152
154
  weight={themeValues.fontWeight}
153
155
  hoverStyles={themeValues.hoverFocusStyles}
154
- extraStyles={`cursor: pointer;`}
156
+ extraStyles={`cursor: pointer; &:focus { outline-offset: -2px; }`}
155
157
  onClick={() => setShowPassword(!showPassword)}
156
158
  aria-label="Show password"
157
159
  tabIndex="0"
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import styled, { css } from "styled-components";
3
-
3
+ import { ROYAL_BLUE } from "../../../constants/colors";
4
4
  /*
5
5
  The child span selector on hover styles targets the text inside of buttons when a button is hovered,
6
6
  as long as the box wrapper has an "as" prop equal to "button"
@@ -50,7 +50,7 @@ export const BoxWrapper = styled(
50
50
  border: ${({ border }) => border};
51
51
  text-align: ${({ textAlign }) => textAlign};
52
52
 
53
- &:hover, &:focus {
53
+ &:hover {
54
54
  ${({ hoverStyles, as }) =>
55
55
  css`
56
56
  ${hoverStyles}
@@ -65,6 +65,21 @@ export const BoxWrapper = styled(
65
65
  `}
66
66
  }
67
67
 
68
+ &:focus {
69
+ ${({ as }) =>
70
+ css`
71
+ outline: 3px solid ${ROYAL_BLUE};
72
+ outline-offset: 2px;
73
+ ${as === "button" &&
74
+ `
75
+ > * > span {
76
+ border: none;
77
+ outline: none;
78
+ box-shadow: none;
79
+ }`}
80
+ `}
81
+ }
82
+
68
83
  &:active {
69
84
  ${({ activeStyles, as }) =>
70
85
  css`
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import styled from "styled-components";
3
-
3
+ import { ROYAL_BLUE } from "../../../constants/colors";
4
4
  /*
5
5
  The extracting of props and the disabling of the eslint rule is to stop React from complaining about
6
6
  unrecognized DOM attributes.
@@ -17,12 +17,16 @@ export const StyledExternalLink = styled(
17
17
  font-family: ${({ fontFamily }) => fontFamily};
18
18
  line-height: ${({ lineheight }) => lineheight};
19
19
 
20
- &:hover,
21
- &:focus {
20
+ &:hover {
22
21
  color: ${({ hoverColor }) => hoverColor};
23
22
  text-decoration: underline;
24
23
  }
25
24
 
25
+ &:focus {
26
+ outline: 3px solid ${ROYAL_BLUE};
27
+ outline-offset: 2px;
28
+ }
29
+
26
30
  &:active {
27
31
  text-decoration: underline;
28
32
  color: ${({ activeColor }) => activeColor};
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import styled from "styled-components";
3
3
  import { Link } from "react-router-dom";
4
-
4
+ import { ROYAL_BLUE } from "../../../constants/colors";
5
5
  /*
6
6
  The extracting of props and the disabling of the eslint rule is to stop React from complaining about
7
7
  unrecognized DOM attributes.
@@ -22,12 +22,16 @@ export const StyledInternalLink = styled(
22
22
  font-family: ${({ fontFamily }) => fontFamily};
23
23
  margin: ${({ margin }) => margin};
24
24
 
25
- &:hover,
26
- &:focus {
25
+ &:hover {
27
26
  color: ${({ hoverColor }) => hoverColor};
28
27
  text-decoration: underline;
29
28
  }
30
29
 
30
+ &:focus {
31
+ outline: 3px solid ${ROYAL_BLUE};
32
+ outline-offset: 2px;
33
+ }
34
+
31
35
  &:active {
32
36
  text-decoration: underline;
33
37
  color: ${({ activeColor }) => activeColor};
@@ -32,7 +32,7 @@ const NavFooter = ({
32
32
  breakpoint={isMobile ? "999px" : "700px"}
33
33
  largeChild={largeSide === "right" ? "2" : "1"}
34
34
  largeChildSize={largeSideSize}
35
- childGap="0.25rem"
35
+ childGap="0.5rem"
36
36
  >
37
37
  {leftContent}
38
38
  <Cluster
@@ -21,7 +21,7 @@ const PlaceholderContentWrapper = ({
21
21
  dataQa
22
22
  }) =>
23
23
  isLink ? (
24
- <Link to={destination} dataQa={dataQa}>
24
+ <Link to={destination} dataQa={dataQa} tabIndex="0">
25
25
  <Box padding="0" minHeight="100%" extraStyles={`cursor: pointer;`}>
26
26
  {children}
27
27
  </Box>
@@ -33,6 +33,7 @@ const PlaceholderContentWrapper = ({
33
33
  minHeight="100%"
34
34
  extraStyles={`cursor: pointer;`}
35
35
  dataQa={dataQa}
36
+ tabIndex="0"
36
37
  >
37
38
  {children}
38
39
  </Box>
@@ -1,4 +1,5 @@
1
1
  import styled, { css } from "styled-components";
2
+ import { ROYAL_BLUE } from "../../../constants/colors";
2
3
 
3
4
  export const TextSpan = styled.span`
4
5
  --font-size: ${({ fontSize }) => fontSize};
@@ -8,14 +9,18 @@ export const TextSpan = styled.span`
8
9
  font-family: ${({ fontFamily }) => fontFamily};
9
10
  color: ${({ color }) => color};
10
11
 
11
- &:hover,
12
- &:focus {
12
+ &:hover {
13
13
  ${({ hoverStyles }) =>
14
14
  css`
15
15
  ${hoverStyles}
16
16
  `}
17
17
  }
18
18
 
19
+ &:focus {
20
+ outline: 3px solid ${ROYAL_BLUE};
21
+ outline-offset: 2px;
22
+ }
23
+
19
24
  ${({ disabled, disabledStyles }) =>
20
25
  disabled &&
21
26
  css`
@@ -79,6 +79,7 @@ const CollapsibleSection = ({
79
79
  onTouchEnd={isMobile && supportsTouch ? toggleSection : noop}
80
80
  key="header"
81
81
  hoverStyles={`cursor: pointer;`}
82
+ tabIndex="0"
82
83
  >
83
84
  <Cluster justify="space-between" align="center">
84
85
  {customTitle ? (
@@ -100,7 +100,6 @@ const Modal = ({
100
100
  action={cancelAction ? cancelAction : hideModal}
101
101
  text={cancelButtonText}
102
102
  dataQa={cancelButtonText}
103
- extraStyles="width: 100%;"
104
103
  />
105
104
  </Box>
106
105
  <Box
@@ -112,7 +111,6 @@ const Modal = ({
112
111
  action={continueAction}
113
112
  text={continueButtonText}
114
113
  dataQa={continueButtonText}
115
- extraStyles="width: 100%;"
116
114
  />
117
115
  </Box>
118
116
  </Fragment>
@@ -82,7 +82,7 @@ const PaymentDetailsActions = ({
82
82
  childGap="0"
83
83
  >
84
84
  <Box
85
- padding={isMobile ? "0 8px 0 0" : "8px"}
85
+ padding={isMobile ? "0 8px 0 0" : "0"}
86
86
  extraStyles={isMobile && `flex-grow: 1;`}
87
87
  >
88
88
  <ButtonWithAction
@@ -98,7 +98,7 @@ const PaymentDetailsActions = ({
98
98
  />
99
99
  </Box>
100
100
  <Box
101
- padding={isMobile ? "0 8px 0 0" : "8px"}
101
+ padding={isMobile ? "0 8px 0 0" : "0"}
102
102
  extraStyles={isMobile && `flex-grow: 1;`}
103
103
  >
104
104
  {autoPayAvailable && !autoPayEnabled ? (
@@ -130,7 +130,7 @@ const PaymentDetailsActions = ({
130
130
  </Box>
131
131
  {!isMobile && (
132
132
  <Box
133
- padding={isMobile ? "0 0 0 8px" : "8px"}
133
+ padding={isMobile ? "0 0 0 8px" : "0"}
134
134
  extraStyles={isMobile && `flex-grow: 1;`}
135
135
  >
136
136
  <ButtonWithAction
@@ -78,7 +78,6 @@ const PaymentButtonBar = ({
78
78
  : "flex-end"
79
79
  }
80
80
  align="center"
81
- childGap="0.75rem"
82
81
  >
83
82
  {backButton}
84
83
  {!hideForwardButton && <Fragment>{forwardButton}</Fragment>}
@@ -34,7 +34,7 @@ const TabSidebar = ({ links, isMobile, themeValues }) => (
34
34
  <InternalLink
35
35
  to={route}
36
36
  key={`${route}-${index}`}
37
- extraStyles={`&:hover, &:focus {
37
+ extraStyles={`&:hover {
38
38
  text-decoration: none;
39
39
  ${
40
40
  active
@@ -51,6 +51,7 @@ const BOSTON_BLUE = "#357fb8";
51
51
  const INFO_BLUE = "#E4F4FD";
52
52
  const HOVER_LIGHT_BLUE = "#EFFAFF";
53
53
  const MATISSE_BLUE = "#15749D";
54
+ const ROYAL_BLUE = "#3181E3";
54
55
  // GREEN
55
56
  const FOREST_GREEN = "#19b03F";
56
57
  const MEADOW_GREEN = "#16C98D";
@@ -154,6 +155,7 @@ export {
154
155
  BOSTON_BLUE,
155
156
  HOVER_LIGHT_BLUE,
156
157
  MATISSE_BLUE,
158
+ ROYAL_BLUE,
157
159
  FOREST_GREEN,
158
160
  MEADOW_GREEN,
159
161
  POLAR_GREEN,
@@ -40,6 +40,7 @@ const ONAHAU_BLUE = "#D1ECFF";
40
40
  const PICKLED_BLUE = "#2C3E50";
41
41
  const CERULEAN_BLUE = "#0D8DC4";
42
42
  const FOAM_BLUE = "#EFF4FD";
43
+ const ROYAL_BLUE = "#3181E3";
43
44
  // GREEN
44
45
  const FOREST_GREEN = "#19b03F";
45
46
  const MEADOW_GREEN = "#16C98D";
@@ -130,6 +131,7 @@ export {
130
131
  PICKLED_BLUE,
131
132
  CERULEAN_BLUE,
132
133
  FOAM_BLUE,
134
+ ROYAL_BLUE,
133
135
  FOREST_GREEN,
134
136
  MEADOW_GREEN,
135
137
  POLAR_GREEN,
@@ -25,17 +25,16 @@ export const SpinnerContainer = styled.div`
25
25
  flex-direction: row;
26
26
  align-items: center;
27
27
  justify-content: center;
28
- line-height: 1;
29
28
  `;
30
29
 
31
30
  export const SpinnerIconWrapper = styled(rotate)`
32
- width: ${({ size }) => size}px;
33
- height: ${({ size }) => size}px;
31
+ width: ${({ isMobile }) => (isMobile ? "18" : "21")}px;
32
+ height: ${({ isMobile }) => (isMobile ? "18" : "21")}px;
34
33
  `;
35
34
 
36
- const SpinnerIcon = ({ color, size = 24 }) => (
35
+ const SpinnerIcon = ({ color, isMobile }) => (
37
36
  <SpinnerContainer>
38
- <SpinnerIconWrapper initialPose="fixed" pose="rotate" size={size}>
37
+ <SpinnerIconWrapper initialPose="fixed" pose="rotate" isMobile={isMobile}>
39
38
  <svg
40
39
  viewBox={`0 0 24 24`}
41
40
  height="100%"