paymob-pixel-alpha 1.1.27 → 1.1.28

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.
Files changed (2) hide show
  1. package/main.js +46 -25
  2. package/package.json +1 -1
package/main.js CHANGED
@@ -13604,6 +13604,9 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13604
13604
  needsName,
13605
13605
  needsEmail,
13606
13606
  needsPhone,
13607
+ emailRequired = true,
13608
+ phoneRequired = true,
13609
+ nameRequired = true,
13607
13610
  defaultCountryISO = 'EG',
13608
13611
  defaultValues,
13609
13612
  hideLabels,
@@ -13623,7 +13626,8 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13623
13626
  formState: {
13624
13627
  errors,
13625
13628
  isDirty,
13626
- isValid
13629
+ isValid,
13630
+ dirtyFields
13627
13631
  },
13628
13632
  setValue,
13629
13633
  trigger,
@@ -13729,8 +13733,8 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13729
13733
  } else if (onClientData) {
13730
13734
  onClientData(null);
13731
13735
  }
13732
- onValidityChange == null || onValidityChange(isValid && (isDirty || !!defaultValues), isDirty || !(verifiedFields != null && verifiedFields.email) || !(verifiedFields != null && verifiedFields.phone));
13733
- }, [isDirty, isValid, watchFieldsJson]);
13736
+ onValidityChange == null || onValidityChange(isValid && (isDirty || !!defaultValues), !!Object.keys(dirtyFields).length || !(verifiedFields != null && verifiedFields.email) && !!getValues('email') || !(verifiedFields != null && verifiedFields.phone) && !!getValues('phone'));
13737
+ }, [isDirty, isValid, watchFieldsJson, Object.keys(dirtyFields).length]);
13734
13738
  useEffect(() => {
13735
13739
  const getRegionData = async () => {
13736
13740
  setIsLoadingRegionData(true);
@@ -13780,11 +13784,12 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13780
13784
  setValue(_field, e.target.value);
13781
13785
  }
13782
13786
  },
13783
- required: {
13787
+ required: emailRequired ? {
13784
13788
  value: true,
13785
13789
  message: t('EMAIL_IS_REQUIRED')
13786
- },
13790
+ } : false,
13787
13791
  validate: value => {
13792
+ if (!value) return !emailRequired || t('EMAIL_IS_REQUIRED');
13788
13793
  const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
13789
13794
  return regex.test(value) || t('EMAIL_NOT_VALID');
13790
13795
  }
@@ -13819,10 +13824,10 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13819
13824
  }
13820
13825
  }
13821
13826
  },
13822
- required: {
13827
+ required: nameRequired ? {
13823
13828
  value: true,
13824
13829
  message: t('NAME_IS_REQUIRED')
13825
- }
13830
+ } : false
13826
13831
  });
13827
13832
  }, []);
13828
13833
  const createPhoneRegister = useCallback(({
@@ -13836,12 +13841,13 @@ const ContactForm = /*#__PURE__*/(/* unused pure expression or super */ null &&
13836
13841
  const trimmedNumber = phoneNumber.replace(/\D/g, '');
13837
13842
  setValue(_field3, trimmedNumber);
13838
13843
  },
13839
- required: {
13844
+ required: phoneRequired ? {
13840
13845
  value: true,
13841
13846
  message: t('PHONE_IS_REQUIRED')
13842
- },
13847
+ } : false,
13843
13848
  validate: value => {
13844
13849
  var _parseMax;
13850
+ if (!value) return !phoneRequired || t('PHONE_IS_REQUIRED');
13845
13851
  return ((_parseMax = parseMax(countryCode + value)) == null ? void 0 : _parseMax.isValid()) || t('PHONE_NOT_VALID');
13846
13852
  }
13847
13853
  });
@@ -21007,6 +21013,7 @@ function formatAmountBasedOnCurrency_formatAmountBasedOnCurrency(amount, currenc
21007
21013
 
21008
21014
 
21009
21015
 
21016
+
21010
21017
 
21011
21018
 
21012
21019
  ;// ../../node_modules/react-loading-skeleton/dist/index.js
@@ -21530,8 +21537,12 @@ function cardFormViewTwo_Card(props) {
21530
21537
  setIsOmanNetCard == null || setIsOmanNetCard(cardType === CARD_TYPES.OMAN);
21531
21538
  }, [cardType, setIsOmanNetCard]);
21532
21539
  useEffect(() => {
21533
- onDiscount == null || onDiscount(cardNum, isValidCard);
21534
- }, [isValidCard, cardNum]);
21540
+ onDiscount == null || onDiscount({
21541
+ cardNum,
21542
+ isValidCard,
21543
+ cardType
21544
+ });
21545
+ }, [isValidCard, cardNum, cardType]);
21535
21546
  return /*#__PURE__*/_jsxs("form", {
21536
21547
  onSubmit: handleSubmit(onSubmit),
21537
21548
  noValidate: true,
@@ -21861,8 +21872,12 @@ function mobileCardFormViewTwo_MobileCard(props) {
21861
21872
  }
21862
21873
  }, [expiryWatch, cvcWatch]);
