@gfed-medusa/sf-lib-common 1.1.0 → 2.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/dist/components/breadcrumbs/index.d.ts +4 -6
- package/dist/components/breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/breadcrumbs/index.js.map +1 -1
- package/dist/components/cart-button/index.d.ts +2 -2
- package/dist/components/cart-button/index.d.ts.map +1 -1
- package/dist/components/cart-button/index.js +11 -17
- package/dist/components/cart-button/index.js.map +1 -0
- package/dist/components/cart-dropdown/index.d.ts +3 -3
- package/dist/components/cart-dropdown/index.d.ts.map +1 -1
- package/dist/components/cart-dropdown/index.js +193 -16
- package/dist/components/cart-dropdown/index.js.map +1 -0
- package/dist/components/cart-mismatch-banner/index.d.ts +3 -3
- package/dist/components/cart-mismatch-banner/index.d.ts.map +1 -1
- package/dist/components/cart-mismatch-banner/index.js +1 -8
- package/dist/components/cart-mismatch-banner/index.js.map +1 -1
- package/dist/components/country-select/index.d.ts +1 -1
- package/dist/components/delete-button/index.d.ts +2 -2
- package/dist/components/delete-button/index.js +27 -11
- package/dist/components/delete-button/index.js.map +1 -0
- package/dist/components/error-message/index.d.ts +2 -2
- package/dist/components/error-message/index.d.ts.map +1 -1
- package/dist/components/footer/index.d.ts +2 -2
- package/dist/components/footer/index.d.ts.map +1 -1
- package/dist/components/footer/index.js +5 -10
- package/dist/components/footer/index.js.map +1 -1
- package/dist/components/free-shipping-price-nudge/index.d.ts +3 -3
- package/dist/components/free-shipping-price-nudge/index.d.ts.map +1 -1
- package/dist/components/free-shipping-price-nudge/index.js +2 -2
- package/dist/components/interactive-link/index.d.ts +2 -2
- package/dist/components/interactive-link/index.js +1 -1
- package/dist/components/layout-country-select/index.d.ts +4 -4
- package/dist/components/layout-country-select/index.js +89 -11
- package/dist/components/layout-country-select/index.js.map +1 -0
- package/dist/components/line-item-options/index.d.ts +3 -3
- package/dist/components/line-item-options/index.js +15 -2
- package/dist/components/line-item-options/index.js.map +1 -0
- package/dist/components/line-item-price/index.d.ts +3 -3
- package/dist/components/line-item-price/index.d.ts.map +1 -1
- package/dist/components/line-item-price/index.js +46 -2
- package/dist/components/line-item-price/index.js.map +1 -0
- package/dist/components/localized-client-link/index.d.ts +5 -12
- package/dist/components/localized-client-link/index.d.ts.map +1 -1
- package/dist/components/localized-client-link/index.js +19 -2
- package/dist/components/localized-client-link/index.js.map +1 -0
- package/dist/components/modal/index.d.ts +2 -2
- package/dist/components/modal/index.js +101 -3
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/nav/index.d.ts +2 -2
- package/dist/components/nav/index.js +6 -25
- package/dist/components/nav/index.js.map +1 -1
- package/dist/components/portable-text/index.d.ts +3 -3
- package/dist/components/portable-text/index.js +329 -2
- package/dist/components/portable-text/index.js.map +1 -0
- package/dist/components/preview-price/index.d.ts +1 -1
- package/dist/components/preview-price/index.js +19 -2
- package/dist/components/preview-price/index.js.map +1 -0
- package/dist/components/product-card/index.d.ts +2 -2
- package/dist/components/product-card/index.d.ts.map +1 -1
- package/dist/components/product-card/index.js +3 -4
- package/dist/components/product-card/index.js.map +1 -1
- package/dist/components/product-preview/index.d.ts +3 -3
- package/dist/components/product-preview/index.d.ts.map +1 -1
- package/dist/components/product-preview/index.js +4 -4
- package/dist/components/search-modal/index.d.ts +2 -2
- package/dist/components/search-modal/index.d.ts.map +1 -1
- package/dist/components/search-modal/index.js +135 -9
- package/dist/components/search-modal/index.js.map +1 -0
- package/dist/components/side-menu/index.d.ts +3 -3
- package/dist/components/side-menu/index.js +96 -13
- package/dist/components/side-menu/index.js.map +1 -0
- package/dist/components/thumbnail/index.js +43 -2
- package/dist/components/thumbnail/index.js.map +1 -0
- package/dist/lib/config/medusa.js +11 -2
- package/dist/lib/config/medusa.js.map +1 -0
- package/dist/lib/context/apollo-context.js +1 -2
- package/dist/lib/context/apollo-context.js.map +1 -1
- package/dist/lib/context/modal-context.d.ts +2 -2
- package/dist/lib/context/modal-context.js +19 -2
- package/dist/lib/context/modal-context.js.map +1 -0
- package/dist/lib/data/cart.d.ts +1 -1
- package/dist/lib/data/cart.d.ts.map +1 -1
- package/dist/lib/data/cart.js +102 -10
- package/dist/lib/data/cart.js.map +1 -0
- package/dist/lib/data/categories.d.ts +1 -1
- package/dist/lib/data/categories.js +15 -5
- package/dist/lib/data/categories.js.map +1 -0
- package/dist/lib/data/collections.d.ts +1 -1
- package/dist/lib/data/collections.js +21 -5
- package/dist/lib/data/collections.js.map +1 -0
- package/dist/lib/data/cookies.d.ts +2 -1
- package/dist/lib/data/cookies.d.ts.map +1 -1
- package/dist/lib/data/cookies.js +45 -2
- package/dist/lib/data/cookies.js.map +1 -0
- package/dist/lib/data/customer.d.ts +1 -1
- package/dist/lib/data/customer.d.ts.map +1 -1
- package/dist/lib/data/customer.js +39 -9
- package/dist/lib/data/customer.js.map +1 -0
- package/dist/lib/data/footer.js +15 -4
- package/dist/lib/data/footer.js.map +1 -0
- package/dist/lib/data/orders.d.ts +1 -1
- package/dist/lib/data/orders.js +4 -4
- package/dist/lib/data/regions.d.ts +1 -1
- package/dist/lib/data/regions.js +33 -4
- package/dist/lib/data/regions.js.map +1 -0
- package/dist/lib/data/search.d.ts +1 -1
- package/dist/lib/data/search.js +20 -5
- package/dist/lib/data/search.js.map +1 -0
- package/dist/lib/gql/apollo-client.js +66 -2
- package/dist/lib/gql/apollo-client.js.map +1 -0
- 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/cart.js +141 -3
- package/dist/{cart-BNoIGQmw.js.map → lib/gql/fragments/cart.js.map} +1 -1
- package/dist/lib/gql/fragments/customer.d.ts +3 -3
- package/dist/lib/gql/fragments/customer.js +41 -2
- package/dist/{customer-CgN4zI00.js.map → lib/gql/fragments/customer.js.map} +1 -1
- package/dist/lib/gql/fragments/product.d.ts +8 -8
- package/dist/lib/gql/fragments/product.js +89 -2
- package/dist/{product-COu5D1mS.js.map → lib/gql/fragments/product.js.map} +1 -1
- package/dist/lib/gql/mutations/cart.d.ts +4 -4
- package/dist/lib/gql/mutations/cart.d.ts.map +1 -1
- package/dist/lib/gql/mutations/cart.js +41 -4
- package/dist/{cart-IHaLnQC4.js.map → lib/gql/mutations/cart.js.map} +1 -1
- package/dist/lib/gql/mutations/customer.js +0 -1
- 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/cart.js +15 -4
- package/dist/{cart-DH8urwwT.js.map → lib/gql/queries/cart.js.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/collections.js +19 -3
- package/dist/{collections-DMv3UYgC.js.map → lib/gql/queries/collections.js.map} +1 -1
- package/dist/lib/gql/queries/customer.d.ts +2 -2
- package/dist/lib/gql/queries/customer.d.ts.map +1 -1
- package/dist/lib/gql/queries/customer.js +15 -3
- package/dist/{customer-DIJz6m7L.js.map → lib/gql/queries/customer.js.map} +1 -1
- package/dist/lib/gql/queries/footer.d.ts +2 -2
- package/dist/lib/gql/queries/footer.d.ts.map +1 -1
- package/dist/lib/gql/queries/footer.js +21 -2
- package/dist/lib/gql/queries/footer.js.map +1 -0
- package/dist/lib/gql/queries/product.d.ts +3 -3
- package/dist/lib/gql/queries/product.d.ts.map +1 -1
- package/dist/lib/gql/queries/product.js +46 -3
- package/dist/{product-C3HQUIgX.js.map → lib/gql/queries/product.js.map} +1 -1
- package/dist/lib/hooks/use-apollo.d.ts +2 -2
- package/dist/lib/hooks/use-apollo.js +10 -3
- package/dist/lib/hooks/use-apollo.js.map +1 -0
- package/dist/lib/hooks/use-search.d.ts +1 -1
- package/dist/lib/hooks/use-search.js +66 -6
- package/dist/lib/hooks/use-search.js.map +1 -0
- package/dist/lib/hooks/use-toggle-state.d.ts +23 -2
- package/dist/lib/hooks/use-toggle-state.d.ts.map +1 -0
- package/dist/lib/utils/data-types.js +9 -2
- package/dist/lib/utils/data-types.js.map +1 -0
- package/dist/lib/utils/env.js +1 -1
- package/dist/lib/utils/env.js.map +1 -1
- package/dist/lib/utils/get-percentage-diff.js +7 -2
- package/dist/lib/utils/get-percentage-diff.js.map +1 -0
- package/dist/lib/utils/get-product-price.d.ts +1 -1
- package/dist/lib/utils/get-product-price.js +46 -2
- package/dist/lib/utils/get-product-price.js.map +1 -0
- package/dist/lib/utils/medusa-error.js +16 -2
- package/dist/lib/utils/medusa-error.js.map +1 -0
- package/dist/lib/utils/money.js +14 -2
- package/dist/lib/utils/money.js.map +1 -0
- package/dist/lib/utils/normalize-functions.d.ts +1 -1
- package/dist/lib/utils/normalize-functions.js +69 -2
- package/dist/lib/utils/normalize-functions.js.map +1 -0
- package/dist/types/graphql.d.ts +1368 -2
- package/dist/types/graphql.d.ts.map +1 -0
- package/dist/types/prices.d.ts +20 -2
- package/dist/types/prices.d.ts.map +1 -0
- package/dist/types/prices.js +0 -1
- package/package.json +12 -12
- package/dist/apollo-client-Bw50r80c.js +0 -66
- package/dist/apollo-client-Bw50r80c.js.map +0 -1
- package/dist/cart-BNoIGQmw.js +0 -142
- package/dist/cart-DH8urwwT.js +0 -16
- package/dist/cart-IHaLnQC4.js +0 -42
- package/dist/cart-button-Dj_zRxop.js +0 -12
- package/dist/cart-button-Dj_zRxop.js.map +0 -1
- package/dist/cart-dropdown-D_PUJarp.js +0 -195
- package/dist/cart-dropdown-D_PUJarp.js.map +0 -1
- package/dist/cart-xkcyWLfU.js +0 -103
- package/dist/cart-xkcyWLfU.js.map +0 -1
- package/dist/categories-B-RYCIZ3.js +0 -16
- package/dist/categories-B-RYCIZ3.js.map +0 -1
- package/dist/collections-BgyvhW2p.js +0 -22
- package/dist/collections-BgyvhW2p.js.map +0 -1
- package/dist/collections-DMv3UYgC.js +0 -20
- package/dist/cookies-lksVIe4_.js +0 -38
- package/dist/cookies-lksVIe4_.js.map +0 -1
- package/dist/customer-CgN4zI00.js +0 -42
- package/dist/customer-ClewjBBr.js +0 -38
- package/dist/customer-ClewjBBr.js.map +0 -1
- package/dist/customer-DIJz6m7L.js +0 -16
- package/dist/data-types-CTPJXmJH.js +0 -10
- package/dist/data-types-CTPJXmJH.js.map +0 -1
- package/dist/delete-button-Bnm5bof2.js +0 -28
- package/dist/delete-button-Bnm5bof2.js.map +0 -1
- package/dist/footer-BvNV-R9D.js +0 -16
- package/dist/footer-BvNV-R9D.js.map +0 -1
- package/dist/footer-DCtgtjKS.js +0 -76
- package/dist/footer-DCtgtjKS.js.map +0 -1
- package/dist/get-percentage-diff-B_UVOFgE.js +0 -8
- package/dist/get-percentage-diff-B_UVOFgE.js.map +0 -1
- package/dist/get-product-price-DKWc76ev.js +0 -47
- package/dist/get-product-price-DKWc76ev.js.map +0 -1
- package/dist/graphql-CdTGi4Pp.d.ts +0 -1368
- package/dist/graphql-CdTGi4Pp.d.ts.map +0 -1
- package/dist/layout-country-select-C7Ra-opl.js +0 -90
- package/dist/layout-country-select-C7Ra-opl.js.map +0 -1
- package/dist/line-item-options-l_eRZIIq.js +0 -16
- package/dist/line-item-options-l_eRZIIq.js.map +0 -1
- package/dist/line-item-price-BlTwskFC.js +0 -47
- package/dist/line-item-price-BlTwskFC.js.map +0 -1
- package/dist/localized-client-link-CthmRcvb.js +0 -22
- package/dist/localized-client-link-CthmRcvb.js.map +0 -1
- package/dist/medusa-TumrpCF2.js +0 -12
- package/dist/medusa-TumrpCF2.js.map +0 -1
- package/dist/medusa-error-DDhA6RGC.js +0 -17
- package/dist/medusa-error-DDhA6RGC.js.map +0 -1
- package/dist/modal-BASYY-YM.js +0 -102
- package/dist/modal-BASYY-YM.js.map +0 -1
- package/dist/modal-context-02cA-7jy.js +0 -20
- package/dist/modal-context-02cA-7jy.js.map +0 -1
- package/dist/money-DVQGzXns.js +0 -15
- package/dist/money-DVQGzXns.js.map +0 -1
- package/dist/normalize-functions-Bqr-JkYn.js +0 -70
- package/dist/normalize-functions-Bqr-JkYn.js.map +0 -1
- package/dist/portable-text-CuI022GH.js +0 -330
- package/dist/portable-text-CuI022GH.js.map +0 -1
- package/dist/preview-price-_4sxkXQs.js +0 -20
- package/dist/preview-price-_4sxkXQs.js.map +0 -1
- package/dist/prices-eO1YBciD.d.ts +0 -20
- package/dist/prices-eO1YBciD.d.ts.map +0 -1
- package/dist/product-C3HQUIgX.js +0 -47
- package/dist/product-COu5D1mS.js +0 -90
- package/dist/regions-r1AvxfT8.js +0 -34
- package/dist/regions-r1AvxfT8.js.map +0 -1
- package/dist/search-D7Gw7jAk.js +0 -21
- package/dist/search-D7Gw7jAk.js.map +0 -1
- package/dist/search-modal-DaXadYWM.js +0 -137
- package/dist/search-modal-DaXadYWM.js.map +0 -1
- package/dist/side-menu-B6IjTd5M.js +0 -97
- package/dist/side-menu-B6IjTd5M.js.map +0 -1
- package/dist/thumbnail-C0TU3rh-.js +0 -44
- package/dist/thumbnail-C0TU3rh-.js.map +0 -1
- package/dist/use-apollo-BxAFd1Y5.js +0 -11
- package/dist/use-apollo-BxAFd1Y5.js.map +0 -1
- package/dist/use-search-VX-u8o1D.js +0 -67
- package/dist/use-search-VX-u8o1D.js.map +0 -1
- package/dist/use-toggle-state-DI4Gwlfj.d.ts +0 -23
- package/dist/use-toggle-state-DI4Gwlfj.d.ts.map +0 -1
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/lib/hooks/use-toggle-state.d.ts
|
|
2
|
+
type StateType = [boolean, () => void, () => void, () => void] & {
|
|
3
|
+
state: boolean;
|
|
4
|
+
open: () => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
toggle: () => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param initialState - boolean
|
|
11
|
+
* @returns An array like object with `state`, `open`, `close`, and `toggle` properties
|
|
12
|
+
* to allow both object and array destructuring
|
|
13
|
+
*
|
|
14
|
+
* ```
|
|
15
|
+
* const [showModal, openModal, closeModal, toggleModal] = useToggleState()
|
|
16
|
+
* // or
|
|
17
|
+
* const { state, open, close, toggle } = useToggleState()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
declare const useToggleState: (initialState?: boolean) => StateType;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { StateType, useToggleState as default };
|
|
23
|
+
//# sourceMappingURL=use-toggle-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toggle-state.d.ts","names":[],"sources":["../../../src/lib/hooks/use-toggle-state.tsx"],"sourcesContent":[],"mappings":";KAEY,SAAA;EAAA,KAAA,EAAA,OAAS;EAoBf,IAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;;;;;;;;cAAA,4CAAsC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
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
|
+
};
|
|
2
7
|
|
|
3
|
-
|
|
8
|
+
//#endregion
|
|
9
|
+
export { isArray, isEmpty, isObject };
|
|
10
|
+
//# sourceMappingURL=data-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types.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"}
|
package/dist/lib/utils/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","names":[],"sources":["../../../src/lib/utils/env.ts"],"sourcesContent":["export const getBaseURL = () => {\n return process.env.NEXT_PUBLIC_BASE_URL
|
|
1
|
+
{"version":3,"file":"env.js","names":[],"sources":["../../../src/lib/utils/env.ts"],"sourcesContent":["export const getBaseURL = () => {\n return (\n process.env.RENDER_EXTERNAL_URL ||\n process.env.NEXT_PUBLIC_BASE_URL ||\n 'https://localhost:8000'\n );\n};\n"],"mappings":";AAAA,MAAa,mBAAmB;AAC9B,QACE,QAAQ,IAAI,uBACZ,QAAQ,IAAI,wBACZ"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/lib/utils/get-percentage-diff.ts
|
|
2
|
+
const getPercentageDiff = (original, calculated) => {
|
|
3
|
+
return ((original - calculated) / original * 100).toFixed();
|
|
4
|
+
};
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
//#endregion
|
|
7
|
+
export { getPercentageDiff };
|
|
8
|
+
//# sourceMappingURL=get-percentage-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-percentage-diff.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"}
|
|
@@ -1,3 +1,47 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { convertToLocale } from "./money.js";
|
|
2
|
+
import { getPercentageDiff } from "./get-percentage-diff.js";
|
|
2
3
|
|
|
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 { getPricesForVariant, getProductPrice };
|
|
47
|
+
//# sourceMappingURL=get-product-price.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-product-price.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"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/lib/utils/medusa-error.ts
|
|
2
|
+
function medusaError(error) {
|
|
3
|
+
if (error.response) {
|
|
4
|
+
const u = new URL(error.config.url, error.config.baseURL);
|
|
5
|
+
console.error("Resource:", u.toString());
|
|
6
|
+
console.error("Response data:", error.response.data);
|
|
7
|
+
console.error("Status code:", error.response.status);
|
|
8
|
+
console.error("Headers:", error.response.headers);
|
|
9
|
+
const message = error.response.data.message || error.response.data;
|
|
10
|
+
throw new Error(message.charAt(0).toUpperCase() + message.slice(1) + ".");
|
|
11
|
+
} else if (error.request) throw new Error("No response received: " + error.request);
|
|
12
|
+
else throw new Error("Error setting up the request: " + error.message);
|
|
13
|
+
}
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
//#endregion
|
|
16
|
+
export { medusaError };
|
|
17
|
+
//# sourceMappingURL=medusa-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"medusa-error.js","names":[],"sources":["../../../src/lib/utils/medusa-error.ts"],"sourcesContent":["export function medusaError(error: any): never {\n if (error.response) {\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n const u = new URL(error.config.url, error.config.baseURL);\n console.error('Resource:', u.toString());\n console.error('Response data:', error.response.data);\n console.error('Status code:', error.response.status);\n console.error('Headers:', error.response.headers);\n\n // Extracting the error message from the response data\n const message = error.response.data.message || error.response.data;\n\n throw new Error(message.charAt(0).toUpperCase() + message.slice(1) + '.');\n } else if (error.request) {\n // The request was made but no response was received\n throw new Error('No response received: ' + error.request);\n } else {\n // Something happened in setting up the request that triggered an Error\n throw new Error('Error setting up the request: ' + error.message);\n }\n}\n"],"mappings":";AAAA,SAAgB,YAAY,OAAmB;AAC7C,KAAI,MAAM,UAAU;EAGlB,MAAM,IAAI,IAAI,IAAI,MAAM,OAAO,KAAK,MAAM,OAAO,QAAQ;AACzD,UAAQ,MAAM,aAAa,EAAE,UAAU,CAAC;AACxC,UAAQ,MAAM,kBAAkB,MAAM,SAAS,KAAK;AACpD,UAAQ,MAAM,gBAAgB,MAAM,SAAS,OAAO;AACpD,UAAQ,MAAM,YAAY,MAAM,SAAS,QAAQ;EAGjD,MAAM,UAAU,MAAM,SAAS,KAAK,WAAW,MAAM,SAAS;AAE9D,QAAM,IAAI,MAAM,QAAQ,OAAO,EAAE,CAAC,aAAa,GAAG,QAAQ,MAAM,EAAE,GAAG,IAAI;YAChE,MAAM,QAEf,OAAM,IAAI,MAAM,2BAA2B,MAAM,QAAQ;KAGzD,OAAM,IAAI,MAAM,mCAAmC,MAAM,QAAQ"}
|
package/dist/lib/utils/money.js
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isEmpty } from "./data-types.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
//#region src/lib/utils/money.ts
|
|
4
|
+
const convertToLocale = ({ amount = 0, currency_code, minimumFractionDigits, maximumFractionDigits, locale = "en-US" }) => {
|
|
5
|
+
return currency_code && !isEmpty(currency_code) ? new Intl.NumberFormat(locale, {
|
|
6
|
+
style: "currency",
|
|
7
|
+
currency: currency_code,
|
|
8
|
+
minimumFractionDigits,
|
|
9
|
+
maximumFractionDigits
|
|
10
|
+
}).format(amount) : amount.toString();
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { convertToLocale };
|
|
15
|
+
//# sourceMappingURL=money.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"money.js","names":[],"sources":["../../../src/lib/utils/money.ts"],"sourcesContent":["import { isEmpty } from './data-types';\n\ntype ConvertToLocaleParams = {\n amount?: number;\n currency_code: string;\n minimumFractionDigits?: number;\n maximumFractionDigits?: number;\n locale?: string;\n};\n\nexport const convertToLocale = ({\n amount = 0,\n currency_code,\n minimumFractionDigits,\n maximumFractionDigits,\n locale = 'en-US',\n}: ConvertToLocaleParams) => {\n return currency_code && !isEmpty(currency_code)\n ? new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currency_code,\n minimumFractionDigits,\n maximumFractionDigits,\n }).format(amount)\n : amount.toString();\n};\n"],"mappings":";;;AAUA,MAAa,mBAAmB,EAC9B,SAAS,GACT,eACA,uBACA,uBACA,SAAS,cACkB;AAC3B,QAAO,iBAAiB,CAAC,QAAQ,cAAc,GAC3C,IAAI,KAAK,aAAa,QAAQ;EAC5B,OAAO;EACP,UAAU;EACV;EACA;EACD,CAAC,CAAC,OAAO,OAAO,GACjB,OAAO,UAAU"}
|
|
@@ -1,3 +1,70 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/lib/utils/normalize-functions.ts
|
|
2
|
+
const toISO = (d) => d instanceof Date ? d.toISOString() : d ?? "";
|
|
3
|
+
function normalizeLineItems(items = [], cartId) {
|
|
4
|
+
return items.map((item) => ({
|
|
5
|
+
id: item.id,
|
|
6
|
+
title: item.title ?? "",
|
|
7
|
+
quantity: item.quantity ?? 0,
|
|
8
|
+
requiresShipping: item.requires_shipping ?? false,
|
|
9
|
+
unitPrice: item.unit_price ?? 0,
|
|
10
|
+
total: item.total ?? 0,
|
|
11
|
+
originalTotal: item.original_total ?? 0,
|
|
12
|
+
cartId: item.cart_id ?? cartId ?? "",
|
|
13
|
+
thumbnail: item.thumbnail ?? "",
|
|
14
|
+
productHandle: item.variant?.product?.handle ?? "",
|
|
15
|
+
productTitle: item.variant?.product?.title ?? "",
|
|
16
|
+
createdAt: item.created_at ?? null,
|
|
17
|
+
variant: item.variant ?? null
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
const normalizeRegion = (region) => ({
|
|
21
|
+
id: region.id,
|
|
22
|
+
name: region.name,
|
|
23
|
+
currencyCode: region.currency_code,
|
|
24
|
+
countries: region.countries?.map((c) => ({
|
|
25
|
+
iso2: c.iso_2,
|
|
26
|
+
name: c.name
|
|
27
|
+
})) ?? [],
|
|
28
|
+
createdAt: region.created_at
|
|
29
|
+
});
|
|
30
|
+
function normalizeOrder(order) {
|
|
31
|
+
return {
|
|
32
|
+
id: order.id,
|
|
33
|
+
displayId: order.display_id,
|
|
34
|
+
email: order.email ?? "",
|
|
35
|
+
customerId: order.customer_id ?? "",
|
|
36
|
+
regionId: order.region_id ?? "",
|
|
37
|
+
paymentStatus: order.payment_status ?? "",
|
|
38
|
+
fulfillmentStatus: order.fulfillment_status ?? "",
|
|
39
|
+
total: order.total ?? 0,
|
|
40
|
+
subtotal: order.subtotal ?? 0,
|
|
41
|
+
discountTotal: order.discount_total ?? 0,
|
|
42
|
+
giftCardTotal: order.gift_card_total ?? 0,
|
|
43
|
+
taxTotal: order.tax_total ?? 0,
|
|
44
|
+
shippingTotal: order.shipping_total ?? 0,
|
|
45
|
+
currencyCode: order.currency_code ?? "usd",
|
|
46
|
+
status: order.status ?? "",
|
|
47
|
+
createdAt: toISO(order.created_at),
|
|
48
|
+
items: normalizeLineItems(order?.items ?? []),
|
|
49
|
+
shippingMethods: (order.shipping_methods ?? []).map((sm) => ({
|
|
50
|
+
id: sm.id ?? "",
|
|
51
|
+
name: sm.name ?? "",
|
|
52
|
+
amount: sm.amount ?? 0,
|
|
53
|
+
createdAt: toISO(sm.created_at),
|
|
54
|
+
shippingOptionId: sm.shipping_option_id
|
|
55
|
+
})),
|
|
56
|
+
shippingAddress: order.shipping_address ? {
|
|
57
|
+
firstName: order.shipping_address.first_name,
|
|
58
|
+
lastName: order.shipping_address.last_name,
|
|
59
|
+
address1: order.shipping_address.address_1,
|
|
60
|
+
address2: order.shipping_address.address_2,
|
|
61
|
+
city: order.shipping_address.city,
|
|
62
|
+
postalCode: order.shipping_address.postal_code,
|
|
63
|
+
phone: order.shipping_address.phone
|
|
64
|
+
} : null
|
|
65
|
+
};
|
|
66
|
+
}
|
|
2
67
|
|
|
3
|
-
|
|
68
|
+
//#endregion
|
|
69
|
+
export { normalizeOrder, normalizeRegion };
|
|
70
|
+
//# sourceMappingURL=normalize-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-functions.js","names":[],"sources":["../../../src/lib/utils/normalize-functions.ts"],"sourcesContent":["// TODO: To be removed once Order and Region resolvers are implemented, the normalizers will then be used within the resolvers themselves\nimport { HttpTypes } from '@medusajs/types';\n\nimport { Order, Region } from '@/types/graphql';\n\nconst toISO = (d: string | Date | undefined) =>\n d instanceof Date ? d.toISOString() : (d ?? '');\n\nfunction normalizeLineItems(items: any[] = [], cartId?: string) {\n return items.map((item) => ({\n id: item.id,\n title: item.title ?? '',\n quantity: item.quantity ?? 0,\n requiresShipping: item.requires_shipping ?? false,\n unitPrice: item.unit_price ?? 0,\n total: item.total ?? 0,\n originalTotal: item.original_total ?? 0,\n cartId: item.cart_id ?? cartId ?? '',\n thumbnail: item.thumbnail ?? '',\n productHandle: item.variant?.product?.handle ?? '',\n productTitle: item.variant?.product?.title ?? '',\n createdAt: item.created_at ?? null,\n variant: item.variant ?? null,\n }));\n}\n\nexport const normalizeRegion = (region: HttpTypes.StoreRegion): Region => ({\n id: region.id,\n name: region.name,\n currencyCode: region.currency_code,\n countries:\n region.countries?.map((c) => ({\n iso2: c.iso_2,\n name: c.name,\n })) ?? [],\n createdAt: region.created_at,\n});\n\nexport function normalizeOrder(order: HttpTypes.StoreOrder): Order {\n return {\n id: order.id,\n displayId: order.display_id,\n email: order.email ?? '',\n customerId: order.customer_id ?? '',\n regionId: order.region_id ?? '',\n paymentStatus: order.payment_status ?? '',\n fulfillmentStatus: order.fulfillment_status ?? '',\n total: order.total ?? 0,\n subtotal: order.subtotal ?? 0,\n discountTotal: order.discount_total ?? 0,\n giftCardTotal: order.gift_card_total ?? 0,\n taxTotal: order.tax_total ?? 0,\n shippingTotal: order.shipping_total ?? 0,\n currencyCode: order.currency_code ?? 'usd',\n status: order.status ?? '',\n createdAt: toISO(order.created_at),\n items: normalizeLineItems(order?.items ?? []),\n shippingMethods: (order.shipping_methods ?? []).map((sm) => ({\n id: sm.id ?? '',\n name: sm.name ?? '',\n amount: sm.amount ?? 0,\n createdAt: toISO(sm.created_at),\n shippingOptionId: sm.shipping_option_id,\n })),\n shippingAddress: order.shipping_address\n ? {\n firstName: order.shipping_address.first_name,\n lastName: order.shipping_address.last_name,\n address1: order.shipping_address.address_1,\n address2: order.shipping_address.address_2,\n city: order.shipping_address.city,\n postalCode: order.shipping_address.postal_code,\n phone: order.shipping_address.phone,\n }\n : null,\n };\n}\n"],"mappings":";AAKA,MAAM,SAAS,MACb,aAAa,OAAO,EAAE,aAAa,GAAI,KAAK;AAE9C,SAAS,mBAAmB,QAAe,EAAE,EAAE,QAAiB;AAC9D,QAAO,MAAM,KAAK,UAAU;EAC1B,IAAI,KAAK;EACT,OAAO,KAAK,SAAS;EACrB,UAAU,KAAK,YAAY;EAC3B,kBAAkB,KAAK,qBAAqB;EAC5C,WAAW,KAAK,cAAc;EAC9B,OAAO,KAAK,SAAS;EACrB,eAAe,KAAK,kBAAkB;EACtC,QAAQ,KAAK,WAAW,UAAU;EAClC,WAAW,KAAK,aAAa;EAC7B,eAAe,KAAK,SAAS,SAAS,UAAU;EAChD,cAAc,KAAK,SAAS,SAAS,SAAS;EAC9C,WAAW,KAAK,cAAc;EAC9B,SAAS,KAAK,WAAW;EAC1B,EAAE;;AAGL,MAAa,mBAAmB,YAA2C;CACzE,IAAI,OAAO;CACX,MAAM,OAAO;CACb,cAAc,OAAO;CACrB,WACE,OAAO,WAAW,KAAK,OAAO;EAC5B,MAAM,EAAE;EACR,MAAM,EAAE;EACT,EAAE,IAAI,EAAE;CACX,WAAW,OAAO;CACnB;AAED,SAAgB,eAAe,OAAoC;AACjE,QAAO;EACL,IAAI,MAAM;EACV,WAAW,MAAM;EACjB,OAAO,MAAM,SAAS;EACtB,YAAY,MAAM,eAAe;EACjC,UAAU,MAAM,aAAa;EAC7B,eAAe,MAAM,kBAAkB;EACvC,mBAAmB,MAAM,sBAAsB;EAC/C,OAAO,MAAM,SAAS;EACtB,UAAU,MAAM,YAAY;EAC5B,eAAe,MAAM,kBAAkB;EACvC,eAAe,MAAM,mBAAmB;EACxC,UAAU,MAAM,aAAa;EAC7B,eAAe,MAAM,kBAAkB;EACvC,cAAc,MAAM,iBAAiB;EACrC,QAAQ,MAAM,UAAU;EACxB,WAAW,MAAM,MAAM,WAAW;EAClC,OAAO,mBAAmB,OAAO,SAAS,EAAE,CAAC;EAC7C,kBAAkB,MAAM,oBAAoB,EAAE,EAAE,KAAK,QAAQ;GAC3D,IAAI,GAAG,MAAM;GACb,MAAM,GAAG,QAAQ;GACjB,QAAQ,GAAG,UAAU;GACrB,WAAW,MAAM,GAAG,WAAW;GAC/B,kBAAkB,GAAG;GACtB,EAAE;EACH,iBAAiB,MAAM,mBACnB;GACE,WAAW,MAAM,iBAAiB;GAClC,UAAU,MAAM,iBAAiB;GACjC,UAAU,MAAM,iBAAiB;GACjC,UAAU,MAAM,iBAAiB;GACjC,MAAM,MAAM,iBAAiB;GAC7B,YAAY,MAAM,iBAAiB;GACnC,OAAO,MAAM,iBAAiB;GAC/B,GACD;EACL"}
|