@asantemedia-org/edwardsvacuum-design-system 1.6.9 → 1.6.10

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
@@ -736,6 +736,9 @@ var QrForm = function (props) {
736
736
  var _d = useState(false);
737
737
  _d[0];
738
738
  var setShowErrors = _d[1];
739
+ var _e = useState([]);
740
+ _e[0];
741
+ var setGlobalErrors = _e[1];
739
742
  var i18n = props;
740
743
  useEffect(function () {
741
744
  var initialValues = {};
@@ -809,19 +812,45 @@ var QrForm = function (props) {
809
812
  };
810
813
  var handleSubmit = function (ev) {
811
814
  return __awaiter(void 0, void 0, void 0, function () {
812
- return __generator(this, function (_a) {
813
- ev.preventDefault();
814
- setShowErrors(true); // Attempting to submit, so show errors
815
- if (validatePage(currentPage)) {
816
- if (props.onSubmit) {
817
- props.onSubmit(formValues);
818
- } else {
815
+ var result, _a, fieldErrors, globalErrors, err_1;
816
+ return __generator(this, function (_b) {
817
+ switch (_b.label) {
818
+ case 0:
819
+ ev.preventDefault();
820
+ setShowErrors(true);
821
+ setGlobalErrors([]);
822
+ setErrors({});
823
+ if (!validatePage(currentPage)) {
824
+ console.log("Form has local validation errors.");
825
+ return [2 /*return*/];
826
+ }
827
+ _b.label = 1;
828
+ case 1:
829
+ _b.trys.push([1, 5,, 6]);
830
+ if (!props.onSubmit) return [3 /*break*/, 3];
831
+ return [4 /*yield*/, Promise.all([props.onSubmit(formValues)])];
832
+ case 2:
833
+ result = _b.sent()[0];
834
+ if (result && result.errors) {
835
+ _a = result.errors, fieldErrors = _a.fieldErrors, globalErrors = _a.globalErrors;
836
+ if (fieldErrors) setErrors(fieldErrors);
837
+ if (globalErrors) setGlobalErrors(globalErrors);
838
+ return [2 /*return*/];
839
+ }
840
+ return [3 /*break*/, 4];
841
+ case 3:
819
842
  console.log("Form submitted with values:", formValues);
820
- }
821
- } else {
822
- console.log("Form has errors on the current page, cannot submit.");
843
+ _b.label = 4;
844
+ case 4:
845
+ return [3 /*break*/, 6];
846
+ case 5:
847
+ err_1 = _b.sent();
848
+ console.error("Submit failed:", err_1);
849
+ setGlobalErrors(["An unexpected error occurred while submitting."]);
850
+ return [3 /*break*/, 6];
851
+ case 6:
852
+ return [2 /*return*/];
823
853
  }
824
- return [2 /*return*/];
825
854
  });
826
855
  });
827
856
  };
@@ -874,15 +903,28 @@ var QrForm = function (props) {
874
903
  className: "qr-form-page ".concat(currentPage === 2 ? 'active' : ''),
875
904
  "data-page": "2"
876
905
  }, /*#__PURE__*/React.createElement(QrFormField, {
906
+ key: "family-name",
907
+ type: "text",
908
+ name: "family-name",
909
+ label: "Last-name",
910
+ value: formValues['family-name']
911
+ }), /*#__PURE__*/React.createElement(QrFormField, {
912
+ key: "firstname",
877
913
  type: "text",
878
- name: "first-name",
914
+ name: "firstname",
879
915
  label: "First Name",
880
- value: formValues['first-name'],
916
+ value: formValues['firstname']
917
+ }), /*#__PURE__*/React.createElement(QrFormField, {
918
+ key: "email",
919
+ type: "email",
920
+ name: "email",
921
+ label: "Email",
922
+ value: formValues['email'],
881
923
  onChange: function (e) {
882
- return handleChange('first-name', e.target.value);
924
+ return handleChange('email', e.target.value);
883
925
  },
884
- hasError: errors['first-name'],
885
- errorMessage: "first name is a required field",
926
+ hasError: errors['email'],
927
+ errorMessage: "Email is a required field",
886
928
  required: true
887
929
  }), /*#__PURE__*/React.createElement("button", {
888
930
  className: "qr-form-nav",