@riverbankcms/sdk 0.138.0 → 0.140.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 (293) hide show
  1. package/README.md +12 -16
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +62 -28
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +8467 -5616
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +264 -495
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +221 -242
  9. package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
  10. package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/authSubmission.d.ts +46 -0
  12. package/dist/_dts/api/src/billing.d.ts +18 -7
  13. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
  14. package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
  15. package/dist/_dts/api/src/blocks.d.ts +2 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
  18. package/dist/_dts/api/src/communications.d.ts +0 -1
  19. package/dist/_dts/api/src/contentRuntime.d.ts +16 -4
  20. package/dist/_dts/api/src/endpoints.d.ts +275 -167
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  22. package/dist/_dts/api/src/footerSettings.d.ts +10 -10
  23. package/dist/_dts/api/src/index.d.ts +11 -10
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  26. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  27. package/dist/_dts/api/src/mailingListIntegration.d.ts +123 -0
  28. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  29. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  30. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  31. package/dist/_dts/api/src/navigation.d.ts +1 -26
  32. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  34. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  35. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  36. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +14 -6
  37. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  38. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  39. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  40. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  41. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +9 -49
  42. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  43. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  44. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  45. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  46. package/dist/_dts/api/src/sdkContracts.d.ts +5 -32
  47. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkThemeWire.d.ts +46 -46
  49. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  50. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -34
  51. package/dist/_dts/api/src/siteOnboarding.d.ts +84 -228
  52. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -13
  53. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  54. package/dist/_dts/api/src/siteSettings.d.ts +38 -6
  55. package/dist/_dts/api/src/types.d.ts +78 -77
  56. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  57. package/dist/_dts/billing/src/membership/index.d.ts +17 -7
  58. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  59. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  60. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  61. package/dist/_dts/billing/src/plans/types.d.ts +4 -7
  62. package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
  63. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  64. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  65. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  66. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  67. package/dist/_dts/blocks/src/client.d.ts +1 -1
  68. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -20
  69. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  70. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +9 -0
  71. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  72. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  73. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  74. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  75. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  76. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  78. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  79. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  80. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  81. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  82. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  83. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  84. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  85. package/dist/_dts/blocks/src/system/data/index.d.ts +4 -4
  86. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
  88. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  89. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  90. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  91. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  92. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  93. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  95. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  96. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  98. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +78 -30
  99. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +39 -15
  100. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  101. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +94 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +12 -2
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -7
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  126. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  127. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  131. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  134. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  135. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  136. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +62 -33
  137. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  138. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +14 -31
  139. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  141. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  142. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  143. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  144. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  145. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  146. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  147. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  148. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  149. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +32 -16
  150. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  151. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  152. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  153. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  154. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +4 -2
  155. package/dist/_dts/core/src/branded.d.ts +0 -8
  156. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  157. package/dist/_dts/core/src/index.d.ts +10 -1
  158. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  159. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  160. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  161. package/dist/_dts/core/src/mailing-list-setup.d.ts +142 -0
  162. package/dist/_dts/core/src/mailing-list-submission.d.ts +224 -0
  163. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  164. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  165. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  166. package/dist/_dts/core/src/participants.d.ts +2 -29
  167. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  168. package/dist/_dts/core/src/public-profile.d.ts +35 -1
  169. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  170. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  171. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +797 -954
  172. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  173. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  174. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +12 -0
  175. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +14 -0
  176. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  177. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +7 -0
  178. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  179. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  180. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  181. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  182. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  183. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  184. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  185. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  186. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  187. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  188. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  189. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  190. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  191. package/dist/_dts/sdk/src/public-api/contracts.d.ts +44 -33
  192. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +5 -0
  193. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  194. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -0
  195. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  196. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +8 -1
  197. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  198. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  199. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  200. package/dist/_dts/sdk/src/version.d.ts +1 -1
  201. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  202. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  203. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  204. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  205. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  206. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  207. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  208. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  209. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  210. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  211. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  213. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  214. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  215. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  216. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  218. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  219. package/dist/_dts/ui/src/badge.d.ts +1 -1
  220. package/dist/_dts/ui/src/callout.d.ts +1 -1
  221. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  222. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  223. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
  224. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
  225. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-LTfR1Aby.mjs} +444 -200
  226. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
  227. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
  228. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-6HiIFxNL.mjs} +1 -1
  229. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-Dlmid43H.mjs} +7 -7
  230. package/dist/client/bookings.mjs +368 -142
  231. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-DmkZRRq_.mjs} +2 -2
  232. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  233. package/dist/client/{cart-COWeOIUk.mjs → cart-CIC24330.mjs} +3 -3
  234. package/dist/client/{checkout-CeysaIJK.mjs → checkout-D1Zw9imo.mjs} +3 -3
  235. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  236. package/dist/client/client.mjs +5017 -2258
  237. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  238. package/dist/client/{context-DBzX85Xc.mjs → context-Cy1OayHx.mjs} +9 -21
  239. package/dist/client/{dates-DCYhZBlW.mjs → dates-aDcfoLHr.mjs} +21 -3
  240. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-FQxMPAjf.mjs} +81 -79
  241. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
  242. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
  243. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-B3XxBf3i.mjs} +3 -3
  244. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-I6EaokFD.mjs} +543 -155
  245. package/dist/client/{form-ClfpasVT.mjs → form-BbWckVWY.mjs} +3 -3
  246. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
  247. package/dist/client/hooks.mjs +1685 -716
  248. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CLCShvlG.mjs} +3 -3
  249. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  250. package/dist/client/newsletterForm-Briukxzi.mjs +444 -0
  251. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Copadu-2.mjs} +1 -1
  252. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-oujlRd-r.mjs} +3 -3
  253. package/dist/client/{productList-OTdZu8sb.mjs → productList-BRiIRUcd.mjs} +3 -3
  254. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-CB2KS_ko.mjs} +706 -160
  255. package/dist/client/rendering/client.mjs +3161 -1226
  256. package/dist/client/rendering/islands.mjs +19 -19
  257. package/dist/client/rendering.mjs +4864 -1914
  258. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
  259. package/dist/client/{shop-CP4YbDL9.mjs → shop-Vn6yNFED.mjs} +6 -6
  260. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
  261. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
  262. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-COIeK77T.mjs} +4 -4
  263. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-DzIUcS9n.mjs} +58 -11
  264. package/dist/preview-next/before-render.mjs +357 -175
  265. package/dist/preview-next/client/runtime.mjs +4 -4
  266. package/dist/preview-next/keepAlive.mjs +357 -175
  267. package/dist/preview-next/middleware.mjs +357 -175
  268. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-Gjb6r6vz.mjs} +357 -175
  269. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
  270. package/dist/{separator-BeqDLneQ.mjs → separator-DKDRJ1oH.mjs} +1 -1
  271. package/dist/server/components.mjs +3389 -1251
  272. package/dist/server/config-validation.mjs +2737 -1784
  273. package/dist/server/config.mjs +2742 -1788
  274. package/dist/server/data.mjs +1586 -615
  275. package/dist/server/index.mjs +496 -352
  276. package/dist/server/navigation.mjs +16 -47
  277. package/dist/server/next.mjs +3978 -2007
  278. package/dist/server/page-converter.mjs +1109 -553
  279. package/dist/server/prebuild.mjs +2 -3
  280. package/dist/server/rendering/server.mjs +4101 -1951
  281. package/dist/server/rendering.mjs +3416 -1259
  282. package/dist/server/routing.mjs +1869 -786
  283. package/dist/server/server.mjs +3260 -2482
  284. package/dist/server/theme-bridge.mjs +725 -124
  285. package/dist/server/theme.mjs +8 -2
  286. package/dist/styles/index.css +526 -68
  287. package/package.json +1 -1
  288. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  289. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  290. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  291. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
  292. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
  293. package/dist/client/newsletterForm-IbrHjMxy.mjs +0 -322
