@riverbankcms/sdk 0.136.0 → 0.137.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 (160) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/dist/{PreviewEditorSidebar-BU5ZlhQR.mjs → PreviewEditorSidebar-Bn6cONPa.mjs} +8 -8
  3. package/dist/{PreviewEditorUI-9XkHL-bC.mjs → PreviewEditorUI-LAwXZPSx.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-wbEpXryy.mjs → PreviewQueryProvider-ztQUdsNo.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CnWmj-2B.mjs → SdkPreviewModeRuntime-BbbGsI_v.mjs} +596 -164
  6. package/dist/{SiteChromeCustomizeContext-B6d5zkog.mjs → SiteChromeCustomizeContext-BbkNSt5a.mjs} +2888 -1404
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +12 -298
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +21 -14
  9. package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
  10. package/dist/_dts/api/src/accessAdmin.d.ts +1 -9
  11. package/dist/_dts/api/src/accountApi.d.ts +49 -2
  12. package/dist/_dts/api/src/contentRuntime.d.ts +1 -4
  13. package/dist/_dts/api/src/domainConnection.d.ts +41 -0
  14. package/dist/_dts/api/src/endpoints.d.ts +194 -181
  15. package/dist/_dts/api/src/index.d.ts +4 -3
  16. package/dist/_dts/api/src/media.d.ts +19 -2
  17. package/dist/_dts/api/src/sdkContracts.d.ts +2 -15
  18. package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
  19. package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +61 -0
  20. package/dist/_dts/api/src/sdkThemeWire.d.ts +15 -4
  21. package/dist/_dts/api/src/siteInfrastructure.d.ts +17 -23
  22. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +7 -21
  23. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +27 -3
  24. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
  25. package/dist/_dts/api/src/types.d.ts +1 -1
  26. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -2
  27. package/dist/_dts/blocks/src/index.d.ts +1 -1
  28. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +9 -0
  29. package/dist/_dts/blocks/src/pageRendererBlockSupport.d.ts +75 -0
  30. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +2 -0
  31. package/dist/_dts/blocks/src/server.d.ts +1 -1
  32. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -1
  33. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  34. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +34 -22
  36. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  38. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -3
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +5 -2
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +31 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +1 -1
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
  58. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
  59. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  60. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +8 -40
  61. package/dist/_dts/db/src/index.d.ts +1 -0
  62. package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
  63. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
  64. package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
  65. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  66. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  67. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
  68. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
  69. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
  70. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
  71. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
  72. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
  73. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
  74. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  75. package/dist/_dts/sdk/src/version.d.ts +1 -1
  76. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  77. package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
  78. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +25 -2
  79. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -3
  80. package/dist/_dts/theme-core/src/schema.d.ts +12 -11
  81. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
  82. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +10 -0
  83. package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
  84. package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
  85. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
  86. package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -9
  87. package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
  88. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
  89. package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
  90. package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +10 -1
  91. package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +1 -1
  92. package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +7 -0
  93. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  94. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  95. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
  96. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
  97. package/dist/client/{BookingConsentAgreement-DCch21a6.mjs → BookingConsentAgreement--_fUCZe-.mjs} +2 -2
  98. package/dist/client/{DiscountCodeDisclosure-DIj1T59K.mjs → DiscountCodeDisclosure-BMipSoDJ.mjs} +1 -1
  99. package/dist/client/{EventCombined.client-BWVNlXTx.mjs → EventCombined.client-CwJOxn7A.mjs} +154 -178
  100. package/dist/client/{EventListing.client-DVFCDe3i.mjs → EventListing.client-eVwiylPW.mjs} +2 -2
  101. package/dist/client/{LeafletStaticMap-BY5mIHw9.mjs → LeafletStaticMap-IKenna5u.mjs} +1 -1
  102. package/dist/client/{accordion-CK29E8rG.mjs → accordion-MGAO3PuE.mjs} +1 -1
  103. package/dist/client/{bookingForm-DFvnet-N.mjs → bookingForm-CudlQPUu.mjs} +5 -5
  104. package/dist/client/bookings.mjs +418 -79
  105. package/dist/client/capacity-BW00PO7s.mjs +271 -0
  106. package/dist/client/{carousel-BVU5NQlb.mjs → carousel-BrbGJ2Jl.mjs} +1 -1
  107. package/dist/client/{cart-BNItcZVa.mjs → cart-Bq5eU0xZ.mjs} +3 -3
  108. package/dist/client/{checkout-Bu6iCdkP.mjs → checkout-BAFVRdrK.mjs} +3 -3
  109. package/dist/client/client.mjs +2919 -1918
  110. package/dist/client/{context-BImarOAq.mjs → context-DCkiHVdD.mjs} +8 -5
  111. package/dist/client/dates-2RPXHQy4.mjs +264 -0
  112. package/dist/client/{eventCalendar-DS2h-UXD.mjs → eventCalendar-B0O-hPF7.mjs} +10 -17
  113. package/dist/client/{eventCombined-Drt4Oq9p.mjs → eventCombined-DCkDaoDI.mjs} +3 -3
  114. package/dist/client/{eventDetails-Bl2vWgTX.mjs → eventDetails-D8GG2dnD.mjs} +5 -3
  115. package/dist/client/{eventListing-CS7PHY7v.mjs → eventListing-3ssV_bxz.mjs} +3 -3
  116. package/dist/client/{eventRegistration-D-j8eNy2.mjs → eventRegistration-bPQo3kVw.mjs} +562 -309
  117. package/dist/client/{form-RMpoLTyr.mjs → form-qMv8RDkk.mjs} +2 -2
  118. package/dist/client/{headerSection-BYE3Lb3k.mjs → headerSection-CH0Sc5hX.mjs} +2 -2
  119. package/dist/client/hooks.mjs +289 -32
  120. package/dist/client/{locationMap-BxSr7Kkh.mjs → locationMap-0_xlBnNI.mjs} +2 -2
  121. package/dist/client/{newsletterForm-DerbXwFC.mjs → newsletterForm-NUW7m9RI.mjs} +2 -2
  122. package/dist/client/{productDetail-4SZCLhAf.mjs → productDetail-FBEOM7jW.mjs} +3 -3
  123. package/dist/client/{productList-D7AP4GNq.mjs → productList-R0OSGhnn.mjs} +3 -3
  124. package/dist/client/{propsDecoder-pzBeCh14.mjs → propsDecoder-pYvx_Srl.mjs} +88 -380
  125. package/dist/client/rendering/client.mjs +2616 -1637
  126. package/dist/client/rendering/islands.mjs +17 -17
  127. package/dist/client/rendering.mjs +2710 -1702
  128. package/dist/client/{scrollToBlock-CduAKf8T.mjs → scrollToBlock-ByQv96M2.mjs} +1 -1
  129. package/dist/client/{shop-Cp5p_kGe.mjs → shop-RUG9DmRE.mjs} +6 -6
  130. package/dist/client/{shop-commerce-DicXYaYX.mjs → shop-commerce-B76Jz23B.mjs} +5 -5
  131. package/dist/client/{shop-commerce-store-CGWnpY4K.mjs → shop-commerce-store-QuQNdDsD.mjs} +1 -1
  132. package/dist/client/{shopShared-BDf9ljkm.mjs → shopShared-vXU1omwJ.mjs} +3 -3
  133. package/dist/client/{useEventFilters-DeeyGYuk.mjs → useEventFilters-ByuU6HLA.mjs} +33 -18
  134. package/dist/preview-next/before-render.mjs +79 -51
  135. package/dist/preview-next/client/runtime.mjs +4 -4
  136. package/dist/preview-next/keepAlive.mjs +79 -51
  137. package/dist/preview-next/middleware.mjs +79 -51
  138. package/dist/{previewAuthStore-DbqBol0V.mjs → previewAuthStore-L_cKW8Sb.mjs} +79 -51
  139. package/dist/{sdk-runtime-19MO27F0.mjs → sdk-runtime-sUMr5d70.mjs} +2 -2
  140. package/dist/{separator-DaPLtJ1f.mjs → separator-BIHkie5i.mjs} +1 -1
  141. package/dist/server/components.mjs +2077 -1274
  142. package/dist/server/config-validation.mjs +289 -32
  143. package/dist/server/config.mjs +289 -32
  144. package/dist/server/data.mjs +289 -32
  145. package/dist/server/index.mjs +80 -52
  146. package/dist/server/next.mjs +1822 -1111
  147. package/dist/server/page-converter.mjs +167 -31
  148. package/dist/server/prebuild.mjs +1 -1
  149. package/dist/server/rendering/server.mjs +1988 -1286
  150. package/dist/server/rendering.mjs +1943 -1182
  151. package/dist/server/routing.mjs +351 -86
  152. package/dist/server/server.mjs +293 -128
  153. package/dist/server/theme-bridge.mjs +52 -8
  154. package/dist/server/theme.mjs +27 -8
  155. package/dist/styles/index.css +15 -0
  156. package/package.json +1 -1
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
  160. /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
