medusa-storefront-data 2.5.7 → 2.5.9

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 (38) hide show
  1. package/HOMEPAGE_CONFIG.md +23 -1
  2. package/dist/src/server/dynamic-config.d.ts +14 -0
  3. package/dist/src/server/dynamic-config.d.ts.map +1 -1
  4. package/dist/src/server/dynamic-config.js +95 -1
  5. package/dist/src/server/hero-banner-priority.d.ts +31 -0
  6. package/dist/src/server/hero-banner-priority.d.ts.map +1 -0
  7. package/dist/src/server/hero-banner-priority.js +26 -0
  8. package/dist/src/server/hero-banner-resolve.test.d.ts +2 -0
  9. package/dist/src/server/hero-banner-resolve.test.d.ts.map +1 -0
  10. package/dist/src/server/hero-banner-resolve.test.js +56 -0
  11. package/dist/src/server/hero-banners-config.test.d.ts +2 -0
  12. package/dist/src/server/hero-banners-config.test.d.ts.map +1 -0
  13. package/dist/src/server/hero-banners-config.test.js +44 -0
  14. package/dist/src/server/home-sections/customer-stories.d.ts +9 -0
  15. package/dist/src/server/home-sections/customer-stories.d.ts.map +1 -0
  16. package/dist/src/server/home-sections/customer-stories.js +9 -0
  17. package/dist/src/server/homepage-config.types.d.ts +16 -1
  18. package/dist/src/server/homepage-config.types.d.ts.map +1 -1
  19. package/dist/src/server/homepage-config.types.js +1 -0
  20. package/dist/src/server/homepage-section-defaults.d.ts +12 -0
  21. package/dist/src/server/homepage-section-defaults.d.ts.map +1 -1
  22. package/dist/src/server/homepage-section-defaults.js +2 -0
  23. package/dist/src/server/index.d.ts +1 -0
  24. package/dist/src/server/index.d.ts.map +1 -1
  25. package/dist/src/server/index.js +1 -0
  26. package/dist/src/server/page-input.d.ts +3 -1
  27. package/dist/src/server/page-input.d.ts.map +1 -1
  28. package/dist/src/server/page-input.js +88 -5
  29. package/dist/src/server/storefront-cms.d.ts +11 -0
  30. package/dist/src/server/storefront-cms.d.ts.map +1 -0
  31. package/dist/src/server/storefront-cms.js +24 -0
  32. package/package.json +29 -19
  33. package/src/server/dynamic-config.ts +141 -4
  34. package/src/server/hero-banner-priority.ts +63 -0
  35. package/src/server/home-sections/customer-stories.ts +23 -0
  36. package/src/server/homepage-config.types.ts +18 -0
  37. package/src/server/homepage-section-defaults.ts +2 -0
  38. package/src/server/page-input.ts +94 -5
@@ -166,7 +166,7 @@ Compose `options.configs` from `homepageSectionFields` or individual `*HomepageS
166
166
 
167
167
  Help page FAQs use **`helpFaqHomepageSectionField`** from `medusa-ui-home-config/sections/helpFaq` (also included in `homepageSectionFields`).
168
168
 
169
- **Split dynamic-config keys** (Medusa plugin): store FAQs under `faqs.helpFaq`; homepage sections under `homepage-sections.sections`. `homepageConfigFromDynamicResponse` assembles these automatically:
169
+ **Split dynamic-config keys** (Medusa plugin): store FAQs under `faqs.helpFaq`; homepage sections under `homepage-sections.sections`; hero slides under `hero-banners` (`homeBanners` / `appBanners` with `slide` rows). `homepageConfigFromDynamicResponse` assembles these automatically:
170
170
 
171
171
  ```json