@@ -5027,7 +5027,8 @@
5027
5027
  [data-block='event-listing'],
5028
5028
  [data-block='event-spotlight'],
5029
5029
  [data-block='event-calendar'],
5030
- [data-block='event-combined']
5030
+ [data-block='event-combined'],
5031
+ .event-card--catalogue
5031
5032
  )
5032
5033
  .event-card-media {
5033
5034
  height: var(--rb-event-card-media-height, 16rem);
@@ -5040,7 +5041,8 @@
5040
5041
  [data-block='event-listing'],
5041
5042
  [data-block='event-spotlight'],
5042
5043
  [data-block='event-calendar'],
5043
- [data-block='event-combined']
5044
+ [data-block='event-combined'],
5045
+ .event-card--catalogue
5044
5046
  )
5045
5047
  .event-card-image {
5046
5048
  width: 100%;
@@ -5053,12 +5055,12 @@
5053
5055
 
5054
5056
  :where(.theme-scope)
5055
5057
  :where(
5056
- [data-block='event-listing'],
5057
- [data-block='event-spotlight'],
5058
- [data-block='event-calendar'],
5059
- [data-block='event-combined']
5058
+ [data-block='event-listing'] .event-card:hover,
5059
+ [data-block='event-spotlight'] .event-card:hover,
5060
+ [data-block='event-calendar'] .event-card:hover,
5061
+ [data-block='event-combined'] .event-card:hover,
5062
+ .event-card--catalogue:hover
5060
5063
  )
5061
- .event-card:hover
5062
5064
  .event-card-image {
5063
5065
  transform: scale(var(--rb-event-card-image-hover-scale, 1.08));
5064
5066
  }
@@ -6997,16 +6999,6 @@
6997
6999
  gap: 0.5rem;
6998
7000
  }
6999
7001
 
