medusa-storefront-data 2.1.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/HOMEPAGE_CONFIG.md +99 -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/edge.d.ts.map +1 -0
  6. package/dist/src/middleware.d.ts.map +1 -0
  7. package/dist/src/server/cart.d.ts.map +1 -0
  8. package/dist/src/server/categories.d.ts.map +1 -0
  9. package/dist/src/server/collections.d.ts.map +1 -0
  10. package/dist/src/server/config-merge.d.ts +3 -0
  11. package/dist/src/server/config-merge.d.ts.map +1 -0
  12. package/dist/src/server/config-merge.js +31 -0
  13. package/dist/src/server/contact.d.ts.map +1 -0
  14. package/dist/src/server/customer-registration.d.ts.map +1 -0
  15. package/dist/src/server/customer.d.ts.map +1 -0
  16. package/dist/src/server/dynamic-config.d.ts +240 -0
  17. package/dist/src/server/dynamic-config.d.ts.map +1 -0
  18. package/dist/src/server/dynamic-config.js +703 -0
  19. package/dist/src/server/fulfillment.d.ts.map +1 -0
  20. package/dist/src/server/guest.d.ts.map +1 -0
  21. package/dist/src/server/home-sections/about-brand.d.ts +9 -0
  22. package/dist/src/server/home-sections/about-brand.d.ts.map +1 -0
  23. package/dist/src/server/home-sections/about-brand.js +9 -0
  24. package/dist/src/server/home-sections/baptism-picks.d.ts +10 -0
  25. package/dist/src/server/home-sections/baptism-picks.d.ts.map +1 -0
  26. package/dist/src/server/home-sections/baptism-picks.js +27 -0
  27. package/dist/src/server/home-sections/baptism.d.ts +13 -0
  28. package/dist/src/server/home-sections/baptism.d.ts.map +1 -0
  29. package/dist/src/server/home-sections/baptism.js +43 -0
  30. package/dist/src/server/home-sections/blog-posts.d.ts +9 -0
  31. package/dist/src/server/home-sections/blog-posts.d.ts.map +1 -0
  32. package/dist/src/server/home-sections/blog-posts.js +9 -0
  33. package/dist/src/server/home-sections/brand-marquee.d.ts +8 -0
  34. package/dist/src/server/home-sections/brand-marquee.d.ts.map +1 -0
  35. package/dist/src/server/home-sections/brand-marquee.js +7 -0
  36. package/dist/src/server/home-sections/brand-pillars.d.ts +9 -0
  37. package/dist/src/server/home-sections/brand-pillars.d.ts.map +1 -0
  38. package/dist/src/server/home-sections/brand-pillars.js +9 -0
  39. package/dist/src/server/home-sections/category-pills.d.ts +9 -0
  40. package/dist/src/server/home-sections/category-pills.d.ts.map +1 -0
  41. package/dist/src/server/home-sections/category-pills.js +19 -0
  42. package/dist/src/server/home-sections/celebrity-trust.d.ts +12 -0
  43. package/dist/src/server/home-sections/celebrity-trust.d.ts.map +1 -0
  44. package/dist/src/server/home-sections/celebrity-trust.js +27 -0
  45. package/dist/src/server/home-sections/features.d.ts +9 -0
  46. package/dist/src/server/home-sections/features.d.ts.map +1 -0
  47. package/dist/src/server/home-sections/features.js +9 -0
  48. package/dist/src/server/home-sections/hero.d.ts +9 -0
  49. package/dist/src/server/home-sections/hero.d.ts.map +1 -0
  50. package/dist/src/server/home-sections/hero.js +9 -0
  51. package/dist/src/server/home-sections/instagram-posts.d.ts +9 -0
  52. package/dist/src/server/home-sections/instagram-posts.d.ts.map +1 -0
  53. package/dist/src/server/home-sections/instagram-posts.js +9 -0
  54. package/dist/src/server/home-sections/loved-by-moms.d.ts +12 -0
  55. package/dist/src/server/home-sections/loved-by-moms.d.ts.map +1 -0
  56. package/dist/src/server/home-sections/loved-by-moms.js +20 -0
  57. package/dist/src/server/home-sections/luxe-favourites.d.ts +11 -0
  58. package/dist/src/server/home-sections/luxe-favourites.d.ts.map +1 -0
  59. package/dist/src/server/home-sections/luxe-favourites.js +19 -0
  60. package/dist/src/server/home-sections/new-arrivals-classic.d.ts +8 -0
  61. package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +1 -0
  62. package/dist/src/server/home-sections/new-arrivals-classic.js +10 -0
  63. package/dist/src/server/home-sections/new-arrivals.d.ts +12 -0
  64. package/dist/src/server/home-sections/new-arrivals.d.ts.map +1 -0
  65. package/dist/src/server/home-sections/new-arrivals.js +28 -0
  66. package/dist/src/server/home-sections/promo-announcements.d.ts +7 -0
  67. package/dist/src/server/home-sections/promo-announcements.d.ts.map +1 -0
  68. package/dist/src/server/home-sections/promo-announcements.js +7 -0
  69. package/dist/src/server/home-sections/promo-countdown.d.ts +6 -0
  70. package/dist/src/server/home-sections/promo-countdown.d.ts.map +1 -0
  71. package/dist/src/server/home-sections/promo-countdown.js +5 -0
  72. package/dist/src/server/home-sections/shared.d.ts +10 -0
  73. package/dist/src/server/home-sections/shared.d.ts.map +1 -0
  74. package/dist/src/server/home-sections/shared.js +29 -0
  75. package/dist/src/server/home-sections/shop-by-age.d.ts +9 -0
  76. package/dist/src/server/home-sections/shop-by-age.d.ts.map +1 -0
  77. package/dist/src/server/home-sections/shop-by-age.js +17 -0
  78. package/dist/src/server/home-sections/shop-by-category.d.ts +10 -0
  79. package/dist/src/server/home-sections/shop-by-category.d.ts.map +1 -0
  80. package/dist/src/server/home-sections/shop-by-category.js +17 -0
  81. package/dist/src/server/home-sections/testimonials.d.ts +9 -0
  82. package/dist/src/server/home-sections/testimonials.d.ts.map +1 -0
  83. package/dist/src/server/home-sections/testimonials.js +9 -0
  84. package/dist/src/server/home-sections/theme-dresses.d.ts +12 -0
  85. package/dist/src/server/home-sections/theme-dresses.d.ts.map +1 -0
  86. package/dist/src/server/home-sections/theme-dresses.js +27 -0
  87. package/dist/src/server/home-sections/video-stories.d.ts +9 -0
  88. package/dist/src/server/home-sections/video-stories.d.ts.map +1 -0
  89. package/dist/src/server/home-sections/video-stories.js +9 -0
  90. package/dist/src/server/home-sections/why-choose-us.d.ts +9 -0
  91. package/dist/src/server/home-sections/why-choose-us.d.ts.map +1 -0
  92. package/dist/src/server/home-sections/why-choose-us.js +9 -0
  93. package/dist/src/server/home.d.ts +62 -0
  94. package/dist/src/server/home.d.ts.map +1 -0
  95. package/dist/src/server/home.js +122 -0
  96. package/dist/src/server/homepage-config.types.d.ts +274 -0
  97. package/dist/src/server/homepage-config.types.d.ts.map +1 -0
  98. package/dist/src/server/homepage-config.types.js +33 -0
  99. package/dist/src/server/homepage-section-defaults.d.ts +188 -0
  100. package/dist/src/server/homepage-section-defaults.d.ts.map +1 -0
  101. package/dist/src/server/homepage-section-defaults.js +188 -0
  102. package/dist/{server → src/server}/index.d.ts +2 -0
  103. package/dist/src/server/index.d.ts.map +1 -0
  104. package/dist/{server → src/server}/index.js +2 -0
  105. package/dist/src/server/locale-actions.d.ts.map +1 -0
  106. package/dist/src/server/locales.d.ts.map +1 -0
  107. package/dist/src/server/notifications.d.ts.map +1 -0
  108. package/dist/src/server/onboarding.d.ts.map +1 -0
  109. package/dist/src/server/orders.d.ts.map +1 -0
  110. package/dist/src/server/page-input.d.ts +19 -0
  111. package/dist/src/server/page-input.d.ts.map +1 -0
  112. package/dist/src/server/page-input.js +40 -0
  113. package/dist/src/server/payment-details.d.ts.map +1 -0
  114. package/dist/src/server/payment.d.ts.map +1 -0
  115. package/dist/src/server/pincode.d.ts.map +1 -0
  116. package/dist/src/server/products.d.ts.map +1 -0
  117. package/dist/src/server/regions.d.ts.map +1 -0
  118. package/dist/src/server/resolve-home-segment-data.d.ts +25 -0
  119. package/dist/src/server/resolve-home-segment-data.d.ts.map +1 -0
  120. package/dist/src/server/resolve-home-segment-data.js +20 -0
  121. package/dist/src/server/returns.d.ts.map +1 -0
  122. package/dist/src/server/shoppable-looks.d.ts +17 -0
  123. package/dist/src/server/shoppable-looks.d.ts.map +1 -0
  124. package/dist/src/server/shoppable-looks.js +136 -0
  125. package/dist/src/server/swaps.d.ts.map +1 -0
  126. package/dist/src/server/variants.d.ts.map +1 -0
  127. package/dist/src/server/wishlist.d.ts.map +1 -0
  128. package/dist/src/util/get-locale-header.d.ts.map +1 -0
  129. package/dist/src/util/medusa-error.d.ts.map +1 -0
  130. package/dist/src/util/revalidate-cart.d.ts.map +1 -0
  131. package/dist/src/util/sort-products.d.ts.map +1 -0
  132. package/dist/src/util/store-client.d.ts.map +1 -0
  133. package/homepage-config.example.json +209 -0
  134. package/homepage-sections.example.json +55 -0
  135. package/package.json +121 -2
  136. package/segment-data/default-page-input.json +191 -0
  137. package/src/server/config-merge.ts +31 -0
  138. package/src/server/dynamic-config.ts +838 -248
  139. package/src/server/home-sections/about-brand.ts +24 -0
  140. package/src/server/home-sections/baptism-picks.ts +46 -0
  141. package/src/server/home-sections/baptism.ts +64 -0
  142. package/src/server/home-sections/blog-posts.ts +23 -0
  143. package/src/server/home-sections/brand-marquee.ts +17 -0
  144. package/src/server/home-sections/brand-pillars.ts +23 -0
  145. package/src/server/home-sections/category-pills.ts +32 -0
  146. package/src/server/home-sections/celebrity-trust.ts +42 -0
  147. package/src/server/home-sections/features.ts +23 -0
  148. package/src/server/home-sections/hero.ts +24 -0
  149. package/src/server/home-sections/instagram-posts.ts +23 -0
  150. package/src/server/home-sections/loved-by-moms.ts +34 -0
  151. package/src/server/home-sections/luxe-favourites.ts +30 -0
  152. package/src/server/home-sections/new-arrivals-classic.ts +21 -0
  153. package/src/server/home-sections/new-arrivals.ts +47 -0
  154. package/src/server/home-sections/promo-announcements.ts +17 -0
  155. package/src/server/home-sections/promo-countdown.ts +15 -0
  156. package/src/server/home-sections/shared.ts +44 -0
  157. package/src/server/home-sections/shop-by-age.ts +26 -0
  158. package/src/server/home-sections/shop-by-category.ts +28 -0
  159. package/src/server/home-sections/testimonials.ts +23 -0
  160. package/src/server/home-sections/theme-dresses.ts +49 -0
  161. package/src/server/home-sections/video-stories.ts +23 -0
  162. package/src/server/home-sections/why-choose-us.ts +23 -0
  163. package/src/server/home.ts +173 -16
  164. package/src/server/homepage-config.types.ts +335 -0
  165. package/src/server/homepage-section-defaults.ts +199 -0
  166. package/src/server/index.ts +2 -0
  167. package/src/server/page-input.ts +64 -0
  168. package/src/server/resolve-home-segment-data.ts +63 -0
  169. package/src/server/shoppable-looks.ts +178 -0
  170. package/dist/config.d.ts.map +0 -1
  171. package/dist/cookies.d.ts.map +0 -1
  172. package/dist/edge.d.ts.map +0 -1
  173. package/dist/middleware.d.ts.map +0 -1
  174. package/dist/server/cart.d.ts.map +0 -1
  175. package/dist/server/categories.d.ts.map +0 -1
  176. package/dist/server/collections.d.ts.map +0 -1
  177. package/dist/server/contact.d.ts.map +0 -1
  178. package/dist/server/customer-registration.d.ts.map +0 -1
  179. package/dist/server/customer.d.ts.map +0 -1
  180. package/dist/server/dynamic-config.d.ts +0 -125
  181. package/dist/server/dynamic-config.d.ts.map +0 -1
  182. package/dist/server/dynamic-config.js +0 -289
  183. package/dist/server/fulfillment.d.ts.map +0 -1
  184. package/dist/server/guest.d.ts.map +0 -1
  185. package/dist/server/home.d.ts +0 -15
  186. package/dist/server/home.d.ts.map +0 -1
  187. package/dist/server/home.js +0 -45
  188. package/dist/server/index.d.ts.map +0 -1
  189. package/dist/server/locale-actions.d.ts.map +0 -1
  190. package/dist/server/locales.d.ts.map +0 -1
  191. package/dist/server/notifications.d.ts.map +0 -1
  192. package/dist/server/onboarding.d.ts.map +0 -1
  193. package/dist/server/orders.d.ts.map +0 -1
  194. package/dist/server/payment-details.d.ts.map +0 -1
  195. package/dist/server/payment.d.ts.map +0 -1
  196. package/dist/server/pincode.d.ts.map +0 -1
  197. package/dist/server/products.d.ts.map +0 -1
  198. package/dist/server/regions.d.ts.map +0 -1
  199. package/dist/server/returns.d.ts.map +0 -1
  200. package/dist/server/swaps.d.ts.map +0 -1
  201. package/dist/server/variants.d.ts.map +0 -1
  202. package/dist/server/wishlist.d.ts.map +0 -1
  203. package/dist/util/get-locale-header.d.ts.map +0 -1
  204. package/dist/util/medusa-error.d.ts.map +0 -1
  205. package/dist/util/revalidate-cart.d.ts.map +0 -1
  206. package/dist/util/sort-products.d.ts.map +0 -1
  207. package/dist/util/store-client.d.ts.map +0 -1
  208. /package/dist/{config.d.ts → src/config.d.ts} +0 -0
  209. /package/dist/{config.js → src/config.js} +0 -0
  210. /package/dist/{cookies.d.ts → src/cookies.d.ts} +0 -0
  211. /package/dist/{cookies.js → src/cookies.js} +0 -0
  212. /package/dist/{edge.d.ts → src/edge.d.ts} +0 -0
  213. /package/dist/{edge.js → src/edge.js} +0 -0
  214. /package/dist/{middleware.d.ts → src/middleware.d.ts} +0 -0
  215. /package/dist/{middleware.js → src/middleware.js} +0 -0
  216. /package/dist/{server → src/server}/cart.d.ts +0 -0
  217. /package/dist/{server → src/server}/cart.js +0 -0
  218. /package/dist/{server → src/server}/categories.d.ts +0 -0
  219. /package/dist/{server → src/server}/categories.js +0 -0
  220. /package/dist/{server → src/server}/collections.d.ts +0 -0
  221. /package/dist/{server → src/server}/collections.js +0 -0
  222. /package/dist/{server → src/server}/contact.d.ts +0 -0
  223. /package/dist/{server → src/server}/contact.js +0 -0
  224. /package/dist/{server → src/server}/customer-registration.d.ts +0 -0
  225. /package/dist/{server → src/server}/customer-registration.js +0 -0
  226. /package/dist/{server → src/server}/customer.d.ts +0 -0
  227. /package/dist/{server → src/server}/customer.js +0 -0
  228. /package/dist/{server → src/server}/fulfillment.d.ts +0 -0
  229. /package/dist/{server → src/server}/fulfillment.js +0 -0
  230. /package/dist/{server → src/server}/guest.d.ts +0 -0
  231. /package/dist/{server → src/server}/guest.js +0 -0
  232. /package/dist/{server → src/server}/locale-actions.d.ts +0 -0
  233. /package/dist/{server → src/server}/locale-actions.js +0 -0
  234. /package/dist/{server → src/server}/locales.d.ts +0 -0
  235. /package/dist/{server → src/server}/locales.js +0 -0
  236. /package/dist/{server → src/server}/notifications.d.ts +0 -0
  237. /package/dist/{server → src/server}/notifications.js +0 -0
  238. /package/dist/{server → src/server}/onboarding.d.ts +0 -0
  239. /package/dist/{server → src/server}/onboarding.js +0 -0
  240. /package/dist/{server → src/server}/orders.d.ts +0 -0
  241. /package/dist/{server → src/server}/orders.js +0 -0
  242. /package/dist/{server → src/server}/payment-details.d.ts +0 -0
  243. /package/dist/{server → src/server}/payment-details.js +0 -0
  244. /package/dist/{server → src/server}/payment.d.ts +0 -0
  245. /package/dist/{server → src/server}/payment.js +0 -0
  246. /package/dist/{server → src/server}/pincode.d.ts +0 -0
  247. /package/dist/{server → src/server}/pincode.js +0 -0
  248. /package/dist/{server → src/server}/products.d.ts +0 -0
  249. /package/dist/{server → src/server}/products.js +0 -0
  250. /package/dist/{server → src/server}/regions.d.ts +0 -0
  251. /package/dist/{server → src/server}/regions.js +0 -0
  252. /package/dist/{server → src/server}/returns.d.ts +0 -0
  253. /package/dist/{server → src/server}/returns.js +0 -0
  254. /package/dist/{server → src/server}/swaps.d.ts +0 -0
  255. /package/dist/{server → src/server}/swaps.js +0 -0
  256. /package/dist/{server → src/server}/variants.d.ts +0 -0
  257. /package/dist/{server → src/server}/variants.js +0 -0
  258. /package/dist/{server → src/server}/wishlist.d.ts +0 -0
  259. /package/dist/{server → src/server}/wishlist.js +0 -0
  260. /package/dist/{util → src/util}/get-locale-header.d.ts +0 -0
  261. /package/dist/{util → src/util}/get-locale-header.js +0 -0
  262. /package/dist/{util → src/util}/medusa-error.d.ts +0 -0
  263. /package/dist/{util → src/util}/medusa-error.js +0 -0
  264. /package/dist/{util → src/util}/revalidate-cart.d.ts +0 -0
  265. /package/dist/{util → src/util}/revalidate-cart.js +0 -0
  266. /package/dist/{util → src/util}/sort-products.d.ts +0 -0
  267. /package/dist/{util → src/util}/sort-products.js +0 -0
  268. /package/dist/{util → src/util}/store-client.d.ts +0 -0
  269. /package/dist/{util → src/util}/store-client.js +0 -0
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Medusa `GET /store/dynamic-config` → `homepage-config` shape.
3
+ * Used by the storefront and as the reference for backend admin JSON.
4
+ *
5
+ * Section keys: camelCase (preferred) or kebab-case (`new-arrivals` → `newArrivals`).
6
+ * Only fields you set override package defaults in `homepage-section-defaults.ts`.
7
+ */
8
+ /** Shared copy fields merged into every section block. */
9
+ export type HomepageSectionCopyFields = {
10
+ title?: string;
11
+ name?: string;
12
+ subtitle?: string;
13
+ text?: string;
14
+ description?: string;
15
+ eyebrow?: string;
16
+ /** Layout variant, e.g. new arrivals: `grid` | `classic` */
17
+ variant?: string;
18
+ layout?: string;
19
+ };
20
+ export type HomepagePromoAnnouncementsSection = HomepageSectionCopyFields & {
21
+ messages?: string[];
22
+ items?: Array<string | {
23
+ message?: string;
24
+ text?: string;
25
+ }>;
26
+ "announcement-messages"?: string[];
27
+ };
28
+ export type HomepagePromoCountdownSection = HomepageSectionCopyFields & {
29
+ code?: string;
30
+ "coupon-code"?: string;
31
+ text?: string;
32
+ message?: string;
33
+ "promo-text"?: string;
34
+ "end-at"?: string;
35
+ endAt?: string;
36
+ active?: boolean;
37
+ "promo-active"?: boolean;
38
+ "cta-label"?: string;
39
+ "cta-href"?: string;
40
+ };
41
+ export type HomepageNewArrivalsSection = HomepageSectionCopyFields & {
42
+ /** `grid` (ProductCardView) or `classic` (ProductPreview + pink background) */
43
+ variant?: "grid" | "classic" | "legacy" | "preview";
44
+ };
45
+ export type HomepageTestimonialItem = {
46
+ text?: string;
47
+ name?: string;
48
+ rating?: number;
49
+ avatar?: string;
50
+ id?: string;
51
+ testimonial?: HomepageTestimonialItem;
52
+ review?: HomepageTestimonialItem;
53
+ };
54
+ export type HomepageTestimonialsSection = HomepageSectionCopyFields & {
55
+ items?: HomepageTestimonialItem[];
56
+ testimonials?: HomepageTestimonialItem[];
57
+ reviews?: HomepageTestimonialItem[];
58
+ };
59
+ export type HomepageRatingItem = HomepageTestimonialItem;
60
+ export type HomepageShoppableLook = {
61
+ image?: string;
62
+ "look-image"?: string;
63
+ "product-ids"?: string[];
64
+ productIds?: string[];
65
+ "product-handles"?: string[];
66
+ productHandles?: string[];
67
+ look?: HomepageShoppableLook;
68
+ };
69
+ export type HomepageBaptismPicksSection = HomepageSectionCopyFields & {
70
+ looks?: HomepageShoppableLook[];
71
+ "shop-looks"?: HomepageShoppableLook[];
72
+ };
73
+ export type HomepageAboutBrandStat = {
74
+ label?: string;
75
+ name?: string;
76
+ value?: string;
77
+ };
78
+ export type HomepageAboutBrandSection = HomepageSectionCopyFields & {
79
+ readMoreHref?: string;
80
+ "read-more-link"?: string;
81
+ stats?: HomepageAboutBrandStat[];
82
+ "about-stats"?: HomepageAboutBrandStat[];
83
+ };
84
+ export type HomepageBrandPillar = {
85
+ title?: string;
86
+ name?: string;
87
+ description?: string;
88
+ text?: string;
89
+ image?: string;
90
+ icon?: string;
91
+ pillar?: HomepageBrandPillar;
92
+ };
93
+ export type HomepageBrandPillarsSection = HomepageSectionCopyFields & {
94
+ pillars?: HomepageBrandPillar[];
95
+ "brand-pillars"?: HomepageBrandPillar[];
96
+ };
97
+ export type HomepageFeatureItem = {
98
+ name?: string;
99
+ icon?: string;
100
+ "feature-name"?: string;
101
+ "feature-icon"?: string;
102
+ feature?: HomepageFeatureItem;
103
+ };
104
+ export type HomepageFeaturesSection = HomepageSectionCopyFields & {
105
+ features?: HomepageFeatureItem[];
106
+ items?: HomepageFeatureItem[];
107
+ };
108
+ export type HomepageBlogPost = {
109
+ title?: string;
110
+ href?: string;
111
+ link?: string;
112
+ url?: string;
113
+ excerpt?: string;
114
+ description?: string;
115
+ category?: string;
116
+ tag?: string;
117
+ date?: string;
118
+ image?: string;
119
+ thumbnail?: string;
120
+ blog?: HomepageBlogPost;
121
+ };
122
+ export type HomepageBlogPostsSection = HomepageSectionCopyFields & {
123
+ posts?: HomepageBlogPost[];
124
+ "blog-posts"?: HomepageBlogPost[];
125
+ };
126
+ export type HomepageInstagramPost = {
127
+ id?: string;
128
+ image?: string;
129
+ "post-image"?: string;
130
+ url?: string;
131
+ link?: string;
132
+ post?: HomepageInstagramPost;
133
+ instagram?: HomepageInstagramPost;
134
+ };
135
+ export type HomepageInstagramPostsSection = HomepageSectionCopyFields & {
136
+ handle?: string;
137
+ username?: string;
138
+ "instagram-handle"?: string;
139
+ "profile-url"?: string;
140
+ profileUrl?: string;
141
+ "profile-image"?: string;
142
+ profileImage?: string;
143
+ posts?: HomepageInstagramPost[];
144
+ items?: HomepageInstagramPost[];
145
+ };
146
+ export type HomepageVideoStoryEntry = string | {
147
+ "video-url"?: string;
148
+ video_url?: string;
149
+ url?: string;
150
+ src?: string;
151
+ video?: string;
152
+ "video-story"?: Record<string, unknown>;
153
+ };
154
+ export type HomepageVideoStoriesSection = HomepageSectionCopyFields & {
155
+ "video-urls"?: HomepageVideoStoryEntry[];
156
+ videoUrls?: HomepageVideoStoryEntry[];
157
+ videos?: HomepageVideoStoryEntry[];
158
+ "video-stories"?: HomepageVideoStoryEntry[];
159
+ };
160
+ /** Per-section blocks under `homepage-config.sections`. */
161
+ export type HomepageSectionsConfig = {
162
+ promoAnnouncements?: HomepagePromoAnnouncementsSection;
163
+ hero?: HomepageSectionCopyFields;
164
+ categoryPills?: HomepageSectionCopyFields;
165
+ newArrivals?: HomepageNewArrivalsSection;
166
+ newArrivalsClassic?: HomepageNewArrivalsSection;
167
+ promoCountdown?: HomepagePromoCountdownSection;
168
+ celebrityTrust?: HomepageSectionCopyFields;
169
+ luxeFavourites?: HomepageSectionCopyFields;
170
+ shopByCategory?: HomepageSectionCopyFields;
171
+ baptism?: HomepageSectionCopyFields;
172
+ baptismPicks?: HomepageBaptismPicksSection;
173
+ themeDresses?: HomepageSectionCopyFields;
174
+ brandMarquee?: HomepageSectionCopyFields;
175
+ aboutBrand?: HomepageAboutBrandSection;
176
+ testimonials?: HomepageTestimonialsSection;
177
+ brandPillars?: HomepageBrandPillarsSection;
178
+ instagramPosts?: HomepageInstagramPostsSection;
179
+ features?: HomepageFeaturesSection;
180
+ shopByAge?: HomepageSectionCopyFields;
181
+ whyChooseUs?: HomepageFeaturesSection;
182
+ lovedByMoms?: HomepageSectionCopyFields;
183
+ videoStories?: HomepageVideoStoriesSection;
184
+ blogPosts?: HomepageBlogPostsSection;
185
+ /** Allow kebab-case keys from legacy CMS */
186
+ [sectionKey: string]: HomepageSectionCopyFields | undefined;
187
+ };
188
+ export type HomepageBanner = {
189
+ "homepage-banner-image"?: string;
190
+ "homepage-banner-title"?: string;
191
+ "homepage-banner-subtitle"?: string;
192
+ "homepage-banner-description"?: string;
193
+ "homepage-banner-button-name"?: string;
194
+ "homepage-banner-button-link"?: string;
195
+ };
196
+ export type HomepageBannerEntry = {
197
+ "homepage-banner"?: HomepageBanner;
198
+ };
199
+ export type HomepageAppBanner = {
200
+ "app-banner-image"?: string;
201
+ "app-banner-title"?: string;
202
+ "app-banner-subtitle"?: string;
203
+ "app-banner-description"?: string;
204
+ "app-banner-button-name"?: string;
205
+ "app-banner-button-link"?: string;
206
+ "app-banner-link"?: string;
207
+ };
208
+ export type HomepageAppBannerEntry = {
209
+ "app-banner"?: HomepageAppBanner;
210
+ };
211
+ export type HomepageContactConfig = {
212
+ "contact-phone"?: string;
213
+ "contact-email"?: string;
214
+ "contact-address"?: string;
215
+ };
216
+ export type HomepageSocialLink = {
217
+ "social-platform-name"?: string;
218
+ "social-platform-icon"?: string;
219
+ "social-platform-url"?: string;
220
+ "social-link"?: HomepageSocialLink;
221
+ };
222
+ export type HomepagePromoBarConfig = {
223
+ "promo-text"?: string;
224
+ "promo-code"?: string;
225
+ "promo-value"?: string;
226
+ "promo-active"?: boolean;
227
+ };
228
+ export type HomepageFaqEntry = {
229
+ "faq-category"?: string;
230
+ "faq-question"?: string;
231
+ "faq-answer"?: string;
232
+ faq?: HomepageFaqEntry;
233
+ };
234
+ /**
235
+ * Root `homepage-config` object stored in Medusa dynamic config.
236
+ */
237
+ export type HomepageConfig = {
238
+ logo?: string;
239
+ "website-description"?: string;
240
+ website_description?: string;
241
+ /** Hero carousel — used by `hero` section (not `sections.hero`). */
242
+ "homepage-banner-array"?: HomepageBannerEntry[];
243
+ "app-banner-array"?: HomepageAppBannerEntry[];
244
+ /** Option 1 — central section copy + structured data (preferred). */
245
+ sections?: HomepageSectionsConfig;
246
+ /**
247
+ * Product reviews for testimonials carousel.
248
+ * Fallback when `sections.testimonials.items` is empty.
249
+ */
250
+ ratings?: HomepageRatingItem[];
251
+ /** Legacy top-level keys (still read; prefer `sections.*`). */
252
+ "promo-bar"?: HomepagePromoBarConfig;
253
+ "contact-us"?: HomepageContactConfig;
254
+ "social-links"?: HomepageSocialLink[];
255
+ "faq-array"?: HomepageFaqEntry[];
256
+ "why-choose-us-title"?: string;
257
+ "why-choose-us-features"?: HomepageFeatureItem[];
258
+ "about-brand"?: HomepageAboutBrandSection;
259
+ "who-we-are"?: HomepageAboutBrandSection;
260
+ "video-stories"?: HomepageVideoStoryEntry[];
261
+ "video-stories-array"?: HomepageVideoStoryEntry[];
262
+ video_stories?: HomepageVideoStoryEntry[];
263
+ "announcement-messages"?: string[];
264
+ "announcement-bar"?: string[];
265
+ };
266
+ /** Full dynamic config API response. */
267
+ export type DynamicConfigResponse = {
268
+ "homepage-config"?: HomepageConfig;
269
+ [key: string]: unknown;
270
+ };
271
+ /** All section ids with package defaults. */
272
+ export declare const HOMEPAGE_SECTION_IDS: readonly ["promoAnnouncements", "hero", "categoryPills", "newArrivals", "newArrivalsClassic", "promoCountdown", "celebrityTrust", "luxeFavourites", "shopByCategory", "baptism", "baptismPicks", "themeDresses", "brandMarquee", "aboutBrand", "testimonials", "brandPillars", "instagramPosts", "features", "shopByAge", "whyChooseUs", "lovedByMoms", "videoStories", "blogPosts"];
273
+ export type HomepageSectionId = (typeof HOMEPAGE_SECTION_IDS)[number];
274
+ //# sourceMappingURL=homepage-config.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage-config.types.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-config.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Medusa `GET /store/dynamic-config` → `homepage-config` shape.
3
+ * Used by the storefront and as the reference for backend admin JSON.
4
+ *
5
+ * Section keys: camelCase (preferred) or kebab-case (`new-arrivals` → `newArrivals`).
6
+ * Only fields you set override package defaults in `homepage-section-defaults.ts`.
7
+ */
8
+ /** All section ids with package defaults. */
9
+ export const HOMEPAGE_SECTION_IDS = [
10
+ "promoAnnouncements",
11
+ "hero",
12
+ "categoryPills",
13
+ "newArrivals",
14
+ "newArrivalsClassic",
15
+ "promoCountdown",
16
+ "celebrityTrust",
17
+ "luxeFavourites",
18
+ "shopByCategory",
19
+ "baptism",
20
+ "baptismPicks",
21
+ "themeDresses",
22
+ "brandMarquee",
23
+ "aboutBrand",
24
+ "testimonials",
25
+ "brandPillars",
26
+ "instagramPosts",
27
+ "features",
28
+ "shopByAge",
29
+ "whyChooseUs",
30
+ "lovedByMoms",
31
+ "videoStories",
32
+ "blogPosts",
33
+ ];
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Default `homepage-config.sections` blocks.
3
+ * Dynamic config overrides any field; unset fields keep these defaults.
4
+ */
5
+ export declare const DEFAULT_HOMEPAGE_SECTIONS: {
6
+ readonly promoAnnouncements: {
7
+ readonly messages: readonly ["Free shipping on orders over a threshold", "Worldwide shipping available", "Selected products available with customisation", "Need help choosing? Book a video call consultation"];
8
+ };
9
+ readonly hero: {};
10
+ readonly categoryPills: {};
11
+ readonly newArrivals: {
12
+ readonly title: "New Arrivals";
13
+ readonly subtitle: "Fresh styles just landed";
14
+ readonly variant: "grid";
15
+ };
16
+ readonly newArrivalsClassic: {
17
+ readonly title: "New Arrivals";
18
+ readonly subtitle: "Fresh styles just landed";
19
+ readonly variant: "classic";
20
+ };
21
+ readonly promoCountdown: {
22
+ readonly code: "SAVE50";
23
+ readonly text: "Up to 50% off — shop your favourites before they're gone!";
24
+ readonly "end-at": "2026-12-31T23:59:59.000Z";
25
+ readonly active: false;
26
+ readonly "cta-label": "Shop Offers";
27
+ readonly "cta-href": "/store";
28
+ };
29
+ readonly celebrityTrust: {
30
+ readonly title: "Trusted by Celebrities";
31
+ readonly text: "When the stars dress their little ones in our collections.";
32
+ };
33
+ readonly luxeFavourites: {
34
+ readonly title: "Luxe Favourites";
35
+ };
36
+ readonly shopByCategory: {
37
+ readonly title: "Shop By Categories";
38
+ readonly description: "Browse by style and occasion";
39
+ };
40
+ readonly baptism: {
41
+ readonly title: "Baptism";
42
+ };
43
+ readonly baptismPicks: {
44
+ readonly title: "Baptism Picks";
45
+ readonly looks: readonly [];
46
+ };
47
+ readonly themeDresses: {
48
+ readonly title: "Theme";
49
+ readonly description: "Dress her in a dreamy theme outfit for her birthday celebration";
50
+ };
51
+ readonly brandMarquee: {
52
+ readonly text: "est. 2012";
53
+ };
54
+ readonly aboutBrand: {
55
+ readonly eyebrow: "Who We Are";
56
+ readonly title: "Discover what makes us different";
57
+ readonly description: "We offer stylish, comfortable, and high-quality clothing for children, crafted for everyday wear and special occasions.";
58
+ readonly readMoreHref: "/about";
59
+ readonly stats: readonly [{
60
+ readonly label: "Visit us in store";
61
+ readonly value: "Find a location";
62
+ }, {
63
+ readonly label: "Happy customers";
64
+ readonly value: "150k+";
65
+ }, {
66
+ readonly label: "Products";
67
+ readonly value: "3000+";
68
+ }];
69
+ };
70
+ readonly testimonials: {
71
+ readonly title: "What Clients Talk About Us";
72
+ readonly description: "The Trust We've Earned";
73
+ readonly items: readonly [{
74
+ readonly text: "Amazing place if you are looking for a dress for ur little girl's special day. You can even get many aesthetic pics just from the shop because the interior of the shop is amazing too.. the dresses are customizable according to themes that you prefer. My little girl looked like a princess in her pink and white dress which I found within minutes entering the shop.";
75
+ readonly name: "Greeshma thottippal shanmughan";
76
+ }, {
77
+ readonly text: "I frequently buy dresses for my baby from this store and I am extremely satisfied with the purchase. The quality of the dresses was excellent, and it was perfect for special occasions like birthdays and celebrations.";
78
+ readonly name: "Priyanka Rajesh";
79
+ }, {
80
+ readonly text: "I recently bought an Onam outfit from this boutique and I'm so glad I did! The quality is excellent, and the design is beautiful. My daughter looked absolutely stunning in it.";
81
+ readonly name: "Riya Rilju";
82
+ }, {
83
+ readonly text: "I'm beyond happy with the beautiful baptism dress they made for my baby! The craftsmanship, attention to detail, and love put into every stitch truly show.";
84
+ readonly name: "Chinju anthony";
85
+ }, {
86
+ readonly text: "This is my third baby dress purchase from this store, and I'm still as impressed as ever! The dresses are absolutely adorable, and the sizing is perfect for my little one.";
87
+ readonly name: "Susmitha";
88
+ }];
89
+ };
90
+ readonly instagramPosts: {
91
+ readonly title: "Follow Us on Instagram";
92
+ readonly handle: "yourbrand";
93
+ readonly "profile-url": "https://www.instagram.com/yourbrand/";
94
+ readonly "profile-image": "/Logo.png";
95
+ readonly posts: readonly [];
96
+ };
97
+ readonly brandPillars: {
98
+ readonly title: "This approach resulted in the beautiful structure";
99
+ readonly pillars: readonly [{
100
+ readonly title: "Your favorite kids destination";
101
+ readonly description: "Trendy, high-quality outfits for little ones—pieces designed for comfort, celebration, and the memories you make together.";
102
+ readonly image: "/features/store.jpg";
103
+ }, {
104
+ readonly title: "Video call consultation";
105
+ readonly description: "Shop from home with our video call service. Our team shows styles in real-time and helps you pick the perfect outfits.";
106
+ readonly image: "/features/video.jpg";
107
+ }, {
108
+ readonly title: "Design Your Dream Outfit";
109
+ readonly description: "We customize colors, themes, and handwork to create a perfectly fitted outfit for your little one's special moments.";
110
+ readonly image: "/features/design.jpg";
111
+ }, {
112
+ readonly title: "Luxury Fabrics, Made for Kids";
113
+ readonly description: "We use premium, breathable fabrics so each outfit feels luxurious and comfortable all day.";
114
+ readonly image: "/features/fabric.jpg";
115
+ }];
116
+ };
117
+ readonly features: {
118
+ readonly title: "Why shop with us";
119
+ readonly description: "Secure checkout, fast delivery, and easy exchanges";
120
+ readonly features: readonly [{
121
+ readonly name: "100% Secure";
122
+ readonly icon: "/secure.svg";
123
+ }, {
124
+ readonly name: "Easy Exchanges";
125
+ readonly icon: "/exchnage.svg";
126
+ }, {
127
+ readonly name: "Fast Delivery";
128
+ readonly icon: "/fast.svg";
129
+ }, {
130
+ readonly name: "Cash On Delivery";
131
+ readonly icon: "/cash.svg";
132
+ }];
133
+ };
134
+ readonly whyChooseUs: {
135
+ readonly title: "Why Choose Us?";
136
+ readonly features: readonly [{
137
+ readonly "feature-name": "Premium Quality";
138
+ readonly "feature-icon": "/icons/quality.svg";
139
+ }, {
140
+ readonly "feature-name": "Easy Returns";
141
+ readonly "feature-icon": "/icons/returns.svg";
142
+ }, {
143
+ readonly "feature-name": "Fast Delivery";
144
+ readonly "feature-icon": "/icons/delivery.svg";
145
+ }, {
146
+ readonly "feature-name": "Secure Checkout";
147
+ readonly "feature-icon": "/icons/secure.svg";
148
+ }];
149
+ };
150
+ readonly lovedByMoms: {
151
+ readonly title: "Loved by Moms";
152
+ readonly description: "Top-rated styles loved by parents and kids alike.";
153
+ };
154
+ readonly shopByAge: {
155
+ readonly title: "Shop By Age";
156
+ };
157
+ readonly videoStories: {
158
+ readonly title: "Watch Stories & Reviews";
159
+ readonly "video-urls": readonly [];
160
+ };
161
+ readonly blogPosts: {
162
+ readonly title: "Blog posts";
163
+ readonly posts: readonly [{
164
+ readonly title: "Which Theme Dress Matches Her Vibe?";
165
+ readonly href: "/blog/theme-dress-vibe";
166
+ readonly category: "Theme Dress";
167
+ readonly date: "May 24, 2026";
168
+ }, {
169
+ readonly title: "How to Choose a Birthday Frock That Matches Your Party Theme";
170
+ readonly href: "/blog/birthday-frock-party-theme";
171
+ readonly category: "Birthday Dress";
172
+ readonly date: "May 14, 2026";
173
+ }, {
174
+ readonly title: "Beyond Pink: Trending Colors in Kid's Party Wear";
175
+ readonly href: "/blog/trending-party-wear-colors";
176
+ readonly category: "Girls Party Dresses";
177
+ readonly date: "Apr 30, 2026";
178
+ }, {
179
+ readonly title: "Wearable Wonders: 3D Hand-Embroidered Theme Dresses";
180
+ readonly href: "/blog/3d-hand-embroidered-dresses";
181
+ readonly category: "Birthday dress for Baby Girl";
182
+ readonly date: "Apr 25, 2026";
183
+ }];
184
+ };
185
+ };
186
+ export type DefaultHomeSectionId = keyof typeof DEFAULT_HOMEPAGE_SECTIONS;
187
+ export declare const HOME_SECTION_COPY_ID_LIST: DefaultHomeSectionId[];
188
+ //# sourceMappingURL=homepage-section-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage-section-defaults.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-section-defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4LsB,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAEzE,eAAO,MAAM,yBAAyB,EAEjC,oBAAoB,EAAE,CAAA"}