@thecb/components 9.3.2-beta.1 → 9.3.4-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.
Files changed (47) hide show
  1. package/dist/index.cjs.js +153 -52
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/index.esm.js +153 -53
  5. package/dist/index.esm.js.map +1 -1
  6. package/package.json +1 -1
  7. package/src/.DS_Store +0 -0
  8. package/src/components/atoms/button-with-action/ButtonWithAction.js +76 -70
  9. package/src/components/atoms/checkbox/Checkbox.js +8 -1
  10. package/src/components/atoms/checkbox/Checkbox.stories.js +1 -0
  11. package/src/components/atoms/country-dropdown/CountryDropdown.js +2 -0
  12. package/src/components/atoms/dropdown/Dropdown.js +8 -5
  13. package/src/components/atoms/form-layouts/FormInput.js +3 -0
  14. package/src/components/atoms/form-select/FormSelect.js +3 -1
  15. package/src/components/atoms/icons/AccountNumberImage.js +2 -0
  16. package/src/components/atoms/icons/BankIcon.js +2 -0
  17. package/src/components/atoms/icons/CheckmarkIcon.js +2 -0
  18. package/src/components/atoms/icons/GenericCard.js +2 -0
  19. package/src/components/atoms/icons/GenericCardLarge.js +2 -0
  20. package/src/components/atoms/icons/KebabMenuIcon.d.ts +1 -0
  21. package/src/components/atoms/icons/KebabMenuIcon.js +38 -0
  22. package/src/components/atoms/icons/RoutingNumberImage.js +2 -0
  23. package/src/components/atoms/icons/TrashIcon.js +42 -40
  24. package/src/components/atoms/icons/icons.stories.js +3 -1
  25. package/src/components/atoms/icons/index.d.ts +1 -0
  26. package/src/components/atoms/icons/index.js +3 -1
  27. package/src/components/atoms/state-province-dropdown/StateProvinceDropdown.js +3 -1
  28. package/src/components/molecules/address-form/AddressForm.js +5 -0
  29. package/src/components/molecules/email-form/EmailForm.js +3 -1
  30. package/src/components/molecules/modal/Modal.js +2 -1
  31. package/src/components/molecules/payment-form-ach/PaymentFormACH.js +6 -0
  32. package/src/components/molecules/payment-form-card/PaymentFormCard.js +5 -0
  33. package/src/components/molecules/phone-form/PhoneForm.js +3 -1
  34. package/src/components/molecules/popup-menu/PopupMenu.js +152 -0
  35. package/src/components/molecules/popup-menu/PopupMenu.stories.js +40 -0
  36. package/src/components/molecules/popup-menu/PopupMenu.styled.js +20 -0
  37. package/src/components/molecules/popup-menu/PopupMenu.theme.js +11 -0
  38. package/src/components/molecules/popup-menu/index.d.ts +25 -0
  39. package/src/components/molecules/popup-menu/index.js +3 -0
  40. package/src/components/molecules/popup-menu/popup-menu-item/PopupMenuItem.js +79 -0
  41. package/src/components/molecules/popup-menu/popup-menu-item/PopupMenuItem.styled.js +27 -0
  42. package/src/components/molecules/popup-menu/popup-menu-item/PopupMenuItem.theme.js +23 -0
  43. package/src/components/molecules/radio-section/RadioSection.js +9 -2
  44. package/src/components/molecules/radio-section/RadioSection.stories.js +4 -2
  45. package/src/components/molecules/radio-section/radio-button/RadioButton.js +3 -1
  46. package/src/components/molecules/terms-and-conditions/TermsAndConditions.stories.js +3 -1
  47. package/src/components/molecules/terms-and-conditions/TermsAndConditionsControlV2.js +4 -0
package/dist/index.cjs.js CHANGED
@@ -12926,7 +12926,7 @@ var Spinner = function Spinner(_ref) {
12926
12926
  */
12927
12927
 
12928
12928
 
12929
- var ButtonWithAction = function ButtonWithAction(_ref2) {
12929
+ var ButtonWithAction = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
12930
12930
  var _ref2$action = _ref2.action,
12931
12931
  action = _ref2$action === void 0 ? noop : _ref2$action,
12932
12932
  _ref2$variant = _ref2.variant,
@@ -12957,6 +12957,7 @@ var ButtonWithAction = function ButtonWithAction(_ref2) {
12957
12957
  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 ");
12958
12958
  var disabledStyles = "\n background-color: #6D717E;\n border-color: #6D717E;\n color: #FFFFFF;\n cursor: default;\n &:focus {\n box-shadow: 0 0 10px #6D717E;\n outline: none;\n }\n ".concat(extraDisabledStyles, "\n ");
12959
12959
  return /*#__PURE__*/React__default.createElement(Box, _extends({
12960
+ ref: ref,
12960
12961
  variant: variant,
12961
12962
  padding: themeValues.padding,
12962
12963
  minHeight: themeValues.height,
@@ -12985,7 +12986,7 @@ var ButtonWithAction = function ButtonWithAction(_ref2) {
12985
12986
  textWrap: textWrap,
12986
12987
  extraStyles: textExtraStyles
12987
12988
  }, text)));
12988
- };
12989
+ });
12989
12990
 