7000
- /* Empty day message */
7001
- :where(.theme-scope)
7002
- :where([data-block='event-calendar'])
7003
- .event-agenda-day-empty {
7004
- font-size: 0.875rem;
7005
- opacity: var(--ec-empty-opacity);
7006
- margin: 0;
7007
- padding: 0.25rem 0;
7008
- }
7009
-
7010
7002
  /* -----------------------------------------------------------------------------
7011
7003
  * Agenda Event Card
7012
7004
  * Rich event card for agenda view
@@ -7090,7 +7082,6 @@
7090
7082
  gap: 0.75rem;
7091
7083
  flex-wrap: wrap;
7092
7084
  font-size: 0.75rem;
7093
- opacity: 0.7;
7094
7085
  }
7095
7086
 
7096
7087
  :where(.theme-scope)
@@ -7103,9 +7094,8 @@
7103
7094
 
7104
7095
  :where(.theme-scope)
7105
7096
  :where([data-block='event-calendar'])
7106
- .event-agenda-card-icon {
7097
+ .event-agenda-card-icon {
7107
7098
  flex-shrink: 0;
7108
- opacity: 0.7;
7109
7099
  }
7110
7100
 
7111
7101
  :where(.theme-scope)
@@ -7122,11 +7112,197 @@
7122
7112
 
7123
7113
  :where(.theme-scope)
7124
7114
  :where([data-block='event-calendar'])
7125
- .event-agenda-card-capacity--full {
7126
- color: rgb(var(--tb-error, 239 68 68));
7115
+ .event-agenda-card-capacity--full {
7116
+ font-weight: 600;
7117
+ }
7118
+
7119
+ /*
7120
+ * Agenda rows
7121
+ *
7122
+ * The modal keeps the original button card above. Published agenda rows use
7123
+ * an article so their title and booking action can be separate, accessible
7124
+ * links without nesting anchors.
7125
+ */
7126
+ :where(.theme-scope)
7127
+ :where([data-block='event-calendar'])
7128
+ .event-agenda-card--agenda {
7129
+ display: grid;
7130
+ grid-template-columns: 0.25rem minmax(4.5rem, auto) minmax(0, 1fr) auto;
7131
+ align-items: center;
7132
+ column-gap: 1rem;
7133
+ padding: 1rem;
7134
+ }
7135
+
7136
+ :where(.theme-scope)
7137
+ :where([data-block='event-calendar'])
7138
+ .event-agenda-card--agenda
7139
+ .event-agenda-card-indicator {
7140
+ grid-column: 1;
7141
+ grid-row: 1;
7142
+ }
7143
+
7144
+ :where(.theme-scope)
7145
+ :where([data-block='event-calendar'])
7146
+ .event-agenda-card--agenda
7147
+ > .event-agenda-card-time {
7148
+ grid-column: 2;
7149
+ grid-row: 1;
7150
+ font-size: 0.875rem;
7151
+ font-weight: 700;
7127
7152
  opacity: 1;
7128
7153
  }
7129
7154
 
7155
+ :where(.theme-scope)
7156
+ :where([data-block='event-calendar'])
7157
+ .event-agenda-card--agenda
7158
+ .event-agenda-card-content {
7159
+ grid-column: 3;
7160
+ grid-row: 1;
7161
+ display: block;
7162
+ }
7163
+
7164
+ :where(.theme-scope)
7165
+ :where([data-block='event-calendar'])
7166
+ .event-agenda-card--agenda
7167
+ .event-agenda-card-title {
7168
+ margin: 0;
7169
+ font-size: 0.9375rem;
7170
+ font-weight: 600;
7171
+ line-height: 1.3;
7172
+ }
7173
+
7174
+ :where(.theme-scope)
7175
+ :where([data-block='event-calendar'])
7176
+ .event-agenda-card--agenda
7177
+ .event-agenda-card-title
7178
+ a {
7179
+ color: inherit;
7180
+ text-decoration: none;
7181
+ }
7182
+
7183
+ :where(.theme-scope)
7184
+ :where([data-block='event-calendar'])
7185
+ .event-agenda-card--agenda
7186
+ .event-agenda-card-title
7187
+ a:hover {
7188
+ text-decoration: underline;
7189
+ text-underline-offset: 0.15em;
7190
+ }
7191
+
7192
+ :where(.theme-scope)
7193
+ :where([data-block='event-calendar'])
7194
+ .event-agenda-card--agenda
7195
+ .event-agenda-card-details {
7196
+ align-items: baseline;
7197
+ gap: 0.25rem 0.6rem;
7198
+ margin-top: 0.2rem;
7199
+ font-size: 0.75rem;
7200
+ line-height: 1.35;
7201
+ }
7202
+
7203
+ :where(.theme-scope)
7204
+ :where([data-block='event-calendar'])
7205
+ .event-agenda-card--agenda
7206
+ .event-agenda-card-location {
7207
+ display: inline-flex;
7208
+ align-items: center;
7209
+ gap: 0.25rem;
7210
+ }
7211
+
7212
+ :where(.theme-scope)
7213
+ :where([data-block='event-calendar'])
7214
+ .event-agenda-card--agenda
7215
+ .event-agenda-card-action {
7216
+ grid-column: 4;
7217
+ grid-row: 1;
7218
+ display: flex;
7219
+ flex-direction: column;
7220
+ align-items: flex-end;
7221
+ gap: 0.5rem;
7222
+ min-width: max-content;
7223
+ }
7224
+
7225
+ :where(.theme-scope)
7226
+ :where([data-block='event-calendar'])
7227
+ .event-agenda-card--agenda
7228
+ .event-agenda-card-price {
7229
+ font-size: 0.875rem;
7230
+ font-weight: 700;
7231
+ opacity: 1;
7232
+ }
7233
+
7234
+ :where(.theme-scope)
7235
+ :where([data-block='event-calendar'])
7236
+ .event-agenda-card--agenda
7237
+ .event-agenda-card-status {
7238
+ font-size: 0.75rem;
7239
+ font-weight: 600;
7240
+ white-space: nowrap;
7241
+ }
7242
+
7243
+ :where(.theme-scope)
7244
+ :where([data-block='event-calendar'])
7245
+ .event-agenda-card--agenda
7246
+ .event-agenda-card-icon {
7247
+ width: 0.875rem;
7248
+ height: 0.875rem;
7249
+ }
7250
+
7251
+ :where(.theme-scope)
7252
+ :where([data-block='event-calendar'])
7253
+ .event-agenda-empty {
7254
+ margin: 0;
7255
+ padding: 2rem 1rem;
7256
+ text-align: center;
7257
+ font-size: 0.875rem;
7258
+ opacity: var(--ec-empty-opacity);
7259
+ }
7260
+
7261
+ @media (max-width: 639px) {
7262
+ :where(.theme-scope)
7263
+ :where([data-block='event-calendar'])
7264
+ .event-agenda-card--agenda {
7265
+ grid-template-columns: minmax(4.25rem, auto) minmax(0, 1fr);
7266
+ grid-template-areas:
7267
+ 'time content'
7268
+ 'action action';
7269
+ align-items: start;
7270
+ column-gap: 0.75rem;
7271
+ row-gap: 0.65rem;
7272
+ }
7273
+
7274
+ :where(.theme-scope)
7275
+ :where([data-block='event-calendar'])
7276
+ .event-agenda-card--agenda
7277
+ .event-agenda-card-indicator {
7278
+ display: none;
7279
+ }
7280
+
7281
+ :where(.theme-scope)
7282
+ :where([data-block='event-calendar'])
7283
+ .event-agenda-card--agenda
7284
+ > .event-agenda-card-time {
7285
+ grid-area: time;
7286
+ }
7287
+
7288
+ :where(.theme-scope)
7289
+ :where([data-block='event-calendar'])
7290
+ .event-agenda-card--agenda
7291
+ .event-agenda-card-content {
7292
+ grid-area: content;
7293
+ }
7294
+
7295
+ :where(.theme-scope)
7296
+ :where([data-block='event-calendar'])
7297
+ .event-agenda-card--agenda
7298
+ .event-agenda-card-action {
7299
+ grid-area: action;
7300
+ flex-direction: row;
7301
+ align-items: center;
7302
+ justify-content: flex-end;
7303
+ }
7304
+ }
7305
+
7130
7306
  /* -----------------------------------------------------------------------------
7131
7307
  * Week Timetable View
7132
7308
  * Time-grid layout for recurring class schedules
@@ -8824,7 +9000,6 @@
8824
9000
  /* Shadow Utilities (defined in rb-utilities.css; theme-driven via --shadow-*) */