21863
21874
  useEffect(() => {
21864
- onDiscount == null || onDiscount(cardNum, isValidCard);
21865
- }, [isValidCard, cardNum]);
21875
+ onDiscount == null || onDiscount({
21876
+ cardNum,
21877
+ isValidCard,
21878
+ cardType
21879
+ });
21880
+ }, [isValidCard, cardNum, cardType]);
21866
21881
  return /*#__PURE__*/_jsxs(_Fragment, {
21867
21882
  children: [/*#__PURE__*/_jsxs("form", {
21868
21883
  onSubmit: handleSubmit(onSubmit),
@@ -22120,10 +22135,10 @@ function IframeCard(props) {
22120
22135
  cardNum,
22121
22136
  isValidCard,
22122
22137
  discountsCount,
22123
- integrationId: hasOmanNetIntegration && isOmanNetCard ? subType.integrationId : integrationId,
22124
- paymentToken: hasOmanNetIntegration && isOmanNetCard ? subType.paymentToken : paymentToken
22138
+ integrationId: hasOmanNetIntegration && cardType === CARD_TYPES.OMAN ? subType.integrationId : integrationId,
22139
+ paymentToken: hasOmanNetIntegration && cardType === CARD_TYPES.OMAN ? subType.paymentToken : paymentToken
22125
22140
  });
22126
- }, [cardNum, isValidCard, discountsCount, hasOmanNetIntegration, isOmanNetCard, subType, paymentToken, integrationId]);
22141
+ }, [cardNum, isValidCard, discountsCount, hasOmanNetIntegration, cardType, subType, paymentToken, integrationId]);
22127
22142
  const handleDataFromSDK = event => {
22128
22143
  if (event.data.type === 'setPrevFocus') {
22129
22144
  handlePrevFocusFromSDK(event.data.payload);
@@ -23001,9 +23016,12 @@ function SavedCardsViewTwo(props) {
23001
23016
  setSelectedCardCVV('');
23002
23017
  if ((selectedCard == null ? void 0 : selectedCard.id) === card.id) setSelectedCard(null);else {
23003
23018
  setSelectedCard(card);
23004
- onDiscount == null || onDiscount(card.identifier, !!card.identifier && !!card.hasDiscount, true);
23019
+ onDiscount == null || onDiscount({
23020
+ cardNum: card.identifier,
23021
+ isValidCard: !!card.identifier && !!card.hasDiscount,
23022
+ savedCardType: card.type
23023
+ });
23005
23024
  }
23006
- ;
23007
23025
  };
23008
23026
  const handleSelectDeleteCard = (e, card) => {
23009
23027
  e.stopPropagation();
@@ -23819,10 +23837,13 @@ const CardElement = /*#__PURE__*/(0,react.forwardRef)(({
23819
23837
  setDiscountAppliedMessage(null);
23820
23838
  setTotalAmount("");
23821
23839
  };
23822
- const handleSavedCardDiscount = async (identifier, hasDiscount) => {
23840
+ const handleSavedCardDiscount = async (identifier, hasDiscount, savedCardType) => {
23841
+ var _payment$subType4, _payment$subType5;
23823
23842
  handleResetDiscountMessages();
23824
23843
  if (!hasDiscount) return;
23825
- const res = await checkDiscount(payment.token, payment.id, identifier, true);
23844
+ const paymentToken = savedCardType === constants_SAVED_CARD_TYPES.OMAN_NET ? payment == null || (_payment$subType4 = payment.subType) == null ? void 0 : _payment$subType4.token : payment == null ? void 0 : payment.token;
23845
+ const integrationId = savedCardType === constants_SAVED_CARD_TYPES.OMAN_NET ? payment == null || (_payment$subType5 = payment.subType) == null ? void 0 : _payment$subType5.integrationId : payment == null ? void 0 : payment.id;
23846
+ const res = await checkDiscount(paymentToken, integrationId, identifier, savedCardType);
23826
23847
  handleDiscount(res);
23827
23848
  };
23828
23849
  const handleDiscount = res => {
@@ -23874,7 +23895,7 @@ const CardElement = /*#__PURE__*/(0,react.forwardRef)(({
23874
23895
  setSelectedCardCVV('');
23875
23896
  if ((selectedCard == null ? void 0 : selectedCard.id) === card.id) setSelectedCard(null);else {
23876
23897
  setSelectedCard(card);
23877
- handleSavedCardDiscount == null || handleSavedCardDiscount(card.identifier, !!card.identifier && !!card.hasDiscount);
23898
+ handleSavedCardDiscount == null || handleSavedCardDiscount(card.identifier, !!card.identifier && !!card.hasDiscount, card.type);
23878
23899
  }
23879
23900
  ;
23880
23901
  };
@@ -23884,7 +23905,7 @@ const CardElement = /*#__PURE__*/(0,react.forwardRef)(({
23884
23905
  setSelectedDeleteCard(card);
23885
23906
  };
23886
23907
  const handleSavedCardSubmit = async () => {
23887
- var _payment$subType4;
23908
+ var _payment$subType6;
23888
23909
  if (loading) return;
23889
23910
  setLoading(true);
23890
23911
  if (onBeforePaymentComplete) {
@@ -23902,7 +23923,7 @@ const CardElement = /*#__PURE__*/(0,react.forwardRef)(({
23902
23923
  };
23903
23924
  const payload = Object.assign({
23904
23925
  identifier: data.identifier,
23905
- token: (selectedCard == null ? void 0 : selectedCard.type) === constants_SAVED_CARD_TYPES.OMAN_NET ? payment == null || (_payment$subType4 = payment.subType) == null ? void 0 : _payment$subType4.token : payment == null ? void 0 : payment.token
23926
+ token: (selectedCard == null ? void 0 : selectedCard.type) === constants_SAVED_CARD_TYPES.OMAN_NET ? payment == null || (_payment$subType6 = payment.subType) == null ? void 0 : _payment$subType6.token : payment == null ? void 0 : payment.token
23906
23927
  }, data.cvv && {
23907
23928
  cvv: data.cvv
23908
23929
  }, {
@@ -23942,14 +23963,14 @@ const CardElement = /*#__PURE__*/(0,react.forwardRef)(({
23942
23963
  }
23943
23964
  };
23944
23965
  const handleOTPSubmit = async otp => {
23945
- var _iframeRef$current1, _payment$subType5;
23966
+ var _iframeRef$current1, _payment$subType7;
23946
23967
  setSendOTPLoading(true);
23947
23968
  (_iframeRef$current1 = iframeRef.current) == null || (_iframeRef$current1 = _iframeRef$current1.contentWindow) == null || _iframeRef$current1.postMessage({
23948
23969
  type: 'otpData',
23949
23970
  payload: {
23950
23971
  paymentToken: payment.token,
23951
23972
  subType: {
23952
- paymentToken: (_payment$subType5 = payment.subType) == null ? void 0 : _payment$subType5.token
23973
+ paymentToken: (_payment$subType7 = payment.subType) == null ? void 0 : _payment$subType7.token
23953
23974
  },
23954
23975
  otp,
23955
23976
  paymentId
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paymob-pixel-alpha",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "keywords": ["paymob","pixel","paymob-pixel"],
5
5
  "main": "./main.js",
6
6
  "license": "MIT",