@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/src/Index.bs.js
CHANGED
|
@@ -1,317 +1,97 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as Curry from "rescript/lib/es6/curry.js";
|
|
4
3
|
import * as React from "react";
|
|
4
|
+
import * as CardCVC from "./components/CardCVC.bs.js";
|
|
5
5
|
import * as Context from "./Context.bs.js";
|
|
6
|
-
import * as
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var setElementsState = match$1[1];
|
|
21
|
-
React.useEffect((function () {
|
|
22
|
-
Js_promise.then_((function (switchInstance) {
|
|
23
|
-
var orcaElementsConfig = Curry._1(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 newSwitchVal_clientSecret = elementOptions.clientSecret;
|
|
36
|
-
var newSwitchVal_confirmPayment = switchInstance.confirmPayment;
|
|
37
|
-
var newSwitchVal_confirmCardPayment = switchInstance.confirmCardPayment;
|
|
38
|
-
var newSwitchVal_retrievePaymentIntent = switchInstance.retrievePaymentIntent;
|
|
39
|
-
var newSwitchVal_paymentRequest = switchInstance.paymentRequest;
|
|
40
|
-
var switchValClone_clientSecret = elementOptions.clientSecret;
|
|
41
|
-
var switchValClone_confirmPayment = newSwitchVal_confirmPayment;
|
|
42
|
-
var switchValClone_confirmCardPayment = newSwitchVal_confirmCardPayment;
|
|
43
|
-
var switchValClone_retrievePaymentIntent = newSwitchVal_retrievePaymentIntent;
|
|
44
|
-
var switchValClone_paymentRequest = newSwitchVal_paymentRequest;
|
|
45
|
-
var switchValClone = {
|
|
46
|
-
clientSecret: switchValClone_clientSecret,
|
|
47
|
-
confirmPayment: switchValClone_confirmPayment,
|
|
48
|
-
confirmCardPayment: switchValClone_confirmCardPayment,
|
|
49
|
-
retrievePaymentIntent: switchValClone_retrievePaymentIntent,
|
|
50
|
-
paymentRequest: switchValClone_paymentRequest
|
|
51
|
-
};
|
|
52
|
-
Curry._1(setSwitchState, (function (param) {
|
|
53
|
-
return switchValClone;
|
|
54
|
-
}));
|
|
55
|
-
Curry._1(setElementsState, (function (param) {
|
|
56
|
-
return newElemValues;
|
|
57
|
-
}));
|
|
58
|
-
return Promise.resolve(switchValClone);
|
|
59
|
-
}), stripe);
|
|
60
|
-
}), []);
|
|
61
|
-
return React.createElement(Context.SwitchContextProvider.make, Context.SwitchContextProvider.makeProps(match[0], React.createElement(Context.ElementsContextProvider.make, Context.ElementsContextProvider.makeProps(match$1[0], children, undefined)), undefined));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function Index$HyperElements2(Props) {
|
|
65
|
-
var children = Props.children;
|
|
66
|
-
var hyper = Props.hyper;
|
|
67
|
-
var options = Props.options;
|
|
68
|
-
var elementOptions = Context.elementsOptionObjMapper(options);
|
|
69
|
-
var match = React.useState(function () {
|
|
70
|
-
return Context.defaultSwitchContext;
|
|
71
|
-
});
|
|
72
|
-
var setSwitchState = match[1];
|
|
73
|
-
var match$1 = React.useState(function () {
|
|
74
|
-
return Context.defaultElementsContext;
|
|
75
|
-
});
|
|
76
|
-
var setElementsState = match$1[1];
|
|
77
|
-
React.useEffect((function () {
|
|
78
|
-
Js_promise.then_((function (switchInstance) {
|
|
79
|
-
var orcaElementsConfig = Curry._1(switchInstance.elements, options);
|
|
80
|
-
var newElemValues_update = orcaElementsConfig.update;
|
|
81
|
-
var newElemValues_getElement = orcaElementsConfig.getElement;
|
|
82
|
-
var newElemValues_fetchUpdates = orcaElementsConfig.fetchUpdates;
|
|
83
|
-
var newElemValues_create = orcaElementsConfig.create;
|
|
84
|
-
var newElemValues = {
|
|
85
|
-
options: elementOptions,
|
|
86
|
-
update: newElemValues_update,
|
|
87
|
-
getElement: newElemValues_getElement,
|
|
88
|
-
fetchUpdates: newElemValues_fetchUpdates,
|
|
89
|
-
create: newElemValues_create
|
|
90
|
-
};
|
|
91
|
-
var newSwitchVal_clientSecret = elementOptions.clientSecret;
|
|
92
|
-
var newSwitchVal_confirmPayment = switchInstance.confirmPayment;
|
|
93
|
-
var newSwitchVal_confirmCardPayment = switchInstance.confirmCardPayment;
|
|
94
|
-
var newSwitchVal_retrievePaymentIntent = switchInstance.retrievePaymentIntent;
|
|
95
|
-
var newSwitchVal_paymentRequest = switchInstance.paymentRequest;
|
|
96
|
-
var switchValClone_clientSecret = elementOptions.clientSecret;
|
|
97
|
-
var switchValClone_confirmPayment = newSwitchVal_confirmPayment;
|
|
98
|
-
var switchValClone_confirmCardPayment = newSwitchVal_confirmCardPayment;
|
|
99
|
-
var switchValClone_retrievePaymentIntent = newSwitchVal_retrievePaymentIntent;
|
|
100
|
-
var switchValClone_paymentRequest = newSwitchVal_paymentRequest;
|
|
101
|
-
var switchValClone = {
|
|
102
|
-
clientSecret: switchValClone_clientSecret,
|
|
103
|
-
confirmPayment: switchValClone_confirmPayment,
|
|
104
|
-
confirmCardPayment: switchValClone_confirmCardPayment,
|
|
105
|
-
retrievePaymentIntent: switchValClone_retrievePaymentIntent,
|
|
106
|
-
paymentRequest: switchValClone_paymentRequest
|
|
107
|
-
};
|
|
108
|
-
Curry._1(setSwitchState, (function (param) {
|
|
109
|
-
return switchValClone;
|
|
110
|
-
}));
|
|
111
|
-
Curry._1(setElementsState, (function (param) {
|
|
112
|
-
return newElemValues;
|
|
113
|
-
}));
|
|
114
|
-
return Promise.resolve(switchValClone);
|
|
115
|
-
}), hyper);
|
|
116
|
-
}), []);
|
|
117
|
-
return React.createElement(Context.SwitchContextProvider.make, Context.SwitchContextProvider.makeProps(match[0], React.createElement(Context.ElementsContextProvider.make, Context.ElementsContextProvider.makeProps(match$1[0], children, undefined)), undefined));
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
function useHyper(param) {
|
|
6
|
+
import * as Elements from "./components/Elements.bs.js";
|
|
7
|
+
import * as CardExpiry from "./components/CardExpiry.bs.js";
|
|
8
|
+
import * as CardNumber from "./components/CardNumber.bs.js";
|
|
9
|
+
import * as CardElement from "./components/CardElement.bs.js";
|
|
10
|
+
import * as HyperElements from "./components/HyperElements.bs.js";
|
|
11
|
+
import * as PayPalElement from "./components/PayPalElement.bs.js";
|
|
12
|
+
import * as PaymentElement from "./components/PaymentElement.bs.js";
|
|
13
|
+
import * as ApplePayElement from "./components/ApplePayElement.bs.js";
|
|
14
|
+
import * as GooglePayElement from "./components/GooglePayElement.bs.js";
|
|
15
|
+
import * as ExpressCheckoutElement from "./components/ExpressCheckoutElement.bs.js";
|
|
16
|
+
import * as HyperManagementElements from "./components/HyperManagementElements.bs.js";
|
|
17
|
+
import * as PaymentMethodsManagementElement from "./components/PaymentMethodsManagementElement.bs.js";
|
|
18
|
+
|
|
19
|
+
function useHyper() {
|
|
121
20
|
return React.useContext(Context.switchContext);
|
|
122
21
|
}
|
|
123
22
|
|
|
124
|
-
function useStripe(
|
|
23
|
+
function useStripe() {
|
|
125
24
|
console.warn("useStripe() is deprecated. Use useHyper() instead");
|
|
126
25
|
return React.useContext(Context.switchContext);
|
|
127
26
|
}
|
|
128
27
|
|
|
129
|
-
function useWidgets(
|
|
28
|
+
function useWidgets() {
|
|
130
29
|
return React.useContext(Context.elementsContext);
|
|
131
30
|
}
|
|
132
31
|
|
|
133
|
-
function useElements(
|
|
32
|
+
function useElements() {
|
|
134
33
|
console.warn("useElements() is deprecated. Use useWidgets() instead");
|
|
135
34
|
return React.useContext(Context.elementsContext);
|
|
136
35
|
}
|
|
137
36
|
|
|
138
|
-
|
|
139
|
-
var idOpt = Props.id;
|
|
140
|
-
var options = Props.options;
|
|
141
|
-
var onChange = Props.onChange;
|
|
142
|
-
var onReady = Props.onReady;
|
|
143
|
-
var componentType = Props.componentType;
|
|
144
|
-
var onFocus = Props.onFocus;
|
|
145
|
-
var onBlur = Props.onBlur;
|
|
146
|
-
var onClick = Props.onClick;
|
|
147
|
-
var id = idOpt !== undefined ? idOpt : "payment-Element";
|
|
148
|
-
var hyperSwitch = React.useContext(Context.switchContext);
|
|
149
|
-
var elementsState = React.useContext(Context.elementsContext);
|
|
150
|
-
var divRef = React.useRef(null);
|
|
151
|
-
var paymentElement = Curry._2(elementsState.create, componentType, options);
|
|
152
|
-
React.useEffect((function () {
|
|
153
|
-
var paymentElement = Curry._2(elementsState.create, componentType, options);
|
|
154
|
-
Curry._1(paymentElement.mount, "#orca-elements-payment-element-" + id + "");
|
|
155
|
-
}), [
|
|
156
|
-
divRef,
|
|
157
|
-
elementsState
|
|
158
|
-
]);
|
|
159
|
-
React.useEffect((function () {
|
|
160
|
-
Curry._2(paymentElement.on, "ready", onReady);
|
|
161
|
-
Curry._2(paymentElement.on, "focus", onFocus);
|
|
162
|
-
Curry._2(paymentElement.on, "blur", onBlur);
|
|
163
|
-
Curry._2(paymentElement.on, "clickTriggered", onClick);
|
|
164
|
-
Curry._2(paymentElement.on, "change", onChange);
|
|
165
|
-
}), [
|
|
166
|
-
elementsState,
|
|
167
|
-
hyperSwitch
|
|
168
|
-
]);
|
|
169
|
-
return React.createElement("div", {
|
|
170
|
-
ref: divRef,
|
|
171
|
-
id: "orca-elements-payment-element-" + id + ""
|
|
172
|
-
});
|
|
173
|
-
}
|
|
37
|
+
var Elements$1 = Elements.make;
|
|
174
38
|
|
|
175
|
-
|
|
176
|
-
var id = Props.id;
|
|
177
|
-
var options = Props.options;
|
|
178
|
-
var onChange = Props.onChange;
|
|
179
|
-
var onReady = Props.onReady;
|
|
180
|
-
var onFocus = Props.onFocus;
|
|
181
|
-
var onBlur = Props.onBlur;
|
|
182
|
-
var onClick = Props.onClick;
|
|
183
|
-
return React.createElement(Index$PaymentElementsWrapper, {
|
|
184
|
-
id: id,
|
|
185
|
-
options: options,
|
|
186
|
-
onChange: onChange,
|
|
187
|
-
onReady: onReady,
|
|
188
|
-
componentType: "payment",
|
|
189
|
-
onFocus: onFocus,
|
|
190
|
-
onBlur: onBlur,
|
|
191
|
-
onClick: onClick
|
|
192
|
-
});
|
|
193
|
-
}
|
|
39
|
+
var HyperElements$1 = HyperElements.make;
|
|
194
40
|
|
|
195
|
-
|
|
196
|
-
var id = Props.id;
|
|
197
|
-
var options = Props.options;
|
|
198
|
-
var onChange = Props.onChange;
|
|
199
|
-
var onReady = Props.onReady;
|
|
200
|
-
var onFocus = Props.onFocus;
|
|
201
|
-
var onBlur = Props.onBlur;
|
|
202
|
-
var onClick = Props.onClick;
|
|
203
|
-
return React.createElement(Index$PaymentElementsWrapper, {
|
|
204
|
-
id: id,
|
|
205
|
-
options: options,
|
|
206
|
-
onChange: onChange,
|
|
207
|
-
onReady: onReady,
|
|
208
|
-
componentType: "card",
|
|
209
|
-
onFocus: onFocus,
|
|
210
|
-
onBlur: onBlur,
|
|
211
|
-
onClick: onClick
|
|
212
|
-
});
|
|
213
|
-
}
|
|
41
|
+
var PaymentElement$1 = PaymentElement.make;
|
|
214
42
|
|
|
215
|
-
|
|
216
|
-
var id = Props.id;
|
|
217
|
-
var options = Props.options;
|
|
218
|
-
var onChange = Props.onChange;
|
|
219
|
-
var onReady = Props.onReady;
|
|
220
|
-
var onFocus = Props.onFocus;
|
|
221
|
-
var onBlur = Props.onBlur;
|
|
222
|
-
var onClick = Props.onClick;
|
|
223
|
-
return React.createElement(Index$PaymentElementsWrapper, {
|
|
224
|
-
id: id,
|
|
225
|
-
options: options,
|
|
226
|
-
onChange: onChange,
|
|
227
|
-
onReady: onReady,
|
|
228
|
-
componentType: "cardNumber",
|
|
229
|
-
onFocus: onFocus,
|
|
230
|
-
onBlur: onBlur,
|
|
231
|
-
onClick: onClick
|
|
232
|
-
});
|
|
233
|
-
}
|
|
43
|
+
var UnifiedCheckout = PaymentElement.make;
|
|
234
44
|
|
|
235
|
-
|
|
236
|
-
var id = Props.id;
|
|
237
|
-
var options = Props.options;
|
|
238
|
-
var onChange = Props.onChange;
|
|
239
|
-
var onReady = Props.onReady;
|
|
240
|
-
var onFocus = Props.onFocus;
|
|
241
|
-
var onBlur = Props.onBlur;
|
|
242
|
-
var onClick = Props.onClick;
|
|
243
|
-
return React.createElement(Index$PaymentElementsWrapper, {
|
|
244
|
-
id: id,
|
|
245
|
-
options: options,
|
|
246
|
-
onChange: onChange,
|
|
247
|
-
onReady: onReady,
|
|
248
|
-
componentType: "cardCvc",
|
|
249
|
-
onFocus: onFocus,
|
|
250
|
-
onBlur: onBlur,
|
|
251
|
-
onClick: onClick
|
|
252
|
-
});
|
|
253
|
-
}
|
|
45
|
+
var CardElement$1 = CardElement.make;
|
|
254
46
|
|
|
255
|
-
|
|
256
|
-
var id = Props.id;
|
|
257
|
-
var options = Props.options;
|
|
258
|
-
var onChange = Props.onChange;
|
|
259
|
-
var onReady = Props.onReady;
|
|
260
|
-
var onFocus = Props.onFocus;
|
|
261
|
-
var onBlur = Props.onBlur;
|
|
262
|
-
var onClick = Props.onClick;
|
|
263
|
-
return React.createElement(Index$PaymentElementsWrapper, {
|
|
264
|
-
id: id,
|
|
265
|
-
options: options,
|
|
266
|
-
onChange: onChange,
|
|
267
|
-
onReady: onReady,
|
|
268
|
-
componentType: "cardExpiry",
|
|
269
|
-
onFocus: onFocus,
|
|
270
|
-
onBlur: onBlur,
|
|
271
|
-
onClick: onClick
|
|
272
|
-
});
|
|
273
|
-
}
|
|
47
|
+
var CardWidget = CardElement.make;
|
|
274
48
|
|
|
275
|
-
var
|
|
49
|
+
var CardNumberElement = CardNumber.make;
|
|
276
50
|
|
|
277
|
-
var
|
|
51
|
+
var CardNumberWidget = CardNumber.make;
|
|
278
52
|
|
|
279
|
-
var
|
|
53
|
+
var CardCVCElement = CardCVC.make;
|
|
280
54
|
|
|
281
|
-
var
|
|
55
|
+
var CardCVCWidget = CardCVC.make;
|
|
282
56
|
|
|
283
|
-
var
|
|
57
|
+
var CardExpiryElement = CardExpiry.make;
|
|
284
58
|
|
|
285
|
-
var
|
|
59
|
+
var CardExpiryWidget = CardExpiry.make;
|
|
286
60
|
|
|
287
|
-
var
|
|
61
|
+
var GooglePayElement$1 = GooglePayElement.make;
|
|
288
62
|
|
|
289
|
-
var
|
|
63
|
+
var ApplePayElement$1 = ApplePayElement.make;
|
|
290
64
|
|
|
291
|
-
var
|
|
65
|
+
var PayPalElement$1 = PayPalElement.make;
|
|
292
66
|
|
|
293
|
-
var
|
|
67
|
+
var ExpressCheckoutElement$1 = ExpressCheckoutElement.make;
|
|
294
68
|
|
|
295
|
-
var
|
|
69
|
+
var HyperManagementElements$1 = HyperManagementElements.make;
|
|
296
70
|
|
|
297
|
-
var
|
|
71
|
+
var PaymentMethodsManagementElement$1 = PaymentMethodsManagementElement.make;
|
|
298
72
|
|
|
299
73
|
export {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
74
|
+
useHyper ,
|
|
75
|
+
useStripe ,
|
|
76
|
+
useWidgets ,
|
|
77
|
+
useElements ,
|
|
78
|
+
Elements$1 as Elements,
|
|
79
|
+
HyperElements$1 as HyperElements,
|
|
80
|
+
PaymentElement$1 as PaymentElement,
|
|
303
81
|
UnifiedCheckout ,
|
|
304
|
-
CardElement ,
|
|
82
|
+
CardElement$1 as CardElement,
|
|
305
83
|
CardWidget ,
|
|
306
84
|
CardNumberElement ,
|
|
307
85
|
CardNumberWidget ,
|
|
308
|
-
CardExpiryElement ,
|
|
309
|
-
CardExpiryWidget ,
|
|
310
86
|
CardCVCElement ,
|
|
311
87
|
CardCVCWidget ,
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
88
|
+
CardExpiryElement ,
|
|
89
|
+
CardExpiryWidget ,
|
|
90
|
+
GooglePayElement$1 as GooglePayElement,
|
|
91
|
+
ApplePayElement$1 as ApplePayElement,
|
|
92
|
+
PayPalElement$1 as PayPalElement,
|
|
93
|
+
ExpressCheckoutElement$1 as ExpressCheckoutElement,
|
|
94
|
+
HyperManagementElements$1 as HyperManagementElements,
|
|
95
|
+
PaymentMethodsManagementElement$1 as PaymentMethodsManagementElement,
|
|
316
96
|
}
|
|
317
97
|
/* react Not a pure module */
|
package/src/Index.res
CHANGED
|
@@ -8,202 +8,49 @@ type eventData = {
|
|
|
8
8
|
newClassType: string,
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
module Elements2 = {
|
|
12
|
-
@react.component
|
|
13
|
-
let make = (~children, ~stripe: Js.Promise.t<OrcaJs.switchInstance>, ~options: Js.Json.t) => {
|
|
14
|
-
let elementOptions = options->Context.elementsOptionObjMapper
|
|
15
|
-
let (switchState, setSwitchState) = React.useState(() => Context.defaultSwitchContext)
|
|
16
|
-
let (elementsState, setElementsState) = React.useState(() => Context.defaultElementsContext)
|
|
17
|
-
|
|
18
|
-
React.useEffect0(() => {
|
|
19
|
-
stripe->Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => {
|
|
20
|
-
let orcaElementsConfig = switchInstance.elements(options)
|
|
21
|
-
let newElemValues: Context.elementsType = {
|
|
22
|
-
options: elementOptions,
|
|
23
|
-
update: orcaElementsConfig.update,
|
|
24
|
-
getElement: orcaElementsConfig.getElement,
|
|
25
|
-
fetchUpdates: orcaElementsConfig.fetchUpdates,
|
|
26
|
-
create: orcaElementsConfig.create,
|
|
27
|
-
}
|
|
28
|
-
let newSwitchVal: Context.switchContextType = {
|
|
29
|
-
confirmPayment: switchInstance.confirmPayment,
|
|
30
|
-
confirmCardPayment: switchInstance.confirmCardPayment,
|
|
31
|
-
retrievePaymentIntent: switchInstance.retrievePaymentIntent,
|
|
32
|
-
clientSecret: elementOptions.clientSecret,
|
|
33
|
-
paymentRequest: switchInstance.paymentRequest,
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
let switchValClone = {...newSwitchVal, clientSecret: elementOptions.clientSecret}
|
|
37
|
-
setSwitchState(_ => switchValClone)
|
|
38
|
-
setElementsState(_ => newElemValues)
|
|
39
|
-
Js.Promise.resolve(switchValClone)
|
|
40
|
-
}, _)->ignore
|
|
41
|
-
None
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
<Context.SwitchContextProvider value={switchState}>
|
|
45
|
-
<Context.ElementsContextProvider value={elementsState}>
|
|
46
|
-
{children}
|
|
47
|
-
</Context.ElementsContextProvider>
|
|
48
|
-
</Context.SwitchContextProvider>
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
module HyperElements2 = {
|
|
53
|
-
@react.component
|
|
54
|
-
let make = (~children, ~hyper: Js.Promise.t<OrcaJs.switchInstance>, ~options: Js.Json.t) => {
|
|
55
|
-
let elementOptions = options->Context.elementsOptionObjMapper
|
|
56
|
-
let (switchState, setSwitchState) = React.useState(() => Context.defaultSwitchContext)
|
|
57
|
-
let (elementsState, setElementsState) = React.useState(() => Context.defaultElementsContext)
|
|
58
|
-
|
|
59
|
-
React.useEffect0(() => {
|
|
60
|
-
hyper->Js.Promise.then_((switchInstance: OrcaJs.switchInstance) => {
|
|
61
|
-
let orcaElementsConfig = switchInstance.elements(options)
|
|
62
|
-
let newElemValues: Context.elementsType = {
|
|
63
|
-
options: elementOptions,
|
|
64
|
-
update: orcaElementsConfig.update,
|
|
65
|
-
getElement: orcaElementsConfig.getElement,
|
|
66
|
-
fetchUpdates: orcaElementsConfig.fetchUpdates,
|
|
67
|
-
create: orcaElementsConfig.create,
|
|
68
|
-
}
|
|
69
|
-
let newSwitchVal: Context.switchContextType = {
|
|
70
|
-
confirmPayment: switchInstance.confirmPayment,
|
|
71
|
-
confirmCardPayment: switchInstance.confirmCardPayment,
|
|
72
|
-
retrievePaymentIntent: switchInstance.retrievePaymentIntent,
|
|
73
|
-
clientSecret: elementOptions.clientSecret,
|
|
74
|
-
paymentRequest: switchInstance.paymentRequest,
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
let switchValClone = {...newSwitchVal, clientSecret: elementOptions.clientSecret}
|
|
78
|
-
setSwitchState(_ => switchValClone)
|
|
79
|
-
setElementsState(_ => newElemValues)
|
|
80
|
-
Js.Promise.resolve(switchValClone)
|
|
81
|
-
}, _)->ignore
|
|
82
|
-
None
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
<Context.SwitchContextProvider value={switchState}>
|
|
86
|
-
<Context.ElementsContextProvider value={elementsState}>
|
|
87
|
-
{children}
|
|
88
|
-
</Context.ElementsContextProvider>
|
|
89
|
-
</Context.SwitchContextProvider>
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
let \"Elements" = Elements2.make
|
|
94
|
-
|
|
95
|
-
let \"HyperElements" = HyperElements2.make
|
|
96
|
-
|
|
97
11
|
let useHyper = () => {
|
|
98
12
|
React.useContext(Context.switchContext)
|
|
99
13
|
}
|
|
100
14
|
|
|
101
15
|
let useStripe = () => {
|
|
102
|
-
|
|
16
|
+
Console.warn("useStripe() is deprecated. Use useHyper() instead")
|
|
103
17
|
useHyper()
|
|
104
18
|
}
|
|
105
19
|
let useWidgets = () => {
|
|
106
20
|
React.useContext(Context.elementsContext)
|
|
107
21
|
}
|
|
108
22
|
let useElements = () => {
|
|
109
|
-
|
|
23
|
+
Console.warn("useElements() is deprecated. Use useWidgets() instead")
|
|
110
24
|
useWidgets()
|
|
111
25
|
}
|
|
112
26
|
|
|
113
|
-
|
|
114
|
-
@react.component
|
|
115
|
-
let make = (
|
|
116
|
-
~id="payment-Element",
|
|
117
|
-
~options: Js.Json.t,
|
|
118
|
-
~onChange,
|
|
119
|
-
~onReady,
|
|
120
|
-
~componentType: string,
|
|
121
|
-
~onFocus,
|
|
122
|
-
~onBlur,
|
|
123
|
-
~onClick,
|
|
124
|
-
) => {
|
|
125
|
-
let hyperSwitch = React.useContext(Context.switchContext)
|
|
126
|
-
let elementsState = React.useContext(Context.elementsContext)
|
|
127
|
-
let divRef = React.useRef(Js.Nullable.null)
|
|
128
|
-
|
|
129
|
-
let paymentElement = elementsState.create(componentType, options)
|
|
130
|
-
|
|
131
|
-
React.useEffect2(() => {
|
|
132
|
-
let paymentElement = elementsState.create(componentType, options)
|
|
133
|
-
paymentElement.mount(`#orca-elements-payment-element-${id}`)
|
|
134
|
-
None
|
|
135
|
-
}, (divRef, elementsState))
|
|
27
|
+
let \"Elements" = Elements.make
|
|
136
28
|
|
|
137
|
-
|
|
138
|
-
paymentElement.on("ready", onReady)
|
|
139
|
-
paymentElement.on("focus", onFocus)
|
|
140
|
-
paymentElement.on("blur", onBlur)
|
|
141
|
-
paymentElement.on("clickTriggered", onClick)
|
|
142
|
-
paymentElement.on("change", onChange)
|
|
143
|
-
None
|
|
144
|
-
}, (elementsState, hyperSwitch))
|
|
145
|
-
|
|
146
|
-
<div ref={divRef->ReactDOM.Ref.domRef} id={`orca-elements-payment-element-${id}`} />
|
|
147
|
-
}
|
|
148
|
-
}
|
|
29
|
+
let \"HyperElements" = HyperElements.make
|
|
149
30
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
let make = (~id, ~options: Js.Json.t, ~onChange, ~onReady, ~onFocus, ~onBlur, ~onClick) => {
|
|
153
|
-
<PaymentElementsWrapper
|
|
154
|
-
id options onChange onReady onFocus onBlur onClick componentType="payment"
|
|
155
|
-
/>
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
let \"PaymentElement" = PaymentElement2.make
|
|
31
|
+
let \"PaymentElement" = PaymentElement.make
|
|
32
|
+
let \"UnifiedCheckout" = PaymentElement.make
|
|
159
33
|
|
|
160
|
-
let \"
|
|
34
|
+
let \"CardElement" = CardElement.make
|
|
35
|
+
let \"CardWidget" = CardElement.make
|
|
161
36
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
let make = (~id, ~options: Js.Json.t, ~onChange, ~onReady, ~onFocus, ~onBlur, ~onClick) => {
|
|
165
|
-
<PaymentElementsWrapper
|
|
166
|
-
id options onChange onReady onFocus onBlur onClick componentType="card"
|
|
167
|
-
/>
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
let \"CardElement" = CardElement2.make
|
|
37
|
+
let \"CardNumberElement" = CardNumber.make
|
|
38
|
+
let \"CardNumberWidget" = CardNumber.make
|
|
171
39
|
|
|
172
|
-
let \"
|
|
40
|
+
let \"CardCVCElement" = CardCVC.make
|
|
41
|
+
let \"CardCVCWidget" = CardCVC.make
|
|
173
42
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
let make = (~id, ~options: Js.Json.t, ~onChange, ~onReady, ~onFocus, ~onBlur, ~onClick) => {
|
|
177
|
-
<PaymentElementsWrapper
|
|
178
|
-
id options onChange onReady onFocus onBlur onClick componentType="cardNumber"
|
|
179
|
-
/>
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
let \"CardNumberElement" = CardNumber2.make
|
|
43
|
+
let \"CardExpiryElement" = CardExpiry.make
|
|
44
|
+
let \"CardExpiryWidget" = CardExpiry.make
|
|
183
45
|
|
|
184
|
-
let \"
|
|
46
|
+
let \"GooglePayElement" = GooglePayElement.make
|
|
185
47
|
|
|
186
|
-
|
|
187
|
-
@react.component
|
|
188
|
-
let make = (~id, ~options: Js.Json.t, ~onChange, ~onReady, ~onFocus, ~onBlur, ~onClick) => {
|
|
189
|
-
<PaymentElementsWrapper
|
|
190
|
-
id options onChange onReady onFocus onBlur onClick componentType="cardCvc"
|
|
191
|
-
/>
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
let \"CardCVCElement" = CardCVC2.make
|
|
48
|
+
let \"ApplePayElement" = ApplePayElement.make
|
|
195
49
|
|
|
196
|
-
let \"
|
|
50
|
+
let \"PayPalElement" = PayPalElement.make
|
|
197
51
|
|
|
198
|
-
|
|
199
|
-
@react.component
|
|
200
|
-
let make = (~id, ~options: Js.Json.t, ~onChange, ~onReady, ~onFocus, ~onBlur, ~onClick) => {
|
|
201
|
-
<PaymentElementsWrapper
|
|
202
|
-
id options onChange onReady onFocus onBlur onClick componentType="cardExpiry"
|
|
203
|
-
/>
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
let \"CardExpiryElement" = CardExpiry2.make
|
|
52
|
+
let \"ExpressCheckoutElement" = ExpressCheckoutElement.make
|
|
207
53
|
|
|
208
|
-
let \"
|
|
54
|
+
let \"HyperManagementElements" = HyperManagementElements.make
|
|
209
55
|
|
|
56
|
+
let \"PaymentMethodsManagementElement" = PaymentMethodsManagementElement.make
|