@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
@@ -3376,8 +3376,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
3376
3376
  colorToken: themeColorTokenSchema.nullable().optional()
3377
3377
  });
3378
3378
  var proseLinkUnderlineStyleSchema = z19.enum(["solid", "dotted", "dashed"]);
3379
- var proseLinkUnderlineThicknessSchema = z19.enum(["auto", "fromFont", "thin", "medium", "thick"]);
3380
- var proseLinkUnderlineOffsetSchema = z19.enum(["auto", "tight", "normal", "loose"]);
3379
+ var proseLinkUnderlineThicknessSchema = z19.enum([
3380
+ "auto",
3381
+ "fromFont",
3382
+ "thin",
3383
+ "medium",
3384
+ "thick"
3385
+ ]);
3386
+ var proseLinkUnderlineOffsetSchema = z19.enum([
3387
+ "auto",
3388
+ "tight",
3389
+ "normal",
3390
+ "loose"
3391
+ ]);
3381
3392
  var proseLinkStyleSchema = z19.object({
3382
3393
  colorToken: themeColorTokenSchema.optional(),
3383
3394
  hoverColorToken: themeColorTokenSchema.optional(),
@@ -3388,7 +3399,14 @@ var proseLinkStyleSchema = z19.object({
3388
3399
  underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
3389
3400
  underlineOffset: proseLinkUnderlineOffsetSchema.optional()
3390
3401
  });
3391
- var semanticSpacingSchema = z19.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
3402
+ var semanticSpacingSchema = z19.enum([
3403
+ "none",
3404
+ "compact",
3405
+ "cozy",
3406
+ "medium",
3407
+ "comfortable",
3408
+ "spacious"
3409
+ ]);
3392
3410
  var boxRoundedSchema = z19.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
3393
3411
  var boxBackgroundOverlaySchema = z19.object({
3394
3412
  type: z19.enum(["none", "color", "gradient"]).nullable().optional(),
@@ -3532,9 +3550,17 @@ var inputStyle = z19.object({
3532
3550
  focus: z19.enum(["glow", "ring", "underline"]),
3533
3551
  label: z19.enum(["inside", "above"])
3534
3552
  });
3535
- var headerVariant = z19.enum(["classic", "centered", "transparent", "floating", "editorial"]);
3553
+ var headerVariant = z19.enum(["classic", "centered", "transparent", "floating"]);
3536
3554
  var headerPositioning = z19.enum(["static", "sticky", "fixed"]);
3537
- var headerNavStyle = z19.enum(["minimal", "underline", "underline-grow", "capsule", "scale", "frosted", "solid"]);
3555
+ var headerNavStyle = z19.enum([
3556
+ "minimal",
3557
+ "underline",
3558
+ "underline-grow",
3559
+ "capsule",
3560
+ "scale",
3561
+ "frosted",
3562
+ "solid"
3563
+ ]);
3538
3564
  var navFontWeight = z19.enum(["regular", "medium", "semibold", "bold"]);
3539
3565
  var headerMaxWidth = z19.enum(["container", "full"]);
3540
3566
  var headerContainerSchema = z19.object({
@@ -3582,8 +3608,22 @@ var dropdownStyleSchema = z19.object({
3582
3608
  textSize: z19.enum(["xs", "sm", "base", "lg"]).optional()
3583
3609
  // optional = no override (browser default)
3584
3610
  }).optional();
3585
- var headerCtaGapSchema = z19.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
3586
- var headerCtaTreatmentSchema = z19.enum(["default", "primary", "secondary", "inverted", "outline", "ghost"]);
3611
+ var headerCtaGapSchema = z19.enum([
3612
+ "none",
3613
+ "tight",
3614
+ "compact",
3615
+ "default",
3616
+ "relaxed",
3617
+ "spacious"
3618
+ ]);
3619
+ var headerCtaTreatmentSchema = z19.enum([
3620
+ "default",
3621
+ "primary",
3622
+ "secondary",
3623
+ "inverted",
3624
+ "outline",
3625
+ "ghost"
3626
+ ]);
3587
3627
  var navContainerSchema = z19.object({
3588
3628
  type: z19.enum(["none", "pill", "glass"]).default("none"),
3589
3629
  tint: z19.string().nullable().optional(),
@@ -3638,7 +3678,14 @@ var footerMaxWidth = z19.enum(["container", "full"]);
3638
3678
  var footerMode = z19.enum(["default", "blocks", "default+blocks", "none"]);
3639
3679
  var footerNavLayoutMode = z19.enum(["stack", "inline", "inline-wrap"]);
3640
3680
  var footerNavLayoutAlign = z19.enum(["start", "center", "end", "space-between"]);
3641
- var footerSpacing = z19.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
3681
+ var footerSpacing = z19.enum([
3682
+ "none",
3683
+ "tight",
3684
+ "compact",
3685
+ "default",
3686
+ "relaxed",
3687
+ "spacious"
3688
+ ]);
3642
3689
  var footerLogoPlacement = z19.enum(["left", "right", "above", "below"]);
3643
3690
  var footerLogoSize = z19.enum(["sm", "md", "lg", "xl"]);
3644
3691
  var footerLogoMaxHeight = z19.enum(["sm", "md", "lg", "xl"]);
@@ -3703,7 +3750,12 @@ var footerSchema = z19.object({
3703
3750
  logo: footerLogoSchema.optional(),
3704
3751
  bottomBar: footerBottomBarSchema.optional()
3705
3752
  });
3706
- var containerPaddingPresetSchema = z19.enum(["tight", "compact", "default", "relaxed"]);
3753
+ var containerPaddingPresetSchema = z19.enum([
3754
+ "tight",
3755
+ "compact",
3756
+ "default",
3757
+ "relaxed"
3758
+ ]);
3707
3759
  var layoutSchema = z19.object({
3708
3760
  containerPadding: z19.object({
3709
3761
  mobile: containerPaddingPresetSchema.optional(),
@@ -3711,8 +3763,24 @@ var layoutSchema = z19.object({
3711
3763
  desktop: containerPaddingPresetSchema.optional()
3712
3764
  }).optional()
3713
3765
  }).optional();
3714
- var heroTypographySizeSchema = z19.enum(["sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "editorial"]);
3715
- var heroTypographyLineHeightSchema = z19.enum(["tight", "snug", "normal", "relaxed"]);
3766
+ var heroTypographySizeSchema = z19.enum([
3767
+ "sm",
3768
+ "base",
3769
+ "lg",
3770
+ "xl",
3771
+ "2xl",
3772
+ "3xl",
3773
+ "4xl",
3774
+ "5xl",
3775
+ "6xl",
3776
+ "editorial"
3777
+ ]);
3778
+ var heroTypographyLineHeightSchema = z19.enum([
3779
+ "tight",
3780
+ "snug",
3781
+ "normal",
3782
+ "relaxed"
3783
+ ]);
3716
3784
  var heroResponsiveTypographySchema = z19.object({
3717
3785
  headlineSize: heroTypographySizeSchema.optional(),
3718
3786
  headlineLineHeight: heroTypographyLineHeightSchema.optional(),
@@ -4266,16 +4334,6 @@ var headerLayoutCatalog = [
4266
4334
  maxRecommendedNavItems: 5,
4267
4335
  allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
4268
4336
  },
4269
- {
4270
- id: asHeaderLayoutId("editorial"),
4271
- label: "Editorial",
4272
- description: "A composed, magazine-like stacked header treatment.",
4273
- structure: "editorial-stack",
4274
- variant: "editorial",
4275
- defaultPositioning: "static",
4276
- shrinkOnScroll: false,
4277
- maxRecommendedNavItems: 6
4278
- },
4279
4337
  {
4280
4338
  id: asHeaderLayoutId("floating"),
4281
4339
  label: "Floating",
@@ -4296,17 +4354,19 @@ var headerStyleCatalog = [
4296
4354
  id: asHeaderStyleId("minimal"),
4297
4355
  label: "Minimal",
4298
4356
  description: "Quiet surface with simple color-change navigation.",
4299
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
4357
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4300
4358
  navInteraction: "color-change",
4301
- surface: "neutral"
4359
+ surface: "neutral",
4360
+ navTypography: "plain"
4302
4361
  },
4303
4362
  {
4304
4363
  id: asHeaderStyleId("fine-line"),
4305
4364
  label: "Fine Line",
4306
4365
  description: "Light surface with a crisp lower rule and underline hover.",
4307
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
4366
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4308
4367
  navInteraction: "underline-grow",
4309
- surface: "bordered"
4368
+ surface: "bordered",
4369
+ navTypography: "plain"
4310
4370
  },
4311
4371
  {
4312
4372
  id: asHeaderStyleId("soft-bar"),
@@ -4314,7 +4374,8 @@ var headerStyleCatalog = [
4314
4374
  description: "Soft tinted surface with gentle pill hover states.",
4315
4375
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4316
4376
  navInteraction: "pill-background",
4317
- surface: "soft"
4377
+ surface: "soft",
4378
+ navTypography: "plain"
4318
4379
  },
4319
4380
  {
4320
4381
  id: asHeaderStyleId("pill-nav"),
@@ -4322,23 +4383,26 @@ var headerStyleCatalog = [
4322
4383
  description: "A calm pill navigation rail over a neutral header.",
4323
4384
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4324
4385
  navInteraction: "pill-background",
4325
- surface: "soft"
4386
+ surface: "soft",
4387
+ navTypography: "plain"
4326
4388
  },
4327
4389
  {
4328
4390
  id: asHeaderStyleId("brand-bar"),
4329
4391
  label: "Brand Bar",
4330
4392
  description: "Solid brand surface with high-contrast navigation.",
4331
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
4393
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4332
4394
  navInteraction: "color-change",
4333
- surface: "brand-solid"
4395
+ surface: "brand-solid",
4396
+ navTypography: "brand-caps"
4334
4397
  },
4335
4398
  {
4336
4399
  id: asHeaderStyleId("brand-underline"),
4337
4400
  label: "Brand Underline",
4338
4401
  description: "Brand surface with underline-grow navigation.",
4339
- supportedLayoutIds: supportedLayouts(["classic", "editorial"]),
4402
+ supportedLayoutIds: supportedLayouts(["classic"]),
4340
4403
  navInteraction: "underline-grow",
4341
- surface: "brand-solid"
4404
+ surface: "brand-solid",
4405
+ navTypography: "brand-caps"
4342
4406
  },
4343
4407
  {
4344
4408
  id: asHeaderStyleId("brand-pill"),
@@ -4346,41 +4410,44 @@ var headerStyleCatalog = [
4346
4410
  description: "Solid brand surface with rounded active and hover states.",
4347
4411
  supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
4348
4412
  navInteraction: "pill-background",
4349
- surface: "brand-solid"
4413
+ surface: "brand-solid",
4414
+ navTypography: "brand-caps"
4350
4415
  },
4351
4416
  {
4352
- id: asHeaderStyleId("editorial-line"),
4353
- label: "Editorial Line",
4417
+ id: asHeaderStyleId("serif-line"),
4418
+ label: "Serif Line",
4354
4419
  description: "Typographic logo treatment with understated underline navigation.",
4355
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
4420
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4356
4421
  navInteraction: "underline-grow",
4357
- surface: "bordered"
4422
+ surface: "bordered",
4423
+ navTypography: "heading"
4358
4424
  },
4359
4425
  {
4360
4426
  id: asHeaderStyleId("flat-tabs"),
4361
4427
  label: "Flat Tabs",
4362
4428
  description: "Flat block hover and active states with a Swiss utility feel.",
4363
- supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
4429
+ supportedLayoutIds: supportedLayouts(["classic", "centered"]),
4364
4430
  navInteraction: "flat-block",
4365
- surface: "bordered"
4431
+ surface: "bordered",
4432
+ navTypography: "quiet-caps"
4366
4433
  },
4367
4434
  {
4368
4435
  id: asHeaderStyleId("glass"),
4369
4436
  label: "Glass",
4370
- description: "Floating translucent chrome with frosted navigation backing.",
4371
- supportedLayoutIds: supportedLayouts(["floating"]),
4437
+ description: "Translucent chrome with frosted navigation backing.",
4438
+ supportedLayoutIds: supportedLayouts(["classic", "floating"]),
4372
4439
  navInteraction: "glass-backed",
4373
4440
  surface: "floating",
4374
- requiresFloatingLayout: true
4441
+ navTypography: "plain"
4375
4442
  },
4376
4443
  {
4377
4444
  id: asHeaderStyleId("minimal-surface"),
4378
- label: "Minimal Surface",
4379
- description: "Floating chrome with a restrained translucent surface.",
4445
+ label: "Clear Split",
4446
+ description: "Floating logo with transparent navigation and no shared shell.",
4380
4447
  supportedLayoutIds: supportedLayouts(["floating"]),
4381
4448
  navInteraction: "color-change",
4382
4449
  surface: "floating",
4383
- requiresFloatingLayout: true
4450
+ navTypography: "plain"
4384
4451
  },
4385
4452
  {
4386
4453
  id: asHeaderStyleId("soft-shell"),
@@ -4389,7 +4456,25 @@ var headerStyleCatalog = [
4389
4456
  supportedLayoutIds: supportedLayouts(["floating"]),
4390
4457
  navInteraction: "pill-background",
4391
4458
  surface: "floating",
4392
- requiresFloatingLayout: true
4459
+ navTypography: "plain"
4460
+ },
4461
+ {
4462
+ id: asHeaderStyleId("split-glass"),
4463
+ label: "Split Glass",
4464
+ description: "Logo floats independently while the navigation sits in a glass rail.",
4465
+ supportedLayoutIds: supportedLayouts(["floating"]),
4466
+ navInteraction: "glass-backed",
4467
+ surface: "floating",
4468
+ navTypography: "quiet-caps"
4469
+ },
4470
+ {
4471
+ id: asHeaderStyleId("split-pill"),
4472
+ label: "Split Pill",
4473
+ description: "Logo floats independently with a soft pill-backed navigation rail.",
4474
+ supportedLayoutIds: supportedLayouts(["floating"]),
4475
+ navInteraction: "pill-background",
4476
+ surface: "floating",
4477
+ navTypography: "heading"
4393
4478
  }
4394
4479
  ];
4395
4480
  var headerLayoutsById = new Map(
@@ -4403,13 +4488,14 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
4403
4488
  asHeaderLayoutId("classic"),
4404
4489
  headerStyleRepairChain([
4405
4490
  "minimal",
4491
+ "glass",
4406
4492
  "fine-line",
4407
4493
  "soft-bar",
4408
4494
  "pill-nav",
4409
4495
  "brand-bar",
4410
4496
  "brand-underline",
4411
4497
  "brand-pill",
4412
- "editorial-line",
4498
+ "serif-line",
4413
4499
  "flat-tabs"
4414
4500
  ])
4415
4501
  ],
@@ -4422,19 +4508,7 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
4422
4508
  "pill-nav",
4423
4509
  "brand-bar",
4424
4510
  "brand-pill",
4425
- "editorial-line",
4426
- "flat-tabs"
4427
- ])
4428
- ],
4429
- [
4430
- asHeaderLayoutId("editorial"),
4431
- headerStyleRepairChain([
4432
- "minimal",
4433
- "fine-line",
4434
- "soft-bar",
4435
- "brand-bar",
4436
- "brand-underline",
4437
- "editorial-line",
4511
+ "serif-line",
4438
4512
  "flat-tabs"
4439
4513
  ])
4440
4514
  ],
@@ -4443,6 +4517,8 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
4443
4517
  headerStyleRepairChain([
4444
4518
  "glass",
4445
4519
  "minimal-surface",
4520
+ "split-glass",
4521
+ "split-pill",
4446
4522
  "soft-shell",
4447
4523
  "brand-pill"
4448
4524
  ])
@@ -4451,20 +4527,63 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
4451
4527
  function headerStyleRepairChain(values) {
4452
4528
  return values.map(asHeaderStyleId);
4453
4529
  }
4454
- var headerStyleRepairOrder = /* @__PURE__ */ new Map([
4455
- [asHeaderStyleId("brand-bar"), headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])],
4456
- [asHeaderStyleId("brand-underline"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
4457
- [asHeaderStyleId("brand-pill"), headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])],
4458
- [asHeaderStyleId("pill-nav"), headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])],
4459
- [asHeaderStyleId("flat-tabs"), headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])],
4460
- [asHeaderStyleId("editorial-line"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
4461
- [asHeaderStyleId("glass"), headerStyleRepairChain(["glass", "minimal-surface", "minimal"])],
4462
- [asHeaderStyleId("soft-shell"), headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])],
4463
- [asHeaderStyleId("minimal-surface"), headerStyleRepairChain(["minimal-surface", "minimal"])],
4464
- [asHeaderStyleId("fine-line"), headerStyleRepairChain(["fine-line", "minimal"])],
4465
- [asHeaderStyleId("soft-bar"), headerStyleRepairChain(["soft-bar", "minimal"])],
4466
- [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
4467
- ]);
4530
+ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
4531
+ [
4532
+ [
4533
+ asHeaderStyleId("brand-bar"),
4534
+ headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
4535
+ ],
4536
+ [
4537
+ asHeaderStyleId("brand-underline"),
4538
+ headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
4539
+ ],
4540
+ [
4541
+ asHeaderStyleId("brand-pill"),
4542
+ headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
4543
+ ],
4544
+ [
4545
+ asHeaderStyleId("pill-nav"),
4546
+ headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
4547
+ ],
4548
+ [
4549
+ asHeaderStyleId("flat-tabs"),
4550
+ headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
4551
+ ],
4552
+ [
4553
+ asHeaderStyleId("serif-line"),
4554
+ headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
4555
+ ],
4556
+ [
4557
+ asHeaderStyleId("glass"),
4558
+ headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
4559
+ ],
4560
+ [
4561
+ asHeaderStyleId("soft-shell"),
4562
+ headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
4563
+ ],
4564
+ [
4565
+ asHeaderStyleId("minimal-surface"),
4566
+ headerStyleRepairChain(["minimal-surface", "minimal"])
4567
+ ],
4568
+ [
4569
+ asHeaderStyleId("split-glass"),
4570
+ headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
4571
+ ],
4572
+ [
4573
+ asHeaderStyleId("split-pill"),
4574
+ headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
4575
+ ],
4576
+ [
4577
+ asHeaderStyleId("fine-line"),
4578
+ headerStyleRepairChain(["fine-line", "minimal"])
4579
+ ],
4580
+ [
4581
+ asHeaderStyleId("soft-bar"),
4582
+ headerStyleRepairChain(["soft-bar", "minimal"])
4583
+ ],
4584
+ [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
4585
+ ]
4586
+ );
4468
4587
  var legacyHeaderLookAliases = [
4469
4588
  {
4470
4589
  lookId: asHeaderLookId("clean-base"),
@@ -4481,10 +4600,10 @@ var legacyHeaderLookAliases = [
4481
4600
  }
4482
4601
  },
4483
4602
  {
4484
- lookId: asHeaderLookId("editorial-line"),
4603
+ lookId: asHeaderLookId("serif-line"),
4485
4604
  selection: {
4486
- layoutId: asHeaderLayoutId("editorial"),
4487
- styleId: asHeaderStyleId("editorial-line")
4605
+ layoutId: asHeaderLayoutId("centered"),
4606
+ styleId: asHeaderStyleId("serif-line")
4488
4607
  }
4489
4608
  },
4490
4609
  {
@@ -4523,9 +4642,7 @@ var legacyHeaderLookAliases = [
4523
4642
  }
4524
4643
  }
4525
4644
  ];
4526
- var legacyHeaderLookAliasesById = new Map(
4527
- legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
4528
- );
4645
+ var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
4529
4646
  function getHeaderStyle(id) {
4530
4647
  return headerStylesById.get(id) ?? null;
4531
4648
  }
@@ -4543,10 +4660,12 @@ function resolveLegacyHeaderLookAlias(lookId) {
4543
4660
  return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
4544
4661
  }
4545
4662
  function getCompatibleHeaderStyleIds(layoutId) {
4546
- return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
4547
- const style = getHeaderStyleOrThrow(styleId);
4548
- return isHeaderStyleCompatibleWithLayout(style, layoutId);
4549
- });
4663
+ return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
4664
+ (styleId) => {
4665
+ const style = getHeaderStyleOrThrow(styleId);
4666
+ return isHeaderStyleCompatibleWithLayout(style, layoutId);
4667
+ }
4668
+ );
4550
4669
  }
4551
4670
  function solidBrandHeader(theme) {
4552
4671
  const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
@@ -4577,8 +4696,14 @@ function solidBrandHeader(theme) {
4577
4696
  borderRadius: "none",
4578
4697
  effects: {
4579
4698
  hover: [
4580
- { effectId: "text-color-change", options: { hoverColorToken: "secondary" } },
4581
- { effectId: "nav-underline", options: { style: "grow", colorToken: "secondary" } }
4699
+ {
4700
+ effectId: "text-color-change",
4701
+ options: { hoverColorToken: "secondary" }
4702
+ },
4703
+ {
4704
+ effectId: "nav-underline",
4705
+ options: { style: "grow", colorToken: "secondary" }
4706
+ }
4582
4707
  ]
4583
4708
  }
4584
4709
  },
@@ -4634,10 +4759,10 @@ function cleanBaseHeader(theme) {
4634
4759
  ctaGap: "default"
4635
4760
  };
4636
4761
  }
4637
- function editorialLineHeader(theme) {
4762
+ function serifLineHeader(theme) {
4638
4763
  return {
4639
4764
  ...baseHeader(theme),
4640
- variant: "editorial",
4765
+ variant: "centered",
4641
4766
  positioning: "sticky",
4642
4767
  shrinkOnScroll: false,
4643
4768
  background: {
@@ -4806,27 +4931,27 @@ var headerLookCatalog = [
4806
4931
  compile: solidBrandHeader
4807
4932
  },
4808
4933
  {
4809
- id: asHeaderLookId("editorial-line"),
4810
- label: "Editorial line",
4811
- visualTreatment: "light-editorial",
4934
+ id: asHeaderLookId("serif-line"),
4935
+ label: "Serif line",
4936
+ visualTreatment: "light-serif",
4812
4937
  layoutBehavior: "sticky",
4813
4938
  configuration: {
4814
- structure: "editorial-stack",
4815
- treatment: "light-editorial",
4939
+ structure: "centered-stack",
4940
+ treatment: "light-serif",
4816
4941
  behavior: "sticky"
4817
4942
  },
4818
4943
  openingRequirement: "none",
4819
4944
  maxRecommendedNavItems: 6,
4820
- compile: editorialLineHeader
4945
+ compile: serifLineHeader
4821
4946
  },
4822
4947
  {
4823
4948
  id: asHeaderLookId("centered-calm"),
4824
4949
  label: "Centered calm",
4825
- visualTreatment: "light-editorial",
4950
+ visualTreatment: "light-serif",
4826
4951
  layoutBehavior: "normal-flow",
4827
4952
  configuration: {
4828
4953
  structure: "centered-stack",
4829
- treatment: "light-editorial",
4954
+ treatment: "light-serif",
4830
4955
  behavior: "normal-flow"
4831
4956
  },
4832
4957
  openingRequirement: "none",
@@ -5372,12 +5497,16 @@ var expressiveUnderlineInputs = {
5372
5497
  }
5373
5498
  };
5374
5499
  function uniqueContentFrameKinds() {
5375
- const kinds = [...new Set(
5376
- generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
5377
- )];
5500
+ const kinds = [
5501
+ ...new Set(
5502
+ generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
5503
+ )
5504
+ ];
5378
5505
  const firstKind = kinds[0];
5379
5506
  if (!firstKind) {
5380
- throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
5507
+ throw new Error(
5508
+ "Expected generated design option catalog to expose at least one content frame kind."
5509
+ );
5381
5510
  }
5382
5511
  return [firstKind, ...kinds.slice(1)];
5383
5512
  }
@@ -5387,7 +5516,9 @@ function defineCuratedSiteStyle(input) {
5387
5516
  const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
5388
5517
  const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
5389
5518
  const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
5390
- if (!typographyPresetChoices.some((choice) => choice.id === defaultTypographyPresetId)) {
5519
+ if (!typographyPresetChoices.some(
5520
+ (choice) => choice.id === defaultTypographyPresetId
5521
+ )) {
5391
5522
  throw new Error(
5392
5523
  `Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
5393
5524
  );
@@ -5398,9 +5529,13 @@ function defineCuratedSiteStyle(input) {
5398
5529
  description: input.description,
5399
5530
  generationBrief: input.generationBrief,
5400
5531
  selectionKeywordRules: input.selectionKeywordRules ?? [],
5401
- siteCreatorSelection: input.siteCreatorSelection ?? { kind: "explicit_only" },
5532
+ siteCreatorSelection: input.siteCreatorSelection ?? {
5533
+ kind: "explicit_only"
5534
+ },
5402
5535
  template: {
5403
- id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
5536
+ id: asDesignSystemTemplateId(
5537
+ `template:${input.id.replace("site-style:", "")}`
5538
+ ),
5404
5539
  name: input.name,
5405
5540
  version: 1,
5406
5541
  tokenRecipes: input.tokenRecipes,
@@ -5418,13 +5553,17 @@ function defineCuratedSiteStyle(input) {
5418
5553
  } : inferredHeaderCuration.defaultHeaderSelection,
5419
5554
  recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
5420
5555
  recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
5421
- discouragedHeaderSelections: input.discouragedHeaderSelections?.map((selection) => ({
5422
- layoutId: asHeaderLayoutId(selection.layoutId),
5423
- styleId: asHeaderStyleId(selection.styleId)
5424
- })),
5556
+ discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
5557
+ (selection) => ({
5558
+ layoutId: asHeaderLayoutId(selection.layoutId),
5559
+ styleId: asHeaderStyleId(selection.styleId)
5560
+ })
5561
+ ),
5425
5562
  recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
5426
5563
  // Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
5427
- recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
5564
+ recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
5565
+ asFooterLookId
5566
+ ),
5428
5567
  buttonPersonalityChoices: input.buttonPersonalityChoices,
5429
5568
  paletteVariantChoices: input.paletteVariantChoices,
5430
5569
  typographyPresetChoices,
@@ -5443,7 +5582,7 @@ function headerLayoutChoice(id, note) {
5443
5582
  function headerStyleChoice(id, note) {
5444
5583
  return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
5445
5584
  }
5446
- function headerLayoutRecordKey(id) {
5585
+ function unbrandHeaderLayoutId(id) {
5447
5586
  return id;
5448
5587
  }
5449
5588
  function uniqueHeaderLayoutChoices(choices) {
@@ -5466,7 +5605,9 @@ function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
5466
5605
  return [first, ...choices.slice(1)];
5467
5606
  }
5468
5607
  function inferHeaderCurationFromLegacyLooks(lookIds) {
5469
- const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter((selection) => Boolean(selection));
5608
+ const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
5609
+ (selection) => Boolean(selection)
5610
+ );
5470
5611
  const defaultHeaderSelection = selections[0] ?? {
5471
5612
  layoutId: asHeaderLayoutId("classic"),
5472
5613
  styleId: asHeaderStyleId("minimal")
@@ -5477,10 +5618,7 @@ function inferHeaderCurationFromLegacyLooks(lookIds) {
5477
5618
  const stylesByLayout = {};
5478
5619
  for (const layoutChoice of layoutChoices) {
5479
5620
  const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
5480
- stylesByLayout[headerLayoutRecordKey(layoutChoice.id)] = nonEmptyHeaderStyleChoices(
5481
- styleChoices,
5482
- layoutChoice.id
5483
- );
5621
+ stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
5484
5622
  }
5485
5623
  return {
5486
5624
  defaultHeaderSelection,
@@ -5535,7 +5673,11 @@ var curatedSiteStyles = [
5535
5673
  motion: "subtle"
5536
5674
  },
5537
5675
  compositionBudget: quietBudget,
5538
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
5676
+ recommendedHeaderLookIds: [
5677
+ "centered-calm",
5678
+ "minimal-transparent",
5679
+ "clean-base"
5680
+ ],
5539
5681
  buttonPersonalityChoices: [
5540
5682
  buttonChoice("soft-pill"),
5541
5683
  buttonChoice("pebble"),
@@ -5564,7 +5706,11 @@ var curatedSiteStyles = [
5564
5706
  motion: "subtle"
5565
5707
  },
5566
5708
  compositionBudget: balancedBudget,
5567
- recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
5709
+ recommendedHeaderLookIds: [
5710
+ "practical-utility",
5711
+ "brand-solid",
5712
+ "clean-base"
5713
+ ],
5568
5714
  buttonPersonalityChoices: [
5569
5715
  buttonChoice("confident-chip"),
5570
5716
  buttonChoice("soft-pill"),
@@ -5591,7 +5737,11 @@ var curatedSiteStyles = [
5591
5737
  motion: "subtle"
5592
5738
  },
5593
5739
  compositionBudget: balancedBudget,
5594
- recommendedHeaderLookIds: ["editorial-line", "minimal-transparent", "centered-calm"],
5740
+ recommendedHeaderLookIds: [
5741
+ "serif-line",
5742
+ "minimal-transparent",
5743
+ "centered-calm"
5744
+ ],
5595
5745
  buttonPersonalityChoices: [
5596
5746
  buttonChoice("editorial-link"),
5597
5747
  buttonChoice("soft-pill"),
@@ -5619,7 +5769,11 @@ var curatedSiteStyles = [
5619
5769
  motion: "expressive"
5620
5770
  },
5621
5771
  compositionBudget: balancedBudget,
5622
- recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
5772
+ recommendedHeaderLookIds: [
5773
+ "brand-solid",
5774
+ "practical-utility",
5775
+ "clean-base"
5776
+ ],
5623
5777
  buttonPersonalityChoices: [
5624
5778
  buttonChoice("pebble"),
5625
5779
  buttonChoice("brushed-wash"),
@@ -5636,7 +5790,10 @@ var curatedSiteStyles = [
5636
5790
  name: "Quiet Luxury",
5637
5791
  description: "Minimal, confident, and refined for premium experiences and private services.",
5638
5792
  generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
5639
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 20 },
5793
+ siteCreatorSelection: {
5794
+ kind: "site_creator_keyword_heuristic",
5795
+ priority: 20
5796
+ },
5640
5797
  selectionKeywordRules: [
5641
5798
  { kind: "word", value: "luxury" },
5642
5799
  { kind: "word", value: "premium" },
@@ -5654,7 +5811,11 @@ var curatedSiteStyles = [
5654
5811
  motion: "none"
5655
5812
  },
5656
5813
  compositionBudget: quietBudget,
5657
- recommendedHeaderLookIds: ["minimal-transparent", "editorial-line", "clean-base"],
5814
+ recommendedHeaderLookIds: [
5815
+ "minimal-transparent",
5816
+ "serif-line",
5817
+ "clean-base"
5818
+ ],
5658
5819
  buttonPersonalityChoices: [
5659
5820
  buttonChoice("editorial-link"),
5660
5821
  buttonChoice("confident-chip"),
@@ -5690,7 +5851,11 @@ var curatedSiteStyles = [
5690
5851
  motion: "none"
5691
5852
  },
5692
5853
  compositionBudget: quietBudget,
5693
- recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
5854
+ recommendedHeaderLookIds: [
5855
+ "practical-utility",
5856
+ "brand-solid",
5857
+ "clean-base"
5858
+ ],
5694
5859
  buttonPersonalityChoices: [
5695
5860
  buttonChoice("confident-chip"),
5696
5861
  buttonChoice("pebble"),
@@ -5717,7 +5882,11 @@ var curatedSiteStyles = [
5717
5882
  motion: "subtle"
5718
5883
  },
5719
5884
  compositionBudget: balancedBudget,
5720
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
5885
+ recommendedHeaderLookIds: [
5886
+ "centered-calm",
5887
+ "minimal-transparent",
5888
+ "clean-base"
5889
+ ],
5721
5890
  buttonPersonalityChoices: [
5722
5891
  buttonChoice("soft-pill"),
5723
5892
  buttonChoice("pebble"),
@@ -5734,7 +5903,10 @@ var curatedSiteStyles = [
5734
5903
  name: "Quiet Practice",
5735
5904
  description: "Grounded, calm, and practical for small appointment-first practices.",
5736
5905
  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.",
5737
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 30 },
5906
+ siteCreatorSelection: {
5907
+ kind: "site_creator_keyword_heuristic",
5908
+ priority: 30
5909
+ },
5738
5910
  selectionKeywordRules: [
5739
5911
  { kind: "substring", value: "massage" },
5740
5912
  { kind: "word", value: "bodywork" },
@@ -5755,7 +5927,11 @@ var curatedSiteStyles = [
5755
5927
  motion: "subtle"
5756
5928
  },
5757
5929
  compositionBudget: quietBudget,
5758
- recommendedHeaderLookIds: ["practical-utility", "clean-base", "centered-calm"],
5930
+ recommendedHeaderLookIds: [
5931
+ "practical-utility",
5932
+ "clean-base",
5933
+ "centered-calm"
5934
+ ],
5759
5935
  buttonPersonalityChoices: [
5760
5936
  buttonChoice("pebble"),
5761
5937
  buttonChoice("soft-pill"),
@@ -5772,7 +5948,10 @@ var curatedSiteStyles = [
5772
5948
  name: "Personal Retreat Journal",
5773
5949
  description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
5774
5950
  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.",
5775
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 40 },
5951
+ siteCreatorSelection: {
5952
+ kind: "site_creator_keyword_heuristic",
5953
+ priority: 40
5954
+ },
5776
5955
  selectionKeywordRules: [
5777
5956
  { kind: "substring", value: "retreat" },
5778
5957
  { kind: "phrase", value: "solo practitioner" },
@@ -5792,7 +5971,11 @@ var curatedSiteStyles = [
5792
5971
  motion: "subtle"
5793
5972
  },
5794
5973
  compositionBudget: balancedBudget,
5795
- recommendedHeaderLookIds: ["editorial-line", "centered-calm", "minimal-transparent"],
5974
+ recommendedHeaderLookIds: [
5975
+ "serif-line",
5976
+ "centered-calm",
5977
+ "minimal-transparent"
5978
+ ],
5796
5979
  buttonPersonalityChoices: [
5797
5980
  buttonChoice("editorial-link"),
5798
5981
  buttonChoice("soft-pill"),
@@ -5809,7 +5992,10 @@ var curatedSiteStyles = [
5809
5992
  name: "Tactile Workshop",
5810
5993
  description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
5811
5994
  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.",
5812
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 50 },
5995
+ siteCreatorSelection: {
5996
+ kind: "site_creator_keyword_heuristic",
5997
+ priority: 50
5998
+ },
5813
5999
  selectionKeywordRules: [
5814
6000
  { kind: "substring", value: "ceramic" },
5815
6001
  { kind: "word", value: "pottery" },
@@ -5829,8 +6015,15 @@ var curatedSiteStyles = [
5829
6015
  motion: "subtle"
5830
6016
  },
5831
6017
  compositionBudget: balancedBudget,
5832
- recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
5833
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
6018
+ recommendedHeaderLookIds: [
6019
+ "brand-solid",
6020
+ "practical-utility",
6021
+ "clean-base"
6022
+ ],
6023
+ recommendedFooterLookIds: [
6024
+ "site-footer-brand-two-band",
6025
+ "footer-muted-grounding"
6026
+ ],
5834
6027
  buttonPersonalityChoices: [
5835
6028
  buttonChoice("pebble"),
5836
6029
  buttonChoice("confident-chip"),
@@ -5849,7 +6042,10 @@ var curatedSiteStyles = [
5849
6042
  name: "Soft Earth",
5850
6043
  description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
5851
6044
  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.",
5852
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 45 },
6045
+ siteCreatorSelection: {
6046
+ kind: "site_creator_keyword_heuristic",
6047
+ priority: 45
6048
+ },
5853
6049
  selectionKeywordRules: [
5854
6050
  { kind: "word", value: "meditation" },
5855
6051
  { kind: "word", value: "wellbeing" },
@@ -5925,8 +6121,15 @@ var curatedSiteStyles = [
5925
6121
  "faq-soft-earth-two-column",
5926
6122
  "contact-form-panel"
5927
6123
  ],
5928
- recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "editorial-line"],
5929
- recommendedFooterLookIds: ["footer-muted-grounding", "site-footer-brand-two-band"],
6124
+ recommendedHeaderLookIds: [
6125
+ "centered-calm",
6126
+ "minimal-transparent",
6127
+ "serif-line"
6128
+ ],
6129
+ recommendedFooterLookIds: [
6130
+ "footer-muted-grounding",
6131
+ "site-footer-brand-two-band"
6132
+ ],
5930
6133
  buttonPersonalityChoices: [
5931
6134
  buttonChoice("earth-pill"),
5932
6135
  buttonChoice("soft-pill"),
@@ -5945,7 +6148,10 @@ var curatedSiteStyles = [
5945
6148
  name: "Bold Launch",
5946
6149
  description: "High-energy and punchy for launches, campaigns, and creative offers.",
5947
6150
  generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
5948
- siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 10 },
6151
+ siteCreatorSelection: {
6152
+ kind: "site_creator_keyword_heuristic",
6153
+ priority: 10
6154
+ },
5949
6155
  selectionKeywordRules: [
5950
6156
  { kind: "substring", value: "launch" },
5951
6157
  { kind: "substring", value: "campaign" },
@@ -5964,7 +6170,11 @@ var curatedSiteStyles = [
5964
6170
  motion: "expressive"
5965
6171
  },
5966
6172
  compositionBudget: expressiveBudget,
5967
- recommendedHeaderLookIds: ["transparent-overlay", "floating-glass", "brand-solid"],
6173
+ recommendedHeaderLookIds: [
6174
+ "transparent-overlay",
6175
+ "floating-glass",
6176
+ "brand-solid"
6177
+ ],
5968
6178
  buttonPersonalityChoices: [
5969
6179
  buttonChoice("ink-stamp"),
5970
6180
  buttonChoice("confident-chip"),
@@ -6015,8 +6225,15 @@ var curatedSiteStyles = [
6015
6225
  "testimonials-accent-quote-proof",
6016
6226
  "contact-form-brand-depth-card"
6017
6227
  ],
6018
- recommendedHeaderLookIds: ["brand-solid", "transparent-overlay", "practical-utility"],
6019
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
6228
+ recommendedHeaderLookIds: [
6229
+ "brand-solid",
6230
+ "transparent-overlay",
6231
+ "practical-utility"
6232
+ ],
6233
+ recommendedFooterLookIds: [
6234
+ "site-footer-brand-two-band",
6235
+ "footer-muted-grounding"
6236
+ ],
6020
6237
  buttonPersonalityChoices: [
6021
6238
  buttonChoice("showtime-pill"),
6022
6239
  buttonChoice("confident-chip"),
@@ -12299,15 +12516,21 @@ var mobileCta = ctaButton({
12299
12516
  var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
12300
12517
  {
12301
12518
  type: "div",
12302
- props: { className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
12519
+ props: {
12520
+ className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
12521
+ }
12303
12522
  },
12304
12523
  {
12305
12524
  type: "div",
12306
- props: { className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
12525
+ props: {
12526
+ className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
12527
+ }
12307
12528
  },
12308
12529
  {
12309
12530
  type: "div",
12310
- props: { className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current" }
12531
+ props: {
12532
+ className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
12533
+ }
12311
12534
  }
12312
12535
  ]);
12313
12536
  var mobileToggleButton = {
@@ -12490,28 +12713,6 @@ var floatingLayout = inline(
12490
12713
  ],
12491
12714
  when("$root.theme.header.variant", { equals: "floating" })
12492
12715
  );
12493
- var editorialLayout = stack(
12494
- {
12495
- gap: "md",
12496
- align: "center",
12497
- className: bindProp("$root.theme.header.maxWidth", {
12498
- transforms: pipe(
12499
- tx("layout.maxWidthClass", {
12500
- base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
12501
- })
12502
- ),
12503
- fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
12504
- })
12505
- },
12506
- [
12507
- centeredLogoRow,
12508
- createNavRow(
12509
- `${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
12510
- "center"
12511
- )
12512
- ],
12513
- when("$root.theme.header.variant", { equals: "editorial" })
12514
- );
12515
12716
  var headerLayout = headerSection(
12516
12717
  {
12517
12718
  background: bindProp("$root.theme.header", {
@@ -12525,10 +12726,7 @@ var headerLayout = headerSection(
12525
12726
  }),
12526
12727
  style: bindProp("$root.theme.header", {
12527
12728
  transforms: pipe(tx("layout.headerRootStyle")),
12528
- fallback: mergeStyles(
12529
- textColorStyle("text"),
12530
- borderColorStyle("border")
12531
- )
12729
+ fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
12532
12730
  })
12533
12731
  },
12534
12732
  [
@@ -12537,7 +12735,6 @@ var headerLayout = headerSection(
12537
12735
  centeredLayout,
12538
12736
  transparentLayout,
12539
12737
  floatingLayout,
12540
- editorialLayout,
12541
12738
  mobileOverlay
12542
12739
  ],
12543
12740
  props({