@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,142 @@
1
+ import { s as PRODUCT_VARIANT_FRAGMENT } from "./product-Cgtch-vz.js";
2
+ import { gql } from "@apollo/client";
3
+
4
+ //#region src/lib/gql/fragments/cart.ts
5
+ const LINE_ITEM_FRAGMENT = gql`
6
+ fragment CartItemFields on LineItem {
7
+ id
8
+ title
9
+ quantity
10
+ unitPrice
11
+ createdAt
12
+ thumbnail
13
+ productHandle
14
+ productTitle
15
+ total
16
+ originalTotal
17
+ variant {
18
+ ...ProductVariant
19
+ }
20
+ }
21
+ ${PRODUCT_VARIANT_FRAGMENT}
22
+ `;
23
+ const COUNTRY_FRAGMENT = gql`
24
+ fragment CountryFields on Country {
25
+ id
26
+ iso2
27
+ name
28
+ displayName
29
+ }
30
+ `;
31
+ const REGION_FRAGMENT = gql`
32
+ fragment RegionFields on Region {
33
+ id
34
+ name
35
+ currencyCode
36
+ createdAt
37
+ countries {
38
+ ...CountryFields
39
+ }
40
+ }
41
+ ${COUNTRY_FRAGMENT}
42
+ `;
43
+ const SHIPPING_METHODS_FRAGMENT = gql`
44
+ fragment ShippingMethodFields on ShippingMethod {
45
+ id
46
+ cartId
47
+ name
48
+ amount
49
+ shippingOptionId
50
+ createdAt
51
+ total
52
+ }
53
+ `;
54
+ const PAYMENT_COLLECTION_FRAGMENT = gql`
55
+ fragment PaymentCollectionFields on PaymentCollection {
56
+ id
57
+ currencyCode
58
+ amount
59
+ status
60
+ paymentProviders {
61
+ id
62
+ }
63
+ paymentSessions {
64
+ id
65
+ amount
66
+ currencyCode
67
+ providerId
68
+ data
69
+ status
70
+ }
71
+ }
72
+ `;
73
+ const ADDRESS_FRAGMENT = gql`
74
+ fragment AddressFields on Address {
75
+ firstName
76
+ lastName
77
+ phone
78
+ address1
79
+ city
80
+ countryCode
81
+ postalCode
82
+ }
83
+ `;
84
+ const PROMOTION_FRAGMENT = gql`
85
+ fragment PromotionFields on Promotion {
86
+ id
87
+ code
88
+ applicationMethod {
89
+ value
90
+ type
91
+ currencyCode
92
+ }
93
+ }
94
+ `;
95
+ const CART_FRAGMENT = gql`
96
+ fragment CartFields on Cart {
97
+ id
98
+ customerId
99
+ regionId
100
+ email
101
+ total
102
+ subtotal
103
+ taxTotal
104
+ itemTotal
105
+ discountTotal
106
+ originalTotal
107
+ currencyCode
108
+ shippingTotal
109
+ giftCardTotal
110
+ promotions {
111
+ ...PromotionFields
112
+ }
113
+ items {
114
+ ...CartItemFields
115
+ }
116
+ shippingAddress {
117
+ ...AddressFields
118
+ }
119
+ billingAddress {
120
+ ...AddressFields
121
+ }
122
+ region {
123
+ ...RegionFields
124
+ }
125
+ shippingMethods {
126
+ ...ShippingMethodFields
127
+ }
128
+ paymentCollection {
129
+ ...PaymentCollectionFields
130
+ }
131
+ }
132
+ ${LINE_ITEM_FRAGMENT}
133
+ ${ADDRESS_FRAGMENT}
134
+ ${REGION_FRAGMENT}
135
+ ${SHIPPING_METHODS_FRAGMENT}
136
+ ${PAYMENT_COLLECTION_FRAGMENT}
137
+ ${PROMOTION_FRAGMENT}
138
+ `;
139
+
140
+ //#endregion
141
+ export { PAYMENT_COLLECTION_FRAGMENT as a, SHIPPING_METHODS_FRAGMENT as c, LINE_ITEM_FRAGMENT as i, CART_FRAGMENT as n, PROMOTION_FRAGMENT as o, COUNTRY_FRAGMENT as r, REGION_FRAGMENT as s, ADDRESS_FRAGMENT as t };
142
+ //# sourceMappingURL=cart-p3ffQQ5R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart-p3ffQQ5R.js","names":[],"sources":["../src/lib/gql/fragments/cart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nimport { PRODUCT_VARIANT_FRAGMENT } from './product';\n\nexport const LINE_ITEM_FRAGMENT = gql`\n fragment CartItemFields on LineItem {\n id\n title\n quantity\n unitPrice\n createdAt\n thumbnail\n productHandle\n productTitle\n total\n originalTotal\n variant {\n ...ProductVariant\n }\n }\n ${PRODUCT_VARIANT_FRAGMENT}\n`;\n\nexport const COUNTRY_FRAGMENT = gql`\n fragment CountryFields on Country {\n id\n iso2\n name\n displayName\n }\n`;\n\nexport const REGION_FRAGMENT = gql`\n fragment RegionFields on Region {\n id\n name\n currencyCode\n createdAt\n countries {\n ...CountryFields\n }\n }\n ${COUNTRY_FRAGMENT}\n`;\n\nexport const SHIPPING_METHODS_FRAGMENT = gql`\n fragment ShippingMethodFields on ShippingMethod {\n id\n cartId\n name\n amount\n shippingOptionId\n createdAt\n total\n }\n`;\n\nexport const PAYMENT_COLLECTION_FRAGMENT = gql`\n fragment PaymentCollectionFields on PaymentCollection {\n id\n currencyCode\n amount\n status\n paymentProviders {\n id\n }\n paymentSessions {\n id\n amount\n currencyCode\n providerId\n data\n status\n }\n }\n`;\n\nexport const ADDRESS_FRAGMENT = gql`\n fragment AddressFields on Address {\n firstName\n lastName\n phone\n address1\n city\n countryCode\n postalCode\n }\n`;\n\nexport const PROMOTION_FRAGMENT = gql`\n fragment PromotionFields on Promotion {\n id\n code\n applicationMethod {\n value\n type\n currencyCode\n }\n }\n`;\n\nexport const CART_FRAGMENT = gql`\n fragment CartFields on Cart {\n id\n customerId\n regionId\n email\n total\n subtotal\n taxTotal\n itemTotal\n discountTotal\n originalTotal\n currencyCode\n shippingTotal\n giftCardTotal\n promotions {\n ...PromotionFields\n }\n items {\n ...CartItemFields\n }\n shippingAddress {\n ...AddressFields\n }\n billingAddress {\n ...AddressFields\n }\n region {\n ...RegionFields\n }\n shippingMethods {\n ...ShippingMethodFields\n }\n paymentCollection {\n ...PaymentCollectionFields\n }\n }\n ${LINE_ITEM_FRAGMENT}\n ${ADDRESS_FRAGMENT}\n ${REGION_FRAGMENT}\n ${SHIPPING_METHODS_FRAGMENT}\n ${PAYMENT_COLLECTION_FRAGMENT}\n ${PROMOTION_FRAGMENT}\n`;\n"],"mappings":";;;;AAIA,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;IAgBjC,yBAAyB;;AAG7B,MAAa,mBAAmB,GAAG;;;;;;;;AASnC,MAAa,kBAAkB,GAAG;;;;;;;;;;IAU9B,iBAAiB;;AAGrB,MAAa,4BAA4B,GAAG;;;;;;;;;;;AAY5C,MAAa,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;AAoB9C,MAAa,mBAAmB,GAAG;;;;;;;;;;;AAYnC,MAAa,qBAAqB,GAAG;;;;;;;;;;;AAYrC,MAAa,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqC5B,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,0BAA0B;IAC1B,4BAA4B;IAC5B,mBAAmB"}
@@ -0,0 +1,16 @@
1
+ import { r as graphqlFetch } from "./apollo-client-BuznVAE4.js";
2
+ import { t as GET_PRODUCT_CATEGORIES_QUERY } from "./product-DMWvgZkb.js";
3
+
4
+ //#region src/lib/data/categories.ts
5
+ const listCategories = async () => {
6
+ try {
7
+ return (await graphqlFetch({ query: GET_PRODUCT_CATEGORIES_QUERY }))?.productCategories || [];
8
+ } catch (error) {
9
+ console.error("Error fetching categories from BFF:", error);
10
+ return [];
11
+ }
12
+ };
13
+
14
+ //#endregion
15
+ export { listCategories as t };
16
+ //# sourceMappingURL=categories-BCbIwAcV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories-BCbIwAcV.js","names":[],"sources":["../src/lib/data/categories.ts"],"sourcesContent":["import { graphqlFetch } from '@/lib/gql/apollo-client';\nimport { GET_PRODUCT_CATEGORIES_QUERY } from '@/lib/gql/queries/product';\nimport {\n GetProductCategoriesQuery,\n GetProductCategoriesQueryVariables,\n} from '@/types/graphql';\n\nexport const listCategories = async () => {\n try {\n const data = await graphqlFetch<\n GetProductCategoriesQuery,\n GetProductCategoriesQueryVariables\n >({\n query: GET_PRODUCT_CATEGORIES_QUERY,\n });\n\n return data?.productCategories || [];\n } catch (error) {\n console.error('Error fetching categories from BFF:', error);\n return [];\n }\n};\n"],"mappings":";;;;AAOA,MAAa,iBAAiB,YAAY;AACxC,KAAI;AAQF,UAPa,MAAM,aAGjB,EACA,OAAO,8BACR,CAAC,GAEW,qBAAqB,EAAE;UAC7B,OAAO;AACd,UAAQ,MAAM,uCAAuC,MAAM;AAC3D,SAAO,EAAE"}
@@ -0,0 +1,20 @@
1
+ import { i as PRODUCT_COLLECTION_FRAGMENT, t as COLLECTION_PRODUCTS_FRAGMENT } from "./product-Cgtch-vz.js";
2
+ import { gql } from "@apollo/client";
3
+
4
+ //#region src/lib/gql/queries/collections.ts
5
+ const GET_COLLECTIONS_QUERY = gql`
6
+ query GetCollections($limit: Int, $offset: Int) {
7
+ collections(limit: $limit, offset: $offset) {
8
+ ...ProductCollection
9
+ products {
10
+ ...CollectionProducts
11
+ }
12
+ }
13
+ }
14
+ ${PRODUCT_COLLECTION_FRAGMENT}
15
+ ${COLLECTION_PRODUCTS_FRAGMENT}
16
+ `;
17
+
18
+ //#endregion
19
+ export { GET_COLLECTIONS_QUERY as t };
20
+ //# sourceMappingURL=collections-Buw8B8l9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections-Buw8B8l9.js","names":[],"sources":["../src/lib/gql/queries/collections.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nimport {\n COLLECTION_PRODUCTS_FRAGMENT,\n PRODUCT_COLLECTION_FRAGMENT,\n} from '../fragments/product';\n\nexport const GET_COLLECTIONS_QUERY = gql`\n query GetCollections($limit: Int, $offset: Int) {\n collections(limit: $limit, offset: $offset) {\n ...ProductCollection\n products {\n ...CollectionProducts\n }\n }\n }\n ${PRODUCT_COLLECTION_FRAGMENT}\n ${COLLECTION_PRODUCTS_FRAGMENT}\n`;\n"],"mappings":";;;;AAOA,MAAa,wBAAwB,GAAG;;;;;;;;;IASpC,4BAA4B;IAC5B,6BAA6B"}
@@ -0,0 +1,22 @@
1
+ import { r as graphqlFetch } from "./apollo-client-BuznVAE4.js";
2
+ import { t as GET_COLLECTIONS_QUERY } from "./collections-Buw8B8l9.js";
3
+
4
+ //#region src/lib/data/collections.ts
5
+ const listCollections = async (queryParams = {}) => {
6
+ try {
7
+ return { collections: (await graphqlFetch({
8
+ query: GET_COLLECTIONS_QUERY,
9
+ variables: {
10
+ limit: parseInt(queryParams.limit || "100"),
11
+ offset: parseInt(queryParams.offset || "0")
12
+ }
13
+ }))?.collections };
14
+ } catch (error) {
15
+ console.error("Error fetching collections from BFF:", error);
16
+ return { collections: [] };
17
+ }
18
+ };
19
+
20
+ //#endregion
21
+ export { listCollections as t };
22
+ //# sourceMappingURL=collections-Dkcq21tC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections-Dkcq21tC.js","names":[],"sources":["../src/lib/data/collections.ts"],"sourcesContent":["'use server';\n\nimport { graphqlFetch } from '@/lib/gql/apollo-client';\nimport { GET_COLLECTIONS_QUERY } from '@/lib/gql/queries/collections';\nimport {\n GetCollectionsQuery,\n GetCollectionsQueryVariables,\n} from '@/types/graphql';\n\nexport const listCollections = async (\n queryParams: Record<string, string> = {}\n) => {\n try {\n const limit = parseInt(queryParams.limit || '100');\n const offset = parseInt(queryParams.offset || '0');\n\n const data = await graphqlFetch<\n GetCollectionsQuery,\n GetCollectionsQueryVariables\n >({\n query: GET_COLLECTIONS_QUERY,\n variables: { limit, offset },\n });\n\n return {\n collections: data?.collections,\n };\n } catch (error) {\n console.error('Error fetching collections from BFF:', error);\n return { collections: [] };\n }\n};\n"],"mappings":";;;;AASA,MAAa,kBAAkB,OAC7B,cAAsC,EAAE,KACrC;AACH,KAAI;AAYF,SAAO,EACL,cATW,MAAM,aAGjB;GACA,OAAO;GACP,WAAW;IAAE,OARD,SAAS,YAAY,SAAS,MAAM;IAQ5B,QAPP,SAAS,YAAY,UAAU,IAAI;IAOpB;GAC7B,CAAC,GAGmB,aACpB;UACM,OAAO;AACd,UAAQ,MAAM,wCAAwC,MAAM;AAC5D,SAAO,EAAE,aAAa,EAAE,EAAE"}
@@ -0,0 +1,22 @@
1
+ import * as react0 from "react";
2
+ import * as lucide_react0 from "lucide-react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/breadcrumbs/index.d.ts
6
+ declare const SEPARATOR_ICONS: {
7
+ readonly verticalLine: react0.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react0.RefAttributes<SVGSVGElement>>;
8
+ readonly slash: react0.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react0.RefAttributes<SVGSVGElement>>;
9
+ };
10
+ interface BreadcrumbsProps {
11
+ separatorIcon?: keyof typeof SEPARATOR_ICONS;
12
+ iconSize?: number;
13
+ iconClassName?: string;
14
+ }
15
+ declare function Breadcrumbs({
16
+ iconClassName,
17
+ iconSize,
18
+ separatorIcon
19
+ }: BreadcrumbsProps): react_jsx_runtime0.JSX.Element;
20
+ //#endregion
21
+ export { Breadcrumbs };
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/breadcrumbs/index.tsx"],"sourcesContent":[],"mappings":";;;;;cAiBM;+DAGI,aAAA,CAAA,WAAA;;;UAEA,gBAAA;EALJ,aAAA,CAAA,EAAA,MAGI,OAGqB,eAHrB;EAAA,QAAA,CAAA,EAAA,MAAA;;;iBAiCD,WAAA;;;;GAIN,mBAAgB,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,54 @@
1
+ 'use client';
2
+
3
+ import { Fragment } from "react";
4
+ import { usePathname } from "next/navigation";
5
+ import { SlashIcon, Tally1 } from "lucide-react";
6
+ import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@gfed-medusa/sf-lib-ui/components/breadcrumb";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/components/breadcrumbs/index.tsx
10
+ const SEPARATOR_ICONS = {
11
+ verticalLine: Tally1,
12
+ slash: SlashIcon
13
+ };
14
+ const formatSegmentLabel = (segment) => segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, " ");
15
+ const createBreadcrumbItems = (segments) => [{
16
+ label: "Home",
17
+ href: "/"
18
+ }, ...segments.map((segment, index) => ({
19
+ href: "/" + segments.slice(0, index + 1).join("/"),
20
+ label: formatSegmentLabel(segment)
21
+ }))];
22
+ const isLocaleCode = (segment) => /^[a-zA-Z]{2}(-[a-zA-Z]{2})?$/.test(segment);
23
+ const getPathSegments = (pathname) => {
24
+ const segments = pathname.split("/").filter(Boolean);
25
+ if (segments.length > 0 && isLocaleCode(segments[0] ?? "")) segments.shift();
26
+ return segments;
27
+ };
28
+ function Breadcrumbs({ iconClassName, iconSize, separatorIcon }) {
29
+ const breadcrumbItems = createBreadcrumbItems(getPathSegments(usePathname()));
30
+ const SeparatorIcon = separatorIcon ? SEPARATOR_ICONS[separatorIcon] : null;
31
+ return /* @__PURE__ */ jsx(Breadcrumb, {
32
+ className: "mt-3",
33
+ children: /* @__PURE__ */ jsx(BreadcrumbList, {
34
+ className: "lg:gap-6",
35
+ children: breadcrumbItems.map((item, index) => {
36
+ const isLast = index === breadcrumbItems.length - 1;
37
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(BreadcrumbItem, {
38
+ className: "text-sm",
39
+ children: isLast ? /* @__PURE__ */ jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsx(BreadcrumbLink, {
40
+ href: item.href,
41
+ children: item.label
42
+ })
43
+ }), !isLast && /* @__PURE__ */ jsx(BreadcrumbSeparator, { children: SeparatorIcon && /* @__PURE__ */ jsx(SeparatorIcon, {
44
+ size: iconSize,
45
+ className: iconClassName
46
+ }) })] }, item.href);
47
+ })
48
+ })
49
+ });
50
+ }
51
+
52
+ //#endregion
53
+ export { Breadcrumbs };
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["segments: string[]"],"sources":["../../../src/components/breadcrumbs/index.tsx"],"sourcesContent":["'use client';\n\nimport { Fragment } from 'react';\n\nimport { usePathname } from 'next/navigation';\n\nimport { SlashIcon, Tally1 } from 'lucide-react';\n\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '@gfed-medusa/sf-lib-ui/components/breadcrumb';\n\nconst SEPARATOR_ICONS = {\n verticalLine: Tally1,\n slash: SlashIcon,\n} as const;\n\ninterface BreadcrumbsProps {\n separatorIcon?: keyof typeof SEPARATOR_ICONS;\n iconSize?: number;\n iconClassName?: string;\n}\n\nconst formatSegmentLabel = (segment: string): string =>\n segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, ' ');\n\nconst createBreadcrumbItems = (segments: string[]) => [\n { label: 'Home', href: '/' },\n ...segments.map((segment, index) => ({\n href: '/' + segments.slice(0, index + 1).join('/'),\n label: formatSegmentLabel(segment),\n })),\n];\n\n// Helper function to check if a string is a locale code (e.g., 'en', 'en-US')\nconst isLocaleCode = (segment: string): boolean =>\n /^[a-zA-Z]{2}(-[a-zA-Z]{2})?$/.test(segment);\n\nconst getPathSegments = (pathname: string): string[] => {\n const segments: string[] = pathname.split('/').filter(Boolean);\n\n if (segments.length > 0 && isLocaleCode(segments[0] ?? '')) {\n segments.shift();\n }\n\n return segments;\n};\n\nfunction Breadcrumbs({\n iconClassName,\n iconSize,\n separatorIcon,\n}: BreadcrumbsProps) {\n const pathname = usePathname();\n const pathSegments = getPathSegments(pathname);\n const breadcrumbItems = createBreadcrumbItems(pathSegments);\n const SeparatorIcon = separatorIcon ? SEPARATOR_ICONS[separatorIcon] : null;\n\n return (\n <Breadcrumb className=\"mt-3\">\n <BreadcrumbList className=\"lg:gap-6\">\n {breadcrumbItems.map((item, index) => {\n const isLast = index === breadcrumbItems.length - 1;\n\n return (\n <Fragment key={item.href}>\n <BreadcrumbItem className=\"text-sm\">\n {isLast ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink href={item.href}>{item.label}</BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {!isLast && (\n <BreadcrumbSeparator>\n {SeparatorIcon && (\n <SeparatorIcon size={iconSize} className={iconClassName} />\n )}\n </BreadcrumbSeparator>\n )}\n </Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n\nexport { Breadcrumbs };\n"],"mappings":";;;;;;;;;AAiBA,MAAM,kBAAkB;CACtB,cAAc;CACd,OAAO;CACR;AAQD,MAAM,sBAAsB,YAC1B,QAAQ,OAAO,EAAE,CAAC,aAAa,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,MAAM,IAAI;AAEvE,MAAM,yBAAyB,aAAuB,CACpD;CAAE,OAAO;CAAQ,MAAM;CAAK,EAC5B,GAAG,SAAS,KAAK,SAAS,WAAW;CACnC,MAAM,MAAM,SAAS,MAAM,GAAG,QAAQ,EAAE,CAAC,KAAK,IAAI;CAClD,OAAO,mBAAmB,QAAQ;CACnC,EAAE,CACJ;AAGD,MAAM,gBAAgB,YACpB,+BAA+B,KAAK,QAAQ;AAE9C,MAAM,mBAAmB,aAA+B;CACtD,MAAMA,WAAqB,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ;AAE9D,KAAI,SAAS,SAAS,KAAK,aAAa,SAAS,MAAM,GAAG,CACxD,UAAS,OAAO;AAGlB,QAAO;;AAGT,SAAS,YAAY,EACnB,eACA,UACA,iBACmB;CAGnB,MAAM,kBAAkB,sBADH,gBADJ,aAAa,CACgB,CACa;CAC3D,MAAM,gBAAgB,gBAAgB,gBAAgB,iBAAiB;AAEvE,QACE,oBAAC;EAAW,WAAU;YACpB,oBAAC;GAAe,WAAU;aACvB,gBAAgB,KAAK,MAAM,UAAU;IACpC,MAAM,SAAS,UAAU,gBAAgB,SAAS;AAElD,WACE,qBAAC,uBACC,oBAAC;KAAe,WAAU;eACvB,SACC,oBAAC,4BAAgB,KAAK,QAAuB,GAE7C,oBAAC;MAAe,MAAM,KAAK;gBAAO,KAAK;OAAuB;MAEjD,EAChB,CAAC,UACA,oBAAC,iCACE,iBACC,oBAAC;KAAc,MAAM;KAAU,WAAW;MAAiB,GAEzC,KAbX,KAAK,KAeT;KAEb;IACa;GACN"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime17 from "react/jsx-runtime";
2
+
3
+ //#region src/components/cart-button/index.d.ts
4
+ declare function CartButton(): Promise<react_jsx_runtime17.JSX.Element>;
5
+ //#endregion
6
+ export { CartButton };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/cart-button/index.tsx"],"sourcesContent":[],"mappings":";;;iBAIe,UAAA,CAAA,GAAU,QAAA,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,18 @@
1
+ import "../../medusa-C1jfAM1B.js";
2
+ import "../../apollo-client-BuznVAE4.js";
3
+ import "../../product-Cgtch-vz.js";
4
+ import "../../cart-p3ffQQ5R.js";
5
+ import "../../cart-XQIczSA1.js";
6
+ import "../../cart-D99u8SUJ.js";
7
+ import "../../cookies-DANAjt8U.js";
8
+ import "../../regions-CF6DH579.js";
9
+ import "../../cart-CLJvIUQC.js";
10
+ import "../../delete-button-Bfog7z-I.js";
11
+ import "../../line-item-options-B3rbud31.js";
12
+ import "../../line-item-price-BBlC_T8m.js";
13
+ import "../../localized-client-link-C3mE37Ub.js";
14
+ import "../../thumbnail-CXIliWAD.js";
15
+ import "../../cart-dropdown-_ZpvhX--.js";
16
+ import { t as CartButton } from "../../cart-button-NgoZb9LI.js";
17
+
18
+ export { CartButton };
@@ -0,0 +1,12 @@
1
+ import { p as Cart } from "../../graphql-BWZPPI_N.js";
2
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
3
+
4
+ //#region src/components/cart-dropdown/index.d.ts
5
+ declare const CartDropdown: ({
6
+ cart: cartState
7
+ }: {
8
+ cart?: Cart | null;
9
+ }) => react_jsx_runtime4.JSX.Element;
10
+ //#endregion
11
+ export { CartDropdown };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/cart-dropdown/index.tsx"],"sourcesContent":[],"mappings":";;;;cAuBM;QAAgB;;SAA8B;MAAa,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+
3
+ import "../../medusa-C1jfAM1B.js";
4
+ import "../../apollo-client-BuznVAE4.js";
5
+ import "../../product-Cgtch-vz.js";
6
+ import "../../cart-p3ffQQ5R.js";
7
+ import "../../cart-XQIczSA1.js";
8
+ import "../../cart-D99u8SUJ.js";
9
+ import "../../cookies-DANAjt8U.js";
10
+ import "../../regions-CF6DH579.js";
11
+ import "../../cart-CLJvIUQC.js";
12
+ import "../../delete-button-Bfog7z-I.js";
13
+ import "../../line-item-options-B3rbud31.js";
14
+ import "../../line-item-price-BBlC_T8m.js";
15
+ import "../../localized-client-link-C3mE37Ub.js";
16
+ import "../../thumbnail-CXIliWAD.js";
17
+ import { t as CartDropdown } from "../../cart-dropdown-_ZpvhX--.js";
18
+
19
+ export { CartDropdown };
@@ -0,0 +1,11 @@
1
+ import { p as Cart, z as Customer } from "../../graphql-BWZPPI_N.js";
2
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
3
+
4
+ //#region src/components/cart-mismatch-banner/index.d.ts
5
+ declare function CartMismatchBanner(props: {
6
+ customer: Customer;
7
+ cart: Cart;
8
+ }): react_jsx_runtime3.JSX.Element | undefined;
9
+ //#endregion
10
+ export { CartMismatchBanner };
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/cart-mismatch-banner/index.tsx"],"sourcesContent":[],"mappings":";;;;iBAWS,kBAAA;YAAsC;EAAtC,IAAA,EAAsD,IAAtD;CAAsC,CAAA,EAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA,GAAtB,SAAA"}
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+
3
+ import "../../apollo-client-BuznVAE4.js";
4
+ import "../../product-Cgtch-vz.js";
5
+ import "../../cart-p3ffQQ5R.js";
6
+ import "../../cart-XQIczSA1.js";
7
+ import "../../cookies-DANAjt8U.js";
8
+ import { t as transferCart } from "../../customer-GZZNI4eh.js";
9
+ import { useState } from "react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { Button } from "@medusajs/ui";
12
+ import { ExclamationCircleSolid } from "@medusajs/icons";
13
+
14
+ //#region src/components/cart-mismatch-banner/index.tsx
15
+ function CartMismatchBanner(props) {
16
+ const { customer, cart } = props;
17
+ const [isPending, setIsPending] = useState(false);
18
+ const [actionText, setActionText] = useState("Run transfer again");
19
+ if (!customer || !!cart.customerId) return;
20
+ const handleSubmit = async () => {
21
+ try {
22
+ setIsPending(true);
23
+ setActionText("Transferring..");
24
+ await transferCart();
25
+ } catch {
26
+ setActionText("Run transfer again");
27
+ setIsPending(false);
28
+ }
29
+ };
30
+ return /* @__PURE__ */ jsx("div", {
31
+ className: "small:gap-2 small:p-4 mt-2 flex items-center justify-center gap-1 bg-orange-300 p-2 text-center text-sm text-orange-800",
32
+ children: /* @__PURE__ */ jsxs("div", {
33
+ className: "small:flex-row small:gap-2 flex flex-col items-center gap-1",
34
+ children: [
35
+ /* @__PURE__ */ jsxs("span", {
36
+ className: "flex items-center gap-1",
37
+ children: [/* @__PURE__ */ jsx(ExclamationCircleSolid, { className: "inline" }), "Something went wrong when we tried to transfer your cart"]
38
+ }),
39
+ /* @__PURE__ */ jsx("span", { children: "·" }),
40
+ /* @__PURE__ */ jsx(Button, {
41
+ variant: "transparent",
42
+ className: "bg-transparent p-0 text-orange-950 hover:bg-transparent focus:bg-transparent active:bg-transparent disabled:text-orange-500",
43
+ size: "base",
44
+ disabled: isPending,
45
+ onClick: handleSubmit,
46
+ children: actionText
47
+ })
48
+ ]
49
+ })
50
+ });
51
+ }
52
+
53
+ //#endregion
54
+ export { CartMismatchBanner };
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/cart-mismatch-banner/index.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from 'react';\n\nimport { ExclamationCircleSolid } from '@medusajs/icons';\nimport { Button } from '@medusajs/ui';\n\nimport { transferCart } from '@/lib/data/customer';\nimport { Customer } from '@/types/graphql';\nimport { Cart } from '@/types/graphql';\n\nfunction CartMismatchBanner(props: { customer: Customer; cart: Cart }) {\n const { customer, cart } = props;\n const [isPending, setIsPending] = useState(false);\n const [actionText, setActionText] = useState('Run transfer again');\n\n if (!customer || !!cart.customerId) {\n return;\n }\n\n const handleSubmit = async () => {\n try {\n setIsPending(true);\n setActionText('Transferring..');\n\n await transferCart();\n } catch {\n setActionText('Run transfer again');\n setIsPending(false);\n }\n };\n\n return (\n <div className=\"small:gap-2 small:p-4 mt-2 flex items-center justify-center gap-1 bg-orange-300 p-2 text-center text-sm text-orange-800\">\n <div className=\"small:flex-row small:gap-2 flex flex-col items-center gap-1\">\n <span className=\"flex items-center gap-1\">\n <ExclamationCircleSolid className=\"inline\" />\n Something went wrong when we tried to transfer your cart\n </span>\n\n <span>·</span>\n\n <Button\n variant=\"transparent\"\n className=\"bg-transparent p-0 text-orange-950 hover:bg-transparent focus:bg-transparent active:bg-transparent disabled:text-orange-500\"\n size=\"base\"\n disabled={isPending}\n onClick={handleSubmit}\n >\n {actionText}\n </Button>\n </div>\n </div>\n );\n}\n\nexport { CartMismatchBanner };\n"],"mappings":";;;;;;;;;;;;;;AAWA,SAAS,mBAAmB,OAA2C;CACrE,MAAM,EAAE,UAAU,SAAS;CAC3B,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,CAAC,YAAY,iBAAiB,SAAS,qBAAqB;AAElE,KAAI,CAAC,YAAY,CAAC,CAAC,KAAK,WACtB;CAGF,MAAM,eAAe,YAAY;AAC/B,MAAI;AACF,gBAAa,KAAK;AAClB,iBAAc,iBAAiB;AAE/B,SAAM,cAAc;UACd;AACN,iBAAc,qBAAqB;AACnC,gBAAa,MAAM;;;AAIvB,QACE,oBAAC;EAAI,WAAU;YACb,qBAAC;GAAI,WAAU;;IACb,qBAAC;KAAK,WAAU;gBACd,oBAAC,0BAAuB,WAAU,WAAW;MAExC;IAEP,oBAAC,oBAAK,MAAQ;IAEd,oBAAC;KACC,SAAQ;KACR,WAAU;KACV,MAAK;KACL,UAAU;KACV,SAAS;eAER;MACM;;IACL;GACF"}
@@ -0,0 +1,14 @@
1
+ import { tr as Region } from "../../graphql-BWZPPI_N.js";
2
+ import * as react3 from "react";
3
+
4
+ //#region src/components/country-select/index.d.ts
5
+ declare const CountrySelect: react3.ForwardRefExoticComponent<{
6
+ placeholder?: string;
7
+ errors?: Record<string, unknown>;
8
+ touched?: Record<string, unknown>;
9
+ } & react3.SelectHTMLAttributes<HTMLSelectElement> & {
10
+ region?: Region | null;
11
+ } & react3.RefAttributes<HTMLSelectElement>>;
12
+ //#endregion
13
+ export { CountrySelect };
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/country-select/index.tsx"],"sourcesContent":[],"mappings":";;;;cAQM,sBAAa;;;EAAb,OAAA,CAAA,QAsCJ,CAAA,MAAA,EAAA,OAAA,CAAA;;WAnCW"}
@@ -0,0 +1,31 @@
1
+ import { forwardRef, useImperativeHandle, useMemo, useRef } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import NativeSelect from "@gfed-medusa/sf-lib-ui/components/native-select";
4
+
5
+ //#region src/components/country-select/index.tsx
6
+ const CountrySelect = forwardRef(({ placeholder = "Country", region, defaultValue, ...props }, ref) => {
7
+ const innerRef = useRef(null);
8
+ useImperativeHandle(ref, () => innerRef.current);
9
+ const countryOptions = useMemo(() => {
10
+ if (!region) return [];
11
+ return region.countries?.map((country) => ({
12
+ value: country?.iso2,
13
+ label: country?.displayName
14
+ }));
15
+ }, [region]);
16
+ return /* @__PURE__ */ jsx(NativeSelect, {
17
+ ref: innerRef,
18
+ placeholder,
19
+ defaultValue,
20
+ ...props,
21
+ children: countryOptions?.map(({ value, label }, index) => /* @__PURE__ */ jsx("option", {
22
+ value: value ?? "",
23
+ children: label
24
+ }, index))
25
+ });
26
+ });
27
+ CountrySelect.displayName = "CountrySelect";
28
+
29
+ //#endregion
30
+ export { CountrySelect };
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/country-select/index.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport NativeSelect, {\n NativeSelectProps,\n} from '@gfed-medusa/sf-lib-ui/components/native-select';\n\nimport { Region } from '@/types/graphql';\n\nconst CountrySelect = forwardRef<\n HTMLSelectElement,\n NativeSelectProps & {\n region?: Region | null;\n }\n>(({ placeholder = 'Country', region, defaultValue, ...props }, ref) => {\n const innerRef = useRef<HTMLSelectElement>(null);\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n ref,\n () => innerRef.current\n );\n\n const countryOptions = useMemo(() => {\n if (!region) {\n return [];\n }\n\n return region.countries?.map((country) => ({\n value: country?.iso2,\n label: country?.displayName,\n }));\n }, [region]);\n\n return (\n <NativeSelect\n ref={innerRef}\n placeholder={placeholder}\n defaultValue={defaultValue}\n {...props}\n >\n {countryOptions?.map(({ value, label }, index) => (\n <option key={index} value={value ?? ''}>\n {label}\n </option>\n ))}\n </NativeSelect>\n );\n});\n\nCountrySelect.displayName = 'CountrySelect';\n\nexport { CountrySelect };\n"],"mappings":";;;;;AAQA,MAAM,gBAAgB,YAKnB,EAAE,cAAc,WAAW,QAAQ,cAAc,GAAG,SAAS,QAAQ;CACtE,MAAM,WAAW,OAA0B,KAAK;AAEhD,qBACE,WACM,SAAS,QAChB;CAED,MAAM,iBAAiB,cAAc;AACnC,MAAI,CAAC,OACH,QAAO,EAAE;AAGX,SAAO,OAAO,WAAW,KAAK,aAAa;GACzC,OAAO,SAAS;GAChB,OAAO,SAAS;GACjB,EAAE;IACF,CAAC,OAAO,CAAC;AAEZ,QACE,oBAAC;EACC,KAAK;EACQ;EACC;EACd,GAAI;YAEH,gBAAgB,KAAK,EAAE,OAAO,SAAS,UACtC,oBAAC;GAAmB,OAAO,SAAS;aACjC;KADU,MAEJ,CACT;GACW;EAEjB;AAEF,cAAc,cAAc"}
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/components/delete-button/index.d.ts
4
+ declare const DeleteButton: ({
5
+ id,
6
+ children,
7
+ className
8
+ }: {
9
+ id: string;
10
+ children?: React.ReactNode;
11
+ className?: string;
12
+ }) => react_jsx_runtime0.JSX.Element;
13
+ //#endregion
14
+ export { DeleteButton };
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/delete-button/index.tsx"],"sourcesContent":[],"mappings":";;;cAOM;;;;;;aAMO,KAAA,CAAM;EANb,SAAA,CAAA,EAAA,MAkCL;CAlCqB,EAAA,GAQrB,kBAAA,CAAA,GAAA,CAAA,OARqB"}
@@ -0,0 +1,12 @@
1
+ import "../../medusa-C1jfAM1B.js";
2
+ import "../../apollo-client-BuznVAE4.js";
3
+ import "../../product-Cgtch-vz.js";
4
+ import "../../cart-p3ffQQ5R.js";
5
+ import "../../cart-XQIczSA1.js";
6
+ import "../../cart-D99u8SUJ.js";
7
+ import "../../cookies-DANAjt8U.js";
8
+ import "../../regions-CF6DH579.js";
9
+ import "../../cart-CLJvIUQC.js";
10
+ import { t as DeleteButton } from "../../delete-button-Bfog7z-I.js";
11
+
12
+ export { DeleteButton };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
2
+
3
+ //#region src/components/error-message/index.d.ts
4
+ declare const ErrorMessage: ({
5
+ error,
6
+ "data-testid": dataTestid
7
+ }: {
8
+ error?: string | null;
9
+ "data-testid"?: string;
10
+ }) => react_jsx_runtime5.JSX.Element | null;
11
+ //#endregion
12
+ export { ErrorMessage };
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/error-message/index.tsx"],"sourcesContent":[],"mappings":";;;cAAM;;iBAAgB;AAMrB;;;AAAA,CAAA,EAAA,GAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,GAaA,IAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+
3
+ //#region src/components/error-message/index.tsx
4
+ const ErrorMessage = ({ error, "data-testid": dataTestid }) => {
5
+ if (!error) return null;
6
+ return /* @__PURE__ */ jsx("div", {
7
+ className: "text-small-regular pt-2 text-rose-600",
8
+ "data-testid": dataTestid,
9
+ children: /* @__PURE__ */ jsx("span", { children: error })
10
+ });
11
+ };
12
+
13
+ //#endregion
14
+ export { ErrorMessage };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/error-message/index.tsx"],"sourcesContent":["const ErrorMessage = ({\n error,\n 'data-testid': dataTestid,\n}: {\n error?: string | null;\n 'data-testid'?: string;\n}) => {\n if (!error) {\n return null;\n }\n\n return (\n <div\n className=\"text-small-regular pt-2 text-rose-600\"\n data-testid={dataTestid}\n >\n <span>{error}</span>\n </div>\n );\n};\n\nexport { ErrorMessage };\n"],"mappings":";;;AAAA,MAAM,gBAAgB,EACpB,OACA,eAAe,iBAIX;AACJ,KAAI,CAAC,MACH,QAAO;AAGT,QACE,oBAAC;EACC,WAAU;EACV,eAAa;YAEb,oBAAC,oBAAM,QAAa;GAChB"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+
3
+ //#region src/components/footer/index.d.ts
4
+ declare function Footer(): Promise<react_jsx_runtime1.JSX.Element>;
5
+ //#endregion
6
+ export { Footer as default };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/components/footer/index.tsx"],"sourcesContent":[],"mappings":";;;iBAU8B,MAAA,CAAA,GAAM,QAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}