fontdue-js 1.10.2 → 1.11.0-alpha2
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/dist/__generated__/CartQuery.graphql.js +134 -122
- package/dist/__generated__/StoreModalContainerQuery.graphql.d.ts +0 -2
- package/dist/__generated__/StoreModalContainerQuery.graphql.js +7 -35
- package/dist/__generated__/StoreModalReviewCompleteOrderMutation.graphql.js +71 -15
- package/dist/__generated__/StoreModalReviewQuery.graphql.d.ts +1 -1
- package/dist/__generated__/StoreModalReviewQuery.graphql.js +148 -51
- package/dist/__generated__/StoreModalReview_order.graphql.d.ts +9 -0
- package/dist/__generated__/StoreModalReview_order.graphql.js +67 -20
- package/dist/__generated__/StripeProvider_viewer.graphql.d.ts +5 -0
- package/dist/__generated__/StripeProvider_viewer.graphql.js +25 -1
- package/dist/components/Cart/Checkout.d.ts +2 -1
- package/dist/components/Cart/Checkout.js +14 -4
- package/dist/components/Cart/index.js +2 -1
- package/dist/components/FontdueProvider/index.d.ts +2 -1
- package/dist/components/FontdueProvider/index.js +3 -1
- package/dist/components/Root/index.js +1 -0
- package/dist/components/StoreModal/StoreModalCheckout.js +2 -1
- package/dist/components/StoreModal/StoreModalContainer.js +3 -6
- package/dist/components/StoreModal/StoreModalReview.js +70 -50
- package/dist/components/StripeProvider/index.d.ts +2 -1
- package/dist/components/StripeProvider/index.js +14 -4
- package/dist/components/elements/StoreModalReviewConfirm/index.d.ts +1 -0
- package/dist/components/elements/StoreModalReviewConfirm/index.js +3 -2
- package/dist/components/elements/StoreModalReviewLayout/index.js +1 -3
- package/dist/relay-environment.d.ts +1 -0
- package/dist/relay-environment.js +2 -1
- package/package.json +2 -2
|
@@ -9,11 +9,25 @@ exports.default = void 0;
|
|
|
9
9
|
// @ts-nocheck
|
|
10
10
|
|
|
11
11
|
const node = function () {
|
|
12
|
-
var v0 =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
var v0 = {
|
|
13
|
+
"alias": null,
|
|
14
|
+
"args": null,
|
|
15
|
+
"kind": "ScalarField",
|
|
16
|
+
"name": "email",
|
|
17
|
+
"storageKey": null
|
|
18
|
+
},
|
|
19
|
+
v1 = {
|
|
20
|
+
"alias": null,
|
|
21
|
+
"args": null,
|
|
22
|
+
"kind": "ScalarField",
|
|
23
|
+
"name": "name",
|
|
24
|
+
"storageKey": null
|
|
25
|
+
},
|
|
26
|
+
v2 = {
|
|
27
|
+
"args": null,
|
|
28
|
+
"kind": "FragmentSpread",
|
|
29
|
+
"name": "StoreModalReviewIdentity_identity"
|
|
30
|
+
};
|
|
17
31
|
return {
|
|
18
32
|
"argumentDefinitions": [],
|
|
19
33
|
"kind": "Fragment",
|
|
@@ -26,28 +40,54 @@ const node = function () {
|
|
|
26
40
|
"kind": "LinkedField",
|
|
27
41
|
"name": "customer",
|
|
28
42
|
"plural": false,
|
|
29
|
-
"selections": [
|
|
43
|
+
"selections": [v0 /*: any*/, v1 /*: any*/],
|
|
44
|
+
|
|
45
|
+
"storageKey": null
|
|
46
|
+
}, {
|
|
47
|
+
"alias": null,
|
|
48
|
+
"args": null,
|
|
49
|
+
"concreteType": "Identity",
|
|
50
|
+
"kind": "LinkedField",
|
|
51
|
+
"name": "billingIdentity",
|
|
52
|
+
"plural": false,
|
|
53
|
+
"selections": [v1 /*: any*/, v0 /*: any*/, {
|
|
30
54
|
"alias": null,
|
|
31
55
|
"args": null,
|
|
32
56
|
"kind": "ScalarField",
|
|
33
|
-
"name": "
|
|
57
|
+
"name": "phone",
|
|
34
58
|
"storageKey": null
|
|
35
59
|
}, {
|
|
36
60
|
"alias": null,
|
|
37
61
|
"args": null,
|
|
38
62
|
"kind": "ScalarField",
|
|
39
|
-
"name": "
|
|
63
|
+
"name": "street",
|
|
40
64
|
"storageKey": null
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
}, {
|
|
66
|
+
"alias": null,
|
|
67
|
+
"args": null,
|
|
68
|
+
"kind": "ScalarField",
|
|
69
|
+
"name": "locality",
|
|
70
|
+
"storageKey": null
|
|
71
|
+
}, {
|
|
72
|
+
"alias": null,
|
|
73
|
+
"args": null,
|
|
74
|
+
"kind": "ScalarField",
|
|
75
|
+
"name": "administrativeArea",
|
|
76
|
+
"storageKey": null
|
|
77
|
+
}, {
|
|
78
|
+
"alias": null,
|
|
79
|
+
"args": null,
|
|
80
|
+
"kind": "ScalarField",
|
|
81
|
+
"name": "country",
|
|
82
|
+
"storageKey": null
|
|
83
|
+
}, {
|
|
84
|
+
"alias": null,
|
|
85
|
+
"args": null,
|
|
86
|
+
"kind": "ScalarField",
|
|
87
|
+
"name": "zip",
|
|
88
|
+
"storageKey": null
|
|
89
|
+
}, v2 /*: any*/],
|
|
90
|
+
|
|
51
91
|
"storageKey": null
|
|
52
92
|
}, {
|
|
53
93
|
"alias": null,
|
|
@@ -56,7 +96,8 @@ const node = function () {
|
|
|
56
96
|
"kind": "LinkedField",
|
|
57
97
|
"name": "licenseeIdentity",
|
|
58
98
|
"plural": false,
|
|
59
|
-
"selections":
|
|
99
|
+
"selections": [v2 /*: any*/],
|
|
100
|
+
|
|
60
101
|
"storageKey": null
|
|
61
102
|
}, {
|
|
62
103
|
"alias": null,
|
|
@@ -161,6 +202,12 @@ const node = function () {
|
|
|
161
202
|
"storageKey": null
|
|
162
203
|
}],
|
|
163
204
|
"storageKey": null
|
|
205
|
+
}, {
|
|
206
|
+
"alias": null,
|
|
207
|
+
"args": null,
|
|
208
|
+
"kind": "ScalarField",
|
|
209
|
+
"name": "completeUrl",
|
|
210
|
+
"storageKey": null
|
|
164
211
|
}, {
|
|
165
212
|
"args": null,
|
|
166
213
|
"kind": "FragmentSpread",
|
|
@@ -174,6 +221,6 @@ const node = function () {
|
|
|
174
221
|
"abstractKey": null
|
|
175
222
|
};
|
|
176
223
|
}();
|
|
177
|
-
node.hash = '
|
|
224
|
+
node.hash = '039b531ec1968e12d77dd23e0493a513';
|
|
178
225
|
var _default = node;
|
|
179
226
|
exports.default = _default;
|
|
@@ -7,6 +7,11 @@ export declare type StripeProvider_viewer = {
|
|
|
7
7
|
readonly stripeCredentials: {
|
|
8
8
|
readonly stripePublishableKey: string;
|
|
9
9
|
} | null;
|
|
10
|
+
readonly currentOrder: {
|
|
11
|
+
readonly stripePaymentIntent: {
|
|
12
|
+
readonly clientSecret: string | null;
|
|
13
|
+
} | null;
|
|
14
|
+
} | null;
|
|
10
15
|
readonly " $refType": "StripeProvider_viewer";
|
|
11
16
|
};
|
|
12
17
|
export declare type StripeProvider_viewer$data = StripeProvider_viewer;
|
|
@@ -43,10 +43,34 @@ const node = {
|
|
|
43
43
|
"storageKey": null
|
|
44
44
|
}],
|
|
45
45
|
"storageKey": null
|
|
46
|
+
}, {
|
|
47
|
+
"alias": null,
|
|
48
|
+
"args": null,
|
|
49
|
+
"concreteType": "Order",
|
|
50
|
+
"kind": "LinkedField",
|
|
51
|
+
"name": "currentOrder",
|
|
52
|
+
"plural": false,
|
|
53
|
+
"selections": [{
|
|
54
|
+
"alias": null,
|
|
55
|
+
"args": null,
|
|
56
|
+
"concreteType": "StripePaymentIntent",
|
|
57
|
+
"kind": "LinkedField",
|
|
58
|
+
"name": "stripePaymentIntent",
|
|
59
|
+
"plural": false,
|
|
60
|
+
"selections": [{
|
|
61
|
+
"alias": null,
|
|
62
|
+
"args": null,
|
|
63
|
+
"kind": "ScalarField",
|
|
64
|
+
"name": "clientSecret",
|
|
65
|
+
"storageKey": null
|
|
66
|
+
}],
|
|
67
|
+
"storageKey": null
|
|
68
|
+
}],
|
|
69
|
+
"storageKey": null
|
|
46
70
|
}],
|
|
47
71
|
"type": "Viewer",
|
|
48
72
|
"abstractKey": null
|
|
49
73
|
};
|
|
50
|
-
node.hash = '
|
|
74
|
+
node.hash = '109e9cbd38d24e7517934f5f1e734339';
|
|
51
75
|
var _default = node;
|
|
52
76
|
exports.default = _default;
|
|
@@ -12,6 +12,7 @@ interface Checkout_props {
|
|
|
12
12
|
error?: string | null;
|
|
13
13
|
saveText?: string | null;
|
|
14
14
|
onCancel: () => void;
|
|
15
|
+
skipPaymentMethod?: boolean;
|
|
15
16
|
}
|
|
16
|
-
declare const Checkout: ({ order, viewer, checkoutStep, setCheckoutStep, onScrollToTop, onComplete, error: errorProp, saveText, onCancel, }: Checkout_props) => JSX.Element;
|
|
17
|
+
declare const Checkout: ({ order, viewer, checkoutStep, setCheckoutStep, onScrollToTop, onComplete, error: errorProp, saveText, onCancel, skipPaymentMethod, }: Checkout_props) => JSX.Element;
|
|
17
18
|
export default Checkout;
|
|
@@ -45,7 +45,8 @@ const Checkout = _ref => {
|
|
|
45
45
|
onComplete,
|
|
46
46
|
error: errorProp,
|
|
47
47
|
saveText = 'Next',
|
|
48
|
-
onCancel
|
|
48
|
+
onCancel,
|
|
49
|
+
skipPaymentMethod = false
|
|
49
50
|
} = _ref;
|
|
50
51
|
const orderData = (0, _reactRelay.useFragment)(_Checkout_order !== void 0 ? _Checkout_order : (_Checkout_order = require("../../__generated__/Checkout_order.graphql"), _Checkout_order.hash && _Checkout_order.hash !== "693ae9c7f2c7fe9a179bad7b86c16928" && console.error("The definition of 'Checkout_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Checkout_order), order);
|
|
51
52
|
const viewerData = (0, _reactRelay.useFragment)(_Checkout_viewer !== void 0 ? _Checkout_viewer : (_Checkout_viewer = require("../../__generated__/Checkout_viewer.graphql"), _Checkout_viewer.hash && _Checkout_viewer.hash !== "d20d03a2aab3f8bc454ac19fc6368178" && console.error("The definition of 'Checkout_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Checkout_viewer), viewer);
|
|
@@ -126,8 +127,16 @@ const Checkout = _ref => {
|
|
|
126
127
|
onCompleted: (res, errors) => onCompleted(res, errors, onSuccess)
|
|
127
128
|
});
|
|
128
129
|
};
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
let stripe;
|
|
131
|
+
let elements;
|
|
132
|
+
if (!skipPaymentMethod) {
|
|
133
|
+
// TODO this seems like it shouldn't be necessary, once we have items in the
|
|
134
|
+
// cart and we click "checkout", the order should have already updated with
|
|
135
|
+
// a clientSecret -- is it possible we need to add to the mutation the fragment
|
|
136
|
+
// for the StripeProvider?
|
|
137
|
+
stripe = (0, _reactStripeJs.useStripe)();
|
|
138
|
+
elements = (0, _reactStripeJs.useElements)();
|
|
139
|
+
}
|
|
131
140
|
const handleSubmit = () => {
|
|
132
141
|
setSubmitting(true);
|
|
133
142
|
setError(null);
|
|
@@ -150,7 +159,7 @@ const Checkout = _ref => {
|
|
|
150
159
|
licenseeIdentity: licenseeIsBillingIdentity ? null : licenseeIdentity
|
|
151
160
|
}
|
|
152
161
|
}, () => {
|
|
153
|
-
if (orderData !== null && orderData !== void 0 && orderData.canCompleteWithCoupon) {
|
|
162
|
+
if (orderData !== null && orderData !== void 0 && orderData.canCompleteWithCoupon || skipPaymentMethod) {
|
|
154
163
|
onComplete();
|
|
155
164
|
} else {
|
|
156
165
|
setCheckoutStep(_CheckoutSteps.default.Payment);
|
|
@@ -395,6 +404,7 @@ const Checkout = _ref => {
|
|
|
395
404
|
className: "checkout-modal__customer-info__check"
|
|
396
405
|
}, /*#__PURE__*/_react.default.createElement(_Icons.Check, null)))));
|
|
397
406
|
if (checkoutStep === _CheckoutSteps.default.Payment) {
|
|
407
|
+
console.log('PAYMent step');
|
|
398
408
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, customerBreadcrumb, billingBreadcrumb, licenseeBreadcrumb, /*#__PURE__*/_react.default.createElement("div", {
|
|
399
409
|
className: "checkout-modal__section"
|
|
400
410
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -26,7 +26,8 @@ const CartBase = _ref => {
|
|
|
26
26
|
status: status
|
|
27
27
|
});
|
|
28
28
|
return /*#__PURE__*/_react.default.createElement(_StripeProvider.default, {
|
|
29
|
-
viewer: viewer
|
|
29
|
+
viewer: viewer,
|
|
30
|
+
requireClientSecret: false
|
|
30
31
|
}, /*#__PURE__*/_react.default.createElement(_CartOrder.default, {
|
|
31
32
|
viewer: viewer,
|
|
32
33
|
order: currentOrder,
|
|
@@ -4,8 +4,9 @@ import { Components } from '../ComponentsContext';
|
|
|
4
4
|
export interface FontdueProvider_props {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
url: string;
|
|
7
|
+
stripeIntegration?: 'payment-element' | 'card-element';
|
|
7
8
|
config?: Config;
|
|
8
9
|
components?: Components;
|
|
9
10
|
}
|
|
10
|
-
declare const FontdueProvider: ({ children, url, config, components, }: FontdueProvider_props) => JSX.Element;
|
|
11
|
+
declare const FontdueProvider: ({ children, url, stripeIntegration, config, components, }: FontdueProvider_props) => JSX.Element;
|
|
11
12
|
export default FontdueProvider;
|
|
@@ -21,11 +21,13 @@ const FontdueProvider = _ref => {
|
|
|
21
21
|
let {
|
|
22
22
|
children,
|
|
23
23
|
url,
|
|
24
|
+
stripeIntegration,
|
|
24
25
|
config,
|
|
25
26
|
components
|
|
26
27
|
} = _ref;
|
|
27
28
|
const environment = (0, _react.useRef)((0, _relayEnvironment.default)({
|
|
28
|
-
url
|
|
29
|
+
url,
|
|
30
|
+
stripeIntegration
|
|
29
31
|
}));
|
|
30
32
|
return /*#__PURE__*/_react.default.createElement(_reactRelay.RelayEnvironmentProvider, {
|
|
31
33
|
environment: environment.current
|
|
@@ -124,6 +124,7 @@ const Root = props => {
|
|
|
124
124
|
}, []);
|
|
125
125
|
return /*#__PURE__*/_react.default.createElement(_FontdueProvider.default, {
|
|
126
126
|
url: props.url,
|
|
127
|
+
stripeIntegration: props.stripeIntegration,
|
|
127
128
|
config: props.config,
|
|
128
129
|
components: props.components
|
|
129
130
|
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Array.from(elements).map(_ref => {
|
|
@@ -9,7 +9,6 @@ var _reactRedux = require("react-redux");
|
|
|
9
9
|
var _StoreModalContainer = _interopRequireDefault(require("../elements/StoreModalContainer"));
|
|
10
10
|
var _reactRelay = require("react-relay");
|
|
11
11
|
var _relayRuntime = require("relay-runtime");
|
|
12
|
-
var _StripeProvider = _interopRequireDefault(require("../StripeProvider"));
|
|
13
12
|
var _StoreModalCheckoutContext = _interopRequireDefault(require("./StoreModalCheckoutContext"));
|
|
14
13
|
var _CheckoutSteps = _interopRequireDefault(require("../Cart/CheckoutSteps"));
|
|
15
14
|
var _StoreModalLoadingScreen = _interopRequireDefault(require("../elements/StoreModalLoadingScreen"));
|
|
@@ -42,7 +41,7 @@ const StoreModalContainer = _ref => {
|
|
|
42
41
|
let {
|
|
43
42
|
children
|
|
44
43
|
} = _ref;
|
|
45
|
-
const data = (0, _reactRelay.useLazyLoadQuery)(_StoreModalContainerQuery !== void 0 ? _StoreModalContainerQuery : (_StoreModalContainerQuery = require("../../__generated__/StoreModalContainerQuery.graphql"), _StoreModalContainerQuery.hash && _StoreModalContainerQuery.hash !== "
|
|
44
|
+
const data = (0, _reactRelay.useLazyLoadQuery)(_StoreModalContainerQuery !== void 0 ? _StoreModalContainerQuery : (_StoreModalContainerQuery = require("../../__generated__/StoreModalContainerQuery.graphql"), _StoreModalContainerQuery.hash && _StoreModalContainerQuery.hash !== "67cf3b7a14c2b8ff47a8138e0f234624" && console.error("The definition of 'StoreModalContainerQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalContainerQuery), {});
|
|
46
45
|
const dispatch = (0, _reactRedux.useDispatch)();
|
|
47
46
|
const showCartButton = ((_currentOrder$orderIt = (_currentOrder = data.viewer.currentOrder) === null || _currentOrder === void 0 ? void 0 : (_currentOrder$orderIt2 = _currentOrder.orderItems) === null || _currentOrder$orderIt2 === void 0 ? void 0 : _currentOrder$orderIt2.length) !== null && _currentOrder$orderIt !== void 0 ? _currentOrder$orderIt : 0) > 0;
|
|
48
47
|
const handleClose = (0, _react.useCallback)(() => {
|
|
@@ -73,9 +72,7 @@ const StoreModalContainer = _ref => {
|
|
|
73
72
|
};
|
|
74
73
|
const [checkoutStep, setCheckoutStep] = (0, _react.useState)(_CheckoutSteps.default.Customer);
|
|
75
74
|
const [checkoutError, setCheckoutError] = (0, _react.useState)(null);
|
|
76
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
77
|
-
viewer: data.viewer
|
|
78
|
-
}, /*#__PURE__*/_react.default.createElement(_StoreModalCheckoutContext.default.Provider, {
|
|
75
|
+
return /*#__PURE__*/_react.default.createElement(_StoreModalCheckoutContext.default.Provider, {
|
|
79
76
|
value: {
|
|
80
77
|
checkoutStep,
|
|
81
78
|
setCheckoutStep,
|
|
@@ -96,7 +93,7 @@ const StoreModalContainer = _ref => {
|
|
|
96
93
|
body: /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
97
94
|
fallback: /*#__PURE__*/_react.default.createElement(_StoreModalLoadingScreen.default, null)
|
|
98
95
|
}, children)
|
|
99
|
-
}))
|
|
96
|
+
}));
|
|
100
97
|
};
|
|
101
98
|
var _default = StoreModalContainer;
|
|
102
99
|
exports.default = _default;
|
|
@@ -19,7 +19,7 @@ var _StoreModalReviewIdentity = _interopRequireDefault(require("./StoreModalRevi
|
|
|
19
19
|
var _StoreModalReviewConfirm = _interopRequireDefault(require("../elements/StoreModalReviewConfirm"));
|
|
20
20
|
var _StoreModalDownload = _interopRequireDefault(require("./StoreModalDownload"));
|
|
21
21
|
var _StoreModalCheckoutContext = _interopRequireDefault(require("./StoreModalCheckoutContext"));
|
|
22
|
-
var
|
|
22
|
+
var _StripeProvider = _interopRequireDefault(require("../StripeProvider"));
|
|
23
23
|
var _StoreModalReviewCompleteOrderMutation, _StoreModalReview_order, _StoreModalReview_viewer, _StoreModalReviewQuery;
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
25
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -34,77 +34,86 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
34
34
|
// just paid for
|
|
35
35
|
const submitCompleteMutation = _StoreModalReviewCompleteOrderMutation !== void 0 ? _StoreModalReviewCompleteOrderMutation : (_StoreModalReviewCompleteOrderMutation = require("../../__generated__/StoreModalReviewCompleteOrderMutation.graphql"), _StoreModalReviewCompleteOrderMutation.hash && _StoreModalReviewCompleteOrderMutation.hash !== "de20197df49deb030c473adbd9560e03" && console.error("The definition of 'StoreModalReviewCompleteOrderMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalReviewCompleteOrderMutation);
|
|
36
36
|
const StoreModalReview = _ref => {
|
|
37
|
-
var _order$stripePaymentI, _order$
|
|
37
|
+
var _order$stripePaymentI, _order$orderItems, _viewer$settings$eula, _viewer$settings;
|
|
38
38
|
let {
|
|
39
39
|
viewer: viewerKey,
|
|
40
40
|
order: orderKey
|
|
41
41
|
} = _ref;
|
|
42
|
-
const order = (0, _reactRelay.useFragment)(_StoreModalReview_order !== void 0 ? _StoreModalReview_order : (_StoreModalReview_order = require("../../__generated__/StoreModalReview_order.graphql"), _StoreModalReview_order.hash && _StoreModalReview_order.hash !== "
|
|
42
|
+
const order = (0, _reactRelay.useFragment)(_StoreModalReview_order !== void 0 ? _StoreModalReview_order : (_StoreModalReview_order = require("../../__generated__/StoreModalReview_order.graphql"), _StoreModalReview_order.hash && _StoreModalReview_order.hash !== "039b531ec1968e12d77dd23e0493a513" && console.error("The definition of 'StoreModalReview_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalReview_order), orderKey);
|
|
43
43
|
const viewer = (0, _reactRelay.useFragment)(_StoreModalReview_viewer !== void 0 ? _StoreModalReview_viewer : (_StoreModalReview_viewer = require("../../__generated__/StoreModalReview_viewer.graphql"), _StoreModalReview_viewer.hash && _StoreModalReview_viewer.hash !== "9136dd09437ff0102d8235b72b9b5c66" && console.error("The definition of 'StoreModalReview_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalReview_viewer), viewerKey);
|
|
44
44
|
const dispatch = (0, _reactRedux.useDispatch)();
|
|
45
45
|
const [completing, setCompleting] = (0, _react.useState)(false);
|
|
46
46
|
const [error, setError] = (0, _react.useState)(null);
|
|
47
47
|
const {
|
|
48
|
-
setCheckoutStep
|
|
49
|
-
setCheckoutError
|
|
48
|
+
setCheckoutStep
|
|
50
49
|
} = (0, _react.useContext)(_StoreModalCheckoutContext.default);
|
|
51
50
|
const {
|
|
52
51
|
scrollToTop
|
|
53
52
|
} = (0, _react.useContext)(_StoreModalContainerContext.default);
|
|
54
53
|
const environment = (0, _reactRelay.useRelayEnvironment)();
|
|
55
54
|
const stripe = (0, _reactStripeJs.useStripe)();
|
|
55
|
+
const elements = (0, _reactStripeJs.useElements)();
|
|
56
56
|
if (!order) return null;
|
|
57
57
|
if (order.completedWithCoupon || ((_order$stripePaymentI = order.stripePaymentIntent) === null || _order$stripePaymentI === void 0 ? void 0 : _order$stripePaymentI.status) === 'succeeded') {
|
|
58
58
|
return /*#__PURE__*/_react.default.createElement(_StoreModalDownload.default, {
|
|
59
59
|
order: order
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
+
const billingIdentity = order.billingIdentity;
|
|
62
63
|
const handleSubmit = () => {
|
|
64
|
+
var _billingIdentity$stre, _billingIdentity$stre2, _billingIdentity$stre3, _billingIdentity$loca, _billingIdentity$admi, _billingIdentity$zip;
|
|
65
|
+
if (!stripe || !elements) return;
|
|
66
|
+
if (!billingIdentity) {
|
|
67
|
+
console.error('No billing identity, required for payment');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
63
70
|
setCompleting(true);
|
|
64
71
|
setError(null);
|
|
65
|
-
(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
setCheckoutStep === null || setCheckoutStep === void 0 ? void 0 : setCheckoutStep(_CheckoutSteps.default.Payment);
|
|
81
|
-
dispatch({
|
|
82
|
-
type: 'STORE_MODAL_NAVIGATE',
|
|
83
|
-
route: 'checkout'
|
|
84
|
-
});
|
|
85
|
-
} else {
|
|
86
|
-
// re-confirm
|
|
87
|
-
handleSubmit();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (requiresAction === 'enter_new_payment_method') {
|
|
93
|
-
setCompleting(false);
|
|
94
|
-
setCheckoutError === null || setCheckoutError === void 0 ? void 0 : setCheckoutError('We were unable to complete your payment, please re-enter your card details any try again');
|
|
95
|
-
setCheckoutStep === null || setCheckoutStep === void 0 ? void 0 : setCheckoutStep(_CheckoutSteps.default.Payment);
|
|
96
|
-
dispatch({
|
|
97
|
-
type: 'STORE_MODAL_NAVIGATE',
|
|
98
|
-
route: 'checkout'
|
|
99
|
-
});
|
|
100
|
-
return;
|
|
72
|
+
if (order.canCompleteWithCoupon) {
|
|
73
|
+
(0, _relayRuntime.commitMutation)(environment, {
|
|
74
|
+
mutation: submitCompleteMutation,
|
|
75
|
+
variables: {},
|
|
76
|
+
onCompleted: (_response, errors) => {
|
|
77
|
+
if (errors && errors.length > 0) {
|
|
78
|
+
setCompleting(false);
|
|
79
|
+
setError(errors[0].message);
|
|
80
|
+
scrollToTop === null || scrollToTop === void 0 ? void 0 : scrollToTop();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// TODO: test this
|
|
85
|
+
|
|
86
|
+
window.location.href = order.completeUrl;
|
|
101
87
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
88
|
+
});
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
stripe === null || stripe === void 0 ? void 0 : stripe.confirmPayment({
|
|
92
|
+
elements,
|
|
93
|
+
confirmParams: {
|
|
94
|
+
return_url: order.completeUrl,
|
|
95
|
+
payment_method_data: {
|
|
96
|
+
billing_details: {
|
|
97
|
+
email: billingIdentity.email,
|
|
98
|
+
name: billingIdentity.name,
|
|
99
|
+
address: {
|
|
100
|
+
line1: (_billingIdentity$stre = billingIdentity.street) === null || _billingIdentity$stre === void 0 ? void 0 : _billingIdentity$stre.split(/\n/)[0],
|
|
101
|
+
line2: (_billingIdentity$stre2 = (_billingIdentity$stre3 = billingIdentity.street) === null || _billingIdentity$stre3 === void 0 ? void 0 : _billingIdentity$stre3.split(/\n/)[1]) !== null && _billingIdentity$stre2 !== void 0 ? _billingIdentity$stre2 : '',
|
|
102
|
+
city: (_billingIdentity$loca = billingIdentity.locality) !== null && _billingIdentity$loca !== void 0 ? _billingIdentity$loca : '',
|
|
103
|
+
state: (_billingIdentity$admi = billingIdentity.administrativeArea) !== null && _billingIdentity$admi !== void 0 ? _billingIdentity$admi : '',
|
|
104
|
+
country: billingIdentity.country,
|
|
105
|
+
postal_code: (_billingIdentity$zip = billingIdentity.zip) !== null && _billingIdentity$zip !== void 0 ? _billingIdentity$zip : undefined
|
|
106
|
+
}
|
|
107
|
+
}
|
|
106
108
|
}
|
|
107
109
|
}
|
|
110
|
+
}).then(result => {
|
|
111
|
+
if ('error' in result) {
|
|
112
|
+
setCompleting(false);
|
|
113
|
+
}
|
|
114
|
+
}).catch(error => {
|
|
115
|
+
console.log(error);
|
|
116
|
+
setCompleting(false);
|
|
108
117
|
});
|
|
109
118
|
};
|
|
110
119
|
const handleClickSection = step => {
|
|
@@ -129,7 +138,15 @@ const StoreModalReview = _ref => {
|
|
|
129
138
|
}) : order.licenseeIdentity && /*#__PURE__*/_react.default.createElement(_StoreModalReviewIdentity.default, {
|
|
130
139
|
identity: order.licenseeIdentity
|
|
131
140
|
}),
|
|
132
|
-
payment:
|
|
141
|
+
payment: /*#__PURE__*/_react.default.createElement(_reactStripeJs.PaymentElement, {
|
|
142
|
+
options: {
|
|
143
|
+
fields: {
|
|
144
|
+
billingDetails: {
|
|
145
|
+
address: 'never'
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}),
|
|
133
150
|
items: (_order$orderItems = order.orderItems) === null || _order$orderItems === void 0 ? void 0 : _order$orderItems.map(item => /*#__PURE__*/_react.default.createElement(_StoreModalReviewItem.default, {
|
|
134
151
|
key: item.id
|
|
135
152
|
}, {
|
|
@@ -144,7 +161,8 @@ const StoreModalReview = _ref => {
|
|
|
144
161
|
}),
|
|
145
162
|
confirm: /*#__PURE__*/_react.default.createElement(_StoreModalReviewConfirm.default, {
|
|
146
163
|
onSubmit: handleSubmit,
|
|
147
|
-
submitting: completing
|
|
164
|
+
submitting: completing,
|
|
165
|
+
disabled: !stripe || !elements
|
|
148
166
|
}, {
|
|
149
167
|
eulaText: /*#__PURE__*/_react.default.createElement("div", {
|
|
150
168
|
dangerouslySetInnerHTML: {
|
|
@@ -160,11 +178,13 @@ const StoreModalReviewQueryContainer = _ref2 => {
|
|
|
160
178
|
let {
|
|
161
179
|
prepared
|
|
162
180
|
} = _ref2;
|
|
163
|
-
const data = (0, _reactRelay.usePreloadedQuery)(_StoreModalReviewQuery !== void 0 ? _StoreModalReviewQuery : (_StoreModalReviewQuery = require("../../__generated__/StoreModalReviewQuery.graphql"), _StoreModalReviewQuery.hash && _StoreModalReviewQuery.hash !== "
|
|
164
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
181
|
+
const data = (0, _reactRelay.usePreloadedQuery)(_StoreModalReviewQuery !== void 0 ? _StoreModalReviewQuery : (_StoreModalReviewQuery = require("../../__generated__/StoreModalReviewQuery.graphql"), _StoreModalReviewQuery.hash && _StoreModalReviewQuery.hash !== "e0aed024d4a8ba04c42e455e63e8c373" && console.error("The definition of 'StoreModalReviewQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalReviewQuery), prepared.reviewQuery);
|
|
182
|
+
return /*#__PURE__*/_react.default.createElement(_StripeProvider.default, {
|
|
183
|
+
viewer: data.viewer
|
|
184
|
+
}, /*#__PURE__*/_react.default.createElement(StoreModalReview, {
|
|
165
185
|
viewer: data.viewer,
|
|
166
186
|
order: data.viewer.currentOrder
|
|
167
|
-
});
|
|
187
|
+
}));
|
|
168
188
|
};
|
|
169
189
|
var _default = StoreModalReviewQueryContainer;
|
|
170
190
|
exports.default = _default;
|
|
@@ -3,6 +3,7 @@ import { StripeProvider_viewer$key } from '../../__generated__/StripeProvider_vi
|
|
|
3
3
|
interface StripeProvider_props {
|
|
4
4
|
viewer: StripeProvider_viewer$key;
|
|
5
5
|
children: JSX.Element;
|
|
6
|
+
requireClientSecret?: boolean;
|
|
6
7
|
}
|
|
7
|
-
declare const StripeProvider: ({ viewer, children }: StripeProvider_props) => JSX.Element;
|
|
8
|
+
declare const StripeProvider: ({ viewer, children, requireClientSecret, }: StripeProvider_props) => JSX.Element;
|
|
8
9
|
export default StripeProvider;
|
|
@@ -12,21 +12,31 @@ var _StripeProvider_viewer;
|
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
14
|
const StripeProvider = _ref => {
|
|
15
|
-
var _data$stripeCredentia, _data$settings;
|
|
15
|
+
var _data$stripeCredentia, _data$settings, _data$currentOrder$st, _data$currentOrder, _data$currentOrder$st2;
|
|
16
16
|
let {
|
|
17
17
|
viewer,
|
|
18
|
-
children
|
|
18
|
+
children,
|
|
19
|
+
requireClientSecret = true
|
|
19
20
|
} = _ref;
|
|
20
|
-
const data = (0, _reactRelay.useFragment)(_StripeProvider_viewer !== void 0 ? _StripeProvider_viewer : (_StripeProvider_viewer = require("../../__generated__/StripeProvider_viewer.graphql"), _StripeProvider_viewer.hash && _StripeProvider_viewer.hash !== "
|
|
21
|
+
const data = (0, _reactRelay.useFragment)(_StripeProvider_viewer !== void 0 ? _StripeProvider_viewer : (_StripeProvider_viewer = require("../../__generated__/StripeProvider_viewer.graphql"), _StripeProvider_viewer.hash && _StripeProvider_viewer.hash !== "109e9cbd38d24e7517934f5f1e734339" && console.error("The definition of 'StripeProvider_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StripeProvider_viewer), viewer);
|
|
21
22
|
const stripeKey = (_data$stripeCredentia = data.stripeCredentials) === null || _data$stripeCredentia === void 0 ? void 0 : _data$stripeCredentia.stripePublishableKey;
|
|
22
23
|
const stripePromiseRef = (0, _react.useRef)(stripeKey ? (0, _stripeJs.loadStripe)(stripeKey) : null);
|
|
23
24
|
const cssSrc = (_data$settings = data.settings) === null || _data$settings === void 0 ? void 0 : _data$settings.uiFontUrl;
|
|
25
|
+
const clientSecret = (_data$currentOrder$st = (_data$currentOrder = data.currentOrder) === null || _data$currentOrder === void 0 ? void 0 : (_data$currentOrder$st2 = _data$currentOrder.stripePaymentIntent) === null || _data$currentOrder$st2 === void 0 ? void 0 : _data$currentOrder$st2.clientSecret) !== null && _data$currentOrder$st !== void 0 ? _data$currentOrder$st : undefined;
|
|
26
|
+
if (requireClientSecret && !clientSecret) return children;
|
|
24
27
|
return /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
|
|
25
28
|
stripe: stripePromiseRef.current,
|
|
26
29
|
options: {
|
|
30
|
+
appearance: {
|
|
31
|
+
theme: 'flat',
|
|
32
|
+
variables: {
|
|
33
|
+
borderRadius: '0'
|
|
34
|
+
}
|
|
35
|
+
},
|
|
27
36
|
fonts: cssSrc ? [{
|
|
28
37
|
cssSrc
|
|
29
|
-
}] : undefined
|
|
38
|
+
}] : undefined,
|
|
39
|
+
clientSecret
|
|
30
40
|
}
|
|
31
41
|
}, children);
|
|
32
42
|
};
|
|
@@ -18,7 +18,8 @@ const StoreModalReviewConfirm = _ref => {
|
|
|
18
18
|
submitText
|
|
19
19
|
},
|
|
20
20
|
onSubmit,
|
|
21
|
-
submitting
|
|
21
|
+
submitting,
|
|
22
|
+
disabled
|
|
22
23
|
} = _ref;
|
|
23
24
|
const [acceptedEULA, setAcceptedEULA] = (0, _react.useState)(false);
|
|
24
25
|
const {
|
|
@@ -40,7 +41,7 @@ const StoreModalReviewConfirm = _ref => {
|
|
|
40
41
|
}, config.checkboxStyle === 'check' ? /*#__PURE__*/_react.default.createElement(_Icons.Check, null) : /*#__PURE__*/_react.default.createElement(_Icons.X, null))), /*#__PURE__*/_react.default.createElement("label", {
|
|
41
42
|
htmlFor: "eula-agreement"
|
|
42
43
|
}, eulaText)), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
43
|
-
disabled: !acceptedEULA || submitting,
|
|
44
|
+
disabled: disabled || !acceptedEULA || submitting,
|
|
44
45
|
className: "store-modal__review-confirm__button",
|
|
45
46
|
onClick: onSubmit
|
|
46
47
|
}, submitText));
|
|
@@ -44,9 +44,7 @@ const StoreModalReviewLayout = _ref => {
|
|
|
44
44
|
}, /*#__PURE__*/_react.default.createElement("h2", {
|
|
45
45
|
className: "store-modal__review__heading"
|
|
46
46
|
}, "Licensee information"), /*#__PURE__*/_react.default.createElement("div", null, licensee)), /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
-
className: "store-modal__review__section
|
|
48
|
-
tabIndex: 0,
|
|
49
|
-
onClick: () => onClickSection(_CheckoutSteps.default.Payment)
|
|
47
|
+
className: "store-modal__review__section"
|
|
50
48
|
}, /*#__PURE__*/_react.default.createElement("h2", {
|
|
51
49
|
className: "store-modal__review__heading"
|
|
52
50
|
}, "Payment information"), /*#__PURE__*/_react.default.createElement("div", null, payment)), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Environment } from 'react-relay';
|
|
2
2
|
interface CreateRelayEnvironmentOptions {
|
|
3
3
|
url?: string;
|
|
4
|
+
stripeIntegration?: 'payment-element' | 'card-element';
|
|
4
5
|
}
|
|
5
6
|
declare const createRelayEnvironment: (options: CreateRelayEnvironmentOptions) => Environment;
|
|
6
7
|
export default createRelayEnvironment;
|
|
@@ -11,7 +11,8 @@ const createRelayEnvironment = options => {
|
|
|
11
11
|
return fetch(url, {
|
|
12
12
|
method: 'POST',
|
|
13
13
|
headers: {
|
|
14
|
-
'content-type': 'application/json'
|
|
14
|
+
'content-type': 'application/json',
|
|
15
|
+
'fontdue-stripe-integration': options.stripeIntegration || 'payment-element'
|
|
15
16
|
},
|
|
16
17
|
credentials: 'include',
|
|
17
18
|
body: JSON.stringify({
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fontdue-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0-alpha2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"scripts": {
|
|
6
|
-
"build": "run-p
|
|
6
|
+
"build": "npm run relay && run-p build-js build-css build-ts-declarations",
|
|
7
7
|
"build-js": "babel src --out-dir dist --extensions .ts,.tsx,.js,.jsx",
|
|
8
8
|
"build-ts-declarations": "tsc",
|
|
9
9
|
"build-css": "sass --load-path=node_modules src/index.scss fontdue.css",
|