@pelcro/react-pelcro-js 4.0.0-alpha.67 → 4.0.0-alpha.69

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
@@ -3662,6 +3662,7 @@ var labels$Z = {
3662
3662
  save: "Upload Photo",
3663
3663
  selectImage: "Upload new photo",
3664
3664
  removeImage: "Remove current photo",
3665
+ dateOfBirth: "Date of birth",
3665
3666
  zoom: "Zoom"
3666
3667
  };
3667
3668
  var messages$10 = {
@@ -12808,6 +12809,7 @@ const SET_FIRST_NAME_ERROR = "SET_FIRST_NAME_ERROR";
12808
12809
  const SET_LAST_NAME_ERROR = "SET_LAST_NAME_ERROR";
12809
12810
  const SET_PHONE_ERROR = "SET_PHONE_ERROR";
12810
12811
  const SET_TEXT_FIELD = "SET_TEXT_FIELD";
12812
+ const SET_DATE_OF_BIRTH = "SET_DATE_OF_BIRTH";
12811
12813
  const SET_MONTH = "SET_MONTH";
12812
12814
  const SET_YEAR = "SET_YEAR";
12813
12815
  const SET_TOKEN = "SET_TOKEN";
@@ -24380,8 +24382,6 @@ const PaymentMethodContainerWithoutStripe = ({
24380
24382
  };
24381
24383
 
24382
24384
  const handlePaymentError = error => {
24383
- var _getErrorMessages;
24384
-
24385
24385
  toggleAuthenticationSuccessPendingView(false);
24386
24386
 
24387
24387
  if (error.type === "validation_error" && // Subscription creation & renewal
@@ -24397,14 +24397,26 @@ const PaymentMethodContainerWithoutStripe = ({
24397
24397
  }
24398
24398
  }
24399
24399
 
24400
- onFailure(error);
24401
- dispatch({
24402
- type: SHOW_ALERT,
24403
- payload: {
24404
- type: "error",
24405
- content: (_getErrorMessages = getErrorMessages(error)) !== null && _getErrorMessages !== void 0 ? _getErrorMessages : error === null || error === void 0 ? void 0 : error.message
24406
- }
24407
- });
24400
+ if (error.type == "invalid_request_error" && error.param == "billing_details[address]" && error.code == "parameter_missing") {
24401
+ dispatch({
24402
+ type: SHOW_ALERT,
24403
+ payload: {
24404
+ type: "error",
24405
+ content: "Billing address is required to complete your purchase. Please provide your billing address."
24406
+ }
24407
+ });
24408
+ } else {
24409
+ var _getErrorMessages;
24410
+
24411
+ dispatch({
24412
+ type: SHOW_ALERT,
24413
+ payload: {
24414
+ type: "error",
24415
+ content: (_getErrorMessages = getErrorMessages(error)) !== null && _getErrorMessages !== void 0 ? _getErrorMessages : error === null || error === void 0 ? void 0 : error.message
24416
+ }
24417
+ });
24418
+ }
24419
+
24408
24420
  dispatch({
24409
24421
  type: DISABLE_SUBMIT,
24410
24422
  payload: false
@@ -24413,6 +24425,7 @@ const PaymentMethodContainerWithoutStripe = ({
24413
24425
  type: LOADING,
24414
24426
  payload: false
24415
24427
  });
24428
+ onFailure(error);
24416
24429
  }; // TODO: Refactor deprecated stripe implementation
24417
24430
 
24418
24431
  /* Start Stripe deprecated functions */
@@ -27410,8 +27423,8 @@ function DatePicker({
27410
27423
  }, error));
27411
27424
  }
27412
27425
 
27413
- const nowDate$1 = new Date();
27414
- const dayFromNowDateISO = new Date(new Date().setDate(nowDate$1.getDate() + 1)).toISOString().substr(0, 10);
27426
+ const nowDate$2 = new Date();
27427
+ const dayFromNowDateISO = new Date(new Date().setDate(nowDate$2.getDate() + 1)).toISOString().substr(0, 10);
27415
27428
  const SubscriptionSuspendDate = props => {
27416
27429
  var _props$subscription, _state$suspendDate;
27417
27430
 
@@ -28894,7 +28907,7 @@ function SubscriptionManageMembersModal({
28894
28907
  }
28895
28908
  SubscriptionManageMembersModal.viewId = "manage-members";
28896
28909
 
28897
- var _window$Pelcro$user$r$1, _window$Pelcro$user$r2$1, _window$Pelcro$user$r3, _window$Pelcro$user$r4, _window$Pelcro$user$r5, _window$Pelcro$user$r6;
28910
+ var _window$Pelcro$user$r$1, _window$Pelcro$user$r2$1, _window$Pelcro$user$r3, _window$Pelcro$user$r4, _window$Pelcro$user$r5, _window$Pelcro$user$r6, _window$Pelcro$user$r7, _window$Pelcro$user$r8;
28898
28911
  const initialState$h = {
28899
28912
  email: (_window$Pelcro$user$r$1 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r$1 === void 0 ? void 0 : _window$Pelcro$user$r$1.email,
28900
28913
  emailError: null,
@@ -28905,6 +28918,7 @@ const initialState$h = {
28905
28918
  usernameError: null,
28906
28919
  displayName: (_window$Pelcro$user$r5 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r5 === void 0 ? void 0 : _window$Pelcro$user$r5.display_name,
28907
28920
  phone: (_window$Pelcro$user$r6 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r6 === void 0 ? void 0 : _window$Pelcro$user$r6.phone,
28921
+ dateOfBirth: (_window$Pelcro$user$r7 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r7 === void 0 ? void 0 : (_window$Pelcro$user$r8 = _window$Pelcro$user$r7.metadata) === null || _window$Pelcro$user$r8 === void 0 ? void 0 : _window$Pelcro$user$r8.customer_dob,
28908
28922
  buttonDisabled: false,
28909
28923
  textFields: {},
28910
28924
  alert: {
@@ -28935,26 +28949,29 @@ const UserUpdateContainer = ({
28935
28949
  }, []);
28936
28950
 
28937
28951
  const loadUserDataIntoFields = () => {
28938
- var _window$Pelcro$user$r7, _window$Pelcro$user$r8, _window$Pelcro$user$r9, _window$Pelcro$user$r10, _window$Pelcro$user$r11, _window$Pelcro$user$r12;
28952
+ var _window$Pelcro$user$r9, _window$Pelcro$user$r10, _window$Pelcro$user$r11, _window$Pelcro$user$r12, _window$Pelcro$user$r13, _window$Pelcro$user$r14, _window$Pelcro$user$r15, _window$Pelcro$user$r16;
28939
28953
 
28940
28954
  const fields = [{
28941
28955
  type: SET_EMAIL,
28942
- payload: (_window$Pelcro$user$r7 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r7 === void 0 ? void 0 : _window$Pelcro$user$r7.email
28956
+ payload: (_window$Pelcro$user$r9 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r9 === void 0 ? void 0 : _window$Pelcro$user$r9.email
28943
28957
  }, {
28944
28958
  type: SET_FIRST_NAME,
28945
- payload: (_window$Pelcro$user$r8 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r8 === void 0 ? void 0 : _window$Pelcro$user$r8.first_name
28959
+ payload: (_window$Pelcro$user$r10 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r10 === void 0 ? void 0 : _window$Pelcro$user$r10.first_name
28946
28960
  }, {
28947
28961
  type: SET_LAST_NAME,
28948
- payload: (_window$Pelcro$user$r9 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r9 === void 0 ? void 0 : _window$Pelcro$user$r9.last_name
28962
+ payload: (_window$Pelcro$user$r11 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r11 === void 0 ? void 0 : _window$Pelcro$user$r11.last_name
28949
28963
  }, {
28950
28964
  type: SET_USERNAME,
28951
- payload: (_window$Pelcro$user$r10 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r10 === void 0 ? void 0 : _window$Pelcro$user$r10.username
28965
+ payload: (_window$Pelcro$user$r12 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r12 === void 0 ? void 0 : _window$Pelcro$user$r12.username
28952
28966
  }, {
28953
28967
  type: SET_DISPLAY_NAME,
28954
- payload: (_window$Pelcro$user$r11 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r11 === void 0 ? void 0 : _window$Pelcro$user$r11.display_name
28968
+ payload: (_window$Pelcro$user$r13 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r13 === void 0 ? void 0 : _window$Pelcro$user$r13.display_name
28955
28969
  }, {
28956
28970
  type: SET_PHONE,
28957
- payload: (_window$Pelcro$user$r12 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r12 === void 0 ? void 0 : _window$Pelcro$user$r12.phone
28971
+ payload: (_window$Pelcro$user$r14 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r14 === void 0 ? void 0 : _window$Pelcro$user$r14.phone
28972
+ }, {
28973
+ type: SET_DATE_OF_BIRTH,
28974
+ payload: (_window$Pelcro$user$r15 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r15 === void 0 ? void 0 : (_window$Pelcro$user$r16 = _window$Pelcro$user$r15.metadata) === null || _window$Pelcro$user$r16 === void 0 ? void 0 : _window$Pelcro$user$r16.customer_dob
28958
28975
  }];
28959
28976
  fields.filter(field => Boolean(field.payload)).forEach(field => {
28960
28977
  dispatch(field);
@@ -28969,7 +28986,8 @@ const UserUpdateContainer = ({
28969
28986
  phone,
28970
28987
  tin,
28971
28988
  textFields,
28972
- displayName
28989
+ displayName,
28990
+ dateOfBirth
28973
28991
  }, dispatch) => {
28974
28992
  window.Pelcro.user.update({
28975
28993
  auth_token: window.Pelcro.user.read().auth_token,
@@ -28983,6 +29001,7 @@ const UserUpdateContainer = ({
28983
29001
  phone: phone,
28984
29002
  metadata: {
28985
29003
  updated: "updated",
29004
+ customer_dob: dateOfBirth,
28986
29005
  ...textFields
28987
29006
  }
28988
29007
  }, (err, res) => {
@@ -29064,6 +29083,11 @@ const UserUpdateContainer = ({
29064
29083
  phone: action.payload
29065
29084
  });
29066
29085
 
29086
+ case SET_DATE_OF_BIRTH:
29087
+ return lib_7({ ...state,
29088
+ dateOfBirth: action.payload
29089
+ });
29090
+
29067
29091
  case SHOW_ALERT:
29068
29092
  return lib_7({ ...state,
29069
29093
  alert: action.payload
@@ -29401,14 +29425,47 @@ const UserUpdateDisplayName = props => /*#__PURE__*/React__default['default'].cr
29401
29425
  store: store$h
29402
29426
  }, props));
29403
29427
 
29428
+ const nowDate$1 = new Date();
29429
+ const nowDateISO$1 = nowDate$1.toISOString().substr(0, 10);
29430
+ const hundredYearsFromNowDateISO = new Date(new Date().setFullYear(nowDate$1.getFullYear() - 100)).toISOString().substr(0, 10);
29431
+ const UserUpdateDateOfBirth = props => {
29432
+ var _state$dateOfBirth;
29433
+
29434
+ // const { t } = useTranslation("userEdit");
29435
+ const {
29436
+ dispatch,
29437
+ state
29438
+ } = React.useContext(store$h);
29439
+
29440
+ const handleInputChange = value => {
29441
+ dispatch({
29442
+ type: SET_DATE_OF_BIRTH,
29443
+ payload: value
29444
+ });
29445
+ };
29446
+
29447
+ if (state.loading) {
29448
+ return /*#__PURE__*/React__default['default'].createElement(Loader, null);
29449
+ }
29450
+
29451
+ return /*#__PURE__*/React__default['default'].createElement(DatePicker, Object.assign({
29452
+ min: hundredYearsFromNowDateISO,
29453
+ max: nowDateISO$1,
29454
+ value: (_state$dateOfBirth = state.dateOfBirth) !== null && _state$dateOfBirth !== void 0 ? _state$dateOfBirth : nowDateISO$1,
29455
+ onChange: e => handleInputChange(e.target.value) // tooltipText={t("labels.dateOfBirth")}
29456
+
29457
+ }, props));
29458
+ };
29459
+
29404
29460
  const UserUpdateView = props => {
29405
- var _window$Pelcro$site$r, _window$Pelcro, _window$Pelcro$uiSett;
29461
+ var _window$Pelcro$site$r, _window$Pelcro, _window$Pelcro$uiSett, _window$Pelcro2, _window$Pelcro2$uiSet;
29406
29462
 
29407
29463
  const {
29408
29464
  t
29409
29465
  } = useTranslation("userEdit");
29410
29466
  const supportsTap = Boolean((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.tap_gateway_settings);
29411
29467
  const showUsernameInput = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.enableLoginWithUsername;
29468
+ const showDateOfBirth = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$uiSet = _window$Pelcro2.uiSettings) === null || _window$Pelcro2$uiSet === void 0 ? void 0 : _window$Pelcro2$uiSet.enableDateOfBirth;
29412
29469
  return /*#__PURE__*/React__default['default'].createElement("div", {
29413
29470
  id: "pelcro-user-update-view"
29414
29471
  }, /*#__PURE__*/React__default['default'].createElement("form", {
@@ -29449,6 +29506,13 @@ const UserUpdateView = props => {
29449
29506
  errorId: "pelcro-input-phone-error",
29450
29507
  label: t("labels.phone"),
29451
29508
  required: supportsTap ? true : false
29509
+ })), showDateOfBirth && /*#__PURE__*/React__default['default'].createElement("div", {
29510
+ className: "plc-flex plc-items-start"
29511
+ }, /*#__PURE__*/React__default['default'].createElement(UserUpdateDateOfBirth, {
29512
+ id: "pelcro-input-date-of-birth",
29513
+ autoComplete: "date-of-birth",
29514
+ errorId: "pelcro-input-date-of-birth-error",
29515
+ label: t("labels.dateOfBirth")
29452
29516
  })), /*#__PURE__*/React__default['default'].createElement(UserUpdateButton, {
29453
29517
  role: "submit",
29454
29518
  className: "plc-w-full plc-mt-2",
@@ -38766,11 +38830,7 @@ const ProfilePicChangeMenu = props => {
38766
38830
  back: {
38767
38831
  target: "profile"
38768
38832
  }
38769
- }, /*#__PURE__*/React__default['default'].createElement(ProfilePicChangeView, {
38770
- onChangeSuccess: () => {
38771
- console.log("Success");
38772
- }
38773
- }));
38833
+ }, /*#__PURE__*/React__default['default'].createElement(ProfilePicChangeView, null));
38774
38834
  };
38775
38835
  ProfilePicChangeMenu.viewId = "profile-picture";
38776
38836
 
package/dist/index.esm.js CHANGED
@@ -3632,6 +3632,7 @@ var labels$Z = {
3632
3632
  save: "Upload Photo",
3633
3633
  selectImage: "Upload new photo",
3634
3634
  removeImage: "Remove current photo",
3635
+ dateOfBirth: "Date of birth",
3635
3636
  zoom: "Zoom"
3636
3637
  };
3637
3638
  var messages$10 = {
@@ -12778,6 +12779,7 @@ const SET_FIRST_NAME_ERROR = "SET_FIRST_NAME_ERROR";
12778
12779
  const SET_LAST_NAME_ERROR = "SET_LAST_NAME_ERROR";
12779
12780
  const SET_PHONE_ERROR = "SET_PHONE_ERROR";
12780
12781
  const SET_TEXT_FIELD = "SET_TEXT_FIELD";
12782
+ const SET_DATE_OF_BIRTH = "SET_DATE_OF_BIRTH";
12781
12783
  const SET_MONTH = "SET_MONTH";
12782
12784
  const SET_YEAR = "SET_YEAR";
12783
12785
  const SET_TOKEN = "SET_TOKEN";
@@ -24350,8 +24352,6 @@ const PaymentMethodContainerWithoutStripe = ({
24350
24352
  };
24351
24353
 
24352
24354
  const handlePaymentError = error => {
24353
- var _getErrorMessages;
24354
-
24355
24355
  toggleAuthenticationSuccessPendingView(false);
24356
24356
 
24357
24357
  if (error.type === "validation_error" && // Subscription creation & renewal
@@ -24367,14 +24367,26 @@ const PaymentMethodContainerWithoutStripe = ({
24367
24367
  }
24368
24368
  }
24369
24369
 
24370
- onFailure(error);
24371
- dispatch({
24372
- type: SHOW_ALERT,
24373
- payload: {
24374
- type: "error",
24375
- content: (_getErrorMessages = getErrorMessages(error)) !== null && _getErrorMessages !== void 0 ? _getErrorMessages : error === null || error === void 0 ? void 0 : error.message
24376
- }
24377
- });
24370
+ if (error.type == "invalid_request_error" && error.param == "billing_details[address]" && error.code == "parameter_missing") {
24371
+ dispatch({
24372
+ type: SHOW_ALERT,
24373
+ payload: {
24374
+ type: "error",
24375
+ content: "Billing address is required to complete your purchase. Please provide your billing address."
24376
+ }
24377
+ });
24378
+ } else {
24379
+ var _getErrorMessages;
24380
+
24381
+ dispatch({
24382
+ type: SHOW_ALERT,
24383
+ payload: {
24384
+ type: "error",
24385
+ content: (_getErrorMessages = getErrorMessages(error)) !== null && _getErrorMessages !== void 0 ? _getErrorMessages : error === null || error === void 0 ? void 0 : error.message
24386
+ }
24387
+ });
24388
+ }
24389
+
24378
24390
  dispatch({
24379
24391
  type: DISABLE_SUBMIT,
24380
24392
  payload: false
@@ -24383,6 +24395,7 @@ const PaymentMethodContainerWithoutStripe = ({
24383
24395
  type: LOADING,
24384
24396
  payload: false
24385
24397
  });
24398
+ onFailure(error);
24386
24399
  }; // TODO: Refactor deprecated stripe implementation
24387
24400
 
24388
24401
  /* Start Stripe deprecated functions */
@@ -27380,8 +27393,8 @@ function DatePicker({
27380
27393
  }, error));
27381
27394
  }
27382
27395
 
27383
- const nowDate$1 = new Date();
27384
- const dayFromNowDateISO = new Date(new Date().setDate(nowDate$1.getDate() + 1)).toISOString().substr(0, 10);
27396
+ const nowDate$2 = new Date();
27397
+ const dayFromNowDateISO = new Date(new Date().setDate(nowDate$2.getDate() + 1)).toISOString().substr(0, 10);
27385
27398
  const SubscriptionSuspendDate = props => {
27386
27399
  var _props$subscription, _state$suspendDate;
27387
27400
 
@@ -28864,7 +28877,7 @@ function SubscriptionManageMembersModal({
28864
28877
  }
28865
28878
  SubscriptionManageMembersModal.viewId = "manage-members";
28866
28879
 
28867
- var _window$Pelcro$user$r$1, _window$Pelcro$user$r2$1, _window$Pelcro$user$r3, _window$Pelcro$user$r4, _window$Pelcro$user$r5, _window$Pelcro$user$r6;
28880
+ var _window$Pelcro$user$r$1, _window$Pelcro$user$r2$1, _window$Pelcro$user$r3, _window$Pelcro$user$r4, _window$Pelcro$user$r5, _window$Pelcro$user$r6, _window$Pelcro$user$r7, _window$Pelcro$user$r8;
28868
28881
  const initialState$h = {
28869
28882
  email: (_window$Pelcro$user$r$1 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r$1 === void 0 ? void 0 : _window$Pelcro$user$r$1.email,
28870
28883
  emailError: null,
@@ -28875,6 +28888,7 @@ const initialState$h = {
28875
28888
  usernameError: null,
28876
28889
  displayName: (_window$Pelcro$user$r5 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r5 === void 0 ? void 0 : _window$Pelcro$user$r5.display_name,
28877
28890
  phone: (_window$Pelcro$user$r6 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r6 === void 0 ? void 0 : _window$Pelcro$user$r6.phone,
28891
+ dateOfBirth: (_window$Pelcro$user$r7 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r7 === void 0 ? void 0 : (_window$Pelcro$user$r8 = _window$Pelcro$user$r7.metadata) === null || _window$Pelcro$user$r8 === void 0 ? void 0 : _window$Pelcro$user$r8.customer_dob,
28878
28892
  buttonDisabled: false,
28879
28893
  textFields: {},
28880
28894
  alert: {
@@ -28905,26 +28919,29 @@ const UserUpdateContainer = ({
28905
28919
  }, []);
28906
28920
 
28907
28921
  const loadUserDataIntoFields = () => {
28908
- var _window$Pelcro$user$r7, _window$Pelcro$user$r8, _window$Pelcro$user$r9, _window$Pelcro$user$r10, _window$Pelcro$user$r11, _window$Pelcro$user$r12;
28922
+ var _window$Pelcro$user$r9, _window$Pelcro$user$r10, _window$Pelcro$user$r11, _window$Pelcro$user$r12, _window$Pelcro$user$r13, _window$Pelcro$user$r14, _window$Pelcro$user$r15, _window$Pelcro$user$r16;
28909
28923
 
28910
28924
  const fields = [{
28911
28925
  type: SET_EMAIL,
28912
- payload: (_window$Pelcro$user$r7 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r7 === void 0 ? void 0 : _window$Pelcro$user$r7.email
28926
+ payload: (_window$Pelcro$user$r9 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r9 === void 0 ? void 0 : _window$Pelcro$user$r9.email
28913
28927
  }, {
28914
28928
  type: SET_FIRST_NAME,
28915
- payload: (_window$Pelcro$user$r8 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r8 === void 0 ? void 0 : _window$Pelcro$user$r8.first_name
28929
+ payload: (_window$Pelcro$user$r10 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r10 === void 0 ? void 0 : _window$Pelcro$user$r10.first_name
28916
28930
  }, {
28917
28931
  type: SET_LAST_NAME,
28918
- payload: (_window$Pelcro$user$r9 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r9 === void 0 ? void 0 : _window$Pelcro$user$r9.last_name
28932
+ payload: (_window$Pelcro$user$r11 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r11 === void 0 ? void 0 : _window$Pelcro$user$r11.last_name
28919
28933
  }, {
28920
28934
  type: SET_USERNAME,
28921
- payload: (_window$Pelcro$user$r10 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r10 === void 0 ? void 0 : _window$Pelcro$user$r10.username
28935
+ payload: (_window$Pelcro$user$r12 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r12 === void 0 ? void 0 : _window$Pelcro$user$r12.username
28922
28936
  }, {
28923
28937
  type: SET_DISPLAY_NAME,
28924
- payload: (_window$Pelcro$user$r11 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r11 === void 0 ? void 0 : _window$Pelcro$user$r11.display_name
28938
+ payload: (_window$Pelcro$user$r13 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r13 === void 0 ? void 0 : _window$Pelcro$user$r13.display_name
28925
28939
  }, {
28926
28940
  type: SET_PHONE,
28927
- payload: (_window$Pelcro$user$r12 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r12 === void 0 ? void 0 : _window$Pelcro$user$r12.phone
28941
+ payload: (_window$Pelcro$user$r14 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r14 === void 0 ? void 0 : _window$Pelcro$user$r14.phone
28942
+ }, {
28943
+ type: SET_DATE_OF_BIRTH,
28944
+ payload: (_window$Pelcro$user$r15 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r15 === void 0 ? void 0 : (_window$Pelcro$user$r16 = _window$Pelcro$user$r15.metadata) === null || _window$Pelcro$user$r16 === void 0 ? void 0 : _window$Pelcro$user$r16.customer_dob
28928
28945
  }];
28929
28946
  fields.filter(field => Boolean(field.payload)).forEach(field => {
28930
28947
  dispatch(field);
@@ -28939,7 +28956,8 @@ const UserUpdateContainer = ({
28939
28956
  phone,
28940
28957
  tin,
28941
28958
  textFields,
28942
- displayName
28959
+ displayName,
28960
+ dateOfBirth
28943
28961
  }, dispatch) => {
28944
28962
  window.Pelcro.user.update({
28945
28963
  auth_token: window.Pelcro.user.read().auth_token,
@@ -28953,6 +28971,7 @@ const UserUpdateContainer = ({
28953
28971
  phone: phone,
28954
28972
  metadata: {
28955
28973
  updated: "updated",
28974
+ customer_dob: dateOfBirth,
28956
28975
  ...textFields
28957
28976
  }
28958
28977
  }, (err, res) => {
@@ -29034,6 +29053,11 @@ const UserUpdateContainer = ({
29034
29053
  phone: action.payload
29035
29054
  });
29036
29055
 
29056
+ case SET_DATE_OF_BIRTH:
29057
+ return lib_7({ ...state,
29058
+ dateOfBirth: action.payload
29059
+ });
29060
+
29037
29061
  case SHOW_ALERT:
29038
29062
  return lib_7({ ...state,
29039
29063
  alert: action.payload
@@ -29371,14 +29395,47 @@ const UserUpdateDisplayName = props => /*#__PURE__*/React__default.createElement
29371
29395
  store: store$h
29372
29396
  }, props));
29373
29397
 
29398
+ const nowDate$1 = new Date();
29399
+ const nowDateISO$1 = nowDate$1.toISOString().substr(0, 10);
29400
+ const hundredYearsFromNowDateISO = new Date(new Date().setFullYear(nowDate$1.getFullYear() - 100)).toISOString().substr(0, 10);
29401
+ const UserUpdateDateOfBirth = props => {
29402
+ var _state$dateOfBirth;
29403
+
29404
+ // const { t } = useTranslation("userEdit");
29405
+ const {
29406
+ dispatch,
29407
+ state
29408
+ } = useContext(store$h);
29409
+
29410
+ const handleInputChange = value => {
29411
+ dispatch({
29412
+ type: SET_DATE_OF_BIRTH,
29413
+ payload: value
29414
+ });
29415
+ };
29416
+
29417
+ if (state.loading) {
29418
+ return /*#__PURE__*/React__default.createElement(Loader, null);
29419
+ }
29420
+
29421
+ return /*#__PURE__*/React__default.createElement(DatePicker, Object.assign({
29422
+ min: hundredYearsFromNowDateISO,
29423
+ max: nowDateISO$1,
29424
+ value: (_state$dateOfBirth = state.dateOfBirth) !== null && _state$dateOfBirth !== void 0 ? _state$dateOfBirth : nowDateISO$1,
29425
+ onChange: e => handleInputChange(e.target.value) // tooltipText={t("labels.dateOfBirth")}
29426
+
29427
+ }, props));
29428
+ };
29429
+
29374
29430
  const UserUpdateView = props => {
29375
- var _window$Pelcro$site$r, _window$Pelcro, _window$Pelcro$uiSett;
29431
+ var _window$Pelcro$site$r, _window$Pelcro, _window$Pelcro$uiSett, _window$Pelcro2, _window$Pelcro2$uiSet;
29376
29432
 
29377
29433
  const {
29378
29434
  t
29379
29435
  } = useTranslation("userEdit");
29380
29436
  const supportsTap = Boolean((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.tap_gateway_settings);
29381
29437
  const showUsernameInput = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.enableLoginWithUsername;
29438
+ const showDateOfBirth = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$uiSet = _window$Pelcro2.uiSettings) === null || _window$Pelcro2$uiSet === void 0 ? void 0 : _window$Pelcro2$uiSet.enableDateOfBirth;
29382
29439
  return /*#__PURE__*/React__default.createElement("div", {
29383
29440
  id: "pelcro-user-update-view"
29384
29441
  }, /*#__PURE__*/React__default.createElement("form", {
@@ -29419,6 +29476,13 @@ const UserUpdateView = props => {
29419
29476
  errorId: "pelcro-input-phone-error",
29420
29477
  label: t("labels.phone"),
29421
29478
  required: supportsTap ? true : false
29479
+ })), showDateOfBirth && /*#__PURE__*/React__default.createElement("div", {
29480
+ className: "plc-flex plc-items-start"
29481
+ }, /*#__PURE__*/React__default.createElement(UserUpdateDateOfBirth, {
29482
+ id: "pelcro-input-date-of-birth",
29483
+ autoComplete: "date-of-birth",
29484
+ errorId: "pelcro-input-date-of-birth-error",
29485
+ label: t("labels.dateOfBirth")
29422
29486
  })), /*#__PURE__*/React__default.createElement(UserUpdateButton, {
29423
29487
  role: "submit",
29424
29488
  className: "plc-w-full plc-mt-2",
@@ -38736,11 +38800,7 @@ const ProfilePicChangeMenu = props => {
38736
38800
  back: {
38737
38801
  target: "profile"
38738
38802
  }
38739
- }, /*#__PURE__*/React__default.createElement(ProfilePicChangeView, {
38740
- onChangeSuccess: () => {
38741
- console.log("Success");
38742
- }
38743
- }));
38803
+ }, /*#__PURE__*/React__default.createElement(ProfilePicChangeView, null));
38744
38804
  };
38745
38805
  ProfilePicChangeMenu.viewId = "profile-picture";
38746
38806
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pelcro/react-pelcro-js",
3
3
  "description": "Pelcro's React UI Elements",
4
- "version": "4.0.0-alpha.67",
4
+ "version": "4.0.0-alpha.69",
5
5
  "license": "MIT",
6
6
  "private": false,
7
7
  "main": "dist/index.cjs.js",