@thecb/components 6.1.0-beta.0 → 6.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -4871,7 +4871,8 @@ var BOSTON_BLUE = "#357fb8";
4871
4871
  var INFO_BLUE = "#E4F4FD";
4872
4872
  var HOVER_LIGHT_BLUE = "#EFFAFF";
4873
4873
  var MATISSE_BLUE = "#15749D";
4874
- var ROYAL_BLUE = "#3181E3"; // GREEN
4874
+ var ROYAL_BLUE = "#3181E3";
4875
+ var ASTRAL_BLUE = "#3176AA"; // GREEN
4875
4876
 
4876
4877
  var FOREST_GREEN = "#19b03F";
4877
4878
  var MEADOW_GREEN = "#16C98D";
@@ -4893,7 +4894,7 @@ var APRICOT_ORANGE = "#FFE8D8"; // RED
4893
4894
  var RED = "#FF0000";
4894
4895
  var CRIMSON_RED = "#ED1C24";
4895
4896
  var THUNDERBIRD_RED = "#C3191F";
4896
- var RAZZMATAZZ_RED = "#ED125F";
4897
+ var RAZZMATAZZ_RED = "#D11053";
4897
4898
  var FANTASY_RED = "#FCF4F4";
4898
4899
  var COSMOS_RED = "#FFD0D3";
4899
4900
  var BLUSH_RED = "#FFF0F5"; // Second level color constants
