@riverbankcms/sdk 0.143.0 → 0.145.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.
- package/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +20 -26
- package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +431 -351
- package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +3989 -2769
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/billing.d.ts +1 -1
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
- package/dist/_dts/api/src/communications.d.ts +14 -22
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/endpoints.d.ts +105 -58
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
- package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
- package/dist/_dts/api/src/siteSettings.d.ts +17 -7
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
- package/dist/_dts/block-form/src/client/index.d.ts +1 -0
- package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/index.d.ts +1 -0
- package/dist/_dts/block-form/src/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +58 -10
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/editor-state.d.ts +6 -0
- package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
- package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +3 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +676 -241
- package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
- package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/logger/src/console.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +4 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +21 -15
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
- package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
- package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
- package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
- package/dist/_dts/ui/src/index.d.ts +1 -0
- package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +4 -55
- package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +27 -17
- package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DnsUeONl.mjs} +54 -46
- package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-CNBFqJS4.mjs} +3 -4
- package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
- package/dist/client/ThemedButton-LAJTNrS8.mjs +412 -0
- package/dist/client/{accordion-DOmnDoyg.mjs → accordion-BcNF9TjX.mjs} +1 -1
- package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-BUaQ3S03.mjs} +161 -75
- package/dist/client/bookings.mjs +392 -182
- package/dist/client/{carousel-BZJ7pno3.mjs → carousel-CTdF6e0V.mjs} +2 -2
- package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
- package/dist/client/{cart-CaeVAHJl.mjs → cart-pGtyf_XU.mjs} +3 -3
- package/dist/client/{checkout-7wmoNDtG.mjs → checkout-Da9WSn7Y.mjs} +3 -3
- package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
- package/dist/client/client.mjs +3819 -2717
- package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
- package/dist/client/{context-BOimxE3U.mjs → context-BFeY_Wbm.mjs} +24 -8
- package/dist/client/{dates-BnzVksi4.mjs → dates-BhwVSxDg.mjs} +2 -2
- package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BAtdnR4s.mjs} +39 -50
- package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-RksA3tRC.mjs} +5 -4
- package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
- package/dist/client/{eventListing-dph8loYX.mjs → eventListing-BpJBkviM.mjs} +5 -4
- package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-B18jFq_o.mjs} +83 -68
- package/dist/client/{form-BLVVAnd3.mjs → form-Dodt8Y8t.mjs} +9 -10
- package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-B0qj9ttg.mjs} +23 -30
- package/dist/client/hooks.mjs +807 -162
- package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-gn-iMk7a.mjs} +9 -10
- package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
- package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-oByLdFkr.mjs} +31 -11
- package/dist/client/{pricing-ChinRYFt.mjs → pricing-BOU0_Hai.mjs} +1 -1
- package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-D9v1zH2j.mjs} +3 -3
- package/dist/client/{productList-OoINA0h1.mjs → productList-D-mItx1n.mjs} +3 -3
- package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-C3TP_z4x.mjs} +158 -61
- package/dist/client/rendering/client.mjs +2785 -2000
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3855 -2694
- package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +8 -1
- package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
- package/dist/client/{shop-CLJFqNIq.mjs → shop-Dufw7N7o.mjs} +45 -58
- package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-gklw_hLF.mjs} +42 -55
- package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
- package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-B5nyA41S.mjs} +6 -5
- package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-CLL829vy.mjs} +66 -355
- package/dist/preview-next/before-render.mjs +147 -77
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-chrome.css +8 -0
- package/dist/preview-next/keepAlive.mjs +147 -77
- package/dist/preview-next/middleware.mjs +147 -77
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
- package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
- package/dist/{separator-BTp96X32.mjs → separator-EvdCAn4V.mjs} +1 -1
- package/dist/server/components.mjs +2548 -1607
- package/dist/server/config-validation.mjs +794 -160
- package/dist/server/config.mjs +794 -160
- package/dist/server/data.mjs +806 -161
- package/dist/server/index.mjs +167 -85
- package/dist/server/navigation.mjs +28 -1
- package/dist/server/next.mjs +14930 -14036
- package/dist/server/page-converter.mjs +494 -113
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2537 -1590
- package/dist/server/rendering.mjs +2571 -1618
- package/dist/server/routing.mjs +918 -200
- package/dist/server/server.mjs +819 -205
- package/dist/server/theme-bridge.mjs +1232 -28
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +6 -0
- package/package.json +2 -1
|
@@ -43,7 +43,6 @@ export type CalendarCacheAction = Readonly<{
|
|
|
43
43
|
error: Error;
|
|
44
44
|
cursor?: CalendarSourceCursor;
|
|
45
45
|
}>;
|
|
46
|
-
export declare function calendarMonthKey(date: CalendarDate): string;
|
|
47
46
|
export declare function calendarWindowMonths(date: CalendarDate, radius: number): readonly string[];
|
|
48
47
|
export declare function seedCalendarWindow(page: CalendarWindowPage): CalendarCacheState;
|
|
49
48
|
export declare function planCalendarRequest(state: CalendarCacheState, months: readonly string[], retry: boolean): CalendarRequest | null;
|
|
@@ -18,8 +18,6 @@ type UseEventPaginationOptions = {
|
|
|
18
18
|
filters?: EventRuntimeFilters;
|
|
19
19
|
/** Number of events per page */
|
|
20
20
|
pageSize?: number;
|
|
21
|
-
/** Fetch stage (preview vs published) */
|
|
22
|
-
stage?: 'preview' | 'published';
|
|
23
21
|
};
|
|
24
22
|
type EventPaginationResult = {
|
|
25
23
|
/** All loaded events */
|
|
@@ -49,5 +47,5 @@ type EventPaginationResult = {
|
|
|
49
47
|
* ```
|
|
50
48
|
*/
|
|
51
49
|
export declare function useEventPagination({ siteId: _siteId, // Deprecated: siteId now comes from BlockApiProvider context
|
|
52
|
-
initialEvents, fetchInitialOnMount, initialFilters, filters, pageSize,
|
|
50
|
+
initialEvents, fetchInitialOnMount, initialFilters, filters, pageSize, }: UseEventPaginationOptions): EventPaginationResult;
|
|
53
51
|
export default useEventPagination;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { type BlockApiConfig } from "../api";
|
|
3
3
|
import type { AutoAppliedDiscountPreview } from "../api/types";
|
|
4
|
-
import type { BookingFormConfig, BookingFormData, BookingFormService, BookingSelectedCollectionOptionKind } from "../nodes/booking-form.state";
|
|
4
|
+
import type { BookingFormConfig, BookingFormData, BookingFormService, BookingFormServiceCategory, BookingSelectedCollectionOptionKind } from "../nodes/booking-form.state";
|
|
5
5
|
import { type BookingPaymentSelectionViewModel } from "../shared/bookingPaymentOptions";
|
|
6
6
|
import { createBookingBlockApiConfig, type BookingAppointmentPackagesModel, type BookingFieldValue, type BookingFieldView, type BookingFlowActionResult, type BookingFlowFeedback, type BookingFlowStatus, type BookingFlowView, type BookingResourceView, type BookingFlowStep, type BookingFlowStepId, type BookingSlotSelection, type BookingSlotView, type BookingSubmitActionResult, type BookingSubmitOptions, getBookingServiceSlidingScale, type LoadState } from "./useHeadlessBookingFlow.state";
|
|
7
7
|
export type { BlockApiConfig };
|
|
@@ -12,6 +12,11 @@ export type HeadlessBookingFlowOptions = Readonly<{
|
|
|
12
12
|
formId: string;
|
|
13
13
|
form: BookingFormConfig | null;
|
|
14
14
|
services: readonly BookingFormService[];
|
|
15
|
+
/**
|
|
16
|
+
* The site's ordered service categories (issue 1403), used to group the
|
|
17
|
+
* service choice. Omitted or empty means a site without categories.
|
|
18
|
+
*/
|
|
19
|
+
serviceCategories?: readonly BookingFormServiceCategory[];
|
|
15
20
|
initialServiceId?: string;
|
|
16
21
|
initialResourceId?: string;
|
|
17
22
|
initialData?: Partial<BookingFormData>;
|
|
@@ -27,6 +32,8 @@ export type HeadlessBookingFlowOptions = Readonly<{
|
|
|
27
32
|
}>;
|
|
28
33
|
export type BookingServicesModel = Readonly<{
|
|
29
34
|
items: readonly BookingFormService[];
|
|
35
|
+
/** Ordered service categories for grouping `items`; empty when the site has none. */
|
|
36
|
+
categories: readonly BookingFormServiceCategory[];
|
|
30
37
|
selected: BookingFormService | null;
|
|
31
38
|
defaultServiceId?: string;
|
|
32
39
|
requiresSelection: boolean;
|
|
@@ -57,6 +57,7 @@ declare const publicAppointmentServiceSchema: z.ZodObject<{
|
|
|
57
57
|
area: z.ZodNullable<z.ZodString>;
|
|
58
58
|
}, z.core.$strip>>;
|
|
59
59
|
}, z.core.$strip>], "mode">;
|
|
60
|
+
categoryId: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string | null, string | null | undefined>>;
|
|
60
61
|
}, z.core.$strip>;
|
|
61
62
|
type PublicAppointmentService = z.infer<typeof publicAppointmentServiceSchema>;
|
|
62
63
|
export type AppointmentServiceRow = Readonly<{
|
|
@@ -69,9 +70,25 @@ export type AppointmentServiceRow = Readonly<{
|
|
|
69
70
|
href: string;
|
|
70
71
|
detailsHref: string | null;
|
|
71
72
|
}>;
|
|
73
|
+
/** One category (or the trailing "Other") with its heading, intro and rows. */
|
|
74
|
+
export type AppointmentServiceGroup = Readonly<{
|
|
75
|
+
key: string;
|
|
76
|
+
heading: string;
|
|
77
|
+
intro: string | null;
|
|
78
|
+
rows: readonly AppointmentServiceRow[];
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* `items` is the flat list of a site with no categories, unchanged from before
|
|
82
|
+
* categories existed. `groups` is a categorised site: every non-empty
|
|
83
|
+
* category in order and then "Other", or the one category a block is
|
|
84
|
+
* filtered to.
|
|
85
|
+
*/
|
|
72
86
|
export type AppointmentServicesView = Readonly<{
|
|
73
87
|
kind: 'items';
|
|
74
88
|
rows: readonly AppointmentServiceRow[];
|
|
89
|
+
}> | Readonly<{
|
|
90
|
+
kind: 'groups';
|
|
91
|
+
groups: readonly AppointmentServiceGroup[];
|
|
75
92
|
}> | Readonly<{
|
|
76
93
|
kind: 'empty';
|
|
77
94
|
message: string;
|
|
@@ -81,18 +98,21 @@ export type AppointmentServicesView = Readonly<{
|
|
|
81
98
|
}>;
|
|
82
99
|
export type AppointmentServicesNodeProps = Readonly<{
|
|
83
100
|
sectionHeading?: unknown;
|
|
101
|
+
categoryId?: unknown;
|
|
84
102
|
services?: unknown;
|
|
85
103
|
pathname?: unknown;
|
|
86
104
|
servicePathPrefix?: unknown;
|
|
105
|
+
blockId?: string | null;
|
|
87
106
|
className?: string | null;
|
|
88
107
|
}>;
|
|
89
108
|
export declare function formatAppointmentDuration(durationMinutes: number): string;
|
|
90
109
|
export declare function formatAppointmentLocation(location: PublicAppointmentLocation): string | null;
|
|
91
|
-
export declare function formatAppointmentPrice(service: PublicAppointmentService): string | null;
|
|
110
|
+
export declare function formatAppointmentPrice(service: Pick<PublicAppointmentService, 'pricing' | 'priceAmount' | 'priceCurrency'>): string | null;
|
|
92
111
|
export declare function buildAppointmentServicesView(input: Readonly<{
|
|
93
112
|
services: unknown;
|
|
113
|
+
categoryId?: unknown;
|
|
94
114
|
pathname: string | undefined;
|
|
95
115
|
servicePathPrefix?: string | null;
|
|
96
116
|
}>): AppointmentServicesView;
|
|
97
|
-
export declare function AppointmentServicesNode({ sectionHeading, services, pathname, servicePathPrefix, className, }: AppointmentServicesNodeProps): React.ReactElement;
|
|
117
|
+
export declare function AppointmentServicesNode({ sectionHeading, categoryId, services, pathname, servicePathPrefix, blockId, className, }: AppointmentServicesNodeProps): React.ReactElement;
|
|
98
118
|
export default AppointmentServicesNode;
|
|
@@ -11,11 +11,7 @@ export type TextNodeProps = {
|
|
|
11
11
|
children?: React.ReactNode;
|
|
12
12
|
};
|
|
13
13
|
export declare const TextNode: React.FC<TextNodeProps & {
|
|
14
|
-
blockId?: string;
|
|
15
|
-
blockKind?: string;
|
|
16
14
|
blockContent?: unknown;
|
|
17
|
-
fragmentRegistry?: unknown;
|
|
18
|
-
pathBase?: string;
|
|
19
15
|
}>;
|
|
20
16
|
export type RichTextNodeProps = {
|
|
21
17
|
value?: unknown;
|
|
@@ -25,20 +21,19 @@ export type RichTextNodeProps = {
|
|
|
25
21
|
children?: React.ReactNode;
|
|
26
22
|
};
|
|
27
23
|
export declare const RichTextNode: React.FC<RichTextNodeProps & {
|
|
28
|
-
blockId?: string;
|
|
29
24
|
blockKind?: string;
|
|
30
|
-
blockContent?: unknown;
|
|
31
|
-
fragmentRegistry?: unknown;
|
|
32
|
-
pathBase?: string;
|
|
33
25
|
}>;
|
|
34
26
|
export type ButtonNodeProps = {
|
|
35
|
-
value?:
|
|
27
|
+
value?: string | number;
|
|
36
28
|
href?: string;
|
|
37
29
|
'aria-label'?: string;
|
|
30
|
+
'data-testid'?: string;
|
|
31
|
+
/** Editor interception and explicit control handlers. */
|
|
32
|
+
onClick?: React.MouseEventHandler<HTMLElement>;
|
|
38
33
|
className?: string;
|
|
39
34
|
target?: string;
|
|
40
35
|
rel?: string;
|
|
41
|
-
children?:
|
|
36
|
+
children?: string | number;
|
|
42
37
|
/** Button variant ID (reads from theme.buttons.variants) */
|
|
43
38
|
variantId?: string;
|
|
44
39
|
/** Button size (reads from theme.buttons.sizes via .btn-{size}) */
|
|
@@ -55,13 +50,7 @@ export type ButtonNodeProps = {
|
|
|
55
50
|
*/
|
|
56
51
|
trailingIcon?: string;
|
|
57
52
|
};
|
|
58
|
-
export declare const ButtonNode: React.FC<ButtonNodeProps
|
|
59
|
-
blockId?: string;
|
|
60
|
-
blockKind?: string;
|
|
61
|
-
blockContent?: unknown;
|
|
62
|
-
fragmentRegistry?: unknown;
|
|
63
|
-
pathBase?: string;
|
|
64
|
-
}>;
|
|
53
|
+
export declare const ButtonNode: React.FC<ButtonNodeProps>;
|
|
65
54
|
export type LinkNodeProps = {
|
|
66
55
|
href?: string;
|
|
67
56
|
className?: string;
|
|
@@ -71,10 +60,4 @@ export type LinkNodeProps = {
|
|
|
71
60
|
/** When true, hide the link if href is missing */
|
|
72
61
|
linkRequired?: boolean;
|
|
73
62
|
};
|
|
74
|
-
export declare const LinkNode: React.FC<LinkNodeProps
|
|
75
|
-
blockId?: string;
|
|
76
|
-
blockKind?: string;
|
|
77
|
-
blockContent?: unknown;
|
|
78
|
-
fragmentRegistry?: unknown;
|
|
79
|
-
pathBase?: string;
|
|
80
|
-
}>;
|
|
63
|
+
export declare const LinkNode: React.FC<LinkNodeProps>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AppointmentResourceId, AppointmentServiceId, Brand, CustomerPassId, FormId, PassId, SiteId } from "../../../../../core/src/index";
|
|
2
2
|
import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
|
|
3
3
|
import type { TimeSlot } from "../api/types";
|
|
4
|
-
import type { BookingFormConfig, BookingFormData, BookingFormField, BookingPaymentStepResolution, BookingFormServicesSource, BookingFormService, BookingSelectedCollectionOptionKind, BookingSubmissionData } from "./booking-form.state";
|
|
4
|
+
import type { BookingFormConfig, BookingFormData, BookingFormField, BookingPaymentStepResolution, BookingFormServicesSource, BookingFormService, BookingFormServiceCategory, BookingSelectedCollectionOptionKind, BookingSubmissionData } from "./booking-form.state";
|
|
5
5
|
import type { BookingValidationErrors } from "./booking-form.validationErrors";
|
|
6
6
|
import { type BookingFieldValue } from "./booking-form.field-values";
|
|
7
7
|
export type { BookingFieldValue } from "./booking-form.field-values";
|
|
@@ -416,6 +416,8 @@ export type AppointmentBookingOverrideInput = Readonly<{
|
|
|
416
416
|
formId: FormId;
|
|
417
417
|
form: BookingFormConfig;
|
|
418
418
|
services: readonly BookingFormService[];
|
|
419
|
+
/** Ordered service categories (issue 1403); empty when the site has none. */
|
|
420
|
+
serviceCategories: readonly BookingFormServiceCategory[];
|
|
419
421
|
initialServiceId?: AppointmentServiceId;
|
|
420
422
|
initialResourceId?: AppointmentResourceId;
|
|
421
423
|
requiresServiceSelection: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type InteractiveIslandProps } from "../../../contracts/islands";
|
|
2
|
-
import { type BookingFormService, type BookingFormConfig, type BookingFormServicesSource } from "./booking-form.state";
|
|
2
|
+
import { type BookingFormService, type BookingFormServiceCategory, type BookingFormConfig, type BookingFormServicesSource } from "./booking-form.state";
|
|
3
3
|
import { type BookingFormRebookContext, type BookingFormSourceProps } from "./booking-runtime-sources";
|
|
4
|
-
export type { BookingFormConfig, BookingFormService };
|
|
4
|
+
export type { BookingFormConfig, BookingFormService, BookingFormServiceCategory };
|
|
5
5
|
export type { BookingFormRebookContext, BookingFormSourceProps };
|
|
6
6
|
export type BookingFormDisplay = Readonly<{
|
|
7
7
|
kind: "booking-form";
|
|
@@ -23,6 +23,11 @@ export type BookingFormHydration = Readonly<{
|
|
|
23
23
|
rebookContext?: BookingFormRebookContext | null;
|
|
24
24
|
form: BookingFormConfig | null;
|
|
25
25
|
services: readonly BookingFormService[];
|
|
26
|
+
/**
|
|
27
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
28
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
29
|
+
*/
|
|
30
|
+
serviceCategories?: readonly BookingFormServiceCategory[];
|
|
26
31
|
spamProtectionEnabled?: boolean;
|
|
27
32
|
}>;
|
|
28
33
|
type BookingFormIslandMeta = Readonly<{
|
|
@@ -143,6 +148,16 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
143
148
|
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
144
149
|
checkboxLabel: string;
|
|
145
150
|
}>;
|
|
151
|
+
categoryId?: string | null;
|
|
152
|
+
}>[];
|
|
153
|
+
/**
|
|
154
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
155
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
156
|
+
*/
|
|
157
|
+
serviceCategories?: readonly Readonly<{
|
|
158
|
+
id: string;
|
|
159
|
+
name: string;
|
|
160
|
+
description: string | null;
|
|
146
161
|
}>[];
|
|
147
162
|
spamProtectionEnabled?: boolean;
|
|
148
163
|
}>;
|
|
@@ -302,6 +317,16 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
302
317
|
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
303
318
|
checkboxLabel: string;
|
|
304
319
|
}>;
|
|
320
|
+
categoryId?: string | null;
|
|
321
|
+
}>[];
|
|
322
|
+
/**
|
|
323
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
324
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
325
|
+
*/
|
|
326
|
+
serviceCategories?: readonly Readonly<{
|
|
327
|
+
id: string;
|
|
328
|
+
name: string;
|
|
329
|
+
description: string | null;
|
|
305
330
|
}>[];
|
|
306
331
|
spamProtectionEnabled?: boolean;
|
|
307
332
|
}>;
|
|
@@ -375,6 +400,16 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
375
400
|
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
376
401
|
checkboxLabel: string;
|
|
377
402
|
}>;
|
|
403
|
+
categoryId?: string | null;
|
|
404
|
+
}>[];
|
|
405
|
+
/**
|
|
406
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
407
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
408
|
+
*/
|
|
409
|
+
serviceCategories?: readonly Readonly<{
|
|
410
|
+
id: string;
|
|
411
|
+
name: string;
|
|
412
|
+
description: string | null;
|
|
378
413
|
}>[];
|
|
379
414
|
spamProtectionEnabled?: boolean;
|
|
380
415
|
}>;
|
|
@@ -460,6 +495,16 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
460
495
|
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
461
496
|
checkboxLabel: string;
|
|
462
497
|
}>;
|
|
498
|
+
categoryId?: string | null;
|
|
499
|
+
}>[];
|
|
500
|
+
/**
|
|
501
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
502
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
503
|
+
*/
|
|
504
|
+
serviceCategories?: readonly Readonly<{
|
|
505
|
+
id: string;
|
|
506
|
+
name: string;
|
|
507
|
+
description: string | null;
|
|
463
508
|
}>[];
|
|
464
509
|
spamProtectionEnabled?: boolean;
|
|
465
510
|
}>;
|
|
@@ -542,6 +587,16 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
542
587
|
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
543
588
|
checkboxLabel: string;
|
|
544
589
|
}>;
|
|
590
|
+
categoryId?: string | null;
|
|
591
|
+
}>[];
|
|
592
|
+
/**
|
|
593
|
+
* The site's ordered service categories (issue 1403). Optional so a page
|
|
594
|
+
* rendered before categories existed still hydrates, as a site without any.
|
|
595
|
+
*/
|
|
596
|
+
serviceCategories?: readonly Readonly<{
|
|
597
|
+
id: string;
|
|
598
|
+
name: string;
|
|
599
|
+
description: string | null;
|
|
545
600
|
}>[];
|
|
546
601
|
spamProtectionEnabled?: boolean;
|
|
547
602
|
}>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Appointment-service categories in the booking block (issue 1403): the
|
|
3
|
+
* headings the service step groups its choices under.
|
|
4
|
+
*/
|
|
5
|
+
import type { ServiceCategorySummary } from "../../../../../core/src/index";
|
|
6
|
+
import type { BookingFormService } from "./booking-form.state";
|
|
7
|
+
/**
|
|
8
|
+
* The services a booking block was given. Only the catalogue shape
|
|
9
|
+
* `{ services, categories }` carries categories; the other shapes read as a
|
|
10
|
+
* site without categories.
|
|
11
|
+
*/
|
|
12
|
+
export type BookingFormServicesSource = readonly BookingFormService[] | Readonly<{
|
|
13
|
+
services?: readonly BookingFormService[];
|
|
14
|
+
categories?: readonly BookingFormServiceCategory[];
|
|
15
|
+
}> | Readonly<Record<string, BookingFormService>>;
|
|
16
|
+
/** A category heading in the service step: the shared category summary. */
|
|
17
|
+
export type BookingFormServiceCategory = ServiceCategorySummary;
|
|
18
|
+
/**
|
|
19
|
+
* The ordered service categories carried by a catalogue-shaped services
|
|
20
|
+
* source (`{ services, categories }`). Every other shape has none, which
|
|
21
|
+
* reads as a site without categories. Order is preserved: the database owns
|
|
22
|
+
* it.
|
|
23
|
+
*/
|
|
24
|
+
export declare function normalizeBookingServiceCategories(services: unknown): readonly BookingFormServiceCategory[];
|
|
25
|
+
/**
|
|
26
|
+
* The ordered service categories a headless booking override was given in
|
|
27
|
+
* its loader data (`data.services`).
|
|
28
|
+
*/
|
|
29
|
+
export declare function readOverrideServiceCategories(data: unknown): readonly BookingFormServiceCategory[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { HeadlessBookingFlow } from "../hooks/useHeadlessBookingFlow";
|
|
3
|
+
export declare function optionCardClassName(isSelected: boolean): string;
|
|
4
|
+
export declare function SelectedCheck(): React.ReactElement;
|
|
5
|
+
/**
|
|
6
|
+
* The service buttons. A site with no categories keeps its single grid; a
|
|
7
|
+
* categorised site gets a heading per category, then "Other", above the same
|
|
8
|
+
* grid (issue 1403). Empty categories are skipped, and there are no intros
|
|
9
|
+
* here, to keep the step compact.
|
|
10
|
+
*/
|
|
11
|
+
export declare function DefaultServiceChoices({ booking, }: Readonly<{
|
|
12
|
+
booking: HeadlessBookingFlow;
|
|
13
|
+
}>): React.ReactElement;
|
|
@@ -3,6 +3,7 @@ import { type BlockBookingConsent } from "../../blocks/shared/bookingConsent";
|
|
|
3
3
|
import type { AppointmentBookingStatusResponse } from "../api/types";
|
|
4
4
|
import type { BookingFormDataReservedKey } from "./booking-form.reserved-fields";
|
|
5
5
|
import type { BookingFormField } from "./booking-form.fields";
|
|
6
|
+
export type { BookingFormServiceCategory, BookingFormServicesSource, } from "./booking-form.service-categories";
|
|
6
7
|
export type { BookingFormField, BookingFormFieldOption, StandardBookingFormField, } from "./booking-form.fields";
|
|
7
8
|
export { APPOINTMENT_BOOKING_BLOCK_ID, BOOKING_FORM_DATA_RESERVED_KEYS, BOOKING_FORM_DATA_RESERVED_KEY_VALUES, collectBookingReservedFieldCollisions, findBookingFormDataReservedFieldCollisions, formatBookingReservedFieldCollisionMessages, formatBookingFormDataReservedFieldMessage, isBookingFormDataReservedKey, type BookingFormDataReservedKey, type BookingReservedFieldCollision, } from "./booking-form.reserved-fields";
|
|
8
9
|
export type BookingFormSettings = Readonly<{
|
|
@@ -65,11 +66,10 @@ export type BookingFormService = Readonly<{
|
|
|
65
66
|
paymentTerms?: BlockBookingPaymentTerms;
|
|
66
67
|
paymentTermsAvailability?: BlockBookingPaymentTermsAvailability;
|
|
67
68
|
consent?: BlockBookingConsent;
|
|
69
|
+
/** The service's category (issue 1403); null or absent is "Other". */
|
|
70
|
+
categoryId?: string | null;
|
|
68
71
|
}>;
|
|
69
72
|
export { projectSelectedAppointmentConsentIntoForm, resolveSelectedAppointmentConsent, type SelectedAppointmentConsent, } from "./booking-form.consent";
|
|
70
|
-
export type BookingFormServicesSource = readonly BookingFormService[] | Readonly<{
|
|
71
|
-
services?: readonly BookingFormService[];
|
|
72
|
-
}> | Readonly<Record<string, BookingFormService>>;
|
|
73
73
|
export type BookingSelectedCollectionOptionKind = "upfront" | "deferred_manual" | "instalment_plan" | "flexible_balance";
|
|
74
74
|
type BookingCustomFieldData<TCustomFieldId extends string> = Readonly<{
|
|
75
75
|
[K in TCustomFieldId as K extends BookingFormDataReservedKey ? never : K]?: unknown;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { PublicEvent } from "../../blocks/events/shared/types";
|
|
3
|
-
import type { StandardBookingFormField, BookingFormService, BookingFormServicesSource, BookingFormSettings, BookingFormSourceRecord } from "./booking-form.state";
|
|
3
|
+
import type { StandardBookingFormField, BookingFormService, BookingFormServiceCategory, BookingFormServicesSource, BookingFormSettings, BookingFormSourceRecord } from "./booking-form.state";
|
|
4
4
|
import type { EventRegistrationSourceProps } from "./event-registration.interactive";
|
|
5
5
|
export declare const APPOINTMENT_BOOKING_RUNTIME_FORM_ID = "booking-form";
|
|
6
6
|
export type BookingFormRebookContext = Readonly<{
|
|
@@ -97,12 +97,18 @@ export type AppointmentBookingServiceSourceInput = Readonly<{
|
|
|
97
97
|
paymentTerms?: BookingFormService["paymentTerms"];
|
|
98
98
|
paymentTermsAvailability?: BookingFormService["paymentTermsAvailability"];
|
|
99
99
|
consent?: BookingFormService["consent"];
|
|
100
|
+
categoryId?: string | null;
|
|
100
101
|
}>;
|
|
101
102
|
export type AppointmentBookingSourceProps = BookingFormSourceProps & Readonly<{
|
|
102
103
|
siteId: string;
|
|
103
104
|
formId: string;
|
|
104
105
|
form: BookingFormSourceRecord;
|
|
105
106
|
services: BookingFormService[];
|
|
107
|
+
/**
|
|
108
|
+
* The site's ordered service categories (issue 1403). The booking island
|
|
109
|
+
* receives them beside the services as `{ services, categories }`.
|
|
110
|
+
*/
|
|
111
|
+
serviceCategories: readonly BookingFormServiceCategory[];
|
|
106
112
|
serviceId: string | null;
|
|
107
113
|
resourceId: string | null;
|
|
108
114
|
initialData: Readonly<Record<string, unknown>> | null;
|
|
@@ -137,6 +143,12 @@ export declare function buildAppointmentBookingSourceProps(input: Readonly<{
|
|
|
137
143
|
previewToken?: string | null;
|
|
138
144
|
form: AppointmentBookingFormSourceInput;
|
|
139
145
|
services: readonly AppointmentBookingServiceSourceInput[];
|
|
146
|
+
/**
|
|
147
|
+
* Optional because the frontend and dashboard deploy separately: a
|
|
148
|
+
* services response from before categories (issue 1403) has none, and
|
|
149
|
+
* that must render the flat list rather than fail.
|
|
150
|
+
*/
|
|
151
|
+
serviceCategories?: readonly BookingFormServiceCategory[];
|
|
140
152
|
serviceId: string | null;
|
|
141
153
|
resourceId: string | null;
|
|
142
154
|
initialData: Readonly<Record<string, unknown>> | null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { RegistrationTicketType } from './types';
|
|
3
|
+
import type { ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
|
|
3
4
|
export declare function EventRegistrationBookingLayer(props: Readonly<{
|
|
4
5
|
registrationRootClassName: string;
|
|
5
6
|
portalRoot: HTMLElement | null;
|
|
@@ -9,7 +10,7 @@ export declare function EventRegistrationBookingLayer(props: Readonly<{
|
|
|
9
10
|
availabilityLabel: string | null;
|
|
10
11
|
ticketTypes: readonly RegistrationTicketType[];
|
|
11
12
|
ticketCurrency: string | null;
|
|
12
|
-
|
|
13
|
+
buttonVariant: ThemeButtonVariantId;
|
|
13
14
|
formatTicketPrice: (ticketType: RegistrationTicketType) => string;
|
|
14
15
|
onOpen: () => void;
|
|
15
16
|
onClose: () => void;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
|
|
2
|
+
import type { ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
|
|
2
3
|
export type EventPortalAuthCopy = Readonly<{
|
|
3
4
|
title: string;
|
|
4
5
|
description: string;
|
|
@@ -17,7 +18,7 @@ export declare function EventRegistrationSurface(props: Readonly<{
|
|
|
17
18
|
showCapacity: boolean;
|
|
18
19
|
showSpamProtection: boolean;
|
|
19
20
|
buttonText: string;
|
|
20
|
-
|
|
21
|
+
buttonVariant: ThemeButtonVariantId;
|
|
21
22
|
supportEmail?: string;
|
|
22
23
|
successMessage: string;
|
|
23
24
|
}>): import("react").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
|
|
3
|
+
import type { ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
|
|
3
4
|
/**
|
|
4
5
|
* Label for the button that submits the details step.
|
|
5
6
|
*
|
|
@@ -15,7 +16,7 @@ export declare function resolveDetailsButtonText(input: Readonly<{
|
|
|
15
16
|
type WizardActionsProps = Readonly<{
|
|
16
17
|
wizard: UseEventRegistrationWizardResult;
|
|
17
18
|
buttonText: string;
|
|
18
|
-
|
|
19
|
+
buttonVariant: ThemeButtonVariantId;
|
|
19
20
|
}>;
|
|
20
21
|
export declare function EventRegistrationWizardActions(props: WizardActionsProps): React.JSX.Element | null;
|
|
21
22
|
export {};
|
|
@@ -262,6 +262,7 @@ export type EventRegistrationOverridePropsLike = Readonly<{
|
|
|
262
262
|
apiBaseUrl?: string;
|
|
263
263
|
portalToken?: string | null;
|
|
264
264
|
previewToken?: string | null;
|
|
265
|
+
readAuthority?: import('../../api').BrowserReadAuthority;
|
|
265
266
|
stage?: 'preview' | 'published';
|
|
266
267
|
occurrenceContext?: OccurrenceContext | null;
|
|
267
268
|
subject?: unknown;
|
|
@@ -272,6 +273,7 @@ export type EventRegistrationOverrideInput = Readonly<{
|
|
|
272
273
|
apiBaseUrl: string;
|
|
273
274
|
portalToken: string | null;
|
|
274
275
|
previewToken: string | null;
|
|
276
|
+
readAuthority?: import('../../api').BrowserReadAuthority;
|
|
275
277
|
stage?: 'preview' | 'published';
|
|
276
278
|
occurrenceContext?: OccurrenceContext | null;
|
|
277
279
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BlockApiConfig, type BrowserReadAuthority } from '../../api';
|
|
2
2
|
import type { EventRegistrationOverrideInputResult, EventRegistrationOverridePropsLike } from './event-registration.headless.contract';
|
|
3
3
|
export declare function createEventRegistrationBlockApiConfig(input: Readonly<{
|
|
4
4
|
siteId: string;
|
|
5
5
|
apiBaseUrl: string;
|
|
6
6
|
portalToken?: string | null;
|
|
7
7
|
previewToken?: string | null;
|
|
8
|
+
readAuthority?: BrowserReadAuthority;
|
|
8
9
|
stage?: 'preview' | 'published';
|
|
9
10
|
}>): BlockApiConfig;
|
|
10
11
|
export declare function getEventRegistrationOverrideInput(props: EventRegistrationOverridePropsLike): EventRegistrationOverrideInputResult;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import type { PublicEventsRequest } from '../../api/types/events';
|
|
|
4
4
|
export declare const eventRecoveryRequestSchema: z.ZodObject<{
|
|
5
5
|
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
6
6
|
eventSurface: z.ZodOptional<z.ZodEnum<{
|
|
7
|
-
custom: "custom";
|
|
8
7
|
all: "all";
|
|
8
|
+
custom: "custom";
|
|
9
9
|
regularClassSchedule: "regularClassSchedule";
|
|
10
10
|
specialDatedEvents: "specialDatedEvents";
|
|
11
11
|
}>>;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type EventRegistrationWizardDeps = Readonly<{
|
|
|
30
30
|
useDiscountCodeUi: typeof useDiscountCodeUi;
|
|
31
31
|
}>;
|
|
32
32
|
export declare function useEventRegistrationWizard(options: UseEventRegistrationWizardOptions): {
|
|
33
|
-
api: import("../../api").
|
|
33
|
+
api: import("../../api").BoundBlockApiClient;
|
|
34
34
|
anchorId: string;
|
|
35
35
|
occurrenceContext: {
|
|
36
36
|
id: string;
|
|
@@ -159,7 +159,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
159
159
|
handleRetry: () => void;
|
|
160
160
|
};
|
|
161
161
|
export declare function useEventRegistrationWizardWithDeps(options: UseEventRegistrationWizardOptions, deps: EventRegistrationWizardDeps): {
|
|
162
|
-
api: import("../../api").
|
|
162
|
+
api: import("../../api").BoundBlockApiClient;
|
|
163
163
|
anchorId: string;
|
|
164
164
|
occurrenceContext: {
|
|
165
165
|
id: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BrowserReadAuthority } from '../api/types';
|
|
1
2
|
import type { BlockButtonRole } from '../../constants/buttonRoles';
|
|
2
3
|
import type { PublicEvent } from '../../blocks/events/shared/types';
|
|
3
4
|
import { type PublicMembershipProductCollection, type PublicPassProductCollection } from '../../blocks/shop.shared';
|
|
@@ -15,6 +16,7 @@ export type EventRegistrationSourceProps = Readonly<{
|
|
|
15
16
|
apiBaseUrl?: string;
|
|
16
17
|
portalToken?: string | null;
|
|
17
18
|
previewToken?: string | null;
|
|
19
|
+
readAuthority?: BrowserReadAuthority;
|
|
18
20
|
occurrenceContext?: OccurrenceContext | null;
|
|
19
21
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
20
22
|
events?: PublicEvent[] | null;
|
|
@@ -58,6 +60,7 @@ type EventRegistrationIslandMeta = Readonly<{
|
|
|
58
60
|
apiBaseUrl?: string;
|
|
59
61
|
portalToken?: string | null;
|
|
60
62
|
previewToken?: string | null;
|
|
63
|
+
readAuthority?: BrowserReadAuthority;
|
|
61
64
|
stage?: 'preview' | 'published';
|
|
62
65
|
}>;
|
|
63
66
|
export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[]): EventRegistrationDisplay;
|
|
@@ -69,6 +72,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
69
72
|
apiBaseUrl?: string;
|
|
70
73
|
portalToken?: string | null;
|
|
71
74
|
previewToken?: string | null;
|
|
75
|
+
readAuthority?: BrowserReadAuthority;
|
|
72
76
|
occurrenceContext?: OccurrenceContext | null;
|
|
73
77
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
74
78
|
events?: PublicEvent[] | null;
|
|
@@ -105,6 +109,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
105
109
|
apiBaseUrl?: string;
|
|
106
110
|
portalToken?: string | null;
|
|
107
111
|
previewToken?: string | null;
|
|
112
|
+
readAuthority?: BrowserReadAuthority;
|
|
108
113
|
occurrenceContext?: OccurrenceContext | null;
|
|
109
114
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
110
115
|
events?: PublicEvent[] | null;
|
|
@@ -134,6 +139,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
134
139
|
apiBaseUrl?: string;
|
|
135
140
|
portalToken?: string | null;
|
|
136
141
|
previewToken?: string | null;
|
|
142
|
+
readAuthority?: BrowserReadAuthority;
|
|
137
143
|
occurrenceContext?: OccurrenceContext | null;
|
|
138
144
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
139
145
|
events?: PublicEvent[] | null;
|
|
@@ -181,6 +187,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
181
187
|
apiBaseUrl?: string;
|
|
182
188
|
portalToken?: string | null;
|
|
183
189
|
previewToken?: string | null;
|
|
190
|
+
readAuthority?: BrowserReadAuthority;
|
|
184
191
|
stage?: "preview" | "published";
|
|
185
192
|
}> & {
|
|
186
193
|
renderKind: "client-owned";
|
|
@@ -198,6 +205,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
198
205
|
apiBaseUrl?: string;
|
|
199
206
|
portalToken?: string | null;
|
|
200
207
|
previewToken?: string | null;
|
|
208
|
+
readAuthority?: BrowserReadAuthority;
|
|
201
209
|
stage?: "preview" | "published";
|
|
202
210
|
}> & {
|
|
203
211
|
renderKind: "client-owned";
|