@riverbankcms/sdk 0.102.0 → 0.103.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 (101) hide show
  1. package/README.md +10 -2
  2. package/dist/{PreviewEditorSidebar-BKkhhkJk.mjs → PreviewEditorSidebar-DkNpCPja.mjs} +75 -9
  3. package/dist/{PreviewEditorUI-DIvTqcqI.mjs → PreviewEditorUI-DeNKtqk3.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-CA2k7Z_T.mjs → SdkPreviewModeRuntime-5bCsXK2y.mjs} +572 -285
  5. package/dist/{SiteChromeCustomizeContext-Bh9-DtMQ.mjs → SiteChromeCustomizeContext-CO1sTK_W.mjs} +336 -36
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
  7. package/dist/_dts/api/src/index.d.ts +1 -1
  8. package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
  9. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  10. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
  11. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  12. package/dist/_dts/blocks/src/index.d.ts +1 -1
  13. package/dist/_dts/blocks/src/server.d.ts +1 -1
  14. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
  15. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
  17. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +5 -5
  18. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +227 -227
  19. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  20. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  22. package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
  23. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +177 -177
  24. package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  27. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  28. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  29. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +154 -18
  30. package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
  31. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
  32. package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
  33. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  34. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +10 -2
  35. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  36. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
  37. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  38. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  39. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  40. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
  41. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
  42. package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
  43. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -4
  44. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  45. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  46. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
  47. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
  48. package/dist/_dts/sdk/src/version.d.ts +1 -1
  49. package/dist/_dts/site-commands/src/commands.d.ts +19 -19
  50. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  51. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  52. package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
  53. package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
  54. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  55. package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
  56. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +150 -144
  57. package/dist/_dts/theme-core/src/navigation/types.d.ts +6 -6
  58. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +5 -5
  59. package/dist/_dts/theme-core/src/schema.d.ts +199 -169
  60. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  61. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  62. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +24 -24
  63. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  64. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  65. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -2
  66. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +26 -1
  67. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
  68. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +44 -0
  69. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  70. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  71. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  72. package/dist/_dts/ui/src/badge.d.ts +1 -1
  73. package/dist/_dts/ui/src/button.d.ts +1 -1
  74. package/dist/_dts/ui/src/card.d.ts +1 -1
  75. package/dist/_dts/ui/src/toggle.d.ts +2 -2
  76. package/dist/cli/index.mjs +28 -7
  77. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
  78. package/dist/client/client.mjs +337 -69
  79. package/dist/client/hooks.mjs +13 -1
  80. package/dist/client/rendering/client.mjs +25 -4
  81. package/dist/client/rendering.mjs +336 -68
  82. package/dist/preview-next/client/runtime.mjs +3 -3
  83. package/dist/{sdk-runtime-K8Oqj97H.mjs → sdk-runtime-C8whifOy.mjs} +1 -1
  84. package/dist/{separator-CRoP34pT.mjs → separator-CM2C5Axs.mjs} +1 -1
  85. package/dist/server/components.mjs +321 -65
  86. package/dist/server/config-validation.mjs +12 -1
  87. package/dist/server/config.mjs +12 -1
  88. package/dist/server/data.mjs +12 -1
  89. package/dist/server/index.mjs +1 -1
  90. package/dist/server/next/revalidate.mjs +31 -1
  91. package/dist/server/next.mjs +325 -66
  92. package/dist/server/page-converter.mjs +12 -1
  93. package/dist/server/prebuild.mjs +1 -1
  94. package/dist/server/rendering/server.mjs +323 -65
  95. package/dist/server/rendering.mjs +323 -65
  96. package/dist/server/routing.mjs +24 -3
  97. package/dist/server/server.mjs +15 -2
  98. package/dist/server/theme-bridge.mjs +153 -32
  99. package/dist/server/theme.mjs +2 -0
  100. package/dist/styles/index.css +123 -30
  101. package/package.json +1 -1
