fontdue-js 2.13.0 → 2.15.0-alpha1
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 +14 -0
- package/dist/__generated__/ShareCartCreateSnapshotMutation.graphql.d.ts +22 -0
- package/dist/__generated__/ShareCartCreateSnapshotMutation.graphql.js +84 -0
- package/dist/__generated__/StoreModalCartQuery.graphql.d.ts +4 -1
- package/dist/__generated__/StoreModalCartQuery.graphql.js +62 -53
- package/dist/components/AddToCartBanner/index.js +1 -1
- package/dist/components/Cart/CartOrder.d.ts +2 -3
- package/dist/components/Cart/CartOrder.js +3 -4
- package/dist/components/Cart/CartTotals.js +1 -83
- package/dist/components/Cart/Download.js +6 -11
- package/dist/components/Cart/EmptyCart.d.ts +2 -3
- package/dist/components/Cart/EmptyCart.js +1 -2
- package/dist/components/Cart/ShareCart.d.ts +2 -0
- package/dist/components/Cart/ShareCart.js +89 -0
- package/dist/components/Cart/index.js +10 -16
- package/dist/components/CartButton/index.js +0 -14
- package/dist/components/ComponentsContext.d.ts +1 -1
- package/dist/components/ConfigContext.d.ts +11 -0
- package/dist/components/ConfigContext.js +4 -1
- package/dist/components/CookieNotification/index.js +10 -16
- package/dist/components/FontStyle/index.d.ts +1 -1
- package/dist/components/SKUPrice/index.js +1 -1
- package/dist/components/SelectField/index.js +2 -1
- package/dist/components/StoreModal/StoreModalCart.js +6 -2
- package/dist/components/StoreModal/index.js +18 -0
- package/dist/components/StripeProvider/index.d.ts +2 -2
- package/dist/components/StripeProvider/index.js +5 -1
- package/dist/components/TypeTester/useTypeTesterStyler.d.ts +1 -1
- package/dist/components/elements/StoreModalCartLayout/index.d.ts +1 -0
- package/dist/components/elements/StoreModalCartLayout/index.js +4 -1
- package/dist/components/elements/StoreModalFamily/index.d.ts +4 -4
- package/dist/components/useInterval.js +1 -1
- package/dist/fontdue.css +6 -6
- package/dist/hooks.d.ts +1 -1
- package/dist/reducer.d.ts +1 -1
- package/package.json +16 -19
- package/types/jsx-fix.d.ts +8 -0
|
@@ -5,97 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = CartTotals;
|
|
7
7
|
var _CartTotals_order2 = _interopRequireDefault(require("../../__generated__/CartTotals_order.graphql"));
|
|
8
|
-
var
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _reactRelay = require("react-relay");
|
|
11
10
|
var _relayRuntime = require("relay-runtime");
|
|
12
11
|
var _Price = _interopRequireDefault(require("../Price"));
|
|
13
12
|
var _CouponText = _interopRequireDefault(require("../CouponText"));
|
|
14
13
|
var _Icons = require("../Icons");
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
15
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
16
|
function percentage(decimalValue) {
|
|
20
17
|
if (!decimalValue) return null;
|
|
21
18
|
return `${parseFloat(decimalValue) * 100}%`;
|
|
22
19
|
}
|
|
23
|
-
function ShareCart() {
|
|
24
|
-
const environment = (0, _reactRelay.useRelayEnvironment)();
|
|
25
|
-
const [isSharing, setIsSharing] = (0, _react.useState)(false);
|
|
26
|
-
const [snapshot, setSnapshot] = (0, _react.useState)(null);
|
|
27
|
-
const [shareError, setShareError] = (0, _react.useState)(null);
|
|
28
|
-
const [copied, setCopied] = (0, _react.useState)(false);
|
|
29
|
-
const inputRef = (0, _react.useRef)(null);
|
|
30
|
-
const handleShareCart = () => {
|
|
31
|
-
setIsSharing(true);
|
|
32
|
-
setShareError(null);
|
|
33
|
-
(0, _reactRelay.commitMutation)(environment, {
|
|
34
|
-
mutation: (_CartTotalsCreateSnapshotMutation2.default.hash && _CartTotalsCreateSnapshotMutation2.default.hash !== "97e00cf77f0cc65bb808123fe5944c02" && console.error("The definition of 'CartTotalsCreateSnapshotMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _CartTotalsCreateSnapshotMutation2.default),
|
|
35
|
-
variables: {},
|
|
36
|
-
onCompleted: (response, errors) => {
|
|
37
|
-
var _response$createOrder;
|
|
38
|
-
setIsSharing(false);
|
|
39
|
-
if (errors && errors.length > 0) {
|
|
40
|
-
setShareError(errors[0].message);
|
|
41
|
-
} else if ((_response$createOrder = response.createOrderSnapshot) !== null && _response$createOrder !== void 0 && _response$createOrder.orderSnapshot) {
|
|
42
|
-
setSnapshot(response.createOrderSnapshot.orderSnapshot);
|
|
43
|
-
} else {
|
|
44
|
-
setShareError('Failed to create shareable link');
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
onError: error => {
|
|
48
|
-
setIsSharing(false);
|
|
49
|
-
setShareError(error.message);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
(0, _react.useEffect)(() => {
|
|
54
|
-
var _inputRef$current;
|
|
55
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.select();
|
|
56
|
-
}, [snapshot]);
|
|
57
|
-
const timeout = (0, _react.useRef)(null);
|
|
58
|
-
const handleCopyToClipboard = () => {
|
|
59
|
-
if (snapshot !== null && snapshot !== void 0 && snapshot.shareUrl) {
|
|
60
|
-
navigator.clipboard.writeText(snapshot.shareUrl);
|
|
61
|
-
setCopied(true);
|
|
62
|
-
if (timeout.current) clearTimeout(timeout.current);
|
|
63
|
-
timeout.current = setTimeout(() => {
|
|
64
|
-
setCopied(false);
|
|
65
|
-
}, 1000);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, snapshot !== null && snapshot !== void 0 && snapshot.shareUrl && snapshot !== null && snapshot !== void 0 && snapshot.quotePdfUrl ? /*#__PURE__*/_react.default.createElement("div", {
|
|
69
|
-
className: "cart__share"
|
|
70
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
71
|
-
className: "cart__share-title"
|
|
72
|
-
}, "Share your cart"), /*#__PURE__*/_react.default.createElement("div", {
|
|
73
|
-
className: "cart__share-url-input-container"
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
75
|
-
className: "cart__share-url-input",
|
|
76
|
-
ref: inputRef,
|
|
77
|
-
value: snapshot.shareUrl ?? '',
|
|
78
|
-
readOnly: true,
|
|
79
|
-
onClick: e => e.currentTarget.select()
|
|
80
|
-
}), /*#__PURE__*/_react.default.createElement("button", {
|
|
81
|
-
type: "button",
|
|
82
|
-
className: "cart__share__button cart__share__copy-button",
|
|
83
|
-
onClick: handleCopyToClipboard,
|
|
84
|
-
"data-copied": copied
|
|
85
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, "Copy"), /*#__PURE__*/_react.default.createElement(_Icons.Check, null))), /*#__PURE__*/_react.default.createElement("a", {
|
|
86
|
-
href: snapshot.quotePdfUrl,
|
|
87
|
-
className: "cart__share__button cart__share__pdf-button",
|
|
88
|
-
target: "_blank",
|
|
89
|
-
rel: "noopener noreferrer"
|
|
90
|
-
}, "Download PDF quote")) : /*#__PURE__*/_react.default.createElement("button", {
|
|
91
|
-
type: "button",
|
|
92
|
-
className: "cart__share__button cart__share__share-button",
|
|
93
|
-
onClick: handleShareCart,
|
|
94
|
-
disabled: isSharing
|
|
95
|
-
}, isSharing ? 'Loading...' : 'Share cart'), shareError && /*#__PURE__*/_react.default.createElement("div", {
|
|
96
|
-
className: "cart__share-error"
|
|
97
|
-
}, "Cannot share your cart right now. Please try again later."));
|
|
98
|
-
}
|
|
99
20
|
function PriceBlock(_ref) {
|
|
100
21
|
let {
|
|
101
22
|
label,
|
|
@@ -117,7 +38,6 @@ function PriceBlock(_ref) {
|
|
|
117
38
|
}), belowPrice));
|
|
118
39
|
}
|
|
119
40
|
function CartTotals(_ref2) {
|
|
120
|
-
var _order$total;
|
|
121
41
|
let {
|
|
122
42
|
order: orderKey,
|
|
123
43
|
onRemoveDiscount,
|
|
@@ -161,7 +81,5 @@ function CartTotals(_ref2) {
|
|
|
161
81
|
label: `Total${order.gstIncluded ? ' including GST' : ''}`,
|
|
162
82
|
price: order.total,
|
|
163
83
|
"data-line": "total"
|
|
164
|
-
}), /*#__PURE__*/_react.default.createElement(ShareCart, {
|
|
165
|
-
key: (_order$total = order.total) === null || _order$total === void 0 ? void 0 : _order$total.amount
|
|
166
84
|
}));
|
|
167
85
|
}
|
|
@@ -8,7 +8,6 @@ var _DownloadRefetchQuery2 = _interopRequireDefault(require("../../__generated__
|
|
|
8
8
|
var _Download_order2 = _interopRequireDefault(require("../../__generated__/Download_order.graphql"));
|
|
9
9
|
var _reactRelay = require("react-relay");
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _Transition = _interopRequireDefault(require("react-transition-group/Transition"));
|
|
12
11
|
var _ComponentsContext = _interopRequireDefault(require("../ComponentsContext"));
|
|
13
12
|
var _useInterval = _interopRequireDefault(require("../useInterval"));
|
|
14
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -17,8 +16,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
17
16
|
const DownloadBase = _ref => {
|
|
18
17
|
let {
|
|
19
18
|
order,
|
|
20
|
-
dismiss
|
|
21
|
-
status
|
|
19
|
+
dismiss
|
|
22
20
|
} = _ref;
|
|
23
21
|
const autoDownloaded = (0, _react.useRef)(false);
|
|
24
22
|
const downloadForm = (0, _react.useRef)(null);
|
|
@@ -33,11 +31,11 @@ const DownloadBase = _ref => {
|
|
|
33
31
|
Download
|
|
34
32
|
} = (0, _react.useContext)(_ComponentsContext.default);
|
|
35
33
|
if (!Download) return null;
|
|
36
|
-
if (
|
|
34
|
+
if (!open) {
|
|
37
35
|
return null;
|
|
38
36
|
}
|
|
39
37
|
return /*#__PURE__*/_react.default.createElement(Download, {
|
|
40
|
-
open:
|
|
38
|
+
open: true,
|
|
41
39
|
dismiss: dismiss,
|
|
42
40
|
order: order,
|
|
43
41
|
downloadFormRef: downloadForm
|
|
@@ -55,14 +53,11 @@ const Download = _ref2 => {
|
|
|
55
53
|
id: order.id
|
|
56
54
|
});
|
|
57
55
|
}, 2000);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
timeout: 200
|
|
61
|
-
}, status => /*#__PURE__*/_react.default.createElement(DownloadBase, {
|
|
56
|
+
if (dismissed) return null;
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(DownloadBase, {
|
|
62
58
|
dismiss: () => setDismissed(true),
|
|
63
|
-
status: status,
|
|
64
59
|
order: order
|
|
65
|
-
})
|
|
60
|
+
});
|
|
66
61
|
};
|
|
67
62
|
var _default = (0, _reactRelay.createRefetchContainer)(Download, {
|
|
68
63
|
order: (_Download_order2.default.hash && _Download_order2.default.hash !== "818f18e6bd304c38233be849d75f36a5" && console.error("The definition of 'Download_order' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _Download_order2.default)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { TransitionStatus } from 'react-transition-group';
|
|
3
2
|
interface EmptyCart_props {
|
|
4
|
-
|
|
3
|
+
open: boolean;
|
|
5
4
|
}
|
|
6
|
-
declare const EmptyCart: ({
|
|
5
|
+
declare const EmptyCart: ({ open }: EmptyCart_props) => React.JSX.Element;
|
|
7
6
|
export default EmptyCart;
|
|
@@ -13,10 +13,9 @@ const closeCart = () => ({
|
|
|
13
13
|
});
|
|
14
14
|
const EmptyCart = _ref => {
|
|
15
15
|
let {
|
|
16
|
-
|
|
16
|
+
open
|
|
17
17
|
} = _ref;
|
|
18
18
|
const dispatch = (0, _reactRedux.useDispatch)();
|
|
19
|
-
const open = status === 'entering' || status === 'entered';
|
|
20
19
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
21
20
|
className: "cart",
|
|
22
21
|
"data-open": open
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ShareCart;
|
|
7
|
+
var _ShareCartCreateSnapshotMutation2 = _interopRequireDefault(require("../../__generated__/ShareCartCreateSnapshotMutation.graphql"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactRelay = require("react-relay");
|
|
10
|
+
var _Icons = require("../Icons");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function ShareCart() {
|
|
15
|
+
const environment = (0, _reactRelay.useRelayEnvironment)();
|
|
16
|
+
const [isSharing, setIsSharing] = (0, _react.useState)(false);
|
|
17
|
+
const [snapshot, setSnapshot] = (0, _react.useState)(null);
|
|
18
|
+
const [shareError, setShareError] = (0, _react.useState)(null);
|
|
19
|
+
const [copied, setCopied] = (0, _react.useState)(false);
|
|
20
|
+
const inputRef = (0, _react.useRef)(null);
|
|
21
|
+
const handleShareCart = () => {
|
|
22
|
+
setIsSharing(true);
|
|
23
|
+
setShareError(null);
|
|
24
|
+
(0, _reactRelay.commitMutation)(environment, {
|
|
25
|
+
mutation: (_ShareCartCreateSnapshotMutation2.default.hash && _ShareCartCreateSnapshotMutation2.default.hash !== "320cfd27011ff030005b0ca1cf90adf7" && console.error("The definition of 'ShareCartCreateSnapshotMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _ShareCartCreateSnapshotMutation2.default),
|
|
26
|
+
variables: {},
|
|
27
|
+
onCompleted: (response, errors) => {
|
|
28
|
+
var _response$createOrder;
|
|
29
|
+
setIsSharing(false);
|
|
30
|
+
if (errors && errors.length > 0) {
|
|
31
|
+
setShareError(errors[0].message);
|
|
32
|
+
} else if ((_response$createOrder = response.createOrderSnapshot) !== null && _response$createOrder !== void 0 && _response$createOrder.orderSnapshot) {
|
|
33
|
+
setSnapshot(response.createOrderSnapshot.orderSnapshot);
|
|
34
|
+
} else {
|
|
35
|
+
setShareError('Failed to create shareable link');
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
onError: error => {
|
|
39
|
+
setIsSharing(false);
|
|
40
|
+
setShareError(error.message);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
(0, _react.useEffect)(() => {
|
|
45
|
+
var _inputRef$current;
|
|
46
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.select();
|
|
47
|
+
}, [snapshot]);
|
|
48
|
+
const timeout = (0, _react.useRef)(null);
|
|
49
|
+
const handleCopyToClipboard = () => {
|
|
50
|
+
if (snapshot !== null && snapshot !== void 0 && snapshot.shareUrl) {
|
|
51
|
+
navigator.clipboard.writeText(snapshot.shareUrl);
|
|
52
|
+
setCopied(true);
|
|
53
|
+
if (timeout.current) clearTimeout(timeout.current);
|
|
54
|
+
timeout.current = setTimeout(() => {
|
|
55
|
+
setCopied(false);
|
|
56
|
+
}, 1000);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, snapshot !== null && snapshot !== void 0 && snapshot.shareUrl && snapshot !== null && snapshot !== void 0 && snapshot.quotePdfUrl ? /*#__PURE__*/_react.default.createElement("div", {
|
|
60
|
+
className: "cart__share"
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
+
className: "cart__share-title"
|
|
63
|
+
}, "Share your cart"), /*#__PURE__*/_react.default.createElement("div", {
|
|
64
|
+
className: "cart__share-url-input-container"
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
66
|
+
className: "cart__share-url-input",
|
|
67
|
+
ref: inputRef,
|
|
68
|
+
value: snapshot.shareUrl ?? '',
|
|
69
|
+
readOnly: true,
|
|
70
|
+
onClick: e => e.currentTarget.select()
|
|
71
|
+
}), /*#__PURE__*/_react.default.createElement("button", {
|
|
72
|
+
type: "button",
|
|
73
|
+
className: "cart__share__button cart__share__copy-button",
|
|
74
|
+
onClick: handleCopyToClipboard,
|
|
75
|
+
"data-copied": copied
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, "Copy"), /*#__PURE__*/_react.default.createElement(_Icons.Check, null))), /*#__PURE__*/_react.default.createElement("a", {
|
|
77
|
+
href: snapshot.quotePdfUrl,
|
|
78
|
+
className: "cart__share__button cart__share__pdf-button",
|
|
79
|
+
target: "_blank",
|
|
80
|
+
rel: "noopener noreferrer"
|
|
81
|
+
}, "Download PDF quote")) : /*#__PURE__*/_react.default.createElement("button", {
|
|
82
|
+
type: "button",
|
|
83
|
+
className: "cart__share__button cart__share__share-button",
|
|
84
|
+
onClick: handleShareCart,
|
|
85
|
+
disabled: isSharing
|
|
86
|
+
}, isSharing ? 'Loading...' : 'Share cart'), shareError && /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
className: "cart__share-error"
|
|
88
|
+
}, "Cannot share your cart right now. Please try again later."));
|
|
89
|
+
}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _CartQuery2 = _interopRequireDefault(require("../../__generated__/CartQuery.graphql"));
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _Transition = _interopRequireDefault(require("react-transition-group/Transition"));
|
|
10
9
|
var _reactRelay = require("react-relay");
|
|
11
10
|
var _reactRedux = require("react-redux");
|
|
12
11
|
var _CartOrder = _interopRequireDefault(require("./CartOrder"));
|
|
@@ -21,22 +20,17 @@ function Cart() {
|
|
|
21
20
|
const {
|
|
22
21
|
currentOrder
|
|
23
22
|
} = viewer;
|
|
24
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
25
|
-
|
|
26
|
-
timeout: 200
|
|
27
|
-
}, status => {
|
|
28
|
-
if (!currentOrder) return /*#__PURE__*/_react.default.createElement(_EmptyCart.default, {
|
|
29
|
-
status: status
|
|
30
|
-
});
|
|
31
|
-
return /*#__PURE__*/_react.default.createElement(_StripeProvider.default, {
|
|
32
|
-
viewer: viewer,
|
|
33
|
-
providerType: "elements"
|
|
34
|
-
}, /*#__PURE__*/_react.default.createElement(_CartOrder.default, {
|
|
35
|
-
viewer: viewer,
|
|
36
|
-
order: currentOrder,
|
|
37
|
-
status: status
|
|
38
|
-
}));
|
|
23
|
+
if (!currentOrder) return /*#__PURE__*/_react.default.createElement(_EmptyCart.default, {
|
|
24
|
+
open: cartOpen
|
|
39
25
|
});
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_StripeProvider.default, {
|
|
27
|
+
viewer: viewer,
|
|
28
|
+
providerType: "elements"
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement(_CartOrder.default, {
|
|
30
|
+
viewer: viewer,
|
|
31
|
+
order: currentOrder,
|
|
32
|
+
open: cartOpen
|
|
33
|
+
}));
|
|
40
34
|
}
|
|
41
35
|
var _default = Cart;
|
|
42
36
|
exports.default = _default;
|
|
@@ -89,20 +89,6 @@ function CartButtonComponent(_ref) {
|
|
|
89
89
|
// set count only on the client, because on the server it's always gonna be zero
|
|
90
90
|
setCount(cartButtonCount(orderData));
|
|
91
91
|
}, [orderData, setCount]);
|
|
92
|
-
|
|
93
|
-
// Check for store-modal=open URL parameter and open cart automatically
|
|
94
|
-
(0, _react.useEffect)(() => {
|
|
95
|
-
if (typeof window !== 'undefined') {
|
|
96
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
97
|
-
if (urlParams.get('cart') === 'open') {
|
|
98
|
-
dispatch({
|
|
99
|
-
type: 'STORE_MODAL_REPLACE',
|
|
100
|
-
route: 'cart'
|
|
101
|
-
});
|
|
102
|
-
dispatch(openCart());
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}, [dispatch]);
|
|
106
92
|
if (!orderData) return null;
|
|
107
93
|
if (orderData.stripeCharge && orderData.stripeCharge.paid) return null;
|
|
108
94
|
const suffixNodes = formatSuffix();
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TypeTesterConfig } from './TypeTester';
|
|
3
3
|
import { StoreModalConfig } from './StoreModal/types';
|
|
4
|
+
import { Appearance } from '@stripe/stripe-js';
|
|
4
5
|
interface FormConfig {
|
|
5
6
|
checkboxStyle?: 'check' | 'cross';
|
|
6
7
|
}
|
|
8
|
+
interface StripeConfig {
|
|
9
|
+
appearance?: Appearance;
|
|
10
|
+
}
|
|
7
11
|
export interface Config {
|
|
8
12
|
form?: FormConfig;
|
|
9
13
|
storeModal?: StoreModalConfig;
|
|
10
14
|
typeTester?: TypeTesterConfig;
|
|
15
|
+
stripe?: StripeConfig;
|
|
11
16
|
}
|
|
12
17
|
export declare const makeConfig: (config?: Config) => {
|
|
13
18
|
typeTester: {
|
|
@@ -64,6 +69,9 @@ export declare const makeConfig: (config?: Config) => {
|
|
|
64
69
|
indexExcludeTags: string[] | undefined;
|
|
65
70
|
productLicensesPosition: "top" | "bottom";
|
|
66
71
|
};
|
|
72
|
+
stripe: {
|
|
73
|
+
appearance: Appearance | null;
|
|
74
|
+
};
|
|
67
75
|
};
|
|
68
76
|
declare const _default: React.Context<{
|
|
69
77
|
typeTester: {
|
|
@@ -120,5 +128,8 @@ declare const _default: React.Context<{
|
|
|
120
128
|
indexExcludeTags: string[] | undefined;
|
|
121
129
|
productLicensesPosition: "top" | "bottom";
|
|
122
130
|
};
|
|
131
|
+
stripe: {
|
|
132
|
+
appearance: Appearance | null;
|
|
133
|
+
};
|
|
123
134
|
}>;
|
|
124
135
|
export default _default;
|
|
@@ -54,7 +54,7 @@ const makeTypeTesterConfig = config => {
|
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
const makeConfig = config => {
|
|
57
|
-
var _config$form, _config$storeModal, _config$storeModal2, _config$storeModal3;
|
|
57
|
+
var _config$form, _config$storeModal, _config$storeModal2, _config$storeModal3, _config$stripe;
|
|
58
58
|
return {
|
|
59
59
|
typeTester: makeTypeTesterConfig(config === null || config === void 0 ? void 0 : config.typeTester),
|
|
60
60
|
form: {
|
|
@@ -64,6 +64,9 @@ const makeConfig = config => {
|
|
|
64
64
|
indexLayout: (config === null || config === void 0 ? void 0 : (_config$storeModal = config.storeModal) === null || _config$storeModal === void 0 ? void 0 : _config$storeModal.indexLayout) ?? 'styled-aa',
|
|
65
65
|
indexExcludeTags: config === null || config === void 0 ? void 0 : (_config$storeModal2 = config.storeModal) === null || _config$storeModal2 === void 0 ? void 0 : _config$storeModal2.indexExcludeTags,
|
|
66
66
|
productLicensesPosition: (config === null || config === void 0 ? void 0 : (_config$storeModal3 = config.storeModal) === null || _config$storeModal3 === void 0 ? void 0 : _config$storeModal3.productLicensesPosition) ?? 'top'
|
|
67
|
+
},
|
|
68
|
+
stripe: {
|
|
69
|
+
appearance: (config === null || config === void 0 ? void 0 : (_config$stripe = config.stripe) === null || _config$stripe === void 0 ? void 0 : _config$stripe.appearance) ?? null
|
|
67
70
|
}
|
|
68
71
|
};
|
|
69
72
|
};
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _Transition = _interopRequireDefault(require("react-transition-group/Transition"));
|
|
9
8
|
var _store = _interopRequireDefault(require("store"));
|
|
10
9
|
var _ComponentsContext = _interopRequireDefault(require("../ComponentsContext"));
|
|
11
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -50,21 +49,18 @@ const GetComponent = _ref2 => {
|
|
|
50
49
|
};
|
|
51
50
|
const CookieNotificationBase = _ref3 => {
|
|
52
51
|
let {
|
|
53
|
-
status,
|
|
54
52
|
siteTitle,
|
|
55
|
-
dismiss
|
|
53
|
+
dismiss,
|
|
54
|
+
open
|
|
56
55
|
} = _ref3;
|
|
57
|
-
if (status === 'exited') {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
const open = status === 'entering' || status === 'entered';
|
|
61
56
|
return /*#__PURE__*/_react.default.createElement(GetComponent, {
|
|
62
57
|
name: "CookieNotification",
|
|
63
|
-
fallback: DefaultCookieNotification
|
|
58
|
+
fallback: DefaultCookieNotification,
|
|
59
|
+
open: open
|
|
64
60
|
}, Component => /*#__PURE__*/_react.default.createElement(Component, {
|
|
65
61
|
onDismiss: dismiss,
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
siteTitle: siteTitle,
|
|
63
|
+
open: open
|
|
68
64
|
}));
|
|
69
65
|
};
|
|
70
66
|
class CookieNotification extends _react.default.Component {
|
|
@@ -84,13 +80,11 @@ class CookieNotification extends _react.default.Component {
|
|
|
84
80
|
const {
|
|
85
81
|
dismissed
|
|
86
82
|
} = this.state;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
timeout: 200
|
|
90
|
-
}, status => /*#__PURE__*/_react.default.createElement(CookieNotificationBase, _extends({
|
|
83
|
+
if (dismissed) return null;
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement(CookieNotificationBase, _extends({
|
|
91
85
|
dismiss: this.dismiss,
|
|
92
|
-
|
|
93
|
-
}, this.props))
|
|
86
|
+
open: true
|
|
87
|
+
}, this.props));
|
|
94
88
|
}
|
|
95
89
|
}
|
|
96
90
|
exports.default = CookieNotification;
|
|
@@ -20,7 +20,7 @@ const getSavingsMultiplier = (state, options) => {
|
|
|
20
20
|
|
|
21
21
|
// we make it a multiplier since the `collectionSkuIdsDifference`
|
|
22
22
|
// helper doesnt take license multiplication into account
|
|
23
|
-
if (collectionWithSavings) {
|
|
23
|
+
if (collectionWithSavings && baseSkuPrice > 0) {
|
|
24
24
|
return savingsAmount / baseSkuPrice;
|
|
25
25
|
}
|
|
26
26
|
return 1;
|
|
@@ -10,7 +10,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
11
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
|
-
const
|
|
13
|
+
const InputComponent = _reactSelect.components.Input;
|
|
14
|
+
const Input = props => /*#__PURE__*/_react.default.createElement(InputComponent, _extends({}, props, {
|
|
14
15
|
autoComplete: "go-away"
|
|
15
16
|
}));
|
|
16
17
|
const SelectField = _ref => {
|
|
@@ -18,6 +18,7 @@ var _StoreModalOrderVariableSelection = _interopRequireDefault(require("./StoreM
|
|
|
18
18
|
var _StoreModalUnifiedCheckout = _interopRequireDefault(require("../elements/StoreModalUnifiedCheckout"));
|
|
19
19
|
var _StripeProvider = _interopRequireDefault(require("../StripeProvider"));
|
|
20
20
|
var _utils = require("../Cart/utils");
|
|
21
|
+
var _ShareCart = _interopRequireDefault(require("../Cart/ShareCart"));
|
|
21
22
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
23
|
// @ts-ignore
|
|
23
24
|
|
|
@@ -26,7 +27,7 @@ const StoreModalCart = _ref => {
|
|
|
26
27
|
let {
|
|
27
28
|
prepared
|
|
28
29
|
} = _ref;
|
|
29
|
-
const data = (0, _reactRelay.usePreloadedQuery)((_StoreModalCartQuery2.default.hash && _StoreModalCartQuery2.default.hash !== "
|
|
30
|
+
const data = (0, _reactRelay.usePreloadedQuery)((_StoreModalCartQuery2.default.hash && _StoreModalCartQuery2.default.hash !== "01df757f83a8740dcfa4ed706347ab35" && console.error("The definition of 'StoreModalCartQuery' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."), _StoreModalCartQuery2.default), prepared.cartQuery);
|
|
30
31
|
const order = data.viewer.currentOrder;
|
|
31
32
|
const orderHasItems = ((order === null || order === void 0 ? void 0 : (_order$orderItems = order.orderItems) === null || _order$orderItems === void 0 ? void 0 : _order$orderItems.length) ?? 0) > 0;
|
|
32
33
|
const checkoutEnabled = (0, _utils.textVariablesAllHaveText)(order);
|
|
@@ -34,7 +35,7 @@ const StoreModalCart = _ref => {
|
|
|
34
35
|
body: order && orderHasItems ? /*#__PURE__*/_react.default.createElement(_CartState.default, {
|
|
35
36
|
order: order
|
|
36
37
|
}, _ref2 => {
|
|
37
|
-
var _order$orderItems2;
|
|
38
|
+
var _order$orderItems2, _order$total;
|
|
38
39
|
let {
|
|
39
40
|
onUpdateOrderVariableSelections,
|
|
40
41
|
onRemoveDiscount,
|
|
@@ -58,6 +59,9 @@ const StoreModalCart = _ref => {
|
|
|
58
59
|
});
|
|
59
60
|
}),
|
|
60
61
|
couponCodeInput: !(order && order.discount) && /*#__PURE__*/_react.default.createElement(_CouponCodeInput.default, null),
|
|
62
|
+
shareCart: /*#__PURE__*/_react.default.createElement(_ShareCart.default, {
|
|
63
|
+
key: (_order$total = order.total) === null || _order$total === void 0 ? void 0 : _order$total.amount
|
|
64
|
+
}),
|
|
61
65
|
totals: /*#__PURE__*/_react.default.createElement(_CartTotals.default, {
|
|
62
66
|
order: order,
|
|
63
67
|
onRemoveDiscount: onRemoveDiscount,
|
|
@@ -9,10 +9,28 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _StoreModalLoader = _interopRequireDefault(require("./StoreModalLoader"));
|
|
10
10
|
var _StoreModalContainer = _interopRequireDefault(require("./StoreModalContainer"));
|
|
11
11
|
var _StoreModalRouter = _interopRequireDefault(require("./StoreModalRouter"));
|
|
12
|
+
var _reactRedux = require("react-redux");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
16
|
const StoreModal = () => {
|
|
17
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
18
|
+
|
|
19
|
+
// Check for store-modal=open URL parameter and open cart automatically
|
|
20
|
+
(0, _react.useEffect)(() => {
|
|
21
|
+
if (typeof window !== 'undefined') {
|
|
22
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
23
|
+
if (urlParams.get('cart') === 'open') {
|
|
24
|
+
dispatch({
|
|
25
|
+
type: 'STORE_MODAL_REPLACE',
|
|
26
|
+
route: 'cart'
|
|
27
|
+
});
|
|
28
|
+
dispatch({
|
|
29
|
+
type: 'OPEN_CART'
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}, [dispatch]);
|
|
16
34
|
return /*#__PURE__*/_react.default.createElement(_StoreModalLoader.default, null, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
17
35
|
fallback: null
|
|
18
36
|
}, /*#__PURE__*/_react.default.createElement(_StoreModalContainer.default, null, /*#__PURE__*/_react.default.createElement(_StoreModalRouter.default, null))));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type JSX } from 'react';
|
|
2
2
|
import { StripeProvider_viewer$key } from '../../__generated__/StripeProvider_viewer.graphql';
|
|
3
3
|
interface StripeProvider_props {
|
|
4
4
|
viewer: StripeProvider_viewer$key;
|
|
@@ -6,5 +6,5 @@ interface StripeProvider_props {
|
|
|
6
6
|
providerType: 'checkout' | 'elements';
|
|
7
7
|
requireClientSecret?: boolean;
|
|
8
8
|
}
|
|
9
|
-
declare const StripeProvider: ({ viewer, providerType, children, requireClientSecret, }: StripeProvider_props) =>
|
|
9
|
+
declare const StripeProvider: ({ viewer, providerType, children, requireClientSecret, }: StripeProvider_props) => JSX.Element | null;
|
|
10
10
|
export default StripeProvider;
|
|
@@ -11,6 +11,7 @@ var _reactRelay = require("react-relay");
|
|
|
11
11
|
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
12
12
|
var _stripeJs = require("@stripe/stripe-js");
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
|
+
var _ConfigContext = _interopRequireDefault(require("../ConfigContext"));
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -72,8 +73,11 @@ const StripeProvider = _ref => {
|
|
|
72
73
|
});
|
|
73
74
|
});
|
|
74
75
|
}, [environment]);
|
|
76
|
+
const {
|
|
77
|
+
stripe: config
|
|
78
|
+
} = (0, _react.useContext)(_ConfigContext.default);
|
|
75
79
|
const options = {
|
|
76
|
-
appearance: {
|
|
80
|
+
appearance: config.appearance ?? {
|
|
77
81
|
theme: 'flat',
|
|
78
82
|
variables: {
|
|
79
83
|
borderRadius: '0',
|
|
@@ -23,7 +23,7 @@ export interface UseTypeTesterStylerProps {
|
|
|
23
23
|
variableSettings: VariableSettings | null;
|
|
24
24
|
}
|
|
25
25
|
declare const useTypeTesterStyler: ({ size, autofit, autofitOnChange, features, setSize, min, max, truncate, focused, lineHeight, letterSpacing, fontStyles, content, contentEdited, alignment, variableSettings, }: UseTypeTesterStylerProps) => {
|
|
26
|
-
ref: import("react").RefObject<HTMLDivElement>;
|
|
26
|
+
ref: import("react").RefObject<HTMLDivElement | null>;
|
|
27
27
|
style: import("react").CSSProperties;
|
|
28
28
|
};
|
|
29
29
|
export default useTypeTesterStyler;
|
|
@@ -14,7 +14,8 @@ const StoreModalCartLayout = _ref => {
|
|
|
14
14
|
couponCodeInput,
|
|
15
15
|
totals,
|
|
16
16
|
checkout,
|
|
17
|
-
orderVariables
|
|
17
|
+
orderVariables,
|
|
18
|
+
shareCart
|
|
18
19
|
}
|
|
19
20
|
} = _ref;
|
|
20
21
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -28,6 +29,8 @@ const StoreModalCartLayout = _ref => {
|
|
|
28
29
|
}, items), /*#__PURE__*/_react.default.createElement("div", {
|
|
29
30
|
className: "store-modal__cart__coupon-code-input"
|
|
30
31
|
}, couponCodeInput), /*#__PURE__*/_react.default.createElement("div", {
|
|
32
|
+
className: "store-modal__cart__share"
|
|
33
|
+
}, shareCart), /*#__PURE__*/_react.default.createElement("div", {
|
|
31
34
|
className: "store-modal__cart__totals"
|
|
32
35
|
}, totals)), /*#__PURE__*/_react.default.createElement("div", {
|
|
33
36
|
className: "store-modal__cart__checkout",
|