@riverbankcms/sdk 0.143.0 → 0.144.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 (161) hide show
  1. package/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-CQZNnFiM.mjs} +19 -25
  2. package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-DCNxnmI0.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-BJolUbr1.mjs} +15 -6
  4. package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CKgEpoxi.mjs} +1915 -1463
  5. package/dist/_dts/api/src/billing.d.ts +1 -1
  6. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  7. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  8. package/dist/_dts/api/src/index.d.ts +1 -1
  9. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  10. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
  11. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  12. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  13. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  14. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  15. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  16. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  17. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  18. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  19. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  20. package/dist/_dts/block-form/src/index.d.ts +1 -0
  21. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  26. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  27. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +34 -10
  29. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  30. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
  32. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  33. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
  34. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  35. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  36. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  37. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  38. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  39. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  40. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  42. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  43. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  54. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  59. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  63. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  65. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  66. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  67. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  68. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  69. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  70. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  71. package/dist/_dts/core/src/index.d.ts +2 -0
  72. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +13 -0
  73. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  74. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  75. package/dist/_dts/logger/src/console.d.ts +3 -0
  76. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  77. package/dist/_dts/sdk/src/client/types.d.ts +3 -0
  78. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  79. package/dist/_dts/sdk/src/public-api/contracts.d.ts +15 -7
  80. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  81. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  82. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  83. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  84. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  85. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  86. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  87. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  88. package/dist/_dts/sdk/src/version.d.ts +1 -1
  89. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  91. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  92. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  95. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  96. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  97. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  98. package/dist/_dts/ui/src/index.d.ts +1 -0
  99. package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DoAILrkN.mjs} +4 -55
  100. package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-X528hUTf.mjs} +27 -17
  101. package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DSBVwq5m.mjs} +54 -46
  102. package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-DmFAX7Vb.mjs} +3 -4
  103. package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-BAqXdfhq.mjs} +1 -1
  104. package/dist/client/ThemedButton-BwNFVwi4.mjs +412 -0
  105. package/dist/client/{accordion-DOmnDoyg.mjs → accordion-DRhMdkbd.mjs} +1 -1
  106. package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-iJ_nCsNF.mjs} +26 -32
  107. package/dist/client/bookings.mjs +201 -118
  108. package/dist/client/{carousel-BZJ7pno3.mjs → carousel-D8zuffZr.mjs} +2 -2
  109. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  110. package/dist/client/{cart-CaeVAHJl.mjs → cart-DeMGJViN.mjs} +3 -3
  111. package/dist/client/{checkout-7wmoNDtG.mjs → checkout-DXc06Km2.mjs} +3 -3
  112. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  113. package/dist/client/client.mjs +2271 -1983
  114. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  115. package/dist/client/{context-BOimxE3U.mjs → context-CDLCfDep.mjs} +24 -8
  116. package/dist/client/{dates-BnzVksi4.mjs → dates-ClFx7Epy.mjs} +2 -2
  117. package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BaGpnOGN.mjs} +39 -50
  118. package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-ywONOx2m.mjs} +5 -4
  119. package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-B2LlOTYY.mjs} +4 -4
  120. package/dist/client/{eventListing-dph8loYX.mjs → eventListing-CMgxWpqP.mjs} +5 -4
  121. package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-BarLDNHR.mjs} +83 -68
  122. package/dist/client/{form-BLVVAnd3.mjs → form-BjqKaBJ7.mjs} +9 -10
  123. package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-CP4XDwz1.mjs} +23 -30
  124. package/dist/client/hooks.mjs +257 -63
  125. package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-C5gW-d-w.mjs} +9 -10
  126. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  127. package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-afXlVSA0.mjs} +8 -9
  128. package/dist/client/{pricing-ChinRYFt.mjs → pricing-Bl1CAl28.mjs} +1 -1
  129. package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-CvQ3jWQe.mjs} +3 -3
  130. package/dist/client/{productList-OoINA0h1.mjs → productList-U874PGO7.mjs} +3 -3
  131. package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-DPXtCZWP.mjs} +87 -29
  132. package/dist/client/rendering/client.mjs +1891 -1740
  133. package/dist/client/rendering/islands.mjs +19 -19
  134. package/dist/client/rendering.mjs +2225 -1913
  135. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-NGYiUWXu.mjs} +8 -1
  136. package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-0-C3DVhK.mjs} +1 -1
  137. package/dist/client/{shop-CLJFqNIq.mjs → shop-BXjXhM9P.mjs} +45 -58
  138. package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-BZ6UlWJ7.mjs} +42 -55
  139. package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-DlSBXb3D.mjs} +1 -1
  140. package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-kkEOiLPA.mjs} +6 -5
  141. package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-zvnnE1ro.mjs} +66 -355
  142. package/dist/preview-next/client/runtime.mjs +3 -3
  143. package/dist/preview-next/editor-chrome.css +8 -0
  144. package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-DFJlQt3q.mjs} +1 -1
  145. package/dist/{separator-BTp96X32.mjs → separator-o8GHb1xh.mjs} +1 -1
  146. package/dist/server/components.mjs +828 -623
  147. package/dist/server/config-validation.mjs +257 -63
  148. package/dist/server/config.mjs +257 -63
  149. package/dist/server/data.mjs +257 -63
  150. package/dist/server/index.mjs +9 -5
  151. package/dist/server/navigation.mjs +28 -1
  152. package/dist/server/next.mjs +14129 -13947
  153. package/dist/server/page-converter.mjs +110 -59
  154. package/dist/server/prebuild.mjs +1 -1
  155. package/dist/server/rendering/server.mjs +832 -624
  156. package/dist/server/rendering.mjs +830 -624
  157. package/dist/server/routing.mjs +294 -69
  158. package/dist/server/server.mjs +266 -68
  159. package/dist/server/theme-bridge.mjs +40 -1
  160. package/dist/styles/index.css +6 -0
  161. package/package.json +1 -1
