@thecb/components 6.1.2 → 6.1.4-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/README.md CHANGED
@@ -65,23 +65,30 @@ Please include new component stories as this library will also be a sandbox.
65
65
 
66
66
  ## Version bumping and publishing
67
67
 
68
- ### Version bumping
68
+ ### Version bumping and Publishing to NPM
69
69
 
70
- - The version of the package is automatically bumped via GitHub Action after a pull request is merged to the master branch.
70
+ - Authors of PRs are responsible for bumping the version of the package prior to merging an approved PR to master. Once your pending PR has been approved, before merging to master, run `yarn build && yarn publish` in the main directory to create and publish a new build to NPM. This step should happen immediately before you merge your PR to master, to minimize conflicts between built versions.
71
71
 
72
- - The auto version bump action analyzes commit messages in the PR to determine what value to increment the package by. Including the keyword `major` in a commit message will result in a major version bump (i.e., `2.3.0` -> `3.0.0`). Including the keyword `minor` will result in a minor version bump (i.e., `2.3.0` -> `2.4.0`). PRs that are merged with neither the `major` or `minor` keywords present in commit messages will result in a patch version bump (i.e., `2.3.0` -> `2.3.1`).
72
+ - CB Components follows semantic versioning practices, which divides version upgrades into three categories: "Patch" (e.g., `6.0.1` -> `6.0.2`), "Minor" (e.g., `6.0.2` -> `6.1.0`), and "Major" (e.g., `6.1.0` -> `7.0.0`)
73
73
 
74
74
  - Patch versions should consist of small, non-breaking changes to components, component stories, and development tooling or documentation; or bug fixes
75
75
 
76
+ - Fixing a non-breaking bug, such as the border color of an input; adding an example to a component's storybook story; adding a new HTML attribute to an existing
77
+ component are all examples of patch changes
78
+
76
79
  - Minor versions consist of moderate, non-breaking changes and additions: alterations to existing component structure or theme files; addition of new components, stories, or dependencies; significant changes to development tooling or introduction of tests
77
80
 
78
- - Major version relases should be reserved for breaking library changes: removal of in-use components; breaking changes to component layout or theme properties; addition or removal of crticial dependencies. These version increases should be rare.
81
+ - Adding to, removing, or significantly changing a component's base-theme or themeable properties; adding a new version of a component triggered by an optional
82
+ prop; adding a new dependency to the library; changing the Rollup build files or plugins; or adding new unit tests to one or more components are all examples of
83
+ minor verison changes
79
84
 
80
- ### Publishing new versions to NPM
85
+ - Major version relases should be reserved for breaking library changes: removal of in-use components; breaking changes to component layout or theme properties; addition or removal of crticial dependencies. These version increases should be rare.
81
86
 
82
- - While GitHub will handle bumping the version of the library with every PR merge to master, publishing an update version of the library to NPM requires creating a release using the `release` script. This script triggers an action in the repo to create a release tagged with a publication date. After a new release is created, manually run `yarn build && yarn publish` in your repo directory to publish a new version to NPM. When yarn asks you what version to publish, enter the same number that it gives you, as this number will already reflect the increase in version from the auto version bump action.
87
+ - Removing currently used components entirely, or removing versions of a component; significantly changing the structure, function, or API (props) of an existing
88
+ component; removing existing library dependencies; adding a new peer dependency or moving a current library dependency to be a peer dep (such that the library
89
+ breaks if a consuming application fails to provide the proper verison of that dependency) are all examples of major verison changes
83
90
 
84
- - Once a new version of the library is published to NPM, you may either manually update your application's `package.json` to request that new version, or wait until the following morning when dependabot will pick up the change and create an update PR for you.
91
+ - Because of the potential for disruption of applications running in PROD, any changes that will result in a Major version increase require notifying other frontend engineers at CB who own applications such as Navigate Frontend (NFE), Revenue Management Dashboard (RMD), or Point of Sale Frontend (POS-Frontend), or any future applications which consume CB Components in advance of the change being merged to master and a new version being released
85
92
 
