@riverbankcms/sdk 0.153.0 → 0.154.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 (216) hide show
  1. package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  2. package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  3. package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  4. package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
  5. package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
  6. package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
  9. package/dist/_dts/api/src/billing.d.ts +2 -0
  10. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  11. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  12. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  13. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  16. package/dist/_dts/api/src/bookings.d.ts +2 -3
  17. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  19. package/dist/_dts/api/src/index.d.ts +4 -2
  20. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  21. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  22. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  27. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  28. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  29. package/dist/_dts/api/src/types.d.ts +11 -31
  30. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  31. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  32. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  33. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  34. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  35. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  41. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  42. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  44. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
  46. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  47. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  48. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  52. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  53. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  54. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  57. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  58. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  59. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
  65. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  67. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  69. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  70. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  71. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  76. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  77. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  78. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  79. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  80. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  81. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  83. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  85. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  87. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  88. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  89. package/dist/_dts/core/src/date-display.d.ts +85 -0
  90. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  91. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  92. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  93. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  94. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  95. package/dist/_dts/core/src/index.d.ts +2 -0
  96. package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
  97. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
  98. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  99. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  100. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
  101. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  102. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  103. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  104. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  105. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  106. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  107. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  108. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  109. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  110. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  111. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  112. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  113. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  114. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  115. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  116. package/dist/_dts/sdk/src/version.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  118. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  119. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  120. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  121. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  122. package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
  123. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  124. package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
  125. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  126. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  127. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  128. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  129. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
  130. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  131. package/dist/_dts/theme-core/src/schema.d.ts +300 -192
  132. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  133. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  134. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  135. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  136. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  137. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  138. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  139. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  140. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  142. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  144. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  145. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  146. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  148. package/dist/_dts/ui/src/card.d.ts +1 -1
  149. package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  150. package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
  151. package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  152. package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  153. package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
  154. package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  155. package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  156. package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  157. package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
  158. package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
  159. package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  160. package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
  161. package/dist/client/bookings.mjs +12565 -11839
  162. package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
  163. package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  164. package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
  165. package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
  166. package/dist/client/client.mjs +6109 -4778
  167. package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
  168. package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
  169. package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  170. package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  171. package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  172. package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
  173. package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
  174. package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  175. package/dist/client/hooks.mjs +2041 -1193
  176. package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
  177. package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
  178. package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
  179. package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  180. package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
  181. package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
  182. package/dist/client/rendering/client.mjs +11868 -11098
  183. package/dist/client/rendering/islands.mjs +17 -17
  184. package/dist/client/rendering.mjs +6058 -4676
  185. package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  186. package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
  187. package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  188. package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  189. package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
  190. package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  191. package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
  192. package/dist/preview-next/before-render.mjs +133 -51
  193. package/dist/preview-next/client/runtime.mjs +3 -3
  194. package/dist/preview-next/editor-chrome.css +5 -2
  195. package/dist/preview-next/keepAlive.mjs +133 -51
  196. package/dist/preview-next/middleware.mjs +133 -51
  197. package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  198. package/dist/server/components.mjs +11284 -10014
  199. package/dist/server/config-validation.mjs +2016 -1188
  200. package/dist/server/config.mjs +2016 -1188
  201. package/dist/server/data.mjs +2041 -1193
  202. package/dist/server/date-time.mjs +258 -116
  203. package/dist/server/index.mjs +134 -52
  204. package/dist/server/next.mjs +10571 -9350
  205. package/dist/server/page-converter.mjs +1629 -941
  206. package/dist/server/prebuild.mjs +1 -1
  207. package/dist/server/rendering/server.mjs +11156 -9872
  208. package/dist/server/rendering.mjs +11284 -10014
  209. package/dist/server/routing.mjs +2204 -1283
  210. package/dist/server/server.mjs +2369 -1570
  211. package/dist/server/theme-bridge.mjs +838 -124
  212. package/dist/server/theme.mjs +348 -64
  213. package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
  214. package/dist/styles/index.css +254 -1
  215. package/package.json +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  import type { Theme, ThemeFooter, ThemeHeader } from '../schema';
2
3
  import type { ThemeColorToken } from '../tokens';
