@gfed-medusa/sf-lib-products 1.6.3 → 1.7.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.
Files changed (67) hide show
  1. package/dist/components/browse-product-preview/index.d.ts +19 -0
  2. package/dist/components/browse-product-preview/index.d.ts.map +1 -0
  3. package/dist/components/browse-product-preview/index.js +61 -0
  4. package/dist/components/browse-product-preview/index.js.map +1 -0
  5. package/dist/components/image-gallery/index.d.ts +2 -2
  6. package/dist/components/image-gallery/index.js +1 -1
  7. package/dist/components/pagination/index.d.ts +2 -2
  8. package/dist/components/pagination/index.d.ts.map +1 -1
  9. package/dist/components/product-actions/index.d.ts +2 -2
  10. package/dist/components/product-actions/index.d.ts.map +1 -1
  11. package/dist/components/product-onboarding-cta/index.d.ts +2 -2
  12. package/dist/components/product-onboarding-cta/index.d.ts.map +1 -1
  13. package/dist/components/product-price/index.d.ts +2 -2
  14. package/dist/components/product-price/index.d.ts.map +1 -1
  15. package/dist/components/product-tabs/index.d.ts +2 -2
  16. package/dist/components/refinement-list/index.d.ts +5 -3
  17. package/dist/components/refinement-list/index.d.ts.map +1 -1
  18. package/dist/components/refinement-list/index.js +22 -9
  19. package/dist/components/refinement-list/index.js.map +1 -1
  20. package/dist/components/refinement-list/sort-products/index.d.ts +3 -1
  21. package/dist/components/refinement-list/sort-products/index.d.ts.map +1 -1
  22. package/dist/components/refinement-list/sort-products/index.js +17 -1
  23. package/dist/components/refinement-list/sort-products/index.js.map +1 -1
  24. package/dist/components/related-products/index.d.ts +2 -2
  25. package/dist/components/related-products/index.d.ts.map +1 -1
  26. package/dist/components/skeleton-product-grid/index.d.ts +2 -2
  27. package/dist/components/skeleton-product-grid/index.d.ts.map +1 -1
  28. package/dist/components/skeleton-product-preview/index.d.ts +2 -2
  29. package/dist/components/skeleton-related-products/index.d.ts +2 -2
  30. package/dist/components/skeleton-related-products/index.d.ts.map +1 -1
  31. package/dist/lib/data/products.d.ts +12 -10
  32. package/dist/lib/data/products.d.ts.map +1 -1
  33. package/dist/lib/data/products.js +182 -42
  34. package/dist/lib/data/products.js.map +1 -1
  35. package/dist/lib/gql/fragments/cart.d.ts +9 -9
  36. package/dist/lib/gql/fragments/cart.d.ts.map +1 -1
  37. package/dist/lib/gql/fragments/product.d.ts +17 -16
  38. package/dist/lib/gql/fragments/product.d.ts.map +1 -1
  39. package/dist/lib/gql/fragments/product.js +12 -1
  40. package/dist/lib/gql/fragments/product.js.map +1 -1
  41. package/dist/lib/gql/mutations/cart.d.ts +10 -10
  42. package/dist/lib/gql/mutations/cart.d.ts.map +1 -1
  43. package/dist/lib/gql/queries/cart.d.ts +2 -2
  44. package/dist/lib/gql/queries/product.d.ts +14 -13
  45. package/dist/lib/gql/queries/product.d.ts.map +1 -1
  46. package/dist/lib/gql/queries/product.js +30 -2
  47. package/dist/lib/gql/queries/product.js.map +1 -1
  48. package/dist/templates/paginated-products/index.d.ts +2 -2
  49. package/dist/templates/paginated-products/index.d.ts.map +1 -1
  50. package/dist/templates/paginated-products/index.js +2 -5
  51. package/dist/templates/paginated-products/index.js.map +1 -1
  52. package/dist/templates/product-actions-wrapper/index.d.ts +2 -2
  53. package/dist/templates/product-info/index.d.ts +2 -2
  54. package/dist/templates/product-info/index.js +1 -1
  55. package/dist/templates/store-template/index.d.ts +2 -2
  56. package/dist/templates/store-template/index.d.ts.map +1 -1
  57. package/dist/templates/store-template/index.js +12 -6
  58. package/dist/templates/store-template/index.js.map +1 -1
  59. package/dist/types/graphql.d.ts +118 -1
  60. package/dist/types/graphql.d.ts.map +1 -1
  61. package/dist/types/graphql.js +595 -1
  62. package/dist/types/graphql.js.map +1 -1
  63. package/package.json +2 -1
  64. package/dist/lib/utils/sort-products.d.ts +0 -15
  65. package/dist/lib/utils/sort-products.d.ts.map +0 -1
  66. package/dist/lib/utils/sort-products.js +0 -30
  67. package/dist/lib/utils/sort-products.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { BrowseProductHitFragment } from "../../types/graphql.js";
