@gfed-medusa/sf-lib-common 2.3.0 → 2.4.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/dist/components/breadcrumbs/index.d.ts +2 -2
- package/dist/components/breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/cart-mismatch-banner/index.d.ts +2 -2
- package/dist/components/delete-button/index.d.ts +2 -2
- package/dist/components/delete-button/index.d.ts.map +1 -1
- package/dist/components/delete-button/index.js +2 -2
- package/dist/components/delete-button/index.js.map +1 -1
- package/dist/components/error-message/index.d.ts +2 -2
- package/dist/components/free-shipping-price-nudge/index.d.ts +2 -2
- package/dist/components/free-shipping-price-nudge/index.d.ts.map +1 -1
- package/dist/components/interactive-link/index.d.ts +2 -2
- package/dist/components/line-item-options/index.d.ts +2 -2
- package/dist/components/line-item-price/index.d.ts +2 -2
- package/dist/components/localized-client-link/index.d.ts +2 -2
- package/dist/components/modal/index.d.ts +2 -2
- package/dist/components/preview-price/index.d.ts +2 -2
- package/dist/components/product-card/index.d.ts +2 -2
- package/dist/components/product-preview/index.d.ts +2 -2
- package/dist/components/product-preview/index.d.ts.map +1 -1
- package/dist/components/submit-button/index.d.ts +2 -2
- package/dist/components/submit-button/index.d.ts.map +1 -1
- package/dist/lib/context/apollo-context.d.ts +2 -2
- package/dist/lib/context/modal-context.d.ts +2 -2
- package/dist/lib/data/cart.d.ts.map +1 -1
- package/dist/lib/data/cart.js +20 -13
- package/dist/lib/data/cart.js.map +1 -1
- package/dist/lib/data/client-actions.d.ts +1 -1
- package/dist/lib/data/client-actions.d.ts.map +1 -1
- package/dist/lib/data/client-actions.js +11 -3
- package/dist/lib/data/client-actions.js.map +1 -1
- package/dist/lib/data/context.d.ts +7 -8
- package/dist/lib/data/context.d.ts.map +1 -1
- package/dist/lib/data/context.js +19 -2
- package/dist/lib/data/context.js.map +1 -1
- package/dist/lib/data/cookies-actions.d.ts +8 -0
- package/dist/lib/data/cookies-actions.d.ts.map +1 -0
- package/dist/lib/data/{cookies.js → cookies-actions.js} +3 -22
- package/dist/lib/data/cookies-actions.js.map +1 -0
- package/dist/lib/data/cookies-utils.d.ts +11 -0
- package/dist/lib/data/cookies-utils.d.ts.map +1 -0
- package/dist/lib/data/cookies-utils.js +19 -0
- package/dist/lib/data/cookies-utils.js.map +1 -0
- package/dist/lib/data/customer.d.ts.map +1 -1
- package/dist/lib/data/customer.js +6 -6
- package/dist/lib/data/customer.js.map +1 -1
- package/dist/lib/data/next-context.d.ts +1 -2
- package/dist/lib/data/next-context.d.ts.map +1 -1
- package/dist/lib/data/next-context.js +1 -20
- package/dist/lib/data/next-context.js.map +1 -1
- package/dist/lib/data/orders.js +1 -3
- package/dist/lib/data/orders.js.map +1 -1
- package/dist/lib/data/regions.js +1 -1
- package/dist/lib/data/regions.js.map +1 -1
- package/dist/lib/globals/expose-globals.js +2 -2
- package/dist/lib/gql/apollo-client.d.ts.map +1 -1
- package/dist/lib/gql/apollo-client.js +4 -4
- package/dist/lib/gql/apollo-client.js.map +1 -1
- package/dist/lib/gql/fragments/cart.d.ts +9 -9
- package/dist/lib/gql/fragments/cart.d.ts.map +1 -1
- package/dist/lib/gql/fragments/customer.d.ts +3 -3
- package/dist/lib/gql/fragments/product.d.ts +8 -8
- package/dist/lib/gql/fragments/product.d.ts.map +1 -1
- package/dist/lib/gql/mutations/cart.d.ts +4 -4
- package/dist/lib/gql/queries/cart.d.ts +2 -2
- package/dist/lib/gql/queries/cart.d.ts.map +1 -1
- package/dist/lib/gql/queries/collections.d.ts +2 -2
- package/dist/lib/gql/queries/collections.d.ts.map +1 -1
- package/dist/lib/gql/queries/customer.d.ts +2 -2
- package/dist/lib/gql/queries/footer.d.ts +2 -2
- package/dist/lib/gql/queries/product.d.ts +3 -3
- package/dist/lib/gql/queries/product.d.ts.map +1 -1
- package/dist/lib/hooks/use-cart.d.ts +1 -2
- package/dist/lib/hooks/use-cart.d.ts.map +1 -1
- package/dist/lib/hooks/use-cart.js +9 -5
- package/dist/lib/hooks/use-cart.js.map +1 -1
- package/package.json +3 -3
- package/dist/lib/data/cookies.d.ts +0 -18
- package/dist/lib/data/cookies.d.ts.map +0 -1
- package/dist/lib/data/cookies.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/breadcrumbs/index.d.ts
|
|
4
4
|
declare const SEPARATOR_ICONS: Record<string, React.ComponentType<{
|
|
@@ -14,7 +14,7 @@ declare function Breadcrumbs({
|
|
|
14
14
|
iconClassName,
|
|
15
15
|
iconSize,
|
|
16
16
|
separatorIcon
|
|
17
|
-
}: BreadcrumbsProps):
|
|
17
|
+
}: BreadcrumbsProps): react_jsx_runtime0.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { Breadcrumbs };
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/breadcrumbs/index.tsx"],"sourcesContent":[],"mappings":";;;cAiBM,iBAAiB,eAErB,KAAA,CAAM;;;AAyCW,CAAA,CAAA,CAAA;AA3CU,UAQnB,gBAAA,CAAgB;EA+BjB,aAAA,CAAW,EAAA,MAAA,OA9BW,eA8BX;EAClB,QAAA,CAAA,EAAA,MAAA;EACA,aAAA,CAAA,EAAA,MAAA;;iBAFO,WAAA,CAIN;EAAA,aAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAAA,gBAAA,CAAA,EAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/breadcrumbs/index.tsx"],"sourcesContent":[],"mappings":";;;cAiBM,iBAAiB,eAErB,KAAA,CAAM;;;AAyCW,CAAA,CAAA,CAAA;AA3CU,UAQnB,gBAAA,CAAgB;EA+BjB,aAAA,CAAW,EAAA,MAAA,OA9BW,eA8BX;EAClB,QAAA,CAAA,EAAA,MAAA;EACA,aAAA,CAAA,EAAA,MAAA;;iBAFO,WAAA,CAIN;EAAA,aAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAAA,gBAAA,CAAA,EAAgB,kBAAA,CAAA,GAAA,CAAA,OAAhB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Cart, Customer } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime14 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/cart-mismatch-banner/index.d.ts
|
|
5
5
|
declare function CartMismatchBanner(props: {
|
|
6
6
|
customer: Customer;
|
|
7
7
|
cart: Cart;
|
|
8
|
-
}):
|
|
8
|
+
}): react_jsx_runtime14.JSX.Element | undefined;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { CartMismatchBanner };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime13 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/delete-button/index.d.ts
|
|
4
4
|
declare const DeleteButton: ({
|
|
@@ -9,7 +9,7 @@ declare const DeleteButton: ({
|
|
|
9
9
|
id: string;
|
|
10
10
|
children?: React.ReactNode;
|
|
11
11
|
className?: string;
|
|
12
|
-
}) =>
|
|
12
|
+
}) => react_jsx_runtime13.JSX.Element;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { DeleteButton };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/delete-button/index.tsx"],"sourcesContent":[],"mappings":";;;cASM;;;;;;aAMO,KAAA,CAAM;EANb,SAAA,CAAA,EAAA,MAuCL;CAvCqB,EAAA,GAQrB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/delete-button/index.tsx"],"sourcesContent":[],"mappings":";;;cASM;;;;;;aAMO,KAAA,CAAM;EANb,SAAA,CAAA,EAAA,MAuCL;CAvCqB,EAAA,GAQrB,mBAAA,CAAA,GAAA,CAAA,OARqB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { mutateCart } from "../../lib/hooks/use-cart.js";
|
|
1
2
|
import { deleteLineItem } from "../../lib/data/cart.js";
|
|
2
3
|
import { useStorefrontContext } from "../../lib/data/context.js";
|
|
3
|
-
import { mutateCart } from "../../lib/hooks/use-cart.js";
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Spinner, Trash } from "@medusajs/icons";
|
|
@@ -14,7 +14,7 @@ const DeleteButton = ({ id, children, className }) => {
|
|
|
14
14
|
setIsDeleting(true);
|
|
15
15
|
await deleteLineItem(id$1, ctx).then(() => {
|
|
16
16
|
mutateCart();
|
|
17
|
-
}).
|
|
17
|
+
}).finally(() => {
|
|
18
18
|
setIsDeleting(false);
|
|
19
19
|
});
|
|
20
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["id"],"sources":["../../../src/components/delete-button/index.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Spinner, Trash } from '@medusajs/icons';\nimport { clx } from '@medusajs/ui';\n\nimport { deleteLineItem } from '@/lib/data/cart';\nimport { useStorefrontContext } from '@/lib/data/context';\nimport { mutateCart } from '@/lib/hooks/use-cart';\n\nconst DeleteButton = ({\n id,\n children,\n className,\n}: {\n id: string;\n children?: React.ReactNode;\n className?: string;\n}) => {\n const ctx = useStorefrontContext();\n const [isDeleting, setIsDeleting] = useState(false);\n\n const handleDelete = async (id: string) => {\n setIsDeleting(true);\n await deleteLineItem(id, ctx)\n .then(() => {\n mutateCart();\n })\n .
|
|
1
|
+
{"version":3,"file":"index.js","names":["id"],"sources":["../../../src/components/delete-button/index.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Spinner, Trash } from '@medusajs/icons';\nimport { clx } from '@medusajs/ui';\n\nimport { deleteLineItem } from '@/lib/data/cart';\nimport { useStorefrontContext } from '@/lib/data/context';\nimport { mutateCart } from '@/lib/hooks/use-cart';\n\nconst DeleteButton = ({\n id,\n children,\n className,\n}: {\n id: string;\n children?: React.ReactNode;\n className?: string;\n}) => {\n const ctx = useStorefrontContext();\n const [isDeleting, setIsDeleting] = useState(false);\n\n const handleDelete = async (id: string) => {\n setIsDeleting(true);\n await deleteLineItem(id, ctx)\n .then(() => {\n mutateCart();\n })\n .finally(() => {\n setIsDeleting(false);\n });\n };\n\n return (\n <div\n className={clx(\n 'text-small-regular flex items-center justify-between',\n className\n )}\n >\n <button\n className=\"text-ui-fg-subtle hover:text-ui-fg-base flex cursor-pointer gap-x-1\"\n onClick={() => handleDelete(id)}\n >\n {isDeleting ? <Spinner className=\"animate-spin\" /> : <Trash />}\n <span>{children}</span>\n </button>\n </div>\n );\n};\n\nexport { DeleteButton };\n"],"mappings":";;;;;;;;;AASA,MAAM,gBAAgB,EACpB,IACA,UACA,gBAKI;CACJ,MAAM,MAAM,sBAAsB;CAClC,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,eAAe,OAAO,SAAe;AACzC,gBAAc,KAAK;AACnB,QAAM,eAAeA,MAAI,IAAI,CAC1B,WAAW;AACV,eAAY;IACZ,CACD,cAAc;AACb,iBAAc,MAAM;IACpB;;AAGN,QACE,oBAAC;EACC,WAAW,IACT,wDACA,UACD;YAED,qBAAC;GACC,WAAU;GACV,eAAe,aAAa,GAAG;cAE9B,aAAa,oBAAC,WAAQ,WAAU,iBAAiB,GAAG,oBAAC,UAAQ,EAC9D,oBAAC,UAAM,WAAgB;IAChB;GACL"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/error-message/index.d.ts
|
|
4
4
|
declare const ErrorMessage: ({
|
|
@@ -7,7 +7,7 @@ declare const ErrorMessage: ({
|
|
|
7
7
|
}: {
|
|
8
8
|
error?: string | null;
|
|
9
9
|
"data-testid"?: string;
|
|
10
|
-
}) =>
|
|
10
|
+
}) => react_jsx_runtime1.JSX.Element | null;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { ErrorMessage };
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Cart } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
3
3
|
import { StoreCartShippingOption } from "@medusajs/types";
|
|
4
4
|
|
|
5
5
|
//#region src/components/free-shipping-price-nudge/index.d.ts
|
|
@@ -11,7 +11,7 @@ declare function ShippingPriceNudge({
|
|
|
11
11
|
variant?: 'popup' | 'inline';
|
|
12
12
|
cart: Cart;
|
|
13
13
|
shippingOptions: StoreCartShippingOption[];
|
|
14
|
-
}):
|
|
14
|
+
}): react_jsx_runtime12.JSX.Element | undefined;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { ShippingPriceNudge };
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/free-shipping-price-nudge/index.tsx"],"sourcesContent":[],"mappings":";;;;;iBA0ES,kBAAA;;;;;;QAMD;EANC,eAAA,EAOU,uBAPQ,EAAA;CACzB,CAAA,EAOD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/free-shipping-price-nudge/index.tsx"],"sourcesContent":[],"mappings":";;;;;iBA0ES,kBAAA;;;;;;QAMD;EANC,eAAA,EAOU,uBAPQ,EAAA;CACzB,CAAA,EAOD,mBAAA,CAAA,GAAA,CAAA,OAAA,GAPC,SAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/interactive-link/index.d.ts
|
|
4
4
|
type InteractiveLinkProps = {
|
|
@@ -11,7 +11,7 @@ declare const InteractiveLink: ({
|
|
|
11
11
|
children,
|
|
12
12
|
onClick,
|
|
13
13
|
...props
|
|
14
|
-
}: InteractiveLinkProps) =>
|
|
14
|
+
}: InteractiveLinkProps) => react_jsx_runtime2.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { InteractiveLink };
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Maybe, ProductVariant } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/line-item-options/index.d.ts
|
|
5
5
|
type LineItemOptionsProps = {
|
|
@@ -11,7 +11,7 @@ declare const LineItemOptions: ({
|
|
|
11
11
|
variant,
|
|
12
12
|
"data-testid": dataTestid,
|
|
13
13
|
"data-value": dataValue
|
|
14
|
-
}: LineItemOptionsProps) =>
|
|
14
|
+
}: LineItemOptionsProps) => react_jsx_runtime3.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { LineItemOptions };
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LineItem } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/line-item-price/index.d.ts
|
|
5
5
|
type LineItemPriceProps = {
|
|
@@ -11,7 +11,7 @@ declare const LineItemPrice: ({
|
|
|
11
11
|
item,
|
|
12
12
|
style,
|
|
13
13
|
currencyCode
|
|
14
|
-
}: LineItemPriceProps) =>
|
|
14
|
+
}: LineItemPriceProps) => react_jsx_runtime4.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { LineItemPrice };
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnchorHTMLAttributes, DetailedHTMLProps } from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/localized-client-link/index.d.ts
|
|
5
5
|
type LocalizedClientLinkProps = DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
|
|
@@ -11,7 +11,7 @@ declare const LocalizedClientLink: ({
|
|
|
11
11
|
children,
|
|
12
12
|
href,
|
|
13
13
|
...props
|
|
14
|
-
}: LocalizedClientLinkProps) =>
|
|
14
|
+
}: LocalizedClientLinkProps) => react_jsx_runtime5.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { LocalizedClientLink };
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/modal/index.d.ts
|
|
5
5
|
type ModalProps = {
|
|
@@ -20,7 +20,7 @@ declare const Modal: {
|
|
|
20
20
|
children,
|
|
21
21
|
"data-testid": dataTestId,
|
|
22
22
|
"aria-label": ariaLabel
|
|
23
|
-
}: ModalProps):
|
|
23
|
+
}: ModalProps): react_jsx_runtime0.JSX.Element;
|
|
24
24
|
Title: React.FC<{
|
|
25
25
|
children: React.ReactNode;
|
|
26
26
|
}>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { VariantPrice } from "../../types/prices.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/preview-price/index.d.ts
|
|
5
5
|
declare function PreviewPrice({
|
|
6
6
|
price
|
|
7
7
|
}: {
|
|
8
8
|
price: VariantPrice;
|
|
9
|
-
}):
|
|
9
|
+
}): react_jsx_runtime6.JSX.Element | null;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { PreviewPrice };
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime7 from "react/jsx-runtime";
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
4
4
|
|
|
@@ -59,7 +59,7 @@ declare function ProductCard({
|
|
|
59
59
|
variant,
|
|
60
60
|
size,
|
|
61
61
|
className
|
|
62
|
-
}: ProductCardProps):
|
|
62
|
+
}: ProductCardProps): react_jsx_runtime7.JSX.Element;
|
|
63
63
|
//#endregion
|
|
64
64
|
export { ProductCard };
|
|
65
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Product } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime8 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/product-preview/index.d.ts
|
|
5
5
|
type ProductPreviewProps = {
|
|
@@ -9,7 +9,7 @@ type ProductPreviewProps = {
|
|
|
9
9
|
declare function ProductPreview({
|
|
10
10
|
product,
|
|
11
11
|
isFeatured
|
|
12
|
-
}: ProductPreviewProps):
|
|
12
|
+
}: ProductPreviewProps): react_jsx_runtime8.JSX.Element;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { ProductPreview, ProductPreviewProps };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-preview/index.tsx"],"sourcesContent":[],"mappings":";;;;KASY,mBAAA;WACD;;AADX,CAAA;AAGE,iBAEO,cAAA,CAAc;EAAA,OAAA;EAAA;AAAA,CAAA,EAA0B,mBAA1B,CAAA,EAA6C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-preview/index.tsx"],"sourcesContent":[],"mappings":";;;;KASY,mBAAA;WACD;;AADX,CAAA;AAGE,iBAEO,cAAA,CAAc;EAAA,OAAA;EAAA;AAAA,CAAA,EAA0B,mBAA1B,CAAA,EAA6C,kBAAA,CAAA,GAAA,CAAA,OAA7C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime9 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/submit-button/index.d.ts
|
|
5
5
|
declare function SubmitButton({
|
|
@@ -14,7 +14,7 @@ declare function SubmitButton({
|
|
|
14
14
|
className?: string;
|
|
15
15
|
'data-testid'?: string;
|
|
16
16
|
isLoading?: boolean;
|
|
17
|
-
}):
|
|
17
|
+
}): react_jsx_runtime9.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { SubmitButton };
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/submit-button/index.tsx"],"sourcesContent":[],"mappings":";;;;iBAQS,YAAA;;;;iBAIQ;;;YAGL,KAAA,CAAM;;EAPT,SAAA,CAAA,EAAA,MAAY;EACnB,aAAA,CAAA,EAAA,MAAA;EACA,SAAA,CAAA,EAAA,OAAA;CACA,CAAA,EASD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/submit-button/index.tsx"],"sourcesContent":[],"mappings":";;;;iBAQS,YAAA;;;;iBAIQ;;;YAGL,KAAA,CAAM;;EAPT,SAAA,CAAA,EAAA,MAAY;EACnB,aAAA,CAAA,EAAA,MAAA;EACA,SAAA,CAAA,EAAA,OAAA;CACA,CAAA,EASD,kBAAA,CAAA,GAAA,CAAA,OATC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PropsWithChildren } from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime10 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/lib/context/apollo-context.d.ts
|
|
5
5
|
declare function ApolloClientProvider({
|
|
6
6
|
children
|
|
7
|
-
}: PropsWithChildren):
|
|
7
|
+
}: PropsWithChildren): react_jsx_runtime10.JSX.Element;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { ApolloClientProvider };
|
|
10
10
|
//# sourceMappingURL=apollo-context.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime11 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/lib/context/modal-context.d.ts
|
|
5
5
|
interface ModalContext {
|
|
@@ -13,7 +13,7 @@ interface ModalProviderProps {
|
|
|
13
13
|
declare const ModalProvider: ({
|
|
14
14
|
children,
|
|
15
15
|
close
|
|
16
|
-
}: ModalProviderProps) =>
|
|
16
|
+
}: ModalProviderProps) => react_jsx_runtime11.JSX.Element;
|
|
17
17
|
declare const useModal: () => ModalContext;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { ModalProvider, useModal };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../src/lib/data/cart.ts"],"sourcesContent":[],"mappings":";;;;;cA2Ba,oBACN,sBACJ,QAAQ;
|
|
1
|
+
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../src/lib/data/cart.ts"],"sourcesContent":[],"mappings":";;;;;cA2Ba,oBACN,sBACJ,QAAQ;cAyBE,mBACL,0CACD,sBACJ,QAAQ;AA9BE,cAyEA,cAhDZ,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,EAkDM,iBAlDN,EAAA,GAmDE,OAnDF,CAmDU,sBAnDV,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA;AAxBM,iBAyHe,eAAA,CAzHf,GAAA,EAyHoC,iBAzHpC,CAAA,EAyHqD,OAzHrD,CAAA;EACI,gBAAA,EA+HW,SAAA,CAAU,uBA/HrB,EAAA;CAAR,CAAA"}
|
package/dist/lib/data/cart.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import { getAuthHeaders, getCacheOptions, getCacheTag, getCartId } from "./cookies.js";
|
|
2
1
|
import { sdk } from "../config/medusa.js";
|
|
3
|
-
import { graphqlFetch, graphqlMutation } from "../gql/apollo-client.js";
|
|
2
|
+
import { createServerApolloClient, graphqlFetch, graphqlMutation } from "../gql/apollo-client.js";
|
|
4
3
|
import { DELETE_LINE_ITEM_MUTATION, UPDATE_CART_MUTATION } from "../gql/mutations/cart.js";
|
|
5
4
|
import { GET_CART_QUERY } from "../gql/queries/cart.js";
|
|
5
|
+
import { mutateCart } from "../hooks/use-cart.js";
|
|
6
6
|
import { medusaError } from "../utils/medusa-error.js";
|
|
7
|
+
import { getCacheOptions, getCacheTag, getCartId } from "./cookies-utils.js";
|
|
7
8
|
|
|
8
9
|
//#region src/lib/data/cart.ts
|
|
9
10
|
const retrieveCart = async (ctx) => {
|
|
10
11
|
const id = getCartId(ctx);
|
|
11
12
|
if (!id) return null;
|
|
13
|
+
const cookieHeader = ctx.cookieHeader;
|
|
14
|
+
const apolloClient = createServerApolloClient(cookieHeader);
|
|
12
15
|
try {
|
|
13
16
|
return (await graphqlFetch({
|
|
14
17
|
query: GET_CART_QUERY,
|
|
15
18
|
variables: { id }
|
|
16
|
-
}))?.cart ?? null;
|
|
19
|
+
}, apolloClient))?.cart ?? null;
|
|
17
20
|
} catch (error) {
|
|
18
21
|
console.error("Failed to fetch cart:", error);
|
|
19
22
|
return null;
|
|
@@ -31,9 +34,12 @@ const updateCart = async (data, ctx) => {
|
|
|
31
34
|
}
|
|
32
35
|
}))?.updateCart ?? null;
|
|
33
36
|
if (cart) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
await mutateCart();
|
|
38
|
+
try {
|
|
39
|
+
const { revalidateTag } = await import("next/cache");
|
|
40
|
+
revalidateTag(getCacheTag("carts", ctx));
|
|
41
|
+
revalidateTag(getCacheTag("fulfillment", ctx));
|
|
42
|
+
} catch {}
|
|
37
43
|
}
|
|
38
44
|
return cart;
|
|
39
45
|
} catch (err) {
|
|
@@ -52,11 +58,14 @@ const deleteLineItem = async (lineId, ctx) => {
|
|
|
52
58
|
lineItemId: lineId
|
|
53
59
|
}
|
|
54
60
|
}))?.deleteLineItem ?? null;
|
|
55
|
-
if (deletedLineItem)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
if (deletedLineItem) {
|
|
62
|
+
await mutateCart();
|
|
63
|
+
try {
|
|
64
|
+
const { revalidateTag } = await import("next/cache");
|
|
65
|
+
revalidateTag(getCacheTag("carts", ctx));
|
|
66
|
+
revalidateTag(getCacheTag("fulfillment", ctx));
|
|
67
|
+
} catch {}
|
|
68
|
+
}
|
|
60
69
|
return deletedLineItem;
|
|
61
70
|
} catch (error) {
|
|
62
71
|
console.error("GraphQL deleteLineItem error:", error.message);
|
|
@@ -65,12 +74,10 @@ const deleteLineItem = async (lineId, ctx) => {
|
|
|
65
74
|
};
|
|
66
75
|
async function listCartOptions(ctx) {
|
|
67
76
|
const cartId = getCartId(ctx);
|
|
68
|
-
const headers = { ...getAuthHeaders(ctx) };
|
|
69
77
|
const next = { ...getCacheOptions("shippingOptions", ctx) };
|
|
70
78
|
return await sdk.client.fetch("/store/shipping-options", {
|
|
71
79
|
query: { cart_id: cartId },
|
|
72
80
|
next,
|
|
73
|
-
headers,
|
|
74
81
|
cache: "force-cache"
|
|
75
82
|
});
|
|
76
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.js","names":["error: any"],"sources":["../../../src/lib/data/cart.ts"],"sourcesContent":["import { HttpTypes } from '@medusajs/types';\n\nimport {\n Cart,\n DeleteLineItemMutation,\n DeleteLineItemMutationVariables,\n GetCartQuery,\n GetCartQueryVariables,\n UpdateCartMutation,\n UpdateCartMutationVariables,\n} from '../../types/graphql';\nimport { sdk } from '../config/medusa';\nimport {
|
|
1
|
+
{"version":3,"file":"cart.js","names":["error: any"],"sources":["../../../src/lib/data/cart.ts"],"sourcesContent":["import { HttpTypes } from '@medusajs/types';\n\nimport {\n Cart,\n DeleteLineItemMutation,\n DeleteLineItemMutationVariables,\n GetCartQuery,\n GetCartQueryVariables,\n UpdateCartMutation,\n UpdateCartMutationVariables,\n} from '../../types/graphql';\nimport { sdk } from '../config/medusa';\nimport {\n createServerApolloClient,\n graphqlFetch,\n graphqlMutation,\n} from '../gql/apollo-client';\nimport {\n DELETE_LINE_ITEM_MUTATION,\n UPDATE_CART_MUTATION,\n} from '../gql/mutations/cart';\nimport { GET_CART_QUERY } from '../gql/queries/cart';\nimport { mutateCart } from '../hooks/use-cart';\nimport { medusaError } from '../utils/medusa-error';\nimport type { StorefrontContext } from './context';\nimport { getCacheOptions, getCacheTag, getCartId } from './cookies-utils';\n\nexport const retrieveCart = async (\n ctx: StorefrontContext\n): Promise<Cart | null> => {\n const id = getCartId(ctx);\n if (!id) {\n return null;\n }\n\n const cookieHeader = ctx.cookieHeader;\n const apolloClient = createServerApolloClient(cookieHeader);\n\n try {\n const data = await graphqlFetch<GetCartQuery, GetCartQueryVariables>(\n {\n query: GET_CART_QUERY,\n variables: { id },\n },\n apolloClient\n );\n\n return data?.cart ?? null;\n } catch (error) {\n console.error('Failed to fetch cart:', error);\n return null;\n }\n};\n\nexport const updateCart = async (\n data: UpdateCartMutationVariables['data'],\n ctx: StorefrontContext\n): Promise<UpdateCartMutation['updateCart'] | null> => {\n const cartId = getCartId(ctx);\n\n if (!cartId) {\n throw new Error(\n 'No existing cart found, please create one before updating'\n );\n }\n\n try {\n const result = await graphqlMutation<\n UpdateCartMutation,\n UpdateCartMutationVariables\n >({\n mutation: UPDATE_CART_MUTATION,\n variables: {\n id: cartId,\n data,\n },\n });\n\n const cart = result?.updateCart ?? null;\n\n if (cart) {\n await mutateCart();\n try {\n const { revalidateTag } = await import('next/cache');\n const cartCacheTag = getCacheTag('carts', ctx);\n revalidateTag(cartCacheTag);\n\n const fulfillmentCacheTag = getCacheTag('fulfillment', ctx);\n revalidateTag(fulfillmentCacheTag);\n } catch {\n // Not in Next.js environment\n }\n }\n\n return cart;\n } catch (err) {\n medusaError(err);\n }\n};\n\nexport const deleteLineItem = async (\n lineId: string,\n ctx: StorefrontContext\n): Promise<DeleteLineItemMutation['deleteLineItem'] | null> => {\n if (!lineId) {\n throw new Error('Missing lineItem ID when deleting line item');\n }\n\n const cartId = getCartId(ctx);\n\n if (!cartId) {\n throw new Error('Missing cart ID when deleting line item');\n }\n\n try {\n const result = await graphqlMutation<\n DeleteLineItemMutation,\n DeleteLineItemMutationVariables\n >({\n mutation: DELETE_LINE_ITEM_MUTATION,\n variables: {\n cartId,\n lineItemId: lineId,\n },\n });\n\n const deletedLineItem = result?.deleteLineItem ?? null;\n\n if (deletedLineItem) {\n await mutateCart();\n try {\n const { revalidateTag } = await import('next/cache');\n const cartCacheTag = getCacheTag('carts', ctx);\n revalidateTag(cartCacheTag);\n\n const fulfillmentCacheTag = getCacheTag('fulfillment', ctx);\n revalidateTag(fulfillmentCacheTag);\n } catch {\n // Not in Next.js environment\n }\n }\n\n return deletedLineItem;\n } catch (error: any) {\n console.error('GraphQL deleteLineItem error:', error.message);\n throw error;\n }\n};\n\nexport async function listCartOptions(ctx: StorefrontContext) {\n const cartId = getCartId(ctx);\n const next = {\n ...getCacheOptions('shippingOptions', ctx),\n };\n\n return await sdk.client.fetch<{\n shipping_options: HttpTypes.StoreCartShippingOption[];\n }>('/store/shipping-options', {\n query: { cart_id: cartId },\n next,\n cache: 'force-cache',\n });\n}\n"],"mappings":";;;;;;;;;AA2BA,MAAa,eAAe,OAC1B,QACyB;CACzB,MAAM,KAAK,UAAU,IAAI;AACzB,KAAI,CAAC,GACH,QAAO;CAGT,MAAM,eAAe,IAAI;CACzB,MAAM,eAAe,yBAAyB,aAAa;AAE3D,KAAI;AASF,UARa,MAAM,aACjB;GACE,OAAO;GACP,WAAW,EAAE,IAAI;GAClB,EACD,aACD,GAEY,QAAQ;UACd,OAAO;AACd,UAAQ,MAAM,yBAAyB,MAAM;AAC7C,SAAO;;;AAIX,MAAa,aAAa,OACxB,MACA,QACqD;CACrD,MAAM,SAAS,UAAU,IAAI;AAE7B,KAAI,CAAC,OACH,OAAM,IAAI,MACR,4DACD;AAGH,KAAI;EAYF,MAAM,QAXS,MAAM,gBAGnB;GACA,UAAU;GACV,WAAW;IACT,IAAI;IACJ;IACD;GACF,CAAC,GAEmB,cAAc;AAEnC,MAAI,MAAM;AACR,SAAM,YAAY;AAClB,OAAI;IACF,MAAM,EAAE,kBAAkB,MAAM,OAAO;AAEvC,kBADqB,YAAY,SAAS,IAAI,CACnB;AAG3B,kBAD4B,YAAY,eAAe,IAAI,CACzB;WAC5B;;AAKV,SAAO;UACA,KAAK;AACZ,cAAY,IAAI;;;AAIpB,MAAa,iBAAiB,OAC5B,QACA,QAC6D;AAC7D,KAAI,CAAC,OACH,OAAM,IAAI,MAAM,8CAA8C;CAGhE,MAAM,SAAS,UAAU,IAAI;AAE7B,KAAI,CAAC,OACH,OAAM,IAAI,MAAM,0CAA0C;AAG5D,KAAI;EAYF,MAAM,mBAXS,MAAM,gBAGnB;GACA,UAAU;GACV,WAAW;IACT;IACA,YAAY;IACb;GACF,CAAC,GAE8B,kBAAkB;AAElD,MAAI,iBAAiB;AACnB,SAAM,YAAY;AAClB,OAAI;IACF,MAAM,EAAE,kBAAkB,MAAM,OAAO;AAEvC,kBADqB,YAAY,SAAS,IAAI,CACnB;AAG3B,kBAD4B,YAAY,eAAe,IAAI,CACzB;WAC5B;;AAKV,SAAO;UACAA,OAAY;AACnB,UAAQ,MAAM,iCAAiC,MAAM,QAAQ;AAC7D,QAAM;;;AAIV,eAAsB,gBAAgB,KAAwB;CAC5D,MAAM,SAAS,UAAU,IAAI;CAC7B,MAAM,OAAO,EACX,GAAG,gBAAgB,mBAAmB,IAAI,EAC3C;AAED,QAAO,MAAM,IAAI,OAAO,MAErB,2BAA2B;EAC5B,OAAO,EAAE,SAAS,QAAQ;EAC1B;EACA,OAAO;EACR,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { removeAuthTokenAction, removeCartIdAction, setAuthTokenAction, setCartIdAction } from "./cookies.js";
|
|
1
|
+
import { removeAuthTokenAction, removeCartIdAction, setAuthTokenAction, setCartIdAction } from "./cookies-actions.js";
|
|
2
2
|
import { StorefrontContext } from "./context.js";
|
|
3
3
|
|
|
4
4
|
//#region src/lib/data/client-actions.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-actions.d.ts","names":[],"sources":["../../../src/lib/data/client-actions.tsx"],"sourcesContent":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"client-actions.d.ts","names":[],"sources":["../../../src/lib/data/client-actions.tsx"],"sourcesContent":[],"mappings":";;;;cAgCa,6BAA8B;;EAA9B,YAAA,EAAA,yBAYZ;EAZ0C,YAAA,EAAA,yBAAA;;8DAUlC"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { getCartId } from "./cookies-utils.js";
|
|
4
|
+
import { updateCart } from "./cart.js";
|
|
5
|
+
import { removeAuthTokenAction, removeCartIdAction, setAuthTokenAction, setCartIdAction } from "./cookies-actions.js";
|
|
6
|
+
import { getRegion } from "./regions.js";
|
|
5
7
|
|
|
6
8
|
//#region src/lib/data/client-actions.tsx
|
|
9
|
+
async function updateRegion(countryCode, currentPath, ctx) {
|
|
10
|
+
const region = await getRegion(countryCode, ctx);
|
|
11
|
+
if (!region) throw new Error(`Region not found for country code: ${countryCode}`);
|
|
12
|
+
if (getCartId(ctx)) await updateCart({ regionId: region.id }, ctx);
|
|
13
|
+
window.location.href = `/${countryCode}${currentPath}`;
|
|
14
|
+
}
|
|
7
15
|
const useStorefrontActions = (ctx) => {
|
|
8
16
|
return {
|
|
9
17
|
setCartId: setCartIdAction,
|
|
10
18
|
removeCartId: removeCartIdAction,
|
|
11
19
|
setAuthToken: setAuthTokenAction,
|
|
12
20
|
removeAuthToken: removeAuthTokenAction,
|
|
13
|
-
updateRegion: ((countryCode, currentPath) =>
|
|
21
|
+
updateRegion: ((countryCode, currentPath) => updateRegion(countryCode, currentPath, ctx))
|
|
14
22
|
};
|
|
15
23
|
};
|
|
16
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-actions.js","names":[],"sources":["../../../src/lib/data/client-actions.tsx"],"sourcesContent":["'use client';\n\nimport { StorefrontContext } from './context';\nimport {\n removeAuthTokenAction,\n removeCartIdAction,\n setAuthTokenAction,\n setCartIdAction,\n} from './cookies';\nimport {
|
|
1
|
+
{"version":3,"file":"client-actions.js","names":[],"sources":["../../../src/lib/data/client-actions.tsx"],"sourcesContent":["'use client';\n\nimport { updateCart } from './cart';\nimport { StorefrontContext } from './context';\nimport {\n removeAuthTokenAction,\n removeCartIdAction,\n setAuthTokenAction,\n setCartIdAction,\n} from './cookies-actions';\nimport { getCartId } from './cookies-utils';\nimport { getRegion } from './regions';\n\nasync function updateRegion(\n countryCode: string,\n currentPath: string,\n ctx: StorefrontContext\n) {\n const region = await getRegion(countryCode, ctx);\n\n if (!region) {\n throw new Error(`Region not found for country code: ${countryCode}`);\n }\n\n const cartId = getCartId(ctx);\n if (cartId) {\n await updateCart({ regionId: region.id }, ctx);\n }\n\n window.location.href = `/${countryCode}${currentPath}`;\n}\n\nexport const useStorefrontActions = (ctx?: StorefrontContext) => {\n return {\n setCartId: setCartIdAction,\n removeCartId: removeCartIdAction,\n setAuthToken: setAuthTokenAction,\n removeAuthToken: removeAuthTokenAction,\n updateRegion: ((countryCode: string, currentPath: string) =>\n updateRegion(countryCode, currentPath, ctx!)) as (\n countryCode: string,\n currentPath: string\n ) => Promise<void>,\n };\n};\n"],"mappings":";;;;;;;;AAaA,eAAe,aACb,aACA,aACA,KACA;CACA,MAAM,SAAS,MAAM,UAAU,aAAa,IAAI;AAEhD,KAAI,CAAC,OACH,OAAM,IAAI,MAAM,sCAAsC,cAAc;AAItE,KADe,UAAU,IAAI,CAE3B,OAAM,WAAW,EAAE,UAAU,OAAO,IAAI,EAAE,IAAI;AAGhD,QAAO,SAAS,OAAO,IAAI,cAAc;;AAG3C,MAAa,wBAAwB,QAA4B;AAC/D,QAAO;EACL,WAAW;EACX,cAAc;EACd,cAAc;EACd,iBAAiB;EACjB,gBAAgB,aAAqB,gBACnC,aAAa,aAAa,aAAa,IAAK;EAI/C"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { useStorefrontActions } from "./client-actions.js";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime15 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/lib/data/context.d.ts
|
|
6
6
|
interface StorefrontContext {
|
|
7
7
|
cartId: string;
|
|
8
|
-
customerToken: string;
|
|
9
8
|
cacheId: string;
|
|
10
|
-
cookieHeader
|
|
11
|
-
|
|
9
|
+
cookieHeader?: string;
|
|
10
|
+
}
|
|
11
|
+
interface StorefrontProviderProps {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
value?: StorefrontContext;
|
|
12
14
|
}
|
|
13
15
|
declare const StorefrontProvider: ({
|
|
14
16
|
children,
|
|
15
17
|
value
|
|
16
|
-
}:
|
|
17
|
-
children: ReactNode;
|
|
18
|
-
value: StorefrontContext;
|
|
19
|
-
}) => react_jsx_runtime8.JSX.Element;
|
|
18
|
+
}: StorefrontProviderProps) => react_jsx_runtime15.JSX.Element;
|
|
20
19
|
declare const useStorefrontContext: () => StorefrontContext;
|
|
21
20
|
//#endregion
|
|
22
21
|
export { StorefrontContext, StorefrontProvider, useStorefrontActions, useStorefrontContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/lib/data/context.tsx"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/lib/data/context.tsx"],"sourcesContent":[],"mappings":";;;;;UAMiB,iBAAA;;;;AAAjB;AAIC,UAwBS,uBAAA,CAAuB;EAKpB,QAAA,EAJD,SAIC;EAAsB,KAAA,CAAA,EAHzB,iBAGyB;;AAGhC,cAHU,kBAGV,EAAA,CAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAAA,uBAAA,EAAA,GAAuB,mBAAA,CAAA,GAAA,CAAA,OAAvB;AAAuB,cAwBb,oBAxBa,EAAA,GAAA,GAwBO,iBAxBP"}
|
package/dist/lib/data/context.js
CHANGED
|
@@ -3,12 +3,29 @@
|
|
|
3
3
|
import { useStorefrontActions } from "./client-actions.js";
|
|
4
4
|
import { createContext, useContext } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import useSWR from "swr";
|
|
6
7
|
|
|
7
8
|
//#region src/lib/data/context.tsx
|
|
8
|
-
const StorefrontReactContext = createContext({
|
|
9
|
+
const StorefrontReactContext = createContext({
|
|
10
|
+
cartId: "",
|
|
11
|
+
cacheId: ""
|
|
12
|
+
});
|
|
13
|
+
const fetchContext = async () => {
|
|
14
|
+
const response = await fetch("/api/context", { credentials: "include" });
|
|
15
|
+
if (!response.ok) throw new Error("Failed to fetch context");
|
|
16
|
+
return response.json();
|
|
17
|
+
};
|
|
9
18
|
const StorefrontProvider = ({ children, value }) => {
|
|
19
|
+
const { data: fetchedContext } = useSWR(value ? null : "storefront-context", fetchContext, {
|
|
20
|
+
revalidateOnFocus: true,
|
|
21
|
+
revalidateOnReconnect: true
|
|
22
|
+
});
|
|
23
|
+
const contextValue = value ?? {
|
|
24
|
+
cartId: fetchedContext?.cartId ?? "",
|
|
25
|
+
cacheId: fetchedContext?.cacheId ?? ""
|
|
26
|
+
};
|
|
10
27
|
return /* @__PURE__ */ jsx(StorefrontReactContext.Provider, {
|
|
11
|
-
value,
|
|
28
|
+
value: contextValue,
|
|
12
29
|
children
|
|
13
30
|
});
|
|
14
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../src/lib/data/context.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, createContext, useContext } from 'react';\n\nexport interface StorefrontContext {\n cartId: string;\n
|
|
1
|
+
{"version":3,"file":"context.js","names":["contextValue: StorefrontContext"],"sources":["../../../src/lib/data/context.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, createContext, useContext } from 'react';\n\nimport useSWR from 'swr';\n\nexport interface StorefrontContext {\n cartId: string;\n cacheId: string;\n cookieHeader?: string;\n}\n\ninterface ClientContext {\n cartId: string;\n cacheId: string;\n}\n\nconst StorefrontReactContext = createContext<StorefrontContext>({\n cartId: '',\n cacheId: '',\n});\n\nconst fetchContext = async (): Promise<ClientContext> => {\n const response = await fetch('/api/context', {\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error('Failed to fetch context');\n }\n\n return response.json();\n};\n\ninterface StorefrontProviderProps {\n children: ReactNode;\n value?: StorefrontContext;\n}\n\nexport const StorefrontProvider = ({\n children,\n value,\n}: StorefrontProviderProps) => {\n // If value is provided (host apps), use it directly\n // If no value (horizontal components), fetch from API\n const { data: fetchedContext } = useSWR<ClientContext>(\n value ? null : 'storefront-context',\n fetchContext,\n {\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n }\n );\n\n const contextValue: StorefrontContext = value ?? {\n cartId: fetchedContext?.cartId ?? '',\n cacheId: fetchedContext?.cacheId ?? '',\n };\n\n return (\n <StorefrontReactContext.Provider value={contextValue}>\n {children}\n </StorefrontReactContext.Provider>\n );\n};\n\nexport const useStorefrontContext = () => useContext(StorefrontReactContext);\nexport { useStorefrontActions } from './client-actions';\n"],"mappings":";;;;;;;;AAiBA,MAAM,yBAAyB,cAAiC;CAC9D,QAAQ;CACR,SAAS;CACV,CAAC;AAEF,MAAM,eAAe,YAAoC;CACvD,MAAM,WAAW,MAAM,MAAM,gBAAgB,EAC3C,aAAa,WACd,CAAC;AAEF,KAAI,CAAC,SAAS,GACZ,OAAM,IAAI,MAAM,0BAA0B;AAG5C,QAAO,SAAS,MAAM;;AAQxB,MAAa,sBAAsB,EACjC,UACA,YAC6B;CAG7B,MAAM,EAAE,MAAM,mBAAmB,OAC/B,QAAQ,OAAO,sBACf,cACA;EACE,mBAAmB;EACnB,uBAAuB;EACxB,CACF;CAED,MAAMA,eAAkC,SAAS;EAC/C,QAAQ,gBAAgB,UAAU;EAClC,SAAS,gBAAgB,WAAW;EACrC;AAED,QACE,oBAAC,uBAAuB;EAAS,OAAO;EACrC;GAC+B;;AAItC,MAAa,6BAA6B,WAAW,uBAAuB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/data/cookies-actions.d.ts
|
|
2
|
+
declare function setCartIdAction(id: string): Promise<void>;
|
|
3
|
+
declare function removeCartIdAction(): Promise<void>;
|
|
4
|
+
declare function setAuthTokenAction(token: string): Promise<void>;
|
|
5
|
+
declare function removeAuthTokenAction(): Promise<void>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { removeAuthTokenAction, removeCartIdAction, setAuthTokenAction, setCartIdAction };
|
|
8
|
+
//# sourceMappingURL=cookies-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookies-actions.d.ts","names":[],"sources":["../../../src/lib/data/cookies-actions.ts"],"sourcesContent":[],"mappings":";iBAEsB,eAAA,cAA0B;AAA1B,iBAWA,kBAAA,CAAA,CAX0B,EAWR,OAXQ,CAAA,IAAA,CAAA;AAW1B,iBAMA,kBAAA,CANkB,KAAA,EAAA,MAAA,CAAA,EAMc,OANd,CAAA,IAAA,CAAA;AAMlB,iBAWA,qBAAA,CAAA,CAXgC,EAWX,OAXW,CAAA,IAAA,CAAA"}
|
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
|
|
3
|
-
//#region src/lib/data/cookies.ts
|
|
4
|
-
const getAuthHeaders = (ctx) => {
|
|
5
|
-
const token = ctx.customerToken;
|
|
6
|
-
if (!token) return {};
|
|
7
|
-
return { authorization: `Bearer ${token}` };
|
|
8
|
-
};
|
|
9
|
-
const getCacheTag = (tag, ctx) => {
|
|
10
|
-
const cacheId = ctx.cacheId;
|
|
11
|
-
if (!cacheId) return "";
|
|
12
|
-
return `${tag}-${cacheId}`;
|
|
13
|
-
};
|
|
14
|
-
const getCacheOptions = (tag, ctx) => {
|
|
15
|
-
if (typeof window !== "undefined") return {};
|
|
16
|
-
const cacheTag = getCacheTag(tag, ctx);
|
|
17
|
-
if (!cacheTag) return {};
|
|
18
|
-
return { tags: [`${cacheTag}`] };
|
|
19
|
-
};
|
|
20
|
-
const getCartId = (ctx) => {
|
|
21
|
-
return ctx.cartId;
|
|
22
|
-
};
|
|
3
|
+
//#region src/lib/data/cookies-actions.ts
|
|
23
4
|
async function setCartIdAction(id) {
|
|
24
5
|
const { cookies } = await import("next/headers");
|
|
25
6
|
(await cookies()).set("_medusa_cart_id", id, {
|
|
@@ -48,5 +29,5 @@ async function removeAuthTokenAction() {
|
|
|
48
29
|
}
|
|
49
30
|
|
|
50
31
|
//#endregion
|
|
51
|
-
export {
|
|
52
|
-
//# sourceMappingURL=cookies.js.map
|
|
32
|
+
export { removeAuthTokenAction, removeCartIdAction, setAuthTokenAction, setCartIdAction };
|
|
33
|
+
//# sourceMappingURL=cookies-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookies-actions.js","names":[],"sources":["../../../src/lib/data/cookies-actions.ts"],"sourcesContent":["'use server';\n\nexport async function setCartIdAction(id: string) {\n const { cookies } = await import('next/headers');\n const c = await cookies();\n c.set('_medusa_cart_id', id, {\n maxAge: 60 * 60 * 24 * 7,\n httpOnly: true,\n sameSite: 'strict',\n secure: process.env.NODE_ENV === 'production',\n });\n}\n\nexport async function removeCartIdAction() {\n const { cookies } = await import('next/headers');\n const c = await cookies();\n c.set('_medusa_cart_id', '', { maxAge: -1 });\n}\n\nexport async function setAuthTokenAction(token: string) {\n const { cookies } = await import('next/headers');\n const c = await cookies();\n c.set('_medusa_jwt', token, {\n maxAge: 60 * 60 * 24 * 7,\n httpOnly: true,\n sameSite: 'strict',\n secure: process.env.NODE_ENV === 'production',\n });\n}\n\nexport async function removeAuthTokenAction() {\n const { cookies } = await import('next/headers');\n const c = await cookies();\n c.set('_medusa_jwt', '', { maxAge: -1 });\n}\n"],"mappings":";;;AAEA,eAAsB,gBAAgB,IAAY;CAChD,MAAM,EAAE,YAAY,MAAM,OAAO;AAEjC,EADU,MAAM,SAAS,EACvB,IAAI,mBAAmB,IAAI;EAC3B,QAAQ,OAAU,KAAK;EACvB,UAAU;EACV,UAAU;EACV,QAAQ;EACT,CAAC;;AAGJ,eAAsB,qBAAqB;CACzC,MAAM,EAAE,YAAY,MAAM,OAAO;AAEjC,EADU,MAAM,SAAS,EACvB,IAAI,mBAAmB,IAAI,EAAE,QAAQ,IAAI,CAAC;;AAG9C,eAAsB,mBAAmB,OAAe;CACtD,MAAM,EAAE,YAAY,MAAM,OAAO;AAEjC,EADU,MAAM,SAAS,EACvB,IAAI,eAAe,OAAO;EAC1B,QAAQ,OAAU,KAAK;EACvB,UAAU;EACV,UAAU;EACV,QAAQ;EACT,CAAC;;AAGJ,eAAsB,wBAAwB;CAC5C,MAAM,EAAE,YAAY,MAAM,OAAO;AAEjC,EADU,MAAM,SAAS,EACvB,IAAI,eAAe,IAAI,EAAE,QAAQ,IAAI,CAAC"}
|