@gfed-medusa/sf-lib-products 1.10.0 → 1.11.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/behavior-tracker/index.d.ts.map +1 -1
- package/dist/components/behavior-tracker/index.js +2 -65
- package/dist/components/behavior-tracker/index.js.map +1 -1
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/product-actions/index.d.ts +2 -2
- package/dist/components/product-onboarding-cta/index.d.ts +2 -2
- package/dist/components/product-onboarding-cta/index.d.ts.map +1 -1
- package/dist/components/product-price/index.d.ts +2 -2
- package/dist/components/product-price/index.d.ts.map +1 -1
- package/dist/components/product-tabs/index.d.ts +2 -2
- package/dist/components/product-tabs/index.js +0 -1
- package/dist/components/product-tabs/index.js.map +1 -1
- package/dist/components/refinement-list/index.d.ts +2 -2
- package/dist/components/refinement-list/index.d.ts.map +1 -1
- package/dist/components/refinement-list/sort-products/index.d.ts +2 -2
- package/dist/components/related-products/index.d.ts +2 -2
- package/dist/components/related-products/index.d.ts.map +1 -1
- package/dist/components/skeleton-product-grid/index.d.ts +2 -2
- package/dist/components/skeleton-product-preview/index.d.ts +2 -2
- package/dist/components/skeleton-product-preview/index.d.ts.map +1 -1
- package/dist/components/skeleton-related-products/index.d.ts +2 -2
- 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/product.d.ts +16 -16
- package/dist/lib/gql/fragments/product.d.ts.map +1 -1
- package/dist/lib/gql/mutations/cart.d.ts +10 -10
- 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/product.d.ts +13 -13
- package/dist/lib/gql/queries/product.d.ts.map +1 -1
- package/dist/templates/paginated-products/client.d.ts +2 -2
- package/dist/templates/paginated-products/client.d.ts.map +1 -1
- package/dist/templates/paginated-products/index.d.ts +2 -2
- package/dist/templates/paginated-products/index.d.ts.map +1 -1
- package/dist/templates/product-actions-wrapper/index.d.ts +2 -2
- package/dist/templates/product-actions-wrapper/index.d.ts.map +1 -1
- package/dist/templates/product-info/index.d.ts +2 -2
- package/dist/templates/store-template/index.d.ts +2 -2
- package/dist/types/graphql.d.ts +46 -3
- package/dist/types/graphql.d.ts.map +1 -1
- package/dist/types/graphql.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/behavior-tracker/index.tsx"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/behavior-tracker/index.tsx"],"sourcesContent":[],"mappings":";;;UAiDiB,oBAAA;WACN;AADX;AAIgB,iBAAA,eAAA,CAAkB;EAAA;AAA+B,CAApB,EAAA,oBAAoB,CAAA,EAAA,IAAA"}
|
|
@@ -3,15 +3,9 @@
|
|
|
3
3
|
import { useEffect, useRef } from "react";
|
|
4
4
|
import { sendClientSignal } from "@gfed-medusa/sf-lib-common/lib/personalization/client-signal";
|
|
5
5
|
import { SignalType } from "@gfed-medusa/sf-lib-common/types/graphql";
|
|
6
|
-
import { PERSONALIZATION_CONFIG, getSegmentIdFromCollection } from "@gfed-medusa/sf-lib-common/lib/personalization/config";
|
|
7
|
-
import { getSegmentCookie, setSegmentCookie } from "@gfed-medusa/sf-lib-common/lib/personalization/behavior-tracker";
|
|
8
|
-
import { useStorefrontContext } from "@gfed-medusa/sf-lib-common/lib/data/context";
|
|
9
6
|
import { useTimeOnPage } from "@gfed-medusa/sf-lib-common/lib/hooks/use-time-on-page";
|
|
10
7
|
|
|
11
8
|
//#region src/components/behavior-tracker/index.tsx
|
|
12
|
-
const PDP_HESITATION_MS = PERSONALIZATION_CONFIG.pdpHesitationMs;
|
|
13
|
-
const HIGH_SCROLL_THRESHOLD = PERSONALIZATION_CONFIG.highScrollThreshold;
|
|
14
|
-
const PRICE_THRESHOLD = PERSONALIZATION_CONFIG.priceThreshold;
|
|
15
9
|
function getScrollPercentage() {
|
|
16
10
|
const scrollTop = window.scrollY;
|
|
17
11
|
const docHeight = document.documentElement.scrollHeight - window.innerHeight;
|
|
@@ -39,67 +33,22 @@ function throttle(fn, limit) {
|
|
|
39
33
|
}
|
|
40
34
|
});
|
|
41
35
|
}
|
|
42
|
-
function emitSignal(type, payload) {
|
|
43
|
-
const data = getSegmentCookie();
|
|
44
|
-
if (!data.signals || typeof data.signals !== "object") data.signals = {};
|
|
45
|
-
data.signals[type] = payload ?? true;
|
|
46
|
-
setSegmentCookie(data);
|
|
47
|
-
}
|
|
48
|
-
const REPEAT_CATEGORY_THRESHOLD = 3;
|
|
49
|
-
function trackRepeatedCategoryView(segment) {
|
|
50
|
-
try {
|
|
51
|
-
const data = getSegmentCookie();
|
|
52
|
-
if (!data.signals || typeof data.signals !== "object") data.signals = {};
|
|
53
|
-
const categoryCounts = data.signals["repeated-category-view"] ?? {};
|
|
54
|
-
const newCount = (categoryCounts[segment] ?? 0) + 1;
|
|
55
|
-
categoryCounts[segment] = newCount;
|
|
56
|
-
data.signals["repeated-category-view"] = categoryCounts;
|
|
57
|
-
if (newCount >= REPEAT_CATEGORY_THRESHOLD) emitSignal("repeated-category-view", {
|
|
58
|
-
segment,
|
|
59
|
-
count: newCount
|
|
60
|
-
});
|
|
61
|
-
setSegmentCookie(data);
|
|
62
|
-
} catch {}
|
|
63
|
-
}
|
|
64
|
-
function addHistoryToCookie(segment) {
|
|
65
|
-
try {
|
|
66
|
-
const data = getSegmentCookie();
|
|
67
|
-
if (!data.history || !Array.isArray(data.history)) data.history = [];
|
|
68
|
-
data.history = [...data.history, segment].slice(-PERSONALIZATION_CONFIG.historyMaxLength);
|
|
69
|
-
setSegmentCookie(data);
|
|
70
|
-
} catch {}
|
|
71
|
-
}
|
|
72
36
|
function BehaviorTracker({ product }) {
|
|
73
|
-
const { cartId } = useStorefrontContext();
|
|
74
|
-
const hesitationTimeoutRef = useRef(null);
|
|
75
37
|
const scrollHandlerRef = useRef(null);
|
|
76
|
-
const scrollTrackedRef = useRef(false);
|
|
77
|
-
useRef(false);
|
|
78
38
|
const firedDepthRef = useRef(/* @__PURE__ */ new Set());
|
|
79
39
|
const exitIntentFiredRef = useRef(false);
|
|
80
40
|
useTimeOnPage("pdp", Boolean(product?.id));
|
|
81
41
|
useEffect(() => {
|
|
82
42
|
if (!product?.id) return;
|
|
83
43
|
const collectionHandle = product.collection?.handle;
|
|
84
|
-
const segment = getSegmentIdFromCollection(collectionHandle);
|
|
85
|
-
if (segment) {
|
|
86
|
-
addHistoryToCookie(segment);
|
|
87
|
-
trackRepeatedCategoryView(segment);
|
|
88
|
-
}
|
|
89
44
|
const productPrice = getCheapestVariantPrice(product);
|
|
90
45
|
sendClientSignal(SignalType.ProductView, {
|
|
91
46
|
productId: product.id,
|
|
47
|
+
productName: product.title,
|
|
92
48
|
productHandle: product.handle,
|
|
93
49
|
category: collectionHandle,
|
|
94
50
|
price: productPrice
|
|
95
51
|
});
|
|
96
|
-
const hasCart = Boolean(cartId);
|
|
97
|
-
if (productPrice && productPrice >= PRICE_THRESHOLD && !hasCart) hesitationTimeoutRef.current = setTimeout(() => {
|
|
98
|
-
emitSignal("pdp-hesitation", {
|
|
99
|
-
productId: product.id,
|
|
100
|
-
price: productPrice
|
|
101
|
-
});
|
|
102
|
-
}, PDP_HESITATION_MS);
|
|
103
52
|
const handleScroll = throttle(() => {
|
|
104
53
|
const scrollPct = Math.round(getScrollPercentage() * 100);
|
|
105
54
|
for (const threshold of [
|
|
@@ -114,28 +63,16 @@ function BehaviorTracker({ product }) {
|
|
|
114
63
|
page: window.location.pathname
|
|
115
64
|
});
|
|
116
65
|
}
|
|
117
|
-
if (getScrollPercentage() >= HIGH_SCROLL_THRESHOLD && !hasCart && !scrollTrackedRef.current) {
|
|
118
|
-
scrollTrackedRef.current = true;
|
|
119
|
-
emitSignal("high-scroll-no-action", {
|
|
120
|
-
productId: product.id,
|
|
121
|
-
scrollDepth: HIGH_SCROLL_THRESHOLD
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
66
|
}, 500);
|
|
125
67
|
scrollHandlerRef.current = handleScroll;
|
|
126
68
|
window.addEventListener("scroll", handleScroll, { passive: true });
|
|
127
69
|
return () => {
|
|
128
|
-
if (hesitationTimeoutRef.current !== null) {
|
|
129
|
-
clearTimeout(hesitationTimeoutRef.current);
|
|
130
|
-
hesitationTimeoutRef.current = null;
|
|
131
|
-
}
|
|
132
70
|
if (scrollHandlerRef.current !== null) {
|
|
133
71
|
window.removeEventListener("scroll", scrollHandlerRef.current);
|
|
134
72
|
scrollHandlerRef.current = null;
|
|
135
73
|
}
|
|
136
|
-
scrollTrackedRef.current = false;
|
|
137
74
|
};
|
|
138
|
-
}, [product
|
|
75
|
+
}, [product]);
|
|
139
76
|
useEffect(() => {
|
|
140
77
|
const handleMouseLeave = (e) => {
|
|
141
78
|
if (e.clientY <= 0 && !exitIntentFiredRef.current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["cheapest: number | null"],"sources":["../../../src/components/behavior-tracker/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\n\nimport { sendClientSignal } from '@gfed-medusa/sf-lib-common/lib/personalization/client-signal';\nimport { SignalType } from '@gfed-medusa/sf-lib-common/types/graphql';\n\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","names":["cheapest: number | null"],"sources":["../../../src/components/behavior-tracker/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\n\nimport { sendClientSignal } from '@gfed-medusa/sf-lib-common/lib/personalization/client-signal';\nimport { SignalType } from '@gfed-medusa/sf-lib-common/types/graphql';\n\nimport { useTimeOnPage } from '@gfed-medusa/sf-lib-common/lib/hooks/use-time-on-page';\nimport { Product } from '@/types/graphql';\n\nfunction getScrollPercentage(): number {\n const scrollTop = window.scrollY;\n const docHeight =\n document.documentElement.scrollHeight - window.innerHeight;\n return docHeight > 0 ? scrollTop / docHeight : 0;\n}\n\nfunction getCheapestVariantPrice(product: Product): number | null {\n const variants = product.variants;\n if (!variants || variants.length === 0) return null;\n\n let cheapest: number | null = null;\n\n for (const variant of variants) {\n const priceObj = variant.price;\n if (priceObj && typeof priceObj.amount === 'number') {\n if (cheapest === null || priceObj.amount < cheapest) {\n cheapest = priceObj.amount;\n }\n }\n }\n\n return cheapest;\n}\n\nfunction throttle<T extends (...args: unknown[]) => void>(\n fn: T,\n limit: number\n): T {\n let lastCall = 0;\n return ((...args: unknown[]) => {\n const now = Date.now();\n if (now - lastCall >= limit) {\n lastCall = now;\n fn(...args);\n }\n }) as T;\n}\n\nexport interface BehaviorTrackerProps {\n product: Product;\n}\n\nexport function BehaviorTracker({ product }: BehaviorTrackerProps) {\n const scrollHandlerRef = useRef<(() => void) | null>(null);\n const firedDepthRef = useRef<Set<number>>(new Set());\n const exitIntentFiredRef = useRef(false);\n\n useTimeOnPage('pdp', Boolean(product?.id));\n\n useEffect(() => {\n if (!product?.id) return;\n\n const collectionHandle = product.collection?.handle;\n const productPrice = getCheapestVariantPrice(product);\n void sendClientSignal(SignalType.ProductView, {\n productId: product.id,\n productName: product.title,\n productHandle: product.handle,\n category: collectionHandle,\n price: productPrice,\n });\n\n const handleScroll = throttle(() => {\n const scrollPct = Math.round(getScrollPercentage() * 100);\n const depthThresholds = [25, 50, 75, 90];\n for (const threshold of depthThresholds) {\n if (scrollPct >= threshold && !firedDepthRef.current.has(threshold)) {\n firedDepthRef.current.add(threshold);\n void sendClientSignal(SignalType.ScrollDepth, {\n depth: threshold,\n page: window.location.pathname,\n });\n }\n }\n }, 500);\n\n scrollHandlerRef.current = handleScroll;\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n if (scrollHandlerRef.current !== null) {\n window.removeEventListener('scroll', scrollHandlerRef.current);\n scrollHandlerRef.current = null;\n }\n };\n }, [product]);\n\n useEffect(() => {\n const handleMouseLeave = (e: MouseEvent) => {\n if (e.clientY <= 0 && !exitIntentFiredRef.current) {\n exitIntentFiredRef.current = true;\n void sendClientSignal(SignalType.ExitIntent, {\n page: window.location.pathname,\n });\n }\n };\n document.documentElement.addEventListener('mouseleave', handleMouseLeave);\n return () => document.documentElement.removeEventListener('mouseleave', handleMouseLeave);\n }, []);\n\n return null;\n}\n\nexport default BehaviorTracker;\n"],"mappings":";;;;;;;;AAUA,SAAS,sBAA8B;CACrC,MAAM,YAAY,OAAO;CACzB,MAAM,YACJ,SAAS,gBAAgB,eAAe,OAAO;AACjD,QAAO,YAAY,IAAI,YAAY,YAAY;;AAGjD,SAAS,wBAAwB,SAAiC;CAChE,MAAM,WAAW,QAAQ;AACzB,KAAI,CAAC,YAAY,SAAS,WAAW,EAAG,QAAO;CAE/C,IAAIA,WAA0B;AAE9B,MAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,WAAW,QAAQ;AACzB,MAAI,YAAY,OAAO,SAAS,WAAW,UACzC;OAAI,aAAa,QAAQ,SAAS,SAAS,SACzC,YAAW,SAAS;;;AAK1B,QAAO;;AAGT,SAAS,SACP,IACA,OACG;CACH,IAAI,WAAW;AACf,UAAS,GAAG,SAAoB;EAC9B,MAAM,MAAM,KAAK,KAAK;AACtB,MAAI,MAAM,YAAY,OAAO;AAC3B,cAAW;AACX,MAAG,GAAG,KAAK;;;;AASjB,SAAgB,gBAAgB,EAAE,WAAiC;CACjE,MAAM,mBAAmB,OAA4B,KAAK;CAC1D,MAAM,gBAAgB,uBAAoB,IAAI,KAAK,CAAC;CACpD,MAAM,qBAAqB,OAAO,MAAM;AAExC,eAAc,OAAO,QAAQ,SAAS,GAAG,CAAC;AAE1C,iBAAgB;AACd,MAAI,CAAC,SAAS,GAAI;EAElB,MAAM,mBAAmB,QAAQ,YAAY;EAC7C,MAAM,eAAe,wBAAwB,QAAQ;AACrD,EAAK,iBAAiB,WAAW,aAAa;GAC5C,WAAW,QAAQ;GACnB,aAAa,QAAQ;GACrB,eAAe,QAAQ;GACvB,UAAU;GACV,OAAO;GACR,CAAC;EAEF,MAAM,eAAe,eAAe;GAClC,MAAM,YAAY,KAAK,MAAM,qBAAqB,GAAG,IAAI;AAEzD,QAAK,MAAM,aADa;IAAC;IAAI;IAAI;IAAI;IAAG,CAEtC,KAAI,aAAa,aAAa,CAAC,cAAc,QAAQ,IAAI,UAAU,EAAE;AACnE,kBAAc,QAAQ,IAAI,UAAU;AACpC,IAAK,iBAAiB,WAAW,aAAa;KAC5C,OAAO;KACP,MAAM,OAAO,SAAS;KACvB,CAAC;;KAGL,IAAI;AAEP,mBAAiB,UAAU;AAC3B,SAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM,CAAC;AAElE,eAAa;AACX,OAAI,iBAAiB,YAAY,MAAM;AACrC,WAAO,oBAAoB,UAAU,iBAAiB,QAAQ;AAC9D,qBAAiB,UAAU;;;IAG9B,CAAC,QAAQ,CAAC;AAEb,iBAAgB;EACd,MAAM,oBAAoB,MAAkB;AAC1C,OAAI,EAAE,WAAW,KAAK,CAAC,mBAAmB,SAAS;AACjD,uBAAmB,UAAU;AAC7B,IAAK,iBAAiB,WAAW,YAAY,EAC3C,MAAM,OAAO,SAAS,UACvB,CAAC;;;AAGN,WAAS,gBAAgB,iBAAiB,cAAc,iBAAiB;AACzE,eAAa,SAAS,gBAAgB,oBAAoB,cAAc,iBAAiB;IACxF,EAAE,CAAC;AAEN,QAAO;;AAGT,+BAAe"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/pagination/index.d.ts
|
|
4
4
|
declare function Pagination({
|
|
@@ -19,7 +19,7 @@ declare function Pagination({
|
|
|
19
19
|
isLoading?: boolean;
|
|
20
20
|
onLoadMore: () => void;
|
|
21
21
|
'data-testid'?: string;
|
|
22
|
-
}):
|
|
22
|
+
}): react_jsx_runtime1.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { Pagination };
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProductActionsProduct } from "../../types/index.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/product-actions/index.d.ts
|
|
5
5
|
type ProductActionsProps = {
|
|
@@ -13,7 +13,7 @@ declare function ProductActions({
|
|
|
13
13
|
regionId,
|
|
14
14
|
disabled,
|
|
15
15
|
enableMobileActions
|
|
16
|
-
}: ProductActionsProps):
|
|
16
|
+
}: ProductActionsProps): react_jsx_runtime2.JSX.Element;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { ProductActionsProps, ProductActions as default };
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime14 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/product-onboarding-cta/index.d.ts
|
|
4
|
-
declare function ProductOnboardingCta(): Promise<
|
|
4
|
+
declare function ProductOnboardingCta(): Promise<react_jsx_runtime14.JSX.Element | null>;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { ProductOnboardingCta as default };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-onboarding-cta/index.tsx"],"sourcesContent":[],"mappings":";;;iBAIe,oBAAA,CAAA,GAAoB,QAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-onboarding-cta/index.tsx"],"sourcesContent":[],"mappings":";;;iBAIe,oBAAA,CAAA,GAAoB,QAAA,mBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProductVariant } from "../../types/graphql.js";
|
|
2
2
|
import { ProductActionsProduct } from "../../types/index.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime15 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/components/product-price/index.d.ts
|
|
6
6
|
declare function ProductPrice({
|
|
@@ -9,7 +9,7 @@ declare function ProductPrice({
|
|
|
9
9
|
}: {
|
|
10
10
|
product: ProductActionsProduct;
|
|
11
11
|
variant?: ProductVariant;
|
|
12
|
-
}):
|
|
12
|
+
}): react_jsx_runtime15.JSX.Element;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { ProductPrice as default };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-price/index.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOwB,YAAA;;;AAFyB;WAMtC;YACC;AAPqC,CAAA,CAAA,EAQhD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-price/index.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOwB,YAAA;;;AAFyB;WAMtC;YACC;AAPqC,CAAA,CAAA,EAQhD,mBAAA,CAAA,GAAA,CAAA,OANmC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Product } from "../../types/graphql.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/product-tabs/index.d.ts
|
|
5
5
|
type ProductTabsProps = {
|
|
@@ -7,7 +7,7 @@ type ProductTabsProps = {
|
|
|
7
7
|
};
|
|
8
8
|
declare const ProductTabs: ({
|
|
9
9
|
product
|
|
10
|
-
}: ProductTabsProps) =>
|
|
10
|
+
}: ProductTabsProps) => react_jsx_runtime6.JSX.Element;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { ProductTabs as default };
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -25,7 +25,6 @@ const ProductTabs = ({ product }) => {
|
|
|
25
25
|
if (openTabValues.includes("Shipping & Returns") && !hasSentReviewsViewRef.current) {
|
|
26
26
|
hasSentReviewsViewRef.current = true;
|
|
27
27
|
sendClientSignal(SignalType.ReviewsView, { productId });
|
|
28
|
-
sendClientSignal(SignalType.ReturnPolicyView, { productId });
|
|
29
28
|
}
|
|
30
29
|
}, [openTabValues, productId]);
|
|
31
30
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Accordion"],"sources":["../../../src/components/product-tabs/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { Back } from '@gfed-medusa/sf-lib-ui/icons/back';\nimport { FastDelivery } from '@gfed-medusa/sf-lib-ui/icons/fast-delivery';\nimport { Refresh } from '@gfed-medusa/sf-lib-ui/icons/refresh';\n\nimport { sendClientSignal } from '@gfed-medusa/sf-lib-common/lib/personalization/client-signal';\nimport { SignalType } from '@gfed-medusa/sf-lib-common/types/graphql';\nimport { Product } from '@/types/graphql';\n\nimport Accordion from './accordion';\n\ntype ProductTabsProps = {\n product: Product;\n};\n\nconst ProductTabs = ({ product }: ProductTabsProps) => {\n const hasSentReviewsViewRef = useRef(false);\n const productId = product.id;\n const [openTabValues, setOpenTabValues] = useState<string[]>([]);\n\n const tabs = [\n {\n label: 'Product Information',\n component: <ProductInfoTab product={product} />,\n },\n {\n label: 'Shipping & Returns',\n component: <ShippingInfoTab />,\n },\n ];\n\n // Fire REVIEWS_VIEW
|
|
1
|
+
{"version":3,"file":"index.js","names":["Accordion"],"sources":["../../../src/components/product-tabs/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { Back } from '@gfed-medusa/sf-lib-ui/icons/back';\nimport { FastDelivery } from '@gfed-medusa/sf-lib-ui/icons/fast-delivery';\nimport { Refresh } from '@gfed-medusa/sf-lib-ui/icons/refresh';\n\nimport { sendClientSignal } from '@gfed-medusa/sf-lib-common/lib/personalization/client-signal';\nimport { SignalType } from '@gfed-medusa/sf-lib-common/types/graphql';\nimport { Product } from '@/types/graphql';\n\nimport Accordion from './accordion';\n\ntype ProductTabsProps = {\n product: Product;\n};\n\nconst ProductTabs = ({ product }: ProductTabsProps) => {\n const hasSentReviewsViewRef = useRef(false);\n const productId = product.id;\n const [openTabValues, setOpenTabValues] = useState<string[]>([]);\n\n const tabs = [\n {\n label: 'Product Information',\n component: <ProductInfoTab product={product} />,\n },\n {\n label: 'Shipping & Returns',\n component: <ShippingInfoTab />,\n },\n ];\n\n // Fire REVIEWS_VIEW when the \"Shipping & Returns\" tab is\n // open — whether initially (via defaultValue) or via user\n // interaction.\n useEffect(() => {\n if (\n openTabValues.includes('Shipping & Returns') &&\n !hasSentReviewsViewRef.current\n ) {\n hasSentReviewsViewRef.current = true;\n void sendClientSignal(SignalType.ReviewsView, { productId });\n }\n }, [openTabValues, productId]);\n\n return (\n <div className=\"w-full\">\n <Accordion\n type=\"multiple\"\n value={openTabValues}\n onValueChange={(values: string[]) => {\n setOpenTabValues(values);\n void sendClientSignal(SignalType.TabSwitch, {\n activeTabs: values,\n productId,\n });\n }}\n >\n {tabs.map((tab, i) => (\n <Accordion.Item\n key={i}\n title={tab.label}\n headingSize=\"medium\"\n value={tab.label}\n >\n {tab.component}\n </Accordion.Item>\n ))}\n </Accordion>\n </div>\n );\n};\n\nconst ProductInfoTab = ({ product }: ProductTabsProps) => {\n return (\n <div className=\"text-small-regular py-8\">\n <div className=\"grid grid-cols-2 gap-x-8\">\n <div className=\"flex flex-col gap-y-4\">\n <div>\n <span className=\"font-semibold\">Material</span>\n <p>{product.material ? product.material : '-'}</p>\n </div>\n <div>\n <span className=\"font-semibold\">Country of origin</span>\n <p>{product.originCountry ? product.originCountry : '-'}</p>\n </div>\n <div>\n <span className=\"font-semibold\">Type</span>\n <p>{product.type || '-'}</p>\n </div>\n </div>\n <div className=\"flex flex-col gap-y-4\">\n <div>\n <span className=\"font-semibold\">Weight</span>\n <p>{product.weight ? `${product.weight} g` : '-'}</p>\n </div>\n <div>\n <span className=\"font-semibold\">Dimensions</span>\n <p>\n {product.length && product.width && product.height\n ? `${product.length}L x ${product.width}W x ${product.height}H`\n : '-'}\n </p>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nconst ShippingInfoTab = () => {\n return (\n <div className=\"text-small-regular py-8\">\n <div className=\"grid grid-cols-1 gap-y-8\">\n <div className=\"flex items-start gap-x-2\">\n <FastDelivery />\n <div>\n <span className=\"font-semibold\">Fast delivery</span>\n <p className=\"max-w-sm\">\n Your package will arrive in 3-5 business days at your pick up\n location or in the comfort of your home.\n </p>\n </div>\n </div>\n <div className=\"flex items-start gap-x-2\">\n <Refresh />\n <div>\n <span className=\"font-semibold\">Simple exchanges</span>\n <p className=\"max-w-sm\">\n Is the fit not quite right? No worries - we'll exchange your\n product for a new one.\n </p>\n </div>\n </div>\n <div className=\"flex items-start gap-x-2\">\n <Back />\n <div>\n <span className=\"font-semibold\">Easy returns</span>\n <p className=\"max-w-sm\">\n Just return your product and we'll refund your money. No\n questions asked – we'll do our best to make sure your return\n is hassle-free.\n </p>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ProductTabs;\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,eAAe,EAAE,cAAgC;CACrD,MAAM,wBAAwB,OAAO,MAAM;CAC3C,MAAM,YAAY,QAAQ;CAC1B,MAAM,CAAC,eAAe,oBAAoB,SAAmB,EAAE,CAAC;CAEhE,MAAM,OAAO,CACX;EACE,OAAO;EACP,WAAW,oBAAC,kBAAwB,UAAW;EAChD,EACD;EACE,OAAO;EACP,WAAW,oBAAC,oBAAkB;EAC/B,CACF;AAKD,iBAAgB;AACd,MACE,cAAc,SAAS,qBAAqB,IAC5C,CAAC,sBAAsB,SACvB;AACA,yBAAsB,UAAU;AAChC,GAAK,iBAAiB,WAAW,aAAa,EAAE,WAAW,CAAC;;IAE7D,CAAC,eAAe,UAAU,CAAC;AAE9B,QACE,oBAAC;EAAI,WAAU;YACb,oBAACA;GACC,MAAK;GACL,OAAO;GACP,gBAAgB,WAAqB;AACnC,qBAAiB,OAAO;AACxB,IAAK,iBAAiB,WAAW,WAAW;KAC1C,YAAY;KACZ;KACD,CAAC;;aAGH,KAAK,KAAK,KAAK,MACd,oBAACA,kBAAU;IAET,OAAO,IAAI;IACX,aAAY;IACZ,OAAO,IAAI;cAEV,IAAI;MALA,EAMU,CACjB;IACQ;GACR;;AAIV,MAAM,kBAAkB,EAAE,cAAgC;AACxD,QACE,oBAAC;EAAI,WAAU;YACb,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;;KACb,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAe,EAC/C,oBAAC,iBAAG,QAAQ,WAAW,QAAQ,WAAW,MAAQ,IAC9C;KACN,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAwB,EACxD,oBAAC,iBAAG,QAAQ,gBAAgB,QAAQ,gBAAgB,MAAQ,IACxD;KACN,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAW,EAC3C,oBAAC,iBAAG,QAAQ,QAAQ,MAAQ,IACxB;;KACF,EACN,qBAAC;IAAI,WAAU;eACb,qBAAC,oBACC,oBAAC;KAAK,WAAU;eAAgB;MAAa,EAC7C,oBAAC,iBAAG,QAAQ,SAAS,GAAG,QAAQ,OAAO,MAAM,MAAQ,IACjD,EACN,qBAAC,oBACC,oBAAC;KAAK,WAAU;eAAgB;MAAiB,EACjD,oBAAC,iBACE,QAAQ,UAAU,QAAQ,SAAS,QAAQ,SACxC,GAAG,QAAQ,OAAO,MAAM,QAAQ,MAAM,MAAM,QAAQ,OAAO,KAC3D,MACF,IACA;KACF;IACF;GACF;;AAIV,MAAM,wBAAwB;AAC5B,QACE,oBAAC;EAAI,WAAU;YACb,qBAAC;GAAI,WAAU;;IACb,qBAAC;KAAI,WAAU;gBACb,oBAAC,iBAAe,EAChB,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAoB,EACpD,oBAAC;MAAE,WAAU;gBAAW;OAGpB,IACA;MACF;IACN,qBAAC;KAAI,WAAU;gBACb,oBAAC,YAAU,EACX,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAuB,EACvD,oBAAC;MAAE,WAAU;gBAAW;OAGpB,IACA;MACF;IACN,qBAAC;KAAI,WAAU;gBACb,oBAAC,SAAO,EACR,qBAAC,oBACC,oBAAC;MAAK,WAAU;gBAAgB;OAAmB,EACnD,oBAAC;MAAE,WAAU;gBAAW;OAIpB,IACA;MACF;;IACF;GACF;;AAIV,2BAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SortOptions } from "./sort-products/index.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime13 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/refinement-list/index.d.ts
|
|
5
5
|
type RefinementListProps = {
|
|
@@ -12,7 +12,7 @@ declare const RefinementList: ({
|
|
|
12
12
|
sortBy,
|
|
13
13
|
"data-testid": dataTestId,
|
|
14
14
|
className
|
|
15
|
-
}: RefinementListProps) =>
|
|
15
|
+
}: RefinementListProps) => react_jsx_runtime13.JSX.Element;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { RefinementList as default };
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/refinement-list/index.tsx"],"sourcesContent":[],"mappings":";;;;KAaK,mBAAA;UACK;;EADL,aAAA,CAAA,EAAA,MAAmB;EAOlB,SAAA,CAAA,EAAA,MAmDL;CAnDuB;cAAlB,cAAkB,EAAA,CAAA;EAAA,MAAA;EAAA,aAAA,EAAA,UAAA;EAAA;AAAA,CAAA,EAIrB,mBAJqB,EAAA,GAIF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/refinement-list/index.tsx"],"sourcesContent":[],"mappings":";;;;KAaK,mBAAA;UACK;;EADL,aAAA,CAAA,EAAA,MAAmB;EAOlB,SAAA,CAAA,EAAA,MAmDL;CAnDuB;cAAlB,cAAkB,EAAA,CAAA;EAAA,MAAA;EAAA,aAAA,EAAA,UAAA;EAAA;AAAA,CAAA,EAIrB,mBAJqB,EAAA,GAIF,mBAAA,CAAA,GAAA,CAAA,OAJE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/refinement-list/sort-products/index.d.ts
|
|
4
4
|
type SortOptions = 'price_asc' | 'price_desc' | 'created_at';
|
|
@@ -13,7 +13,7 @@ declare const SortProducts: ({
|
|
|
13
13
|
sortBy,
|
|
14
14
|
setQueryParams,
|
|
15
15
|
variant
|
|
16
|
-
}: SortProductsProps) =>
|
|
16
|
+
}: SortProductsProps) => react_jsx_runtime12.JSX.Element;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { SortOptions, SortProducts as default };
|
|
19
19
|
//# 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_runtime16 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/related-products/index.d.ts
|
|
5
5
|
type RelatedProductsProps = {
|
|
@@ -9,7 +9,7 @@ type RelatedProductsProps = {
|
|
|
9
9
|
declare function RelatedProducts({
|
|
10
10
|
product,
|
|
11
11
|
countryCode
|
|
12
|
-
}: RelatedProductsProps): Promise<
|
|
12
|
+
}: RelatedProductsProps): Promise<react_jsx_runtime16.JSX.Element | null>;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { RelatedProducts as default };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/related-products/index.tsx"],"sourcesContent":[],"mappings":";;;;KASK,oBAAA;WACM;;AAHc,CAAA;AAOK,iBAAA,eAAA,CAAe;EAAA,OAAA;EAAA;AAAA,CAAA,EAG1C,oBAH0C,CAAA,EAGtB,OAHsB,CAGtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/related-products/index.tsx"],"sourcesContent":[],"mappings":";;;;KASK,oBAAA;WACM;;AAHc,CAAA;AAOK,iBAAA,eAAA,CAAe;EAAA,OAAA;EAAA;AAAA,CAAA,EAG1C,oBAH0C,CAAA,EAGtB,OAHsB,CAGtB,mBAAA,CAAA,GAAA,CAAA,OAAA,GAHsB,IAAA,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/skeleton-product-grid/index.d.ts
|
|
4
4
|
declare const SkeletonProductGrid: ({
|
|
5
5
|
numberOfProducts
|
|
6
6
|
}: {
|
|
7
7
|
numberOfProducts?: number;
|
|
8
|
-
}) =>
|
|
8
|
+
}) => react_jsx_runtime3.JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { SkeletonProductGrid as default };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/skeleton-product-preview/index.d.ts
|
|
4
|
-
declare const SkeletonProductPreview: () =>
|
|
4
|
+
declare const SkeletonProductPreview: () => react_jsx_runtime5.JSX.Element;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { SkeletonProductPreview as default };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-product-preview/index.tsx"],"sourcesContent":[],"mappings":";;;cAEM,8BAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-product-preview/index.tsx"],"sourcesContent":[],"mappings":";;;cAEM,8BAAsB,kBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/skeleton-related-products/index.d.ts
|
|
4
|
-
declare const SkeletonRelatedProducts: () =>
|
|
4
|
+
declare const SkeletonRelatedProducts: () => react_jsx_runtime4.JSX.Element;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { SkeletonRelatedProducts as default };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _apollo_client14 from "@apollo/client";
|
|
2
2
|
|
|
3
3
|
//#region src/lib/gql/fragments/cart.d.ts
|
|
4
|
-
declare const LINE_ITEM_FRAGMENT:
|
|
5
|
-
declare const ADDRESS_FRAGMENT:
|
|
6
|
-
declare const SHIPPING_METHODS_FRAGMENT:
|
|
7
|
-
declare const PAYMENT_COLLECTION_FRAGMENT:
|
|
8
|
-
declare const COUNTRY_FRAGMENT:
|
|
9
|
-
declare const REGION_FRAGMENT:
|
|
10
|
-
declare const PROMOTION_FRAGMENT:
|
|
11
|
-
declare const CART_FRAGMENT:
|
|
4
|
+
declare const LINE_ITEM_FRAGMENT: _apollo_client14.DocumentNode;
|
|
5
|
+
declare const ADDRESS_FRAGMENT: _apollo_client14.DocumentNode;
|
|
6
|
+
declare const SHIPPING_METHODS_FRAGMENT: _apollo_client14.DocumentNode;
|
|
7
|
+
declare const PAYMENT_COLLECTION_FRAGMENT: _apollo_client14.DocumentNode;
|
|
8
|
+
declare const COUNTRY_FRAGMENT: _apollo_client14.DocumentNode;
|
|
9
|
+
declare const REGION_FRAGMENT: _apollo_client14.DocumentNode;
|
|
10
|
+
declare const PROMOTION_FRAGMENT: _apollo_client14.DocumentNode;
|
|
11
|
+
declare const CART_FRAGMENT: _apollo_client14.DocumentNode;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { ADDRESS_FRAGMENT, CART_FRAGMENT, COUNTRY_FRAGMENT, LINE_ITEM_FRAGMENT, PAYMENT_COLLECTION_FRAGMENT, PROMOTION_FRAGMENT, REGION_FRAGMENT, SHIPPING_METHODS_FRAGMENT };
|
|
14
14
|
//# sourceMappingURL=cart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../../src/lib/gql/fragments/cart.ts"],"sourcesContent":[],"mappings":";;;cAIa,oBAiBZ,
|
|
1
|
+
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../../src/lib/gql/fragments/cart.ts"],"sourcesContent":[],"mappings":";;;cAIa,oBAiBZ,gBAAA,CAjB8B;cAmBlB,kBAUZ,gBAAA,CAV4B;cAYhB,2BAUZ,gBAAA,CAVqC;AA/BzB,cA2CA,2BA1BZ,EA4CA,gBAAA,CAlBuC,YA1BvC;AAEY,cA4CA,gBAlCZ,EAyCA,gBAAA,CAP4B,YAlC5B;AAEY,cAyCA,eA/BZ,EA0CA,gBAAA,CAX2B,YA/B3B;AAEY,cA0CA,kBAxBZ,EAkCA,gBAAA,CAV8B,YAxB9B;AAEY,cAkCA,aA3BZ,EAsEA,gBAAA,CA3CyB,YA3BzB"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _apollo_client0 from "@apollo/client";
|
|
2
2
|
|
|
3
3
|
//#region src/lib/gql/fragments/product.d.ts
|
|
4
|
-
declare const PRODUCT_IMAGE_FRAGMENT:
|
|
5
|
-
declare const PRODUCT_TAG_FRAGMENT:
|
|
6
|
-
declare const PRODUCT_OPTION_FRAGMENT:
|
|
7
|
-
declare const PRICE_FRAGMENT:
|
|
8
|
-
declare const PRODUCT_VARIANT_CONTENT_FRAGMENT:
|
|
9
|
-
declare const PRODUCT_VARIANT_PRICING_FRAGMENT:
|
|
10
|
-
declare const PRODUCT_VARIANT_FRAGMENT:
|
|
11
|
-
declare const PRODUCT_CATEGORY_FRAGMENT:
|
|
12
|
-
declare const PRODUCT_COLLECTION_FRAGMENT:
|
|
13
|
-
declare const PRODUCT_CONTENT_FRAGMENT:
|
|
14
|
-
declare const PRODUCT_FRAGMENT:
|
|
15
|
-
declare const PRODUCT_PREVIEW_FRAGMENT:
|
|
16
|
-
declare const COLLECTION_PRODUCTS_FRAGMENT:
|
|
17
|
-
declare const PRODUCT_HIT_FRAGMENT:
|
|
18
|
-
declare const BROWSE_PRODUCT_HIT_FRAGMENT:
|
|
4
|
+
declare const PRODUCT_IMAGE_FRAGMENT: _apollo_client0.DocumentNode;
|
|
5
|
+
declare const PRODUCT_TAG_FRAGMENT: _apollo_client0.DocumentNode;
|
|
6
|
+
declare const PRODUCT_OPTION_FRAGMENT: _apollo_client0.DocumentNode;
|
|
7
|
+
declare const PRICE_FRAGMENT: _apollo_client0.DocumentNode;
|
|
8
|
+
declare const PRODUCT_VARIANT_CONTENT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
9
|
+
declare const PRODUCT_VARIANT_PRICING_FRAGMENT: _apollo_client0.DocumentNode;
|
|
10
|
+
declare const PRODUCT_VARIANT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
11
|
+
declare const PRODUCT_CATEGORY_FRAGMENT: _apollo_client0.DocumentNode;
|
|
12
|
+
declare const PRODUCT_COLLECTION_FRAGMENT: _apollo_client0.DocumentNode;
|
|
13
|
+
declare const PRODUCT_CONTENT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
14
|
+
declare const PRODUCT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
15
|
+
declare const PRODUCT_PREVIEW_FRAGMENT: _apollo_client0.DocumentNode;
|
|
16
|
+
declare const COLLECTION_PRODUCTS_FRAGMENT: _apollo_client0.DocumentNode;
|
|
17
|
+
declare const PRODUCT_HIT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
18
|
+
declare const BROWSE_PRODUCT_HIT_FRAGMENT: _apollo_client0.DocumentNode;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { BROWSE_PRODUCT_HIT_FRAGMENT, COLLECTION_PRODUCTS_FRAGMENT, PRICE_FRAGMENT, PRODUCT_CATEGORY_FRAGMENT, PRODUCT_COLLECTION_FRAGMENT, PRODUCT_CONTENT_FRAGMENT, PRODUCT_FRAGMENT, PRODUCT_HIT_FRAGMENT, PRODUCT_IMAGE_FRAGMENT, PRODUCT_OPTION_FRAGMENT, PRODUCT_PREVIEW_FRAGMENT, PRODUCT_TAG_FRAGMENT, PRODUCT_VARIANT_CONTENT_FRAGMENT, PRODUCT_VARIANT_FRAGMENT, PRODUCT_VARIANT_PRICING_FRAGMENT };
|
|
21
21
|
//# sourceMappingURL=product.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.d.ts","names":[],"sources":["../../../../src/lib/gql/fragments/product.ts"],"sourcesContent":[],"mappings":";;;cAEa,wBAKZ,
|
|
1
|
+
{"version":3,"file":"product.d.ts","names":[],"sources":["../../../../src/lib/gql/fragments/product.ts"],"sourcesContent":[],"mappings":";;;cAEa,wBAKZ,eAAA,CALkC;cAOtB,sBAIZ,eAAA,CAJgC;cAMpB,yBASZ,eAAA,CATmC;AAbvB,cAwBA,cAnBZ,EAyBA,eAAA,CAN0B,YAnB1B;AAEY,cAyBA,gCArBZ,EAkCA,eAAA,CAb4C,YArB5C;AAEY,cAkCA,gCAzBZ,EAqCA,eAAA,CAZ4C,YAzB5C;AAEY,cAqCA,wBA/BZ,EAoDA,eAAA,CArBoC,YA/BpC;AAEY,cAoDA,yBAvCZ,EA+CA,eAAA,CARqC,YAvCrC;AAEY,cA+CA,2BAnCZ,EAyCA,eAAA,CANuC,YAnCvC;AAEY,cAyCA,wBApBZ,EAuEA,eAAA,CAnDoC,YApBpC;AAEY,cAuEA,gBA/DZ,EAoGA,eAAA,CArC4B,YA/D5B;AAEY,cAoGA,wBA9FZ,EAgHA,eAAA,CAlBoC,YA9FpC;AAEY,cAgHA,4BA7DZ,EAoFA,eAAA,CAvBwC,YA7DxC;AAEY,cAoFA,oBA/CZ,EAuDA,eAAA,CARgC,YA/ChC;AAEY,cAuDA,2BArCZ,EA+CA,eAAA,CAVuC,YArCvC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _apollo_client22 from "@apollo/client";
|
|
2
2
|
|
|
3
3
|
//#region src/lib/gql/mutations/cart.d.ts
|
|
4
|
-
declare const CREATE_CART_MUTATION:
|
|
5
|
-
declare const UPDATE_CART_MUTATION:
|
|
6
|
-
declare const CREATE_LINE_ITEM_MUTATION:
|
|
7
|
-
declare const UPDATE_LINE_ITEM_MUTATION:
|
|
8
|
-
declare const DELETE_LINE_ITEM_MUTATION:
|
|
9
|
-
declare const ADD_SHIPPING_METHOD_MUTATION:
|
|
10
|
-
declare const COMPLETE_CART_MUTATION:
|
|
11
|
-
declare const TRANSFER_CART_MUTATION:
|
|
12
|
-
declare const APPLY_PROMOTIONS_MUTATION:
|
|
4
|
+
declare const CREATE_CART_MUTATION: _apollo_client22.DocumentNode;
|
|
5
|
+
declare const UPDATE_CART_MUTATION: _apollo_client22.DocumentNode;
|
|
6
|
+
declare const CREATE_LINE_ITEM_MUTATION: _apollo_client22.DocumentNode;
|
|
7
|
+
declare const UPDATE_LINE_ITEM_MUTATION: _apollo_client22.DocumentNode;
|
|
8
|
+
declare const DELETE_LINE_ITEM_MUTATION: _apollo_client22.DocumentNode;
|
|
9
|
+
declare const ADD_SHIPPING_METHOD_MUTATION: _apollo_client22.DocumentNode;
|
|
10
|
+
declare const COMPLETE_CART_MUTATION: _apollo_client22.DocumentNode;
|
|
11
|
+
declare const TRANSFER_CART_MUTATION: _apollo_client22.DocumentNode;
|
|
12
|
+
declare const APPLY_PROMOTIONS_MUTATION: _apollo_client22.DocumentNode;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { ADD_SHIPPING_METHOD_MUTATION, APPLY_PROMOTIONS_MUTATION, COMPLETE_CART_MUTATION, CREATE_CART_MUTATION, CREATE_LINE_ITEM_MUTATION, DELETE_LINE_ITEM_MUTATION, TRANSFER_CART_MUTATION, UPDATE_CART_MUTATION, UPDATE_LINE_ITEM_MUTATION };
|
|
15
15
|
//# sourceMappingURL=cart.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _apollo_client31 from "@apollo/client";
|
|
2
2
|
|
|
3
3
|
//#region src/lib/gql/queries/cart.d.ts
|
|
4
|
-
declare const GET_CART_QUERY:
|
|
4
|
+
declare const GET_CART_QUERY: _apollo_client31.DocumentNode;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { GET_CART_QUERY };
|
|
7
7
|
//# sourceMappingURL=cart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../../src/lib/gql/queries/cart.ts"],"sourcesContent":[],"mappings":";;;cAIa,gBAOZ,
|
|
1
|
+
{"version":3,"file":"cart.d.ts","names":[],"sources":["../../../../src/lib/gql/queries/cart.ts"],"sourcesContent":[],"mappings":";;;cAIa,gBAOZ,gBAAA,CAP0B"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _apollo_client32 from "@apollo/client";
|
|
2
2
|
|
|
3
3
|
//#region src/lib/gql/queries/product.d.ts
|
|
4
|
-
declare const GET_PRODUCTS_QUERY:
|
|
5
|
-
declare const GET_PRODUCTS_PREVIEW_QUERY:
|
|
6
|
-
declare const GET_PRODUCT_QUERY:
|
|
7
|
-
declare const GET_PRODUCT_CONTENT_BY_HANDLE_QUERY:
|
|
8
|
-
declare const GET_PRODUCT_PRICING_QUERY:
|
|
9
|
-
declare const GET_PRODUCT_CATEGORIES_QUERY:
|
|
10
|
-
declare const GET_PRODUCT_CATEGORY_QUERY:
|
|
11
|
-
declare const GET_COLLECTIONS_QUERY:
|
|
12
|
-
declare const GET_COLLECTIONS_SUMMARY_QUERY:
|
|
13
|
-
declare const GET_COLLECTION_QUERY:
|
|
14
|
-
declare const SEARCH_SUGGESTIONS_QUERY:
|
|
15
|
-
declare const BROWSE_PRODUCTS_QUERY:
|
|
4
|
+
declare const GET_PRODUCTS_QUERY: _apollo_client32.DocumentNode;
|
|
5
|
+
declare const GET_PRODUCTS_PREVIEW_QUERY: _apollo_client32.DocumentNode;
|
|
6
|
+
declare const GET_PRODUCT_QUERY: _apollo_client32.DocumentNode;
|
|
7
|
+
declare const GET_PRODUCT_CONTENT_BY_HANDLE_QUERY: _apollo_client32.DocumentNode;
|
|
8
|
+
declare const GET_PRODUCT_PRICING_QUERY: _apollo_client32.DocumentNode;
|
|
9
|
+
declare const GET_PRODUCT_CATEGORIES_QUERY: _apollo_client32.DocumentNode;
|
|
10
|
+
declare const GET_PRODUCT_CATEGORY_QUERY: _apollo_client32.DocumentNode;
|
|
11
|
+
declare const GET_COLLECTIONS_QUERY: _apollo_client32.DocumentNode;
|
|
12
|
+
declare const GET_COLLECTIONS_SUMMARY_QUERY: _apollo_client32.DocumentNode;
|
|
13
|
+
declare const GET_COLLECTION_QUERY: _apollo_client32.DocumentNode;
|
|
14
|
+
declare const SEARCH_SUGGESTIONS_QUERY: _apollo_client32.DocumentNode;
|
|
15
|
+
declare const BROWSE_PRODUCTS_QUERY: _apollo_client32.DocumentNode;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { BROWSE_PRODUCTS_QUERY, GET_COLLECTIONS_QUERY, GET_COLLECTIONS_SUMMARY_QUERY, GET_COLLECTION_QUERY, GET_PRODUCTS_PREVIEW_QUERY, GET_PRODUCTS_QUERY, GET_PRODUCT_CATEGORIES_QUERY, GET_PRODUCT_CATEGORY_QUERY, GET_PRODUCT_CONTENT_BY_HANDLE_QUERY, GET_PRODUCT_PRICING_QUERY, GET_PRODUCT_QUERY, SEARCH_SUGGESTIONS_QUERY };
|
|
18
18
|
//# sourceMappingURL=product.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.d.ts","names":[],"sources":["../../../../src/lib/gql/queries/product.ts"],"sourcesContent":[],"mappings":";;;cAca,oBAkCZ,
|
|
1
|
+
{"version":3,"file":"product.d.ts","names":[],"sources":["../../../../src/lib/gql/queries/product.ts"],"sourcesContent":[],"mappings":";;;cAca,oBAkCZ,gBAAA,CAlC8B;cAoClB,4BAkCZ,gBAAA,CAlCsC;cAoC1B,mBAOZ,gBAAA,CAP6B;AAxEjB,cAiFA,mCAjFkB,EA8F9B,gBAAA,CAb+C,YA/C/C;AAEY,cA4DA,yBA1BZ,EAmCA,gBAAA,CATqC,YA1BrC;AAEY,cAmCA,4BA5BZ,EAgDA,gBAAA,CApBwC,YA5BxC;AAEY,cAgDA,0BAnCZ,EAsDA,gBAAA,CAnBsC,YAnCtC;AAEY,cAsDA,qBA7CZ,EAwDA,gBAAA,CAXiC,YA7CjC;AAEY,cAwDA,6BApCZ,EA2CA,gBAAA,CAPyC,YApCzC;AAEY,cA2CA,oBAxBZ,EAmCA,gBAAA,CAXgC,YAxBhC;AAEY,cAmCA,wBAxBZ,EAiCA,gBAAA,CAToC,YAxBpC;AAEY,cAiCA,qBA1BZ,EAqDA,gBAAA,CA3BiC,YA1BjC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BrowseProductHitFragment } from "../../types/graphql.js";
|
|
2
2
|
import { SortOptions } from "../../components/refinement-list/sort-products/index.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime7 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/templates/paginated-products/client.d.ts
|
|
6
6
|
type PaginatedProductsClientProps = {
|
|
@@ -24,7 +24,7 @@ declare function PaginatedProductsClient({
|
|
|
24
24
|
categoryId,
|
|
25
25
|
productsIds,
|
|
26
26
|
countryCode
|
|
27
|
-
}: PaginatedProductsClientProps):
|
|
27
|
+
}: PaginatedProductsClientProps): react_jsx_runtime7.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { PaginatedProductsClient as default };
|
|
30
30
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/templates/paginated-products/client.tsx"],"sourcesContent":[],"mappings":";;;;;KAkBK,4BAAA;mBACc;;EADd,iBAAA,EAAA,MAAA;EA6HmB,YAAA,EAAA,MAAA;EACtB,MAAA,CAAA,EAzHS,WAyHT;EACA,YAAA,CAAA,EAAA,MAAA;EACA,UAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA,EAAA;EACA,WAAA,EAAA,MAAA;CACA;AACA,iBAPsB,uBAAA,CAOtB;EAAA,eAAA;EAAA,iBAAA;EAAA,iBAAA;EAAA,YAAA;EAAA,MAAA;EAAA,YAAA;EAAA,UAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAGC,4BAHD,CAAA,EAG6B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/templates/paginated-products/client.tsx"],"sourcesContent":[],"mappings":";;;;;KAkBK,4BAAA;mBACc;;EADd,iBAAA,EAAA,MAAA;EA6HmB,YAAA,EAAA,MAAA;EACtB,MAAA,CAAA,EAzHS,WAyHT;EACA,YAAA,CAAA,EAAA,MAAA;EACA,UAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA,EAAA;EACA,WAAA,EAAA,MAAA;CACA;AACA,iBAPsB,uBAAA,CAOtB;EAAA,eAAA;EAAA,iBAAA;EAAA,iBAAA;EAAA,YAAA;EAAA,MAAA;EAAA,YAAA;EAAA,UAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAGC,4BAHD,CAAA,EAG6B,kBAAA,CAAA,GAAA,CAAA,OAH7B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SortOptions } from "../../components/refinement-list/sort-products/index.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime8 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/templates/paginated-products/index.d.ts
|
|
5
5
|
declare function PaginatedProducts({
|
|
@@ -16,7 +16,7 @@ declare function PaginatedProducts({
|
|
|
16
16
|
categoryId?: string;
|
|
17
17
|
productsIds?: string[];
|
|
18
18
|
countryCode: string;
|
|
19
|
-
}): Promise<
|
|
19
|
+
}): Promise<react_jsx_runtime8.JSX.Element>;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { PaginatedProducts as default };
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/templates/paginated-products/index.tsx"],"sourcesContent":[],"mappings":";;;;iBAmB8B,iBAAA;;;;;;;;WAQnB;;EARmB,YAAA,CAAA,EAAA,MAAiB;EAC7C,UAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA,EAAA;EACA,WAAA,EAAA,MAAA;CACA,CAAA,EAUD,OAVC,CAUD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/templates/paginated-products/index.tsx"],"sourcesContent":[],"mappings":";;;;iBAmB8B,iBAAA;;;;;;;;WAQnB;;EARmB,YAAA,CAAA,EAAA,MAAiB;EAC7C,UAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA,EAAA;EACA,WAAA,EAAA,MAAA;CACA,CAAA,EAUD,OAVC,CAUD,kBAAA,CAAA,GAAA,CAAA,OAAA,CAVC"}
|