@rebilly/framepay-react 8.2.0 → 9.0.0
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 +22 -2
- package/README.md +7 -9
- package/build/lib/components/provider.d.ts +0 -1
- package/build/lib/components/provider.js +3 -7
- package/build/lib/constants.d.ts +2 -2
- package/build/lib/constants.js +3 -5
- package/build/lib/dom-util.d.ts +1 -2
- package/build/lib/dom-util.js +62 -27
- package/package.json +2 -1
- package/src/lib/components/provider.spec.tsx +0 -41
- package/src/lib/components/provider.tsx +2 -6
- package/src/lib/constants.ts +4 -6
- package/src/lib/dom-util.ts +10 -22
- package/test/e2e/fixtures/apple-pay.js +0 -1
- package/test/e2e/fixtures/bank-separate.js +1 -1
- package/test/e2e/fixtures/card-separate-brands.js +1 -1
- package/test/e2e/fixtures/card-separate-rebilly-fields.js +1 -1
- package/test/e2e/fixtures/card-separate.js +1 -1
- package/test/e2e/fixtures/checkout-combined.js +1 -1
- package/test/e2e/fixtures/google-pay.js +0 -1
- package/test/e2e/fixtures/iban.js +1 -1
- package/test/e2e/fixtures/inject-metadata.js +0 -1
- package/test/e2e/fixtures/multiple-methods.js +0 -1
- package/test/e2e/fixtures/paypal.js +0 -1
- package/test/e2e/fixtures/samsung-pay.js +0 -1
- package/types/provider.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [9.0.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v8.3.0...framepay-react-v9.0.0) (2024-11-26)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
### ⚠ BREAKING CHANGES
|
|
5
|
+
|
|
6
|
+
* **framepay-react:** use @rebilly/framepay in framepay-react (#8702)
|
|
7
|
+
* **framepay-npm:** initial release (#8815)
|
|
8
|
+
|
|
4
9
|
### Features
|
|
5
10
|
|
|
6
|
-
* **
|
|
11
|
+
* **cashier:** Add hosted app ([#8723](https://github.com/Rebilly/rebilly/issues/8723)) ([49481ec](https://github.com/Rebilly/rebilly/commit/49481ec1336a518d5ba513b53b24a46fdcc47acb))
|
|
12
|
+
* **framepay-npm:** initial release ([#8815](https://github.com/Rebilly/rebilly/issues/8815)) ([4029127](https://github.com/Rebilly/rebilly/commit/402912752363d7da51424b38185ac239bae7afe6))
|
|
13
|
+
* **framepay-npm:** Prepare for publishing, and add error propagation ([#8765](https://github.com/Rebilly/rebilly/issues/8765)) ([b4ab4a5](https://github.com/Rebilly/rebilly/commit/b4ab4a52bba2de2c986b1292896391598194ace8))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **cashier, framepay-npm:** use framepay-npm types ([#8830](https://github.com/Rebilly/rebilly/issues/8830)) ([8bdeeea](https://github.com/Rebilly/rebilly/commit/8bdeeeaf7accec1d79f2ce4cbdb67a7d4ec76b74))
|
|
19
|
+
* **framepay-npm:** add the main export for the outdated build tools ([#8766](https://github.com/Rebilly/rebilly/issues/8766)) ([abcd6ea](https://github.com/Rebilly/rebilly/commit/abcd6eaec41223b964b0e71dec8a6893916359de))
|
|
20
|
+
* **framepay-npm:** publish package publically ([#8817](https://github.com/Rebilly/rebilly/issues/8817)) ([ccc245c](https://github.com/Rebilly/rebilly/commit/ccc245ccc142ea891695233ecd6e62bc905ddeda))
|
|
21
|
+
* **framepay-react:** fix undefined error ([#8837](https://github.com/Rebilly/rebilly/issues/8837)) ([8d4f6e6](https://github.com/Rebilly/rebilly/commit/8d4f6e65a5edd6d707c3bf36c008a42e67519877))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Refactors
|
|
25
|
+
|
|
26
|
+
* **framepay-react:** use @rebilly/framepay in framepay-react ([#8702](https://github.com/Rebilly/rebilly/issues/8702)) ([87ef705](https://github.com/Rebilly/rebilly/commit/87ef7058f67abe0dfa790cc681adedb0aa710c93))
|
package/README.md
CHANGED
|
@@ -76,13 +76,13 @@ FramePayProvider provides settings to the FramePay API. See [Framepay.initialize
|
|
|
76
76
|
// index.js
|
|
77
77
|
import React from 'react';
|
|
78
78
|
import { render } from 'react-dom';
|
|
79
|
-
import { FramePayProvider } from 'framepay-react';
|
|
79
|
+
import { FramePayProvider } from '@rebilly/framepay-react';
|
|
80
80
|
|
|
81
81
|
import MyCardPageComponent from './MyCardPageComponent';
|
|
82
82
|
|
|
83
83
|
const App = () => {
|
|
84
84
|
return (
|
|
85
|
-
<FramePayProvider
|
|
85
|
+
<FramePayProvider publishableKey="pk_sandbox_1234567890">
|
|
86
86
|
<MyCardPageComponent/>
|
|
87
87
|
</FramePayProvider>
|
|
88
88
|
);
|
|
@@ -159,7 +159,7 @@ Wrapper for the payment card features.
|
|
|
159
159
|
```jsx harmony
|
|
160
160
|
// MyCardPageComponent.js
|
|
161
161
|
import React from 'react';
|
|
162
|
-
import { withFramePayCardComponent } from 'framepay-react';
|
|
162
|
+
import { withFramePayCardComponent } from '@rebilly/framepay-react';
|
|
163
163
|
|
|
164
164
|
class MyCardPageComponent extends React.Component {
|
|
165
165
|
constructor(props) {
|
|
@@ -216,7 +216,7 @@ export default withFramePayCardComponent(MyCardPageComponent);
|
|
|
216
216
|
Wrapper for the ACH features.
|
|
217
217
|
```jsx harmony
|
|
218
218
|
import React from 'react';
|
|
219
|
-
import { withFramePayBankComponent } from 'framepay-react';
|
|
219
|
+
import { withFramePayBankComponent } from '@rebilly/framepay-react';
|
|
220
220
|
|
|
221
221
|
class MyBankPageComponent extends React.Component {
|
|
222
222
|
constructor(props) {
|
|
@@ -275,10 +275,8 @@ export default withFramePayBankComponent(MyBankPageComponent);
|
|
|
275
275
|
The **framepay-react** package supports all the [FramePay](https://www.rebilly.com/docs/dev-docs/framepay/) initialization settings.
|
|
276
276
|
See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for all customizations.
|
|
277
277
|
|
|
278
|
-
Additionally `injectStyle` is available. When defined in the `FramePayProvider` it will add the default FramePay CSS in the header of your application.
|
|
279
|
-
|
|
280
278
|
```jsx harmony
|
|
281
|
-
<FramePayProvider
|
|
279
|
+
<FramePayProvider publishableKey="pk_sandbox_1234567890">
|
|
282
280
|
<MyCardPageComponent/>
|
|
283
281
|
</FramePayProvider>
|
|
284
282
|
```
|
|
@@ -296,7 +294,7 @@ The methods `withFramePay`, `withFramePayCardComponent` and `withFramePayBankCom
|
|
|
296
294
|
##### Incorrect
|
|
297
295
|
```jsx harmony
|
|
298
296
|
import * as React from 'react';
|
|
299
|
-
import {withFramePayCardComponent} from 'framepay-react'
|
|
297
|
+
import {withFramePayCardComponent} from '@rebilly/framepay-react'
|
|
300
298
|
|
|
301
299
|
class SomeComponent extends React.Component {
|
|
302
300
|
render(){
|
|
@@ -310,7 +308,7 @@ class SomeComponent extends React.Component {
|
|
|
310
308
|
##### Correct
|
|
311
309
|
```jsx harmony
|
|
312
310
|
import * as React from 'react';
|
|
313
|
-
import {withFramePayCardComponent} from 'framepay-react'
|
|
311
|
+
import {withFramePayCardComponent} from '@rebilly/framepay-react'
|
|
314
312
|
|
|
315
313
|
const MyCardElement = withFramePayCardComponent(MyCardComponent);
|
|
316
314
|
|
|
@@ -2,7 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
export default class Provider extends React.Component<ProviderProps, FramePayContext> {
|
|
3
3
|
static readonly defaultProps: {
|
|
4
4
|
injectScript: boolean;
|
|
5
|
-
injectStyle: boolean;
|
|
6
5
|
onError: () => {};
|
|
7
6
|
onReady: () => {};
|
|
8
7
|
onTokenReady: () => {};
|
|
@@ -113,9 +113,6 @@ var Provider = /** @class */ (function (_super) {
|
|
|
113
113
|
onReady: function () { return _this.onApiReady(); },
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
|
-
if (this.props.injectStyle) {
|
|
117
|
-
(0, dom_util_1.injectStyle)();
|
|
118
|
-
}
|
|
119
116
|
};
|
|
120
117
|
Provider.prototype.onApiError = function () {
|
|
121
118
|
return this.setState({
|
|
@@ -131,12 +128,12 @@ var Provider = /** @class */ (function (_super) {
|
|
|
131
128
|
};
|
|
132
129
|
Provider.prototype.onApiReady = function () {
|
|
133
130
|
return __awaiter(this, void 0, void 0, function () {
|
|
134
|
-
var api, _a,
|
|
131
|
+
var api, _a, children, settings;
|
|
135
132
|
var _this = this;
|
|
136
133
|
return __generator(this, function (_b) {
|
|
137
134
|
api = (0, get_framepay_api_1.default)();
|
|
138
135
|
try {
|
|
139
|
-
_a = this.props,
|
|
136
|
+
_a = this.props, children = _a.children, settings = __rest(_a, ["children"]);
|
|
140
137
|
api.initialize(settings);
|
|
141
138
|
api.on('ready', function () {
|
|
142
139
|
_this.setState({ ready: true, api: api, error: null });
|
|
@@ -185,7 +182,6 @@ var Provider = /** @class */ (function (_super) {
|
|
|
185
182
|
};
|
|
186
183
|
Provider.defaultProps = {
|
|
187
184
|
injectScript: true,
|
|
188
|
-
injectStyle: false,
|
|
189
185
|
onError: function () { return ({}); },
|
|
190
186
|
onReady: function () { return ({}); },
|
|
191
187
|
onTokenReady: function () { return ({}); },
|
|
@@ -193,4 +189,4 @@ var Provider = /** @class */ (function (_super) {
|
|
|
193
189
|
return Provider;
|
|
194
190
|
}(React.Component));
|
|
195
191
|
exports.default = Provider;
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUErQjtBQUMvQiwwQ0FBb0Q7QUFDcEQsc0NBQTZDO0FBQzdDLHdDQUEyQztBQUMzQyxxRUFBOEM7QUFDOUMseUVBQWlEO0FBRWpEO0lBQXNDLDRCQUdyQztJQUhEOztRQVdhLFdBQUssR0FBb0I7WUFDOUIsR0FBRyxFQUFFLElBQUEsMEJBQWMsR0FBRTtZQUNyQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQzs7SUFvRk4sQ0FBQztJQWxGRyxvQ0FBaUIsR0FBakI7UUFBQSxpQkFPQztRQU5HLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixJQUFBLHVCQUFZLEVBQUM7Z0JBQ1QsT0FBTyxFQUFFLGNBQU0sT0FBQSxLQUFJLENBQUMsVUFBVSxFQUFFLEVBQWpCLENBQWlCO2dCQUNoQyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxVQUFVLEVBQUUsRUFBakIsQ0FBaUI7YUFDbkMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCw2QkFBVSxHQUFWO1FBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUNoQjtZQUNJLEtBQUssRUFBRSx3QkFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDNUMsS0FBSyxFQUFFLEtBQUs7U0FDZixFQUNEO1lBQ0ksSUFBTSxLQUFLLEdBQUcsSUFBQSx3QkFBYSxFQUFDO2dCQUN4QixJQUFJLEVBQUUsd0JBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO2dCQUMzQyxPQUFPLEVBQUUs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
|
package/build/lib/constants.d.ts
CHANGED
|
@@ -12,11 +12,11 @@ export declare const REACT_VERSION: string;
|
|
|
12
12
|
/**
|
|
13
13
|
* Remote FramePay library CDN link.
|
|
14
14
|
*/
|
|
15
|
-
export declare const FRAMEPAY_SCRIPT_LINK: string;
|
|
15
|
+
export declare const FRAMEPAY_SCRIPT_LINK: string | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* Remote FramePay style CDN link.
|
|
18
18
|
*/
|
|
19
|
-
export declare const FRAMEPAY_STYLE_LINK: string;
|
|
19
|
+
export declare const FRAMEPAY_STYLE_LINK: string | undefined;
|
|
20
20
|
/**
|
|
21
21
|
* Supported FramePay card types
|
|
22
22
|
*/
|
package/build/lib/constants.js
CHANGED
|
@@ -39,13 +39,11 @@ exports.REACT_VERSION = React.version;
|
|
|
39
39
|
/**
|
|
40
40
|
* Remote FramePay library CDN link.
|
|
41
41
|
*/
|
|
42
|
-
exports.FRAMEPAY_SCRIPT_LINK = process.env.FRAMEPAY_SCRIPT_LINK
|
|
43
|
-
'https://framepay.rebilly.com/framepay.js';
|
|
42
|
+
exports.FRAMEPAY_SCRIPT_LINK = typeof process === 'object' ? process.env.FRAMEPAY_SCRIPT_LINK : undefined;
|
|
44
43
|
/**
|
|
45
44
|
* Remote FramePay style CDN link.
|
|
46
45
|
*/
|
|
47
|
-
exports.FRAMEPAY_STYLE_LINK = process.env.FRAMEPAY_STYLE_LINK
|
|
48
|
-
'https://framepay.rebilly.com/framepay.css';
|
|
46
|
+
exports.FRAMEPAY_STYLE_LINK = typeof process === 'object' ? process.env.FRAMEPAY_STYLE_LINK : undefined;
|
|
49
47
|
/**
|
|
50
48
|
* Supported FramePay card types
|
|
51
49
|
*/
|
|
@@ -60,4 +58,4 @@ exports.SUPPORTED_CARD_BRANDS = {
|
|
|
60
58
|
MasterCard: "MasterCard" /* SupportedCardBrands.MasterCard */,
|
|
61
59
|
Visa: "Visa" /* SupportedCardBrands.Visa */,
|
|
62
60
|
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBK0I7QUFFL0I7Ozs7O0dBS0c7QUFFSDs7O0dBR0c7QUFDVSxRQUFBLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBRTNDOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FDN0IsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFFL0U7O0dBRUc7QUFDVSxRQUFBLG1CQUFtQixHQUM1QixPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUU5RTs7R0FFRztBQUNVLFFBQUEscUJBQXFCLEdBQThCO0lBQzVELElBQUksbURBQTBCO0lBQzlCLFlBQVksd0RBQWtDO0lBQzlDLEdBQUcsK0NBQXlCO0lBQzVCLFVBQVUsb0RBQWdDO0lBQzFDLFFBQVEsK0NBQThCO0lBQ3RDLEdBQUcscUNBQXlCO0lBQzVCLE9BQU8sNkNBQTZCO0lBQ3BDLFVBQVUsbURBQWdDO0lBQzFDLElBQUksdUNBQTBCO0NBQ2pDLENBQUMifQ==
|
package/build/lib/dom-util.d.ts
CHANGED
|
@@ -2,6 +2,5 @@ interface ScriptProperties {
|
|
|
2
2
|
readonly onReady: () => void;
|
|
3
3
|
readonly onError: () => void;
|
|
4
4
|
}
|
|
5
|
-
export declare const injectScript: ({ onReady, onError }: ScriptProperties) => void
|
|
6
|
-
export declare const injectStyle: () => void;
|
|
5
|
+
export declare const injectScript: ({ onReady, onError }: ScriptProperties) => Promise<void>;
|
|
7
6
|
export {};
|
package/build/lib/dom-util.js
CHANGED
|
@@ -1,31 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
script.setAttribute('async', 'true');
|
|
11
|
-
script.setAttribute('defer', 'true');
|
|
12
|
-
script.setAttribute('src', constants_1.FRAMEPAY_SCRIPT_LINK);
|
|
13
|
-
script.setAttribute('defer', 'true');
|
|
14
|
-
script.addEventListener('load', function () { return onReady(); });
|
|
15
|
-
script.addEventListener('error', function () { return onError(); });
|
|
16
|
-
if (header) {
|
|
17
|
-
header.appendChild(script);
|
|
18
|
-
}
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
19
10
|
};
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
28
36
|
}
|
|
29
37
|
};
|
|
30
|
-
exports
|
|
31
|
-
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.injectScript = void 0;
|
|
40
|
+
var constants_1 = require("./constants");
|
|
41
|
+
var framepay_1 = require("@rebilly/framepay");
|
|
42
|
+
var injectScript = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
|
|
43
|
+
var _error_1;
|
|
44
|
+
var onReady = _b.onReady, onError = _b.onError;
|
|
45
|
+
return __generator(this, function (_c) {
|
|
46
|
+
switch (_c.label) {
|
|
47
|
+
case 0:
|
|
48
|
+
_c.trys.push([0, 2, , 3]);
|
|
49
|
+
return [4 /*yield*/, (0, framepay_1.loadFramepay)({
|
|
50
|
+
scriptLink: constants_1.FRAMEPAY_SCRIPT_LINK,
|
|
51
|
+
styleLink: constants_1.FRAMEPAY_STYLE_LINK,
|
|
52
|
+
})];
|
|
53
|
+
case 1:
|
|
54
|
+
_c.sent();
|
|
55
|
+
onReady();
|
|
56
|
+
return [3 /*break*/, 3];
|
|
57
|
+
case 2:
|
|
58
|
+
_error_1 = _c.sent();
|
|
59
|
+
onError();
|
|
60
|
+
return [3 /*break*/, 3];
|
|
61
|
+
case 3: return [2 /*return*/];
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}); };
|
|
65
|
+
exports.injectScript = injectScript;
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2RvbS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF3RTtBQUN4RSw4Q0FBaUQ7QUFPMUMsSUFBTSxZQUFZLEdBQUcsaUVBQU8sRUFBc0M7O1FBQXBDLE9BQU8sYUFBQSxFQUFFLE9BQU8sYUFBQTs7Ozs7Z0JBRTdDLHFCQUFNLElBQUEsdUJBQVksRUFBQzt3QkFDZixVQUFVLEVBQUUsZ0NBQW9CO3dCQUNoQyxTQUFTLEVBQUUsK0JBQW1CO3FCQUNqQyxDQUFDLEVBQUE7O2dCQUhGLFNBR0UsQ0FBQztnQkFDSCxPQUFPLEVBQUUsQ0FBQzs7OztnQkFFVixPQUFPLEVBQUUsQ0FBQzs7Ozs7S0FFakIsQ0FBQztBQVZXLFFBQUEsWUFBWSxnQkFVdkIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rebilly/framepay-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "A React wrapper for Rebilly's FramePay offering out-of-the-box support for Redux and other common React features",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"author": "Rebilly",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
+
"@rebilly/framepay": "*",
|
|
62
63
|
"create-react-context": "^0.3.0"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
@@ -1,49 +1,8 @@
|
|
|
1
1
|
import { render } from '@testing-library/react';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { FRAMEPAY_SCRIPT_LINK, FRAMEPAY_STYLE_LINK } from '../constants';
|
|
4
3
|
import Provider from './provider';
|
|
5
4
|
|
|
6
5
|
describe('Provider', () => {
|
|
7
|
-
it('should add the FramePay script on the page', () => {
|
|
8
|
-
const props = { publishableKey: 'pk_sandbox_1234567890' };
|
|
9
|
-
|
|
10
|
-
class ChildComponent extends React.Component {
|
|
11
|
-
render() {
|
|
12
|
-
return <div>child</div>;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
expect(document.head.innerHTML).not.toContain(FRAMEPAY_SCRIPT_LINK);
|
|
17
|
-
|
|
18
|
-
render(
|
|
19
|
-
<Provider {...props}>
|
|
20
|
-
<ChildComponent />
|
|
21
|
-
</Provider>,
|
|
22
|
-
);
|
|
23
|
-
expect(document.head.innerHTML).toContain(FRAMEPAY_SCRIPT_LINK);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('should add the FramePay styles on the page', () => {
|
|
27
|
-
const props = {
|
|
28
|
-
injectStyle: true,
|
|
29
|
-
publishableKey: 'pk_sandbox_1234567890',
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
class ChildComponent extends React.Component {
|
|
33
|
-
render() {
|
|
34
|
-
return <div>child</div>;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
expect(document.head.innerHTML).not.toContain(FRAMEPAY_STYLE_LINK);
|
|
39
|
-
render(
|
|
40
|
-
<Provider {...props}>
|
|
41
|
-
<ChildComponent />
|
|
42
|
-
</Provider>,
|
|
43
|
-
);
|
|
44
|
-
expect(document.head.innerHTML).toContain(FRAMEPAY_STYLE_LINK);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
6
|
it('should render with single child component', () => {
|
|
48
7
|
const props = { publishableKey: 'pk_sandbox_1234567890' };
|
|
49
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FRAMEPAY_SCRIPT_LINK } from '../constants';
|
|
3
3
|
import { ContextProvider } from '../context';
|
|
4
|
-
import { injectScript
|
|
4
|
+
import { injectScript } from '../dom-util';
|
|
5
5
|
import FramePayError from '../framepay-error';
|
|
6
6
|
import getFramepayApi from '../get-framepay-api';
|
|
7
7
|
|
|
@@ -11,7 +11,6 @@ export default class Provider extends React.Component<
|
|
|
11
11
|
> {
|
|
12
12
|
static readonly defaultProps = {
|
|
13
13
|
injectScript: true,
|
|
14
|
-
injectStyle: false,
|
|
15
14
|
onError: () => ({}),
|
|
16
15
|
onReady: () => ({}),
|
|
17
16
|
onTokenReady: () => ({}),
|
|
@@ -30,9 +29,6 @@ export default class Provider extends React.Component<
|
|
|
30
29
|
onReady: () => this.onApiReady(),
|
|
31
30
|
});
|
|
32
31
|
}
|
|
33
|
-
if (this.props.injectStyle) {
|
|
34
|
-
injectStyle();
|
|
35
|
-
}
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
onApiError() {
|
|
@@ -55,7 +51,7 @@ export default class Provider extends React.Component<
|
|
|
55
51
|
const api = getFramepayApi();
|
|
56
52
|
try {
|
|
57
53
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
58
|
-
const {
|
|
54
|
+
const { children, ...settings } = this.props;
|
|
59
55
|
api.initialize(settings);
|
|
60
56
|
api.on('ready', () => {
|
|
61
57
|
this.setState({ ready: true, api, error: null });
|
package/src/lib/constants.ts
CHANGED
|
@@ -16,16 +16,14 @@ export const REACT_VERSION = React.version;
|
|
|
16
16
|
/**
|
|
17
17
|
* Remote FramePay library CDN link.
|
|
18
18
|
*/
|
|
19
|
-
export const FRAMEPAY_SCRIPT_LINK
|
|
20
|
-
process.env.FRAMEPAY_SCRIPT_LINK
|
|
21
|
-
'https://framepay.rebilly.com/framepay.js';
|
|
19
|
+
export const FRAMEPAY_SCRIPT_LINK =
|
|
20
|
+
typeof process === 'object' ? process.env.FRAMEPAY_SCRIPT_LINK : undefined;
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Remote FramePay style CDN link.
|
|
25
24
|
*/
|
|
26
|
-
export const FRAMEPAY_STYLE_LINK
|
|
27
|
-
process.env.FRAMEPAY_STYLE_LINK
|
|
28
|
-
'https://framepay.rebilly.com/framepay.css';
|
|
25
|
+
export const FRAMEPAY_STYLE_LINK =
|
|
26
|
+
typeof process === 'object' ? process.env.FRAMEPAY_STYLE_LINK : undefined;
|
|
29
27
|
|
|
30
28
|
/**
|
|
31
29
|
* Supported FramePay card types
|
package/src/lib/dom-util.ts
CHANGED
|
@@ -1,31 +1,19 @@
|
|
|
1
1
|
import { FRAMEPAY_SCRIPT_LINK, FRAMEPAY_STYLE_LINK } from './constants';
|
|
2
|
+
import { loadFramepay } from '@rebilly/framepay';
|
|
2
3
|
|
|
3
4
|
interface ScriptProperties {
|
|
4
5
|
readonly onReady: () => void;
|
|
5
6
|
readonly onError: () => void;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
export const injectScript = ({ onReady, onError }: ScriptProperties) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
script.addEventListener('error', () => onError());
|
|
18
|
-
if (header) {
|
|
19
|
-
header.appendChild(script);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const injectStyle = () => {
|
|
24
|
-
const style = document.createElement('link');
|
|
25
|
-
const header = document.querySelector('head');
|
|
26
|
-
style.setAttribute('rel', 'stylesheet');
|
|
27
|
-
style.setAttribute('href', FRAMEPAY_STYLE_LINK);
|
|
28
|
-
if (header) {
|
|
29
|
-
header.appendChild(style);
|
|
9
|
+
export const injectScript = async ({ onReady, onError }: ScriptProperties) => {
|
|
10
|
+
try {
|
|
11
|
+
await loadFramepay({
|
|
12
|
+
scriptLink: FRAMEPAY_SCRIPT_LINK,
|
|
13
|
+
styleLink: FRAMEPAY_STYLE_LINK,
|
|
14
|
+
});
|
|
15
|
+
onReady();
|
|
16
|
+
} catch (_error) {
|
|
17
|
+
onError();
|
|
30
18
|
}
|
|
31
19
|
};
|
|
@@ -311,7 +311,7 @@ const BankElement = withFramePayBankComponent(CardElementComponent);
|
|
|
311
311
|
class App extends Component {
|
|
312
312
|
render() {
|
|
313
313
|
return (
|
|
314
|
-
<FramePayProvider
|
|
314
|
+
<FramePayProvider {...params}>
|
|
315
315
|
<div>
|
|
316
316
|
{ReactVersion()}
|
|
317
317
|
<BankElement />
|
|
@@ -364,7 +364,7 @@ const CardElement = withFramePayCardComponent(CardElementComponent);
|
|
|
364
364
|
class App extends Component {
|
|
365
365
|
render() {
|
|
366
366
|
return (
|
|
367
|
-
<FramePayProvider
|
|
367
|
+
<FramePayProvider {...params}>
|
|
368
368
|
<div>
|
|
369
369
|
{ReactVersion()}
|
|
370
370
|
<CardElement />
|
|
@@ -259,7 +259,7 @@ const CardElement = withFramePayCardComponent(CardElementComponent);
|
|
|
259
259
|
class App extends Component {
|
|
260
260
|
render() {
|
|
261
261
|
return (
|
|
262
|
-
<FramePayProvider
|
|
262
|
+
<FramePayProvider {...params}>
|
|
263
263
|
<div>
|
|
264
264
|
{ReactVersion()}
|
|
265
265
|
<CardElement />
|
|
@@ -316,7 +316,7 @@ const CardElement = withFramePayCardComponent(CardElementComponent);
|
|
|
316
316
|
class App extends Component {
|
|
317
317
|
render() {
|
|
318
318
|
return (
|
|
319
|
-
<FramePayProvider
|
|
319
|
+
<FramePayProvider {...params}>
|
|
320
320
|
<div>
|
|
321
321
|
{ReactVersion()}
|
|
322
322
|
<CardElement />
|
|
@@ -236,7 +236,7 @@ const CardElement = withFramePayCardComponent(CardElementComponent);
|
|
|
236
236
|
class App extends Component {
|
|
237
237
|
render() {
|
|
238
238
|
return (
|
|
239
|
-
<FramePayProvider
|
|
239
|
+
<FramePayProvider {...params}>
|
|
240
240
|
<div>
|
|
241
241
|
{ReactVersion()}
|
|
242
242
|
<CardElement />
|
|
@@ -228,7 +228,7 @@ const IBANElement = withFramePayIBANComponent(IBANlementComponent);
|
|
|
228
228
|
class App extends Component {
|
|
229
229
|
render() {
|
|
230
230
|
return (
|
|
231
|
-
<FramePayProvider
|
|
231
|
+
<FramePayProvider {...params}>
|
|
232
232
|
<div>
|
|
233
233
|
{ReactVersion()};
|
|
234
234
|
<IBANElement />
|
package/types/provider.d.ts
CHANGED