@riverbankcms/sdk 0.77.0 → 0.77.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +2 -2
  2. package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
  3. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +40 -30
  5. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
  6. package/dist/_dts/blocks/src/index.d.ts +2 -2
  7. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
  8. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
  9. package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
  10. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
  11. package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
  12. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  13. package/dist/_dts/sdk/src/version.d.ts +1 -1
  14. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  15. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -27
  16. package/dist/_dts/theme-core/src/schema.d.ts +26 -30
  17. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +1 -1
  18. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
  19. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +63 -33
  20. package/dist/{chunk-EAWHBECW.mjs → chunk-2SPENC5M.mjs} +5 -5
  21. package/dist/{chunk-GSQX43EZ.mjs → chunk-IENWFSLO.mjs} +22 -41
  22. package/dist/{chunk-WLQBJN2Z.mjs → chunk-KWJPDZH2.mjs} +1815 -1338
  23. package/dist/{chunk-ANKDYZ2E.mjs → chunk-ZYEJLCTN.mjs} +1 -1
  24. package/dist/cli/index.mjs +381 -176
  25. package/dist/client/client.mjs +1574 -1252
  26. package/dist/client/hooks.mjs +369 -170
  27. package/dist/client/rendering.mjs +1588 -1257
  28. package/dist/preview-next/client/runtime.mjs +3 -3
  29. package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-6UT2S7KZ.mjs} +4 -4
  30. package/dist/server/components.mjs +1561 -1239
  31. package/dist/server/config-validation.mjs +369 -170
  32. package/dist/server/config.mjs +369 -170
  33. package/dist/server/data.mjs +369 -170
  34. package/dist/server/index.mjs +1 -1
  35. package/dist/server/next.mjs +1547 -1234
  36. package/dist/server/page-converter.mjs +362 -165
  37. package/dist/server/prebuild.mjs +1 -1
  38. package/dist/server/rendering/server.mjs +1561 -1239
  39. package/dist/server/rendering.mjs +1561 -1239
  40. package/dist/server/routing.mjs +370 -171
  41. package/dist/server/server.mjs +370 -171
  42. package/dist/server/theme-bridge.mjs +1156 -1035
  43. package/dist/server/theme.mjs +79 -11
  44. package/dist/styles/index.css +1081 -1028
  45. package/package.json +1 -1
  46. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
@@ -11149,8 +11149,19 @@ var init_schema3 = __esm({
11149
11149
  colorToken: themeColorTokenSchema.nullable().optional()
11150
11150
  });
11151
11151
  proseLinkUnderlineStyleSchema = z24.enum(["solid", "dotted", "dashed"]);
