@thecb/components 12.1.0-beta.1 → 12.1.0-beta.3

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.esm.js CHANGED
@@ -22230,45 +22230,43 @@ var Checkbox = /*#__PURE__*/forwardRef(function (_ref5, ref) {
22230
22230
  func();
22231
22231
  }
22232
22232
  };
22233
- var titleId = title ? "checkboxlabel-".concat(name) : undefined;
22234
- var ariaLabelledById = labelledById !== null && labelledById !== void 0 ? labelledById : titleId;
22235
- var ariaLabel = ariaLabelledById ? undefined : name;
22233
+ var normalizedName = name ? name.replace(/\s+/g, "-") : name;
22234
+ var checkboxId = "checkbox-".concat(normalizedName);
22235
+ var titleId = title ? "checkboxlabel-".concat(normalizedName) : undefined;
22236
+ // aria-label fallback when no visible title or external labelledById is provided
22237
+ var ariaLabel = !labelledById && !title ? name : undefined;
22236
22238
  return /*#__PURE__*/React__default.createElement(Box, _extends({
22237
22239
  ref: ref,
22238
22240
  padding: "0",
22239
- tabIndex: "0",
22240
- role: "checkbox",
22241
- "aria-checked": checked,
22242
- "aria-required": isRequired || undefined,
22243
- "aria-invalid": error,
22244
- "aria-label": ariaLabel,
22245
- "aria-labelledby": ariaLabelledById,
22246
- "aria-describedby": error ? "".concat(name, "-error-message") : undefined,
22247
- onFocus: function onFocus() {
22248
- return setFocused(true);
22249
- },
22250
- onBlur: function onBlur() {
22251
- return setFocused(false);
22252
- },
22253
- onKeyDown: function onKeyDown(e) {
22254
- return handleClick(e, onChange);
22255
- },
22256
22241
  hiddenStyles: hidden,
22257
22242
  background: themeValues.backgroundColor,
22258
- extraStyles: "\n :focus {\n outline: 0;\n }\n ".concat(extraStyles, "; \n margin: ").concat(checkboxMargin, ";\n ")
22243
+ extraStyles: "\n ".concat(extraStyles, "; \n margin: ").concat(checkboxMargin, ";\n ")
22259
22244
  }, rest), /*#__PURE__*/React__default.createElement(CheckboxLabelContainer, {
22245
+ htmlFor: checkboxId,
22260
22246
  "data-qa": dataQa
22261
22247
  }, /*#__PURE__*/React__default.createElement(CheckboxContainer, {
22262
22248
  "data-qa": "Checkbox"
22263
22249
  }, /*#__PURE__*/React__default.createElement(HiddenCheckbox, {
22264
- id: "checkbox-".concat(name),
22250
+ id: checkboxId,
22265
22251
  disabled: disabled,
22266
22252
  name: name,
22267
22253
  checked: checked,
22268
22254
  onChange: onChange,
22269
- tabIndex: "-1",
22255
+ tabIndex: "0",
22270
22256
  required: isRequired,
22271
- "aria-hidden": "true"
22257
+ "aria-invalid": error,
22258
+ "aria-label": ariaLabel,
22259
+ "aria-labelledby": labelledById,
22260
+ "aria-describedby": error ? "".concat(name, "-error-message") : undefined,
22261
+ onKeyDown: function onKeyDown(e) {
22262
+ return handleClick(e, onChange);
22263
+ },
22264
+ onFocus: function onFocus() {
22265
+ return setFocused(true);
22266
+ },
22267
+ onBlur: function onBlur() {
22268
+ return setFocused(false);
22269
+ }
22272
22270
  }), /*#__PURE__*/React__default.createElement(StyledCheckbox, {
22273
22271
  "aria-hidden": "true",
22274
22272
  error: error,
@@ -47162,7 +47160,7 @@ var PartialAmountField = function PartialAmountField(_ref) {
47162
47160
  extraStyles: "display: block;",
47163
47161
  variant: themeValues.detailVariant,
47164
47162
  weight: "400"
47165
- }, lineItem.subDescription, " payment amount"))),
47163
+ }, lineItem.subDescription))),
47166
47164
  key: lineItem.id,