@@ -1,22 +1,23 @@
1
1
  "use client";
2
- import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as StepIndicator$1, o as resolveBookingPaymentDueNowCents, r as SpinnerNode, s as formatPrice, t as BookingConsentAgreement } from "./BookingConsentAgreement-BoCtvzzu.mjs";
3
- import { A as resolveEventRegistrationScopedEvents, C as resolveRegistrationTarget, D as getWizardStepsForContext, E as getStepNumber, Ft as assertNever, Jt as formatBookingDateTime, Kt as formatBookingDate, S as resolveEventRequiresPayment, T as WIZARD_STEPS, Xt as formatBookingTime, _ as toRegistrationEvents, b as findPreSelectedEvent, cn as publicEventPricingCurrency, dn as publicEventPricingStrategy, fn as publicEventPricingType, ft as themeButtonClassName, g as getRegistrationStartAt, h as buildEventRegistrationDisplayFromScopedEvents, in as toScheduledBookingDateTime, mn as parseCurrencyCode, nn as toBookingTimeZone, pn as formatCurrencyAmount, st as groupPublicEventsByRun, t as defineIslandPropsDecoder, un as publicEventPricingOptions, v as toWholeSeriesRegistrationEvents, w as toRegistrationRequestSubject, x as resolveDiscountContext, y as findEventByOccurrenceId } from "./propsDecoder-CIZ-hbIG.mjs";
4
- import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-ChinRYFt.mjs";
5
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BOimxE3U.mjs";
2
+ import { a as resolveBookingPaymentDueNowCents, i as buildBookingPaymentSelectionViewModel, n as StepIndicator$1, o as formatPrice, r as usePolling, t as BookingConsentAgreement } from "./BookingConsentAgreement-DoAILrkN.mjs";
3
+ import { A as resolveEventRegistrationScopedEvents, C as resolveRegistrationTarget, D as getWizardStepsForContext, E as getStepNumber, Qt as formatBookingDateTime, S as resolveEventRequiresPayment, T as WIZARD_STEPS, Xt as formatBookingDate, _ as toRegistrationEvents, _n as formatCurrencyAmount, b as findPreSelectedEvent, cn as toScheduledBookingDateTime, en as formatBookingTime, fn as publicEventPricingCurrency, g as getRegistrationStartAt, gn as publicEventPricingType, h as buildEventRegistrationDisplayFromScopedEvents, hn as publicEventPricingStrategy, mn as publicEventPricingOptions, on as toBookingTimeZone, t as defineIslandPropsDecoder, ut as groupPublicEventsByRun, v as toWholeSeriesRegistrationEvents, vn as parseCurrencyCode, w as toRegistrationRequestSubject, x as resolveDiscountContext, y as findEventByOccurrenceId, zt as assertNever } from "./propsDecoder-DPXtCZWP.mjs";
4
+ import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-Bl1CAl28.mjs";
5
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-CDLCfDep.mjs";
6
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
7
- import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-BPZl0gPZ.mjs";
8
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-B5S30nZk.mjs";
7
+ import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-0-C3DVhK.mjs";
8
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-X528hUTf.mjs";
9
+ import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-BwNFVwi4.mjs";
9
10
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
10
11
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
11
- import { t as buildCheckoutReturnUrls } from "./checkoutUrls-FL6lRkrt.mjs";
12
+ import { t as buildCheckoutReturnUrls } from "./checkoutUrls-CW3-78uu.mjs";
12
13
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
13
14
  import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