11152
- proseLinkUnderlineThicknessSchema = z24.enum(["auto", "fromFont", "thin", "medium", "thick"]);
11153
- proseLinkUnderlineOffsetSchema = z24.enum(["auto", "tight", "normal", "loose"]);
11152
+ proseLinkUnderlineThicknessSchema = z24.enum([
11153
+ "auto",
11154
+ "fromFont",
11155
+ "thin",
11156
+ "medium",
11157
+ "thick"
11158
+ ]);
11159
+ proseLinkUnderlineOffsetSchema = z24.enum([
11160
+ "auto",
11161
+ "tight",
11162
+ "normal",
11163
+ "loose"
11164
+ ]);
11154
11165
  proseLinkStyleSchema = z24.object({
11155
11166
  colorToken: themeColorTokenSchema.optional(),
11156
11167
  hoverColorToken: themeColorTokenSchema.optional(),
@@ -11161,7 +11172,14 @@ var init_schema3 = __esm({
11161
11172
  underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
11162
11173
  underlineOffset: proseLinkUnderlineOffsetSchema.optional()
11163
11174
  });
11164
- semanticSpacingSchema = z24.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
11175
+ semanticSpacingSchema = z24.enum([
11176
+ "none",
11177
+ "compact",
11178
+ "cozy",
11179
+ "medium",
11180
+ "comfortable",
11181
+ "spacious"
11182
+ ]);
11165
11183
  boxRoundedSchema = z24.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
11166
11184
  boxBackgroundOverlaySchema = z24.object({
11167
11185
  type: z24.enum(["none", "color", "gradient"]).nullable().optional(),
@@ -11305,9 +11323,17 @@ var init_schema3 = __esm({
11305
11323
  focus: z24.enum(["glow", "ring", "underline"]),
11306
11324
  label: z24.enum(["inside", "above"])
11307
11325
  });
11308
- headerVariant = z24.enum(["classic", "centered", "transparent", "floating", "editorial"]);
11326
+ headerVariant = z24.enum(["classic", "centered", "transparent", "floating"]);
11309
11327
  headerPositioning = z24.enum(["static", "sticky", "fixed"]);
11310
- headerNavStyle = z24.enum(["minimal", "underline", "underline-grow", "capsule", "scale", "frosted", "solid"]);
11328
+ headerNavStyle = z24.enum([
11329
+ "minimal",
11330
+ "underline",
11331
+ "underline-grow",
11332
+ "capsule",
11333
+ "scale",
11334
+ "frosted",
11335
+ "solid"
11336
+ ]);
11311
11337
  navFontWeight = z24.enum(["regular", "medium", "semibold", "bold"]);
11312
11338
  headerMaxWidth = z24.enum(["container", "full"]);
11313
11339
  headerContainerSchema = z24.object({
@@ -11355,8 +11381,22 @@ var init_schema3 = __esm({
11355
11381
  textSize: z24.enum(["xs", "sm", "base", "lg"]).optional()
11356
11382
  // optional = no override (browser default)
11357
11383
  }).optional();
11358
- headerCtaGapSchema = z24.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
11359
- headerCtaTreatmentSchema = z24.enum(["default", "primary", "secondary", "inverted", "outline", "ghost"]);
11384
+ headerCtaGapSchema = z24.enum([
11385
+ "none",
11386
+ "tight",
11387
+ "compact",
11388
+ "default",
11389
+ "relaxed",
11390
+ "spacious"
11391
+ ]);
11392
+ headerCtaTreatmentSchema = z24.enum([
11393
+ "default",
11394
+ "primary",
11395
+ "secondary",
11396
+ "inverted",
11397
+ "outline",
11398
+ "ghost"
11399
+ ]);
11360
11400
  navContainerSchema = z24.object({
11361
11401
  type: z24.enum(["none", "pill", "glass"]).default("none"),
11362
11402
  tint: z24.string().nullable().optional(),
@@ -11411,7 +11451,14 @@ var init_schema3 = __esm({
11411
11451
  footerMode = z24.enum(["default", "blocks", "default+blocks", "none"]);
11412
11452
  footerNavLayoutMode = z24.enum(["stack", "inline", "inline-wrap"]);
11413
11453
  footerNavLayoutAlign = z24.enum(["start", "center", "end", "space-between"]);
11414
- footerSpacing = z24.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
11454
+ footerSpacing = z24.enum([
11455
+ "none",
11456
+ "tight",
11457
+ "compact",
11458
+ "default",
11459
+ "relaxed",
11460
+ "spacious"
11461
+ ]);
11415
11462
  footerLogoPlacement = z24.enum(["left", "right", "above", "below"]);
11416
11463
  footerLogoSize = z24.enum(["sm", "md", "lg", "xl"]);
11417
11464
  footerLogoMaxHeight = z24.enum(["sm", "md", "lg", "xl"]);
@@ -11476,7 +11523,12 @@ var init_schema3 = __esm({
11476
11523
  logo: footerLogoSchema.optional(),
11477
11524
  bottomBar: footerBottomBarSchema.optional()
11478
11525
  });
11479
- containerPaddingPresetSchema = z24.enum(["tight", "compact", "default", "relaxed"]);
11526
+ containerPaddingPresetSchema = z24.enum([
11527
+ "tight",
11528
+ "compact",
11529
+ "default",
11530
+ "relaxed"
11531
+ ]);
11480
11532
  layoutSchema = z24.object({
11481
11533
  containerPadding: z24.object({
11482
11534
  mobile: containerPaddingPresetSchema.optional(),
@@ -11484,8 +11536,24 @@ var init_schema3 = __esm({
11484
11536
  desktop: containerPaddingPresetSchema.optional()
11485
11537
  }).optional()
11486
11538
  }).optional();
11487
- heroTypographySizeSchema = z24.enum(["sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "editorial"]);
11488
- heroTypographyLineHeightSchema = z24.enum(["tight", "snug", "normal", "relaxed"]);
11539
+ heroTypographySizeSchema = z24.enum([
11540
+ "sm",
11541
+ "base",
11542
+ "lg",
11543
+ "xl",
11544
+ "2xl",
11545
+ "3xl",
11546
+ "4xl",
11547
+ "5xl",
11548
+ "6xl",
11549
+ "editorial"
11550
+ ]);
11551
+ heroTypographyLineHeightSchema = z24.enum([
11552
+ "tight",
11553
+ "snug",
11554
+ "normal",
11555
+ "relaxed"
11556
+ ]);
11489
11557
  heroResponsiveTypographySchema = z24.object({
11490
11558
  headlineSize: heroTypographySizeSchema.optional(),
11491
11559
  headlineLineHeight: heroTypographyLineHeightSchema.optional(),
@@ -12100,10 +12168,12 @@ function resolveLegacyHeaderLookAlias(lookId) {
12100
12168
  return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
12101
12169
  }
12102
12170
  function getCompatibleHeaderStyleIds(layoutId) {
12103
- return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
12104
- const style = getHeaderStyleOrThrow(styleId);
12105
- return isHeaderStyleCompatibleWithLayout(style, layoutId);
12106
- });
12171
+ return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
12172
+ (styleId) => {
12173
+ const style = getHeaderStyleOrThrow(styleId);
12174
+ return isHeaderStyleCompatibleWithLayout(style, layoutId);
12175
+ }
12176
+ );
12107
12177
  }
12108
12178
  function solidBrandHeader(theme) {
12109
12179
  const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
@@ -12134,8 +12204,14 @@ function solidBrandHeader(theme) {
12134
12204
  borderRadius: "none",
12135
12205
  effects: {
12136
12206
  hover: [
12137
- { effectId: "text-color-change", options: { hoverColorToken: "secondary" } },
12138
- { effectId: "nav-underline", options: { style: "grow", colorToken: "secondary" } }
12207
+ {
12208
+ effectId: "text-color-change",
12209
+ options: { hoverColorToken: "secondary" }
12210
+ },
12211
+ {
12212
+ effectId: "nav-underline",
12213
+ options: { style: "grow", colorToken: "secondary" }
12214
+ }
12139
12215
  ]
12140
12216
  }
12141
12217
  },
@@ -12191,10 +12267,10 @@ function cleanBaseHeader(theme) {
12191
12267
  ctaGap: "default"
12192
12268
  };
12193
12269
  }
12194
- function editorialLineHeader(theme) {
12270
+ function serifLineHeader(theme) {
12195
12271
  return {
12196
12272
  ...baseHeader(theme),
12197
- variant: "editorial",
12273
+ variant: "centered",
12198
12274
  positioning: "sticky",
12199
12275
  shrinkOnScroll: false,
12200
12276
  background: {
@@ -12366,16 +12442,6 @@ var init_headerLooks = __esm({
12366
12442
  maxRecommendedNavItems: 5,
12367
12443
  allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
12368
12444
  },
12369
- {
12370
- id: asHeaderLayoutId("editorial"),
12371
- label: "Editorial",
12372
- description: "A composed, magazine-like stacked header treatment.",
12373
- structure: "editorial-stack",
12374
- variant: "editorial",
12375
- defaultPositioning: "static",
12376
- shrinkOnScroll: false,
12377
- maxRecommendedNavItems: 6
12378
- },
12379
12445
  {
12380
12446
  id: asHeaderLayoutId("floating"),
12381
12447
  label: "Floating",
@@ -12393,17 +12459,19 @@ var init_headerLooks = __esm({
12393
12459
  id: asHeaderStyleId("minimal"),
12394
12460
  label: "Minimal",
12395
12461
  description: "Quiet surface with simple color-change navigation.",
12396
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
12462
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12397
12463
  navInteraction: "color-change",
12398
- surface: "neutral"
12464
+ surface: "neutral",
12465
+ navTypography: "plain"
12399
12466
  },
12400
12467
  {
12401
12468
  id: asHeaderStyleId("fine-line"),
12402
12469
  label: "Fine Line",
12403
12470
  description: "Light surface with a crisp lower rule and underline hover.",
12404
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
12471
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12405
12472
  navInteraction: "underline-grow",
12406
- surface: "bordered"
12473
+ surface: "bordered",
12474
+ navTypography: "plain"
12407
12475
  },
12408
12476
  {
12409
12477
  id: asHeaderStyleId("soft-bar"),
@@ -12411,7 +12479,8 @@ var init_headerLooks = __esm({
12411
12479
  description: "Soft tinted surface with gentle pill hover states.",
12412
12480
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12413
12481
  navInteraction: "pill-background",
12414
- surface: "soft"
12482
+ surface: "soft",
12483
+ navTypography: "plain"
12415
12484
  },
12416
12485
  {
12417
12486
  id: asHeaderStyleId("pill-nav"),
@@ -12419,23 +12488,26 @@ var init_headerLooks = __esm({
12419
12488
  description: "A calm pill navigation rail over a neutral header.",
12420
12489
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12421
12490
  navInteraction: "pill-background",
12422
- surface: "soft"
12491
+ surface: "soft",
12492
+ navTypography: "plain"
12423
12493
  },
12424
12494
  {
12425
12495
  id: asHeaderStyleId("brand-bar"),
12426
12496
  label: "Brand Bar",
12427
12497
  description: "Solid brand surface with high-contrast navigation.",
12428
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
12498
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12429
12499
  navInteraction: "color-change",
12430
- surface: "brand-solid"
12500
+ surface: "brand-solid",
12501
+ navTypography: "brand-caps"
12431
12502
  },
12432
12503
  {
12433
12504
  id: asHeaderStyleId("brand-underline"),
12434
12505
  label: "Brand Underline",
12435
12506
  description: "Brand surface with underline-grow navigation.",
12436
- supportedLayoutIds: supportedLayouts(["classic", "editorial"]),
12507
+ supportedLayoutIds: supportedLayouts(["classic"]),
12437
12508
  navInteraction: "underline-grow",
12438
- surface: "brand-solid"
12509
+ surface: "brand-solid",
12510
+ navTypography: "brand-caps"
12439
12511
  },
12440
12512
  {
12441
12513
  id: asHeaderStyleId("brand-pill"),
@@ -12443,41 +12515,44 @@ var init_headerLooks = __esm({
12443
12515
  description: "Solid brand surface with rounded active and hover states.",
12444
12516
  supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
12445
12517
  navInteraction: "pill-background",
12446
- surface: "brand-solid"
12518
+ surface: "brand-solid",
12519
+ navTypography: "brand-caps"
12447
12520
  },
12448
12521
  {
12449
- id: asHeaderStyleId("editorial-line"),
12450
- label: "Editorial Line",
12522
+ id: asHeaderStyleId("serif-line"),
12523
+ label: "Serif Line",
12451
12524
  description: "Typographic logo treatment with understated underline navigation.",
12452
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
12525
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12453
12526
  navInteraction: "underline-grow",
12454
- surface: "bordered"
12527
+ surface: "bordered",
12528
+ navTypography: "heading"
12455
12529
  },
12456
12530
  {
12457
12531
  id: asHeaderStyleId("flat-tabs"),
12458
12532
  label: "Flat Tabs",
12459
12533
  description: "Flat block hover and active states with a Swiss utility feel.",
12460
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
12534
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
12461
12535
  navInteraction: "flat-block",
12462
- surface: "bordered"
12536
+ surface: "bordered",
12537
+ navTypography: "quiet-caps"
12463
12538
  },
12464
12539
  {
12465
12540
  id: asHeaderStyleId("glass"),
12466
12541
  label: "Glass",
12467
- description: "Floating translucent chrome with frosted navigation backing.",
12468
- supportedLayoutIds: supportedLayouts(["floating"]),
12542
+ description: "Translucent chrome with frosted navigation backing.",
12543
+ supportedLayoutIds: supportedLayouts(["classic", "floating"]),
12469
12544
  navInteraction: "glass-backed",
12470
12545
  surface: "floating",
12471
- requiresFloatingLayout: true
12546
+ navTypography: "plain"
12472
12547
  },
12473
12548
  {
12474
12549
  id: asHeaderStyleId("minimal-surface"),
12475
- label: "Minimal Surface",
12476
- description: "Floating chrome with a restrained translucent surface.",
12550
+ label: "Clear Split",
12551
+ description: "Floating logo with transparent navigation and no shared shell.",
12477
12552
  supportedLayoutIds: supportedLayouts(["floating"]),
12478
12553
  navInteraction: "color-change",
12479
12554
  surface: "floating",
12480
- requiresFloatingLayout: true
12555
+ navTypography: "plain"
12481
12556
  },
12482
12557
  {
12483
12558
  id: asHeaderStyleId("soft-shell"),
@@ -12486,7 +12561,25 @@ var init_headerLooks = __esm({
12486
12561
  supportedLayoutIds: supportedLayouts(["floating"]),
12487
12562
  navInteraction: "pill-background",
12488
12563
  surface: "floating",
12489
- requiresFloatingLayout: true
12564
+ navTypography: "plain"
12565
+ },
12566
+ {
12567
+ id: asHeaderStyleId("split-glass"),
12568
+ label: "Split Glass",
12569
+ description: "Logo floats independently while the navigation sits in a glass rail.",
12570
+ supportedLayoutIds: supportedLayouts(["floating"]),
12571
+ navInteraction: "glass-backed",
12572
+ surface: "floating",
12573
+ navTypography: "quiet-caps"
12574
+ },
12575
+ {
12576
+ id: asHeaderStyleId("split-pill"),
12577
+ label: "Split Pill",
12578
+ description: "Logo floats independently with a soft pill-backed navigation rail.",
12579
+ supportedLayoutIds: supportedLayouts(["floating"]),
12580
+ navInteraction: "pill-background",
12581
+ surface: "floating",
12582
+ navTypography: "heading"
12490
12583
  }
12491
12584
  ];
12492
12585
  headerLayoutsById = new Map(
@@ -12500,13 +12593,14 @@ var init_headerLooks = __esm({
12500
12593
  asHeaderLayoutId("classic"),
12501
12594
  headerStyleRepairChain([
12502
12595
  "minimal",
12596
+ "glass",
12503
12597
  "fine-line",
12504
12598
  "soft-bar",
12505
12599
  "pill-nav",
12506
12600
  "brand-bar",
12507
12601
  "brand-underline",
12508
12602
  "brand-pill",
12509
- "editorial-line",
12603
+ "serif-line",
12510
12604
  "flat-tabs"
12511
12605
  ])
12512
12606
  ],
@@ -12519,19 +12613,7 @@ var init_headerLooks = __esm({
12519
12613
  "pill-nav",
12520
12614
  "brand-bar",
12521
12615
  "brand-pill",
12522
- "editorial-line",
12523
- "flat-tabs"
12524
- ])
12525
- ],
12526
- [
12527
- asHeaderLayoutId("editorial"),
12528
- headerStyleRepairChain([
12529
- "minimal",
12530
- "fine-line",
12531
- "soft-bar",
12532
- "brand-bar",
12533
- "brand-underline",
12534
- "editorial-line",
12616
+ "serif-line",
12535
12617
  "flat-tabs"
12536
12618
  ])
12537
12619
  ],
@@ -12540,25 +12622,70 @@ var init_headerLooks = __esm({
12540
12622
  headerStyleRepairChain([
12541
12623
  "glass",
12542
12624
  "minimal-surface",
12625
+ "split-glass",
12626
+ "split-pill",
12543
12627
  "soft-shell",
12544
12628
  "brand-pill"
12545
12629
  ])
12546
12630
  ]
12547
12631
  ]);
12548
- headerStyleRepairOrder = /* @__PURE__ */ new Map([
12549
- [asHeaderStyleId("brand-bar"), headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])],
12550
- [asHeaderStyleId("brand-underline"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
12551
- [asHeaderStyleId("brand-pill"), headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])],
12552
- [asHeaderStyleId("pill-nav"), headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])],
12553
- [asHeaderStyleId("flat-tabs"), headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])],
12554
- [asHeaderStyleId("editorial-line"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
12555
- [asHeaderStyleId("glass"), headerStyleRepairChain(["glass", "minimal-surface", "minimal"])],
12556
- [asHeaderStyleId("soft-shell"), headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])],
12557
- [asHeaderStyleId("minimal-surface"), headerStyleRepairChain(["minimal-surface", "minimal"])],
12558
- [asHeaderStyleId("fine-line"), headerStyleRepairChain(["fine-line", "minimal"])],
12559
- [asHeaderStyleId("soft-bar"), headerStyleRepairChain(["soft-bar", "minimal"])],
12560
- [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
12561
- ]);
12632
+ headerStyleRepairOrder = /* @__PURE__ */ new Map(
12633
+ [
12634
+ [
12635
+ asHeaderStyleId("brand-bar"),
12636
+ headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
12637
+ ],
12638
+ [
12639
+ asHeaderStyleId("brand-underline"),
12640
+ headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
12641
+ ],
12642
+ [
12643
+ asHeaderStyleId("brand-pill"),
12644
+ headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
12645
+ ],
12646
+ [
12647
+ asHeaderStyleId("pill-nav"),
12648
+ headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
12649
+ ],
12650
+ [
12651
+ asHeaderStyleId("flat-tabs"),
12652
+ headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
12653
+ ],
12654
+ [
12655
+ asHeaderStyleId("serif-line"),
12656
+ headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
12657
+ ],
12658
+ [
12659
+ asHeaderStyleId("glass"),
12660
+ headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
12661
+ ],
12662
+ [
12663
+ asHeaderStyleId("soft-shell"),
12664
+ headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
12665
+ ],
12666
+ [
12667
+ asHeaderStyleId("minimal-surface"),
12668
+ headerStyleRepairChain(["minimal-surface", "minimal"])
12669
+ ],
12670
+ [
12671
+ asHeaderStyleId("split-glass"),
12672
+ headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
12673
+ ],
12674
+ [
12675
+ asHeaderStyleId("split-pill"),
12676
+ headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
12677
+ ],
12678
+ [
12679
+ asHeaderStyleId("fine-line"),
12680
+ headerStyleRepairChain(["fine-line", "minimal"])
12681
+ ],
12682
+ [
12683
+ asHeaderStyleId("soft-bar"),
12684
+ headerStyleRepairChain(["soft-bar", "minimal"])
12685
+ ],
12686
+ [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
12687
+ ]
12688
+ );
12562
12689
  legacyHeaderLookAliases = [
12563
12690
  {
12564
12691
  lookId: asHeaderLookId("clean-base"),
@@ -12575,10 +12702,10 @@ var init_headerLooks = __esm({
12575
12702
  }
12576
12703
  },
12577
12704
  {
12578
- lookId: asHeaderLookId("editorial-line"),
12705
+ lookId: asHeaderLookId("serif-line"),
12579
12706
  selection: {
12580
- layoutId: asHeaderLayoutId("editorial"),
12581
- styleId: asHeaderStyleId("editorial-line")
12707
+ layoutId: asHeaderLayoutId("centered"),
12708
+ styleId: asHeaderStyleId("serif-line")
12582
12709
  }
12583
12710
  },
12584
12711
  {
@@ -12617,9 +12744,7 @@ var init_headerLooks = __esm({
12617
12744
  }
12618
12745
  }
12619
12746
  ];
12620
- legacyHeaderLookAliasesById = new Map(
12621
- legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
12622
- );
12747
+ legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
12623
12748
  headerLookCatalog = [
12624
12749
  {
12625
12750
  id: asHeaderLookId("clean-base"),
@@ -12648,27 +12773,27 @@ var init_headerLooks = __esm({
12648
12773
  compile: solidBrandHeader
12649
12774
  },
12650
12775
  {
12651
- id: asHeaderLookId("editorial-line"),
12652
- label: "Editorial line",
12653
- visualTreatment: "light-editorial",
12776
+ id: asHeaderLookId("serif-line"),
12777
+ label: "Serif line",
12778
+ visualTreatment: "light-serif",
12654
12779
  layoutBehavior: "sticky",
12655
12780
  configuration: {
12656
- structure: "editorial-stack",
12657
- treatment: "light-editorial",
12781
+ structure: "centered-stack",
12782
+ treatment: "light-serif",
12658
12783
  behavior: "sticky"
12659
12784
  },
12660
12785
  openingRequirement: "none",
12661
12786
  maxRecommendedNavItems: 6,
12662
- compile: editorialLineHeader
12787
+ compile: serifLineHeader
12663
12788
  },
12664
12789
  {
12665
12790
  id: asHeaderLookId("centered-calm"),
12666
12791
  label: "Centered calm",
12667
- visualTreatment: "light-editorial",
12792
+ visualTreatment: "light-serif",
12668
12793
  layoutBehavior: "normal-flow",
12669
12794
  configuration: {
12670
12795
  structure: "centered-stack",
12671
- treatment: "light-editorial",
12796
+ treatment: "light-serif",
12672
12797
  behavior: "normal-flow"
12673
12798
  },
12674
12799
  openingRequirement: "none",
@@ -13165,12 +13290,16 @@ var init_typographyPresets = __esm({
13165
13290
 
13166
13291
  // ../theme-core/src/site-styles/curatedSiteStyles.ts
13167
13292
  function uniqueContentFrameKinds() {
13168
- const kinds = [...new Set(
13169
- generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
13170
- )];
13293
+ const kinds = [
13294
+ ...new Set(
13295
+ generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
13296
+ )
13297
+ ];
13171
13298
  const firstKind = kinds[0];
13172
13299
  if (!firstKind) {
13173
- throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
13300
+ throw new Error(
13301
+ "Expected generated design option catalog to expose at least one content frame kind."
13302
+ );
13174
13303
  }
13175
13304
  return [firstKind, ...kinds.slice(1)];
13176
13305
  }
@@ -13179,7 +13308,9 @@ function defineCuratedSiteStyle(input) {
13179
13308
  const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
13180
13309
  const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
13181
13310
  const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
13182
- if (!typographyPresetChoices.some((choice) => choice.id === defaultTypographyPresetId)) {
13311
+ if (!typographyPresetChoices.some(
13312
+ (choice) => choice.id === defaultTypographyPresetId
13313
+ )) {
13183
13314
  throw new Error(
13184
13315
  `Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
13185
13316
  );
@@ -13190,9 +13321,13 @@ function defineCuratedSiteStyle(input) {
13190
13321
  description: input.description,
13191
13322
  generationBrief: input.generationBrief,
13192
13323
  selectionKeywordRules: input.selectionKeywordRules ?? [],
13193
- siteCreatorSelection: input.siteCreatorSelection ?? { kind: "explicit_only" },
13324
+ siteCreatorSelection: input.siteCreatorSelection ?? {
13325
+ kind: "explicit_only"
13326
+ },
13194
13327
  template: {
13195
- id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
13328
+ id: asDesignSystemTemplateId(
13329
+ `template:${input.id.replace("site-style:", "")}`
13330
+ ),
13196
13331
  name: input.name,
13197
13332
  version: 1,
13198
13333
  tokenRecipes: input.tokenRecipes,
@@ -13210,13 +13345,17 @@ function defineCuratedSiteStyle(input) {
13210
13345
  } : inferredHeaderCuration.defaultHeaderSelection,
13211
13346
  recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
13212
13347
  recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
13213
- discouragedHeaderSelections: input.discouragedHeaderSelections?.map((selection) => ({
13214
- layoutId: asHeaderLayoutId(selection.layoutId),
13215
- styleId: asHeaderStyleId(selection.styleId)
13216
- })),
13348
+ discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
13349
+ (selection) => ({
13350
+ layoutId: asHeaderLayoutId(selection.layoutId),
13351
+ styleId: asHeaderStyleId(selection.styleId)
13352
+ })
13353
+ ),
13217
13354
  recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
13218
13355
  // Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
13219
- recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
13356
+ recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
13357
+ asFooterLookId
13358
+ ),
13220
13359
  buttonPersonalityChoices: input.buttonPersonalityChoices,
13221
13360
  paletteVariantChoices: input.paletteVariantChoices,
13222
13361
  typographyPresetChoices,
@@ -13235,7 +13374,7 @@ function headerLayoutChoice(id, note) {
13235
13374
  function headerStyleChoice(id, note) {
13236
13375
  return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
13237
13376
  }
13238
- function headerLayoutRecordKey(id) {
13377
+ function unbrandHeaderLayoutId(id) {
13239
13378
  return id;
13240
13379
  }
13241
13380
  function uniqueHeaderLayoutChoices(choices) {
@@ -13258,7 +13397,9 @@ function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
13258
13397
  return [first, ...choices.slice(1)];
13259
13398
  }
13260
13399
  function inferHeaderCurationFromLegacyLooks(lookIds) {
13261
- const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter((selection) => Boolean(selection));
13400
+ const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
13401
+ (selection) => Boolean(selection)
13402
+ );
13262
13403
  const defaultHeaderSelection = selections[0] ?? {
13263
13404
  layoutId: asHeaderLayoutId("classic"),
13264
13405
  styleId: asHeaderStyleId("minimal")
@@ -13269,10 +13410,7 @@ function inferHeaderCurationFromLegacyLooks(lookIds) {
13269
13410
  const stylesByLayout = {};
13270
13411
  for (const layoutChoice of layoutChoices) {
13271
13412
  const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
13272
- stylesByLayout[headerLayoutRecordKey(layoutChoice.id)] = nonEmptyHeaderStyleChoices(
13273
- styleChoices,
13274
- layoutChoice.id
13275
- );
13413
+ stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
13276
13414
  }
13277
13415
  return {
13278
13416
  defaultHeaderSelection,
@@ -13416,7 +13554,11 @@ var init_curatedSiteStyles = __esm({
13416
13554
  motion: "subtle"
13417
13555
  },
13418
13556
  compositionBudget: quietBudget,
13419
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
13557
+ recommendedHeaderLookIds: [
13558
+ "centered-calm",
13559
+ "minimal-transparent",
13560
+ "clean-base"
13561
+ ],
13420
13562
  buttonPersonalityChoices: [
13421
13563
  buttonChoice("soft-pill"),
13422
13564
  buttonChoice("pebble"),
@@ -13445,7 +13587,11 @@ var init_curatedSiteStyles = __esm({
13445
13587
  motion: "subtle"
13446
13588
  },
13447
13589
  compositionBudget: balancedBudget,
13448
- recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
13590
+ recommendedHeaderLookIds: [
13591
+ "practical-utility",
13592
+ "brand-solid",
13593
+ "clean-base"
13594
+ ],
13449
13595
  buttonPersonalityChoices: [
13450
13596
  buttonChoice("confident-chip"),
13451
13597
  buttonChoice("soft-pill"),
@@ -13472,7 +13618,11 @@ var init_curatedSiteStyles = __esm({
13472
13618
  motion: "subtle"
13473
13619
  },
13474
13620
  compositionBudget: balancedBudget,
13475
- recommendedHeaderLookIds: ["editorial-line", "minimal-transparent", "centered-calm"],
13621
+ recommendedHeaderLookIds: [
13622
+ "serif-line",
13623
+ "minimal-transparent",
13624
+ "centered-calm"
13625
+ ],
13476
13626
  buttonPersonalityChoices: [
13477
13627
  buttonChoice("editorial-link"),
13478
13628
  buttonChoice("soft-pill"),
@@ -13500,7 +13650,11 @@ var init_curatedSiteStyles = __esm({
13500
13650
  motion: "expressive"
13501
13651
  },
13502
13652
  compositionBudget: balancedBudget,
13503
- recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
13653
+ recommendedHeaderLookIds: [
13654
+ "brand-solid",
13655
+ "practical-utility",
13656
+ "clean-base"
13657
+ ],
13504
13658
  buttonPersonalityChoices: [
13505
13659
  buttonChoice("pebble"),
13506
13660
  buttonChoice("brushed-wash"),
@@ -13517,7 +13671,10 @@ var init_curatedSiteStyles = __esm({
13517
13671
  name: "Quiet Luxury",
13518
13672
  description: "Minimal, confident, and refined for premium experiences and private services.",
13519
13673
  generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
13520
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 20 },
13674
+ siteCreatorSelection: {
13675
+ kind: "site_creator_keyword_heuristic",
13676
+ priority: 20
13677
+ },
13521
13678
  selectionKeywordRules: [
13522
13679
  { kind: "word", value: "luxury" },
13523
13680
  { kind: "word", value: "premium" },
@@ -13535,7 +13692,11 @@ var init_curatedSiteStyles = __esm({
13535
13692
  motion: "none"
13536
13693
  },
13537
13694
  compositionBudget: quietBudget,
13538
- recommendedHeaderLookIds: ["minimal-transparent", "editorial-line", "clean-base"],
13695
+ recommendedHeaderLookIds: [
13696
+ "minimal-transparent",
13697
+ "serif-line",
13698
+ "clean-base"
13699
+ ],
13539
13700
  buttonPersonalityChoices: [
13540
13701
  buttonChoice("editorial-link"),
13541
13702
  buttonChoice("confident-chip"),
@@ -13571,7 +13732,11 @@ var init_curatedSiteStyles = __esm({
13571
13732
  motion: "none"
13572
13733
  },
13573
13734
  compositionBudget: quietBudget,
13574
- recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
13735
+ recommendedHeaderLookIds: [
13736
+ "practical-utility",
13737
+ "brand-solid",
13738
+ "clean-base"
13739
+ ],
13575
13740
  buttonPersonalityChoices: [
13576
13741
  buttonChoice("confident-chip"),
13577
13742
  buttonChoice("pebble"),
@@ -13598,7 +13763,11 @@ var init_curatedSiteStyles = __esm({
13598
13763
  motion: "subtle"
13599
13764
  },
13600
13765
  compositionBudget: balancedBudget,
13601
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
13766
+ recommendedHeaderLookIds: [
13767
+ "centered-calm",
13768
+ "minimal-transparent",
13769
+ "clean-base"
13770
+ ],
13602
13771
  buttonPersonalityChoices: [
13603
13772
  buttonChoice("soft-pill"),
13604
13773
  buttonChoice("pebble"),
@@ -13615,7 +13784,10 @@ var init_curatedSiteStyles = __esm({
13615
13784
  name: "Quiet Practice",
13616
13785
  description: "Grounded, calm, and practical for small appointment-first practices.",
13617
13786
  generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
13618
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 30 },
13787
+ siteCreatorSelection: {
13788
+ kind: "site_creator_keyword_heuristic",
13789
+ priority: 30
13790
+ },
13619
13791
  selectionKeywordRules: [
13620
13792
  { kind: "substring", value: "massage" },
13621
13793
  { kind: "word", value: "bodywork" },
@@ -13636,7 +13808,11 @@ var init_curatedSiteStyles = __esm({
13636
13808
  motion: "subtle"
13637
13809
  },
13638
13810
  compositionBudget: quietBudget,
13639
- recommendedHeaderLookIds: ["practical-utility", "clean-base", "centered-calm"],
13811
+ recommendedHeaderLookIds: [
13812
+ "practical-utility",
13813
+ "clean-base",
13814
+ "centered-calm"
13815
+ ],
13640
13816
  buttonPersonalityChoices: [
13641
13817
  buttonChoice("pebble"),
13642
13818
  buttonChoice("soft-pill"),
@@ -13653,7 +13829,10 @@ var init_curatedSiteStyles = __esm({
13653
13829
  name: "Personal Retreat Journal",
13654
13830
  description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
13655
13831
  generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
13656
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 40 },
13832
+ siteCreatorSelection: {
13833
+ kind: "site_creator_keyword_heuristic",
13834
+ priority: 40
13835
+ },
13657
13836
  selectionKeywordRules: [
13658
13837
  { kind: "substring", value: "retreat" },
13659
13838
  { kind: "phrase", value: "solo practitioner" },
@@ -13673,7 +13852,11 @@ var init_curatedSiteStyles = __esm({
13673
13852
  motion: "subtle"
13674
13853
  },
13675
13854
  compositionBudget: balancedBudget,
13676
- recommendedHeaderLookIds: ["editorial-line", "centered-calm", "minimal-transparent"],
13855
+ recommendedHeaderLookIds: [
13856
+ "serif-line",
13857
+ "centered-calm",
13858
+ "minimal-transparent"
13859
+ ],
13677
13860
  buttonPersonalityChoices: [
13678
13861
  buttonChoice("editorial-link"),
13679
13862
  buttonChoice("soft-pill"),
@@ -13690,7 +13873,10 @@ var init_curatedSiteStyles = __esm({
13690
13873
  name: "Tactile Workshop",
13691
13874
  description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
13692
13875
  generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
13693
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 50 },
13876
+ siteCreatorSelection: {
13877
+ kind: "site_creator_keyword_heuristic",
13878
+ priority: 50
13879
+ },
13694
13880
  selectionKeywordRules: [
13695
13881
  { kind: "substring", value: "ceramic" },
13696
13882
  { kind: "word", value: "pottery" },
@@ -13710,8 +13896,15 @@ var init_curatedSiteStyles = __esm({
13710
13896
  motion: "subtle"
13711
13897
  },
13712
13898
  compositionBudget: balancedBudget,
13713
- recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
13714
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
13899
+ recommendedHeaderLookIds: [
13900
+ "brand-solid",
13901
+ "practical-utility",
13902
+ "clean-base"
13903
+ ],
13904
+ recommendedFooterLookIds: [
13905
+ "site-footer-brand-two-band",
13906
+ "footer-muted-grounding"
13907
+ ],
13715
13908
  buttonPersonalityChoices: [
13716
13909
  buttonChoice("pebble"),
13717
13910
  buttonChoice("confident-chip"),
@@ -13730,7 +13923,10 @@ var init_curatedSiteStyles = __esm({
13730
13923
  name: "Soft Earth",
13731
13924
  description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
13732
13925
  generationBrief: "Use cream space, terracotta CTAs, olive proof bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community proof, and a simple two-column FAQ when content allows.",
13733
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 45 },
13926
+ siteCreatorSelection: {
13927
+ kind: "site_creator_keyword_heuristic",
13928
+ priority: 45
13929
+ },
13734
13930
  selectionKeywordRules: [
13735
13931
  { kind: "word", value: "meditation" },
13736
13932
  { kind: "word", value: "wellbeing" },
@@ -13806,8 +14002,15 @@ var init_curatedSiteStyles = __esm({
13806
14002
  "faq-soft-earth-two-column",
13807
14003
  "contact-form-panel"
13808
14004
  ],
13809
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "editorial-line"],
13810
- recommendedFooterLookIds: ["footer-muted-grounding", "site-footer-brand-two-band"],
14005
+ recommendedHeaderLookIds: [
14006
+ "centered-calm",
14007
+ "minimal-transparent",
14008
+ "serif-line"
14009
+ ],
14010
+ recommendedFooterLookIds: [
14011
+ "footer-muted-grounding",
14012
+ "site-footer-brand-two-band"
14013
+ ],
13811
14014
  buttonPersonalityChoices: [
13812
14015
  buttonChoice("earth-pill"),
13813
14016
  buttonChoice("soft-pill"),
@@ -13826,7 +14029,10 @@ var init_curatedSiteStyles = __esm({
13826
14029
  name: "Bold Launch",
13827
14030
  description: "High-energy and punchy for launches, campaigns, and creative offers.",
13828
14031
  generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
13829
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 10 },
14032
+ siteCreatorSelection: {
14033
+ kind: "site_creator_keyword_heuristic",
14034
+ priority: 10
14035
+ },
13830
14036
  selectionKeywordRules: [
13831
14037
  { kind: "substring", value: "launch" },
13832
14038
  { kind: "substring", value: "campaign" },
@@ -13845,7 +14051,11 @@ var init_curatedSiteStyles = __esm({
13845
14051
  motion: "expressive"
13846
14052
  },
13847
14053
  compositionBudget: expressiveBudget,
13848
- recommendedHeaderLookIds: ["transparent-overlay", "floating-glass", "brand-solid"],
14054
+ recommendedHeaderLookIds: [
14055
+ "transparent-overlay",
14056
+ "floating-glass",
14057
+ "brand-solid"
14058
+ ],
13849
14059
  buttonPersonalityChoices: [
13850
14060
  buttonChoice("ink-stamp"),
13851
14061
  buttonChoice("confident-chip"),
@@ -13896,8 +14106,15 @@ var init_curatedSiteStyles = __esm({
13896
14106
  "testimonials-accent-quote-proof",
13897
14107
  "contact-form-brand-depth-card"
13898
14108
  ],
13899
- recommendedHeaderLookIds: ["brand-solid", "transparent-overlay", "practical-utility"],
13900
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
14109
+ recommendedHeaderLookIds: [
14110
+ "brand-solid",
14111
+ "transparent-overlay",
14112
+ "practical-utility"
14113
+ ],
14114
+ recommendedFooterLookIds: [
14115
+ "site-footer-brand-two-band",
14116
+ "footer-muted-grounding"
14117
+ ],
13901
14118
  buttonPersonalityChoices: [
13902
14119
  buttonChoice("showtime-pill"),
13903
14120
  buttonChoice("confident-chip"),
@@ -22572,10 +22789,7 @@ var init_layout = __esm({
22572
22789
  const navContainerType = header?.navContainer?.type ?? "none";
22573
22790
  const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
22574
22791
  const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
22575
- const classes = [
22576
- config.base,
22577
- backgroundClass
22578
- ];
22792
+ const classes = [config.base, backgroundClass];
22579
22793
  if (!hasContainedNav) {
22580
22794
  if (config.blur) classes.push(config.blur);
22581
22795
  if (config.blurSupport) classes.push(config.blurSupport);
@@ -22590,7 +22804,12 @@ var init_layout = __esm({
22590
22804
  if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
22591
22805
  classes.push(config.shrink);
22592
22806
  }
22593
- const VALID_VARIANTS = ["classic", "centered", "transparent", "floating", "editorial"];
22807
+ const VALID_VARIANTS = [
22808
+ "classic",
22809
+ "centered",
22810
+ "transparent",
22811
+ "floating"
22812
+ ];
22594
22813
  const variant = header?.variant;
22595
22814
  if (variant && VALID_VARIANTS.includes(variant)) {
22596
22815
  classes.push(`header-variant-${variant}`);
@@ -23137,7 +23356,7 @@ var init_shared2 = __esm({
23137
23356
  });
23138
23357
 
23139
23358
  // ../blocks/src/system/blocks/site-header.ts
23140
- var logoRow, centeredLogoRow, createNavRow, headerCta, mobileCta, mobileToggleIcon, mobileToggleButton, mobileOverlayToggleButton, mobileNavList, mobileOverlayHeader, mobileOverlayBody, mobileOverlay, mobileHeaderBar, classicLayout2, centeredLayout, transparentLayout, floatingLayout, editorialLayout, headerLayout, siteHeaderManifest, siteHeaderBlockDefinition;
23359
+ var logoRow, centeredLogoRow, createNavRow, headerCta, mobileCta, mobileToggleIcon, mobileToggleButton, mobileOverlayToggleButton, mobileNavList, mobileOverlayHeader, mobileOverlayBody, mobileOverlay, mobileHeaderBar, classicLayout2, centeredLayout, transparentLayout, floatingLayout, headerLayout, siteHeaderManifest, siteHeaderBlockDefinition;
23141
23360
  var init_site_header = __esm({
23142
23361
  "../blocks/src/system/blocks/site-header.ts"() {
23143
23362
  "use strict";
@@ -23240,15 +23459,21 @@ var init_site_header = __esm({
23240
23459
  mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
23241
23460
  {
23242
23461
  type: "div",
23243
- props: { className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
23462
+ props: {
23463
+ className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
23464
+ }
23244
23465
  },
23245
23466
  {
23246
23467
  type: "div",
23247
- props: { className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
23468
+ props: {
23469
+ className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
23470
+ }
23248
23471
  },
23249
23472
  {
23250
23473
  type: "div",
23251
- props: { className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
23474
+ props: {
23475
+ className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
23476
+ }
23252
23477
  }
23253
23478
  ]);
23254
23479
  mobileToggleButton = {
@@ -23431,28 +23656,6 @@ var init_site_header = __esm({
23431
23656
  ],
23432
23657
  when("$root.theme.header.variant", { equals: "floating" })
23433
23658
  );
23434
- editorialLayout = stack(
23435
- {
23436
- gap: "md",
23437
- align: "center",
23438
- className: bindProp("$root.theme.header.maxWidth", {
23439
- transforms: pipe(
23440
- tx("layout.maxWidthClass", {
23441
- base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
23442
- })
23443
- ),
23444
- fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
23445
- })
23446
- },
23447
- [
23448
- centeredLogoRow,
23449
- createNavRow(
23450
- `${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
23451
- "center"
23452
- )
23453
- ],
23454
- when("$root.theme.header.variant", { equals: "editorial" })
23455
- );
23456
23659
  headerLayout = headerSection(
23457
23660
  {
23458
23661
  background: bindProp("$root.theme.header", {
@@ -23466,10 +23669,7 @@ var init_site_header = __esm({
23466
23669
  }),
23467
23670
  style: bindProp("$root.theme.header", {
23468
23671
  transforms: pipe(tx("layout.headerRootStyle")),
23469
- fallback: mergeStyles(
23470
- textColorStyle("text"),
23471
- borderColorStyle("border")
23472
- )
23672
+ fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
23473
23673
  })
23474
23674
  },
23475
23675
  [
@@ -23478,7 +23678,6 @@ var init_site_header = __esm({
23478
23678
  centeredLayout,
23479
23679
  transparentLayout,
23480
23680
  floatingLayout,
23481
- editorialLayout,
23482
23681
  mobileOverlay
23483
23682
  ],
23484
23683
  props({