2
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
3
+
4
+ //#region src/components/browse-product-preview/index.d.ts
5
+ type BrowseProductPreviewProps = {
6
+ product: BrowseProductHitFragment;
7
+ isFeatured?: boolean;
8
+ imagePriority?: boolean;
9
+ imageFetchPriority?: 'auto' | 'high' | 'low';
10
+ };
11
+ declare const BrowseProductPreview: ({
12
+ product,
13
+ isFeatured,
14
+ imagePriority,
15
+ imageFetchPriority
16
+ }: BrowseProductPreviewProps) => react_jsx_runtime6.JSX.Element;
17
+ //#endregion
18
+ export { BrowseProductPreview };
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/browse-product-preview/index.tsx"],"sourcesContent":[],"mappings":";;;;KAUK,yBAAA;WACM;;EADN,aAAA,CAAA,EAAA,OAAA;EA0CC,kBAAA,CAAA,EAAA,MAiCL,GAAA,MAAA,GAAA,KAAA;CAjC6B;cAAxB,oBAAwB,EAAA,CAAA;EAAA,OAAA;EAAA,UAAA;EAAA,aAAA;EAAA;AAAA,CAAA,EAK3B,yBAL2B,EAAA,GAKF,kBAAA,CAAA,GAAA,CAAA,OALE"}
@@ -0,0 +1,61 @@
1
+ import { LocalizedClientLink } from "@gfed-medusa/sf-lib-common/components/localized-client-link";
2
+ import { PreviewPrice } from "@gfed-medusa/sf-lib-common/components/preview-price";
3
+ import { Thumbnail } from "@gfed-medusa/sf-lib-common/components/thumbnail";
4
+ import { getPercentageDiff } from "@gfed-medusa/sf-lib-common/lib/utils/get-percentage-diff";
5
+ import { convertToLocale } from "@gfed-medusa/sf-lib-common/lib/utils/money";
6
+ import { Text } from "@medusajs/ui";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/components/browse-product-preview/index.tsx
10
+ const getBrowseProductPrice = (product) => {
11
+ if (typeof product.priceAmount !== "number" || !product.currencyCode || !product.currencyCode.trim()) return null;
12
+ const originalPrice = product.originalPriceAmount ?? product.priceAmount;
13
+ const isSale = typeof originalPrice === "number" && originalPrice > product.priceAmount;
14
+ return {
15
+ calculated_price_number: product.priceAmount,
16
+ calculated_price: convertToLocale({
17
+ amount: product.priceAmount,
18
+ currency_code: product.currencyCode
19
+ }),
20
+ original_price_number: originalPrice,
21
+ original_price: convertToLocale({
22
+ amount: originalPrice,
23
+ currency_code: product.currencyCode
24
+ }),
25
+ currency_code: product.currencyCode,
26
+ price_type: isSale ? "sale" : "default",
27
+ percentage_diff: isSale && originalPrice > 0 ? getPercentageDiff(originalPrice, product.priceAmount) : "0"
28
+ };
29
+ };
30
+ const BrowseProductPreview = ({ product, isFeatured, imagePriority = false, imageFetchPriority }) => {
31
+ const price = getBrowseProductPrice(product);
32
+ return /* @__PURE__ */ jsx(LocalizedClientLink, {
33
+ href: `/products/${product.handle}`,
34
+ className: "group",
35
+ children: /* @__PURE__ */ jsxs("div", {
36
+ "data-testid": "product-wrapper",
37
+ children: [/* @__PURE__ */ jsx(Thumbnail, {
38
+ thumbnail: product.thumbnail,
39
+ images: [],
40
+ size: "full",
41
+ isFeatured,
42
+ imagePriority,
43
+ imageFetchPriority
44
+ }), /* @__PURE__ */ jsxs("div", {
45
+ className: "txt-compact-medium mt-4 flex items-start justify-between gap-x-4",
46
+ children: [/* @__PURE__ */ jsx(Text, {
47
+ className: "text-ui-fg-subtle flex-1",
48
+ "data-testid": "product-title",
49
+ children: product.title
50
+ }), /* @__PURE__ */ jsx("div", {
51
+ className: "flex shrink-0 items-start gap-x-2",
52
+ children: price && /* @__PURE__ */ jsx(PreviewPrice, { price })
53
+ })]
54
+ })]
55
+ })
56
+ });
57
+ };
58
+
59
+ //#endregion
60
+ export { BrowseProductPreview };
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/browse-product-preview/index.tsx"],"sourcesContent":["import { LocalizedClientLink } from '@gfed-medusa/sf-lib-common/components/localized-client-link';\nimport { PreviewPrice } from '@gfed-medusa/sf-lib-common/components/preview-price';\nimport { Thumbnail } from '@gfed-medusa/sf-lib-common/components/thumbnail';\nimport { getPercentageDiff } from '@gfed-medusa/sf-lib-common/lib/utils/get-percentage-diff';\nimport { convertToLocale } from '@gfed-medusa/sf-lib-common/lib/utils/money';\nimport type { VariantPrice } from '@gfed-medusa/sf-lib-common/types/prices';\nimport { Text } from '@medusajs/ui';\n\nimport type { BrowseProductHitFragment } from '@/types/graphql';\n\ntype BrowseProductPreviewProps = {\n product: BrowseProductHitFragment;\n isFeatured?: boolean;\n imagePriority?: boolean;\n imageFetchPriority?: 'auto' | 'high' | 'low';\n};\n\nconst getBrowseProductPrice = (\n product: BrowseProductHitFragment\n): VariantPrice | null => {\n if (\n typeof product.priceAmount !== 'number' ||\n !product.currencyCode ||\n !product.currencyCode.trim()\n ) {\n return null;\n }\n\n const originalPrice = product.originalPriceAmount ?? product.priceAmount;\n const isSale =\n typeof originalPrice === 'number' && originalPrice > product.priceAmount;\n\n return {\n calculated_price_number: product.priceAmount,\n calculated_price: convertToLocale({\n amount: product.priceAmount,\n currency_code: product.currencyCode,\n }),\n original_price_number: originalPrice,\n original_price: convertToLocale({\n amount: originalPrice,\n currency_code: product.currencyCode,\n }),\n currency_code: product.currencyCode,\n price_type: isSale ? 'sale' : 'default',\n percentage_diff:\n isSale && originalPrice > 0\n ? getPercentageDiff(originalPrice, product.priceAmount)\n : '0',\n };\n};\n\nconst BrowseProductPreview = ({\n product,\n isFeatured,\n imagePriority = false,\n imageFetchPriority,\n}: BrowseProductPreviewProps) => {\n const price = getBrowseProductPrice(product);\n\n return (\n <LocalizedClientLink href={`/products/${product.handle}`} className=\"group\">\n <div data-testid=\"product-wrapper\">\n <Thumbnail\n thumbnail={product.thumbnail}\n images={[]}\n size=\"full\"\n isFeatured={isFeatured}\n imagePriority={imagePriority}\n imageFetchPriority={imageFetchPriority}\n />\n <div className=\"txt-compact-medium mt-4 flex items-start justify-between gap-x-4\">\n <Text\n className=\"text-ui-fg-subtle flex-1\"\n data-testid=\"product-title\"\n >\n {product.title}\n </Text>\n <div className=\"flex shrink-0 items-start gap-x-2\">\n {price && <PreviewPrice price={price} />}\n </div>\n </div>\n </div>\n </LocalizedClientLink>\n );\n};\n\nexport { BrowseProductPreview };\n"],"mappings":";;;;;;;;;AAiBA,MAAM,yBACJ,YACwB;AACxB,KACE,OAAO,QAAQ,gBAAgB,YAC/B,CAAC,QAAQ,gBACT,CAAC,QAAQ,aAAa,MAAM,CAE5B,QAAO;CAGT,MAAM,gBAAgB,QAAQ,uBAAuB,QAAQ;CAC7D,MAAM,SACJ,OAAO,kBAAkB,YAAY,gBAAgB,QAAQ;AAE/D,QAAO;EACL,yBAAyB,QAAQ;EACjC,kBAAkB,gBAAgB;GAChC,QAAQ,QAAQ;GAChB,eAAe,QAAQ;GACxB,CAAC;EACF,uBAAuB;EACvB,gBAAgB,gBAAgB;GAC9B,QAAQ;GACR,eAAe,QAAQ;GACxB,CAAC;EACF,eAAe,QAAQ;EACvB,YAAY,SAAS,SAAS;EAC9B,iBACE,UAAU,gBAAgB,IACtB,kBAAkB,eAAe,QAAQ,YAAY,GACrD;EACP;;AAGH,MAAM,wBAAwB,EAC5B,SACA,YACA,gBAAgB,OAChB,yBAC+B;CAC/B,MAAM,QAAQ,sBAAsB,QAAQ;AAE5C,QACE,oBAAC;EAAoB,MAAM,aAAa,QAAQ;EAAU,WAAU;YAClE,qBAAC;GAAI,eAAY;cACf,oBAAC;IACC,WAAW,QAAQ;IACnB,QAAQ,EAAE;IACV,MAAK;IACO;IACG;IACK;KACpB,EACF,qBAAC;IAAI,WAAU;eACb,oBAAC;KACC,WAAU;KACV,eAAY;eAEX,QAAQ;MACJ,EACP,oBAAC;KAAI,WAAU;eACZ,SAAS,oBAAC,gBAAoB,QAAS;MACpC;KACF;IACF;GACc"}
@@ -1,5 +1,5 @@
1
1
  import { ProductImage } from "../../types/graphql.js";