14
15
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
15
16
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
16
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
17
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-NGYiUWXu.mjs";
17
18
  import { t as createLucideIcon } from "./createLucideIcon-PaLVMov4.mjs";
18
19
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
19
- import React, { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
20
+ import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
20
21
  import { z } from "zod";
21
22
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
22
23
  import { createPortal } from "react-dom";
@@ -3254,6 +3255,22 @@ function getMagicLinkError(state) {
3254
3255
  }
3255
3256
  //#endregion
3256
3257
  //#region ../blocks/src/system/runtime/nodes/shared/MagicLinkForm.tsx
3258
+ function MagicLinkButton(props) {
3259
+ return props.themed ? /* @__PURE__ */ jsx(ThemedButton, {
3260
+ type: props.type,
3261
+ variant: props.variant,
3262
+ size: "md",
3263
+ label: props.label,
3264
+ disabled: props.disabled,
3265
+ onClick: props.onClick
3266
+ }) : /* @__PURE__ */ jsx("button", {
3267
+ type: props.type,
3268
+ className: props.className,
3269
+ disabled: props.disabled,
3270
+ onClick: props.onClick,
3271
+ children: props.label
3272
+ });
3273
+ }
3257
3274
  /**
3258
3275
  * Reusable magic link login form.
3259
3276
  * Used by Customer Portal and Event Registration blocks.
@@ -3294,14 +3311,13 @@ function MagicLinkForm({ initialEmail = "", title, subtitle, buttonText = "Send
3294
3311
  children: [/* @__PURE__ */ jsx("p", {
3295
3312
  className: `${classPrefix}-portal-auth-text ${classPrefix}-portal-auth-text--success`,
3296
3313
  children: successMessage
3297
- }), !compact && /* @__PURE__ */ jsx("button", {
3314
+ }), !compact && /* @__PURE__ */ jsx(MagicLinkButton, {
3315
+ themed: classPrefix === "cp",
3298
3316
  type: "button",
3299
- className: classPrefix === "cp" ? themeButtonClassName({
3300
- variant: "secondary",
3301
- size: "md"
3302
- }) : `${classPrefix}-modal-btn ${classPrefix}-modal-btn--secondary`,
3303
- onClick: handleReset,
3304
- children: "Try a different email"
3317
+ variant: "secondary",
3318
+ className: `${classPrefix}-modal-btn ${classPrefix}-modal-btn--secondary`,
3319
+ label: "Try a different email",
3320
+ onClick: handleReset
3305
3321
  })]
3306
3322
  });
