@riverbankcms/sdk 0.138.0 → 0.139.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 (208) hide show
  1. package/README.md +11 -15
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-BDeenhi3.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-DSRhgjF5.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-D2K8GLUG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-CL7wSnYu.mjs} +47 -27
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-BhDn-5ir.mjs} +7771 -5863
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +99 -330
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +9 -30
  9. package/dist/_dts/api/src/billing.d.ts +10 -3
  10. package/dist/_dts/api/src/contentRuntime.d.ts +8 -1
  11. package/dist/_dts/api/src/endpoints.d.ts +182 -103
  12. package/dist/_dts/api/src/footerSettings.d.ts +2 -5
  13. package/dist/_dts/api/src/index.d.ts +11 -9
  14. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  15. package/dist/_dts/api/src/mailingListIntegration.d.ts +117 -0
  16. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  17. package/dist/_dts/api/src/navigation.d.ts +1 -26
  18. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  19. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  20. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  21. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +6 -6
  22. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  23. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  24. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +10 -24
  25. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  26. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  27. package/dist/_dts/api/src/sdkContracts.d.ts +2 -10
  28. package/dist/_dts/api/src/sdkThemeWire.d.ts +2 -2
  29. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +0 -29
  30. package/dist/_dts/api/src/siteOnboarding.d.ts +91 -228
  31. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -9
  32. package/dist/_dts/api/src/siteSettings.d.ts +20 -1
  33. package/dist/_dts/api/src/types.d.ts +5 -4
  34. package/dist/_dts/billing/src/membership/index.d.ts +14 -7
  35. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  36. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  37. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  38. package/dist/_dts/billing/src/plans/types.d.ts +1 -7
  39. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  40. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  41. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  42. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  43. package/dist/_dts/blocks/src/client.d.ts +1 -1
  44. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -16
  45. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
  46. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  47. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  48. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  49. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  50. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  51. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  52. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  54. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  56. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  58. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  59. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  60. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -24
  61. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -12
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  63. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +51 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +56 -33
  89. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  90. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +13 -31
  91. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  94. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  95. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  96. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +5 -12
  97. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  98. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  99. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +1 -2
  100. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  101. package/dist/_dts/core/src/index.d.ts +9 -1
  102. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  103. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  104. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  105. package/dist/_dts/core/src/mailing-list-setup.d.ts +129 -0
  106. package/dist/_dts/core/src/mailing-list-submission.d.ts +244 -0
  107. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  108. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  109. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  110. package/dist/_dts/core/src/public-profile.d.ts +9 -1
  111. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  112. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +529 -373
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +11 -0
  115. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +13 -0
  116. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +6 -0
  118. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  119. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  120. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  121. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  122. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  123. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  124. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  125. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  126. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  127. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  128. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  129. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  130. package/dist/_dts/sdk/src/public-api/contracts.d.ts +33 -16
  131. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -0
  132. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  133. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -0
  134. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  135. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -0
  136. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  137. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  138. package/dist/_dts/sdk/src/version.d.ts +1 -1
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  141. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  142. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  143. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  144. package/dist/_dts/ui/src/badge.d.ts +1 -1
  145. package/dist/_dts/ui/src/callout.d.ts +1 -1
  146. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CZvTDtsK.mjs} +2 -2
  147. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-D-DsLCMU.mjs} +1 -1
  148. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-dWqgd5ZO.mjs} +443 -199
  149. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-BMRa9IYp.mjs} +2 -2
  150. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-D21W9kBZ.mjs} +1 -1
  151. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-FxF_ta47.mjs} +1 -1
  152. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-YnwW4TGw.mjs} +5 -5
  153. package/dist/client/bookings.mjs +43 -2
  154. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-vng7fFT5.mjs} +1 -1
  155. package/dist/client/{cart-COWeOIUk.mjs → cart-DEPDsjNk.mjs} +3 -3
  156. package/dist/client/{checkout-CeysaIJK.mjs → checkout-CZRWu9rW.mjs} +3 -3
  157. package/dist/client/client.mjs +3331 -1407
  158. package/dist/client/{context-DBzX85Xc.mjs → context-DvU_WUmd.mjs} +4 -3
  159. package/dist/client/{dates-DCYhZBlW.mjs → dates-wnPMiRl5.mjs} +21 -3
  160. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-BA3Q5L15.mjs} +80 -78
  161. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-51wgR-1R.mjs} +3 -3
  162. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-modaetpm.mjs} +4 -4
  163. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-D8t2J3Kv.mjs} +3 -3
  164. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-CYqtkCE_.mjs} +49 -9
  165. package/dist/client/{form-ClfpasVT.mjs → form-CBKXN5In.mjs} +2 -2
  166. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-DylDqNrs.mjs} +2 -2
  167. package/dist/client/hooks.mjs +1259 -555
  168. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CvWrG0vZ.mjs} +2 -2
  169. package/dist/client/{newsletterForm-IbrHjMxy.mjs → newsletterForm-Btwk70zw.mjs} +117 -38
  170. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Uzw-GQ6Y.mjs} +1 -1
  171. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-JLcUYKnd.mjs} +3 -3
  172. package/dist/client/{productList-OTdZu8sb.mjs → productList-FM0cbUzj.mjs} +3 -3
  173. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-DYzafZb2.mjs} +592 -152
  174. package/dist/client/rendering/client.mjs +2259 -835
  175. package/dist/client/rendering/islands.mjs +17 -17
  176. package/dist/client/rendering.mjs +3308 -1236
  177. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-CvXszexS.mjs} +1 -1
  178. package/dist/client/{shop-CP4YbDL9.mjs → shop-BIcjvy5a.mjs} +6 -6
  179. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BZQsy7xw.mjs} +5 -5
  180. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-D5V7XAb5.mjs} +1 -1
  181. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-DowkXevB.mjs} +3 -3
  182. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-oMoTw_JE.mjs} +56 -9
  183. package/dist/preview-next/before-render.mjs +238 -111
  184. package/dist/preview-next/client/runtime.mjs +4 -4
  185. package/dist/preview-next/keepAlive.mjs +238 -111
  186. package/dist/preview-next/middleware.mjs +238 -111
  187. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-COUyAKaX.mjs} +238 -111
  188. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-D4k2LSGF.mjs} +2 -2
  189. package/dist/{separator-BeqDLneQ.mjs → separator-UGtpag4Z.mjs} +1 -1
  190. package/dist/server/components.mjs +2697 -1023
  191. package/dist/server/config-validation.mjs +2424 -1720
  192. package/dist/server/config.mjs +2429 -1724
  193. package/dist/server/data.mjs +1164 -454
  194. package/dist/server/index.mjs +364 -280
  195. package/dist/server/navigation.mjs +16 -47
  196. package/dist/server/next.mjs +2915 -1380
  197. package/dist/server/page-converter.mjs +969 -522
  198. package/dist/server/prebuild.mjs +2 -3
  199. package/dist/server/rendering/server.mjs +2704 -1030
  200. package/dist/server/rendering.mjs +2742 -1063
  201. package/dist/server/routing.mjs +1386 -595
  202. package/dist/server/server.mjs +2878 -2324
  203. package/dist/server/theme-bridge.mjs +292 -24
  204. package/dist/styles/index.css +289 -25
  205. package/package.json +1 -1
  206. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  207. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  208. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
