From 814e81247fee321d4ec53c1bb9985e63a656d805 Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Mon, 12 Jan 2026 17:39:26 +0530 Subject: [PATCH 1/5] feat: added react wrapper for payment methods management --- dist/bundle.js | 2 +- src/Context.bs.js | 8 +++++++- src/Context.res | 7 +++++++ src/Index.bs.js | 5 +++++ src/Index.res | 4 ++++ src/Index.resi | 3 ++- src/OrcaJs.res | 7 +++++++ src/components/HyperManagementElements.bs.js | 4 +++- src/components/HyperManagementElements.res | 5 +++-- 9 files changed, 39 insertions(+), 6 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index cfd8ec2..7620c9a 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,2 +1,2 @@ /*! For license information please see bundle.js.LICENSE.txt */ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react")):e.ReactHyperJs=n(e.React)}(this,e=>(()=>{"use strict";var n={12:n=>{n.exports=e},20:(e,n,t)=>{var o=t(12),r=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};n.jsx=function(e,n,t){var o,c={},l=null,s=null;for(o in void 0!==t&&(l=""+t),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(s=n.ref),n)a.call(n,o)&&!i.hasOwnProperty(o)&&(c[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===c[o]&&(c[o]=n[o]);return{$$typeof:r,type:e,key:l,ref:s,props:c,_owner:u.current}}},848:(e,n,t)=>{e.exports=t(20)}},t={};function o(e){var r=t[e];if(void 0!==r)return r.exports;var a=t[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{ApplePayElement:()=>ie,CardCVCElement:()=>te,CardCVCWidget:()=>oe,CardElement:()=>X,CardExpiryElement:()=>re,CardExpiryWidget:()=>ae,CardNumberElement:()=>ee,CardNumberWidget:()=>ne,CardWidget:()=>Z,Elements:()=>$,ExpressCheckoutElement:()=>se,GooglePayElement:()=>ue,HyperElements:()=>G,HyperManagementElements:()=>me,PayPalElement:()=>le,PaymentElement:()=>Y,PaymentMethodsManagementElement:()=>pe,PazeElement:()=>ce,UnifiedCheckout:()=>Q,useElements:()=>J,useHyper:()=>W,useStripe:()=>L,useWidgets:()=>z});var a=o(12),u=o(848),i={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},c=function(e){if("string"==typeof e)return e},l=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},s=function(e){if(Array.isArray(e))return e};function m(e,n,t){for(var o=new Array(t),r=0,a=n;r=0)return function(e,n){return function(t){return p(e,n.concat([t]))}}(o,t);n=m(t,a,0|-u),e=o.apply(null,m(t,0,a))}}function f(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,a){return e(n,t,o,r,a)};case 6:return function(t,o,r,a,u){return e(n,t,o,r,a,u)};case 7:return function(t,o,r,a,u,i){return e(n,t,o,r,a,u,i)};default:return p(e,[n])}}(e,n)}}function d(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function y(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function C(e,n){return function(e,n){if(void 0!==e)return n(y(e))}(e,f(n))}function P(e,n){return void 0!==e?y(e):n}function E(e){return e}var v={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:E,completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})}},g=a.createContext(v),h={make:g.Provider},k={ephemeralKey:"",paymentRequest:E},B=a.createContext(k),S={make:B.Provider};function R(e,n,t){return P(C(e[n],c),t)}function x(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,s),[]),locale:R(n,"locale",""),clientSecret:R(n,"clientSecret",""),appearance:P(C(n.appearance,l),{}),loader:R(n,"loader","auto")}}function _(e){}function T(e){}function j(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function N(e,n){return i}var O={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},I=a.createContext(O),F={make:I.Provider},U={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},b=a.createContext(U),M={make:b.Provider},A=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,i=e.onFocus,c=e.componentType,l=e.onReady,s=e.onChange,m=e.options,p=e.id,f=void 0!==p?p:"payment-Element",y=a.useContext(g),C=a.useContext(I),P=a.useRef(null),E=C.create(c,m);return a.useEffect(function(){C.create(c,m).mount("#orca-elements-payment-element-"+f)},[P,C]),a.useEffect(function(){E.on("ready",l),E.on("focus",i),E.on("blur",r),E.on("clickTriggered",o),E.on("change",s),E.on("completeDoThis",t),E.onSDKHandleClick(n)},[C,y]),u.jsx("div",{ref:d(P),id:"orca-elements-payment-element-"+f})},D=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function q(e,n){return n.then(f(e))}var w=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},H=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},V=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},K=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function W(){return a.useContext(g)}function L(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),a.useContext(g)}function z(){return a.useContext(I)}function J(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),a.useContext(I)}console.log("Hello from corrupted Stripe.js");var $=function(e){var n=e.options,t=e.stripe,o=x(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,s={options:o,update:r,getElement:a,fetchUpdates:u,create:c},m={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return m}),l(function(e){return s}),Promise.resolve(m)},t)},[]),u.jsx(h.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},G=function(e){var n=e.options,t=e.hyper,o=x(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,s={options:o,update:r,getElement:a,fetchUpdates:u,create:c},m={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return m}),l(function(e){return s}),Promise.resolve(m)},t)},[]),u.jsx(h.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},Y=K,Q=K,X=V,Z=V,ee=H,ne=H,te=D,oe=D,re=w,ae=w,ue=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ie=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ce=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){var n=e.options,t=e.hyper,o=function(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,s),[]),locale:R(n,"locale",""),ephemeralKey:R(n,"ephemeralKey",""),appearance:P(C(n.appearance,l),{}),loader:R(n,"loader","auto")}}(n),r=a.useState(function(){return k}),i=r[1],c=a.useState(function(){return U}),m=c[1];return a.useEffect(function(){q(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,l={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={ephemeralKey:o.ephemeralKey,paymentRequest:e.paymentRequest};return i(function(e){return s}),m(function(e){return l}),Promise.resolve(s)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(M.make,{value:c[0],children:e.children})})},pe=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,i=e.onReady,c=e.onChange,l=e.options,s=e.id,m=void 0!==s?s:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=a.useContext(B),y=a.useContext(b),C=a.useRef(null),P=y.create(p,l);return a.useEffect(function(){y.create(p,l).mount("#orca-elements-payment-management-"+m)},[C,y]),a.useEffect(function(){return P.on("ready",i),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[y,f]),u.jsx("div",{ref:d(C),id:"orca-elements-payment-management-"+m})};return r})()); \ No newline at end of file +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react")):e.ReactHyperJs=n(e.React)}(this,e=>(()=>{"use strict";var n={12:n=>{n.exports=e},20:(e,n,t)=>{var o=t(12),r=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};n.jsx=function(e,n,t){var o,c={},l=null,m=null;for(o in void 0!==t&&(l=""+t),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(m=n.ref),n)a.call(n,o)&&!i.hasOwnProperty(o)&&(c[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===c[o]&&(c[o]=n[o]);return{$$typeof:r,type:e,key:l,ref:m,props:c,_owner:u.current}}},848:(e,n,t)=>{e.exports=t(20)}},t={};function o(e){var r=t[e];if(void 0!==r)return r.exports;var a=t[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{ApplePayElement:()=>ce,CardCVCElement:()=>oe,CardCVCWidget:()=>re,CardElement:()=>Z,CardExpiryElement:()=>ae,CardExpiryWidget:()=>ue,CardNumberElement:()=>ne,CardNumberWidget:()=>te,CardWidget:()=>ee,Elements:()=>G,ExpressCheckoutElement:()=>se,GooglePayElement:()=>ie,HyperElements:()=>Y,HyperManagementElements:()=>pe,PayPalElement:()=>me,PaymentElement:()=>Q,PaymentMethodsManagementElement:()=>fe,PazeElement:()=>le,UnifiedCheckout:()=>X,useElements:()=>$,useHyper:()=>W,useHyperManagement:()=>z,useStripe:()=>L,useWidgets:()=>J});var a=o(12),u=o(848),i={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},c=function(e){if("string"==typeof e)return e},l=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},m=function(e){if(Array.isArray(e))return e};function s(e,n,t){for(var o=new Array(t),r=0,a=n;r=0)return function(e,n){return function(t){return p(e,n.concat([t]))}}(o,t);n=s(t,a,0|-u),e=o.apply(null,s(t,0,a))}}function f(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,a){return e(n,t,o,r,a)};case 6:return function(t,o,r,a,u){return e(n,t,o,r,a,u)};case 7:return function(t,o,r,a,u,i){return e(n,t,o,r,a,u,i)};default:return p(e,[n])}}(e,n)}}function d(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function y(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function C(e,n){return function(e,n){if(void 0!==e)return n(y(e))}(e,f(n))}function P(e,n){return void 0!==e?y(e):n}function E(e){return e}var v={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:E,completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})}},k=a.createContext(v),g={make:k.Provider},h={ephemeralKey:"",paymentRequest:E,confirmTokenization:function(e){return Promise.resolve({})}},B=a.createContext(h),S={make:B.Provider};function x(e,n,t){return P(C(e[n],c),t)}function R(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:x(n,"locale",""),clientSecret:x(n,"clientSecret",""),appearance:P(C(n.appearance,l),{}),loader:x(n,"loader","auto")}}function _(e){}function T(e){}function j(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function N(e,n){return i}var O={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},I=a.createContext(O),F={make:I.Provider},U={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},b=a.createContext(U),M={make:b.Provider},A=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,i=e.onFocus,c=e.componentType,l=e.onReady,m=e.onChange,s=e.options,p=e.id,f=void 0!==p?p:"payment-Element",y=a.useContext(k),C=a.useContext(I),P=a.useRef(null),E=C.create(c,s);return a.useEffect(function(){C.create(c,s).mount("#orca-elements-payment-element-"+f)},[P,C]),a.useEffect(function(){E.on("ready",l),E.on("focus",i),E.on("blur",r),E.on("clickTriggered",o),E.on("change",m),E.on("completeDoThis",t),E.onSDKHandleClick(n)},[C,y]),u.jsx("div",{ref:d(P),id:"orca-elements-payment-element-"+f})},D=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function q(e,n){return n.then(f(e))}var w=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},H=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},V=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},K=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function W(){return a.useContext(k)}function z(){return a.useContext(B)}function L(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),a.useContext(k)}function J(){return a.useContext(I)}function $(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),a.useContext(I)}var G=function(e){var n=e.options,t=e.stripe,o=R(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(g.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},Y=function(e){var n=e.options,t=e.hyper,o=R(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(g.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},Q=K,X=K,Z=V,ee=V,ne=H,te=H,oe=D,re=D,ae=w,ue=w,ie=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ce=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},pe=function(e){var n=e.options,t=e.hyper,o=function(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:x(n,"locale",""),ephemeralKey:x(n,"ephemeralKey",""),appearance:P(C(n.appearance,l),{}),loader:x(n,"loader","auto")}}(n),r=a.useState(function(){return h}),i=r[1],c=a.useState(function(){return U}),s=c[1];return a.useEffect(function(){q(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,l={options:o,update:r,getElement:a,fetchUpdates:u,create:c},m={ephemeralKey:o.ephemeralKey,paymentRequest:e.paymentRequest,confirmTokenization:e.confirmTokenization};return i(function(e){return m}),s(function(e){return l}),Promise.resolve(m)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(M.make,{value:c[0],children:e.children})})},fe=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,i=e.onReady,c=e.onChange,l=e.options,m=e.id,s=void 0!==m?m:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=a.useContext(B),y=a.useContext(b),C=a.useRef(null),P=y.create(p,l);return a.useEffect(function(){y.create(p,l).mount("#orca-elements-payment-management-"+s)},[C,y]),a.useEffect(function(){return P.on("ready",i),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[y,f]),u.jsx("div",{ref:d(C),id:"orca-elements-payment-management-"+s})};return r})()); \ No newline at end of file diff --git a/src/Context.bs.js b/src/Context.bs.js index d49d3d0..949d47e 100644 --- a/src/Context.bs.js +++ b/src/Context.bs.js @@ -10,6 +10,10 @@ function confirmPaymentFn(_elements) { return Promise.resolve({}); } +function confirmTokenizationFn(_elements) { + return Promise.resolve({}); +} + function confirmCardPaymentFn(_clientSecretId, _data, _options) { return Promise.resolve({}); } @@ -50,7 +54,8 @@ var SwitchContextProvider = { var defaultPaymentMethodsManagementSwitchContext = { ephemeralKey: "", - paymentRequest: paymentRequest + paymentRequest: paymentRequest, + confirmTokenization: confirmTokenizationFn }; var paymentMethodsManagementSwitchContext = React.createContext(defaultPaymentMethodsManagementSwitchContext); @@ -157,6 +162,7 @@ var PaymentMethodsManagementElementsContextProvider = { export { confirmPaymentFn , + confirmTokenizationFn , confirmCardPaymentFn , retrievePaymentIntentFn , paymentRequest , diff --git a/src/Context.res b/src/Context.res index 64c19f1..24ed324 100644 --- a/src/Context.res +++ b/src/Context.res @@ -85,11 +85,17 @@ type switchContextType = { type paymentMethodsManagementSwitchContextType = { ephemeralKey: string, paymentRequest: JSON.t => JSON.t, + confirmTokenization: JSON.t => Promise.t, } let confirmPaymentFn = (_elements: JSON.t) => { Promise.resolve(Dict.make()->JSON.Encode.object) } + +let confirmTokenizationFn = (_elements: JSON.t) => { + Promise.resolve(Dict.make()->JSON.Encode.object) +} + let confirmCardPaymentFn = ( _clientSecretId: string, _data: option, @@ -124,6 +130,7 @@ module SwitchContextProvider = { let defaultPaymentMethodsManagementSwitchContext = { ephemeralKey: "", paymentRequest, + confirmTokenization: confirmTokenizationFn, } let paymentMethodsManagementSwitchContext = React.createContext( diff --git a/src/Index.bs.js b/src/Index.bs.js index f7fa559..cae99e7 100644 --- a/src/Index.bs.js +++ b/src/Index.bs.js @@ -21,6 +21,10 @@ function useHyper() { return React.useContext(Context.switchContext); } +function useHyperManagement() { + return React.useContext(Context.paymentMethodsManagementSwitchContext); +} + function useStripe() { console.warn("useStripe() is deprecated. Use useHyper() instead"); return React.useContext(Context.switchContext); @@ -76,6 +80,7 @@ var PaymentMethodsManagementElement$1 = PaymentMethodsManagementElement.make; export { useHyper , useStripe , + useHyperManagement , useWidgets , useElements , Elements$1 as Elements, diff --git a/src/Index.res b/src/Index.res index fc29faa..716e305 100644 --- a/src/Index.res +++ b/src/Index.res @@ -12,6 +12,10 @@ let useHyper = () => { React.useContext(Context.switchContext) } +let useHyperManagement = () => { + React.useContext(Context.paymentMethodsManagementSwitchContext) +} + let useStripe = () => { Console.warn("useStripe() is deprecated. Use useHyper() instead") useHyper() diff --git a/src/Index.resi b/src/Index.resi index e9d2ce3..008ef85 100644 --- a/src/Index.resi +++ b/src/Index.resi @@ -9,6 +9,7 @@ type eventData = { } let useHyper: unit => Context.switchContextType let useStripe: unit => Context.switchContextType +let useHyperManagement: unit => Context.paymentMethodsManagementSwitchContextType let useWidgets: unit => Context.elementsType let useElements: unit => Context.elementsType let \"Elements": Elements.props< @@ -189,7 +190,7 @@ let \"ExpressCheckoutElement": ExpressCheckoutElement.props< > => React.element let \"HyperManagementElements": HyperManagementElements.props< React.element, - RescriptCore.Promise.t, + RescriptCore.Promise.t, RescriptCore.JSON.t, > => React.element let \"PaymentMethodsManagementElement": PaymentMethodsManagementElement.props< diff --git a/src/OrcaJs.res b/src/OrcaJs.res index 6dcb69f..644936b 100644 --- a/src/OrcaJs.res +++ b/src/OrcaJs.res @@ -66,3 +66,10 @@ type switchInstance = { completeUpdateIntent: string => promise, initiateUpdateIntent: unit => promise, } + +type managementSwitchInstance = { + paymentMethodsManagementElements: JSON.t => element, + elements: JSON.t => element, + paymentRequest: JSON.t => JSON.t, + confirmTokenization: JSON.t => Promise.t, +} diff --git a/src/components/HyperManagementElements.bs.js b/src/components/HyperManagementElements.bs.js index da5d9bc..6fd0a1e 100644 --- a/src/components/HyperManagementElements.bs.js +++ b/src/components/HyperManagementElements.bs.js @@ -34,9 +34,11 @@ function HyperManagementElements(props) { }; var switchValClone_ephemeralKey = paymentMethodsManagementElementOptions.ephemeralKey; var switchValClone_paymentRequest = switchInstance.paymentRequest; + var switchValClone_confirmTokenization = switchInstance.confirmTokenization; var switchValClone = { ephemeralKey: switchValClone_ephemeralKey, - paymentRequest: switchValClone_paymentRequest + paymentRequest: switchValClone_paymentRequest, + confirmTokenization: switchValClone_confirmTokenization }; setSwitchState(function (param) { return switchValClone; diff --git a/src/components/HyperManagementElements.res b/src/components/HyperManagementElements.res index c7bed8c..8df1220 100644 --- a/src/components/HyperManagementElements.res +++ b/src/components/HyperManagementElements.res @@ -1,5 +1,5 @@ @react.component -let make = (~children, ~hyper: Promise.t, ~options: JSON.t) => { +let make = (~children, ~hyper: Promise.t, ~options: JSON.t) => { let paymentMethodsManagementElementOptions = options->Context.paymentMethodsManagementElementsOptionObjMapper let (switchState, setSwitchState) = React.useState(() => @@ -11,7 +11,7 @@ let make = (~children, ~hyper: Promise.t, ~options: JSON. React.useEffect0(() => { hyper - ->(Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => { + ->(Js.Promise.then_((switchInstance: OrcaJs.managementSwitchInstance) => { let orcaElementsConfig = switchInstance.paymentMethodsManagementElements(options) let newElemValues: Context.paymentMethodsManagementElementsType = { options: paymentMethodsManagementElementOptions, @@ -24,6 +24,7 @@ let make = (~children, ~hyper: Promise.t, ~options: JSON. let switchValClone: Context.paymentMethodsManagementSwitchContextType = { paymentRequest: switchInstance.paymentRequest, ephemeralKey: paymentMethodsManagementElementOptions.ephemeralKey, + confirmTokenization: switchInstance.confirmTokenization, } setSwitchState(_ => switchValClone) setElementsState(_ => newElemValues) From 26a0def87e3190ff365449f2c64cb4dfd20582ef Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Mon, 12 Jan 2026 17:54:50 +0530 Subject: [PATCH 2/5] refactor: version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c0ae0b6..5b9134c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@juspay-tech/react-hyper-js", - "version": "1.2.4", + "version": "1.3.4", "main": "dist/bundle.js", "files": [ "dist/", From 3e060568e0f02986b2b651f65616df17c0d3e8da Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Tue, 13 Jan 2026 11:11:30 +0530 Subject: [PATCH 3/5] fix: exposed switch instance for payment methods --- dist/bundle.js | 2 +- src/Context.bs.js | 8 ++++---- src/Context.res | 6 +++--- src/Index.bs.js | 5 ----- src/Index.res | 4 ---- src/Index.resi | 3 +-- src/OrcaJs.res | 6 ------ src/components/Elements.bs.js | 4 +++- src/components/Elements.res | 1 + src/components/HyperElements.bs.js | 4 +++- src/components/HyperElements.res | 1 + src/components/HyperManagementElements.bs.js | 15 ++++++++++++--- src/components/HyperManagementElements.res | 17 ++++++++++------- 13 files changed, 39 insertions(+), 37 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 7620c9a..e9dcb5c 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,2 +1,2 @@ /*! For license information please see bundle.js.LICENSE.txt */ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react")):e.ReactHyperJs=n(e.React)}(this,e=>(()=>{"use strict";var n={12:n=>{n.exports=e},20:(e,n,t)=>{var o=t(12),r=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};n.jsx=function(e,n,t){var o,c={},l=null,m=null;for(o in void 0!==t&&(l=""+t),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(m=n.ref),n)a.call(n,o)&&!i.hasOwnProperty(o)&&(c[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===c[o]&&(c[o]=n[o]);return{$$typeof:r,type:e,key:l,ref:m,props:c,_owner:u.current}}},848:(e,n,t)=>{e.exports=t(20)}},t={};function o(e){var r=t[e];if(void 0!==r)return r.exports;var a=t[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{ApplePayElement:()=>ce,CardCVCElement:()=>oe,CardCVCWidget:()=>re,CardElement:()=>Z,CardExpiryElement:()=>ae,CardExpiryWidget:()=>ue,CardNumberElement:()=>ne,CardNumberWidget:()=>te,CardWidget:()=>ee,Elements:()=>G,ExpressCheckoutElement:()=>se,GooglePayElement:()=>ie,HyperElements:()=>Y,HyperManagementElements:()=>pe,PayPalElement:()=>me,PaymentElement:()=>Q,PaymentMethodsManagementElement:()=>fe,PazeElement:()=>le,UnifiedCheckout:()=>X,useElements:()=>$,useHyper:()=>W,useHyperManagement:()=>z,useStripe:()=>L,useWidgets:()=>J});var a=o(12),u=o(848),i={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},c=function(e){if("string"==typeof e)return e},l=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},m=function(e){if(Array.isArray(e))return e};function s(e,n,t){for(var o=new Array(t),r=0,a=n;r=0)return function(e,n){return function(t){return p(e,n.concat([t]))}}(o,t);n=s(t,a,0|-u),e=o.apply(null,s(t,0,a))}}function f(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,a){return e(n,t,o,r,a)};case 6:return function(t,o,r,a,u){return e(n,t,o,r,a,u)};case 7:return function(t,o,r,a,u,i){return e(n,t,o,r,a,u,i)};default:return p(e,[n])}}(e,n)}}function d(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function y(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function C(e,n){return function(e,n){if(void 0!==e)return n(y(e))}(e,f(n))}function P(e,n){return void 0!==e?y(e):n}function E(e){return e}var v={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:E,completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})}},k=a.createContext(v),g={make:k.Provider},h={ephemeralKey:"",paymentRequest:E,confirmTokenization:function(e){return Promise.resolve({})}},B=a.createContext(h),S={make:B.Provider};function x(e,n,t){return P(C(e[n],c),t)}function R(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:x(n,"locale",""),clientSecret:x(n,"clientSecret",""),appearance:P(C(n.appearance,l),{}),loader:x(n,"loader","auto")}}function _(e){}function T(e){}function j(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function N(e,n){return i}var O={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},I=a.createContext(O),F={make:I.Provider},U={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:j,create:N},b=a.createContext(U),M={make:b.Provider},A=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,i=e.onFocus,c=e.componentType,l=e.onReady,m=e.onChange,s=e.options,p=e.id,f=void 0!==p?p:"payment-Element",y=a.useContext(k),C=a.useContext(I),P=a.useRef(null),E=C.create(c,s);return a.useEffect(function(){C.create(c,s).mount("#orca-elements-payment-element-"+f)},[P,C]),a.useEffect(function(){E.on("ready",l),E.on("focus",i),E.on("blur",r),E.on("clickTriggered",o),E.on("change",m),E.on("completeDoThis",t),E.onSDKHandleClick(n)},[C,y]),u.jsx("div",{ref:d(P),id:"orca-elements-payment-element-"+f})},D=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function q(e,n){return n.then(f(e))}var w=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},H=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},V=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},K=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function W(){return a.useContext(k)}function z(){return a.useContext(B)}function L(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),a.useContext(k)}function J(){return a.useContext(I)}function $(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),a.useContext(I)}var G=function(e){var n=e.options,t=e.stripe,o=R(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(g.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},Y=function(e){var n=e.options,t=e.hyper,o=R(n),r=a.useState(function(){return v}),i=r[1],c=a.useState(function(){return O}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(g.make,{value:r[0],children:u.jsx(F.make,{value:c[0],children:e.children})})},Q=K,X=K,Z=V,ee=V,ne=H,te=H,oe=D,re=D,ae=w,ue=w,ie=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ce=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){return u.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},pe=function(e){var n=e.options,t=e.hyper,o=function(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:x(n,"locale",""),ephemeralKey:x(n,"ephemeralKey",""),appearance:P(C(n.appearance,l),{}),loader:x(n,"loader","auto")}}(n),r=a.useState(function(){return h}),i=r[1],c=a.useState(function(){return U}),s=c[1];return a.useEffect(function(){q(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,l={options:o,update:r,getElement:a,fetchUpdates:u,create:c},m={ephemeralKey:o.ephemeralKey,paymentRequest:e.paymentRequest,confirmTokenization:e.confirmTokenization};return i(function(e){return m}),s(function(e){return l}),Promise.resolve(m)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(M.make,{value:c[0],children:e.children})})},fe=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,i=e.onReady,c=e.onChange,l=e.options,m=e.id,s=void 0!==m?m:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=a.useContext(B),y=a.useContext(b),C=a.useRef(null),P=y.create(p,l);return a.useEffect(function(){y.create(p,l).mount("#orca-elements-payment-management-"+s)},[C,y]),a.useEffect(function(){return P.on("ready",i),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[y,f]),u.jsx("div",{ref:d(C),id:"orca-elements-payment-management-"+s})};return r})()); \ No newline at end of file +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react")):e.ReactHyperJs=n(e.React)}(this,e=>(()=>{"use strict";var n={12:n=>{n.exports=e},20:(e,n,t)=>{var o=t(12),r=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};n.jsx=function(e,n,t){var o,c={},l=null,m=null;for(o in void 0!==t&&(l=""+t),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(m=n.ref),n)a.call(n,o)&&!u.hasOwnProperty(o)&&(c[o]=n[o]);if(e&&e.defaultProps)for(o in n=e.defaultProps)void 0===c[o]&&(c[o]=n[o]);return{$$typeof:r,type:e,key:l,ref:m,props:c,_owner:i.current}}},848:(e,n,t)=>{e.exports=t(20)}},t={};function o(e){var r=t[e];if(void 0!==r)return r.exports;var a=t[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{ApplePayElement:()=>ue,CardCVCElement:()=>te,CardCVCWidget:()=>oe,CardElement:()=>X,CardExpiryElement:()=>re,CardExpiryWidget:()=>ae,CardNumberElement:()=>ee,CardNumberWidget:()=>ne,CardWidget:()=>Z,Elements:()=>$,ExpressCheckoutElement:()=>me,GooglePayElement:()=>ie,HyperElements:()=>G,HyperManagementElements:()=>se,PayPalElement:()=>le,PaymentElement:()=>Y,PaymentMethodsManagementElement:()=>pe,PazeElement:()=>ce,UnifiedCheckout:()=>Q,useElements:()=>J,useHyper:()=>W,useStripe:()=>K,useWidgets:()=>L});var a=o(12),i=o(848),u={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},c=function(e){if("string"==typeof e)return e},l=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},m=function(e){if(Array.isArray(e))return e};function s(e,n,t){for(var o=new Array(t),r=0,a=n;r=0)return function(e,n){return function(t){return p(e,n.concat([t]))}}(o,t);n=s(t,a,0|-i),e=o.apply(null,s(t,0,a))}}function f(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,a){return e(n,t,o,r,a)};case 6:return function(t,o,r,a,i){return e(n,t,o,r,a,i)};case 7:return function(t,o,r,a,i,u){return e(n,t,o,r,a,i,u)};default:return p(e,[n])}}(e,n)}}function d(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function y(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function C(e,n){return function(e,n){if(void 0!==e)return n(y(e))}(e,f(n))}function P(e,n){return void 0!==e?y(e):n}function E(e){return e}var v={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:E,completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})},confirmTokenization:function(e){return Promise.resolve({})}},k=a.createContext(v),g={make:k.Provider},h={ephemeralKey:"",paymentRequest:E},B=a.createContext(h),S={make:k.Provider};function R(e,n,t){return P(C(e[n],c),t)}function x(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:R(n,"locale",""),clientSecret:R(n,"clientSecret",""),appearance:P(C(n.appearance,l),{}),loader:R(n,"loader","auto")}}function _(e){}function T(e){}function I(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function j(e,n){return u}var N={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:I,create:j},O=a.createContext(N),U={make:O.Provider},F={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:_,getElement:T,fetchUpdates:I,create:j},b=a.createContext(F),M={make:b.Provider},A=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,u=e.onFocus,c=e.componentType,l=e.onReady,m=e.onChange,s=e.options,p=e.id,f=void 0!==p?p:"payment-Element",y=a.useContext(k),C=a.useContext(O),P=a.useRef(null),E=C.create(c,s);return a.useEffect(function(){C.create(c,s).mount("#orca-elements-payment-element-"+f)},[P,C]),a.useEffect(function(){E.on("ready",l),E.on("focus",u),E.on("blur",r),E.on("clickTriggered",o),E.on("change",m),E.on("completeDoThis",t),E.onSDKHandleClick(n)},[C,y]),i.jsx("div",{ref:d(P),id:"orca-elements-payment-element-"+f})},D=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function q(e,n){return n.then(f(e))}var w=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},z=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},V=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},H=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function W(){return a.useContext(k)}function K(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),a.useContext(k)}function L(){return a.useContext(O)}function J(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),a.useContext(O)}var $=function(e){var n=e.options,t=e.stripe,o=x(n),r=a.useState(function(){return v}),u=r[1],c=a.useState(function(){return N}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,i=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:i,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return u(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),i.jsx(g.make,{value:r[0],children:i.jsx(U.make,{value:c[0],children:e.children})})},G=function(e){var n=e.options,t=e.hyper,o=x(n),r=a.useState(function(){return v}),u=r[1],c=a.useState(function(){return N}),l=c[1];return a.useEffect(function(){q(function(e){var t=e.elements(n),r=t.update,a=t.getElement,i=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:i,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return u(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),i.jsx(g.make,{value:r[0],children:i.jsx(U.make,{value:c[0],children:e.children})})},Y=H,Q=H,X=V,Z=V,ee=z,ne=z,te=D,oe=D,re=w,ae=w,ie=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ue=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ce=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){return i.jsx(A,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){var n=e.options,t=e.hyper,o=function(e){var n=P(l(e),{});return{fonts:P(C(n.fonts,m),[]),locale:R(n,"locale",""),ephemeralKey:R(n,"ephemeralKey",""),appearance:P(C(n.appearance,l),{}),loader:R(n,"loader","auto")}}(n),r=a.useState(function(){return v}),u=r[1],c=a.useState(function(){return F}),s=c[1];return a.useEffect(function(){q(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,a=t.getElement,i=t.fetchUpdates,c=t.create,l={options:o,update:r,getElement:a,fetchUpdates:i,create:c},m={clientSecret:"",confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return u(function(e){return m}),s(function(e){return l}),Promise.resolve(m)},t)},[]),i.jsx(S.make,{value:r[0],children:i.jsx(M.make,{value:c[0],children:e.children})})},pe=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,u=e.onReady,c=e.onChange,l=e.options,m=e.id,s=void 0!==m?m:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=a.useContext(B),y=a.useContext(b),C=a.useRef(null),P=y.create(p,l);return a.useEffect(function(){y.create(p,l).mount("#orca-elements-payment-management-"+s)},[C,y]),a.useEffect(function(){return P.on("ready",u),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[y,f]),i.jsx("div",{ref:d(C),id:"orca-elements-payment-management-"+s})};return r})()); \ No newline at end of file diff --git a/src/Context.bs.js b/src/Context.bs.js index 949d47e..a2ec6b6 100644 --- a/src/Context.bs.js +++ b/src/Context.bs.js @@ -41,7 +41,8 @@ var defaultSwitchContext = { retrievePaymentIntent: retrievePaymentIntentFn, paymentRequest: paymentRequest, completeUpdateIntent: defaultSwitchContext_completeUpdateIntent, - initiateUpdateIntent: defaultSwitchContext_initiateUpdateIntent + initiateUpdateIntent: defaultSwitchContext_initiateUpdateIntent, + confirmTokenization: confirmTokenizationFn }; var switchContext = React.createContext(defaultSwitchContext); @@ -54,13 +55,12 @@ var SwitchContextProvider = { var defaultPaymentMethodsManagementSwitchContext = { ephemeralKey: "", - paymentRequest: paymentRequest, - confirmTokenization: confirmTokenizationFn + paymentRequest: paymentRequest }; var paymentMethodsManagementSwitchContext = React.createContext(defaultPaymentMethodsManagementSwitchContext); -var make$1 = paymentMethodsManagementSwitchContext.Provider; +var make$1 = switchContext.Provider; var PaymentMethodsManagementSwitchContextProvider = { make: make$1 diff --git a/src/Context.res b/src/Context.res index 24ed324..3a4d6e8 100644 --- a/src/Context.res +++ b/src/Context.res @@ -80,12 +80,12 @@ type switchContextType = { paymentRequest: JSON.t => JSON.t, completeUpdateIntent: string => promise, initiateUpdateIntent: unit => promise, + confirmTokenization: JSON.t => Promise.t, } type paymentMethodsManagementSwitchContextType = { ephemeralKey: string, paymentRequest: JSON.t => JSON.t, - confirmTokenization: JSON.t => Promise.t, } let confirmPaymentFn = (_elements: JSON.t) => { @@ -119,6 +119,7 @@ let defaultSwitchContext = { paymentRequest, completeUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), initiateUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), + confirmTokenization: confirmTokenizationFn, } let switchContext = React.createContext(defaultSwitchContext) @@ -130,7 +131,6 @@ module SwitchContextProvider = { let defaultPaymentMethodsManagementSwitchContext = { ephemeralKey: "", paymentRequest, - confirmTokenization: confirmTokenizationFn, } let paymentMethodsManagementSwitchContext = React.createContext( @@ -138,7 +138,7 @@ let paymentMethodsManagementSwitchContext = React.createContext( ) module PaymentMethodsManagementSwitchContextProvider = { - let make = React.Context.provider(paymentMethodsManagementSwitchContext) + let make = React.Context.provider(switchContext) } let getString = (dict, key, defaultVal) => { diff --git a/src/Index.bs.js b/src/Index.bs.js index cae99e7..f7fa559 100644 --- a/src/Index.bs.js +++ b/src/Index.bs.js @@ -21,10 +21,6 @@ function useHyper() { return React.useContext(Context.switchContext); } -function useHyperManagement() { - return React.useContext(Context.paymentMethodsManagementSwitchContext); -} - function useStripe() { console.warn("useStripe() is deprecated. Use useHyper() instead"); return React.useContext(Context.switchContext); @@ -80,7 +76,6 @@ var PaymentMethodsManagementElement$1 = PaymentMethodsManagementElement.make; export { useHyper , useStripe , - useHyperManagement , useWidgets , useElements , Elements$1 as Elements, diff --git a/src/Index.res b/src/Index.res index 716e305..fc29faa 100644 --- a/src/Index.res +++ b/src/Index.res @@ -12,10 +12,6 @@ let useHyper = () => { React.useContext(Context.switchContext) } -let useHyperManagement = () => { - React.useContext(Context.paymentMethodsManagementSwitchContext) -} - let useStripe = () => { Console.warn("useStripe() is deprecated. Use useHyper() instead") useHyper() diff --git a/src/Index.resi b/src/Index.resi index 008ef85..e9d2ce3 100644 --- a/src/Index.resi +++ b/src/Index.resi @@ -9,7 +9,6 @@ type eventData = { } let useHyper: unit => Context.switchContextType let useStripe: unit => Context.switchContextType -let useHyperManagement: unit => Context.paymentMethodsManagementSwitchContextType let useWidgets: unit => Context.elementsType let useElements: unit => Context.elementsType let \"Elements": Elements.props< @@ -190,7 +189,7 @@ let \"ExpressCheckoutElement": ExpressCheckoutElement.props< > => React.element let \"HyperManagementElements": HyperManagementElements.props< React.element, - RescriptCore.Promise.t, + RescriptCore.Promise.t, RescriptCore.JSON.t, > => React.element let \"PaymentMethodsManagementElement": PaymentMethodsManagementElement.props< diff --git a/src/OrcaJs.res b/src/OrcaJs.res index 644936b..9a4dd52 100644 --- a/src/OrcaJs.res +++ b/src/OrcaJs.res @@ -65,11 +65,5 @@ type switchInstance = { paymentMethodsManagementElements: JSON.t => element, completeUpdateIntent: string => promise, initiateUpdateIntent: unit => promise, -} - -type managementSwitchInstance = { - paymentMethodsManagementElements: JSON.t => element, - elements: JSON.t => element, - paymentRequest: JSON.t => JSON.t, confirmTokenization: JSON.t => Promise.t, } diff --git a/src/components/Elements.bs.js b/src/components/Elements.bs.js index a92f397..7110098 100644 --- a/src/components/Elements.bs.js +++ b/src/components/Elements.bs.js @@ -39,6 +39,7 @@ function Elements(props) { var switchValClone_paymentRequest = switchInstance.paymentRequest; var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; + var switchValClone_confirmTokenization = switchInstance.confirmTokenization; var switchValClone = { clientSecret: switchValClone_clientSecret, confirmPayment: switchValClone_confirmPayment, @@ -46,7 +47,8 @@ function Elements(props) { retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, completeUpdateIntent: switchValClone_completeUpdateIntent, - initiateUpdateIntent: switchValClone_initiateUpdateIntent + initiateUpdateIntent: switchValClone_initiateUpdateIntent, + confirmTokenization: switchValClone_confirmTokenization }; setSwitchState(function (param) { return switchValClone; diff --git a/src/components/Elements.res b/src/components/Elements.res index 18c71d2..14e7365 100644 --- a/src/components/Elements.res +++ b/src/components/Elements.res @@ -23,6 +23,7 @@ let make = (~children, ~stripe: Promise.t, ~options: JSON paymentRequest: switchInstance.paymentRequest, completeUpdateIntent: switchInstance.completeUpdateIntent, initiateUpdateIntent: switchInstance.initiateUpdateIntent, + confirmTokenization: switchInstance.confirmTokenization, } setSwitchState(_ => switchValClone) diff --git a/src/components/HyperElements.bs.js b/src/components/HyperElements.bs.js index e50ccb7..f968107 100644 --- a/src/components/HyperElements.bs.js +++ b/src/components/HyperElements.bs.js @@ -39,6 +39,7 @@ function HyperElements(props) { var switchValClone_paymentRequest = switchInstance.paymentRequest; var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; + var switchValClone_confirmTokenization = switchInstance.confirmTokenization; var switchValClone = { clientSecret: switchValClone_clientSecret, confirmPayment: switchValClone_confirmPayment, @@ -46,7 +47,8 @@ function HyperElements(props) { retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, completeUpdateIntent: switchValClone_completeUpdateIntent, - initiateUpdateIntent: switchValClone_initiateUpdateIntent + initiateUpdateIntent: switchValClone_initiateUpdateIntent, + confirmTokenization: switchValClone_confirmTokenization }; setSwitchState(function (param) { return switchValClone; diff --git a/src/components/HyperElements.res b/src/components/HyperElements.res index 7c1bd06..998561b 100644 --- a/src/components/HyperElements.res +++ b/src/components/HyperElements.res @@ -23,6 +23,7 @@ let make = (~children, ~hyper: Promise.t, ~options: JSON. paymentRequest: switchInstance.paymentRequest, completeUpdateIntent: switchInstance.completeUpdateIntent, initiateUpdateIntent: switchInstance.initiateUpdateIntent, + confirmTokenization: switchInstance.confirmTokenization, } setSwitchState(_ => switchValClone) diff --git a/src/components/HyperManagementElements.bs.js b/src/components/HyperManagementElements.bs.js index 6fd0a1e..c514b88 100644 --- a/src/components/HyperManagementElements.bs.js +++ b/src/components/HyperManagementElements.bs.js @@ -10,7 +10,7 @@ function HyperManagementElements(props) { var hyper = props.hyper; var paymentMethodsManagementElementOptions = Context.paymentMethodsManagementElementsOptionObjMapper(options); var match = React.useState(function () { - return Context.defaultPaymentMethodsManagementSwitchContext; + return Context.defaultSwitchContext; }); var setSwitchState = match[1]; var match$1 = React.useState(function () { @@ -32,12 +32,21 @@ function HyperManagementElements(props) { fetchUpdates: newElemValues_fetchUpdates, create: newElemValues_create }; - var switchValClone_ephemeralKey = paymentMethodsManagementElementOptions.ephemeralKey; + var switchValClone_confirmPayment = switchInstance.confirmPayment; + var switchValClone_confirmCardPayment = switchInstance.confirmCardPayment; + var switchValClone_retrievePaymentIntent = switchInstance.retrievePaymentIntent; var switchValClone_paymentRequest = switchInstance.paymentRequest; + var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; + var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; var switchValClone_confirmTokenization = switchInstance.confirmTokenization; var switchValClone = { - ephemeralKey: switchValClone_ephemeralKey, + clientSecret: "", + confirmPayment: switchValClone_confirmPayment, + confirmCardPayment: switchValClone_confirmCardPayment, + retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, + completeUpdateIntent: switchValClone_completeUpdateIntent, + initiateUpdateIntent: switchValClone_initiateUpdateIntent, confirmTokenization: switchValClone_confirmTokenization }; setSwitchState(function (param) { diff --git a/src/components/HyperManagementElements.res b/src/components/HyperManagementElements.res index 8df1220..fc07700 100644 --- a/src/components/HyperManagementElements.res +++ b/src/components/HyperManagementElements.res @@ -1,17 +1,15 @@ @react.component -let make = (~children, ~hyper: Promise.t, ~options: JSON.t) => { +let make = (~children, ~hyper: Promise.t, ~options: JSON.t) => { let paymentMethodsManagementElementOptions = options->Context.paymentMethodsManagementElementsOptionObjMapper - let (switchState, setSwitchState) = React.useState(() => - Context.defaultPaymentMethodsManagementSwitchContext - ) + let (switchState, setSwitchState) = React.useState(() => Context.defaultSwitchContext) let (elementsState, setElementsState) = React.useState(() => Context.defaultPaymentMethodsManagementElementsContext ) React.useEffect0(() => { hyper - ->(Js.Promise.then_((switchInstance: OrcaJs.managementSwitchInstance) => { + ->(Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => { let orcaElementsConfig = switchInstance.paymentMethodsManagementElements(options) let newElemValues: Context.paymentMethodsManagementElementsType = { options: paymentMethodsManagementElementOptions, @@ -21,9 +19,14 @@ let make = (~children, ~hyper: Promise.t, ~opti create: orcaElementsConfig.create, } - let switchValClone: Context.paymentMethodsManagementSwitchContextType = { + let switchValClone: Context.switchContextType = { + confirmPayment: switchInstance.confirmPayment, + confirmCardPayment: switchInstance.confirmCardPayment, + retrievePaymentIntent: switchInstance.retrievePaymentIntent, + clientSecret: "", paymentRequest: switchInstance.paymentRequest, - ephemeralKey: paymentMethodsManagementElementOptions.ephemeralKey, + completeUpdateIntent: switchInstance.completeUpdateIntent, + initiateUpdateIntent: switchInstance.initiateUpdateIntent, confirmTokenization: switchInstance.confirmTokenization, } setSwitchState(_ => switchValClone) From 65801eb2a71f7b625ee94354344f9405f8d4e9d8 Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Wed, 14 Jan 2026 11:30:10 +0530 Subject: [PATCH 4/5] chore: added package lock --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 56e843c..688ed19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@juspay-tech/react-hyper-js", - "version": "1.2.4", + "version": "1.3.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@juspay-tech/react-hyper-js", - "version": "1.2.4", + "version": "1.3.4", "license": "Apache-2.0", "dependencies": { "@rescript/core": "^0.7.0", From 4232609a5cdbd4c8aec08df1c1dc1b6ea21db950 Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Wed, 14 Jan 2026 18:47:27 +0530 Subject: [PATCH 5/5] refactor: resolved comments --- src/Context.bs.js | 11 +++++------ src/Context.res | 6 +----- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Context.bs.js b/src/Context.bs.js index a2ec6b6..707bfce 100644 --- a/src/Context.bs.js +++ b/src/Context.bs.js @@ -10,10 +10,6 @@ function confirmPaymentFn(_elements) { return Promise.resolve({}); } -function confirmTokenizationFn(_elements) { - return Promise.resolve({}); -} - function confirmCardPaymentFn(_clientSecretId, _data, _options) { return Promise.resolve({}); } @@ -34,6 +30,10 @@ function defaultSwitchContext_initiateUpdateIntent() { return Promise.resolve({}); } +function defaultSwitchContext_confirmTokenization(param) { + return Promise.resolve({}); +} + var defaultSwitchContext = { clientSecret: "", confirmPayment: confirmPaymentFn, @@ -42,7 +42,7 @@ var defaultSwitchContext = { paymentRequest: paymentRequest, completeUpdateIntent: defaultSwitchContext_completeUpdateIntent, initiateUpdateIntent: defaultSwitchContext_initiateUpdateIntent, - confirmTokenization: confirmTokenizationFn + confirmTokenization: defaultSwitchContext_confirmTokenization }; var switchContext = React.createContext(defaultSwitchContext); @@ -162,7 +162,6 @@ var PaymentMethodsManagementElementsContextProvider = { export { confirmPaymentFn , - confirmTokenizationFn , confirmCardPaymentFn , retrievePaymentIntentFn , paymentRequest , diff --git a/src/Context.res b/src/Context.res index 3a4d6e8..6eaa66b 100644 --- a/src/Context.res +++ b/src/Context.res @@ -92,10 +92,6 @@ let confirmPaymentFn = (_elements: JSON.t) => { Promise.resolve(Dict.make()->JSON.Encode.object) } -let confirmTokenizationFn = (_elements: JSON.t) => { - Promise.resolve(Dict.make()->JSON.Encode.object) -} - let confirmCardPaymentFn = ( _clientSecretId: string, _data: option, @@ -119,7 +115,7 @@ let defaultSwitchContext = { paymentRequest, completeUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), initiateUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), - confirmTokenization: confirmTokenizationFn, + confirmTokenization: _ => Promise.resolve(Dict.make()->JSON.Encode.object), } let switchContext = React.createContext(defaultSwitchContext)