@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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
4
|
+
import * as PaymentElementsWrapper from "./PaymentElementsWrapper.bs.js";
|
|
5
|
+
|
|
6
|
+
function ExpressCheckoutElement(props) {
|
|
7
|
+
return JsxRuntime.jsx(PaymentElementsWrapper.make, {
|
|
8
|
+
id: props.id,
|
|
9
|
+
options: props.options,
|
|
10
|
+
onChange: props.onChange,
|
|
11
|
+
onReady: props.onReady,
|
|
12
|
+
componentType: "expressCheckout",
|
|
13
|
+
onFocus: props.onFocus,
|
|
14
|
+
onBlur: props.onBlur,
|
|
15
|
+
onClick: props.onClick
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var make = ExpressCheckoutElement;
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
make ,
|
|
23
|
+
}
|
|
24
|
+
/* react/jsx-runtime Not a pure module */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
4
|
+
import * as PaymentElementsWrapper from "./PaymentElementsWrapper.bs.js";
|
|
5
|
+
|
|
6
|
+
function GooglePayElement(props) {
|
|
7
|
+
return JsxRuntime.jsx(PaymentElementsWrapper.make, {
|
|
8
|
+
id: props.id,
|
|
9
|
+
options: props.options,
|
|
10
|
+
onChange: props.onChange,
|
|
11
|
+
onReady: props.onReady,
|
|
12
|
+
componentType: "googlePay",
|
|
13
|
+
onFocus: props.onFocus,
|
|
14
|
+
onBlur: props.onBlur,
|
|
15
|
+
onClick: props.onClick
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var make = GooglePayElement;
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
make ,
|
|
23
|
+
}
|
|
24
|
+
/* react/jsx-runtime Not a pure module */
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as Context from "../Context.bs.js";
|
|
5
|
+
import * as Js_promise from "rescript/lib/es6/js_promise.js";
|
|
6
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
function HyperElements(props) {
|
|
9
|
+
var options = props.options;
|
|
10
|
+
var hyper = props.hyper;
|
|
11
|
+
var elementOptions = Context.elementsOptionObjMapper(options);
|
|
12
|
+
var match = React.useState(function () {
|
|
13
|
+
return Context.defaultSwitchContext;
|
|
14
|
+
});
|
|
15
|
+
var setSwitchState = match[1];
|
|
16
|
+
var match$1 = React.useState(function () {
|
|
17
|
+
return Context.defaultElementsContext;
|
|
18
|
+
});
|
|
19
|
+
var setElementsState = match$1[1];
|
|
20
|
+
React.useEffect((function () {
|
|
21
|
+
((function (__x) {
|
|
22
|
+
return Js_promise.then_((function (switchInstance) {
|
|
23
|
+
var orcaElementsConfig = switchInstance.elements(options);
|
|
24
|
+
var newElemValues_update = orcaElementsConfig.update;
|
|
25
|
+
var newElemValues_getElement = orcaElementsConfig.getElement;
|
|
26
|
+
var newElemValues_fetchUpdates = orcaElementsConfig.fetchUpdates;
|
|
27
|
+
var newElemValues_create = orcaElementsConfig.create;
|
|
28
|
+
var newElemValues = {
|
|
29
|
+
options: elementOptions,
|
|
30
|
+
update: newElemValues_update,
|
|
31
|
+
getElement: newElemValues_getElement,
|
|
32
|
+
fetchUpdates: newElemValues_fetchUpdates,
|
|
33
|
+
create: newElemValues_create
|
|
34
|
+
};
|
|
35
|
+
var switchValClone_clientSecret = elementOptions.clientSecret;
|
|
36
|
+
var switchValClone_confirmPayment = switchInstance.confirmPayment;
|
|
37
|
+
var switchValClone_confirmCardPayment = switchInstance.confirmCardPayment;
|
|
38
|
+
var switchValClone_retrievePaymentIntent = switchInstance.retrievePaymentIntent;
|
|
39
|
+
var switchValClone_paymentRequest = switchInstance.paymentRequest;
|
|
40
|
+
var switchValClone = {
|
|
41
|
+
clientSecret: switchValClone_clientSecret,
|
|
42
|
+
confirmPayment: switchValClone_confirmPayment,
|
|
43
|
+
confirmCardPayment: switchValClone_confirmCardPayment,
|
|
44
|
+
retrievePaymentIntent: switchValClone_retrievePaymentIntent,
|
|
45
|
+
paymentRequest: switchValClone_paymentRequest
|
|
46
|
+
};
|
|
47
|
+
setSwitchState(function (param) {
|
|
48
|
+
return switchValClone;
|
|
49
|
+
});
|
|
50
|
+
setElementsState(function (param) {
|
|
51
|
+
return newElemValues;
|
|
52
|
+
});
|
|
53
|
+
return Promise.resolve(switchValClone);
|
|
54
|
+
}), __x);
|
|
55
|
+
})(hyper));
|
|
56
|
+
}), []);
|
|
57
|
+
return JsxRuntime.jsx(Context.SwitchContextProvider.make, {
|
|
58
|
+
value: match[0],
|
|
59
|
+
children: JsxRuntime.jsx(Context.ElementsContextProvider.make, {
|
|
60
|
+
value: match$1[0],
|
|
61
|
+
children: props.children
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var make = HyperElements;
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
make ,
|
|
70
|
+
}
|
|
71
|
+
/* react Not a pure module */
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@react.component
|
|
2
|
+
let make = (~children, ~hyper: Promise.t<OrcaJs.switchInstance>, ~options: JSON.t) => {
|
|
3
|
+
let elementOptions = options->Context.elementsOptionObjMapper
|
|
4
|
+
let (switchState, setSwitchState) = React.useState(() => Context.defaultSwitchContext)
|
|
5
|
+
let (elementsState, setElementsState) = React.useState(() => Context.defaultElementsContext)
|
|
6
|
+
|
|
7
|
+
React.useEffect0(() => {
|
|
8
|
+
hyper
|
|
9
|
+
->(Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => {
|
|
10
|
+
let orcaElementsConfig = switchInstance.elements(options)
|
|
11
|
+
let newElemValues: Context.elementsType = {
|
|
12
|
+
options: elementOptions,
|
|
13
|
+
update: orcaElementsConfig.update,
|
|
14
|
+
getElement: orcaElementsConfig.getElement,
|
|
15
|
+
fetchUpdates: orcaElementsConfig.fetchUpdates,
|
|
16
|
+
create: orcaElementsConfig.create,
|
|
17
|
+
}
|
|
18
|
+
let switchValClone: Context.switchContextType = {
|
|
19
|
+
confirmPayment: switchInstance.confirmPayment,
|
|
20
|
+
confirmCardPayment: switchInstance.confirmCardPayment,
|
|
21
|
+
retrievePaymentIntent: switchInstance.retrievePaymentIntent,
|
|
22
|
+
clientSecret: elementOptions.clientSecret,
|
|
23
|
+
paymentRequest: switchInstance.paymentRequest,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
setSwitchState(_ => switchValClone)
|
|
27
|
+
setElementsState(_ => newElemValues)
|
|
28
|
+
Promise.resolve(switchValClone)
|
|
29
|
+
}, _))
|
|
30
|
+
->ignore
|
|
31
|
+
None
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
<Context.SwitchContextProvider value={switchState}>
|
|
35
|
+
<Context.ElementsContextProvider value={elementsState}>
|
|
36
|
+
{children}
|
|
37
|
+
</Context.ElementsContextProvider>
|
|
38
|
+
</Context.SwitchContextProvider>
|
|
39
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as Context from "../Context.bs.js";
|
|
5
|
+
import * as Js_promise from "rescript/lib/es6/js_promise.js";
|
|
6
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
function HyperManagementElements(props) {
|
|
9
|
+
var options = props.options;
|
|
10
|
+
var hyper = props.hyper;
|
|
11
|
+
var paymentMethodsManagementElementOptions = Context.paymentMethodsManagementElementsOptionObjMapper(options);
|
|
12
|
+
var match = React.useState(function () {
|
|
13
|
+
return Context.defaultPaymentMethodsManagementSwitchContext;
|
|
14
|
+
});
|
|
15
|
+
var setSwitchState = match[1];
|
|
16
|
+
var match$1 = React.useState(function () {
|
|
17
|
+
return Context.defaultPaymentMethodsManagementElementsContext;
|
|
18
|
+
});
|
|
19
|
+
var setElementsState = match$1[1];
|
|
20
|
+
React.useEffect((function () {
|
|
21
|
+
((function (__x) {
|
|
22
|
+
return Js_promise.then_((function (switchInstance) {
|
|
23
|
+
var orcaElementsConfig = switchInstance.paymentMethodsManagementElements(options);
|
|
24
|
+
var newElemValues_update = orcaElementsConfig.update;
|
|
25
|
+
var newElemValues_getElement = orcaElementsConfig.getElement;
|
|
26
|
+
var newElemValues_fetchUpdates = orcaElementsConfig.fetchUpdates;
|
|
27
|
+
var newElemValues_create = orcaElementsConfig.create;
|
|
28
|
+
var newElemValues = {
|
|
29
|
+
options: paymentMethodsManagementElementOptions,
|
|
30
|
+
update: newElemValues_update,
|
|
31
|
+
getElement: newElemValues_getElement,
|
|
32
|
+
fetchUpdates: newElemValues_fetchUpdates,
|
|
33
|
+
create: newElemValues_create
|
|
34
|
+
};
|
|
35
|
+
var switchValClone_ephemeralKey = paymentMethodsManagementElementOptions.ephemeralKey;
|
|
36
|
+
var switchValClone_paymentRequest = switchInstance.paymentRequest;
|
|
37
|
+
var switchValClone = {
|
|
38
|
+
ephemeralKey: switchValClone_ephemeralKey,
|
|
39
|
+
paymentRequest: switchValClone_paymentRequest
|
|
40
|
+
};
|
|
41
|
+
setSwitchState(function (param) {
|
|
42
|
+
return switchValClone;
|
|
43
|
+
});
|
|
44
|
+
setElementsState(function (param) {
|
|
45
|
+
return newElemValues;
|
|
46
|
+
});
|
|
47
|
+
return Promise.resolve(switchValClone);
|
|
48
|
+
}), __x);
|
|
49
|
+
})(hyper));
|
|
50
|
+
}), []);
|
|
51
|
+
return JsxRuntime.jsx(Context.PaymentMethodsManagementSwitchContextProvider.make, {
|
|
52
|
+
value: match[0],
|
|
53
|
+
children: JsxRuntime.jsx(Context.PaymentMethodsManagementElementsContextProvider.make, {
|
|
54
|
+
value: match$1[0],
|
|
55
|
+
children: props.children
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
var make = HyperManagementElements;
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
make ,
|
|
64
|
+
}
|
|
65
|
+
/* react Not a pure module */
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@react.component
|
|
2
|
+
let make = (~children, ~hyper: Promise.t<OrcaJs.switchInstance>, ~options: JSON.t) => {
|
|
3
|
+
let paymentMethodsManagementElementOptions =
|
|
4
|
+
options->Context.paymentMethodsManagementElementsOptionObjMapper
|
|
5
|
+
let (switchState, setSwitchState) = React.useState(() =>
|
|
6
|
+
Context.defaultPaymentMethodsManagementSwitchContext
|
|
7
|
+
)
|
|
8
|
+
let (elementsState, setElementsState) = React.useState(() =>
|
|
9
|
+
Context.defaultPaymentMethodsManagementElementsContext
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
React.useEffect0(() => {
|
|
13
|
+
hyper
|
|
14
|
+
->(Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => {
|
|
15
|
+
let orcaElementsConfig = switchInstance.paymentMethodsManagementElements(options)
|
|
16
|
+
let newElemValues: Context.paymentMethodsManagementElementsType = {
|
|
17
|
+
options: paymentMethodsManagementElementOptions,
|
|
18
|
+
update: orcaElementsConfig.update,
|
|
19
|
+
getElement: orcaElementsConfig.getElement,
|
|
20
|
+
fetchUpdates: orcaElementsConfig.fetchUpdates,
|
|
21
|
+
create: orcaElementsConfig.create,
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let switchValClone: Context.paymentMethodsManagementSwitchContextType = {
|
|
25
|
+
paymentRequest: switchInstance.paymentRequest,
|
|
26
|
+
ephemeralKey: paymentMethodsManagementElementOptions.ephemeralKey,
|
|
27
|
+
}
|
|
28
|
+
setSwitchState(_ => switchValClone)
|
|
29
|
+
setElementsState(_ => newElemValues)
|
|
30
|
+
Promise.resolve(switchValClone)
|
|
31
|
+
}, _))
|
|
32
|
+
->ignore
|
|
33
|
+
None
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
<Context.PaymentMethodsManagementSwitchContextProvider value={switchState}>
|
|
37
|
+
<Context.PaymentMethodsManagementElementsContextProvider value={elementsState}>
|
|
38
|
+
{children}
|
|
39
|
+
</Context.PaymentMethodsManagementElementsContextProvider>
|
|
40
|
+
</Context.PaymentMethodsManagementSwitchContextProvider>
|
|
41
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
4
|
+
import * as PaymentElementsWrapper from "./PaymentElementsWrapper.bs.js";
|
|
5
|
+
|
|
6
|
+
function PayPalElement(props) {
|
|
7
|
+
return JsxRuntime.jsx(PaymentElementsWrapper.make, {
|
|
8
|
+
id: props.id,
|
|
9
|
+
options: props.options,
|
|
10
|
+
onChange: props.onChange,
|
|
11
|
+
onReady: props.onReady,
|
|
12
|
+
componentType: "payPal",
|
|
13
|
+
onFocus: props.onFocus,
|
|
14
|
+
onBlur: props.onBlur,
|
|
15
|
+
onClick: props.onClick
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var make = PayPalElement;
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
make ,
|
|
23
|
+
}
|
|
24
|
+
/* react/jsx-runtime Not a pure module */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
4
|
+
import * as PaymentElementsWrapper from "./PaymentElementsWrapper.bs.js";
|
|
5
|
+
|
|
6
|
+
function PaymentElement(props) {
|
|
7
|
+
return JsxRuntime.jsx(PaymentElementsWrapper.make, {
|
|
8
|
+
id: props.id,
|
|
9
|
+
options: props.options,
|
|
10
|
+
onChange: props.onChange,
|
|
11
|
+
onReady: props.onReady,
|
|
12
|
+
componentType: "payment",
|
|
13
|
+
onFocus: props.onFocus,
|
|
14
|
+
onBlur: props.onBlur,
|
|
15
|
+
onClick: props.onClick
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var make = PaymentElement;
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
make ,
|
|
23
|
+
}
|
|
24
|
+
/* react/jsx-runtime Not a pure module */
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as Context from "../Context.bs.js";
|
|
5
|
+
import * as Caml_option from "rescript/lib/es6/caml_option.js";
|
|
6
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
function PaymentElementsWrapper(props) {
|
|
9
|
+
var onClick = props.onClick;
|
|
10
|
+
var onBlur = props.onBlur;
|
|
11
|
+
var onFocus = props.onFocus;
|
|
12
|
+
var componentType = props.componentType;
|
|
13
|
+
var onReady = props.onReady;
|
|
14
|
+
var onChange = props.onChange;
|
|
15
|
+
var options = props.options;
|
|
16
|
+
var __id = props.id;
|
|
17
|
+
var id = __id !== undefined ? __id : "payment-Element";
|
|
18
|
+
var hyperSwitch = React.useContext(Context.switchContext);
|
|
19
|
+
var elementsState = React.useContext(Context.elementsContext);
|
|
20
|
+
var divRef = React.useRef(null);
|
|
21
|
+
var paymentElement = elementsState.create(componentType, options);
|
|
22
|
+
React.useEffect((function () {
|
|
23
|
+
var paymentElement = elementsState.create(componentType, options);
|
|
24
|
+
paymentElement.mount("#orca-elements-payment-element-" + id);
|
|
25
|
+
}), [
|
|
26
|
+
divRef,
|
|
27
|
+
elementsState
|
|
28
|
+
]);
|
|
29
|
+
React.useEffect((function () {
|
|
30
|
+
paymentElement.on("ready", onReady);
|
|
31
|
+
paymentElement.on("focus", onFocus);
|
|
32
|
+
paymentElement.on("blur", onBlur);
|
|
33
|
+
paymentElement.on("clickTriggered", onClick);
|
|
34
|
+
paymentElement.on("change", onChange);
|
|
35
|
+
}), [
|
|
36
|
+
elementsState,
|
|
37
|
+
hyperSwitch
|
|
38
|
+
]);
|
|
39
|
+
return JsxRuntime.jsx("div", {
|
|
40
|
+
ref: Caml_option.some(divRef),
|
|
41
|
+
id: "orca-elements-payment-element-" + id
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var make = PaymentElementsWrapper;
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
make ,
|
|
49
|
+
}
|
|
50
|
+
/* react Not a pure module */
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@react.component
|
|
2
|
+
let make = (
|
|
3
|
+
~id="payment-Element",
|
|
4
|
+
~options: JSON.t,
|
|
5
|
+
~onChange,
|
|
6
|
+
~onReady,
|
|
7
|
+
~componentType: string,
|
|
8
|
+
~onFocus,
|
|
9
|
+
~onBlur,
|
|
10
|
+
~onClick,
|
|
11
|
+
) => {
|
|
12
|
+
let hyperSwitch = React.useContext(Context.switchContext)
|
|
13
|
+
let elementsState = React.useContext(Context.elementsContext)
|
|
14
|
+
let divRef = React.useRef(Js.Nullable.null)
|
|
15
|
+
|
|
16
|
+
let paymentElement = elementsState.create(componentType, options)
|
|
17
|
+
|
|
18
|
+
React.useEffect2(() => {
|
|
19
|
+
let paymentElement = elementsState.create(componentType, options)
|
|
20
|
+
paymentElement.mount(`#orca-elements-payment-element-${id}`)
|
|
21
|
+
None
|
|
22
|
+
}, (divRef, elementsState))
|
|
23
|
+
|
|
24
|
+
React.useEffect2(() => {
|
|
25
|
+
paymentElement.on("ready", onReady)
|
|
26
|
+
paymentElement.on("focus", onFocus)
|
|
27
|
+
paymentElement.on("blur", onBlur)
|
|
28
|
+
paymentElement.on("clickTriggered", onClick)
|
|
29
|
+
paymentElement.on("change", onChange)
|
|
30
|
+
None
|
|
31
|
+
}, (elementsState, hyperSwitch))
|
|
32
|
+
|
|
33
|
+
<div ref={divRef->ReactDOM.Ref.domRef} id={`orca-elements-payment-element-${id}`} />
|
|
34
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as Context from "../Context.bs.js";
|
|
5
|
+
import * as Caml_option from "rescript/lib/es6/caml_option.js";
|
|
6
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
function PaymentMethodsManagementElement(props) {
|
|
9
|
+
var onClick = props.onClick;
|
|
10
|
+
var onBlur = props.onBlur;
|
|
11
|
+
var onFocus = props.onFocus;
|
|
12
|
+
var __componentType = props.componentType;
|
|
13
|
+
var onReady = props.onReady;
|
|
14
|
+
var onChange = props.onChange;
|
|
15
|
+
var options = props.options;
|
|
16
|
+
var __id = props.id;
|
|
17
|
+
var id = __id !== undefined ? __id : "payment-management";
|
|
18
|
+
var componentType = __componentType !== undefined ? __componentType : "paymentMethodsManagement";
|
|
19
|
+
var hyperSwitch = React.useContext(Context.paymentMethodsManagementSwitchContext);
|
|
20
|
+
var paymentMethodsManagementState = React.useContext(Context.paymentMethodsManagementElementsContext);
|
|
21
|
+
var divRef = React.useRef(null);
|
|
22
|
+
var paymentElement = paymentMethodsManagementState.create(componentType, options);
|
|
23
|
+
React.useEffect((function () {
|
|
24
|
+
var paymentElement = paymentMethodsManagementState.create(componentType, options);
|
|
25
|
+
paymentElement.mount("#orca-elements-payment-management-" + id);
|
|
26
|
+
}), [
|
|
27
|
+
divRef,
|
|
28
|
+
paymentMethodsManagementState
|
|
29
|
+
]);
|
|
30
|
+
React.useEffect((function () {
|
|
31
|
+
paymentElement.on("ready", onReady);
|
|
32
|
+
paymentElement.on("focus", onFocus);
|
|
33
|
+
paymentElement.on("blur", onBlur);
|
|
34
|
+
paymentElement.on("clickTriggered", onClick);
|
|
35
|
+
paymentElement.on("change", onChange);
|
|
36
|
+
return (function () {
|
|
37
|
+
paymentElement.on("ready", undefined);
|
|
38
|
+
paymentElement.on("focus", undefined);
|
|
39
|
+
paymentElement.on("blur", undefined);
|
|
40
|
+
paymentElement.on("clickTriggered", undefined);
|
|
41
|
+
paymentElement.on("change", undefined);
|
|
42
|
+
});
|
|
43
|
+
}), [
|
|
44
|
+
paymentMethodsManagementState,
|
|
45
|
+
hyperSwitch
|
|
46
|
+
]);
|
|
47
|
+
return JsxRuntime.jsx("div", {
|
|
48
|
+
ref: Caml_option.some(divRef),
|
|
49
|
+
id: "orca-elements-payment-management-" + id
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var make = PaymentMethodsManagementElement;
|
|
54
|
+
|
|
55
|
+
export {
|
|
56
|
+
make ,
|
|
57
|
+
}
|
|
58
|
+
/* react Not a pure module */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@react.component
|
|
2
|
+
let make = (
|
|
3
|
+
~id="payment-management",
|
|
4
|
+
~options: JSON.t,
|
|
5
|
+
~onChange,
|
|
6
|
+
~onReady,
|
|
7
|
+
~componentType="paymentMethodsManagement",
|
|
8
|
+
~onFocus,
|
|
9
|
+
~onBlur,
|
|
10
|
+
~onClick,
|
|
11
|
+
) => {
|
|
12
|
+
let hyperSwitch = React.useContext(Context.paymentMethodsManagementSwitchContext)
|
|
13
|
+
let paymentMethodsManagementState = React.useContext(
|
|
14
|
+
Context.paymentMethodsManagementElementsContext,
|
|
15
|
+
)
|
|
16
|
+
let divRef = React.useRef(Nullable.null)
|
|
17
|
+
|
|
18
|
+
let paymentElement = paymentMethodsManagementState.create(componentType, options)
|
|
19
|
+
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
let paymentElement = paymentMethodsManagementState.create(componentType, options)
|
|
22
|
+
paymentElement.mount(`#orca-elements-payment-management-${id}`)
|
|
23
|
+
None
|
|
24
|
+
}, (divRef, paymentMethodsManagementState))
|
|
25
|
+
|
|
26
|
+
React.useEffect2(() => {
|
|
27
|
+
paymentElement.on("ready", onReady)
|
|
28
|
+
paymentElement.on("focus", onFocus)
|
|
29
|
+
paymentElement.on("blur", onBlur)
|
|
30
|
+
paymentElement.on("clickTriggered", onClick)
|
|
31
|
+
paymentElement.on("change", onChange)
|
|
32
|
+
|
|
33
|
+
Some(
|
|
34
|
+
() => {
|
|
35
|
+
paymentElement.on("ready", None)
|
|
36
|
+
paymentElement.on("focus", None)
|
|
37
|
+
paymentElement.on("blur", None)
|
|
38
|
+
paymentElement.on("clickTriggered", None)
|
|
39
|
+
paymentElement.on("change", None)
|
|
40
|
+
},
|
|
41
|
+
)
|
|
42
|
+
}, (paymentMethodsManagementState, hyperSwitch))
|
|
43
|
+
|
|
44
|
+
<div ref={divRef->ReactDOM.Ref.domRef} id={`orca-elements-payment-management-${id}`} />
|
|
45
|
+
}
|
package/bsconfig.json
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-orca-js",
|
|
3
|
-
"sources": [
|
|
4
|
-
{
|
|
5
|
-
"dir": "src",
|
|
6
|
-
"subdirs": true
|
|
7
|
-
}
|
|
8
|
-
],
|
|
9
|
-
"package-specs": [
|
|
10
|
-
{
|
|
11
|
-
"module": "es6",
|
|
12
|
-
"in-source": true
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"suffix": ".bs.js",
|
|
16
|
-
"reason": { "react-jsx": 3 },
|
|
17
|
-
"bs-dependencies": ["@rescript/react","@ryyppy/rescript-promise", "bs-fetch"]
|
|
18
|
-
|
|
19
|
-
}
|