2
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-D-DsLCMU.mjs";
3
3
  import { useEffect, useReducer, useRef } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/shared/components/CheckIcon.tsx
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import { Nt as assertNever, dn as assertNever$1, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
3
- import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
4
- import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock--BFV6kl-.mjs";
5
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
2
+ import { Nt as assertNever, o as formatCommercePrice, pn as assertNever$1, s as formatInterval, t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-DYzafZb2.mjs";
3
+ import { n as useBlockApi } from "./context-DvU_WUmd.mjs";
4
+ import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-CvXszexS.mjs";
5
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-D-DsLCMU.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
8
8
  import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
9
9
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
10
- import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-BnSRrwXI.mjs";
11
- import { t as addPassToCommerceCart } from "./shop-commerce-store-CAVLxLFr.mjs";
10
+ import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-DowkXevB.mjs";
11
+ import { t as addPassToCommerceCart } from "./shop-commerce-store-D5V7XAb5.mjs";
12
12
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
13
13
  import React, { useCallback, useEffect, useRef, useState } from "react";
14
14
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import { Nt as assertNever, Pt as clearWorkflowFeedback, Rt as reportWorkflowError, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, ft as logger, i as buildProductCardDisplay, jt as RichTextDocSchema, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
3
- import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
4
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
2
+ import { Nt as assertNever, Pt as clearWorkflowFeedback, Rt as reportWorkflowError, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, ft as logger, i as buildProductCardDisplay, jt as RichTextDocSchema, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem, ut as themeButtonClassName } from "./propsDecoder-DYzafZb2.mjs";
3
+ import { n as useBlockApi } from "./context-DvU_WUmd.mjs";
4
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-D-DsLCMU.mjs";
5
5
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
6
6
  import { n as RichText, t as buildCheckoutReturnUrls } from "./checkoutUrls-BuseL0dw.mjs";
7
7
  import { t as consumeSearchParam } from "./urlParams-D71VXFGx.mjs";
8
8
  import { t as CarouselNodeClient } from "./carousel.client-59G_WMr4.mjs";
9
9
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
10
- import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-BnSRrwXI.mjs";
11
- import { n as useCommerceCart } from "./shop-commerce-store-CAVLxLFr.mjs";
10
+ import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-DowkXevB.mjs";
11
+ import { n as useCommerceCart } from "./shop-commerce-store-D5V7XAb5.mjs";
12
12
  import * as React$1 from "react";
13
13
  import { useEffect, useState } from "react";
14
14
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-CY9gGEF7.mjs";
2
+ import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-DYzafZb2.mjs";
3
3
  import * as React$1 from "react";
4
4
  //#region ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
5
5
  const EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { E as ok, T as err } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { Nt as assertNever } from "./propsDecoder-CY9gGEF7.mjs";
4
- import { t as BlockApiProvider } from "./context-DBzX85Xc.mjs";
5
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
3
+ import { Nt as assertNever } from "./propsDecoder-DYzafZb2.mjs";
4
+ import { t as BlockApiProvider } from "./context-DvU_WUmd.mjs";
5
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-D-DsLCMU.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
8
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { d as hexToRgb, u as relativeLuminance } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { A as isSemanticSpacing, H as normalizeCsvIds, Nt as assertNever, U as normalizeCsvString, V as getEventRuntimeFiltersKey, W as normalizeOptionalId, ct as resolveOnColorForThemeToken, dt as normalizeCardRole, j as resolveSpacing, k as SEMANTIC_SPACING_VALUES, lt as resolveTokenOrCssColorValue, ot as boxBackgroundSchema, st as isCssColorLiteral, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
3
+ import { A as isSemanticSpacing, H as normalizeCsvIds, Nt as assertNever, U as normalizeCsvString, V as getEventRuntimeFiltersKey, W as normalizeOptionalId, ct as resolveOnColorForThemeToken, dt as normalizeCardRole, j as resolveSpacing, k as SEMANTIC_SPACING_VALUES, lt as resolveTokenOrCssColorValue, ot as boxBackgroundSchema, st as isCssColorLiteral, ut as themeButtonClassName } from "./propsDecoder-DYzafZb2.mjs";
4
4
  import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-BOHuueS5.mjs";
5
- import { o as formatEventRemainingPlaces, t as formatEventPrice } from "./pricing-xj7MPZlK.mjs";
6
- import { c as resolveEventCta, i as formatTime, l as resolveEventLinkProps, n as formatEventCompactDateRail, t as formatDate } from "./dates-DCYhZBlW.mjs";
7
- import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
8
- import { t as LeafletStaticMap } from "./LeafletStaticMap-CWzcq73L.mjs";
5
+ import { o as formatEventRemainingPlaces, t as formatEventPrice } from "./pricing-Uzw-GQ6Y.mjs";
6
+ import { a as formatTime, d as resolveEventLinkProps, i as formatEventNextDateFact, n as formatEventCompactDateRail, t as formatDate, u as resolveEventCta } from "./dates-wnPMiRl5.mjs";
7
+ import { n as useBlockApi } from "./context-DvU_WUmd.mjs";
8
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-D21W9kBZ.mjs";
9
9
  import { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
10
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region ../theme-core/src/palette/utils/textColor.ts
@@ -461,7 +461,11 @@ function CalendarIcon$1({ className, size = 16, strokeWidth = 2 }) {
461
461
  *
462
462
  * This component is server-safe (uses no client APIs like Intl).
463
463
  */
464
- const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", buttonText, showVenue = true, showMap = true, mapSlot, allowMap = true, showCapacity = true, showImage = true, showCategory = true, showSummary = true, orientation = "vertical" }) => {
464
+ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", buttonText, showVenue = true, showMap = true, mapSlot, allowMap = true, showCapacity = true, showImage = true, showCategory = true, showSummary = true, orientation = "vertical", presentation, headingLevel }) => {
465
+ const { presentation: cardPresentation, presentationClass, headingLevel: cardHeadingLevel } = resolveEventCardOptions({
466
+ presentation,
467
+ headingLevel
468
+ });
465
469
  const timeZone = event.timeZone ?? null;
466
470
  const formattedDate = formatDate(event.startsAt, { timeZone });
467
471
  const formattedTime = `${formatTime(event.startsAt, { timeZone })} - ${formatTime(event.endsAt, { timeZone })}`;
@@ -480,14 +484,22 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
480
484
  style: getCategoryBadgeStyle(category.color ?? null)
481
485
  } : null;
482
486
  const hasImage = Boolean(showImage && image);
487
+ const dateFact = resolveEventCardDateFact({
488
+ event,
489
+ image,
490
+ presentation: cardPresentation,
491
+ showImage
492
+ });
493
+ const priceText = resolveEventCardPrice(event, cardPresentation);
483
494
  const teacherLine = formatEventTeacherLine(event);
484
495
  const capacityText = showCapacity ? formatEventRemainingPlaces(event, { full: "Sold out" }) : null;
485
496
  return /* @__PURE__ */ jsxs("article", {
486
- className: `${cardClass} group rb-flex rb-flex-col rb-h-full ${eventCardOrientationClass(orientation)}`,
497
+ className: `${cardClass} group rb-flex rb-flex-col rb-h-full ${eventCardOrientationClass(orientation)}${presentationClass}`,
487
498
  "data-orientation": orientation,
488
499
  children: [/* @__PURE__ */ jsx(EventCardMedia, {
489
500
  categoryBadge,
490
501
  categoryId: category?.id,
502
+ dateFact,
491
503
  hasImage,
492
504
  image
493
505
  }), /* @__PURE__ */ jsx(EventCardContent, {
@@ -501,7 +513,9 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
501
513
  formattedDate,
502
514
  formattedTime,
503
515
  hasImage,
516
+ headingLevel: cardHeadingLevel,
504
517
  mapSlot,
518
+ priceText,
505
519
  showMap,
506
520
  showSummary,
507
521
  showVenue,
@@ -512,6 +526,18 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
512
526
  });
513
527
  };
514
528
  function EventCardMedia(props) {
529
+ if (props.dateFact) return /* @__PURE__ */ jsxs("div", {
530
+ className: "card-media event-card-media event-card-date-fallback",
531
+ children: [/* @__PURE__ */ jsx("span", {
532
+ className: "event-card-date-fallback-label",
533
+ children: "Next"
534
+ }), /* @__PURE__ */ jsx("time", {
535
+ className: "event-card-date-fallback-value",
536
+ dateTime: props.dateFact.dateTime,
537
+ "aria-label": props.dateFact.label,
538
+ children: props.dateFact.value
539
+ })]
540
+ });
515
541
  if (!props.hasImage || !props.image) return null;
516
542
  return /* @__PURE__ */ jsxs("div", {
517
543
  className: "card-media event-card-media",
@@ -536,6 +562,7 @@ function EventCardMedia(props) {
536
562
  }
537
563
  function EventCardContent(props) {
538
564
  const { event } = props;
565
+ const Heading = props.headingLevel === 4 ? "h4" : "h3";
539
566
  return /* @__PURE__ */ jsxs("div", {
540
567
  className: "card-content rb-flex rb-flex-1 rb-flex-col",
541
568
  children: [
@@ -545,7 +572,7 @@ function EventCardContent(props) {
545
572
  style: props.categoryBadge.style,
546
573
  children: props.categoryBadge.label
547
574
  }),
548
- /* @__PURE__ */ jsx("h3", {
575
+ /* @__PURE__ */ jsx(Heading, {
549
576
  className: "card-title rb-mb-3",
550
577
  children: /* @__PURE__ */ jsx("a", {
551
578
  className: "event-title-link",
@@ -581,7 +608,8 @@ function EventCardContent(props) {
581
608
  /* @__PURE__ */ jsx(EventCardFooter, {
582
609
  buttonClass: props.buttonClass,
583
610
  capacityText: props.capacityText,
584
- cta: props.cta
611
+ cta: props.cta,
612
+ priceText: props.priceText
585
613
  })
586
614
  ]
587
615
  });
@@ -604,6 +632,10 @@ function EventCardFooter(props) {
604
632
  return /* @__PURE__ */ jsxs("div", {
605
633
  className: "event-card-footer rb-mt-auto rb-pt-4 rb-flex rb-flex-col rb-gap-3",
606
634
  children: [
635
+ props.priceText && /* @__PURE__ */ jsx("p", {
636
+ className: "event-card-price rb-caption",
637
+ children: props.priceText
638
+ }),
607
639
  props.capacityText && /* @__PURE__ */ jsx("p", {
608
640
  className: "event-card-capacity rb-caption status-muted rb-text-center",
609
641
  children: props.capacityText
@@ -622,6 +654,21 @@ function EventCardFooter(props) {
622
654
  ]
623
655
  });
624
656
  }
657
+ function resolveEventCardOptions(props) {
658
+ const presentation = props.presentation ?? "default";
659
+ return {
660
+ presentation,
661
+ presentationClass: presentation === "catalogue" ? " event-card--catalogue" : "",
662
+ headingLevel: props.headingLevel ?? 3
663
+ };
664
+ }
665
+ function resolveEventCardDateFact(props) {
666
+ if (!props.showImage || props.image || props.presentation !== "catalogue") return null;
667
+ return formatEventNextDateFact(props.event);
668
+ }
669
+ function resolveEventCardPrice(event, presentation) {
670
+ return presentation === "catalogue" ? formatEventPrice(event) : null;
671
+ }
625
672
  function eventCardOrientationClass(orientation) {
626
673
  switch (orientation) {
627
674
  case "horizontal": return "event-card--horizontal";