@gfed-medusa/sf-lib-common 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/apollo-client-BuznVAE4.js +66 -0
- package/dist/apollo-client-BuznVAE4.js.map +1 -0
- package/dist/cart-CLJvIUQC.js +103 -0
- package/dist/cart-CLJvIUQC.js.map +1 -0
- package/dist/cart-D99u8SUJ.js +16 -0
- package/dist/cart-D99u8SUJ.js.map +1 -0
- package/dist/cart-XQIczSA1.js +42 -0
- package/dist/cart-XQIczSA1.js.map +1 -0
- package/dist/cart-button-NgoZb9LI.js +12 -0
- package/dist/cart-button-NgoZb9LI.js.map +1 -0
- package/dist/cart-dropdown-_ZpvhX--.js +195 -0
- package/dist/cart-dropdown-_ZpvhX--.js.map +1 -0
- package/dist/cart-p3ffQQ5R.js +142 -0
- package/dist/cart-p3ffQQ5R.js.map +1 -0
- package/dist/categories-BCbIwAcV.js +16 -0
- package/dist/categories-BCbIwAcV.js.map +1 -0
- package/dist/collections-Buw8B8l9.js +20 -0
- package/dist/collections-Buw8B8l9.js.map +1 -0
- package/dist/collections-Dkcq21tC.js +22 -0
- package/dist/collections-Dkcq21tC.js.map +1 -0
- package/dist/components/breadcrumbs/index.d.ts +22 -0
- package/dist/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/breadcrumbs/index.js +54 -0
- package/dist/components/breadcrumbs/index.js.map +1 -0
- package/dist/components/cart-button/index.d.ts +7 -0
- package/dist/components/cart-button/index.d.ts.map +1 -0
- package/dist/components/cart-button/index.js +18 -0
- package/dist/components/cart-dropdown/index.d.ts +12 -0
- package/dist/components/cart-dropdown/index.d.ts.map +1 -0
- package/dist/components/cart-dropdown/index.js +19 -0
- package/dist/components/cart-mismatch-banner/index.d.ts +11 -0
- package/dist/components/cart-mismatch-banner/index.d.ts.map +1 -0
- package/dist/components/cart-mismatch-banner/index.js +55 -0
- package/dist/components/cart-mismatch-banner/index.js.map +1 -0
- package/dist/components/country-select/index.d.ts +14 -0
- package/dist/components/country-select/index.d.ts.map +1 -0
- package/dist/components/country-select/index.js +31 -0
- package/dist/components/country-select/index.js.map +1 -0
- package/dist/components/delete-button/index.d.ts +15 -0
- package/dist/components/delete-button/index.d.ts.map +1 -0
- package/dist/components/delete-button/index.js +12 -0
- package/dist/components/error-message/index.d.ts +13 -0
- package/dist/components/error-message/index.d.ts.map +1 -0
- package/dist/components/error-message/index.js +15 -0
- package/dist/components/error-message/index.js.map +1 -0
- package/dist/components/footer/index.d.ts +7 -0
- package/dist/components/footer/index.d.ts.map +1 -0
- package/dist/components/footer/index.js +115 -0
- package/dist/components/footer/index.js.map +1 -0
- package/dist/components/free-shipping-price-nudge/index.d.ts +17 -0
- package/dist/components/free-shipping-price-nudge/index.d.ts.map +1 -0
- package/dist/components/free-shipping-price-nudge/index.js +182 -0
- package/dist/components/free-shipping-price-nudge/index.js.map +1 -0
- package/dist/components/interactive-link/index.d.ts +17 -0
- package/dist/components/interactive-link/index.d.ts.map +1 -0
- package/dist/components/interactive-link/index.js +25 -0
- package/dist/components/interactive-link/index.js.map +1 -0
- package/dist/components/layout-country-select/index.d.ts +16 -0
- package/dist/components/layout-country-select/index.d.ts.map +1 -0
- package/dist/components/layout-country-select/index.js +14 -0
- package/dist/components/line-item-options/index.d.ts +17 -0
- package/dist/components/line-item-options/index.d.ts.map +1 -0
- package/dist/components/line-item-options/index.js +3 -0
- package/dist/components/line-item-price/index.d.ts +17 -0
- package/dist/components/line-item-price/index.d.ts.map +1 -0
- package/dist/components/line-item-price/index.js +3 -0
- package/dist/components/localized-client-link/index.d.ts +24 -0
- package/dist/components/localized-client-link/index.d.ts.map +1 -0
- package/dist/components/localized-client-link/index.js +5 -0
- package/dist/components/modal/index.d.ts +39 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +4 -0
- package/dist/components/nav/index.d.ts +7 -0
- package/dist/components/nav/index.d.ts.map +1 -0
- package/dist/components/nav/index.js +85 -0
- package/dist/components/nav/index.js.map +1 -0
- package/dist/components/portable-text/index.d.ts +13 -0
- package/dist/components/portable-text/index.d.ts.map +1 -0
- package/dist/components/portable-text/index.js +3 -0
- package/dist/components/preview-price/index.d.ts +12 -0
- package/dist/components/preview-price/index.d.ts.map +1 -0
- package/dist/components/preview-price/index.js +3 -0
- package/dist/components/product-card/index.d.ts +65 -0
- package/dist/components/product-card/index.d.ts.map +1 -0
- package/dist/components/product-card/index.js +146 -0
- package/dist/components/product-card/index.js.map +1 -0
- package/dist/components/product-preview/index.d.ts +15 -0
- package/dist/components/product-preview/index.d.ts.map +1 -0
- package/dist/components/product-preview/index.js +38 -0
- package/dist/components/product-preview/index.js.map +1 -0
- package/dist/components/search-modal/index.d.ts +12 -0
- package/dist/components/search-modal/index.d.ts.map +1 -0
- package/dist/components/search-modal/index.js +12 -0
- package/dist/components/side-menu/index.d.ts +12 -0
- package/dist/components/side-menu/index.d.ts.map +1 -0
- package/dist/components/side-menu/index.js +16 -0
- package/dist/components/submit-button/index.d.ts +20 -0
- package/dist/components/submit-button/index.d.ts.map +1 -0
- package/dist/components/submit-button/index.js +24 -0
- package/dist/components/submit-button/index.js.map +1 -0
- package/dist/components/thumbnail/index.d.ts +15 -0
- package/dist/components/thumbnail/index.d.ts.map +1 -0
- package/dist/components/thumbnail/index.js +3 -0
- package/dist/cookies-DANAjt8U.js +38 -0
- package/dist/cookies-DANAjt8U.js.map +1 -0
- package/dist/customer-GZZNI4eh.js +25 -0
- package/dist/customer-GZZNI4eh.js.map +1 -0
- package/dist/data-types-C_rGnTUp.js +10 -0
- package/dist/data-types-C_rGnTUp.js.map +1 -0
- package/dist/delete-button-Bfog7z-I.js +28 -0
- package/dist/delete-button-Bfog7z-I.js.map +1 -0
- package/dist/footer-BqaZhjlE.js +76 -0
- package/dist/footer-BqaZhjlE.js.map +1 -0
- package/dist/footer-fWFeFSUp.js +16 -0
- package/dist/footer-fWFeFSUp.js.map +1 -0
- package/dist/get-percentage-diff-CxGe_n9N.js +8 -0
- package/dist/get-percentage-diff-CxGe_n9N.js.map +1 -0
- package/dist/get-product-price-DxBbPmOZ.js +47 -0
- package/dist/get-product-price-DxBbPmOZ.js.map +1 -0
- package/dist/graphql-BWZPPI_N.d.ts +1368 -0
- package/dist/graphql-BWZPPI_N.d.ts.map +1 -0
- package/dist/layout-country-select-DrwpoVMM.js +90 -0
- package/dist/layout-country-select-DrwpoVMM.js.map +1 -0
- package/dist/lib/config/medusa.d.ts +7 -0
- package/dist/lib/config/medusa.d.ts.map +1 -0
- package/dist/lib/config/medusa.js +3 -0
- package/dist/lib/context/apollo-context.d.ts +10 -0
- package/dist/lib/context/apollo-context.d.ts.map +1 -0
- package/dist/lib/context/apollo-context.js +18 -0
- package/dist/lib/context/apollo-context.js.map +1 -0
- package/dist/lib/context/modal-context.d.ts +20 -0
- package/dist/lib/context/modal-context.d.ts.map +1 -0
- package/dist/lib/context/modal-context.js +5 -0
- package/dist/lib/data/cart.d.ts +24 -0
- package/dist/lib/data/cart.d.ts.map +1 -0
- package/dist/lib/data/cart.js +13 -0
- package/dist/lib/data/categories.d.ts +19 -0
- package/dist/lib/data/categories.d.ts.map +1 -0
- package/dist/lib/data/categories.js +6 -0
- package/dist/lib/data/collections.d.ts +14 -0
- package/dist/lib/data/collections.d.ts.map +1 -0
- package/dist/lib/data/collections.js +8 -0
- package/dist/lib/data/cookies.d.ts +15 -0
- package/dist/lib/data/cookies.d.ts.map +1 -0
- package/dist/lib/data/cookies.js +3 -0
- package/dist/lib/data/customer.d.ts +7 -0
- package/dist/lib/data/customer.d.ts.map +1 -0
- package/dist/lib/data/customer.js +8 -0
- package/dist/lib/data/footer.d.ts +75 -0
- package/dist/lib/data/footer.d.ts.map +1 -0
- package/dist/lib/data/footer.js +5 -0
- package/dist/lib/data/regions.d.ts +8 -0
- package/dist/lib/data/regions.d.ts.map +1 -0
- package/dist/lib/data/regions.js +5 -0
- package/dist/lib/data/search.d.ts +9 -0
- package/dist/lib/data/search.d.ts.map +1 -0
- package/dist/lib/data/search.js +8 -0
- package/dist/lib/gql/apollo-client.d.ts +18 -0
- package/dist/lib/gql/apollo-client.d.ts.map +1 -0
- package/dist/lib/gql/apollo-client.js +3 -0
- package/dist/lib/gql/fragments/cart.d.ts +14 -0
- package/dist/lib/gql/fragments/cart.d.ts.map +1 -0
- package/dist/lib/gql/fragments/cart.js +4 -0
- package/dist/lib/gql/fragments/product.d.ts +13 -0
- package/dist/lib/gql/fragments/product.d.ts.map +1 -0
- package/dist/lib/gql/fragments/product.js +3 -0
- package/dist/lib/gql/mutations/cart.d.ts +9 -0
- package/dist/lib/gql/mutations/cart.d.ts.map +1 -0
- package/dist/lib/gql/mutations/cart.js +5 -0
- package/dist/lib/gql/mutations/customer.d.ts +1 -0
- package/dist/lib/gql/mutations/customer.js +1 -0
- package/dist/lib/gql/queries/cart.d.ts +7 -0
- package/dist/lib/gql/queries/cart.d.ts.map +1 -0
- package/dist/lib/gql/queries/cart.js +5 -0
- package/dist/lib/gql/queries/collections.d.ts +7 -0
- package/dist/lib/gql/queries/collections.d.ts.map +1 -0
- package/dist/lib/gql/queries/collections.js +4 -0
- package/dist/lib/gql/queries/footer.d.ts +7 -0
- package/dist/lib/gql/queries/footer.d.ts.map +1 -0
- package/dist/lib/gql/queries/footer.js +3 -0
- package/dist/lib/gql/queries/product.d.ts +8 -0
- package/dist/lib/gql/queries/product.d.ts.map +1 -0
- package/dist/lib/gql/queries/product.js +4 -0
- package/dist/lib/hooks/use-apollo.d.ts +7 -0
- package/dist/lib/hooks/use-apollo.d.ts.map +1 -0
- package/dist/lib/hooks/use-apollo.js +4 -0
- package/dist/lib/hooks/use-search.d.ts +22 -0
- package/dist/lib/hooks/use-search.d.ts.map +1 -0
- package/dist/lib/hooks/use-search.js +9 -0
- package/dist/lib/hooks/use-toggle-state.d.ts +2 -0
- package/dist/lib/hooks/use-toggle-state.js +43 -0
- package/dist/lib/hooks/use-toggle-state.js.map +1 -0
- package/dist/lib/utils/data-types.d.ts +7 -0
- package/dist/lib/utils/data-types.d.ts.map +1 -0
- package/dist/lib/utils/data-types.js +3 -0
- package/dist/lib/utils/env.d.ts +5 -0
- package/dist/lib/utils/env.d.ts.map +1 -0
- package/dist/lib/utils/env.js +8 -0
- package/dist/lib/utils/env.js.map +1 -0
- package/dist/lib/utils/get-percentage-diff.d.ts +5 -0
- package/dist/lib/utils/get-percentage-diff.d.ts.map +1 -0
- package/dist/lib/utils/get-percentage-diff.js +3 -0
- package/dist/lib/utils/get-product-price.d.ts +42 -0
- package/dist/lib/utils/get-product-price.d.ts.map +1 -0
- package/dist/lib/utils/get-product-price.js +3 -0
- package/dist/lib/utils/medusa-error.d.ts +5 -0
- package/dist/lib/utils/medusa-error.d.ts.map +1 -0
- package/dist/lib/utils/medusa-error.js +3 -0
- package/dist/lib/utils/money.d.ts +18 -0
- package/dist/lib/utils/money.d.ts.map +1 -0
- package/dist/lib/utils/money.js +3 -0
- package/dist/lib/utils/normalize-functions.d.ts +8 -0
- package/dist/lib/utils/normalize-functions.d.ts.map +1 -0
- package/dist/lib/utils/normalize-functions.js +3 -0
- package/dist/line-item-options-B3rbud31.js +16 -0
- package/dist/line-item-options-B3rbud31.js.map +1 -0
- package/dist/line-item-price-BBlC_T8m.js +47 -0
- package/dist/line-item-price-BBlC_T8m.js.map +1 -0
- package/dist/localized-client-link-C3mE37Ub.js +22 -0
- package/dist/localized-client-link-C3mE37Ub.js.map +1 -0
- package/dist/medusa-C1jfAM1B.js +12 -0
- package/dist/medusa-C1jfAM1B.js.map +1 -0
- package/dist/medusa-error-Cf_eEPhR.js +17 -0
- package/dist/medusa-error-Cf_eEPhR.js.map +1 -0
- package/dist/modal-C-crvjtF.js +102 -0
- package/dist/modal-C-crvjtF.js.map +1 -0
- package/dist/modal-context-D-ugwFUM.js +20 -0
- package/dist/modal-context-D-ugwFUM.js.map +1 -0
- package/dist/money-BrwiFQUW.js +15 -0
- package/dist/money-BrwiFQUW.js.map +1 -0
- package/dist/normalize-functions-BIuKc_-k.js +15 -0
- package/dist/normalize-functions-BIuKc_-k.js.map +1 -0
- package/dist/portable-text-DSWXgovn.js +330 -0
- package/dist/portable-text-DSWXgovn.js.map +1 -0
- package/dist/preview-price-D_GqXrT4.js +20 -0
- package/dist/preview-price-D_GqXrT4.js.map +1 -0
- package/dist/prices-IWR3xm6o.d.ts +20 -0
- package/dist/prices-IWR3xm6o.d.ts.map +1 -0
- package/dist/product-Cgtch-vz.js +90 -0
- package/dist/product-Cgtch-vz.js.map +1 -0
- package/dist/product-DMWvgZkb.js +47 -0
- package/dist/product-DMWvgZkb.js.map +1 -0
- package/dist/regions-CF6DH579.js +34 -0
- package/dist/regions-CF6DH579.js.map +1 -0
- package/dist/search-CKhI5RO4.js +21 -0
- package/dist/search-CKhI5RO4.js.map +1 -0
- package/dist/search-modal-D1tgUDXQ.js +137 -0
- package/dist/search-modal-D1tgUDXQ.js.map +1 -0
- package/dist/side-menu-ByDXpZJO.js +97 -0
- package/dist/side-menu-ByDXpZJO.js.map +1 -0
- package/dist/thumbnail-CXIliWAD.js +44 -0
- package/dist/thumbnail-CXIliWAD.js.map +1 -0
- package/dist/types/graphql.d.ts +2 -0
- package/dist/types/graphql.js +14516 -0
- package/dist/types/graphql.js.map +1 -0
- package/dist/types/prices.d.ts +2 -0
- package/dist/types/prices.js +1 -0
- package/dist/use-apollo-q4uz05i-.js +11 -0
- package/dist/use-apollo-q4uz05i-.js.map +1 -0
- package/dist/use-search-BTEnFlC0.js +67 -0
- package/dist/use-search-BTEnFlC0.js.map +1 -0
- package/dist/use-toggle-state-zIAKMNfR.d.ts +23 -0
- package/dist/use-toggle-state-zIAKMNfR.d.ts.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { i as graphqlMutation } from "./apollo-client-BuznVAE4.js";
|
|
2
|
+
import { n as TRANSFER_CART_MUTATION } from "./cart-XQIczSA1.js";
|
|
3
|
+
import { t as medusaError } from "./medusa-error-Cf_eEPhR.js";
|
|
4
|
+
import { i as getCartId, r as getCacheTag } from "./cookies-DANAjt8U.js";
|
|
5
|
+
import { revalidateTag } from "next/cache";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/data/customer.ts
|
|
8
|
+
const transferCart = async () => {
|
|
9
|
+
const cartId = await getCartId();
|
|
10
|
+
if (!cartId) return null;
|
|
11
|
+
try {
|
|
12
|
+
const cart = (await graphqlMutation({
|
|
13
|
+
mutation: TRANSFER_CART_MUTATION,
|
|
14
|
+
variables: { cartId }
|
|
15
|
+
}))?.transferCart ?? null;
|
|
16
|
+
if (cart) revalidateTag(await getCacheTag("carts"));
|
|
17
|
+
return cart;
|
|
18
|
+
} catch (err) {
|
|
19
|
+
medusaError(err);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { transferCart as t };
|
|
25
|
+
//# sourceMappingURL=customer-GZZNI4eh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customer-GZZNI4eh.js","names":[],"sources":["../src/lib/data/customer.ts"],"sourcesContent":["import { revalidateTag } from 'next/cache';\n\nimport {\n TransferCartMutation,\n TransferCartMutationVariables,\n} from '@/types/graphql';\n\nimport { graphqlMutation } from '../gql/apollo-client';\nimport { TRANSFER_CART_MUTATION } from '../gql/mutations/cart';\nimport { medusaError } from '../utils/medusa-error';\nimport { getCacheTag, getCartId } from './cookies';\n\nexport const transferCart = async (): Promise<\n TransferCartMutation['transferCart'] | null\n> => {\n const cartId = await getCartId();\n\n if (!cartId) {\n return null;\n }\n\n try {\n const result = await graphqlMutation<\n TransferCartMutation,\n TransferCartMutationVariables\n >({\n mutation: TRANSFER_CART_MUTATION,\n variables: {\n cartId,\n },\n });\n\n const cart = result?.transferCart ?? null;\n\n if (cart) {\n const cartCacheTag = await getCacheTag('carts');\n revalidateTag(cartCacheTag);\n }\n\n return cart;\n } catch (err) {\n medusaError(err);\n }\n};\n"],"mappings":";;;;;;;AAYA,MAAa,eAAe,YAEvB;CACH,MAAM,SAAS,MAAM,WAAW;AAEhC,KAAI,CAAC,OACH,QAAO;AAGT,KAAI;EAWF,MAAM,QAVS,MAAM,gBAGnB;GACA,UAAU;GACV,WAAW,EACT,QACD;GACF,CAAC,GAEmB,gBAAgB;AAErC,MAAI,KAEF,eADqB,MAAM,YAAY,QAAQ,CACpB;AAG7B,SAAO;UACA,KAAK;AACZ,cAAY,IAAI"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/lib/utils/data-types.ts
|
|
2
|
+
const isObject = (input) => input instanceof Object;
|
|
3
|
+
const isArray = (input) => Array.isArray(input);
|
|
4
|
+
const isEmpty = (input) => {
|
|
5
|
+
return input === null || input === void 0 || isObject(input) && Object.keys(input).length === 0 || isArray(input) && input.length === 0 || typeof input === "string" && input.trim().length === 0;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { isEmpty as n, isObject as r, isArray as t };
|
|
10
|
+
//# sourceMappingURL=data-types-C_rGnTUp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-C_rGnTUp.js","names":[],"sources":["../src/lib/utils/data-types.ts"],"sourcesContent":["export const isObject = (input: any) => input instanceof Object;\nexport const isArray = (input: any) => Array.isArray(input);\nexport const isEmpty = (input: any) => {\n return (\n input === null ||\n input === undefined ||\n (isObject(input) && Object.keys(input).length === 0) ||\n (isArray(input) && (input as any[]).length === 0) ||\n (typeof input === 'string' && input.trim().length === 0)\n );\n};\n"],"mappings":";AAAA,MAAa,YAAY,UAAe,iBAAiB;AACzD,MAAa,WAAW,UAAe,MAAM,QAAQ,MAAM;AAC3D,MAAa,WAAW,UAAe;AACrC,QACE,UAAU,QACV,UAAU,UACT,SAAS,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,WAAW,KACjD,QAAQ,MAAM,IAAK,MAAgB,WAAW,KAC9C,OAAO,UAAU,YAAY,MAAM,MAAM,CAAC,WAAW"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { t as deleteLineItem } from "./cart-CLJvIUQC.js";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { clx } from "@medusajs/ui";
|
|
5
|
+
import { Spinner, Trash } from "@medusajs/icons";
|
|
6
|
+
|
|
7
|
+
//#region src/components/delete-button/index.tsx
|
|
8
|
+
const DeleteButton = ({ id, children, className }) => {
|
|
9
|
+
const [isDeleting, setIsDeleting] = useState(false);
|
|
10
|
+
const handleDelete = async (id$1) => {
|
|
11
|
+
setIsDeleting(true);
|
|
12
|
+
await deleteLineItem(id$1).catch((err) => {
|
|
13
|
+
setIsDeleting(false);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ jsx("div", {
|
|
17
|
+
className: clx("text-small-regular flex items-center justify-between", className),
|
|
18
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
19
|
+
className: "text-ui-fg-subtle hover:text-ui-fg-base flex cursor-pointer gap-x-1",
|
|
20
|
+
onClick: () => handleDelete(id),
|
|
21
|
+
children: [isDeleting ? /* @__PURE__ */ jsx(Spinner, { className: "animate-spin" }) : /* @__PURE__ */ jsx(Trash, {}), /* @__PURE__ */ jsx("span", { children })]
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { DeleteButton as t };
|
|
28
|
+
//# sourceMappingURL=delete-button-Bfog7z-I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-button-Bfog7z-I.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';\n\nconst DeleteButton = ({\n id,\n children,\n className,\n}: {\n id: string;\n children?: React.ReactNode;\n className?: string;\n}) => {\n const [isDeleting, setIsDeleting] = useState(false);\n\n const handleDelete = async (id: string) => {\n setIsDeleting(true);\n await deleteLineItem(id).catch((err) => {\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":";;;;;;;AAOA,MAAM,gBAAgB,EACpB,IACA,UACA,gBAKI;CACJ,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,eAAe,OAAO,SAAe;AACzC,gBAAc,KAAK;AACnB,QAAM,eAAeA,KAAG,CAAC,OAAO,QAAQ;AACtC,iBAAc,MAAM;IACpB;;AAGJ,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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { gql } from "@apollo/client";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/gql/queries/footer.ts
|
|
4
|
+
const GET_FOOTER_QUERY = gql`
|
|
5
|
+
query GetFooter {
|
|
6
|
+
footer {
|
|
7
|
+
storeName
|
|
8
|
+
social {
|
|
9
|
+
text
|
|
10
|
+
url
|
|
11
|
+
}
|
|
12
|
+
copyright
|
|
13
|
+
poweredByCta {
|
|
14
|
+
text {
|
|
15
|
+
... on TextBlock {
|
|
16
|
+
_key
|
|
17
|
+
_type
|
|
18
|
+
style
|
|
19
|
+
children {
|
|
20
|
+
_key
|
|
21
|
+
text
|
|
22
|
+
marks
|
|
23
|
+
}
|
|
24
|
+
markDefs {
|
|
25
|
+
... on LinkMark {
|
|
26
|
+
_key
|
|
27
|
+
_type
|
|
28
|
+
href
|
|
29
|
+
target
|
|
30
|
+
}
|
|
31
|
+
... on IconLinkMark {
|
|
32
|
+
_key
|
|
33
|
+
_type
|
|
34
|
+
href
|
|
35
|
+
iconType
|
|
36
|
+
iconClass
|
|
37
|
+
iconFill
|
|
38
|
+
iconComponent
|
|
39
|
+
iconImage {
|
|
40
|
+
asset {
|
|
41
|
+
url
|
|
42
|
+
}
|
|
43
|
+
alt
|
|
44
|
+
}
|
|
45
|
+
iconUrl
|
|
46
|
+
target
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
... on ImageBlock {
|
|
51
|
+
_key
|
|
52
|
+
_type
|
|
53
|
+
asset {
|
|
54
|
+
url
|
|
55
|
+
}
|
|
56
|
+
alt
|
|
57
|
+
}
|
|
58
|
+
... on FileBlock {
|
|
59
|
+
_key
|
|
60
|
+
_type
|
|
61
|
+
asset {
|
|
62
|
+
url
|
|
63
|
+
originalFilename
|
|
64
|
+
size
|
|
65
|
+
mimeType
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
`;
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { GET_FOOTER_QUERY as t };
|
|
76
|
+
//# sourceMappingURL=footer-BqaZhjlE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-BqaZhjlE.js","names":[],"sources":["../src/lib/gql/queries/footer.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const GET_FOOTER_QUERY = gql`\n query GetFooter {\n footer {\n storeName\n social {\n text\n url\n }\n copyright\n poweredByCta {\n text {\n ... on TextBlock {\n _key\n _type\n style\n children {\n _key\n text\n marks\n }\n markDefs {\n ... on LinkMark {\n _key\n _type\n href\n target\n }\n ... on IconLinkMark {\n _key\n _type\n href\n iconType\n iconClass\n iconFill\n iconComponent\n iconImage {\n asset {\n url\n }\n alt\n }\n iconUrl\n target\n }\n }\n }\n ... on ImageBlock {\n _key\n _type\n asset {\n url\n }\n alt\n }\n ... on FileBlock {\n _key\n _type\n asset {\n url\n originalFilename\n size\n mimeType\n }\n }\n }\n }\n }\n }\n`;\n"],"mappings":";;;AAEA,MAAa,mBAAmB,GAAG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { r as graphqlFetch } from "./apollo-client-BuznVAE4.js";
|
|
2
|
+
import { t as GET_FOOTER_QUERY } from "./footer-BqaZhjlE.js";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/data/footer.ts
|
|
5
|
+
const getFooterContent = async () => {
|
|
6
|
+
try {
|
|
7
|
+
return (await graphqlFetch({ query: GET_FOOTER_QUERY }))?.footer || null;
|
|
8
|
+
} catch (error) {
|
|
9
|
+
console.error("Error fetching footer content:", error);
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { getFooterContent as t };
|
|
16
|
+
//# sourceMappingURL=footer-fWFeFSUp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-fWFeFSUp.js","names":[],"sources":["../src/lib/data/footer.ts"],"sourcesContent":["import { graphqlFetch } from '@/lib/gql/apollo-client';\nimport { GET_FOOTER_QUERY } from '@/lib/gql/queries/footer';\nimport { GetFooterQuery, GetFooterQueryVariables } from '@/types/graphql';\n\nexport const getFooterContent = async () => {\n try {\n const data = await graphqlFetch<GetFooterQuery, GetFooterQueryVariables>({\n query: GET_FOOTER_QUERY,\n });\n return data?.footer || null;\n } catch (error) {\n console.error('Error fetching footer content:', error);\n return null;\n }\n};\n"],"mappings":";;;;AAIA,MAAa,mBAAmB,YAAY;AAC1C,KAAI;AAIF,UAHa,MAAM,aAAsD,EACvE,OAAO,kBACR,CAAC,GACW,UAAU;UAChB,OAAO;AACd,UAAQ,MAAM,kCAAkC,MAAM;AACtD,SAAO"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/lib/utils/get-percentage-diff.ts
|
|
2
|
+
const getPercentageDiff = (original, calculated) => {
|
|
3
|
+
return ((original - calculated) / original * 100).toFixed();
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { getPercentageDiff as t };
|
|
8
|
+
//# sourceMappingURL=get-percentage-diff-CxGe_n9N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-percentage-diff-CxGe_n9N.js","names":[],"sources":["../src/lib/utils/get-percentage-diff.ts"],"sourcesContent":["export const getPercentageDiff = (original: number, calculated: number) => {\n const diff = original - calculated;\n const decrease = (diff / original) * 100;\n\n return decrease.toFixed();\n};\n"],"mappings":";AAAA,MAAa,qBAAqB,UAAkB,eAAuB;AAIzE,UAHa,WAAW,cACC,WAAY,KAErB,SAAS"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { t as convertToLocale } from "./money-BrwiFQUW.js";
|
|
2
|
+
import { t as getPercentageDiff } from "./get-percentage-diff-CxGe_n9N.js";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/utils/get-product-price.ts
|
|
5
|
+
const getPricesForVariant = (variant) => {
|
|
6
|
+
if (!variant?.price?.amount) return null;
|
|
7
|
+
return {
|
|
8
|
+
calculated_price_number: variant.price?.amount,
|
|
9
|
+
calculated_price: convertToLocale({
|
|
10
|
+
amount: variant.price.amount,
|
|
11
|
+
currency_code: variant.price.currencyCode || ""
|
|
12
|
+
}),
|
|
13
|
+
original_price_number: variant.originalPrice?.amount || variant.price.amount,
|
|
14
|
+
original_price: convertToLocale({
|
|
15
|
+
amount: variant.originalPrice?.amount || variant.price.amount,
|
|
16
|
+
currency_code: variant.price.currencyCode || ""
|
|
17
|
+
}),
|
|
18
|
+
currency_code: variant.price.currencyCode,
|
|
19
|
+
price_type: variant.price.priceType || "default",
|
|
20
|
+
percentage_diff: getPercentageDiff(variant.originalPrice?.amount || variant.price.amount, variant.price.amount)
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
function getProductPrice({ product, variantId }) {
|
|
24
|
+
if (!product || !product.id) throw new Error("No product provided");
|
|
25
|
+
const cheapestPrice = () => {
|
|
26
|
+
if (!product || !product.variants?.length) return null;
|
|
27
|
+
const cheapestVariant = product.variants.filter((v) => !!v.price).sort((a, b) => {
|
|
28
|
+
return (a.price?.amount ?? 0) - (b.price?.amount ?? 0);
|
|
29
|
+
})[0];
|
|
30
|
+
return getPricesForVariant(cheapestVariant);
|
|
31
|
+
};
|
|
32
|
+
const variantPrice = () => {
|
|
33
|
+
if (!product || !variantId) return null;
|
|
34
|
+
const variant = product.variants?.find((v) => v.id === variantId || v.sku === variantId);
|
|
35
|
+
if (!variant) return null;
|
|
36
|
+
return getPricesForVariant(variant);
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
product,
|
|
40
|
+
cheapestPrice: cheapestPrice(),
|
|
41
|
+
variantPrice: variantPrice()
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { getProductPrice as n, getPricesForVariant as t };
|
|
47
|
+
//# sourceMappingURL=get-product-price-DxBbPmOZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-product-price-DxBbPmOZ.js","names":["cheapestVariant: any","variant: any"],"sources":["../src/lib/utils/get-product-price.ts"],"sourcesContent":["import { Product } from '@/types/graphql';\n\nimport { getPercentageDiff } from './get-percentage-diff';\nimport { convertToLocale } from './money';\n\nexport const getPricesForVariant = (variant: any) => {\n if (!variant?.price?.amount) {\n return null;\n }\n\n return {\n calculated_price_number: variant.price?.amount,\n calculated_price: convertToLocale({\n amount: variant.price.amount,\n currency_code: variant.price.currencyCode || '',\n }),\n original_price_number:\n variant.originalPrice?.amount || variant.price.amount,\n original_price: convertToLocale({\n amount: variant.originalPrice?.amount || variant.price.amount,\n currency_code: variant.price.currencyCode || '',\n }),\n currency_code: variant.price.currencyCode,\n price_type: variant.price.priceType || 'default',\n percentage_diff: getPercentageDiff(\n variant.originalPrice?.amount || variant.price.amount,\n variant.price.amount\n ),\n };\n};\n\nexport function getProductPrice({\n product,\n variantId,\n}: {\n product: Product;\n variantId?: string;\n}) {\n if (!product || !product.id) {\n throw new Error('No product provided');\n }\n\n const cheapestPrice = () => {\n if (!product || !product.variants?.length) {\n return null;\n }\n\n const cheapestVariant: any = product.variants\n .filter((v: any) => !!v.price)\n .sort((a: any, b: any) => {\n return (a.price?.amount ?? 0) - (b.price?.amount ?? 0);\n })[0];\n\n return getPricesForVariant(cheapestVariant);\n };\n\n const variantPrice = () => {\n if (!product || !variantId) {\n return null;\n }\n\n const variant: any = product.variants?.find(\n (v) => v.id === variantId || v.sku === variantId\n );\n\n if (!variant) {\n return null;\n }\n\n return getPricesForVariant(variant);\n };\n\n return {\n product,\n cheapestPrice: cheapestPrice(),\n variantPrice: variantPrice(),\n };\n}\n"],"mappings":";;;;AAKA,MAAa,uBAAuB,YAAiB;AACnD,KAAI,CAAC,SAAS,OAAO,OACnB,QAAO;AAGT,QAAO;EACL,yBAAyB,QAAQ,OAAO;EACxC,kBAAkB,gBAAgB;GAChC,QAAQ,QAAQ,MAAM;GACtB,eAAe,QAAQ,MAAM,gBAAgB;GAC9C,CAAC;EACF,uBACE,QAAQ,eAAe,UAAU,QAAQ,MAAM;EACjD,gBAAgB,gBAAgB;GAC9B,QAAQ,QAAQ,eAAe,UAAU,QAAQ,MAAM;GACvD,eAAe,QAAQ,MAAM,gBAAgB;GAC9C,CAAC;EACF,eAAe,QAAQ,MAAM;EAC7B,YAAY,QAAQ,MAAM,aAAa;EACvC,iBAAiB,kBACf,QAAQ,eAAe,UAAU,QAAQ,MAAM,QAC/C,QAAQ,MAAM,OACf;EACF;;AAGH,SAAgB,gBAAgB,EAC9B,SACA,aAIC;AACD,KAAI,CAAC,WAAW,CAAC,QAAQ,GACvB,OAAM,IAAI,MAAM,sBAAsB;CAGxC,MAAM,sBAAsB;AAC1B,MAAI,CAAC,WAAW,CAAC,QAAQ,UAAU,OACjC,QAAO;EAGT,MAAMA,kBAAuB,QAAQ,SAClC,QAAQ,MAAW,CAAC,CAAC,EAAE,MAAM,CAC7B,MAAM,GAAQ,MAAW;AACxB,WAAQ,EAAE,OAAO,UAAU,MAAM,EAAE,OAAO,UAAU;IACpD,CAAC;AAEL,SAAO,oBAAoB,gBAAgB;;CAG7C,MAAM,qBAAqB;AACzB,MAAI,CAAC,WAAW,CAAC,UACf,QAAO;EAGT,MAAMC,UAAe,QAAQ,UAAU,MACpC,MAAM,EAAE,OAAO,aAAa,EAAE,QAAQ,UACxC;AAED,MAAI,CAAC,QACH,QAAO;AAGT,SAAO,oBAAoB,QAAQ;;AAGrC,QAAO;EACL;EACA,eAAe,eAAe;EAC9B,cAAc,cAAc;EAC7B"}
|