@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/client/hooks.mjs
CHANGED
|
@@ -344,6 +344,16 @@ function isRecord$16(value) {
|
|
|
344
344
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
345
345
|
}
|
|
346
346
|
//#endregion
|
|
347
|
+
//#region ../core/src/booking-payment-options.ts
|
|
348
|
+
/** Automatic instalments and a flexible balance cannot share one booking offer. */
|
|
349
|
+
function validateBookingPaymentOptionKinds(kinds) {
|
|
350
|
+
if (kinds.length === 0) return err("no_options");
|
|
351
|
+
const uniqueKinds = new Set(kinds);
|
|
352
|
+
if (uniqueKinds.size !== kinds.length) return err("duplicate_kind");
|
|
353
|
+
if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err("incompatible_collection_options");
|
|
354
|
+
return ok(void 0);
|
|
355
|
+
}
|
|
356
|
+
//#endregion
|
|
347
357
|
//#region ../core/src/booking-time-zone.ts
|
|
348
358
|
const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
|
|
349
359
|
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
@@ -3923,6 +3933,15 @@ function fallbackBackground(fallbackToken, palette) {
|
|
|
3923
3933
|
reason: "unresolvable-colour"
|
|
3924
3934
|
};
|
|
3925
3935
|
}
|
|
3936
|
+
/** Every role's contextual styles against one proven solid surface. */
|
|
3937
|
+
function knownSurfaceButtonContextStyles(input) {
|
|
3938
|
+
return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
|
|
3939
|
+
role,
|
|
3940
|
+
buttonSystem: input.buttonSystem,
|
|
3941
|
+
palette: input.palette,
|
|
3942
|
+
surface: input.surface
|
|
3943
|
+
})))));
|
|
3944
|
+
}
|
|
3926
3945
|
function resolveContextualButtonRole(input) {
|
|
3927
3946
|
const requested = findVariant(input.buttonSystem, input.role);
|
|
3928
3947
|
if (!requested) return {
|
|
@@ -6922,6 +6941,18 @@ function brandNonEmptyString(value, label) {
|
|
|
6922
6941
|
if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
|
|
6923
6942
|
return value;
|
|
6924
6943
|
}
|
|
6944
|
+
/**
|
|
6945
|
+
* What a block's own section background field admits, read from its manifest.
|
|
6946
|
+
* A site style's surface rule may paint a gradient or a photo; a block whose
|
|
6947
|
+
* `_sectionStyles.background` refuses that paint would be dropped at render
|
|
6948
|
+
* admission, so the runtime compiler paints the surface's colour equivalent
|
|
6949
|
+
* instead (see `compileSectionBackground`).
|
|
6950
|
+
*/
|
|
6951
|
+
const sectionBackgroundPaintValues = [
|
|
6952
|
+
"color",
|
|
6953
|
+
"gradient",
|
|
6954
|
+
"image"
|
|
6955
|
+
];
|
|
6925
6956
|
const plainFrame = { kind: "plain" };
|
|
6926
6957
|
function panelFrame(treatment) {
|
|
6927
6958
|
return {
|
|
@@ -7006,6 +7037,7 @@ function defineBlockDesignCapability(capability) {
|
|
|
7006
7037
|
...capability,
|
|
7007
7038
|
kind: "designed",
|
|
7008
7039
|
looks: capability.looks ?? "not-applicable",
|
|
7040
|
+
sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
|
|
7009
7041
|
sectionHeights: capability.sectionHeights ?? ["default"],
|
|
7010
7042
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
7011
7043
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
@@ -7018,6 +7050,10 @@ function defineBlockDesignCapability(capability) {
|
|
|
7018
7050
|
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
7019
7051
|
};
|
|
7020
7052
|
}
|
|
7053
|
+
/** Absent means the block admits every section background paint. */
|
|
7054
|
+
function admittedSectionBackgroundPaints(paints) {
|
|
7055
|
+
return paints ?? sectionBackgroundPaintValues;
|
|
7056
|
+
}
|
|
7021
7057
|
//#endregion
|
|
7022
7058
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
7023
7059
|
const logoTextConfidenceValues = [
|
|
@@ -7296,12 +7332,22 @@ const mediaPresentationSchema = commonSchema.extend({
|
|
|
7296
7332
|
const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
7297
7333
|
commonSchema.extend({
|
|
7298
7334
|
type: z.literal("color"),
|
|
7299
|
-
color: tokenOrCssColorValueSchema.nullable().optional()
|
|
7335
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
7336
|
+
/**
|
|
7337
|
+
* Compiler-owned. The scrim a site-style colour surface lays over media
|
|
7338
|
+
* that replaces it (a Look's band meeting an authored photo), sized so the
|
|
7339
|
+
* surface's foreground stays legible over any pixel. A colour background
|
|
7340
|
+
* never draws it itself; `resolveSectionBackground` moves it onto the
|
|
7341
|
+
* merged media background as its overlay.
|
|
7342
|
+
*/
|
|
7343
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
7300
7344
|
}),
|
|
7301
7345
|
commonSchema.extend({
|
|
7302
7346
|
type: z.literal("gradient"),
|
|
7303
7347
|
gradient: z.string().nullable().optional(),
|
|
7304
|
-
gradientPresetId: z.string().min(1).nullable().optional()
|
|
7348
|
+
gradientPresetId: z.string().min(1).nullable().optional(),
|
|
7349
|
+
/** Compiler-owned; see the colour branch. */
|
|
7350
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
7305
7351
|
}),
|
|
7306
7352
|
mediaPresentationSchema.extend({
|
|
7307
7353
|
type: z.literal("image"),
|
|
@@ -8161,68 +8207,115 @@ function isRichTextDoc(value) {
|
|
|
8161
8207
|
return RichTextDocSchema.safeParse(value).success;
|
|
8162
8208
|
}
|
|
8163
8209
|
//#endregion
|
|
8164
|
-
//#region ../
|
|
8165
|
-
const
|
|
8166
|
-
const
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
-
|
|
8170
|
-
|
|
8171
|
-
|
|
8172
|
-
intervalUnit: z.enum([
|
|
8173
|
-
"day",
|
|
8174
|
-
"week",
|
|
8175
|
-
"month"
|
|
8176
|
-
])
|
|
8177
|
-
}),
|
|
8178
|
-
z.object({
|
|
8179
|
-
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
8180
|
-
depositAmountCents: z.number().int().min(0),
|
|
8181
|
-
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
8182
|
-
instalmentCount: z.number().int().positive(),
|
|
8183
|
-
intervalCount: z.number().int().positive(),
|
|
8184
|
-
intervalUnit: z.enum([
|
|
8185
|
-
"day",
|
|
8186
|
-
"week",
|
|
8187
|
-
"month"
|
|
8188
|
-
])
|
|
8189
|
-
}),
|
|
8190
|
-
z.object({
|
|
8191
|
-
kind: z.literal("equal_scheduled_instalments"),
|
|
8192
|
-
instalmentCount: z.number().int().positive(),
|
|
8193
|
-
intervalCount: z.number().int().positive(),
|
|
8194
|
-
intervalUnit: z.enum([
|
|
8195
|
-
"day",
|
|
8196
|
-
"week",
|
|
8197
|
-
"month"
|
|
8198
|
-
])
|
|
8199
|
-
})
|
|
8200
|
-
]);
|
|
8201
|
-
const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
|
|
8202
|
-
kind: z.literal("relative_to_start_date"),
|
|
8203
|
-
daysBeforeStart: z.number().int().positive()
|
|
8204
|
-
}), z.object({
|
|
8205
|
-
kind: z.literal("fixed_calendar_date"),
|
|
8206
|
-
dueAt: z.string().datetime()
|
|
8207
|
-
})]);
|
|
8208
|
-
const bookingFlexibleBalanceConfigSchema$1 = z.object({
|
|
8209
|
-
upfrontAmountCents: z.number().int().min(0),
|
|
8210
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
|
|
8211
|
-
depositRefundability: bookingDepositRefundPolicySchema$1
|
|
8212
|
-
});
|
|
8213
|
-
const blockBookingPaymentCollectionOptionSchema = z.union([
|
|
8214
|
-
z.object({ kind: z.literal("upfront") }),
|
|
8215
|
-
z.object({ kind: z.literal("deferred_manual") }),
|
|
8216
|
-
z.object({
|
|
8217
|
-
kind: z.literal("instalment_plan"),
|
|
8218
|
-
plan: bookingInstalmentPlanSchema$1
|
|
8219
|
-
}),
|
|
8220
|
-
z.object({
|
|
8221
|
-
kind: z.literal("flexible_balance"),
|
|
8222
|
-
config: bookingFlexibleBalanceConfigSchema$1
|
|
8223
|
-
})
|
|
8210
|
+
//#region ../core/src/booking-payment-schemas.ts
|
|
8211
|
+
const stripObject = (shape) => z.object(shape);
|
|
8212
|
+
const strictObject = (shape) => z.strictObject(shape);
|
|
8213
|
+
const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
8214
|
+
const intervalUnitSchema = z.enum([
|
|
8215
|
+
"day",
|
|
8216
|
+
"week",
|
|
8217
|
+
"month"
|
|
8224
8218
|
]);
|
|
8225
|
-
const
|
|
8219
|
+
const nonNegativeIntegerSchema = z.number().int().nonnegative();
|
|
8220
|
+
const positiveIntegerSchema = z.number().int().positive();
|
|
8221
|
+
function createInstalmentPlanSchema(object) {
|
|
8222
|
+
return z.discriminatedUnion("kind", [
|
|
8223
|
+
object({
|
|
8224
|
+
kind: z.literal("deposit_plus_one_remainder"),
|
|
8225
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
8226
|
+
depositRefundability: depositRefundPolicySchema,
|
|
8227
|
+
remainderDueCount: positiveIntegerSchema,
|
|
8228
|
+
intervalUnit: intervalUnitSchema
|
|
8229
|
+
}),
|
|
8230
|
+
object({
|
|
8231
|
+
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
8232
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
8233
|
+
depositRefundability: depositRefundPolicySchema,
|
|
8234
|
+
instalmentCount: positiveIntegerSchema,
|
|
8235
|
+
intervalCount: positiveIntegerSchema,
|
|
8236
|
+
intervalUnit: intervalUnitSchema
|
|
8237
|
+
}),
|
|
8238
|
+
object({
|
|
8239
|
+
kind: z.literal("equal_scheduled_instalments"),
|
|
8240
|
+
instalmentCount: positiveIntegerSchema,
|
|
8241
|
+
intervalCount: positiveIntegerSchema,
|
|
8242
|
+
intervalUnit: intervalUnitSchema
|
|
8243
|
+
})
|
|
8244
|
+
]);
|
|
8245
|
+
}
|
|
8246
|
+
function createFlexibleBalanceSchemas(object) {
|
|
8247
|
+
const dueDateRule = z.discriminatedUnion("kind", [object({
|
|
8248
|
+
kind: z.literal("relative_to_start_date"),
|
|
8249
|
+
daysBeforeStart: positiveIntegerSchema
|
|
8250
|
+
}), object({
|
|
8251
|
+
kind: z.literal("fixed_calendar_date"),
|
|
8252
|
+
dueAt: z.string().datetime()
|
|
8253
|
+
})]);
|
|
8254
|
+
return {
|
|
8255
|
+
dueDateRule,
|
|
8256
|
+
config: object({
|
|
8257
|
+
upfrontAmountCents: nonNegativeIntegerSchema,
|
|
8258
|
+
dueDateRule,
|
|
8259
|
+
depositRefundability: depositRefundPolicySchema
|
|
8260
|
+
})
|
|
8261
|
+
};
|
|
8262
|
+
}
|
|
8263
|
+
const paymentOptionKindsMessages = {
|
|
8264
|
+
no_options: "Choose at least one way for customers to pay.",
|
|
8265
|
+
duplicate_kind: "Choose each payment option only once.",
|
|
8266
|
+
incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
|
|
8267
|
+
};
|
|
8268
|
+
function buildBookingPaymentOptionSchemas(object) {
|
|
8269
|
+
const instalmentPlan = createInstalmentPlanSchema(object);
|
|
8270
|
+
const flexibleBalance = createFlexibleBalanceSchemas(object);
|
|
8271
|
+
const paymentCollectionOption = z.discriminatedUnion("kind", [
|
|
8272
|
+
object({ kind: z.literal("upfront") }),
|
|
8273
|
+
object({ kind: z.literal("deferred_manual") }),
|
|
8274
|
+
object({
|
|
8275
|
+
kind: z.literal("instalment_plan"),
|
|
8276
|
+
plan: instalmentPlan
|
|
8277
|
+
}),
|
|
8278
|
+
object({
|
|
8279
|
+
kind: z.literal("flexible_balance"),
|
|
8280
|
+
config: flexibleBalance.config
|
|
8281
|
+
})
|
|
8282
|
+
]);
|
|
8283
|
+
const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
|
|
8284
|
+
const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
|
|
8285
|
+
if (!result.ok) ctx.addIssue({
|
|
8286
|
+
code: "custom",
|
|
8287
|
+
path: ["allowedOptions"],
|
|
8288
|
+
message: paymentOptionKindsMessages[result.error]
|
|
8289
|
+
});
|
|
8290
|
+
});
|
|
8291
|
+
const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
|
|
8292
|
+
source: z.literal("custom"),
|
|
8293
|
+
paymentTerms
|
|
8294
|
+
})]);
|
|
8295
|
+
return {
|
|
8296
|
+
depositRefundPolicy: depositRefundPolicySchema,
|
|
8297
|
+
instalmentPlan,
|
|
8298
|
+
flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
|
|
8299
|
+
flexibleBalanceConfig: flexibleBalance.config,
|
|
8300
|
+
paymentCollectionOption,
|
|
8301
|
+
paymentTerms,
|
|
8302
|
+
paymentOptionsChoice
|
|
8303
|
+
};
|
|
8304
|
+
}
|
|
8305
|
+
function createBookingPaymentOptionSchemas(mode) {
|
|
8306
|
+
return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
|
|
8307
|
+
}
|
|
8308
|
+
const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
|
|
8309
|
+
bookingPaymentOptionSchemas.depositRefundPolicy;
|
|
8310
|
+
bookingPaymentOptionSchemas.instalmentPlan;
|
|
8311
|
+
bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
|
|
8312
|
+
bookingPaymentOptionSchemas.flexibleBalanceConfig;
|
|
8313
|
+
bookingPaymentOptionSchemas.paymentCollectionOption;
|
|
8314
|
+
const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
|
|
8315
|
+
bookingPaymentOptionSchemas.paymentOptionsChoice;
|
|
8316
|
+
//#endregion
|
|
8317
|
+
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
8318
|
+
const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
|
|
8226
8319
|
//#endregion
|
|
8227
8320
|
//#region ../blocks/src/system/blocks/shared/bookingConsent.ts
|
|
8228
8321
|
const blockBookingConsentSchema = z.object({
|
|
@@ -11458,7 +11551,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
|
|
|
11458
11551
|
stack: 8e3,
|
|
11459
11552
|
digest: 128,
|
|
11460
11553
|
componentStack: 8e3,
|
|
11461
|
-
sourceLocation: 1024
|
|
11554
|
+
sourceLocation: 1024,
|
|
11555
|
+
navigationAgeMs: 6e4
|
|
11462
11556
|
};
|
|
11463
11557
|
const clientErrorEventSchema = z.enum([
|
|
11464
11558
|
"dashboard:route-error",
|
|
@@ -11475,7 +11569,17 @@ z.object({
|
|
|
11475
11569
|
stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
|
|
11476
11570
|
digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
|
|
11477
11571
|
componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
|
|
11478
|
-
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
11572
|
+
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
|
|
11573
|
+
navigation: z.object({
|
|
11574
|
+
fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
11575
|
+
toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
11576
|
+
type: z.enum([
|
|
11577
|
+
"push",
|
|
11578
|
+
"replace",
|
|
11579
|
+
"traverse"
|
|
11580
|
+
]),
|
|
11581
|
+
ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
|
|
11582
|
+
}).strict().nullable().optional()
|
|
11479
11583
|
}).strict();
|
|
11480
11584
|
({
|
|
11481
11585
|
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
@@ -13092,6 +13196,17 @@ function defineBlockAppearancePreset(preset) {
|
|
|
13092
13196
|
* (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
|
|
13093
13197
|
* composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
|
|
13094
13198
|
* in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
|
|
13199
|
+
*
|
|
13200
|
+
* A Look asking for the `alternative` or `open` role is offered only where the
|
|
13201
|
+
* site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
|
|
13202
|
+
* that differ only in role are distinct wherever both are offered.
|
|
13203
|
+
*
|
|
13204
|
+
* Retiring a Look is removing its entry. A stored pin to a retired id reads as
|
|
13205
|
+
* an unsupported pin in the page design editor model and renders the block's
|
|
13206
|
+
* auto Look, the same path an unavailable Look takes. Duplicates retired in
|
|
13207
|
+
* the 2026-09 Look audit: `feature-cards-soft-panels`,
|
|
13208
|
+
* `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
|
|
13209
|
+
* `testimonials-default-cards`.
|
|
13095
13210
|
*/
|
|
13096
13211
|
const brandScrimOptionGroups = [{
|
|
13097
13212
|
id: "image-surface-treatment",
|
|
@@ -13476,16 +13591,6 @@ defineBlockAppearancePreset({
|
|
|
13476
13591
|
treatment: "framed-programme"
|
|
13477
13592
|
}
|
|
13478
13593
|
}
|
|
13479
|
-
}), defineBlockAppearancePreset({
|
|
13480
|
-
id: "feature-cards-soft-panels",
|
|
13481
|
-
target: "feature-cards",
|
|
13482
|
-
label: "Soft tinted panels",
|
|
13483
|
-
blockKinds: ["block.feature-cards"],
|
|
13484
|
-
design: {
|
|
13485
|
-
sectionSurface: "base",
|
|
13486
|
-
contentFrame: plainFrame,
|
|
13487
|
-
cardRole: "alternative"
|
|
13488
|
-
}
|
|
13489
13594
|
}), defineBlockAppearancePreset({
|
|
13490
13595
|
id: "feature-cards-editorial-diptych",
|
|
13491
13596
|
target: "feature-cards",
|
|
@@ -13497,27 +13602,6 @@ defineBlockAppearancePreset({
|
|
|
13497
13602
|
contentFrame: plainFrame,
|
|
13498
13603
|
cardRole: "default"
|
|
13499
13604
|
}
|
|
13500
|
-
}), defineBlockAppearancePreset({
|
|
13501
|
-
id: "feature-cards-editorial-pathways",
|
|
13502
|
-
target: "feature-cards",
|
|
13503
|
-
label: "Editorial pathways",
|
|
13504
|
-
blockKinds: ["block.feature-cards"],
|
|
13505
|
-
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
13506
|
-
design: {
|
|
13507
|
-
sectionSurface: "base",
|
|
13508
|
-
contentFrame: plainFrame,
|
|
13509
|
-
cardRole: "default"
|
|
13510
|
-
}
|
|
13511
|
-
}), defineBlockAppearancePreset({
|
|
13512
|
-
id: "feature-cards-photo-tiles",
|
|
13513
|
-
target: "feature-cards",
|
|
13514
|
-
label: "Photo tiles",
|
|
13515
|
-
blockKinds: ["block.feature-cards"],
|
|
13516
|
-
design: {
|
|
13517
|
-
sectionSurface: "base",
|
|
13518
|
-
contentFrame: plainFrame,
|
|
13519
|
-
cardRole: "default"
|
|
13520
|
-
}
|
|
13521
13605
|
}), defineBlockAppearancePreset({
|
|
13522
13606
|
id: "events-lined-panel",
|
|
13523
13607
|
target: "events",
|
|
@@ -13606,16 +13690,6 @@ defineBlockAppearancePreset({
|
|
|
13606
13690
|
contentFrame: panelFrame("raised"),
|
|
13607
13691
|
cardRole: "default"
|
|
13608
13692
|
}
|
|
13609
|
-
}), defineBlockAppearancePreset({
|
|
13610
|
-
id: "testimonials-default-cards",
|
|
13611
|
-
target: "testimonials",
|
|
13612
|
-
label: "Default cards",
|
|
13613
|
-
blockKinds: ["block.testimonials"],
|
|
13614
|
-
design: {
|
|
13615
|
-
sectionSurface: "base",
|
|
13616
|
-
contentFrame: plainFrame,
|
|
13617
|
-
cardRole: "default"
|
|
13618
|
-
}
|
|
13619
13693
|
}), defineBlockAppearancePreset({
|
|
13620
13694
|
id: "testimonials-statement-cards",
|
|
13621
13695
|
target: "testimonials",
|
|
@@ -17097,9 +17171,7 @@ const curatedSiteStyles = [
|
|
|
17097
17171
|
recommendedAppearancePresetIds: [
|
|
17098
17172
|
"hero-split-editorial",
|
|
17099
17173
|
"intro-portrait-bio",
|
|
17100
|
-
"feature-cards-
|
|
17101
|
-
"feature-cards-editorial-columns",
|
|
17102
|
-
"feature-cards-photo-tiles",
|
|
17174
|
+
"feature-cards-bold-colors",
|
|
17103
17175
|
"testimonials-non-carded",
|
|
17104
17176
|
"faq-contained-help",
|
|
17105
17177
|
"contact-form-panel"
|
|
@@ -17743,8 +17815,7 @@ const curatedSiteStyles = [
|
|
|
17743
17815
|
"intro-portrait-bio",
|
|
17744
17816
|
"feature-cards-editorial-columns",
|
|
17745
17817
|
"feature-cards-editorial-diptych",
|
|
17746
|
-
"feature-cards-
|
|
17747
|
-
"feature-cards-soft-panels",
|
|
17818
|
+
"feature-cards-bold-colors",
|
|
17748
17819
|
"events-lined-panel",
|
|
17749
17820
|
"testimonials-non-carded",
|
|
17750
17821
|
"faq-base-accordion",
|
|
@@ -21160,6 +21231,34 @@ function withLookCapability(declaration) {
|
|
|
21160
21231
|
}
|
|
21161
21232
|
};
|
|
21162
21233
|
}
|
|
21234
|
+
/**
|
|
21235
|
+
* The section background paints a block's own `_sectionStyles.background`
|
|
21236
|
+
* field admits, read from its manifest so the design capability cannot drift
|
|
21237
|
+
* from what render admission accepts. A block without the field admits none.
|
|
21238
|
+
*/
|
|
21239
|
+
function sectionBackgroundPaintsOfFields(fields) {
|
|
21240
|
+
const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
|
|
21241
|
+
if (!sectionStyles || sectionStyles.type !== "modal") return [];
|
|
21242
|
+
const background = sectionStyles.schema.fields.find((field) => field.id === "background");
|
|
21243
|
+
if (!background || background.type !== "tabGroup") return [];
|
|
21244
|
+
const tabIds = new Set(background.tabs.map((tab) => tab.id));
|
|
21245
|
+
return [
|
|
21246
|
+
"color",
|
|
21247
|
+
"gradient",
|
|
21248
|
+
"image"
|
|
21249
|
+
].filter((paint) => tabIds.has(paint));
|
|
21250
|
+
}
|
|
21251
|
+
/** Pins a designed capability's section background paints to the block's manifest. */
|
|
21252
|
+
function withManifestSectionBackgroundPaints(declaration, fields) {
|
|
21253
|
+
if (declaration.kind !== "capability") return declaration;
|
|
21254
|
+
return {
|
|
21255
|
+
kind: "capability",
|
|
21256
|
+
capability: {
|
|
21257
|
+
...declaration.capability,
|
|
21258
|
+
sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
|
|
21259
|
+
}
|
|
21260
|
+
};
|
|
21261
|
+
}
|
|
21163
21262
|
function declareNoBlockDesignCapability(reason) {
|
|
21164
21263
|
return {
|
|
21165
21264
|
kind: "none",
|
|
@@ -23031,15 +23130,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
|
|
|
23031
23130
|
if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
|
|
23032
23131
|
const cached = surfaceCache.get(cacheKey);
|
|
23033
23132
|
if (cached) return cached;
|
|
23034
|
-
const styles =
|
|
23035
|
-
|
|
23036
|
-
|
|
23037
|
-
|
|
23038
|
-
|
|
23039
|
-
surface: surface.surface
|
|
23040
|
-
});
|
|
23041
|
-
return Object.entries(contextualButtonSurfaceStyles(resolution));
|
|
23042
|
-
}));
|
|
23133
|
+
const styles = knownSurfaceButtonContextStyles({
|
|
23134
|
+
surface: surface.surface,
|
|
23135
|
+
palette,
|
|
23136
|
+
buttonSystem
|
|
23137
|
+
});
|
|
23043
23138
|
surfaceCache.set(cacheKey, styles);
|
|
23044
23139
|
return styles;
|
|
23045
23140
|
}
|
|
@@ -29715,6 +29810,20 @@ const footerEngagement = stack({
|
|
|
29715
29810
|
...footerSpamProtectionBinding
|
|
29716
29811
|
}), [], when("module.engagement.kind", { equals: "mailing-list" }))
|
|
29717
29812
|
], when("module.kind", { equals: "engagement" }));
|
|
29813
|
+
const platformAttribution = el("div", {
|
|
29814
|
+
className: "rb-caption",
|
|
29815
|
+
"data-site-attribution": "macadamia"
|
|
29816
|
+
}, [
|
|
29817
|
+
text({ as: "span" }, bind("module.lead")),
|
|
29818
|
+
text({
|
|
29819
|
+
as: "span",
|
|
29820
|
+
value: " "
|
|
29821
|
+
}),
|
|
29822
|
+
link({
|
|
29823
|
+
href: { $bind: { from: "module.link.href" } },
|
|
29824
|
+
className: "footer-nav-link rb-caption transition-theme-standard"
|
|
29825
|
+
}, [text({ as: "span" }, bind("module.link.label"))])
|
|
29826
|
+
], when("module.kind", { equals: "attribution" }));
|
|
29718
29827
|
const footerGroup = stack({
|
|
29719
29828
|
gap: "md",
|
|
29720
29829
|
align: "stretch",
|
|
@@ -29744,6 +29853,7 @@ const footerGroup = stack({
|
|
|
29744
29853
|
hours,
|
|
29745
29854
|
socials,
|
|
29746
29855
|
footerEngagement,
|
|
29856
|
+
platformAttribution,
|
|
29747
29857
|
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
29748
29858
|
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
29749
29859
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
@@ -31828,7 +31938,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
|
|
|
31828
31938
|
/**
|
|
31829
31939
|
* Public membership product for shop display
|
|
31830
31940
|
*/
|
|
31831
|
-
const
|
|
31941
|
+
const publicMembershipProductFields = {
|
|
31832
31942
|
id: z.string(),
|
|
31833
31943
|
name: z.string(),
|
|
31834
31944
|
description: z.string().nullable(),
|
|
@@ -31837,7 +31947,16 @@ const publicMembershipProductSchema = z.object({
|
|
|
31837
31947
|
billingInterval: z.enum(["month", "year"]),
|
|
31838
31948
|
eligibleCategoryIds: z.array(z.string()),
|
|
31839
31949
|
eligibleCategoryNames: z.array(z.string())
|
|
31950
|
+
};
|
|
31951
|
+
const purchasablePublicMembershipProductSchema = z.object({
|
|
31952
|
+
...publicMembershipProductFields,
|
|
31953
|
+
purchaseAvailability: z.literal("purchasable")
|
|
31840
31954
|
});
|
|
31955
|
+
const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
|
|
31956
|
+
...publicMembershipProductFields,
|
|
31957
|
+
purchaseAvailability: z.literal("display_only"),
|
|
31958
|
+
unavailabilityReason: z.literal("online_payments_unavailable")
|
|
31959
|
+
})]);
|
|
31841
31960
|
const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
|
|
31842
31961
|
//#endregion
|
|
31843
31962
|
//#region ../blocks/src/system/blocks/event-registration.shared.ts
|
|
@@ -31968,14 +32087,18 @@ const calendarTabViewsSchema = z.enum([
|
|
|
31968
32087
|
* @param needsPaymentStep - Whether user must complete payment method selection
|
|
31969
32088
|
* @returns Array of wizard steps to display
|
|
31970
32089
|
*/
|
|
31971
|
-
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
32090
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
|
|
31972
32091
|
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
|
|
31973
32092
|
"select-event",
|
|
31974
32093
|
"select-tickets",
|
|
31975
32094
|
"enter-details"
|
|
31976
32095
|
];
|
|
31977
32096
|
if (!needsPaymentStep) return baseSteps;
|
|
31978
|
-
return [
|
|
32097
|
+
return paymentActive ? [
|
|
32098
|
+
...baseSteps,
|
|
32099
|
+
"select-payment",
|
|
32100
|
+
"payment"
|
|
32101
|
+
] : [...baseSteps, "select-payment"];
|
|
31979
32102
|
}
|
|
31980
32103
|
//#endregion
|
|
31981
32104
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
@@ -32094,6 +32217,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
32094
32217
|
"Date",
|
|
32095
32218
|
"Tickets",
|
|
32096
32219
|
"Details",
|
|
32220
|
+
"Payment options",
|
|
32097
32221
|
"Payment"
|
|
32098
32222
|
];
|
|
32099
32223
|
const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
@@ -32236,12 +32360,13 @@ function shellLabelForRegistrationStep(step, events) {
|
|
|
32236
32360
|
switch (step) {
|
|
32237
32361
|
case "select-event": return isDateSelection(events) ? "Date" : "Event";
|
|
32238
32362
|
case "select-tickets": return "Tickets";
|
|
32363
|
+
case "fully-booked":
|
|
32239
32364
|
case "enter-details": return "Details";
|
|
32240
|
-
case "select-payment": return "Payment";
|
|
32365
|
+
case "select-payment": return "Payment options";
|
|
32366
|
+
case "payment": return "Payment";
|
|
32241
32367
|
case "error":
|
|
32242
32368
|
case "success":
|
|
32243
32369
|
case "submitting":
|
|
32244
|
-
case "redirecting":
|
|
32245
32370
|
case "verifying-payment":
|
|
32246
32371
|
case "verifying-timeout":
|
|
32247
32372
|
case "payment-status":
|
|
@@ -32253,7 +32378,7 @@ function isDateSelection(events) {
|
|
|
32253
32378
|
return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
|
|
32254
32379
|
}
|
|
32255
32380
|
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
32256
|
-
if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
|
|
32381
|
+
if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
|
|
32257
32382
|
if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
|
|
32258
32383
|
return "Preparing dates, tickets, and booking details.";
|
|
32259
32384
|
}
|
|
@@ -34137,7 +34262,8 @@ const eventCalendarLayout = [styledSection({
|
|
|
34137
34262
|
fallback: false
|
|
34138
34263
|
} },
|
|
34139
34264
|
banded: { $bind: {
|
|
34140
|
-
from: "content
|
|
34265
|
+
from: "content",
|
|
34266
|
+
transforms: [{ id: "events.calendarBanded" }],
|
|
34141
34267
|
fallback: false
|
|
34142
34268
|
} }
|
|
34143
34269
|
}))]
|
|
@@ -37634,7 +37760,7 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
37634
37760
|
product: pass
|
|
37635
37761
|
} : {
|
|
37636
37762
|
kind: "unavailable",
|
|
37637
|
-
label: "Online purchasing
|
|
37763
|
+
label: "Online purchasing is unavailable."
|
|
37638
37764
|
}
|
|
37639
37765
|
};
|
|
37640
37766
|
});
|
|
@@ -37644,7 +37770,14 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
37644
37770
|
description: options.showDescriptions ? membership.description : null,
|
|
37645
37771
|
priceLabel: formatCommercePrice(membership.price, membership.currency),
|
|
37646
37772
|
intervalLabel: formatInterval(membership.billingInterval),
|
|
37647
|
-
|
|
37773
|
+
action: membership.purchaseAvailability === "purchasable" ? {
|
|
37774
|
+
kind: "purchase",
|
|
37775
|
+
label: options.membershipActionLabel,
|
|
37776
|
+
product: membership
|
|
37777
|
+
} : {
|
|
37778
|
+
kind: "unavailable",
|
|
37779
|
+
label: "Online purchasing is unavailable."
|
|
37780
|
+
}
|
|
37648
37781
|
}));
|
|
37649
37782
|
return {
|
|
37650
37783
|
kind: "passes-memberships",
|
|
@@ -37864,7 +37997,14 @@ const membershipCardDisplaySchema = z.object({
|
|
|
37864
37997
|
description: z.string().nullable(),
|
|
37865
37998
|
priceLabel: z.string(),
|
|
37866
37999
|
intervalLabel: z.string(),
|
|
37867
|
-
|
|
38000
|
+
action: z.discriminatedUnion("kind", [z.object({
|
|
38001
|
+
kind: z.literal("purchase"),
|
|
38002
|
+
label: z.string(),
|
|
38003
|
+
product: purchasablePublicMembershipProductSchema
|
|
38004
|
+
}), z.object({
|
|
38005
|
+
kind: z.literal("unavailable"),
|
|
38006
|
+
label: z.string()
|
|
38007
|
+
})])
|
|
37868
38008
|
});
|
|
37869
38009
|
const passesMembershipsDisplaySchema = z.object({
|
|
37870
38010
|
kind: z.literal("passes-memberships"),
|
|
@@ -40507,7 +40647,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
|
|
|
40507
40647
|
if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
|
|
40508
40648
|
return {
|
|
40509
40649
|
...definition,
|
|
40510
|
-
designCapability,
|
|
40650
|
+
designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
|
|
40511
40651
|
designMetadata,
|
|
40512
40652
|
manifest: {
|
|
40513
40653
|
...definition.manifest,
|
|
@@ -41558,6 +41698,16 @@ const defaultTransforms = createTransformRegistry([
|
|
|
41558
41698
|
return resolveCalendarReadProfile(asPartialObject(value) ?? {});
|
|
41559
41699
|
}
|
|
41560
41700
|
},
|
|
41701
|
+
{
|
|
41702
|
+
id: "events.calendarBanded",
|
|
41703
|
+
kind: "formatter",
|
|
41704
|
+
summary: "Paint the week-board band only on a section with no background of its own",
|
|
41705
|
+
run(value) {
|
|
41706
|
+
const content = asPartialObject(value) ?? {};
|
|
41707
|
+
const sectionStyles = asPartialObject(content._sectionStyles);
|
|
41708
|
+
return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
|
|
41709
|
+
}
|
|
41710
|
+
},
|
|
41561
41711
|
...formattingTransforms,
|
|
41562
41712
|
...layoutTransforms,
|
|
41563
41713
|
...chromeLogoTransforms,
|
|
@@ -42704,6 +42854,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
|
42704
42854
|
"refund_failed"
|
|
42705
42855
|
];
|
|
42706
42856
|
const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
42857
|
+
"refund_blocked_by_live_payment_terms",
|
|
42707
42858
|
...CANONICAL_REFUND_PLANNER_ERROR_CODES,
|
|
42708
42859
|
"payment_intent_not_found",
|
|
42709
42860
|
"stripe_error",
|
|
@@ -42719,6 +42870,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
|
42719
42870
|
//#endregion
|
|
42720
42871
|
//#region ../api/src/bookingRefundOutcomes.ts
|
|
42721
42872
|
const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
42873
|
+
"refund_blocked_by_live_payment_terms",
|
|
42722
42874
|
"missing_amount",
|
|
42723
42875
|
"invalid_amount",
|
|
42724
42876
|
"amount_exceeds_remaining",
|
|
@@ -43108,68 +43260,6 @@ function parsePublicProductCategorySelector(value) {
|
|
|
43108
43260
|
}
|
|
43109
43261
|
z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
|
|
43110
43262
|
//#endregion
|
|
43111
|
-
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
43112
|
-
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
43113
|
-
const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
|
|
43114
|
-
z.object({
|
|
43115
|
-
kind: z.literal("deposit_plus_one_remainder"),
|
|
43116
|
-
depositAmountCents: z.number().int().nonnegative(),
|
|
43117
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
43118
|
-
remainderDueCount: z.number().int().positive(),
|
|
43119
|
-
intervalUnit: z.enum([
|
|
43120
|
-
"day",
|
|
43121
|
-
"week",
|
|
43122
|
-
"month"
|
|
43123
|
-
])
|
|
43124
|
-
}),
|
|
43125
|
-
z.object({
|
|
43126
|
-
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
43127
|
-
depositAmountCents: z.number().int().nonnegative(),
|
|
43128
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
43129
|
-
instalmentCount: z.number().int().positive(),
|
|
43130
|
-
intervalCount: z.number().int().positive(),
|
|
43131
|
-
intervalUnit: z.enum([
|
|
43132
|
-
"day",
|
|
43133
|
-
"week",
|
|
43134
|
-
"month"
|
|
43135
|
-
])
|
|
43136
|
-
}),
|
|
43137
|
-
z.object({
|
|
43138
|
-
kind: z.literal("equal_scheduled_instalments"),
|
|
43139
|
-
instalmentCount: z.number().int().positive(),
|
|
43140
|
-
intervalCount: z.number().int().positive(),
|
|
43141
|
-
intervalUnit: z.enum([
|
|
43142
|
-
"day",
|
|
43143
|
-
"week",
|
|
43144
|
-
"month"
|
|
43145
|
-
])
|
|
43146
|
-
})
|
|
43147
|
-
]);
|
|
43148
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
|
|
43149
|
-
kind: z.literal("relative_to_start_date"),
|
|
43150
|
-
daysBeforeStart: z.number().int().positive()
|
|
43151
|
-
}), z.object({
|
|
43152
|
-
kind: z.literal("fixed_calendar_date"),
|
|
43153
|
-
dueAt: z.string().datetime()
|
|
43154
|
-
})]);
|
|
43155
|
-
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
43156
|
-
upfrontAmountCents: z.number().int().nonnegative(),
|
|
43157
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
43158
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
43159
|
-
});
|
|
43160
|
-
z.discriminatedUnion("kind", [
|
|
43161
|
-
z.object({ kind: z.literal("upfront") }),
|
|
43162
|
-
z.object({ kind: z.literal("deferred_manual") }),
|
|
43163
|
-
z.object({
|
|
43164
|
-
kind: z.literal("instalment_plan"),
|
|
43165
|
-
plan: bookingInstalmentPlanSchema
|
|
43166
|
-
}),
|
|
43167
|
-
z.object({
|
|
43168
|
-
kind: z.literal("flexible_balance"),
|
|
43169
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
43170
|
-
})
|
|
43171
|
-
]);
|
|
43172
|
-
//#endregion
|
|
43173
43263
|
//#region ../api/src/aiPlayground.ts
|
|
43174
43264
|
/**
|
|
43175
43265
|
* RFC-6902 JSON Patch Operations
|