86
93
  ## Consuming in your application
87
94
 
package/dist/index.cjs.js CHANGED
@@ -22550,7 +22550,7 @@ var fallbackValues$i = {
22550
22550
  };
22551
22551
 
22552
22552
  var _excluded$p = ["showErrors", "themeValues"],
22553
- _excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "extraStyles"];
22553
+ _excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocomplete", "extraStyles"];
22554
22554
  var InputField = styled__default.input.withConfig({
22555
22555
  displayName: "FormInput__InputField",
22556
22556
  componentId: "sc-l094r1-0"
@@ -22632,6 +22632,7 @@ var FormInput = function FormInput(_ref15) {
22632
22632
  themeValues = _ref15.themeValues,
22633
22633
  background = _ref15.background,
22634
22634
  customHeight = _ref15.customHeight,
22635
+ autocomplete = _ref15.autocomplete,
22635
22636
  extraStyles = _ref15.extraStyles,
22636
22637
  props = _objectWithoutProperties(_ref15, _excluded2);
22637
22638
 
@@ -22709,7 +22710,8 @@ var FormInput = function FormInput(_ref15) {
22709
22710
  "data-qa": labelTextWhenNoError,
22710
22711
  themeValues: themeValues,
22711
22712
  $customHeight: customHeight,
22712
- $extraStyles: extraStyles
22713
+ $extraStyles: extraStyles,
22714
+ autocomplete: autocomplete
22713
22715
  }, props)) : /*#__PURE__*/React__default.createElement(InputField, _extends({
22714
22716
  "aria-labelledby": createIdFromString(labelTextWhenNoError),
22715
22717
  "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
@@ -22727,7 +22729,8 @@ var FormInput = function FormInput(_ref15) {
22727
22729
  themeValues: themeValues,
22728
22730
  background: background,
22729
22731
  $customHeight: customHeight,
22730
- $extraStyles: extraStyles
22732
+ $extraStyles: extraStyles,
22733
+ autocomplete: autocomplete
22731
22734
  }, props))), /*#__PURE__*/React__default.createElement(Stack, {
22732
22735
  direction: "row",
22733
22736
  justify: "space-between"
@@ -34411,7 +34414,8 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
34411
34414
  field = _ref.field,
34412
34415
  fieldActions = _ref.fieldActions,
34413
34416
  showErrors = _ref.showErrors,
34414
- countryCode = _ref.countryCode;
34417
+ countryCode = _ref.countryCode,
34418
+ autocomplete = _ref.autocomplete;
34415
34419
  var placeholder = countryCode === "US" ? placeHolderOptionUS : placeHolderOption;
34416
34420
  var options = [placeholder].concat(_toConsumableArray(getOptions(countryCode)));
34417
34421
  return /*#__PURE__*/React__default.createElement(FormSelect$1, {
@@ -34421,7 +34425,7 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
34421
34425
  labelTextWhenNoError: labelTextWhenNoError,
34422
34426
  errorMessages: errorMessages,
34423
34427
  showErrors: showErrors,
34424
- autocompleteValue: "address-level1"
34428
+ autocompleteValue: autocomplete
34425
34429
  });
34426
34430
  };
34427
34431
 
@@ -34726,6 +34730,24 @@ const ONLY_NATURALS_ERROR = "error/ONLY_NATURALS";
34726
34730
  const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
34727
34731
  validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
34728
34732
 
34733
+ /*
34734
+ 07/22: experimental expiration date constraint
34735
+ should allow entry of expiration date using "/" character
34736
+ to accommodate browser autofill
34737
+
34738
+ not tested as validation function
34739
+ to validate exp date instead use combo of:
34740
+ required(), hasLength(), isValidMonth(), dateAfterToday()
34741
+ */
34742
+ const ONLY_EXPIRATION_DATE = "validator/ONLY_EXPIRATION_DATE";
34743
+ const ONLY_EXPIRATION_DATE_ERROR = "error/ONLY_EXPIRATION_DATE";
34744
+ const onlyExpirationDate = createValidator(
34745
+ ONLY_EXPIRATION_DATE,
34746
+ ONLY_EXPIRATION_DATE_ERROR
34747
+ );
34748
+ validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
34749
+ /^(\d?\d?\/?\d?\d?)?$/.test(value);
34750
+
34729
34751
  const NUMBER_LESS_THAN = "validator/NUMBER_LESS_THAN";
34730
34752
  const NUMBER_LESS_THAN_ERROR = "error/NUMBER_LESS_THAN";
34731
34753
  const numberLessThan = createValidator(
@@ -35118,6 +35140,13 @@ const runValidator = (validator, value, form) => {
35118
35140
  };
35119
35141
 
35120
35142
  const _computeErrors = (fieldName, form, validators) => {
35143
+ console.log("field name is", fieldName);
35144
+ console.log("form is", form);
35145
+ console.log("validators are", validators);
35146
+ const validatorsResult = validators.map(v =>
35147
+ runValidator(v, form[fieldName].rawValue, form)
35148
+ );
35149
+ console.log("validators result is", validatorsResult);
35121
35150
  return validators
35122
35151
  .map(v => runValidator(v, form[fieldName].rawValue, form))
35123
35152
  .filter(x => x !== null);
@@ -36477,7 +36506,8 @@ var AddressForm = function AddressForm(_ref) {
36477
36506
  showErrors: showErrors,
36478
36507
  onKeyDown: function onKeyDown(e) {
36479
36508
  return e.key === "Enter" && handleSubmit(e);
36480
- }
36509
+ },
36510
+ autocomplete: "address-line1"
36481
36511
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36482
36512
  labelTextWhenNoError: "Apt, Suite, Unit, Floor, etc. (Optional)",
36483
36513
  field: fields.street2,
@@ -36485,7 +36515,8 @@ var AddressForm = function AddressForm(_ref) {
36485
36515
  showErrors: showErrors,
36486
36516
  onKeyDown: function onKeyDown(e) {
36487
36517
  return e.key === "Enter" && handleSubmit(e);
36488
- }
36518
+ },
36519
+ autocomplete: "address-line2"
36489
36520
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36490
36521
  labelTextWhenNoError: "City",
36491
36522
  errorMessages: cityErrorMessages,
@@ -36494,7 +36525,8 @@ var AddressForm = function AddressForm(_ref) {
36494
36525
  showErrors: showErrors,
36495
36526
  onKeyDown: function onKeyDown(e) {
36496
36527
  return e.key === "Enter" && handleSubmit(e);
36497
- }
36528
+ },
36529
+ autocomplete: "address-level2"
36498
36530
  }), /*#__PURE__*/React__default.createElement(FormStateDropdown, {
36499
36531
  labelTextWhenNoError: isUS ? "State" : "State or Province",
36500
36532
  errorMessages: stateProvinceErrorMessages,
@@ -36504,7 +36536,8 @@ var AddressForm = function AddressForm(_ref) {
36504
36536
  showErrors: showErrors,
36505
36537
  onKeyDown: function onKeyDown(e) {
36506
36538
  return e.key === "Enter" && handleSubmit(e);
36507
- }
36539
+ },
36540
+ autocomplete: "address-level1"
36508
36541
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36509
36542
  isNum: isUS,
36510
36543
  formatter: isUS ? zipFormat : null,
@@ -36515,7 +36548,8 @@ var AddressForm = function AddressForm(_ref) {
36515
36548
  showErrors: showErrors,
36516
36549
  onKeyDown: function onKeyDown(e) {
36517
36550
  return e.key === "Enter" && handleSubmit(e);
36518
- }
36551
+ },
36552
+ autocomplete: "postal-code"
36519
36553
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
36520
36554
  name: "address checkbox",
36521
36555
  title: "Save address to wallet",
@@ -36619,7 +36653,8 @@ var ChangePasswordForm = function ChangePasswordForm(_ref) {
36619
36653
  onKeyDown: function onKeyDown(e) {
36620
36654
  return e.key === "Enter" && handleSubmit(e);
36621
36655
  },
36622
- type: "password"
36656
+ type: "password",
36657
+ autocomplete: "current-password"
36623
36658
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36624
36659
  labelTextWhenNoError: "New password",
36625
36660
  errorMessages: newPasswordErrorMessages,
@@ -36629,7 +36664,8 @@ var ChangePasswordForm = function ChangePasswordForm(_ref) {
36629
36664
  onKeyDown: function onKeyDown(e) {
36630
36665
  return e.key === "Enter" && handleSubmit(e);
36631
36666
  },
36632
- type: "password"
36667
+ type: "password",
36668
+ autocomplete: "new-password"
36633
36669
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36634
36670
  labelTextWhenNoError: "Confirm password",
36635
36671
  errorMessages: confirmNewPasswordErrorMessages,
@@ -36639,7 +36675,8 @@ var ChangePasswordForm = function ChangePasswordForm(_ref) {
36639
36675
  onKeyDown: function onKeyDown(e) {
36640
36676
  return e.key === "Enter" && handleSubmit(e);
36641
36677
  },
36642
- type: "password"
36678
+ type: "password",
36679
+ autocomplete: "new-password"
36643
36680
  })), /*#__PURE__*/React__default.createElement(Box, {
36644
36681
  padding: isMobile ? "1rem 0 0" : "1.5rem 0 0"
36645
36682
  }, /*#__PURE__*/React__default.createElement(Cluster, {
@@ -36853,7 +36890,8 @@ var EditNameForm = function EditNameForm(_ref) {
36853
36890
  showErrors: showErrors,
36854
36891
  onKeyDown: function onKeyDown(e) {
36855
36892
  return e.key === "Enter" && handleSubmit(e);
36856
- }
36893
+ },
36894
+ autocomplete: "given-name"
36857
36895
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
36858
36896
  labelTextWhenNoError: "Last Name",
36859
36897
  errorMessages: lastNameErrorMessages,
@@ -36862,7 +36900,8 @@ var EditNameForm = function EditNameForm(_ref) {
36862
36900
  showErrors: showErrors,
36863
36901
  onKeyDown: function onKeyDown(e) {
36864
36902
  return e.key === "Enter" && handleSubmit(e);
36865
- }
36903
+ },
36904
+ autocomplete: "family-name"
36866
36905
  })));
36867
36906
  };
36868
36907
 
@@ -36929,7 +36968,8 @@ var EditableList = function EditableList(_ref) {
36929
36968
  autoPayMethods = _ref.autoPayMethods,
36930
36969
  _ref$as = _ref.as,
36931
36970
  as = _ref$as === void 0 ? "p" : _ref$as,
36932
- qaPrefix = _ref.qaPrefix;
36971
+ qaPrefix = _ref.qaPrefix,
36972
+ ariaLabel = _ref.ariaLabel;
36933
36973
  var addText = "Add a".concat(itemName[0].match(/[aieouAIEOU]/) ? "n" : "", " ").concat(itemName);
36934
36974
  return /*#__PURE__*/React__default.createElement(Box, {
36935
36975
  padding: "0rem 0rem 1.5rem 0rem",
@@ -36989,7 +37029,7 @@ var EditableList = function EditableList(_ref) {
36989
37029
  return removeItem(item.id);
36990
37030
  },
36991
37031
  extraStyles: "min-width: 0;",
36992
- "aria-label": "Remove ".concat(itemName)
37032
+ "aria-label": "Remove ".concat(ariaLabel || itemName)
36993
37033
  })), canEdit && /*#__PURE__*/React__default.createElement(Box, {
36994
37034
  padding: "0 0.5rem",
36995
37035
  border: "2px solid transparent",
@@ -37003,7 +37043,7 @@ var EditableList = function EditableList(_ref) {
37003
37043
  return editItem(item.id);
37004
37044
  },
37005
37045
  extraStyles: "min-width: 0;",
37006
- "aria-label": "Edit ".concat(itemName)
37046
+ "aria-label": "Edit ".concat(ariaLabel || itemName)
37007
37047
  }))));