3307
3323
  return /* @__PURE__ */ jsxs("form", {
@@ -3330,14 +3346,13 @@ function MagicLinkForm({ initialEmail = "", title, subtitle, buttonText = "Send
3330
3346
  className: `${classPrefix}-portal-auth-text ${classPrefix}-portal-auth-text--error`,
3331
3347
  children: error
3332
3348
  }),
3333
- /* @__PURE__ */ jsx("button", {
3349
+ /* @__PURE__ */ jsx(MagicLinkButton, {
3350
+ themed: classPrefix === "cp",
3334
3351
  type: "submit",
3335
- className: classPrefix === "cp" ? themeButtonClassName({
3336
- variant: "primary",
3337
- size: "md"
3338
- }) : `${classPrefix}-modal-btn`,
3339
- disabled: !email.trim() || loading,
3340
- children: loading ? "Sending..." : buttonText
3352
+ variant: "primary",
3353
+ className: `${classPrefix}-modal-btn`,
3354
+ label: loading ? "Sending..." : buttonText,
3355
+ disabled: !email.trim() || loading
3341
3356
  })
3342
3357
  ]
3343
3358
  });
@@ -3681,20 +3696,19 @@ function SelectTicketsActions(props) {
3681
3696
  onClick: () => wizard.setStep("select-event"),
3682
3697
  className: "er-back-btn",
3683
3698
  children: "← Back"
3684
- }), /* @__PURE__ */ jsx("button", {
3699
+ }), /* @__PURE__ */ jsx(ThemedButton, {
3685
3700
  type: "button",
3686
3701
  onClick: () => wizard.setStep("enter-details"),
3687
3702
  disabled: isContinueDisabled,
3688
- className: props.buttonClass,
3689
- children: registrationOptionsPending ? /* @__PURE__ */ jsxs("span", {
3690
- className: "er-button-with-spinner",
3691
- children: [/* @__PURE__ */ jsx(SpinnerNode, {
3692
- size: "xs",
3693
- color: "inherit",
3694
- className: "er-button-spinner",
3695
- "aria-hidden": true
3696
- }), continueLabel]
3697
- }) : continueLabel
3703
+ variant: props.buttonVariant,
3704
+ size: "md",
3705
+ label: continueLabel,
3706
+ pending: registrationOptionsPending ? {
3707
+ label: continueLabel,
3708
+ spinnerSize: "xs",
3709
+ spinnerClassName: "er-button-spinner",
3710
+ contentClassName: "er-button-with-spinner"
3711
+ } : void 0
3698
3712
  })]
3699
3713
  });
3700
3714
  }
@@ -3721,12 +3735,13 @@ function EnterDetailsActions(props) {
3721
3735
  onClick: () => wizard.setStep("select-tickets"),
3722
3736
  className: "er-back-btn",
3723
3737
  children: "← Back"
3724
- }), /* @__PURE__ */ jsx("button", {
3738
+ }), /* @__PURE__ */ jsx(ThemedButton, {
3725
3739
  type: "button",
3726
3740
  onClick: wizard.handleDetailsComplete,
3727
3741
  disabled: isContinueDisabled,
3728
- className: props.buttonClass,
3729
- children: continueLabel
3742
+ variant: props.buttonVariant,
3743
+ size: "md",
3744
+ label: continueLabel
3730
3745
  })]
3731
3746
  });
3732
3747
  }
@@ -3740,12 +3755,13 @@ function SelectPaymentActions(props) {
3740
3755
  onClick: () => wizard.setStep("enter-details"),
3741
3756
  className: "er-back-btn",
3742
3757
  children: "← Back"
3743
- }), status === "ready" && /* @__PURE__ */ jsx("button", {
3758
+ }), status === "ready" && /* @__PURE__ */ jsx(ThemedButton, {
3744
3759
  type: "button",
3745
3760
  onClick: () => void wizard.handlePaymentSelect(),
3746
3761
  disabled: !canContinue,
3747
- className: props.buttonClass,
3748
- children: buttonText
3762
+ variant: props.buttonVariant,
3763
+ size: "md",
3764
+ label: buttonText
3749
3765
  })]
3750
3766
  });
3751
3767
  }
@@ -3904,15 +3920,13 @@ function IneligiblePaymentPanel(props) {
3904
3920
  className: "er-text er-text--muted",
3905
3921
  children: "Have a pass or membership? Log in to use it."
3906
3922
  }),