8825
9001
 
8826
9002
 
8827
-
8828
9003
  /* =============================================================================
8829
9004
  * Block: Event List (Phase 3 client component migration)
8830
9005
  * =============================================================================
@@ -8850,8 +9025,9 @@
8850
9025
  border: 1px solid rgb(var(--tb-primary));
8851
9026
  border-radius: var(--rb-button-radius, 0.375rem);
8852
9027
  cursor: pointer;
8853
- transition: background-color var(--rb-block-transition, 150ms) ease,
8854
- color var(--rb-block-transition, 150ms) ease;
9028
+ transition:
9029
+ background-color var(--rb-block-transition, 150ms) ease,
9030
+ color var(--rb-block-transition, 150ms) ease;
8855
9031
  }
8856
9032
 
8857
9033
  :where(.theme-scope) .event-reset-filters-btn:hover {
@@ -8879,6 +9055,63 @@
8879
9055
  text-underline-offset: 0.12em;
8880
9056
  }
8881
9057
 
9058
+ /* Catalogue cards can keep their media footprint when an event has no
9059
+ resolved image. The date remains useful content and follows the site's
9060
+ palette and typography tokens. */
9061
+ :where(.theme-scope) .event-card-date-fallback {
9062
+ position: relative;
9063
+ display: flex;
9064
+ min-height: var(--rb-event-card-media-height, 16rem);
9065
+ flex-direction: column;
9066
+ justify-content: flex-end;
9067
+ gap: 0.125rem;
9068
+ overflow: hidden;
9069
+ padding: 1.125rem;
9070
+ border-bottom: 1px solid rgb(var(--tb-border, 229 231 235));
9071
+ background: rgb(var(--tb-surfaceAlt, var(--tb-surface, 255 255 255)));
9072
+ color: rgb(var(--tb-text, 17 24 39));
9073
+ }
9074
+
9075
+ :where(.theme-scope) .event-card-date-fallback::before {
9076
+ position: absolute;
9077
+ inset: 0;
9078
+ pointer-events: none;
9079
+ background: radial-gradient(
9080
+ 120% 140% at 0% 0%,
9081
+ color-mix(in srgb, rgb(var(--tb-primary, 0 0 0)) 11%, transparent),
9082
+ transparent 62%
9083
+ );
9084
+ content: '';
9085
+ }
9086
+
9087
+ :where(.theme-scope) .event-card-date-fallback-label,
9088
+ :where(.theme-scope) .event-card-date-fallback-value {
9089
+ position: relative;
9090
+ }
9091
+
9092
+ :where(.theme-scope) .event-card-date-fallback-label {
9093
+ color: rgb(var(--tb-mutedText, var(--tb-muted, 107 114 128)));
9094
+ font-size: 0.72rem;
9095
+ font-weight: 700;
9096
+ letter-spacing: 0.14em;
9097
+ line-height: 1.2;
9098
+ text-transform: uppercase;
9099
+ }
9100
+
9101
+ :where(.theme-scope) .event-card-date-fallback-value {
9102
+ color: rgb(var(--tb-primary, 0 0 0));
9103
+ font-family: var(--font-heading, var(--font-body, inherit));
9104
+ font-size: clamp(1.7rem, 1.35rem + 1.1vw, 2.35rem);
9105
+ font-weight: 500;
9106
+ letter-spacing: -0.025em;
9107
+ line-height: 1.04;
9108
+ }
9109
+
9110
+ :where(.theme-scope) .event-card-price {
9111
+ color: rgb(var(--tb-text, 17 24 39));
9112
+ font-weight: 600;
9113
+ }
9114
+
8882
9115
 
