@gfed-medusa/sf-lib-common 3.3.3 → 3.3.7

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 (99) hide show
  1. package/dist/components/breadcrumbs/index.d.ts +2 -2
  2. package/dist/components/cart-mismatch-banner/index.d.ts +2 -2
  3. package/dist/components/cart-mismatch-banner/index.js +6 -2
  4. package/dist/components/cart-mismatch-banner/index.js.map +1 -1
  5. package/dist/components/delete-button/index.d.ts +2 -2
  6. package/dist/components/error-message/index.d.ts +2 -2
  7. package/dist/components/error-message/index.d.ts.map +1 -1
  8. package/dist/components/free-shipping-price-nudge/index.d.ts +2 -2
  9. package/dist/components/interactive-link/index.d.ts +9 -6
  10. package/dist/components/interactive-link/index.d.ts.map +1 -1
  11. package/dist/components/interactive-link/index.js +6 -6
  12. package/dist/components/interactive-link/index.js.map +1 -1
  13. package/dist/components/line-item-options/index.d.ts +2 -2
  14. package/dist/components/line-item-price/index.d.ts +2 -2
  15. package/dist/components/line-item-price/index.d.ts.map +1 -1
  16. package/dist/components/localized-client-link/index.d.ts +2 -2
  17. package/dist/components/modal/index.d.ts +2 -2
  18. package/dist/components/modal/index.d.ts.map +1 -1
  19. package/dist/components/modal/index.js +6 -8
  20. package/dist/components/modal/index.js.map +1 -1
  21. package/dist/components/preview-price/index.d.ts +2 -2
  22. package/dist/components/preview-price/index.d.ts.map +1 -1
  23. package/dist/components/product-card/index.d.ts +2 -2
  24. package/dist/components/product-card/index.js +1 -1
  25. package/dist/components/product-card/index.js.map +1 -1
  26. package/dist/components/product-preview/index.d.ts +10 -5
  27. package/dist/components/product-preview/index.d.ts.map +1 -1
  28. package/dist/components/product-preview/index.js +4 -2
  29. package/dist/components/product-preview/index.js.map +1 -1
  30. package/dist/components/submit-button/index.d.ts +2 -2
  31. package/dist/components/thumbnail/index.d.ts +2 -0
  32. package/dist/components/thumbnail/index.d.ts.map +1 -1
  33. package/dist/components/thumbnail/index.js +7 -3
  34. package/dist/components/thumbnail/index.js.map +1 -1
  35. package/dist/lib/config/medusa.js +1 -1
  36. package/dist/lib/context/apollo-context.d.ts +2 -2
  37. package/dist/lib/context/modal-context.d.ts +2 -2
  38. package/dist/lib/context/modal-context.d.ts.map +1 -1
  39. package/dist/lib/data/categories.d.ts +4 -15
  40. package/dist/lib/data/categories.d.ts.map +1 -1
  41. package/dist/lib/data/categories.js +5 -2
  42. package/dist/lib/data/categories.js.map +1 -1
  43. package/dist/lib/data/context.d.ts +2 -2
  44. package/dist/lib/data/context.d.ts.map +1 -1
  45. package/dist/lib/data/cookies-actions.d.ts.map +1 -1
  46. package/dist/lib/data/cookies-actions.js +8 -4
  47. package/dist/lib/data/cookies-actions.js.map +1 -1
  48. package/dist/lib/data/home-banner.d.ts +7 -0
  49. package/dist/lib/data/home-banner.d.ts.map +1 -0
  50. package/dist/lib/data/home-banner.js +16 -0
  51. package/dist/lib/data/home-banner.js.map +1 -0
  52. package/dist/lib/gql/fragments/cart.d.ts +9 -9
  53. package/dist/lib/gql/fragments/cart.d.ts.map +1 -1
  54. package/dist/lib/gql/fragments/customer.d.ts +3 -3
  55. package/dist/lib/gql/fragments/customer.d.ts.map +1 -1
  56. package/dist/lib/gql/fragments/product.d.ts +9 -10
  57. package/dist/lib/gql/fragments/product.d.ts.map +1 -1
  58. package/dist/lib/gql/fragments/product.js +1 -10
  59. package/dist/lib/gql/fragments/product.js.map +1 -1
  60. package/dist/lib/gql/mutations/cart.d.ts +6 -6
  61. package/dist/lib/gql/queries/cart.d.ts +2 -2
  62. package/dist/lib/gql/queries/collections.d.ts +3 -3
  63. package/dist/lib/gql/queries/customer.d.ts +2 -2
  64. package/dist/lib/gql/queries/footer.d.ts +3 -3
  65. package/dist/lib/gql/queries/home-banner.d.ts +7 -0
  66. package/dist/lib/gql/queries/home-banner.d.ts.map +1 -0
  67. package/dist/lib/gql/queries/home-banner.js +46 -0
  68. package/dist/lib/gql/queries/home-banner.js.map +1 -0
  69. package/dist/lib/gql/queries/order.d.ts +4 -4
  70. package/dist/lib/gql/queries/order.d.ts.map +1 -1
  71. package/dist/lib/gql/queries/order.js +1 -0
  72. package/dist/lib/gql/queries/order.js.map +1 -1
  73. package/dist/lib/gql/queries/product.d.ts +3 -4
  74. package/dist/lib/gql/queries/product.d.ts.map +1 -1
  75. package/dist/lib/gql/queries/product.js +4 -23
  76. package/dist/lib/gql/queries/product.js.map +1 -1
  77. package/dist/lib/gql/queries/regions.d.ts +3 -3
  78. package/dist/lib/utils/get-product-price.d.ts +3 -2
  79. package/dist/lib/utils/get-product-price.d.ts.map +1 -1
  80. package/dist/lib/utils/get-product-price.js.map +1 -1
  81. package/dist/lib/utils/imagekit.d.ts +0 -4
  82. package/dist/lib/utils/imagekit.d.ts.map +1 -1
  83. package/dist/lib/utils/imagekit.js +3 -8
  84. package/dist/lib/utils/imagekit.js.map +1 -1
  85. package/dist/types/cms.d.ts +27 -1
  86. package/dist/types/cms.d.ts.map +1 -1
  87. package/dist/types/graphql.d.ts +94 -38
  88. package/dist/types/graphql.d.ts.map +1 -1
  89. package/dist/types/graphql.js +258 -289
  90. package/dist/types/graphql.js.map +1 -1
  91. package/package.json +4 -4
  92. package/dist/lib/data/search.d.ts +0 -9
  93. package/dist/lib/data/search.d.ts.map +0 -1
  94. package/dist/lib/data/search.js +0 -23
  95. package/dist/lib/data/search.js.map +0 -1
  96. package/dist/lib/hooks/use-search.d.ts +0 -22
  97. package/dist/lib/hooks/use-search.d.ts.map +0 -1
  98. package/dist/lib/hooks/use-search.js +0 -69
  99. package/dist/lib/hooks/use-search.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gfed-medusa/sf-lib-common",
