@thecb/components 4.1.20 → 4.1.23
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 +61 -36
- package/package.json +1 -1
- package/src/components/atoms/form-layouts/FormInput.js +3 -2
- package/src/components/molecules/collapsible-section/CollapsibleSection.js +6 -3
- package/src/components/molecules/editable-table/TableListItem.js +11 -2
- package/src/components/molecules/email-form/EmailForm.js +1 -0
- package/src/components/molecules/forgot-password-form/ForgotPasswordForm.js +1 -0
- package/src/components/molecules/login-form/LoginForm.js +1 -0
- package/src/components/molecules/obligation/Obligation.js +5 -1
- package/src/components/molecules/obligation/modules/AmountModule.js +3 -10
- package/src/components/molecules/obligation/modules/AutopayModalModule.js +6 -4
- package/src/components/molecules/obligation/modules/AutopayModalModule.theme.js +1 -1
- package/src/components/molecules/obligation/modules/PaymentDetailsActions.js +4 -1
- package/src/components/molecules/partial-amount-form/PartialAmountForm.js +1 -0
- package/src/components/molecules/payment-form-ach/PaymentFormACH.js +4 -0
- package/src/components/molecules/payment-form-card/PaymentFormCard.js +3 -0
- package/src/components/molecules/phone-form/PhoneForm.js +1 -0
- package/src/components/molecules/registration-form/RegistrationForm.js +1 -0
package/dist/index.cjs.js
CHANGED
|
@@ -20593,6 +20593,8 @@ var FormInput = function FormInput(_ref13) {
|
|
|
20593
20593
|
errorMessages = _ref13.errorMessages,
|
|
20594
20594
|
_ref13$isNum = _ref13.isNum,
|
|
20595
20595
|
isNum = _ref13$isNum === void 0 ? false : _ref13$isNum,
|
|
20596
|
+
_ref13$isEmail = _ref13.isEmail,
|
|
20597
|
+
isEmail = _ref13$isEmail === void 0 ? false : _ref13$isEmail,
|
|
20596
20598
|
_ref13$helperModal = _ref13.helperModal,
|
|
20597
20599
|
helperModal = _ref13$helperModal === void 0 ? false : _ref13$helperModal,
|
|
20598
20600
|
field = _ref13.field,
|
|
@@ -20605,7 +20607,7 @@ var FormInput = function FormInput(_ref13) {
|
|
|
20605
20607
|
background = _ref13.background,
|
|
20606
20608
|
customHeight = _ref13.customHeight,
|
|
20607
20609
|
extraStyles = _ref13.extraStyles,
|
|
20608
|
-
props = _objectWithoutProperties(_ref13, ["type", "labelTextWhenNoError", "errorMessages", "isNum", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "extraStyles"]);
|
|
20610
|
+
props = _objectWithoutProperties(_ref13, ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "extraStyles"]);
|
|
20609
20611
|
|
|
20610
20612
|
var _useState = React.useState(false),
|
|
20611
20613
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -20672,7 +20674,7 @@ var FormInput = function FormInput(_ref13) {
|
|
|
20672
20674
|
type: type,
|
|
20673
20675
|
value: field.rawValue,
|
|
20674
20676
|
pattern: isNum ? "[0-9]*" : "",
|
|
20675
|
-
inputMode: isNum ? "numeric" : "",
|
|
20677
|
+
inputMode: isNum ? "numeric" : isEmail ? "email" : "text",
|
|
20676
20678
|
field: field,
|
|
20677
20679
|
formatter: formatter,
|
|
20678
20680
|
showErrors: showErrors,
|
|
@@ -20688,7 +20690,7 @@ var FormInput = function FormInput(_ref13) {
|
|
|
20688
20690
|
type: type === "password" && showPassword ? "text" : type,
|
|
20689
20691
|
value: field.rawValue,
|
|
20690
20692
|
pattern: isNum ? "[0-9]*" : "",
|
|
20691
|
-
inputMode: isNum ? "numeric" : "",
|
|
20693
|
+
inputMode: isNum ? "numeric" : isEmail ? "email" : "text",
|
|
20692
20694
|
field: field,
|
|
20693
20695
|
showErrors: showErrors,
|
|
20694
20696
|
"data-qa": labelTextWhenNoError,
|
|
@@ -34490,7 +34492,10 @@ var CollapsibleSection = function CollapsibleSection(_ref) {
|
|
|
34490
34492
|
openHeight = _ref$openHeight === void 0 ? "auto" : _ref$openHeight,
|
|
34491
34493
|
children = _ref.children,
|
|
34492
34494
|
_ref$customTitle = _ref.customTitle,
|
|
34493
|
-
customTitle = _ref$customTitle === void 0 ? false : _ref$customTitle
|
|
34495
|
+
customTitle = _ref$customTitle === void 0 ? false : _ref$customTitle,
|
|
34496
|
+
_ref$stackTitle = _ref.stackTitle,
|
|
34497
|
+
stackTitle = _ref$stackTitle === void 0 ? false : _ref$stackTitle,
|
|
34498
|
+
stackTitleContent = _ref.stackTitleContent;
|
|
34494
34499
|
|
|
34495
34500
|
var handleKeyDown = function handleKeyDown(e) {
|
|
34496
34501
|
if (e.keyCode === 13) {
|
|
@@ -34534,8 +34539,8 @@ var CollapsibleSection = function CollapsibleSection(_ref) {
|
|
|
34534
34539
|
hoverStyles: "outline: none;",
|
|
34535
34540
|
animate: isOpen ? "open" : "closed",
|
|
34536
34541
|
positionTransition: true
|
|
34537
|
-
}, /*#__PURE__*/React__default.createElement(Stack, {
|
|
34538
|
-
childGap: isOpen ? "0.5rem" : "0rem"
|
|
34542
|
+
}, stackTitle && /*#__PURE__*/React__default.createElement(React.Fragment, null, stackTitleContent), /*#__PURE__*/React__default.createElement(Stack, {
|
|
34543
|
+
childGap: isOpen && !isMobile ? "0.5rem" : "0rem"
|
|
34539
34544
|
}, /*#__PURE__*/React__default.createElement(Box, {
|
|
34540
34545
|
padding: customPadding ? customPadding : "0",
|
|
34541
34546
|
background: themeValues.headingBackgroundColor,
|
|
@@ -34929,10 +34934,11 @@ var TableListItem = function TableListItem(_ref) {
|
|
|
34929
34934
|
canEdit = _ref$canEdit === void 0 ? false : _ref$canEdit,
|
|
34930
34935
|
_ref$canRemove = _ref.canRemove,
|
|
34931
34936
|
canRemove = _ref$canRemove === void 0 ? false : _ref$canRemove,
|
|
34932
|
-
isMobile = _ref.isMobile
|
|
34937
|
+
isMobile = _ref.isMobile,
|
|
34938
|
+
borderTopItem = _ref.borderTopItem;
|
|
34933
34939
|
return /*#__PURE__*/React__default.createElement(Box, {
|
|
34934
34940
|
padding: "0px",
|
|
34935
|
-
extraStyles: "&:last-child {\n > * {\n border-bottom: none;\n }\n }"
|
|
34941
|
+
extraStyles: "&:last-child {\n > * {\n border-bottom: none;\n }\n }\n ".concat(isMobile && borderTopItem && "&:first-child {\n > * {\n border-top: 1px solid ".concat(GHOST_GREY, ";\n }\n }"), "\n ")
|
|
34936
34942
|
}, /*#__PURE__*/React__default.createElement(ItemWrapper, null, /*#__PURE__*/React__default.createElement(EditableTableListItem, {
|
|
34937
34943
|
isMobile: isMobile
|
|
34938
34944
|
}, /*#__PURE__*/React__default.createElement(TableItemKey, {
|
|
@@ -35000,7 +35006,8 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
35000
35006
|
showErrors: showErrors,
|
|
35001
35007
|
onKeyDown: function onKeyDown(e) {
|
|
35002
35008
|
return e.key === "Enter" && handleSubmit(e);
|
|
35003
|
-
}
|
|
35009
|
+
},
|
|
35010
|
+
isEmail: true
|
|
35004
35011
|
}), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
|
|
35005
35012
|
name: "email checkbox",
|
|
35006
35013
|
title: "Save email address to wallet",
|
|
@@ -35051,7 +35058,8 @@ var ForgotPasswordForm = function ForgotPasswordForm(_ref) {
|
|
|
35051
35058
|
showErrors: showErrors,
|
|
35052
35059
|
onKeyDown: function onKeyDown(e) {
|
|
35053
35060
|
return e.key === "Enter" && handleSubmit(e);
|
|
35054
|
-
}
|
|
35061
|
+
},
|
|
35062
|
+
isEmail: true
|
|
35055
35063
|
});
|
|
35056
35064
|
};
|
|
35057
35065
|
|
|
@@ -35154,7 +35162,8 @@ var LoginForm = function LoginForm(_ref) {
|
|
|
35154
35162
|
showErrors: showErrors,
|
|
35155
35163
|
onKeyDown: function onKeyDown(e) {
|
|
35156
35164
|
return e.key === "Enter" && handleSubmit(e);
|
|
35157
|
-
}
|
|
35165
|
+
},
|
|
35166
|
+
isEmail: true
|
|
35158
35167
|
}), /*#__PURE__*/React__default.createElement(FormInput$1, {
|
|
35159
35168
|
labelTextWhenNoError: "Password",
|
|
35160
35169
|
errorMessages: passwordErrorMessages,
|
|
@@ -38151,7 +38160,7 @@ var hoverColor$4 = "#116285";
|
|
|
38151
38160
|
var activeColor$5 = "#0E506D";
|
|
38152
38161
|
var linkColor$3 = "#357fb8";
|
|
38153
38162
|
var fontWeight$6 = FONT_WEIGHT_REGULAR;
|
|
38154
|
-
var modalLinkHoverFocus = "outline: none;\n cursor: pointer;\n text-decoration: underline;\n text-decoration-color: #
|
|
38163
|
+
var modalLinkHoverFocus = "outline: none;\n cursor: pointer;\n text-decoration: underline;\n text-decoration-color: #317D4F;";
|
|
38155
38164
|
var fallbackValues$w = {
|
|
38156
38165
|
color: color$a,
|
|
38157
38166
|
hoverColor: hoverColor$4,
|
|
@@ -38172,7 +38181,8 @@ var AutopayModal = function AutopayModal(_ref) {
|
|
|
38172
38181
|
buttonLinkType = _ref.buttonLinkType,
|
|
38173
38182
|
isMobile = _ref.isMobile,
|
|
38174
38183
|
themeValues = _ref.themeValues,
|
|
38175
|
-
isPaymentPlan = _ref.isPaymentPlan
|
|
38184
|
+
isPaymentPlan = _ref.isPaymentPlan,
|
|
38185
|
+
nextAutopayDate = _ref.nextAutopayDate;
|
|
38176
38186
|
var planType = isPaymentPlan ? "Payment Plan" : "Autopay";
|
|
38177
38187
|
var modalExtraProps = {
|
|
38178
38188
|
modalHeaderText: autoPayActive ? "Deactivate ".concat(planType) : "Set Up ".concat(planType),
|
|
@@ -38227,11 +38237,11 @@ var AutopayModal = function AutopayModal(_ref) {
|
|
|
38227
38237
|
},
|
|
38228
38238
|
tabIndex: "0",
|
|
38229
38239
|
dataQa: "".concat(planType, " On"),
|
|
38230
|
-
color:
|
|
38240
|
+
color: SEA_GREEN,
|
|
38231
38241
|
weight: themeValues.fontWeight,
|
|
38232
38242
|
hoverStyles: themeValues.modalLinkHoverFocus,
|
|
38233
|
-
extraStyles: "padding: 0
|
|
38234
|
-
}, "".concat(planType, "
|
|
38243
|
+
extraStyles: "padding-left: 0.25rem;"
|
|
38244
|
+
}, "".concat(planType, " ").concat(nextAutopayDate)))));
|
|
38235
38245
|
};
|
|
38236
38246
|
|
|
38237
38247
|
var AutopayModalModule = themeComponent(AutopayModal, "AutopayModal", fallbackValues$w);
|
|
@@ -38244,7 +38254,8 @@ var AmountModule = function AmountModule(_ref) {
|
|
|
38244
38254
|
navigateToSettings = _ref.navigateToSettings,
|
|
38245
38255
|
autoPaySchedule = _ref.autoPaySchedule,
|
|
38246
38256
|
paymentPlanSchedule = _ref.paymentPlanSchedule,
|
|
38247
|
-
isPaymentPlan = _ref.isPaymentPlan
|
|
38257
|
+
isPaymentPlan = _ref.isPaymentPlan,
|
|
38258
|
+
nextAutopayDate = _ref.nextAutopayDate;
|
|
38248
38259
|
|
|
38249
38260
|
var _useState = React.useState(false),
|
|
38250
38261
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -38255,11 +38266,7 @@ var AmountModule = function AmountModule(_ref) {
|
|
|
38255
38266
|
padding: "0 0.25rem 0 0"
|
|
38256
38267
|
}, /*#__PURE__*/React__default.createElement(Stack, {
|
|
38257
38268
|
childGap: "0"
|
|
38258
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
38259
|
-
variant: "pS",
|
|
38260
|
-
weight: FONT_WEIGHT_SEMIBOLD,
|
|
38261
|
-
extraStyles: isMobile ? "text-align: left;" : "text-align: right;"
|
|
38262
|
-
}, isMobile ? "Total Due" : "Total Amount Due"), /*#__PURE__*/React__default.createElement(AmountCallout$1, {
|
|
38269
|
+
}, /*#__PURE__*/React__default.createElement(AmountCallout$1, {
|
|
38263
38270
|
amount: displayCurrency(totalAmountDue),
|
|
38264
38271
|
textAlign: isMobile ? "left" : "right"
|
|
38265
38272
|
}), autoPayEnabled && /*#__PURE__*/React__default.createElement(AutopayModalModule, {
|
|
@@ -38271,7 +38278,8 @@ var AmountModule = function AmountModule(_ref) {
|
|
|
38271
38278
|
deactivatePaymentSchedule: deactivatePaymentSchedule,
|
|
38272
38279
|
isMobile: isMobile,
|
|
38273
38280
|
paymentPlanSchedule: paymentPlanSchedule,
|
|
38274
|
-
isPaymentPlan: isPaymentPlan
|
|
38281
|
+
isPaymentPlan: isPaymentPlan,
|
|
38282
|
+
nextAutopayDate: nextAutopayDate
|
|
38275
38283
|
})));
|
|
38276
38284
|
};
|
|
38277
38285
|
|
|
@@ -38287,7 +38295,8 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
|
|
|
38287
38295
|
navigateToSettings = _ref.navigateToSettings,
|
|
38288
38296
|
autoPaySchedule = _ref.autoPaySchedule,
|
|
38289
38297
|
paymentPlanSchedule = _ref.paymentPlanSchedule,
|
|
38290
|
-
isPaymentPlan = _ref.isPaymentPlan
|
|
38298
|
+
isPaymentPlan = _ref.isPaymentPlan,
|
|
38299
|
+
nextAutopayDate = _ref.nextAutopayDate;
|
|
38291
38300
|
var planType = isPaymentPlan ? "Payment Plan" : "Autopay";
|
|
38292
38301
|
|
|
38293
38302
|
var _useState = React.useState(false),
|
|
@@ -38342,7 +38351,8 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
|
|
|
38342
38351
|
navigateToSettings: navigateToSettings,
|
|
38343
38352
|
autoPaySchedule: autoPaySchedule,
|
|
38344
38353
|
paymentPlanSchedule: paymentPlanSchedule,
|
|
38345
|
-
isPaymentPlan: isPaymentPlan
|
|
38354
|
+
isPaymentPlan: isPaymentPlan,
|
|
38355
|
+
nextAutopayDate: nextAutopayDate
|
|
38346
38356
|
}))), /*#__PURE__*/React__default.createElement(Box, {
|
|
38347
38357
|
padding: isMobile ? "16px" : "0"
|
|
38348
38358
|
}, /*#__PURE__*/React__default.createElement(Cluster, {
|
|
@@ -38380,7 +38390,8 @@ var PaymentDetailsActions = function PaymentDetailsActions(_ref) {
|
|
|
38380
38390
|
buttonLinkType: true,
|
|
38381
38391
|
isMobile: isMobile,
|
|
38382
38392
|
paymentPlanSchedule: paymentPlanSchedule,
|
|
38383
|
-
isPaymentPlan: isPaymentPlan
|
|
38393
|
+
isPaymentPlan: isPaymentPlan,
|
|
38394
|
+
nextAutopayDate: nextAutopayDate
|
|
38384
38395
|
})), !isMobile && /*#__PURE__*/React__default.createElement(Box, {
|
|
38385
38396
|
padding: isMobile ? "0 0 0 8px" : "8px",
|
|
38386
38397
|
extraStyles: isMobile && "flex-grow: 1;"
|
|
@@ -38420,7 +38431,8 @@ var Obligation = function Obligation(_ref) {
|
|
|
38420
38431
|
paymentPlanSchedule = _ref.paymentPlanSchedule,
|
|
38421
38432
|
navigateToSettings = _ref.navigateToSettings,
|
|
38422
38433
|
isMobile = _ref.isMobile,
|
|
38423
|
-
isPaymentPlan = _ref.isPaymentPlan
|
|
38434
|
+
isPaymentPlan = _ref.isPaymentPlan,
|
|
38435
|
+
nextAutopayDate = _ref.nextAutopayDate;
|
|
38424
38436
|
var obligation = obligations[0];
|
|
38425
38437
|
var customAttributes = obligation.customAttributes;
|
|
38426
38438
|
return /*#__PURE__*/React__default.createElement(Box, {
|
|
@@ -38466,7 +38478,8 @@ var Obligation = function Obligation(_ref) {
|
|
|
38466
38478
|
navigateToSettings: navigateToSettings,
|
|
38467
38479
|
autoPaySchedule: autoPaySchedule,
|
|
38468
38480
|
paymentPlanSchedule: paymentPlanSchedule,
|
|
38469
|
-
isPaymentPlan: isPaymentPlan
|
|
38481
|
+
isPaymentPlan: isPaymentPlan,
|
|
38482
|
+
nextAutopayDate: nextAutopayDate
|
|
38470
38483
|
}))), !isMobile && /*#__PURE__*/React__default.createElement(PaymentDetailsActions, {
|
|
38471
38484
|
obligations: obligations,
|
|
38472
38485
|
autoPayEnabled: autoPayEnabled,
|
|
@@ -38479,7 +38492,8 @@ var Obligation = function Obligation(_ref) {
|
|
|
38479
38492
|
config: config,
|
|
38480
38493
|
actions: actions,
|
|
38481
38494
|
isMobile: isMobile,
|
|
38482
|
-
isPaymentPlan: isPaymentPlan
|
|
38495
|
+
isPaymentPlan: isPaymentPlan,
|
|
38496
|
+
nextAutopayDate: nextAutopayDate
|
|
38483
38497
|
}))), isMobile && /*#__PURE__*/React__default.createElement(PaymentDetailsActions, {
|
|
38484
38498
|
obligations: obligations,
|
|
38485
38499
|
autoPayEnabled: autoPayEnabled,
|
|
@@ -38492,7 +38506,8 @@ var Obligation = function Obligation(_ref) {
|
|
|
38492
38506
|
config: config,
|
|
38493
38507
|
actions: actions,
|
|
38494
38508
|
isMobile: isMobile,
|
|
38495
|
-
isPaymentPlan: isPaymentPlan
|
|
38509
|
+
isPaymentPlan: isPaymentPlan,
|
|
38510
|
+
nextAutopayDate: nextAutopayDate
|
|
38496
38511
|
}));
|
|
38497
38512
|
};
|
|
38498
38513
|
|
|
@@ -38544,6 +38559,7 @@ var PartialAmountForm = function PartialAmountForm(_ref) {
|
|
|
38544
38559
|
},
|
|
38545
38560
|
placeholder: "$0.00",
|
|
38546
38561
|
formatter: moneyFormat,
|
|
38562
|
+
isNum: true,
|
|
38547
38563
|
decorator: /*#__PURE__*/React__default.createElement(Text$1, {
|
|
38548
38564
|
variant: "p"
|
|
38549
38565
|
}, "Amount owed:", " ", /*#__PURE__*/React__default.createElement(Text$1, {
|
|
@@ -39114,6 +39130,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
|
|
|
39114
39130
|
field: fields.routingNumber,
|
|
39115
39131
|
fieldActions: actions.fields.routingNumber,
|
|
39116
39132
|
showErrors: showErrors,
|
|
39133
|
+
isNum: true,
|
|
39117
39134
|
helperModal: function helperModal() {
|
|
39118
39135
|
return /*#__PURE__*/React__default.createElement(AccountAndRoutingModal$1, {
|
|
39119
39136
|
link: "What is this?",
|
|
@@ -39135,13 +39152,15 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
|
|
|
39135
39152
|
showErrors: showErrors,
|
|
39136
39153
|
onKeyDown: function onKeyDown(e) {
|
|
39137
39154
|
return e.key === "Enter" && handleSubmit(e);
|
|
39138
|
-
}
|
|
39155
|
+
},
|
|
39156
|
+
isNum: true
|
|
39139
39157
|
}), /*#__PURE__*/React__default.createElement(FormInput$1, {
|
|
39140
39158
|
labelTextWhenNoError: "Account number",
|
|
39141
39159
|
errorMessages: accountNumberErrors,
|
|
39142
39160
|
field: fields.accountNumber,
|
|
39143
39161
|
fieldActions: actions.fields.accountNumber,
|
|
39144
39162
|
showErrors: showErrors,
|
|
39163
|
+
isNum: true,
|
|
39145
39164
|
helperModal: function helperModal() {
|
|
39146
39165
|
return /*#__PURE__*/React__default.createElement(AccountAndRoutingModal$1, {
|
|
39147
39166
|
link: "What is this?",
|
|
@@ -39163,7 +39182,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
|
|
|
39163
39182
|
showErrors: showErrors,
|
|
39164
39183
|
onKeyDown: function onKeyDown(e) {
|
|
39165
39184
|
return e.key === "Enter" && handleSubmit(e);
|
|
39166
|
-
}
|
|
39185
|
+
},
|
|
39186
|
+
isNum: true
|
|
39167
39187
|
}), allowBankAccountType && /*#__PURE__*/React__default.createElement(FormSelect$1, {
|
|
39168
39188
|
labelTextWhenNoError: "Account type",
|
|
39169
39189
|
options: [{
|
|
@@ -39298,7 +39318,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
|
|
|
39298
39318
|
formatter: creditCardFormat,
|
|
39299
39319
|
onKeyDown: function onKeyDown(e) {
|
|
39300
39320
|
return e.key === "Enter" && handleSubmit(e);
|
|
39301
|
-
}
|
|
39321
|
+
},
|
|
39322
|
+
isNum: true
|
|
39302
39323
|
}), /*#__PURE__*/React__default.createElement(FormInputRow, {
|
|
39303
39324
|
breakpoint: "20rem"
|
|
39304
39325
|
}, /*#__PURE__*/React__default.createElement(FormInput$1, {
|
|
@@ -39310,13 +39331,15 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
|
|
|
39310
39331
|
formatter: expirationDateFormat,
|
|
39311
39332
|
onKeyDown: function onKeyDown(e) {
|
|
39312
39333
|
return e.key === "Enter" && handleSubmit(e);
|
|
39313
|
-
}
|
|
39334
|
+
},
|
|
39335
|
+
isNum: true
|
|
39314
39336
|
}), /*#__PURE__*/React__default.createElement(FormInput$1, {
|
|
39315
39337
|
labelTextWhenNoError: "CVV",
|
|
39316
39338
|
errorMessages: cvvErrors,
|
|
39317
39339
|
field: fields.cvv,
|
|
39318
39340
|
fieldActions: actions.fields.cvv,
|
|
39319
39341
|
showErrors: showErrors,
|
|
39342
|
+
isNum: true,
|
|
39320
39343
|
background: checkCardBrand(fields.creditCardNumber.rawValue) == "AMEX" ? "/AmexCVVHint.svg" : "/CVVHint.svg",
|
|
39321
39344
|
onKeyDown: function onKeyDown(e) {
|
|
39322
39345
|
return e.key === "Enter" && handleSubmit(e);
|
|
@@ -39415,7 +39438,8 @@ var PhoneForm = function PhoneForm(_ref) {
|
|
|
39415
39438
|
formatter: src_2(phoneFormats, formatDelimiter),
|
|
39416
39439
|
onKeyUp: function onKeyUp(e) {
|
|
39417
39440
|
return e.key === "Enter" && handleSubmit(e);
|
|
39418
|
-
}
|
|
39441
|
+
},
|
|
39442
|
+
isNum: true
|
|
39419
39443
|
}), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
|
|
39420
39444
|
name: "phone checkbox",
|
|
39421
39445
|
title: "Save phone number to wallet",
|
|
@@ -39696,7 +39720,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
|
|
|
39696
39720
|
onKeyDown: function onKeyDown(e) {
|
|
39697
39721
|
return e.key === "Enter" && handleSubmit(e);
|
|
39698
39722
|
},
|
|
39699
|
-
type: "email"
|
|
39723
|
+
type: "email",
|
|
39724
|
+
isEmail: true
|
|
39700
39725
|
}), /*#__PURE__*/React__default.createElement(FormInput$1, {
|
|
39701
39726
|
labelTextWhenNoError: "Password",
|
|
39702
39727
|
errorMessages: passwordErrorMessages,
|
package/package.json
CHANGED
|
@@ -85,6 +85,7 @@ const FormInput = ({
|
|
|
85
85
|
labelTextWhenNoError = "",
|
|
86
86
|
errorMessages,
|
|
87
87
|
isNum = false,
|
|
88
|
+
isEmail = false,
|
|
88
89
|
helperModal = false,
|
|
89
90
|
field,
|
|
90
91
|
fieldActions,
|
|
@@ -176,7 +177,7 @@ const FormInput = ({
|
|
|
176
177
|
type={type}
|
|
177
178
|
value={field.rawValue}
|
|
178
179
|
pattern={isNum ? "[0-9]*" : ""}
|
|
179
|
-
inputMode={isNum ? "numeric" : ""}
|
|
180
|
+
inputMode={isNum ? "numeric" : isEmail ? "email" : "text"}
|
|
180
181
|
field={field}
|
|
181
182
|
formatter={formatter}
|
|
182
183
|
showErrors={showErrors}
|
|
@@ -193,7 +194,7 @@ const FormInput = ({
|
|
|
193
194
|
type={type === "password" && showPassword ? "text" : type}
|
|
194
195
|
value={field.rawValue}
|
|
195
196
|
pattern={isNum ? "[0-9]*" : ""}
|
|
196
|
-
inputMode={isNum ? "numeric" : ""}
|
|
197
|
+
inputMode={isNum ? "numeric" : isEmail ? "email" : "text"}
|
|
197
198
|
field={field}
|
|
198
199
|
showErrors={showErrors}
|
|
199
200
|
data-qa={labelTextWhenNoError}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { Fragment } from "react";
|
|
2
2
|
import { fallbackValues } from "./CollapsibleSection.theme";
|
|
3
3
|
import { AnimatePresence } from "framer-motion";
|
|
4
4
|
import { themeComponent } from "../../../util/themeUtils";
|
|
@@ -19,7 +19,9 @@ const CollapsibleSection = ({
|
|
|
19
19
|
initiallyOpen = true,
|
|
20
20
|
openHeight = "auto",
|
|
21
21
|
children,
|
|
22
|
-
customTitle = false
|
|
22
|
+
customTitle = false,
|
|
23
|
+
stackTitle = false,
|
|
24
|
+
stackTitleContent
|
|
23
25
|
}) => {
|
|
24
26
|
const handleKeyDown = e => {
|
|
25
27
|
if (e.keyCode === 13) {
|
|
@@ -68,7 +70,8 @@ const CollapsibleSection = ({
|
|
|
68
70
|
animate={isOpen ? "open" : "closed"}
|
|
69
71
|
positionTransition
|
|
70
72
|
>
|
|
71
|
-
|
|
73
|
+
{stackTitle && <Fragment>{stackTitleContent}</Fragment>}
|
|
74
|
+
<Stack childGap={isOpen && !isMobile ? "0.5rem" : "0rem"}>
|
|
72
75
|
<Box
|
|
73
76
|
padding={customPadding ? customPadding : "0"}
|
|
74
77
|
background={themeValues.headingBackgroundColor}
|
|
@@ -9,14 +9,15 @@ import {
|
|
|
9
9
|
} from "./EditableTable.styled";
|
|
10
10
|
import { Box } from "../../atoms/layouts";
|
|
11
11
|
import Text from "../../atoms/text";
|
|
12
|
-
import { CHARADE_GREY } from "../../../constants/colors";
|
|
12
|
+
import { CHARADE_GREY, GHOST_GREY } from "../../../constants/colors";
|
|
13
13
|
|
|
14
14
|
const TableListItem = ({
|
|
15
15
|
title,
|
|
16
16
|
value,
|
|
17
17
|
canEdit = false,
|
|
18
18
|
canRemove = false,
|
|
19
|
-
isMobile
|
|
19
|
+
isMobile,
|
|
20
|
+
borderTopItem
|
|
20
21
|
}) => (
|
|
21
22
|
<Box
|
|
22
23
|
padding="0px"
|
|
@@ -24,7 +25,15 @@ const TableListItem = ({
|
|
|
24
25
|
> * {
|
|
25
26
|
border-bottom: none;
|
|
26
27
|
}
|
|
28
|
+
}
|
|
29
|
+
${isMobile &&
|
|
30
|
+
borderTopItem &&
|
|
31
|
+
`&:first-child {
|
|
32
|
+
> * {
|
|
33
|
+
border-top: 1px solid ${GHOST_GREY};
|
|
34
|
+
}
|
|
27
35
|
}`}
|
|
36
|
+
`}
|
|
28
37
|
>
|
|
29
38
|
<ItemWrapper>
|
|
30
39
|
<EditableTableListItem isMobile={isMobile}>
|
|
@@ -20,7 +20,8 @@ const Obligation = ({
|
|
|
20
20
|
paymentPlanSchedule,
|
|
21
21
|
navigateToSettings,
|
|
22
22
|
isMobile,
|
|
23
|
-
isPaymentPlan
|
|
23
|
+
isPaymentPlan,
|
|
24
|
+
nextAutopayDate
|
|
24
25
|
}) => {
|
|
25
26
|
const obligation = obligations[0];
|
|
26
27
|
const { customAttributes } = obligation;
|
|
@@ -71,6 +72,7 @@ const Obligation = ({
|
|
|
71
72
|
autoPaySchedule={autoPaySchedule}
|
|
72
73
|
paymentPlanSchedule={paymentPlanSchedule}
|
|
73
74
|
isPaymentPlan={isPaymentPlan}
|
|
75
|
+
nextAutopayDate={nextAutopayDate}
|
|
74
76
|
/>
|
|
75
77
|
)}
|
|
76
78
|
</Cluster>
|
|
@@ -89,6 +91,7 @@ const Obligation = ({
|
|
|
89
91
|
actions={actions}
|
|
90
92
|
isMobile={isMobile}
|
|
91
93
|
isPaymentPlan={isPaymentPlan}
|
|
94
|
+
nextAutopayDate={nextAutopayDate}
|
|
92
95
|
/>
|
|
93
96
|
)}
|
|
94
97
|
</Stack>
|
|
@@ -107,6 +110,7 @@ const Obligation = ({
|
|
|
107
110
|
actions={actions}
|
|
108
111
|
isMobile={isMobile}
|
|
109
112
|
isPaymentPlan={isPaymentPlan}
|
|
113
|
+
nextAutopayDate={nextAutopayDate}
|
|
110
114
|
/>
|
|
111
115
|
)}
|
|
112
116
|
</Box>
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
|
-
import Text from "../../../atoms/text";
|
|
3
2
|
import AmountCallout from "../../../atoms/amount-callout";
|
|
4
3
|
import { Box, Stack } from "../../../atoms/layouts";
|
|
5
|
-
import { FONT_WEIGHT_SEMIBOLD } from "../../../../constants/style_constants";
|
|
6
4
|
import { displayCurrency } from "../../../../util/general";
|
|
7
5
|
import { AutopayModalModule } from "./AutopayModalModule";
|
|
8
6
|
|
|
@@ -14,19 +12,13 @@ const AmountModule = ({
|
|
|
14
12
|
navigateToSettings,
|
|
15
13
|
autoPaySchedule,
|
|
16
14
|
paymentPlanSchedule,
|
|
17
|
-
isPaymentPlan
|
|
15
|
+
isPaymentPlan,
|
|
16
|
+
nextAutopayDate
|
|
18
17
|
}) => {
|
|
19
18
|
const [modalOpen, toggleModal] = useState(false);
|
|
20
19
|
return (
|
|
21
20
|
<Box padding="0 0.25rem 0 0">
|
|
22
21
|
<Stack childGap="0">
|
|
23
|
-
<Text
|
|
24
|
-
variant="pS"
|
|
25
|
-
weight={FONT_WEIGHT_SEMIBOLD}
|
|
26
|
-
extraStyles={isMobile ? `text-align: left;` : `text-align: right;`}
|
|
27
|
-
>
|
|
28
|
-
{isMobile ? "Total Due" : "Total Amount Due"}
|
|
29
|
-
</Text>
|
|
30
22
|
<AmountCallout
|
|
31
23
|
amount={displayCurrency(totalAmountDue)}
|
|
32
24
|
textAlign={isMobile ? "left" : "right"}
|
|
@@ -42,6 +34,7 @@ const AmountModule = ({
|
|
|
42
34
|
isMobile={isMobile}
|
|
43
35
|
paymentPlanSchedule={paymentPlanSchedule}
|
|
44
36
|
isPaymentPlan={isPaymentPlan}
|
|
37
|
+
nextAutopayDate={nextAutopayDate}
|
|
45
38
|
/>
|
|
46
39
|
)}
|
|
47
40
|
</Stack>
|
|
@@ -4,6 +4,7 @@ import ButtonWithAction from "../../../atoms/button-with-action";
|
|
|
4
4
|
import Text from "../../../atoms/text";
|
|
5
5
|
import { AutopayOnIcon } from "../../../atoms/icons";
|
|
6
6
|
import { Box, Cluster } from "../../../atoms/layouts";
|
|
7
|
+
import { SEA_GREEN } from "../../../../constants/colors";
|
|
7
8
|
import { fallbackValues } from "./AutopayModalModule.theme";
|
|
8
9
|
import { themeComponent } from "../../../../util/themeUtils";
|
|
9
10
|
|
|
@@ -18,7 +19,8 @@ const AutopayModal = ({
|
|
|
18
19
|
buttonLinkType,
|
|
19
20
|
isMobile,
|
|
20
21
|
themeValues,
|
|
21
|
-
isPaymentPlan
|
|
22
|
+
isPaymentPlan,
|
|
23
|
+
nextAutopayDate
|
|
22
24
|
}) => {
|
|
23
25
|
const planType = isPaymentPlan ? "Payment Plan" : "Autopay";
|
|
24
26
|
const modalExtraProps = {
|
|
@@ -101,12 +103,12 @@ const AutopayModal = ({
|
|
|
101
103
|
}}
|
|
102
104
|
tabIndex="0"
|
|
103
105
|
dataQa={`${planType} On`}
|
|
104
|
-
color={
|
|
106
|
+
color={SEA_GREEN}
|
|
105
107
|
weight={themeValues.fontWeight}
|
|
106
108
|
hoverStyles={themeValues.modalLinkHoverFocus}
|
|
107
|
-
extraStyles={`padding: 0
|
|
109
|
+
extraStyles={`padding-left: 0.25rem;`}
|
|
108
110
|
>
|
|
109
|
-
{`${planType}
|
|
111
|
+
{`${planType} ${nextAutopayDate}`}
|
|
110
112
|
</Text>
|
|
111
113
|
</Cluster>
|
|
112
114
|
</Box>
|
|
@@ -17,7 +17,8 @@ const PaymentDetailsActions = ({
|
|
|
17
17
|
navigateToSettings,
|
|
18
18
|
autoPaySchedule,
|
|
19
19
|
paymentPlanSchedule,
|
|
20
|
-
isPaymentPlan
|
|
20
|
+
isPaymentPlan,
|
|
21
|
+
nextAutopayDate
|
|
21
22
|
}) => {
|
|
22
23
|
const planType = isPaymentPlan ? "Payment Plan" : "Autopay";
|
|
23
24
|
const [isLoading, setIsLoading] = useState(false);
|
|
@@ -69,6 +70,7 @@ const PaymentDetailsActions = ({
|
|
|
69
70
|
autoPaySchedule={autoPaySchedule}
|
|
70
71
|
paymentPlanSchedule={paymentPlanSchedule}
|
|
71
72
|
isPaymentPlan={isPaymentPlan}
|
|
73
|
+
nextAutopayDate={nextAutopayDate}
|
|
72
74
|
/>
|
|
73
75
|
</Cluster>
|
|
74
76
|
</Box>
|
|
@@ -122,6 +124,7 @@ const PaymentDetailsActions = ({
|
|
|
122
124
|
isMobile={isMobile}
|
|
123
125
|
paymentPlanSchedule={paymentPlanSchedule}
|
|
124
126
|
isPaymentPlan={isPaymentPlan}
|
|
127
|
+
nextAutopayDate={nextAutopayDate}
|
|
125
128
|
/>
|
|
126
129
|
)}
|
|
127
130
|
</Box>
|
|
@@ -77,6 +77,7 @@ const PaymentFormACH = ({
|
|
|
77
77
|
field={fields.routingNumber}
|
|
78
78
|
fieldActions={actions.fields.routingNumber}
|
|
79
79
|
showErrors={showErrors}
|
|
80
|
+
isNum
|
|
80
81
|
helperModal={() => (
|
|
81
82
|
<AccountAndRoutingModal
|
|
82
83
|
link="What is this?"
|
|
@@ -97,6 +98,7 @@ const PaymentFormACH = ({
|
|
|
97
98
|
fieldActions={actions.fields.confirmRoutingNumber}
|
|
98
99
|
showErrors={showErrors}
|
|
99
100
|
onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
|
|
101
|
+
isNum
|
|
100
102
|
/>
|
|
101
103
|
<FormInput
|
|
102
104
|
labelTextWhenNoError="Account number"
|
|
@@ -104,6 +106,7 @@ const PaymentFormACH = ({
|
|
|
104
106
|
field={fields.accountNumber}
|
|
105
107
|
fieldActions={actions.fields.accountNumber}
|
|
106
108
|
showErrors={showErrors}
|
|
109
|
+
isNum
|
|
107
110
|
helperModal={() => (
|
|
108
111
|
<AccountAndRoutingModal
|
|
109
112
|
link="What is this?"
|
|
@@ -124,6 +127,7 @@ const PaymentFormACH = ({
|
|
|
124
127
|
fieldActions={actions.fields.confirmAccountNumber}
|
|
125
128
|
showErrors={showErrors}
|
|
126
129
|
onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
|
|
130
|
+
isNum
|
|
127
131
|
/>
|
|
128
132
|
{allowBankAccountType && (
|
|
129
133
|
<FormSelect
|
|
@@ -94,6 +94,7 @@ const PaymentFormCard = ({
|
|
|
94
94
|
showErrors={showErrors}
|
|
95
95
|
formatter={creditCardFormat}
|
|
96
96
|
onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
|
|
97
|
+
isNum
|
|
97
98
|
/>
|
|
98
99
|
<FormInputRow breakpoint="20rem">
|
|
99
100
|
<FormInput
|
|
@@ -104,6 +105,7 @@ const PaymentFormCard = ({
|
|
|
104
105
|
showErrors={showErrors}
|
|
105
106
|
formatter={expirationDateFormat}
|
|
106
107
|
onKeyDown={e => e.key === "Enter" && handleSubmit(e)}
|
|
108
|
+
isNum
|
|
107
109
|
/>
|
|
108
110
|
<FormInput
|
|
109
111
|
labelTextWhenNoError="CVV"
|
|
@@ -111,6 +113,7 @@ const PaymentFormCard = ({
|
|
|
111
113
|
field={fields.cvv}
|
|
112
114
|
fieldActions={actions.fields.cvv}
|
|
113
115
|
showErrors={showErrors}
|
|
116
|
+
isNum
|
|
114
117
|
background={
|
|
115
118
|
checkCardBrand(fields.creditCardNumber.rawValue) == "AMEX"
|
|
116
119
|
? "/AmexCVVHint.svg"
|