3
4
  export type SiteChromeSurface = 'header' | 'footer';
@@ -33,6 +34,7 @@ export declare function cycleSiteChromeBackgroundOverride(current: SiteChromeBac
33
34
  * for `readHeaderPreferences`, which needs the header half on its own.
34
35
  */
35
36
  export declare function siteChromeBackgroundOverrideFromHeader(header: ThemeHeader): SiteChromeBackgroundOverride;
37
+ export declare function siteChromeBackgroundOverrideFromFooter(footer: ThemeFooter): SiteChromeBackgroundOverride;
36
38
  /**
37
39
  * Header-only background applier. Exported so the header preference pipeline
38
40
  * can apply the header override without going through
@@ -47,3 +49,9 @@ export declare function applyHeaderBackgroundOverride(theme: Theme, header: Them
47
49
  * (#1318 Correction 20).
48
50
  */
49
51
  export declare function applyFooterBackgroundOverride(theme: Theme, footer: ThemeFooter, override: SiteChromeBackgroundOverride): ThemeFooter;
52
+ export declare const siteChromeBackgroundOverrideSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
53
+ kind: z.ZodLiteral<"default">;
54
+ }, z.core.$strict>, z.ZodObject<{
55
+ kind: z.ZodLiteral<"color">;
56
+ token: z.ZodType<SiteChromeBackgroundColorToken, unknown, z.core.$ZodTypeInternals<SiteChromeBackgroundColorToken, unknown>>;
57
+ }, z.core.$strict>], "kind">;
@@ -16,6 +16,6 @@ export type ThemeParityDifference = Readonly<{
16
16
  before: CanonicalThemeValue;
17
17
  after: CanonicalThemeValue;
18
18
  }>;
19
- export declare function canonicalizeThemeForParity(theme: Theme): CanonicalThemeValue;
19
+ export declare function canonicalizeThemeForParity(theme: unknown): CanonicalThemeValue;
20
20
  export declare function serializeThemeForParity(theme: Theme): string;
21
21
  export declare function diffThemesForParity(before: Theme, after: Theme): readonly ThemeParityDifference[];
@@ -39,8 +39,8 @@ export declare const themeTokenRecipesSchema: z.ZodObject<{
39
39
  "friendly-sans": "friendly-sans";
40
40
  }>;
41
41
  spacing: z.ZodEnum<{
42
- regular: "regular";
43
42
  compact: "compact";
43
+ regular: "regular";
44
44
  airy: "airy";
45
45
  }>;
