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.
- package/HOMEPAGE_CONFIG.md +133 -0
- package/dist/segment-data/default-page-input.json +191 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/cookies.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/index.d.ts +103 -0
- package/dist/src/dynamic-config-schema/index.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/index.js +172 -0
- package/dist/src/dynamic-config-schema/sections/about-brand.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/about-brand.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/about-brand.js +30 -0
- package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/baptism-picks.js +17 -0
- package/dist/src/dynamic-config-schema/sections/baptism.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/baptism.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/baptism.js +4 -0
- package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/blog-posts.js +31 -0
- package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/brand-marquee.js +9 -0
- package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/brand-pillars.js +29 -0
- package/dist/src/dynamic-config-schema/sections/category-pills.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/category-pills.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/category-pills.js +4 -0
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.js +4 -0
- package/dist/src/dynamic-config-schema/sections/features.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/features.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/features.js +12 -0
- package/dist/src/dynamic-config-schema/sections/hero.d.ts +6 -0
- package/dist/src/dynamic-config-schema/sections/hero.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/hero.js +9 -0
- package/dist/src/dynamic-config-schema/sections/index.d.ts +24 -0
- package/dist/src/dynamic-config-schema/sections/index.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/index.js +23 -0
- package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/instagram-posts.js +30 -0
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.js +4 -0
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.js +4 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.js +12 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/new-arrivals.js +12 -0
- package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/promo-announcements.js +16 -0
- package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/promo-countdown.js +16 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-age.js +4 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/shop-by-category.js +4 -0
- package/dist/src/dynamic-config-schema/sections/testimonials.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/testimonials.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/testimonials.js +9 -0
- package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/theme-dresses.js +4 -0
- package/dist/src/dynamic-config-schema/sections/video-stories.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/video-stories.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/video-stories.js +24 -0
- package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts +5 -0
- package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/sections/why-choose-us.js +9 -0
- package/dist/src/dynamic-config-schema/shared.d.ts +35 -0
- package/dist/src/dynamic-config-schema/shared.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/shared.js +99 -0
- package/dist/src/dynamic-config-schema/site-configs.d.ts +11 -0
- package/dist/src/dynamic-config-schema/site-configs.d.ts.map +1 -0
- package/dist/src/dynamic-config-schema/site-configs.js +70 -0
- package/dist/src/edge.d.ts.map +1 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/server/brand-pillars-from-categories.d.ts +8 -0
- package/dist/src/server/brand-pillars-from-categories.d.ts.map +1 -0
- package/dist/src/server/brand-pillars-from-categories.js +92 -0
- package/dist/src/server/cart.d.ts.map +1 -0
- package/dist/{server → src/server}/cart.js +20 -20
- package/dist/src/server/categories.d.ts.map +1 -0
- package/dist/src/server/collections.d.ts.map +1 -0
- package/dist/src/server/config-merge.d.ts +3 -0
- package/dist/src/server/config-merge.d.ts.map +1 -0
- package/dist/src/server/config-merge.js +31 -0
- package/dist/src/server/contact.d.ts.map +1 -0
- package/dist/src/server/customer-registration.d.ts.map +1 -0
- package/dist/src/server/customer.d.ts.map +1 -0
- package/dist/{server → src/server}/customer.js +11 -11
- package/dist/src/server/dynamic-config-api.d.ts +11 -0
- package/dist/src/server/dynamic-config-api.d.ts.map +1 -0
- package/dist/src/server/dynamic-config-api.js +46 -0
- package/dist/src/server/dynamic-config.d.ts +157 -0
- package/dist/src/server/dynamic-config.d.ts.map +1 -0
- package/dist/src/server/dynamic-config.js +573 -0
- package/dist/src/server/fulfillment.d.ts.map +1 -0
- package/dist/{server → src/server}/fulfillment.js +3 -3
- package/dist/src/server/guest.d.ts.map +1 -0
- package/dist/src/server/home-sections/about-brand.d.ts +9 -0
- package/dist/src/server/home-sections/about-brand.d.ts.map +1 -0
- package/dist/src/server/home-sections/about-brand.js +9 -0
- package/dist/src/server/home-sections/baptism-picks.d.ts +10 -0
- package/dist/src/server/home-sections/baptism-picks.d.ts.map +1 -0
- package/dist/src/server/home-sections/baptism-picks.js +27 -0
- package/dist/src/server/home-sections/baptism.d.ts +13 -0
- package/dist/src/server/home-sections/baptism.d.ts.map +1 -0
- package/dist/src/server/home-sections/baptism.js +43 -0
- package/dist/src/server/home-sections/blog-posts.d.ts +9 -0
- package/dist/src/server/home-sections/blog-posts.d.ts.map +1 -0
- package/dist/src/server/home-sections/blog-posts.js +9 -0
- package/dist/src/server/home-sections/brand-marquee.d.ts +8 -0
- package/dist/src/server/home-sections/brand-marquee.d.ts.map +1 -0
- package/dist/src/server/home-sections/brand-marquee.js +7 -0
- package/dist/src/server/home-sections/brand-pillars.d.ts +9 -0
- package/dist/src/server/home-sections/brand-pillars.d.ts.map +1 -0
- package/dist/src/server/home-sections/brand-pillars.js +9 -0
- package/dist/src/server/home-sections/category-pills.d.ts +9 -0
- package/dist/src/server/home-sections/category-pills.d.ts.map +1 -0
- package/dist/src/server/home-sections/category-pills.js +19 -0
- package/dist/src/server/home-sections/celebrity-trust.d.ts +12 -0
- package/dist/src/server/home-sections/celebrity-trust.d.ts.map +1 -0
- package/dist/src/server/home-sections/celebrity-trust.js +27 -0
- package/dist/src/server/home-sections/features.d.ts +9 -0
- package/dist/src/server/home-sections/features.d.ts.map +1 -0
- package/dist/src/server/home-sections/features.js +9 -0
- package/dist/src/server/home-sections/hero.d.ts +9 -0
- package/dist/src/server/home-sections/hero.d.ts.map +1 -0
- package/dist/src/server/home-sections/hero.js +9 -0
- package/dist/src/server/home-sections/instagram-posts.d.ts +9 -0
- package/dist/src/server/home-sections/instagram-posts.d.ts.map +1 -0
- package/dist/src/server/home-sections/instagram-posts.js +9 -0
- package/dist/src/server/home-sections/loved-by-moms.d.ts +12 -0
- package/dist/src/server/home-sections/loved-by-moms.d.ts.map +1 -0
- package/dist/src/server/home-sections/loved-by-moms.js +20 -0
- package/dist/src/server/home-sections/luxe-favourites.d.ts +11 -0
- package/dist/src/server/home-sections/luxe-favourites.d.ts.map +1 -0
- package/dist/src/server/home-sections/luxe-favourites.js +19 -0
- package/dist/src/server/home-sections/new-arrivals-classic.d.ts +8 -0
- package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +1 -0
- package/dist/src/server/home-sections/new-arrivals-classic.js +10 -0
- package/dist/src/server/home-sections/new-arrivals.d.ts +12 -0
- package/dist/src/server/home-sections/new-arrivals.d.ts.map +1 -0
- package/dist/src/server/home-sections/new-arrivals.js +28 -0
- package/dist/src/server/home-sections/promo-announcements.d.ts +7 -0
- package/dist/src/server/home-sections/promo-announcements.d.ts.map +1 -0
- package/dist/src/server/home-sections/promo-announcements.js +7 -0
- package/dist/src/server/home-sections/promo-countdown.d.ts +6 -0
- package/dist/src/server/home-sections/promo-countdown.d.ts.map +1 -0
- package/dist/src/server/home-sections/promo-countdown.js +5 -0
- package/dist/src/server/home-sections/shared.d.ts +10 -0
- package/dist/src/server/home-sections/shared.d.ts.map +1 -0
- package/dist/src/server/home-sections/shared.js +29 -0
- package/dist/src/server/home-sections/shop-by-age.d.ts +9 -0
- package/dist/src/server/home-sections/shop-by-age.d.ts.map +1 -0
- package/dist/src/server/home-sections/shop-by-age.js +17 -0
- package/dist/src/server/home-sections/shop-by-category.d.ts +10 -0
- package/dist/src/server/home-sections/shop-by-category.d.ts.map +1 -0
- package/dist/src/server/home-sections/shop-by-category.js +17 -0
- package/dist/src/server/home-sections/testimonials.d.ts +9 -0
- package/dist/src/server/home-sections/testimonials.d.ts.map +1 -0
- package/dist/src/server/home-sections/testimonials.js +9 -0
- package/dist/src/server/home-sections/theme-dresses.d.ts +12 -0
- package/dist/src/server/home-sections/theme-dresses.d.ts.map +1 -0
- package/dist/src/server/home-sections/theme-dresses.js +27 -0
- package/dist/src/server/home-sections/video-stories.d.ts +9 -0
- package/dist/src/server/home-sections/video-stories.d.ts.map +1 -0
- package/dist/src/server/home-sections/video-stories.js +9 -0
- package/dist/src/server/home-sections/why-choose-us.d.ts +9 -0
- package/dist/src/server/home-sections/why-choose-us.d.ts.map +1 -0
- package/dist/src/server/home-sections/why-choose-us.js +9 -0
- package/dist/{server → src/server}/home.d.ts +18 -9
- package/dist/src/server/home.d.ts.map +1 -0
- package/dist/src/server/home.js +1 -0
- package/dist/src/server/homepage-config.types.d.ts +274 -0
- package/dist/src/server/homepage-config.types.d.ts.map +1 -0
- package/dist/src/server/homepage-config.types.js +33 -0
- package/dist/{server → src/server}/homepage-section-defaults.d.ts +35 -2
- package/dist/src/server/homepage-section-defaults.d.ts.map +1 -0
- package/dist/{server → src/server}/homepage-section-defaults.js +41 -2
- package/dist/{server → src/server}/index.d.ts +2 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/{server → src/server}/index.js +2 -0
- package/dist/src/server/locale-actions.d.ts.map +1 -0
- package/dist/src/server/locales.d.ts.map +1 -0
- package/dist/src/server/normalize-homepage-config.d.ts +7 -0
- package/dist/src/server/normalize-homepage-config.d.ts.map +1 -0
- package/dist/src/server/normalize-homepage-config.js +213 -0
- package/dist/src/server/notifications.d.ts.map +1 -0
- package/dist/src/server/onboarding.d.ts.map +1 -0
- package/dist/src/server/orders.d.ts.map +1 -0
- package/dist/{server → src/server}/orders.js +6 -6
- package/dist/src/server/page-input.d.ts +19 -0
- package/dist/src/server/page-input.d.ts.map +1 -0
- package/dist/src/server/page-input.js +42 -0
- package/dist/src/server/payment-details.d.ts.map +1 -0
- package/dist/{server → src/server}/payment-details.js +5 -5
- package/dist/src/server/payment.d.ts.map +1 -0
- package/dist/{server → src/server}/payment.js +2 -2
- package/dist/src/server/pincode.d.ts.map +1 -0
- package/dist/src/server/products.d.ts.map +1 -0
- package/dist/src/server/regions.d.ts.map +1 -0
- package/dist/{server → src/server}/regions.js +2 -2
- package/dist/src/server/resolve-home-segment-data.d.ts +25 -0
- package/dist/src/server/resolve-home-segment-data.d.ts.map +1 -0
- package/dist/src/server/resolve-home-segment-data.js +20 -0
- package/dist/src/server/returns.d.ts.map +1 -0
- package/dist/src/server/shoppable-looks.d.ts +17 -0
- package/dist/src/server/shoppable-looks.d.ts.map +1 -0
- package/dist/src/server/shoppable-looks.js +136 -0
- package/dist/src/server/swaps.d.ts.map +1 -0
- package/dist/src/server/variants.d.ts.map +1 -0
- package/dist/src/server/wishlist.d.ts.map +1 -0
- package/dist/src/util/get-locale-header.d.ts.map +1 -0
- package/dist/src/util/medusa-error.d.ts.map +1 -0
- package/dist/src/util/revalidate-cart.d.ts.map +1 -0
- package/dist/src/util/sort-products.d.ts.map +1 -0
- package/dist/{util → src/util}/store-client.d.ts +0 -2
- package/dist/src/util/store-client.d.ts.map +1 -0
- package/dist/{util → src/util}/store-client.js +0 -2
- package/homepage-config.example.json +209 -0
- package/homepage-sections.example.json +55 -0
- package/package.json +120 -156
- package/segment-data/default-page-input.json +191 -0
- package/src/server/brand-pillars-from-categories.ts +156 -0
- package/src/server/cart.ts +20 -20
- package/src/server/config-merge.ts +31 -0
- package/src/server/customer.ts +11 -11
- package/src/server/dynamic-config.ts +507 -566
- package/src/server/fulfillment.ts +3 -3
- package/src/server/home-sections/about-brand.ts +24 -0
- package/src/server/home-sections/baptism-picks.ts +46 -0
- package/src/server/home-sections/baptism.ts +64 -0
- package/src/server/home-sections/blog-posts.ts +23 -0
- package/src/server/home-sections/brand-marquee.ts +17 -0
- package/src/server/home-sections/brand-pillars.ts +23 -0
- package/src/server/home-sections/category-pills.ts +32 -0
- package/src/server/home-sections/celebrity-trust.ts +42 -0
- package/src/server/home-sections/features.ts +23 -0
- package/src/server/home-sections/hero.ts +24 -0
- package/src/server/home-sections/instagram-posts.ts +23 -0
- package/src/server/home-sections/loved-by-moms.ts +34 -0
- package/src/server/home-sections/luxe-favourites.ts +30 -0
- package/src/server/home-sections/new-arrivals-classic.ts +21 -0
- package/src/server/home-sections/new-arrivals.ts +47 -0
- package/src/server/home-sections/promo-announcements.ts +17 -0
- package/src/server/home-sections/promo-countdown.ts +15 -0
- package/src/server/home-sections/shared.ts +44 -0
- package/src/server/home-sections/shop-by-age.ts +26 -0
- package/src/server/home-sections/shop-by-category.ts +28 -0
- package/src/server/home-sections/testimonials.ts +23 -0
- package/src/server/home-sections/theme-dresses.ts +49 -0
- package/src/server/home-sections/video-stories.ts +23 -0
- package/src/server/home-sections/why-choose-us.ts +23 -0
- package/src/server/home.ts +46 -207
- package/src/server/homepage-config.types.ts +335 -0
- package/src/server/homepage-section-defaults.ts +41 -2
- package/src/server/index.ts +2 -0
- package/src/server/normalize-homepage-config.ts +240 -0
- package/src/server/orders.ts +6 -6
- package/src/server/page-input.ts +66 -0
- package/src/server/payment-details.ts +5 -5
- package/src/server/payment.ts +2 -2
- package/src/server/regions.ts +2 -2
- package/src/server/resolve-home-segment-data.ts +63 -0
- package/src/server/shoppable-looks.ts +178 -0
- package/src/util/store-client.ts +0 -3
- package/dist/config.d.ts.map +0 -1
- package/dist/cookies.d.ts.map +0 -1
- package/dist/edge.d.ts.map +0 -1
- package/dist/middleware.d.ts.map +0 -1
- package/dist/server/cart.d.ts.map +0 -1
- package/dist/server/categories.d.ts.map +0 -1
- package/dist/server/collections.d.ts.map +0 -1
- package/dist/server/contact.d.ts.map +0 -1
- package/dist/server/customer-registration.d.ts.map +0 -1
- package/dist/server/customer.d.ts.map +0 -1
- package/dist/server/dynamic-config.d.ts +0 -202
- package/dist/server/dynamic-config.d.ts.map +0 -1
- package/dist/server/dynamic-config.js +0 -675
- package/dist/server/fulfillment.d.ts.map +0 -1
- package/dist/server/guest.d.ts.map +0 -1
- package/dist/server/home.d.ts.map +0 -1
- package/dist/server/home.js +0 -124
- package/dist/server/homepage-section-defaults.d.ts.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/locale-actions.d.ts.map +0 -1
- package/dist/server/locales.d.ts.map +0 -1
- package/dist/server/notifications.d.ts.map +0 -1
- package/dist/server/onboarding.d.ts.map +0 -1
- package/dist/server/orders.d.ts.map +0 -1
- package/dist/server/payment-details.d.ts.map +0 -1
- package/dist/server/payment.d.ts.map +0 -1
- package/dist/server/pincode.d.ts.map +0 -1
- package/dist/server/products.d.ts.map +0 -1
- package/dist/server/regions.d.ts.map +0 -1
- package/dist/server/returns.d.ts.map +0 -1
- package/dist/server/swaps.d.ts.map +0 -1
- package/dist/server/variants.d.ts.map +0 -1
- package/dist/server/wishlist.d.ts.map +0 -1
- package/dist/util/get-locale-header.d.ts.map +0 -1
- package/dist/util/medusa-error.d.ts.map +0 -1
- package/dist/util/revalidate-cart.d.ts.map +0 -1
- package/dist/util/sort-products.d.ts.map +0 -1
- package/dist/util/store-client.d.ts.map +0 -1
- /package/dist/{config.d.ts → src/config.d.ts} +0 -0
- /package/dist/{config.js → src/config.js} +0 -0
- /package/dist/{cookies.d.ts → src/cookies.d.ts} +0 -0
- /package/dist/{cookies.js → src/cookies.js} +0 -0
- /package/dist/{edge.d.ts → src/edge.d.ts} +0 -0
- /package/dist/{edge.js → src/edge.js} +0 -0
- /package/dist/{middleware.d.ts → src/middleware.d.ts} +0 -0
- /package/dist/{middleware.js → src/middleware.js} +0 -0
- /package/dist/{server → src/server}/cart.d.ts +0 -0
- /package/dist/{server → src/server}/categories.d.ts +0 -0
- /package/dist/{server → src/server}/categories.js +0 -0
- /package/dist/{server → src/server}/collections.d.ts +0 -0
- /package/dist/{server → src/server}/collections.js +0 -0
- /package/dist/{server → src/server}/contact.d.ts +0 -0
- /package/dist/{server → src/server}/contact.js +0 -0
- /package/dist/{server → src/server}/customer-registration.d.ts +0 -0
- /package/dist/{server → src/server}/customer-registration.js +0 -0
- /package/dist/{server → src/server}/customer.d.ts +0 -0
- /package/dist/{server → src/server}/fulfillment.d.ts +0 -0
- /package/dist/{server → src/server}/guest.d.ts +0 -0
- /package/dist/{server → src/server}/guest.js +0 -0
- /package/dist/{server → src/server}/locale-actions.d.ts +0 -0
- /package/dist/{server → src/server}/locale-actions.js +0 -0
- /package/dist/{server → src/server}/locales.d.ts +0 -0
- /package/dist/{server → src/server}/locales.js +0 -0
- /package/dist/{server → src/server}/notifications.d.ts +0 -0
- /package/dist/{server → src/server}/notifications.js +0 -0
- /package/dist/{server → src/server}/onboarding.d.ts +0 -0
- /package/dist/{server → src/server}/onboarding.js +0 -0
- /package/dist/{server → src/server}/orders.d.ts +0 -0
- /package/dist/{server → src/server}/payment-details.d.ts +0 -0
- /package/dist/{server → src/server}/payment.d.ts +0 -0
- /package/dist/{server → src/server}/pincode.d.ts +0 -0
- /package/dist/{server → src/server}/pincode.js +0 -0
- /package/dist/{server → src/server}/products.d.ts +0 -0
- /package/dist/{server → src/server}/products.js +0 -0
- /package/dist/{server → src/server}/regions.d.ts +0 -0
- /package/dist/{server → src/server}/returns.d.ts +0 -0
- /package/dist/{server → src/server}/returns.js +0 -0
- /package/dist/{server → src/server}/swaps.d.ts +0 -0
- /package/dist/{server → src/server}/swaps.js +0 -0
- /package/dist/{server → src/server}/variants.d.ts +0 -0
- /package/dist/{server → src/server}/variants.js +0 -0
- /package/dist/{server → src/server}/wishlist.d.ts +0 -0
- /package/dist/{server → src/server}/wishlist.js +0 -0
- /package/dist/{util → src/util}/get-locale-header.d.ts +0 -0
- /package/dist/{util → src/util}/get-locale-header.js +0 -0
- /package/dist/{util → src/util}/medusa-error.d.ts +0 -0
- /package/dist/{util → src/util}/medusa-error.js +0 -0
- /package/dist/{util → src/util}/revalidate-cart.d.ts +0 -0
- /package/dist/{util → src/util}/revalidate-cart.js +0 -0
- /package/dist/{util → src/util}/sort-products.d.ts +0 -0
- /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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
3
|
+
import { getStoreClientOptions } from "../util/store-client";
|
|
4
4
|
export const listPaymentDetails = async () => {
|
|
5
5
|
try {
|
|
6
|
-
const options = await
|
|
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
|
|
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
|
|
22
|
+
const options = await getStoreClientOptions();
|
|
23
23
|
return medusaPaymentDetailMakeDefault(id, options);
|
|
24
24
|
};
|
|
25
25
|
export const deletePaymentDetail = async (id) => {
|
|
26
|
-
const options = await
|
|
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 {
|
|
3
|
+
import { getStoreClientOptions } from "../util/store-client";
|
|
4
4
|
export const listCartPaymentMethods = async (regionId) => {
|
|
5
5
|
try {
|
|
6
|
-
const options = await
|
|
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 {
|
|
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
|
|
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"}
|