@@ -4977,6 +4978,7 @@ var colors = /*#__PURE__*/Object.freeze({
4977
4978
  HOVER_LIGHT_BLUE: HOVER_LIGHT_BLUE,
4978
4979
  MATISSE_BLUE: MATISSE_BLUE,
4979
4980
  ROYAL_BLUE: ROYAL_BLUE,
4981
+ ASTRAL_BLUE: ASTRAL_BLUE,
4980
4982
  FOREST_GREEN: FOREST_GREEN,
4981
4983
  MEADOW_GREEN: MEADOW_GREEN,
4982
4984
  POLAR_GREEN: POLAR_GREEN,
@@ -6072,6 +6074,18 @@ var createUniqueId = function createUniqueId() {
6072
6074
  return "_" + Math.random().toString(36).substr(2, 9);
6073
6075
  };
6074
6076
 
6077
+ var createIdFromString = function createIdFromString(text, postscript) {
6078
+ var unique = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
6079
+
6080
+ if (text === undefined) {
6081
+ return createUniqueId();
6082
+ } else {
6083
+ // "first name", undefined, false -> "first-name"
6084
+ // "email address", "error message", false -> "email-address-error-message"
6085
+ // "shopping cart", "order item", true -> "shopping-cart-order-item_2ahtlz608"
6086
+ return "".concat(text === null || text === void 0 ? void 0 : text.replace(/\s+/g, "-")).concat(postscript ? "-".concat(postscript === null || postscript === void 0 ? void 0 : postscript.replace(/\s+/g, "-")) : "").concat(unique ? createUniqueId() : "");
6087
+ }
6088
+ };
6075
6089
  var safeChildren = function safeChildren(children) {
6076
6090
  var replacement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6077
6091
  var unsafeValues = [false, undefined, NaN, null];
@@ -6145,6 +6159,8 @@ var checkDeniedCards = function checkDeniedCards(name) {
6145
6159
  */
6146
6160
 
6147
6161
  var screenReaderOnlyStyle = "\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n";
6162
+ var inputPlaceholderTextStyle = "\n ::-webkit-input-placeholder {\n color: ".concat(CHARADE_GREY, ";\n }\n ::-moz-placeholder {\n color: ").concat(CHARADE_GREY, ";\n }\n ::-ms-placeholder {\n color: ").concat(CHARADE_GREY, ";\n }\n ::placeholder {\n color: ").concat(CHARADE_GREY, ";\n }\n");
6163
+ var inputDisabledStyle = "\n color: #6e727e;\n background-color: #f7f7f7;\n pointer-events: none;\n";
6148
6164
 
6149
6165
  var general = /*#__PURE__*/Object.freeze({
6150
6166
  __proto__: null,
@@ -6152,12 +6168,15 @@ var general = /*#__PURE__*/Object.freeze({
6152
6168
  displayCurrency: displayCurrency,
6153
6169
  convertCentsToMoneyInt: convertCentsToMoneyInt,
6154
6170
  formatPercent: formatPercent,
6171
+ createIdFromString: createIdFromString,
6155
6172
  safeChildren: safeChildren,
6156
6173
  generateClickHandler: generateClickHandler,
6157
6174
  checkCardBrand: checkCardBrand,
6158
6175
  displayCardBrand: displayCardBrand,
6159
6176
  checkDeniedCards: checkDeniedCards,
6160
- screenReaderOnlyStyle: screenReaderOnlyStyle
6177
+ screenReaderOnlyStyle: screenReaderOnlyStyle,
6178
+ inputPlaceholderTextStyle: inputPlaceholderTextStyle,
6179
+ inputDisabledStyle: inputDisabledStyle
6161
6180
  });
6162
6181
 
6163
6182
  var _excluded$1 = ["themeValues", "weight", "color", "textWrap", "extraStyles", "hoverStyles", "onClick", "onKeyPress", "as", "dataQa", "children"];
@@ -19032,13 +19051,13 @@ var disabledCheckedStyles = {
19032
19051
  "default": "\n background: #6d717e;\n border: 1px solid #6d717e;\n"
19033
19052
  };
19034
19053
  var disabledStyles = {
19035
- "default": "\n background: ".concat(SEASHELL_WHITE, ";\n border: 1px solid ").concat(GHOST_GREY, ";\n")
19054
+ "default": "\n background: ".concat(SEASHELL_WHITE, ";\n border: 1px solid ").concat(STORM_GREY, ";\n")
19036
19055
  };
19037
19056
  var checkedStyles = {
19038
19057
  "default": "\n background: ".concat(MATISSE_BLUE, "; \n border: 1px solid ").concat(MATISSE_BLUE, ";\n")
19039
19058
  };
19040
19059
  var defaultStyles = {
19041
- "default": "\n background: ".concat(WHITE, "; \n border: 1px solid ").concat(GHOST_GREY, ";\n")
19060
+ "default": "\n background: ".concat(WHITE, "; \n border: 1px solid ").concat(STORM_GREY, ";\n")
19042
19061
  };
19043
19062
  var fallbackValues$c = {
19044
19063
  backgroundColor: backgroundColor$2,
@@ -20714,6 +20733,7 @@ var Dropdown = function Dropdown(_ref8) {
20714
20733
  _ref8$autoEraseTypeAh = _ref8.autoEraseTypeAhead,
20715
20734
  autoEraseTypeAhead = _ref8$autoEraseTypeAh === void 0 ? true : _ref8$autoEraseTypeAh,
20716
20735
  ariaLabelledby = _ref8.ariaLabelledby,
20736
+ ariaDescribedby = _ref8.ariaDescribedby,
20717
20737
  _ref8$autocompleteVal = _ref8.autocompleteValue,
20718
20738
  autocompleteValue = _ref8$autocompleteVal === void 0 ? "" : _ref8$autocompleteVal,
20719
20739
  _ref8$smoothScroll = _ref8.smoothScroll,
@@ -20963,13 +20983,14 @@ var Dropdown = function Dropdown(_ref8) {
20963
20983
  "aria-owns": "".concat(ariaLabelledby, "_listbox"),
20964
20984
  "aria-haspopup": "listbox",
20965
20985
  "aria-labelledby": ariaLabelledby,
20986
+ "aria-describedby": ariaDescribedby,
20966
20987
  "aria-expanded": isOpen,
20967
20988
  autocomplete: autocompleteValue,
20968
20989
  background: isOpen ? themeValues.hoverColor : WHITE,
20969
20990
  borderRadius: "2px",
20970
20991
  borderSize: "1px",
20971
20992
  borderColor: isError ? ERROR_COLOR : isOpen ? themeValues.selectedColor : GREY_CHATEAU,
20972
- extraStyles: disabled && "color: #6e727e;\n background-color: #f7f7f7;\n pointer-events: none;",
20993
+ extraStyles: disabled ? "".concat(inputPlaceholderTextStyle).concat(inputDisabledStyle) : inputPlaceholderTextStyle,
20973
20994
  hoverStyles: "background-color: ".concat(themeValues.hoverColor, ";"),
20974
20995
  isOpen: isOpen,
20975
20996
  minHeight: "48px",
@@ -21179,9 +21200,10 @@ var FormSelect = function FormSelect(_ref) {
21179
21200
  color: themeValues.labelColor,
21180
21201
  weight: themeValues.fontWeight,
21181
21202
  extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
21182
- id: labelTextWhenNoError.replace(/\s+/g, "-")
21203
+ id: createIdFromString(labelTextWhenNoError)
21183
21204
  }, labelTextWhenNoError))), /*#__PURE__*/React__default.createElement(Dropdown$1, {
21184
- ariaLabelledby: labelTextWhenNoError.replace(/\s+/g, "-"),
21205
+ ariaLabelledby: createIdFromString(labelTextWhenNoError),
21206
+ ariaDescribedby: createIdFromString(labelTextWhenNoError, "error message"),
21185
21207
  maxHeight: dropdownMaxHeight,
21186
21208
  hasTitles: hasTitles,
21187
21209
  placeholder: options[0] ? options[0].text : "",
@@ -21208,7 +21230,8 @@ var FormSelect = function FormSelect(_ref) {
21208
21230
  color: ERROR_COLOR,
21209
21231
  variant: "pXS",
21210
21232
  weight: themeValues.fontWeight,
21211
- extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }"
21233
+ extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
21234
+ id: createIdFromString(labelTextWhenNoError, "error message")
21212
21235
  }, errorMessages[field.errors[0]]) : /*#__PURE__*/React__default.createElement(Text$1, {
21213
21236
  extraStyles: "height: ".concat(themeValues.lineHeight, ";")
21214
21237
  })));
@@ -22483,8 +22506,8 @@ var labelColor$1 = {
22483
22506
  disabled: "".concat(CHARADE_GREY)
22484
22507
  };
22485
22508
  var borderColor$1 = {
22486
- "default": "".concat(GREY_CHATEAU),
22487
- disabled: "".concat(GREY_CHATEAU)
22509
+ "default": "".concat(STORM_GREY),
22510
+ disabled: "".concat(STORM_GREY)
22488
22511
  };
22489
22512
  var lineHeight$2 = {
22490
22513
  "default": "1rem",
@@ -22631,7 +22654,7 @@ var FormInput = function FormInput(_ref15) {
22631
22654
  variant: "pS",
22632
22655
  weight: themeValues.fontWeight,
22633
22656
  extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
22634
- id: labelTextWhenNoError.replace(/\s+/g, "-")
22657
+ id: createIdFromString(labelTextWhenNoError)
22635
22658
  }, labelTextWhenNoError), /*#__PURE__*/React__default.createElement(Text$1, {
22636
22659
  color: themeValues.linkColor,
22637
22660
  variant: "pS",
@@ -22648,7 +22671,7 @@ var FormInput = function FormInput(_ref15) {
22648
22671
  variant: "pS",
22649
22672
  fontWeight: themeValues.fontWeight,
22650
22673
  extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
22651
- id: labelTextWhenNoError.replace(/\s+/g, "-")
22674
+ id: createIdFromString(labelTextWhenNoError)
22652
22675
  }, labelTextWhenNoError), type === "password" && /*#__PURE__*/React__default.createElement(Text$1, {
22653
22676
  variant: "pS",
22654
22677
  color: themeValues.linkColor,
@@ -22668,7 +22691,9 @@ var FormInput = function FormInput(_ref15) {
22668
22691
  }, decorator)))), /*#__PURE__*/React__default.createElement(Box, {
22669
22692
  padding: "0"
22670
22693
  }, formatter ? /*#__PURE__*/React__default.createElement(FormattedInputField, _extends({
22671
- "aria-labelledby": labelTextWhenNoError.replace(/\s+/g, "-"),
22694
+ "aria-labelledby": createIdFromString(labelTextWhenNoError),
22695
+ "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
22696
+ "aria-invalid": field.dirty && field.hasErrors || field.hasErrors && showErrors,
22672
22697
  onChange: function onChange(e) {
22673
22698
  return fieldActions.set(e);
22674
22699
  },
@@ -22684,7 +22709,9 @@ var FormInput = function FormInput(_ref15) {
22684
22709
  $customHeight: customHeight,
22685
22710
  $extraStyles: extraStyles
22686
22711
  }, props)) : /*#__PURE__*/React__default.createElement(InputField, _extends({
22687
- "aria-labelledby": labelTextWhenNoError.replace(/\s+/g, "-"),
22712
+ "aria-labelledby": createIdFromString(labelTextWhenNoError),
22713
+ "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
22714
+ "aria-invalid": field.dirty && field.hasErrors || field.hasErrors && showErrors,
22688
22715
  onChange: function onChange(e) {
22689
22716
  return fieldActions.set(e.target.value);
22690
22717
  },
@@ -22706,7 +22733,8 @@ var FormInput = function FormInput(_ref15) {
22706
22733
  color: ERROR_COLOR,
22707
22734
  variant: "pXS",
22708
22735
  weight: themeValues.fontWeight,
22709
- extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }"
22736
+ extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
22737
+ id: createIdFromString(labelTextWhenNoError, "error message")
22710
22738
  }, errorMessages[field.errors[0]]) : /*#__PURE__*/React__default.createElement(Text$1, {
22711
22739
  extraStyles: "height: ".concat(themeValues.lineHeight, ";")
22712
22740
  }), !isMobile && decorator && /*#__PURE__*/React__default.createElement(Box, {
@@ -40242,6 +40270,8 @@ var getApplicationNode = function getApplicationNode() {
40242
40270
  var Modal$1 = function Modal(_ref) {
40243
40271
  var hideModal = _ref.hideModal,
40244
40272
  continueAction = _ref.continueAction,
40273
+ _ref$isContinueAction = _ref.isContinueActionDisabled,
40274
+ isContinueActionDisabled = _ref$isContinueAction === void 0 ? false : _ref$isContinueAction,
40245
40275
  cancelAction = _ref.cancelAction,
40246
40276
  modalOpen = _ref.modalOpen,
40247
40277
  modalHeaderText = _ref.modalHeaderText,
@@ -40260,6 +40290,8 @@ var Modal$1 = function Modal(_ref) {
40260
40290
  defaultWrapper = _ref$defaultWrapper === void 0 ? true : _ref$defaultWrapper,
40261
40291
  _ref$onlyCloseButton = _ref.onlyCloseButton,
40262
40292
  onlyCloseButton = _ref$onlyCloseButton === void 0 ? false : _ref$onlyCloseButton,
40293
+ _ref$noButtons = _ref.noButtons,
40294
+ noButtons = _ref$noButtons === void 0 ? false : _ref$noButtons,
40263
40295
  maxHeight = _ref.maxHeight,
40264
40296
  _ref$underlayClickExi = _ref.underlayClickExits,
40265
40297
  underlayClickExits = _ref$underlayClickExi === void 0 ? true : _ref$underlayClickExi,
@@ -40320,7 +40352,7 @@ var Modal$1 = function Modal(_ref) {
40320
40352
  justify: "flex-end",
40321
40353
  align: "center",
40322
40354
  childGap: "0rem"
40323
- }, !onlyCloseButton ? /*#__PURE__*/React__default.createElement(React.Fragment, null, isMobile ? /*#__PURE__*/React__default.createElement(Stack, {
40355
+ }, !noButtons && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !onlyCloseButton ? /*#__PURE__*/React__default.createElement(React.Fragment, null, isMobile ? /*#__PURE__*/React__default.createElement(Stack, {
40324
40356
  childGap: "1rem",
40325
40357
  direction: "row"
40326
40358
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -40342,6 +40374,7 @@ var Modal$1 = function Modal(_ref) {
40342
40374
  text: continueButtonText,
40343
40375
  dataQa: continueButtonText,
40344
40376
  isLoading: isLoading,
40377
+ disabled: isContinueActionDisabled,
40345
40378
  extraStyles: buttonExtraStyles,
40346
40379
  className: "modal-continue-button"
40347
40380
  }))) : /*#__PURE__*/React__default.createElement(Stack, {
@@ -40361,6 +40394,7 @@ var Modal$1 = function Modal(_ref) {
40361
40394
  text: continueButtonText,
40362
40395
  dataQa: continueButtonText,
40363
40396
  isLoading: isLoading,
40397
+ disabled: isContinueActionDisabled,
40364
40398
  extraStyles: buttonExtraStyles,
40365
40399
  className: "modal-continue-button"
40366
40400
  }))) : /*#__PURE__*/React__default.createElement(Box, {
@@ -40372,7 +40406,7 @@ var Modal$1 = function Modal(_ref) {
40372
40406
  dataQa: "Close",
40373
40407
  extraStyles: buttonExtraStyles,
40374
40408
  className: "modal-cancel-button"
40375
- })))))))), children);
40409
+ }))))))))), children);
40376
40410
  };