47167
47165
  field: field,
47168
47166
  fieldActions: fieldActions,
@@ -47174,7 +47172,6 @@ var PartialAmountField = function PartialAmountField(_ref) {
47174
47172
  placeholder: "$0.00",
47175
47173
  formatter: moneyFormat,
47176
47174
  isNum: true,
47177
- isRequired: true,
47178
47175
  decorator: /*#__PURE__*/React__default.createElement(Text$1, {
47179
47176
  variant: "p"
47180
47177
  }, "Amount owed:", " ", /*#__PURE__*/React__default.createElement(Text$1, {
@@ -48217,7 +48214,9 @@ var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
48217
48214
  _ref$initialFocusSele = _ref.initialFocusSelector,
48218
48215
  initialFocusSelector = _ref$initialFocusSele === void 0 ? "" : _ref$initialFocusSele,
48219
48216
  _ref$isRequired = _ref.isRequired,
48220
- isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
48217
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
48218
+ _ref$textExtraStyles = _ref.textExtraStyles,
48219
+ textExtraStyles = _ref$textExtraStyles === void 0 ? "" : _ref$textExtraStyles;
48221
48220
  var _useState = useState(false),
48222
48221
  _useState2 = _slicedToArray(_useState, 2),
48223
48222
  showTerms = _useState2[0],
@@ -48259,7 +48258,7 @@ var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
48259
48258
  justify: "flex-start",
48260
48259
  align: "center",
48261
48260
  nowrap: true,
48262
- extraStyles: "padding-right: 2px; > div > * { margin: 4px 2px; };",
48261
+ extraStyles: "padding-right: 2px; > div > * { margin: 4px 2px; }; ".concat(textExtraStyles),
48263
48262
  id: TermsAndConditionsTitleDivId
48264
48263
  }, description && /*#__PURE__*/React__default.createElement(Text$1, {
48265
48264
  color: CHARADE_GREY
@@ -48323,7 +48322,17 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48323
48322
  _useState4 = _slicedToArray(_useState3, 2),
48324
48323
  showAccount = _useState4[0],
48325
48324
  toggleShowAccount = _useState4[1];
48325
+ var _useState5 = useState(false),
48326
+ _useState6 = _slicedToArray(_useState5, 2),
48327
+ showTermsModal = _useState6[0],
48328
+ setShowTermsModal = _useState6[1];
48326
48329
  var showTerms = !!termsContent;
48330
+ var toggleTermsModal = function toggleTermsModal(open) {
48331
+ setShowTermsModal(open);
48332
+ if (open) {
48333
+ useScrollTo("terms-body-text", 0, 0, "smooth", 100);
48334
+ }
48335
+ };
48327
48336
  var nameErrors = _defineProperty({}, required.error, "Name is required");
48328
48337
  var routingNumberErrors = _defineProperty(_defineProperty(_defineProperty({}, required.error, "Routing number is required"), hasLength.error, "Routing number must be 9 digits"), isRoutingNumber.error, "Invalid routing number");
48329
48338
  var confirmRoutingNumberErrors = _defineProperty(_defineProperty({}, required.error, "Confirm routing number is required"), matchesField.error, "Confirm routing number field must match routing number");
@@ -48441,24 +48450,29 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
48441
48450
  onChange: toggleCheckbox,
48442
48451
  checked: defaultMethod.value,
48443
48452
  hidden: hideDefaultPayment
48444
- }), (showWalletCheckbox || showTerms) && /*#__PURE__*/React__default.createElement(Cluster, {
48445
- childGap: "4px",
48446
- align: "center"
48447
- }, showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48453
+ }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48448
48454
  name: "bank checkbox",
48449
48455
  dataQa: "Save checking account to wallet",
48450
- title: "Save checking account to wallet.",
48456
+ title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Save checking account to wallet (optional).", " ", showTerms && /*#__PURE__*/React__default.createElement("span", {
48457
+ onClick: function onClick(e) {
48458
+ return e.stopPropagation();
48459
+ }
48460
+ }, "View", " ", /*#__PURE__*/React__default.createElement(TermsAndConditionsModal$1, {
48461
+ link: "Terms and Conditions",
48462
+ terms: termsContent,
48463
+ isOpen: showTermsModal,
48464
+ toggleOpen: toggleTermsModal,
48465
+ initialFocusSelector: ".modal-close-button"
48466
+ }))),
48451
48467
  checked: walletCheckboxMarked,
