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 @@
1
+ {"version":3,"file":"locale-actions.d.ts","sourceRoot":"","sources":["../../../src/server/locale-actions.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAOvD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAU,QAAQ,MAAM,kBAQnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,MAAM,CA0BrE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/server/locales.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG5E,MAAM,MAAM,MAAM,GAAG,WAAW,CAAA;AAEhC;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAI3D,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { HomepageConfig } from "./homepage-config.types";
2
+ /**
3
+ * Accepts simplified `homepage-config` (site / banners / sections) or legacy shape.
4
+ * Storefront always receives the legacy `HomepageConfig` it already parses.
5
+ */
6
+ export declare function normalizeHomepageConfig(input: unknown): HomepageConfig;
7
+ //# sourceMappingURL=normalize-homepage-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-homepage-config.d.ts","sourceRoot":"","sources":["../../../src/server/normalize-homepage-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAwM7D;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAmCtE"}
@@ -0,0 +1,213 @@
1
+ function asObject(v) {
2
+ return v && typeof v === "object" && !Array.isArray(v) ? v : null;
3
+ }
4
+ function asArray(v) {
5
+ return Array.isArray(v) ? v : [];
6
+ }
7
+ /** Map simplified banner row → legacy `homepage-banner` / `app-banner` entry. */
8
+ function legacyBannerEntry(row, prefix) {
9
+ const r = asObject(row);
10
+ if (!r)
11
+ return null;
12
+ const image = r.image ?? r[`${prefix}-image`];
13
+ if (!image)
14
+ return null;
15
+ return {
16
+ [prefix]: {
17
+ [`${prefix}-image`]: image,
18
+ [`${prefix}-title`]: r.title ?? r[`${prefix}-title`],
19
+ [`${prefix}-subtitle`]: r.subtitle ?? r[`${prefix}-subtitle`],
20
+ [`${prefix}-description`]: r.description ?? r[`${prefix}-description`],
21
+ [`${prefix}-button-name`]: r.buttonText ?? r.buttonName ?? r[`${prefix}-button-name`],
22
+ [`${prefix}-button-link`]: r.buttonLink ?? r[`${prefix}-button-link`],
23
+ ...(prefix === "app-banner" && r.link != null
24
+ ? { "app-banner-link": r.link }
25
+ : {}),
26
+ },
27
+ };
28
+ }
29
+ function normalizeBanners(site) {
30
+ const banners = asObject(site?.banners) ?? asObject(site);
31
+ const desktopRaw = banners?.desktop ?? banners?.["homepage-banner-array"] ?? site?.["homepage-banner-array"];
32
+ const mobileRaw = banners?.mobile ?? banners?.["app-banner-array"] ?? site?.["app-banner-array"];
33
+ const desktop = asArray(desktopRaw)
34
+ .map((row) => legacyBannerEntry(row, "homepage-banner"))
35
+ .filter(Boolean);
36
+ const mobile = asArray(mobileRaw)
37
+ .map((row) => legacyBannerEntry(row, "app-banner"))
38
+ .filter(Boolean);
39
+ return { desktop, mobile };
40
+ }
41
+ function normalizeContact(site) {
42
+ const c = asObject(site?.contact) ?? asObject(site?.["contact-us"]);
43
+ if (!c)
44
+ return undefined;
45
+ return {
46
+ "contact-phone": c.phone ?? c["contact-phone"],
47
+ "contact-email": c.email ?? c["contact-email"],
48
+ "contact-whatsapp": c.whatsapp ?? c["contact-whatsapp"],
49
+ "contact-address": c.address ?? c["contact-address"],
50
+ };
51
+ }
52
+ function normalizeSocial(site) {
53
+ const raw = site?.social ?? site?.["social-links"];
54
+ return asArray(raw).map((item) => {
55
+ const row = asObject(item?.["social-link"]) ?? asObject(item);
56
+ if (!row)
57
+ return null;
58
+ return {
59
+ "social-link": {
60
+ "social-platform-name": row.name ?? row["social-platform-name"],
61
+ "social-platform-url": row.url ?? row["social-platform-url"],
62
+ "social-platform-icon": row.icon ?? row["social-platform-icon"],
63
+ },
64
+ };
65
+ }).filter(Boolean);
66
+ }
67
+ function normalizeFaqs(site) {
68
+ const raw = site?.faqs ?? site?.["faq-array"];
69
+ return asArray(raw).map((item) => {
70
+ const f = asObject(item?.faq) ?? asObject(item);
71
+ if (!f)
72
+ return null;
73
+ return {
74
+ faq: {
75
+ "faq-category": f.category ?? f["faq-category"],
76
+ "faq-question": f.question ?? f["faq-question"],
77
+ "faq-answer": f.answer ?? f["faq-answer"],
78
+ },
79
+ };
80
+ }).filter(Boolean);
81
+ }
82
+ function normalizeTestimonialItem(item) {
83
+ const r = asObject(item?.testimonial) ?? asObject(item);
84
+ if (!r)
85
+ return null;
86
+ const text = String(r.text ?? r.description ?? "").trim();
87
+ const name = String(r.name ?? "").trim();
88
+ if (!text || !name)
89
+ return null;
90
+ return { text, name, avatar: r.avatar, rating: r.rating };
91
+ }
92
+ function normalizeSections(sections) {
93
+ const out = { ...sections };
94
+ const promoAnnouncements = asObject(sections.promoAnnouncements);
95
+ if (promoAnnouncements?.messages) {
96
+ const messages = asArray(promoAnnouncements.messages)
97
+ .map((m) => {
98
+ if (typeof m === "string")
99
+ return m.trim();
100
+ const row = asObject(m);
101
+ return String(row?.message ?? row?.text ?? "").trim();
102
+ })
103
+ .filter(Boolean);
104
+ out.promoAnnouncements = { ...promoAnnouncements, messages };
105
+ }
106
+ const testimonials = asObject(sections.testimonials);
107
+ if (testimonials) {
108
+ const items = testimonials.items ??
109
+ testimonials.testimonials ??
110
+ testimonials.reviews;
111
+ if (Array.isArray(items)) {
112
+ out.testimonials = {
113
+ ...testimonials,
114
+ items: items.map(normalizeTestimonialItem).filter(Boolean),
115
+ };
116
+ }
117
+ }
118
+ const promo = asObject(sections.promoCountdown);
119
+ if (promo) {
120
+ out.promoCountdown = {
121
+ code: promo.code ?? promo["promo-code"],
122
+ text: promo.text ?? promo.message ?? promo["promo-text"],
123
+ "end-at": promo.endAt ?? promo["end-at"],
124
+ active: promo.active ?? promo["promo-active"],
125
+ "cta-label": promo.ctaLabel ?? promo["cta-label"],
126
+ "cta-href": promo.ctaHref ?? promo["cta-href"],
127
+ };
128
+ }
129
+ const baptism = asObject(sections.baptismPicks);
130
+ if (baptism?.looks) {
131
+ out.baptismPicks = {
132
+ title: baptism.title,
133
+ looks: asArray(baptism.looks).map((look) => {
134
+ const L = asObject(look?.look) ?? asObject(look);
135
+ if (!L)
136
+ return null;
137
+ return {
138
+ image: L.image,
139
+ "product-ids": L.productIds ?? L["product-ids"],
140
+ "product-handles": L.productHandles ?? L["product-handles"],
141
+ };
142
+ }).filter(Boolean),
143
+ };
144
+ }
145
+ const ig = asObject(sections.instagramPosts);
146
+ if (ig) {
147
+ out.instagramPosts = {
148
+ title: ig.title,
149
+ handle: ig.handle,
150
+ "profile-url": ig.profileUrl ?? ig["profile-url"],
151
+ "profile-image": ig.profileImage ?? ig["profile-image"],
152
+ posts: asArray(ig.posts).map((p) => {
153
+ const row = asObject(p?.post) ?? asObject(p);
154
+ return row ? { image: row.image, url: row.url ?? row.link } : null;
155
+ }).filter(Boolean),
156
+ };
157
+ }
158
+ const about = asObject(sections.aboutBrand);
159
+ if (about) {
160
+ out.aboutBrand = {
161
+ eyebrow: about.eyebrow,
162
+ title: about.title,
163
+ description: about.description ?? about.text,
164
+ readMoreHref: about.readMoreHref ?? about["read-more-link"],
165
+ stats: about.stats,
166
+ };
167
+ }
168
+ // brandPillars: title only in simplified CMS (cards from categories in storefront)
169
+ const pillars = asObject(sections.brandPillars);
170
+ if (pillars && !pillars.pillars) {
171
+ out.brandPillars = {
172
+ title: pillars.title,
173
+ description: pillars.description,
174
+ };
175
+ }
176
+ return out;
177
+ }
178
+ /**
179
+ * Accepts simplified `homepage-config` (site / banners / sections) or legacy shape.
180
+ * Storefront always receives the legacy `HomepageConfig` it already parses.
181
+ */
182
+ export function normalizeHomepageConfig(input) {
183
+ if (!input || typeof input !== "object")
184
+ return {};
185
+ const raw = input;
186
+ const site = asObject(raw.site);
187
+ const hasSimplifiedSite = Boolean(site);
188
+ if (!hasSimplifiedSite) {
189
+ return raw;
190
+ }
191
+ const { desktop, mobile } = normalizeBanners(raw);
192
+ const sections = normalizeSections(asObject(raw.sections) ?? {});
193
+ const legacy = {
194
+ logo: site?.logo ?? raw.logo,
195
+ "website-description": site?.description ??
196
+ raw["website-description"],
197
+ sections: sections,
198
+ };
199
+ if (desktop.length)
200
+ legacy["homepage-banner-array"] = desktop;
201
+ if (mobile.length)
202
+ legacy["app-banner-array"] = mobile;
203
+ const contact = normalizeContact(site);
204
+ if (contact)
205
+ legacy["contact-us"] = contact;
206
+ const social = normalizeSocial(site);
207
+ if (social.length)
208
+ legacy["social-links"] = social;
209
+ const faqs = normalizeFaqs(site);
210
+ if (faqs.length)
211
+ legacy["faq-array"] = faqs;
212
+ return legacy;
213
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/server/notifications.ts"],"names":[],"mappings":"AAKA,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,gBAgB9E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/server/onboarding.ts"],"names":[],"mappings":"AAIA,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,iBAIzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../../src/server/orders.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAmC3C,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,kCA4B7C,CAAA;AAED,eAAO,MAAM,UAAU,GACrB,QAAO,MAAW,EAClB,SAAQ,MAAU,EAClB,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,oCAc9B,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,OAAO;IACL,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;CACnC,EACD,UAAU,QAAQ,KACjB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;CACnC,CAoBA,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAU,IAAI,MAAM,EAAE,OAAO,MAAM;;;WAOpC,SAAS,CAAC,UAAU;;;;;EAKpD,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,IAAI,MAAM,EAAE,OAAO,MAAM;;;WAOrC,SAAS,CAAC,UAAU;;;;;EAKpD,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,SAAS,MAAM;;;;;;;;EAyBpD,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,SAAS,MAAM,EAAE,WAAW,MAAM;;;;;;EA2BnE,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,SAAS,MAAM,EACf,iBAAiB,MAAM,EAAE,EACzB,eAAc,OAAe;;;;;;;;;;;;;;;EAkF9B,CAAA"}
@@ -6,7 +6,7 @@ import { listReturnReasons } from "./returns";
6
6
  import { revalidateTag } from "next/cache";
7
7
  import { extractReorderCartId, medusaGuestOrderCancel, medusaGuestOrderReorder, medusaOrderAcceptTransfer, medusaOrderCancel, medusaOrderDeclineTransfer, medusaOrderDownloadInvoice, medusaOrderList, medusaOrderReorder, medusaOrderRequestTransfer, medusaOrderRetrieve, MEDUSA_ORDER_DETAIL_FIELDS, } from "medusa-services/orders";
8
8
  import { medusaCartRemoveLineItem, medusaCartRetrieve, medusaCartSkipMerge, medusaCartUpdate, } from "medusa-services/cart";
9
- import { getGuestStoreClientOptions, getStoreCartClientOptions, getStoreClientOptionsWithToken, } from "../util/store-client";
9
+ import { getGuestStoreClientOptions, getStoreClientOptions, getStoreClientOptionsWithToken, } from "../util/store-client";
10
10
  function throwOrderError(error) {
11
11
  if (error && typeof error === "object" && "response" in error) {
12
12
  medusaError(error);
@@ -31,7 +31,7 @@ export const retrieveOrder = async (id) => {
31
31
  }
32
32
  return order;
33
33
  }
34
- const options = await getStoreCartClientOptions();
34
+ const options = await getStoreClientOptions();
35
35
  const { order } = await medusaOrderRetrieve(id, options, {
36
36
  fields: MEDUSA_ORDER_DETAIL_FIELDS,
37
37
  });
@@ -43,7 +43,7 @@ export const retrieveOrder = async (id) => {
43
43
  };
44
44
  export const listOrders = async (limit = 10, offset = 0, filters) => {
45
45
  try {
46
- const options = await getStoreCartClientOptions();
46
+ const options = await getStoreClientOptions();
47
47
  const { orders } = await medusaOrderList(options, {
48
48
  limit,
49
49
  offset,
@@ -62,7 +62,7 @@ export const createTransferRequest = async (state, formData) => {
62
62
  return { success: false, error: "Order ID is required", order: null };
63
63
  }
64
64
  try {
65
- const options = await getStoreCartClientOptions();
65
+ const options = await getStoreClientOptions();
66
66
  const { order } = await medusaOrderRequestTransfer(id, options, {
67
67
  fields: "id, email",
68
68
  });
@@ -78,7 +78,7 @@ export const createTransferRequest = async (state, formData) => {
78
78
  };
79
79
  export const acceptTransferRequest = async (id, token) => {
80
80
  try {
81
- const options = await getStoreCartClientOptions();
81
+ const options = await getStoreClientOptions();
82
82
  const { order } = await medusaOrderAcceptTransfer(id, token, options);
83
83
  return {
84
84
  success: true,
@@ -92,7 +92,7 @@ export const acceptTransferRequest = async (id, token) => {
92
92
  };
93
93
  export const declineTransferRequest = async (id, token) => {
94
94
  try {
95
- const options = await getStoreCartClientOptions();
95
+ const options = await getStoreClientOptions();
96
96
  const { order } = await medusaOrderDeclineTransfer(id, token, options);
97
97
  return {
98
98
  success: true,
@@ -0,0 +1,19 @@
1
+ import "server-only";
2
+ import type { HomepageConfig } from "./homepage-config.types";
3
+ /** Full `homepage-config` blob passed from the main project into pages and layout. */
4
+ export type StorefrontPageInput = HomepageConfig;
5
+ export declare const DEFAULT_PAGE_INPUT: StorefrontPageInput;
6
+ /**
7
+ * Merge CMS / main-project overrides onto package JSON defaults.
8
+ * Empty strings and empty arrays are ignored (same rules as section merge).
9
+ */
10
+ export declare function mergePageInputWithDefaults(override?: HomepageConfig | null): StorefrontPageInput;
11
+ /** Resolve page input: explicit override, or package defaults. */
12
+ export declare function resolvePageInput(pageInput?: HomepageConfig | null): StorefrontPageInput;
13
+ /**
14
+ * Build `homepage-config` from Medusa `GET /store/dynamic-config` (main project only).
15
+ */
16
+ export declare function homepageConfigFromDynamicResponse(response: {
17
+ "homepage-config"?: HomepageConfig | null;
18
+ } | null | undefined): StorefrontPageInput;
19
+ //# sourceMappingURL=page-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-input.d.ts","sourceRoot":"","sources":["../../../src/server/page-input.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7D,sFAAsF;AACtF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAEhD,eAAO,MAAM,kBAAkB,EACM,mBAAmB,CAAA;AAExD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,GAC/B,mBAAmB,CA6BrB;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAC9B,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,mBAAmB,CAErB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE;IAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACzE,mBAAmB,CAGrB"}
@@ -0,0 +1,42 @@
1
+ import "server-only";
2
+ import defaultPageInputJson from "../../segment-data/default-page-input.json";
3
+ import { mergeSectionBlock } from "./config-merge";
4
+ import { normalizeHomepageConfig } from "./normalize-homepage-config";
5
+ export const DEFAULT_PAGE_INPUT = defaultPageInputJson;
6
+ /**
7
+ * Merge CMS / main-project overrides onto package JSON defaults.
8
+ * Empty strings and empty arrays are ignored (same rules as section merge).
9
+ */
10
+ export function mergePageInputWithDefaults(override) {
11
+ if (!override)
12
+ return { ...DEFAULT_PAGE_INPUT };
13
+ const merged = mergeSectionBlock({ ...DEFAULT_PAGE_INPUT }, override);
14
+ const defaultSections = DEFAULT_PAGE_INPUT.sections ?? {};
15
+ const overrideSections = override.sections ?? {};
16
+ const mergedSections = { ...defaultSections };
17
+ for (const [key, value] of Object.entries(overrideSections)) {
18
+ const base = defaultSections[key];
19
+ const baseObj = base && typeof base === "object" && !Array.isArray(base)
20
+ ? base
21
+ : {};
22
+ const overrideObj = value && typeof value === "object" && !Array.isArray(value)
23
+ ? value
24
+ : typeof value === "string"
25
+ ? { text: value }
26
+ : {};
27
+ mergedSections[key] = mergeSectionBlock(baseObj, overrideObj);
28
+ }
29
+ merged.sections = mergedSections;
30
+ return merged;
31
+ }
32
+ /** Resolve page input: explicit override, or package defaults. */
33
+ export function resolvePageInput(pageInput) {
34
+ return mergePageInputWithDefaults(pageInput ?? null);
35
+ }
36
+ /**
37
+ * Build `homepage-config` from Medusa `GET /store/dynamic-config` (main project only).
38
+ */
39
+ export function homepageConfigFromDynamicResponse(response) {
40
+ const normalized = normalizeHomepageConfig(response?.["homepage-config"] ?? null);
41
+ return mergePageInputWithDefaults(normalized);
42
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-details.d.ts","sourceRoot":"","sources":["../../../src/server/payment-details.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,uEAY9B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,EAC7B,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qCAIpC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,IAAI,MAAM,qCAGxD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,IAAI,MAAM,kBAGnD,CAAA"}
@@ -1,9 +1,9 @@
1
1
  "use server";
2
2
  import { medusaPaymentDetailCreate, medusaPaymentDetailDelete, medusaPaymentDetailMakeDefault, medusaPaymentDetailsList, } from "medusa-services/payment";
3
- import { getStoreCartClientOptions } from "../util/store-client";
3
+ import { getStoreClientOptions } from "../util/store-client";
4
4
  export const listPaymentDetails = async () => {
5
5
  try {
6
- const options = await getStoreCartClientOptions();
6
+ const options = await getStoreClientOptions();
7
7
  if (!options.authorization) {
8
8
  return [];
9
9
  }
@@ -15,14 +15,14 @@ export const listPaymentDetails = async () => {
15
15
  }
16
16
  };
17
17
  export const createPaymentDetail = async (type, detail_json) => {
18
- const options = await getStoreCartClientOptions();
18
+ const options = await getStoreClientOptions();
19
19
  return medusaPaymentDetailCreate(type, detail_json, options);
20
20
  };
21
21
  export const makeDefaultPaymentDetail = async (id) => {
22
- const options = await getStoreCartClientOptions();
22
+ const options = await getStoreClientOptions();
23
23
  return medusaPaymentDetailMakeDefault(id, options);
24
24
  };
25
25
  export const deletePaymentDetail = async (id) => {
26
- const options = await getStoreCartClientOptions();
26
+ const options = await getStoreClientOptions();
27
27
  return medusaPaymentDetailDelete(id, options);
28
28
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/server/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,eAAO,MAAM,sBAAsB,GAAU,UAAU,MAAM,qDAQ5D,CAAA"}
@@ -1,9 +1,9 @@
1
1
  "use server";
2
2
  import { medusaPaymentProvidersList } from "medusa-services/payment";
3
- import { getStoreCartClientOptions } from "../util/store-client";
3
+ import { getStoreClientOptions } from "../util/store-client";
4
4
  export const listCartPaymentMethods = async (regionId) => {
5
5
  try {
6
- const options = await getStoreCartClientOptions();
6
+ const options = await getStoreClientOptions();
7
7
  const { payment_providers } = await medusaPaymentProvidersList(regionId, options);
8
8
  return payment_providers.sort((a, b) => (a.id > b.id ? 1 : -1));
9
9
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pincode.d.ts","sourceRoot":"","sources":["../../../src/server/pincode.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAQD,2DAA2D;AAC3D,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAgCrC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/server/products.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAU3C,eAAO,MAAM,YAAY,GAAU,oDAKhC;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAA;IACrE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,KAAG,OAAO,CAAC;IACV,QAAQ,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAA;CACtE,CAsCA,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,6CAKxC;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAA;IACjE,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,QAAQ,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAA;CAClE,CAuBA,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,KAAU,EACV,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB,qCAYA;AAED,eAAO,MAAM,iBAAiB,GAAU,cAAc,MAAM;;;;;;;;;;;;;;;;;;EAgF3D,CAAA;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,+CAItD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../../src/server/regions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,WAAW,wCAavB,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,IAAI,MAAM,mCAa9C,CAAA;AAID,eAAO,MAAM,SAAS,GAAU,aAAa,MAAM,sDA2BlD,CAAA"}
@@ -3,7 +3,7 @@ import { sdk } from "../config";
3
3
  import medusaError from "../util/medusa-error";
4
4
  import { getCacheOptions } from "../cookies";
5
5
  import { medusaRegionList } from "medusa-services/regions";
6
- import { getStoreCartClientOptions } from "../util/store-client";
6
+ import { getStoreClientOptions } from "../util/store-client";
7
7
  export const listRegions = async () => {
8
8
  const next = {
9
9
  ...(await getCacheOptions("regions")),
@@ -36,7 +36,7 @@ export const getRegion = async (countryCode) => {
36
36
  if (regionMap.has(countryCode)) {
37
37
  return regionMap.get(countryCode);
38
38
  }
39
- const options = await getStoreCartClientOptions();
39
+ const options = await getStoreClientOptions();
40
40
  const { regions } = await medusaRegionList(options);
41
41
  if (!regions?.length) {
42
42
  return null;
@@ -0,0 +1,25 @@
1
+ import "server-only";
2
+ import type { HomepageConfig } from "./homepage-config.types";
3
+ import { getFeaturesFromPageInput, getPromoCountdownFromPageInput, getTestimonialsFromPageInput, getVideoStoriesFromPageInput, type AboutBrandConfig, type BlogPostConfig, type BrandPillarConfig, type HomepageBanner, type HomeSectionsCopy, type InstagramPostsData, type TrustFeaturesConfig } from "./dynamic-config";
4
+ /** Config-driven homepage fields (no Medusa catalog APIs). */
5
+ export type HomeSegmentConfigData = {
6
+ homeBanners: HomepageBanner[] | null;
7
+ appBanners: HomepageBanner[] | null;
8
+ whyChooseUsFeatures: ReturnType<typeof getFeaturesFromPageInput>;
9
+ testimonials: ReturnType<typeof getTestimonialsFromPageInput>;
10
+ videoStories: ReturnType<typeof getVideoStoriesFromPageInput>;
11
+ announcementMessages: string[];
12
+ promoCountdown: ReturnType<typeof getPromoCountdownFromPageInput>;
13
+ aboutBrand: AboutBrandConfig;
14
+ brandPillars: {
15
+ sectionTitle: string;
16
+ pillars: BrandPillarConfig[];
17
+ };
18
+ blogPosts: BlogPostConfig[];
19
+ instagramPosts: InstagramPostsData;
20
+ sectionsCopy: HomeSectionsCopy;
21
+ trustFeatures: TrustFeaturesConfig;
22
+ };
23
+ /** Resolve all segment JSON from `pageInput` (package defaults when omitted). */
24
+ export declare function resolveHomeSegmentConfigData(pageInput?: HomepageConfig | null): HomeSegmentConfigData;
25
+ //# sourceMappingURL=resolve-home-segment-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-home-segment-data.d.ts","sourceRoot":"","sources":["../../../src/server/resolve-home-segment-data.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAML,wBAAwB,EAIxB,8BAA8B,EAC9B,4BAA4B,EAE5B,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACnC,mBAAmB,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;IAChE,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA;IAC7D,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA;IAC7D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,cAAc,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAA;IACjE,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAA;IACpE,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,cAAc,EAAE,kBAAkB,CAAA;IAClC,YAAY,EAAE,gBAAgB,CAAA;IAC9B,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,qBAAqB,CAgBvB"}
@@ -0,0 +1,20 @@
1
+ import "server-only";
2
+ import { getAboutBrandFromPageInput, getAnnouncementMessagesFromPageInput, getAppBannersFromPageInput, getBlogPostsFromPageInput, getBrandPillarsFromPageInput, getFeaturesFromPageInput, getHomeBannersFromPageInput, getHomeSectionsCopyFromPageInput, getInstagramPostsFromPageInput, getPromoCountdownFromPageInput, getTestimonialsFromPageInput, getTrustFeaturesFromPageInput, getVideoStoriesFromPageInput, } from "./dynamic-config";
3
+ /** Resolve all segment JSON from `pageInput` (package defaults when omitted). */
4
+ export function resolveHomeSegmentConfigData(pageInput) {
5
+ return {
6
+ homeBanners: getHomeBannersFromPageInput(pageInput),
7
+ appBanners: getAppBannersFromPageInput(pageInput),
8
+ whyChooseUsFeatures: getFeaturesFromPageInput(pageInput),
9
+ testimonials: getTestimonialsFromPageInput(pageInput),
10
+ videoStories: getVideoStoriesFromPageInput(pageInput),
11
+ announcementMessages: getAnnouncementMessagesFromPageInput(pageInput),
12
+ promoCountdown: getPromoCountdownFromPageInput(pageInput),
13
+ aboutBrand: getAboutBrandFromPageInput(pageInput),
14
+ brandPillars: getBrandPillarsFromPageInput(pageInput),
15
+ blogPosts: getBlogPostsFromPageInput(pageInput),
16
+ instagramPosts: getInstagramPostsFromPageInput(pageInput),
17
+ sectionsCopy: getHomeSectionsCopyFromPageInput(pageInput),
18
+ trustFeatures: getTrustFeaturesFromPageInput(pageInput),
19
+ };
20
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returns.d.ts","sourceRoot":"","sources":["../../../src/server/returns.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,iBAAiB,sEAG7B,CAAA;AAED,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,aAAa,MAAM,EAAE,KACpB,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAOzC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,OAAO;IACL,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;CACrC,EACD,UAAU,QAAQ,KACjB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;CACrC,CAmFA,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAU,UAAU,MAAM,EAAE,WAAW,MAAM;;;;;;;;EAa5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,uEA4BjD,CAAA"}
@@ -0,0 +1,17 @@
1
+ import "server-only";
2
+ import { HttpTypes } from "@medusajs/types";
3
+ import type { HomepageConfig } from "./homepage-config.types";
4
+ export type ShoppableLookConfig = {
5
+ image: string;
6
+ productIds: string[];
7
+ productHandles: string[];
8
+ };
9
+ export type ShoppableLook = {
10
+ id: string;
11
+ image: string;
12
+ products: HttpTypes.StoreProduct[];
13
+ };
14
+ export declare function readShoppableLooksBlock(block: unknown): ShoppableLookConfig[];
15
+ export declare function looksFromProducts(products: HttpTypes.StoreProduct[]): ShoppableLook[];
16
+ export declare function getBaptismPicksLooks(countryCode: string, fallbackProducts: HttpTypes.StoreProduct[], pageInput?: HomepageConfig | null): Promise<ShoppableLook[]>;
17
+ //# sourceMappingURL=shoppable-looks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shoppable-looks.d.ts","sourceRoot":"","sources":["../../../src/server/shoppable-looks.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;CACnC,CAAA;AAoCD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,EAAE,CAkB7E;AAoDD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,GACjC,aAAa,EAAE,CAgBjB;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,SAAS,CAAC,YAAY,EAAE,EAC1C,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,OAAO,CAAC,aAAa,EAAE,CAAC,CA4B1B"}