3907
- /* @__PURE__ */ jsx("button", {
3923
+ /* @__PURE__ */ jsx(ThemedButton, {
3908
3924
  type: "button",
3909
- className: themeButtonClassName({
3910
- variant: "primary",
3911
- size: "md"
3912
- }),
3925
+ variant: "primary",
3926
+ size: "md",
3927
+ label: "Email me a login link",
3913
3928
  disabled: !props.email.trim(),
3914
- onClick: props.onRequestLogin,
3915
- children: "Email me a login link"
3929
+ onClick: props.onRequestLogin
3916
3930
  }),
3917
3931
  !props.email.trim() && /* @__PURE__ */ jsx("p", {
3918
3932
  className: "er-text er-text--muted",
@@ -5658,12 +5672,17 @@ function EventRegistrationTerminalState(props) {
5658
5672
  }
5659
5673
  function EventRegistrationSurface(props) {
5660
5674
  const { wizard } = props;
5675
+ const mainRef = useRef(null);
5676
+ useLayoutEffect(() => {
5677
+ if (props.variant === "overlay" && mainRef.current) mainRef.current.scrollTop = 0;
5678
+ }, [props.variant, wizard.step]);
5661
5679
  return /* @__PURE__ */ jsxs("div", {
5662
5680
  className: `rb-reg-surface er-container${props.variant === "overlay" ? " er-container--overlay" : ""}`,
5663
5681
  children: [props.isWizardStep && /* @__PURE__ */ jsxs("div", {
5664
5682
  className: "er-payment-layout er-payment-layout--no-sidebar",
5665
5683
  children: [
5666
5684
  /* @__PURE__ */ jsxs("div", {
5685
+ ref: mainRef,
5667
5686
  className: "er-payment-layout-main",
5668
5687
  children: [
5669
5688
  props.totalSteps > 1 && /* @__PURE__ */ jsx(StepIndicator, {
@@ -5689,15 +5708,14 @@ function EventRegistrationSurface(props) {
5689
5708
  children: [/* @__PURE__ */ jsx(EventRegistrationSummaryBar, { wizard }), /* @__PURE__ */ jsx(EventRegistrationWizardActions, {
5690
5709
  wizard,
5691
5710
  buttonText: props.buttonText,
5692
- buttonClass: props.buttonClass
5711
+ buttonVariant: props.buttonVariant
5693
5712
  })]
5694
5713
  })
5695
5714
  ]
5696
5715
  }), /* @__PURE__ */ jsx(EventRegistrationTerminalState, {
5697
5716
  wizard,
5698
5717
  supportEmail: props.supportEmail,
5699
- successMessage: props.successMessage,
5700
- buttonClass: props.buttonClass
5718
+ successMessage: props.successMessage
5701
5719
  })]
5702
5720
  });
5703
5721
  }
@@ -5727,11 +5745,13 @@ function BookingEntry(props) {
5727
5745
  }, ticketType.pricingOptionId))
5728
5746
  }) : null
5729
5747
  ]
5730
- }), /* @__PURE__ */ jsx("button", {
5748
+ }), /* @__PURE__ */ jsx(ThemedButton, {
5731
5749
  type: "button",
5732
- className: `${base}__cta ${props.buttonClass}`,
5733
- onClick: props.onOpen,
5734
- children: "Book now"
5750
+ variant: props.buttonVariant,
5751
+ size: "md",
5752
+ extraClassName: `${base}__cta`,
5753
+ label: "Book now",
5754
+ onClick: props.onOpen
5735
5755
  })] });
5736
5756
  }
