@riverbankcms/sdk 0.148.0 → 0.150.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/README.md +1 -1
- package/dist/EventEmbeddedCheckoutStep-D00Kc8Zj.mjs +285 -0
- package/dist/{PreviewEditorSidebar-DvEPG3Z2.mjs → PreviewEditorSidebar-7ZhmmnBB.mjs} +103 -66
- package/dist/{PreviewEditorUI-D6eb6fkx.mjs → PreviewEditorUI-BIJucTRd.mjs} +3 -6
- package/dist/{PreviewQueryProvider-5znTyJuz.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
- package/dist/{SdkPreviewModeRuntime-DJ6utQ_R.mjs → SdkPreviewModeRuntime-tj45gmCX.mjs} +96 -67
- package/dist/{SiteChromeCustomizeContext-CFJYh6vo.mjs → SiteChromeCustomizeContext-BFOt0ss-.mjs} +4804 -4161
- package/dist/_dts/ai/src/contracts/proposals.d.ts +660 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +510 -0
- package/dist/_dts/api/src/billing.d.ts +2 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +33 -48
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/bookingOperations.d.ts +5 -7
- package/dist/_dts/api/src/bookingRecords.d.ts +15 -11
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +0 -2
- package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
- package/dist/_dts/api/src/endpoints.d.ts +2 -10
- package/dist/_dts/api/src/eventManagementContracts.d.ts +4 -7
- package/dist/_dts/api/src/footerCompositionContracts.d.ts +9 -0
- package/dist/_dts/api/src/footerSettings.d.ts +3 -3
- package/dist/_dts/api/src/index.d.ts +4 -4
- package/dist/_dts/api/src/navigation/bookingPortalLink.d.ts +13 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -0
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +2 -2
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -29
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +9 -173
- package/dist/_dts/api/src/request.d.ts +1 -1
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +1 -1
- package/dist/_dts/api/src/sdkThemeWire.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
- package/dist/_dts/api/src/siteOperations.d.ts +6 -2
- package/dist/_dts/api/src/siteSettings.d.ts +2 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +2 -1
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +38 -10
- package/dist/_dts/blocks/src/portal/types.d.ts +9 -6
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +24 -24
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +30 -3
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +10 -1
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +38 -18
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/FullyBookedStep.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +15 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentLocation.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +72 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +66 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +13 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +11 -52
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +19 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -42
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +7 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +94 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useGuestRegistrationRecovery.d.ts +30 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +24 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useRegistrationAdmission.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +24 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -6
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/shared/stripe/browserStripe.d.ts +8 -0
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
- package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
- package/dist/_dts/commerce/src/purchase/checkoutCopy.d.ts +10 -0
- package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
- package/dist/_dts/commerce/src/purchase/checkoutPresentation.d.ts +49 -0
- package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +6 -6
- package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +5 -1
- package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +9 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +3 -3
- package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
- package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
- package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -1
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
- package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +9 -2
- package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/types.d.ts +7 -7
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +3 -2
- package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +6 -1
- package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +7 -0
- package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
- package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
- package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
- package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/edit-lease.d.ts +5 -0
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/patch/index.d.ts +30 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +326 -36
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
- package/dist/_dts/media-editor/src/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +0 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
- package/dist/_dts/preview-next/src/constants.d.ts +4 -0
- package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
- package/dist/_dts/sdk/src/bookings/index.d.ts +2 -1
- package/dist/_dts/sdk/src/bookings/types.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +147 -0
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +22 -0
- package/dist/_dts/theme-core/src/cards/roles.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +198 -0
- package/dist/_dts/theme-core/src/palette/utils/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/palette/utils/scrimContrast.d.ts +22 -0
- package/dist/_dts/theme-core/src/runtime/bridgeColourTokens.d.ts +10 -0
- package/dist/_dts/theme-core/src/schema.d.ts +330 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +0 -51
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +0 -51
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +11 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +7 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +7 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
- package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +12 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +7 -4
- package/dist/_dts/theme-core/src/site-styles/sectionSurfaceBackgrounds.d.ts +65 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +17 -0
- package/dist/_dts/theme-core/src/surfaces/opaqueSurface.d.ts +43 -0
- package/dist/_dts/ui/src/color-picker.d.ts +1 -1
- package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
- package/dist/client/{BookingMailingListNote-CzRt2dF_.mjs → BookingMailingListNote-CYHOufsI.mjs} +33 -124
- package/dist/client/{CheckboxChoice-B33MqoUo.mjs → CheckboxChoice-M-3HycLw.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-mxqwap3f.mjs → DemoBookingPortalAccess-Cvr9O_ca.mjs} +2 -2
- package/dist/client/{EventCombined.client-CDb11igO.mjs → EventCombined.client-m5UZIobP.mjs} +7 -7
- package/dist/client/EventEmbeddedCheckoutStep-DL6zFAkA.mjs +289 -0
- package/dist/client/{EventListing.client-EgYhzKPa.mjs → EventListing.client-DeMfCM04.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-gtmtaA2b.mjs → LeafletStaticMap-CvZ3gOdD.mjs} +1 -1
- package/dist/client/{checkoutUrls-CXhko2Rv.mjs → RichText-BtfNvQV6.mjs} +2 -29
- package/dist/client/{TerminalPanel-DvNUP5ot.mjs → TerminalPanel-CUCNEwlH.mjs} +2 -18
- package/dist/client/{ThemedButton-C7CeUJjW.mjs → ThemedButton-C7WhXuRl.mjs} +2 -2
- package/dist/client/{accordion-kjvt49rA.mjs → accordion-cQm5mjqs.mjs} +1 -1
- package/dist/client/{bookingForm-pbRZordh.mjs → bookingForm-BVPJE5RQ.mjs} +15 -11
- package/dist/client/bookings.mjs +2860 -1222
- package/dist/client/{carousel-f4Zbmicv.mjs → carousel-3vgnY7LC.mjs} +2 -2
- package/dist/client/{carousel.client-A2lG-9od.mjs → carousel.client-CISsdZvg.mjs} +1 -1
- package/dist/client/{cart-DO20An50.mjs → cart-BGK4oOjm.mjs} +3 -3
- package/dist/client/{checkout-Du5amDR_.mjs → checkout-GsBLUNJD.mjs} +3 -3
- package/dist/client/checkoutUrls-ChxwaNtO.mjs +28 -0
- package/dist/client/client.mjs +3324 -2053
- package/dist/client/{colorStyles-j5U9v5JA.mjs → colorStyles-D-32xHZh.mjs} +2 -30
- package/dist/client/{context-eW97E945.mjs → context-D_8s12Fp.mjs} +1 -1
- package/dist/client/{dates-jPCirRea.mjs → dates-DeJQbQ9T.mjs} +2 -2
- package/dist/client/{eventCalendar-C2M-iE4j.mjs → eventCalendar-cmucD4NR.mjs} +10 -10
- package/dist/client/{eventCombined-W6ns3LHg.mjs → eventCombined-ku3E9FTl.mjs} +4 -4
- package/dist/client/{eventDetails-CR-GT0f0.mjs → eventDetails-CyKZ61sF.mjs} +5 -5
- package/dist/client/{eventListing-BK8AfYZz.mjs → eventListing-B7yxGIhX.mjs} +4 -4
- package/dist/client/{eventRegistration-BJSd4KUu.mjs → eventRegistration-BoXfSFgZ.mjs} +1455 -1184
- package/dist/client/{form-BvpfbQaT.mjs → form-CNQOWhJo.mjs} +5 -5
- package/dist/client/{headerSection-I5sUQ8x-.mjs → headerSection-DahaBJGQ.mjs} +3 -3
- package/dist/client/hooks.mjs +283 -193
- package/dist/client/{locationMap-BLvwf9_f.mjs → locationMap-BoDjqYlW.mjs} +4 -4
- package/dist/client/{media-Cl38iOMI.mjs → media-BFY0y2rb.mjs} +2 -1
- package/dist/client/{newsletterForm-DrQ2weE8.mjs → newsletterForm-DtzXDklw.mjs} +4 -4
- package/dist/client/{pricing-BES87mrR.mjs → pricing-DXEh2Lhh.mjs} +1 -1
- package/dist/client/{productDetail-Url9jcc5.mjs → productDetail-D7cPa-00.mjs} +3 -3
- package/dist/client/{productList-DE7ngEZJ.mjs → productList-D1XMap66.mjs} +3 -3
- package/dist/client/{propsDecoder-D1OtGXDV.mjs → propsDecoder-DiIeBopB.mjs} +913 -322
- package/dist/client/rendering/client.mjs +3913 -2260
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3302 -2013
- package/dist/client/result-DRW7JWXz.mjs +30 -0
- package/dist/client/{routeIslandApiConfig-BG9Y-SHg.mjs → routeIslandApiConfig-wzR4lKAY.mjs} +1 -1
- package/dist/client/scrollToBlock-C86BYkyV.mjs +17 -0
- package/dist/client/{shop-CJkuySJ3.mjs → shop-CYT5P-S5.mjs} +13 -14
- package/dist/client/{shop-commerce-store-Bxm75Pg6.mjs → shop-commerce-store-wKhsJQxI.mjs} +1 -1
- package/dist/client/{shop-commerce-4rKj5n9h.mjs → shop-commerce-ypBu_dx4.mjs} +9 -9
- package/dist/client/{shopShared-DpoQDWfz.mjs → shopShared-DFGhYrf2.mjs} +52 -6
- package/dist/client/{useEventFilters-D8HliSqR.mjs → useEventFilters-blSbN5o7.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +15 -22
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/constants.mjs +5 -1
- package/dist/preview-next/index.mjs +5 -1
- package/dist/preview-next/keepAlive.mjs +149 -82
- package/dist/preview-next/middleware.mjs +15 -22
- package/dist/{previewAuthStore-BXXF3hhW.mjs → previewAuthStore-BBmV7UsW.mjs} +49 -29
- package/dist/{sdk-runtime-C2a05WjL.mjs → sdk-runtime-2p8uQk1V.mjs} +2 -2
- package/dist/{separator-CuNhBAhS.mjs → separator-Cvvzk0Oo.mjs} +1 -1
- package/dist/server/components.mjs +4041 -3704
- package/dist/server/config-validation.mjs +345 -255
- package/dist/server/config.mjs +345 -255
- package/dist/server/data.mjs +283 -193
- package/dist/server/index.mjs +20 -27
- package/dist/server/next.mjs +788 -469
- package/dist/server/page-converter.mjs +245 -121
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4018 -3690
- package/dist/server/rendering.mjs +4044 -3707
- package/dist/server/routing.mjs +314 -190
- package/dist/server/server.mjs +290 -218
- package/dist/server/theme-bridge.mjs +1122 -310
- package/dist/server/theme.mjs +126 -116
- package/dist/spinner-CDo6AkDz.mjs +658 -0
- package/dist/styles/index.css +75 -212
- package/package.json +1 -1
- package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
- package/dist/_dts/billing/src/checkout/platform.d.ts +0 -77
- package/dist/_dts/billing/src/config/env.d.ts +0 -29
- package/dist/_dts/billing/src/stripe/client.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +0 -63
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +0 -9
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
- package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
- package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
- package/dist/client/urlParams-D71VXFGx.mjs +0 -47
package/dist/server/server.mjs
CHANGED
|
@@ -2018,6 +2018,16 @@ function isRecord$18(value) {
|
|
|
2018
2018
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2019
2019
|
}
|
|
2020
2020
|
//#endregion
|
|
2021
|
+
//#region ../core/src/booking-payment-options.ts
|
|
2022
|
+
/** Automatic instalments and a flexible balance cannot share one booking offer. */
|
|
2023
|
+
function validateBookingPaymentOptionKinds(kinds) {
|
|
2024
|
+
if (kinds.length === 0) return err$1("no_options");
|
|
2025
|
+
const uniqueKinds = new Set(kinds);
|
|
2026
|
+
if (uniqueKinds.size !== kinds.length) return err$1("duplicate_kind");
|
|
2027
|
+
if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err$1("incompatible_collection_options");
|
|
2028
|
+
return ok$1(void 0);
|
|
2029
|
+
}
|
|
2030
|
+
//#endregion
|
|
2021
2031
|
//#region ../core/src/booking-time-zone.ts
|
|
2022
2032
|
const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
|
|
2023
2033
|
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
@@ -4098,7 +4108,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
|
|
|
4098
4108
|
stack: 8e3,
|
|
4099
4109
|
digest: 128,
|
|
4100
4110
|
componentStack: 8e3,
|
|
4101
|
-
sourceLocation: 1024
|
|
4111
|
+
sourceLocation: 1024,
|
|
4112
|
+
navigationAgeMs: 6e4
|
|
4102
4113
|
};
|
|
4103
4114
|
const clientErrorEventSchema = z.enum([
|
|
4104
4115
|
"dashboard:route-error",
|
|
@@ -4115,7 +4126,17 @@ z.object({
|
|
|
4115
4126
|
stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
|
|
4116
4127
|
digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
|
|
4117
4128
|
componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
|
|
4118
|
-
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
4129
|
+
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
|
|
4130
|
+
navigation: z.object({
|
|
4131
|
+
fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
4132
|
+
toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
4133
|
+
type: z.enum([
|
|
4134
|
+
"push",
|
|
4135
|
+
"replace",
|
|
4136
|
+
"traverse"
|
|
4137
|
+
]),
|
|
4138
|
+
ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
|
|
4139
|
+
}).strict().nullable().optional()
|
|
4119
4140
|
}).strict();
|
|
4120
4141
|
const API_ENDPOINTS$1 = {
|
|
4121
4142
|
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
@@ -7872,24 +7893,6 @@ const API_ENDPOINTS$1 = {
|
|
|
7872
7893
|
"server:internal_error"
|
|
7873
7894
|
]
|
|
7874
7895
|
},
|
|
7875
|
-
syncBookingPassWithStripe: {
|
|
7876
|
-
path: "/sites/{siteId}/bookings/passes/{passId}/sync-stripe",
|
|
7877
|
-
method: "POST",
|
|
7878
|
-
tags: [
|
|
7879
|
-
"site-{siteId}",
|
|
7880
|
-
"passes-{siteId}",
|
|
7881
|
-
"pass-{passId}"
|
|
7882
|
-
],
|
|
7883
|
-
auth: "user",
|
|
7884
|
-
responseKind: "json",
|
|
7885
|
-
errors: [
|
|
7886
|
-
"validation:invalid_input",
|
|
7887
|
-
"auth:forbidden",
|
|
7888
|
-
"resource:not_found",
|
|
7889
|
-
"resource:conflict",
|
|
7890
|
-
"server:internal_error"
|
|
7891
|
-
]
|
|
7892
|
-
},
|
|
7893
7896
|
refundCustomerPass: {
|
|
7894
7897
|
path: "/sites/{siteId}/bookings/customer-passes/{customerPassId}/refund",
|
|
7895
7898
|
method: "POST",
|
|
@@ -9353,7 +9356,7 @@ const API_ENDPOINTS$1 = {
|
|
|
9353
9356
|
]
|
|
9354
9357
|
},
|
|
9355
9358
|
cancelFlexibleBalanceBookingDueToNonPayment: {
|
|
9356
|
-
path: "/sites/{siteId}/shop/orders/{orderId}/
|
|
9359
|
+
path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/cancel-due-to-non-payment",
|
|
9357
9360
|
method: "POST",
|
|
9358
9361
|
auth: "user",
|
|
9359
9362
|
responseKind: "json",
|
|
@@ -9364,7 +9367,7 @@ const API_ENDPOINTS$1 = {
|
|
|
9364
9367
|
]
|
|
9365
9368
|
},
|
|
9366
9369
|
reopenFlexibleBalanceBookingAfterNonPaymentCancellation: {
|
|
9367
|
-
path: "/sites/{siteId}/shop/orders/{orderId}/
|
|
9370
|
+
path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/reopen",
|
|
9368
9371
|
method: "POST",
|
|
9369
9372
|
auth: "user",
|
|
9370
9373
|
responseKind: "json",
|
|
@@ -9869,14 +9872,14 @@ async function parseSuccessResponse(endpoint, response, config) {
|
|
|
9869
9872
|
default: return buildSuccessEnvelope(void 0, requestId);
|
|
9870
9873
|
}
|
|
9871
9874
|
}
|
|
9872
|
-
function createRawCMSClient(
|
|
9875
|
+
function createRawCMSClient(getHeaders = () => ({}), baseUrl) {
|
|
9873
9876
|
return ({ endpoint, body, params, options = {} }) => {
|
|
9874
9877
|
const plan = buildApiRequestPlan({
|
|
9875
9878
|
endpoint,
|
|
9876
9879
|
body,
|
|
9877
9880
|
params,
|
|
9878
9881
|
options,
|
|
9879
|
-
headers,
|
|
9882
|
+
headers: getHeaders(),
|
|
9880
9883
|
baseUrl: normalizeCmsApiBaseUrl(baseUrl ?? resolveApiBaseUrl()),
|
|
9881
9884
|
sdkVersion
|
|
9882
9885
|
});
|
|
@@ -9982,13 +9985,13 @@ function createParsedClient(rawClient) {
|
|
|
9982
9985
|
};
|
|
9983
9986
|
}
|
|
9984
9987
|
function createCMSClient(headers = {}, baseUrl) {
|
|
9985
|
-
return createParsedClient(createRawCMSClient(headers, baseUrl));
|
|
9988
|
+
return createParsedClient(createRawCMSClient(() => headers, baseUrl));
|
|
9986
9989
|
}
|
|
9987
9990
|
function createInternalAPIClient(baseUrl) {
|
|
9988
9991
|
return createCMSClient({}, baseUrl);
|
|
9989
9992
|
}
|
|
9990
9993
|
function createBearerAPIClient(token, baseUrl) {
|
|
9991
|
-
return
|
|
9994
|
+
return createParsedClient(createRawCMSClient(() => ({ Authorization: `Bearer ${typeof token === "function" ? token() : token}` }), baseUrl));
|
|
9992
9995
|
}
|
|
9993
9996
|
//#endregion
|
|
9994
9997
|
//#region src/client/cache.ts
|
|
@@ -10102,7 +10105,7 @@ var SimpleCache = class {
|
|
|
10102
10105
|
* 1. This constant
|
|
10103
10106
|
* 2. The "version" field in package.json
|
|
10104
10107
|
*/
|
|
10105
|
-
const SDK_VERSION = "0.
|
|
10108
|
+
const SDK_VERSION = "0.150.0";
|
|
10106
10109
|
//#endregion
|
|
10107
10110
|
//#region src/client/error.ts
|
|
10108
10111
|
let _Symbol$for;
|
|
@@ -12791,6 +12794,15 @@ function fallbackBackground(fallbackToken, palette) {
|
|
|
12791
12794
|
reason: "unresolvable-colour"
|
|
12792
12795
|
};
|
|
12793
12796
|
}
|
|
12797
|
+
/** Every role's contextual styles against one proven solid surface. */
|
|
12798
|
+
function knownSurfaceButtonContextStyles(input) {
|
|
12799
|
+
return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
|
|
12800
|
+
role,
|
|
12801
|
+
buttonSystem: input.buttonSystem,
|
|
12802
|
+
palette: input.palette,
|
|
12803
|
+
surface: input.surface
|
|
12804
|
+
})))));
|
|
12805
|
+
}
|
|
12794
12806
|
function resolveContextualButtonRole(input) {
|
|
12795
12807
|
const requested = findVariant(input.buttonSystem, input.role);
|
|
12796
12808
|
if (!requested) return {
|
|
@@ -15790,6 +15802,18 @@ function brandNonEmptyString(value, label) {
|
|
|
15790
15802
|
if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
|
|
15791
15803
|
return value;
|
|
15792
15804
|
}
|
|
15805
|
+
/**
|
|
15806
|
+
* What a block's own section background field admits, read from its manifest.
|
|
15807
|
+
* A site style's surface rule may paint a gradient or a photo; a block whose
|
|
15808
|
+
* `_sectionStyles.background` refuses that paint would be dropped at render
|
|
15809
|
+
* admission, so the runtime compiler paints the surface's colour equivalent
|
|
15810
|
+
* instead (see `compileSectionBackground`).
|
|
15811
|
+
*/
|
|
15812
|
+
const sectionBackgroundPaintValues = [
|
|
15813
|
+
"color",
|
|
15814
|
+
"gradient",
|
|
15815
|
+
"image"
|
|
15816
|
+
];
|
|
15793
15817
|
const plainFrame = { kind: "plain" };
|
|
15794
15818
|
function panelFrame(treatment) {
|
|
15795
15819
|
return {
|
|
@@ -15874,6 +15898,7 @@ function defineBlockDesignCapability(capability) {
|
|
|
15874
15898
|
...capability,
|
|
15875
15899
|
kind: "designed",
|
|
15876
15900
|
looks: capability.looks ?? "not-applicable",
|
|
15901
|
+
sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
|
|
15877
15902
|
sectionHeights: capability.sectionHeights ?? ["default"],
|
|
15878
15903
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
15879
15904
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
@@ -15886,6 +15911,10 @@ function defineBlockDesignCapability(capability) {
|
|
|
15886
15911
|
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
15887
15912
|
};
|
|
15888
15913
|
}
|
|
15914
|
+
/** Absent means the block admits every section background paint. */
|
|
15915
|
+
function admittedSectionBackgroundPaints(paints) {
|
|
15916
|
+
return paints ?? sectionBackgroundPaintValues;
|
|
15917
|
+
}
|
|
15889
15918
|
//#endregion
|
|
15890
15919
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
15891
15920
|
const logoTextConfidenceValues = [
|
|
@@ -16164,12 +16193,22 @@ const mediaPresentationSchema = commonSchema.extend({
|
|
|
16164
16193
|
const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
16165
16194
|
commonSchema.extend({
|
|
16166
16195
|
type: z.literal("color"),
|
|
16167
|
-
color: tokenOrCssColorValueSchema.nullable().optional()
|
|
16196
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
16197
|
+
/**
|
|
16198
|
+
* Compiler-owned. The scrim a site-style colour surface lays over media
|
|
16199
|
+
* that replaces it (a Look's band meeting an authored photo), sized so the
|
|
16200
|
+
* surface's foreground stays legible over any pixel. A colour background
|
|
16201
|
+
* never draws it itself; `resolveSectionBackground` moves it onto the
|
|
16202
|
+
* merged media background as its overlay.
|
|
16203
|
+
*/
|
|
16204
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
16168
16205
|
}),
|
|
16169
16206
|
commonSchema.extend({
|
|
16170
16207
|
type: z.literal("gradient"),
|
|
16171
16208
|
gradient: z.string().nullable().optional(),
|
|
16172
|
-
gradientPresetId: z.string().min(1).nullable().optional()
|
|
16209
|
+
gradientPresetId: z.string().min(1).nullable().optional(),
|
|
16210
|
+
/** Compiler-owned; see the colour branch. */
|
|
16211
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
16173
16212
|
}),
|
|
16174
16213
|
mediaPresentationSchema.extend({
|
|
16175
16214
|
type: z.literal("image"),
|
|
@@ -19898,6 +19937,17 @@ function defineBlockAppearancePreset(preset) {
|
|
|
19898
19937
|
* (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
|
|
19899
19938
|
* composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
|
|
19900
19939
|
* in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
|
|
19940
|
+
*
|
|
19941
|
+
* A Look asking for the `alternative` or `open` role is offered only where the
|
|
19942
|
+
* site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
|
|
19943
|
+
* that differ only in role are distinct wherever both are offered.
|
|
19944
|
+
*
|
|
19945
|
+
* Retiring a Look is removing its entry. A stored pin to a retired id reads as
|
|
19946
|
+
* an unsupported pin in the page design editor model and renders the block's
|
|
19947
|
+
* auto Look, the same path an unavailable Look takes. Duplicates retired in
|
|
19948
|
+
* the 2026-09 Look audit: `feature-cards-soft-panels`,
|
|
19949
|
+
* `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
|
|
19950
|
+
* `testimonials-default-cards`.
|
|
19901
19951
|
*/
|
|
19902
19952
|
const brandScrimOptionGroups = [{
|
|
19903
19953
|
id: "image-surface-treatment",
|
|
@@ -20282,16 +20332,6 @@ defineBlockAppearancePreset({
|
|
|
20282
20332
|
treatment: "framed-programme"
|
|
20283
20333
|
}
|
|
20284
20334
|
}
|
|
20285
|
-
}), defineBlockAppearancePreset({
|
|
20286
|
-
id: "feature-cards-soft-panels",
|
|
20287
|
-
target: "feature-cards",
|
|
20288
|
-
label: "Soft tinted panels",
|
|
20289
|
-
blockKinds: ["block.feature-cards"],
|
|
20290
|
-
design: {
|
|
20291
|
-
sectionSurface: "base",
|
|
20292
|
-
contentFrame: plainFrame,
|
|
20293
|
-
cardRole: "alternative"
|
|
20294
|
-
}
|
|
20295
20335
|
}), defineBlockAppearancePreset({
|
|
20296
20336
|
id: "feature-cards-editorial-diptych",
|
|
20297
20337
|
target: "feature-cards",
|
|
@@ -20303,27 +20343,6 @@ defineBlockAppearancePreset({
|
|
|
20303
20343
|
contentFrame: plainFrame,
|
|
20304
20344
|
cardRole: "default"
|
|
20305
20345
|
}
|
|
20306
|
-
}), defineBlockAppearancePreset({
|
|
20307
|
-
id: "feature-cards-editorial-pathways",
|
|
20308
|
-
target: "feature-cards",
|
|
20309
|
-
label: "Editorial pathways",
|
|
20310
|
-
blockKinds: ["block.feature-cards"],
|
|
20311
|
-
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
20312
|
-
design: {
|
|
20313
|
-
sectionSurface: "base",
|
|
20314
|
-
contentFrame: plainFrame,
|
|
20315
|
-
cardRole: "default"
|
|
20316
|
-
}
|
|
20317
|
-
}), defineBlockAppearancePreset({
|
|
20318
|
-
id: "feature-cards-photo-tiles",
|
|
20319
|
-
target: "feature-cards",
|
|
20320
|
-
label: "Photo tiles",
|
|
20321
|
-
blockKinds: ["block.feature-cards"],
|
|
20322
|
-
design: {
|
|
20323
|
-
sectionSurface: "base",
|
|
20324
|
-
contentFrame: plainFrame,
|
|
20325
|
-
cardRole: "default"
|
|
20326
|
-
}
|
|
20327
20346
|
}), defineBlockAppearancePreset({
|
|
20328
20347
|
id: "events-lined-panel",
|
|
20329
20348
|
target: "events",
|
|
@@ -20412,16 +20431,6 @@ defineBlockAppearancePreset({
|
|
|
20412
20431
|
contentFrame: panelFrame("raised"),
|
|
20413
20432
|
cardRole: "default"
|
|
20414
20433
|
}
|
|
20415
|
-
}), defineBlockAppearancePreset({
|
|
20416
|
-
id: "testimonials-default-cards",
|
|
20417
|
-
target: "testimonials",
|
|
20418
|
-
label: "Default cards",
|
|
20419
|
-
blockKinds: ["block.testimonials"],
|
|
20420
|
-
design: {
|
|
20421
|
-
sectionSurface: "base",
|
|
20422
|
-
contentFrame: plainFrame,
|
|
20423
|
-
cardRole: "default"
|
|
20424
|
-
}
|
|
20425
20434
|
}), defineBlockAppearancePreset({
|
|
20426
20435
|
id: "testimonials-statement-cards",
|
|
20427
20436
|
target: "testimonials",
|
|
@@ -25231,9 +25240,7 @@ const curatedSiteStyles = [
|
|
|
25231
25240
|
recommendedAppearancePresetIds: [
|
|
25232
25241
|
"hero-split-editorial",
|
|
25233
25242
|
"intro-portrait-bio",
|
|
25234
|
-
"feature-cards-
|
|
25235
|
-
"feature-cards-editorial-columns",
|
|
25236
|
-
"feature-cards-photo-tiles",
|
|
25243
|
+
"feature-cards-bold-colors",
|
|
25237
25244
|
"testimonials-non-carded",
|
|
25238
25245
|
"faq-contained-help",
|
|
25239
25246
|
"contact-form-panel"
|
|
@@ -25877,8 +25884,7 @@ const curatedSiteStyles = [
|
|
|
25877
25884
|
"intro-portrait-bio",
|
|
25878
25885
|
"feature-cards-editorial-columns",
|
|
25879
25886
|
"feature-cards-editorial-diptych",
|
|
25880
|
-
"feature-cards-
|
|
25881
|
-
"feature-cards-soft-panels",
|
|
25887
|
+
"feature-cards-bold-colors",
|
|
25882
25888
|
"events-lined-panel",
|
|
25883
25889
|
"testimonials-non-carded",
|
|
25884
25890
|
"faq-base-accordion",
|
|
@@ -26536,6 +26542,34 @@ function withLookCapability(declaration) {
|
|
|
26536
26542
|
}
|
|
26537
26543
|
};
|
|
26538
26544
|
}
|
|
26545
|
+
/**
|
|
26546
|
+
* The section background paints a block's own `_sectionStyles.background`
|
|
26547
|
+
* field admits, read from its manifest so the design capability cannot drift
|
|
26548
|
+
* from what render admission accepts. A block without the field admits none.
|
|
26549
|
+
*/
|
|
26550
|
+
function sectionBackgroundPaintsOfFields(fields) {
|
|
26551
|
+
const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
|
|
26552
|
+
if (!sectionStyles || sectionStyles.type !== "modal") return [];
|
|
26553
|
+
const background = sectionStyles.schema.fields.find((field) => field.id === "background");
|
|
26554
|
+
if (!background || background.type !== "tabGroup") return [];
|
|
26555
|
+
const tabIds = new Set(background.tabs.map((tab) => tab.id));
|
|
26556
|
+
return [
|
|
26557
|
+
"color",
|
|
26558
|
+
"gradient",
|
|
26559
|
+
"image"
|
|
26560
|
+
].filter((paint) => tabIds.has(paint));
|
|
26561
|
+
}
|
|
26562
|
+
/** Pins a designed capability's section background paints to the block's manifest. */
|
|
26563
|
+
function withManifestSectionBackgroundPaints(declaration, fields) {
|
|
26564
|
+
if (declaration.kind !== "capability") return declaration;
|
|
26565
|
+
return {
|
|
26566
|
+
kind: "capability",
|
|
26567
|
+
capability: {
|
|
26568
|
+
...declaration.capability,
|
|
26569
|
+
sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
|
|
26570
|
+
}
|
|
26571
|
+
};
|
|
26572
|
+
}
|
|
26539
26573
|
function declareNoBlockDesignCapability(reason) {
|
|
26540
26574
|
return {
|
|
26541
26575
|
kind: "none",
|
|
@@ -28429,15 +28463,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
|
|
|
28429
28463
|
if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
|
|
28430
28464
|
const cached = surfaceCache.get(cacheKey);
|
|
28431
28465
|
if (cached) return cached;
|
|
28432
|
-
const styles =
|
|
28433
|
-
|
|
28434
|
-
|
|
28435
|
-
|
|
28436
|
-
|
|
28437
|
-
surface: surface.surface
|
|
28438
|
-
});
|
|
28439
|
-
return Object.entries(contextualButtonSurfaceStyles(resolution));
|
|
28440
|
-
}));
|
|
28466
|
+
const styles = knownSurfaceButtonContextStyles({
|
|
28467
|
+
surface: surface.surface,
|
|
28468
|
+
palette,
|
|
28469
|
+
buttonSystem
|
|
28470
|
+
});
|
|
28441
28471
|
surfaceCache.set(cacheKey, styles);
|
|
28442
28472
|
return styles;
|
|
28443
28473
|
}
|
|
@@ -35153,6 +35183,20 @@ const footerEngagement = stack({
|
|
|
35153
35183
|
...footerSpamProtectionBinding
|
|
35154
35184
|
}), [], when("module.engagement.kind", { equals: "mailing-list" }))
|
|
35155
35185
|
], when("module.kind", { equals: "engagement" }));
|
|
35186
|
+
const platformAttribution = el("div", {
|
|
35187
|
+
className: "rb-caption",
|
|
35188
|
+
"data-site-attribution": "macadamia"
|
|
35189
|
+
}, [
|
|
35190
|
+
text({ as: "span" }, bind("module.lead")),
|
|
35191
|
+
text({
|
|
35192
|
+
as: "span",
|
|
35193
|
+
value: " "
|
|
35194
|
+
}),
|
|
35195
|
+
link({
|
|
35196
|
+
href: { $bind: { from: "module.link.href" } },
|
|
35197
|
+
className: "footer-nav-link rb-caption transition-theme-standard"
|
|
35198
|
+
}, [text({ as: "span" }, bind("module.link.label"))])
|
|
35199
|
+
], when("module.kind", { equals: "attribution" }));
|
|
35156
35200
|
const footerGroup = stack({
|
|
35157
35201
|
gap: "md",
|
|
35158
35202
|
align: "stretch",
|
|
@@ -35182,6 +35226,7 @@ const footerGroup = stack({
|
|
|
35182
35226
|
hours,
|
|
35183
35227
|
socials,
|
|
35184
35228
|
footerEngagement,
|
|
35229
|
+
platformAttribution,
|
|
35185
35230
|
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
35186
35231
|
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
35187
35232
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
@@ -37043,68 +37088,115 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
37043
37088
|
} }
|
|
37044
37089
|
};
|
|
37045
37090
|
//#endregion
|
|
37046
|
-
//#region ../
|
|
37047
|
-
const
|
|
37048
|
-
const
|
|
37049
|
-
|
|
37050
|
-
|
|
37051
|
-
|
|
37052
|
-
|
|
37053
|
-
|
|
37054
|
-
intervalUnit: z.enum([
|
|
37055
|
-
"day",
|
|
37056
|
-
"week",
|
|
37057
|
-
"month"
|
|
37058
|
-
])
|
|
37059
|
-
}),
|
|
37060
|
-
z.object({
|
|
37061
|
-
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
37062
|
-
depositAmountCents: z.number().int().min(0),
|
|
37063
|
-
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
37064
|
-
instalmentCount: z.number().int().positive(),
|
|
37065
|
-
intervalCount: z.number().int().positive(),
|
|
37066
|
-
intervalUnit: z.enum([
|
|
37067
|
-
"day",
|
|
37068
|
-
"week",
|
|
37069
|
-
"month"
|
|
37070
|
-
])
|
|
37071
|
-
}),
|
|
37072
|
-
z.object({
|
|
37073
|
-
kind: z.literal("equal_scheduled_instalments"),
|
|
37074
|
-
instalmentCount: z.number().int().positive(),
|
|
37075
|
-
intervalCount: z.number().int().positive(),
|
|
37076
|
-
intervalUnit: z.enum([
|
|
37077
|
-
"day",
|
|
37078
|
-
"week",
|
|
37079
|
-
"month"
|
|
37080
|
-
])
|
|
37081
|
-
})
|
|
37091
|
+
//#region ../core/src/booking-payment-schemas.ts
|
|
37092
|
+
const stripObject = (shape) => z.object(shape);
|
|
37093
|
+
const strictObject = (shape) => z.strictObject(shape);
|
|
37094
|
+
const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
37095
|
+
const intervalUnitSchema = z.enum([
|
|
37096
|
+
"day",
|
|
37097
|
+
"week",
|
|
37098
|
+
"month"
|
|
37082
37099
|
]);
|
|
37083
|
-
const
|
|
37084
|
-
|
|
37085
|
-
|
|
37086
|
-
|
|
37087
|
-
|
|
37088
|
-
|
|
37089
|
-
|
|
37090
|
-
|
|
37091
|
-
|
|
37092
|
-
|
|
37093
|
-
|
|
37094
|
-
|
|
37095
|
-
|
|
37096
|
-
|
|
37097
|
-
|
|
37098
|
-
|
|
37099
|
-
|
|
37100
|
-
|
|
37101
|
-
|
|
37102
|
-
|
|
37103
|
-
|
|
37104
|
-
|
|
37105
|
-
|
|
37106
|
-
|
|
37107
|
-
|
|
37100
|
+
const nonNegativeIntegerSchema = z.number().int().nonnegative();
|
|
37101
|
+
const positiveIntegerSchema = z.number().int().positive();
|
|
37102
|
+
function createInstalmentPlanSchema(object) {
|
|
37103
|
+
return z.discriminatedUnion("kind", [
|
|
37104
|
+
object({
|
|
37105
|
+
kind: z.literal("deposit_plus_one_remainder"),
|
|
37106
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
37107
|
+
depositRefundability: depositRefundPolicySchema,
|
|
37108
|
+
remainderDueCount: positiveIntegerSchema,
|
|
37109
|
+
intervalUnit: intervalUnitSchema
|
|
37110
|
+
}),
|
|
37111
|
+
object({
|
|
37112
|
+
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
37113
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
37114
|
+
depositRefundability: depositRefundPolicySchema,
|
|
37115
|
+
instalmentCount: positiveIntegerSchema,
|
|
37116
|
+
intervalCount: positiveIntegerSchema,
|
|
37117
|
+
intervalUnit: intervalUnitSchema
|
|
37118
|
+
}),
|
|
37119
|
+
object({
|
|
37120
|
+
kind: z.literal("equal_scheduled_instalments"),
|
|
37121
|
+
instalmentCount: positiveIntegerSchema,
|
|
37122
|
+
intervalCount: positiveIntegerSchema,
|
|
37123
|
+
intervalUnit: intervalUnitSchema
|
|
37124
|
+
})
|
|
37125
|
+
]);
|
|
37126
|
+
}
|
|
37127
|
+
function createFlexibleBalanceSchemas(object) {
|
|
37128
|
+
const dueDateRule = z.discriminatedUnion("kind", [object({
|
|
37129
|
+
kind: z.literal("relative_to_start_date"),
|
|
37130
|
+
daysBeforeStart: positiveIntegerSchema
|
|
37131
|
+
}), object({
|
|
37132
|
+
kind: z.literal("fixed_calendar_date"),
|
|
37133
|
+
dueAt: z.string().datetime()
|
|
37134
|
+
})]);
|
|
37135
|
+
return {
|
|
37136
|
+
dueDateRule,
|
|
37137
|
+
config: object({
|
|
37138
|
+
upfrontAmountCents: nonNegativeIntegerSchema,
|
|
37139
|
+
dueDateRule,
|
|
37140
|
+
depositRefundability: depositRefundPolicySchema
|
|
37141
|
+
})
|
|
37142
|
+
};
|
|
37143
|
+
}
|
|
37144
|
+
const paymentOptionKindsMessages = {
|
|
37145
|
+
no_options: "Choose at least one way for customers to pay.",
|
|
37146
|
+
duplicate_kind: "Choose each payment option only once.",
|
|
37147
|
+
incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
|
|
37148
|
+
};
|
|
37149
|
+
function buildBookingPaymentOptionSchemas(object) {
|
|
37150
|
+
const instalmentPlan = createInstalmentPlanSchema(object);
|
|
37151
|
+
const flexibleBalance = createFlexibleBalanceSchemas(object);
|
|
37152
|
+
const paymentCollectionOption = z.discriminatedUnion("kind", [
|
|
37153
|
+
object({ kind: z.literal("upfront") }),
|
|
37154
|
+
object({ kind: z.literal("deferred_manual") }),
|
|
37155
|
+
object({
|
|
37156
|
+
kind: z.literal("instalment_plan"),
|
|
37157
|
+
plan: instalmentPlan
|
|
37158
|
+
}),
|
|
37159
|
+
object({
|
|
37160
|
+
kind: z.literal("flexible_balance"),
|
|
37161
|
+
config: flexibleBalance.config
|
|
37162
|
+
})
|
|
37163
|
+
]);
|
|
37164
|
+
const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
|
|
37165
|
+
const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
|
|
37166
|
+
if (!result.ok) ctx.addIssue({
|
|
37167
|
+
code: "custom",
|
|
37168
|
+
path: ["allowedOptions"],
|
|
37169
|
+
message: paymentOptionKindsMessages[result.error]
|
|
37170
|
+
});
|
|
37171
|
+
});
|
|
37172
|
+
const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
|
|
37173
|
+
source: z.literal("custom"),
|
|
37174
|
+
paymentTerms
|
|
37175
|
+
})]);
|
|
37176
|
+
return {
|
|
37177
|
+
depositRefundPolicy: depositRefundPolicySchema,
|
|
37178
|
+
instalmentPlan,
|
|
37179
|
+
flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
|
|
37180
|
+
flexibleBalanceConfig: flexibleBalance.config,
|
|
37181
|
+
paymentCollectionOption,
|
|
37182
|
+
paymentTerms,
|
|
37183
|
+
paymentOptionsChoice
|
|
37184
|
+
};
|
|
37185
|
+
}
|
|
37186
|
+
function createBookingPaymentOptionSchemas(mode) {
|
|
37187
|
+
return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
|
|
37188
|
+
}
|
|
37189
|
+
const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
|
|
37190
|
+
bookingPaymentOptionSchemas.depositRefundPolicy;
|
|
37191
|
+
bookingPaymentOptionSchemas.instalmentPlan;
|
|
37192
|
+
bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
|
|
37193
|
+
bookingPaymentOptionSchemas.flexibleBalanceConfig;
|
|
37194
|
+
bookingPaymentOptionSchemas.paymentCollectionOption;
|
|
37195
|
+
const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
|
|
37196
|
+
bookingPaymentOptionSchemas.paymentOptionsChoice;
|
|
37197
|
+
//#endregion
|
|
37198
|
+
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
37199
|
+
const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
|
|
37108
37200
|
//#endregion
|
|
37109
37201
|
//#region ../blocks/src/system/blocks/shared/bookingConsent.ts
|
|
37110
37202
|
const blockBookingConsentSchema = z.object({
|
|
@@ -37706,7 +37798,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
|
|
|
37706
37798
|
/**
|
|
37707
37799
|
* Public membership product for shop display
|
|
37708
37800
|
*/
|
|
37709
|
-
const
|
|
37801
|
+
const publicMembershipProductFields = {
|
|
37710
37802
|
id: z.string(),
|
|
37711
37803
|
name: z.string(),
|
|
37712
37804
|
description: z.string().nullable(),
|
|
@@ -37715,7 +37807,16 @@ const publicMembershipProductSchema = z.object({
|
|
|
37715
37807
|
billingInterval: z.enum(["month", "year"]),
|
|
37716
37808
|
eligibleCategoryIds: z.array(z.string()),
|
|
37717
37809
|
eligibleCategoryNames: z.array(z.string())
|
|
37810
|
+
};
|
|
37811
|
+
const purchasablePublicMembershipProductSchema = z.object({
|
|
37812
|
+
...publicMembershipProductFields,
|
|
37813
|
+
purchaseAvailability: z.literal("purchasable")
|
|
37718
37814
|
});
|
|
37815
|
+
const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
|
|
37816
|
+
...publicMembershipProductFields,
|
|
37817
|
+
purchaseAvailability: z.literal("display_only"),
|
|
37818
|
+
unavailabilityReason: z.literal("online_payments_unavailable")
|
|
37819
|
+
})]);
|
|
37719
37820
|
const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
|
|
37720
37821
|
//#endregion
|
|
37721
37822
|
//#region ../blocks/src/system/blocks/event-registration.shared.ts
|
|
@@ -37915,14 +38016,18 @@ const calendarTabViewsSchema = z.enum([
|
|
|
37915
38016
|
* @param needsPaymentStep - Whether user must complete payment method selection
|
|
37916
38017
|
* @returns Array of wizard steps to display
|
|
37917
38018
|
*/
|
|
37918
|
-
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
38019
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
|
|
37919
38020
|
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
|
|
37920
38021
|
"select-event",
|
|
37921
38022
|
"select-tickets",
|
|
37922
38023
|
"enter-details"
|
|
37923
38024
|
];
|
|
37924
38025
|
if (!needsPaymentStep) return baseSteps;
|
|
37925
|
-
return [
|
|
38026
|
+
return paymentActive ? [
|
|
38027
|
+
...baseSteps,
|
|
38028
|
+
"select-payment",
|
|
38029
|
+
"payment"
|
|
38030
|
+
] : [...baseSteps, "select-payment"];
|
|
37926
38031
|
}
|
|
37927
38032
|
//#endregion
|
|
37928
38033
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
@@ -38041,6 +38146,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
38041
38146
|
"Date",
|
|
38042
38147
|
"Tickets",
|
|
38043
38148
|
"Details",
|
|
38149
|
+
"Payment options",
|
|
38044
38150
|
"Payment"
|
|
38045
38151
|
];
|
|
38046
38152
|
const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
@@ -38183,12 +38289,13 @@ function shellLabelForRegistrationStep(step, events) {
|
|
|
38183
38289
|
switch (step) {
|
|
38184
38290
|
case "select-event": return isDateSelection(events) ? "Date" : "Event";
|
|
38185
38291
|
case "select-tickets": return "Tickets";
|
|
38292
|
+
case "fully-booked":
|
|
38186
38293
|
case "enter-details": return "Details";
|
|
38187
|
-
case "select-payment": return "Payment";
|
|
38294
|
+
case "select-payment": return "Payment options";
|
|
38295
|
+
case "payment": return "Payment";
|
|
38188
38296
|
case "error":
|
|
38189
38297
|
case "success":
|
|
38190
38298
|
case "submitting":
|
|
38191
|
-
case "redirecting":
|
|
38192
38299
|
case "verifying-payment":
|
|
38193
38300
|
case "verifying-timeout":
|
|
38194
38301
|
case "payment-status":
|
|
@@ -38200,7 +38307,7 @@ function isDateSelection(events) {
|
|
|
38200
38307
|
return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
|
|
38201
38308
|
}
|
|
38202
38309
|
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
38203
|
-
if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
|
|
38310
|
+
if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
|
|
38204
38311
|
if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
|
|
38205
38312
|
return "Preparing dates, tickets, and booking details.";
|
|
38206
38313
|
}
|
|
@@ -40175,7 +40282,8 @@ const eventCalendarLayout = [styledSection({
|
|
|
40175
40282
|
fallback: false
|
|
40176
40283
|
} },
|
|
40177
40284
|
banded: { $bind: {
|
|
40178
|
-
from: "content
|
|
40285
|
+
from: "content",
|
|
40286
|
+
transforms: [{ id: "events.calendarBanded" }],
|
|
40179
40287
|
fallback: false
|
|
40180
40288
|
} }
|
|
40181
40289
|
}))]
|
|
@@ -43672,7 +43780,7 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
43672
43780
|
product: pass
|
|
43673
43781
|
} : {
|
|
43674
43782
|
kind: "unavailable",
|
|
43675
|
-
label: "Online purchasing
|
|
43783
|
+
label: "Online purchasing is unavailable."
|
|
43676
43784
|
}
|
|
43677
43785
|
};
|
|
43678
43786
|
});
|
|
@@ -43682,7 +43790,14 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
43682
43790
|
description: options.showDescriptions ? membership.description : null,
|
|
43683
43791
|
priceLabel: formatCommercePrice(membership.price, membership.currency),
|
|
43684
43792
|
intervalLabel: formatInterval(membership.billingInterval),
|
|
43685
|
-
|
|
43793
|
+
action: membership.purchaseAvailability === "purchasable" ? {
|
|
43794
|
+
kind: "purchase",
|
|
43795
|
+
label: options.membershipActionLabel,
|
|
43796
|
+
product: membership
|
|
43797
|
+
} : {
|
|
43798
|
+
kind: "unavailable",
|
|
43799
|
+
label: "Online purchasing is unavailable."
|
|
43800
|
+
}
|
|
43686
43801
|
}));
|
|
43687
43802
|
return {
|
|
43688
43803
|
kind: "passes-memberships",
|
|
@@ -43902,7 +44017,14 @@ const membershipCardDisplaySchema = z.object({
|
|
|
43902
44017
|
description: z.string().nullable(),
|
|
43903
44018
|
priceLabel: z.string(),
|
|
43904
44019
|
intervalLabel: z.string(),
|
|
43905
|
-
|
|
44020
|
+
action: z.discriminatedUnion("kind", [z.object({
|
|
44021
|
+
kind: z.literal("purchase"),
|
|
44022
|
+
label: z.string(),
|
|
44023
|
+
product: purchasablePublicMembershipProductSchema
|
|
44024
|
+
}), z.object({
|
|
44025
|
+
kind: z.literal("unavailable"),
|
|
44026
|
+
label: z.string()
|
|
44027
|
+
})])
|
|
43906
44028
|
});
|
|
43907
44029
|
const passesMembershipsDisplaySchema = z.object({
|
|
43908
44030
|
kind: z.literal("passes-memberships"),
|
|
@@ -46545,7 +46667,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
|
|
|
46545
46667
|
if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
|
|
46546
46668
|
return {
|
|
46547
46669
|
...definition,
|
|
46548
|
-
designCapability,
|
|
46670
|
+
designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
|
|
46549
46671
|
designMetadata,
|
|
46550
46672
|
manifest: {
|
|
46551
46673
|
...definition.manifest,
|
|
@@ -47596,6 +47718,16 @@ const defaultTransforms = createTransformRegistry([
|
|
|
47596
47718
|
return resolveCalendarReadProfile(asPartialObject(value) ?? {});
|
|
47597
47719
|
}
|
|
47598
47720
|
},
|
|
47721
|
+
{
|
|
47722
|
+
id: "events.calendarBanded",
|
|
47723
|
+
kind: "formatter",
|
|
47724
|
+
summary: "Paint the week-board band only on a section with no background of its own",
|
|
47725
|
+
run(value) {
|
|
47726
|
+
const content = asPartialObject(value) ?? {};
|
|
47727
|
+
const sectionStyles = asPartialObject(content._sectionStyles);
|
|
47728
|
+
return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
|
|
47729
|
+
}
|
|
47730
|
+
},
|
|
47599
47731
|
...formattingTransforms,
|
|
47600
47732
|
...layoutTransforms,
|
|
47601
47733
|
...chromeLogoTransforms,
|
|
@@ -51138,6 +51270,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
|
51138
51270
|
"refund_failed"
|
|
51139
51271
|
];
|
|
51140
51272
|
const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
51273
|
+
"refund_blocked_by_live_payment_terms",
|
|
51141
51274
|
...CANONICAL_REFUND_PLANNER_ERROR_CODES,
|
|
51142
51275
|
"payment_intent_not_found",
|
|
51143
51276
|
"stripe_error",
|
|
@@ -51153,6 +51286,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
|
51153
51286
|
//#endregion
|
|
51154
51287
|
//#region ../api/src/bookingRefundOutcomes.ts
|
|
51155
51288
|
const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
51289
|
+
"refund_blocked_by_live_payment_terms",
|
|
51156
51290
|
"missing_amount",
|
|
51157
51291
|
"invalid_amount",
|
|
51158
51292
|
"amount_exceeds_remaining",
|
|
@@ -51515,68 +51649,6 @@ function collectText(node) {
|
|
|
51515
51649
|
}
|
|
51516
51650
|
z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
|
|
51517
51651
|
//#endregion
|
|
51518
|
-
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
51519
|
-
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
51520
|
-
const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
|
|
51521
|
-
z.object({
|
|
51522
|
-
kind: z.literal("deposit_plus_one_remainder"),
|
|
51523
|
-
depositAmountCents: z.number().int().nonnegative(),
|
|
51524
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
51525
|
-
remainderDueCount: z.number().int().positive(),
|
|
51526
|
-
intervalUnit: z.enum([
|
|
51527
|
-
"day",
|
|
51528
|
-
"week",
|
|
51529
|
-
"month"
|
|
51530
|
-
])
|
|
51531
|
-
}),
|
|
51532
|
-
z.object({
|
|
51533
|
-
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
51534
|
-
depositAmountCents: z.number().int().nonnegative(),
|
|
51535
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
51536
|
-
instalmentCount: z.number().int().positive(),
|
|
51537
|
-
intervalCount: z.number().int().positive(),
|
|
51538
|
-
intervalUnit: z.enum([
|
|
51539
|
-
"day",
|
|
51540
|
-
"week",
|
|
51541
|
-
"month"
|
|
51542
|
-
])
|
|
51543
|
-
}),
|
|
51544
|
-
z.object({
|
|
51545
|
-
kind: z.literal("equal_scheduled_instalments"),
|
|
51546
|
-
instalmentCount: z.number().int().positive(),
|
|
51547
|
-
intervalCount: z.number().int().positive(),
|
|
51548
|
-
intervalUnit: z.enum([
|
|
51549
|
-
"day",
|
|
51550
|
-
"week",
|
|
51551
|
-
"month"
|
|
51552
|
-
])
|
|
51553
|
-
})
|
|
51554
|
-
]);
|
|
51555
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
|
|
51556
|
-
kind: z.literal("relative_to_start_date"),
|
|
51557
|
-
daysBeforeStart: z.number().int().positive()
|
|
51558
|
-
}), z.object({
|
|
51559
|
-
kind: z.literal("fixed_calendar_date"),
|
|
51560
|
-
dueAt: z.string().datetime()
|
|
51561
|
-
})]);
|
|
51562
|
-
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
51563
|
-
upfrontAmountCents: z.number().int().nonnegative(),
|
|
51564
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
51565
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
51566
|
-
});
|
|
51567
|
-
z.discriminatedUnion("kind", [
|
|
51568
|
-
z.object({ kind: z.literal("upfront") }),
|
|
51569
|
-
z.object({ kind: z.literal("deferred_manual") }),
|
|
51570
|
-
z.object({
|
|
51571
|
-
kind: z.literal("instalment_plan"),
|
|
51572
|
-
plan: bookingInstalmentPlanSchema
|
|
51573
|
-
}),
|
|
51574
|
-
z.object({
|
|
51575
|
-
kind: z.literal("flexible_balance"),
|
|
51576
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
51577
|
-
})
|
|
51578
|
-
]);
|
|
51579
|
-
//#endregion
|
|
51580
51652
|
//#region ../api/src/aiPlayground.ts
|
|
51581
51653
|
/**
|
|
51582
51654
|
* RFC-6902 JSON Patch Operations
|