37008
37048
  })), canAdd && (!maxItems || items.length < maxItems) && /*#__PURE__*/React__default.createElement(Box, {
37009
37049
  padding: items.length === 0 ? "0" : "1rem 0 0"
@@ -37196,7 +37236,8 @@ var EmailForm = function EmailForm(_ref) {
37196
37236
  onKeyDown: function onKeyDown(e) {
37197
37237
  return e.key === "Enter" && handleSubmit(e);
37198
37238
  },
37199
- isEmail: true
37239
+ isEmail: true,
37240
+ autocomplete: "email"
37200
37241
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
37201
37242
  name: "email checkbox",
37202
37243
  title: "Save email address to wallet",
@@ -37248,7 +37289,8 @@ var ForgotPasswordForm = function ForgotPasswordForm(_ref) {
37248
37289
  onKeyDown: function onKeyDown(e) {
37249
37290
  return e.key === "Enter" && handleSubmit(e);
37250
37291
  },
37251
- isEmail: true
37292
+ isEmail: true,
37293
+ autocomplete: "email"
37252
37294
  });
37253
37295
  };
37254
37296
 
@@ -38910,7 +38952,8 @@ var InternalUserInfoForm = function InternalUserInfoForm(_ref) {
38910
38952
  onKeyDown: function onKeyDown(e) {
38911
38953
  return e.key === "Enter" && handleSubmit(e);
38912
38954
  },
38913
- disabled: namesDisabled
38955
+ disabled: namesDisabled,
38956
+ autocomplete: "given-name"
38914
38957
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
38915
38958
  labelTextWhenNoError: "Last Name",
38916
38959
  errorMessages: lastNameErrorMessages,
@@ -38920,7 +38963,8 @@ var InternalUserInfoForm = function InternalUserInfoForm(_ref) {
38920
38963
  onKeyDown: function onKeyDown(e) {
38921
38964
  return e.key === "Enter" && handleSubmit(e);
38922
38965
  },
38923
- disabled: namesDisabled
38966
+ disabled: namesDisabled,
38967
+ autocomplete: "family-name"
38924
38968
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
38925
38969
  labelTextWhenNoError: "Email",
38926
38970
  errorMessages: emailErrorMessages,
@@ -38930,7 +38974,8 @@ var InternalUserInfoForm = function InternalUserInfoForm(_ref) {
38930
38974
  onKeyDown: function onKeyDown(e) {
38931
38975
  return e.key === "Enter" && handleSubmit(e);
38932
38976
  },
38933
- disabled: emailDisabled
38977
+ disabled: emailDisabled,
38978
+ autocomplete: "email"
38934
38979
  }), formType === PROFILE && /*#__PURE__*/React__default.createElement(FormInput$1, {
38935
38980
  labelTextWhenNoError: "Password",
38936
38981
  errorMessages: {},
@@ -39074,7 +39119,8 @@ var LoginForm = function LoginForm(_ref) {
39074
39119
  onKeyDown: function onKeyDown(e) {
39075
39120
  return e.key === "Enter" && handleSubmit(e);
39076
39121
  },
39077
- isEmail: true
39122
+ isEmail: true,
39123
+ autocomplete: "email"
39078
39124
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
39079
39125
  labelTextWhenNoError: "Password",
39080
39126
  errorMessages: passwordErrorMessages,
@@ -39084,7 +39130,8 @@ var LoginForm = function LoginForm(_ref) {
39084
39130
  showErrors: showErrors,
39085
39131
  onKeyDown: function onKeyDown(e) {
39086
39132
  return e.key === "Enter" && handleSubmit(e);
39087
- }
39133
+ },
39134
+ autocomplete: "current-password"
39088
39135
  }));
39089
39136
  };
39090
39137
 
@@ -41999,7 +42046,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
41999
42046
  showErrors: showErrors,
42000
42047
  onKeyDown: function onKeyDown(e) {
42001
42048
  return e.key === "Enter" && handleSubmit(e);
42002
- }
42049
+ },
42050
+ autocomplete: "name"
42003
42051
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42004
42052
  labelTextWhenNoError: "Routing number",