2
- import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/image-gallery/index.d.ts
5
5
  type ImageGalleryProps = {
@@ -7,7 +7,7 @@ type ImageGalleryProps = {
7
7
  };
8
8
  declare const ImageGallery: ({
9
9
  images
10
- }: ImageGalleryProps) => react_jsx_runtime2.JSX.Element;
10
+ }: ImageGalleryProps) => react_jsx_runtime5.JSX.Element;
11
11
  //#endregion
12
12
  export { ImageGallery as default };
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
- import Image from "next/image";
2
1
  import { Container } from "@medusajs/ui";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import Image from "next/image";
4
4
 
5
5
  //#region src/components/image-gallery/index.tsx
6
6
  const ImageGallery = ({ images }) => {
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime3 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime13 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/pagination/index.d.ts
4
4
  declare function Pagination({
@@ -9,7 +9,7 @@ declare function Pagination({
9
9
  page: number;
10
10
  totalPages: number;
11
11
  'data-testid'?: string;
12
- }): react_jsx_runtime3.JSX.Element;
12
+ }): react_jsx_runtime13.JSX.Element;
13
13
  //#endregion
14
14
  export { Pagination };
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/pagination/index.tsx"],"sourcesContent":[],"mappings":";;;iBAMgB,UAAA;;;iBAGC;;;;EAHD,aAAU,CAAA,EAAA,MAAA;CACxB,CAAA,EAOD,kBAAA,CAAA,GAAA,CAAA,OAPC"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/pagination/index.tsx"],"sourcesContent":[],"mappings":";;;iBAMgB,UAAA;;;iBAGC;;;;EAHD,aAAU,CAAA,EAAA,MAAA;CACxB,CAAA,EAOD,mBAAA,CAAA,GAAA,CAAA,OAPC"}
@@ -1,5 +1,5 @@
1
1
  import { ProductActionsProduct } from "../../types/index.js";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime12 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): react_jsx_runtime4.JSX.Element;
16
+ }: ProductActionsProps): react_jsx_runtime12.JSX.Element;
17
17
  //#endregion