@@ -1634,6 +1634,83 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1634
1634
  errors: ["validation:invalid_input", "server:internal_error"]
1635
1635
  }
1636
1636
  });
1637
+ //#endregion
1638
+ //#region ../api/src/sdkMediaEndpointDefinitions.ts
1639
+ const SDK_MEDIA_ENDPOINT_DEFINITIONS = {
1640
+ sdkMediaExists: {
1641
+ path: "/sdk/{siteId}/media/exists",
1642
+ method: "POST",
1643
+ errors: ["validation:invalid_input"],
1644
+ auth: "service",
1645
+ responseKind: "json"
1646
+ },
1647
+ sdkMediaFindByChecksum: {
1648
+ path: "/sdk/{siteId}/media/find-by-checksum",
1649
+ method: "POST",
1650
+ errors: ["server:internal_error"],
1651
+ auth: "service",
1652
+ responseKind: "json"
1653
+ },
1654
+ sdkMediaResolve: {
1655
+ path: "/sdk/{siteId}/media/resolve",
1656
+ method: "POST",
1657
+ errors: ["server:internal_error"],
1658
+ auth: "service",
1659
+ responseKind: "json"
1660
+ },
1661
+ sdkMediaList: {
1662
+ path: "/sdk/{siteId}/media",
1663
+ method: "GET",
1664
+ auth: "service",
1665
+ responseKind: "json"
1666
+ },
1667
+ sdkMediaDownload: {
1668
+ path: "/sdk/{siteId}/media/{identifier}/download",
1669
+ method: "GET",
1670
+ auth: "service",
1671
+ responseKind: "json"
1672
+ },
1673
+ sdkMediaDeletePreview: {
1674
+ path: "/sdk/{siteId}/media/{identifier}/delete-preview",
1675
+ method: "POST",
1676
+ auth: "service",
1677
+ responseKind: "json"
1678
+ },
1679
+ sdkMediaDeleteApply: {
1680
+ path: "/sdk/{siteId}/media/{identifier}",
1681
+ method: "DELETE",
1682
+ auth: "service",
1683
+ responseKind: "json"
1684
+ },
1685
+ sdkMediaUploadUrl: {
1686
+ path: "/sdk/{siteId}/media/upload-url",
1687
+ method: "POST",
1688
+ errors: [
1689
+ "resource:not_found",
1690
+ "validation:invalid_input",
1691
+ "resource:conflict",
1692
+ "validation:payload_too_large",
1693
+ "billing:plan_limit_exceeded",
1694
+ "server:internal_error"
1695
+ ],
1696
+ auth: "service",
1697
+ responseKind: "json"
1698
+ },
1699
+ sdkMediaUploadFinalize: {
1700
+ path: "/sdk/{siteId}/media/upload",
1701
+ method: "POST",
1702
+ errors: [
1703
+ "resource:not_found",
1704
+ "validation:invalid_input",
1705
+ "resource:conflict",
1706
+ "validation:payload_too_large",
1707
+ "billing:plan_limit_exceeded",
1708
+ "server:internal_error"
1709
+ ],
1710
+ auth: "service",
1711
+ responseKind: "json"
1712
+ }
1713
+ };
1637
1714
  ({
1638
1715
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
1639
1716
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
@@ -1642,7 +1719,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1642
1719
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
1643
1720
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
1644
1721
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
1645
- }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
1722
+ }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
1646
1723
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
1647
1724
  z.object({
1648
1725
  accessToken: z.string().min(1).max(4096),
@@ -8532,6 +8609,11 @@ const gradientConfigSchema = z.object({
8532
8609
  position: z.string().optional(),
8533
8610
  stops: z.array(gradientStopSchema).min(2)
8534
8611
  });
8612
+ const gradientsSchema = z.object({
8613
+ button: z.string().min(1).nullable().optional(),
8614
+ hero: z.string().min(1).nullable().optional(),
8615
+ background: z.string().min(1).nullable().optional()
8616
+ });
8535
8617
  //#endregion
8536
8618
  //#region ../theme-core/src/interactive/baseSchema.ts
8537
8619
  /**
@@ -9285,11 +9367,30 @@ const headerContainerSchema = z.object({
9285
9367
  tint: z.string().nullable().optional(),
9286
9368
  opacity: z.number().min(0).max(1).default(.12)
9287
9369
  }).optional();
9288
- const headerInteractionPaletteSchema = z.enum([
9370
+ //#endregion
9371
+ //#region ../theme-core/src/header/interactionPalette.ts
9372
+ /**
9373
+ * The palettes that fill the nav link with a colour on hover and focus. Each
9374
+ * one names a background/foreground token pair.
9375
+ */
9376
+ const headerInteractionPillPaletteValues = [
9289
9377
  "primary",
9290
9378
  "secondary",
9291
9379
  "accent"
9292
- ]);
9380
+ ];
9381
+ /**
9382
+ * "No pill": the nav link keeps whatever hover treatment its recipe compiled,
9383
+ * and the palette step writes nothing at all (#1318 Phase 4c decision 2).
9384
+ *
9385
+ * It exists because "a colour change on hover, no filled background" was not
9386
+ * expressible in the vocabulary, and it is what
9387
+ * `anna-raven-therapy-and-yoga` and `kirtan-lucy` have rendered since before
9388
+ * the palette existed. Without it those two rows can only be classified as a
9389
+ * conscious visual change.
9390
+ */
9391
+ const headerInteractionQuietPalette = "quiet";
9392
+ const headerInteractionPaletteValues = [...headerInteractionPillPaletteValues, headerInteractionQuietPalette];
9393
+ const headerInteractionPaletteSchema = z.enum(headerInteractionPaletteValues);
9293
9394
  //#endregion
