@riverbankcms/sdk 0.149.0 → 0.150.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 (165) hide show
  1. package/dist/EventEmbeddedCheckoutStep-D00Kc8Zj.mjs +285 -0
  2. package/dist/{PreviewEditorSidebar-DBKln68M.mjs → PreviewEditorSidebar-7ZhmmnBB.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-DpRX4Mum.mjs → PreviewEditorUI-BIJucTRd.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-DJPmPY-r.mjs → SdkPreviewModeRuntime-tj45gmCX.mjs} +4 -3
  5. package/dist/{SiteChromeCustomizeContext-JYA0cJ_Z.mjs → SiteChromeCustomizeContext-BFOt0ss-.mjs} +4454 -4059
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +660 -0
  7. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +510 -0
  8. package/dist/_dts/api/src/billing.d.ts +2 -2
  9. package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
  10. package/dist/_dts/api/src/footerCompositionContracts.d.ts +9 -0
  11. package/dist/_dts/api/src/footerSettings.d.ts +3 -3
  12. package/dist/_dts/api/src/index.d.ts +1 -1
  13. package/dist/_dts/api/src/navigation/bookingPortalLink.d.ts +13 -0
  14. package/dist/_dts/api/src/navigation.d.ts +1 -0
  15. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +9 -173
  16. package/dist/_dts/api/src/sdkThemeWire.d.ts +12 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
  18. package/dist/_dts/api/src/siteSettings.d.ts +2 -0
  19. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  20. package/dist/_dts/blocks/src/client.d.ts +2 -1
  21. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  22. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +30 -3
  23. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +10 -1
  24. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +38 -18
  26. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +6 -0
  28. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +13 -0
  29. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +15 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +0 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/FullyBookedStep.d.ts +6 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +3 -0
  33. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
  34. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +15 -5
  35. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +4 -2
  36. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentLocation.d.ts +3 -0
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +72 -0
  38. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +66 -5
  39. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -4
  40. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +13 -5
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +11 -52
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +19 -2
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -42
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +7 -8
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +90 -24
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useGuestRegistrationRecovery.d.ts +30 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +24 -12
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useRegistrationAdmission.d.ts +18 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +6 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/runtime/shared/stripe/browserStripe.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +8 -0
  53. package/dist/_dts/commerce/src/purchase/checkoutCopy.d.ts +10 -0
  54. package/dist/_dts/commerce/src/purchase/checkoutPresentation.d.ts +49 -0
  55. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +4 -4
  56. package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +5 -1
  57. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +9 -0
  58. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
  59. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +1 -0
  60. package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +9 -2
  61. package/dist/_dts/commerce/src/purchase/types.d.ts +5 -6
  62. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +3 -2
  63. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +6 -1
  64. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +7 -0
  65. package/dist/_dts/core/src/index.d.ts +1 -0
  66. package/dist/_dts/core/src/patch/index.d.ts +30 -0
  67. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +30 -1
  68. package/dist/_dts/sdk/src/bookings/index.d.ts +2 -1
  69. package/dist/_dts/sdk/src/bookings/types.d.ts +1 -1
  70. package/dist/_dts/sdk/src/version.d.ts +1 -1
  71. package/dist/_dts/theme-core/src/blocks/index.d.ts +1 -0
  72. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +147 -0
  73. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +22 -0
  74. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +22 -0
  75. package/dist/_dts/theme-core/src/cards/roles.d.ts +12 -0
  76. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  77. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +198 -0
  78. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +2 -0
  79. package/dist/_dts/theme-core/src/palette/utils/scrimContrast.d.ts +22 -0
  80. package/dist/_dts/theme-core/src/runtime/bridgeColourTokens.d.ts +10 -0
  81. package/dist/_dts/theme-core/src/schema.d.ts +330 -0
  82. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +0 -51
  83. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +0 -51
  84. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +11 -0
  85. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +7 -1
  86. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +7 -1
  87. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +12 -6
  88. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +7 -4
  89. package/dist/_dts/theme-core/src/site-styles/sectionSurfaceBackgrounds.d.ts +65 -0
  90. package/dist/_dts/theme-core/src/site-styles/types.d.ts +17 -0
  91. package/dist/_dts/theme-core/src/surfaces/opaqueSurface.d.ts +43 -0
  92. package/dist/client/{BookingMailingListNote-Cr3EeTP5.mjs → BookingMailingListNote-CYHOufsI.mjs} +10 -440
  93. package/dist/client/{CheckboxChoice-B33MqoUo.mjs → CheckboxChoice-M-3HycLw.mjs} +1 -1
  94. package/dist/client/{DemoBookingPortalAccess-BFGB1Fay.mjs → DemoBookingPortalAccess-Cvr9O_ca.mjs} +2 -2
  95. package/dist/client/{EventCombined.client-DKYV0_ft.mjs → EventCombined.client-m5UZIobP.mjs} +7 -7
  96. package/dist/client/EventEmbeddedCheckoutStep-DL6zFAkA.mjs +289 -0
  97. package/dist/client/{EventListing.client-B9UIcEYc.mjs → EventListing.client-DeMfCM04.mjs} +2 -2
  98. package/dist/client/{LeafletStaticMap-CFLPkP0K.mjs → LeafletStaticMap-CvZ3gOdD.mjs} +1 -1
  99. package/dist/client/{checkoutUrls-CXhko2Rv.mjs → RichText-BtfNvQV6.mjs} +2 -29
  100. package/dist/client/{TerminalPanel-JjmgxEsR.mjs → TerminalPanel-CUCNEwlH.mjs} +2 -18
  101. package/dist/client/{ThemedButton-CKV1Jh2m.mjs → ThemedButton-C7WhXuRl.mjs} +2 -2
  102. package/dist/client/{accordion-DXWIfT3T.mjs → accordion-cQm5mjqs.mjs} +1 -1
  103. package/dist/client/{bookingForm-CjZgHNvv.mjs → bookingForm-BVPJE5RQ.mjs} +11 -10
  104. package/dist/client/bookings.mjs +2668 -1134
  105. package/dist/client/{carousel-DSLikmvZ.mjs → carousel-3vgnY7LC.mjs} +2 -2
  106. package/dist/client/{carousel.client-A2lG-9od.mjs → carousel.client-CISsdZvg.mjs} +1 -1
  107. package/dist/client/{cart-HDjWReFt.mjs → cart-BGK4oOjm.mjs} +3 -3
  108. package/dist/client/{checkout-CUvRZA3W.mjs → checkout-GsBLUNJD.mjs} +3 -3
  109. package/dist/client/checkoutUrls-ChxwaNtO.mjs +28 -0
  110. package/dist/client/client.mjs +3042 -1868
  111. package/dist/client/{colorStyles-j5U9v5JA.mjs → colorStyles-D-32xHZh.mjs} +2 -30
  112. package/dist/client/{context-DFmaZa-Q.mjs → context-D_8s12Fp.mjs} +1 -1
  113. package/dist/client/{dates-BBep1JnF.mjs → dates-DeJQbQ9T.mjs} +2 -2
  114. package/dist/client/{eventCalendar-zEobhxo4.mjs → eventCalendar-cmucD4NR.mjs} +10 -10
  115. package/dist/client/{eventCombined-Dp7bz5k-.mjs → eventCombined-ku3E9FTl.mjs} +4 -4
  116. package/dist/client/{eventDetails-FE-zqTt7.mjs → eventDetails-CyKZ61sF.mjs} +5 -5
  117. package/dist/client/{eventListing-BMt5snal.mjs → eventListing-B7yxGIhX.mjs} +4 -4
  118. package/dist/client/{eventRegistration-O6ZxHfOb.mjs → eventRegistration-BoXfSFgZ.mjs} +1403 -857
  119. package/dist/client/{form-DFa1D8vt.mjs → form-CNQOWhJo.mjs} +5 -5
  120. package/dist/client/{headerSection-CmjHLR-N.mjs → headerSection-DahaBJGQ.mjs} +3 -3
  121. package/dist/client/hooks.mjs +123 -64
  122. package/dist/client/{locationMap-BXKP_lGh.mjs → locationMap-BoDjqYlW.mjs} +4 -4
  123. package/dist/client/{media-Cl38iOMI.mjs → media-BFY0y2rb.mjs} +2 -1
  124. package/dist/client/{newsletterForm-CU-HmxGx.mjs → newsletterForm-DtzXDklw.mjs} +4 -4
  125. package/dist/client/{pricing-KEAEsibq.mjs → pricing-DXEh2Lhh.mjs} +1 -1
  126. package/dist/client/{productDetail-Ckp7MGnt.mjs → productDetail-D7cPa-00.mjs} +3 -3
  127. package/dist/client/{productList-D91V0sYa.mjs → productList-D1XMap66.mjs} +3 -3
  128. package/dist/client/{propsDecoder-DZd6RJeA.mjs → propsDecoder-DiIeBopB.mjs} +758 -245
  129. package/dist/client/rendering/client.mjs +4381 -2892
  130. package/dist/client/rendering/islands.mjs +19 -19
  131. package/dist/client/rendering.mjs +3026 -1852
  132. package/dist/client/result-DRW7JWXz.mjs +30 -0
  133. package/dist/client/{routeIslandApiConfig-E1EkhhYY.mjs → routeIslandApiConfig-wzR4lKAY.mjs} +1 -1
  134. package/dist/client/scrollToBlock-C86BYkyV.mjs +17 -0
  135. package/dist/client/{shop-4F2jLQPI.mjs → shop-CYT5P-S5.mjs} +8 -8
  136. package/dist/client/{shop-commerce-store-vicweP2K.mjs → shop-commerce-store-wKhsJQxI.mjs} +1 -1
  137. package/dist/client/{shop-commerce-BbfCJjB3.mjs → shop-commerce-ypBu_dx4.mjs} +9 -9
  138. package/dist/client/{shopShared-DlONJt0T.mjs → shopShared-DFGhYrf2.mjs} +52 -6
  139. package/dist/client/{useEventFilters-COYyL3m7.mjs → useEventFilters-blSbN5o7.mjs} +8 -8
  140. package/dist/preview-next/client/runtime.mjs +3 -3
  141. package/dist/{sdk-runtime-CwvFFjB-.mjs → sdk-runtime-2p8uQk1V.mjs} +1 -1
  142. package/dist/{separator-ByL72zUT.mjs → separator-Cvvzk0Oo.mjs} +1 -1
  143. package/dist/server/components.mjs +4066 -3765
  144. package/dist/server/config-validation.mjs +185 -126
  145. package/dist/server/config.mjs +185 -126
  146. package/dist/server/data.mjs +123 -64
  147. package/dist/server/index.mjs +1 -1
  148. package/dist/server/next.mjs +615 -314
  149. package/dist/server/page-converter.mjs +100 -56
  150. package/dist/server/prebuild.mjs +1 -1
  151. package/dist/server/rendering/server.mjs +4041 -3751
  152. package/dist/server/rendering.mjs +4069 -3768
  153. package/dist/server/routing.mjs +149 -72
  154. package/dist/server/server.mjs +124 -65
  155. package/dist/server/theme-bridge.mjs +1122 -310
  156. package/dist/server/theme.mjs +126 -116
  157. package/dist/spinner-CDo6AkDz.mjs +658 -0
  158. package/dist/styles/index.css +75 -212
  159. package/package.json +1 -1
  160. package/dist/_dts/billing/src/checkout/platform.d.ts +0 -77
  161. package/dist/_dts/billing/src/config/env.d.ts +0 -29
  162. package/dist/_dts/billing/src/stripe/client.d.ts +0 -29
  163. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +0 -63
  164. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +0 -9
  165. package/dist/client/urlParams-D71VXFGx.mjs +0 -47
