@thecb/components 10.7.3 → 10.7.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.
package/dist/index.cjs.js CHANGED
@@ -27041,20 +27041,35 @@ var FormInput = function FormInput(_ref15) {
27041
27041
  _useState2 = _slicedToArray(_useState, 2),
27042
27042
  showPassword = _useState2[0],
27043
27043
  setShowPassword = _useState2[1];
27044
+ var _useState3 = React.useState((field === null || field === void 0 ? void 0 : field.rawValue) || ""),
27045
+ _useState4 = _slicedToArray(_useState3, 2),
27046
+ initialValue = _useState4[0],
27047
+ setInitialValue = _useState4[1];
27044
27048
  var _useContext = React.useContext(styled.ThemeContext),
27045
27049
  isMobile = _useContext.isMobile;
27046
- var setValue = function setValue(value) {
27047
- if (removeFromValue !== undefined) {
27048
- return fieldActions.set(value.replace(removeFromValue, ""));
27050
+ var setValue = function setValue(currentValue) {
27051
+ if (currentValue !== initialValue) {
27052
+ setInitialValue(currentValue);
27049
27053
  }
27050
- return fieldActions.set(value);
27051
27054
  };
27052
- var handleOnBlur = function handleOnBlur(value) {
27053
- // Sets the empty value to trigger a validation error if it's required.
27054
- if (isRequired && value === "") {
27055
- setValue("");
27055
+ var handleBlur = function handleBlur(currentValue) {
27056
+ if (currentValue === "" || currentValue !== initialValue) {
27057
+ if (currentValue && removeFromValue !== undefined) {
27058
+ fieldActions.set(currentValue.replace(removeFromValue, ""));
27059
+ } else {
27060
+ fieldActions.set(currentValue);
27061
+ }
27056
27062
  }
27057
27063
  };
27064
+ React.useEffect(function () {
27065
+ if (initialValue) {
27066
+ if (removeFromValue !== undefined) {
27067
+ fieldActions.set(initialValue.replace(removeFromValue, ""));
27068
+ } else {
27069
+ fieldActions.set(initialValue);
27070
+ }
27071
+ }
27072
+ }, [initialValue]);
27058
27073
  return /*#__PURE__*/React__default.createElement(Stack, {
27059
27074
  childGap: "0.25rem"
27060
27075
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -27105,11 +27120,15 @@ var FormInput = function FormInput(_ref15) {
27105
27120
  "aria-labelledby": createIdFromString(labelTextWhenNoError),
27106
27121
  "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
27107
27122
  "aria-invalid": field.dirty && field.hasErrors || field.hasErrors && showErrors,
27123
+ onFocus: function onFocus(e) {
27124
+ var _e$target;
27125
+ return setValue((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value);
27126
+ },
27108
27127
  onChange: function onChange(value) {
27109
27128
  return setValue(value);
27110
27129
  },
27111
27130
  onBlur: function onBlur(e) {
27112
- return handleOnBlur(e.target.value);
27131
+ return handleBlur(e.target.value);
27113
27132
  },
27114
27133
  type: type,
27115
27134
  value: field.rawValue,
@@ -27132,7 +27151,7 @@ var FormInput = function FormInput(_ref15) {
27132
27151
  return setValue(e.target.value);
27133
27152
  },
27134
27153
  onBlur: function onBlur(e) {
27135
- return handleOnBlur(e.target.value);
27154
+ return handleBlur(e.target.value);
27136
27155
  },
27137
27156
  type: type === "password" && showPassword ? "text" : type,
27138
27157
  value: field.rawValue,
@@ -48589,6 +48608,7 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
48589
48608
  },
48590
48609
  isNum: true,
48591
48610
  autocompleteValue: "cc-number",
48611
+ name: "cc-number",
48592
48612
  isRequired: true
48593
48613
  }), /*#__PURE__*/React__default.createElement(FormInputRow, {
48594
48614
  breakpoint: isMobile ? "1000rem" : "21rem",