48452
48468
  onChange: saveToWallet
48453
- }), showTerms && /*#__PURE__*/React__default.createElement(Cover, {
48454
- singleChild: true
48455
- }, /*#__PURE__*/React__default.createElement(TermsAndConditions, {
48469
+ }), !showWalletCheckbox && showTerms && /*#__PURE__*/React__default.createElement(TermsAndConditions, {
48456
48470
  version: "v2",
48457
48471
  showCheckbox: false,
48458
48472
  description: "View",
48459
48473
  terms: termsContent,
48460
48474
  initialFocusSelector: ".modal-close-button"
48461
- })))));
48475
+ })));
48462
48476
  };
48463
48477
 
48464
48478
  var formConfig$6 = {
@@ -48513,7 +48527,17 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48513
48527
  termsContent = _ref.termsContent;
48514
48528
  var _useContext = useContext(ThemeContext),
48515
48529
  isMobile = _useContext.isMobile;
48530
+ var _useState = useState(false),
48531
+ _useState2 = _slicedToArray(_useState, 2),
48532
+ showTermsModal = _useState2[0],
48533
+ setShowTermsModal = _useState2[1];
48516
48534
  var showTerms = !!termsContent;
48535
+ var toggleTermsModal = function toggleTermsModal(open) {
48536
+ setShowTermsModal(open);
48537
+ if (open) {
48538
+ useScrollTo("terms-body-text", 0, 0, "smooth", 100);
48539
+ }
48540
+ };
48517
48541
  useEffect$1(function () {
48518
48542
  if (deniedCards) {
48519
48543
  deniedCards.map(function (card) {
@@ -48630,24 +48654,29 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48630
48654
  },
48631
48655
  autocompleteValue: "billing postal-code",
48632
48656
  isRequired: true
48633
- })), (showWalletCheckbox || showTerms) && /*#__PURE__*/React__default.createElement(Cluster, {
48634
- childGap: "4px",
48635
- align: "center"
48636
- }, showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48657
+ })), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
48637
48658
  name: "credit card checkbox",
48638
48659
  dataQa: "Save credit card to wallet",
48639
- title: "Save credit card to wallet.",
48660
+ title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Save credit card to wallet (optional).", " ", showTerms && /*#__PURE__*/React__default.createElement("span", {
48661
+ onClick: function onClick(e) {
48662
+ return e.stopPropagation();
48663
+ }
48664
+ }, "View", " ", /*#__PURE__*/React__default.createElement(TermsAndConditionsModal$1, {
48665
+ link: "Terms and Conditions",
48666
+ terms: termsContent,
48667
+ isOpen: showTermsModal,
48668
+ toggleOpen: toggleTermsModal,
48669
+ initialFocusSelector: ".modal-close-button"
48670
+ }))),
48640
48671
  checked: walletCheckboxMarked,
48641
48672
  onChange: saveToWallet
48642
- }), showTerms && /*#__PURE__*/React__default.createElement(Cover, {
48643
- singleChild: true
48644
- }, /*#__PURE__*/React__default.createElement(TermsAndConditions, {
48673
+ }), !showWalletCheckbox && showTerms && /*#__PURE__*/React__default.createElement(TermsAndConditions, {
48645
48674
  version: "v2",
48646
48675
  showCheckbox: false,
48647
48676
  description: "View",
48648
48677
  terms: termsContent,
48649
48678
  initialFocusSelector: ".modal-close-button"
48650
- })))));
48679
+ })));
48651
48680
  };
48652
48681
  var PaymentFormCard$1 = withWindowSize(PaymentFormCard);
48653
48682