@gfed-medusa/sf-lib-common 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/apollo-client-BuznVAE4.js +66 -0
  4. package/dist/apollo-client-BuznVAE4.js.map +1 -0
  5. package/dist/cart-CLJvIUQC.js +103 -0
  6. package/dist/cart-CLJvIUQC.js.map +1 -0
  7. package/dist/cart-D99u8SUJ.js +16 -0
  8. package/dist/cart-D99u8SUJ.js.map +1 -0
  9. package/dist/cart-XQIczSA1.js +42 -0
  10. package/dist/cart-XQIczSA1.js.map +1 -0
  11. package/dist/cart-button-NgoZb9LI.js +12 -0
  12. package/dist/cart-button-NgoZb9LI.js.map +1 -0
  13. package/dist/cart-dropdown-_ZpvhX--.js +195 -0
  14. package/dist/cart-dropdown-_ZpvhX--.js.map +1 -0
  15. package/dist/cart-p3ffQQ5R.js +142 -0
  16. package/dist/cart-p3ffQQ5R.js.map +1 -0
  17. package/dist/categories-BCbIwAcV.js +16 -0
  18. package/dist/categories-BCbIwAcV.js.map +1 -0
  19. package/dist/collections-Buw8B8l9.js +20 -0
  20. package/dist/collections-Buw8B8l9.js.map +1 -0
  21. package/dist/collections-Dkcq21tC.js +22 -0
  22. package/dist/collections-Dkcq21tC.js.map +1 -0
  23. package/dist/components/breadcrumbs/index.d.ts +22 -0
  24. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  25. package/dist/components/breadcrumbs/index.js +54 -0
  26. package/dist/components/breadcrumbs/index.js.map +1 -0
  27. package/dist/components/cart-button/index.d.ts +7 -0
  28. package/dist/components/cart-button/index.d.ts.map +1 -0
  29. package/dist/components/cart-button/index.js +18 -0
  30. package/dist/components/cart-dropdown/index.d.ts +12 -0
  31. package/dist/components/cart-dropdown/index.d.ts.map +1 -0
  32. package/dist/components/cart-dropdown/index.js +19 -0
  33. package/dist/components/cart-mismatch-banner/index.d.ts +11 -0
  34. package/dist/components/cart-mismatch-banner/index.d.ts.map +1 -0
  35. package/dist/components/cart-mismatch-banner/index.js +55 -0
  36. package/dist/components/cart-mismatch-banner/index.js.map +1 -0
  37. package/dist/components/country-select/index.d.ts +14 -0
  38. package/dist/components/country-select/index.d.ts.map +1 -0
  39. package/dist/components/country-select/index.js +31 -0
  40. package/dist/components/country-select/index.js.map +1 -0
  41. package/dist/components/delete-button/index.d.ts +15 -0
  42. package/dist/components/delete-button/index.d.ts.map +1 -0
  43. package/dist/components/delete-button/index.js +12 -0
  44. package/dist/components/error-message/index.d.ts +13 -0
  45. package/dist/components/error-message/index.d.ts.map +1 -0
  46. package/dist/components/error-message/index.js +15 -0
  47. package/dist/components/error-message/index.js.map +1 -0
  48. package/dist/components/footer/index.d.ts +7 -0
  49. package/dist/components/footer/index.d.ts.map +1 -0
  50. package/dist/components/footer/index.js +115 -0
  51. package/dist/components/footer/index.js.map +1 -0
  52. package/dist/components/free-shipping-price-nudge/index.d.ts +17 -0
  53. package/dist/components/free-shipping-price-nudge/index.d.ts.map +1 -0
  54. package/dist/components/free-shipping-price-nudge/index.js +182 -0
  55. package/dist/components/free-shipping-price-nudge/index.js.map +1 -0
  56. package/dist/components/interactive-link/index.d.ts +17 -0
  57. package/dist/components/interactive-link/index.d.ts.map +1 -0
  58. package/dist/components/interactive-link/index.js +25 -0
  59. package/dist/components/interactive-link/index.js.map +1 -0
  60. package/dist/components/layout-country-select/index.d.ts +16 -0
  61. package/dist/components/layout-country-select/index.d.ts.map +1 -0
  62. package/dist/components/layout-country-select/index.js +14 -0
  63. package/dist/components/line-item-options/index.d.ts +17 -0
  64. package/dist/components/line-item-options/index.d.ts.map +1 -0
  65. package/dist/components/line-item-options/index.js +3 -0
  66. package/dist/components/line-item-price/index.d.ts +17 -0
  67. package/dist/components/line-item-price/index.d.ts.map +1 -0
  68. package/dist/components/line-item-price/index.js +3 -0
  69. package/dist/components/localized-client-link/index.d.ts +24 -0
  70. package/dist/components/localized-client-link/index.d.ts.map +1 -0
  71. package/dist/components/localized-client-link/index.js +5 -0
  72. package/dist/components/modal/index.d.ts +39 -0
  73. package/dist/components/modal/index.d.ts.map +1 -0
  74. package/dist/components/modal/index.js +4 -0
  75. package/dist/components/nav/index.d.ts +7 -0
  76. package/dist/components/nav/index.d.ts.map +1 -0
  77. package/dist/components/nav/index.js +85 -0
  78. package/dist/components/nav/index.js.map +1 -0
  79. package/dist/components/portable-text/index.d.ts +13 -0
  80. package/dist/components/portable-text/index.d.ts.map +1 -0
  81. package/dist/components/portable-text/index.js +3 -0
  82. package/dist/components/preview-price/index.d.ts +12 -0
  83. package/dist/components/preview-price/index.d.ts.map +1 -0
  84. package/dist/components/preview-price/index.js +3 -0
  85. package/dist/components/product-card/index.d.ts +65 -0
  86. package/dist/components/product-card/index.d.ts.map +1 -0
  87. package/dist/components/product-card/index.js +146 -0
  88. package/dist/components/product-card/index.js.map +1 -0
  89. package/dist/components/product-preview/index.d.ts +15 -0
  90. package/dist/components/product-preview/index.d.ts.map +1 -0
  91. package/dist/components/product-preview/index.js +38 -0
  92. package/dist/components/product-preview/index.js.map +1 -0
  93. package/dist/components/search-modal/index.d.ts +12 -0
  94. package/dist/components/search-modal/index.d.ts.map +1 -0
  95. package/dist/components/search-modal/index.js +12 -0
  96. package/dist/components/side-menu/index.d.ts +12 -0
  97. package/dist/components/side-menu/index.d.ts.map +1 -0
  98. package/dist/components/side-menu/index.js +16 -0
  99. package/dist/components/submit-button/index.d.ts +20 -0
  100. package/dist/components/submit-button/index.d.ts.map +1 -0
  101. package/dist/components/submit-button/index.js +24 -0
  102. package/dist/components/submit-button/index.js.map +1 -0
  103. package/dist/components/thumbnail/index.d.ts +15 -0
  104. package/dist/components/thumbnail/index.d.ts.map +1 -0
  105. package/dist/components/thumbnail/index.js +3 -0
  106. package/dist/cookies-DANAjt8U.js +38 -0
  107. package/dist/cookies-DANAjt8U.js.map +1 -0
  108. package/dist/customer-GZZNI4eh.js +25 -0
  109. package/dist/customer-GZZNI4eh.js.map +1 -0
  110. package/dist/data-types-C_rGnTUp.js +10 -0
  111. package/dist/data-types-C_rGnTUp.js.map +1 -0
  112. package/dist/delete-button-Bfog7z-I.js +28 -0
  113. package/dist/delete-button-Bfog7z-I.js.map +1 -0
  114. package/dist/footer-BqaZhjlE.js +76 -0
  115. package/dist/footer-BqaZhjlE.js.map +1 -0
  116. package/dist/footer-fWFeFSUp.js +16 -0
  117. package/dist/footer-fWFeFSUp.js.map +1 -0
  118. package/dist/get-percentage-diff-CxGe_n9N.js +8 -0
  119. package/dist/get-percentage-diff-CxGe_n9N.js.map +1 -0
  120. package/dist/get-product-price-DxBbPmOZ.js +47 -0
  121. package/dist/get-product-price-DxBbPmOZ.js.map +1 -0
  122. package/dist/graphql-BWZPPI_N.d.ts +1368 -0
  123. package/dist/graphql-BWZPPI_N.d.ts.map +1 -0
  124. package/dist/layout-country-select-DrwpoVMM.js +90 -0
  125. package/dist/layout-country-select-DrwpoVMM.js.map +1 -0
  126. package/dist/lib/config/medusa.d.ts +7 -0
  127. package/dist/lib/config/medusa.d.ts.map +1 -0
  128. package/dist/lib/config/medusa.js +3 -0
  129. package/dist/lib/context/apollo-context.d.ts +10 -0
  130. package/dist/lib/context/apollo-context.d.ts.map +1 -0
  131. package/dist/lib/context/apollo-context.js +18 -0
  132. package/dist/lib/context/apollo-context.js.map +1 -0
  133. package/dist/lib/context/modal-context.d.ts +20 -0
  134. package/dist/lib/context/modal-context.d.ts.map +1 -0
  135. package/dist/lib/context/modal-context.js +5 -0
  136. package/dist/lib/data/cart.d.ts +24 -0
  137. package/dist/lib/data/cart.d.ts.map +1 -0
  138. package/dist/lib/data/cart.js +13 -0
  139. package/dist/lib/data/categories.d.ts +19 -0
  140. package/dist/lib/data/categories.d.ts.map +1 -0
  141. package/dist/lib/data/categories.js +6 -0
  142. package/dist/lib/data/collections.d.ts +14 -0
  143. package/dist/lib/data/collections.d.ts.map +1 -0
  144. package/dist/lib/data/collections.js +8 -0
  145. package/dist/lib/data/cookies.d.ts +15 -0
  146. package/dist/lib/data/cookies.d.ts.map +1 -0
  147. package/dist/lib/data/cookies.js +3 -0
  148. package/dist/lib/data/customer.d.ts +7 -0
  149. package/dist/lib/data/customer.d.ts.map +1 -0
  150. package/dist/lib/data/customer.js +8 -0
  151. package/dist/lib/data/footer.d.ts +75 -0
  152. package/dist/lib/data/footer.d.ts.map +1 -0
  153. package/dist/lib/data/footer.js +5 -0
  154. package/dist/lib/data/regions.d.ts +8 -0
  155. package/dist/lib/data/regions.d.ts.map +1 -0
  156. package/dist/lib/data/regions.js +5 -0
  157. package/dist/lib/data/search.d.ts +9 -0
  158. package/dist/lib/data/search.d.ts.map +1 -0
  159. package/dist/lib/data/search.js +8 -0
  160. package/dist/lib/gql/apollo-client.d.ts +18 -0
  161. package/dist/lib/gql/apollo-client.d.ts.map +1 -0
  162. package/dist/lib/gql/apollo-client.js +3 -0
  163. package/dist/lib/gql/fragments/cart.d.ts +14 -0
  164. package/dist/lib/gql/fragments/cart.d.ts.map +1 -0
  165. package/dist/lib/gql/fragments/cart.js +4 -0
  166. package/dist/lib/gql/fragments/product.d.ts +13 -0
  167. package/dist/lib/gql/fragments/product.d.ts.map +1 -0
  168. package/dist/lib/gql/fragments/product.js +3 -0
  169. package/dist/lib/gql/mutations/cart.d.ts +9 -0
  170. package/dist/lib/gql/mutations/cart.d.ts.map +1 -0
  171. package/dist/lib/gql/mutations/cart.js +5 -0
  172. package/dist/lib/gql/mutations/customer.d.ts +1 -0
  173. package/dist/lib/gql/mutations/customer.js +1 -0
  174. package/dist/lib/gql/queries/cart.d.ts +7 -0
  175. package/dist/lib/gql/queries/cart.d.ts.map +1 -0
  176. package/dist/lib/gql/queries/cart.js +5 -0
  177. package/dist/lib/gql/queries/collections.d.ts +7 -0
  178. package/dist/lib/gql/queries/collections.d.ts.map +1 -0
  179. package/dist/lib/gql/queries/collections.js +4 -0
  180. package/dist/lib/gql/queries/footer.d.ts +7 -0
  181. package/dist/lib/gql/queries/footer.d.ts.map +1 -0
  182. package/dist/lib/gql/queries/footer.js +3 -0
  183. package/dist/lib/gql/queries/product.d.ts +8 -0
  184. package/dist/lib/gql/queries/product.d.ts.map +1 -0
  185. package/dist/lib/gql/queries/product.js +4 -0
  186. package/dist/lib/hooks/use-apollo.d.ts +7 -0
  187. package/dist/lib/hooks/use-apollo.d.ts.map +1 -0
  188. package/dist/lib/hooks/use-apollo.js +4 -0
  189. package/dist/lib/hooks/use-search.d.ts +22 -0
  190. package/dist/lib/hooks/use-search.d.ts.map +1 -0
  191. package/dist/lib/hooks/use-search.js +9 -0
  192. package/dist/lib/hooks/use-toggle-state.d.ts +2 -0
  193. package/dist/lib/hooks/use-toggle-state.js +43 -0
  194. package/dist/lib/hooks/use-toggle-state.js.map +1 -0
  195. package/dist/lib/utils/data-types.d.ts +7 -0
  196. package/dist/lib/utils/data-types.d.ts.map +1 -0
  197. package/dist/lib/utils/data-types.js +3 -0
  198. package/dist/lib/utils/env.d.ts +5 -0
  199. package/dist/lib/utils/env.d.ts.map +1 -0
  200. package/dist/lib/utils/env.js +8 -0
  201. package/dist/lib/utils/env.js.map +1 -0
  202. package/dist/lib/utils/get-percentage-diff.d.ts +5 -0
  203. package/dist/lib/utils/get-percentage-diff.d.ts.map +1 -0
  204. package/dist/lib/utils/get-percentage-diff.js +3 -0
  205. package/dist/lib/utils/get-product-price.d.ts +42 -0
  206. package/dist/lib/utils/get-product-price.d.ts.map +1 -0
  207. package/dist/lib/utils/get-product-price.js +3 -0
  208. package/dist/lib/utils/medusa-error.d.ts +5 -0
  209. package/dist/lib/utils/medusa-error.d.ts.map +1 -0
  210. package/dist/lib/utils/medusa-error.js +3 -0
  211. package/dist/lib/utils/money.d.ts +18 -0
  212. package/dist/lib/utils/money.d.ts.map +1 -0
  213. package/dist/lib/utils/money.js +3 -0
  214. package/dist/lib/utils/normalize-functions.d.ts +8 -0
  215. package/dist/lib/utils/normalize-functions.d.ts.map +1 -0
  216. package/dist/lib/utils/normalize-functions.js +3 -0
  217. package/dist/line-item-options-B3rbud31.js +16 -0
  218. package/dist/line-item-options-B3rbud31.js.map +1 -0
  219. package/dist/line-item-price-BBlC_T8m.js +47 -0
  220. package/dist/line-item-price-BBlC_T8m.js.map +1 -0
  221. package/dist/localized-client-link-C3mE37Ub.js +22 -0
  222. package/dist/localized-client-link-C3mE37Ub.js.map +1 -0
  223. package/dist/medusa-C1jfAM1B.js +12 -0
  224. package/dist/medusa-C1jfAM1B.js.map +1 -0
  225. package/dist/medusa-error-Cf_eEPhR.js +17 -0
  226. package/dist/medusa-error-Cf_eEPhR.js.map +1 -0
  227. package/dist/modal-C-crvjtF.js +102 -0
  228. package/dist/modal-C-crvjtF.js.map +1 -0
  229. package/dist/modal-context-D-ugwFUM.js +20 -0
  230. package/dist/modal-context-D-ugwFUM.js.map +1 -0
  231. package/dist/money-BrwiFQUW.js +15 -0
  232. package/dist/money-BrwiFQUW.js.map +1 -0
  233. package/dist/normalize-functions-BIuKc_-k.js +15 -0
  234. package/dist/normalize-functions-BIuKc_-k.js.map +1 -0
  235. package/dist/portable-text-DSWXgovn.js +330 -0
  236. package/dist/portable-text-DSWXgovn.js.map +1 -0
  237. package/dist/preview-price-D_GqXrT4.js +20 -0
  238. package/dist/preview-price-D_GqXrT4.js.map +1 -0
  239. package/dist/prices-IWR3xm6o.d.ts +20 -0
  240. package/dist/prices-IWR3xm6o.d.ts.map +1 -0
  241. package/dist/product-Cgtch-vz.js +90 -0
  242. package/dist/product-Cgtch-vz.js.map +1 -0
  243. package/dist/product-DMWvgZkb.js +47 -0
  244. package/dist/product-DMWvgZkb.js.map +1 -0
  245. package/dist/regions-CF6DH579.js +34 -0
  246. package/dist/regions-CF6DH579.js.map +1 -0
  247. package/dist/search-CKhI5RO4.js +21 -0
  248. package/dist/search-CKhI5RO4.js.map +1 -0
  249. package/dist/search-modal-D1tgUDXQ.js +137 -0
  250. package/dist/search-modal-D1tgUDXQ.js.map +1 -0
  251. package/dist/side-menu-ByDXpZJO.js +97 -0
  252. package/dist/side-menu-ByDXpZJO.js.map +1 -0
  253. package/dist/thumbnail-CXIliWAD.js +44 -0
  254. package/dist/thumbnail-CXIliWAD.js.map +1 -0
  255. package/dist/types/graphql.d.ts +2 -0
  256. package/dist/types/graphql.js +14516 -0
  257. package/dist/types/graphql.js.map +1 -0
  258. package/dist/types/prices.d.ts +2 -0
  259. package/dist/types/prices.js +1 -0
  260. package/dist/use-apollo-q4uz05i-.js +11 -0
  261. package/dist/use-apollo-q4uz05i-.js.map +1 -0
  262. package/dist/use-search-BTEnFlC0.js +67 -0
  263. package/dist/use-search-BTEnFlC0.js.map +1 -0
  264. package/dist/use-toggle-state-zIAKMNfR.d.ts +23 -0
  265. package/dist/use-toggle-state-zIAKMNfR.d.ts.map +1 -0
  266. package/package.json +94 -0