5737
5757
  function EventRegistrationBookingLayer(props) {
@@ -5739,7 +5759,7 @@ function EventRegistrationBookingLayer(props) {
5739
5759
  summary: [props.priceLabel, props.availabilityLabel].filter(Boolean).join(" · "),
5740
5760
  ticketTypes: props.ticketTypes,
5741
5761
  ticketCurrency: props.ticketCurrency,
5742
- buttonClass: props.buttonClass,
5762
+ buttonVariant: props.buttonVariant,
5743
5763
  formatTicketPrice: props.formatTicketPrice,
5744
5764
  onOpen: props.onOpen
5745
5765
  };
@@ -5849,10 +5869,6 @@ function EventRegistrationWizard(props) {
5849
5869
  const { occurrenceContext, subject, events, maxTickets = "5", showVenue = true, showCapacity = true, successMessage = "Thank you for registering! Check your email for confirmation details.", buttonText = "Complete Registration", buttonVariant = "primary", className, spamProtectionEnabled, supportEmail } = props;
5850
5870
  const maxTicketsNum = normalizeEventRegistrationMaxTickets(maxTickets);
5851
5871
  const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
5852
- const buttonClass = themeButtonClassName({
5853
- variant: buttonVariant,
5854
- size: "md"
5855
- });
5856
5872
  const registrationRootClassName = `event-registration ${className || ""}`;
5857
5873
  const registrationRootRef = React.useRef(null);
5858
5874
  const wizard = useEventRegistrationWizard({
@@ -5945,7 +5961,7 @@ function EventRegistrationWizard(props) {
5945
5961
  showCapacity,
5946
5962
  showSpamProtection,
5947
5963
  buttonText,
5948
- buttonClass,
5964
+ buttonVariant,
5949
5965
  supportEmail,
5950
5966
  successMessage
5951
5967
  });
@@ -5974,7 +5990,7 @@ function EventRegistrationWizard(props) {
5974
5990
  availabilityLabel: summaryAvailabilityLabel,
5975
5991
  ticketTypes: bookingTicketTypes,
5976
5992
  ticketCurrency: bookingCurrency,
5977
- buttonClass,
5993
+ buttonVariant,
5978
5994
  formatTicketPrice: (ticketType) => formatTicketPriceIfKnown(ticketType, bookingCurrency),
5979
5995
  onOpen: () => setBookingOverlayOpen(true),
5980
5996
  onClose: () => setBookingOverlayOpen(false),
@@ -6244,14 +6260,12 @@ function RecoverableEventRegistrationClient({ props, display }) {
6244
6260
  id: EVENT_REGISTRATION_ANCHOR_ID,
6245
6261
  className: "rb-reg-surface er-container er-registration-shell",
6246
6262
  role: "alert",
6247
- children: [/* @__PURE__ */ jsx("p", { children: "We couldn’t load the event dates. Please try again." }), /* @__PURE__ */ jsx("button", {
6263
+ children: [/* @__PURE__ */ jsx("p", { children: "We couldn’t load the event dates. Please try again." }), /* @__PURE__ */ jsx(ThemedButton, {
6248
6264
  type: "button",
6249
- className: themeButtonClassName({
6250
- variant: props.render.hydration.buttonVariant ?? "primary",
6251
- size: "md"
6252
- }),
6253
- onClick: recovery.retry,
6254
- children: "Try again"
6265
+ variant: props.render.hydration.buttonVariant ?? "primary",
6266
+ size: "md",
6267
+ label: "Try again",
6268
+ onClick: recovery.retry
6255
6269
  })]
6256
6270
  });
6257
6271
  const events = resolveEventRegistrationScopedEvents(recovery.events, {
@@ -6281,6 +6295,7 @@ const enhance = (root, props) => {
6281
6295
  if (!siteId) throw new Error("[sdk:islands] event-registration requires siteId");
6282
6296
  if (!apiBaseUrl) throw new Error("[sdk:islands] event-registration requires apiBaseUrl");
6283
6297
  const apiConfig = buildRouteIslandApiConfig({
6298
+ readAuthority: props.readAuthority,
6284
6299
  apiBaseUrl,
6285
6300
  portalToken,
6286
6301
  previewToken,
@@ -1,8 +1,9 @@
1
1
  "use client";
2
- import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { Ft as assertNever, Lt as err, Rt as ok, ft as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
4
- import { n as useBlockApi, t as BlockApiProvider } from "./context-BOimxE3U.mjs";
2
+ import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
3
+ import { Ht as ok, Vt as err, t as defineIslandPropsDecoder, zt as assertNever } from "./propsDecoder-DPXtCZWP.mjs";
4
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-CDLCfDep.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
+ import { t as ThemedButton } from "./ThemedButton-BwNFVwi4.mjs";
6
7
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
8
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
9
  import { useReducer, useRef, useState } from "react";
@@ -268,15 +269,13 @@ const FormNodeClient = ({ render }) => {
268
269
  className: "fb-actions",
269
270
  children: /* @__PURE__ */ jsx("div", {
270
271
  className: "fb-actions-inner",
271
- children: /* @__PURE__ */ jsx("button", {
272
+ children: /* @__PURE__ */ jsx(ThemedButton, {
272
273
  type: "submit",
273
- className: themeButtonClassName({
274
- variant: "primary",
275
- size: "md",
276
- extraClassName: "rb-w-full rb-sm-w-auto"
277
- }),
274
+ variant: "primary",
275
+ size: "md",
276
+ extraClassName: "rb-w-full rb-sm-w-auto",
278
277
  disabled: state.tag === "submitting",
279
- children: state.tag === "submitting" ? "Submitting..." : render.display.submitLabel
278
+ label: state.tag === "submitting" ? "Submitting..." : render.display.submitLabel
280
279
  })
281
280
  })
282
281
  })
@@ -1,7 +1,8 @@
1
1
  "use client";
2
- import { ft as themeButtonClassName, k as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
2
+ import { k as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-DPXtCZWP.mjs";
3
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-BwNFVwi4.mjs";
3
4
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
4
- import { n as useCommerceCart } from "./shop-commerce-store-TA_Kz2ku.mjs";
5
+ import { n as useCommerceCart } from "./shop-commerce-store-DlSBXb3D.mjs";
5
6
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
6
7
  import * as React$1 from "react";
7
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -41,14 +42,12 @@ function HeaderCartDrawerItems(props) {
41
42
  className: "rb-caption status-muted",
42
43
  children: ["Quantity: ", item.quantity]
43
44
  })]
44
- }), /* @__PURE__ */ jsx("button", {
45
+ }), /* @__PURE__ */ jsx(ThemedButton, {
45
46
  type: "button",
46
- className: themeButtonClassName({
47
- variant: "secondary",
48
- size: "sm"
49
- }),
50
- onClick: () => props.cart.removeItem(item.key),
51
- children: "Remove"
47
+ variant: "secondary",
48
+ size: "sm",
49
+ label: "Remove",
50
+ onClick: () => props.cart.removeItem(item.key)
52
51
  })]
53
52
  }, item.key))
54
53
  });
@@ -125,31 +124,25 @@ function HeaderCartDrawer(props) {
125
124
  }) : null,
126
125
  /* @__PURE__ */ jsxs("div", {
127
126
  className: "rb-flex rb-flex-wrap rb-gap-3",
128
- children: [/* @__PURE__ */ jsx("button", {
127
+ children: [/* @__PURE__ */ jsx(ThemedButton, {
129
128
  type: "button",
130
- className: themeButtonClassName({
131
- variant: "secondary",
132
- size: "md"
133
- }),
129
+ variant: "secondary",
130
+ size: "md",
131
+ label: display.clearButtonText,
134
132
  onClick: () => props.cart.clear(),
135
- disabled: display.state === "empty",
136
- children: display.clearButtonText
137
- }), props.checkoutHref && display.state === "ready" ? /* @__PURE__ */ jsx("a", {
138
- className: themeButtonClassName({
139
- variant: "default",
140
- size: "md"
141
- }),
133
+ disabled: display.state === "empty"
134
+ }), props.checkoutHref && display.state === "ready" ? /* @__PURE__ */ jsx(ThemedButtonLink, {
135
+ variant: "default",
136
+ size: "md",
137
+ label: display.checkoutButtonText,
142
138
  href: props.checkoutHref,
143
- onClick: props.onClose,
144
- children: display.checkoutButtonText
145
- }) : /* @__PURE__ */ jsx("button", {
139
+ onClick: props.onClose
140
+ }) : /* @__PURE__ */ jsx(ThemedButton, {
146
141
  type: "button",
147
- className: themeButtonClassName({
148
- variant: "default",
149
- size: "md"
150
- }),
151
- disabled: true,
152
- children: display.checkoutButtonText
142
+ variant: "default",
143
+ size: "md",
144
+ label: display.checkoutButtonText,
145
+ disabled: true
153
146
  })]
154
147
  })
155
148
  ]