@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
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { D as clsx } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { At as assertNever, Mt as err, Nt as ok, st as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
4
- import { n as useBlockApi, t as BlockApiProvider } from "./context-BImarOAq.mjs";
3
+ import { St as ok, X as themeButtonClassName, t as defineIslandPropsDecoder, xt as err, yt as assertNever } from "./propsDecoder-pYvx_Srl.mjs";
4
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-DCkiHVdD.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { D as staticHeaderChromeRuntime, r as buildCartDisplay, st as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
2
+ import { D as staticHeaderChromeRuntime, X as themeButtonClassName, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-pYvx_Srl.mjs";
3
3
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
4
- import { n as useCommerceCart } from "./shop-commerce-store-CGWnpY4K.mjs";
4
+ import { n as useCommerceCart } from "./shop-commerce-store-QuQNdDsD.mjs";
5
5
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
6
6
  import * as React$1 from "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1591,6 +1591,83 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1591
1591
  errors: ["validation:invalid_input", "server:internal_error"]
1592
1592
  }
1593
1593
  });
1594
+ //#endregion
1595
+ //#region ../api/src/sdkMediaEndpointDefinitions.ts
1596
+ const SDK_MEDIA_ENDPOINT_DEFINITIONS = {
1597
+ sdkMediaExists: {
1598
+ path: "/sdk/{siteId}/media/exists",
1599
+ method: "POST",
1600
+ errors: ["validation:invalid_input"],
1601
+ auth: "service",
1602
+ responseKind: "json"
1603
+ },
1604
+ sdkMediaFindByChecksum: {
1605
+ path: "/sdk/{siteId}/media/find-by-checksum",
1606
+ method: "POST",
1607
+ errors: ["server:internal_error"],
1608
+ auth: "service",
1609
+ responseKind: "json"
1610
+ },
1611
+ sdkMediaResolve: {
1612
+ path: "/sdk/{siteId}/media/resolve",
1613
+ method: "POST",
1614
+ errors: ["server:internal_error"],
1615
+ auth: "service",
1616
+ responseKind: "json"
1617
+ },
1618
+ sdkMediaList: {
1619
+ path: "/sdk/{siteId}/media",
1620
+ method: "GET",
1621
+ auth: "service",
1622
+ responseKind: "json"
1623
+ },
1624
+ sdkMediaDownload: {
1625
+ path: "/sdk/{siteId}/media/{identifier}/download",
1626
+ method: "GET",
1627
+ auth: "service",
1628
+ responseKind: "json"
1629
+ },
1630
+ sdkMediaDeletePreview: {
1631
+ path: "/sdk/{siteId}/media/{identifier}/delete-preview",
1632
+ method: "POST",
1633
+ auth: "service",
1634
+ responseKind: "json"
1635
+ },
1636
+ sdkMediaDeleteApply: {
1637
+ path: "/sdk/{siteId}/media/{identifier}",
1638
+ method: "DELETE",
1639
+ auth: "service",
1640
+ responseKind: "json"
1641
+ },
1642
+ sdkMediaUploadUrl: {
1643
+ path: "/sdk/{siteId}/media/upload-url",
1644
+ method: "POST",
1645
+ errors: [
1646
+ "resource:not_found",
1647
+ "validation:invalid_input",
1648
+ "resource:conflict",
1649
+ "validation:payload_too_large",
1650
+ "billing:plan_limit_exceeded",
1651
+ "server:internal_error"
1652
+ ],
1653
+ auth: "service",
1654
+ responseKind: "json"
1655
+ },
1656
+ sdkMediaUploadFinalize: {
1657
+ path: "/sdk/{siteId}/media/upload",
1658
+ method: "POST",
1659
+ errors: [
1660
+ "resource:not_found",
1661
+ "validation:invalid_input",
1662
+ "resource:conflict",
1663
+ "validation:payload_too_large",
1664
+ "billing:plan_limit_exceeded",
1665
+ "server:internal_error"
1666
+ ],
1667
+ auth: "service",
1668
+ responseKind: "json"
1669
+ }
1670
+ };
1594
1671
  ({
1595
1672
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
1596
1673
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
@@ -1599,7 +1676,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1599
1676
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
1600
1677
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
1601
1678
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
1602
- }, 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 };
1679
+ }, 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 };
1603
1680
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
1604
1681
  z.object({
1605
1682
  accessToken: z.string().min(1).max(4096),
@@ -8456,6 +8533,11 @@ const gradientConfigSchema = z.object({
8456
8533
  position: z.string().optional(),
8457
8534
  stops: z.array(gradientStopSchema).min(2)
8458
8535
  });
8536
+ const gradientsSchema = z.object({
8537
+ button: z.string().min(1).nullable().optional(),
8538
+ hero: z.string().min(1).nullable().optional(),
8539
+ background: z.string().min(1).nullable().optional()
8540
+ });
8459
8541
  //#endregion
8460
8542
  //#region ../theme-core/src/interactive/baseSchema.ts
8461
8543
  /**
@@ -9209,11 +9291,30 @@ const headerContainerSchema = z.object({
9209
9291
  tint: z.string().nullable().optional(),
9210
9292
  opacity: z.number().min(0).max(1).default(.12)
9211
9293
  }).optional();
9212
- const headerInteractionPaletteSchema = z.enum([
9294
+ //#endregion
9295
+ //#region ../theme-core/src/header/interactionPalette.ts
9296
+ /**
9297
+ * The palettes that fill the nav link with a colour on hover and focus. Each
9298
+ * one names a background/foreground token pair.
9299
+ */
9300
+ const headerInteractionPillPaletteValues = [
9213
9301
  "primary",
9214
9302
  "secondary",
9215
9303
  "accent"
9216
- ]);
9304
+ ];
9305
+ /**
9306
+ * "No pill": the nav link keeps whatever hover treatment its recipe compiled,
9307
+ * and the palette step writes nothing at all (#1318 Phase 4c decision 2).
9308
+ *
9309
+ * It exists because "a colour change on hover, no filled background" was not
9310
+ * expressible in the vocabulary, and it is what
9311
+ * `anna-raven-therapy-and-yoga` and `kirtan-lucy` have rendered since before
9312
+ * the palette existed. Without it those two rows can only be classified as a
9313
+ * conscious visual change.
9314
+ */
9315
+ const headerInteractionQuietPalette = "quiet";
9316
+ const headerInteractionPaletteValues = [...headerInteractionPillPaletteValues, headerInteractionQuietPalette];
9317
+ const headerInteractionPaletteSchema = z.enum(headerInteractionPaletteValues);
9217
9318
  //#endregion