@@ -3877,6 +3877,15 @@ function fallbackBackground(fallbackToken, palette) {
3877
3877
  reason: "unresolvable-colour"
3878
3878
  };
3879
3879
  }
3880
+ /** Every role's contextual styles against one proven solid surface. */
3881
+ function knownSurfaceButtonContextStyles(input) {
3882
+ return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
3883
+ role,
3884
+ buttonSystem: input.buttonSystem,
3885
+ palette: input.palette,
3886
+ surface: input.surface
3887
+ })))));
3888
+ }
3880
3889
  function resolveContextualButtonRole(input) {
3881
3890
  const requested = findVariant(input.buttonSystem, input.role);
3882
3891
  if (!requested) return {
@@ -6876,6 +6885,18 @@ function brandNonEmptyString(value, label) {
6876
6885
  if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
6877
6886
  return value;
6878
6887
  }
6888
+ /**
6889
+ * What a block's own section background field admits, read from its manifest.
6890
+ * A site style's surface rule may paint a gradient or a photo; a block whose
6891
+ * `_sectionStyles.background` refuses that paint would be dropped at render
6892
+ * admission, so the runtime compiler paints the surface's colour equivalent
6893
+ * instead (see `compileSectionBackground`).
6894
+ */
6895
+ const sectionBackgroundPaintValues = [
6896
+ "color",
6897
+ "gradient",
6898
+ "image"
6899
+ ];
6879
6900
  const plainFrame = { kind: "plain" };
6880
6901
  function panelFrame(treatment) {
6881
6902
  return {
@@ -6960,6 +6981,7 @@ function defineBlockDesignCapability(capability) {
6960
6981
  ...capability,
6961
6982
  kind: "designed",
6962
6983
  looks: capability.looks ?? "not-applicable",
6984
+ sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
6963
6985
  sectionHeights: capability.sectionHeights ?? ["default"],
6964
6986
  imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
6965
6987
  imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
@@ -6972,6 +6994,10 @@ function defineBlockDesignCapability(capability) {
6972
6994
  ...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
6973
6995
  };
6974
6996
  }
6997
+ /** Absent means the block admits every section background paint. */
6998
+ function admittedSectionBackgroundPaints(paints) {
6999
+ return paints ?? sectionBackgroundPaintValues;
7000
+ }
6975
7001
  //#endregion
6976
7002
  //#region ../theme-core/src/site-styles/logoBranding.ts
6977
7003
  const logoTextConfidenceValues = [
@@ -7250,12 +7276,22 @@ const mediaPresentationSchema = commonSchema.extend({
7250
7276
  const boxBackgroundSchema = z.discriminatedUnion("type", [
7251
7277
  commonSchema.extend({
7252
7278
  type: z.literal("color"),
7253
- color: tokenOrCssColorValueSchema.nullable().optional()
7279
+ color: tokenOrCssColorValueSchema.nullable().optional(),
7280
+ /**
7281
+ * Compiler-owned. The scrim a site-style colour surface lays over media
7282
+ * that replaces it (a Look's band meeting an authored photo), sized so the
7283
+ * surface's foreground stays legible over any pixel. A colour background
7284
+ * never draws it itself; `resolveSectionBackground` moves it onto the
7285
+ * merged media background as its overlay.
7286
+ */
7287
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
7254
7288
  }),
7255
7289
  commonSchema.extend({
7256
7290
  type: z.literal("gradient"),
7257
7291
  gradient: z.string().nullable().optional(),
7258
- gradientPresetId: z.string().min(1).nullable().optional()
7292
+ gradientPresetId: z.string().min(1).nullable().optional(),
7293
+ /** Compiler-owned; see the colour branch. */
7294
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
7259
7295
  }),
7260
7296
  mediaPresentationSchema.extend({
7261
7297
  type: z.literal("image"),
@@ -13094,6 +13130,17 @@ function defineBlockAppearancePreset(preset) {
13094
13130
  * (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
13095
13131
  * composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
13096
13132
  * in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
13133
+ *
13134
+ * A Look asking for the `alternative` or `open` role is offered only where the
13135
+ * site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
13136
+ * that differ only in role are distinct wherever both are offered.
13137
+ *
13138
+ * Retiring a Look is removing its entry. A stored pin to a retired id reads as
13139
+ * an unsupported pin in the page design editor model and renders the block's
13140
+ * auto Look, the same path an unavailable Look takes. Duplicates retired in
13141
+ * the 2026-09 Look audit: `feature-cards-soft-panels`,
13142
+ * `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
13143
+ * `testimonials-default-cards`.
13097
13144
  */
13098
13145
  const brandScrimOptionGroups = [{
13099
13146
  id: "image-surface-treatment",
@@ -13478,16 +13525,6 @@ defineBlockAppearancePreset({
13478
13525
  treatment: "framed-programme"
13479
13526
  }
13480
13527
  }
13481
- }), defineBlockAppearancePreset({
13482
- id: "feature-cards-soft-panels",
13483
- target: "feature-cards",
13484
- label: "Soft tinted panels",
13485
- blockKinds: ["block.feature-cards"],
13486
- design: {
13487
- sectionSurface: "base",
13488
- contentFrame: plainFrame,
13489
- cardRole: "alternative"
13490
- }
13491
13528
  }), defineBlockAppearancePreset({
13492
13529
  id: "feature-cards-editorial-diptych",
13493
13530
  target: "feature-cards",
@@ -13499,27 +13536,6 @@ defineBlockAppearancePreset({
13499
13536
  contentFrame: plainFrame,
13500
13537
  cardRole: "default"
13501
13538
  }
13502
- }), defineBlockAppearancePreset({
13503
- id: "feature-cards-editorial-pathways",
13504
- target: "feature-cards",
13505
- label: "Editorial pathways",
13506
- blockKinds: ["block.feature-cards"],
13507
- constraints: { layoutVariantKeys: ["editorial-pathways"] },
13508
- design: {
13509
- sectionSurface: "base",
13510
- contentFrame: plainFrame,
13511
- cardRole: "default"
13512
- }
13513
- }), defineBlockAppearancePreset({
13514
- id: "feature-cards-photo-tiles",
13515
- target: "feature-cards",
13516
- label: "Photo tiles",
13517
- blockKinds: ["block.feature-cards"],
13518
- design: {
13519
- sectionSurface: "base",
13520
- contentFrame: plainFrame,
13521
- cardRole: "default"
13522
- }
13523
13539
  }), defineBlockAppearancePreset({
13524
13540
  id: "events-lined-panel",
13525
13541
  target: "events",
@@ -13608,16 +13624,6 @@ defineBlockAppearancePreset({
13608
13624
  contentFrame: panelFrame("raised"),
13609
13625
  cardRole: "default"
13610
13626
  }
13611
- }), defineBlockAppearancePreset({
13612
- id: "testimonials-default-cards",
13613
- target: "testimonials",
13614
- label: "Default cards",
13615
- blockKinds: ["block.testimonials"],
13616
- design: {
13617
- sectionSurface: "base",
13618
- contentFrame: plainFrame,
13619
- cardRole: "default"
13620
- }
13621
13627
  }), defineBlockAppearancePreset({
13622
13628
  id: "testimonials-statement-cards",
13623
13629
  target: "testimonials",
@@ -17099,9 +17105,7 @@ const curatedSiteStyles = [
17099
17105
  recommendedAppearancePresetIds: [
17100
17106
  "hero-split-editorial",
17101
17107
  "intro-portrait-bio",
17102
- "feature-cards-soft-panels",
17103
- "feature-cards-editorial-columns",
17104
- "feature-cards-photo-tiles",
17108
+ "feature-cards-bold-colors",
17105
17109
  "testimonials-non-carded",
17106
17110
  "faq-contained-help",
17107
17111
  "contact-form-panel"
@@ -17745,8 +17749,7 @@ const curatedSiteStyles = [
17745
17749
  "intro-portrait-bio",
17746
17750
  "feature-cards-editorial-columns",
17747
17751
  "feature-cards-editorial-diptych",
17748
- "feature-cards-editorial-pathways",
17749
- "feature-cards-soft-panels",
17752
+ "feature-cards-bold-colors",
17750
17753
  "events-lined-panel",
17751
17754
  "testimonials-non-carded",
17752
17755
  "faq-base-accordion",
@@ -19343,6 +19346,34 @@ function withLookCapability(declaration) {
19343
19346
  }
19344
19347
  };
19345
19348
  }
19349
+ /**
19350
+ * The section background paints a block's own `_sectionStyles.background`
19351
+ * field admits, read from its manifest so the design capability cannot drift
19352
+ * from what render admission accepts. A block without the field admits none.
19353
+ */
19354
+ function sectionBackgroundPaintsOfFields(fields) {
19355
+ const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
19356
+ if (!sectionStyles || sectionStyles.type !== "modal") return [];
19357
+ const background = sectionStyles.schema.fields.find((field) => field.id === "background");
19358
+ if (!background || background.type !== "tabGroup") return [];
19359
+ const tabIds = new Set(background.tabs.map((tab) => tab.id));
19360
+ return [
19361
+ "color",
19362
+ "gradient",
19363
+ "image"
19364
+ ].filter((paint) => tabIds.has(paint));
19365
+ }
19366
+ /** Pins a designed capability's section background paints to the block's manifest. */
19367
+ function withManifestSectionBackgroundPaints(declaration, fields) {
19368
+ if (declaration.kind !== "capability") return declaration;
19369
+ return {
19370
+ kind: "capability",
19371
+ capability: {
19372
+ ...declaration.capability,
19373
+ sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
19374
+ }
19375
+ };
19376
+ }
19346
19377
  function declareNoBlockDesignCapability(reason) {
19347
19378
  return {
19348
19379
  kind: "none",
@@ -21214,15 +21245,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
21214
21245
  if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
21215
21246
  const cached = surfaceCache.get(cacheKey);
21216
21247
  if (cached) return cached;
21217
- const styles = Object.fromEntries(VARIANT_ROLES.flatMap((role) => {
21218
- const resolution = resolveContextualButtonRole({
21219
- role,
21220
- buttonSystem,
21221
- palette,
21222
- surface: surface.surface
21223
- });
21224
- return Object.entries(contextualButtonSurfaceStyles(resolution));
21225
- }));
21248
+ const styles = knownSurfaceButtonContextStyles({
21249
+ surface: surface.surface,
21250
+ palette,
21251
+ buttonSystem
21252
+ });
21226
21253
  surfaceCache.set(cacheKey, styles);
21227
21254
  return styles;
21228
21255
  }
@@ -27902,6 +27929,20 @@ const footerEngagement = stack({
27902
27929
  ...footerSpamProtectionBinding
27903
27930
  }), [], when("module.engagement.kind", { equals: "mailing-list" }))
27904
27931
  ], when("module.kind", { equals: "engagement" }));
27932
+ const platformAttribution = el("div", {
27933
+ className: "rb-caption",
27934
+ "data-site-attribution": "macadamia"
27935
+ }, [
27936
+ text({ as: "span" }, bind("module.lead")),
27937
+ text({
27938
+ as: "span",
27939
+ value: " "
27940
+ }),
27941
+ link({
27942
+ href: { $bind: { from: "module.link.href" } },
27943
+ className: "footer-nav-link rb-caption transition-theme-standard"
27944
+ }, [text({ as: "span" }, bind("module.link.label"))])
27945
+ ], when("module.kind", { equals: "attribution" }));
27905
27946
  const footerGroup = stack({
27906
27947
  gap: "md",
27907
27948
  align: "stretch",
@@ -27931,6 +27972,7 @@ const footerGroup = stack({
27931
27972
  hours,
27932
27973
  socials,
27933
27974
  footerEngagement,
27975
+ platformAttribution,
27934
27976
  stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
27935
27977
  stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
27936
27978
  ], repeat("group.modules", "module"))], repeat("region.groups", "group"));
@@ -30164,14 +30206,18 @@ const calendarTabViewsSchema = z.enum([
30164
30206
  * @param needsPaymentStep - Whether user must complete payment method selection
30165
30207
  * @returns Array of wizard steps to display
30166
30208
  */
30167
- function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
30209
+ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
30168
30210
  const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
30169
30211
  "select-event",
30170
30212
  "select-tickets",
30171
30213
  "enter-details"
30172
30214
  ];
30173
30215
  if (!needsPaymentStep) return baseSteps;
30174
- return [...baseSteps, "select-payment"];
30216
+ return paymentActive ? [
30217
+ ...baseSteps,
30218
+ "select-payment",
30219
+ "payment"
30220
+ ] : [...baseSteps, "select-payment"];
30175
30221
  }
30176
30222
  //#endregion
30177
30223
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
@@ -30290,6 +30336,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
30290
30336
  "Date",
30291
30337
  "Tickets",
30292
30338
  "Details",
30339
+ "Payment options",
30293
30340
  "Payment"
30294
30341
  ];
30295
30342
  const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
@@ -30432,12 +30479,13 @@ function shellLabelForRegistrationStep(step, events) {
30432
30479
  switch (step) {
30433
30480
  case "select-event": return isDateSelection(events) ? "Date" : "Event";
30434
30481
  case "select-tickets": return "Tickets";
30482
+ case "fully-booked":
30435
30483
  case "enter-details": return "Details";
30436
- case "select-payment": return "Payment";
30484
+ case "select-payment": return "Payment options";
30485
+ case "payment": return "Payment";
30437
30486
  case "error":
30438
30487
  case "success":
30439
30488
  case "submitting":
30440
- case "redirecting":
30441
30489
  case "verifying-payment":
30442
30490
  case "verifying-timeout":
30443
30491
  case "payment-status":
@@ -30449,7 +30497,7 @@ function isDateSelection(events) {
30449
30497
  return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
30450
30498
  }
30451
30499
  function buildEventRegistrationShellBodyText(stepLabels) {
30452
- if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
30500
+ if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
30453
30501
  if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
30454
30502
  return "Preparing dates, tickets, and booking details.";
30455
30503
  }
@@ -32333,7 +32381,8 @@ const eventCalendarLayout = [styledSection({
32333
32381
  fallback: false
32334
32382
  } },
32335
32383
  banded: { $bind: {
32336
- from: "content.banded",
32384
+ from: "content",
32385
+ transforms: [{ id: "events.calendarBanded" }],
32337
32386
  fallback: false
32338
32387
  } }
32339
32388
  }))]
@@ -38712,7 +38761,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
38712
38761
  if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
38713
38762
  return {
38714
38763
  ...definition,
38715
- designCapability,
38764
+ designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
38716
38765
  designMetadata,
38717
38766
  manifest: {
38718
38767
  ...definition.manifest,
@@ -39763,6 +39812,16 @@ const defaultTransforms = createTransformRegistry([
39763
39812
  return resolveCalendarReadProfile(asPartialObject(value) ?? {});
39764
39813
  }
39765
39814
  },
39815
+ {
39816
+ id: "events.calendarBanded",
39817
+ kind: "formatter",
39818
+ summary: "Paint the week-board band only on a section with no background of its own",
39819
+ run(value) {
39820
+ const content = asPartialObject(value) ?? {};
39821
+ const sectionStyles = asPartialObject(content._sectionStyles);
39822
+ return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
39823
+ }
39824
+ },
39766
39825
  ...formattingTransforms,
39767
39826
  ...layoutTransforms,
39768
39827
  ...chromeLogoTransforms,
@@ -8766,7 +8766,7 @@ var SimpleCache = class {
8766
8766
  * 1. This constant
8767
8767
  * 2. The "version" field in package.json
8768
8768
  */
8769
- const SDK_VERSION = "0.149.0";
8769
+ const SDK_VERSION = "0.150.0";
8770
8770
  //#endregion
8771
8771
  //#region src/client/error.ts
8772
8772
  let _Symbol$for;