46
46
  motion: z.ZodEnum<{
@@ -4,7 +4,7 @@ import { surfaceVariants } from './surface';
4
4
  export type CardVariant = VariantProps<typeof surfaceVariants>['variant'];
5
5
  export type CardRadius = VariantProps<typeof surfaceVariants>['radius'];
6
6
  declare const cardLayoutVariants: (props?: ({
7
- size?: "none" | "default" | "compact" | "responsive" | null | undefined;
7
+ size?: "none" | "compact" | "default" | "responsive" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export type CardSize = VariantProps<typeof cardLayoutVariants>['size'];
10
10
  export type CardProps = React.ComponentProps<'div'> & {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { Lr as assertNever } from "./propsDecoder-lf_dTeZS.mjs";
2
+ import { Rr as assertNever } from "./propsDecoder-B1OeWavE.mjs";
3
3
  import { n as getBookingMailingListNoteCopy } from "./mailingListSignupCopy-DZSHZrm6.mjs";
4
- import { t as RichText } from "./RichText-C1fIXBzA.mjs";
4
+ import { t as RichText } from "./RichText-BI9bzbjo.mjs";
5
5
  import { useCallback, useEffect, useId, useReducer, useRef, useState } from "react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../blocks/src/system/runtime/shared/components/StepIndicator.tsx
@@ -1,7 +1,7 @@
1
- import { $n as resolveRuntimeEventDestination, fr as listLookSlot, ji as assertNever, sr as isEventFull, tr as canJoinEventWaitlistOnAnyMode } from "./propsDecoder-lf_dTeZS.mjs";
2
- import { a as renderAudio, c as resolveMediaNodeResponsiveImage, i as mediaImageHostProps, n as MediaPlaceholder, o as renderVideo, r as computeMediaTransformStyle, t as ImagePresets } from "./media-D29-F1u_.mjs";
1
+ import { $n as resolveRuntimeEventDestination, Mi as assertNever, pr as listLookSlot, sr as isEventFull, tr as canJoinEventWaitlistOnAnyMode } from "./propsDecoder-B1OeWavE.mjs";
2
+ import { a as renderAudio, c as resolveMediaNodeResponsiveImage, i as mediaImageHostProps, n as MediaPlaceholder, o as renderVideo, r as computeMediaTransformStyle, t as ImagePresets } from "./media-B1Cbv721.mjs";
3
3
  import { n as getCurrentResolveImageUrlContext } from "./mediaContext-CwbbimYB.mjs";
4
- import { n as ThemedButtonLink } from "./ThemedButton-B7HFqFBg.mjs";
4
+ import { n as ThemedButtonLink } from "./ThemedButton-wl3Z3wkH.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
@@ -1,4 +1,4 @@
1
- import { ni as clsx } from "./propsDecoder-lf_dTeZS.mjs";
1
+ import { ri as clsx } from "./propsDecoder-B1OeWavE.mjs";
2
2
  import "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region ../blocks/src/system/runtime/shared/components/CheckboxChoice.tsx
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
3
- import { n as useBlockApi, r as BlockApiError } from "./context-BOGe3rIA.mjs";
2
+ import { t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
3
+ import { n as useBlockApi, r as BlockApiError } from "./context-Dg4ZrxDD.mjs";
4
4
  import React, { useId } from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.tsx
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { En as formatEventPrice, Gn as buildCalendarViewport, Hn as MONTH_NAMES, Jn as getOrderedDayNames, Kn as formatDateKey, Ln as formatTime, Mn as formatDate, Qn as shiftCalendarAnchorDate, Rn as groupEventsByDate, Wn as addMonths, Xn as isSameCalendarDay, Zn as isToday, _i as formatLocalScheduleDate, bn as buildEventRuntimeFilters, cn as eventListingBlockRuntime, dn as calendarPageResponseError, fn as calendarQueryKey, gn as planCalendarMonthRanges, ln as calendarMonthDate, mn as calendarWindowMonths$1, ni as clsx, nr as formatEventRemainingPlaces, pn as calendarWindowBounds, qn as getDayOfWeek, sr as isEventFull, un as calendarMonthKey, xn as getEventRuntimeFiltersKey, yi as getLocalScheduleDate, yn as getBlockApiReadStage, zn as resolveEventTimeZone } from "./propsDecoder-lf_dTeZS.mjs";
2
+ import { En as formatEventPrice, Gn as buildCalendarViewport, Hn as MONTH_NAMES, Jn as getOrderedDayNames, Kn as formatDateKey, Ln as formatTime, Mn as formatDate, Qn as shiftCalendarAnchorDate, Rn as groupEventsByDate, Wn as addMonths, Xn as isSameCalendarDay, Zn as isToday, bi as getLocalScheduleDate, bn as buildEventRuntimeFilters, cn as eventListingBlockRuntime, dn as calendarPageResponseError, fn as calendarQueryKey, gn as planCalendarMonthRanges, ln as calendarMonthDate, mn as calendarWindowMonths$1, nr as formatEventRemainingPlaces, pn as calendarWindowBounds, qn as getDayOfWeek, ri as clsx, sr as isEventFull, un as calendarMonthKey, vi as formatLocalScheduleDate, xn as getEventRuntimeFiltersKey, yn as getBlockApiReadStage, zn as resolveEventTimeZone } from "./propsDecoder-B1OeWavE.mjs";
3
3
  import { t as formatEventDuration } from "./duration-btE0-px8.mjs";
4
- import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
5
- import { a as toError, i as useEventCollectionFilters, n as EventPaginatedListView, r as EventCardClient, s as formatEventTeacherLine, t as useEventPagination } from "./useEventPagination-BBhkmQaT.mjs";
6
- import { a as resolveEventLinkProps, i as resolveEventCta } from "./CardListItem-CC_GVmF6.mjs";
4
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
5
+ import { a as toError, i as useEventCollectionFilters, n as EventPaginatedListView, r as EventCardClient, s as formatEventTeacherLine, t as useEventPagination } from "./useEventPagination-BdWpCniq.mjs";
6
+ import { a as resolveEventLinkProps, i as resolveEventCta } from "./CardListItem-BkTkqBkh.mjs";
7
7
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-DS92SRVZ.mjs";
8
- import { n as useBlockApi } from "./context-BOGe3rIA.mjs";
8
+ import { n as useBlockApi } from "./context-Dg4ZrxDD.mjs";
9
9
  import { t as ModalShell } from "./ModalShell-BXzucfR6.mjs";
10
10
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ri as checkBrowserStripeKey } from "./propsDecoder-lf_dTeZS.mjs";
3
- import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
2
+ import { ii as checkBrowserStripeKey } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
4
  import { useEffect, useRef, useState } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region \0rolldown/runtime.js
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { bn as buildEventRuntimeFilters, fr as listLookSlot } from "./propsDecoder-lf_dTeZS.mjs";
3
- import { i as useEventCollectionFilters, n as EventPaginatedListView, t as useEventPagination } from "./useEventPagination-BBhkmQaT.mjs";
2
+ import { bn as buildEventRuntimeFilters, pr as listLookSlot } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { i as useEventCollectionFilters, n as EventPaginatedListView, t as useEventPagination } from "./useEventPagination-BdWpCniq.mjs";
4
4
  import { useMemo } from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/events/shared/EventListWeekNavigation.tsx
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Ir as isRecord } from "./propsDecoder-lf_dTeZS.mjs";
2
+ import { Lr as isRecord } from "./propsDecoder-B1OeWavE.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { a as parseCanonicalMediaIdentifier } from "./renderableMediaAssetAdmission-CHkXYDC_.mjs";
3
- import { s as resolveImageUrlWithContext, t as ImagePresets } from "./media-D29-F1u_.mjs";
3
+ import { fr as listLookControl, pr as listLookSlot } from "./propsDecoder-B1OeWavE.mjs";
4
+ import { s as resolveImageUrlWithContext, t as ImagePresets } from "./media-B1Cbv721.mjs";
4
5
  import { n as getCurrentResolveImageUrlContext } from "./mediaContext-CwbbimYB.mjs";
5
6
  import React from "react";
6
7
  import { Fragment, jsx } from "react/jsx-runtime";
@@ -73,7 +74,7 @@ function normalizeRel(target, rel) {
73
74
  tokens.add("noreferrer");
74
75
  return Array.from(tokens).join(" ");
75
76
  }
76
- function renderMarks(text, marks, key, linkTarget) {
77
+ function renderMarks(text, marks, key, context) {
77
78
  if (!marks || marks.length === 0) return text;
78
79
  return marks.reduce((acc, mark) => {
79
80
  switch (mark.type) {
@@ -81,24 +82,65 @@ function renderMarks(text, marks, key, linkTarget) {
81
82
  case "strong": return /* @__PURE__ */ jsx("strong", { children: acc }, `${key}-b`);
82
83
  case "italic":
83
84
  case "em": return /* @__PURE__ */ jsx("em", { children: acc }, `${key}-i`);
84
- case "link": {
85
- if (typeof acc === "string" && acc.length === 0) return acc;
86
- const attrs = mark.attrs ?? {};
87
- const href = sanitizeHref(attrs.href);
88
- if (!href) return acc;
89
- const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
90
- const target = linkTarget === "new-tab" ? "_blank" : storedTarget;
91
- return /* @__PURE__ */ jsx("a", {
92
- href,
93
- target,
94
- rel: normalizeRel(target, typeof attrs.rel === "string" ? attrs.rel : void 0),
95
- children: acc
96
- }, `${key}-l`);
97
- }
85
+ case "link": return renderLinkMark(mark, acc, key, context);
98
86
  default: return acc;
99
87
  }
100
88
  }, text);
101
89
  }
90
+ function richTextLinkAttributes(mark, mode) {
91
+ const attrs = mark.attrs ?? {};
92
+ const href = sanitizeHref(attrs.href);
93
+ if (!href) return null;
94
+ const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
95
+ const target = mode === "new-tab" ? "_blank" : storedTarget;
96
+ return {
97
+ href,
98
+ target,
99
+ rel: normalizeRel(target, typeof attrs.rel === "string" ? attrs.rel : void 0)
100
+ };
101
+ }
102
+ function renderLinkMark(mark, text, key, context) {
103
+ if (typeof text === "string" && text.length === 0) return text;
104
+ const attributes = richTextLinkAttributes(mark, context.linkTarget);
105
+ return attributes ? /* @__PURE__ */ jsx("a", {
106
+ ...attributes,
107
+ ...listLookControl(context, "link"),
108
+ children: text
109
+ }, `${key}-l`) : text;
110
+ }
111
+ function renderDoc(node, key, context) {
112
+ if (!node || !node.type) return null;
113
+ const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, context));
114
+ switch (node.type) {
115
+ case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
116
+ case "paragraph": return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, context) }, key);
117
+ case "heading": return renderHeading(node, key, children, context);
118
+ case "blockquote": return /* @__PURE__ */ jsx("blockquote", {
119
+ ...listLookSlot(context, "quote"),
120
+ children
121
+ }, key);
122
+ case "image": return renderRichTextImage(node, key, context);
123
+ default: return renderSimpleNode(node, key, children, context);
124
+ }
125
+ }
126
+ function renderHeading(node, key, children, context) {
127
+ const level = Math.min(Math.max(Number(node.attrs?.level ?? 2), 1), 6);
128
+ return React.createElement(`h${level}`, {
129
+ key,
130
+ ...level === 2 ? listLookSlot(context, "heading") : {}
131
+ }, children);
132
+ }
133
+ function renderSimpleNode(node, key, children, context) {
134
+ switch (node.type) {
135
+ case "bulletList": return /* @__PURE__ */ jsx("ul", { children }, key);
136
+ case "orderedList": return /* @__PURE__ */ jsx("ol", { children }, key);
137
+ case "listItem": return /* @__PURE__ */ jsx("li", { children }, key);
138
+ case "horizontalRule": return /* @__PURE__ */ jsx("hr", {}, key);
139
+ case "hardBreak": return /* @__PURE__ */ jsx("br", {}, key);
140
+ case "text": return renderMarks(node.text ?? "", node.marks, key, context);
141
+ default: return null;
142
+ }
143
+ }
102
144
  function richTextImageOptions(width, height) {
103
145
  if (width) return {
104
146
  width,
@@ -128,7 +170,7 @@ function renderRichTextImage(node, key, context) {
128
170
  const attrs = node.attrs ?? {};
129
171
  const width = parseDimension(attrs.width);
130
172
  const height = parseDimension(attrs.height);
131
- const src = resolveRichTextImageSource(attrs, width, height, context);
173
+ const src = resolveRichTextImageSource(attrs, width, height, context.imageResolveContext);
132
174
  if (!src) return null;
133
175
  return /* @__PURE__ */ jsx("img", {
134
176
  src,
@@ -137,36 +179,27 @@ function renderRichTextImage(node, key, context) {
137
179
  width,
138
180
  height,
139
181
  loading: "lazy",
140
- decoding: "async"
182
+ decoding: "async",
183
+ ...listLookSlot(context, "photo")
141
184
  }, key);
142
185
  }
143
- function renderDoc(node, key, imageResolveContext, linkTarget) {
144
- if (!node || !node.type) return null;
145
- const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext, linkTarget));
146
- switch (node.type) {
147
- case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
148
- case "paragraph":
149
- if (!children && !node.text) return /* @__PURE__ */ jsx("p", {}, key);
150
- return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, linkTarget) }, key);
151
- case "heading": {
152
- const headingTag = `h${Math.min(Math.max(node.attrs?.level ?? 2, 1), 6)}`;
153
- return React.createElement(headingTag, { key }, children);
154
- }
155
- case "bulletList": return /* @__PURE__ */ jsx("ul", { children }, key);
156
- case "orderedList": return /* @__PURE__ */ jsx("ol", { children }, key);
157
- case "listItem": return /* @__PURE__ */ jsx("li", { children }, key);
158
- case "blockquote": return /* @__PURE__ */ jsx("blockquote", { children }, key);
159
- case "horizontalRule": return /* @__PURE__ */ jsx("hr", {}, key);
160
- case "hardBreak": return /* @__PURE__ */ jsx("br", {}, key);
161
- case "image": return renderRichTextImage(node, key, imageResolveContext);
162
- case "text": return renderMarks(node.text ?? "", node.marks, key, linkTarget);
163
- default: return null;
164
- }
186
+ /** Mark meaning in the renderer, rather than choosing ink with a positional CSS rule. */
187
+ function renderRichTextContent(doc, context, leadSlot) {
188
+ if (!leadSlot) return renderDoc(doc, "doc", context);
189
+ const leadIndex = doc.content?.findIndex((node) => node.type === "paragraph");
190
+ return doc.content?.map((node, index) => {
191
+ const rendered = renderDoc(node, `doc-${index}`, context);
192
+ return index === leadIndex && React.isValidElement(rendered) ? React.cloneElement(rendered, { "data-slot": leadSlot }) : rendered;
193
+ });
165
194
  }