42005
42053
  errorMessages: routingNumberErrors,
@@ -42196,7 +42244,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
42196
42244
  showErrors: showErrors,
42197
42245
  onKeyDown: function onKeyDown(e) {
42198
42246
  return e.key === "Enter" && handleSubmit(e);
42199
- }
42247
+ },
42248
+ autocomplete: "cc-name"
42200
42249
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42201
42250
  labelTextWhenNoError: "Credit card number",
42202
42251
  errorMessages: creditCardNumberErrors,
@@ -42207,7 +42256,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
42207
42256
  onKeyDown: function onKeyDown(e) {
42208
42257
  return e.key === "Enter" && handleSubmit(e);
42209
42258
  },
42210
- isNum: true
42259
+ isNum: true,
42260
+ autocomplete: "cc-number"
42211
42261
  }), /*#__PURE__*/React__default.createElement(FormInputRow, {
42212
42262
  breakpoint: isMobile ? "1000rem" : "21rem",
42213
42263
  childGap: isMobile ? "0rem" : "1rem"
@@ -42221,7 +42271,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
42221
42271
  onKeyDown: function onKeyDown(e) {
42222
42272
  return e.key === "Enter" && handleSubmit(e);
42223
42273
  },
42224
- isNum: true
42274
+ isNum: true,
42275
+ autocomplete: "cc-exp"
42225
42276
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42226
42277
  labelTextWhenNoError: "CVV",
42227
42278
  errorMessages: cvvErrors,
@@ -42232,7 +42283,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
42232
42283
  background: checkCardBrand(fields.creditCardNumber.rawValue) == "AMEX" ? "/AmexCVVHint.svg" : "/CVVHint.svg",
42233
42284
  onKeyDown: function onKeyDown(e) {
42234
42285
  return e.key === "Enter" && handleSubmit(e);
42235
- }
42286
+ },
42287
+ autocomplete: "cc-csc"
42236
42288
  })), !hideZipCode && /*#__PURE__*/React__default.createElement(Box, {
42237
42289
  padding: isMobile ? "0" : "0 0.5rem 0 0",
42238
42290
  width: isMobile ? "100%" : "50%"
@@ -42246,7 +42298,8 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
42246
42298
  showErrors: showErrors,
42247
42299
  onKeyDown: function onKeyDown(e) {
42248
42300
  return e.key === "Enter" && handleSubmit(e);
42249
- }
42301
+ },
42302
+ autocomplete: "billing postal-code"
42250
42303
  })), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
