@riverbankcms/sdk 0.126.0 → 0.127.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/{PreviewEditorSidebar-DcYJxTgc.mjs → PreviewEditorSidebar-BXtfF7tp.mjs} +58 -38
  2. package/dist/{PreviewEditorUI-Ctt1yTJr.mjs → PreviewEditorUI-Dou73Q0K.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-CvW1vdQ4.mjs → SdkPreviewModeRuntime-B0HPXr-l.mjs} +119 -41
  4. package/dist/{SiteChromeCustomizeContext-C87qlKWw.mjs → SiteChromeCustomizeContext-DZiDBAYu.mjs} +9961 -9583
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  6. package/dist/_dts/api/src/contentRuntime.d.ts +1 -5
  7. package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
  9. package/dist/_dts/blocks/src/index.d.ts +3 -2
  10. package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
  11. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
  12. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
  13. package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  15. package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
  16. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
  17. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
  18. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +143 -155
  19. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
  20. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
  21. package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
  22. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  23. package/dist/_dts/media-editor/src/context.d.ts +1 -2
  24. package/dist/_dts/media-editor/src/index.d.ts +3 -1
  25. package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
  26. package/dist/_dts/media-editor/src/types.d.ts +3 -1
  27. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
  28. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  29. package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
  30. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  31. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
  32. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -49
  33. package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
  34. package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
  35. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
  36. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
  37. package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
  38. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
  39. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
  40. package/dist/_dts/sdk/src/version.d.ts +1 -1
  41. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
  42. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
  43. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
  44. package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
  45. package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
  46. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
  47. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
  48. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +25 -0
  49. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
  50. package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +9 -0
  51. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
  52. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  53. package/dist/_dts/theme-core/src/schema.d.ts +67 -19
  54. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
  55. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
  56. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
  57. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
  58. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
  59. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
  60. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
  61. package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
  62. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  63. package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
  64. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
  65. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
  69. package/dist/cli/index.mjs +973 -1081
  70. package/dist/client/{DiscountCodeDisclosure-DS0AuFWW.mjs → DiscountCodeDisclosure-BDFRp8Y7.mjs} +1 -1
  71. package/dist/client/{EventCombined.client-DtMxLr7q.mjs → EventCombined.client-DJgF1_lf.mjs} +2 -2
  72. package/dist/client/{EventListing.client-BdLSRNg1.mjs → EventListing.client-CnWGNjOr.mjs} +2 -2
  73. package/dist/client/{LeafletStaticMap-BrpC6vsT.mjs → LeafletStaticMap-BISs9Bl7.mjs} +1 -1
  74. package/dist/client/{MagicLinkForm-Bt3IuLMy.mjs → MagicLinkForm-b5E_HoG9.mjs} +1 -1
  75. package/dist/client/{StepIndicator-CBYPFVoy.mjs → StepIndicator-D8gVYkK-.mjs} +2 -2
  76. package/dist/client/{accordion-BqqwPJWM.mjs → accordion-DFDajgDz.mjs} +1 -1
  77. package/dist/client/{bookingForm-SneP3yxC.mjs → bookingForm-Bdqj9-52.mjs} +5 -5
  78. package/dist/client/bookings.mjs +126 -23
  79. package/dist/client/{carousel-BTIR9L3I.mjs → carousel-Cvqf-kN8.mjs} +1 -1
  80. package/dist/client/{cart-bqiqd8SX.mjs → cart-CuH2TJXP.mjs} +3 -3
  81. package/dist/client/{checkout-WbTFV5v4.mjs → checkout-CMNPpejZ.mjs} +3 -3
  82. package/dist/client/client.mjs +1227 -1209
  83. package/dist/client/{courseRegistration-BcemLAdN.mjs → courseRegistration-DTEYWL6Z.mjs} +6 -6
  84. package/dist/client/{eventCalendar-CsxIw0V_.mjs → eventCalendar-BW-XoxZ0.mjs} +4 -4
  85. package/dist/client/{eventCombined-B6XMoHfa.mjs → eventCombined-Bpn7s0y9.mjs} +2 -2
  86. package/dist/client/{eventDetails-BJaoPPfo.mjs → eventDetails-D2uUSTMH.mjs} +3 -3
  87. package/dist/client/{eventListing-DgwdYHRT.mjs → eventListing-CVr1c094.mjs} +2 -2
  88. package/dist/client/{eventRegistration-C0O3folu.mjs → eventRegistration-Dv4AvkMw.mjs} +6 -6
  89. package/dist/client/{form-Bk9txGFt.mjs → form-DxdKf9fs.mjs} +1 -1
  90. package/dist/client/{headerSection-yIBt0yTv.mjs → headerSection-BaXI5Sro.mjs} +2 -2
  91. package/dist/client/hooks.mjs +801 -874
  92. package/dist/client/{locationMap-C-3KIpv-.mjs → locationMap-BEtW2fKz.mjs} +2 -2
  93. package/dist/client/{newsletterForm-CzB8g8h2.mjs → newsletterForm-BKKs0S4R.mjs} +1 -1
  94. package/dist/client/{pricing-C1QeDes_.mjs → pricing-ClkqcElA.mjs} +1 -1
  95. package/dist/client/{productDetail-w7SBp5uc.mjs → productDetail-H-ru8dyy.mjs} +3 -3
  96. package/dist/client/{productList-D0tGKHGf.mjs → productList-Buyi5c0C.mjs} +3 -3
  97. package/dist/client/{propsDecoder-Bcin2DB3.mjs → propsDecoder-BF7i6Ijg.mjs} +127 -55
  98. package/dist/client/rendering/client.mjs +928 -916
  99. package/dist/client/rendering/islands.mjs +18 -18
  100. package/dist/client/rendering.mjs +1130 -1114
  101. package/dist/client/{scrollToBlock-h-o_STf_.mjs → scrollToBlock-D_7t8yWb.mjs} +1 -1
  102. package/dist/client/{shop-BGzmL8O_.mjs → shop-CF7SZQNX.mjs} +5 -5
  103. package/dist/client/{shop-commerce-lX8QxjX-.mjs → shop-commerce-DA7_Rq5p.mjs} +4 -4
  104. package/dist/client/{shop-commerce-store-CEurARtu.mjs → shop-commerce-store-BmLqW7Gh.mjs} +1 -1
  105. package/dist/client/{shopShared-DXxH8xxw.mjs → shopShared-WL-E1znM.mjs} +2 -2
  106. package/dist/client/{useEventFilters-B591g9vd.mjs → useEventFilters-rc8VLeLV.mjs} +2 -2
  107. package/dist/client/{usePolling-BvnChV4m.mjs → usePolling-1ncrfd4S.mjs} +2 -2
  108. package/dist/preview-next/client/runtime.mjs +3 -3
  109. package/dist/{sdk-runtime-M__i3Jce.mjs → sdk-runtime-BnrCCFJq.mjs} +1 -1
  110. package/dist/{separator-VSlnI9bc.mjs → separator-CFvBx2yl.mjs} +1 -1
  111. package/dist/server/components.mjs +1302 -1350
  112. package/dist/server/config-validation.mjs +801 -874
  113. package/dist/server/config.mjs +801 -874
  114. package/dist/server/data.mjs +801 -874
  115. package/dist/server/index.mjs +1 -1
  116. package/dist/server/next.mjs +1303 -1351
  117. package/dist/server/page-converter.mjs +801 -874
  118. package/dist/server/prebuild.mjs +1 -1
  119. package/dist/server/rendering/server.mjs +1296 -1344
  120. package/dist/server/rendering.mjs +1302 -1350
  121. package/dist/server/routing.mjs +869 -895
  122. package/dist/server/server.mjs +802 -875
  123. package/dist/server/theme-bridge.mjs +151 -118
  124. package/dist/server/theme.mjs +111 -23
  125. package/package.json +1 -1
  126. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