12990
12991
  var primaryColor = {
12991
12992
  info: "".concat(WHITE),
@@ -13683,7 +13684,9 @@ var AccountNumberImage = function AccountNumberImage() {
13683
13684
  xmlns: "http://www.w3.org/2000/svg",
13684
13685
  width: "371",
13685
13686
  height: "164",
13686
- viewBox: "0 0 371 164"
13687
+ viewBox: "0 0 371 164",
13688
+ role: "img",
13689
+ "aria-label": "A check with the account number highlighted in the bottom center"
13687
13690
  }, /*#__PURE__*/React__default.createElement("g", {
13688
13691
  fill: "none",
13689
13692
  fillRule: "evenodd",
@@ -13764,7 +13767,9 @@ var RoutingNumberImage = function RoutingNumberImage() {
13764
13767
  xmlns: "http://www.w3.org/2000/svg",
13765
13768
  width: "371",
13766
13769
  height: "164",
13767
- viewBox: "0 0 371 164"
13770
+ viewBox: "0 0 371 164",
13771
+ role: "img",
13772
+ "aria-label": "A check with the routing number highlighted in the lower left hand corner"
13768
13773
  }, /*#__PURE__*/React__default.createElement("g", {
13769
13774
  fill: "none",
13770
13775
  fillRule: "evenodd",
@@ -13847,7 +13852,9 @@ var CheckmarkIcon = function CheckmarkIcon() {
13847
13852
  viewBox: "0 0 98 98",
13848
13853
  version: "1.1",
13849
13854
  xmlns: "http://www.w3.org/2000/svg",
13850
- xmlnsXlink: "http://www.w3.org/1999/xlink"
13855
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
13856
+ role: "img",
13857
+ "aria-label": "Successful payment, green checkmark"
13851
13858
  }, /*#__PURE__*/React__default.createElement("g", {
13852
13859
  id: "Cityville-Checkout---Desktop---Logged-In",
13853
13860
  stroke: "none",
@@ -13892,7 +13899,9 @@ var BankIcon = function BankIcon() {
13892
13899
  height: "18",
13893
13900
  viewBox: "0 0 28 18",
13894
13901
  fill: "none",
13895
- xmlns: "http://www.w3.org/2000/svg"
13902
+ xmlns: "http://www.w3.org/2000/svg",
13903
+ role: "img",
13904
+ "aria-label": "Check Payment"
13896
13905
  }, /*#__PURE__*/React__default.createElement("path", {
13897
13906
  d: "M0 2.25C0 1.00736 1.04467 0 2.33333 0H25.6667C26.9553 0 28 1.00736 28 2.25V15.75C28 16.9926 26.9553 18 25.6667 18H2.33333C1.04467 18 0 16.9926 0 15.75V2.25Z",
13898
13907
  fill: "#E4F4FD"
@@ -13939,7 +13948,9 @@ var GenericCard = function GenericCard() {
13939
13948
  height: "18",
13940
13949
  viewBox: "0 0 28 18",
13941
13950
  fill: "none",
13942
- xmlns: "http://www.w3.org/2000/svg"
13951
+ xmlns: "http://www.w3.org/2000/svg",
13952
+ role: "img",
13953
+ "aria-label": "Card Payment"
13943
13954
  }, /*#__PURE__*/React__default.createElement("rect", {
13944
13955
  width: "28",
13945
13956
  height: "18",
@@ -15198,7 +15209,9 @@ var GenericCardLarge = function GenericCardLarge() {
15198
15209
  height: "24",
15199
15210
  viewBox: "0 0 36 24",
15200
15211
  fill: "none",
15201
- xmlns: "http://www.w3.org/2000/svg"
15212
+ xmlns: "http://www.w3.org/2000/svg",
15213
+ role: "img",
15214
+ "aria-label": "Card Payment"
15202
15215
  }, /*#__PURE__*/React__default.createElement("rect", {
15203
15216
  width: "36",
15204
15217
  height: "24",
@@ -15287,7 +15300,8 @@ var ShoppingCartIcon = function ShoppingCartIcon() {
15287
15300
  };
15288
15301
 
15289
15302
  var TrashIcon = function TrashIcon(_ref) {
15290
- var themeValues = _ref.themeValues;
15303
+ var themeValues = _ref.themeValues,
15304
+ iconFill = _ref.iconFill;
15291
15305
  return /*#__PURE__*/React__default.createElement("svg", {
15292
15306
  width: "20px",
15293
15307
  height: "20px",
@@ -15311,12 +15325,12 @@ var TrashIcon = function TrashIcon(_ref) {
15311
15325
  xlinkHref: "#trash-path-1"
15312
15326
  })), /*#__PURE__*/React__default.createElement("use", {
15313
15327
  id: "trash-Mask",
15314
- fill: themeValues.singleIconColor,
15328
+ fill: iconFill !== null && iconFill !== void 0 ? iconFill : themeValues.singleIconColor,
15315
15329
  fillRule: "nonzero",
15316
15330
  xlinkHref: "#trash-path-1"
15317
15331
  }), /*#__PURE__*/React__default.createElement("polygon", {
15318
15332
  id: "trash-Path",
15319
- fill: themeValues.singleIconColor,
15333
+ fill: iconFill !== null && iconFill !== void 0 ? iconFill : themeValues.singleIconColor,
15320
15334
  fillRule: "nonzero",
15321
15335
  mask: "url(#trash-mask-2)",
15322
15336
  points: "0 0 20 0 20 20 0 20"
@@ -18247,6 +18261,34 @@ var PlusCircleIcon = function PlusCircleIcon(_ref) {
18247
18261
  }));
18248
18262
  };
18249
18263
 
18264
+ var KebabMenuIcon = function KebabMenuIcon() {
18265
+ return /*#__PURE__*/React__default.createElement("svg", {
18266
+ xmlns: "http://www.w3.org/2000/svg",
18267
+ width: "21",
18268
+ height: "32",
18269
+ viewBox: "0 0 21 32",
18270
+ fill: "none"
18271
+ }, /*#__PURE__*/React__default.createElement("path", {
18272
+ d: "M0 4C0 1.79086 1.79086 0 4 0L17 0C19.2091 0 21 1.79086 21 4V28C21 30.2091 19.2091 32 17 32H4C1.79086 32 0 30.2091 0 28L0 4Z",
18273
+ fill: "none"
18274
+ }), /*#__PURE__*/React__default.createElement("path", {
18275
+ fillRule: "evenodd",
18276
+ clipRule: "evenodd",
18277
+ d: "M10.5 6C9.39333 6 8.5 6.89333 8.5 8C8.5 9.10667 9.39333 10 10.5 10C11.6067 10 12.5 9.10667 12.5 8C12.5 6.89333 11.6067 6 10.5 6Z",
18278
+ fill: "#3B5BDB"
18279
+ }), /*#__PURE__*/React__default.createElement("path", {
18280
+ fillRule: "evenodd",
18281
+ clipRule: "evenodd",
18282
+ d: "M10.5 14C9.39333 14 8.5 14.8933 8.5 16C8.5 17.1067 9.39333 18 10.5 18C11.6067 18 12.5 17.1067 12.5 16C12.5 14.8933 11.6067 14 10.5 14Z",
18283
+ fill: "#3B5BDB"
18284
+ }), /*#__PURE__*/React__default.createElement("path", {
18285
+ fillRule: "evenodd",
18286
+ clipRule: "evenodd",
18287
+ d: "M10.5 22C9.39333 22 8.5 22.9067 8.5 24C8.5 25.0933 9.40667 26 10.5 26C11.5933 26 12.5 25.0933 12.5 24C12.5 22.9067 11.6067 22 10.5 22Z",
18288
+ fill: "#3B5BDB"
18289
+ }));
18290
+ };
18291
+
18250
18292
  var color$2 = "#15749D";
18251
18293
  var hoverColor$1 = "#116285";
18252
18294
  var activeColor$1 = "#0E506D";
@@ -22133,6 +22175,7 @@ var Checkbox = function Checkbox(_ref4) {
22133
22175
  checkboxMargin = _ref4$checkboxMargin === void 0 ? "0 16px 0 0" : _ref4$checkboxMargin,
22134
22176
  extraStyles = _ref4.extraStyles,
22135
22177
  textExtraStyles = _ref4.textExtraStyles,
22178
+ labelledById = _ref4.labelledById,
22136
22179
  _ref4$dataQa = _ref4.dataQa,
22137
22180
  dataQa = _ref4$dataQa === void 0 ? null : _ref4$dataQa;
22138
22181
 
@@ -22147,6 +22190,9 @@ var Checkbox = function Checkbox(_ref4) {
22147
22190
  }
22148
22191
  };
22149
22192
 
22193
+ var titleId = title ? "checkboxlabel-".concat(name) : undefined;
22194
+ var ariaLabelledById = labelledById !== null && labelledById !== void 0 ? labelledById : titleId;
22195
+ var ariaLabel = ariaLabelledById ? undefined : name;
22150
22196
  return /*#__PURE__*/React__default.createElement(Box, {
22151
22197
  padding: "0",
22152
22198
  tabIndex: "0",
@@ -22170,7 +22216,8 @@ var Checkbox = function Checkbox(_ref4) {
22170
22216
  id: "checkbox-".concat(name),
22171
22217
  disabled: disabled,
22172
22218
  name: name,
22173
- "aria-label": name,
22219
+ "aria-label": ariaLabel,
22220
+ "aria-labelledby": ariaLabelledById,
22174
22221
  checked: checked,
22175
22222
  onChange: onChange,
22176
22223
  tabIndex: "-1",
@@ -22197,6 +22244,7 @@ var Checkbox = function Checkbox(_ref4) {
22197
22244
  }, /*#__PURE__*/React__default.createElement("polyline", {
22198
22245
  points: "20 6 9 17 4 12"
22199
22246
  })))), title && /*#__PURE__*/React__default.createElement(Text$1, {
22247
+ id: titleId,
22200
22248
  variant: "p",
22201
22249
  weight: themeValues.textFontWeight,
22202
22250
  color: themeValues.textColor,
@@ -23842,7 +23890,9 @@ var Dropdown = function Dropdown(_ref13) {
23842
23890
  _ref13$smoothScroll = _ref13.smoothScroll,
23843
23891
  smoothScroll = _ref13$smoothScroll === void 0 ? true : _ref13$smoothScroll,
23844
23892
  _ref13$ariaInvalid = _ref13.ariaInvalid,
23845
- ariaInvalid = _ref13$ariaInvalid === void 0 ? false : _ref13$ariaInvalid;
23893
+ ariaInvalid = _ref13$ariaInvalid === void 0 ? false : _ref13$ariaInvalid,
23894
+ _ref13$isRequired = _ref13.isRequired,
23895
+ isRequired = _ref13$isRequired === void 0 ? false : _ref13$isRequired;
23846
23896
 
23847
23897
  var _useState = React.useState(""),
23848
23898
  _useState2 = _slicedToArray(_useState, 2),
@@ -24035,11 +24085,13 @@ var Dropdown = function Dropdown(_ref13) {
24035
24085
  clearTimeout(timer);
24036
24086
  setTimer(setTimeout(function () {
24037
24087
  return setInputValue("");
24038
- }, 3000));
24088
+ }, 20000));
24039
24089
  }
24040
24090
 
24041
24091
  setFilteredOptions(options.filter(function (option) {
24042
- return option.value.toLowerCase().startsWith(inputValue.toLowerCase()) || option.text.toLowerCase().startsWith(inputValue.toLowerCase());
24092
+ var _option$value, _option$value$toLower, _option$text, _option$text$toLowerC;
24093
+
24094
+ return (option === null || option === void 0 ? void 0 : (_option$value = option.value) === null || _option$value === void 0 ? void 0 : (_option$value$toLower = _option$value.toLowerCase()) === null || _option$value$toLower === void 0 ? void 0 : _option$value$toLower.indexOf(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase())) >= 0 || ((_option$text = option.text) === null || _option$text === void 0 ? void 0 : (_option$text$toLowerC = _option$text.toLowerCase()) === null || _option$text$toLowerC === void 0 ? void 0 : _option$text$toLowerC.indexOf(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase())) >= 0;
24043
24095
  }));
24044
24096
  }, [inputValue]);
24045
24097
  React.useEffect(function () {
@@ -24113,7 +24165,7 @@ var Dropdown = function Dropdown(_ref13) {
24113
24165
  },
24114
24166
  padding: "12px",
24115
24167
  placeholder: getSelection(),
24116
- required: options.required,
24168
+ required: options.required || isRequired,
24117
24169
  role: "combobox",
24118
24170
  themeValues: themeValues,
24119
24171
  title: hasTitles ? getSelection() : null,
@@ -24281,7 +24333,9 @@ var FormSelect = function FormSelect(_ref) {
24281
24333
  _ref$dataQa = _ref.dataQa,
24282
24334
  dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
24283
24335
  _ref$widthFitOptions = _ref.widthFitOptions,
24284
- widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions;
24336
+ widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions,
24337
+ _ref$isRequired = _ref.isRequired,
24338
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
24285
24339
 
24286
24340
  var _useState = React.useState(false),
24287
24341
  _useState2 = _slicedToArray(_useState, 2),
@@ -24343,7 +24397,8 @@ var FormSelect = function FormSelect(_ref) {
24343
24397
  },
24344
24398
  disabled: disabled,
24345
24399
  autocompleteValue: autocompleteValue,
24346
- smoothScroll: smoothScroll
24400
+ smoothScroll: smoothScroll,
24401
+ isRequired: isRequired
24347
24402
  }), /*#__PURE__*/React__default.createElement(Stack, {
24348
24403
  direction: "row",
24349
24404
  justify: "space-between"
@@ -25114,6 +25169,8 @@ var CountryDropdown = function CountryDropdown(_ref) {
25114
25169
  fieldActions = _ref.fieldActions,
25115
25170
  showErrors = _ref.showErrors,
25116
25171
  onChange = _ref.onChange,
25172
+ _ref$isRequired = _ref.isRequired,
25173
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
25117
25174
  _ref$dataQa = _ref.dataQa,
25118
25175
  dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa;
25119
25176
  return /*#__PURE__*/React__default.createElement(FormSelect$1, {
@@ -25125,7 +25182,8 @@ var CountryDropdown = function CountryDropdown(_ref) {
25125
25182
  errorMessages: errorMessages,
25126
25183
  showErrors: showErrors,
25127
25184
  onChange: onChange,
25128
- autocompleteValue: "country-name"
25185
+ autocompleteValue: "country-name",
25186
+ isRequired: isRequired
25129
25187
  });
25130
25188
  };
25131
25189
 
@@ -25972,7 +26030,7 @@ var fallbackValues$k = {
25972
26030
  };
25973
26031
 
25974
26032
  var _excluded$p = ["showErrors", "themeValues"],
25975
- _excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocompleteValue", "extraStyles", "removeFromValue", "dataQa"];
26033
+ _excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocompleteValue", "extraStyles", "removeFromValue", "dataQa", "isRequired"];
25976
26034
  var InputField = styled__default.input.withConfig({
25977
26035
  displayName: "FormInput__InputField",
25978
26036
  componentId: "sc-l094r1-0"
@@ -26059,6 +26117,8 @@ var FormInput = function FormInput(_ref15) {
26059
26117
  removeFromValue = _ref15.removeFromValue,
26060
26118
  _ref15$dataQa = _ref15.dataQa,
26061
26119
  dataQa = _ref15$dataQa === void 0 ? null : _ref15$dataQa,
26120
+ _ref15$isRequired = _ref15.isRequired,
26121
+ isRequired = _ref15$isRequired === void 0 ? false : _ref15$isRequired,
26062
26122
  props = _objectWithoutProperties(_ref15, _excluded2);
26063
26123
 
26064
26124
  var _useState = React.useState(false),
@@ -26145,7 +26205,8 @@ var FormInput = function FormInput(_ref15) {
26145
26205
  $customHeight: customHeight,
26146
26206
  $extraStyles: extraStyles,
26147
26207
  "data-qa": dataQa || labelTextWhenNoError,
26148
- autoComplete: autocompleteValue
26208
+ autoComplete: autocompleteValue,
26209
+ required: isRequired
26149
26210
  }, props)) : /*#__PURE__*/React__default.createElement(InputField, _extends({
26150
26211
  "aria-labelledby": createIdFromString(labelTextWhenNoError),
26151
26212
  "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
@@ -26164,7 +26225,8 @@ var FormInput = function FormInput(_ref15) {
26164
26225
  $customHeight: customHeight,
26165
26226
  $extraStyles: extraStyles,
26166
26227
  "data-qa": dataQa || labelTextWhenNoError,
26167
- autoComplete: autocompleteValue
26228
+ autoComplete: autocompleteValue,
26229
+ required: isRequired
26168
26230
  }, props))), /*#__PURE__*/React__default.createElement(Stack, {
26169
26231
  direction: "row",
26170
26232
  justify: "space-between",
@@ -27406,7 +27468,9 @@ var RadioButton$1 = function RadioButton(_ref2) {
27406
27468
  _ref2$ariaLabelledBy = _ref2.ariaLabelledBy,
27407
27469
  ariaLabelledBy = _ref2$ariaLabelledBy === void 0 ? "" : _ref2$ariaLabelledBy,
27408
27470
  _ref2$ariaLabel = _ref2.ariaLabel,
27409
- ariaLabel = _ref2$ariaLabel === void 0 ? null : _ref2$ariaLabel;
27471
+ ariaLabel = _ref2$ariaLabel === void 0 ? null : _ref2$ariaLabel,
27472
+ _ref2$isRequired = _ref2.isRequired,
27473
+ isRequired = _ref2$isRequired === void 0 ? false : _ref2$isRequired;
27410
27474
  var buttonBorder = {
27411
27475
  onFocused: {
27412
27476
  borderColor: themeValues.activeColor,
@@ -27468,7 +27532,8 @@ var RadioButton$1 = function RadioButton(_ref2) {
27468
27532
  disabled: disabled,
27469
27533
  onClick: toggleRadio,
27470
27534
  "aria-describedby": ariaDescribedBy,
27471
- tabIndex: "-1"
27535
+ tabIndex: "-1",
27536
+ required: isRequired
27472
27537
  }, extraProps)), /*#__PURE__*/React__default.createElement(Motion, {
27473
27538
  borderWidth: "1px",
27474
27539
  borderStyle: "solid",
@@ -38158,7 +38223,9 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
38158
38223
  field = _ref.field,
38159
38224
  fieldActions = _ref.fieldActions,
38160
38225
  showErrors = _ref.showErrors,
38161
- countryCode = _ref.countryCode;
38226
+ countryCode = _ref.countryCode,
38227
+ _ref$isRequired = _ref.isRequired,
38228
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
38162
38229
  var placeholder = countryCode === "US" ? placeHolderOptionUS : placeHolderOption;
38163
38230
  var options = [placeholder].concat(_toConsumableArray(getOptions(countryCode)));
38164
38231
  return /*#__PURE__*/React__default.createElement(FormSelect$1, {
@@ -38168,7 +38235,8 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
38168
38235
  labelTextWhenNoError: labelTextWhenNoError,
38169
38236
  errorMessages: errorMessages,
38170
38237
  showErrors: showErrors,
38171
- autocompleteValue: "address-level1"
38238
+ autocompleteValue: "address-level1",
38239
+ isRequired: isRequired
38172
38240
  });
38173
38241
  };
38174
38242
 
@@ -39507,7 +39575,8 @@ var AddressForm = function AddressForm(_ref) {
39507
39575
  }
39508
39576
  },
39509
39577
  showErrors: showErrors,
39510
- dataQa: "Country"
39578
+ dataQa: "Country",
39579
+ isRequired: true
39511
39580
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
39512
39581
  labelTextWhenNoError: "Address",
39513
39582
  errorMessages: street1ErrorMessages,
@@ -39518,7 +39587,8 @@ var AddressForm = function AddressForm(_ref) {
39518
39587
  return e.key === "Enter" && handleSubmit(e);
39519
39588
  },
39520
39589
  autocompleteValue: "address-line1",
39521
- dataQa: "Address"
39590
+ dataQa: "Address",
39591
+ isRequired: true
39522
39592
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
39523
39593
  labelTextWhenNoError: "Apt, Suite, Unit, Floor, etc. (Optional)",
39524
39594
  field: fields.street2,
@@ -39539,7 +39609,8 @@ var AddressForm = function AddressForm(_ref) {
39539
39609
  return e.key === "Enter" && handleSubmit(e);
39540
39610
  },
39541
39611
  autocompleteValue: "address-level2",
39542
- dataQa: "City"
39612
+ dataQa: "City",
39613
+ isRequired: true
39543
39614
  }), /*#__PURE__*/React__default.createElement(FormStateDropdown, {
39544
39615
  labelTextWhenNoError: isUS ? "State" : "State or Province",
39545
39616
  errorMessages: stateProvinceErrorMessages,
@@ -39550,7 +39621,8 @@ var AddressForm = function AddressForm(_ref) {
39550
39621
  onKeyDown: function onKeyDown(e) {
39551
39622
  return e.key === "Enter" && handleSubmit(e);
39552
39623
  },
39553
- dataQa: "State or Province"
39624
+ dataQa: "State or Province",
39625
+ isRequired: true
39554
39626
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
39555
39627
  isNum: isUS,
39556
39628
  formatter: isUS ? zipFormat : null,
@@ -39563,7 +39635,8 @@ var AddressForm = function AddressForm(_ref) {
39563
39635
  return e.key === "Enter" && handleSubmit(e);
39564
39636
  },
39565
39637
  autocompleteValue: "postal-code",
39566
- dataQa: "Zip code"
39638
+ dataQa: "Zip code",
39639
+ isRequired: true
39567
39640
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
39568
39641
  name: "address checkbox",
39569
39642
  title: "Save address to wallet",
@@ -40466,7 +40539,9 @@ var EmailForm = function EmailForm(_ref) {
40466
40539
  handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
40467
40540
  showWalletCheckbox = _ref.showWalletCheckbox,
40468
40541
  saveToWallet = _ref.saveToWallet,
40469
- walletCheckboxMarked = _ref.walletCheckboxMarked;
40542
+ walletCheckboxMarked = _ref.walletCheckboxMarked,
40543
+ _ref$isRequired = _ref.isRequired,
40544
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
40470
40545
 
40471
40546
  if (clearOnDismount) {
40472
40547
  React.useEffect(function () {
@@ -40495,7 +40570,8 @@ var EmailForm = function EmailForm(_ref) {
40495
40570
  },
40496
40571
  isEmail: true,
40497
40572
  autocompleteValue: "email",
40498
- dataQa: "Email address"
40573
+ dataQa: "Email address",
40574
+ isRequired: isRequired
40499
40575
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
40500
40576
  name: "email checkbox",
40501
40577
  title: "Save email address to wallet",
@@ -45792,7 +45868,8 @@ var Modal$1 = function Modal(_ref) {
45792
45868
  alignItems: "center"
45793
45869
  },
45794
45870
  dialogStyle: {
45795
- width: customWidth || "615px"
45871
+ width: customWidth || "615px",
45872
+ overflow: "auto"
45796
45873
  },
45797
45874
  underlayClickExits: underlayClickExits
45798
45875
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -47862,6 +47939,8 @@ var TermsAndConditionsControlV1 = function TermsAndConditionsControlV1(_ref) {
47862
47939
  })))));
47863
47940
  };
47864
47941
 
47942
+ var TermsAndConditionsTitleDivId = "terms-and-conditions-title";
47943
+
47865
47944
  var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
47866
47945
  var _ref$showCheckbox = _ref.showCheckbox,
47867
47946
  showCheckbox = _ref$showCheckbox === void 0 ? true : _ref$showCheckbox,
@@ -47924,7 +48003,8 @@ var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
47924
48003
  checked: isChecked,
47925
48004
  onChange: onCheck,
47926
48005
  checkboxMargin: checkboxMargin,
47927
- extraStyles: "align-self: flex-start;"
48006
+ extraStyles: "align-self: flex-start;",
48007
+ labelledById: TermsAndConditionsTitleDivId
47928
48008
  }), /*#__PURE__*/React__default.createElement(Stack, {
47929
48009
  childGap: "0.25rem",
47930
48010
  fullHeight: true
@@ -47932,7 +48012,8 @@ var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
47932
48012
  justify: "flex-start",
47933
48013
  align: "center",
47934
48014
  nowrap: true,
47935
- extraStyles: "padding-right: 2px; > div > * { margin: 4px 2px; };"
48015
+ extraStyles: "padding-right: 2px; > div > * { margin: 4px 2px; };",
48016
+ id: TermsAndConditionsTitleDivId
47936
48017
  }, description && /*#__PURE__*/React__default.createElement(Text$1, {
47937
48018
  color: CHARADE_GREY
47938
48019
  }, description), terms && /*#__PURE__*/React__default.createElement(TermsAndConditionsModal$1, {
@@ -48030,7 +48111,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48030
48111
  onKeyDown: function onKeyDown(e) {
48031
48112
  return e.key === "Enter" && handleSubmit(e);
48032
48113
  },
48033
- autocompleteValue: "name"
48114
+ autocompleteValue: "name",
48115
+ isRequired: true
48034
48116
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48035
48117
  labelTextWhenNoError: "Routing number",
48036
48118
  dataQa: "Routing number",
@@ -48052,7 +48134,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48052
48134
  },
48053
48135
  onKeyDown: function onKeyDown(e) {
48054
48136
  return e.key === "Enter" && handleSubmit(e);
48055
- }
48137
+ },
48138
+ isRequired: true
48056
48139
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48057
48140
  labelTextWhenNoError: "Confirm routing number",
48058
48141
  dataQa: "Confirm routing number",
@@ -48063,7 +48146,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48063
48146
  onKeyDown: function onKeyDown(e) {
48064
48147
  return e.key === "Enter" && handleSubmit(e);
48065
48148
  },
48066
- isNum: true
48149
+ isNum: true,
48150
+ isRequired: true
48067
48151
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48068
48152
  labelTextWhenNoError: "Account number",
48069
48153
  dataQa: "Account number",
@@ -48085,7 +48169,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48085
48169
  },
48086
48170
  onKeyDown: function onKeyDown(e) {
48087
48171
  return e.key === "Enter" && handleSubmit(e);
48088
- }
48172
+ },
48173
+ isRequired: true
48089
48174
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48090
48175
  labelTextWhenNoError: "Confirm account number",
48091
48176
  dataQa: "Confirm account number",
@@ -48096,6 +48181,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48096
48181
  onKeyDown: function onKeyDown(e) {
48097
48182
  return e.key === "Enter" && handleSubmit(e);
48098
48183
  },
48184
+ isRequired: true,
48099
48185
  isNum: true
48100
48186
  }), allowBankAccountType && /*#__PURE__*/React__default.createElement(FormSelect$1, {
48101
48187
  labelTextWhenNoError: "Account type",
@@ -48113,7 +48199,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48113
48199
  fieldActions: actions.fields.accountType,
48114
48200
  showErrors: showErrors,
48115
48201
  errorMessages: accountTypeErrors,
48116
- field: fields.accountType
48202
+ field: fields.accountType,
48203
+ isRequired: true
48117
48204
  }), !hideDefaultPayment && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48118
48205
  title: "Save as Default Payment Method",
48119
48206
  dataQa: "default-payment-ach",
@@ -48251,7 +48338,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48251
48338
  onKeyDown: function onKeyDown(e) {
48252
48339
  return e.key === "Enter" && handleSubmit(e);
48253
48340
  },
48254
- autocompleteValue: "cc-name"
48341
+ autocompleteValue: "cc-name",
48342
+ isRequired: true
48255
48343
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48256
48344
  labelTextWhenNoError: "Credit card number",
48257
48345
  dataQa: "Credit card number",
@@ -48264,7 +48352,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48264
48352
  return e.key === "Enter" && handleSubmit(e);
48265
48353
  },
48266
48354
  isNum: true,
48267
- autocompleteValue: "cc-number"
48355
+ autocompleteValue: "cc-number",
48356
+ isRequired: true
48268
48357
  }), /*#__PURE__*/React__default.createElement(FormInputRow, {
48269
48358
  breakpoint: isMobile ? "1000rem" : "21rem",
48270
48359
  childGap: isMobile ? "0rem" : "1rem"
@@ -48282,7 +48371,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48282
48371
  isNum: true,
48283
48372
  removeFromValue: /\// // removes "/" from browser autofill
48284
48373
  ,
48285
- autocompleteValue: "cc-exp"
48374
+ autocompleteValue: "cc-exp",
48375
+ isRequired: true
48286
48376
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
48287
48377
  labelTextWhenNoError: "CVV",
48288
48378
  dataQa: "CVV",
@@ -48295,7 +48385,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48295
48385
  onKeyDown: function onKeyDown(e) {
48296
48386
  return e.key === "Enter" && handleSubmit(e);
48297
48387
  },
48298
- autocompleteValue: "cc-csc"
48388
+ autocompleteValue: "cc-csc",
48389
+ isRequired: true
48299
48390
  })), !hideZipCode && /*#__PURE__*/React__default.createElement(Box, {
48300
48391
  padding: isMobile ? "0" : "0 0.5rem 0 0",
48301
48392
  width: isMobile ? "100%" : "50%"
@@ -48311,7 +48402,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48311
48402
  onKeyDown: function onKeyDown(e) {
48312
48403
  return e.key === "Enter" && handleSubmit(e);
48313
48404
  },
48314
- autocompleteValue: "billing postal-code"
48405
+ autocompleteValue: "billing postal-code",
48406
+ isRequired: true
48315
48407
  })), (showWalletCheckbox || showTerms) && /*#__PURE__*/React__default.createElement(Cluster, {
48316
48408
  childGap: "4px",
48317
48409
  align: "center"
@@ -48504,7 +48596,9 @@ var PhoneForm = function PhoneForm(_ref) {
48504
48596
  handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
48505
48597
  showWalletCheckbox = _ref.showWalletCheckbox,
48506
48598
  saveToWallet = _ref.saveToWallet,
48507
- walletCheckboxMarked = _ref.walletCheckboxMarked;
48599
+ walletCheckboxMarked = _ref.walletCheckboxMarked,
48600
+ _ref$isRequired = _ref.isRequired,
48601
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
48508
48602
 
48509
48603
  if (clearOnDismount) {
48510
48604
  React.useEffect(function () {
@@ -48531,7 +48625,8 @@ var PhoneForm = function PhoneForm(_ref) {
48531
48625
  },
48532
48626
  autocompleteValue: "tel-national",
48533
48627
  dataQa: "Phone number",
48534
- isNum: true
48628
+ isNum: true,
48629
+ isRequired: isRequired
48535
48630
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48536
48631
  name: "phone checkbox",
48537
48632
  title: "Save phone number to wallet",
@@ -48664,7 +48759,9 @@ var RadioSection = function RadioSection(_ref) {
48664
48759
  openHeight = _ref$openHeight === void 0 ? "auto" : _ref$openHeight,
48665
48760
  _ref$containerStyles = _ref.containerStyles,
48666
48761
  containerStyles = _ref$containerStyles === void 0 ? "" : _ref$containerStyles,
48667
- ariaDescribedBy = _ref.ariaDescribedBy;
48762
+ ariaDescribedBy = _ref.ariaDescribedBy,
48763
+ _ref$isSectionRequire = _ref.isSectionRequired,
48764
+ isSectionRequired = _ref$isSectionRequire === void 0 ? false : _ref$isSectionRequire;
48668
48765
 
48669
48766
  var handleKeyDown = function handleKeyDown(id, e) {
48670
48767
  if ((e === null || e === void 0 ? void 0 : e.keyCode) === 13 || (e === null || e === void 0 ? void 0 : e.keyCode) === 32) {
@@ -48720,7 +48817,8 @@ var RadioSection = function RadioSection(_ref) {
48720
48817
  extraStyles: containerStyles
48721
48818
  }, /*#__PURE__*/React__default.createElement(Stack, {
48722
48819
  childGap: "0",
48723
- role: "radiogroup"
48820
+ "aria-role": "radiogroup",
48821
+ "aria-required": isSectionRequired
48724
48822
  }, sections.filter(function (section) {
48725
48823
  return !section.hidden;
48726
48824
  }).map(function (section) {
@@ -48742,7 +48840,8 @@ var RadioSection = function RadioSection(_ref) {
48742
48840
  extraStyles: borderStyles,
48743
48841
  role: "radio",
48744
48842
  "aria-checked": openSection === section.id,
48745
- "aria-disabled": section.disabled
48843
+ "aria-disabled": section.disabled,
48844
+ "aria-required": section === null || section === void 0 ? void 0 : section.required
48746
48845
  }, /*#__PURE__*/React__default.createElement(Stack, {
48747
48846
  childGap: "0"
48748
48847
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -48780,7 +48879,8 @@ var RadioSection = function RadioSection(_ref) {
48780
48879
  toggleRadio: section.disabled ? noop : function () {
48781
48880
  return toggleOpenSection(section.id);
48782
48881
  },
48783
- tabIndex: "-1"
48882
+ tabIndex: "-1",
48883
+ isRequired: section === null || section === void 0 ? void 0 : section.required
48784
48884
  })), section.titleIcon && /*#__PURE__*/React__default.createElement(Cluster, {
48785
48885
  align: "center"
48786
48886
  }, section.titleIcon), /*#__PURE__*/React__default.createElement(Box, {
@@ -49845,6 +49945,7 @@ exports.ImageBox = ImageBox;
49845
49945
  exports.Imposter = Imposter;
49846
49946
  exports.InternalLink = InternalLink;
49847
49947
  exports.Jumbo = Jumbo$1;
49948
+ exports.KebabMenuIcon = KebabMenuIcon;
49848
49949
  exports.KioskImage = KioskImage;
49849
49950
  exports.LabeledAmount = LabeledAmount$1;
49850
49951
  exports.LineItem = LineItem$1;