3
- "version": "3.3.3",
3
+ "version": "3.3.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@apollo/client": "^4.0.9",
42
- "@gfed-medusa/sf-lib-ui": "^1.2.2",
42
+ "@gfed-medusa/sf-lib-ui": "^1.2.3",
43
43
  "@headlessui/react": "^2.2.9",
44
44
  "@medusajs/icons": "^2.12.1",
45
45
  "@medusajs/js-sdk": "^2.12.1",
@@ -73,8 +73,8 @@
73
73
  "madge": "^8.0.0",
74
74
  "tsdown": "^0.17.3",
75
75
  "typescript": "^5",
76
- "@packages/jest-config": "0.0.0",
77
76
  "@packages/eslint-config": "0.0.0",
77
+ "@packages/jest-config": "0.0.0",
78
78
  "@packages/prettier-config": "0.0.0",
79
79
  "@packages/typescript-config": "0.0.0"
80
80
  },
@@ -86,7 +86,7 @@
86
86
  "tailwindcss": "^4.1.18"
87
87
  },
88
88
  "scripts": {
89
- "build": "tsdown",
89
+ "build": "tsdown --env.NODE_ENV=production",
90
90
  "codegen": "graphql-codegen --config codegen.ts",
91
91
  "codegen:watch": "graphql-codegen --config codegen.ts --watch",
92
92
  "dev": "tsdown --watch",
@@ -1,9 +0,0 @@
1
- import { ProductHit, SearchSuggestionsQueryVariables } from "../../types/graphql.js";
2
-
3
- //#region src/lib/data/search.d.ts
4
- declare const searchSuggestions: (params: SearchSuggestionsQueryVariables) => Promise<{
5
- items: ProductHit[];
6
- }>;
7
- //#endregion
8
- export { searchSuggestions };
9
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","names":[],"sources":["../../../src/lib/data/search.ts"],"sourcesContent":[],"mappings":";;;cAUa,4BACH,oCACP;SAAiB;AAFpB,CAAA,CAAA"}
@@ -1,23 +0,0 @@
1
- 'use server';
2
-
3
- import { graphqlFetch } from "../gql/apollo-client.js";
4
- import { SEARCH_SUGGESTIONS_QUERY } from "../gql/queries/product.js";
5
-
6
- //#region src/lib/data/search.ts
7
- const searchSuggestions = async (params) => {
8
- try {
9
- const response = await graphqlFetch({
10
- query: SEARCH_SUGGESTIONS_QUERY,
11
- variables: { query: params.query }
12
- });
13
- if (!response?.searchProducts) throw new Error("No search results returned");
14
- return response.searchProducts;
15
- } catch (error) {
16
- console.error("Search error:", error);
17
- throw new Error(`Failed to search suggestions: ${error instanceof Error ? error.message : "Unknown error"}`);
18
- }
19
- };
20
-
21
- //#endregion
22
- export { searchSuggestions };
23
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","names":[],"sources":["../../../src/lib/data/search.ts"],"sourcesContent":["'use server';\n\nimport { graphqlFetch } from '@/lib/gql/apollo-client';\nimport { SEARCH_SUGGESTIONS_QUERY } from '@/lib/gql/queries/product';\nimport {\n ProductHit,\n SearchSuggestionsQuery,\n SearchSuggestionsQueryVariables,\n} from '@/types/graphql';\n\nexport const searchSuggestions = async (\n params: SearchSuggestionsQueryVariables\n): Promise<{ items: ProductHit[] }> => {\n try {\n const response = await graphqlFetch<\n SearchSuggestionsQuery,\n SearchSuggestionsQueryVariables\n >({\n query: SEARCH_SUGGESTIONS_QUERY,\n variables: {\n query: params.query,\n },\n });\n\n if (!response?.searchProducts) {\n throw new Error('No search results returned');\n }\n\n return response.searchProducts;\n } catch (error) {\n console.error('Search error:', error);\n throw new Error(\n `Failed to search suggestions: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n};\n"],"mappings":";;;;;;AAUA,MAAa,oBAAoB,OAC/B,WACqC;AACrC,KAAI;EACF,MAAM,WAAW,MAAM,aAGrB;GACA,OAAO;GACP,WAAW,EACT,OAAO,OAAO,OACf;GACF,CAAC;AAEF,MAAI,CAAC,UAAU,eACb,OAAM,IAAI,MAAM,6BAA6B;AAG/C,SAAO,SAAS;UACT,OAAO;AACd,UAAQ,MAAM,iBAAiB,MAAM;AACrC,QAAM,IAAI,MACR,iCAAiC,iBAAiB,QAAQ,MAAM,UAAU,kBAC3E"}
@@ -1,22 +0,0 @@
1
- import { ProductHit } from "../../types/graphql.js";
2
-
3
- //#region src/lib/hooks/use-search.d.ts
4
- type UseSearchOptions = {
5
- hitsPerPage?: number;
6
- debounceMs?: number;
7
- };
8
- type SearchResult = {
9
- items: ProductHit[];
10
- };
11
- declare const useSearch: () => {
12
- query: string;
13
- setQuery: (newQuery: string) => void;
14
- results: SearchResult | null;
15
- loading: boolean;
16
- error: string | null;
17
- search: (searchQuery: string) => Promise<void>;
18
- isTyping: boolean;
19
- };
20
- //#endregion
21
- export { SearchResult, UseSearchOptions, useSearch };
22
- //# sourceMappingURL=use-search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-search.d.ts","names":[],"sources":["../../../src/lib/hooks/use-search.tsx"],"sourcesContent":[],"mappings":";;;KAOY,gBAAA;;EAAA,UAAA,CAAA,EAAA,MAAgB;AAK5B,CAAA;AAMa,KAND,YAAA,GA4FX;SA3FQ;;cAKI;;;WAsFZ;;;mCAjD6B"}
@@ -1,69 +0,0 @@
1
- 'use client';
2
-
3
- import { searchSuggestions } from "../data/search.js";
4
- import { useCallback, useEffect, useState } from "react";
5
-
6
- //#region src/lib/hooks/use-search.tsx
7
- const DEBOUNCE_MS = 500;
8
- const useSearch = () => {
9
- const [query, setQuery] = useState("");
10
- const [results, setResults] = useState(null);
11
- const [loading, setLoading] = useState(false);
12
- const [error, setError] = useState(null);
13
- const [isTyping, setIsTyping] = useState(false);
14
- const [debounceTimer, setDebounceTimer] = useState(null);
15
- const performSearch = useCallback(async (searchQuery) => {
16
- if (!searchQuery.trim()) {
17
- setResults(null);
18
- return;
19
- }
20
- setLoading(true);
21
- setError(null);
22
- try {
23
- setResults(await searchSuggestions({
24
- query: searchQuery,
25
- hitsPerPage: 20
26
- }));
27
- } catch (err) {
28
- setError(err instanceof Error ? err.message : "Search failed");
29
- console.error("Search error:", err);
30
- } finally {
31
- setLoading(false);
32
- }
33
- }, []);
34
- const search = useCallback(async (searchQuery) => {
35
- await performSearch(searchQuery);
36
- }, [performSearch]);
37
- const handleQueryChange = useCallback((newQuery) => {
38
- setQuery(newQuery);
39
- if (debounceTimer) clearTimeout(debounceTimer);
40
- if (newQuery.trim()) setIsTyping(true);
41
- else {
42
- setIsTyping(false);
43
- setResults(null);
44
- return;
45
- }
46
- setDebounceTimer(setTimeout(() => {
47
- setIsTyping(false);
48
- performSearch(newQuery);
49
- }, DEBOUNCE_MS));
50
- }, [debounceTimer, performSearch]);
51
- useEffect(() => {
52
- return () => {
53
- if (debounceTimer) clearTimeout(debounceTimer);
54
- };
55
- }, [debounceTimer]);
56
- return {
57
- query,
58
- setQuery: handleQueryChange,
59
- results,
60
- loading,
61
- error,
62
- search,
63
- isTyping
64
- };
65
- };
66
-
67
- //#endregion
68
- export { useSearch };
69
- //# sourceMappingURL=use-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-search.js","names":[],"sources":["../../../src/lib/hooks/use-search.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { searchSuggestions } from '@/lib/data/search';\nimport { ProductHit } from '@/types/graphql';\n\nexport type UseSearchOptions = {\n hitsPerPage?: number;\n debounceMs?: number;\n};\n\nexport type SearchResult = {\n items: ProductHit[];\n};\n\nconst DEBOUNCE_MS = 500;\n\nexport const useSearch = () => {\n const [query, setQuery] = useState('');\n const [results, setResults] = useState<SearchResult | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [isTyping, setIsTyping] = useState(false);\n const [debounceTimer, setDebounceTimer] = useState<NodeJS.Timeout | null>(\n null\n );\n\n const performSearch = useCallback(async (searchQuery: string) => {\n if (!searchQuery.trim()) {\n setResults(null);\n return;\n }\n\n setLoading(true);\n setError(null);\n\n try {\n const searchParams = {\n query: searchQuery,\n hitsPerPage: 20,\n };\n\n const searchResults = await searchSuggestions(searchParams);\n setResults(searchResults);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'Search failed';\n setError(errorMessage);\n console.error('Search error:', err);\n } finally {\n setLoading(false);\n }\n }, []);\n\n const search = useCallback(\n async (searchQuery: string) => {\n await performSearch(searchQuery);\n },\n [performSearch]\n );\n\n const handleQueryChange = useCallback(\n (newQuery: string) => {\n setQuery(newQuery);\n\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n\n if (newQuery.trim()) {\n setIsTyping(true);\n } else {\n setIsTyping(false);\n setResults(null);\n return;\n }\n\n const timer = setTimeout(() => {\n setIsTyping(false);\n performSearch(newQuery);\n }, DEBOUNCE_MS);\n\n setDebounceTimer(timer);\n },\n [debounceTimer, performSearch]\n );\n\n useEffect(() => {\n return () => {\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n };\n }, [debounceTimer]);\n\n return {\n query,\n setQuery: handleQueryChange,\n results,\n loading,\n error,\n search,\n isTyping,\n };\n};\n"],"mappings":";;;;;;AAgBA,MAAM,cAAc;AAEpB,MAAa,kBAAkB;CAC7B,MAAM,CAAC,OAAO,YAAY,SAAS,GAAG;CACtC,MAAM,CAAC,SAAS,cAAc,SAA8B,KAAK;CACjE,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,OAAO,YAAY,SAAwB,KAAK;CACvD,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;CAC/C,MAAM,CAAC,eAAe,oBAAoB,SACxC,KACD;CAED,MAAM,gBAAgB,YAAY,OAAO,gBAAwB;AAC/D,MAAI,CAAC,YAAY,MAAM,EAAE;AACvB,cAAW,KAAK;AAChB;;AAGF,aAAW,KAAK;AAChB,WAAS,KAAK;AAEd,MAAI;AAOF,cADsB,MAAM,kBALP;IACnB,OAAO;IACP,aAAa;IACd,CAE0D,CAClC;WAClB,KAAK;AAEZ,YADqB,eAAe,QAAQ,IAAI,UAAU,gBACpC;AACtB,WAAQ,MAAM,iBAAiB,IAAI;YAC3B;AACR,cAAW,MAAM;;IAElB,EAAE,CAAC;CAEN,MAAM,SAAS,YACb,OAAO,gBAAwB;AAC7B,QAAM,cAAc,YAAY;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,oBAAoB,aACvB,aAAqB;AACpB,WAAS,SAAS;AAElB,MAAI,cACF,cAAa,cAAc;AAG7B,MAAI,SAAS,MAAM,CACjB,aAAY,KAAK;OACZ;AACL,eAAY,MAAM;AAClB,cAAW,KAAK;AAChB;;AAQF,mBALc,iBAAiB;AAC7B,eAAY,MAAM;AAClB,iBAAc,SAAS;KACtB,YAAY,CAEQ;IAEzB,CAAC,eAAe,cAAc,CAC/B;AAED,iBAAgB;AACd,eAAa;AACX,OAAI,cACF,cAAa,cAAc;;IAG9B,CAAC,cAAc,CAAC;AAEnB,QAAO;EACL;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACD"}