18
18
  export { ProductActionsProps, ProductActions as default };
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-actions/index.tsx"],"sourcesContent":[],"mappings":";;;;KAyBY,mBAAA;WACD;;EADC,QAAA,CAAA,EAAA,OAAA;EA2BY,mBAAc,CAAA,EAAA,OAAA;CACpC;AACA,iBAFsB,cAAA,CAEtB;EAAA,OAAA;EAAA,QAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAGC,mBAHD,CAAA,EAGoB,kBAAA,CAAA,GAAA,CAAA,OAHpB"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/product-actions/index.tsx"],"sourcesContent":[],"mappings":";;;;KAyBY,mBAAA;WACD;;EADC,QAAA,CAAA,EAAA,OAAA;EA2BY,mBAAc,CAAA,EAAA,OAAA;CACpC;AACA,iBAFsB,cAAA,CAEtB;EAAA,OAAA;EAAA,QAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAGC,mBAHD,CAAA,EAGoB,mBAAA,CAAA,GAAA,CAAA,OAHpB"}
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime5 from "react/jsx-runtime";
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<react_jsx_runtime5.JSX.Element | null>;
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,kBAAA,CAAA,GAAA,CAAA,OAAA"}
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 react_jsx_runtime6 from "react/jsx-runtime";
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
- }): react_jsx_runtime6.JSX.Element;
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,kBAAA,CAAA,GAAA,CAAA,OANmC"}
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 react_jsx_runtime8 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 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) => react_jsx_runtime8.JSX.Element;
10
+ }: ProductTabsProps) => react_jsx_runtime0.JSX.Element;
11
11
  //#endregion
12
12
  export { ProductTabs as default };
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1,16 +1,18 @@
1
1
  import { SortOptions } from "./sort-products/index.js";
2
- import * as react_jsx_runtime10 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/refinement-list/index.d.ts
5
5
  type RefinementListProps = {
6
6
  sortBy: SortOptions;
7
7
  search?: boolean;
8
8
  'data-testid'?: string;
9
+ className?: string;
9
10
  };
10
11
  declare const RefinementList: ({
11
12
  sortBy,
12
- "data-testid": dataTestId
13
- }: RefinementListProps) => react_jsx_runtime10.JSX.Element;
13
+ "data-testid": dataTestId,
14
+ className
15
+ }: RefinementListProps) => react_jsx_runtime0.JSX.Element;
14
16
  //#endregion
15
17
  export { RefinementList as default };
16
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":";;;;KAQK,mBAAA;UACK;;EADL,aAAA,CAAA,EAAA,MAAmB;AACH,CAAA;cAKf,cAAkB,EAAA,CAAA;EAAA,MAAA;EAAA,aAAA,EAAA;AAAA,CAAA,EAGrB,mBAHqB,EAAA,GAGF,mBAAA,CAAA,GAAA,CAAA,OAHE"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/refinement-list/index.tsx"],"sourcesContent":[],"mappings":";;;;KAUK,mBAAA;UACK;;EADL,aAAA,CAAA,EAAA,MAAmB;EAOlB,SAAA,CAAA,EAAA,MA8CL;CA9CuB;cAAlB,cAAkB,EAAA,CAAA;EAAA,MAAA;EAAA,aAAA,EAAA,UAAA;EAAA;AAAA,CAAA,EAIrB,mBAJqB,EAAA,GAIF,kBAAA,CAAA,GAAA,CAAA,OAJE"}
@@ -1,31 +1,44 @@
1
1
  'use client';
2
2
 
3
3
  import sort_products_default from "./sort-products/index.js";
4
- import { jsx } from "react/jsx-runtime";
4
+ import { clx } from "@medusajs/ui";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { usePathname, useRouter, useSearchParams } from "next/navigation";
6
7
  import { useCallback } from "react";
7
8
 
8
9
  //#region src/components/refinement-list/index.tsx
