@juspay-tech/react-hyper-js 1.0.2 → 1.1.1
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/CHANGELOG.md +15 -0
- package/README.md +3 -0
- package/build.js +18 -9
- package/index.js +1 -1
- package/index.mjs +1 -0
- package/package.json +16 -21
- package/rescript.json +23 -0
- package/src/Context.bs.js +63 -24
- package/src/Context.res +116 -61
- package/src/Index.bs.js +52 -272
- package/src/Index.res +20 -173
- package/src/Index.resi +153 -119
- package/src/OrcaJs.bs.js +6 -6
- package/src/OrcaJs.res +14 -15
- package/src/Window.res +3 -3
- package/src/components/ApplePayElement.bs.js +24 -0
- package/src/components/ApplePayElement.res +6 -0
- package/src/components/CardCVC.bs.js +24 -0
- package/src/components/CardCVC.res +6 -0
- package/src/components/CardElement.bs.js +24 -0
- package/src/components/CardElement.res +4 -0
- package/src/components/CardExpiry.bs.js +24 -0
- package/src/components/CardExpiry.res +6 -0
- package/src/components/CardNumber.bs.js +24 -0
- package/src/components/CardNumber.res +6 -0
- package/src/components/Elements.bs.js +71 -0
- package/src/components/Elements.res +39 -0
- package/src/components/ExpressCheckoutElement.bs.js +24 -0
- package/src/components/ExpressCheckoutElement.res +6 -0
- package/src/components/GooglePayElement.bs.js +24 -0
- package/src/components/GooglePayElement.res +6 -0
- package/src/components/HyperElements.bs.js +71 -0
- package/src/components/HyperElements.res +39 -0
- package/src/components/HyperManagementElements.bs.js +65 -0
- package/src/components/HyperManagementElements.res +41 -0
- package/src/components/PayPalElement.bs.js +24 -0
- package/src/components/PayPalElement.res +6 -0
- package/src/components/PaymentElement.bs.js +24 -0
- package/src/components/PaymentElement.res +6 -0
- package/src/components/PaymentElementsWrapper.bs.js +50 -0
- package/src/components/PaymentElementsWrapper.res +34 -0
- package/src/components/PaymentMethodsManagementElement.bs.js +58 -0
- package/src/components/PaymentMethodsManagementElement.res +45 -0
- package/bsconfig.json +0 -19
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## v1.1.0 (2024-07-12)
|
|
2
|
+
|
|
3
|
+
### Feature
|
|
4
|
+
|
|
5
|
+
- Added Payment Management & Express Checkout Widgets
|
|
6
|
+
|
|
7
|
+
### Refactoring
|
|
8
|
+
|
|
9
|
+
- Upgraded the Rescript Version & better coding practices.
|
|
10
|
+
|
|
11
|
+
## v1.1.1 (2024-07-12)
|
|
12
|
+
|
|
13
|
+
### Fix
|
|
14
|
+
|
|
15
|
+
- Build files updated.
|
package/README.md
ADDED
package/build.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
const esbuild = require("esbuild");
|
|
2
2
|
const inlineImage = require("esbuild-plugin-inline-image");
|
|
3
3
|
const postcss = require("esbuild-postcss");
|
|
4
|
-
//const { copy } = require("esbuild-plugin-copy");
|
|
5
4
|
|
|
6
5
|
esbuild
|
|
7
6
|
.build({
|
|
8
7
|
entryPoints: ["./src/Index.bs.js"],
|
|
9
|
-
outfile: "index.
|
|
8
|
+
outfile: "index.mjs",
|
|
10
9
|
minify: true,
|
|
11
10
|
bundle: true,
|
|
12
11
|
loader: {
|
|
@@ -17,13 +16,23 @@ esbuild
|
|
|
17
16
|
plugins: [
|
|
18
17
|
inlineImage(),
|
|
19
18
|
postcss(),
|
|
20
|
-
// copy({
|
|
21
|
-
// assets: {
|
|
22
|
-
// from: ["./public/**/*"],
|
|
23
|
-
// to: ["../"],
|
|
24
|
-
// keepStructure: true,
|
|
25
|
-
// },
|
|
26
|
-
// }),
|
|
27
19
|
],
|
|
28
20
|
})
|
|
29
21
|
.catch(() => process.exit(1));
|
|
22
|
+
|
|
23
|
+
esbuild
|
|
24
|
+
.build({
|
|
25
|
+
entryPoints: ["./src/Index.bs.js"],
|
|
26
|
+
outfile: "index.js",
|
|
27
|
+
minify: true,
|
|
28
|
+
bundle: true,
|
|
29
|
+
loader: {
|
|
30
|
+
".js": "jsx",
|
|
31
|
+
},
|
|
32
|
+
format: "cjs",
|
|
33
|
+
external: ["react", "react-dom"],
|
|
34
|
+
plugins: [
|
|
35
|
+
inlineImage(),
|
|
36
|
+
postcss(),
|
|
37
|
+
],
|
|
38
|
+
}).catch(() => process.exit(1));
|
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function $(e,n,r){for(var i=new Array(r),t=0,u=n;t<r;)i[t]=e[u],t=t+1|0,u=u+1|0;return i}function x(e,n){for(;;){var r=n,i=e,t=i.length,u=t===0?1:t,c=r.length,a=u-c|0;if(a===0)return i.apply(null,r);if(a>=0)return function(s,l){return function(f){return x(s,l.concat([f]))}}(i,r);n=$(r,u,-a|0),e=i.apply(null,$(r,0,u))}}function d(e,n){var r=e.length;if(r===1)return e(n);switch(r){case 1:return e(n);case 2:return function(i){return e(n,i)};case 3:return function(i,t){return e(n,i,t)};case 4:return function(i,t,u){return e(n,i,t,u)};case 5:return function(i,t,u,c){return e(n,i,t,u,c)};case 6:return function(i,t,u,c,a){return e(n,i,t,u,c,a)};case 7:return function(i,t,u,c,a,s){return e(n,i,t,u,c,a,s)};default:return x(e,[n])}}function V(e){var n=e.length;return n===1?e:function(r){return d(e,r)}}function p(e,n,r){var i=e.length;if(i===2)return e(n,r);switch(i){case 1:return x(e(n),[r]);case 2:return e(n,r);case 3:return function(t){return e(n,r,t)};case 4:return function(t,u){return e(n,r,t,u)};case 5:return function(t,u,c){return e(n,r,t,u,c)};case 6:return function(t,u,c,a){return e(n,r,t,u,c,a)};case 7:return function(t,u,c,a,s){return e(n,r,t,u,c,a,s)};default:return x(e,[n,r])}}import*as o from"react";import*as L from"react";function ae(e,n){}function le(e){}function fe(e){}function se(e){}function me(e){}function de(e){}function ve(e){}function pe(e){}function _e(e){}var Y={on:ae,collapse:le,blur:fe,update:se,destroy:me,unmount:de,mount:ve,focus:pe,clear:_e};function E(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function H(e){if(!(e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0))return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;if(n!==0)return{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function N(e,n){if(n in e)return E(e[n])}function Z(e){if(typeof e=="string")return e}function j(e){if(typeof e=="object"&&!Array.isArray(e)&&e!==null)return E(e)}function ee(e){if(Array.isArray(e))return e}function he(e,n){if(e!==void 0)return n(H(e))}function P(e,n){return he(e,V(n))}function h(e,n){return e!==void 0?H(e):n}function we(e){return Promise.resolve({})}function Se(e,n,r){return Promise.resolve({})}function Re(e){return Promise.resolve({})}function Oe(e){return e}var k={clientSecret:"",confirmPayment:we,confirmCardPayment:Se,retrievePaymentIntent:Re,paymentRequest:Oe},g=L.createContext(k);function xe(e,n,r){return{value:e,children:n}}var Ve=g.Provider,w={makeProps:xe,make:Ve};function z(e,n,r){return h(P(N(e,n),Z),r)}function K(e){var n=h(j(e),{});return{fonts:h(P(N(n,"fonts"),ee),[]),locale:z(n,"locale",""),clientSecret:z(n,"clientSecret",""),appearance:h(P(N(n,"appearance"),j),{}),loader:z(n,"loader","auto")}}function Ne(e){}function Pe(e){}function ke(e){return new Promise(function(n,r){setTimeout(function(i){n({})},1e3)})}function Ae(e,n){return Y}var Be={fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},A={options:Be,update:Ne,getElement:Pe,fetchUpdates:ke,create:Ae},S=L.createContext(A);function Te(e,n,r){return{value:e,children:n}}var Fe=S.Provider,R={makeProps:Te,make:Fe};function Q(e,n){return n.then(V(e))}function De(e){var n=e.children,r=e.stripe,i=e.options,t=K(i),u=o.useState(function(){return k}),c=u[1],a=o.useState(function(){return A}),s=a[1];return o.useEffect(function(){Q(function(l){var f=d(l.elements,i),v=f.update,_=f.getElement,m=f.fetchUpdates,y=f.create,B={options:t,update:v,getElement:_,fetchUpdates:m,create:y},oe=t.clientSecret,T=l.confirmPayment,F=l.confirmCardPayment,b=l.retrievePaymentIntent,I=l.paymentRequest,D=t.clientSecret,U=T,J=F,M=b,W=I,C={clientSecret:D,confirmPayment:U,confirmCardPayment:J,retrievePaymentIntent:M,paymentRequest:W};return d(c,function(q){return C}),d(s,function(q){return B}),Promise.resolve(C)},r)},[]),o.createElement(w.make,w.makeProps(u[0],o.createElement(R.make,R.makeProps(a[0],n,void 0)),void 0))}function Ue(e){var n=e.children,r=e.hyper,i=e.options,t=K(i),u=o.useState(function(){return k}),c=u[1],a=o.useState(function(){return A}),s=a[1];return o.useEffect(function(){Q(function(l){var f=d(l.elements,i),v=f.update,_=f.getElement,m=f.fetchUpdates,y=f.create,B={options:t,update:v,getElement:_,fetchUpdates:m,create:y},oe=t.clientSecret,T=l.confirmPayment,F=l.confirmCardPayment,b=l.retrievePaymentIntent,I=l.paymentRequest,D=t.clientSecret,U=T,J=F,M=b,W=I,C={clientSecret:D,confirmPayment:U,confirmCardPayment:J,retrievePaymentIntent:M,paymentRequest:W};return d(c,function(q){return C}),d(s,function(q){return B}),Promise.resolve(C)},r)},[]),o.createElement(w.make,w.makeProps(u[0],o.createElement(R.make,R.makeProps(a[0],n,void 0)),void 0))}function Me(e){return o.useContext(g)}function We(e){return console.warn("useStripe() is deprecated. Use useHyper() instead"),o.useContext(g)}function qe(e){return o.useContext(S)}function $e(e){return console.warn("useElements() is deprecated. Use useWidgets() instead"),o.useContext(S)}function O(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.componentType,c=e.onFocus,a=e.onBlur,s=e.onClick,l=n!==void 0?n:"payment-Element",f=o.useContext(g),v=o.useContext(S),_=o.useRef(null),m=p(v.create,u,r);return o.useEffect(function(){var y=p(v.create,u,r);d(y.mount,"#orca-elements-payment-element-"+l)},[_,v]),o.useEffect(function(){p(m.on,"ready",t),p(m.on,"focus",c),p(m.on,"blur",a),p(m.on,"clickTriggered",s),p(m.on,"change",i)},[v,f]),o.createElement("div",{ref:_,id:"orca-elements-payment-element-"+l})}function ne(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.onFocus,c=e.onBlur,a=e.onClick;return o.createElement(O,{id:n,options:r,onChange:i,onReady:t,componentType:"payment",onFocus:u,onBlur:c,onClick:a})}function te(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.onFocus,c=e.onBlur,a=e.onClick;return o.createElement(O,{id:n,options:r,onChange:i,onReady:t,componentType:"card",onFocus:u,onBlur:c,onClick:a})}function re(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.onFocus,c=e.onBlur,a=e.onClick;return o.createElement(O,{id:n,options:r,onChange:i,onReady:t,componentType:"cardNumber",onFocus:u,onBlur:c,onClick:a})}function ue(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.onFocus,c=e.onBlur,a=e.onClick;return o.createElement(O,{id:n,options:r,onChange:i,onReady:t,componentType:"cardCvc",onFocus:u,onBlur:c,onClick:a})}function ie(e){var n=e.id,r=e.options,i=e.onChange,t=e.onReady,u=e.onFocus,c=e.onBlur,a=e.onClick;return o.createElement(O,{id:n,options:r,onChange:i,onReady:t,componentType:"cardExpiry",onFocus:u,onBlur:c,onClick:a})}var Ge=De,He=Ue,Xe=ne,je=ne,ze=te,Le=te,Ke=re,Qe=re,Ye=ie,Ze=ie,en=ue,nn=ue;export{en as CardCVCElement,nn as CardCVCWidget,ze as CardElement,Ye as CardExpiryElement,Ze as CardExpiryWidget,Ke as CardNumberElement,Qe as CardNumberWidget,Le as CardWidget,Ge as Elements,He as HyperElements,Xe as PaymentElement,je as UnifiedCheckout,$e as useElements,Me as useHyper,We as useStripe,qe as useWidgets};
|
|
1
|
+
var je=Object.create;var j=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var He=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ke=(e,n)=>{for(var r in n)j(e,r,{get:n[r],enumerable:!0})},se=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of qe(n))!Ge.call(e,t)&&t!==r&&j(e,t,{get:()=>n[t],enumerable:!(o=Ie(n,t))||o.enumerable});return e};var m=(e,n,r)=>(r=e!=null?je(He(e)):{},se(n||!e||!e.__esModule?j(r,"default",{value:e,enumerable:!0}):r,e)),Xe=e=>se(j({},"__esModule",{value:!0}),e);var gt={};Ke(gt,{ApplePayElement:()=>vt,CardCVCElement:()=>ft,CardCVCWidget:()=>dt,CardElement:()=>mt,CardExpiryElement:()=>pt,CardExpiryWidget:()=>yt,CardNumberElement:()=>ct,CardNumberWidget:()=>st,CardWidget:()=>lt,Elements:()=>ot,ExpressCheckoutElement:()=>Et,GooglePayElement:()=>Ct,HyperElements:()=>at,HyperManagementElements:()=>ht,PayPalElement:()=>_t,PaymentElement:()=>ut,PaymentMethodsManagementElement:()=>xt,UnifiedCheckout:()=>it,useElements:()=>rt,useHyper:()=>et,useStripe:()=>nt,useWidgets:()=>tt});module.exports=Xe(gt);var U=m(require("react"));var Re=m(require("react/jsx-runtime"));var h=m(require("react"));var b=m(require("react"));function Le(e,n){}function ze(){}function Qe(){}function Ye(e){}function Ze(){}function en(){}function nn(e){}function tn(){}function rn(){}var fe={on:Le,collapse:ze,blur:Qe,update:Ye,destroy:Ze,unmount:en,mount:nn,focus:tn,clear:rn};function an(e){if(typeof e=="boolean")return e}function un(e){if(e===null)return null}function mn(e){if(typeof e=="string")return e}function ln(e){if(typeof e=="number")return e}function cn(e){if(typeof e=="object"&&!Array.isArray(e)&&e!==null)return e}function sn(e){if(Array.isArray(e))return e}var _={bool:an,$$null:un,string:mn,$$float:ln,object:cn,array:sn};function Q(e,n,r){for(var o=new Array(r),t=0,a=n;t<r;)o[t]=e[a],t=t+1|0,a=a+1|0;return o}function de(e,n){for(;;){var r=n,o=e,t=o.length,a=t===0?1:t,l=r.length,c=a-l|0;if(c===0)return o.apply(null,r);if(c>=0)return function(d,u){return function(i){return de(d,u.concat([i]))}}(o,r);n=Q(r,a,-c|0),e=o.apply(null,Q(r,0,a))}}function pn(e,n){var r=e.length;if(r===1)return e(n);switch(r){case 1:return e(n);case 2:return function(o){return e(n,o)};case 3:return function(o,t){return e(n,o,t)};case 4:return function(o,t,a){return e(n,o,t,a)};case 5:return function(o,t,a,l){return e(n,o,t,a,l)};case 6:return function(o,t,a,l,c){return e(n,o,t,a,l,c)};case 7:return function(o,t,a,l,c,d){return e(n,o,t,a,l,c,d)};default:return de(e,[n])}}function I(e){var n=e.length;return n===1?e:function(r){return pn(e,r)}}function R(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function q(e){if(!(e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0))return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;if(n!==0)return{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function yn(e,n){if(e!==void 0)return n(q(e))}function k(e,n){return yn(e,I(n))}function E(e,n){return e!==void 0?q(e):n}function _n(e){return Promise.resolve({})}function En(e,n,r){return Promise.resolve({})}function hn(e){return Promise.resolve({})}function ye(e){return e}var B={clientSecret:"",confirmPayment:_n,confirmCardPayment:En,retrievePaymentIntent:hn,paymentRequest:ye},S=b.createContext(B),xn=S.Provider,G={make:xn},Y={ephemeralKey:"",paymentRequest:ye},Z=b.createContext(Y),gn=Z.Provider,Ce={make:gn};function O(e,n,r){return E(k(e[n],_.string),r)}function K(e){var n=E(_.object(e),{});return{fonts:E(k(n.fonts,_.array),[]),locale:O(n,"locale",""),clientSecret:O(n,"clientSecret",""),appearance:E(k(n.appearance,_.object),{}),loader:O(n,"loader","auto")}}function ve(e){}function _e(e){}function Ee(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function he(e,n){return fe}var Pn={fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},W={options:Pn,update:ve,getElement:_e,fetchUpdates:Ee,create:he},M=b.createContext(W),Rn=M.Provider,X={make:Rn};function xe(e){var n=E(_.object(e),{});return{fonts:E(k(n.fonts,_.array),[]),locale:O(n,"locale",""),ephemeralKey:O(n,"ephemeralKey",""),appearance:E(k(n.appearance,_.object),{}),loader:O(n,"loader","auto")}}var kn={fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},ee={options:kn,update:ve,getElement:_e,fetchUpdates:Ee,create:he},ne=b.createContext(ee),On=ne.Provider,ge={make:On};var Pe=m(require("react/jsx-runtime"));function Sn(e){var n=e.onClick,r=e.onBlur,o=e.onFocus,t=e.componentType,a=e.onReady,l=e.onChange,c=e.options,d=e.id,u=d!==void 0?d:"payment-Element",i=h.useContext(S),C=h.useContext(M),y=h.useRef(null),p=C.create(t,c);return h.useEffect(function(){var s=C.create(t,c);s.mount("#orca-elements-payment-element-"+u)},[y,C]),h.useEffect(function(){p.on("ready",a),p.on("focus",o),p.on("blur",r),p.on("clickTriggered",n),p.on("change",l)},[C,i]),Pe.jsx("div",{ref:R(y),id:"orca-elements-payment-element-"+u})}var f=Sn;function Mn(e){return Re.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var te=Mn;var A=m(require("react"));function N(e,n){return n.then(I(e))}var oe=m(require("react/jsx-runtime"));function Nn(e){var n=e.options,r=e.stripe,o=K(n),t=A.useState(function(){return B}),a=t[1],l=A.useState(function(){return W}),c=l[1];return A.useEffect(function(){(function(d){return N(function(u){var i=u.elements(n),C=i.update,y=i.getElement,p=i.fetchUpdates,s=i.create,g={options:o,update:C,getElement:y,fetchUpdates:p,create:s},F=o.clientSecret,J=u.confirmPayment,P=u.confirmCardPayment,V=u.retrievePaymentIntent,L=u.paymentRequest,T={clientSecret:F,confirmPayment:J,confirmCardPayment:P,retrievePaymentIntent:V,paymentRequest:L};return a(function(z){return T}),c(function(z){return g}),Promise.resolve(T)},d)})(r)},[]),oe.jsx(G.make,{value:t[0],children:oe.jsx(X.make,{value:l[0],children:e.children})})}var ke=Nn;var Oe=m(require("react/jsx-runtime"));function Jn(e){return Oe.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ae=Jn;var Se=m(require("react/jsx-runtime"));function Tn(e){return Se.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ue=Tn;var Me=m(require("react/jsx-runtime"));function Bn(e){return Me.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ie=Bn;var D=m(require("react"));var me=m(require("react/jsx-runtime"));function An(e){var n=e.options,r=e.hyper,o=K(n),t=D.useState(function(){return B}),a=t[1],l=D.useState(function(){return W}),c=l[1];return D.useEffect(function(){(function(d){return N(function(u){var i=u.elements(n),C=i.update,y=i.getElement,p=i.fetchUpdates,s=i.create,g={options:o,update:C,getElement:y,fetchUpdates:p,create:s},F=o.clientSecret,J=u.confirmPayment,P=u.confirmCardPayment,V=u.retrievePaymentIntent,L=u.paymentRequest,T={clientSecret:F,confirmPayment:J,confirmCardPayment:P,retrievePaymentIntent:V,paymentRequest:L};return a(function(z){return T}),c(function(z){return g}),Promise.resolve(T)},d)})(r)},[]),me.jsx(G.make,{value:t[0],children:me.jsx(X.make,{value:l[0],children:e.children})})}var we=An;var Ne=m(require("react/jsx-runtime"));function $n(e){return Ne.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Fe=$n;var Je=m(require("react/jsx-runtime"));function jn(e){return Je.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var le=jn;var Ve=m(require("react/jsx-runtime"));function qn(e){return Ve.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Te=qn;var be=m(require("react/jsx-runtime"));function Gn(e){return be.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Be=Gn;var We=m(require("react/jsx-runtime"));function Xn(e){return We.jsx(f,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Ae=Xn;var $=m(require("react"));var ce=m(require("react/jsx-runtime"));function zn(e){var n=e.options,r=e.hyper,o=xe(n),t=$.useState(function(){return Y}),a=t[1],l=$.useState(function(){return ee}),c=l[1];return $.useEffect(function(){(function(d){return N(function(u){var i=u.paymentMethodsManagementElements(n),C=i.update,y=i.getElement,p=i.fetchUpdates,s=i.create,g={options:o,update:C,getElement:y,fetchUpdates:p,create:s},F=o.ephemeralKey,J=u.paymentRequest,P={ephemeralKey:F,paymentRequest:J};return a(function(V){return P}),c(function(V){return g}),Promise.resolve(P)},d)})(r)},[]),ce.jsx(Ce.make,{value:t[0],children:ce.jsx(ge.make,{value:l[0],children:e.children})})}var De=zn;var x=m(require("react"));var $e=m(require("react/jsx-runtime"));function Yn(e){var n=e.onClick,r=e.onBlur,o=e.onFocus,t=e.componentType,a=e.onReady,l=e.onChange,c=e.options,d=e.id,u=d!==void 0?d:"payment-management",i=t!==void 0?t:"paymentMethodsManagement",C=x.useContext(Z),y=x.useContext(ne),p=x.useRef(null),s=y.create(i,c);return x.useEffect(function(){var g=y.create(i,c);g.mount("#orca-elements-payment-management-"+u)},[p,y]),x.useEffect(function(){return s.on("ready",a),s.on("focus",o),s.on("blur",r),s.on("clickTriggered",n),s.on("change",l),function(){s.on("ready",void 0),s.on("focus",void 0),s.on("blur",void 0),s.on("clickTriggered",void 0),s.on("change",void 0)}},[y,C]),$e.jsx("div",{ref:R(p),id:"orca-elements-payment-management-"+u})}var Ue=Yn;function et(){return U.useContext(S)}function nt(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),U.useContext(S)}function tt(){return U.useContext(M)}function rt(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),U.useContext(M)}var ot=ke,at=we,ut=le,it=le,mt=ie,lt=ie,ct=ue,st=ue,ft=te,dt=te,pt=ae,yt=ae,Ct=Be,vt=Te,_t=Fe,Et=Ae,ht=De,xt=Ue;
|
package/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as $ from"react";import*as xe from"react/jsx-runtime";import*as E from"react";import*as T from"react";function De(e,n){}function $e(){}function Ue(){}function je(e){}function Ie(){}function qe(){}function He(e){}function Ge(){}function Ke(){}var le={on:De,collapse:$e,blur:Ue,update:je,destroy:Ie,unmount:qe,mount:He,focus:Ge,clear:Ke};function Le(e){if(typeof e=="boolean")return e}function ze(e){if(e===null)return null}function Qe(e){if(typeof e=="string")return e}function Ye(e){if(typeof e=="number")return e}function Ze(e){if(typeof e=="object"&&!Array.isArray(e)&&e!==null)return e}function en(e){if(Array.isArray(e))return e}var v={bool:Le,$$null:ze,string:Qe,$$float:Ye,object:Ze,array:en};function L(e,n,o){for(var t=new Array(o),r=0,a=n;r<o;)t[r]=e[a],r=r+1|0,a=a+1|0;return t}function ce(e,n){for(;;){var o=n,t=e,r=t.length,a=r===0?1:r,m=o.length,l=a-m|0;if(l===0)return t.apply(null,o);if(l>=0)return function(f,u){return function(i){return ce(f,u.concat([i]))}}(t,o);n=L(o,a,-l|0),e=t.apply(null,L(o,0,a))}}function rn(e,n){var o=e.length;if(o===1)return e(n);switch(o){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,r){return e(n,t,r)};case 4:return function(t,r,a){return e(n,t,r,a)};case 5:return function(t,r,a,m){return e(n,t,r,a,m)};case 6:return function(t,r,a,m,l){return e(n,t,r,a,m,l)};case 7:return function(t,r,a,m,l,f){return e(n,t,r,a,m,l,f)};default:return ce(e,[n])}}function U(e){var n=e.length;return n===1?e:function(o){return rn(e,o)}}function P(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function j(e){if(!(e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0))return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;if(n!==0)return{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function on(e,n){if(e!==void 0)return n(j(e))}function R(e,n){return on(e,U(n))}function _(e,n){return e!==void 0?j(e):n}function mn(e){return Promise.resolve({})}function ln(e,n,o){return Promise.resolve({})}function cn(e){return Promise.resolve({})}function fe(e){return e}var b={clientSecret:"",confirmPayment:mn,confirmCardPayment:ln,retrievePaymentIntent:cn,paymentRequest:fe},O=T.createContext(b),sn=O.Provider,q={make:sn},z={ephemeralKey:"",paymentRequest:fe},Q=T.createContext(z),fn=Q.Provider,de={make:fn};function k(e,n,o){return _(R(e[n],v.string),o)}function H(e){var n=_(v.object(e),{});return{fonts:_(R(n.fonts,v.array),[]),locale:k(n,"locale",""),clientSecret:k(n,"clientSecret",""),appearance:_(R(n.appearance,v.object),{}),loader:k(n,"loader","auto")}}function pe(e){}function ye(e){}function Ce(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function ve(e,n){return le}var dn={fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},B={options:dn,update:pe,getElement:ye,fetchUpdates:Ce,create:ve},S=T.createContext(B),pn=S.Provider,G={make:pn};function _e(e){var n=_(v.object(e),{});return{fonts:_(R(n.fonts,v.array),[]),locale:k(n,"locale",""),ephemeralKey:k(n,"ephemeralKey",""),appearance:_(R(n.appearance,v.object),{}),loader:k(n,"loader","auto")}}var yn={fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},Y={options:yn,update:pe,getElement:ye,fetchUpdates:Ce,create:ve},Z=T.createContext(Y),Cn=Z.Provider,Ee={make:Cn};import*as he from"react/jsx-runtime";function vn(e){var n=e.onClick,o=e.onBlur,t=e.onFocus,r=e.componentType,a=e.onReady,m=e.onChange,l=e.options,f=e.id,u=f!==void 0?f:"payment-Element",i=E.useContext(O),y=E.useContext(S),p=E.useRef(null),d=y.create(r,l);return E.useEffect(function(){var c=y.create(r,l);c.mount("#orca-elements-payment-element-"+u)},[p,y]),E.useEffect(function(){d.on("ready",a),d.on("focus",t),d.on("blur",o),d.on("clickTriggered",n),d.on("change",m)},[y,i]),he.jsx("div",{ref:P(p),id:"orca-elements-payment-element-"+u})}var s=vn;function _n(e){return xe.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ee=_n;import*as W from"react";function w(e,n){return n.then(U(e))}import*as te from"react/jsx-runtime";function hn(e){var n=e.options,o=e.stripe,t=H(n),r=W.useState(function(){return b}),a=r[1],m=W.useState(function(){return B}),l=m[1];return W.useEffect(function(){(function(f){return w(function(u){var i=u.elements(n),y=i.update,p=i.getElement,d=i.fetchUpdates,c=i.create,x={options:t,update:y,getElement:p,fetchUpdates:d,create:c},N=t.clientSecret,F=u.confirmPayment,g=u.confirmCardPayment,J=u.retrievePaymentIntent,K=u.paymentRequest,V={clientSecret:N,confirmPayment:F,confirmCardPayment:g,retrievePaymentIntent:J,paymentRequest:K};return a(function(X){return V}),l(function(X){return x}),Promise.resolve(V)},f)})(o)},[]),te.jsx(q.make,{value:r[0],children:te.jsx(G.make,{value:m[0],children:e.children})})}var ge=hn;import*as Pe from"react/jsx-runtime";function gn(e){return Pe.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var re=gn;import*as Re from"react/jsx-runtime";function Rn(e){return Re.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var oe=Rn;import*as ke from"react/jsx-runtime";function On(e){return ke.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ae=On;import*as A from"react";import*as ue from"react/jsx-runtime";function Mn(e){var n=e.options,o=e.hyper,t=H(n),r=A.useState(function(){return b}),a=r[1],m=A.useState(function(){return B}),l=m[1];return A.useEffect(function(){(function(f){return w(function(u){var i=u.elements(n),y=i.update,p=i.getElement,d=i.fetchUpdates,c=i.create,x={options:t,update:y,getElement:p,fetchUpdates:d,create:c},N=t.clientSecret,F=u.confirmPayment,g=u.confirmCardPayment,J=u.retrievePaymentIntent,K=u.paymentRequest,V={clientSecret:N,confirmPayment:F,confirmCardPayment:g,retrievePaymentIntent:J,paymentRequest:K};return a(function(X){return V}),l(function(X){return x}),Promise.resolve(V)},f)})(o)},[]),ue.jsx(q.make,{value:r[0],children:ue.jsx(G.make,{value:m[0],children:e.children})})}var Oe=Mn;import*as Se from"react/jsx-runtime";function Nn(e){return Se.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Me=Nn;import*as we from"react/jsx-runtime";function Jn(e){return we.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var ie=Jn;import*as Ne from"react/jsx-runtime";function Tn(e){return Ne.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Fe=Tn;import*as Je from"react/jsx-runtime";function Bn(e){return Je.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var Ve=Bn;import*as Te from"react/jsx-runtime";function An(e){return Te.jsx(s,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick})}var be=An;import*as D from"react";import*as me from"react/jsx-runtime";function $n(e){var n=e.options,o=e.hyper,t=_e(n),r=D.useState(function(){return z}),a=r[1],m=D.useState(function(){return Y}),l=m[1];return D.useEffect(function(){(function(f){return w(function(u){var i=u.paymentMethodsManagementElements(n),y=i.update,p=i.getElement,d=i.fetchUpdates,c=i.create,x={options:t,update:y,getElement:p,fetchUpdates:d,create:c},N=t.ephemeralKey,F=u.paymentRequest,g={ephemeralKey:N,paymentRequest:F};return a(function(J){return g}),l(function(J){return x}),Promise.resolve(g)},f)})(o)},[]),me.jsx(de.make,{value:r[0],children:me.jsx(Ee.make,{value:m[0],children:e.children})})}var Be=$n;import*as h from"react";import*as We from"react/jsx-runtime";function jn(e){var n=e.onClick,o=e.onBlur,t=e.onFocus,r=e.componentType,a=e.onReady,m=e.onChange,l=e.options,f=e.id,u=f!==void 0?f:"payment-management",i=r!==void 0?r:"paymentMethodsManagement",y=h.useContext(Q),p=h.useContext(Z),d=h.useRef(null),c=p.create(i,l);return h.useEffect(function(){var x=p.create(i,l);x.mount("#orca-elements-payment-management-"+u)},[d,p]),h.useEffect(function(){return c.on("ready",a),c.on("focus",t),c.on("blur",o),c.on("clickTriggered",n),c.on("change",m),function(){c.on("ready",void 0),c.on("focus",void 0),c.on("blur",void 0),c.on("clickTriggered",void 0),c.on("change",void 0)}},[p,y]),We.jsx("div",{ref:P(d),id:"orca-elements-payment-management-"+u})}var Ae=jn;function Hn(){return $.useContext(O)}function Gn(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),$.useContext(O)}function Kn(){return $.useContext(S)}function Xn(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),$.useContext(S)}var Ln=ge,zn=Oe,Qn=ie,Yn=ie,Zn=ae,et=ae,nt=oe,tt=oe,rt=ee,ot=ee,at=re,ut=re,it=Ve,mt=Fe,lt=Me,ct=be,st=Be,ft=Ae;export{mt as ApplePayElement,rt as CardCVCElement,ot as CardCVCWidget,Zn as CardElement,at as CardExpiryElement,ut as CardExpiryWidget,nt as CardNumberElement,tt as CardNumberWidget,et as CardWidget,Ln as Elements,ct as ExpressCheckoutElement,it as GooglePayElement,zn as HyperElements,st as HyperManagementElements,lt as PayPalElement,Qn as PaymentElement,ft as PaymentMethodsManagementElement,Yn as UnifiedCheckout,Xn as useElements,Hn as useHyper,Gn as useStripe,Kn as useWidgets};
|
package/package.json
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juspay-tech/react-hyper-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"main": "index.js",
|
|
5
|
+
"module": "index.mjs",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./index.mjs",
|
|
9
|
+
"require": "./index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
5
12
|
"dependencies": {
|
|
6
|
-
"@rescript/react": "^0.
|
|
13
|
+
"@rescript/react": "^0.12.1",
|
|
7
14
|
"@ryyppy/rescript-promise": "^2.1.0",
|
|
8
|
-
"bs-fetch": "^0.6.2",
|
|
9
15
|
"postcss": "^8.4.19",
|
|
10
|
-
"react-scripts": "^
|
|
16
|
+
"react-scripts": "^5.0.1",
|
|
17
|
+
"@rescript/core": "^0.7.0"
|
|
11
18
|
},
|
|
12
19
|
"peerDependencies": {
|
|
13
20
|
"react": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -19,32 +26,20 @@
|
|
|
19
26
|
"build:es": "node build.js",
|
|
20
27
|
"re:build": "rescript",
|
|
21
28
|
"re:start": "rescript build -w",
|
|
29
|
+
"re:format": "rescript format -all",
|
|
30
|
+
"re:clean": "rescript clean",
|
|
22
31
|
"publish:public": "npm publish --access public"
|
|
23
32
|
},
|
|
24
33
|
"devDependencies": {
|
|
25
|
-
"@babel/cli": "^7.7.0",
|
|
26
|
-
"@babel/core": "^7.7.2",
|
|
27
|
-
"@babel/plugin-transform-react-jsx": "^7.10.1",
|
|
28
34
|
"@babel/preset-env": "^7.7.1",
|
|
29
35
|
"@babel/preset-react": "^7.7.0",
|
|
30
|
-
"babel-
|
|
31
|
-
"
|
|
32
|
-
"babel-eslint": "^10.0.3",
|
|
33
|
-
"babel-jest": "^24.9.0",
|
|
34
|
-
"babel-loader": "^8.0.6",
|
|
35
|
-
"babel-preset-env": "^1.7.0",
|
|
36
|
-
"babel-preset-react": "^6.24.1",
|
|
37
|
-
"babel-preset-stage-2": "^6.24.1",
|
|
38
|
-
"css-loader": "^0.28.11",
|
|
36
|
+
"babel-loader": "^8.3.0",
|
|
37
|
+
"css-loader": "^6.8.1",
|
|
39
38
|
"esbuild": "^0.17.4",
|
|
40
39
|
"esbuild-plugin-copy": "^1.3.0",
|
|
41
40
|
"esbuild-plugin-inline-image": "0.0.8",
|
|
42
41
|
"esbuild-postcss": "0.0.4",
|
|
43
|
-
"
|
|
44
|
-
"react-hot-loader": "^4.3.3",
|
|
45
|
-
"rescript": "^10.0.1",
|
|
46
|
-
"rollup-plugin-babel": "^4.3.3",
|
|
47
|
-
"sass-loader": "^7.0.3",
|
|
42
|
+
"rescript": "^11.1.0",
|
|
48
43
|
"style-loader": "^0.21.0"
|
|
49
44
|
},
|
|
50
45
|
"directories": {
|
package/rescript.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-orca-js",
|
|
3
|
+
"sources": [
|
|
4
|
+
{
|
|
5
|
+
"dir": "src",
|
|
6
|
+
"subdirs": true
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"bsc-flags": ["-bs-super-errors", "-open RescriptCore"],
|
|
10
|
+
"package-specs": [
|
|
11
|
+
{
|
|
12
|
+
"module": "esmodule",
|
|
13
|
+
"in-source": true
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"suffix": ".bs.js",
|
|
17
|
+
"jsx": { "version": 4 },
|
|
18
|
+
"bs-dependencies": [
|
|
19
|
+
"@rescript/react",
|
|
20
|
+
"@ryyppy/rescript-promise",
|
|
21
|
+
"@rescript/core"
|
|
22
|
+
]
|
|
23
|
+
}
|
package/src/Context.bs.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import * as OrcaJs from "./OrcaJs.bs.js";
|
|
5
|
-
import * as
|
|
6
|
-
import * as Js_json from "rescript/lib/es6/js_json.js";
|
|
5
|
+
import * as Core__JSON from "@rescript/core/src/Core__JSON.bs.js";
|
|
7
6
|
import * as Belt_Option from "rescript/lib/es6/belt_Option.js";
|
|
7
|
+
import * as Core__Option from "@rescript/core/src/Core__Option.bs.js";
|
|
8
8
|
|
|
9
9
|
function confirmPaymentFn(_elements) {
|
|
10
10
|
return Promise.resolve({});
|
|
@@ -32,31 +32,36 @@ var defaultSwitchContext = {
|
|
|
32
32
|
|
|
33
33
|
var switchContext = React.createContext(defaultSwitchContext);
|
|
34
34
|
|
|
35
|
-
function makeProps(value, children, param) {
|
|
36
|
-
return {
|
|
37
|
-
value: value,
|
|
38
|
-
children: children
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
35
|
var make = switchContext.Provider;
|
|
43
36
|
|
|
44
37
|
var SwitchContextProvider = {
|
|
45
|
-
makeProps: makeProps,
|
|
46
38
|
make: make
|
|
47
39
|
};
|
|
48
40
|
|
|
41
|
+
var defaultPaymentMethodsManagementSwitchContext = {
|
|
42
|
+
ephemeralKey: "",
|
|
43
|
+
paymentRequest: paymentRequest
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var paymentMethodsManagementSwitchContext = React.createContext(defaultPaymentMethodsManagementSwitchContext);
|
|
47
|
+
|
|
48
|
+
var make$1 = paymentMethodsManagementSwitchContext.Provider;
|
|
49
|
+
|
|
50
|
+
var PaymentMethodsManagementSwitchContextProvider = {
|
|
51
|
+
make: make$1
|
|
52
|
+
};
|
|
53
|
+
|
|
49
54
|
function getString(dict, key, defaultVal) {
|
|
50
|
-
return
|
|
55
|
+
return Core__Option.getOr(Belt_Option.flatMap(dict[key], Core__JSON.Decode.string), defaultVal);
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
function elementsOptionObjMapper(options) {
|
|
54
|
-
var dict =
|
|
59
|
+
var dict = Core__Option.getOr(Core__JSON.Decode.object(options), {});
|
|
55
60
|
return {
|
|
56
|
-
fonts:
|
|
61
|
+
fonts: Core__Option.getOr(Belt_Option.flatMap(dict["fonts"], Core__JSON.Decode.array), []),
|
|
57
62
|
locale: getString(dict, "locale", ""),
|
|
58
63
|
clientSecret: getString(dict, "clientSecret", ""),
|
|
59
|
-
appearance:
|
|
64
|
+
appearance: Core__Option.getOr(Belt_Option.flatMap(dict["appearance"], Core__JSON.Decode.object), {}),
|
|
60
65
|
loader: getString(dict, "loader", "auto")
|
|
61
66
|
};
|
|
62
67
|
}
|
|
@@ -69,9 +74,9 @@ function getElement(_componentName) {
|
|
|
69
74
|
|
|
70
75
|
}
|
|
71
76
|
|
|
72
|
-
function fetchUpdates(
|
|
77
|
+
function fetchUpdates() {
|
|
73
78
|
return new Promise((function (resolve, param) {
|
|
74
|
-
setTimeout((function (
|
|
79
|
+
setTimeout((function () {
|
|
75
80
|
resolve({});
|
|
76
81
|
}), 1000);
|
|
77
82
|
}));
|
|
@@ -99,18 +104,45 @@ var defaultElementsContext = {
|
|
|
99
104
|
|
|
100
105
|
var elementsContext = React.createContext(defaultElementsContext);
|
|
101
106
|
|
|
102
|
-
|
|
107
|
+
var make$2 = elementsContext.Provider;
|
|
108
|
+
|
|
109
|
+
var ElementsContextProvider = {
|
|
110
|
+
make: make$2
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
function paymentMethodsManagementElementsOptionObjMapper(options) {
|
|
114
|
+
var dict = Core__Option.getOr(Core__JSON.Decode.object(options), {});
|
|
103
115
|
return {
|
|
104
|
-
|
|
105
|
-
|
|
116
|
+
fonts: Core__Option.getOr(Belt_Option.flatMap(dict["fonts"], Core__JSON.Decode.array), []),
|
|
117
|
+
locale: getString(dict, "locale", ""),
|
|
118
|
+
ephemeralKey: getString(dict, "ephemeralKey", ""),
|
|
119
|
+
appearance: Core__Option.getOr(Belt_Option.flatMap(dict["appearance"], Core__JSON.Decode.object), {}),
|
|
120
|
+
loader: getString(dict, "loader", "auto")
|
|
106
121
|
};
|
|
107
122
|
}
|
|
108
123
|
|
|
109
|
-
var
|
|
124
|
+
var defaultPaymentMethodsManagementElementsContext_options = {
|
|
125
|
+
fonts: [],
|
|
126
|
+
locale: "",
|
|
127
|
+
ephemeralKey: "",
|
|
128
|
+
appearance: {},
|
|
129
|
+
loader: ""
|
|
130
|
+
};
|
|
110
131
|
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
|
|
132
|
+
var defaultPaymentMethodsManagementElementsContext = {
|
|
133
|
+
options: defaultPaymentMethodsManagementElementsContext_options,
|
|
134
|
+
update: update,
|
|
135
|
+
getElement: getElement,
|
|
136
|
+
fetchUpdates: fetchUpdates,
|
|
137
|
+
create: create
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var paymentMethodsManagementElementsContext = React.createContext(defaultPaymentMethodsManagementElementsContext);
|
|
141
|
+
|
|
142
|
+
var make$3 = paymentMethodsManagementElementsContext.Provider;
|
|
143
|
+
|
|
144
|
+
var PaymentMethodsManagementElementsContextProvider = {
|
|
145
|
+
make: make$3
|
|
114
146
|
};
|
|
115
147
|
|
|
116
148
|
export {
|
|
@@ -121,6 +153,9 @@ export {
|
|
|
121
153
|
defaultSwitchContext ,
|
|
122
154
|
switchContext ,
|
|
123
155
|
SwitchContextProvider ,
|
|
156
|
+
defaultPaymentMethodsManagementSwitchContext ,
|
|
157
|
+
paymentMethodsManagementSwitchContext ,
|
|
158
|
+
PaymentMethodsManagementSwitchContextProvider ,
|
|
124
159
|
getString ,
|
|
125
160
|
elementsOptionObjMapper ,
|
|
126
161
|
update ,
|
|
@@ -130,5 +165,9 @@ export {
|
|
|
130
165
|
defaultElementsContext ,
|
|
131
166
|
elementsContext ,
|
|
132
167
|
ElementsContextProvider ,
|
|
168
|
+
paymentMethodsManagementElementsOptionObjMapper ,
|
|
169
|
+
defaultPaymentMethodsManagementElementsContext ,
|
|
170
|
+
paymentMethodsManagementElementsContext ,
|
|
171
|
+
PaymentMethodsManagementElementsContextProvider ,
|
|
133
172
|
}
|
|
134
|
-
/*
|
|
173
|
+
/* switchContext Not a pure module */
|
package/src/Context.res
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
external contentWindow: Js.nullable<Dom.element> => Js.nullable<Dom.element> = "contentWindow"
|
|
3
3
|
@send
|
|
4
4
|
external postMessage: (Js.nullable<Dom.element>, string, string) => unit = "postMessage"
|
|
5
|
-
external jsonToRef:
|
|
5
|
+
external jsonToRef: JSON.t => React.ref<Js.nullable<Dom.element>> = "%identity"
|
|
6
6
|
@get external getClientSecret: 'a => string = "clientSecret"
|
|
7
|
-
external toJson: 'b =>
|
|
8
|
-
type func =
|
|
7
|
+
external toJson: 'b => JSON.t = "%identity"
|
|
8
|
+
type func = unit => string
|
|
9
9
|
external toFunc: 'c => func = "%identity"
|
|
10
10
|
|
|
11
11
|
type paymentElement
|
|
@@ -18,7 +18,7 @@ type address = {
|
|
|
18
18
|
postal_code: option<string>,
|
|
19
19
|
state: option<string>,
|
|
20
20
|
}
|
|
21
|
-
type confirmCardPaymentMethodType = String(string) | Obj(
|
|
21
|
+
type confirmCardPaymentMethodType = String(string) | Obj(JSON.t)
|
|
22
22
|
type shipping = {
|
|
23
23
|
address: address,
|
|
24
24
|
name: string,
|
|
@@ -40,49 +40,64 @@ type confirmCardPaymentDataType = {
|
|
|
40
40
|
payment_method_options: string,
|
|
41
41
|
}
|
|
42
42
|
type elementsOptions = {
|
|
43
|
-
fonts:
|
|
43
|
+
fonts: array<JSON.t>,
|
|
44
44
|
locale: string,
|
|
45
45
|
clientSecret: string,
|
|
46
|
-
appearance:
|
|
46
|
+
appearance: Dict.t<JSON.t>,
|
|
47
47
|
loader: string,
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
type paymentMethodsManagementElementsOptions = {
|
|
50
|
+
fonts: array<JSON.t>,
|
|
51
|
+
locale: string,
|
|
52
|
+
ephemeralKey: string,
|
|
53
|
+
appearance: Dict.t<JSON.t>,
|
|
54
|
+
loader: string,
|
|
55
|
+
}
|
|
56
|
+
external optionsToJson: elementsOptions => JSON.t = "%identity"
|
|
50
57
|
type rec elementsType = {
|
|
51
58
|
options: elementsOptions,
|
|
52
|
-
update:
|
|
53
|
-
getElement:
|
|
54
|
-
fetchUpdates: unit =>
|
|
55
|
-
create: (string,
|
|
59
|
+
update: JSON.t => unit,
|
|
60
|
+
getElement: string => option<OrcaJs.paymentElement>,
|
|
61
|
+
fetchUpdates: unit => Promise.t<JSON.t>,
|
|
62
|
+
create: (string, JSON.t) => OrcaJs.paymentElement, // return a react component instead by doing new Payment Element.
|
|
56
63
|
}
|
|
57
64
|
|
|
58
|
-
type
|
|
65
|
+
type rec paymentMethodsManagementElementsType = {
|
|
66
|
+
options: paymentMethodsManagementElementsOptions,
|
|
67
|
+
update: JSON.t => unit,
|
|
68
|
+
getElement: string => option<OrcaJs.paymentElement>,
|
|
69
|
+
fetchUpdates: unit => Promise.t<JSON.t>,
|
|
70
|
+
create: (string, JSON.t) => OrcaJs.paymentElement,
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
type elementsContextType = {options: Dict.t<JSON.t>}
|
|
59
74
|
type confirmPaymentParams = {return_url: string}
|
|
60
75
|
type switchContextType = {
|
|
61
76
|
clientSecret: string,
|
|
62
|
-
confirmPayment:
|
|
63
|
-
confirmCardPayment:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
let
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
confirmPayment: JSON.t => Promise.t<JSON.t>,
|
|
78
|
+
confirmCardPayment: (string, option<JSON.t>, option<JSON.t>) => Promise.t<JSON.t>,
|
|
79
|
+
retrievePaymentIntent: string => Promise.t<JSON.t>,
|
|
80
|
+
paymentRequest: JSON.t => JSON.t,
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type paymentMethodsManagementSwitchContextType = {
|
|
84
|
+
ephemeralKey: string,
|
|
85
|
+
paymentRequest: JSON.t => JSON.t,
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
let confirmPaymentFn = (_elements: JSON.t) => {
|
|
89
|
+
Promise.resolve(Dict.make()->JSON.Encode.object)
|
|
90
|
+
}
|
|
91
|
+
let confirmCardPaymentFn = (
|
|
92
|
+
_clientSecretId: string,
|
|
93
|
+
_data: option<JSON.t>,
|
|
94
|
+
_options: option<JSON.t>,
|
|
95
|
+
) => {
|
|
96
|
+
Promise.resolve(Dict.make()->JSON.Encode.object)
|
|
97
|
+
}
|
|
83
98
|
|
|
84
99
|
let retrievePaymentIntentFn = _paymentIntentId => {
|
|
85
|
-
|
|
100
|
+
Promise.resolve(Dict.make()->JSON.Encode.object)
|
|
86
101
|
}
|
|
87
102
|
let paymentRequest = options => {
|
|
88
103
|
options
|
|
@@ -99,35 +114,42 @@ let defaultSwitchContext = {
|
|
|
99
114
|
let switchContext = React.createContext(defaultSwitchContext)
|
|
100
115
|
|
|
101
116
|
module SwitchContextProvider = {
|
|
102
|
-
let makeProps = (~value, ~children, ()) =>
|
|
103
|
-
{
|
|
104
|
-
"value": value,
|
|
105
|
-
"children": children,
|
|
106
|
-
}
|
|
107
|
-
|
|
108
117
|
let make = React.Context.provider(switchContext)
|
|
109
118
|
}
|
|
110
119
|
|
|
120
|
+
let defaultPaymentMethodsManagementSwitchContext = {
|
|
121
|
+
ephemeralKey: "",
|
|
122
|
+
paymentRequest,
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
let paymentMethodsManagementSwitchContext = React.createContext(
|
|
126
|
+
defaultPaymentMethodsManagementSwitchContext,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
module PaymentMethodsManagementSwitchContextProvider = {
|
|
130
|
+
let make = React.Context.provider(paymentMethodsManagementSwitchContext)
|
|
131
|
+
}
|
|
132
|
+
|
|
111
133
|
let getString = (dict, key, defaultVal) => {
|
|
112
134
|
dict
|
|
113
|
-
->
|
|
114
|
-
->Belt.Option.flatMap(
|
|
115
|
-
->
|
|
135
|
+
->Dict.get(key)
|
|
136
|
+
->Belt.Option.flatMap(JSON.Decode.string)
|
|
137
|
+
->Option.getOr(defaultVal)
|
|
116
138
|
}
|
|
117
139
|
|
|
118
|
-
let elementsOptionObjMapper = (options:
|
|
119
|
-
let dict = options->
|
|
140
|
+
let elementsOptionObjMapper = (options: JSON.t) => {
|
|
141
|
+
let dict = options->JSON.Decode.object->Option.getOr(Dict.make())
|
|
120
142
|
{
|
|
121
143
|
fonts: dict
|
|
122
|
-
->
|
|
123
|
-
->Belt.Option.flatMap(
|
|
124
|
-
->
|
|
144
|
+
->Dict.get("fonts")
|
|
145
|
+
->Belt.Option.flatMap(JSON.Decode.array)
|
|
146
|
+
->Option.getOr([]),
|
|
125
147
|
locale: dict->getString("locale", ""),
|
|
126
148
|
clientSecret: dict->getString("clientSecret", ""),
|
|
127
149
|
appearance: dict
|
|
128
|
-
->
|
|
129
|
-
->Belt.Option.flatMap(
|
|
130
|
-
->
|
|
150
|
+
->Dict.get("appearance")
|
|
151
|
+
->Belt.Option.flatMap(JSON.Decode.object)
|
|
152
|
+
->Option.getOr(Dict.make()),
|
|
131
153
|
loader: dict->getString("loader", "auto"),
|
|
132
154
|
}
|
|
133
155
|
}
|
|
@@ -142,20 +164,20 @@ let getElement = _componentName => {
|
|
|
142
164
|
|
|
143
165
|
let fetchUpdates = () => {
|
|
144
166
|
//add API call
|
|
145
|
-
|
|
146
|
-
|
|
167
|
+
Promise.make((resolve, _) => {
|
|
168
|
+
setTimeout(() => resolve(Dict.make()->JSON.Encode.object), 1000)->ignore
|
|
147
169
|
})
|
|
148
170
|
}
|
|
149
171
|
|
|
150
172
|
let create = (_componentType, _options) => {
|
|
151
173
|
OrcaJs.defaultPaymentElement
|
|
152
174
|
}
|
|
153
|
-
let defaultElementsContext = {
|
|
175
|
+
let defaultElementsContext: elementsType = {
|
|
154
176
|
options: {
|
|
155
177
|
fonts: [],
|
|
156
178
|
locale: "",
|
|
157
179
|
clientSecret: "",
|
|
158
|
-
appearance:
|
|
180
|
+
appearance: Dict.make(),
|
|
159
181
|
loader: "",
|
|
160
182
|
},
|
|
161
183
|
update,
|
|
@@ -167,11 +189,44 @@ let defaultElementsContext = {
|
|
|
167
189
|
let elementsContext = React.createContext(defaultElementsContext)
|
|
168
190
|
|
|
169
191
|
module ElementsContextProvider = {
|
|
170
|
-
let makeProps = (~value, ~children, ()) =>
|
|
171
|
-
{
|
|
172
|
-
"value": value,
|
|
173
|
-
"children": children,
|
|
174
|
-
}
|
|
175
|
-
|
|
176
192
|
let make = React.Context.provider(elementsContext)
|
|
177
193
|
}
|
|
194
|
+
|
|
195
|
+
let paymentMethodsManagementElementsOptionObjMapper = (options: JSON.t) => {
|
|
196
|
+
let dict = options->JSON.Decode.object->Option.getOr(Dict.make())
|
|
197
|
+
{
|
|
198
|
+
fonts: dict
|
|
199
|
+
->Dict.get("fonts")
|
|
200
|
+
->Belt.Option.flatMap(JSON.Decode.array)
|
|
201
|
+
->Option.getOr([]),
|
|
202
|
+
locale: dict->getString("locale", ""),
|
|
203
|
+
ephemeralKey: dict->getString("ephemeralKey", ""),
|
|
204
|
+
appearance: dict
|
|
205
|
+
->Dict.get("appearance")
|
|
206
|
+
->Belt.Option.flatMap(JSON.Decode.object)
|
|
207
|
+
->Option.getOr(Dict.make()),
|
|
208
|
+
loader: dict->getString("loader", "auto"),
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
let defaultPaymentMethodsManagementElementsContext: paymentMethodsManagementElementsType = {
|
|
213
|
+
options: {
|
|
214
|
+
fonts: [],
|
|
215
|
+
locale: "",
|
|
216
|
+
ephemeralKey: "",
|
|
217
|
+
appearance: Js.Dict.empty(),
|
|
218
|
+
loader: "",
|
|
219
|
+
},
|
|
220
|
+
update,
|
|
221
|
+
getElement,
|
|
222
|
+
fetchUpdates,
|
|
223
|
+
create,
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
let paymentMethodsManagementElementsContext = React.createContext(
|
|
227
|
+
defaultPaymentMethodsManagementElementsContext,
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
module PaymentMethodsManagementElementsContextProvider = {
|
|
231
|
+
let make = React.Context.provider(paymentMethodsManagementElementsContext)
|
|
232
|
+
}
|