9294
9395
  //#region ../theme-core/src/boxBackgroundSchema.ts
9295
9396
  const boxBackgroundOverlaySchema = z.preprocess(normalizeAuthoringOpacity, z.discriminatedUnion("type", [
@@ -9671,11 +9772,12 @@ const inputStyle = z.object({
9671
9772
  ]),
9672
9773
  label: z.enum(["inside", "above"])
9673
9774
  });
9674
- const headerPositioning = z.enum([
9775
+ const headerPositioningValues = [
9675
9776
  "static",
9676
9777
  "sticky",
9677
9778
  "fixed"
9678
- ]);
9779
+ ];
9780
+ const headerPositioning = z.enum(headerPositioningValues);
9679
9781
  const headerNavStyle = z.enum([
9680
9782
  "minimal",
9681
9783
  "underline",
@@ -9810,7 +9912,7 @@ const headerSchema = z.object({
9810
9912
  variant: headerVariantWithLegacyAliasSchema,
9811
9913
  positioning: headerPositioning,
9812
9914
  shrinkOnScroll: z.boolean(),
9813
- maxWidth: headerMaxWidth,
9915
+ maxWidth: headerMaxWidth.default("container"),
9814
9916
  scrollTreatment: headerScrollTreatmentSchema,
9815
9917
  background: headerBackgroundSchema.default({
9816
9918
  type: "color",
@@ -10009,11 +10111,6 @@ const bodyTextSchema = z.object({ intro: z.object({
10009
10111
  paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
10010
10112
  headingSize: bodyTextIntroTypographySizeSchema.optional()
10011
10113
  }).optional() }).optional();
10012
- const gradientsSchema = z.object({
10013
- button: z.string().min(1).nullable().optional(),
10014
- hero: z.string().min(1).nullable().optional(),
10015
- background: z.string().min(1).nullable().optional()
10016
- });
10017
10114
  /**
10018
10115
  * Testimonial quote-mark treatment, owned by the site style (analogous to the
10019
10116
  * accordion icon). `style` is the coarse selector; the optional fields fine-tune
@@ -10894,6 +10991,12 @@ function cardRoleFromLegacyVocabulary(value) {
10894
10991
  */
10895
10992
  const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
10896
10993
  //#endregion
10994
+ //#region ../theme-core/src/site-styles/compilationPlan.ts
10995
+ const defaultHeaderBrandPreferences = {
10996
+ brandDisplay: "auto",
10997
+ logoSize: "auto"
10998
+ };
10999
+ //#endregion
10897
11000
  //#region ../theme-core/src/site-styles/sectionTransitions.ts
10898
11001
  function boundaryRuntimeMetrics(family, size, heightExpression) {
10899
11002
  return {
@@ -11939,6 +12042,12 @@ const overlayLogoAccommodations = [
11939
12042
  inlineMarkWithTitleLogoAccommodation,
11940
12043
  unbackedOverlayLogoAccommodation
11941
12044
  ];
12045
+ const allCuratedLogoAccommodations = [
12046
+ ...inlineClassicLogoAccommodations,
12047
+ ...centeredLogoAccommodations,
12048
+ ...overlayLogoAccommodations
12049
+ ];
12050
+ new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
11942
12051
  const headerLayoutCatalog = defineExactCatalog()([
11943
12052
  {
11944
12053
  id: asHeaderLayoutId("classic"),
@@ -12088,6 +12197,10 @@ defineLookOptionGroup({
12088
12197
  {
12089
12198
  id: "secondary",
12090
12199
  label: "Secondary"
12200
+ },
12201
+ {
12202
+ id: headerInteractionQuietPalette,
12203
+ label: "Text only"
12091
12204
  }
12092
12205
  ]
12093
12206
  });
@@ -14509,6 +14622,67 @@ const blockDesignFallback = {
14509
14622
  };
14510
14623
  blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.transitionAfter, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
14511
14624
  //#endregion
14625
+ //#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
14626
+ const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
14627
+ const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
14628
+ siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
14629
+ function parseSiteChromeBackgroundColorToken(value) {
14630
+ const token = parseBackgroundAppearanceColorToken(value);
14631
+ return token ? token : null;
14632
+ }
14633
+ function toSiteChromeBackgroundColorTokens(tokenNames) {
14634
+ return tokenNames.flatMap((name) => {
14635
+ const token = parseSiteChromeBackgroundColorToken(name);
14636
+ return token ? [token] : [];
14637
+ });
14638
+ }
14639
+ //#endregion
14640
+ //#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
14641
+ const headerNavTypographyPreferenceValues = [
14642
+ "inherit",
14643
+ "body",
14644
+ "heading"
14645
+ ];
14646
+ const headerNavFontSizePreferenceValues = [
14647
+ "inherit",
14648
+ "sm",
14649
+ "base",
14650
+ "lg",
14651
+ "xl"
14652
+ ];
14653
+ const defaultHeaderNavPreferences = {
14654
+ typography: "inherit",
14655
+ fontSize: "inherit",
14656
+ interactionPalette: "recommended"
14657
+ };
14658
+ //#endregion
14659
+ //#region ../theme-core/src/site-styles/headerBrandPresentation.ts
14660
+ /**
14661
+ * Whether the header wears a brand presentation at all (#1318 Phase 4c).
14662
+ *
14663
+ * `applyHeaderBrandPresentation` is unconditional today: given a logo context
14664
+ * it always writes a `logo` object carrying a resolved display, size and
14665
+ * accommodation. That makes "this header has no brand presentation block" —
14666
+ * which is what several live sites persist, including one whose site *does*
14667
+ * have a logo asset — a state the preference record could not express, so a
14668
+ * recompile would silently give the site a logo treatment it has never
14669
+ * rendered.
14670
+ *
14671
+ * This is the third field in this phase with that shape, after the interaction
14672
+ * palette and the nav text size: the persisted bytes carry intent the reader
14673
+ * cannot say, so the recompile "corrects" it. The fix is the same one — widen
14674
+ * the closed vocabulary with a named member and derive it by baseline
14675
+ * comparison — and it is a *widening*, not a restyle: `'recommended'` is the
14676
+ * default and reproduces today's behaviour exactly, so no row whose bytes carry
14677
+ * a presentation compiles differently for `'plain'` existing.
14678
+ *
14679
+ * `'plain'` is deliberately not "preserve whatever bytes are there". It is a
14680
+ * constructive instruction — *write no presentation block* — so Phase 4e's
14681
+ * compiler, which builds the header from nothing, can produce it.
14682
+ */
14683
+ const headerBrandPresentationValues = ["recommended", "plain"];
14684
+ defaultHeaderBrandPreferences.brandDisplay, defaultHeaderBrandPreferences.logoSize, defaultHeaderNavPreferences.typography, defaultHeaderNavPreferences.fontSize, defaultHeaderNavPreferences.interactionPalette;
14685
+ //#endregion
14512
14686
  //#region ../theme-core/src/site-styles/generatedSchemas.ts
14513
14687
  function uniqueNonEmpty(values) {
14514
14688
  const uniqueValues = [...new Set(values)];
@@ -14577,6 +14751,56 @@ z.object({
14577
14751
  blocks: z.array(generatedPageDesignBlockIntentSchema)
14578
14752
  }).strict();
14579
14753
  //#endregion
14754
+ //#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
14755
+ const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
14756
+ const token = parseSiteChromeBackgroundColorToken(value);
14757
+ if (token === null) {
14758
+ ctx.addIssue({
14759
+ code: "custom",
14760
+ message: "Unknown site chrome background colour token"
14761
+ });
14762
+ return z.NEVER;
14763
+ }
14764
+ return token;
14765
+ });
14766
+ const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
14767
+ kind: z.literal("color"),
14768
+ token: backgroundColorTokenSchema
14769
+ }).strict()]);
14770
+ const logoTextIntentSchema = z.object({
14771
+ mobileMaxWidth: z.enum([
14772
+ "xs",
14773
+ "sm",
14774
+ "md"
14775
+ ]).optional(),
14776
+ mobileWrapLines: z.union([z.literal(1), z.literal(2)]).optional(),
14777
+ hideOnShrink: z.boolean().optional()
14778
+ }).strict();
14779
+ const structureSchema = z.object({
14780
+ positioning: z.union([z.literal("inherit"), z.enum(headerPositioningValues)]),
14781
+ shrinkOnScroll: z.union([z.literal("inherit"), z.boolean()]),
14782
+ logoText: z.union([
14783
+ z.literal("inherit"),
14784
+ z.literal("none"),
14785
+ logoTextIntentSchema
14786
+ ])
14787
+ }).strict();
14788
+ const headerPreferencesShape = {
14789
+ brandPresentation: z.enum(headerBrandPresentationValues),
14790
+ brandDisplay: z.enum(brandDisplayModeValues),
14791
+ logoSize: z.enum(logoSizePolicyValues),
14792
+ navFontRole: z.enum(headerNavTypographyPreferenceValues),
14793
+ navTextSize: z.enum(headerNavFontSizePreferenceValues),
14794
+ interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
14795
+ background: backgroundOverrideSchema,
14796
+ structure: structureSchema
14797
+ };
14798
+ z.object(headerPreferencesShape).strict();
14799
+ z.object(headerPreferencesShape).omit({
14800
+ brandPresentation: true,
14801
+ structure: true
14802
+ }).strict();
14803
+ //#endregion
14580
14804
  //#region ../theme-core/src/site-styles/pageDesignAuthority.ts
14581
14805
  const nonEmptyStringSchema = z.string().min(1);
14582
14806
  const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
@@ -14678,21 +14902,6 @@ function collectBlockSequenceIssues(snapshots) {
14678
14902
  return issues;
14679
14903
  }
14680
14904
  //#endregion
14681
- //#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
14682
- const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
14683
- const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
14684
- siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
14685
- function parseSiteChromeBackgroundColorToken(value) {
14686
- const token = parseBackgroundAppearanceColorToken(value);
14687
- return token ? token : null;
14688
- }
14689
- function toSiteChromeBackgroundColorTokens(tokenNames) {
14690
- return tokenNames.flatMap((name) => {
14691
- const token = parseSiteChromeBackgroundColorToken(name);
14692
- return token ? [token] : [];
14693
- });
14694
- }
14695
- //#endregion
14696
14905
  //#region ../theme-core/src/site-styles/tokenRecipes.ts
14697
14906
  const themeTokenRecipeOptions = {
14698
14907
  palette: [
@@ -27087,7 +27296,7 @@ const eventDisplayFields = [
27087
27296
  {
27088
27297
  id: "showCapacity",
27089
27298
  type: "boolean",
27090
- label: "Show available spots",
27299
+ label: "Show available places",
27091
27300
  description: "Display remaining capacity",
27092
27301
  required: false,
27093
27302
  defaultValue: true,
@@ -27386,7 +27595,7 @@ function planEventRegistrationScope(input) {
27386
27595
  };
27387
27596
  }
27388
27597
  //#endregion
27389
- //#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
27598
+ //#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
27390
27599
  function isRecord$5(value) {
27391
27600
  return typeof value === "object" && value !== null && !Array.isArray(value);
27392
27601
  }
@@ -27404,7 +27613,7 @@ function resolveRuntimeEventDestination(event) {
27404
27613
  };
27405
27614
  }
27406
27615
  //#endregion
27407
- //#region ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
27616
+ //#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
27408
27617
  const DEFAULT_EVENT_CURRENCY = "USD";
27409
27618
  function resolveRuntimeEventPricing(event) {
27410
27619
  if (isPublicEventPricing(event.pricing)) return event.pricing;
@@ -28084,7 +28293,7 @@ const eventRegistrationBlockDefinition = {
28084
28293
  {
28085
28294
  id: "showCapacity",
28086
28295
  type: "boolean",
28087
- label: "Show available spots",
28296
+ label: "Show available places",
28088
28297
  description: "Display remaining capacity",
28089
28298
  required: false,
28090
28299
  defaultValue: true,
@@ -28645,7 +28854,11 @@ const eventSpotlightBlockDefinition = {
28645
28854
  } }
28646
28855
  };
28647
28856
  //#endregion
28648
- //#region ../blocks/src/system/runtime/nodes/events/shared/utils.ts
28857
+ //#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
28858
+ /**
28859
+ * Layout classes for event listing containers and cards. Presentation
28860
+ * plumbing rather than event domain logic, so it lives beside the components.
28861
+ */
28649
28862
  /**
28650
28863
  * Column class mappings for grid layouts, derived from the canonical
28651
28864
  * responsive column ladder (see gridUserColumnLadder).
@@ -29977,7 +30190,7 @@ const eventCalendarAdditionalFields = [
29977
30190
  {
29978
30191
  id: "showCapacity",
29979
30192
  type: "boolean",
29980
- label: "Show available spots",
30193
+ label: "Show available places",
29981
30194
  description: "Display remaining capacity on event cards and timetable cells",
29982
30195
  required: false,
29983
30196
  defaultValue: true,
@@ -37025,6 +37238,50 @@ z.object({
37025
37238
  title: z.string(),
37026
37239
  slug: z.string().min(1)
37027
37240
  });
37241
+ z.object({
37242
+ signedUrl: z.string().url(),
37243
+ token: z.string().min(1),
37244
+ storagePath: z.string().min(1)
37245
+ }).strict();
37246
+ const backupManifestSchema = z.object({
37247
+ siteId: z.string().min(1),
37248
+ siteSlug: z.string().min(1),
37249
+ siteTitle: z.string(),
37250
+ exportedAt: z.string().min(1),
37251
+ tableCount: z.number().int().nonnegative(),
37252
+ totalRecords: z.number().int().nonnegative(),
37253
+ pageCount: z.number().int().nonnegative(),
37254
+ blockCount: z.number().int().nonnegative(),
37255
+ contentEntryCount: z.number().int().nonnegative(),
37256
+ formCount: z.number().int().nonnegative(),
37257
+ navigationMenuCount: z.number().int().nonnegative(),
37258
+ mediaCount: z.number().int().nonnegative(),
37259
+ mediaBytes: z.number().int().nonnegative()
37260
+ }).strict();
37261
+ z.object({
37262
+ ok: z.literal(true),
37263
+ manifest: backupManifestSchema,
37264
+ storagePath: z.string().min(1)
37265
+ }).strict();
37266
+ z.object({
37267
+ ok: z.literal(true),
37268
+ siteId: brandedIdSchema(parseSiteId, "site id"),
37269
+ slug: z.string().min(1),
37270
+ title: z.string(),
37271
+ counts: z.record(z.string(), z.object({
37272
+ created: z.number().int().nonnegative(),
37273
+ updated: z.number().int().nonnegative(),
37274
+ skipped: z.number().int().nonnegative(),
37275
+ failed: z.number().int().nonnegative()
37276
+ }).strict()),
37277
+ warnings: z.array(z.string()),
37278
+ errors: z.array(z.object({
37279
+ table: z.string(),
37280
+ id: z.string(),
37281
+ error: z.string()
37282
+ }).strict())
37283
+ }).strict();
37284
+ z.object({ deleted: z.boolean() }).strict();
37028
37285
  const apiKeyIdSchema = brandedIdSchema(parseApiKeyId, "API key id");
37029
37286
  const standardKeyIdsSchema = z.object({
37030
37287
  live: apiKeyIdSchema.optional(),