42251
42304
  name: "credit card checkbox",
42252
42305
  title: "Save credit card to wallet",
@@ -42271,7 +42324,7 @@ var formConfig$8 = {
42271
42324
  },
42272
42325
  expirationDate: {
42273
42326
  validators: [required(), hasLength(4, 4), isValidMonth(0), dateAfterToday("MMYY", "month", true)],
42274
- constraints: [onlyIntegers(), hasLength(0, 4)]
42327
+ constraints: [onlyExpirationDate(), hasLength(0, 4)]
42275
42328
  },
42276
42329
  cvv: {
42277
42330
  validators: [required(), hasLength(3, 4)],
@@ -42330,7 +42383,8 @@ var PhoneForm = function PhoneForm(_ref) {
42330
42383
  onKeyUp: function onKeyUp(e) {
42331
42384
  return e.key === "Enter" && handleSubmit(e);
42332
42385
  },
42333
- isNum: true
42386
+ isNum: true,
42387
+ autocomplete: "tel"
42334
42388
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
42335
42389
  name: "phone checkbox",
42336
42390
  title: "Save phone number to wallet",
@@ -42620,7 +42674,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
42620
42674
  showErrors: showErrors,
42621
42675
  onKeyDown: function onKeyDown(e) {
42622
42676
  return e.key === "Enter" && handleSubmit(e);
42623
- }
42677
+ },
42678
+ autocomplete: "given-name"
42624
42679
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42625
42680
  labelTextWhenNoError: "Last name",
42626
42681
  errorMessages: lastNameErrorMessages,
@@ -42629,7 +42684,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
42629
42684
  showErrors: showErrors,
42630
42685
  onKeyDown: function onKeyDown(e) {
42631
42686
  return e.key === "Enter" && handleSubmit(e);
42632
- }
42687
+ },
42688
+ autocomplete: "family-name"
42633
42689
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42634
42690
  labelTextWhenNoError: "Email address",