9218
9319
  //#region ../theme-core/src/boxBackgroundSchema.ts
9219
9320
  const boxBackgroundOverlaySchema = z.preprocess(normalizeAuthoringOpacity, z.discriminatedUnion("type", [
@@ -9595,11 +9696,12 @@ const inputStyle = z.object({
9595
9696
  ]),
9596
9697
  label: z.enum(["inside", "above"])
9597
9698
  });
9598
- const headerPositioning = z.enum([
9699
+ const headerPositioningValues = [
9599
9700
  "static",
9600
9701
  "sticky",
9601
9702
  "fixed"
9602
- ]);
9703
+ ];
9704
+ const headerPositioning = z.enum(headerPositioningValues);
9603
9705
  const headerNavStyle = z.enum([
9604
9706
  "minimal",
9605
9707
  "underline",
@@ -9734,7 +9836,7 @@ const headerSchema = z.object({
9734
9836
  variant: headerVariantWithLegacyAliasSchema,
9735
9837
  positioning: headerPositioning,
9736
9838
  shrinkOnScroll: z.boolean(),
9737
- maxWidth: headerMaxWidth,
9839
+ maxWidth: headerMaxWidth.default("container"),
9738
9840
  scrollTreatment: headerScrollTreatmentSchema,
9739
9841
  background: headerBackgroundSchema.default({
9740
9842
  type: "color",
@@ -9933,11 +10035,6 @@ const bodyTextSchema = z.object({ intro: z.object({
9933
10035
  paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
9934
10036
  headingSize: bodyTextIntroTypographySizeSchema.optional()
9935
10037
  }).optional() }).optional();
9936
- const gradientsSchema = z.object({
9937
- button: z.string().min(1).nullable().optional(),
9938
- hero: z.string().min(1).nullable().optional(),
9939
- background: z.string().min(1).nullable().optional()
9940
- });
9941
10038
  /**
9942
10039
  * Testimonial quote-mark treatment, owned by the site style (analogous to the
9943
10040
  * accordion icon). `style` is the coarse selector; the optional fields fine-tune
@@ -10920,6 +11017,12 @@ function cardRoleFromLegacyVocabulary(value) {
10920
11017
  */
10921
11018
  const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
10922
11019
  //#endregion
11020
+ //#region ../theme-core/src/site-styles/compilationPlan.ts
11021
+ const defaultHeaderBrandPreferences = {
11022
+ brandDisplay: "auto",
11023
+ logoSize: "auto"
11024
+ };
11025
+ //#endregion
10923
11026
  //#region ../theme-core/src/site-styles/sectionTransitions.ts
10924
11027
  function boundaryRuntimeMetrics(family, size, heightExpression) {
10925
11028
  return {
@@ -11965,6 +12068,12 @@ const overlayLogoAccommodations = [
11965
12068
  inlineMarkWithTitleLogoAccommodation,
11966
12069
  unbackedOverlayLogoAccommodation
11967
12070
  ];
12071
+ const allCuratedLogoAccommodations = [
12072
+ ...inlineClassicLogoAccommodations,
12073
+ ...centeredLogoAccommodations,
12074
+ ...overlayLogoAccommodations
12075
+ ];
12076
+ new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
11968
12077
  const headerLayoutCatalog = defineExactCatalog()([
11969
12078
  {
11970
12079
  id: asHeaderLayoutId("classic"),
@@ -12114,6 +12223,10 @@ defineLookOptionGroup({
12114
12223
  {
12115
12224
  id: "secondary",
12116
12225
  label: "Secondary"
12226
+ },
12227
+ {
12228
+ id: headerInteractionQuietPalette,
12229
+ label: "Text only"
12117
12230
  }
12118
12231
  ]
12119
12232
  });
@@ -14535,6 +14648,67 @@ const blockDesignFallback = {
14535
14648
  };
14536
14649
  blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.transitionAfter, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
14537
14650
  //#endregion
14651
+ //#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
14652
+ const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
14653
+ const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
14654
+ siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
14655
+ function parseSiteChromeBackgroundColorToken(value) {
14656
+ const token = parseBackgroundAppearanceColorToken(value);
14657
+ return token ? token : null;
14658
+ }
14659
+ function toSiteChromeBackgroundColorTokens(tokenNames) {
14660
+ return tokenNames.flatMap((name) => {
14661
+ const token = parseSiteChromeBackgroundColorToken(name);
14662
+ return token ? [token] : [];
14663
+ });
14664
+ }
14665
+ //#endregion
14666
+ //#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
14667
+ const headerNavTypographyPreferenceValues = [
14668
+ "inherit",
14669
+ "body",
14670
+ "heading"
14671
+ ];
14672
+ const headerNavFontSizePreferenceValues = [
14673
+ "inherit",
14674
+ "sm",
14675
+ "base",
14676
+ "lg",
14677
+ "xl"
14678
+ ];
14679
+ const defaultHeaderNavPreferences = {
14680
+ typography: "inherit",
14681
+ fontSize: "inherit",
14682
+ interactionPalette: "recommended"
14683
+ };
14684
+ //#endregion
14685
+ //#region ../theme-core/src/site-styles/headerBrandPresentation.ts
14686
+ /**
14687
+ * Whether the header wears a brand presentation at all (#1318 Phase 4c).
14688
+ *
14689
+ * `applyHeaderBrandPresentation` is unconditional today: given a logo context
14690
+ * it always writes a `logo` object carrying a resolved display, size and
14691
+ * accommodation. That makes "this header has no brand presentation block" —
14692
+ * which is what several live sites persist, including one whose site *does*
14693
+ * have a logo asset — a state the preference record could not express, so a
14694
+ * recompile would silently give the site a logo treatment it has never
14695
+ * rendered.
14696
+ *
14697
+ * This is the third field in this phase with that shape, after the interaction
14698
+ * palette and the nav text size: the persisted bytes carry intent the reader
14699
+ * cannot say, so the recompile "corrects" it. The fix is the same one — widen
14700
+ * the closed vocabulary with a named member and derive it by baseline
14701
+ * comparison — and it is a *widening*, not a restyle: `'recommended'` is the
14702
+ * default and reproduces today's behaviour exactly, so no row whose bytes carry
14703
+ * a presentation compiles differently for `'plain'` existing.
14704
+ *
14705
+ * `'plain'` is deliberately not "preserve whatever bytes are there". It is a
14706
+ * constructive instruction — *write no presentation block* — so Phase 4e's
14707
+ * compiler, which builds the header from nothing, can produce it.
14708
+ */
14709
+ const headerBrandPresentationValues = ["recommended", "plain"];
14710
+ defaultHeaderBrandPreferences.brandDisplay, defaultHeaderBrandPreferences.logoSize, defaultHeaderNavPreferences.typography, defaultHeaderNavPreferences.fontSize, defaultHeaderNavPreferences.interactionPalette;
14711
+ //#endregion
14538
14712
  //#region ../theme-core/src/site-styles/generatedSchemas.ts
14539
14713
  function uniqueNonEmpty(values) {
14540
14714
  const uniqueValues = [...new Set(values)];
@@ -14603,6 +14777,56 @@ z.object({
14603
14777
  blocks: z.array(generatedPageDesignBlockIntentSchema)
14604
14778
  }).strict();
14605
14779
  //#endregion
14780
+ //#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
14781
+ const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
14782
+ const token = parseSiteChromeBackgroundColorToken(value);
14783
+ if (token === null) {
14784
+ ctx.addIssue({
14785
+ code: "custom",
14786
+ message: "Unknown site chrome background colour token"
14787
+ });
14788
+ return z.NEVER;
14789
+ }
14790
+ return token;
14791
+ });
14792
+ const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
14793
+ kind: z.literal("color"),
14794
+ token: backgroundColorTokenSchema
14795
+ }).strict()]);
14796
+ const logoTextIntentSchema = z.object({
14797
+ mobileMaxWidth: z.enum([
14798
+ "xs",
14799
+ "sm",
14800
+ "md"
14801
+ ]).optional(),
14802
+ mobileWrapLines: z.union([z.literal(1), z.literal(2)]).optional(),
14803
+ hideOnShrink: z.boolean().optional()
14804
+ }).strict();
14805
+ const structureSchema = z.object({
14806
+ positioning: z.union([z.literal("inherit"), z.enum(headerPositioningValues)]),
14807
+ shrinkOnScroll: z.union([z.literal("inherit"), z.boolean()]),
14808
+ logoText: z.union([
14809
+ z.literal("inherit"),
14810
+ z.literal("none"),
14811
+ logoTextIntentSchema
14812
+ ])
14813
+ }).strict();
14814
+ const headerPreferencesShape = {
14815
+ brandPresentation: z.enum(headerBrandPresentationValues),
14816
+ brandDisplay: z.enum(brandDisplayModeValues),
14817
+ logoSize: z.enum(logoSizePolicyValues),
14818
+ navFontRole: z.enum(headerNavTypographyPreferenceValues),
14819
+ navTextSize: z.enum(headerNavFontSizePreferenceValues),
14820
+ interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
14821
+ background: backgroundOverrideSchema,
14822
+ structure: structureSchema
14823
+ };
14824
+ z.object(headerPreferencesShape).strict();
14825
+ z.object(headerPreferencesShape).omit({
14826
+ brandPresentation: true,
14827
+ structure: true
14828
+ }).strict();
14829
+ //#endregion
14606
14830
  //#region ../theme-core/src/site-styles/pageDesignAuthority.ts
14607
14831
  const nonEmptyStringSchema = z.string().min(1);
14608
14832
  const blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
@@ -14704,21 +14928,6 @@ function collectBlockSequenceIssues(snapshots) {
14704
14928
  return issues;
14705
14929
  }
14706
14930
  //#endregion
14707
- //#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
14708
- const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
14709
- const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
14710
- siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
14711
- function parseSiteChromeBackgroundColorToken(value) {
14712
- const token = parseBackgroundAppearanceColorToken(value);
14713
- return token ? token : null;
14714
- }
14715
- function toSiteChromeBackgroundColorTokens(tokenNames) {
14716
- return tokenNames.flatMap((name) => {
14717
- const token = parseSiteChromeBackgroundColorToken(name);
14718
- return token ? [token] : [];
14719
- });
14720
- }
14721
- //#endregion
14722
14931
  //#region ../theme-core/src/site-styles/tokenRecipes.ts
14723
14932
  const themeTokenRecipeOptions = {
14724
14933
  palette: [
@@ -28875,7 +29084,7 @@ const eventDisplayFields = [
28875
29084
  {
28876
29085
  id: "showCapacity",
28877
29086
  type: "boolean",
28878
- label: "Show available spots",
29087
+ label: "Show available places",
28879
29088
  description: "Display remaining capacity",
28880
29089
  required: false,
28881
29090
  defaultValue: true,
@@ -29174,7 +29383,7 @@ function planEventRegistrationScope(input) {
29174
29383
  };
29175
29384
  }
29176
29385
  //#endregion
29177
- //#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
29386
+ //#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
29178
29387
  function isRecord$9(value) {
29179
29388
  return typeof value === "object" && value !== null && !Array.isArray(value);
29180
29389
  }
@@ -29192,7 +29401,7 @@ function resolveRuntimeEventDestination(event) {
29192
29401
  };
29193
29402
  }
29194
29403
  //#endregion
29195
- //#region ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
29404
+ //#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
29196
29405
  const DEFAULT_EVENT_CURRENCY = "USD";
29197
29406
  function resolveRuntimeEventPricing(event) {
29198
29407
  if (isPublicEventPricing(event.pricing)) return event.pricing;
@@ -29872,7 +30081,7 @@ const eventRegistrationBlockDefinition = {
29872
30081
  {
29873
30082
  id: "showCapacity",
29874
30083
  type: "boolean",
29875
- label: "Show available spots",
30084
+ label: "Show available places",
29876
30085
  description: "Display remaining capacity",
29877
30086
  required: false,
29878
30087
  defaultValue: true,
@@ -30433,7 +30642,11 @@ const eventSpotlightBlockDefinition = {
30433
30642
  } }
30434
30643
  };
30435
30644
  //#endregion
30436
- //#region ../blocks/src/system/runtime/nodes/events/shared/utils.ts
30645
+ //#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
30646
+ /**
30647
+ * Layout classes for event listing containers and cards. Presentation
30648
+ * plumbing rather than event domain logic, so it lives beside the components.
30649
+ */
30437
30650
  /**
30438
30651
  * Column class mappings for grid layouts, derived from the canonical
30439
30652
  * responsive column ladder (see gridUserColumnLadder).
@@ -31765,7 +31978,7 @@ const eventCalendarAdditionalFields = [
31765
31978
  {
31766
31979
  id: "showCapacity",
31767
31980
  type: "boolean",
31768
- label: "Show available spots",
31981
+ label: "Show available places",
31769
31982
  description: "Display remaining capacity on event cards and timetable cells",
31770
31983
  required: false,
31771
31984
  defaultValue: true,
@@ -39514,6 +39727,50 @@ z.object({
39514
39727
  title: z.string(),
39515
39728
  slug: z.string().min(1)
39516
39729
  });
39730
+ z.object({
39731
+ signedUrl: z.string().url(),
39732
+ token: z.string().min(1),
39733
+ storagePath: z.string().min(1)
39734
+ }).strict();
39735
+ const backupManifestSchema = z.object({
39736
+ siteId: z.string().min(1),
39737
+ siteSlug: z.string().min(1),
39738
+ siteTitle: z.string(),
39739
+ exportedAt: z.string().min(1),
39740
+ tableCount: z.number().int().nonnegative(),
39741
+ totalRecords: z.number().int().nonnegative(),
39742
+ pageCount: z.number().int().nonnegative(),
39743
+ blockCount: z.number().int().nonnegative(),
39744
+ contentEntryCount: z.number().int().nonnegative(),
39745
+ formCount: z.number().int().nonnegative(),
39746
+ navigationMenuCount: z.number().int().nonnegative(),
39747
+ mediaCount: z.number().int().nonnegative(),
39748
+ mediaBytes: z.number().int().nonnegative()
39749
+ }).strict();
39750
+ z.object({
39751
+ ok: z.literal(true),
39752
+ manifest: backupManifestSchema,
39753
+ storagePath: z.string().min(1)
39754
+ }).strict();
39755
+ z.object({
39756
+ ok: z.literal(true),
39757
+ siteId: brandedIdSchema(parseSiteId, "site id"),
39758
+ slug: z.string().min(1),
39759
+ title: z.string(),
39760
+ counts: z.record(z.string(), z.object({
39761
+ created: z.number().int().nonnegative(),
39762
+ updated: z.number().int().nonnegative(),
39763
+ skipped: z.number().int().nonnegative(),
39764
+ failed: z.number().int().nonnegative()
39765
+ }).strict()),
39766
+ warnings: z.array(z.string()),
39767
+ errors: z.array(z.object({
39768
+ table: z.string(),
39769
+ id: z.string(),
39770
+ error: z.string()
39771
+ }).strict())
39772
+ }).strict();
39773
+ z.object({ deleted: z.boolean() }).strict();
39517
39774
  const apiKeyIdSchema = brandedIdSchema(parseApiKeyId, "API key id");
39518
39775
  const standardKeyIdsSchema = z.object({
39519
39776
  live: apiKeyIdSchema.optional(),
@@ -1,7 +1,7 @@
1
1
  import { i as textColorStyle } from "./colorStyles-CrxJrPjJ.mjs";
2
- import { st as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
2
+ import { X as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pYvx_Srl.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
- import { t as LeafletStaticMap } from "./LeafletStaticMap-BY5mIHw9.mjs";
4
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-IKenna5u.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../core/src/location.ts
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { D as clsx } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { At as assertNever, nn as assertNever$1, st as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
4
- import { n as useBlockApi, t as BlockApiProvider } from "./context-BImarOAq.mjs";
3
+ import { X as themeButtonClassName, qt as assertNever$1, t as defineIslandPropsDecoder, yt as assertNever } from "./propsDecoder-pYvx_Srl.mjs";
4
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-DCkiHVdD.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
2
- import { r as ProductDetailController } from "./shop-commerce-DicXYaYX.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-BDf9ljkm.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-pYvx_Srl.mjs";
2
+ import { r as ProductDetailController } from "./shop-commerce-B76Jz23B.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-vXU1omwJ.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
2
- import { i as ProductListController } from "./shop-commerce-DicXYaYX.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-BDf9ljkm.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-pYvx_Srl.mjs";
2
+ import { i as ProductListController } from "./shop-commerce-B76Jz23B.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-vXU1omwJ.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-list.client.tsx