40377
40411
 
40378
40412
  var fontSize$9 = {
@@ -40645,7 +40679,7 @@ var TitleModule = function TitleModule(_ref) {
40645
40679
  var color$a = "#15749D";
40646
40680
  var hoverColor$4 = "#116285";
40647
40681
  var activeColor$5 = "#0E506D";
40648
- var linkColor$3 = "#357fb8";
40682
+ var linkColor$3 = "#3176AA";
40649
40683
  var fontWeight$6 = FONT_WEIGHT_REGULAR;
40650
40684
  var modalLinkHoverFocus = "outline: none;\n cursor: pointer;\n text-decoration: underline;\n text-decoration-color: #317D4F;";
40651
40685
  var fallbackValues$z = {
@@ -41826,7 +41860,7 @@ var PaymentDetails = function PaymentDetails(_ref4) {
41826
41860
  var PaymentDetails$1 = themeComponent(PaymentDetails, "PaymentDetails", fallbackValues$A, "default");
41827
41861
 
41828
41862
  var linkColor$4 = {
41829
- "default": "#357fb8"
41863
+ "default": "#3176AA"
41830
41864
  };
41831
41865
  var fontSize$a = {
41832
41866
  "default": "1rem"
@@ -42980,7 +43014,7 @@ var backgroundColor$9 = {
42980
43014
  footer: "#ffffff"
42981
43015
  };
42982
43016
  var linkColor$5 = {
42983
- "default": "#357fb8",
43017
+ "default": "#3176AA",
42984
43018
  footer: "#ffffff"
42985
43019
  };
42986
43020
  var border$3 = {
@@ -43040,7 +43074,8 @@ var TermsAndConditionsModal = function TermsAndConditionsModal(_ref) {
43040
43074
  borderRadius: "3px",
43041
43075
  extraStyles: "overflow: scroll; max-height: 20rem;"
43042
43076
  }, /*#__PURE__*/React__default.createElement(Text$1, {
43043
- variant: "p"
43077
+ variant: "p",
43078
+ extraStyles: "& a { text-decoration: underline; }"
43044
43079
  }, terms)),
43045
43080
  defaultWrapper: false,
43046
43081
  onlyCloseButton: !acceptText,
@@ -43284,6 +43319,9 @@ var PeriscopeDashboardIframe = function PeriscopeDashboardIframe(_ref) {
43284
43319
  time.timer = setTimeout(function () {
43285
43320
  periscopeDataRequestFailure();
43286
43321
  }, 10000);
43322
+ return function () {
43323
+ return clearTimeout(time.timer);
43324
+ };
43287
43325
  }, []);
43288
43326
 
43289
43327
  var Dashboard = function Dashboard(height) {
@@ -43304,8 +43342,11 @@ var PeriscopeDashboardIframe = function PeriscopeDashboardIframe(_ref) {
43304
43342
  var validatePeriscope = function validatePeriscope(message) {
43305
43343
  if (isValidMessage(message)) {
43306
43344
  setHeight(message.data.dashboard_height + 100);
43307
- clearTimeout(time.timer);
43308
- periscopeDataRequestSuccess();
43345
+
43346
+ if (!periscopeDataSuccess) {
43347
+ clearTimeout(time.timer);
43348
+ periscopeDataRequestSuccess();
43349
+ }
43309
43350
  }
43310
43351
  };
43311
43352
 
@@ -43614,13 +43655,27 @@ var index$4 = /*#__PURE__*/Object.freeze({
43614
43655
  fontWeights: style_constants
43615
43656
  });
43616
43657
 
43658
+ var useFocusInvalidInput = function useFocusInvalidInput() {
43659
+ var showErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
43660
+ // Only move focus when "showErrors" is true
43661
+ // "showErrors" is managed by container page of form
43662
+ // typically set to "true" on attempted form submission, if errors exist
43663
+ React.useEffect(function () {
43664
+ if (showErrors) {
43665
+ var inputsWithErrors = document.querySelectorAll("input[aria-invalid=true]");
43666
+ console.log("inputs with errors...", inputsWithErrors);
43667
+ }
43668
+ }, [showErrors]);
43669
+ };
43670
+
43617
43671
 
43618
43672
 
43619
43673
  var index$5 = /*#__PURE__*/Object.freeze({
43620
43674
  __proto__: null,
43621
43675
  formats: formats,
43622
43676
  general: general,
43623
- theme: themeUtils
43677
+ theme: themeUtils,
43678
+ useFocusInvalidInput: useFocusInvalidInput
43624
43679
  });
43625
43680
 
43626
43681
  exports.AccountNumberImage = AccountNumberImage;