42635
42691
  errorMessages: emailErrorMessages,
@@ -42640,7 +42696,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
42640
42696
  return e.key === "Enter" && handleSubmit(e);
42641
42697
  },
42642
42698
  type: "email",
42643
- isEmail: true
42699
+ isEmail: true,
42700
+ autocomplete: "email"
42644
42701
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42645
42702
  labelTextWhenNoError: "Password",
42646
42703
  errorMessages: passwordErrorMessages,
@@ -42650,7 +42707,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
42650
42707
  onKeyDown: function onKeyDown(e) {
42651
42708
  return e.key === "Enter" && handleSubmit(e);
42652
42709
  },
42653
- type: "password"
42710
+ type: "password",
42711
+ autocomplete: "new-password"
42654
42712
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42655
42713
  labelTextWhenNoError: "Confirm password",
42656
42714
  errorMessages: confirmPasswordErrorMessages,
@@ -42660,7 +42718,8 @@ var RegistrationForm = function RegistrationForm(_ref) {
42660
42718
  onKeyDown: function onKeyDown(e) {
42661
42719
  return e.key === "Enter" && handleSubmit(e);
42662
42720
  },
42663
- type: "password"
42721
+ type: "password",
42722
+ autocomplete: "new-password"
42664
42723
  }), /*#__PURE__*/React__default.createElement(Box, {
42665
42724
  padding: isMobile ? "0" : "0.5rem 0 0"
42666
42725
  }, /*#__PURE__*/React__default.createElement(PasswordRequirements, {
@@ -42780,7 +42839,8 @@ var ResetPasswordForm = function ResetPasswordForm(_ref) {
42780
42839
  onKeyDown: function onKeyDown(e) {
42781
42840
  return e.key === "Enter" && handleSubmit(e);
42782
42841
  },
42783
- type: "password"
42842
+ type: "password",
42843
+ autocomplete: "new-password"
42784
42844
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
42785
42845
  labelTextWhenNoError: "Confirm password",
42786
42846
  errorMessages: confirmPasswordErrorMessages,
@@ -42790,7 +42850,8 @@ var ResetPasswordForm = function ResetPasswordForm(_ref) {
42790
42850
  onKeyDown: function onKeyDown(e) {
42791
42851
  return e.key === "Enter" && handleSubmit(e);
42792
42852
  },
42793
- type: "password"
42853
+ type: "password",
42854
+ autocomplete: "new-password"
42794
42855
  }), /*#__PURE__*/React__default.createElement(Box, {
42795
42856
  padding: "0"
42796
42857
  }, /*#__PURE__*/React__default.createElement(PasswordRequirements, {