@@ -1793,11 +1793,9 @@ var init_types$15 = __esmMin((() => {
1793
1793
  "secondary",
1794
1794
  "outline",
1795
1795
  "ghost",
1796
- "link",
1797
- "tertiary",
1798
1796
  "accent"
1799
1797
  ];
1800
- buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only");
1798
+ buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only").refine((value) => value !== "link" && value !== "tertiary", { message: "Retired button role IDs are not valid variant IDs" });
1801
1799
  DEFAULT_VARIANT_ALIAS_ID = "default";
1802
1800
  opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => parseOpaqueButtonColourToken(value) !== null, "Button colour tokens must be opaque").transform((value) => {
1803
1801
  const token = parseOpaqueButtonColourToken(value);
@@ -2244,7 +2242,7 @@ function canonicalPaletteHashInput(colors, mode) {
2244
2242
  return `${mode}|${paletteColorFingerprint(colors)}`;
2245
2243
  }
2246
2244
  /**
2247
- * The shared TypeScript/SQL protocol. Do not reorder roles: the order comes
2245
+ * Stable curated-catalogue identity. Do not reorder roles: the order comes
2248
2246
  * from PALETTE_TOKEN_NAMES through canonicalPaletteHashInput.
2249
2247
  */
2250
2248
  function paletteValueKey(colors, mode) {
@@ -3385,6 +3383,77 @@ var init_tokenOrColor = __esmMin((() => {
3385
3383
  ]);
3386
3384
  }));
3387
3385
  //#endregion
3386
+ //#region ../theme-core/src/responsive/breakpoints.ts
3387
+ function mqUp(px) {
3388
+ return `(min-width: ${px}px)`;
3389
+ }
3390
+ function mqDown(px) {
3391
+ return `(max-width: ${px}px)`;
3392
+ }
3393
+ function mqBetween(minPx, maxPx) {
3394
+ return `${mqUp(minPx)} and ${mqDown(maxPx)}`;
3395
+ }
3396
+ var BREAKPOINT_LG, BREAKPOINT_XL, BREAKPOINT_LG_DOWN;
3397
+ var init_breakpoints = __esmMin((() => {
3398
+ BREAKPOINT_LG = 1024;
3399
+ BREAKPOINT_XL = 1280;
3400
+ BREAKPOINT_LG_DOWN = BREAKPOINT_LG - 1;
3401
+ mqUp(640);
3402
+ mqUp(768);
3403
+ mqUp(BREAKPOINT_LG);
3404
+ mqUp(BREAKPOINT_XL);
3405
+ mqDown(639);
3406
+ mqDown(767);
3407
+ mqDown(BREAKPOINT_LG_DOWN);
3408
+ mqBetween(640, BREAKPOINT_LG_DOWN);
3409
+ mqDown(640);
3410
+ mqDown(768);
3411
+ }));
3412
+ var init_paintTargets = __esmMin((() => {
3413
+ init_breakpoints();
3414
+ }));
3415
+ var headerScrollTreatmentSchema;
3416
+ var init_scrollTreatment = __esmMin((() => {
3417
+ init_paintTargets();
3418
+ headerScrollTreatmentSchema = z$1.discriminatedUnion("kind", [z$1.object({
3419
+ kind: z$1.literal("contrast-glass"),
3420
+ backgroundTone: z$1.enum(["light", "dark"])
3421
+ })]).optional();
3422
+ }));
3423
+ //#endregion
3424
+ //#region ../theme-core/src/header/containerSchema.ts
3425
+ var headerContainerSchema;
3426
+ var init_containerSchema = __esmMin((() => {
3427
+ headerContainerSchema = z$1.object({
3428
+ rounded: z$1.enum([
3429
+ "none",
3430
+ "sm",
3431
+ "md",
3432
+ "lg",
3433
+ "xl",
3434
+ "2xl"
3435
+ ]).default("xl"),
3436
+ border: z$1.boolean().default(true),
3437
+ shadow: z$1.boolean().default(true),
3438
+ padding: z$1.enum([
3439
+ "sm",
3440
+ "md",
3441
+ "lg"
3442
+ ]).default("md"),
3443
+ tint: z$1.string().nullable().optional(),
3444
+ opacity: z$1.number().min(0).max(1).default(.12)
3445
+ }).optional();
3446
+ }));
3447
+ var headerInteractionPaletteValues, headerInteractionPaletteSchema;
3448
+ var init_interactionPalette = __esmMin((() => {
3449
+ headerInteractionPaletteValues = [
3450
+ "primary",
3451
+ "secondary",
3452
+ "accent"
3453
+ ];
3454
+ headerInteractionPaletteSchema = z$1.enum(headerInteractionPaletteValues);
3455
+ }));
3456
+ //#endregion
3388
3457
  //#region ../theme-core/src/schema.ts
3389
3458
  /**
3390
3459
  * Normalises the legacy `navTypography` font-role alias into the canonical
@@ -3400,7 +3469,7 @@ function normaliseHeaderNavFontRole(header) {
3400
3469
  navFontRole: navTypography
3401
3470
  } : rest;
3402
3471
  }
3403
- var axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, boxBackgroundOverlaySchema, boxBackgroundSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle$1, headerVariant, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBarFrame, headerContainerSchema, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, navEffectsSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, gradientsSchema, testimonialQuoteTreatmentSchema, themeSchema;
3472
+ var axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, boxBackgroundOverlaySchema, boxBackgroundSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle$1, headerVariant, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBarFrame, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, navEffectsSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, gradientsSchema, testimonialQuoteTreatmentSchema, themeSchema;
3404
3473
  var init_schema$2 = __esmMin((() => {
3405
3474
  init_media$2();
3406
3475
  init_schema$3();
@@ -3418,6 +3487,9 @@ var init_schema$2 = __esmMin((() => {
3418
3487
  init_rawStyleFields();
3419
3488
  init_themeColorTokens();
3420
3489
  init_tokenOrColor();
3490
+ init_scrollTreatment();
3491
+ init_containerSchema();
3492
+ init_interactionPalette();
3421
3493
  axesSchema = z$1.object({
3422
3494
  tone: z$1.enum([
3423
3495
  "minimal",
@@ -3825,25 +3897,6 @@ var init_schema$2 = __esmMin((() => {
3825
3897
  ]);
3826
3898
  headerMaxWidth = z$1.enum(["container", "full"]);
3827
3899
  headerBarFrame = z$1.enum(["full-bleed", "inset-shell"]);
3828
- headerContainerSchema = z$1.object({
3829
- rounded: z$1.enum([
3830
- "none",
3831
- "sm",
3832
- "md",
3833
- "lg",
3834
- "xl",
3835
- "2xl"
3836
- ]).default("xl"),
3837
- border: z$1.boolean().default(true),
3838
- shadow: z$1.boolean().default(true),
3839
- padding: z$1.enum([
3840
- "sm",
3841
- "md",
3842
- "lg"
3843
- ]).default("md"),
3844
- tint: z$1.string().nullable().optional(),
3845
- opacity: z$1.number().min(0).max(1).default(.12)
3846
- }).optional();
3847
3900
  headerBorderSchema = componentBorderSchema.extend({ position: z$1.enum([
3848
3901
  "bottom",
3849
3902
  "top",
@@ -3966,6 +4019,7 @@ var init_schema$2 = __esmMin((() => {
3966
4019
  shrinkOnScroll: z$1.boolean(),
3967
4020
  maxWidth: headerMaxWidth,
3968
4021
  barFrame: headerBarFrame.optional(),
4022
+ scrollTreatment: headerScrollTreatmentSchema,
3969
4023
  logoOverride: mediaSchema$1.nullable().optional(),
3970
4024
  background: headerBackgroundSchema.default({
3971
4025
  type: "color",
@@ -3978,6 +4032,7 @@ var init_schema$2 = __esmMin((() => {
3978
4032
  navFontRole: z$1.enum(["body", "heading"]).optional(),
3979
4033
  navTypography: z$1.enum(["body", "heading"]).optional(),
3980
4034
  navTextSize: navLinkStyleSchema.shape.textSize,
4035
+ interactionPalette: headerInteractionPaletteSchema.optional(),
3981
4036
  navPlacement: z$1.enum(["end", "center"]).optional(),
3982
4037
  container: headerContainerSchema,
3983
4038
  border: headerBorderSchema,
@@ -4407,7 +4462,6 @@ var init_classNames = __esmMin((() => {
4407
4462
  init_types$15();
4408
4463
  }));
4409
4464
  var init_generateBaseCSS = __esmMin((() => {}));
4410
- var init_background$2 = __esmMin((() => {}));
4411
4465
  var STATE_SELECTORS;
4412
4466
  var init_cssUtils = __esmMin((() => {
4413
4467
  STATE_SELECTORS = {
@@ -4417,6 +4471,64 @@ var init_cssUtils = __esmMin((() => {
4417
4471
  base: ""
4418
4472
  };
4419
4473
  }));
4474
+ //#endregion
4475
+ //#region ../theme-core/src/buttons/effects/presets/background.ts
4476
+ function shadeBackgroundEffect(config) {
4477
+ return {
4478
+ id: config.id,
4479
+ name: config.name,
4480
+ description: config.description,
4481
+ category: "background",
4482
+ pseudoElement: "none",
4483
+ applicableTo: ["button"],
4484
+ customizableOption: {
4485
+ name: "amount",
4486
+ type: "select",
4487
+ label: config.label,
4488
+ default: 100,
4489
+ options: [
4490
+ 0,
4491
+ 100,
4492
+ 200,
4493
+ 300,
4494
+ 400,
4495
+ 500,
4496
+ 600,
4497
+ 700,
4498
+ 800,
4499
+ 900
4500
+ ]
4501
+ },
4502
+ isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
4503
+ generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
4504
+ if (buttonConfig.background.type !== "solid") return "";
4505
+ const amount = (options.amount || 100) * config.shadeDirection;
4506
+ const baseToken = buttonConfig.background.colorToken ?? "primary-500";
4507
+ return `
4508
+ :where([data-theme-scope="${themeId}"]) .${variantId}:hover {
4509
+ background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
4510
+ }
4511
+ `;
4512
+ }
4513
+ };
4514
+ }
4515
+ var init_background$2 = __esmMin((() => {
4516
+ init_cssUtils();
4517
+ shadeBackgroundEffect({
4518
+ id: "darken-background",
4519
+ name: "Darken on Hover",
4520
+ description: "Darkens the background color on hover",
4521
+ label: "Darken Amount (shade step)",
4522
+ shadeDirection: 1
4523
+ });
4524
+ shadeBackgroundEffect({
4525
+ id: "lighten-background",
4526
+ name: "Lighten on Hover",
4527
+ description: "Lightens the background color on hover",
4528
+ label: "Lighten Amount (shade step)",
4529
+ shadeDirection: -1
4530
+ });
4531
+ }));
4420
4532
  var init_shadow = __esmMin((() => {
4421
4533
  init_cssUtils();
4422
4534
  }));
@@ -10333,40 +10445,6 @@ function resolveButtonAffordance(input) {
10333
10445
  if (nodeIcon) return { iconId: nodeIcon };
10334
10446
  return null;
10335
10447
  }
10336
- //#endregion
10337
- //#region ../blocks/src/system/constants/buttonRoles.ts
10338
- /**
10339
- * Temporary rollout boundary for persisted content written before issue #1220.
10340
- * Authoring remains strict through `blockButtonRoleSchema`; this parser exists
10341
- * only until the post-deploy role rewrite has been audited in production.
10342
- */
10343
- function canonicalizePersistedBlockButtonRole(value) {
10344
- return value === "link" || value === "tertiary" ? "ghost" : value;
10345
- }
10346
- function isBlockButtonRole(value) {
10347
- return blockButtonRoleSchema.safeParse(value).success;
10348
- }
10349
- var BLOCK_BUTTON_ROLES, blockButtonRoleSchema, persistedBlockButtonRoleSchema, BLOCK_BUTTON_ROLE_LABELS, BLOCK_BUTTON_ROLE_OPTIONS;
10350
- var init_buttonRoles = __esmMin((() => {
10351
- init_buttons();
10352
- BLOCK_BUTTON_ROLES = PUBLIC_BUTTON_ROLES;
10353
- blockButtonRoleSchema = z$1.enum(BLOCK_BUTTON_ROLES);
10354
- persistedBlockButtonRoleSchema = z$1.preprocess((value) => typeof value === "string" ? canonicalizePersistedBlockButtonRole(value) : value, blockButtonRoleSchema);
10355
- BLOCK_BUTTON_ROLE_LABELS = {
10356
- primary: "Primary",
10357
- secondary: "Secondary",
10358
- outline: "Outline",
10359
- ghost: "Ghost",
10360
- accent: "Accent"
10361
- };
10362
- BLOCK_BUTTON_ROLE_OPTIONS = BLOCK_BUTTON_ROLES.map((value) => ({
10363
- value,
10364
- label: BLOCK_BUTTON_ROLE_LABELS[value]
10365
- }));
10366
- }));
10367
- //#endregion
10368
- //#region ../blocks/src/system/inlineText.ts
10369
- init_buttonRoles();
10370
10448
  const inlineTextMarkSchema = z$1.discriminatedUnion("kind", [
10371
10449
  z$1.object({ kind: z$1.literal("strong") }),
10372
10450
  z$1.object({ kind: z$1.literal("emphasis") }),
@@ -10653,6 +10731,9 @@ function renderTrailingAffordanceIcon(affordance) {
10653
10731
  className: "rb-ml-2 rb-h-4 rb-w-4 rb-inline-block"
10654
10732
  });
10655
10733
  }
10734
+ function isMissingRequiredLink(linkRequired, resolvedHref) {
10735
+ return linkRequired && resolvedHref.length === 0;
10736
+ }
10656
10737
  const ButtonNode = ({ value, children, href, variantId = "primary", size = "md", disabled, type = "button", target, rel, linkRequired = false, trailingIcon, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, className, ...rest }) => {
10657
10738
  const content = value ?? children;
10658
10739
  if (!content) {
@@ -10661,12 +10742,16 @@ const ButtonNode = ({ value, children, href, variantId = "primary", size = "md",
10661
10742
  }
10662
10743
  const affordanceIcon = renderTrailingAffordanceIcon(resolveButtonAffordance({ trailingIcon }));
10663
10744
  const resolvedHref = typeof href === "string" ? href.trim() : "";
10664
- if (linkRequired && resolvedHref.length === 0) {
10745
+ if (isMissingRequiredLink(linkRequired, resolvedHref)) {
10665
10746
  console.warn("[ButtonNode] Missing href for link-required button");
10666
10747
  return null;
10667
10748
  }
10668
10749
  const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
10669
- const resolvedVariantId = parseThemeButtonVariantId(canonicalizePersistedBlockButtonRole(variantId));
10750
+ const resolvedVariantId = parseThemeButtonVariantId(variantId);
10751
+ if (variantId && !resolvedVariantId) {
10752
+ console.error("[ButtonNode] Invalid button variant", { variantId });
10753
+ return null;
10754
+ }
10670
10755
  const combinedClassName = resolvedVariantId ? themeButtonClassName({
10671
10756
  variant: resolvedVariantId,
10672
10757
  size,
@@ -11016,8 +11101,7 @@ const FeatureCardIconNode = ({ value, treatment, generatedIconSizePx, className,
11016
11101
  * in Server Component context. For client-side error handling,
11017
11102
  * use MediaNode from media.client.tsx via the client registry.
11018
11103
  */
11019
- var MediaNodeServer;
11020
- var init_media_server = __esmMin((() => {
11104
+ var MediaNodeServer, init_media_server = __esmMin((() => {
11021
11105
  init_media$1();
11022
11106
  MediaNodeServer = ({ value, className, style, videoPlayback = "inline", loading = "lazy", fetchPriority, size = ImagePresets.full, fieldPath, blockKind, blockContent, imageResolveContext: explicitImageResolveContext }) => {
11023
11107
  const imageResolveContext = explicitImageResolveContext ?? getCurrentResolveImageUrlContext();
@@ -11049,7 +11133,7 @@ var init_media_server = __esmMin((() => {
11049
11133
  decoding: "async"
11050
11134
  });
11051
11135
  };
11052
- })), PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema, rotationSchema, rectSchema, aspectCropSchema, transformSchema, mediaPosterSchema, mediaBaseSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema;
11136
+ })), PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema, rotationSchema, rectSchema, aspectCropSchema, transformSchema, mediaPosterSchema, mediaBaseSchema, mediaIdentifierSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema, persistableMediaBaseSchema;
11053
11137
  var init_media = __esmMin((() => {
11054
11138
  init_src$2();
11055
11139
  PUBLIC_DOWNLOAD_MEDIA_TYPES = [
@@ -11116,6 +11200,7 @@ var init_media = __esmMin((() => {
11116
11200
  poster: mediaPosterSchema.optional(),
11117
11201
  transform: transformSchema.optional()
11118
11202
  });
11203
+ mediaIdentifierSchema = z.string().trim().min(1).brand();
11119
11204
  imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
11120
11205
  videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
11121
11206
  audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
@@ -11130,6 +11215,37 @@ var init_media = __esmMin((() => {
11130
11215
  spreadsheetMediaSchema,
11131
11216
  archiveMediaSchema
11132
11217
  ]);
11218
+ persistableMediaBaseSchema = mediaBaseSchema.extend({ identifier: mediaIdentifierSchema });
11219
+ z.discriminatedUnion("type", [
11220
+ persistableMediaBaseSchema.extend({ type: z.literal("image") }),
11221
+ persistableMediaBaseSchema.extend({ type: z.literal("video") }),
11222
+ persistableMediaBaseSchema.extend({ type: z.literal("audio") }),
11223
+ persistableMediaBaseSchema.extend({ type: z.literal("document") }),
11224
+ persistableMediaBaseSchema.extend({ type: z.literal("spreadsheet") }),
11225
+ persistableMediaBaseSchema.extend({ type: z.literal("archive") })
11226
+ ]);
11227
+ }));
11228
+ //#endregion
11229
+ //#region ../blocks/src/system/constants/buttonRoles.ts
11230
+ function isBlockButtonRole(value) {
11231
+ return blockButtonRoleSchema.safeParse(value).success;
11232
+ }
11233
+ var BLOCK_BUTTON_ROLES, blockButtonRoleSchema, BLOCK_BUTTON_ROLE_LABELS, BLOCK_BUTTON_ROLE_OPTIONS;
11234
+ var init_buttonRoles = __esmMin((() => {
11235
+ init_buttons();
11236
+ BLOCK_BUTTON_ROLES = PUBLIC_BUTTON_ROLES;
11237
+ blockButtonRoleSchema = z$1.enum(BLOCK_BUTTON_ROLES);
11238
+ BLOCK_BUTTON_ROLE_LABELS = {
11239
+ primary: "Primary",
11240
+ secondary: "Secondary",
11241
+ outline: "Outline",
11242
+ ghost: "Ghost",
11243
+ accent: "Accent"
11244
+ };
11245
+ BLOCK_BUTTON_ROLE_OPTIONS = BLOCK_BUTTON_ROLES.map((value) => ({
11246
+ value,
11247
+ label: BLOCK_BUTTON_ROLE_LABELS[value]
11248
+ }));
11133
11249
  }));
11134
11250
  //#endregion
11135
11251
  //#region ../blocks/src/system/runtime/nodes/file-download.tsx
@@ -11170,8 +11286,9 @@ function iconForMediaType(type) {
11170
11286
  });
11171
11287
  }
11172
11288
  }
11173
- function normalizeButtonVariant(value) {
11174
- return isBlockButtonRole(value) ? value : "primary";
11289
+ function parseButtonVariant(value) {
11290
+ if (value === null || value === void 0) return "primary";
11291
+ return isBlockButtonRole(value) ? value : null;
11175
11292
  }
11176
11293
  function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className }) {
11177
11294
  if (!value || !isDownloadableMediaType(value.type)) return null;
@@ -11181,7 +11298,11 @@ function FileDownloadNode({ value, title, description, buttonLabel, buttonVarian
11181
11298
  const heading = title?.trim() || filename;
11182
11299
  const body = description?.trim();
11183
11300
  const label = buttonLabel?.trim() || "Download";
11184
- const variant = normalizeButtonVariant(buttonVariant);
11301
+ const variant = parseButtonVariant(buttonVariant);
11302
+ if (!variant) {
11303
+ console.error("[FileDownloadNode] Invalid button variant", { buttonVariant });
11304
+ return null;
11305
+ }
11185
11306
  return /* @__PURE__ */ jsx("div", {
11186
11307
  className,
11187
11308
  children: /* @__PURE__ */ jsxs("div", {
@@ -15786,7 +15907,7 @@ var init_contract_schemas = __esmMin((() => {
15786
15907
  init_buttonRoles();
15787
15908
  previewStageSchema = z$1.enum(["preview", "published"]);
15788
15909
  registrationButtonVariantSchema = blockButtonRoleSchema;
15789
- eventButtonVariantSchema = persistedBlockButtonRoleSchema;
15910
+ eventButtonVariantSchema = blockButtonRoleSchema;
15790
15911
  eventLayoutSchema = z$1.enum(eventCalendarListLayoutValues);
15791
15912
  eventCalendarDisplayModeSchema = z$1.enum(eventCalendarDisplayModeValues);
15792
15913
  eventCalendarDefaultViewSchema = z$1.enum(eventCalendarDefaultViewValues);
@@ -18724,10 +18845,22 @@ var init_accessibleSurfaces = __esmMin((() => {
18724
18845
  init_onColor();
18725
18846
  }));
18726
18847
  //#endregion
18848
+ //#region ../theme-core/src/site-styles/lookOptionGroups.ts
18849
+ function defineLookOptionGroup(group) {
18850
+ defaultOption(group);
18851
+ return group;
18852
+ }
18853
+ function defaultOption(group) {
18854
+ const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
18855
+ if (option) return option;
18856
+ throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
18857
+ }
18858
+ var init_lookOptionGroups = __esmMin((() => {}));
18859
+ //#endregion
18727
18860
  //#region ../theme-core/src/site-styles/appearancePresetResolution.ts
18728
18861
  function assertValidOptionGroups(preset) {
18729
18862
  preset.optionGroups?.forEach((group) => {
18730
- if (!group.options.find((option) => option.id === group.selectedOptionId)) throw new Error(`Appearance preset "${preset.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`);
18863
+ defineLookOptionGroup(group);
18731
18864
  });
18732
18865
  }
18733
18866
  function defineBlockAppearancePreset(preset) {
@@ -18735,772 +18868,655 @@ function defineBlockAppearancePreset(preset) {
18735
18868
  return preset;
18736
18869
  }
18737
18870
  var init_appearancePresetResolution = __esmMin((() => {
18871
+ init_lookOptionGroups();
18738
18872
  init_types$9();
18739
- }));
18740
- //#endregion
18741
- //#region ../theme-core/src/site-styles/blockAppearancePresets.ts
18742
- var blockAppearancePresets;
18873
+ })), brandScrimOptionGroups, microBannerLayoutPatches;
18743
18874
  var init_blockAppearancePresets = __esmMin((() => {
18744
18875
  init_appearancePresetResolution();
18745
18876
  init_types$9();
18746
- blockAppearancePresets = [
18747
- defineBlockAppearancePreset({
18748
- kind: "block-design",
18749
- id: "hero-immersive-image",
18750
- target: "hero",
18751
- label: "Immersive image hero",
18752
- blockKinds: ["block.hero"],
18753
- constraints: { layoutFamilies: ["centered", "compact"] },
18754
- layoutPatches: [{
18755
- constraints: { layoutVariantKeys: ["micro"] },
18756
- designPatch: {
18757
- sectionHeight: "banner",
18758
- heroTypographyScale: "display"
18759
- }
18760
- }],
18761
- design: {
18762
- sectionSurface: "hero-image",
18763
- contentFrame: plainFrame,
18764
- itemSurface: "none",
18765
- sectionHeight: "hero",
18766
- heroComposition: "center",
18767
- heroTypographyScale: "display",
18768
- imageSurfaceTreatment: { kind: "neutral-wash" }
18877
+ brandScrimOptionGroups = [{
18878
+ id: "image-surface-treatment",
18879
+ label: "Treatment",
18880
+ defaultOptionId: "brand-scrim-primary",
18881
+ options: [{
18882
+ id: "brand-scrim-primary",
18883
+ label: "Brand scrim",
18884
+ designPatch: { imageSurfaceTreatment: {
18885
+ kind: "brand-scrim",
18886
+ token: "primary"
18887
+ } }
18888
+ }, {
18889
+ id: "neutral-scrim",
18890
+ label: "Neutral scrim",
18891
+ designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
18892
+ }]
18893
+ }];
18894
+ microBannerLayoutPatches = [{
18895
+ constraints: { layoutVariantKeys: ["micro"] },
18896
+ designPatch: { sectionHeight: "banner" }
18897
+ }];
18898
+ defineBlockAppearancePreset({
18899
+ id: "hero-immersive-image",
18900
+ target: "hero",
18901
+ label: "Immersive image hero",
18902
+ blockKinds: ["block.hero"],
18903
+ constraints: { layoutFamilies: ["centered", "compact"] },
18904
+ layoutPatches: [{
18905
+ constraints: { layoutVariantKeys: ["micro"] },
18906
+ designPatch: {
18907
+ sectionHeight: "banner",
18908
+ heroTypographyScale: "display"
18769
18909
  }
18770
- }),
18771
- defineBlockAppearancePreset({
18772
- kind: "block-design",
18773
- id: "hero-bottom-left-panel",
18774
- target: "hero",
18775
- label: "Bottom-left panel hero",
18776
- blockKinds: ["block.hero"],
18777
- constraints: { layoutFamilies: ["centered", "compact"] },
18778
- optionGroups: [{
18779
- id: "image-surface-treatment",
18780
- label: "Treatment",
18781
- selectedOptionId: "neutral-scrim",
18782
- options: [{
18783
- id: "neutral-scrim",
18784
- label: "Neutral scrim",
18785
- designPatch: { imageSurfaceTreatment: {
18786
- kind: "neutral-scrim",
18787
- intensity: "balanced"
18788
- } }
18789
- }, {
18790
- id: "brand-scrim-primary",
18791
- label: "Brand scrim",
18792
- designPatch: { imageSurfaceTreatment: {
18793
- kind: "brand-scrim",
18794
- token: "primary",
18795
- intensity: "balanced"
18796
- } }
18797
- }]
18798
- }],
18799
- layoutPatches: [{
18800
- constraints: { layoutVariantKeys: ["micro"] },
18801
- designPatch: {
18802
- sectionHeight: "banner",
18803
- heroTypographyScale: "editorial"
18804
- }
18805
- }],
18806
- design: {
18807
- sectionSurface: "hero-image",
18808
- contentFrame: panelFrame("raised"),
18809
- itemSurface: "none",
18810
- sectionHeight: "immersive",
18811
- heroComposition: "bottom-left",
18812
- heroTypographyScale: "display",
18813
- imageSurfaceTreatment: {
18910
+ }],
18911
+ design: {
18912
+ sectionSurface: "hero-image",
18913
+ contentFrame: plainFrame,
18914
+ itemSurface: "none",
18915
+ sectionHeight: "hero",
18916
+ heroComposition: "center",
18917
+ heroTypographyScale: "display",
18918
+ imageSurfaceTreatment: { kind: "neutral-wash" }
18919
+ }
18920
+ }), defineBlockAppearancePreset({
18921
+ id: "hero-bottom-left-panel",
18922
+ target: "hero",
18923
+ label: "Bottom-left panel hero",
18924
+ blockKinds: ["block.hero"],
18925
+ constraints: { layoutFamilies: ["centered", "compact"] },
18926
+ optionGroups: [{
18927
+ id: "image-surface-treatment",
18928
+ label: "Treatment",
18929
+ defaultOptionId: "neutral-scrim",
18930
+ options: [{
18931
+ id: "neutral-scrim",
18932
+ label: "Neutral scrim",
18933
+ designPatch: { imageSurfaceTreatment: {
18814
18934
  kind: "neutral-scrim",
18815
18935
  intensity: "balanced"
18816
- }
18817
- }
18818
- }),
18819
- defineBlockAppearancePreset({
18820
- kind: "block-design",
18821
- id: "hero-poster-image",
18822
- target: "hero",
18823
- label: "Poster image hero",
18824
- blockKinds: ["block.hero"],
18825
- constraints: { layoutFamilies: ["centered", "compact"] },
18826
- layoutPatches: [{
18827
- constraints: { layoutVariantKeys: ["micro"] },
18828
- designPatch: {
18829
- sectionHeight: "banner",
18830
- heroTypographyScale: "display"
18831
- }
18832
- }],
18833
- design: {
18834
- sectionSurface: "hero-image",
18835
- contentFrame: plainFrame,
18836
- itemSurface: "none",
18837
- sectionHeight: "immersive",
18838
- heroComposition: "center",
18839
- heroTypographyScale: "poster",
18840
- imageSurfaceTreatment: {
18936
+ } }
18937
+ }, {
18938
+ id: "brand-scrim-primary",
18939
+ label: "Brand scrim",
18940
+ designPatch: { imageSurfaceTreatment: {
18841
18941
  kind: "brand-scrim",
18842
18942
  token: "primary",
18843
- intensity: "strong"
18844
- }
18845
- }
18846
- }),
18847
- defineBlockAppearancePreset({
18848
- kind: "block-design",
18849
- id: "hero-brand-scrim",
18850
- target: "hero",
18851
- label: "Brand scrim image hero",
18852
- blockKinds: ["block.hero"],
18853
- constraints: { layoutFamilies: ["centered", "compact"] },
18854
- optionGroups: [{
18855
- id: "image-surface-treatment",
18856
- label: "Treatment",
18857
- selectedOptionId: "brand-scrim-primary",
18858
- options: [{
18859
- id: "brand-scrim-primary",
18860
- label: "Brand scrim",
18861
- designPatch: { imageSurfaceTreatment: {
18862
- kind: "brand-scrim",
18863
- token: "primary"
18864
- } }
18865
- }, {
18866
- id: "neutral-scrim",
18867
- label: "Neutral scrim",
18868
- designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
18869
- }]
18870
- }],
18871
- layoutPatches: [{
18872
- constraints: { layoutVariantKeys: ["micro"] },
18873
- designPatch: { sectionHeight: "banner" }
18874
- }],
18875
- design: {
18876
- sectionSurface: "hero-image",
18877
- contentFrame: plainFrame,
18878
- itemSurface: "none",
18879
- sectionHeight: "immersive",
18880
- heroComposition: "center",
18881
- heroTypographyScale: "display",
18882
- imageSurfaceTreatment: {
18883
- kind: "brand-scrim",
18884
- token: "primary"
18885
- }
18886
- }
18887
- }),
18888
- defineBlockAppearancePreset({
18889
- kind: "block-design",
18890
- id: "hero-brand-scrim-fixed-frame",
18891
- target: "hero",
18892
- label: "Fixed-frame brand scrim hero",
18893
- blockKinds: ["block.hero"],
18894
- constraints: { layoutFamilies: ["centered", "compact"] },
18895
- optionGroups: [{
18896
- id: "image-surface-treatment",
18897
- label: "Treatment",
18898
- selectedOptionId: "brand-scrim-primary",
18899
- options: [{
18900
- id: "brand-scrim-primary",
18901
- label: "Brand scrim",
18902
- designPatch: { imageSurfaceTreatment: {
18903
- kind: "brand-scrim",
18904
- token: "primary"
18905
- } }
18906
- }, {
18907
- id: "neutral-scrim",
18908
- label: "Neutral scrim",
18909
- designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
18910
- }]
18911
- }],
18912
- layoutPatches: [{
18913
- constraints: { layoutVariantKeys: ["micro"] },
18914
- designPatch: { sectionHeight: "banner" }
18915
- }],
18916
- design: {
18917
- sectionSurface: "hero-image",
18918
- contentFrame: plainFrame,
18919
- itemSurface: "none",
18920
- sectionHeight: "immersive",
18921
- heroComposition: "center",
18922
- heroTypographyScale: "display",
18923
- imageSurfaceTreatment: {
18924
- kind: "brand-scrim",
18925
- token: "primary"
18926
- },
18927
- imageSurfaceMotion: "fixed-frame",
18928
- eyebrowTreatment: "accent-pill-bounce"
18929
- }
18930
- }),
18931
- defineBlockAppearancePreset({
18932
- kind: "block-design",
18933
- id: "hero-brand-depth-expressive",
18934
- target: "hero",
18935
- label: "Expressive brand-depth hero",
18936
- blockKinds: ["block.hero"],
18937
- constraints: { layoutFamilies: ["centered", "compact"] },
18938
- design: {
18939
- sectionSurface: "brand-depth-band",
18940
- contentFrame: plainFrame,
18941
- itemSurface: "none",
18942
- heroComposition: "center",
18943
- heroTypographyScale: "editorial",
18944
- eyebrowTreatment: "accent-pill-bounce"
18945
- }
18946
- }),
18947
- defineBlockAppearancePreset({
18948
- kind: "block-design",
18949
- id: "hero-contained-intro",
18950
- target: "hero",
18951
- label: "Contained intro hero",
18952
- blockKinds: ["block.hero"],
18953
- design: {
18954
- sectionSurface: "muted-band",
18955
- contentFrame: panelFrame("inset"),
18956
- itemSurface: "none",
18957
- heroComposition: "center",
18958
- heroTypographyScale: "editorial"
18959
- }
18960
- }),
18961
- defineBlockAppearancePreset({
18962
- kind: "block-design",
18963
- id: "hero-split-editorial",
18964
- target: "hero",
18965
- label: "Editorial split hero",
18966
- blockKinds: ["block.hero"],
18967
- constraints: { layoutFamilies: ["split"] },
18968
- design: {
18969
- sectionSurface: "base",
18970
- contentFrame: plainFrame,
18971
- itemSurface: "none",
18943
+ intensity: "balanced"
18944
+ } }
18945
+ }]
18946
+ }],
18947
+ layoutPatches: [{
18948
+ constraints: { layoutVariantKeys: ["micro"] },
18949
+ designPatch: {
18950
+ sectionHeight: "banner",
18972
18951
  heroTypographyScale: "editorial"
18973
18952
  }
18974
- }),
18975
- defineBlockAppearancePreset({
18976
- kind: "block-design",
18977
- id: "hero-split-brand",
18978
- target: "hero",
18979
- label: "Brand split hero",
18980
- blockKinds: ["block.hero"],
18981
- constraints: { layoutFamilies: ["split"] },
18982
- design: {
18983
- sectionSurface: "brand-depth-band",
18984
- contentFrame: plainFrame,
18985
- itemSurface: "none",
18986
- heroTypographyScale: "display",
18987
- eyebrowTreatment: "accent-pill-bounce"
18988
- }
18989
- }),
18990
- defineBlockAppearancePreset({
18991
- kind: "block-design",
18992
- id: "hero-split-soft-panel",
18993
- target: "hero",
18994
- label: "Soft panel split hero",
18995
- blockKinds: ["block.hero"],
18996
- constraints: { layoutFamilies: ["split"] },
18997
- design: {
18998
- sectionSurface: "muted-band",
18999
- contentFrame: panelFrame("raised"),
19000
- itemSurface: "none",
19001
- heroTypographyScale: "editorial"
18953
+ }],
18954
+ design: {
18955
+ sectionSurface: "hero-image",
18956
+ contentFrame: panelFrame("raised"),
18957
+ itemSurface: "none",
18958
+ sectionHeight: "immersive",
18959
+ heroComposition: "bottom-left",
18960
+ heroTypographyScale: "display",
18961
+ imageSurfaceTreatment: {
18962
+ kind: "neutral-scrim",
18963
+ intensity: "balanced"
19002
18964
  }
19003
- }),
19004
- defineBlockAppearancePreset({
19005
- kind: "block-design",
19006
- id: "hero-split-accent",
19007
- target: "hero",
19008
- label: "Accent split hero",
19009
- blockKinds: ["block.hero"],
19010
- constraints: { layoutFamilies: ["split"] },
19011
- design: {
19012
- sectionSurface: "accent-band",
19013
- contentFrame: panelFrame("raised"),
19014
- itemSurface: "none",
18965
+ }
18966
+ }), defineBlockAppearancePreset({
18967
+ id: "hero-poster-image",
18968
+ target: "hero",
18969
+ label: "Poster image hero",
18970
+ blockKinds: ["block.hero"],
18971
+ constraints: { layoutFamilies: ["centered", "compact"] },
18972
+ layoutPatches: [{
18973
+ constraints: { layoutVariantKeys: ["micro"] },
18974
+ designPatch: {
18975
+ sectionHeight: "banner",
19015
18976
  heroTypographyScale: "display"
19016
18977
  }
19017
- }),
19018
- defineBlockAppearancePreset({
19019
- kind: "block-design",
19020
- id: "intro-editorial-statement",
19021
- target: "intro",
19022
- label: "Editorial intro statement",
19023
- blockKinds: ["block.intro"],
19024
- constraints: { layoutVariantKeys: ["centered-copy", "statement-copy"] },
19025
- design: {
19026
- sectionSurface: "base",
19027
- contentFrame: plainFrame,
19028
- itemSurface: "none",
19029
- composition: {
19030
- kind: "intro",
19031
- treatment: "editorial-statement"
19032
- }
19033
- }
19034
- }),
19035
- defineBlockAppearancePreset({
19036
- kind: "block-design",
19037
- id: "intro-portrait-bio",
19038
- target: "intro",
19039
- label: "Portrait and bio",
19040
- blockKinds: ["block.intro"],
19041
- constraints: { layoutVariantKeys: ["media-copy"] },
19042
- design: {
19043
- sectionSurface: "base",
19044
- contentFrame: plainFrame,
19045
- itemSurface: "none",
19046
- composition: {
19047
- kind: "intro",
19048
- treatment: "portrait-bio"
19049
- }
19050
- }
19051
- }),
19052
- defineBlockAppearancePreset({
19053
- kind: "block-design",
19054
- id: "offerings-preview-default-cards",
19055
- target: "offerings",
19056
- label: "Default offering cards",
19057
- blockKinds: ["block.offerings-preview"],
19058
- design: {
19059
- sectionSurface: "base",
19060
- contentFrame: plainFrame,
19061
- itemSurface: "default"
19062
- }
19063
- }),
19064
- defineBlockAppearancePreset({
19065
- kind: "block-design",
19066
- id: "offerings-preview-secondary-cards",
19067
- target: "offerings",
19068
- label: "Secondary offering cards",
19069
- blockKinds: ["block.offerings-preview"],
19070
- design: {
19071
- sectionSurface: "muted-band",
19072
- contentFrame: plainFrame,
19073
- itemSurface: "inset"
19074
- }
19075
- }),
19076
- defineBlockAppearancePreset({
19077
- kind: "block-design",
19078
- id: "offerings-preview-non-carded",
19079
- target: "offerings",
19080
- label: "Non-carded offerings",
19081
- blockKinds: ["block.offerings-preview"],
19082
- design: {
19083
- sectionSurface: "muted-band",
19084
- contentFrame: plainFrame,
19085
- itemSurface: "editorial"
19086
- }
19087
- }),
19088
- defineBlockAppearancePreset({
19089
- kind: "block-design",
19090
- id: "offerings-preview-paired-feature-cards",
19091
- target: "offerings",
19092
- label: "Paired feature cards",
19093
- blockKinds: ["block.offerings-preview"],
19094
- constraints: { layoutVariantKeys: ["cards"] },
19095
- design: {
19096
- sectionSurface: "base",
19097
- contentFrame: plainFrame,
19098
- itemSurface: "none"
19099
- }
19100
- }),
19101
- defineBlockAppearancePreset({
19102
- kind: "block-design",
19103
- id: "offerings-preview-open-editorial-columns",
19104
- target: "offerings",
19105
- label: "Open editorial columns",
19106
- blockKinds: ["block.offerings-preview"],
19107
- constraints: { layoutVariantKeys: ["cards"] },
19108
- design: {
19109
- sectionSurface: "base",
19110
- contentFrame: plainFrame,
19111
- itemSurface: "none"
19112
- }
19113
- }),
19114
- defineBlockAppearancePreset({
19115
- kind: "block-design",
19116
- id: "offerings-preview-joined-programme-panel",
19117
- target: "offerings",
19118
- label: "Joined programme panel",
19119
- blockKinds: ["block.offerings-preview"],
19120
- constraints: { layoutVariantKeys: ["cards"] },
19121
- design: {
19122
- sectionSurface: "base",
19123
- contentFrame: plainFrame,
19124
- itemSurface: "none"
19125
- }
19126
- }),
19127
- defineBlockAppearancePreset({
19128
- kind: "block-design",
19129
- id: "feature-cards-raised-rule",
19130
- target: "feature-cards",
19131
- label: "Raised cards with rule",
19132
- blockKinds: ["block.feature-cards"],
19133
- design: {
19134
- sectionSurface: "base",
19135
- contentFrame: plainFrame,
19136
- itemSurface: "raised"
19137
- }
19138
- }),
19139
- defineBlockAppearancePreset({
19140
- kind: "block-design",
19141
- id: "feature-cards-bold-colors",
19142
- target: "feature-cards",
19143
- label: "Bold colour-blocked cards",
19144
- blockKinds: ["block.feature-cards"],
19145
- design: {
19146
- sectionSurface: "base",
19147
- contentFrame: plainFrame,
19148
- itemSurface: "color-blocked"
19149
- }
19150
- }),
19151
- defineBlockAppearancePreset({
19152
- kind: "block-design",
19153
- id: "feature-cards-editorial-columns",
19154
- target: "feature-cards",
19155
- label: "Editorial open columns",
19156
- blockKinds: ["block.feature-cards"],
19157
- design: {
19158
- sectionSurface: "base",
19159
- contentFrame: plainFrame,
19160
- itemSurface: "editorial"
19161
- }
19162
- }),
19163
- defineBlockAppearancePreset({
19164
- kind: "block-design",
19165
- id: "feature-cards-asymmetric-emphasis",
19166
- target: "feature-cards",
19167
- label: "Asymmetric emphasis pair",
19168
- blockKinds: ["block.feature-cards"],
19169
- constraints: { layoutFamilies: ["grid"] },
19170
- design: {
19171
- sectionSurface: "base",
19172
- contentFrame: plainFrame,
19173
- itemSurface: "none",
19174
- composition: {
19175
- kind: "feature-cards",
19176
- treatment: "asymmetric-emphasis"
19177
- }
19178
- }
19179
- }),
19180
- defineBlockAppearancePreset({
19181
- kind: "block-design",
19182
- id: "feature-cards-framed-programme",
19183
- target: "feature-cards",
19184
- label: "Framed programme cards",
19185
- blockKinds: ["block.feature-cards"],
19186
- constraints: { layoutFamilies: ["grid"] },
19187
- design: {
19188
- sectionSurface: "brand-depth-band",
19189
- contentFrame: plainFrame,
19190
- itemSurface: "inset",
19191
- composition: {
19192
- kind: "feature-cards",
19193
- treatment: "framed-programme"
19194
- }
19195
- }
19196
- }),
19197
- defineBlockAppearancePreset({
19198
- kind: "block-design",
19199
- id: "feature-cards-soft-panels",
19200
- target: "feature-cards",
19201
- label: "Soft tinted panels",
19202
- blockKinds: ["block.feature-cards"],
19203
- design: {
19204
- sectionSurface: "base",
19205
- contentFrame: plainFrame,
19206
- itemSurface: "inset"
19207
- }
19208
- }),
19209
- defineBlockAppearancePreset({
19210
- kind: "block-design",
19211
- id: "feature-cards-editorial-diptych",
19212
- target: "feature-cards",
19213
- label: "Editorial diptych",
19214
- blockKinds: ["block.feature-cards"],
19215
- constraints: { layoutVariantKeys: ["editorial-diptych"] },
19216
- design: {
19217
- sectionSurface: "base",
19218
- contentFrame: plainFrame,
19219
- itemSurface: "flat"
19220
- }
19221
- }),
19222
- defineBlockAppearancePreset({
19223
- kind: "block-design",
19224
- id: "feature-cards-editorial-pathways",
19225
- target: "feature-cards",
19226
- label: "Editorial pathways",
19227
- blockKinds: ["block.feature-cards"],
19228
- constraints: { layoutVariantKeys: ["editorial-pathways"] },
19229
- design: {
19230
- sectionSurface: "base",
19231
- contentFrame: plainFrame,
19232
- itemSurface: "flat"
19233
- }
19234
- }),
19235
- defineBlockAppearancePreset({
19236
- kind: "block-design",
19237
- id: "feature-cards-photo-tiles",
19238
- target: "feature-cards",
19239
- label: "Photo tiles",
19240
- blockKinds: ["block.feature-cards"],
19241
- design: {
19242
- sectionSurface: "base",
19243
- contentFrame: plainFrame,
19244
- itemSurface: "raised"
19245
- }
19246
- }),
19247
- defineBlockAppearancePreset({
19248
- kind: "block-design",
19249
- id: "events-lined-panel",
19250
- target: "events",
19251
- label: "Raised event panel",
19252
- blockKinds: ["block.event-calendar", "block.event-listing"],
19253
- design: {
19254
- sectionSurface: "base",
19255
- contentFrame: panelFrame("raised"),
19256
- itemSurface: "none"
19257
- }
19258
- }),
19259
- defineBlockAppearancePreset({
19260
- kind: "block-design",
19261
- id: "events-ruled-register",
19262
- target: "events",
19263
- label: "Ruled event register",
19264
- blockKinds: ["block.event-calendar", "block.event-listing"],
19265
- design: {
19266
- sectionSurface: "brand-depth-band",
19267
- contentFrame: plainFrame,
19268
- itemSurface: "none",
19269
- eventListTreatment: "ruled-register"
19270
- }
19271
- }),
19272
- defineBlockAppearancePreset({
19273
- kind: "block-design",
19274
- id: "events-editorial-register",
19275
- target: "events",
19276
- label: "Editorial event register",
19277
- blockKinds: ["block.event-calendar", "block.event-listing"],
19278
- design: {
19279
- sectionSurface: "base",
19280
- contentFrame: plainFrame,
19281
- itemSurface: "none",
19282
- eventListTreatment: "editorial-register"
19283
- }
19284
- }),
19285
- defineBlockAppearancePreset({
19286
- kind: "block-design",
19287
- id: "events-dense-index",
19288
- target: "events",
19289
- label: "Dense event index",
19290
- blockKinds: ["block.event-calendar", "block.event-listing"],
19291
- design: {
19292
- sectionSurface: "accent-band",
19293
- contentFrame: plainFrame,
19294
- itemSurface: "none",
19295
- eventListTreatment: "dense-index"
19296
- }
19297
- }),
19298
- defineBlockAppearancePreset({
19299
- kind: "block-design",
19300
- id: "schedule-details-brand-depth",
19301
- target: "events",
19302
- label: "Brand-depth schedule details",
19303
- blockKinds: ["block.event-details", "block.course-details"],
19304
- design: {
19305
- sectionSurface: "brand-depth-band",
19306
- contentFrame: plainFrame,
19307
- itemSurface: "none",
19308
- tileTreatment: "brand-depth"
19309
- }
19310
- }),
19311
- defineBlockAppearancePreset({
19312
- kind: "block-design",
19313
- id: "media-text-flush-feature",
19314
- target: "media-text",
19315
- label: "Flush media feature",
19316
- blockKinds: ["block.media-text"],
19317
- design: {
19318
- sectionSurface: "muted-band",
19319
- contentFrame: flushPanelFrame({ bleed: "start" }),
19320
- itemSurface: "none"
19321
- }
19322
- }),
19323
- defineBlockAppearancePreset({
19324
- kind: "block-design",
19325
- id: "testimonials-simple-cards",
19326
- target: "testimonials",
19327
- label: "Simple testimonial cards",
19328
- blockKinds: ["block.testimonials"],
19329
- design: {
19330
- sectionSurface: "base",
19331
- contentFrame: plainFrame,
19332
- itemSurface: "default"
19333
- }
19334
- }),
19335
- defineBlockAppearancePreset({
19336
- kind: "block-design",
19337
- id: "testimonials-raised-panel",
19338
- target: "testimonials",
19339
- label: "Raised testimonial panel",
19340
- blockKinds: ["block.testimonials"],
19341
- design: {
19342
- sectionSurface: "muted-band",
19343
- contentFrame: panelFrame("raised"),
19344
- itemSurface: "raised"
19345
- }
19346
- }),
19347
- defineBlockAppearancePreset({
19348
- kind: "block-design",
19349
- id: "testimonials-accent-panel",
19350
- target: "testimonials",
19351
- label: "Accent testimonial panel",
19352
- blockKinds: ["block.testimonials"],
19353
- design: {
19354
- sectionSurface: "accent-band",
19355
- contentFrame: panelFrame("raised"),
19356
- itemSurface: "raised"
19357
- }
19358
- }),
19359
- defineBlockAppearancePreset({
19360
- kind: "block-design",
19361
- id: "testimonials-default-cards",
19362
- target: "testimonials",
19363
- label: "Default cards",
19364
- blockKinds: ["block.testimonials"],
19365
- design: {
19366
- sectionSurface: "base",
19367
- contentFrame: plainFrame,
19368
- itemSurface: "none",
19369
- testimonialCardTreatment: "default"
19370
- }
19371
- }),
19372
- defineBlockAppearancePreset({
19373
- kind: "block-design",
19374
- id: "testimonials-statement-cards",
19375
- target: "testimonials",
19376
- label: "Statement cards",
19377
- blockKinds: ["block.testimonials"],
19378
- design: {
19379
- sectionSurface: "accent-band",
19380
- contentFrame: plainFrame,
19381
- itemSurface: "raised",
19382
- testimonialCardTreatment: "statement"
19383
- }
19384
- }),
19385
- defineBlockAppearancePreset({
19386
- kind: "block-design",
19387
- id: "testimonials-brand-statement-cards",
19388
- target: "testimonials",
19389
- label: "Brand statement cards",
19390
- blockKinds: ["block.testimonials"],
19391
- design: {
19392
- sectionSurface: "brand-depth-band",
19393
- contentFrame: plainFrame,
19394
- itemSurface: "raised",
19395
- testimonialCardTreatment: "statement"
19396
- }
19397
- }),
19398
- defineBlockAppearancePreset({
19399
- kind: "block-design",
19400
- id: "testimonials-non-carded",
19401
- target: "testimonials",
19402
- label: "Non-carded",
19403
- blockKinds: ["block.testimonials"],
19404
- design: {
19405
- sectionSurface: "muted-band",
19406
- contentFrame: plainFrame,
19407
- itemSurface: "none",
19408
- testimonialCardTreatment: "non-carded"
19409
- }
19410
- }),
19411
- defineBlockAppearancePreset({
19412
- kind: "block-design",
19413
- id: "testimonials-evergreen-lead",
19414
- target: "testimonials",
19415
- label: "Evergreen lead",
19416
- blockKinds: ["block.testimonials"],
19417
- constraints: { layoutVariantKeys: ["featured-editorial"] },
19418
- design: {
19419
- sectionSurface: "base",
19420
- contentFrame: plainFrame,
19421
- itemSurface: "none"
19422
- }
19423
- }),
19424
- defineBlockAppearancePreset({
19425
- kind: "block-design",
19426
- id: "testimonials-room-and-response",
19427
- target: "testimonials",
19428
- label: "Room and response",
19429
- blockKinds: ["block.testimonials"],
19430
- constraints: { layoutVariantKeys: ["featured-editorial"] },
19431
- design: {
19432
- sectionSurface: "base",
19433
- contentFrame: plainFrame,
19434
- itemSurface: "none"
18978
+ }],
18979
+ design: {
18980
+ sectionSurface: "hero-image",
18981
+ contentFrame: plainFrame,
18982
+ itemSurface: "none",
18983
+ sectionHeight: "immersive",
18984
+ heroComposition: "center",
18985
+ heroTypographyScale: "poster",
18986
+ imageSurfaceTreatment: {
18987
+ kind: "brand-scrim",
18988
+ token: "primary",
18989
+ intensity: "strong"
19435
18990
  }
19436
- }),
19437
- defineBlockAppearancePreset({
19438
- kind: "block-design",
19439
- id: "testimonials-open-floor",
19440
- target: "testimonials",
19441
- label: "Open floor",
19442
- blockKinds: ["block.testimonials"],
19443
- constraints: { layoutVariantKeys: ["featured-editorial"] },
19444
- design: {
19445
- sectionSurface: "base",
19446
- contentFrame: plainFrame,
19447
- itemSurface: "none"
18991
+ }
18992
+ }), defineBlockAppearancePreset({
18993
+ id: "hero-brand-scrim",
18994
+ target: "hero",
18995
+ label: "Brand scrim image hero",
18996
+ blockKinds: ["block.hero"],
18997
+ constraints: { layoutFamilies: ["centered", "compact"] },
18998
+ optionGroups: brandScrimOptionGroups,
18999
+ layoutPatches: microBannerLayoutPatches,
19000
+ design: {
19001
+ sectionSurface: "hero-image",
19002
+ contentFrame: plainFrame,
19003
+ itemSurface: "none",
19004
+ sectionHeight: "immersive",
19005
+ heroComposition: "center",
19006
+ heroTypographyScale: "display",
19007
+ imageSurfaceTreatment: {
19008
+ kind: "brand-scrim",
19009
+ token: "primary"
19448
19010
  }
19449
- }),
19450
- defineBlockAppearancePreset({
19451
- kind: "block-design",
19452
- id: "faq-base-accordion",
19453
- target: "faq",
19454
- label: "Base accordion FAQ",
19455
- blockKinds: ["block.faq"],
19456
- design: {
19457
- sectionSurface: "base",
19458
- contentFrame: plainFrame,
19459
- itemSurface: "default"
19011
+ }
19012
+ }), defineBlockAppearancePreset({
19013
+ id: "hero-brand-scrim-fixed-frame",
19014
+ target: "hero",
19015
+ label: "Fixed-frame brand scrim hero",
19016
+ blockKinds: ["block.hero"],
19017
+ constraints: { layoutFamilies: ["centered", "compact"] },
19018
+ optionGroups: brandScrimOptionGroups,
19019
+ layoutPatches: microBannerLayoutPatches,
19020
+ design: {
19021
+ sectionSurface: "hero-image",
19022
+ contentFrame: plainFrame,
19023
+ itemSurface: "none",
19024
+ sectionHeight: "immersive",
19025
+ heroComposition: "center",
19026
+ heroTypographyScale: "display",
19027
+ imageSurfaceTreatment: {
19028
+ kind: "brand-scrim",
19029
+ token: "primary"
19030
+ },
19031
+ imageSurfaceMotion: "fixed-frame",
19032
+ eyebrowTreatment: "accent-pill-bounce"
19033
+ }
19034
+ }), defineBlockAppearancePreset({
19035
+ id: "hero-brand-depth-expressive",
19036
+ target: "hero",
19037
+ label: "Expressive brand-depth hero",
19038
+ blockKinds: ["block.hero"],
19039
+ constraints: { layoutFamilies: ["centered", "compact"] },
19040
+ design: {
19041
+ sectionSurface: "brand-depth-band",
19042
+ contentFrame: plainFrame,
19043
+ itemSurface: "none",
19044
+ heroComposition: "center",
19045
+ heroTypographyScale: "editorial",
19046
+ eyebrowTreatment: "accent-pill-bounce"
19047
+ }
19048
+ }), defineBlockAppearancePreset({
19049
+ id: "hero-contained-intro",
19050
+ target: "hero",
19051
+ label: "Contained intro hero",
19052
+ blockKinds: ["block.hero"],
19053
+ design: {
19054
+ sectionSurface: "muted-band",
19055
+ contentFrame: panelFrame("inset"),
19056
+ itemSurface: "none",
19057
+ heroComposition: "center",
19058
+ heroTypographyScale: "editorial"
19059
+ }
19060
+ }), defineBlockAppearancePreset({
19061
+ id: "hero-split-editorial",
19062
+ target: "hero",
19063
+ label: "Editorial split hero",
19064
+ blockKinds: ["block.hero"],
19065
+ constraints: { layoutFamilies: ["split"] },
19066
+ design: {
19067
+ sectionSurface: "base",
19068
+ contentFrame: plainFrame,
19069
+ itemSurface: "none",
19070
+ heroTypographyScale: "editorial"
19071
+ }
19072
+ }), defineBlockAppearancePreset({
19073
+ id: "hero-split-brand",
19074
+ target: "hero",
19075
+ label: "Brand split hero",
19076
+ blockKinds: ["block.hero"],
19077
+ constraints: { layoutFamilies: ["split"] },
19078
+ design: {
19079
+ sectionSurface: "brand-depth-band",
19080
+ contentFrame: plainFrame,
19081
+ itemSurface: "none",
19082
+ heroTypographyScale: "display",
19083
+ eyebrowTreatment: "accent-pill-bounce"
19084
+ }
19085
+ }), defineBlockAppearancePreset({
19086
+ id: "hero-split-soft-panel",
19087
+ target: "hero",
19088
+ label: "Soft panel split hero",
19089
+ blockKinds: ["block.hero"],
19090
+ constraints: { layoutFamilies: ["split"] },
19091
+ design: {
19092
+ sectionSurface: "muted-band",
19093
+ contentFrame: panelFrame("raised"),
19094
+ itemSurface: "none",
19095
+ heroTypographyScale: "editorial"
19096
+ }
19097
+ }), defineBlockAppearancePreset({
19098
+ id: "hero-split-accent",
19099
+ target: "hero",
19100
+ label: "Accent split hero",
19101
+ blockKinds: ["block.hero"],
19102
+ constraints: { layoutFamilies: ["split"] },
19103
+ design: {
19104
+ sectionSurface: "accent-band",
19105
+ contentFrame: panelFrame("raised"),
19106
+ itemSurface: "none",
19107
+ heroTypographyScale: "display"
19108
+ }
19109
+ }), defineBlockAppearancePreset({
19110
+ id: "intro-editorial-statement",
19111
+ target: "intro",
19112
+ label: "Editorial intro statement",
19113
+ blockKinds: ["block.intro"],
19114
+ constraints: { layoutVariantKeys: ["centered-copy", "statement-copy"] },
19115
+ design: {
19116
+ sectionSurface: "base",
19117
+ contentFrame: plainFrame,
19118
+ itemSurface: "none",
19119
+ composition: {
19120
+ kind: "intro",
19121
+ treatment: "editorial-statement"
19460
19122
  }
19461
- }),
19462
- defineBlockAppearancePreset({
19463
- kind: "block-design",
19464
- id: "faq-contained-help",
19465
- target: "faq",
19466
- label: "Contained help panel",
19467
- blockKinds: ["block.faq"],
19468
- design: {
19469
- sectionSurface: "muted-band",
19470
- contentFrame: panelFrame("inset"),
19471
- itemSurface: "default"
19123
+ }
19124
+ }), defineBlockAppearancePreset({
19125
+ id: "intro-portrait-bio",
19126
+ target: "intro",
19127
+ label: "Portrait and bio",
19128
+ blockKinds: ["block.intro"],
19129
+ constraints: { layoutVariantKeys: ["media-copy"] },
19130
+ design: {
19131
+ sectionSurface: "base",
19132
+ contentFrame: plainFrame,
19133
+ itemSurface: "none",
19134
+ composition: {
19135
+ kind: "intro",
19136
+ treatment: "portrait-bio"
19472
19137
  }
19473
- }),
19474
- defineBlockAppearancePreset({
19475
- kind: "block-design",
19476
- id: "contact-form-panel",
19477
- target: "contact-form",
19478
- label: "Raised form panel",
19479
- blockKinds: ["block.form"],
19480
- design: {
19481
- sectionSurface: "muted-band",
19482
- contentFrame: panelFrame("raised"),
19483
- itemSurface: "none"
19138
+ }
19139
+ }), defineBlockAppearancePreset({
19140
+ id: "offerings-preview-default-cards",
19141
+ target: "offerings",
19142
+ label: "Default offering cards",
19143
+ blockKinds: ["block.offerings-preview"],
19144
+ design: {
19145
+ sectionSurface: "base",
19146
+ contentFrame: plainFrame,
19147
+ itemSurface: "default"
19148
+ }
19149
+ }), defineBlockAppearancePreset({
19150
+ id: "offerings-preview-secondary-cards",
19151
+ target: "offerings",
19152
+ label: "Secondary offering cards",
19153
+ blockKinds: ["block.offerings-preview"],
19154
+ design: {
19155
+ sectionSurface: "muted-band",
19156
+ contentFrame: plainFrame,
19157
+ itemSurface: "inset"
19158
+ }
19159
+ }), defineBlockAppearancePreset({
19160
+ id: "offerings-preview-non-carded",
19161
+ target: "offerings",
19162
+ label: "Non-carded offerings",
19163
+ blockKinds: ["block.offerings-preview"],
19164
+ design: {
19165
+ sectionSurface: "muted-band",
19166
+ contentFrame: plainFrame,
19167
+ itemSurface: "editorial"
19168
+ }
19169
+ }), defineBlockAppearancePreset({
19170
+ id: "offerings-preview-paired-feature-cards",
19171
+ target: "offerings",
19172
+ label: "Paired feature cards",
19173
+ blockKinds: ["block.offerings-preview"],
19174
+ constraints: { layoutVariantKeys: ["cards"] },
19175
+ design: {
19176
+ sectionSurface: "base",
19177
+ contentFrame: plainFrame,
19178
+ itemSurface: "none"
19179
+ }
19180
+ }), defineBlockAppearancePreset({
19181
+ id: "offerings-preview-open-editorial-columns",
19182
+ target: "offerings",
19183
+ label: "Open editorial columns",
19184
+ blockKinds: ["block.offerings-preview"],
19185
+ constraints: { layoutVariantKeys: ["cards"] },
19186
+ design: {
19187
+ sectionSurface: "base",
19188
+ contentFrame: plainFrame,
19189
+ itemSurface: "none"
19190
+ }
19191
+ }), defineBlockAppearancePreset({
19192
+ id: "offerings-preview-joined-programme-panel",
19193
+ target: "offerings",
19194
+ label: "Joined programme panel",
19195
+ blockKinds: ["block.offerings-preview"],
19196
+ constraints: { layoutVariantKeys: ["cards"] },
19197
+ design: {
19198
+ sectionSurface: "base",
19199
+ contentFrame: plainFrame,
19200
+ itemSurface: "none"
19201
+ }
19202
+ }), defineBlockAppearancePreset({
19203
+ id: "feature-cards-raised-rule",
19204
+ target: "feature-cards",
19205
+ label: "Raised cards with rule",
19206
+ blockKinds: ["block.feature-cards"],
19207
+ design: {
19208
+ sectionSurface: "base",
19209
+ contentFrame: plainFrame,
19210
+ itemSurface: "raised"
19211
+ }
19212
+ }), defineBlockAppearancePreset({
19213
+ id: "feature-cards-bold-colors",
19214
+ target: "feature-cards",
19215
+ label: "Bold colour-blocked cards",
19216
+ blockKinds: ["block.feature-cards"],
19217
+ design: {
19218
+ sectionSurface: "base",
19219
+ contentFrame: plainFrame,
19220
+ itemSurface: "color-blocked"
19221
+ }
19222
+ }), defineBlockAppearancePreset({
19223
+ id: "feature-cards-editorial-columns",
19224
+ target: "feature-cards",
19225
+ label: "Editorial open columns",
19226
+ blockKinds: ["block.feature-cards"],
19227
+ design: {
19228
+ sectionSurface: "base",
19229
+ contentFrame: plainFrame,
19230
+ itemSurface: "editorial"
19231
+ }
19232
+ }), defineBlockAppearancePreset({
19233
+ id: "feature-cards-asymmetric-emphasis",
19234
+ target: "feature-cards",
19235
+ label: "Asymmetric emphasis pair",
19236
+ blockKinds: ["block.feature-cards"],
19237
+ constraints: { layoutFamilies: ["grid"] },
19238
+ design: {
19239
+ sectionSurface: "base",
19240
+ contentFrame: plainFrame,
19241
+ itemSurface: "none",
19242
+ composition: {
19243
+ kind: "feature-cards",
19244
+ treatment: "asymmetric-emphasis"
19484
19245
  }
19485
- }),
19486
- defineBlockAppearancePreset({
19487
- kind: "block-design",
19488
- id: "cta-accent-band",
19489
- target: "cta",
19490
- label: "Accent CTA band",
19491
- blockKinds: ["block.cta-full"],
19492
- design: {
19493
- sectionSurface: "accent-band",
19494
- contentFrame: plainFrame,
19495
- itemSurface: "none",
19496
- eyebrowTreatment: "accent"
19246
+ }
19247
+ }), defineBlockAppearancePreset({
19248
+ id: "feature-cards-framed-programme",
19249
+ target: "feature-cards",
19250
+ label: "Framed programme cards",
19251
+ blockKinds: ["block.feature-cards"],
19252
+ constraints: { layoutFamilies: ["grid"] },
19253
+ design: {
19254
+ sectionSurface: "brand-depth-band",
19255
+ contentFrame: plainFrame,
19256
+ itemSurface: "inset",
19257
+ composition: {
19258
+ kind: "feature-cards",
19259
+ treatment: "framed-programme"
19497
19260
  }
19498
- })
19499
- ];
19261
+ }
19262
+ }), defineBlockAppearancePreset({
19263
+ id: "feature-cards-soft-panels",
19264
+ target: "feature-cards",
19265
+ label: "Soft tinted panels",
19266
+ blockKinds: ["block.feature-cards"],
19267
+ design: {
19268
+ sectionSurface: "base",
19269
+ contentFrame: plainFrame,
19270
+ itemSurface: "inset"
19271
+ }
19272
+ }), defineBlockAppearancePreset({
19273
+ id: "feature-cards-editorial-diptych",
19274
+ target: "feature-cards",
19275
+ label: "Editorial diptych",
19276
+ blockKinds: ["block.feature-cards"],
19277
+ constraints: { layoutVariantKeys: ["editorial-diptych"] },
19278
+ design: {
19279
+ sectionSurface: "base",
19280
+ contentFrame: plainFrame,
19281
+ itemSurface: "flat"
19282
+ }
19283
+ }), defineBlockAppearancePreset({
19284
+ id: "feature-cards-editorial-pathways",
19285
+ target: "feature-cards",
19286
+ label: "Editorial pathways",
19287
+ blockKinds: ["block.feature-cards"],
19288
+ constraints: { layoutVariantKeys: ["editorial-pathways"] },
19289
+ design: {
19290
+ sectionSurface: "base",
19291
+ contentFrame: plainFrame,
19292
+ itemSurface: "flat"
19293
+ }
19294
+ }), defineBlockAppearancePreset({
19295
+ id: "feature-cards-photo-tiles",
19296
+ target: "feature-cards",
19297
+ label: "Photo tiles",
19298
+ blockKinds: ["block.feature-cards"],
19299
+ design: {
19300
+ sectionSurface: "base",
19301
+ contentFrame: plainFrame,
19302
+ itemSurface: "raised"
19303
+ }
19304
+ }), defineBlockAppearancePreset({
19305
+ id: "events-lined-panel",
19306
+ target: "events",
19307
+ label: "Raised event panel",
19308
+ blockKinds: ["block.event-calendar", "block.event-listing"],
19309
+ design: {
19310
+ sectionSurface: "base",
19311
+ contentFrame: panelFrame("raised"),
19312
+ itemSurface: "none"
19313
+ }
19314
+ }), defineBlockAppearancePreset({
19315
+ id: "events-ruled-register",
19316
+ target: "events",
19317
+ label: "Ruled event register",
19318
+ blockKinds: ["block.event-calendar", "block.event-listing"],
19319
+ design: {
19320
+ sectionSurface: "brand-depth-band",
19321
+ contentFrame: plainFrame,
19322
+ itemSurface: "none",
19323
+ eventListTreatment: "ruled-register"
19324
+ }
19325
+ }), defineBlockAppearancePreset({
19326
+ id: "events-editorial-register",
19327
+ target: "events",
19328
+ label: "Editorial event register",
19329
+ blockKinds: ["block.event-calendar", "block.event-listing"],
19330
+ design: {
19331
+ sectionSurface: "base",
19332
+ contentFrame: plainFrame,
19333
+ itemSurface: "none",
19334
+ eventListTreatment: "editorial-register"
19335
+ }
19336
+ }), defineBlockAppearancePreset({
19337
+ id: "events-dense-index",
19338
+ target: "events",
19339
+ label: "Dense event index",
19340
+ blockKinds: ["block.event-calendar", "block.event-listing"],
19341
+ design: {
19342
+ sectionSurface: "accent-band",
19343
+ contentFrame: plainFrame,
19344
+ itemSurface: "none",
19345
+ eventListTreatment: "dense-index"
19346
+ }
19347
+ }), defineBlockAppearancePreset({
19348
+ id: "schedule-details-brand-depth",
19349
+ target: "events",
19350
+ label: "Brand-depth schedule details",
19351
+ blockKinds: ["block.event-details", "block.course-details"],
19352
+ design: {
19353
+ sectionSurface: "brand-depth-band",
19354
+ contentFrame: plainFrame,
19355
+ itemSurface: "none",
19356
+ tileTreatment: "brand-depth"
19357
+ }
19358
+ }), defineBlockAppearancePreset({
19359
+ id: "media-text-flush-feature",
19360
+ target: "media-text",
19361
+ label: "Flush media feature",
19362
+ blockKinds: ["block.media-text"],
19363
+ design: {
19364
+ sectionSurface: "muted-band",
19365
+ contentFrame: flushPanelFrame({ bleed: "start" }),
19366
+ itemSurface: "none"
19367
+ }
19368
+ }), defineBlockAppearancePreset({
19369
+ id: "testimonials-simple-cards",
19370
+ target: "testimonials",
19371
+ label: "Simple testimonial cards",
19372
+ blockKinds: ["block.testimonials"],
19373
+ design: {
19374
+ sectionSurface: "base",
19375
+ contentFrame: plainFrame,
19376
+ itemSurface: "default"
19377
+ }
19378
+ }), defineBlockAppearancePreset({
19379
+ id: "testimonials-raised-panel",
19380
+ target: "testimonials",
19381
+ label: "Raised testimonial panel",
19382
+ blockKinds: ["block.testimonials"],
19383
+ design: {
19384
+ sectionSurface: "muted-band",
19385
+ contentFrame: panelFrame("raised"),
19386
+ itemSurface: "raised"
19387
+ }
19388
+ }), defineBlockAppearancePreset({
19389
+ id: "testimonials-accent-panel",
19390
+ target: "testimonials",
19391
+ label: "Accent testimonial panel",
19392
+ blockKinds: ["block.testimonials"],
19393
+ design: {
19394
+ sectionSurface: "accent-band",
19395
+ contentFrame: panelFrame("raised"),
19396
+ itemSurface: "raised"
19397
+ }
19398
+ }), defineBlockAppearancePreset({
19399
+ id: "testimonials-default-cards",
19400
+ target: "testimonials",
19401
+ label: "Default cards",
19402
+ blockKinds: ["block.testimonials"],
19403
+ design: {
19404
+ sectionSurface: "base",
19405
+ contentFrame: plainFrame,
19406
+ itemSurface: "none",
19407
+ testimonialCardTreatment: "default"
19408
+ }
19409
+ }), defineBlockAppearancePreset({
19410
+ id: "testimonials-statement-cards",
19411
+ target: "testimonials",
19412
+ label: "Statement cards",
19413
+ blockKinds: ["block.testimonials"],
19414
+ design: {
19415
+ sectionSurface: "accent-band",
19416
+ contentFrame: plainFrame,
19417
+ itemSurface: "raised",
19418
+ testimonialCardTreatment: "statement"
19419
+ }
19420
+ }), defineBlockAppearancePreset({
19421
+ id: "testimonials-brand-statement-cards",
19422
+ target: "testimonials",
19423
+ label: "Brand statement cards",
19424
+ blockKinds: ["block.testimonials"],
19425
+ design: {
19426
+ sectionSurface: "brand-depth-band",
19427
+ contentFrame: plainFrame,
19428
+ itemSurface: "raised",
19429
+ testimonialCardTreatment: "statement"
19430
+ }
19431
+ }), defineBlockAppearancePreset({
19432
+ id: "testimonials-non-carded",
19433
+ target: "testimonials",
19434
+ label: "Non-carded",
19435
+ blockKinds: ["block.testimonials"],
19436
+ design: {
19437
+ sectionSurface: "muted-band",
19438
+ contentFrame: plainFrame,
19439
+ itemSurface: "none",
19440
+ testimonialCardTreatment: "non-carded"
19441
+ }
19442
+ }), defineBlockAppearancePreset({
19443
+ id: "testimonials-evergreen-lead",
19444
+ target: "testimonials",
19445
+ label: "Evergreen lead",
19446
+ blockKinds: ["block.testimonials"],
19447
+ constraints: { layoutVariantKeys: ["featured-editorial"] },
19448
+ design: {
19449
+ sectionSurface: "base",
19450
+ contentFrame: plainFrame,
19451
+ itemSurface: "none"
19452
+ }
19453
+ }), defineBlockAppearancePreset({
19454
+ id: "testimonials-room-and-response",
19455
+ target: "testimonials",
19456
+ label: "Room and response",
19457
+ blockKinds: ["block.testimonials"],
19458
+ constraints: { layoutVariantKeys: ["featured-editorial"] },
19459
+ design: {
19460
+ sectionSurface: "base",
19461
+ contentFrame: plainFrame,
19462
+ itemSurface: "none"
19463
+ }
19464
+ }), defineBlockAppearancePreset({
19465
+ id: "testimonials-open-floor",
19466
+ target: "testimonials",
19467
+ label: "Open floor",
19468
+ blockKinds: ["block.testimonials"],
19469
+ constraints: { layoutVariantKeys: ["featured-editorial"] },
19470
+ design: {
19471
+ sectionSurface: "base",
19472
+ contentFrame: plainFrame,
19473
+ itemSurface: "none"
19474
+ }
19475
+ }), defineBlockAppearancePreset({
19476
+ id: "faq-base-accordion",
19477
+ target: "faq",
19478
+ label: "Base accordion FAQ",
19479
+ blockKinds: ["block.faq"],
19480
+ design: {
19481
+ sectionSurface: "base",
19482
+ contentFrame: plainFrame,
19483
+ itemSurface: "default"
19484
+ }
19485
+ }), defineBlockAppearancePreset({
19486
+ id: "faq-contained-help",
19487
+ target: "faq",
19488
+ label: "Contained help panel",
19489
+ blockKinds: ["block.faq"],
19490
+ design: {
19491
+ sectionSurface: "muted-band",
19492
+ contentFrame: panelFrame("inset"),
19493
+ itemSurface: "default"
19494
+ }
19495
+ }), defineBlockAppearancePreset({
19496
+ id: "contact-form-panel",
19497
+ target: "contact-form",
19498
+ label: "Raised form panel",
19499
+ blockKinds: ["block.form"],
19500
+ design: {
19501
+ sectionSurface: "muted-band",
19502
+ contentFrame: panelFrame("raised"),
19503
+ itemSurface: "none"
19504
+ }
19505
+ }), defineBlockAppearancePreset({
19506
+ id: "cta-accent-band",
19507
+ target: "cta",
19508
+ label: "Accent CTA band",
19509
+ blockKinds: ["block.cta-full"],
19510
+ design: {
19511
+ sectionSurface: "accent-band",
19512
+ contentFrame: plainFrame,
19513
+ itemSurface: "none",
19514
+ eyebrowTreatment: "accent"
19515
+ }
19516
+ });
19500
19517
  }));
19501
19518
  var init_appearancePresetCatalog = __esmMin((() => {
19502
19519
  init_blockAppearancePresets();
19503
- [...blockAppearancePresets];
19504
19520
  }));
19505
19521
  var init_appearancePresetTypes = __esmMin((() => {}));
19506
19522
  //#endregion
@@ -22197,6 +22213,38 @@ var init_backgroundAppearance = __esmMin((() => {
22197
22213
  var init_compositionBudget = __esmMin((() => {
22198
22214
  init_types$9();
22199
22215
  }));
22216
+ var init_headerStyleParts = __esmMin((() => {}));
22217
+ var clearSplitInteractionPalette;
22218
+ var init_headerInteractionPalette = __esmMin((() => {
22219
+ init_interactionPalette();
22220
+ init_lookOptionGroups();
22221
+ clearSplitInteractionPalette = defineLookOptionGroup({
22222
+ id: "interaction-palette",
22223
+ label: "Hover colour",
22224
+ defaultOptionId: "accent",
22225
+ options: [
22226
+ {
22227
+ id: "accent",
22228
+ label: "Accent"
22229
+ },
22230
+ {
22231
+ id: "primary",
22232
+ label: "Primary"
22233
+ },
22234
+ {
22235
+ id: "secondary",
22236
+ label: "Secondary"
22237
+ }
22238
+ ]
22239
+ });
22240
+ }));
22241
+ var init_headerOpeningForeground = __esmMin((() => {
22242
+ init_expandPalette();
22243
+ init_colorConversion();
22244
+ init_tokens();
22245
+ init_colorTokenParts();
22246
+ init_types$9();
22247
+ }));
22200
22248
  var init_customizableSurfaces = __esmMin((() => {
22201
22249
  init_types$9();
22202
22250
  }));
@@ -22216,7 +22264,7 @@ function asHeaderStyleId(value) {
22216
22264
  * optional nested styling fields that would otherwise leak from another Look.
22217
22265
  */
22218
22266
  function baseHeader(theme) {
22219
- const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
22267
+ const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
22220
22268
  return {
22221
22269
  ...header,
22222
22270
  navContainer: {
@@ -22575,12 +22623,12 @@ function floatingGlassHeader(theme) {
22575
22623
  }
22576
22624
  };
22577
22625
  }
22578
- function headerConfigurationKey(configuration) {
22579
- return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
22580
- }
22581
22626
  var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations, headerLayoutCatalog, headerStyleCatalog, headerStylesById, headerStyleCompatibilityOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById, headerLookCatalog;
22582
22627
  var init_headerLooks = __esmMin((() => {
22583
22628
  init_headerCtaVariants();
22629
+ init_headerStyleParts();
22630
+ init_headerInteractionPalette();
22631
+ init_headerOpeningForeground();
22584
22632
  init_customizableSurfaces();
22585
22633
  init_logoBranding();
22586
22634
  init_types$9();
@@ -22707,7 +22755,6 @@ var init_headerLooks = __esmMin((() => {
22707
22755
  id: asHeaderLayoutId("classic"),
22708
22756
  label: "Classic",
22709
22757
  description: "Logo and navigation in one practical horizontal row.",
22710
- structure: "inline-classic",
22711
22758
  variant: "classic",
22712
22759
  defaultPositioning: "sticky",
22713
22760
  shrinkOnScroll: false
@@ -22716,7 +22763,6 @@ var init_headerLooks = __esmMin((() => {
22716
22763
  id: asHeaderLayoutId("centered"),
22717
22764
  label: "Centered",
22718
22765
  description: "Logo centered above a balanced navigation row.",
22719
- structure: "centered-stack",
22720
22766
  variant: "centered",
22721
22767
  defaultPositioning: "static",
22722
22768
  shrinkOnScroll: false,
@@ -22732,7 +22778,6 @@ var init_headerLooks = __esmMin((() => {
22732
22778
  id: asHeaderLayoutId("floating"),
22733
22779
  label: "Floating",
22734
22780
  description: "Detached header chrome that sits over the opening section.",
22735
- structure: "floating-shell",
22736
22781
  variant: "floating",
22737
22782
  defaultPositioning: "sticky",
22738
22783
  shrinkOnScroll: true,
@@ -22891,10 +22936,13 @@ var init_headerLooks = __esmMin((() => {
22891
22936
  label: "Clear Split",
22892
22937
  description: "Floating logo with transparent navigation and no shared shell.",
22893
22938
  supportedLayoutIds: supportedLayouts(["floating"]),
22894
- navInteraction: "color-change",
22939
+ navInteraction: "pill-background",
22895
22940
  surface: "floating",
22896
- defaultDepth: "none",
22941
+ defaultDepth: "line",
22897
22942
  navTypography: "plain",
22943
+ openingForegroundTarget: "all",
22944
+ scrollTreatment: "contrast-glass",
22945
+ interactionPalette: clearSplitInteractionPalette,
22898
22946
  moods: ["editorial", "calm"]
22899
22947
  },
22900
22948
  {
@@ -22917,6 +22965,7 @@ var init_headerLooks = __esmMin((() => {
22917
22965
  surface: "floating",
22918
22966
  defaultDepth: "shadow",
22919
22967
  navTypography: "quiet-caps",
22968
+ openingForegroundTarget: "brand-only",
22920
22969
  moods: ["expressive"]
22921
22970
  },
22922
22971
  {
@@ -22928,6 +22977,7 @@ var init_headerLooks = __esmMin((() => {
22928
22977
  surface: "floating",
22929
22978
  defaultDepth: "shadow",
22930
22979
  navTypography: "heading",
22980
+ openingForegroundTarget: "brand-only",
22931
22981
  moods: ["calm", "editorial"]
22932
22982
  }
22933
22983
  ]);
@@ -23083,13 +23133,6 @@ var init_headerLooks = __esmMin((() => {
23083
23133
  {
23084
23134
  id: asHeaderLookId("clean-base"),
23085
23135
  label: "Clean base",
23086
- visualTreatment: "solid-neutral",
23087
- layoutBehavior: "sticky",
23088
- configuration: {
23089
- structure: "inline-classic",
23090
- treatment: "solid-neutral",
23091
- behavior: "sticky"
23092
- },
23093
23136
  openingRequirement: "none",
23094
23137
  logoAccommodations: inlineClassicLogoAccommodations,
23095
23138
  compile: cleanBaseHeader
@@ -23097,13 +23140,6 @@ var init_headerLooks = __esmMin((() => {
23097
23140
  {
23098
23141
  id: asHeaderLookId("classic-centered-nav"),
23099
23142
  label: "Centered nav",
23100
- visualTreatment: "solid-neutral",
23101
- layoutBehavior: "sticky",
23102
- configuration: {
23103
- structure: "inline-classic",
23104
- treatment: "solid-neutral",
23105
- behavior: "sticky"
23106
- },
23107
23143
  openingRequirement: "none",
23108
23144
  maxRecommendedNavItems: 6,
23109
23145
  logoAccommodations: inlineClassicLogoAccommodations,
@@ -23112,13 +23148,6 @@ var init_headerLooks = __esmMin((() => {
23112
23148
  {
23113
23149
  id: asHeaderLookId("brand-solid"),
23114
23150
  label: "Brand solid",
23115
- visualTreatment: "solid-brand",
23116
- layoutBehavior: "sticky-shrink",
23117
- configuration: {
23118
- structure: "inline-classic",
23119
- treatment: "solid-brand",
23120
- behavior: "sticky-shrink"
23121
- },
23122
23151
  openingRequirement: "none",
23123
23152
  logoAccommodations: inlineClassicLogoAccommodations,
23124
23153
  compile: solidBrandHeader
@@ -23126,13 +23155,6 @@ var init_headerLooks = __esmMin((() => {
23126
23155
  {
23127
23156
  id: asHeaderLookId("serif-line"),
23128
23157
  label: "Serif line",
23129
- visualTreatment: "light-serif",
23130
- layoutBehavior: "sticky",
23131
- configuration: {
23132
- structure: "centered-stack",
23133
- treatment: "light-serif",
23134
- behavior: "sticky"
23135
- },
23136
23158
  openingRequirement: "none",
23137
23159
  maxRecommendedNavItems: 6,
23138
23160
  logoAccommodations: centeredLogoAccommodations,
@@ -23141,13 +23163,6 @@ var init_headerLooks = __esmMin((() => {
23141
23163
  {
23142
23164
  id: asHeaderLookId("centered-calm"),
23143
23165
  label: "Centered calm",
23144
- visualTreatment: "light-serif",
23145
- layoutBehavior: "normal-flow",
23146
- configuration: {
23147
- structure: "centered-stack",
23148
- treatment: "light-serif",
23149
- behavior: "normal-flow"
23150
- },
23151
23166
  openingRequirement: "none",
23152
23167
  maxRecommendedNavItems: 5,
23153
23168
  logoAccommodations: centeredLogoAccommodations,
@@ -23156,13 +23171,6 @@ var init_headerLooks = __esmMin((() => {
23156
23171
  {
23157
23172
  id: asHeaderLookId("practical-utility"),
23158
23173
  label: "Practical utility",
23159
- visualTreatment: "solid-neutral",
23160
- layoutBehavior: "sticky-shrink",
23161
- configuration: {
23162
- structure: "inline-classic",
23163
- treatment: "solid-neutral",
23164
- behavior: "sticky-shrink"
23165
- },
23166
23174
  openingRequirement: "none",
23167
23175
  requiresProminentCta: true,
23168
23176
  logoAccommodations: inlineClassicLogoAccommodations,
@@ -23171,13 +23179,6 @@ var init_headerLooks = __esmMin((() => {
23171
23179
  {
23172
23180
  id: asHeaderLookId("minimal-transparent"),
23173
23181
  label: "Minimal transparent",
23174
- visualTreatment: "minimal-transparent",
23175
- layoutBehavior: "normal-flow",
23176
- configuration: {
23177
- structure: "inline-classic",
23178
- treatment: "minimal-transparent",
23179
- behavior: "normal-flow"
23180
- },
23181
23182
  openingRequirement: "reserved-space-ok",
23182
23183
  logoAccommodations: inlineClassicLogoAccommodations,
23183
23184
  compile: minimalTransparentHeader
@@ -23185,13 +23186,6 @@ var init_headerLooks = __esmMin((() => {
23185
23186
  {
23186
23187
  id: asHeaderLookId("transparent-overlay"),
23187
23188
  label: "Transparent overlay",
23188
- visualTreatment: "transparent-overlay",
23189
- layoutBehavior: "fixed-overlay",
23190
- configuration: {
23191
- structure: "inline-classic",
23192
- treatment: "transparent-overlay",
23193
- behavior: "fixed-overlay"
23194
- },
23195
23189
  openingRequirement: "requires-image-hero-with-contrast-overlay",
23196
23190
  maxRecommendedNavItems: 5,
23197
23191
  logoAccommodations: overlayLogoAccommodations,
@@ -23200,20 +23194,12 @@ var init_headerLooks = __esmMin((() => {
23200
23194
  {
23201
23195
  id: asHeaderLookId("floating-glass"),
23202
23196
  label: "Floating glass",
23203
- visualTreatment: "floating-glass",
23204
- layoutBehavior: "fixed-floating",
23205
- configuration: {
23206
- structure: "floating-shell",
23207
- treatment: "floating-glass",
23208
- behavior: "fixed-floating"
23209
- },
23210
23197
  openingRequirement: "requires-image-hero-with-contrast-overlay",
23211
23198
  maxRecommendedNavItems: 5,
23212
23199
  logoAccommodations: overlayLogoAccommodations,
23213
23200
  compile: floatingGlassHeader
23214
23201
  }
23215
23202
  ]);
23216
- new Set(headerLookCatalog.map((look) => headerConfigurationKey(look.configuration)));
23217
23203
  new Map(headerLookCatalog.map((look) => [look.id, look]));
23218
23204
  }));
23219
23205
  var init_compilationPlan = __esmMin((() => {
@@ -26692,6 +26678,7 @@ var init_records = __esmMin((() => {}));
26692
26678
  var init_headerOpeningSection = __esmMin((() => {
26693
26679
  init_headerLooks();
26694
26680
  init_records();
26681
+ init_tokens();
26695
26682
  }));
26696
26683
  var init_generatedDesignPipeline = __esmMin((() => {
26697
26684
  init_compositionBudget();
@@ -26987,8 +26974,11 @@ var init_site_styles = __esmMin((() => {
26987
26974
  init_generatedSchemas();
26988
26975
  init_generatedDesignPipeline();
26989
26976
  init_headerLooks();
26977
+ init_headerInteractionPalette();
26978
+ init_headerOpeningForeground();
26990
26979
  init_headerOpeningSection();
26991
26980
  init_lookResolution();
26981
+ init_lookOptionGroups();
26992
26982
  init_logoBranding();
26993
26983
  init_pageDesignAuthority();
26994
26984
  init_pageDesignEditorErrors();
@@ -28009,33 +27999,6 @@ var init_node = __esmMin((() => {
28009
27999
  init_typeBasedLayout();
28010
28000
  init_validation_constants();
28011
28001
  }));
28012
- //#endregion
28013
- //#region ../theme-core/src/responsive/breakpoints.ts
28014
- function mqUp(px) {
28015
- return `(min-width: ${px}px)`;
28016
- }
28017
- function mqDown(px) {
28018
- return `(max-width: ${px}px)`;
28019
- }
28020
- function mqBetween(minPx, maxPx) {
28021
- return `${mqUp(minPx)} and ${mqDown(maxPx)}`;
28022
- }
28023
- var BREAKPOINT_LG, BREAKPOINT_XL, BREAKPOINT_LG_DOWN;
28024
- var init_breakpoints = __esmMin((() => {
28025
- BREAKPOINT_LG = 1024;
28026
- BREAKPOINT_XL = 1280;
28027
- BREAKPOINT_LG_DOWN = BREAKPOINT_LG - 1;
28028
- mqUp(640);
28029
- mqUp(768);
28030
- mqUp(BREAKPOINT_LG);
28031
- mqUp(BREAKPOINT_XL);
28032
- mqDown(639);
28033
- mqDown(767);
28034
- mqDown(BREAKPOINT_LG_DOWN);
28035
- mqBetween(640, BREAKPOINT_LG_DOWN);
28036
- mqDown(640);
28037
- mqDown(768);
28038
- }));
28039
28002
  function asNonEmptyString(value) {
28040
28003
  if (typeof value !== "string") return null;
28041
28004
  const trimmed = value.trim();
@@ -114498,6 +114461,44 @@ function useImageResolveContextOptional() {
114498
114461
  return useContext(ImageResolveContext);
114499
114462
  }
114500
114463
  //#endregion
114464
+ //#region ../blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.ts
114465
+ init_src$2();
114466
+ function normalizedIdentifier(asset) {
114467
+ return (typeof asset.identifier === "string" ? asset.identifier.trim() : "") || void 0;
114468
+ }
114469
+ function indexAssets(index) {
114470
+ if (!index) return [];
114471
+ const assetsById = /* @__PURE__ */ new Map();
114472
+ for (const asset of [...index.byId.values(), ...index.byIdentifier.values()]) assetsById.set(asset.id, asset);
114473
+ return [...assetsById.values()];
114474
+ }
114475
+ function mergeAssetIndexes(baseline, live) {
114476
+ if (!baseline) return live;
114477
+ if (!live) return baseline;
114478
+ let merged = [...indexAssets(baseline)];
114479
+ for (const liveAsset of indexAssets(live)) {
114480
+ const liveIdentifier = normalizedIdentifier(liveAsset);
114481
+ merged = merged.filter((asset) => asset.id !== liveAsset.id && (liveIdentifier === void 0 || normalizedIdentifier(asset) !== liveIdentifier));
114482
+ merged.push(liveAsset);
114483
+ }
114484
+ return buildRenderableMediaAssetIndex(merged);
114485
+ }
114486
+ /**
114487
+ * Combines a render snapshot with client registrations without changing the
114488
+ * persisted media value. Live registrations are authoritative for both asset
114489
+ * IDs and identifiers. Contexts for different known sites never share indexes.
114490
+ */
114491
+ function mergeResolveImageUrlContexts(baseline, live) {
114492
+ if (!baseline) return live ?? void 0;
114493
+ if (!live) return baseline;
114494
+ const sitesConflict = baseline.siteId !== void 0 && live.siteId !== void 0 && baseline.siteId !== live.siteId;
114495
+ return {
114496
+ supabaseUrl: live.supabaseUrl ?? baseline.supabaseUrl,
114497
+ siteId: live.siteId ?? baseline.siteId,
114498
+ mediaAssetIndex: sitesConflict ? live.mediaAssetIndex : mergeAssetIndexes(baseline.mediaAssetIndex, live.mediaAssetIndex)
114499
+ };
114500
+ }
114501
+ //#endregion
114501
114502
  //#region ../blocks/src/system/runtime/nodes/media.client.tsx
114502
114503
  /**
114503
114504
  * Client MediaNode component with error handling.
@@ -114521,11 +114522,16 @@ const FALLBACK_IMAGE_DATA_URL = "data:image/svg+xml;charset=utf-8," + encodeURIC
114521
114522
  </g>
114522
114523
  </svg>`);
114523
114524
  const MediaNode = ({ value, className, style, videoPlayback = "inline", loading = "lazy", fetchPriority, size = ImagePresets.full, fieldPath, blockKind, blockContent, imageResolveContext: explicitImageResolveContext }) => {
114524
- const contextImageResolveContext = useImageResolveContextOptional();
114525
- const imageResolveContext = explicitImageResolveContext ?? contextImageResolveContext;
114525
+ const imageResolveContext = mergeResolveImageUrlContexts(explicitImageResolveContext, useImageResolveContextOptional());
114526
114526
  if (!value) return null;
114527
- if (value.type === "video") return renderVideo(value, className, style, imageResolveContext, { playback: videoPlayback });
114528
- if (value.type === "audio") return renderAudio(value, className, style, imageResolveContext);
114527
+ switch (value.type) {
114528
+ case "video": return renderVideo(value, className, style, imageResolveContext, { playback: videoPlayback });
114529
+ case "audio": return renderAudio(value, className, style, imageResolveContext);
114530
+ case "image":
114531
+ case "archive":
114532
+ case "document":
114533
+ case "spreadsheet": break;
114534
+ }
114529
114535
  const { imageUrl, responsive, transformAspectRatio, resolvedTransform, isProxy } = resolveMediaNodeResponsiveImage(value, size, style, {
114530
114536
  fieldPath,
114531
114537
  blockKind,
@@ -115072,12 +115078,18 @@ init_colorConversion();
115072
115078
  init_generateBaseCSS();
115073
115079
  init_generateEffectsCSS();
115074
115080
  //#endregion
115081
+ //#region ../theme-core/src/header/surfaceRules.ts
115082
+ init_shared$5();
115083
+ init_colorStyles();
115084
+ //#endregion
115075
115085
  //#region ../theme-core/src/header/generateHeaderCss.ts
115076
115086
  init_resolver$1();
115077
115087
  init_siteChromeNavPreferences();
115078
115088
  init_shared$5();
115079
115089
  init_breakpoints();
115080
115090
  init_navDropdownSizing();
115091
+ init_scrollTreatment();
115092
+ init_paintTargets();
115081
115093
  //#endregion
115082
115094
  //#region ../theme-core/src/footer/generateFooterCss.ts
115083
115095
  init_resolver$1();