@sazito/checkout 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/chunks/{labels-3zH04p3y.cjs → labels-CnPllzhT.cjs} +15 -2
- package/dist/chunks/labels-CnPllzhT.cjs.map +1 -0
- package/dist/chunks/{labels-BdxqgReM.js → labels-e8w4zRbg.js} +15 -2
- package/dist/chunks/labels-e8w4zRbg.js.map +1 -0
- package/dist/chunks/{use-checkout-Bh4tXxFJ.js → use-checkout-BM810__v.js} +5 -3
- package/dist/chunks/use-checkout-BM810__v.js.map +1 -0
- package/dist/chunks/{use-checkout-DGP2xazd.cjs → use-checkout-DPtLgxlA.cjs} +5 -3
- package/dist/chunks/use-checkout-DPtLgxlA.cjs.map +1 -0
- package/dist/core/index.cjs +4 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +33 -3
- package/dist/core/index.d.ts +33 -3
- package/dist/core/index.js +2 -1
- package/dist/core/index.js.map +1 -1
- package/dist/next/index.cjs +26 -7
- package/dist/next/index.cjs.map +1 -1
- package/dist/next/index.d.cts +24 -3
- package/dist/next/index.d.ts +24 -3
- package/dist/next/index.js +27 -8
- package/dist/next/index.js.map +1 -1
- package/dist/next/payment-return.cjs +80 -0
- package/dist/next/payment-return.cjs.map +1 -0
- package/dist/next/payment-return.d.cts +32 -0
- package/dist/next/payment-return.d.ts +32 -0
- package/dist/next/payment-return.js +77 -0
- package/dist/next/payment-return.js.map +1 -0
- package/dist/react/index.cjs +2 -2
- package/dist/react/index.d.cts +9 -1
- package/dist/react/index.d.ts +9 -1
- package/dist/react/index.js +2 -2
- package/package.json +15 -1
- package/dist/chunks/labels-3zH04p3y.cjs.map +0 -1
- package/dist/chunks/labels-BdxqgReM.js.map +0 -1
- package/dist/chunks/use-checkout-Bh4tXxFJ.js.map +0 -1
- package/dist/chunks/use-checkout-DGP2xazd.cjs.map +0 -1
package/dist/next/index.cjs
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var react = require('react');
|
|
6
|
-
var useCheckout = require('../chunks/use-checkout-
|
|
7
|
-
var labels = require('../chunks/labels-
|
|
6
|
+
var useCheckout = require('../chunks/use-checkout-DPtLgxlA.cjs');
|
|
7
|
+
var labels = require('../chunks/labels-CnPllzhT.cjs');
|
|
8
|
+
var next_paymentReturn = require('./payment-return.cjs');
|
|
8
9
|
require('@sazito/client-sdk');
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -848,17 +849,35 @@ function SazitoCheckout({ theme, continueShoppingUrl, className, renderNextButto
|
|
|
848
849
|
return (jsxRuntime.jsxs("div", { className: `szc-root${className ? ` ${className}` : ''}`, dir: direction, style: themeVars(theme), children: [mobileHead, jsxRuntime.jsx(Stepper, {}), bootstrapping ? (jsxRuntime.jsx(CheckoutLoading, { label: t.loading })) : fatal ? (jsxRuntime.jsx(ErrorBanner, { message: error.message })) : isResult ? (jsxRuntime.jsx("div", { className: "szc-result-wrap", children: jsxRuntime.jsx(ResultStep, { continueShoppingUrl: continueShoppingUrl }) })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className: `szc-layout${cartEmpty ? ' szc-layout--full' : ''}`, children: [jsxRuntime.jsxs("main", { className: "szc-main", children: [error && !emptyCartError ? jsxRuntime.jsx(ErrorBanner, { message: error.message }) : null, step === 'cart' ? (jsxRuntime.jsx(CartStep, { continueShoppingUrl: continueShoppingUrl, emptyCart: emptyCart, renderEmpty: renderEmptyCart })) : null, step === 'shipping' ? jsxRuntime.jsx(ShippingStep, {}) : null, step === 'payment' ? jsxRuntime.jsx(PaymentStep, {}) : null, actionsVisible && backButtonNode ? (jsxRuntime.jsx("div", { className: "szc-back-row", children: backButtonNode })) : null] }), !cartEmpty ? (jsxRuntime.jsxs("div", { className: "szc-side", children: [jsxRuntime.jsx(OrderSummary, {}), actionsVisible ? jsxRuntime.jsx("div", { className: "szc-side__cta", children: nextButtonNode }) : null] })) : null] }) })), actionsVisible ? (jsxRuntime.jsx("div", { className: "szc-footer-bar", children: jsxRuntime.jsxs("div", { className: "szc-footer", children: [jsxRuntime.jsxs("div", { className: "szc-footer__total", children: [jsxRuntime.jsx("span", { className: "szc-footer__total-label", children: t.total }), jsxRuntime.jsx("span", { className: "szc-footer__total-value", children: money(summary.total) })] }), jsxRuntime.jsx("div", { className: "szc-footer__actions", children: nextButtonNode })] }) })) : null] }));
|
|
849
850
|
}
|
|
850
851
|
|
|
851
|
-
function SazitoCheckoutPage({ credentials, config, paymentReturnParams, className, renderNextButton, renderBackButton, renderEmptyCart, emptyCart, }) {
|
|
852
|
-
|
|
852
|
+
function SazitoCheckoutPage({ credentials, config, paymentReturn, paymentReturnParams, className, renderNextButton, renderBackButton, renderEmptyCart, emptyCart, }) {
|
|
853
|
+
// The explicit server-parsed value remains authoritative. As a fallback,
|
|
854
|
+
// detect Sazito's well-known nested callback in the browser. This prevents a
|
|
855
|
+
// caught callback route from silently booting a fresh checkout when the host
|
|
856
|
+
// forgot to forward its catch-all params.
|
|
857
|
+
const detectedPaymentReturn = paymentReturn == null &&
|
|
858
|
+
paymentReturnParams == null &&
|
|
859
|
+
typeof window !== 'undefined'
|
|
860
|
+
? next_paymentReturn.parsePaymentReturnUrl(window.location.href)
|
|
861
|
+
: undefined;
|
|
862
|
+
const resolvedPaymentReturn = paymentReturn ?? detectedPaymentReturn;
|
|
863
|
+
const returnParams = resolvedPaymentReturn?.params ?? paymentReturnParams;
|
|
864
|
+
const isReturn = returnParams != null;
|
|
865
|
+
const checkoutCredentials = resolvedPaymentReturn
|
|
866
|
+
? { ...credentials, payment: resolvedPaymentReturn.payment }
|
|
867
|
+
: credentials;
|
|
853
868
|
const client = useCheckout.useSazitoClient();
|
|
854
|
-
return (jsxRuntime.jsxs(useCheckout.CheckoutProvider, { client: client, credentials:
|
|
869
|
+
return (jsxRuntime.jsxs(useCheckout.CheckoutProvider, { client: client, credentials: checkoutCredentials, config: config, autoStart: !isReturn, children: [returnParams ? jsxRuntime.jsx(ResolveReturn, { params: returnParams }) : null, jsxRuntime.jsx(SazitoCheckout, { theme: config?.theme, continueShoppingUrl: config?.continueShoppingUrl, className: className, renderNextButton: renderNextButton, renderBackButton: renderBackButton, renderEmptyCart: renderEmptyCart, emptyCart: emptyCart })] }));
|
|
855
870
|
}
|
|
856
871
|
function ResolveReturn({ params }) {
|
|
857
872
|
const { actions } = useCheckout.useCheckout();
|
|
873
|
+
const resolvedKey = react.useRef(null);
|
|
874
|
+
const paramsKey = JSON.stringify(Object.entries(params).sort(([a], [b]) => a.localeCompare(b)));
|
|
858
875
|
react.useEffect(() => {
|
|
876
|
+
if (resolvedKey.current === paramsKey)
|
|
877
|
+
return;
|
|
878
|
+
resolvedKey.current = paramsKey;
|
|
859
879
|
void actions.resolvePaymentReturn(params);
|
|
860
|
-
|
|
861
|
-
}, []);
|
|
880
|
+
}, [actions, params, paramsKey]);
|
|
862
881
|
return null;
|
|
863
882
|
}
|
|
864
883
|
|