8883
9116
 
8884
9117
  /* =============================================================================
@@ -9460,7 +9693,6 @@
9460
9693
  }
9461
9694
 
9462
9695
 
9463
-
9464
9696
  /* =============================================================================
9465
9697
  * Block: Customer Portal
9466
9698
  * Uses --cp-* CSS variables (Tier 3)
@@ -9508,7 +9740,9 @@
9508
9740
  text-align: left;
9509
9741
  }
9510
9742
 
9511
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-login__subtitle {
9743
+ :where(.theme-scope)
9744
+ :where([data-block="customer-portal"])
9745
+ .cp-login__subtitle {
9512
9746
  color: var(--cp-muted);
9513
9747
  font-size: 0.9375rem;
9514
9748
  text-align: left;
@@ -9535,7 +9769,9 @@
9535
9769
  text-align: left;
9536
9770
  }
9537
9771
 
9538
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-login__reset-link {
9772
+ :where(.theme-scope)
9773
+ :where([data-block="customer-portal"])
9774
+ .cp-login__reset-link {
9539
9775
  appearance: none;
9540
9776
  background: none;
9541
9777
  border: 0;
@@ -9549,11 +9785,15 @@
9549
9785
  text-underline-offset: 0.15em;
9550
9786
  }
9551
9787
 
9552
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-login__reset-link:hover {
9788
+ :where(.theme-scope)
9789
+ :where([data-block="customer-portal"])
9790
+ .cp-login__reset-link:hover {
9553
9791
  color: var(--cp-text);
9554
9792
  }
9555
9793
 
9556
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-login__reset-link:focus-visible {
9794
+ :where(.theme-scope)
9795
+ :where([data-block="customer-portal"])
9796
+ .cp-login__reset-link:focus-visible {
9557
9797
  outline: 2px solid currentColor;
9558
9798
  outline-offset: 3px;
9559
9799
  }
@@ -9598,7 +9838,9 @@
9598
9838
  border-bottom: none;
9599
9839
  }
9600
9840
 
9601
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-header__welcome {
9841
+ :where(.theme-scope)
9842
+ :where([data-block="customer-portal"])
9843
+ .cp-header__welcome {
9602
9844
  font-size: 1.125rem;
9603
9845
  font-weight: 500;
9604
9846
  }
@@ -9614,8 +9856,14 @@
9614
9856
  }
9615
9857
 
9616
9858
  @keyframes cp-fade-in {
9617
- from { opacity: 0; transform: translateY(4px); }
9618
- to { opacity: 1; transform: translateY(0); }
9859
+ from {
9860
+ opacity: 0;
9861
+ transform: translateY(4px);
9862
+ }
9863
+ to {
9864
+ opacity: 1;
9865
+ transform: translateY(0);
9866
+ }
9619
9867
  }
9620
9868
 
9621
9869
  /* Empty state */
@@ -9704,6 +9952,75 @@
9704
9952
  margin-top: 1rem;
9705
9953
  }
9706
9954
 
9955
+ /* Event waitlists */
9956
+ :where(.theme-scope) :where([data-block="customer-portal"]) .cp-waitlist-list {
9957
+ display: grid;
9958
+ gap: 1rem;
9959
+ }
9960
+
9961
+ :where(.theme-scope)
9962
+ :where([data-block="customer-portal"])
9963
+ .cp-waitlists
9964
+ > .cp-alert {
9965
+ margin-bottom: 1rem;
9966
+ }
9967
+
9968
+ :where(.theme-scope) :where([data-block="customer-portal"]) .cp-waitlist-card {
9969
+ transition:
9970
+ border-color 180ms ease,
9971
+ box-shadow 180ms ease;
9972
+ }
9973
+
9974
+ :where(.theme-scope)
9975
+ :where([data-block="customer-portal"])
9976
+ .cp-waitlist-card--focused {
9977
+ border-color: var(--cp-primary);
9978
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-primary) 22%, transparent);
9979
+ }
9980
+
9981
+ :where(.theme-scope)
9982
+ :where([data-block="customer-portal"])
9983
+ .cp-waitlist-card__summary,
9984
+ :where(.theme-scope)
9985
+ :where([data-block="customer-portal"])
9986
+ .cp-waitlist-card__position {
9987
+ font-weight: 600;
9988
+ }
9989
+
9990
+ :where(.theme-scope)
9991
+ :where([data-block="customer-portal"])
9992
+ .cp-waitlist-card
9993
+ .cp-card-body
9994
+ p {
9995
+ margin: 0.4rem 0;
9996
+ }
9997
+
9998
+ @media (max-width: 640px) {
9999
+ :where(.theme-scope)
10000
+ :where([data-block="customer-portal"])
10001
+ .cp-waitlist-card
10002
+ .cp-card-header {
10003
+ flex-direction: column-reverse;
10004
+ }
10005
+
10006
+ :where(.theme-scope)
10007
+ :where([data-block="customer-portal"])
10008
+ .cp-waitlist-card
10009
+ .cp-card-actions {
10010
+ align-items: stretch;
10011
+ flex-direction: column;
10012
+ }
10013
+
10014
+ :where(.theme-scope)
10015
+ :where([data-block="customer-portal"])
10016
+ .cp-waitlist-card
10017
+ .cp-card-actions
10018
+ > * {
10019
+ justify-content: center;
10020
+ text-align: center;
10021
+ }
10022
+ }
10023
+
9707
10024
  /* Badge */