172
172
  {
@@ -196,6 +196,28 @@ Help page FAQs use **`helpFaqHomepageSectionField`** from `medusa-ui-home-config
196
196
  }
197
197
  ```
198
198
 
199
+ **Hero banners** (`hero-banners`): each slide uses `image`, `title`, `subtitle`, `description`, `buttonText`, `buttonLink`. These map to `homepage-banner-array` / `app-banner-array` via `normalizeHomepageConfig` (same fields as `DynamicBanner`: title → eyebrow, subtitle → headline).
200
+
201
+ ```json
202
+ {
203
+ "hero-banners": {
204
+ "homeBanners": [
205
+ {
206
+ "slide": {
207
+ "image": "https://…",
208
+ "title": "BEST QUALITY",
209
+ "subtitle": "Electronics & Essentials",
210
+ "description": "…",
211
+ "buttonText": "Shop now",
212
+ "buttonLink": "/store"
213
+ }
214
+ }
215
+ ],
216
+ "appBanners": []
217
+ }
218
+ }
219
+ ```
220
+
199
221
  Legacy single `homepage-config` with `sections.helpFaq` (flat `items` or nested `category` / `faq` wrappers) still works. Legacy flat `faq-array` entries are grouped by `faq-category`.
200
222
 
201
223
  Storefront UI still imports from `medusa-ui-home/sections/<id>`.
@@ -4,6 +4,7 @@ import type { DynamicConfigResponse, HomepageConfig } from "./homepage-config.ty
4
4
  export { DEFAULT_PAGE_INPUT, mergePageInputWithDefaults, resolvePageInput, homepageConfigFromDynamicResponse, simplifiedHomepageConfigFromDynamicResponse, type StorefrontPageInput, } from "./page-input";
5
5
  export declare const getDynamicConfig: () => Promise<DynamicConfigResponse | null>;
6
6
  export declare function getLogoFromPageInput(pageInput?: HomepageConfig | null): string | null;
7
+ /** Normalized hero slide used by storefront UI (`getHomeBannersFromPageInput`). */
7
8
  export type HomepageBanner = {
8
9
  image?: string;
9
10
  title?: string;
@@ -79,6 +80,19 @@ export declare function getTestimonialsFromPageInput(pageInput?: HomepageConfig
79
80
  subtitle: string | null;
80
81
  testimonials: TestimonialItem[];
81
82
  };
83
+ export type CustomerStoryItem = {
84
+ id: string;
85
+ image: string;
86
+ text: string;
87
+ name: string;
88
+ rating?: number;
89
+ location?: string;
90
+ };
91
+ export declare function getCustomerStoriesFromPageInput(pageInput?: HomepageConfig | null): {
92
+ title: string;
93
+ eyebrow: string;
94
+ items: CustomerStoryItem[];
95
+ };
82
96
  export declare function getSocialLinksFromPageInput(pageInput?: HomepageConfig | null): Array<{
83
97
  name: string;
84
98
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-config.d.ts","sourceRoot":"","sources":["../../../src/server/dynamic-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-config.d.ts","sourceRoot":"","sources":["../../../src/server/dynamic-config.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { cache } from "react";
3
3
  import { getAuthHeaders } from "../cookies";
4
4
  import { DEFAULT_HOMEPAGE_SECTIONS, HOME_SECTION_COPY_ID_LIST, } from "./homepage-section-defaults";
5
5
  import { mergeSectionBlock } from "./config-merge";
6
- import { resolvePageInput } from "./page-input";
6
+ import { resolvePageInput, } from "./page-input";
7
7
  export { DEFAULT_PAGE_INPUT, mergePageInputWithDefaults, resolvePageInput, homepageConfigFromDynamicResponse, simplifiedHomepageConfigFromDynamicResponse, } from "./page-input";
8
8
  export const getDynamicConfig = cache(async () => {
9
9
  try {
@@ -350,6 +350,100 @@ export function getTestimonialsFromPageInput(pageInput) {
350
350
  }
351
351
  return { title, subtitle, testimonials };
352
352
  }
353
+ function parseCustomerStoryRow(item, index) {
354
+ if (!item || typeof item !== "object")
355
+ return null;
356
+ const row = item.story ??
357
+ item.review ??
358
+ item;
359
+ const r = row;
360
+ const text = String(r.text ?? r["review-description"] ?? r.description ?? r.quote ?? "").trim();
361
+ const name = String(r.name ??
362
+ r["review-user-name"] ??
363
+ r["user-name"] ??
364
+ r.user_name ??
365
+ r.author ??
366
+ "").trim();
367
+ const image = String(r.image ??
368
+ r["review-profile-image"] ??
369
+ r["profile-image"] ??
370
+ r.profile_image ??
371
+ "").trim();
372
+ /** Quote + name required; image optional (admin Ratings often has no photo). */
373
+ if (!text || !name)
374
+ return null;
375
+ const ratingRaw = r.rating ?? r["review-rating"];
376
+ const rating = ratingRaw != null && ratingRaw !== ""
377
+ ? parseFloat(String(ratingRaw))
378
+ : undefined;
379
+ const location = String(r.location ?? "").trim();
380
+ return {
381
+ id: String(r.id ?? `${name.toLowerCase().replace(/[^a-z0-9]+/g, "-")}-${index + 1}`),
382
+ image: image || "/Logo.png",
383
+ text,
384
+ name,
385
+ rating: Number.isFinite(rating) ? Math.max(0, Math.min(5, rating)) : undefined,
386
+ location: location || undefined,
387
+ };
388
+ }
389
+ function parseCustomerStoriesFromBlock(block) {
390
+ const raw = block.items ??
391
+ block.stories ??
392
+ block.reviews ??
393
+ block["customer-stories"] ??
394
+ [];
395
+ if (!Array.isArray(raw))
396
+ return [];
397
+ return raw
398
+ .map((item, index) => parseCustomerStoryRow(item, index))
399
+ .filter((row) => row !== null);
400
+ }
401
+ function parseCustomerStoriesFromRatings(ratings) {
402
+ if (!Array.isArray(ratings))
403
+ return [];
404
+ return ratings
405
+ .map((item, index) => parseCustomerStoryRow(item, index))
406
+ .filter((row) => row !== null);
407
+ }
408
+ function getHomepageRatingsArray(pageInput) {
409
+ const resolved = resolvePageInput(pageInput);
410
+ const fromResolved = resolved["ratings"];
411
+ if (Array.isArray(fromResolved) && fromResolved.length > 0) {
412
+ return fromResolved;
413
+ }
414
+ const fromOverride = pageInput?.["ratings"];
415
+ if (Array.isArray(fromOverride) && fromOverride.length > 0) {
416
+ return fromOverride;
417
+ }
418
+ return [];
419
+ }
420
+ export function getCustomerStoriesFromPageInput(pageInput) {
421
+ const homepageConfig = resolvePageInput(pageInput);
422
+ const block = getMergedSectionBlock("customerStories", pageInput);
423
+ const copy = parseSectionCopy(block);
424
+ const ratingTitle = String(homepageConfig["rating-title"] ?? "").trim();
425
+ const title = copy.title ?? copy.name ?? ratingTitle;
426
+ const eyebrow = copy.eyebrow ?? "";
427
+ const defaults = DEFAULT_HOMEPAGE_SECTIONS.customerStories;
428
+ /** Admin "Ratings" (`homepage-config.ratings[].review`) — always before merged section defaults. */
429
+ const ratingsItems = parseCustomerStoriesFromRatings(getHomepageRatingsArray(pageInput));
430
+ /** CMS `sections.customerStories` only (no package default stories mixed in). */
431
+ const cmsSectionBlock = findSectionBlock(getHomepageSectionsRoot(pageInput), "customerStories") ?? {};
432
+ const sectionItems = parseCustomerStoriesFromBlock(cmsSectionBlock);
433
+ let items = ratingsItems.length > 0
434
+ ? ratingsItems
435
+ : sectionItems.length > 0
436
+ ? sectionItems
437
+ : parseCustomerStoriesFromBlock(block);
438
+ if (items.length === 0) {
439
+ items = parseCustomerStoriesFromBlock(defaults);
440
+ }
441
+ return {
442
+ title: title || String(defaults.title ?? "Customer Stories"),
443
+ eyebrow: eyebrow || String(defaults.eyebrow ?? "WHAT PARENTS SAY"),
444
+ items,
445
+ };
446
+ }
353
447
  export function getSocialLinksFromPageInput(pageInput) {
354
448
  const config = resolvePageInput(pageInput);
355
449
  const socialLinksRaw = config["social-links"] || [];
@@ -0,0 +1,31 @@
1
+ /** Simplified banner shape used by hero sections (not legacy kebab-case CMS keys). */
2
+ export type HomepageBanner = {
3
+ image?: string;
4
+ title?: string;
5
+ subtitle?: string;
6
+ description?: string;
7
+ buttonName?: string;
8
+ buttonLink?: string;
9
+ };
10
+ export type ThemeHeroBannerFallbacks = {
11
+ home: HomepageBanner;
12
+ app: HomepageBanner;
13
+ };
14
+ export type HeroBannerSource = "dynamic-config" | "theme-copy" | "library-default";
15
+ export type ResolvedHeroBanners = {
16
+ homeBanners: HomepageBanner[];
17
+ appBanners: HomepageBanner[];
18
+ homeSource: HeroBannerSource;
19
+ appSource: HeroBannerSource;
20
+ };
21
+ export declare function hasBannerData(banner: HomepageBanner | null | undefined): boolean;
22
+ /**
23
+ * Whole-banner priority (not per-field):
24
+ * 1. dynamic-config 2. theme copy.ts 3. package library defaults
25
+ */
26
+ export declare function pickHeroBannerBySource(cms: HomepageBanner | null | undefined, theme: HomepageBanner, library: HomepageBanner): {
27
+ banner: HomepageBanner;
28
+ source: HeroBannerSource;
29
+ };
30
+ export declare function resolveHeroBannerWithPriority(cms: HomepageBanner | null | undefined, theme: HomepageBanner, library: HomepageBanner): HomepageBanner;
31
+ //# sourceMappingURL=hero-banner-priority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-banner-priority.d.ts","sourceRoot":"","sources":["../../../src/server/hero-banner-priority.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,SAAS,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GACxC,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,cAAc,GACtB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAQtD;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,cAAc,GACtB,cAAc,CAEhB"}
@@ -0,0 +1,26 @@
1
+ export function hasBannerData(banner) {
2
+ if (!banner)
3
+ return false;
4
+ return Boolean(banner.image?.trim() ||
5
+ banner.title?.trim() ||
6
+ banner.subtitle?.trim() ||
7
+ banner.description?.trim() ||
8
+ banner.buttonName?.trim() ||
9
+ banner.buttonLink?.trim());
10
+ }
11
+ /**
12
+ * Whole-banner priority (not per-field):
13
+ * 1. dynamic-config 2. theme copy.ts 3. package library defaults
14
+ */
15
+ export function pickHeroBannerBySource(cms, theme, library) {
16
+ if (cms && hasBannerData(cms)) {
17
+ return { banner: cms, source: "dynamic-config" };
18
+ }
19
+ if (hasBannerData(theme)) {
20
+ return { banner: theme, source: "theme-copy" };
21
+ }
22
+ return { banner: library, source: "library-default" };
23
+ }
24
+ export function resolveHeroBannerWithPriority(cms, theme, library) {
25
+ return pickHeroBannerBySource(cms, theme, library).banner;
26
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hero-banner-resolve.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-banner-resolve.test.d.ts","sourceRoot":"","sources":["../../../src/server/hero-banner-resolve.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { pickHeroBannerBySource } from "./hero-banner-priority";
3
+ import { parseHeroBannersFromDynamicConfig } from "./page-input";
4
+ const themeHome = {
5
+ image: "/theme.png",
6
+ title: "Theme title",
7
+ subtitle: "Theme subtitle",
8
+ };
9
+ const libraryHome = {
10
+ image: "/library.png",
11
+ title: "Library title",
12
+ subtitle: "Library subtitle",
13
+ };
14
+ const cases = [
15
+ {
16
+ name: "parseHeroBannersFromDynamicConfig reads hero-banners",
17
+ run: () => {
18
+ const parsed = parseHeroBannersFromDynamicConfig({
19
+ "hero-banners": {
20
+ homeBanners: [
21
+ {
22
+ slide: {
23
+ image: "https://cdn/cms.jpg",
24
+ title: "CMS title",
25
+ subtitle: "CMS subtitle",
26
+ },
27
+ },
28
+ ],
29
+ },
30
+ });
31
+ expect(parsed.home[0]?.title).toBe("CMS title");
32
+ },
33
+ },
34
+ {
35
+ name: "pickHeroBannerBySource prefers dynamic-config",
36
+ run: () => {
37
+ const cms = { image: "https://cdn/cms.jpg", title: "CMS title" };
38
+ const picked = pickHeroBannerBySource(cms, themeHome, libraryHome);
39
+ expect(picked.source).toBe("dynamic-config");
40
+ expect(picked.banner.title).toBe("CMS title");
41
+ },
42
+ },
43
+ {
44
+ name: "pickHeroBannerBySource falls back to theme when CMS empty",
45
+ run: () => {
46
+ const picked = pickHeroBannerBySource(null, themeHome, libraryHome);
47
+ expect(picked.source).toBe("theme-copy");
48
+ expect(picked.banner.image).toBe("/theme.png");
49
+ },
50
+ },
51
+ ];
52
+ describe("hero banner priority", () => {
53
+ for (const { name, run } of cases) {
54
+ it(name, run);
55
+ }
56
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hero-banners-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-banners-config.test.d.ts","sourceRoot":"","sources":["../../../src/server/hero-banners-config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { describe, it } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { homepageConfigFromDynamicResponseNormalized } from "./page-input.js";
4
+ const cases = [
5
+ {
6
+ name: "maps hero-banners.homeBanners slide into homepage-banner-array",
7
+ response: {
8
+ "hero-banners": {
9
+ homeBanners: [
10
+ {
11
+ slide: {
12
+ image: "https://cdn.example/hero.jpg",
13
+ title: "Eyebrow",
14
+ subtitle: "Headline",
15
+ buttonText: "Shop",
16
+ buttonLink: "/store",
17
+ },
18
+ },
19
+ ],
20
+ appBanners: [],
21
+ },
22
+ },
23
+ expectedImage: "https://cdn.example/hero.jpg",
24
+ expectedTitle: "Eyebrow",
25
+ },
26
+ {
27
+ name: "leaves homepage-banner-array empty when hero-banners is missing",
28
+ response: {},
29
+ },
30
+ ];
31
+ describe("hero-banners dynamic-config", () => {
32
+ for (const { name, response, expectedImage, expectedTitle } of cases) {
33
+ it(name, () => {
34
+ const config = homepageConfigFromDynamicResponseNormalized(response);
35
+ const banner = config["homepage-banner-array"]?.[0]?.["homepage-banner"];
36
+ if (!expectedImage) {
37
+ assert.equal(config["homepage-banner-array"]?.length ?? 0, 0);
38
+ return;
39
+ }
40
+ assert.equal(banner?.["homepage-banner-image"], expectedImage);
41
+ assert.equal(banner?.["homepage-banner-title"], expectedTitle);
42
+ });
43
+ }
44
+ });
@@ -0,0 +1,9 @@
1
+ import "server-only";
2
+ import { getCustomerStoriesFromPageInput, getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
+ import type { SectionLoaderOptions } from "./shared";
4
+ export type CustomerStoriesSectionData = {
5
+ customerStories: ReturnType<typeof getCustomerStoriesFromPageInput>;
6
+ copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["customerStories"];
7
+ };
8
+ export declare function loadCustomerStoriesSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<CustomerStoriesSectionData>;
9
+ //# sourceMappingURL=customer-stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-stories.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/customer-stories.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAA;IACnE,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,CAAA;CAC7E,CAAA;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,0BAA0B,CAAC,CAMrC"}
@@ -0,0 +1,9 @@
1
+ import "server-only";
2
+ import { getCustomerStoriesFromPageInput, getHomeSectionsCopyFromPageInput, } from "../dynamic-config";
3
+ export async function loadCustomerStoriesSectionData(_countryCode, options) {
4
+ const pageInput = options?.pageInput ?? null;
5
+ return {
6
+ customerStories: getCustomerStoriesFromPageInput(pageInput),
7
+ copy: getHomeSectionsCopyFromPageInput(pageInput).customerStories,
8
+ };
9
+ }
@@ -187,6 +187,20 @@ export type HomepageVideoStoriesSection = HomepageSectionCopyFields & {
187
187
  videos?: HomepageVideoStoryEntry[];
188
188
  "video-stories"?: HomepageVideoStoryEntry[];
189
189
  };
190
+ export type HomepageCustomerStoryItem = {
191
+ id?: string;
192
+ image?: string;
193
+ text?: string;
194
+ name?: string;
195
+ rating?: number | string;
196
+ location?: string;
197
+ story?: HomepageCustomerStoryItem;
198
+ review?: HomepageCustomerStoryItem;
199
+ };
200
+ export type HomepageCustomerStoriesSection = HomepageSectionCopyFields & {
201
+ items?: HomepageCustomerStoryItem[];
202
+ stories?: HomepageCustomerStoryItem[];
203
+ };
190
204
  /** Per-section blocks under `homepage-config.sections`. */
191
205
  export type HomepageSectionsConfig = {
192
206
  promoAnnouncements?: HomepagePromoAnnouncementsSection;
@@ -203,6 +217,7 @@ export type HomepageSectionsConfig = {
203
217
  themeDresses?: HomepageSectionCopyFields;
204
218
  brandMarquee?: HomepageSectionCopyFields;
205
219
  aboutBrand?: HomepageAboutBrandSection;
220
+ customerStories?: HomepageCustomerStoriesSection;
206
221
  testimonials?: HomepageTestimonialsSection;
207
222
  brandPillars?: HomepageBrandPillarsSection;
208
223
  instagramPosts?: HomepageInstagramPostsSection;
@@ -385,6 +400,6 @@ export type DynamicConfigResponse = {
385
400
  [key: string]: unknown;
386
401
  };
387
402
  /** All section ids with package defaults. */
388
- 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", "helpFaq"];
403
+ export declare const HOMEPAGE_SECTION_IDS: readonly ["promoAnnouncements", "hero", "categoryPills", "newArrivals", "newArrivalsClassic", "promoCountdown", "celebrityTrust", "luxeFavourites", "shopByCategory", "baptism", "baptismPicks", "themeDresses", "brandMarquee", "aboutBrand", "customerStories", "testimonials", "brandPillars", "instagramPosts", "features", "shopByAge", "whyChooseUs", "lovedByMoms", "videoStories", "blogPosts", "helpFaq"];
389
404
  export type HomepageSectionId = (typeof HOMEPAGE_SECTION_IDS)[number];
390
405
  //# sourceMappingURL=homepage-config.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"homepage-config.types.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-config.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homepage-config.types.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-config.types.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export const HOMEPAGE_SECTION_IDS = [
21
21
  "themeDresses",
22
22
  "brandMarquee",
23
23
  "aboutBrand",
24
+ "customerStories",
24
25
  "testimonials",
25
26
  "brandPillars",
26
27
  "instagramPosts",
@@ -67,6 +67,18 @@ export declare const DEFAULT_HOMEPAGE_SECTIONS: {
67
67
  readonly value: "3000+";
68
68
  }];
69
69
  };
70
+ readonly customerStories: {
71
+ eyebrow: string;
72
+ title: string;
73
+ items: {
74
+ id: string;
75
+ image: string;
76
+ text: string;
77
+ name: string;
78
+ location: string;
79
+ rating: number;
80
+ }[];
81
+ };
70
82
  readonly testimonials: {
71
83
  readonly title: "What Clients Talk About Us";
72
84
  readonly description: "The Trust We've Earned";
@@ -1 +1 @@
1
- {"version":3,"file":"homepage-section-defaults.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-section-defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA+JR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CA8BO,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAEzE,eAAO,MAAM,yBAAyB,EAEjC,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"homepage-section-defaults.d.ts","sourceRoot":"","sources":["../../../src/server/homepage-section-defaults.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgKR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CA8BO,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAEzE,eAAO,MAAM,yBAAyB,EAEjC,oBAAoB,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import helpFaqDefaults from "./help-faq-section-defaults.json";
2
+ import { customerStoriesSectionDefaults } from "medusa-ui-home-config/sections/customerStories";
2
3
  /**
3
4
  * Default `homepage-config.sections` blocks.
4
5
  * Dynamic config overrides any field; unset fields keep these defaults.
@@ -68,6 +69,7 @@ export const DEFAULT_HOMEPAGE_SECTIONS = {
68
69
  { label: "Products", value: "3000+" },
69
70
  ],
70
71
  },
72
+ customerStories: customerStoriesSectionDefaults,
71
73
  testimonials: {
72
74
  title: "What Clients Talk About Us",
73
75
  description: "The Trust We've Earned",
@@ -22,4 +22,5 @@ export * from "./variants";
22
22
  export * from "./wishlist";
23
23
  export * from "./home";
24
24
  export * from "./shoppable-looks";
25
+ export * from "./storefront-cms";
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
@@ -22,3 +22,4 @@ export * from "./variants";
22
22
  export * from "./wishlist";
23
23
  export * from "./home";
24
24
  export * from "./shoppable-looks";
25
+ export * from "./storefront-cms";
@@ -15,9 +15,11 @@ export declare function resolvePageInput(pageInput?: HomepageConfig | null): Sto
15
15
  * → simplified `{ site, sections }` for {@link normalizeHomepageConfig}.
16
16
  */
17
17
  export declare function simplifiedHomepageConfigFromDynamicResponse(response: DynamicConfigResponse | null | undefined): HomepageConfig | null;
18
+ /** CMS-only homepage config (no package JSON defaults). */
19
+ export declare function homepageConfigFromDynamicResponseNormalized(response: DynamicConfigResponse | null | undefined): HomepageConfig;
18
20
  /**
19
21
  * Build `homepage-config` from Medusa `GET /store/dynamic-config` (main project only).
20
- * Supports legacy `homepage-config` or split plugin keys.
22
+ * Supports legacy `homepage-config`, split plugin keys, and `hero-banners`.
21
23
  */
22
24
  export declare function homepageConfigFromDynamicResponse(response: DynamicConfigResponse | null | undefined): StorefrontPageInput;
23
25
  //# sourceMappingURL=page-input.d.ts.map
@@ -1 +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,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAA;AAUhC,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;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GACjD,cAAc,GAAG,IAAI,CAkCvB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GACjD,mBAAmB,CAMrB"}
1
+ {"version":3,"file":"page-input.d.ts","sourceRoot":"","sources":["../../../src/server/page-input.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAGpB,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAA;AA2FhC,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;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GACjD,cAAc,GAAG,IAAI,CAkCvB;AAED,2DAA2D;AAC3D,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GACjD,cAAc,CAMhB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GACjD,mBAAmB,CAGrB"}