9
- const RefinementList = ({ sortBy, "data-testid": dataTestId }) => {
10
+ const RefinementList = ({ sortBy, "data-testid": dataTestId, className }) => {
10
11
  const router = useRouter();
11
12
  const pathname = usePathname();
12
13
  const searchParams = useSearchParams();
13
14
  const createQueryString = useCallback((name, value) => {
14
15
  const params = new URLSearchParams(searchParams);
15
16
  params.set(name, value);
17
+ if (name === "sortBy") params.delete("page");
16
18
  return params.toString();
17
19
  }, [searchParams]);
18
20
  const setQueryParams = (name, value) => {
19
21
  const query = createQueryString(name, value);
20
22
  router.push(`${pathname}?${query}`);
21
23
  };
22
- return /* @__PURE__ */ jsx("div", {
23
- className: "small:ml-[1.675rem] small:min-w-[250px] small:flex-col small:px-0 mb-8 flex gap-12 py-4 pl-6",
24
- children: /* @__PURE__ */ jsx(sort_products_default, {
25
- sortBy,
26
- setQueryParams,
27
- "data-testid": dataTestId
28
- })
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ className: clx("w-full", className),
26
+ children: [/* @__PURE__ */ jsx("div", {
27
+ className: "small:hidden",
28
+ children: /* @__PURE__ */ jsx(sort_products_default, {
29
+ sortBy,
30
+ setQueryParams,
31
+ "data-testid": dataTestId,
32
+ variant: "dropdown"
33
+ })
34
+ }), /* @__PURE__ */ jsx("div", {
35
+ className: "small:ml-[1.675rem] small:min-w-[250px] small:flex-col small:px-0 small:py-4 small:pr-6 small:block hidden",
36
+ children: /* @__PURE__ */ jsx(sort_products_default, {
37
+ sortBy,
38
+ setQueryParams,
39
+ "data-testid": dataTestId
40
+ })
41
+ })]
29
42
  });
30
43
  };
31
44
  var refinement_list_default = RefinementList;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SortProducts"],"sources":["../../../src/components/refinement-list/index.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\n\nimport SortProducts, { SortOptions } from './sort-products';\n\ntype RefinementListProps = {\n sortBy: SortOptions;\n search?: boolean;\n 'data-testid'?: string;\n};\n\nconst RefinementList = ({\n sortBy,\n 'data-testid': dataTestId,\n}: RefinementListProps) => {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n const createQueryString = useCallback(\n (name: string, value: string) => {\n const params = new URLSearchParams(searchParams);\n params.set(name, value);\n\n return params.toString();\n },\n [searchParams]\n );\n\n const setQueryParams = (name: string, value: string) => {\n const query = createQueryString(name, value);\n router.push(`${pathname}?${query}`);\n };\n\n return (\n <div className=\"small:ml-[1.675rem] small:min-w-[250px] small:flex-col small:px-0 mb-8 flex gap-12 py-4 pl-6\">\n <SortProducts\n sortBy={sortBy}\n setQueryParams={setQueryParams}\n data-testid={dataTestId}\n />\n </div>\n );\n};\n\nexport default RefinementList;\n"],"mappings":";;;;;;;;AAcA,MAAM,kBAAkB,EACtB,QACA,eAAe,iBACU;CACzB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,eAAe,iBAAiB;CAEtC,MAAM,oBAAoB,aACvB,MAAc,UAAkB;EAC/B,MAAM,SAAS,IAAI,gBAAgB,aAAa;AAChD,SAAO,IAAI,MAAM,MAAM;AAEvB,SAAO,OAAO,UAAU;IAE1B,CAAC,aAAa,CACf;CAED,MAAM,kBAAkB,MAAc,UAAkB;EACtD,MAAM,QAAQ,kBAAkB,MAAM,MAAM;AAC5C,SAAO,KAAK,GAAG,SAAS,GAAG,QAAQ;;AAGrC,QACE,oBAAC;EAAI,WAAU;YACb,oBAACA;GACS;GACQ;GAChB,eAAa;IACb;GACE;;AAIV,8BAAe"}
1
+ {"version":3,"file":"index.js","names":["SortProducts"],"sources":["../../../src/components/refinement-list/index.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\n\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\n\nimport { clx } from '@medusajs/ui';\n\nimport SortProducts, { SortOptions } from './sort-products';\n\ntype RefinementListProps = {\n sortBy: SortOptions;\n search?: boolean;\n 'data-testid'?: string;\n className?: string;\n};\n\nconst RefinementList = ({\n sortBy,\n 'data-testid': dataTestId,\n className,\n}: RefinementListProps) => {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n const createQueryString = useCallback(\n (name: string, value: string) => {\n const params = new URLSearchParams(searchParams);\n params.set(name, value);\n if (name === 'sortBy') {\n params.delete('page');\n }\n\n return params.toString();\n },\n [searchParams]\n );\n\n const setQueryParams = (name: string, value: string) => {\n const query = createQueryString(name, value);\n router.push(`${pathname}?${query}`);\n };\n\n return (\n <div className={clx('w-full', className)}>\n <div className=\"small:hidden\">\n <SortProducts\n sortBy={sortBy}\n setQueryParams={setQueryParams}\n data-testid={dataTestId}\n variant=\"dropdown\"\n />\n </div>\n <div className=\"small:ml-[1.675rem] small:min-w-[250px] small:flex-col small:px-0 small:py-4 small:pr-6 small:block hidden\">\n <SortProducts\n sortBy={sortBy}\n setQueryParams={setQueryParams}\n data-testid={dataTestId}\n />\n </div>\n </div>\n );\n};\n\nexport default RefinementList;\n"],"mappings":";;;;;;;;;AAiBA,MAAM,kBAAkB,EACtB,QACA,eAAe,YACf,gBACyB;CACzB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,eAAe,iBAAiB;CAEtC,MAAM,oBAAoB,aACvB,MAAc,UAAkB;EAC/B,MAAM,SAAS,IAAI,gBAAgB,aAAa;AAChD,SAAO,IAAI,MAAM,MAAM;AACvB,MAAI,SAAS,SACX,QAAO,OAAO,OAAO;AAGvB,SAAO,OAAO,UAAU;IAE1B,CAAC,aAAa,CACf;CAED,MAAM,kBAAkB,MAAc,UAAkB;EACtD,MAAM,QAAQ,kBAAkB,MAAM,MAAM;AAC5C,SAAO,KAAK,GAAG,SAAS,GAAG,QAAQ;;AAGrC,QACE,qBAAC;EAAI,WAAW,IAAI,UAAU,UAAU;aACtC,oBAAC;GAAI,WAAU;aACb,oBAACA;IACS;IACQ;IAChB,eAAa;IACb,SAAQ;KACR;IACE,EACN,oBAAC;GAAI,WAAU;aACb,oBAACA;IACS;IACQ;IAChB,eAAa;KACb;IACE;GACF;;AAIV,8BAAe"}
@@ -5,12 +5,14 @@ type SortOptions = 'price_asc' | 'price_desc' | 'created_at';
5
5
  type SortProductsProps = {
6
6
  sortBy: SortOptions;
7
7
  setQueryParams: (name: string, value: SortOptions) => void;
8
+ variant?: 'radio' | 'dropdown';
8
9
  'data-testid'?: string;
9
10
  };
10
11
  declare const SortProducts: ({
11
12
  "data-testid": dataTestId,
12
13
  sortBy,
13
- setQueryParams
14
+ setQueryParams,
15
+ variant
14
16
  }: SortProductsProps) => react_jsx_runtime11.JSX.Element;
15
17
  //#endregion
16
18
  export { SortOptions, SortProducts as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/refinement-list/sort-products/index.tsx"],"sourcesContent":[],"mappings":";;;KAIY,WAAA;KAEP,iBAAA;UACK;EAHE,cAAW,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAIiB,WAJjB,EAAA,GAAA,IAAA;EAElB,aAAA,CAAA,EAAA,MAAiB;AAE6B,CAAA;cAmB7C,YAAgB,EAAA,CAAA;EAAA,aAAA,EAAA,UAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAInB,iBAJmB,EAAA,GAIF,mBAAA,CAAA,GAAA,CAAA,OAJE"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/refinement-list/sort-products/index.tsx"],"sourcesContent":[],"mappings":";;;KAKY,WAAA;KAEP,iBAAA;UACK;EAHE,cAAW,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAIiB,WAJjB,EAAA,GAAA,IAAA;EAElB,OAAA,CAAA,EAAA,OAAA,GAAiB,UAAA;EAsBhB,aAAA,CAAA,EAwCL,MAAA;CAxCqB;cAAhB,YAAgB,EAAA,CAAA;EAAA,aAAA,EAAA,UAAA;EAAA,MAAA;EAAA,cAAA;EAAA;AAAA,CAAA,EAKnB,iBALmB,EAAA,GAKF,mBAAA,CAAA,GAAA,CAAA,OALE"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { FilterRadioGroup } from "@gfed-medusa/sf-lib-ui/components/filter-radio-group";
5
+ import NativeSelect from "@gfed-medusa/sf-lib-ui/components/native-select";
5
6
 
6
7
  //#region src/components/refinement-list/sort-products/index.tsx
7
8
  const sortOptions = [
@@ -18,10 +19,25 @@ const sortOptions = [
18
19
  label: "Price: High -> Low"
19
20
  }
20
21
  ];
21
- const SortProducts = ({ "data-testid": dataTestId, sortBy, setQueryParams }) => {
22
+ const SortProducts = ({ "data-testid": dataTestId, sortBy, setQueryParams, variant = "radio" }) => {
22
23
  const handleChange = (value) => {
23
24
  setQueryParams("sortBy", value);
24
25
  };
26
+ if (variant === "dropdown") return /* @__PURE__ */ jsx("div", {
27
+ className: "w-fit max-w-full",
28
+ children: /* @__PURE__ */ jsx(NativeSelect, {
29
+ "aria-label": "Sort products",
30
+ placeholder: "Sort by",
31
+ value: sortBy,
32
+ className: "xsmall:w-[280px] w-[220px] max-w-full",
33
+ onChange: (event) => handleChange(event.target.value),
34
+ "data-testid": dataTestId,
35
+ children: sortOptions.map((option) => /* @__PURE__ */ jsx("option", {
36
+ value: option.value,
37
+ children: option.label
38
+ }, option.value))
39
+ })
40
+ });
25
41
  return /* @__PURE__ */ jsx(FilterRadioGroup, {
26
42
  title: "Sort by",
27
43
  items: sortOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/refinement-list/sort-products/index.tsx"],"sourcesContent":["'use client';\n\nimport { FilterRadioGroup } from '@gfed-medusa/sf-lib-ui/components/filter-radio-group';\n\nexport type SortOptions = 'price_asc' | 'price_desc' | 'created_at';\n\ntype SortProductsProps = {\n sortBy: SortOptions;\n setQueryParams: (name: string, value: SortOptions) => void;\n 'data-testid'?: string;\n};\n\nconst sortOptions = [\n {\n value: 'created_at',\n label: 'Latest Arrivals',\n },\n {\n value: 'price_asc',\n label: 'Price: Low -> High',\n },\n {\n value: 'price_desc',\n label: 'Price: High -> Low',\n },\n];\n\nconst SortProducts = ({\n 'data-testid': dataTestId,\n sortBy,\n setQueryParams,\n}: SortProductsProps) => {\n const handleChange = (value: SortOptions) => {\n setQueryParams('sortBy', value);\n };\n\n return (\n <FilterRadioGroup\n title=\"Sort by\"\n items={sortOptions}\n value={sortBy}\n handleChange={handleChange}\n data-testid={dataTestId}\n />\n );\n};\n\nexport default SortProducts;\n"],"mappings":";;;;;;AAYA,MAAM,cAAc;CAClB;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACF;AAED,MAAM,gBAAgB,EACpB,eAAe,YACf,QACA,qBACuB;CACvB,MAAM,gBAAgB,UAAuB;AAC3C,iBAAe,UAAU,MAAM;;AAGjC,QACE,oBAAC;EACC,OAAM;EACN,OAAO;EACP,OAAO;EACO;EACd,eAAa;GACb;;AAIN,4BAAe"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/refinement-list/sort-products/index.tsx"],"sourcesContent":["'use client';\n\nimport { FilterRadioGroup } from '@gfed-medusa/sf-lib-ui/components/filter-radio-group';\nimport NativeSelect from '@gfed-medusa/sf-lib-ui/components/native-select';\n\nexport type SortOptions = 'price_asc' | 'price_desc' | 'created_at';\n\ntype SortProductsProps = {\n sortBy: SortOptions;\n setQueryParams: (name: string, value: SortOptions) => void;\n variant?: 'radio' | 'dropdown';\n 'data-testid'?: string;\n};\n\nconst sortOptions = [\n {\n value: 'created_at',\n label: 'Latest Arrivals',\n },\n {\n value: 'price_asc',\n label: 'Price: Low -> High',\n },\n {\n value: 'price_desc',\n label: 'Price: High -> Low',\n },\n];\n\nconst SortProducts = ({\n 'data-testid': dataTestId,\n sortBy,\n setQueryParams,\n variant = 'radio',\n}: SortProductsProps) => {\n const handleChange = (value: SortOptions) => {\n setQueryParams('sortBy', value);\n };\n\n if (variant === 'dropdown') {\n return (\n <div className=\"w-fit max-w-full\">\n <NativeSelect\n aria-label=\"Sort products\"\n placeholder=\"Sort by\"\n value={sortBy}\n className=\"xsmall:w-[280px] w-[220px] max-w-full\"\n onChange={(event) => handleChange(event.target.value as SortOptions)}\n data-testid={dataTestId}\n >\n {sortOptions.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </NativeSelect>\n </div>\n );\n }\n\n return (\n <FilterRadioGroup\n title=\"Sort by\"\n items={sortOptions}\n value={sortBy}\n handleChange={handleChange}\n data-testid={dataTestId}\n />\n );\n};\n\nexport default SortProducts;\n"],"mappings":";;;;;;;AAcA,MAAM,cAAc;CAClB;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACF;AAED,MAAM,gBAAgB,EACpB,eAAe,YACf,QACA,gBACA,UAAU,cACa;CACvB,MAAM,gBAAgB,UAAuB;AAC3C,iBAAe,UAAU,MAAM;;AAGjC,KAAI,YAAY,WACd,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC;GACC,cAAW;GACX,aAAY;GACZ,OAAO;GACP,WAAU;GACV,WAAW,UAAU,aAAa,MAAM,OAAO,MAAqB;GACpE,eAAa;aAEZ,YAAY,KAAK,WAChB,oBAAC;IAA0B,OAAO,OAAO;cACtC,OAAO;MADG,OAAO,MAEX,CACT;IACW;GACX;AAIV,QACE,oBAAC;EACC,OAAM;EACN,OAAO;EACP,OAAO;EACO;EACd,eAAa;GACb;;AAIN,4BAAe"}
@@ -1,5 +1,5 @@
1
1
  import { Product } from "../../types/graphql.js";
2
- import * as react_jsx_runtime12 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 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<react_jsx_runtime12.JSX.Element | null>;
12
+ }: RelatedProductsProps): Promise<react_jsx_runtime1.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,mBAAA,CAAA,GAAA,CAAA,OAAA,GAHsB,IAAA,CAAA"}
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,kBAAA,CAAA,GAAA,CAAA,OAAA,GAHsB,IAAA,CAAA"}
@@ -1,11 +1,11 @@
1
- import * as react_jsx_runtime13 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 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
- }) => react_jsx_runtime13.JSX.Element;
8
+ }) => react_jsx_runtime2.JSX.Element;
9
9
  //#endregion
10
10
  export { SkeletonProductGrid as default };
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-product-grid/index.tsx"],"sourcesContent":[],"mappings":";;;cAGM;;;;MAIL,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-product-grid/index.tsx"],"sourcesContent":[],"mappings":";;;cAGM;;;;MAIL,kBAAA,CAAA,GAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/skeleton-product-preview/index.d.ts
4
- declare const SkeletonProductPreview: () => react_jsx_runtime7.JSX.Element;
4
+ declare const SkeletonProductPreview: () => react_jsx_runtime3.JSX.Element;
5
5
  //#endregion
6
6
  export { SkeletonProductPreview as default };
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime14 from "react/jsx-runtime";
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: () => react_jsx_runtime14.JSX.Element;
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 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-related-products/index.tsx"],"sourcesContent":[],"mappings":";;;cAGM,+BAAuB,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/skeleton-related-products/index.tsx"],"sourcesContent":[],"mappings":";;;cAGM,+BAAuB,kBAAA,CAAA,GAAA,CAAA"}
@@ -1,8 +1,15 @@
1
- import { GetProductsQuery, GetProductsQueryVariables, Product } from "../../types/graphql.js";
1
+ import { BrowseProductHitFragment, GetProductsQuery, GetProductsQueryVariables, Product } from "../../types/graphql.js";
2
2
  import { PricingProduct, SortOptions } from "../../types/index.js";
3
3
  import { StorefrontContext } from "@gfed-medusa/sf-lib-common/lib/data/context";
4
4
 
5
5
  //#region src/lib/data/products.d.ts
6
+ type BrowseProductsListItem = BrowseProductHitFragment;
7
+ type BrowseProductsListParams = {
8
+ limit?: number;
9
+ collection_id?: string[];
10
+ category_id?: string[];
11
+ id?: string[];
12
+ };
6
13
  declare const listProducts: ({
7
14
  countryCode,
8
15
  regionId,
@@ -44,11 +51,6 @@ declare const retrieveProductPricing: ({
44
51
  id: string;
45
52
  regionId: string;
46
53
  }, ctx: StorefrontContext) => Promise<PricingProduct | null>;
47
- /**
48
- * Price sorting is still handled locally, so it fetches a larger result set and
49
- * slices it after sorting. For the default created_at sort, fetch only the
50
- * requested page to avoid downloading unused products.
51
- */
52
54
  declare const listProductsWithSort: ({
53
55
  page,
54
56
  queryParams,
@@ -56,17 +58,17 @@ declare const listProductsWithSort: ({
56
58
  countryCode
57
59
  }: {
58
60
  page?: number;
59
- queryParams?: GetProductsQueryVariables;
61
+ queryParams?: BrowseProductsListParams;
60
62
  sortBy?: SortOptions;
61
63
  countryCode: string;
62
64
  }, ctx: StorefrontContext) => Promise<{
63
65
  response: {
64
- products: Product[];
66
+ products: BrowseProductsListItem[];
65
67
  count: number;
66
68
  };
67
69
  nextPage: number | null;
68
- queryParams?: GetProductsQueryVariables;
70
+ queryParams?: BrowseProductsListParams;
69
71
  }>;
70
72
  //#endregion
71
- export { listProducts, listProductsPreview, listProductsWithSort, retrieveProductPricing };
73
+ export { BrowseProductsListItem, BrowseProductsListParams, listProducts, listProductsPreview, listProductsWithSort, retrieveProductPricing };
72
74
  //# sourceMappingURL=products.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","names":[],"sources":["../../../src/lib/data/products.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ba;;;;;;EAAA,WAAA,CAAA,EAOK,yBA4DjB;EAlEC,WAAA,CAAA,EAAA,MAAA;EAAA,QAAA,CAAA,EAAA,MAAA;CAAA,EAAA,GAAA,EAUK,iBAVL,EAAA,GAWC,OAXD,CAAA;EAMgB,QAAA,EAAA;IAIX,QAAA,EAGO,gBAHP,CAAA,UAAA,CAAA,CAAA,UAAA,CAAA,GAAA,EAAA;IAGO,KAAA,EAAA,MAAA;EAIE,CAAA;EANb,QAAA,EAAA,MAAA,GAAA,IAAA;EAAO,WAAA,CAAA,EAMM,yBANN;AAyDV,CAAA,CAAA;AACE,cADW,mBACX,EAAA,CAAA;EAAA,WAAA;EAAA,QAAA;EAAA;CAAA,EAAA;EAAA,SAAA,CAAA,EAAA,MAAA;EAAA,WAAA,CAAA,EAMgB,yBANhB;EAMgB,WAAA,CAAA,EAAA,MAAA;EAIX,QAAA,CAAA,EAAA,MAAA;CAGO,EAAA,GAAA,EAHP,iBAGO,EAAA,GAFX,OAEW,CAAA;EAIE,QAAA,EAAA;IANb,QAAA,EAEW,OAFX,EAAA,GAAA,EAAA;IAAO,KAAA,EAAA,MAAA;EAyDG,CAAA;EACX,QAAA,EAAA,MAAA,GAAA,IAAA;EAAA,WAAA,CAAA,EApDc,yBAoDd;CAOK,CAAA;AACI,cATE,sBASF,EAAA,CAAA;EAAA,EAAA;EAAA;AA8BX,CA9BW,EAAA;EAAR,EAAA,EAAA,MAAA;EAAO,QAAA,EAAA,MAAA;AA8BV,CAAA,EAAA,GAAa,EA/BN,iBA+BM,EAiFZ,GA/GE,OA+GF,CA/GU,cA+GV,GAAA,IAAA,CAAA;;;;;;AAxEY,cATA,oBASA,EAAA,CAAA;EAAA,IAAA;EAAA,WAAA;EAAA,MAAA;EAAA;CAAA,EAAA;EAGN,IAAA,CAAA,EAAA,MAAA;EAEiB,WAAA,CAAA,EANN,yBAMM;EAER,MAAA,CAAA,EAPH,WAOG;EAHb,WAAA,EAAA,MAAA;CAAO,EAAA,GAAA,EADH,iBACG,EAAA,GAAP,OAAO,CAAA;;cACc;;;;gBAER"}
1
+ {"version":3,"file":"products.d.ts","names":[],"sources":["../../../src/lib/data/products.ts"],"sourcesContent":[],"mappings":";;;;;KAkCY,sBAAA,GAAyB;KAEzB,wBAAA;EAFA,KAAA,CAAA,EAAA,MAAA;EAEA,aAAA,CAAA,EAAA,MAAA,EAAA;EA6PC,WAAA,CAAA,EAAA,MAmEZ,EAAA;EAlEC,EAAA,CAAA,EAAA,MAAA,EAAA;CAAA;AAAA,cADW,YACX,EAAA,CAAA;EAAA,WAAA;EAAA,QAAA;EAAA;CAAA,EAAA;EAMgB,SAAA,CAAA,EAAA,MAAA;EAIX,WAAA,CAAA,EAJW,yBAIX;EAGO,WAAA,CAAA,EAAA,MAAA;EAIE,QAAA,CAAA,EAAA,MAAA;CANb,EAAA,GAAA,EADI,iBACJ,EAAA,GAAA,OAAA,CAAA;EAAO,QAAA,EAAA;IAyDG,QAAA,EAvDC,gBA0Hb,CAAA,UAAA,CAAA,CAAA,UAAA,CAAA,GAAA,EAAA;IAlEC,KAAA,EAAA,MAAA;EAAA,CAAA;EAAA,QAAA,EAAA,MAAA,GAAA,IAAA;EAMgB,WAAA,CAAA,EA1DF,yBA0DE;CAIX,CAAA;AAGO,cAdD,mBAcC,EAAA,CAAA;EAAA,WAAA;EAAA,QAAA;EAAA;CAAA,EAAA;EAIE,SAAA,CAAA,EAAA,MAAA;EANb,WAAA,CAAA,EALe,yBAKf;EAAO,WAAA,CAAA,EAAA,MAAA;EAyDG,QAAA,CAAA,EAAA,MAAA;CACX,EAAA,GAAA,EA3DK,iBA2DL,EAAA,GA1DC,OA0DD,CAAA;EAAA,QAAA,EAAA;IAOK,QAAA,EA/DO,OA+DP,EAAA,GAAA,EAAA;IACI,KAAA,EAAA,MAAA;EAAR,CAAA;EAAO,QAAA,EAAA,MAAA,GAAA,IAAA;EAyBG,WAAA,CAAA,EArFG,yBA2Lf;CArGC,CAAA;AAAA,cAnCW,sBAmCX,EAAA,CAAA;EAAA,EAAA;EAAA;CAAA,EAAA;EAAA,EAAA,EAAA,MAAA;EAAA,QAAA,EAAA,MAAA;CAOgB,EAAA,GAAA,EAlCX,iBAkCW,EAAA,GAjCf,OAiCe,CAjCP,cAiCO,GAAA,IAAA,CAAA;AACL,cATA,oBASA,EAAA,CAAA;EAAA,IAAA;EAAA,WAAA;EAAA,MAAA;EAAA;CAAA,EAAA;EAGN,IAAA,CAAA,EAAA,MAAA;EAEiB,WAAA,CAAA,EANN,wBAMM;EAER,MAAA,CAAA,EAPH,WAOG;EAHb,WAAA,EAAA,MAAA;CAAO,EAAA,GAAA,EADH,iBACG,EAAA,GAAP,OAAO,CAAA;;cACc;;;;gBAER"}