@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
@@ -1,5 +1,5 @@
1
- import "react/jsx-runtime";
2
1
  import { z } from "zod";
2
+ import "react/jsx-runtime";
3
3
  import "react";
4
4
  import * as fs from "fs/promises";
5
5
  import * as path from "path";
@@ -5060,6 +5060,18 @@ function brandNonEmptyString(value, label) {
5060
5060
  if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
5061
5061
  return value;
5062
5062
  }
5063
+ /**
5064
+ * What a block's own section background field admits, read from its manifest.
5065
+ * A site style's surface rule may paint a gradient or a photo; a block whose
5066
+ * `_sectionStyles.background` refuses that paint would be dropped at render
5067
+ * admission, so the runtime compiler paints the surface's colour equivalent
5068
+ * instead (see `compileSectionBackground`).
5069
+ */
5070
+ const sectionBackgroundPaintValues = [
5071
+ "color",
5072
+ "gradient",
5073
+ "image"
5074
+ ];
5063
5075
  const plainFrame = { kind: "plain" };
5064
5076
  function panelFrame(treatment) {
5065
5077
  return {
@@ -5144,6 +5156,7 @@ function defineBlockDesignCapability(capability) {
5144
5156
  ...capability,
5145
5157
  kind: "designed",
5146
5158
  looks: capability.looks ?? "not-applicable",
5159
+ sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
5147
5160
  sectionHeights: capability.sectionHeights ?? ["default"],
5148
5161
  imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
5149
5162
  imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
@@ -5156,6 +5169,10 @@ function defineBlockDesignCapability(capability) {
5156
5169
  ...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
5157
5170
  };
5158
5171
  }
5172
+ /** Absent means the block admits every section background paint. */
5173
+ function admittedSectionBackgroundPaints(paints) {
5174
+ return paints ?? sectionBackgroundPaintValues;
5175
+ }
5159
5176
  //#endregion
5160
5177
  //#region ../theme-core/src/site-styles/logoBranding.ts
5161
5178
  const logoTextConfidenceValues = [
@@ -5434,12 +5451,22 @@ const mediaPresentationSchema = commonSchema.extend({
5434
5451
  const boxBackgroundSchema = z.discriminatedUnion("type", [
5435
5452
  commonSchema.extend({
5436
5453
  type: z.literal("color"),
5437
- color: tokenOrCssColorValueSchema.nullable().optional()
5454
+ color: tokenOrCssColorValueSchema.nullable().optional(),
5455
+ /**
5456
+ * Compiler-owned. The scrim a site-style colour surface lays over media
5457
+ * that replaces it (a Look's band meeting an authored photo), sized so the
5458
+ * surface's foreground stays legible over any pixel. A colour background
5459
+ * never draws it itself; `resolveSectionBackground` moves it onto the
5460
+ * merged media background as its overlay.
5461
+ */
5462
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
5438
5463
  }),
5439
5464
  commonSchema.extend({
5440
5465
  type: z.literal("gradient"),
5441
5466
  gradient: z.string().nullable().optional(),
5442
- gradientPresetId: z.string().min(1).nullable().optional()
5467
+ gradientPresetId: z.string().min(1).nullable().optional(),
5468
+ /** Compiler-owned; see the colour branch. */
5469
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
5443
5470
  }),
5444
5471
  mediaPresentationSchema.extend({
5445
5472
  type: z.literal("image"),
@@ -6237,6 +6264,17 @@ function defineBlockAppearancePreset(preset) {
6237
6264
  * (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
6238
6265
  * composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
6239
6266
  * in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
6267
+ *
6268
+ * A Look asking for the `alternative` or `open` role is offered only where the
6269
+ * site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
6270
+ * that differ only in role are distinct wherever both are offered.
6271
+ *
6272
+ * Retiring a Look is removing its entry. A stored pin to a retired id reads as
6273
+ * an unsupported pin in the page design editor model and renders the block's
6274
+ * auto Look, the same path an unavailable Look takes. Duplicates retired in
6275
+ * the 2026-09 Look audit: `feature-cards-soft-panels`,
6276
+ * `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
6277
+ * `testimonials-default-cards`.
6240
6278
  */
6241
6279
  const brandScrimOptionGroups = [{
6242
6280
  id: "image-surface-treatment",
@@ -6621,16 +6659,6 @@ defineBlockAppearancePreset({
6621
6659
  treatment: "framed-programme"
6622
6660
  }
6623
6661
  }
6624
- }), defineBlockAppearancePreset({
6625
- id: "feature-cards-soft-panels",
6626
- target: "feature-cards",
6627
- label: "Soft tinted panels",
6628
- blockKinds: ["block.feature-cards"],
6629
- design: {
6630
- sectionSurface: "base",
6631
- contentFrame: plainFrame,
6632
- cardRole: "alternative"
6633
- }
6634
6662
  }), defineBlockAppearancePreset({
6635
6663
  id: "feature-cards-editorial-diptych",
6636
6664
  target: "feature-cards",
@@ -6642,27 +6670,6 @@ defineBlockAppearancePreset({
6642
6670
  contentFrame: plainFrame,
6643
6671
  cardRole: "default"
6644
6672
  }
6645
- }), defineBlockAppearancePreset({
6646
- id: "feature-cards-editorial-pathways",
6647
- target: "feature-cards",
6648
- label: "Editorial pathways",
6649
- blockKinds: ["block.feature-cards"],
6650
- constraints: { layoutVariantKeys: ["editorial-pathways"] },
6651
- design: {
6652
- sectionSurface: "base",
6653
- contentFrame: plainFrame,
6654
- cardRole: "default"
6655
- }
6656
- }), defineBlockAppearancePreset({
6657
- id: "feature-cards-photo-tiles",
6658
- target: "feature-cards",
6659
- label: "Photo tiles",
6660
- blockKinds: ["block.feature-cards"],
6661
- design: {
6662
- sectionSurface: "base",
6663
- contentFrame: plainFrame,
6664
- cardRole: "default"
6665
- }
6666
6673
  }), defineBlockAppearancePreset({
6667
6674
  id: "events-lined-panel",
6668
6675
  target: "events",
@@ -6751,16 +6758,6 @@ defineBlockAppearancePreset({
6751
6758
  contentFrame: panelFrame("raised"),
6752
6759
  cardRole: "default"
6753
6760
  }
6754
- }), defineBlockAppearancePreset({
6755
- id: "testimonials-default-cards",
6756
- target: "testimonials",
6757
- label: "Default cards",
6758
- blockKinds: ["block.testimonials"],
6759
- design: {
6760
- sectionSurface: "base",
6761
- contentFrame: plainFrame,
6762
- cardRole: "default"
6763
- }
6764
6761
  }), defineBlockAppearancePreset({
6765
6762
  id: "testimonials-statement-cards",
6766
6763
  target: "testimonials",
@@ -10215,9 +10212,7 @@ const curatedSiteStyles = [
10215
10212
  recommendedAppearancePresetIds: [
10216
10213
  "hero-split-editorial",
10217
10214
  "intro-portrait-bio",
10218
- "feature-cards-soft-panels",
10219
- "feature-cards-editorial-columns",
10220
- "feature-cards-photo-tiles",
10215
+ "feature-cards-bold-colors",
10221
10216
  "testimonials-non-carded",
10222
10217
  "faq-contained-help",
10223
10218
  "contact-form-panel"
@@ -10861,8 +10856,7 @@ const curatedSiteStyles = [
10861
10856
  "intro-portrait-bio",
10862
10857
  "feature-cards-editorial-columns",
10863
10858
  "feature-cards-editorial-diptych",
10864
- "feature-cards-editorial-pathways",
10865
- "feature-cards-soft-panels",
10859
+ "feature-cards-bold-colors",
10866
10860
  "events-lined-panel",
10867
10861
  "testimonials-non-carded",
10868
10862
  "faq-base-accordion",
@@ -13206,6 +13200,34 @@ function withLookCapability(declaration) {
13206
13200
  }
13207
13201
  };
13208
13202
  }
13203
+ /**
13204
+ * The section background paints a block's own `_sectionStyles.background`
13205
+ * field admits, read from its manifest so the design capability cannot drift
13206
+ * from what render admission accepts. A block without the field admits none.
13207
+ */
13208
+ function sectionBackgroundPaintsOfFields(fields) {
13209
+ const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
13210
+ if (!sectionStyles || sectionStyles.type !== "modal") return [];
13211
+ const background = sectionStyles.schema.fields.find((field) => field.id === "background");
13212
+ if (!background || background.type !== "tabGroup") return [];
13213
+ const tabIds = new Set(background.tabs.map((tab) => tab.id));
13214
+ return [
13215
+ "color",
13216
+ "gradient",
13217
+ "image"
13218
+ ].filter((paint) => tabIds.has(paint));
13219
+ }
13220
+ /** Pins a designed capability's section background paints to the block's manifest. */
13221
+ function withManifestSectionBackgroundPaints(declaration, fields) {
13222
+ if (declaration.kind !== "capability") return declaration;
13223
+ return {
13224
+ kind: "capability",
13225
+ capability: {
13226
+ ...declaration.capability,
13227
+ sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
13228
+ }
13229
+ };
13230
+ }
13209
13231
  function declareNoBlockDesignCapability(reason) {
13210
13232
  return {
13211
13233
  kind: "none",
@@ -19973,6 +19995,20 @@ const footerEngagement = stack({
19973
19995
  ...footerSpamProtectionBinding
19974
19996
  }), [], when("module.engagement.kind", { equals: "mailing-list" }))
19975
19997
  ], when("module.kind", { equals: "engagement" }));
19998
+ const platformAttribution = el("div", {
19999
+ className: "rb-caption",
20000
+ "data-site-attribution": "macadamia"
20001
+ }, [
20002
+ text({ as: "span" }, bind("module.lead")),
20003
+ text({
20004
+ as: "span",
20005
+ value: " "
20006
+ }),
20007
+ link({
20008
+ href: { $bind: { from: "module.link.href" } },
20009
+ className: "footer-nav-link rb-caption transition-theme-standard"
20010
+ }, [text({ as: "span" }, bind("module.link.label"))])
20011
+ ], when("module.kind", { equals: "attribution" }));
19976
20012
  const footerGroup = stack({
19977
20013
  gap: "md",
19978
20014
  align: "stretch",
@@ -20002,6 +20038,7 @@ const footerGroup = stack({
20002
20038
  hours,
20003
20039
  socials,
20004
20040
  footerEngagement,
20041
+ platformAttribution,
20005
20042
  stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
20006
20043
  stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
20007
20044
  ], repeat("group.modules", "module"))], repeat("region.groups", "group"));
@@ -22938,14 +22975,18 @@ const calendarTabViewsSchema = z.enum([
22938
22975
  * @param needsPaymentStep - Whether user must complete payment method selection
22939
22976
  * @returns Array of wizard steps to display
22940
22977
  */
22941
- function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
22978
+ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
22942
22979
  const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
22943
22980
  "select-event",
22944
22981
  "select-tickets",
22945
22982
  "enter-details"
22946
22983
  ];
22947
22984
  if (!needsPaymentStep) return baseSteps;
22948
- return [...baseSteps, "select-payment"];
22985
+ return paymentActive ? [
22986
+ ...baseSteps,
22987
+ "select-payment",
22988
+ "payment"
22989
+ ] : [...baseSteps, "select-payment"];
22949
22990
  }
22950
22991
  //#endregion
22951
22992
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
@@ -23064,6 +23105,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
23064
23105
  "Date",
23065
23106
  "Tickets",
23066
23107
  "Details",
23108
+ "Payment options",
23067
23109
  "Payment"
23068
23110
  ];
23069
23111
  const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
@@ -23206,12 +23248,13 @@ function shellLabelForRegistrationStep(step, events) {
23206
23248
  switch (step) {
23207
23249
  case "select-event": return isDateSelection(events) ? "Date" : "Event";
23208
23250
  case "select-tickets": return "Tickets";
23251
+ case "fully-booked":
23209
23252
  case "enter-details": return "Details";
23210
- case "select-payment": return "Payment";
23253
+ case "select-payment": return "Payment options";
23254
+ case "payment": return "Payment";
23211
23255
  case "error":
23212
23256
  case "success":
23213
23257
  case "submitting":
23214
- case "redirecting":
23215
23258
  case "verifying-payment":
23216
23259
  case "verifying-timeout":
23217
23260
  case "payment-status":
@@ -23223,7 +23266,7 @@ function isDateSelection(events) {
23223
23266
  return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
23224
23267
  }
23225
23268
  function buildEventRegistrationShellBodyText(stepLabels) {
23226
- if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
23269
+ if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
23227
23270
  if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
23228
23271
  return "Preparing dates, tickets, and booking details.";
23229
23272
  }
@@ -25173,7 +25216,8 @@ const eventCalendarLayout = [styledSection({
25173
25216
  fallback: false
25174
25217
  } },
25175
25218
  banded: { $bind: {
25176
- from: "content.banded",
25219
+ from: "content",
25220
+ transforms: [{ id: "events.calendarBanded" }],
25177
25221
  fallback: false
25178
25222
  } }
25179
25223
  }))]
@@ -31390,7 +31434,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
31390
31434
  if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
31391
31435
  return {
31392
31436
  ...definition,
31393
- designCapability,
31437
+ designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
31394
31438
  designMetadata,
31395
31439
  manifest: {
31396
31440
  ...definition.manifest,
@@ -12,7 +12,7 @@ import * as crypto from "crypto";
12
12
  * 1. This constant
13
13
  * 2. The "version" field in package.json
14
14
  */
15
- const SDK_VERSION = "0.149.0";
15
+ const SDK_VERSION = "0.150.0";
16
16
  //#endregion
17
17
  //#region src/constants.ts
18
18
  /**