medusa-storefront-data 2.3.0 → 2.5.1

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 (369) hide show
  1. package/HOMEPAGE_CONFIG.md +133 -0
  2. package/dist/segment-data/default-page-input.json +191 -0
  3. package/dist/src/config.d.ts.map +1 -0
  4. package/dist/src/cookies.d.ts.map +1 -0
  5. package/dist/src/dynamic-config-schema/index.d.ts +103 -0
  6. package/dist/src/dynamic-config-schema/index.d.ts.map +1 -0
  7. package/dist/src/dynamic-config-schema/index.js +172 -0
  8. package/dist/src/dynamic-config-schema/sections/about-brand.d.ts +5 -0
  9. package/dist/src/dynamic-config-schema/sections/about-brand.d.ts.map +1 -0
  10. package/dist/src/dynamic-config-schema/sections/about-brand.js +30 -0
  11. package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts +5 -0
  12. package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts.map +1 -0
  13. package/dist/src/dynamic-config-schema/sections/baptism-picks.js +17 -0
  14. package/dist/src/dynamic-config-schema/sections/baptism.d.ts +5 -0
  15. package/dist/src/dynamic-config-schema/sections/baptism.d.ts.map +1 -0
  16. package/dist/src/dynamic-config-schema/sections/baptism.js +4 -0
  17. package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts +5 -0
  18. package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts.map +1 -0
  19. package/dist/src/dynamic-config-schema/sections/blog-posts.js +31 -0
  20. package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts +5 -0
  21. package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts.map +1 -0
  22. package/dist/src/dynamic-config-schema/sections/brand-marquee.js +9 -0
  23. package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts +5 -0
  24. package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts.map +1 -0
  25. package/dist/src/dynamic-config-schema/sections/brand-pillars.js +29 -0
  26. package/dist/src/dynamic-config-schema/sections/category-pills.d.ts +5 -0
  27. package/dist/src/dynamic-config-schema/sections/category-pills.d.ts.map +1 -0
  28. package/dist/src/dynamic-config-schema/sections/category-pills.js +4 -0
  29. package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts +5 -0
  30. package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts.map +1 -0
  31. package/dist/src/dynamic-config-schema/sections/celebrity-trust.js +4 -0
  32. package/dist/src/dynamic-config-schema/sections/features.d.ts +5 -0
  33. package/dist/src/dynamic-config-schema/sections/features.d.ts.map +1 -0
  34. package/dist/src/dynamic-config-schema/sections/features.js +12 -0
  35. package/dist/src/dynamic-config-schema/sections/hero.d.ts +6 -0
  36. package/dist/src/dynamic-config-schema/sections/hero.d.ts.map +1 -0
  37. package/dist/src/dynamic-config-schema/sections/hero.js +9 -0
  38. package/dist/src/dynamic-config-schema/sections/index.d.ts +24 -0
  39. package/dist/src/dynamic-config-schema/sections/index.d.ts.map +1 -0
  40. package/dist/src/dynamic-config-schema/sections/index.js +23 -0
  41. package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts +5 -0
  42. package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts.map +1 -0
  43. package/dist/src/dynamic-config-schema/sections/instagram-posts.js +30 -0
  44. package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts +5 -0
  45. package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts.map +1 -0
  46. package/dist/src/dynamic-config-schema/sections/loved-by-moms.js +4 -0
  47. package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts +5 -0
  48. package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts.map +1 -0
  49. package/dist/src/dynamic-config-schema/sections/luxe-favourites.js +4 -0
  50. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts +5 -0
  51. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts.map +1 -0
  52. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.js +12 -0
  53. package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts +5 -0
  54. package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts.map +1 -0
  55. package/dist/src/dynamic-config-schema/sections/new-arrivals.js +12 -0
  56. package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts +5 -0
  57. package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts.map +1 -0
  58. package/dist/src/dynamic-config-schema/sections/promo-announcements.js +16 -0
  59. package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts +5 -0
  60. package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts.map +1 -0
  61. package/dist/src/dynamic-config-schema/sections/promo-countdown.js +16 -0
  62. package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts +5 -0
  63. package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts.map +1 -0
  64. package/dist/src/dynamic-config-schema/sections/shop-by-age.js +4 -0
  65. package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts +5 -0
  66. package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts.map +1 -0
  67. package/dist/src/dynamic-config-schema/sections/shop-by-category.js +4 -0
  68. package/dist/src/dynamic-config-schema/sections/testimonials.d.ts +5 -0
  69. package/dist/src/dynamic-config-schema/sections/testimonials.d.ts.map +1 -0
  70. package/dist/src/dynamic-config-schema/sections/testimonials.js +9 -0
  71. package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts +5 -0
  72. package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts.map +1 -0
  73. package/dist/src/dynamic-config-schema/sections/theme-dresses.js +4 -0
  74. package/dist/src/dynamic-config-schema/sections/video-stories.d.ts +5 -0
  75. package/dist/src/dynamic-config-schema/sections/video-stories.d.ts.map +1 -0
  76. package/dist/src/dynamic-config-schema/sections/video-stories.js +24 -0
  77. package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts +5 -0
  78. package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts.map +1 -0
  79. package/dist/src/dynamic-config-schema/sections/why-choose-us.js +9 -0
  80. package/dist/src/dynamic-config-schema/shared.d.ts +35 -0
  81. package/dist/src/dynamic-config-schema/shared.d.ts.map +1 -0
  82. package/dist/src/dynamic-config-schema/shared.js +99 -0
  83. package/dist/src/dynamic-config-schema/site-configs.d.ts +11 -0
  84. package/dist/src/dynamic-config-schema/site-configs.d.ts.map +1 -0
  85. package/dist/src/dynamic-config-schema/site-configs.js +70 -0
  86. package/dist/src/edge.d.ts.map +1 -0
  87. package/dist/src/middleware.d.ts.map +1 -0
  88. package/dist/src/server/brand-pillars-from-categories.d.ts +8 -0
  89. package/dist/src/server/brand-pillars-from-categories.d.ts.map +1 -0
  90. package/dist/src/server/brand-pillars-from-categories.js +92 -0
  91. package/dist/src/server/cart.d.ts.map +1 -0
  92. package/dist/{server → src/server}/cart.js +20 -20
  93. package/dist/src/server/categories.d.ts.map +1 -0
  94. package/dist/src/server/collections.d.ts.map +1 -0
  95. package/dist/src/server/config-merge.d.ts +3 -0
  96. package/dist/src/server/config-merge.d.ts.map +1 -0
  97. package/dist/src/server/config-merge.js +31 -0
  98. package/dist/src/server/contact.d.ts.map +1 -0
  99. package/dist/src/server/customer-registration.d.ts.map +1 -0
  100. package/dist/src/server/customer.d.ts.map +1 -0
  101. package/dist/{server → src/server}/customer.js +11 -11
  102. package/dist/src/server/dynamic-config-api.d.ts +11 -0
  103. package/dist/src/server/dynamic-config-api.d.ts.map +1 -0
  104. package/dist/src/server/dynamic-config-api.js +46 -0
  105. package/dist/src/server/dynamic-config.d.ts +157 -0
  106. package/dist/src/server/dynamic-config.d.ts.map +1 -0
  107. package/dist/src/server/dynamic-config.js +573 -0
  108. package/dist/src/server/fulfillment.d.ts.map +1 -0
  109. package/dist/{server → src/server}/fulfillment.js +3 -3
  110. package/dist/src/server/guest.d.ts.map +1 -0
  111. package/dist/src/server/home-sections/about-brand.d.ts +9 -0
  112. package/dist/src/server/home-sections/about-brand.d.ts.map +1 -0
  113. package/dist/src/server/home-sections/about-brand.js +9 -0
  114. package/dist/src/server/home-sections/baptism-picks.d.ts +10 -0
  115. package/dist/src/server/home-sections/baptism-picks.d.ts.map +1 -0
  116. package/dist/src/server/home-sections/baptism-picks.js +27 -0
  117. package/dist/src/server/home-sections/baptism.d.ts +13 -0
  118. package/dist/src/server/home-sections/baptism.d.ts.map +1 -0
  119. package/dist/src/server/home-sections/baptism.js +43 -0
  120. package/dist/src/server/home-sections/blog-posts.d.ts +9 -0
  121. package/dist/src/server/home-sections/blog-posts.d.ts.map +1 -0
  122. package/dist/src/server/home-sections/blog-posts.js +9 -0
  123. package/dist/src/server/home-sections/brand-marquee.d.ts +8 -0
  124. package/dist/src/server/home-sections/brand-marquee.d.ts.map +1 -0
  125. package/dist/src/server/home-sections/brand-marquee.js +7 -0
  126. package/dist/src/server/home-sections/brand-pillars.d.ts +9 -0
  127. package/dist/src/server/home-sections/brand-pillars.d.ts.map +1 -0
  128. package/dist/src/server/home-sections/brand-pillars.js +9 -0
  129. package/dist/src/server/home-sections/category-pills.d.ts +9 -0
  130. package/dist/src/server/home-sections/category-pills.d.ts.map +1 -0
  131. package/dist/src/server/home-sections/category-pills.js +19 -0
  132. package/dist/src/server/home-sections/celebrity-trust.d.ts +12 -0
  133. package/dist/src/server/home-sections/celebrity-trust.d.ts.map +1 -0
  134. package/dist/src/server/home-sections/celebrity-trust.js +27 -0
  135. package/dist/src/server/home-sections/features.d.ts +9 -0
  136. package/dist/src/server/home-sections/features.d.ts.map +1 -0
  137. package/dist/src/server/home-sections/features.js +9 -0
  138. package/dist/src/server/home-sections/hero.d.ts +9 -0
  139. package/dist/src/server/home-sections/hero.d.ts.map +1 -0
  140. package/dist/src/server/home-sections/hero.js +9 -0
  141. package/dist/src/server/home-sections/instagram-posts.d.ts +9 -0
  142. package/dist/src/server/home-sections/instagram-posts.d.ts.map +1 -0
  143. package/dist/src/server/home-sections/instagram-posts.js +9 -0
  144. package/dist/src/server/home-sections/loved-by-moms.d.ts +12 -0
  145. package/dist/src/server/home-sections/loved-by-moms.d.ts.map +1 -0
  146. package/dist/src/server/home-sections/loved-by-moms.js +20 -0
  147. package/dist/src/server/home-sections/luxe-favourites.d.ts +11 -0
  148. package/dist/src/server/home-sections/luxe-favourites.d.ts.map +1 -0
  149. package/dist/src/server/home-sections/luxe-favourites.js +19 -0
  150. package/dist/src/server/home-sections/new-arrivals-classic.d.ts +8 -0
  151. package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +1 -0
  152. package/dist/src/server/home-sections/new-arrivals-classic.js +10 -0
  153. package/dist/src/server/home-sections/new-arrivals.d.ts +12 -0
  154. package/dist/src/server/home-sections/new-arrivals.d.ts.map +1 -0
  155. package/dist/src/server/home-sections/new-arrivals.js +28 -0
  156. package/dist/src/server/home-sections/promo-announcements.d.ts +7 -0
  157. package/dist/src/server/home-sections/promo-announcements.d.ts.map +1 -0
  158. package/dist/src/server/home-sections/promo-announcements.js +7 -0
  159. package/dist/src/server/home-sections/promo-countdown.d.ts +6 -0
  160. package/dist/src/server/home-sections/promo-countdown.d.ts.map +1 -0
  161. package/dist/src/server/home-sections/promo-countdown.js +5 -0
  162. package/dist/src/server/home-sections/shared.d.ts +10 -0
  163. package/dist/src/server/home-sections/shared.d.ts.map +1 -0
  164. package/dist/src/server/home-sections/shared.js +29 -0
  165. package/dist/src/server/home-sections/shop-by-age.d.ts +9 -0
  166. package/dist/src/server/home-sections/shop-by-age.d.ts.map +1 -0
  167. package/dist/src/server/home-sections/shop-by-age.js +17 -0
  168. package/dist/src/server/home-sections/shop-by-category.d.ts +10 -0
  169. package/dist/src/server/home-sections/shop-by-category.d.ts.map +1 -0
  170. package/dist/src/server/home-sections/shop-by-category.js +17 -0
  171. package/dist/src/server/home-sections/testimonials.d.ts +9 -0
  172. package/dist/src/server/home-sections/testimonials.d.ts.map +1 -0
  173. package/dist/src/server/home-sections/testimonials.js +9 -0
  174. package/dist/src/server/home-sections/theme-dresses.d.ts +12 -0
  175. package/dist/src/server/home-sections/theme-dresses.d.ts.map +1 -0
  176. package/dist/src/server/home-sections/theme-dresses.js +27 -0
  177. package/dist/src/server/home-sections/video-stories.d.ts +9 -0
  178. package/dist/src/server/home-sections/video-stories.d.ts.map +1 -0
  179. package/dist/src/server/home-sections/video-stories.js +9 -0
  180. package/dist/src/server/home-sections/why-choose-us.d.ts +9 -0
  181. package/dist/src/server/home-sections/why-choose-us.d.ts.map +1 -0
  182. package/dist/src/server/home-sections/why-choose-us.js +9 -0
  183. package/dist/{server → src/server}/home.d.ts +18 -9
  184. package/dist/src/server/home.d.ts.map +1 -0
  185. package/dist/src/server/home.js +1 -0
  186. package/dist/src/server/homepage-config.types.d.ts +274 -0
  187. package/dist/src/server/homepage-config.types.d.ts.map +1 -0
  188. package/dist/src/server/homepage-config.types.js +33 -0
  189. package/dist/{server → src/server}/homepage-section-defaults.d.ts +35 -2
  190. package/dist/src/server/homepage-section-defaults.d.ts.map +1 -0
  191. package/dist/{server → src/server}/homepage-section-defaults.js +41 -2
  192. package/dist/{server → src/server}/index.d.ts +2 -0
  193. package/dist/src/server/index.d.ts.map +1 -0
  194. package/dist/{server → src/server}/index.js +2 -0
  195. package/dist/src/server/locale-actions.d.ts.map +1 -0
  196. package/dist/src/server/locales.d.ts.map +1 -0
  197. package/dist/src/server/normalize-homepage-config.d.ts +7 -0
  198. package/dist/src/server/normalize-homepage-config.d.ts.map +1 -0
  199. package/dist/src/server/normalize-homepage-config.js +213 -0
  200. package/dist/src/server/notifications.d.ts.map +1 -0
  201. package/dist/src/server/onboarding.d.ts.map +1 -0
  202. package/dist/src/server/orders.d.ts.map +1 -0
  203. package/dist/{server → src/server}/orders.js +6 -6
  204. package/dist/src/server/page-input.d.ts +19 -0
  205. package/dist/src/server/page-input.d.ts.map +1 -0
  206. package/dist/src/server/page-input.js +42 -0
  207. package/dist/src/server/payment-details.d.ts.map +1 -0
  208. package/dist/{server → src/server}/payment-details.js +5 -5
  209. package/dist/src/server/payment.d.ts.map +1 -0
  210. package/dist/{server → src/server}/payment.js +2 -2
  211. package/dist/src/server/pincode.d.ts.map +1 -0
  212. package/dist/src/server/products.d.ts.map +1 -0
  213. package/dist/src/server/regions.d.ts.map +1 -0
  214. package/dist/{server → src/server}/regions.js +2 -2
  215. package/dist/src/server/resolve-home-segment-data.d.ts +25 -0
  216. package/dist/src/server/resolve-home-segment-data.d.ts.map +1 -0
  217. package/dist/src/server/resolve-home-segment-data.js +20 -0
  218. package/dist/src/server/returns.d.ts.map +1 -0
  219. package/dist/src/server/shoppable-looks.d.ts +17 -0
  220. package/dist/src/server/shoppable-looks.d.ts.map +1 -0
  221. package/dist/src/server/shoppable-looks.js +136 -0
  222. package/dist/src/server/swaps.d.ts.map +1 -0
  223. package/dist/src/server/variants.d.ts.map +1 -0
  224. package/dist/src/server/wishlist.d.ts.map +1 -0
  225. package/dist/src/util/get-locale-header.d.ts.map +1 -0
  226. package/dist/src/util/medusa-error.d.ts.map +1 -0
  227. package/dist/src/util/revalidate-cart.d.ts.map +1 -0
  228. package/dist/src/util/sort-products.d.ts.map +1 -0
  229. package/dist/{util → src/util}/store-client.d.ts +0 -2
  230. package/dist/src/util/store-client.d.ts.map +1 -0
  231. package/dist/{util → src/util}/store-client.js +0 -2
  232. package/homepage-config.example.json +209 -0
  233. package/homepage-sections.example.json +55 -0
  234. package/package.json +120 -156
  235. package/segment-data/default-page-input.json +191 -0
  236. package/src/server/brand-pillars-from-categories.ts +156 -0
  237. package/src/server/cart.ts +20 -20
  238. package/src/server/config-merge.ts +31 -0
  239. package/src/server/customer.ts +11 -11
  240. package/src/server/dynamic-config.ts +507 -566
  241. package/src/server/fulfillment.ts +3 -3
  242. package/src/server/home-sections/about-brand.ts +24 -0
  243. package/src/server/home-sections/baptism-picks.ts +46 -0
  244. package/src/server/home-sections/baptism.ts +64 -0
  245. package/src/server/home-sections/blog-posts.ts +23 -0
  246. package/src/server/home-sections/brand-marquee.ts +17 -0
  247. package/src/server/home-sections/brand-pillars.ts +23 -0
  248. package/src/server/home-sections/category-pills.ts +32 -0
  249. package/src/server/home-sections/celebrity-trust.ts +42 -0
  250. package/src/server/home-sections/features.ts +23 -0
  251. package/src/server/home-sections/hero.ts +24 -0
  252. package/src/server/home-sections/instagram-posts.ts +23 -0
  253. package/src/server/home-sections/loved-by-moms.ts +34 -0
  254. package/src/server/home-sections/luxe-favourites.ts +30 -0
  255. package/src/server/home-sections/new-arrivals-classic.ts +21 -0
  256. package/src/server/home-sections/new-arrivals.ts +47 -0
  257. package/src/server/home-sections/promo-announcements.ts +17 -0
  258. package/src/server/home-sections/promo-countdown.ts +15 -0
  259. package/src/server/home-sections/shared.ts +44 -0
  260. package/src/server/home-sections/shop-by-age.ts +26 -0
  261. package/src/server/home-sections/shop-by-category.ts +28 -0
  262. package/src/server/home-sections/testimonials.ts +23 -0
  263. package/src/server/home-sections/theme-dresses.ts +49 -0
  264. package/src/server/home-sections/video-stories.ts +23 -0
  265. package/src/server/home-sections/why-choose-us.ts +23 -0
  266. package/src/server/home.ts +46 -207
  267. package/src/server/homepage-config.types.ts +335 -0
  268. package/src/server/homepage-section-defaults.ts +41 -2
  269. package/src/server/index.ts +2 -0
  270. package/src/server/normalize-homepage-config.ts +240 -0
  271. package/src/server/orders.ts +6 -6
  272. package/src/server/page-input.ts +66 -0
  273. package/src/server/payment-details.ts +5 -5
  274. package/src/server/payment.ts +2 -2
  275. package/src/server/regions.ts +2 -2
  276. package/src/server/resolve-home-segment-data.ts +63 -0
  277. package/src/server/shoppable-looks.ts +178 -0
  278. package/src/util/store-client.ts +0 -3
  279. package/dist/config.d.ts.map +0 -1
  280. package/dist/cookies.d.ts.map +0 -1
  281. package/dist/edge.d.ts.map +0 -1
  282. package/dist/middleware.d.ts.map +0 -1
  283. package/dist/server/cart.d.ts.map +0 -1
  284. package/dist/server/categories.d.ts.map +0 -1
  285. package/dist/server/collections.d.ts.map +0 -1
  286. package/dist/server/contact.d.ts.map +0 -1
  287. package/dist/server/customer-registration.d.ts.map +0 -1
  288. package/dist/server/customer.d.ts.map +0 -1
  289. package/dist/server/dynamic-config.d.ts +0 -202
  290. package/dist/server/dynamic-config.d.ts.map +0 -1
  291. package/dist/server/dynamic-config.js +0 -675
  292. package/dist/server/fulfillment.d.ts.map +0 -1
  293. package/dist/server/guest.d.ts.map +0 -1
  294. package/dist/server/home.d.ts.map +0 -1
  295. package/dist/server/home.js +0 -124
  296. package/dist/server/homepage-section-defaults.d.ts.map +0 -1
  297. package/dist/server/index.d.ts.map +0 -1
  298. package/dist/server/locale-actions.d.ts.map +0 -1
  299. package/dist/server/locales.d.ts.map +0 -1
  300. package/dist/server/notifications.d.ts.map +0 -1
  301. package/dist/server/onboarding.d.ts.map +0 -1
  302. package/dist/server/orders.d.ts.map +0 -1
  303. package/dist/server/payment-details.d.ts.map +0 -1
  304. package/dist/server/payment.d.ts.map +0 -1
  305. package/dist/server/pincode.d.ts.map +0 -1
  306. package/dist/server/products.d.ts.map +0 -1
  307. package/dist/server/regions.d.ts.map +0 -1
  308. package/dist/server/returns.d.ts.map +0 -1
  309. package/dist/server/swaps.d.ts.map +0 -1
  310. package/dist/server/variants.d.ts.map +0 -1
  311. package/dist/server/wishlist.d.ts.map +0 -1
  312. package/dist/util/get-locale-header.d.ts.map +0 -1
  313. package/dist/util/medusa-error.d.ts.map +0 -1
  314. package/dist/util/revalidate-cart.d.ts.map +0 -1
  315. package/dist/util/sort-products.d.ts.map +0 -1
  316. package/dist/util/store-client.d.ts.map +0 -1
  317. /package/dist/{config.d.ts → src/config.d.ts} +0 -0
  318. /package/dist/{config.js → src/config.js} +0 -0
  319. /package/dist/{cookies.d.ts → src/cookies.d.ts} +0 -0
  320. /package/dist/{cookies.js → src/cookies.js} +0 -0
  321. /package/dist/{edge.d.ts → src/edge.d.ts} +0 -0
  322. /package/dist/{edge.js → src/edge.js} +0 -0
  323. /package/dist/{middleware.d.ts → src/middleware.d.ts} +0 -0
  324. /package/dist/{middleware.js → src/middleware.js} +0 -0
  325. /package/dist/{server → src/server}/cart.d.ts +0 -0
  326. /package/dist/{server → src/server}/categories.d.ts +0 -0
  327. /package/dist/{server → src/server}/categories.js +0 -0
  328. /package/dist/{server → src/server}/collections.d.ts +0 -0
  329. /package/dist/{server → src/server}/collections.js +0 -0
  330. /package/dist/{server → src/server}/contact.d.ts +0 -0
  331. /package/dist/{server → src/server}/contact.js +0 -0
  332. /package/dist/{server → src/server}/customer-registration.d.ts +0 -0
  333. /package/dist/{server → src/server}/customer-registration.js +0 -0
  334. /package/dist/{server → src/server}/customer.d.ts +0 -0
  335. /package/dist/{server → src/server}/fulfillment.d.ts +0 -0
  336. /package/dist/{server → src/server}/guest.d.ts +0 -0
  337. /package/dist/{server → src/server}/guest.js +0 -0
  338. /package/dist/{server → src/server}/locale-actions.d.ts +0 -0
  339. /package/dist/{server → src/server}/locale-actions.js +0 -0
  340. /package/dist/{server → src/server}/locales.d.ts +0 -0
  341. /package/dist/{server → src/server}/locales.js +0 -0
  342. /package/dist/{server → src/server}/notifications.d.ts +0 -0
  343. /package/dist/{server → src/server}/notifications.js +0 -0
  344. /package/dist/{server → src/server}/onboarding.d.ts +0 -0
  345. /package/dist/{server → src/server}/onboarding.js +0 -0
  346. /package/dist/{server → src/server}/orders.d.ts +0 -0
  347. /package/dist/{server → src/server}/payment-details.d.ts +0 -0
  348. /package/dist/{server → src/server}/payment.d.ts +0 -0
  349. /package/dist/{server → src/server}/pincode.d.ts +0 -0
  350. /package/dist/{server → src/server}/pincode.js +0 -0
  351. /package/dist/{server → src/server}/products.d.ts +0 -0
  352. /package/dist/{server → src/server}/products.js +0 -0
  353. /package/dist/{server → src/server}/regions.d.ts +0 -0
  354. /package/dist/{server → src/server}/returns.d.ts +0 -0
  355. /package/dist/{server → src/server}/returns.js +0 -0
  356. /package/dist/{server → src/server}/swaps.d.ts +0 -0
  357. /package/dist/{server → src/server}/swaps.js +0 -0
  358. /package/dist/{server → src/server}/variants.d.ts +0 -0
  359. /package/dist/{server → src/server}/variants.js +0 -0
  360. /package/dist/{server → src/server}/wishlist.d.ts +0 -0
  361. /package/dist/{server → src/server}/wishlist.js +0 -0
  362. /package/dist/{util → src/util}/get-locale-header.d.ts +0 -0
  363. /package/dist/{util → src/util}/get-locale-header.js +0 -0
  364. /package/dist/{util → src/util}/medusa-error.d.ts +0 -0
  365. /package/dist/{util → src/util}/medusa-error.js +0 -0
  366. /package/dist/{util → src/util}/revalidate-cart.d.ts +0 -0
  367. /package/dist/{util → src/util}/revalidate-cart.js +0 -0
  368. /package/dist/{util → src/util}/sort-products.d.ts +0 -0
  369. /package/dist/{util → src/util}/sort-products.js +0 -0
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Medusa dynamic-config admin field shapes.
3
+ * Field ids match `homepage-config.sections.*` and `normalizeHomepageConfig`.
4
+ *
5
+ * Backend usage:
6
+ * ```ts
7
+ * import { homepageSectionsStructure } from "medusa-storefront-data/dynamic-config-schema"
8
+ * import { promoAnnouncementsHomepageSectionField } from "medusa-storefront-data/dynamic-config-schema/sections/promoAnnouncements"
9
+ * ```
10
+ */
11
+ export type DynamicConfigFieldType = "short-text" | "long-text" | "file" | "boolean" | "number" | "object" | "array";
12
+ /** Compatible with `medusa-plugin-dynamic-config` structure entries. */
13
+ export type DynamicConfigStructureField = {
14
+ id: string;
15
+ title: string;
16
+ type: DynamicConfigFieldType;
17
+ required?: boolean;
18
+ children?: DynamicConfigStructureField[];
19
+ };
20
+ type Field = DynamicConfigStructureField;
21
+ export declare const short: (id: string, title: string, required?: boolean) => Field;
22
+ export declare const long: (id: string, title: string, required?: boolean) => Field;
23
+ export declare const file: (id: string, title: string, required?: boolean) => Field;
24
+ export declare const bool: (id: string, title: string, required?: boolean) => Field;
25
+ export declare const number: (id: string, title: string, required?: boolean) => Field;
26
+ /** Shared copy fields for most homepage sections. */
27
+ export declare const sectionCopyFields: () => Field[];
28
+ /** Section object with copy fields only. */
29
+ export declare function copyOnlyHomepageSection(id: string, title: string): Field;
30
+ export declare const featureItemsArray: Field;
31
+ export declare const testimonialItemsArray: Field;
32
+ export declare const bannerSlide: Field;
33
+ export declare const shoppableLookObject: Field;
34
+ export {};
35
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/dynamic-config-schema/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,WAAW,GACX,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,OAAO,CAAA;AAEX,wEAAwE;AACxE,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,sBAAsB,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,2BAA2B,EAAE,CAAA;CACzC,CAAA;AAED,KAAK,KAAK,GAAG,2BAA2B,CAAA;AAWxC,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,EAAE,kBAAgB,KAAG,KAC1B,CAAA;AAE1C,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,EAAE,kBAAgB,KAAG,KAC1B,CAAA;AAEzC,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,EAAE,kBAAgB,KAAG,KAC/B,CAAA;AAEpC,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,EAAE,kBAAgB,KAAG,KAC5B,CAAA;AAEvC,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,EAAE,kBAAgB,KAAG,KAC/B,CAAA;AAEtC,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,QAAO,KAAK,EASzC,CAAA;AAED,4CAA4C;AAC5C,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,KAAK,CAOP;AAED,eAAO,MAAM,iBAAiB,EAAE,KAe/B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAiBnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAajC,CAAA"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Medusa dynamic-config admin field shapes.
3
+ * Field ids match `homepage-config.sections.*` and `normalizeHomepageConfig`.
4
+ *
5
+ * Backend usage:
6
+ * ```ts
7
+ * import { homepageSectionsStructure } from "medusa-storefront-data/dynamic-config-schema"
8
+ * import { promoAnnouncementsHomepageSectionField } from "medusa-storefront-data/dynamic-config-schema/sections/promoAnnouncements"
9
+ * ```
10
+ */
11
+ function field(id, title, type, required = false) {
12
+ return { id, title, type, required };
13
+ }
14
+ export const short = (id, title, required = false) => field(id, title, "short-text", required);
15
+ export const long = (id, title, required = false) => field(id, title, "long-text", required);
16
+ export const file = (id, title, required = false) => field(id, title, "file", required);
17
+ export const bool = (id, title, required = false) => field(id, title, "boolean", required);
18
+ export const number = (id, title, required = false) => field(id, title, "number", required);
19
+ /** Shared copy fields for most homepage sections. */
20
+ export const sectionCopyFields = () => [
21
+ short("title", "Section title"),
22
+ short("subtitle", "Subtitle"),
23
+ short("name", "Name (alias for title)"),
24
+ long("description", "Description"),
25
+ short("text", "Text"),
26
+ short("eyebrow", "Eyebrow"),
27
+ short("variant", "Layout variant (e.g. grid | classic)"),
28
+ short("layout", "Layout (alias for variant)"),
29
+ ];
30
+ /** Section object with copy fields only. */
31
+ export function copyOnlyHomepageSection(id, title) {
32
+ return {
33
+ id,
34
+ title,
35
+ type: "object",
36
+ children: sectionCopyFields(),
37
+ };
38
+ }
39
+ export const featureItemsArray = {
40
+ id: "features",
41
+ title: "Features",
42
+ type: "array",
43
+ children: [
44
+ {
45
+ id: "feature",
46
+ title: "Feature",
47
+ type: "object",
48
+ children: [
49
+ short("name", "Name", true),
50
+ file("icon", "Icon"),
51
+ ],
52
+ },
53
+ ],
54
+ };
55
+ export const testimonialItemsArray = {
56
+ id: "items",
57
+ title: "Reviews",
58
+ type: "array",
59
+ children: [
60
+ {
61
+ id: "testimonial",
62
+ title: "Review",
63
+ type: "object",
64
+ children: [
65
+ long("text", "Review text", true),
66
+ short("name", "Customer name", true),
67
+ file("avatar", "Avatar"),
68
+ short("rating", "Rating (1–5)"),
69
+ ],
70
+ },
71
+ ],
72
+ };
73
+ export const bannerSlide = {
74
+ id: "slide",
75
+ title: "Banner slide",
76
+ type: "object",
77
+ children: [
78
+ file("image", "Image", true),
79
+ short("title", "Title"),
80
+ short("subtitle", "Subtitle"),
81
+ long("description", "Description"),
82
+ short("buttonText", "Button label"),
83
+ short("buttonLink", "Button link"),
84
+ ],
85
+ };
86
+ export const shoppableLookObject = {
87
+ id: "look",
88
+ title: "Look",
89
+ type: "object",
90
+ children: [
91
+ file("image", "Look image", true),
92
+ {
93
+ id: "productHandles",
94
+ title: "Product handles",
95
+ type: "array",
96
+ children: [short("handle", "Handle")],
97
+ },
98
+ ],
99
+ };
@@ -0,0 +1,11 @@
1
+ import { type DynamicConfigStructureField } from "./shared";
2
+ type Field = DynamicConfigStructureField;
3
+ export declare const siteBrandingStructure: Field[];
4
+ export declare const contactStructure: Field[];
5
+ export declare const socialLinksStructure: Field[];
6
+ export declare const faqsStructure: Field[];
7
+ export declare const heroBannersStructure: Field[];
8
+ /** Layout promo bar (`homepage-config.promo-bar`). */
9
+ export declare const promoBarStructure: Field[];
10
+ export {};
11
+ //# sourceMappingURL=site-configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-configs.d.ts","sourceRoot":"","sources":["../../../src/dynamic-config-schema/site-configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,2BAA2B,EACjC,MAAM,UAAU,CAAA;AAEjB,KAAK,KAAK,GAAG,2BAA2B,CAAA;AAExC,eAAO,MAAM,qBAAqB,EAAE,KAAK,EAGxC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,EAKnC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,EAkBvC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,EAkBhC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,EAavC,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,EAAE,KAAK,EAKpC,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { bannerSlide, bool, file, long, short, } from "./shared";
2
+ export const siteBrandingStructure = [
3
+ file("logo", "Logo"),
4
+ long("description", "Site description (footer / SEO)"),
5
+ ];
6
+ export const contactStructure = [
7
+ short("phone", "Phone"),
8
+ short("email", "Email"),
9
+ short("whatsapp", "WhatsApp"),
10
+ long("address", "Address"),
11
+ ];
12
+ export const socialLinksStructure = [
13
+ {
14
+ id: "links",
15
+ title: "Social links",
16
+ type: "array",
17
+ children: [
18
+ {
19
+ id: "link",
20
+ title: "Social link",
21
+ type: "object",
22
+ children: [
23
+ short("name", "Platform name", true),
24
+ short("url", "URL", true),
25
+ file("icon", "Icon"),
26
+ ],
27
+ },
28
+ ],
29
+ },
30
+ ];
31
+ export const faqsStructure = [
32
+ {
33
+ id: "items",
34
+ title: "FAQs",
35
+ type: "array",
36
+ children: [
37
+ {
38
+ id: "faq",
39
+ title: "FAQ",
40
+ type: "object",
41
+ children: [
42
+ short("category", "Category"),
43
+ short("question", "Question", true),
44
+ long("answer", "Answer", true),
45
+ ],
46
+ },
47
+ ],
48
+ },
49
+ ];
50
+ export const heroBannersStructure = [
51
+ {
52
+ id: "desktop",
53
+ title: "Desktop / web carousel",
54
+ type: "array",
55
+ children: [bannerSlide],
56
+ },
57
+ {
58
+ id: "mobile",
59
+ title: "Mobile carousel (optional)",
60
+ type: "array",
61
+ children: [bannerSlide],
62
+ },
63
+ ];
64
+ /** Layout promo bar (`homepage-config.promo-bar`). */
65
+ export const promoBarStructure = [
66
+ short("promo-text", "Promo message"),
67
+ short("promo-code", "Promo code"),
68
+ short("promo-value", "Promo value"),
69
+ bool("promo-active", "Show promo bar"),
70
+ ];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { HttpTypes } from "@medusajs/types";
2
+ import type { BrandPillarConfig } from "./dynamic-config";
3
+ /** Brand pillar cards from top-level product categories (not CMS pillars array). */
4
+ export declare function buildBrandPillarsFromCategories(categories: HttpTypes.StoreProductCategory[], collections: Array<Record<string, unknown>> | undefined, sectionTitle: string): {
5
+ sectionTitle: string;
6
+ pillars: BrandPillarConfig[];
7
+ };
8
+ //# sourceMappingURL=brand-pillars-from-categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-pillars-from-categories.d.ts","sourceRoot":"","sources":["../../../src/server/brand-pillars-from-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AA+HzD,oFAAoF;AACpF,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAAE,EAC5C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACvD,YAAY,EAAE,MAAM,GACnB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAsBxD"}
@@ -0,0 +1,92 @@
1
+ function normalizeKey(value) {
2
+ return value
3
+ .toLowerCase()
4
+ .trim()
5
+ .replace(/&/g, "and")
6
+ .replace(/[^a-z0-9]+/g, "-")
7
+ .replace(/^-+|-+$/g, "");
8
+ }
9
+ function collectionImageForCategory(collections, category) {
10
+ if (!collections?.length)
11
+ return null;
12
+ const handleKey = category.handle ? normalizeKey(category.handle) : "";
13
+ const nameKey = category.name ? normalizeKey(category.name) : "";
14
+ for (const entry of collections) {
15
+ const meta = entry.metadata ?? {};
16
+ const image = meta.category_image || meta.image || meta.thumbnail;
17
+ if (!image)
18
+ continue;
19
+ const cHandle = entry.handle ?? "";
20
+ const cTitle = entry.title ?? "";
21
+ if ((handleKey && normalizeKey(cHandle) === handleKey) ||
22
+ (nameKey && normalizeKey(cTitle) === nameKey)) {
23
+ return image;
24
+ }
25
+ }
26
+ return null;
27
+ }
28
+ function imageFromCategory(category) {
29
+ const meta = category.metadata ?? {};
30
+ return (meta.category_image ||
31
+ meta.image ||
32
+ meta.thumbnail ||
33
+ category.thumbnail ||
34
+ null);
35
+ }
36
+ function resolveCategoryImage(category, collections) {
37
+ const fromCategory = imageFromCategory(category);
38
+ if (fromCategory)
39
+ return fromCategory;
40
+ const parent = category.parent_category;
41
+ if (parent) {
42
+ const fromParent = imageFromCategory(parent);
43
+ if (fromParent)
44
+ return fromParent;
45
+ }
46
+ return collectionImageForCategory(collections, category);
47
+ }
48
+ function categoryDescription(category) {
49
+ const meta = category.metadata ?? {};
50
+ const native = category.description;
51
+ return String(native ?? meta.category_description ?? meta.description ?? "").trim();
52
+ }
53
+ function categoryHref(category) {
54
+ const meta = category.metadata ?? {};
55
+ const custom = meta.category_link?.trim();
56
+ if (custom)
57
+ return custom;
58
+ if (category.handle)
59
+ return `/categories/${category.handle}`;
60
+ return undefined;
61
+ }
62
+ function pickBrandPillarCategories(categories, collections, limit = 4) {
63
+ const valid = (categories ?? []).filter((c) => c.name && c.handle);
64
+ const topLevel = valid.filter((c) => !c.parent_category_id);
65
+ const withImage = topLevel.filter((c) => Boolean(resolveCategoryImage(c, collections)));
66
+ const pool = withImage.length >= 2 ? withImage : topLevel;
67
+ return [...pool]
68
+ .sort((a, b) => Number(Boolean(resolveCategoryImage(b, collections))) -
69
+ Number(Boolean(resolveCategoryImage(a, collections))) ||
70
+ (a.name ?? "").localeCompare(b.name ?? ""))
71
+ .slice(0, limit);
72
+ }
73
+ /** Brand pillar cards from top-level product categories (not CMS pillars array). */
74
+ export function buildBrandPillarsFromCategories(categories, collections, sectionTitle) {
75
+ const pillars = pickBrandPillarCategories(categories, collections).flatMap((category) => {
76
+ const title = (category.name ?? "").trim();
77
+ const image = resolveCategoryImage(category, collections) ?? undefined;
78
+ if (!title || !image)
79
+ return [];
80
+ const description = categoryDescription(category);
81
+ const href = categoryHref(category);
82
+ return [
83
+ {
84
+ title,
85
+ description,
86
+ image,
87
+ ...(href ? { href } : {}),
88
+ },
89
+ ];
90
+ });
91
+ return { sectionTitle, pillars };
92
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../../src/server/cart.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAgE3C;;;;GAIG;AACH,eAAO,MAAM,YAAY,YACP,MAAM,WAAW,MAAM,wCA2DxC,CAAA;AAGD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,gCA+BrD;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,gCAe/D;AAED,wBAAsB,SAAS,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,iBAkBA;AAED,wBAAsB,MAAM,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,iBAsGA;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,iBAkBA;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,iBAkBlD;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,iBAkBA;AAED,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CACzB,iBASA;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CACzB;;GAQA;AAGD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,CAAC,SAAS,EACzB,IAAI,EAAE,SAAS,CAAC,6BAA6B,gCAsG9C;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,gCAepD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,iBAU/C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,iBAShD;AAED,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,GAAG,EAAE,iBAgBjB;AAED,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,QAAQ,gBAQnB;AAGD,wBAAsB,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,gBAkG3E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,gCA0C/C;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAqB1E;AAED,wBAAsB,eAAe;sBAUf,SAAS,CAAC,uBAAuB,EAAE;GAOxD;AAED,wBAAsB,wBAAwB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,gBAoFvF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG;;;;;;eAuBpD;AACD;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,GAAG;;eAY7D;AAED,wBAAsB,iBAAiB;;;GAiCtC;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAM5E;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;GAW9C"}
@@ -20,7 +20,7 @@ import { retrieveCustomer } from "./customer";
20
20
  import { medusaCartCreate, medusaCartRetrieve, medusaCartUpdate, medusaCartAddLineItem, medusaCartUpdateLineItem, medusaCartRemoveLineItem, medusaCartApplyPromotions, medusaCartAddShippingMethod, medusaCartComplete, medusaCartSkipMerge, medusaCartDelete, medusaCartList, medusaShippingOptionsList, MEDUSA_STORE_CART_DETAIL_FIELDS, } from "medusa-services/cart";
21
21
  import { medusaCustomerCreateAddress, medusaCustomerRetrieve, medusaCustomerUpdateAddress, } from "medusa-services/customer";
22
22
  import { medusaPaymentSessionInitiate } from "medusa-services/payment";
23
- import { getStoreCartClientOptions } from "../util/store-client";
23
+ import { getStoreClientOptions } from "../util/store-client";
24
24
  import { revalidateCartTags } from "../util/revalidate-cart";
25
25
  import { cache } from "react";
26
26
  function throwCartError(error) {
@@ -45,7 +45,7 @@ export const retrieveCart = cache(async (cartId, fields) => {
45
45
  const pathname = headerList.get("x-pathname") || headerList.get("referer") || "";
46
46
  // Skip metadata check if we are clearly in checkout to avoid extra API call
47
47
  if (!pathname.includes("/checkout")) {
48
- const options = await getStoreCartClientOptions();
48
+ const options = await getStoreClientOptions();
49
49
  const currentCart = await medusaCartRetrieve(id, options, { fields: "metadata" })
50
50
  .then(({ cart }) => cart)
51
51
  .catch(() => null);
@@ -92,7 +92,7 @@ export async function getOrSetCart(countryCode) {
92
92
  throw new Error(`Region not found for country code: ${countryCode}`);
93
93
  }
94
94
  let cart = await retrieveCart(undefined, "id,region_id");
95
- const options = await getStoreCartClientOptions();
95
+ const options = await getStoreClientOptions();
96
96
  if (!cart) {
97
97
  const locale = await getLocale();
98
98
  const { cart: createdCart } = await medusaCartCreate(options, {
@@ -117,7 +117,7 @@ export async function updateCart(data) {
117
117
  throw new Error("No existing cart found, please create one before updating");
118
118
  }
119
119
  try {
120
- const options = await getStoreCartClientOptions();
120
+ const options = await getStoreClientOptions();
121
121
  const { cart } = await medusaCartUpdate(cartId, data, options);
122
122
  await revalidateCartTags();
123
123
  return cart;
@@ -135,7 +135,7 @@ export async function addToCart({ variantId, quantity, countryCode, }) {
135
135
  throw new Error("Error retrieving or creating cart");
136
136
  }
137
137
  try {
138
- const options = await getStoreCartClientOptions();
138
+ const options = await getStoreClientOptions();
139
139
  await medusaCartAddLineItem(cart.id, { variant_id: variantId, quantity }, options);
140
140
  await revalidateCartTags();
141
141
  }
@@ -151,7 +151,7 @@ export async function buyNow({ variantId, quantity, countryCode, }) {
151
151
  if (!region) {
152
152
  throw new Error(`Region not found for country code: ${countryCode}`);
153
153
  }
154
- const options = await getStoreCartClientOptions();
154
+ const options = await getStoreClientOptions();
155
155
  const locale = await getLocale();
156
156
  // 1. Create a NEW cart regardless of existing one
157
157
  const { cart } = await medusaCartCreate(options, {
@@ -238,7 +238,7 @@ export async function updateLineItem({ lineId, quantity, }) {
238
238
  throw new Error("Missing cart ID when updating line item");
239
239
  }
240
240
  try {
241
- const options = await getStoreCartClientOptions();
241
+ const options = await getStoreClientOptions();
242
242
  await medusaCartUpdateLineItem(cartId, lineId, { quantity }, options);
243
243
  await revalidateCartTags();
244
244
  }
@@ -255,7 +255,7 @@ export async function deleteLineItem(lineId) {
255
255
  throw new Error("Missing cart ID when deleting line item");
256
256
  }
257
257
  try {
258
- const options = await getStoreCartClientOptions();
258
+ const options = await getStoreClientOptions();
259
259
  await medusaCartRemoveLineItem(cartId, lineId, options);
260
260
  await revalidateCartTags();
261
261
  }
@@ -281,7 +281,7 @@ export async function updateLineItemVariant({ lineId, variantId, quantity, count
281
281
  }
282
282
  export async function setShippingMethod({ cartId, shippingMethodId, }) {
283
283
  try {
284
- const options = await getStoreCartClientOptions();
284
+ const options = await getStoreClientOptions();
285
285
  await medusaCartAddShippingMethod(cartId, shippingMethodId, options);
286
286
  const cartCacheTag = await getCacheTag("carts");
287
287
  revalidateTag(cartCacheTag);
@@ -295,7 +295,7 @@ export async function setShippingMethod({ cartId, shippingMethodId, }) {
295
295
  */
296
296
  export async function setShippingMethodSilently({ cartId, shippingMethodId, }) {
297
297
  try {
298
- const options = await getStoreCartClientOptions();
298
+ const options = await getStoreClientOptions();
299
299
  await medusaCartAddShippingMethod(cartId, shippingMethodId, options);
300
300
  return { success: true };
301
301
  }
@@ -350,12 +350,12 @@ export async function initiatePaymentSession(cart, data) {
350
350
  addressUpdates.billing_address = cleanAddress(latestCart.billing_address) || cleanAddress(latestCart.shipping_address);
351
351
  }
352
352
  if (Object.keys(addressUpdates).length > 0) {
353
- const options = await getStoreCartClientOptions();
353
+ const options = await getStoreClientOptions();
354
354
  await medusaCartUpdate(latestCart.id, addressUpdates, options);
355
355
  }
356
356
  }
357
357
  // 3. Final re-fetch (direct call to bypass any lib-level cache)
358
- const options = await getStoreCartClientOptions();
358
+ const options = await getStoreClientOptions();
359
359
  const { cart: finalCartRaw } = await medusaCartRetrieve(cart.id, options, {
360
360
  fields: "*shipping_address,*billing_address",
361
361
  });
@@ -404,7 +404,7 @@ export async function applyPromotions(codes) {
404
404
  throw new Error("No existing cart found");
405
405
  }
406
406
  try {
407
- const options = await getStoreCartClientOptions();
407
+ const options = await getStoreClientOptions();
408
408
  const { cart } = await medusaCartApplyPromotions(cartId, codes, options);
409
409
  await revalidateCartTags();
410
410
  return cart;
@@ -506,7 +506,7 @@ export async function setAddresses(currentState, formData) {
506
506
  const authHeaders = await getAuthHeaders();
507
507
  if (authHeaders && "authorization" in authHeaders) {
508
508
  try {
509
- const options = await getStoreCartClientOptions();
509
+ const options = await getStoreClientOptions();
510
510
  const { customer } = await medusaCustomerRetrieve(options, { fields: "*addresses" });
511
511
  const addressExists = customer?.addresses?.some((a) => a.address_1 === shippingAddress.address_1 &&
512
512
  a.postal_code === shippingAddress.postal_code &&
@@ -561,7 +561,7 @@ export async function placeOrder(cartId) {
561
561
  }
562
562
  let cartRes;
563
563
  try {
564
- const options = await getStoreCartClientOptions();
564
+ const options = await getStoreClientOptions();
565
565
  cartRes = await medusaCartComplete(id, options);
566
566
  const cartCacheTag = await getCacheTag("carts");
567
567
  revalidateTag(cartCacheTag);
@@ -652,7 +652,7 @@ export async function addCustomerAddressToCart(currentState, formData) {
652
652
  // 1. Add/Update Customer Address Book
653
653
  // We try/catch this separately so if it fails (e.g. user not logged in), we still try to proceed with checkout
654
654
  try {
655
- const options = await getStoreCartClientOptions();
655
+ const options = await getStoreClientOptions();
656
656
  if (addressId) {
657
657
  await medusaCustomerUpdateAddress(addressId, addressData, options);
658
658
  }
@@ -722,7 +722,7 @@ export async function updateAddressSilently(data) {
722
722
  return { success: false, error: "Invalid email address." };
723
723
  }
724
724
  }
725
- const options = await getStoreCartClientOptions();
725
+ const options = await getStoreClientOptions();
726
726
  await medusaCartUpdate(cartId, payload, options);
727
727
  // Revalidate tags to ensure CartTotals gets new shipping info
728
728
  await revalidateCartTags();
@@ -740,7 +740,7 @@ export async function updateCartMetadataSilently(metadata) {
740
740
  if (!cartId)
741
741
  return;
742
742
  try {
743
- const options = await getStoreCartClientOptions();
743
+ const options = await getStoreClientOptions();
744
744
  await medusaCartUpdate(cartId, { metadata }, options);
745
745
  // We intentionally DO NOT call revalidateTag here to prevent page refresh loops
746
746
  return { success: true };
@@ -756,7 +756,7 @@ export async function getAbandonedCarts() {
756
756
  return { buyNowCarts: [], reorderCarts: [] };
757
757
  }
758
758
  try {
759
- const options = await getStoreCartClientOptions();
759
+ const options = await getStoreClientOptions();
760
760
  const res = await medusaCartList(options, {
761
761
  fields: "*items, *items.product, *items.product.thumbnail, *items.variant, *items.metadata, +total",
762
762
  }).catch(() => null);
@@ -785,7 +785,7 @@ export async function resumeAbandonedCart(cartId, countryCode) {
785
785
  }
786
786
  export async function deleteCart(cartId) {
787
787
  try {
788
- const options = await getStoreCartClientOptions();
788
+ const options = await getStoreClientOptions();
789
789
  await medusaCartDelete(cartId, options);
790
790
  revalidateTag("carts");
791
791
  return { success: true };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/server/categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,eAAO,MAAM,cAAc,GAAU,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,8CAW/D,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,gBAAgB,MAAM,EAAE,mDAuBjE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/server/collections.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,eAAO,MAAM,kBAAkB,GAAU,IAAI,MAAM,uCAIlD,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,cAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KACvC,OAAO,CAAC;IAAE,WAAW,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAWrE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,KACb,OAAO,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAsB1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Merge CMS section block onto package defaults (override wins when set). */
2
+ export declare function mergeSectionBlock(defaults: Record<string, unknown>, override: Record<string, unknown> | null): Record<string, unknown>;
3
+ //# sourceMappingURL=config-merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-merge.d.ts","sourceRoot":"","sources":["../../../src/server/config-merge.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzB"}
@@ -0,0 +1,31 @@
1
+ /** Merge CMS section block onto package defaults (override wins when set). */
2
+ export function mergeSectionBlock(defaults, override) {
3
+ if (!override)
4
+ return { ...defaults };
5
+ const merged = { ...defaults };
6
+ for (const [key, value] of Object.entries(override)) {
7
+ if (value === undefined || value === null)
8
+ continue;
9
+ if (Array.isArray(value)) {
10
+ if (value.length > 0)
11
+ merged[key] = value;
12
+ continue;
13
+ }
14
+ if (typeof value === "string") {
15
+ if (value.trim())
16
+ merged[key] = value.trim();
17
+ continue;
18
+ }
19
+ if (typeof value === "boolean" || typeof value === "number") {
20
+ merged[key] = value;
21
+ continue;
22
+ }
23
+ if (typeof value === "object") {
24
+ const base = merged[key] && typeof merged[key] === "object" && !Array.isArray(merged[key])
25
+ ? merged[key]
26
+ : {};
27
+ merged[key] = mergeSectionBlock(base, value);
28
+ }
29
+ }
30
+ return merged;
31
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../src/server/contact.ts"],"names":[],"mappings":"AAgBA,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAqB,GACtB,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;;;;;;;;GAsBA;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,KAAK,EACL,MAAqB,EACrB,MAAiB,GAClB,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;;;;;;;;GA2BA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-registration.d.ts","sourceRoot":"","sources":["../../../src/server/customer-registration.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB;;;;;;;;;;GAoDA;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAA6B;;;;;;;;;;GAuB5F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;GAwBlE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;GAoBxE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM;;;;;;;;GAyBvD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;;;;;;;;GA8BA;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM;;GAwBvD;AACD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM;;;;;;;;GAkBzD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;GAcvE;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM;;;;;;;;GAe/D;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;GAc7E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer.d.ts","sourceRoot":"","sources":["../../../src/server/customer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA4C3C,eAAO,MAAM,gBAAgB,QACjB,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAkBjD,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,MAAM,SAAS,CAAC,mBAAmB,qCAYvE,CAAA;AAED,wBAAsB,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,gBAqCtE;AAED,wBAAsB,KAAK,CACzB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsExB;AAED,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,iBAqBhD;AAED,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,iBAwChD;AAED,eAAO,MAAM,kBAAkB,GAC7B,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,UAAU,QAAQ,KACjB,OAAO,CAAC,GAAG,CAgCb,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAWd,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,UAAU,QAAQ,KACjB,OAAO,CAAC,GAAG,CAuCb,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,WAAW,MAAM;;;;;;EAWxD,CAAA;AAED,wBAAsB,kBAAkB;;;;;;GA8CvC;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;GAsC5E;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;;;GAmChH;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;GAyC1D"}