@@ -89218,6 +89218,8 @@ const headerSchema = z$1.object({
89218
89218
  navStyle: headerNavStyle,
89219
89219
  navColor: themeColorTokenSchema.nullable().optional(),
89220
89220
  navWeight: navFontWeight.default("medium"),
89221
+ navTypography: z$1.enum(["body", "heading"]).optional(),
89222
+ navTextSize: navLinkStyleSchema.shape.textSize,
89221
89223
  container: headerContainerSchema,
89222
89224
  border: headerBorderSchema,
89223
89225
  shadow: componentShadowSchema.optional(),
@@ -90889,6 +90891,31 @@ function uniqueStrings(values) {
90889
90891
  }
90890
90892
  //#endregion
90891
90893
  //#region ../theme-core/src/site-styles/sectionTransitions.ts
90894
+ function boundaryRuntimeMetrics(family, size, heightExpression) {
90895
+ return {
90896
+ family,
90897
+ size,
90898
+ heightCss: heightExpression.includes(" ") ? `calc(${heightExpression})` : heightExpression,
90899
+ reserveCss: `calc((${heightExpression}) / 2)`
90900
+ };
90901
+ }
90902
+ const sectionBoundaryRuntimeMetricsByTransition = {
90903
+ none: null,
90904
+ "soft-fade-short": boundaryRuntimeMetrics("gradient", "medium", "6rem + 2px"),
90905
+ "soft-fade-long": boundaryRuntimeMetrics("gradient", "spacious", "10rem"),
90906
+ "soft-fade-expansive": boundaryRuntimeMetrics("gradient", "expansive", "14rem"),
90907
+ "wave-edge": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
90908
+ "wave-edge-balanced": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
90909
+ "wave-edge-gentle": boundaryRuntimeMetrics("wave", "compact", "4.5rem + 2px"),
90910
+ "wave-edge-bold": boundaryRuntimeMetrics("wave", "large", "7rem + 2px"),
90911
+ "wave-edge-drift": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
90912
+ "angle-edge": boundaryRuntimeMetrics("angle", "medium", "6rem + 2px"),
90913
+ "angle-edge-subtle": boundaryRuntimeMetrics("angle", "compact", "4.5rem + 2px"),
90914
+ "angle-edge-steep": boundaryRuntimeMetrics("angle", "large", "7rem + 2px")
90915
+ };
90916
+ function boundaryRuntimeMetricsForTransition(transition) {
90917
+ return sectionBoundaryRuntimeMetricsByTransition[transition];
90918
+ }
90892
90919
  const noneBoundaryOption = {
90893
90920
  id: asBoundaryOptionId("break:none"),
90894
90921
  label: "None",
@@ -91914,7 +91941,7 @@ function requireHeaderBrandPresentationSelection(plan) {
91914
91941
  * optional nested styling fields that would otherwise leak from another Look.
91915
91942
  */
91916
91943
  function baseHeader(theme) {
91917
- const { navLinkStyle: _navLinkStyle, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
91944
+ const { navLinkStyle: _navLinkStyle, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
91918
91945
  return {
91919
91946
  ...header,
91920
91947
  navContainer: {
@@ -95203,6 +95230,34 @@ function compileTransitionRuntime(input) {
95203
95230
  }
95204
95231
  };
95205
95232
  }
95233
+ function compileBoundaryRuntime(input) {
95234
+ const styleGroup = (input.rules ?? defaultDesignRuntimeRules).transitionClassName(input.treatment, input.fromSurface, input.toSurface);
95235
+ if (!styleGroup) return null;
95236
+ const metrics = boundaryRuntimeMetricsForTransition(input.treatment);
95237
+ if (!metrics) return null;
95238
+ const transition = compileTransitionRuntime({
95239
+ treatment: input.treatment,
95240
+ from: {
95241
+ kind: "surface",
95242
+ surface: input.fromSurface
95243
+ },
95244
+ to: {
95245
+ kind: "surface",
95246
+ surface: input.toSurface
95247
+ }
95248
+ });
95249
+ return {
95250
+ boundaryId: input.boundaryId,
95251
+ previousBlockId: input.previousBlockId,
95252
+ nextBlockId: input.nextBlockId,
95253
+ treatment: transition.treatment,
95254
+ metrics,
95255
+ from: transition.from,
95256
+ to: transition.to,
95257
+ cssVars: transition.cssVars,
95258
+ styleGroup
95259
+ };
95260
+ }
95206
95261
  function transitionEndpointCssValue(endpoint) {
95207
95262
  switch (endpoint.kind) {
95208
95263
  case "color-token": return themeColorTokenCssValue(endpoint.token);
@@ -95227,20 +95282,47 @@ function themeColorTokenCssValue(token) {
95227
95282
  function compilePageRuntimeFields(input) {
95228
95283
  const visualSurfaces = input.resolved.blocks.map(resolveVisualSectionSurfaceForBlock);
95229
95284
  const terminalSectionAdjacency = input.terminalSectionAdjacency ?? { kind: "page-end" };
95230
- return { blocks: input.resolved.blocks.map((block, index) => {
95231
- const nextSurface = visualSurfaces[index + 1];
95232
- return compileBlockRuntimeFields({
95233
- block,
95234
- surfaceResolutionContext: input.surfaceResolutionContext,
95235
- designRules: input.designRules,
95236
- componentRules: input.componentRules,
95237
- sectionSpacing: input.sectionSpacing,
95238
- sectionAdjacency: nextSurface ? {
95239
- kind: "next-section",
95240
- surface: nextSurface
95241
- } : terminalSectionAdjacency
95242
- });
95243
- }) };
95285
+ const designRules = input.designRules ?? defaultDesignRuntimeRules;
95286
+ return {
95287
+ blocks: input.resolved.blocks.map((block, index) => {
95288
+ const nextSurface = visualSurfaces[index + 1];
95289
+ const compiled = compileBlockRuntimeFields({
95290
+ block,
95291
+ surfaceResolutionContext: input.surfaceResolutionContext,
95292
+ designRules: input.designRules,
95293
+ componentRules: input.componentRules,
95294
+ sectionSpacing: input.sectionSpacing,
95295
+ sectionAdjacency: nextSurface ? {
95296
+ kind: "next-section",
95297
+ surface: nextSurface
95298
+ } : terminalSectionAdjacency
95299
+ });
95300
+ return {
95301
+ ...compiled,
95302
+ fields: stripPageLevelTransitionFields(compiled.fields)
95303
+ };
95304
+ }),
95305
+ boundaries: input.resolved.blocks.flatMap((block, index) => {
95306
+ const nextBlock = input.resolved.blocks[index + 1];
95307
+ const fromSurface = visualSurfaces[index];
95308
+ const toSurface = visualSurfaces[index + 1];
95309
+ if (!nextBlock || !fromSurface || !toSurface) return [];
95310
+ const boundary = compileBoundaryRuntime({
95311
+ boundaryId: `boundary:${block.blockId}:${nextBlock.blockId}`,
95312
+ previousBlockId: block.blockId,
95313
+ nextBlockId: nextBlock.blockId,
95314
+ treatment: block.appliedTransitionAfter,
95315
+ fromSurface,
95316
+ toSurface,
95317
+ rules: designRules
95318
+ });
95319
+ return boundary ? [boundary] : [];
95320
+ })
95321
+ };
95322
+ }
95323
+ function stripPageLevelTransitionFields(fields) {
95324
+ const { _transitionStyles, styleGroup, ...rest } = fields;
95325
+ return rest;
95244
95326
  }
95245
95327
  const paletteByRecipe = {
95246
95328
  "brand-led": [
@@ -97896,7 +97978,6 @@ function siteStyleIdFromTheme(theme) {
97896
97978
  */
97897
97979
  function compileEditorModelRuntime(input) {
97898
97980
  const lookOverrideByBlockId = new Map(input.lookOverrides?.map((override) => [override.blockId, override]) ?? []);
97899
- const transitionByBlockId = transitionByPreviousBlockId(input.editorModel.boundaries);
97900
97981
  const blocks = input.editorModel.blocks.flatMap((block) => {
97901
97982
  const look = lookForEditorRuntimeBlock(block, lookOverrideByBlockId.get(block.blockId) ?? null);
97902
97983
  if (!look) return [];
@@ -97905,12 +97986,15 @@ function compileEditorModelRuntime(input) {
97905
97986
  blockKind: block.blockKind,
97906
97987
  purpose: previewCustomizePurpose,
97907
97988
  appearancePresetId: look.id,
97908
- ...look.design,
97909
- transitionAfter: transitionByBlockId.get(block.blockId) ?? look.design.transitionAfter
97989
+ ...look.design
97910
97990
  }];
97911
97991
  });
97912
- if (blocks.length === 0) return { blocks: [] };
97913
- return compilePageRuntimeFields({
97992
+ if (blocks.length === 0) return {
97993
+ blocks: [],
97994
+ boundaries: []
97995
+ };
97996
+ const fallbackTransitionAfterByBlockId = new Map(blocks.map((block) => [block.blockId, block.transitionAfter]));
97997
+ const compiled = compilePageRuntimeFields({
97914
97998
  resolved: resolveBlockDesignPlan({
97915
97999
  policy: "user",
97916
98000
  blocks,
@@ -97921,12 +98005,37 @@ function compileEditorModelRuntime(input) {
97921
98005
  componentRules: input.componentRules,
97922
98006
  sectionSpacing: input.sectionSpacing
97923
98007
  });
98008
+ return {
98009
+ blocks: compiled.blocks,
98010
+ boundaries: compileEditorBoundaryRuntime({
98011
+ boundaries: input.editorModel.boundaries,
98012
+ blocks: compiled.blocks,
98013
+ fallbackTransitionAfterByPreviousBlockId: fallbackTransitionAfterByBlockId,
98014
+ designRules: input.designRules
98015
+ })
98016
+ };
97924
98017
  }
97925
- function buildCompiledRuntimeFieldsByBlockId(compiled) {
97926
- return new Map(compiled.blocks.map((block) => [block.blockId, block.fields]));
98018
+ function compileEditorBoundaryRuntime(input) {
98019
+ const blockById = new Map(input.blocks.map((block) => [block.blockId, block]));
98020
+ return input.boundaries.flatMap((boundary) => {
98021
+ const previousBlock = blockById.get(boundary.previousBlockId);
98022
+ const nextBlock = blockById.get(boundary.nextBlockId);
98023
+ const transitionAfter = transitionAfterForEditorBoundary(boundary) ?? input.fallbackTransitionAfterByPreviousBlockId.get(boundary.previousBlockId) ?? null;
98024
+ if (!previousBlock || !nextBlock || !transitionAfter) return [];
98025
+ const compiled = compileBoundaryRuntime({
98026
+ boundaryId: boundary.boundaryId,
98027
+ previousBlockId: boundary.previousBlockId,
98028
+ nextBlockId: boundary.nextBlockId,
98029
+ treatment: transitionAfter,
98030
+ fromSurface: previousBlock.visualSectionSurface,
98031
+ toSurface: nextBlock.visualSectionSurface,
98032
+ rules: input.designRules
98033
+ });
98034
+ return compiled ? [compiled] : [];
98035
+ });
97927
98036
  }
97928
- function buildEditorModelRuntimeFieldsByBlockId(input) {
97929
- return buildCompiledRuntimeFieldsByBlockId(compileEditorModelRuntime(input));
98037
+ function transitionAfterForEditorBoundary(boundary) {
98038
+ return boundary.availableBreaks.find((candidate) => candidate.id === boundary.breakChoice.effectiveValue)?.transitionAfter ?? null;
97930
98039
  }
97931
98040
  function applyCompiledRuntimeFieldsToContent(content, fields) {
97932
98041
  const runtimeFields = fields ? preserveContentOwnedBackgroundFields(content, fields) : fields;
@@ -97950,6 +98059,22 @@ function retargetCompiledRuntimeFieldsForContentAdjacency(fields, adjacency) {
97950
98059
  })
97951
98060
  };
97952
98061
  }
98062
+ function retargetCompiledBoundaryRuntimeForContentAdjacency(boundary, adjacency) {
98063
+ const fromSurface = contentOwnedBackgroundEndpoint(adjacency.currentContent) ?? boundary.from;
98064
+ const toSurface = contentOwnedBackgroundEndpoint(adjacency.nextContent) ?? boundary.to;
98065
+ if (fromSurface === boundary.from && toSurface === boundary.to) return boundary;
98066
+ const transition = compileTransitionRuntime({
98067
+ treatment: boundary.treatment,
98068
+ from: fromSurface,
98069
+ to: toSurface
98070
+ });
98071
+ return {
98072
+ ...boundary,
98073
+ from: transition.from,
98074
+ to: transition.to,
98075
+ cssVars: transition.cssVars
98076
+ };
98077
+ }
97953
98078
  function contentOwnedBackgroundEndpoint(content) {
97954
98079
  const background = readRecord(readRecord(content?._sectionStyles)?.background);
97955
98080
  if (background?.contentOwner !== "page-design-editor" || background.type !== "color") return null;
@@ -98016,12 +98141,6 @@ function readRecord(value) {
98016
98141
  function pickExistingImageBackgroundFields(background) {
98017
98142
  return Object.fromEntries(promotedBackgroundImageFieldNames.flatMap((fieldName) => Object.prototype.hasOwnProperty.call(background, fieldName) ? [[fieldName, background[fieldName]]] : []));
98018
98143
  }
98019
- function transitionByPreviousBlockId(boundaries) {
98020
- return new Map(boundaries.flatMap((boundary) => {
98021
- const option = boundary.availableBreaks.find((candidate) => candidate.id === boundary.breakChoice.effectiveValue) ?? null;
98022
- return option ? [[boundary.previousBlockId, option.transitionAfter]] : [];
98023
- }));
98024
- }
98025
98144
  function lookForEditorRuntimeBlock(block, override) {
98026
98145
  if (override?.kind === "pinned") return block.availableLooks.find((look) => look.id === override.appearancePresetId) ?? null;
98027
98146
  if (override?.kind === "auto") return block.look.kind === "auto" ? block.availableLooks.find((look) => look.id === block.look.effectiveValue) ?? null : block.availableLooks[0] ?? null;
@@ -98348,6 +98467,84 @@ function requiredQuickSiteChromeBackgroundColorToken(index) {
98348
98467
  return token;
98349
98468
  }
98350
98469
  //#endregion
98470
+ //#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
98471
+ const headerNavTypographyOptions = [
98472
+ {
98473
+ value: "inherit",
98474
+ label: "Default"
98475
+ },
98476
+ {
98477
+ value: "body",
98478
+ label: "Body"
98479
+ },
98480
+ {
98481
+ value: "heading",
98482
+ label: "Heading"
98483
+ }
98484
+ ];
98485
+ const headerNavFontSizeOptions = [
98486
+ {
98487
+ value: "inherit",
98488
+ label: "Default"
98489
+ },
98490
+ {
98491
+ value: "xs",
98492
+ label: "Tiny"
98493
+ },
98494
+ {
98495
+ value: "sm",
98496
+ label: "Small"
98497
+ },
98498
+ {
98499
+ value: "base",
98500
+ label: "Regular"
98501
+ },
98502
+ {
98503
+ value: "lg",
98504
+ label: "Large"
98505
+ }
98506
+ ];
98507
+ const defaultHeaderNavPreferences = {
98508
+ typography: "inherit",
98509
+ fontSize: "inherit"
98510
+ };
98511
+ function readHeaderNavPreferences(theme) {
98512
+ const typography = theme?.header?.navTypography;
98513
+ const fontSize = theme?.header?.navTextSize;
98514
+ return typography === "body" || typography === "heading" ? {
98515
+ typography,
98516
+ fontSize: readHeaderNavFontSizePreference(fontSize)
98517
+ } : {
98518
+ ...defaultHeaderNavPreferences,
98519
+ fontSize: readHeaderNavFontSizePreference(fontSize)
98520
+ };
98521
+ }
98522
+ function headerNavPreferencesEqual(left, right) {
98523
+ return left.typography === right.typography && left.fontSize === right.fontSize;
98524
+ }
98525
+ function withHeaderNavThemePreferences(theme, preferences) {
98526
+ const { navTypography: _navTypography, navTextSize: _navTextSize, ...headerWithoutPreference } = theme.header;
98527
+ const nextHeader = {
98528
+ ...headerWithoutPreference,
98529
+ ...preferences.typography === "inherit" ? {} : { navTypography: preferences.typography },
98530
+ ...preferences.fontSize === "inherit" ? {} : { navTextSize: preferences.fontSize }
98531
+ };
98532
+ return {
98533
+ ...theme,
98534
+ header: nextHeader
98535
+ };
98536
+ }
98537
+ function mergeHeaderNavTypographyPreference(style, preferences) {
98538
+ return preferences.typography === "inherit" && preferences.fontSize === "inherit" ? style : {
98539
+ ...style,
98540
+ ...preferences.typography === "inherit" ? {} : { typography: preferences.typography },
98541
+ ...preferences.fontSize === "inherit" ? {} : { textSize: preferences.fontSize }
98542
+ };
98543
+ }
98544
+ function readHeaderNavFontSizePreference(value) {
98545
+ return value === "xs" || value === "sm" || value === "base" || value === "lg" ? value : "inherit";
98546
+ }
98547
+ //#endregion
98351
98548
  //#region ../theme-core/src/site-styles/tokenRecipes.ts
98352
98549
  const themeTokenRecipeOptions = {
98353
98550
  palette: [
@@ -155954,7 +156151,7 @@ function planSiteStylePreviewChange(input) {
155954
156151
  }
155955
156152
  //#endregion
155956
156153
  //#region ../preview-next/src/client/preview/siteChromeSavePlan.ts
155957
- function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt }) {
156154
+ function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt }) {
155958
156155
  const compiled = planSiteStylePreviewChange({
155959
156156
  siteStyle,
155960
156157
  selection,
@@ -155962,7 +156159,7 @@ function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, hea
155962
156159
  headerSelectionContext: withHeaderBrandPreferences(headerSelectionContext, headerBrandPreferences),
155963
156160
  footerSelectionContext
155964
156161
  });
155965
- const themeOverlay = applySiteChromeBackgroundPreferences(withHeaderBrandThemePreferences(compiled.themeOverlay, headerBrandPreferences), backgroundPreferences);
156162
+ const themeOverlay = applySiteChromeBackgroundPreferences(withHeaderNavThemePreferences(withHeaderBrandThemePreferences(compiled.themeOverlay, headerBrandPreferences), headerNavPreferences), backgroundPreferences);
155966
156163
  return {
155967
156164
  compiled,
155968
156165
  themeOverlay,
@@ -156368,6 +156565,21 @@ function quickControlHistoryEntryFromBackgroundPreferenceChange(previous, next,
156368
156565
  default: return assertNever$5(target, "Unhandled site chrome background quick-control target");
156369
156566
  }
156370
156567
  }
156568
+ function quickControlHistoryEntryFromNavPreferenceChange(previous, next, target) {
156569
+ switch (target) {
156570
+ case "header-menu-font": return previous.typography === next.typography ? null : {
156571
+ kind: target,
156572
+ previous: previous.typography,
156573
+ next: next.typography
156574
+ };
156575
+ case "header-menu-font-size": return previous.fontSize === next.fontSize ? null : {
156576
+ kind: target,
156577
+ previous: previous.fontSize,
156578
+ next: next.fontSize
156579
+ };
156580
+ default: return assertNever$5(target, "Unhandled site chrome nav quick-control target");
156581
+ }
156582
+ }
156371
156583
  function beginSiteChromeQuickControlHistoryUndo(state) {
156372
156584
  const skipReason = skipReasonForHistoryMutation(state, "undo");
156373
156585
  if (skipReason) return {
@@ -156468,6 +156680,7 @@ function beginSiteChromeQuickControlHistoryMutation(state, mutationKind, entry)
156468
156680
  const target = quickControlReplayPlanForEntry({
156469
156681
  selection: base.selection,
156470
156682
  headerBrandPreferences: base.headerBrandPreferences,
156683
+ headerNavPreferences: base.headerNavPreferences,
156471
156684
  backgroundPreferences: base.backgroundPreferences
156472
156685
  }, entry, mutationKind === "undoing" ? "undo" : "redo");
156473
156686
  return {
@@ -156533,6 +156746,20 @@ function quickControlReplayPlanForEntry(current, entry, command) {
156533
156746
  logoSize: command === "undo" ? entry.previous : entry.next
156534
156747
  }
156535
156748
  };
156749
+ case "header-menu-font": return {
156750
+ kind: "nav-preferences",
156751
+ preferences: {
156752
+ ...current.headerNavPreferences,
156753
+ typography: command === "undo" ? entry.previous : entry.next
156754
+ }
156755
+ };
156756
+ case "header-menu-font-size": return {
156757
+ kind: "nav-preferences",
156758
+ preferences: {
156759
+ ...current.headerNavPreferences,
156760
+ fontSize: command === "undo" ? entry.previous : entry.next
156761
+ }
156762
+ };
156536
156763
  case "header-background": return {
156537
156764
  kind: "background-preferences",
156538
156765
  preferences: {
@@ -156576,6 +156803,7 @@ function headerStyleSelection(selection) {
156576
156803
  function normalizePresentInput(present) {
156577
156804
  return {
156578
156805
  ...present,
156806
+ headerNavPreferences: present.headerNavPreferences ?? defaultHeaderNavPreferences,
156579
156807
  backgroundPreferences: present.backgroundPreferences ?? defaultSiteChromeBackgroundPreferences()
156580
156808
  };
156581
156809
  }
@@ -156583,7 +156811,7 @@ function siteChromeQuickControlHistoryPresentEquals(left, right) {
156583
156811
  return siteChromeQuickControlHistoryPresentCoreEquals(left, right) && siteChromeQuickControlHistoryEntryEquals(left.entry, right.entry);
156584
156812
  }
156585
156813
  function siteChromeQuickControlHistoryPresentCoreEquals(left, right) {
156586
- return selectionSnapshotsEqual(left.selection, right.selection) && headerBrandPreferencesEqual(left.headerBrandPreferences, right.headerBrandPreferences) && backgroundPreferencesEqual(left.backgroundPreferences, right.backgroundPreferences);
156814
+ return selectionSnapshotsEqual(left.selection, right.selection) && headerBrandPreferencesEqual(left.headerBrandPreferences, right.headerBrandPreferences) && headerNavPreferencesEqual(left.headerNavPreferences, right.headerNavPreferences) && backgroundPreferencesEqual(left.backgroundPreferences, right.backgroundPreferences);
156587
156815
  }
156588
156816
  function siteChromeQuickControlHistoryEntryEquals(left, right) {
156589
156817
  if (left === right) return true;
@@ -156594,7 +156822,9 @@ function siteChromeQuickControlHistoryEntryEquals(left, right) {
156594
156822
  case "footer-layout":
156595
156823
  case "footer-look":
156596
156824
  case "header-brand-display":
156597
- case "header-logo-size": return right.kind === left.kind && left.previous === right.previous && left.next === right.next;
156825
+ case "header-logo-size":
156826
+ case "header-menu-font":
156827
+ case "header-menu-font-size": return right.kind === left.kind && left.previous === right.previous && left.next === right.next;
156598
156828
  case "header-background":
156599
156829
  case "footer-background": return right.kind === left.kind && siteChromeBackgroundOverrideEquals(left.previous, right.previous) && siteChromeBackgroundOverrideEquals(left.next, right.next);
156600
156830
  default: return assertNever$5(left, "Unhandled site chrome quick-control history entry");
@@ -156627,6 +156857,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156627
156857
  headerSelectionContext
156628
156858
  }).preferences);
156629
156859
  const [backgroundPreferences, setBackgroundPreferences] = useState(() => siteChromeBackgroundPreferencesFromTheme(theme ?? null));
156860
+ const [headerNavPreferences, setHeaderNavPreferences] = useState(() => readHeaderNavPreferences(theme ?? null));
156630
156861
  const latestSelectionUpdatedAtRef = useRef(initialSelections.selectionUpdatedAt ?? selectionUpdatedAt ?? null);
156631
156862
  const initialSelectionVersion = initialSelections.selectionVersion ?? selectionVersion ?? 0;
156632
156863
  const baseSnapshot = useMemo(() => resolveStyleConfiguratorInitialSnapshot({
@@ -156654,6 +156885,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156654
156885
  theme: theme ?? null,
156655
156886
  headerSelectionContext
156656
156887
  }).preferences,
156888
+ headerNavPreferences: readHeaderNavPreferences(theme ?? null),
156657
156889
  backgroundPreferences: siteChromeBackgroundPreferencesFromTheme(theme ?? null)
156658
156890
  }) : null);
156659
156891
  const [siteStylePreviewActive, setSiteStylePreviewActive] = useState(false);
@@ -156662,6 +156894,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156662
156894
  const quickControlHistoryRef = useRef(quickControlHistory);
156663
156895
  const siteStylePreviewActiveRef = useRef(siteStylePreviewActive);
156664
156896
  const confirmedHeaderBrandPreferencesRef = useRef(headerBrandPreferences);
156897
+ const confirmedHeaderNavPreferencesRef = useRef(headerNavPreferences);
156665
156898
  const backgroundPreferencesRef = useRef(backgroundPreferences);
156666
156899
  const confirmedBackgroundPreferencesRef = useRef(backgroundPreferences);
156667
156900
  const clearPreviewRef = useRef(clearPreview);
@@ -156695,6 +156928,9 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156695
156928
  const nextBackgroundPreferences = siteChromeBackgroundPreferencesFromTheme(theme ?? null);
156696
156929
  setBackgroundPreferencesSnapshot(nextBackgroundPreferences);
156697
156930
  confirmedBackgroundPreferencesRef.current = nextBackgroundPreferences;
156931
+ const nextHeaderNavPreferences = readHeaderNavPreferences(theme ?? null);
156932
+ setHeaderNavPreferences(nextHeaderNavPreferences);
156933
+ confirmedHeaderNavPreferencesRef.current = nextHeaderNavPreferences;
156698
156934
  }, [
156699
156935
  headerSelectionContext,
156700
156936
  setBackgroundPreferencesSnapshot,
@@ -156718,6 +156954,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156718
156954
  const next = createSiteChromeQuickControlHistoryState({
156719
156955
  selection: baseSnapshot,
156720
156956
  headerBrandPreferences: confirmedHeaderBrandPreferencesRef.current,
156957
+ headerNavPreferences: confirmedHeaderNavPreferencesRef.current,
156721
156958
  backgroundPreferences: confirmedBackgroundPreferencesRef.current
156722
156959
  });
156723
156960
  quickControlHistoryRef.current = next;
@@ -156773,8 +157010,13 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156773
157010
  options: lookModels.headerStyle.options,
156774
157011
  brandDisplay: headerBrandControlState.preferences.brandDisplay,
156775
157012
  brandDisplayOptions: headerBrandControlState.brandDisplayOptions,
157013
+ brandSizeLabel: headerBrandSizeControlLabel(headerBrandControlState),
156776
157014
  logoSize: headerBrandControlState.preferences.logoSize,
156777
157015
  logoSizeOptions: headerBrandControlState.logoSizeOptions,
157016
+ menuFont: headerNavPreferences.typography,
157017
+ menuFontOptions: headerNavTypographyOptions,
157018
+ menuFontSize: headerNavPreferences.fontSize,
157019
+ menuFontSizeOptions: headerNavFontSizeOptions,
156778
157020
  diagnostics: [],
156779
157021
  background: backgroundControlState(backgroundPreferences.header, canCustomizeSiteChromeBackground(currentThemeRef.current ?? theme, "header")),
156780
157022
  failure: state.saveStatus.kind === "failed" ? state.saveStatus.message : null,
@@ -156804,6 +157046,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156804
157046
  applyAllowed,
156805
157047
  backgroundPreferences,
156806
157048
  headerBrandControlState,
157049
+ headerNavPreferences,
156807
157050
  lookModels,
156808
157051
  state,
156809
157052
  theme
@@ -156816,6 +157059,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156816
157059
  };
156817
157060
  const selection = request.kind === "selection" ? request.selection : current.previewed;
156818
157061
  const headerBrandPreferences = request.kind === "brand-preferences" ? request.preferences : confirmedHeaderBrandPreferencesRef.current;
157062
+ const headerNavPreferences = request.kind === "nav-preferences" ? request.preferences : confirmedHeaderNavPreferencesRef.current;
156819
157063
  const nextBackgroundPreferences = request.kind === "background-preferences" ? request.preferences : confirmedBackgroundPreferencesRef.current;
156820
157064
  const siteStyle = getCuratedSiteStyle(selection.siteStyleId);
156821
157065
  if (!siteStyle) return {
@@ -156830,6 +157074,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156830
157074
  headerSelectionContext,
156831
157075
  footerSelectionContext,
156832
157076
  headerBrandPreferences,
157077
+ headerNavPreferences,
156833
157078
  backgroundPreferences: nextBackgroundPreferences,
156834
157079
  themeId: themeId ?? null,
156835
157080
  selectionId: selectionId ?? null,
@@ -156843,6 +157088,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156843
157088
  optimistic: () => {
156844
157089
  if (request.kind === "brand-preferences") setHeaderBrandPreferences(request.preferences);
156845
157090
  if (request.kind === "background-preferences") setBackgroundPreferencesSnapshot(request.preferences);
157091
+ if (request.kind === "nav-preferences") setHeaderNavPreferences(request.preferences);
156846
157092
  previewTheme("site-chrome", savePlan.themeOverlay, "site-chrome");
156847
157093
  setState((latest) => {
156848
157094
  if (!latest) return latest;
@@ -156869,6 +157115,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156869
157115
  onSuccess: (saved) => {
156870
157116
  currentThemeRef.current = saved.theme;
156871
157117
  const previousHeaderBrandPreferences = confirmedHeaderBrandPreferencesRef.current;
157118
+ const previousHeaderNavPreferences = confirmedHeaderNavPreferencesRef.current;
156872
157119
  const previousBackgroundPreferences = confirmedBackgroundPreferencesRef.current;
156873
157120
  const persistedHeaderBrandPreferences = createHeaderBrandControlState({
156874
157121
  theme: saved.theme,
@@ -156876,6 +157123,9 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156876
157123
  }).preferences;
156877
157124
  setHeaderBrandPreferences(persistedHeaderBrandPreferences);
156878
157125
  confirmedHeaderBrandPreferencesRef.current = persistedHeaderBrandPreferences;
157126
+ const persistedHeaderNavPreferences = readHeaderNavPreferences(saved.theme);
157127
+ setHeaderNavPreferences(persistedHeaderNavPreferences);
157128
+ confirmedHeaderNavPreferencesRef.current = persistedHeaderNavPreferences;
156879
157129
  const persistedBackgroundPreferences = siteChromeBackgroundPreferencesFromTheme(saved.theme);
156880
157130
  setBackgroundPreferencesSnapshot(persistedBackgroundPreferences);
156881
157131
  confirmedBackgroundPreferencesRef.current = persistedBackgroundPreferences;
@@ -156890,20 +157140,23 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156890
157140
  const history = quickControlHistoryRef.current ?? createSiteChromeQuickControlHistoryState({
156891
157141
  selection: current.previewed,
156892
157142
  headerBrandPreferences: confirmedHeaderBrandPreferencesRef.current,
157143
+ headerNavPreferences: confirmedHeaderNavPreferencesRef.current,
156893
157144
  backgroundPreferences: confirmedBackgroundPreferencesRef.current
156894
157145
  });
156895
- const entry = request.kind === "selection" ? quickControlHistoryEntryFromSelectionChange(current.previewed, persisted, request.history.target) : request.kind === "brand-preferences" ? quickControlHistoryEntryFromBrandPreferenceChange(previousHeaderBrandPreferences, persistedHeaderBrandPreferences, request.history.target) : quickControlHistoryEntryFromBackgroundPreferenceChange(previousBackgroundPreferences, persistedBackgroundPreferences, request.history.target);
157146
+ const entry = request.kind === "selection" ? quickControlHistoryEntryFromSelectionChange(current.previewed, persisted, request.history.target) : request.kind === "brand-preferences" ? quickControlHistoryEntryFromBrandPreferenceChange(previousHeaderBrandPreferences, persistedHeaderBrandPreferences, request.history.target) : request.kind === "nav-preferences" ? quickControlHistoryEntryFromNavPreferenceChange(previousHeaderNavPreferences, persistedHeaderNavPreferences, request.history.target) : quickControlHistoryEntryFromBackgroundPreferenceChange(previousBackgroundPreferences, persistedBackgroundPreferences, request.history.target);
156896
157147
  if (entry) {
156897
157148
  const nextHistory = recordSiteChromeQuickControlHistoryEntry(history, {
156898
157149
  entry,
156899
157150
  previous: {
156900
157151
  selection: current.previewed,
156901
157152
  headerBrandPreferences: previousHeaderBrandPreferences,
157153
+ headerNavPreferences: previousHeaderNavPreferences,
156902
157154
  backgroundPreferences: previousBackgroundPreferences
156903
157155
  },
156904
157156
  persisted: {
156905
157157
  selection: persisted,
156906
157158
  headerBrandPreferences: persistedHeaderBrandPreferences,
157159
+ headerNavPreferences: persistedHeaderNavPreferences,
156907
157160
  backgroundPreferences: persistedBackgroundPreferences
156908
157161
  }
156909
157162
  });
@@ -156917,6 +157170,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156917
157170
  const nextHistory = confirmSiteChromeQuickControlHistoryMutation(history, {
156918
157171
  selection: persisted,
156919
157172
  headerBrandPreferences: persistedHeaderBrandPreferences,
157173
+ headerNavPreferences: persistedHeaderNavPreferences,
156920
157174
  backgroundPreferences: persistedBackgroundPreferences
156921
157175
  });
156922
157176
  quickControlHistoryRef.current = nextHistory;
@@ -156928,6 +157182,7 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156928
157182
  onError: (error) => {
156929
157183
  if (request.kind === "brand-preferences") setHeaderBrandPreferences(confirmedHeaderBrandPreferencesRef.current);
156930
157184
  if (request.kind === "background-preferences") setBackgroundPreferencesSnapshot(confirmedBackgroundPreferencesRef.current);
157185
+ if (request.kind === "nav-preferences") setHeaderNavPreferences(confirmedHeaderNavPreferencesRef.current);
156931
157186
  const failure = classifySiteChromeQuickControlApplyError(error);
156932
157187
  if (request.history.kind === "confirm-mutation") setQuickControlHistory((latest) => {
156933
157188
  if (!latest) return latest;
@@ -156993,6 +157248,17 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
156993
157248
  }
156994
157249
  });
156995
157250
  }, [applyAllowed, runSiteChromeQuickControlSave]);
157251
+ const persistHeaderNavPreferences = useCallback((nextPreferences, target) => {
157252
+ if (!applyAllowed) return;
157253
+ runSiteChromeQuickControlSave({
157254
+ kind: "nav-preferences",
157255
+ preferences: nextPreferences,
157256
+ history: {
157257
+ kind: "record",
157258
+ target
157259
+ }
157260
+ });
157261
+ }, [applyAllowed, runSiteChromeQuickControlSave]);
156996
157262
  const selectHeaderStyle = useCallback((styleId) => {
156997
157263
  if (!applyAllowed) return;
156998
157264
  const current = stateRef.current;
@@ -157077,6 +157343,18 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
157077
157343
  logoSize
157078
157344
  }, "header-logo-size");
157079
157345
  }, [headerBrandControlState.preferences, persistHeaderBrandPreferences]);
157346
+ const setHeaderMenuFont = useCallback((typography) => {
157347
+ persistHeaderNavPreferences({
157348
+ ...headerNavPreferences,
157349
+ typography
157350
+ }, "header-menu-font");
157351
+ }, [headerNavPreferences, persistHeaderNavPreferences]);
157352
+ const setHeaderMenuFontSize = useCallback((fontSize) => {
157353
+ persistHeaderNavPreferences({
157354
+ ...headerNavPreferences,
157355
+ fontSize
157356
+ }, "header-menu-font-size");
157357
+ }, [headerNavPreferences, persistHeaderNavPreferences]);
157080
157358
  const chooseSurfaceBackground = useCallback((surface, override) => {
157081
157359
  if (!applyAllowed) return;
157082
157360
  if (surface === "header" && !canCustomizeSiteChromeBackground(currentThemeRef.current ?? theme, "header")) return;
@@ -157193,6 +157471,8 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
157193
157471
  cycleSurfaceLayout,
157194
157472
  setHeaderBrandDisplay,
157195
157473
  setHeaderLogoSize,
157474
+ setHeaderMenuFont,
157475
+ setHeaderMenuFontSize,
157196
157476
  cycleSurfaceBackground,
157197
157477
  chooseSurfaceBackground,
157198
157478
  siteStyleHistory: siteStyleHistoryController,
@@ -157205,6 +157485,8 @@ function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, theme
157205
157485
  cycleSurfaceBackground,
157206
157486
  setHeaderBrandDisplay,
157207
157487
  setHeaderLogoSize,
157488
+ setHeaderMenuFont,
157489
+ setHeaderMenuFontSize,
157208
157490
  quickControlHistoryController,
157209
157491
  siteStyleHistoryController
157210
157492
  ]);
@@ -157230,6 +157512,16 @@ function backgroundControlState(current, available) {
157230
157512
  advancedTokens: advancedSiteChromeBackgroundColorTokens
157231
157513
  };
157232
157514
  }
157515
+ function headerBrandSizeControlLabel(state) {
157516
+ if (state.kind === "no-logo") return "Site title size";
157517
+ switch (state.preferences.brandDisplay) {
157518
+ case "logo-only": return "Logo size";
157519
+ case "title-only": return "Site title size";
157520
+ case "auto":
157521
+ case "logo-plus-title": return "Brand size";
157522
+ default: return assertNever$5(state.preferences.brandDisplay, "Unhandled header brand display mode");
157523
+ }
157524
+ }
157233
157525
  function saveRequestFromQuickControlReplayPlan(plan, mutation) {
157234
157526
  switch (plan.kind) {
157235
157527
  case "selection": return {
@@ -157249,6 +157541,14 @@ function saveRequestFromQuickControlReplayPlan(plan, mutation) {
157249
157541
  mutation
157250
157542
  }
157251
157543
  };
157544
+ case "nav-preferences": return {
157545
+ kind: "nav-preferences",
157546
+ preferences: plan.preferences,
157547
+ history: {
157548
+ kind: "confirm-mutation",
157549
+ mutation
157550
+ }
157551
+ };
157252
157552
  case "background-preferences": return {
157253
157553
  kind: "background-preferences",
157254
157554
  preferences: plan.preferences,
@@ -157306,4 +157606,4 @@ function useSiteChromeCustomizeOptional() {
157306
157606
  return useContext(SiteChromeCustomizeContext);
157307
157607
  }
157308
157608
  //#endregion
157309
- export { PreviewRichTextEditor as $, bindingSchema as $a, useBlockContext as $c, ChevronLeft as $d, getComponentBorderWidthPx as $i, DropdownMenuContent as $l, buildEventCalendarListingRender as $n, assertNever$5 as $o, ctaCopyFragment as $r, UploadIcon as $s, deleteEntrySlotBlock as $t, unsafeAsCustomerPassId as $u, markApplySaving as A, isSemanticSpacing as Aa, getImageUrl as Ac, Image as Ad, findTypographyPreset as Ai, Root2$1 as Al, SITE_CHROME_VISIBLE_HEADER_SELECTOR as An, formatTime as Ao, formatCommercePrice as Ar, CalendarIcon as As, createRoutingHelpers as At, formatBookingDate as Au, setPaletteOverrides as B, normalizeOptionalId as Ba, TokenResolver as Bc, Eye as Bd, sectionTransitionVariantForBoundaryOptionId as Bi, Collapsible as Bl, isInternalResolvedLinkValue as Bn, blockBookingPaymentTermsSchema as Bo, augmentManifestWithStyleGroups as Br, ExternalLinkIcon as Bs, ManifestForm as Bt, formatBookingPriceDisplay as Bu, createStyleConfiguratorState as C, isOfferingsPreviewSourceKey as Ca, isRotationDimensionSwap as Cc, Pencil as Cd, planPageDesignLayoutLookCompatibility as Ci, Input as Cl, isSupportedLoaderEndpoint as Cn, toLocationMapHydrationProps as Co, buildProductDetailInteractiveIslandProps as Cr, resolveIconPickerPreset as Cs, pushHistoryEntry as Ct, clsx as Cu, isPreviewingChange as D, resolveOfferingsPreviewGroupCta as Da, resolveMediaTransformForAspect as Dc, Minus as Dd, getCuratedSiteStyle as Di, TabsTrigger as Dl, listBlockDescriptors as Dn, formatEventPrice as Do, buildCartDisplay as Dr, ArrowDownIcon as Ds, recordsEqual as Dt, unsafeAsEditorBlockId as Du, dismissWarnings as E, resolveOfferingsPreviewCoursePath as Ea, parseAspectRatioValue as Ec, Monitor as Ed, designRuntimeRulesForTheme as Ei, TabsList as El, getBlockDefinition as En, formatEventDateParts as Eo, getShopDisplayForItems as Er, isSemanticIconId as Es, unsafeAsLinkedContentEntryId as Et, createEditorReorderBlocksCommand as Eu, previewHeaderStyle as F, getEventRuntimeFiltersKey as Fa, generateButtonCss as Fc, FileText as Fd, getHeaderLayout as Fi, DialogContent as Fl, mediaTransforms as Fn, resolveEventLinkProps as Fo, deriveCommerceCheckoutState as Fr, ChevronUpIcon as Fs, PaletteProvider as Ft, getBookingLocalDateKey as Fu, beginAutosaveBatch as G, eventLayoutSchema as Ga, mergeStyles as Gc, Copy as Gd, parseBackgroundAppearanceColorToken as Gi, Trigger$3 as Gl, productDetailBlockDefinition as Gn, defineClientOwnedBlockRuntime as Go, faqHeadingFragment as Gr, InfoIcon as Gs, createStoreBackend as Gt, publicEventTicketTypes as Gu, syncStyleConfiguratorState as H, columnOptionSchema as Ha, themeButtonClassName as Hc, EllipsisVertical as Hd, backgroundAppearanceColorTokenNames as Hi, CollapsibleTrigger as Hl, useImageResolveContextOptional as Hn, createInteractiveIslandCodec as Ho, headingFragment as Hr, FileAudioIcon as Hs, createManifestValidation as Ht, publicEventPricingMode as Hu, previewPaletteVariant as I, resolveEventCalendarListPageSize as Ia, generateEffectsCSS as Ic, FileSpreadsheet as Id, getHeaderStyle as Ii, DialogDescription as Il, layoutTransforms as In, getEventAvailability as Io, parseStoredCommerceCartState as Ir, CircleMinusIcon as Is, usePalette as It, parseBookingLocalDate as Iu, enqueueTransaction as J, weekStartSchema as Ja, useBackendWatch as Jc, CircleCheck as Jd, paletteVariants as Ji, CardContent as Jl, eventListingBlockDefinition as Jn, composeHeaderSectionWrapperClassName as Jo, footerBottomTextFragment as Jr, MinusIcon as Js, applyPageDesignEditorAction as Jt, expectParsedBrandedId as Ju, confirmAutosaveBatch as K, filterAutoShowSchema as Ka, rgbColorValue as Kc, CirclePlus as Kd, defaultThemeTokens as Ki, createCollapsibleScope as Kl, newsletterSignupBlockDefinition as Kn, defineProgressiveBlockRuntime as Ko, blogFeaturedPostFragment as Kr, MailIcon as Ks, listContentTypes as Kt, formatCurrencyAmount as Ku, previewSiteStyle as L, resolveEventListPaginationAction as La, generateShadowValue$1 as Lc, FilePlay as Ld, defaultSectionTransitionVariantForFamily as Li, DialogFooter as Ll, uiTransforms as Ln, getLocalDateKey as Lo, productItemKey as Lr, CirclePlusIcon as Ls, recoveryConflictCopy as Lt, resolveBookingTimeZoneId as Lu, previewButtonPersonality as M, buildEventRuntimeFilters as Ma, siblingPath as Mc, ImagePlus as Md, requireEntriesForCuratedChoices as Mi, ScrollableDialogContent as Ml, planSiteOverlayHeaderClearance as Mn, getContainerClass as Mo, EMPTY_COMMERCE_CART_STATE as Mr, ChevronDownIcon as Ms, deriveRouteMetadataPresentation as Mt, formatBookingInstant as Mu, previewFooterLook as N, eventListPaginationActionSchema as Na, buttonPersonalities as Nc, GripVertical as Nd, findFooterLook as Ni, Dialog as Nl, visibleHeaderClearancePx as Nn, groupEventsByDate as No, buildPassCartItem as Nr, ChevronLeftIcon as Ns, resolvePageRouteSlug as Nt, formatBookingTime as Nu, markApplyFailed as O, resolveOfferingsPreviewGroupOrderEntries as Oa, asRecord as Oc, Maximize2 as Od, surfaceResolutionContextFromTheme as Oi, Content as Ol, siteFooterManifest as On, formatEventPriceDisplay as Oo, buildProductCardDisplay as Or, ArrowLeftIcon as Os, useMultiAutosave as Ot, unsafeAsEditorBlockValues as Ou, previewHeaderLayout as P, eventPageSizeSchema as Pa, findButtonPersonality as Pc, File as Pd, getFooterLayout as Pi, DialogClose as Pl, contentTransforms as Pn, resolveEventCta as Po, buildProductCartItem as Pr, ChevronRightIcon as Ps, resolveContentTitle as Pt, formatLocalScheduleDate as Pu, resolvePreviewSidebarTab as Q, when as Qa, isNonEmptyValue as Qc, ChevronRight as Qd, pageDesignEditorBackgroundOverrideOwner as Qi, DropdownMenu as Ql, buildEventCalendarListingDisplay as Qn, asDesignBlockId as Qo, testimonialsHeadingFragment as Qr, ShoppingCartIcon as Qs, deleteBlock as Qt, unsafeAsAppointmentServiceId as Qu, previewTypographyPreset as R, normalizeCsvIds as Ra, generateBaseInteractiveCSS as Rc, FileHeadphone as Rd, sectionTransitionFamilies as Ri, DialogHeader as Rl, formattingTransforms as Rn, getLocalMinuteOfDay as Ro, reduceCommerceCart as Rr, ClockIcon as Rs, unfinishedBlockCopy as Rt, toBookingTimeZone as Ru, cancelPreview as S, inferLegacyOfferingsPreviewGroupOrder as Sa, attachRenderableMediaAssetFields as Sc, Plus as Sd, normalEditorCuratedPromotedFieldPaths as Si, PopoverTrigger as Sl, useUniqueId as Sn, normalizeLocationMapProps as So, buildCheckoutInteractiveIslandProps as Sr, isIconPickerPreset as Ss, createHistoryState as St, cn$1 as Su, dismissNotices as T, normalizeOfferingsPreviewItemLimit as Ta, formatAspectRatioToken as Tc, Palette as Td, curatedSiteStyles as Ti, TabsContent as Tl, GRADIENT_PRESETS as Tn, formatEventCompactDateRail as To, buildShopInteractiveIslandProps as Tr, getSemanticIconComponent as Ts, undoHistory as Tt, createEditorRemoveBlockCommand as Tu, toggleRow as U, eventButtonVariantSchema as Ua, backgroundColorStyle as Uc, Crop as Ud, backgroundAppearanceQuickColorTokenNames as Ui, Content$1 as Ul, shopBlockDefinition as Un, defineInteractiveIslandMetaKeys as Uo, cardFragment as Ur, FileSpreadsheetIcon as Us, FormRenderer as Ut, publicEventPricingType as Uu, styleConfiguratorHistoryEntryForPersistedSelection as V, calendarTabViewsSchema as Va, parseThemeButtonVariantId as Vc, EyeOff as Vd, BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO as Vi, CollapsibleContent as Vl, ImageResolveContextProvider as Vn, buildInteractiveIslandProps as Vo, richTextFragment as Vr, FileArchiveIcon as Vs, createManifestFormAdapter as Vt, publicEventPricingCurrency as Vu, typographySelectionSnapshotFromFlat as W, eventCalendarDefaultViewSchema as Wa, borderColorStyle as Wc, CreditCard as Wd, foregroundTokenForBackgroundAppearanceColorToken as Wi, Root$3 as Wl, productListBlockDefinition as Wn, createZodCodec as Wo, faqAccordionFragment as Wr, FileTextIcon as Ws, evaluateVisibility as Wt, publicEventScalarPrice as Wu, rejectAutosaveBatch as X, eventCalendarListLayoutOptions as Xa, getModalConfig as Xc, ChevronsUpDown as Xd, isThemeV2NormalEditorRawStyleFieldName as Xi, CardTitle as Xl, eventCalendarBlockDefinition as Xn, splitPositioningClasses as Xo, formCopyFragment as Xr, PlayIcon as Xs, createBlock as Xt, parseSiteId as Xu, idleEditorTransactionQueueState as Y, eventCalendarListLayoutCompatibleDisplayModeValues as Ya, getFieldIntent as Yc, CircleAlert as Yd, paletteOverridesSchema as Yi, CardHeader as Yl, buildEventListingInteractiveIslandProps as Yn, markEditableSurfaceForwarding as Yo, formEmbedFragment as Yr, PhoneIcon as Ys, getPageDesignEditorState as Yt, parseMediaAssetId as Yu, createOptimisticActionRunner as Z, el as Za, isHeaderField as Zc, ChevronUp as Zd, isThemeV2NormalEditorRawStylePath as Zi, Surface as Zl, buildEventCalendarInteractiveIslandProps as Zn, planSiteChromePlacement as Zo, testimonialsCarouselFragment as Zr, PlusIcon as Zs, createEntrySlotBlock as Zt, unsafeAsAppointmentResourceId as Zu, usePreviewDesignCoordinator as _, OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT as _a, resolveMediaNodeResponsiveImage as _c, Smartphone as _d, formatSiteChromeBackgroundTokenLabel as _i, SelectValue as _l, useSensors as _n, resolveOnColorForThemeToken as _o, courseRegistrationBlockDefinition as _r, getBlockIconSemanticFallbackId as _s, useEditorUiStore as _t, composeEventHandlers as _u, previewDesignHistoryDomainForCommand as a, NAV_LINK_PADDING_MAP as aa, coerceInlineTextWithFallback as ac, err as ad, Archive as af, PUBLIC_FILE_FIELD_KINDS as ai, unmapValueFromSelect as al, DEFAULT_LAUNCH_READINESS_INPUT as an, normalizeEventScheduleScope as ao, findEventByOccurrenceId as ar, ICON_SIZE_PX as as, getRichTextImagePositionFromTarget as at, __awaiter as au, applyResolvedSelections as b, OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS as ba, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as bc, RotateCcw as bd, buildEditorModelRuntimeFieldsByBlockId as bi, Popover as bl, useCombinedRefs as bn, featuresFromHex as bo, cartBlockDefinition as br, resolveBlockIconRenderValue as bs, canRedoHistory as bt, cva as bu, selectionSnapshotFromApplySiteStyleSelectionResponse as c, FONT_WEIGHT_MAP as ca, parseInlineTextFromUnknown as cc, X as cd, __toESM as cf, MQ_MD_DOWN as ci, Tooltip as cl, DndContext as cn, normalizeEventSurfaceScope as co, resolveEventRequiresPayment as cr, FEATURE_CARD_ICON_TREATMENTS as cs, EditorProvider as ct, __read as cu, buildSiteChromeLookModels as d, LABEL_FONT_SIZE_MAP as da, buildResolveImageUrlContext as dc, TriangleAlert as dd, MQ_TABLET_ONLY as di, TooltipTrigger as dl, closestCenter as dn, generateCardCss as do, getStepNumber as dr, getFeatureCardIconCompletion as ds, useUISelector as dt, __spreadArrays as du, getComponentShadowVar as ea, XIcon as ec, unsafeAsFormId as ed, ChevronDown as ef, heroCtaRowFragment as ei, SdkConfigProvider as el, listEntryPageContentSlots as en, eventBlockKindValues as eo, formBlockDefinition as er, ACCORDION_OPEN_ACCENT_THICKNESS as es, PreviewInlineTextEditor as et, DropdownMenuItem as eu, cycleSiteChromeLookId as f, expandPalette as fa, computeMediaTransformStyle as fc, Trash2 as fd, BACKGROUND_POSITION_PRESET_VALUES as fi, Textarea as fl, getClientRect as fn, statusMutedColorDeclaration as fo, getWizardStepsForContext as fr, shouldReserveFeatureCardIconZone as fs, EditableBlockProvider as ft, useId$1 as fu, PreviewDesignCoordinatorProvider as g, ctaButton as ga, resolveImageUrlWithContext as gc, Sparkles as gd, resolveBackgroundColorValue as gi, SelectTrigger as gl, useSensor as gn, isCssColorLiteral as go, buildGiftingInteractiveIslandProps as gr, buildGeneratedBlockIconRenderAssetLookupFromUnknown as gs, classifyHistoryShortcut as gt, createContextScope as gu, planSiteChromeLookSelection as h, runTransforms as ha, renderVideo as hc, Star as hd, resolveSectionForegroundStyles as hi, SelectItem as hl, useDroppable as hn, normalizeCardVariantRole as ho, giftingBlockDefinition as hr, toFeatureCardIconSuggestionInputs as hs, useEntryEditorController as ht, useControllableState as hu, usePreviewDesignHistoryOrder as i, NAV_LINK_LETTER_SPACING_MAP as ia, isRecord$11 as ic, unsafeAsPositiveSeconds as id, ArrowDown as if, defineFragment as ii, mapOptionValueForSelect as il, decodePublicProductCategorySelectorQuery as in, normalizeEventCategoryIdsCsv as io, toRegistrationEvents as ir, ICON_CONFIG as is, RichTextEditorSurface as it, __assign as iu, openRow as j, resolveSpacing as ja, getAtPath as jc, ImageUp as jd, typographyPresets as ji, Trigger$2 as jl, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as jn, getCardOrientation as jo, formatInterval as jr, CheckIcon as js, createSnapshotFromPageRecord as jt, formatBookingDateTime as ju, markApplySaved as k, resolveOfferingsPreviewGroups as ka, getDirectImageUrlForMediaAsset as kc, LoaderCircle as kd, evaluateTypographyFontSlot as ki, List as kl, siteHeaderManifest as kn, formatEventTeacherLine as ko, buildProductDetailDisplay as kr, ArrowRightIcon as ks, useDebouncedLatestSave as kt, addLocalScheduleDays as ku, planSiteStylePreviewChange as l, INPUT_FONT_SIZE_MAP as la, ImagePresets as lc, Upload as ld, MQ_SM_DOWN as li, TooltipContent as ll, KeyboardCode as ln, normalizeEventVenueId as lo, resolveRegistrationTarget as lr, applyFeatureCardIconSuggestions as ls, useEditor$1 as lt, __rest as lu, planSiteChromeFooterLayoutSelection as m, createTransformRegistry as ma, renderAudio as mc, Tablet as md, boxStylesTransforms as mi, SelectContent as ml, useDraggable as mn, normalizeBoxStylesCardVariant as mo, resolveEventRegistrationScopedEvents as mr, suggestSemanticIconForFeatureCard as ms, useEntryController as mt, createCollection as mu, useSiteChromeCustomizeOptional as n, parseCustomCssRules as na, unwrapRichTextRoot as nc, unsafeAsPassId as nd, Box as nf, heroCopyFragment as ni, hasEmptyOption as nl, reorderBlocks as nn, eventSurfaceScopeValues as no, eventRegistrationBlockDefinition as nr, ACCORDION_TRIGGER_FONT_SCALE as ns, useRichTextEditor as nt, DropdownMenuSeparator as nu, selectPreviewDesignHistoryDomain as o, NAV_LINK_PADDING_X_MAP as oa, inlineTextToPlainText as oc, ok as od, __commonJSMin as of, siteOptionSources as oi, FieldFrame as ol, deriveLaunchReadiness as on, normalizeEventStaffMemberId as oo, findPreSelectedEvent as or, PUBLIC_DOWNLOAD_MEDIA_TYPES as os, insertOrReplaceRichTextImage as ot, __extends as ou, cycleableSiteChromeOptions as p, generateCssVars as pa, getCurrentResolveImageUrlContext as pc, Ticket as pd, getAnchorClasses as pi, Select$1 as pl, useDndContext as pn, generateShadowValue as po, normalizeEventRegistrationPageSurfaceSubject as pr, suggestFeatureCardSemanticIcons as ps, EntryControllerProvider as pt, useDirection as pu, deriveTransactionCapabilities as q, previewStageSchema as qa, textColorStyle as qc, CircleMinus as qd, findPaletteVariant as qi, Card as ql, buildNewsletterFormInteractiveIslandProps as qn, EDITABLE_SURFACE_FORWARDING_PROP as qo, singleButtonFragment as qr, MapPinIcon as qs, toRoutableLinkPayload as qt, assertNever$6 as qu, PreviewDesignHistoryOrderProvider as r, NAV_LINK_BORDER_RADIUS_MAP as ra, isObjectRecord$1 as rc, unsafeAsPositiveByteCount as rd, ArrowUp as rf, bodyCopyFragment as ri, mapCurrentValueForSelect as rl, reorderEntrySlotBlocks as rn, normalizeEventBlockKind as ro, buildEventRegistrationInteractiveIslandProps as rr, ACCORDION_TRIGGER_LETTER_SPACING as rs, EMPTY_DOC as rt, DropdownMenuTrigger as ru, buildApplySiteStyleSelectionBody as s, NAV_LINK_TEXT_SIZE_MAP as sa, isInlineTextEmpty as sc, lucide_react_exports as sd, __exportAll as sf, MQ_LG_UP as si, useField as sl, AMBIENT_BACKGROUND_ROLES as sn, normalizeEventSurfacePresetsCsv as so, resolveDiscountContext as sr, mediaSchema$1 as ss, InlineTextEditor as st, __generator as su, SiteChromeCustomizeProvider as t, parseBlockCustomCssRules as ta, createRichTextDocFromMarkdown as tc, unsafeAsMediaAssetId as td, Check as tf, ctaRowFragment as ti, useSdkConfig as tl, mutateBlockContent as tn, eventScheduleScopeValues as to, buildFormInteractiveIslandProps as tr, ACCORDION_SPACING_MAP as ts, PreviewTextEditor as tt, DropdownMenuLabel as tu, resolveStyleConfiguratorInitialSnapshot as u, INPUT_SPACING_MAP as ua, MediaPlaceholder as uc, Undo2 as ud, MQ_SM_UP as ui, TooltipProvider as ul, PointerSensor as un, publicEventSchema as uo, WIZARD_STEPS as ur, createFeatureCardIconKey as us, ContentFieldsForm as ut, __spreadArray as uu, PreviewThemeOverlayProvider as v, OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE as va, resolveMediaStorageUrl as vc, Settings as vd, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE as vi, Label as vl, CSS$1 as vn, resolveTokenOrCssColorValue as vo, buildCourseRegistrationInteractiveIslandProps as vr, getGeneratedBlockIconStyleState as vs, useEditorUiStoreInstance as vt, Primitive as vu, deriveStyleConfiguratorCapabilities as w, normalizeOfferingsPreviewGroupOrder as wa, normalizeRightAngle as wc, PenLine as wd, resolveVisiblePromotedFieldPathsForEditorBlock as wi, Tabs as wl, gradientToCss as wn, formatDate as wo, buildProductListInteractiveIslandProps as wr, SEMANTIC_ICON_DEFINITIONS as ws, redoHistory as wt, createEditorInsertBlockCommand as wu, applyTypographyDraftPatch as x, buildOfferingsPreviewRenderStates as xa, resolveMediaSlotContract as xc, Redo2 as xd, retargetCompiledRuntimeFieldsForContentAdjacency as xi, PopoverContent as xl, useIsomorphicLayoutEffect$1 as xn, buildGoogleMapsDirectionsUrl as xo, buildCartInteractiveIslandProps as xr, parseSiteIconStyleGuideVersionId as xs, canUndoHistory as xt, useComposedRefs as xu, usePreviewThemeOverlay as y, OFFERINGS_PREVIEW_DEFAULT_FAILED_MESSAGE as ya, setContextResolveImageUrlContext as yc, Search as yd, applyCompiledRuntimeFieldsToContent as yi, Badge as yl, isKeyboardEvent as yn, getTextColorForBackground as yo, checkoutBlockDefinition as yr, parseBlockIconValue as ys, useOptionalEditorUiStoreInstance as yt, Button$1 as yu, resetTypographyToSaved as z, normalizeCsvString as za, generateInteractiveChildInheritanceCSS as zc, FileArchive as zd, sectionTransitionFamilyForBoundaryOptionId as zi, DialogTitle as zl, createManifestValidator as zn, resolveRuntimeEventPricing as zo, augmentManifest as zr, DownloadIcon as zs, validateBlockManifestIssues as zt, toScheduledBookingDateTime as zu };
157609
+ export { PreviewRichTextEditor as $, eventCalendarListLayoutOptions as $a, getModalConfig as $c, ChevronsUpDown as $d, isThemeV2NormalEditorRawStyleFieldName as $i, CardTitle as $l, buildEventCalendarListingRender as $n, splitPositioningClasses as $o, ctaCopyFragment as $r, PlayIcon as $s, deleteEntrySlotBlock as $t, parseSiteId as $u, markApplySaving as A, resolveOfferingsPreviewGroupCta as Aa, resolveMediaTransformForAspect as Ac, Minus as Ad, surfaceResolutionContextFromTheme as Ai, TabsTrigger as Al, SITE_CHROME_VISIBLE_HEADER_SELECTOR as An, formatEventPrice as Ao, formatCommercePrice as Ar, ArrowDownIcon as As, createRoutingHelpers as At, unsafeAsEditorBlockId as Au, setPaletteOverrides as B, resolveEventListPaginationAction as Ba, generateShadowValue$1 as Bc, FilePlay as Bd, defaultSectionTransitionVariantForFamily as Bi, DialogFooter as Bl, isInternalResolvedLinkValue as Bn, getLocalDateKey as Bo, augmentManifestWithStyleGroups as Br, CirclePlusIcon as Bs, ManifestForm as Bt, resolveBookingTimeZoneId as Bu, createStyleConfiguratorState as C, OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS as Ca, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as Cc, RotateCcw as Cd, retargetCompiledRuntimeFieldsForContentAdjacency as Ci, Popover as Cl, isSupportedLoaderEndpoint as Cn, featuresFromHex as Co, buildProductDetailInteractiveIslandProps as Cr, resolveBlockIconRenderValue as Cs, pushHistoryEntry as Ct, cva as Cu, isPreviewingChange as D, normalizeOfferingsPreviewGroupOrder as Da, normalizeRightAngle as Dc, PenLine as Dd, curatedSiteStyles as Di, Tabs as Dl, listBlockDescriptors as Dn, formatDate as Do, buildCartDisplay as Dr, SEMANTIC_ICON_DEFINITIONS as Ds, recordsEqual as Dt, createEditorInsertBlockCommand as Du, dismissWarnings as E, isOfferingsPreviewSourceKey as Ea, isRotationDimensionSwap as Ec, Pencil as Ed, resolveVisiblePromotedFieldPathsForEditorBlock as Ei, Input as El, getBlockDefinition as En, toLocationMapHydrationProps as Eo, getShopDisplayForItems as Er, resolveIconPickerPreset as Es, unsafeAsLinkedContentEntryId as Et, clsx as Eu, previewHeaderStyle as F, buildEventRuntimeFilters as Fa, siblingPath as Fc, ImagePlus as Fd, findFooterLook as Fi, ScrollableDialogContent as Fl, mediaTransforms as Fn, getContainerClass as Fo, deriveCommerceCheckoutState as Fr, ChevronDownIcon as Fs, PaletteProvider as Ft, formatBookingInstant as Fu, beginAutosaveBatch as G, columnOptionSchema as Ga, themeButtonClassName as Gc, EllipsisVertical as Gd, backgroundAppearanceColorTokenNames as Gi, CollapsibleTrigger as Gl, productDetailBlockDefinition as Gn, createInteractiveIslandCodec as Go, faqHeadingFragment as Gr, FileAudioIcon as Gs, createStoreBackend as Gt, publicEventPricingMode as Gu, syncStyleConfiguratorState as H, normalizeCsvString as Ha, generateInteractiveChildInheritanceCSS as Hc, FileArchive as Hd, sectionTransitionFamilyForBoundaryOptionId as Hi, DialogTitle as Hl, useImageResolveContextOptional as Hn, resolveRuntimeEventPricing as Ho, headingFragment as Hr, DownloadIcon as Hs, createManifestValidation as Ht, toScheduledBookingDateTime as Hu, previewPaletteVariant as I, eventListPaginationActionSchema as Ia, buttonPersonalities as Ic, GripVertical as Id, getFooterLayout as Ii, Dialog as Il, layoutTransforms as In, groupEventsByDate as Io, parseStoredCommerceCartState as Ir, ChevronLeftIcon as Is, usePalette as It, formatBookingTime as Iu, enqueueTransaction as J, eventLayoutSchema as Ja, mergeStyles as Jc, Copy as Jd, parseBackgroundAppearanceColorToken as Ji, Trigger$3 as Jl, eventListingBlockDefinition as Jn, defineClientOwnedBlockRuntime as Jo, footerBottomTextFragment as Jr, InfoIcon as Js, applyPageDesignEditorAction as Jt, publicEventTicketTypes as Ju, confirmAutosaveBatch as K, eventButtonVariantSchema as Ka, backgroundColorStyle as Kc, Crop as Kd, backgroundAppearanceQuickColorTokenNames as Ki, Content$1 as Kl, newsletterSignupBlockDefinition as Kn, defineInteractiveIslandMetaKeys as Ko, blogFeaturedPostFragment as Kr, FileSpreadsheetIcon as Ks, listContentTypes as Kt, publicEventPricingType as Ku, previewSiteStyle as L, eventPageSizeSchema as La, findButtonPersonality as Lc, File as Ld, getHeaderLayout as Li, DialogClose as Ll, uiTransforms as Ln, resolveEventCta as Lo, productItemKey as Lr, ChevronRightIcon as Ls, recoveryConflictCopy as Lt, formatLocalScheduleDate as Lu, previewButtonPersonality as M, resolveOfferingsPreviewGroups as Ma, getDirectImageUrlForMediaAsset as Mc, LoaderCircle as Md, findTypographyPreset as Mi, List as Ml, planSiteOverlayHeaderClearance as Mn, formatEventTeacherLine as Mo, EMPTY_COMMERCE_CART_STATE as Mr, ArrowRightIcon as Ms, deriveRouteMetadataPresentation as Mt, addLocalScheduleDays as Mu, previewFooterLook as N, isSemanticSpacing as Na, getImageUrl as Nc, Image as Nd, typographyPresets as Ni, Root2$1 as Nl, visibleHeaderClearancePx as Nn, formatTime as No, buildPassCartItem as Nr, CalendarIcon as Ns, resolvePageRouteSlug as Nt, formatBookingDate as Nu, markApplyFailed as O, normalizeOfferingsPreviewItemLimit as Oa, formatAspectRatioToken as Oc, Palette as Od, designRuntimeRulesForTheme as Oi, TabsContent as Ol, siteFooterManifest as On, formatEventCompactDateRail as Oo, buildProductCardDisplay as Or, getSemanticIconComponent as Os, useMultiAutosave as Ot, createEditorRemoveBlockCommand as Ou, previewHeaderLayout as P, resolveSpacing as Pa, getAtPath as Pc, ImageUp as Pd, requireEntriesForCuratedChoices as Pi, Trigger$2 as Pl, contentTransforms as Pn, getCardOrientation as Po, buildProductCartItem as Pr, CheckIcon as Ps, resolveContentTitle as Pt, formatBookingDateTime as Pu, resolvePreviewSidebarTab as Q, eventCalendarListLayoutCompatibleDisplayModeValues as Qa, getFieldIntent as Qc, CircleAlert as Qd, paletteOverridesSchema as Qi, CardHeader as Ql, buildEventCalendarListingDisplay as Qn, markEditableSurfaceForwarding as Qo, testimonialsHeadingFragment as Qr, PhoneIcon as Qs, deleteBlock as Qt, parseMediaAssetId as Qu, previewTypographyPreset as R, getEventRuntimeFiltersKey as Ra, generateButtonCss as Rc, FileText as Rd, getHeaderStyle as Ri, DialogContent as Rl, formattingTransforms as Rn, resolveEventLinkProps as Ro, reduceCommerceCart as Rr, ChevronUpIcon as Rs, unfinishedBlockCopy as Rt, getBookingLocalDateKey as Ru, cancelPreview as S, OFFERINGS_PREVIEW_DEFAULT_FAILED_MESSAGE as Sa, setContextResolveImageUrlContext as Sc, Search as Sd, retargetCompiledBoundaryRuntimeForContentAdjacency as Si, Badge as Sl, useUniqueId as Sn, getTextColorForBackground as So, buildCheckoutInteractiveIslandProps as Sr, parseBlockIconValue as Ss, createHistoryState as St, Button$1 as Su, dismissNotices as T, inferLegacyOfferingsPreviewGroupOrder as Ta, attachRenderableMediaAssetFields as Tc, Plus as Td, planPageDesignLayoutLookCompatibility as Ti, PopoverTrigger as Tl, GRADIENT_PRESETS as Tn, normalizeLocationMapProps as To, buildShopInteractiveIslandProps as Tr, isIconPickerPreset as Ts, undoHistory as Tt, cn$1 as Tu, toggleRow as U, normalizeOptionalId as Ua, TokenResolver as Uc, Eye as Ud, sectionTransitionVariantForBoundaryOptionId as Ui, Collapsible as Ul, shopBlockDefinition as Un, blockBookingPaymentTermsSchema as Uo, cardFragment as Ur, ExternalLinkIcon as Us, FormRenderer as Ut, formatBookingPriceDisplay as Uu, styleConfiguratorHistoryEntryForPersistedSelection as V, normalizeCsvIds as Va, generateBaseInteractiveCSS as Vc, FileHeadphone as Vd, sectionTransitionFamilies as Vi, DialogHeader as Vl, ImageResolveContextProvider as Vn, getLocalMinuteOfDay as Vo, richTextFragment as Vr, ClockIcon as Vs, createManifestFormAdapter as Vt, toBookingTimeZone as Vu, typographySelectionSnapshotFromFlat as W, calendarTabViewsSchema as Wa, parseThemeButtonVariantId as Wc, EyeOff as Wd, BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO as Wi, CollapsibleContent as Wl, productListBlockDefinition as Wn, buildInteractiveIslandProps as Wo, faqAccordionFragment as Wr, FileArchiveIcon as Ws, evaluateVisibility as Wt, publicEventPricingCurrency as Wu, rejectAutosaveBatch as X, previewStageSchema as Xa, textColorStyle as Xc, CircleMinus as Xd, findPaletteVariant as Xi, Card as Xl, eventCalendarBlockDefinition as Xn, EDITABLE_SURFACE_FORWARDING_PROP as Xo, formCopyFragment as Xr, MapPinIcon as Xs, createBlock as Xt, assertNever$6 as Xu, idleEditorTransactionQueueState as Y, filterAutoShowSchema as Ya, rgbColorValue as Yc, CirclePlus as Yd, defaultThemeTokens as Yi, createCollapsibleScope as Yl, buildEventListingInteractiveIslandProps as Yn, defineProgressiveBlockRuntime as Yo, formEmbedFragment as Yr, MailIcon as Ys, getPageDesignEditorState as Yt, formatCurrencyAmount as Yu, createOptimisticActionRunner as Z, weekStartSchema as Za, useBackendWatch as Zc, CircleCheck as Zd, paletteVariants as Zi, CardContent as Zl, buildEventCalendarInteractiveIslandProps as Zn, composeHeaderSectionWrapperClassName as Zo, testimonialsCarouselFragment as Zr, MinusIcon as Zs, createEntrySlotBlock as Zt, expectParsedBrandedId as Zu, usePreviewDesignCoordinator as _, createTransformRegistry as _a, renderAudio as _c, Tablet as _d, mergeHeaderNavTypographyPreference as _i, SelectContent as _l, useSensors as _n, normalizeBoxStylesCardVariant as _o, courseRegistrationBlockDefinition as _r, suggestSemanticIconForFeatureCard as _s, useEditorUiStore as _t, createCollection as _u, previewDesignHistoryDomainForCommand as a, parseCustomCssRules as aa, unwrapRichTextRoot as ac, unsafeAsPassId as ad, Box as af, PUBLIC_FILE_FIELD_KINDS as ai, hasEmptyOption as al, DEFAULT_LAUNCH_READINESS_INPUT as an, eventSurfaceScopeValues as ao, findEventByOccurrenceId as ar, ACCORDION_TRIGGER_FONT_SCALE as as, getRichTextImagePositionFromTarget as at, DropdownMenuSeparator as au, applyResolvedSelections as b, OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT as ba, resolveMediaNodeResponsiveImage as bc, Smartphone as bd, applyCompiledRuntimeFieldsToContent as bi, SelectValue as bl, useCombinedRefs as bn, resolveOnColorForThemeToken as bo, cartBlockDefinition as br, getBlockIconSemanticFallbackId as bs, canRedoHistory as bt, composeEventHandlers as bu, selectionSnapshotFromApplySiteStyleSelectionResponse as c, NAV_LINK_PADDING_MAP as ca, coerceInlineTextWithFallback as cc, err as cd, Archive as cf, MQ_MD_DOWN as ci, unmapValueFromSelect as cl, DndContext as cn, normalizeEventScheduleScope as co, resolveEventRequiresPayment as cr, ICON_SIZE_PX as cs, EditorProvider as ct, __awaiter as cu, buildSiteChromeLookModels as d, FONT_WEIGHT_MAP as da, parseInlineTextFromUnknown as dc, X as dd, __toESM as df, MQ_TABLET_ONLY as di, Tooltip as dl, closestCenter as dn, normalizeEventSurfaceScope as do, getStepNumber as dr, FEATURE_CARD_ICON_TREATMENTS as ds, useUISelector as dt, __read as du, isThemeV2NormalEditorRawStylePath as ea, PlusIcon as ec, unsafeAsAppointmentResourceId as ed, ChevronUp as ef, heroCtaRowFragment as ei, isHeaderField as el, listEntryPageContentSlots as en, el as eo, formBlockDefinition as er, planSiteChromePlacement as es, PreviewInlineTextEditor as et, Surface as eu, cycleSiteChromeLookId as f, INPUT_FONT_SIZE_MAP as fa, ImagePresets as fc, Upload as fd, BACKGROUND_POSITION_PRESET_VALUES as fi, TooltipContent as fl, getClientRect as fn, normalizeEventVenueId as fo, getWizardStepsForContext as fr, applyFeatureCardIconSuggestions as fs, EditableBlockProvider as ft, __rest as fu, PreviewDesignCoordinatorProvider as g, generateCssVars as ga, getCurrentResolveImageUrlContext as gc, Ticket as gd, resolveBackgroundColorValue as gi, Select$1 as gl, useSensor as gn, generateShadowValue as go, buildGiftingInteractiveIslandProps as gr, suggestFeatureCardSemanticIcons as gs, classifyHistoryShortcut as gt, useDirection as gu, planSiteChromeLookSelection as h, expandPalette as ha, computeMediaTransformStyle as hc, Trash2 as hd, resolveSectionForegroundStyles as hi, Textarea as hl, useDroppable as hn, statusMutedColorDeclaration as ho, giftingBlockDefinition as hr, shouldReserveFeatureCardIconZone as hs, useEntryEditorController as ht, useId$1 as hu, usePreviewDesignHistoryOrder as i, parseBlockCustomCssRules as ia, createRichTextDocFromMarkdown as ic, unsafeAsMediaAssetId as id, Check as if, defineFragment as ii, useSdkConfig as il, decodePublicProductCategorySelectorQuery as in, eventScheduleScopeValues as io, toRegistrationEvents as ir, ACCORDION_SPACING_MAP as is, RichTextEditorSurface as it, DropdownMenuLabel as iu, openRow as j, resolveOfferingsPreviewGroupOrderEntries as ja, asRecord as jc, Maximize2 as jd, evaluateTypographyFontSlot as ji, Content as jl, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as jn, formatEventPriceDisplay as jo, formatInterval as jr, ArrowLeftIcon as js, createSnapshotFromPageRecord as jt, unsafeAsEditorBlockValues as ju, markApplySaved as k, resolveOfferingsPreviewCoursePath as ka, parseAspectRatioValue as kc, Monitor as kd, getCuratedSiteStyle as ki, TabsList as kl, siteHeaderManifest as kn, formatEventDateParts as ko, buildProductDetailDisplay as kr, isSemanticIconId as ks, useDebouncedLatestSave as kt, createEditorReorderBlocksCommand as ku, planSiteStylePreviewChange as l, NAV_LINK_PADDING_X_MAP as la, inlineTextToPlainText as lc, ok as ld, __commonJSMin as lf, MQ_SM_DOWN as li, FieldFrame as ll, KeyboardCode as ln, normalizeEventStaffMemberId as lo, resolveRegistrationTarget as lr, PUBLIC_DOWNLOAD_MEDIA_TYPES as ls, useEditor$1 as lt, __extends as lu, planSiteChromeFooterLayoutSelection as m, LABEL_FONT_SIZE_MAP as ma, buildResolveImageUrlContext as mc, TriangleAlert as md, boxStylesTransforms as mi, TooltipTrigger as ml, useDraggable as mn, generateCardCss as mo, resolveEventRegistrationScopedEvents as mr, getFeatureCardIconCompletion as ms, useEntryController as mt, __spreadArrays as mu, useSiteChromeCustomizeOptional as n, getComponentBorderWidthPx as na, UploadIcon as nc, unsafeAsCustomerPassId as nd, ChevronLeft as nf, heroCopyFragment as ni, useBlockContext as nl, reorderBlocks as nn, bindingSchema as no, eventRegistrationBlockDefinition as nr, assertNever$5 as ns, useRichTextEditor as nt, DropdownMenuContent as nu, selectPreviewDesignHistoryDomain as o, NAV_LINK_BORDER_RADIUS_MAP as oa, isObjectRecord$1 as oc, unsafeAsPositiveByteCount as od, ArrowUp as of, siteOptionSources as oi, mapCurrentValueForSelect as ol, deriveLaunchReadiness as on, normalizeEventBlockKind as oo, findPreSelectedEvent as or, ACCORDION_TRIGGER_LETTER_SPACING as os, insertOrReplaceRichTextImage as ot, DropdownMenuTrigger as ou, cycleableSiteChromeOptions as p, INPUT_SPACING_MAP as pa, MediaPlaceholder as pc, Undo2 as pd, getAnchorClasses as pi, TooltipProvider as pl, useDndContext as pn, publicEventSchema as po, normalizeEventRegistrationPageSurfaceSubject as pr, createFeatureCardIconKey as ps, EntryControllerProvider as pt, __spreadArray as pu, deriveTransactionCapabilities as q, eventCalendarDefaultViewSchema as qa, borderColorStyle as qc, CreditCard as qd, foregroundTokenForBackgroundAppearanceColorToken as qi, Root$3 as ql, buildNewsletterFormInteractiveIslandProps as qn, createZodCodec as qo, singleButtonFragment as qr, FileTextIcon as qs, toRoutableLinkPayload as qt, publicEventScalarPrice as qu, PreviewDesignHistoryOrderProvider as r, getComponentShadowVar as ra, XIcon as rc, unsafeAsFormId as rd, ChevronDown as rf, bodyCopyFragment as ri, SdkConfigProvider as rl, reorderEntrySlotBlocks as rn, eventBlockKindValues as ro, buildEventRegistrationInteractiveIslandProps as rr, ACCORDION_OPEN_ACCENT_THICKNESS as rs, EMPTY_DOC as rt, DropdownMenuItem as ru, buildApplySiteStyleSelectionBody as s, NAV_LINK_LETTER_SPACING_MAP as sa, isRecord$11 as sc, unsafeAsPositiveSeconds as sd, ArrowDown as sf, MQ_LG_UP as si, mapOptionValueForSelect as sl, AMBIENT_BACKGROUND_ROLES as sn, normalizeEventCategoryIdsCsv as so, resolveDiscountContext as sr, ICON_CONFIG as ss, InlineTextEditor as st, __assign as su, SiteChromeCustomizeProvider as t, pageDesignEditorBackgroundOverrideOwner as ta, ShoppingCartIcon as tc, unsafeAsAppointmentServiceId as td, ChevronRight as tf, ctaRowFragment as ti, isNonEmptyValue as tl, mutateBlockContent as tn, when as to, buildFormInteractiveIslandProps as tr, asDesignBlockId as ts, PreviewTextEditor as tt, DropdownMenu as tu, resolveStyleConfiguratorInitialSnapshot as u, NAV_LINK_TEXT_SIZE_MAP as ua, isInlineTextEmpty as uc, lucide_react_exports as ud, __exportAll as uf, MQ_SM_UP as ui, useField as ul, PointerSensor as un, normalizeEventSurfacePresetsCsv as uo, WIZARD_STEPS as ur, mediaSchema$1 as us, ContentFieldsForm as ut, __generator as uu, PreviewThemeOverlayProvider as v, runTransforms as va, renderVideo as vc, Star as vd, formatSiteChromeBackgroundTokenLabel as vi, SelectItem as vl, CSS$1 as vn, normalizeCardVariantRole as vo, buildCourseRegistrationInteractiveIslandProps as vr, toFeatureCardIconSuggestionInputs as vs, useEditorUiStoreInstance as vt, useControllableState as vu, deriveStyleConfiguratorCapabilities as w, buildOfferingsPreviewRenderStates as wa, resolveMediaSlotContract as wc, Redo2 as wd, normalEditorCuratedPromotedFieldPaths as wi, PopoverContent as wl, gradientToCss as wn, buildGoogleMapsDirectionsUrl as wo, buildProductListInteractiveIslandProps as wr, parseSiteIconStyleGuideVersionId as ws, redoHistory as wt, useComposedRefs as wu, applyTypographyDraftPatch as x, OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE as xa, resolveMediaStorageUrl as xc, Settings as xd, compileEditorModelRuntime as xi, Label as xl, useIsomorphicLayoutEffect$1 as xn, resolveTokenOrCssColorValue as xo, buildCartInteractiveIslandProps as xr, getGeneratedBlockIconStyleState as xs, canUndoHistory as xt, Primitive as xu, usePreviewThemeOverlay as y, ctaButton as ya, resolveImageUrlWithContext as yc, Sparkles as yd, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE as yi, SelectTrigger as yl, isKeyboardEvent as yn, isCssColorLiteral as yo, checkoutBlockDefinition as yr, buildGeneratedBlockIconRenderAssetLookupFromUnknown as ys, useOptionalEditorUiStoreInstance as yt, createContextScope as yu, resetTypographyToSaved as z, resolveEventCalendarListPageSize as za, generateEffectsCSS as zc, FileSpreadsheet as zd, boundaryRuntimeMetricsForTransition as zi, DialogDescription as zl, createManifestValidator as zn, getEventAvailability as zo, augmentManifest as zr, CircleMinusIcon as zs, validateBlockManifestIssues as zt, parseBookingLocalDate as zu };