@@ -0,0 +1,25 @@
1
+ import { i as graphqlMutation } from "./apollo-client-BuznVAE4.js";
2
+ import { n as TRANSFER_CART_MUTATION } from "./cart-XQIczSA1.js";
3
+ import { t as medusaError } from "./medusa-error-Cf_eEPhR.js";
4
+ import { i as getCartId, r as getCacheTag } from "./cookies-DANAjt8U.js";
5
+ import { revalidateTag } from "next/cache";
6
+
7
+ //#region src/lib/data/customer.ts
8
+ const transferCart = async () => {
9
+ const cartId = await getCartId();
10
+ if (!cartId) return null;
11
+ try {
12
+ const cart = (await graphqlMutation({
13
+ mutation: TRANSFER_CART_MUTATION,
14
+ variables: { cartId }
15
+ }))?.transferCart ?? null;
16
+ if (cart) revalidateTag(await getCacheTag("carts"));
17
+ return cart;
18
+ } catch (err) {
19
+ medusaError(err);
20
+ }
21
+ };
22
+
23
+ //#endregion
24
+ export { transferCart as t };
25
+ //# sourceMappingURL=customer-GZZNI4eh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-GZZNI4eh.js","names":[],"sources":["../src/lib/data/customer.ts"],"sourcesContent":["import { revalidateTag } from 'next/cache';\n\nimport {\n TransferCartMutation,\n TransferCartMutationVariables,\n} from '@/types/graphql';\n\nimport { graphqlMutation } from '../gql/apollo-client';\nimport { TRANSFER_CART_MUTATION } from '../gql/mutations/cart';\nimport { medusaError } from '../utils/medusa-error';\nimport { getCacheTag, getCartId } from './cookies';\n\nexport const transferCart = async (): Promise<\n TransferCartMutation['transferCart'] | null\n> => {\n const cartId = await getCartId();\n\n if (!cartId) {\n return null;\n }\n\n try {\n const result = await graphqlMutation<\n TransferCartMutation,\n TransferCartMutationVariables\n >({\n mutation: TRANSFER_CART_MUTATION,\n variables: {\n cartId,\n },\n });\n\n const cart = result?.transferCart ?? null;\n\n if (cart) {\n const cartCacheTag = await getCacheTag('carts');\n revalidateTag(cartCacheTag);\n }\n\n return cart;\n } catch (err) {\n medusaError(err);\n }\n};\n"],"mappings":";;;;;;;AAYA,MAAa,eAAe,YAEvB;CACH,MAAM,SAAS,MAAM,WAAW;AAEhC,KAAI,CAAC,OACH,QAAO;AAGT,KAAI;EAWF,MAAM,QAVS,MAAM,gBAGnB;GACA,UAAU;GACV,WAAW,EACT,QACD;GACF,CAAC,GAEmB,gBAAgB;AAErC,MAAI,KAEF,eADqB,MAAM,YAAY,QAAQ,CACpB;AAG7B,SAAO;UACA,KAAK;AACZ,cAAY,IAAI"}
@@ -0,0 +1,10 @@
1
+ //#region src/lib/utils/data-types.ts
2
+ const isObject = (input) => input instanceof Object;
3
+ const isArray = (input) => Array.isArray(input);
4
+ const isEmpty = (input) => {
5
+ return input === null || input === void 0 || isObject(input) && Object.keys(input).length === 0 || isArray(input) && input.length === 0 || typeof input === "string" && input.trim().length === 0;
6
+ };
7
+
8
+ //#endregion
9
+ export { isEmpty as n, isObject as r, isArray as t };
10
+ //# sourceMappingURL=data-types-C_rGnTUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-types-C_rGnTUp.js","names":[],"sources":["../src/lib/utils/data-types.ts"],"sourcesContent":["export const isObject = (input: any) => input instanceof Object;\nexport const isArray = (input: any) => Array.isArray(input);\nexport const isEmpty = (input: any) => {\n return (\n input === null ||\n input === undefined ||\n (isObject(input) && Object.keys(input).length === 0) ||\n (isArray(input) && (input as any[]).length === 0) ||\n (typeof input === 'string' && input.trim().length === 0)\n );\n};\n"],"mappings":";AAAA,MAAa,YAAY,UAAe,iBAAiB;AACzD,MAAa,WAAW,UAAe,MAAM,QAAQ,MAAM;AAC3D,MAAa,WAAW,UAAe;AACrC,QACE,UAAU,QACV,UAAU,UACT,SAAS,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,WAAW,KACjD,QAAQ,MAAM,IAAK,MAAgB,WAAW,KAC9C,OAAO,UAAU,YAAY,MAAM,MAAM,CAAC,WAAW"}
@@ -0,0 +1,28 @@
1
+ import { t as deleteLineItem } from "./cart-CLJvIUQC.js";
2
+ import { useState } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { clx } from "@medusajs/ui";
5
+ import { Spinner, Trash } from "@medusajs/icons";
6
+
7
+ //#region src/components/delete-button/index.tsx
8
+ const DeleteButton = ({ id, children, className }) => {
9
+ const [isDeleting, setIsDeleting] = useState(false);
10
+ const handleDelete = async (id$1) => {
11
+ setIsDeleting(true);
12
+ await deleteLineItem(id$1).catch((err) => {
13
+ setIsDeleting(false);
14
+ });
15
+ };
16
+ return /* @__PURE__ */ jsx("div", {
17
+ className: clx("text-small-regular flex items-center justify-between", className),
18
+ children: /* @__PURE__ */ jsxs("button", {
19
+ className: "text-ui-fg-subtle hover:text-ui-fg-base flex cursor-pointer gap-x-1",
20
+ onClick: () => handleDelete(id),
21
+ children: [isDeleting ? /* @__PURE__ */ jsx(Spinner, { className: "animate-spin" }) : /* @__PURE__ */ jsx(Trash, {}), /* @__PURE__ */ jsx("span", { children })]
22
+ })
23
+ });
24
+ };
25
+
26
+ //#endregion
27
+ export { DeleteButton as t };
28
+ //# sourceMappingURL=delete-button-Bfog7z-I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-button-Bfog7z-I.js","names":["id"],"sources":["../src/components/delete-button/index.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Spinner, Trash } from '@medusajs/icons';\nimport { clx } from '@medusajs/ui';\n\nimport { deleteLineItem } from '@/lib/data/cart';\n\nconst DeleteButton = ({\n id,\n children,\n className,\n}: {\n id: string;\n children?: React.ReactNode;\n className?: string;\n}) => {\n const [isDeleting, setIsDeleting] = useState(false);\n\n const handleDelete = async (id: string) => {\n setIsDeleting(true);\n await deleteLineItem(id).catch((err) => {\n setIsDeleting(false);\n });\n };\n\n return (\n <div\n className={clx(\n 'text-small-regular flex items-center justify-between',\n className\n )}\n >\n <button\n className=\"text-ui-fg-subtle hover:text-ui-fg-base flex cursor-pointer gap-x-1\"\n onClick={() => handleDelete(id)}\n >\n {isDeleting ? <Spinner className=\"animate-spin\" /> : <Trash />}\n <span>{children}</span>\n </button>\n </div>\n );\n};\n\nexport { DeleteButton };\n"],"mappings":";;;;;;;AAOA,MAAM,gBAAgB,EACpB,IACA,UACA,gBAKI;CACJ,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,eAAe,OAAO,SAAe;AACzC,gBAAc,KAAK;AACnB,QAAM,eAAeA,KAAG,CAAC,OAAO,QAAQ;AACtC,iBAAc,MAAM;IACpB;;AAGJ,QACE,oBAAC;EACC,WAAW,IACT,wDACA,UACD;YAED,qBAAC;GACC,WAAU;GACV,eAAe,aAAa,GAAG;cAE9B,aAAa,oBAAC,WAAQ,WAAU,iBAAiB,GAAG,oBAAC,UAAQ,EAC9D,oBAAC,UAAM,WAAgB;IAChB;GACL"}
@@ -0,0 +1,76 @@
1
+ import { gql } from "@apollo/client";
2
+
3
+ //#region src/lib/gql/queries/footer.ts
4
+ const GET_FOOTER_QUERY = gql`
5
+ query GetFooter {
6
+ footer {
7
+ storeName
8
+ social {
9
+ text
10
+ url
11
+ }
12
+ copyright
13
+ poweredByCta {
14
+ text {
15
+ ... on TextBlock {
16
+ _key
17
+ _type
18
+ style
19
+ children {
20
+ _key
21
+ text
22
+ marks
23
+ }
24
+ markDefs {
25
+ ... on LinkMark {
26
+ _key
27
+ _type
28
+ href
29
+ target
30
+ }
31
+ ... on IconLinkMark {
32
+ _key
33
+ _type
34
+ href
35
+ iconType
36
+ iconClass
37
+ iconFill
38
+ iconComponent
39
+ iconImage {
40
+ asset {
41
+ url
42
+ }
43
+ alt
44
+ }
45
+ iconUrl
46
+ target
47
+ }
48
+ }
49
+ }
50
+ ... on ImageBlock {
51
+ _key
52
+ _type
53
+ asset {
54
+ url
55
+ }
56
+ alt
57
+ }
58
+ ... on FileBlock {
59
+ _key
60
+ _type
61
+ asset {
62
+ url
63
+ originalFilename
64
+ size
65
+ mimeType
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ `;
73
+
74
+ //#endregion
75
+ export { GET_FOOTER_QUERY as t };
76
+ //# sourceMappingURL=footer-BqaZhjlE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-BqaZhjlE.js","names":[],"sources":["../src/lib/gql/queries/footer.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const GET_FOOTER_QUERY = gql`\n query GetFooter {\n footer {\n storeName\n social {\n text\n url\n }\n copyright\n poweredByCta {\n text {\n ... on TextBlock {\n _key\n _type\n style\n children {\n _key\n text\n marks\n }\n markDefs {\n ... on LinkMark {\n _key\n _type\n href\n target\n }\n ... on IconLinkMark {\n _key\n _type\n href\n iconType\n iconClass\n iconFill\n iconComponent\n iconImage {\n asset {\n url\n }\n alt\n }\n iconUrl\n target\n }\n }\n }\n ... on ImageBlock {\n _key\n _type\n asset {\n url\n }\n alt\n }\n ... on FileBlock {\n _key\n _type\n asset {\n url\n originalFilename\n size\n mimeType\n }\n }\n }\n }\n }\n }\n`;\n"],"mappings":";;;AAEA,MAAa,mBAAmB,GAAG"}
@@ -0,0 +1,16 @@
1
+ import { r as graphqlFetch } from "./apollo-client-BuznVAE4.js";
2
+ import { t as GET_FOOTER_QUERY } from "./footer-BqaZhjlE.js";
3
+
4
+ //#region src/lib/data/footer.ts
5
+ const getFooterContent = async () => {
6
+ try {
7
+ return (await graphqlFetch({ query: GET_FOOTER_QUERY }))?.footer || null;
8
+ } catch (error) {
9
+ console.error("Error fetching footer content:", error);
10
+ return null;
11
+ }
12
+ };
13
+
14
+ //#endregion
15
+ export { getFooterContent as t };
16
+ //# sourceMappingURL=footer-fWFeFSUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-fWFeFSUp.js","names":[],"sources":["../src/lib/data/footer.ts"],"sourcesContent":["import { graphqlFetch } from '@/lib/gql/apollo-client';\nimport { GET_FOOTER_QUERY } from '@/lib/gql/queries/footer';\nimport { GetFooterQuery, GetFooterQueryVariables } from '@/types/graphql';\n\nexport const getFooterContent = async () => {\n try {\n const data = await graphqlFetch<GetFooterQuery, GetFooterQueryVariables>({\n query: GET_FOOTER_QUERY,\n });\n return data?.footer || null;\n } catch (error) {\n console.error('Error fetching footer content:', error);\n return null;\n }\n};\n"],"mappings":";;;;AAIA,MAAa,mBAAmB,YAAY;AAC1C,KAAI;AAIF,UAHa,MAAM,aAAsD,EACvE,OAAO,kBACR,CAAC,GACW,UAAU;UAChB,OAAO;AACd,UAAQ,MAAM,kCAAkC,MAAM;AACtD,SAAO"}
@@ -0,0 +1,8 @@
1
+ //#region src/lib/utils/get-percentage-diff.ts
2
+ const getPercentageDiff = (original, calculated) => {
3
+ return ((original - calculated) / original * 100).toFixed();
4
+ };
5
+
6
+ //#endregion
7
+ export { getPercentageDiff as t };
8
+ //# sourceMappingURL=get-percentage-diff-CxGe_n9N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-percentage-diff-CxGe_n9N.js","names":[],"sources":["../src/lib/utils/get-percentage-diff.ts"],"sourcesContent":["export const getPercentageDiff = (original: number, calculated: number) => {\n const diff = original - calculated;\n const decrease = (diff / original) * 100;\n\n return decrease.toFixed();\n};\n"],"mappings":";AAAA,MAAa,qBAAqB,UAAkB,eAAuB;AAIzE,UAHa,WAAW,cACC,WAAY,KAErB,SAAS"}
@@ -0,0 +1,47 @@
1
+ import { t as convertToLocale } from "./money-BrwiFQUW.js";
2
+ import { t as getPercentageDiff } from "./get-percentage-diff-CxGe_n9N.js";
3
+
4
+ //#region src/lib/utils/get-product-price.ts
5
+ const getPricesForVariant = (variant) => {
6
+ if (!variant?.price?.amount) return null;
7
+ return {
8
+ calculated_price_number: variant.price?.amount,
9
+ calculated_price: convertToLocale({
10
+ amount: variant.price.amount,
11
+ currency_code: variant.price.currencyCode || ""
12
+ }),
13
+ original_price_number: variant.originalPrice?.amount || variant.price.amount,
14
+ original_price: convertToLocale({
15
+ amount: variant.originalPrice?.amount || variant.price.amount,
16
+ currency_code: variant.price.currencyCode || ""
17
+ }),
18
+ currency_code: variant.price.currencyCode,
19
+ price_type: variant.price.priceType || "default",
20
+ percentage_diff: getPercentageDiff(variant.originalPrice?.amount || variant.price.amount, variant.price.amount)
21
+ };
22
+ };
23
+ function getProductPrice({ product, variantId }) {
24
+ if (!product || !product.id) throw new Error("No product provided");
25
+ const cheapestPrice = () => {
26
+ if (!product || !product.variants?.length) return null;
27
+ const cheapestVariant = product.variants.filter((v) => !!v.price).sort((a, b) => {
28
+ return (a.price?.amount ?? 0) - (b.price?.amount ?? 0);
29
+ })[0];
30
+ return getPricesForVariant(cheapestVariant);
31
+ };
32
+ const variantPrice = () => {
33
+ if (!product || !variantId) return null;
34
+ const variant = product.variants?.find((v) => v.id === variantId || v.sku === variantId);
35
+ if (!variant) return null;
36
+ return getPricesForVariant(variant);
37
+ };
38
+ return {
39
+ product,
40
+ cheapestPrice: cheapestPrice(),
41
+ variantPrice: variantPrice()
42
+ };
43
+ }
44
+
45
+ //#endregion
46
+ export { getProductPrice as n, getPricesForVariant as t };
47
+ //# sourceMappingURL=get-product-price-DxBbPmOZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-product-price-DxBbPmOZ.js","names":["cheapestVariant: any","variant: any"],"sources":["../src/lib/utils/get-product-price.ts"],"sourcesContent":["import { Product } from '@/types/graphql';\n\nimport { getPercentageDiff } from './get-percentage-diff';\nimport { convertToLocale } from './money';\n\nexport const getPricesForVariant = (variant: any) => {\n if (!variant?.price?.amount) {\n return null;\n }\n\n return {\n calculated_price_number: variant.price?.amount,\n calculated_price: convertToLocale({\n amount: variant.price.amount,\n currency_code: variant.price.currencyCode || '',\n }),\n original_price_number:\n variant.originalPrice?.amount || variant.price.amount,\n original_price: convertToLocale({\n amount: variant.originalPrice?.amount || variant.price.amount,\n currency_code: variant.price.currencyCode || '',\n }),\n currency_code: variant.price.currencyCode,\n price_type: variant.price.priceType || 'default',\n percentage_diff: getPercentageDiff(\n variant.originalPrice?.amount || variant.price.amount,\n variant.price.amount\n ),\n };\n};\n\nexport function getProductPrice({\n product,\n variantId,\n}: {\n product: Product;\n variantId?: string;\n}) {\n if (!product || !product.id) {\n throw new Error('No product provided');\n }\n\n const cheapestPrice = () => {\n if (!product || !product.variants?.length) {\n return null;\n }\n\n const cheapestVariant: any = product.variants\n .filter((v: any) => !!v.price)\n .sort((a: any, b: any) => {\n return (a.price?.amount ?? 0) - (b.price?.amount ?? 0);\n })[0];\n\n return getPricesForVariant(cheapestVariant);\n };\n\n const variantPrice = () => {\n if (!product || !variantId) {\n return null;\n }\n\n const variant: any = product.variants?.find(\n (v) => v.id === variantId || v.sku === variantId\n );\n\n if (!variant) {\n return null;\n }\n\n return getPricesForVariant(variant);\n };\n\n return {\n product,\n cheapestPrice: cheapestPrice(),\n variantPrice: variantPrice(),\n };\n}\n"],"mappings":";;;;AAKA,MAAa,uBAAuB,YAAiB;AACnD,KAAI,CAAC,SAAS,OAAO,OACnB,QAAO;AAGT,QAAO;EACL,yBAAyB,QAAQ,OAAO;EACxC,kBAAkB,gBAAgB;GAChC,QAAQ,QAAQ,MAAM;GACtB,eAAe,QAAQ,MAAM,gBAAgB;GAC9C,CAAC;EACF,uBACE,QAAQ,eAAe,UAAU,QAAQ,MAAM;EACjD,gBAAgB,gBAAgB;GAC9B,QAAQ,QAAQ,eAAe,UAAU,QAAQ,MAAM;GACvD,eAAe,QAAQ,MAAM,gBAAgB;GAC9C,CAAC;EACF,eAAe,QAAQ,MAAM;EAC7B,YAAY,QAAQ,MAAM,aAAa;EACvC,iBAAiB,kBACf,QAAQ,eAAe,UAAU,QAAQ,MAAM,QAC/C,QAAQ,MAAM,OACf;EACF;;AAGH,SAAgB,gBAAgB,EAC9B,SACA,aAIC;AACD,KAAI,CAAC,WAAW,CAAC,QAAQ,GACvB,OAAM,IAAI,MAAM,sBAAsB;CAGxC,MAAM,sBAAsB;AAC1B,MAAI,CAAC,WAAW,CAAC,QAAQ,UAAU,OACjC,QAAO;EAGT,MAAMA,kBAAuB,QAAQ,SAClC,QAAQ,MAAW,CAAC,CAAC,EAAE,MAAM,CAC7B,MAAM,GAAQ,MAAW;AACxB,WAAQ,EAAE,OAAO,UAAU,MAAM,EAAE,OAAO,UAAU;IACpD,CAAC;AAEL,SAAO,oBAAoB,gBAAgB;;CAG7C,MAAM,qBAAqB;AACzB,MAAI,CAAC,WAAW,CAAC,UACf,QAAO;EAGT,MAAMC,UAAe,QAAQ,UAAU,MACpC,MAAM,EAAE,OAAO,aAAa,EAAE,QAAQ,UACxC;AAED,MAAI,CAAC,QACH,QAAO;AAGT,SAAO,oBAAoB,QAAQ;;AAGrC,QAAO;EACL;EACA,eAAe,eAAe;EAC9B,cAAc,cAAc;EAC7B"}