166
195
  const DEFAULT_RICH_TEXT_CLASS = "rb-prose rb-max-w-none";
167
- function RichText({ as: Comp = "div", className, doc, path, style, "data-slot": dataSlot, "data-surface": dataSurface, linkTarget = "stored" }) {
196
+ function RichText({ as: Comp = "div", className, doc, path, style, "data-slot": dataSlot, "data-surface": dataSurface, linkTarget = "stored", leadParagraphSlot, lookSlots }) {
168
197
  const imageResolveContext = getCurrentResolveImageUrlContext() ?? null;
169
- const content = doc ? renderDoc(doc, "doc", imageResolveContext, linkTarget) : null;
198
+ const content = doc ? renderRichTextContent(doc, {
199
+ imageResolveContext,
200
+ linkTarget,
201
+ lookSlots
202
+ }, leadParagraphSlot) : null;
170
203
  const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
171
204
  const resolvedClassName = className?.trim() || DEFAULT_RICH_TEXT_CLASS;
172
205
  return /* @__PURE__ */ jsx(Comp, {
@@ -1,4 +1,4 @@
1
- import { Gr as themeButtonVariantClassNames, Wr as themeButtonSizeClassName, ni as clsx } from "./propsDecoder-lf_dTeZS.mjs";
1
+ import { Gr as themeButtonSizeClassName, Kr as themeButtonVariantClassNames, ri as clsx } from "./propsDecoder-B1OeWavE.mjs";
2
2
  import "react";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region ../blocks/src/system/runtime/nodes/spinner.tsx
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-lf_dTeZS.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
2
2
  //#region src/rendering/islands/enhancers/accordion.ts
3
3
  const decode = defineIslandPropsDecoder("accordion");
4
4
  function parseDefaultValues(value) {
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
  import { d as unsafeAsCustomerPassId, f as unsafeAsFormId, l as unsafeAsAppointmentResourceId, m as unsafeAsPassId, u as unsafeAsAppointmentServiceId } from "./renderableMediaAssetAdmission-CHkXYDC_.mjs";
3
- import { Ai as formatCurrencyAmount, Ar as toSelectedCollectionOptionKind, At as buildBookingPaymentSelectionViewModel, Cr as parseBookingCurrencyInputToCents, Dr as resolveBookingSiteId, Er as resolveBookingPaymentStep, Hr as reportWorkflowError, Lr as assertNever, Mr as resolveSelectedAppointmentConsent, Mt as paymentChoiceDetails, Nr as BOOKING_FORM_DATA_RESERVED_KEYS, Nt as paymentChoicePrice, Or as resolveDefaultBookingServiceId, Pr as isBookingRequirementConsentFieldId, Rr as clearWorkflowFeedback, Sr as isBookingServiceSlidingAmountInRange, Tr as resolveAppointmentCheckoutVerificationState, Ur as reportWorkflowSuccess, Vr as okWith, _i as formatLocalScheduleDate, _r as getBookingRedirectStateFromLocation, bi as parseBookingLocalDate, gi as formatBookingInstant, gr as formatBookingSubmissionPreparationError, hi as addLocalScheduleDays, hr as formatBookingCentsAsCurrencyInput, jr as projectSelectedAppointmentConsentIntoForm, jt as buildReviewedBookingPaymentViewModel, kr as selectedBookingCollectionOptionKind, mi as resolveBookingSignupOffer, mr as deriveBookingFormViewState, pr as logger, t as defineIslandPropsDecoder, vr as getBookingServiceSlidingScale, wr as prepareBookingSubmission, xi as resolveBookingTimeZoneId, yr as getBookingSuccessCopy, zr as err } from "./propsDecoder-lf_dTeZS.mjs";
4
- import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
3
+ import { Ar as selectedBookingCollectionOptionKind, At as buildBookingPaymentSelectionViewModel, Br as err, Cr as isBookingServiceSlidingAmountInRange, Dr as resolveBookingPaymentStep, Er as resolveAppointmentCheckoutVerificationState, Fr as isBookingRequirementConsentFieldId, Hr as okWith, Mr as projectSelectedAppointmentConsentIntoForm, Mt as paymentChoiceDetails, Nr as resolveSelectedAppointmentConsent, Nt as paymentChoicePrice, Or as resolveBookingSiteId, Pr as BOOKING_FORM_DATA_RESERVED_KEYS, Rr as assertNever, Si as resolveBookingTimeZoneId, Tr as prepareBookingSubmission, Ur as reportWorkflowError, Wr as reportWorkflowSuccess, _i as formatBookingInstant, _r as formatBookingSubmissionPreparationError, br as getBookingSuccessCopy, gi as addLocalScheduleDays, gr as formatBookingCentsAsCurrencyInput, hi as resolveBookingSignupOffer, hr as deriveBookingFormViewState, ji as formatCurrencyAmount, jr as toSelectedCollectionOptionKind, jt as buildReviewedBookingPaymentViewModel, kr as resolveDefaultBookingServiceId, mr as logger, t as defineIslandPropsDecoder, vi as formatLocalScheduleDate, vr as getBookingRedirectStateFromLocation, wr as parseBookingCurrencyInputToCents, xi as parseBookingLocalDate, yr as getBookingServiceSlidingScale, zr as clearWorkflowFeedback } from "./propsDecoder-B1OeWavE.mjs";
4
+ import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
5
5
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-ChxwaNtO.mjs";
6
6
  import { n as scrollToBlock, t as CheckIcon } from "./CheckIcon-CpyXr-Kg.mjs";
7
- import { f as storeDemoBookingPassIfAvailable, p as DiscountCodeDisclosure, t as BookingConfirmation } from "./DemoBookingPortalAccess-ojwbVUmx.mjs";
7
+ import { f as storeDemoBookingPassIfAvailable, p as DiscountCodeDisclosure, t as BookingConfirmation } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
8
8
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
9
- import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-B1Puub2v.mjs";
10
- import { a as useBookingNowIso, i as usePolling, n as BookingConsentAgreement, o as StepIndicator, r as PaymentChoiceRows, t as BookingMailingListNote } from "./BookingMailingListNote-DrchYW1m.mjs";
11
- import { n as useBlockApi, t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
9
+ import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-jvAiUoUX.mjs";
10
+ import { a as useBookingNowIso, i as usePolling, n as BookingConsentAgreement, o as StepIndicator, r as PaymentChoiceRows, t as BookingMailingListNote } from "./BookingMailingListNote-CNoSqFtf.mjs";
11
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
12
12
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
13
13
  import { i as getFieldValidationControlProps, r as FieldValidationMessage } from "./mailingListSignupCopy-DZSHZrm6.mjs";
14
- import { t as CheckboxChoice } from "./CheckboxChoice-Dq30m3DO.mjs";
14
+ import { t as CheckboxChoice } from "./CheckboxChoice-CHJpsty4.mjs";
15
15
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
16
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Bc_WVPS8.mjs";
16
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
17
17
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
18
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
19
  //#region ../core/src/appointment-service-categories.ts