9708
10025
  :where(.theme-scope) :where([data-block="customer-portal"]) .cp-badge {
9709
10026
  display: inline-flex;
@@ -9840,11 +10157,18 @@
9840
10157
  background: rgba(var(--tb-border), 0.2);
9841
10158
  }
9842
10159
 
9843
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-table tbody tr:last-child td {
10160
+ :where(.theme-scope)
10161
+ :where([data-block="customer-portal"])
10162
+ .cp-table
10163
+ tbody
10164
+ tr:last-child
10165
+ td {
9844
10166
  border-bottom: none;
9845
10167
  }
9846
10168
 
9847
- :where(.theme-scope) :where([data-block="customer-portal"]) :is(.cp-row--past, .cp-row--muted) {
10169
+ :where(.theme-scope)
10170
+ :where([data-block="customer-portal"])
10171
+ :is(.cp-row--past, .cp-row--muted) {
9848
10172
  opacity: 0.65;
9849
10173
  }
9850
10174
 
@@ -9857,7 +10181,9 @@
9857
10181
  line-height: 1.2;
9858
10182
  }
9859
10183
 
9860
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-title__badges {
10184
+ :where(.theme-scope)
10185
+ :where([data-block="customer-portal"])
10186
+ .cp-row-title__badges {
9861
10187
  margin-left: auto;
9862
10188
  display: flex;
9863
10189
  flex-wrap: wrap;
@@ -9865,7 +10191,9 @@
9865
10191
  gap: 0.375rem;
9866
10192
  }
9867
10193
 
9868
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-title__text {
10194
+ :where(.theme-scope)
10195
+ :where([data-block="customer-portal"])
10196
+ .cp-row-title__text {
9869
10197
  min-width: 0;
9870
10198
  }
9871
10199
 
@@ -9885,12 +10213,16 @@
9885
10213
  line-height: 1.35;
9886
10214
  }
9887
10215
 
9888
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-note--success {
10216
+ :where(.theme-scope)
10217
+ :where([data-block="customer-portal"])
10218
+ .cp-row-note--success {
9889
10219
  border-left-color: rgb(var(--tb-success));
9890
10220
  color: rgb(var(--tb-success));
9891
10221
  }
9892
10222
 
9893
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-note--error {
10223
+ :where(.theme-scope)
10224
+ :where([data-block="customer-portal"])
10225
+ .cp-row-note--error {
9894
10226
  border-left-color: rgb(var(--tb-destructive));
9895
10227
  color: rgb(var(--tb-destructive));
9896
10228
  }
@@ -9909,16 +10241,23 @@
9909
10241
  white-space: nowrap;
9910
10242
  }
9911
10243
 
9912
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-col-actions .btn-sm {
10244
+ :where(.theme-scope)
10245
+ :where([data-block="customer-portal"])
10246
+ .cp-col-actions
10247
+ .btn-sm {
9913
10248
  white-space: nowrap;
9914
10249
  }
9915
10250
 
9916
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-title__link {
10251
+ :where(.theme-scope)
10252
+ :where([data-block="customer-portal"])
10253
+ .cp-row-title__link {
9917
10254
  color: inherit;
9918
10255
  text-decoration: none;
9919
10256
  }
9920
10257
 
9921
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-title__link:hover {
10258
+ :where(.theme-scope)
10259
+ :where([data-block="customer-portal"])
10260
+ .cp-row-title__link:hover {
9922
10261
  text-decoration: underline;
9923
10262
  text-decoration-thickness: 2px;
9924
10263
  text-underline-offset: 2px;
@@ -9940,7 +10279,9 @@
9940
10279
  }
9941
10280
 
9942
10281
  /* Profile actions */
9943
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-profile__actions {
10282
+ :where(.theme-scope)
10283
+ :where([data-block="customer-portal"])
10284
+ .cp-profile__actions {
9944
10285
  display: flex;
9945
10286
  gap: 0.75rem;
9946
10287
  margin-top: 1rem;
@@ -10007,28 +10348,39 @@
10007
10348
  gap: 0.375rem;
10008
10349
  }
10009
10350
 
10010
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-guest-edit-row__index {
10351
+ :where(.theme-scope)
10352
+ :where([data-block="customer-portal"])
10353
+ .cp-guest-edit-row__index {
10011
10354
  font-size: 0.75rem;
10012
10355
  font-weight: 500;
10013
10356
  color: var(--cp-muted);
10014
10357
  }
10015
10358
 
10016
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-guest-edit-row__fields {
10359
+ :where(.theme-scope)
10360
+ :where([data-block="customer-portal"])
10361
+ .cp-guest-edit-row__fields {
10017
10362
  display: flex;
10018
10363
  gap: 0.5rem;
10019
10364
  }
10020
10365
 
10021
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-guest-edit-row__fields input {
10366
+ :where(.theme-scope)
10367
+ :where([data-block="customer-portal"])
10368
+ .cp-guest-edit-row__fields
10369
+ input {
10022
10370
  flex: 1;
10023
10371
  min-width: 0;
10024
10372
  }
10025
10373
 
10026
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-guest-edit-row__error {
10374
+ :where(.theme-scope)
10375
+ :where([data-block="customer-portal"])
10376
+ .cp-guest-edit-row__error {
10027
10377
  font-size: 0.75rem;
10028
10378
  color: var(--cp-error);
10029
10379
  }
10030
10380
 
10031
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-guests__actions {
10381
+ :where(.theme-scope)
10382
+ :where([data-block="customer-portal"])
10383
+ .cp-guests__actions {
10032
10384
  display: flex;
10033
10385
  gap: 0.5rem;
10034
10386
  margin-top: 0.5rem;
@@ -10042,13 +10394,18 @@
10042
10394
  }
10043
10395
 
10044
10396
  /* In the actions modal, tiles sit on a surface modal, so use "background" for contrast. */
10045
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-actions-list :where(.rb-tile) {
10397
+ :where(.theme-scope)
10398
+ :where([data-block="customer-portal"])
10399
+ .cp-actions-list
10400
+ :where(.rb-tile) {
10046
10401
  --rb-event-tile-bg: rgb(var(--tb-background));
10047
10402
  --rb-event-tile-border: rgb(var(--tb-border));
10048
10403
  }
10049
10404
 
10050
10405
  /* Actions trigger: icon-only kebab button */
10051
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-actions-trigger.btn-sm {
10406
+ :where(.theme-scope)
10407
+ :where([data-block="customer-portal"])
10408
+ .cp-actions-trigger.btn-sm {
10052
10409
  padding: 0.35rem !important;
10053
10410
  line-height: 1 !important;
10054
10411
  min-width: 32px;
@@ -10072,17 +10429,24 @@
10072
10429
  gap: 0.25rem;
10073
10430
  }
10074
10431
 
10075
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-action-tile__title {
10432
+ :where(.theme-scope)
10433
+ :where([data-block="customer-portal"])
10434
+ .cp-action-tile__title {
10076
10435
  font-weight: 600;
10077
10436
  font-size: 0.9375rem;
10078
10437
  }
10079
10438
 
10080
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-action-tile__desc {
10439
+ :where(.theme-scope)
10440
+ :where([data-block="customer-portal"])
10441
+ .cp-action-tile__desc {
10081
10442
  font-size: 0.875rem;
10082
10443
  line-height: 1.35;
10083
10444
  }
10084
10445
 
10085
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-action-tile--danger .cp-action-tile__title {
10446
+ :where(.theme-scope)
10447
+ :where([data-block="customer-portal"])
10448
+ .cp-action-tile--danger
10449
+ .cp-action-tile__title {
10086
10450
  color: rgb(var(--tb-destructive));
10087
10451
  }
10088
10452
 
@@ -10104,7 +10468,9 @@
10104
10468
  text-decoration: underline;
10105
10469
  }
10106
10470
 
10107
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-btn--link:hover {
10471
+ :where(.theme-scope)
10472
+ :where([data-block="customer-portal"])
10473
+ .cp-btn--link:hover {
10108
10474
  color: var(--cp-primary-hover);
10109
10475
  }
10110
10476
 
@@ -10143,34 +10509,48 @@
10143
10509
  margin-top: 0.75rem;
10144
10510
  }
10145
10511
 
10146
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-cancel-confirm__title {
10512
+ :where(.theme-scope)
10513
+ :where([data-block="customer-portal"])
10514
+ .cp-cancel-confirm__title {
10147
10515
  font-weight: 600;
10148
10516
  margin-bottom: 0.5rem;
10149
10517
  }
10150
10518
 
10151
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-cancel-confirm__message {
10519
+ :where(.theme-scope)
10520
+ :where([data-block="customer-portal"])
10521
+ .cp-cancel-confirm__message {
10152
10522
  margin-bottom: 0.25rem;
10153
10523
  }
10154
10524
 
10155
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-cancel-confirm__warning {
10525
+ :where(.theme-scope)
10526
+ :where([data-block="customer-portal"])
10527
+ .cp-cancel-confirm__warning {
10156
10528
  margin-bottom: 0.75rem;
10157
10529
  }
10158
10530
 
10159
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-cancel-confirm__actions {
10531
+ :where(.theme-scope)
10532
+ :where([data-block="customer-portal"])
10533
+ .cp-cancel-confirm__actions {
10160
10534
  display: flex;
10161
10535
  gap: 0.75rem;
10162
10536
  }
10163
10537
 
10164
10538
  /* Membership actions */
10165
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-membership-actions {
10539
+ :where(.theme-scope)
10540
+ :where([data-block="customer-portal"])
10541
+ .cp-membership-actions {
10166
10542
  margin-top: 0.75rem;
10167
10543
  }
10168
10544
 
10169
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-section-actions {
10545
+ :where(.theme-scope)
10546
+ :where([data-block="customer-portal"])
10547
+ .cp-section-actions {
10170
10548
  margin-top: 1rem;
10171
10549
  }
10172
10550
 
10173
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-card-subtitle--spaced {
10551
+ :where(.theme-scope)
10552
+ :where([data-block="customer-portal"])
10553
+ .cp-card-subtitle--spaced {
10174
10554
  margin-top: 0.75rem;
10175
10555
  }
10176
10556
 
@@ -10193,9 +10573,18 @@
10193
10573
  display: none;
10194
10574
  }
10195
10575
 
10196
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-table :is(th, td).cp-col-guests,
10197
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-table :is(th, td).cp-col-tickets,
10198
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-table :is(th, td).cp-col-actions {
10576
+ :where(.theme-scope)
10577
+ :where([data-block="customer-portal"])
10578
+ .cp-table
10579
+ :is(th, td).cp-col-guests,
10580
+ :where(.theme-scope)
10581
+ :where([data-block="customer-portal"])
10582
+ .cp-table
10583
+ :is(th, td).cp-col-tickets,
10584
+ :where(.theme-scope)
10585
+ :where([data-block="customer-portal"])
10586
+ .cp-table
10587
+ :is(th, td).cp-col-actions {
10199
10588
  display: none;
10200
10589
  }
10201
10590
 
@@ -10204,24 +10593,34 @@
10204
10593
  }
10205
10594
 
10206
10595
  /* Make the cell a positioning context for the kebab */
10207
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row > td:first-child {
10596
+ :where(.theme-scope)
10597
+ :where([data-block="customer-portal"])
10598
+ .cp-row
10599
+ > td:first-child {
10208
10600
  position: relative;
10209
10601
  padding-right: 2.5rem;
10210
10602
  }
10211
10603
 
10212
10604
  /* Position kebab in top-right of the cell */
10213
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-mobile-actions {
10605
+ :where(.theme-scope)
10606
+ :where([data-block="customer-portal"])
10607
+ .cp-row-mobile-actions {
10214
10608
  position: absolute;
10215
10609
  top: 0.5rem;
10216
10610
  right: 0.5rem;
10217
10611
  margin-top: 0;
10218
10612
  }
10219
10613
 
10220
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-row-mobile-actions .btn-sm {
10614
+ :where(.theme-scope)
10615
+ :where([data-block="customer-portal"])
10616
+ .cp-row-mobile-actions
10617
+ .btn-sm {
10221
10618
  width: auto;
10222
10619
  }
10223
10620
 
10224
- :where(.theme-scope) :where([data-block="customer-portal"]) .cp-profile__edit {
10621
+ :where(.theme-scope)
10622
+ :where([data-block="customer-portal"])
10623
+ .cp-profile__edit {
10225
10624
  align-self: stretch;
10226
10625
  }
10227
10626
  }
@@ -10671,6 +11070,30 @@
10671
11070
  gap: 0.25rem;
10672
11071
  }
10673
11072
 
11073
+ /* Topic choices (visitor picks what to hear about). Same treatment as the
11074
+ form block's .fb-fieldset / .fb-inline, defined here because the newsletter
11075
+ form also renders inside contact-newsletter and the site footer. */
11076
+ :where(.theme-scope) .newsletter-topics {
11077
+ display: flex;
11078
+ flex-direction: column;
11079
+ gap: 0.5rem;
11080
+ border: none;
11081
+ padding: 0;
11082
+ margin: 0;
11083
+ min-width: 0;
11084
+ }
11085
+
11086
+ :where(.theme-scope) .newsletter-topics > legend {
11087
+ padding: 0;
11088
+ margin-bottom: 0.25rem;
11089
+ }
11090
+
11091
+ :where(.theme-scope) .newsletter-topic-choice {
11092
+ display: flex;
11093
+ align-items: center;
11094
+ gap: 0.5rem;
11095
+ }
11096
+
10674
11097
  /* Required indicator */
10675
11098
  :where(.theme-scope) .newsletter-required {
10676
11099
  color: rgb(var(--tb-primary));
@@ -10720,6 +11143,10 @@
10720
11143
  flex-shrink: 0;
10721
11144
  }
10722
11145
 
11146
+ :where(.theme-scope) .newsletter-inline .newsletter-topics {
11147
+ flex-basis: 100%;
11148
+ }
11149
+
10723
11150
  /* Mobile fallback for inline variant */
10724
11151
  @media (max-width: 640px) {
10725
11152
  :where(.theme-scope) .newsletter-inline .newsletter-form-fields {
@@ -12732,3 +13159,34 @@
12732
13159
  }
12733
13160
 
12734
13161
 
13162
+ /* =============================================================================
13163
+ * Block: Appointment Services
13164
+ * ============================================================================= */
13165
+
13166
+ :where(.theme-scope) :where([data-block="appointment-services"]) .appointment-services-row {
13167
+ display: flex;
13168
+ flex-wrap: wrap;
13169
+ align-items: baseline;
13170
+ column-gap: 1rem;
13171
+ row-gap: 0.5rem;
13172
+ }
13173
+
13174
+ :where(.theme-scope) :where([data-block="appointment-services"]) .appointment-services-row-main {
13175
+ flex: 1 1 16rem;
13176
+ }
13177
+
13178
+ :where(.theme-scope) :where([data-block="appointment-services"]) .appointment-services-row-price {
13179
+ flex: 0 0 auto;
13180
+ }
13181
+
13182
+ :where(.theme-scope) :where([data-block="appointment-services"]) .appointment-services-row-action {
13183
+ flex: 1 0 100%;
13184
+ }
13185
+
13186
+ @media (min-width: 768px) {
13187
+ :where(.theme-scope) :where([data-block="appointment-services"]) .appointment-services-row-action {
13188
+ flex: 0 0 auto;
13189
+ }
13190
+ }
13191
+
13192
+