@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/next.mjs
CHANGED
|
@@ -1136,6 +1136,13 @@ const parseEventSeriesId = (value) => parseUuidBrand$1(value, unsafeAsEventSerie
|
|
|
1136
1136
|
function assertNever$20(value, message = "Unexpected variant") {
|
|
1137
1137
|
throw new Error(`${message}: ${String(value)}`);
|
|
1138
1138
|
}
|
|
1139
|
+
//#endregion
|
|
1140
|
+
//#region ../core/src/currency-format.ts
|
|
1141
|
+
const CURRENCY_CODE_INPUT_PATTERN = /^[A-Za-z]{3}$/;
|
|
1142
|
+
/** Parse + normalize a currency code, or return null if it isn't a 3-letter code. */
|
|
1143
|
+
function parseCurrencyCode(value) {
|
|
1144
|
+
return CURRENCY_CODE_INPUT_PATTERN.test(value) ? value.toUpperCase() : null;
|
|
1145
|
+
}
|
|
1139
1146
|
const CURRENCY_LOCALE_BY_CODE = {
|
|
1140
1147
|
USD: "en-US",
|
|
1141
1148
|
GBP: "en-GB",
|
|
@@ -1196,6 +1203,16 @@ function formatCurrencyMajorUnits(amount, currency, options) {
|
|
|
1196
1203
|
return `${amount.toFixed(2)} ${currencyCode}`;
|
|
1197
1204
|
}
|
|
1198
1205
|
}
|
|
1206
|
+
function unsafeAsNonNegativeCents(value) {
|
|
1207
|
+
return value;
|
|
1208
|
+
}
|
|
1209
|
+
/**
|
|
1210
|
+
* Normalizes a derived amount to non-negative whole cents. This intentionally
|
|
1211
|
+
* clamps negatives to zero; use parseNonNegativeCents for validation.
|
|
1212
|
+
*/
|
|
1213
|
+
function toNonNegativeCents(value) {
|
|
1214
|
+
return unsafeAsNonNegativeCents(Math.max(0, Math.trunc(value)));
|
|
1215
|
+
}
|
|
1199
1216
|
/** Default clock for production callers that do not inject time explicitly. */
|
|
1200
1217
|
const systemPlanningClock = { now: () => Date.now() };
|
|
1201
1218
|
/** Resolve current time as a Date from an explicit Date, injected clock, or system clock. */
|
|
@@ -1477,6 +1494,16 @@ function isRecord$41(value) {
|
|
|
1477
1494
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1478
1495
|
}
|
|
1479
1496
|
//#endregion
|
|
1497
|
+
//#region ../core/src/booking-payment-options.ts
|
|
1498
|
+
/** Automatic instalments and a flexible balance cannot share one booking offer. */
|
|
1499
|
+
function validateBookingPaymentOptionKinds(kinds) {
|
|
1500
|
+
if (kinds.length === 0) return err$3("no_options");
|
|
1501
|
+
const uniqueKinds = new Set(kinds);
|
|
1502
|
+
if (uniqueKinds.size !== kinds.length) return err$3("duplicate_kind");
|
|
1503
|
+
if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err$3("incompatible_collection_options");
|
|
1504
|
+
return ok$3(void 0);
|
|
1505
|
+
}
|
|
1506
|
+
//#endregion
|
|
1480
1507
|
//#region ../core/src/booking-time-zone.ts
|
|
1481
1508
|
const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
|
|
1482
1509
|
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
@@ -5727,10 +5754,10 @@ function resolveOpaqueSurfaceHex(reference, palette, underlayReference) {
|
|
|
5727
5754
|
const parts = parseColorTokenParts(reference);
|
|
5728
5755
|
if (parts.kind === "token" && parts.opacityPercent !== null) {
|
|
5729
5756
|
const foregroundHex = normalizePaletteHex(palette[parts.token] ?? "");
|
|
5730
|
-
return foregroundHex ? compositeHex$
|
|
5757
|
+
return foregroundHex ? compositeHex$2(foregroundHex, underlayHex, parts.opacityPercent / 100) : null;
|
|
5731
5758
|
}
|
|
5732
5759
|
const rgba = parseRgba(parts.kind === "raw" ? parts.value : reference);
|
|
5733
|
-
return rgba ? compositeHex$
|
|
5760
|
+
return rgba ? compositeHex$2(rgbToHex$1(rgba.r, rgba.g, rgba.b), underlayHex, rgba.alpha) : null;
|
|
5734
5761
|
}
|
|
5735
5762
|
/** Resolve a colour reference only when it is already fully opaque. */
|
|
5736
5763
|
function resolveConcreteColorHex(reference, palette) {
|
|
@@ -5746,7 +5773,7 @@ function resolveConcreteColorHex(reference, palette) {
|
|
|
5746
5773
|
if (literal.toLowerCase() === "white") return "#ffffff";
|
|
5747
5774
|
return normalizePaletteHex(literal);
|
|
5748
5775
|
}
|
|
5749
|
-
function compositeHex$
|
|
5776
|
+
function compositeHex$2(foregroundHex, underlayHex, alpha) {
|
|
5750
5777
|
const foreground = hexToRgb$1(foregroundHex);
|
|
5751
5778
|
const underlay = hexToRgb$1(underlayHex);
|
|
5752
5779
|
const channel = (foregroundValue, underlayValue) => Math.round(foregroundValue * alpha + underlayValue * (1 - alpha));
|
|
@@ -7829,6 +7856,35 @@ function fallbackBackground(fallbackToken, palette) {
|
|
|
7829
7856
|
reason: "unresolvable-colour"
|
|
7830
7857
|
};
|
|
7831
7858
|
}
|
|
7859
|
+
/**
|
|
7860
|
+
* The complete button context a surface publishes: `--rb-action-*` variables
|
|
7861
|
+
* for every role, resolved against the surface when its colour is provable,
|
|
7862
|
+
* and an explicit reset when it is not (image, gradient, composited), so a
|
|
7863
|
+
* nested surface never inherits a context resolved for an outer band.
|
|
7864
|
+
* A surface with no background of its own publishes nothing and inherits.
|
|
7865
|
+
*
|
|
7866
|
+
* Sections (through the blocks background transforms), card roles and opaque
|
|
7867
|
+
* block panels all publish through this one function.
|
|
7868
|
+
*/
|
|
7869
|
+
function surfaceButtonContextStyles(input) {
|
|
7870
|
+
if (!input.buttonSystem) return {};
|
|
7871
|
+
const context = deriveButtonSurfaceContext(input.surface, input.palette, input.fallbackToken);
|
|
7872
|
+
if (context.kind !== "known-solid") return context.reason === "missing-background" ? {} : contextualButtonSurfaceResetStyles();
|
|
7873
|
+
return knownSurfaceButtonContextStyles({
|
|
7874
|
+
surface: context.surface,
|
|
7875
|
+
palette: input.palette,
|
|
7876
|
+
buttonSystem: input.buttonSystem
|
|
7877
|
+
});
|
|
7878
|
+
}
|
|
7879
|
+
/** Every role's contextual styles against one proven solid surface. */
|
|
7880
|
+
function knownSurfaceButtonContextStyles(input) {
|
|
7881
|
+
return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
|
|
7882
|
+
role,
|
|
7883
|
+
buttonSystem: input.buttonSystem,
|
|
7884
|
+
palette: input.palette,
|
|
7885
|
+
surface: input.surface
|
|
7886
|
+
})))));
|
|
7887
|
+
}
|
|
7832
7888
|
function resolveContextualButtonRole(input) {
|
|
7833
7889
|
const requested = findVariant(input.buttonSystem, input.role);
|
|
7834
7890
|
if (!requested) return {
|
|
@@ -10806,6 +10862,57 @@ function resolveCardRole(theme, cardSystem, role) {
|
|
|
10806
10862
|
}
|
|
10807
10863
|
}
|
|
10808
10864
|
//#endregion
|
|
10865
|
+
//#region ../theme-core/src/surfaces/opaqueSurface.ts
|
|
10866
|
+
function opaqueSurfaceContextFromTheme(theme) {
|
|
10867
|
+
return {
|
|
10868
|
+
palette: expandPalette(theme.palette),
|
|
10869
|
+
buttonSystem: theme.buttons,
|
|
10870
|
+
linkHoverToken: theme.typography.proseLinkStyle?.hoverColorToken
|
|
10871
|
+
};
|
|
10872
|
+
}
|
|
10873
|
+
/**
|
|
10874
|
+
* The declarations that make an element own its surface: `color`, every
|
|
10875
|
+
* `--rb-surface-*` role and every `--rb-action-*` variable. Card roles and
|
|
10876
|
+
* opaque block panels both publish through this, so a nested surface can never
|
|
10877
|
+
* inherit a band's light text or its band-resolved buttons.
|
|
10878
|
+
*/
|
|
10879
|
+
function opaqueSurfaceDeclarations(paint, context) {
|
|
10880
|
+
if (paint.kind === "transparent") return inheritedSurfaceDeclarations();
|
|
10881
|
+
const textToken = paint.foregroundToken ?? "text";
|
|
10882
|
+
const foreground = resolveSurfaceForeground(paint.kind === "solid" ? {
|
|
10883
|
+
type: "color",
|
|
10884
|
+
color: paint.token,
|
|
10885
|
+
textColor: textToken
|
|
10886
|
+
} : {
|
|
10887
|
+
type: "gradient",
|
|
10888
|
+
textColor: textToken
|
|
10889
|
+
}, context.palette, { linkHover: context.linkHoverToken });
|
|
10890
|
+
const buttonContext = context.buttonSystem ? surfaceButtonContextStyles({
|
|
10891
|
+
surface: paint.kind === "solid" ? {
|
|
10892
|
+
kind: "solid",
|
|
10893
|
+
color: paint.token,
|
|
10894
|
+
foreground: foreground.kind === "known" ? foreground.roles.link : void 0,
|
|
10895
|
+
composited: false
|
|
10896
|
+
} : { kind: "gradient" },
|
|
10897
|
+
palette: context.palette,
|
|
10898
|
+
buttonSystem: context.buttonSystem
|
|
10899
|
+
}) : contextualButtonSurfaceResetStyles();
|
|
10900
|
+
return [...surfaceForegroundDeclarations(foreground.kind === "known" ? surfaceForegroundInputFromResolved(foreground, rgbColorValue) : { text: colorValue(textToken) }), ...Object.entries(buttonContext).map(([property, value]) => `${property}: ${value};`)];
|
|
10901
|
+
}
|
|
10902
|
+
function colorValue(token) {
|
|
10903
|
+
const parsed = parseThemeColorToken(token);
|
|
10904
|
+
return parsed ? rgbColorValue(parsed) : token;
|
|
10905
|
+
}
|
|
10906
|
+
/** Every property a surface publishes, set to `inherit`. */
|
|
10907
|
+
function inheritedSurfaceDeclarations() {
|
|
10908
|
+
return [
|
|
10909
|
+
"color",
|
|
10910
|
+
...Object.values(SURFACE_FOREGROUND_CSS_VARS),
|
|
10911
|
+
"--rb-surface-link-hover-decoration",
|
|
10912
|
+
...Object.keys(contextualButtonSurfaceResetStyles())
|
|
10913
|
+
].map((property) => `${property}: inherit;`);
|
|
10914
|
+
}
|
|
10915
|
+
//#endregion
|
|
10809
10916
|
//#region ../theme-core/src/utils/cssDeclarations.ts
|
|
10810
10917
|
/** Render CSS declarations whether callers provide terminators or fragments. */
|
|
10811
10918
|
function renderCssDeclarations(declarations) {
|
|
@@ -10940,15 +11047,18 @@ function generateVariantCSS(variant, themeId, cardClasses, tokens, theme, palett
|
|
|
10940
11047
|
}
|
|
10941
11048
|
function cardSurfaceRules(variant, tokens, theme, palette) {
|
|
10942
11049
|
if (variant.background.type === "transparent") return ["background: transparent"];
|
|
10943
|
-
|
|
10944
|
-
|
|
10945
|
-
|
|
10946
|
-
|
|
11050
|
+
return [cardBackgroundRule(variant.background, tokens), ...opaqueSurfaceDeclarations(variant.background.type === "solid" ? {
|
|
11051
|
+
kind: "solid",
|
|
11052
|
+
token: variant.background.colorToken,
|
|
11053
|
+
foregroundToken: variant.foregroundToken
|
|
10947
11054
|
} : {
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
},
|
|
10951
|
-
|
|
11055
|
+
kind: "gradient",
|
|
11056
|
+
foregroundToken: variant.foregroundToken
|
|
11057
|
+
}, {
|
|
11058
|
+
palette,
|
|
11059
|
+
buttonSystem: theme.buttons,
|
|
11060
|
+
linkHoverToken: theme.typography.proseLinkStyle?.hoverColorToken
|
|
11061
|
+
})];
|
|
10952
11062
|
}
|
|
10953
11063
|
function cardBackgroundRule(background, tokens) {
|
|
10954
11064
|
if (background.type === "solid") return `background: ${tokens.getColor(background.colorToken)}`;
|
|
@@ -11947,6 +12057,18 @@ function brandNonEmptyString(value, label) {
|
|
|
11947
12057
|
if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
|
|
11948
12058
|
return value;
|
|
11949
12059
|
}
|
|
12060
|
+
/**
|
|
12061
|
+
* What a block's own section background field admits, read from its manifest.
|
|
12062
|
+
* A site style's surface rule may paint a gradient or a photo; a block whose
|
|
12063
|
+
* `_sectionStyles.background` refuses that paint would be dropped at render
|
|
12064
|
+
* admission, so the runtime compiler paints the surface's colour equivalent
|
|
12065
|
+
* instead (see `compileSectionBackground`).
|
|
12066
|
+
*/
|
|
12067
|
+
const sectionBackgroundPaintValues = [
|
|
12068
|
+
"color",
|
|
12069
|
+
"gradient",
|
|
12070
|
+
"image"
|
|
12071
|
+
];
|
|
11950
12072
|
const plainFrame = { kind: "plain" };
|
|
11951
12073
|
function panelFrame(treatment) {
|
|
11952
12074
|
return {
|
|
@@ -12033,6 +12155,7 @@ function defineBlockDesignCapability(capability) {
|
|
|
12033
12155
|
...capability,
|
|
12034
12156
|
kind: "designed",
|
|
12035
12157
|
looks: capability.looks ?? "not-applicable",
|
|
12158
|
+
sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
|
|
12036
12159
|
sectionHeights: capability.sectionHeights ?? ["default"],
|
|
12037
12160
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
12038
12161
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
@@ -12045,6 +12168,10 @@ function defineBlockDesignCapability(capability) {
|
|
|
12045
12168
|
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
12046
12169
|
};
|
|
12047
12170
|
}
|
|
12171
|
+
/** Absent means the block admits every section background paint. */
|
|
12172
|
+
function admittedSectionBackgroundPaints(paints) {
|
|
12173
|
+
return paints ?? sectionBackgroundPaintValues;
|
|
12174
|
+
}
|
|
12048
12175
|
//#endregion
|
|
12049
12176
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
12050
12177
|
const logoTextConfidenceValues = [
|
|
@@ -12470,12 +12597,22 @@ const mediaPresentationSchema = commonSchema.extend({
|
|
|
12470
12597
|
const boxBackgroundSchema = z$1.discriminatedUnion("type", [
|
|
12471
12598
|
commonSchema.extend({
|
|
12472
12599
|
type: z$1.literal("color"),
|
|
12473
|
-
color: tokenOrCssColorValueSchema.nullable().optional()
|
|
12600
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
12601
|
+
/**
|
|
12602
|
+
* Compiler-owned. The scrim a site-style colour surface lays over media
|
|
12603
|
+
* that replaces it (a Look's band meeting an authored photo), sized so the
|
|
12604
|
+
* surface's foreground stays legible over any pixel. A colour background
|
|
12605
|
+
* never draws it itself; `resolveSectionBackground` moves it onto the
|
|
12606
|
+
* merged media background as its overlay.
|
|
12607
|
+
*/
|
|
12608
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
12474
12609
|
}),
|
|
12475
12610
|
commonSchema.extend({
|
|
12476
12611
|
type: z$1.literal("gradient"),
|
|
12477
12612
|
gradient: z$1.string().nullable().optional(),
|
|
12478
|
-
gradientPresetId: z$1.string().min(1).nullable().optional()
|
|
12613
|
+
gradientPresetId: z$1.string().min(1).nullable().optional(),
|
|
12614
|
+
/** Compiler-owned; see the colour branch. */
|
|
12615
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
12479
12616
|
}),
|
|
12480
12617
|
mediaPresentationSchema.extend({
|
|
12481
12618
|
type: z$1.literal("image"),
|
|
@@ -13250,7 +13387,7 @@ function isRecord$27(value) {
|
|
|
13250
13387
|
* callsites even though arrays pass at runtime. Follow-up cleanup should replace
|
|
13251
13388
|
* this API with a more precise predicate type and migrate consumers.
|
|
13252
13389
|
*/
|
|
13253
|
-
function isObjectRecord$
|
|
13390
|
+
function isObjectRecord$3(value) {
|
|
13254
13391
|
return typeof value === "object" && value !== null;
|
|
13255
13392
|
}
|
|
13256
13393
|
//#endregion
|
|
@@ -13358,68 +13495,113 @@ function createRichTextDoc(paragraphs) {
|
|
|
13358
13495
|
};
|
|
13359
13496
|
}
|
|
13360
13497
|
//#endregion
|
|
13361
|
-
//#region ../
|
|
13362
|
-
const
|
|
13363
|
-
const
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
intervalUnit: z$1.enum([
|
|
13370
|
-
"day",
|
|
13371
|
-
"week",
|
|
13372
|
-
"month"
|
|
13373
|
-
])
|
|
13374
|
-
}),
|
|
13375
|
-
z$1.object({
|
|
13376
|
-
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
13377
|
-
depositAmountCents: z$1.number().int().min(0),
|
|
13378
|
-
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
13379
|
-
instalmentCount: z$1.number().int().positive(),
|
|
13380
|
-
intervalCount: z$1.number().int().positive(),
|
|
13381
|
-
intervalUnit: z$1.enum([
|
|
13382
|
-
"day",
|
|
13383
|
-
"week",
|
|
13384
|
-
"month"
|
|
13385
|
-
])
|
|
13386
|
-
}),
|
|
13387
|
-
z$1.object({
|
|
13388
|
-
kind: z$1.literal("equal_scheduled_instalments"),
|
|
13389
|
-
instalmentCount: z$1.number().int().positive(),
|
|
13390
|
-
intervalCount: z$1.number().int().positive(),
|
|
13391
|
-
intervalUnit: z$1.enum([
|
|
13392
|
-
"day",
|
|
13393
|
-
"week",
|
|
13394
|
-
"month"
|
|
13395
|
-
])
|
|
13396
|
-
})
|
|
13498
|
+
//#region ../core/src/booking-payment-schemas.ts
|
|
13499
|
+
const stripObject = (shape) => z$1.object(shape);
|
|
13500
|
+
const strictObject = (shape) => z$1.strictObject(shape);
|
|
13501
|
+
const depositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
13502
|
+
const intervalUnitSchema = z$1.enum([
|
|
13503
|
+
"day",
|
|
13504
|
+
"week",
|
|
13505
|
+
"month"
|
|
13397
13506
|
]);
|
|
13398
|
-
const
|
|
13399
|
-
|
|
13400
|
-
|
|
13401
|
-
|
|
13402
|
-
|
|
13403
|
-
|
|
13404
|
-
|
|
13405
|
-
|
|
13406
|
-
|
|
13407
|
-
|
|
13408
|
-
|
|
13409
|
-
|
|
13410
|
-
|
|
13411
|
-
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
|
|
13415
|
-
|
|
13416
|
-
|
|
13417
|
-
|
|
13418
|
-
|
|
13419
|
-
|
|
13420
|
-
|
|
13421
|
-
|
|
13422
|
-
|
|
13507
|
+
const nonNegativeIntegerSchema = z$1.number().int().nonnegative();
|
|
13508
|
+
const positiveIntegerSchema = z$1.number().int().positive();
|
|
13509
|
+
function createInstalmentPlanSchema(object) {
|
|
13510
|
+
return z$1.discriminatedUnion("kind", [
|
|
13511
|
+
object({
|
|
13512
|
+
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
13513
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
13514
|
+
depositRefundability: depositRefundPolicySchema,
|
|
13515
|
+
remainderDueCount: positiveIntegerSchema,
|
|
13516
|
+
intervalUnit: intervalUnitSchema
|
|
13517
|
+
}),
|
|
13518
|
+
object({
|
|
13519
|
+
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
13520
|
+
depositAmountCents: nonNegativeIntegerSchema,
|
|
13521
|
+
depositRefundability: depositRefundPolicySchema,
|
|
13522
|
+
instalmentCount: positiveIntegerSchema,
|
|
13523
|
+
intervalCount: positiveIntegerSchema,
|
|
13524
|
+
intervalUnit: intervalUnitSchema
|
|
13525
|
+
}),
|
|
13526
|
+
object({
|
|
13527
|
+
kind: z$1.literal("equal_scheduled_instalments"),
|
|
13528
|
+
instalmentCount: positiveIntegerSchema,
|
|
13529
|
+
intervalCount: positiveIntegerSchema,
|
|
13530
|
+
intervalUnit: intervalUnitSchema
|
|
13531
|
+
})
|
|
13532
|
+
]);
|
|
13533
|
+
}
|
|
13534
|
+
function createFlexibleBalanceSchemas(object) {
|
|
13535
|
+
const dueDateRule = z$1.discriminatedUnion("kind", [object({
|
|
13536
|
+
kind: z$1.literal("relative_to_start_date"),
|
|
13537
|
+
daysBeforeStart: positiveIntegerSchema
|
|
13538
|
+
}), object({
|
|
13539
|
+
kind: z$1.literal("fixed_calendar_date"),
|
|
13540
|
+
dueAt: z$1.string().datetime()
|
|
13541
|
+
})]);
|
|
13542
|
+
return {
|
|
13543
|
+
dueDateRule,
|
|
13544
|
+
config: object({
|
|
13545
|
+
upfrontAmountCents: nonNegativeIntegerSchema,
|
|
13546
|
+
dueDateRule,
|
|
13547
|
+
depositRefundability: depositRefundPolicySchema
|
|
13548
|
+
})
|
|
13549
|
+
};
|
|
13550
|
+
}
|
|
13551
|
+
const paymentOptionKindsMessages = {
|
|
13552
|
+
no_options: "Choose at least one way for customers to pay.",
|
|
13553
|
+
duplicate_kind: "Choose each payment option only once.",
|
|
13554
|
+
incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
|
|
13555
|
+
};
|
|
13556
|
+
function buildBookingPaymentOptionSchemas(object) {
|
|
13557
|
+
const instalmentPlan = createInstalmentPlanSchema(object);
|
|
13558
|
+
const flexibleBalance = createFlexibleBalanceSchemas(object);
|
|
13559
|
+
const paymentCollectionOption = z$1.discriminatedUnion("kind", [
|
|
13560
|
+
object({ kind: z$1.literal("upfront") }),
|
|
13561
|
+
object({ kind: z$1.literal("deferred_manual") }),
|
|
13562
|
+
object({
|
|
13563
|
+
kind: z$1.literal("instalment_plan"),
|
|
13564
|
+
plan: instalmentPlan
|
|
13565
|
+
}),
|
|
13566
|
+
object({
|
|
13567
|
+
kind: z$1.literal("flexible_balance"),
|
|
13568
|
+
config: flexibleBalance.config
|
|
13569
|
+
})
|
|
13570
|
+
]);
|
|
13571
|
+
const paymentTerms = object({ allowedOptions: z$1.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
|
|
13572
|
+
const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
|
|
13573
|
+
if (!result.ok) ctx.addIssue({
|
|
13574
|
+
code: "custom",
|
|
13575
|
+
path: ["allowedOptions"],
|
|
13576
|
+
message: paymentOptionKindsMessages[result.error]
|
|
13577
|
+
});
|
|
13578
|
+
});
|
|
13579
|
+
const paymentOptionsChoice = z$1.discriminatedUnion("source", [z$1.strictObject({ source: z$1.literal("default") }), z$1.strictObject({
|
|
13580
|
+
source: z$1.literal("custom"),
|
|
13581
|
+
paymentTerms
|
|
13582
|
+
})]);
|
|
13583
|
+
return {
|
|
13584
|
+
depositRefundPolicy: depositRefundPolicySchema,
|
|
13585
|
+
instalmentPlan,
|
|
13586
|
+
flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
|
|
13587
|
+
flexibleBalanceConfig: flexibleBalance.config,
|
|
13588
|
+
paymentCollectionOption,
|
|
13589
|
+
paymentTerms,
|
|
13590
|
+
paymentOptionsChoice
|
|
13591
|
+
};
|
|
13592
|
+
}
|
|
13593
|
+
function createBookingPaymentOptionSchemas(mode) {
|
|
13594
|
+
return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
|
|
13595
|
+
}
|
|
13596
|
+
const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
|
|
13597
|
+
bookingPaymentOptionSchemas.depositRefundPolicy;
|
|
13598
|
+
bookingPaymentOptionSchemas.instalmentPlan;
|
|
13599
|
+
bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
|
|
13600
|
+
bookingPaymentOptionSchemas.flexibleBalanceConfig;
|
|
13601
|
+
bookingPaymentOptionSchemas.paymentCollectionOption;
|
|
13602
|
+
const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
|
|
13603
|
+
bookingPaymentOptionSchemas.paymentOptionsChoice;
|
|
13604
|
+
const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
|
|
13423
13605
|
const blockBookingConsentSchema = z$1.object({
|
|
13424
13606
|
requirementId: z$1.string(),
|
|
13425
13607
|
title: z$1.string(),
|
|
@@ -14028,7 +14210,7 @@ const publicPassProductCollectionSchema = z$1.object({ passes: z$1.array(publicP
|
|
|
14028
14210
|
/**
|
|
14029
14211
|
* Public membership product for shop display
|
|
14030
14212
|
*/
|
|
14031
|
-
const
|
|
14213
|
+
const publicMembershipProductFields = {
|
|
14032
14214
|
id: z$1.string(),
|
|
14033
14215
|
name: z$1.string(),
|
|
14034
14216
|
description: z$1.string().nullable(),
|
|
@@ -14037,7 +14219,16 @@ const publicMembershipProductSchema = z$1.object({
|
|
|
14037
14219
|
billingInterval: z$1.enum(["month", "year"]),
|
|
14038
14220
|
eligibleCategoryIds: z$1.array(z$1.string()),
|
|
14039
14221
|
eligibleCategoryNames: z$1.array(z$1.string())
|
|
14222
|
+
};
|
|
14223
|
+
const purchasablePublicMembershipProductSchema = z$1.object({
|
|
14224
|
+
...publicMembershipProductFields,
|
|
14225
|
+
purchaseAvailability: z$1.literal("purchasable")
|
|
14040
14226
|
});
|
|
14227
|
+
const publicMembershipProductSchema = z$1.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z$1.object({
|
|
14228
|
+
...publicMembershipProductFields,
|
|
14229
|
+
purchaseAvailability: z$1.literal("display_only"),
|
|
14230
|
+
unavailabilityReason: z$1.literal("online_payments_unavailable")
|
|
14231
|
+
})]);
|
|
14041
14232
|
const publicMembershipProductCollectionSchema = z$1.object({ memberships: z$1.array(publicMembershipProductSchema) });
|
|
14042
14233
|
//#endregion
|
|
14043
14234
|
//#region ../blocks/src/system/node/schema.ts
|
|
@@ -15211,6 +15402,17 @@ function defineBlockAppearancePreset(preset) {
|
|
|
15211
15402
|
* (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
|
|
15212
15403
|
* composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
|
|
15213
15404
|
* in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
|
|
15405
|
+
*
|
|
15406
|
+
* A Look asking for the `alternative` or `open` role is offered only where the
|
|
15407
|
+
* site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
|
|
15408
|
+
* that differ only in role are distinct wherever both are offered.
|
|
15409
|
+
*
|
|
15410
|
+
* Retiring a Look is removing its entry. A stored pin to a retired id reads as
|
|
15411
|
+
* an unsupported pin in the page design editor model and renders the block's
|
|
15412
|
+
* auto Look, the same path an unavailable Look takes. Duplicates retired in
|
|
15413
|
+
* the 2026-09 Look audit: `feature-cards-soft-panels`,
|
|
15414
|
+
* `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
|
|
15415
|
+
* `testimonials-default-cards`.
|
|
15214
15416
|
*/
|
|
15215
15417
|
const brandScrimOptionGroups = [{
|
|
15216
15418
|
id: "image-surface-treatment",
|
|
@@ -15595,16 +15797,6 @@ defineBlockAppearancePreset({
|
|
|
15595
15797
|
treatment: "framed-programme"
|
|
15596
15798
|
}
|
|
15597
15799
|
}
|
|
15598
|
-
}), defineBlockAppearancePreset({
|
|
15599
|
-
id: "feature-cards-soft-panels",
|
|
15600
|
-
target: "feature-cards",
|
|
15601
|
-
label: "Soft tinted panels",
|
|
15602
|
-
blockKinds: ["block.feature-cards"],
|
|
15603
|
-
design: {
|
|
15604
|
-
sectionSurface: "base",
|
|
15605
|
-
contentFrame: plainFrame,
|
|
15606
|
-
cardRole: "alternative"
|
|
15607
|
-
}
|
|
15608
15800
|
}), defineBlockAppearancePreset({
|
|
15609
15801
|
id: "feature-cards-editorial-diptych",
|
|
15610
15802
|
target: "feature-cards",
|
|
@@ -15616,27 +15808,6 @@ defineBlockAppearancePreset({
|
|
|
15616
15808
|
contentFrame: plainFrame,
|
|
15617
15809
|
cardRole: "default"
|
|
15618
15810
|
}
|
|
15619
|
-
}), defineBlockAppearancePreset({
|
|
15620
|
-
id: "feature-cards-editorial-pathways",
|
|
15621
|
-
target: "feature-cards",
|
|
15622
|
-
label: "Editorial pathways",
|
|
15623
|
-
blockKinds: ["block.feature-cards"],
|
|
15624
|
-
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
15625
|
-
design: {
|
|
15626
|
-
sectionSurface: "base",
|
|
15627
|
-
contentFrame: plainFrame,
|
|
15628
|
-
cardRole: "default"
|
|
15629
|
-
}
|
|
15630
|
-
}), defineBlockAppearancePreset({
|
|
15631
|
-
id: "feature-cards-photo-tiles",
|
|
15632
|
-
target: "feature-cards",
|
|
15633
|
-
label: "Photo tiles",
|
|
15634
|
-
blockKinds: ["block.feature-cards"],
|
|
15635
|
-
design: {
|
|
15636
|
-
sectionSurface: "base",
|
|
15637
|
-
contentFrame: plainFrame,
|
|
15638
|
-
cardRole: "default"
|
|
15639
|
-
}
|
|
15640
15811
|
}), defineBlockAppearancePreset({
|
|
15641
15812
|
id: "events-lined-panel",
|
|
15642
15813
|
target: "events",
|
|
@@ -15725,16 +15896,6 @@ defineBlockAppearancePreset({
|
|
|
15725
15896
|
contentFrame: panelFrame("raised"),
|
|
15726
15897
|
cardRole: "default"
|
|
15727
15898
|
}
|
|
15728
|
-
}), defineBlockAppearancePreset({
|
|
15729
|
-
id: "testimonials-default-cards",
|
|
15730
|
-
target: "testimonials",
|
|
15731
|
-
label: "Default cards",
|
|
15732
|
-
blockKinds: ["block.testimonials"],
|
|
15733
|
-
design: {
|
|
15734
|
-
sectionSurface: "base",
|
|
15735
|
-
contentFrame: plainFrame,
|
|
15736
|
-
cardRole: "default"
|
|
15737
|
-
}
|
|
15738
15899
|
}), defineBlockAppearancePreset({
|
|
15739
15900
|
id: "testimonials-statement-cards",
|
|
15740
15901
|
target: "testimonials",
|
|
@@ -19621,6 +19782,17 @@ asLayoutVariantKey("classic");
|
|
|
19621
19782
|
asLayoutVariantKey("micro");
|
|
19622
19783
|
asBoundaryOptionId("break:wave");
|
|
19623
19784
|
//#endregion
|
|
19785
|
+
//#region ../theme-core/src/palette/utils/scrimContrast.ts
|
|
19786
|
+
const WHITE = "#ffffff";
|
|
19787
|
+
const BLACK = "#000000";
|
|
19788
|
+
/** `top` at `alpha` over opaque `bottom`, blended as CSS paints an overlay. */
|
|
19789
|
+
function compositeHex(topHex, alpha, bottomHex) {
|
|
19790
|
+
const top = hexToRgb$1(topHex);
|
|
19791
|
+
const bottom = hexToRgb$1(bottomHex);
|
|
19792
|
+
const mix = (a, b) => Math.round(alpha * a + (1 - alpha) * b);
|
|
19793
|
+
return rgbToHex$1(mix(top.r, bottom.r), mix(top.g, bottom.g), mix(top.b, bottom.b));
|
|
19794
|
+
}
|
|
19795
|
+
//#endregion
|
|
19624
19796
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
19625
19797
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
19626
19798
|
return {
|
|
@@ -20744,9 +20916,7 @@ const curatedSiteStyles = [
|
|
|
20744
20916
|
recommendedAppearancePresetIds: [
|
|
20745
20917
|
"hero-split-editorial",
|
|
20746
20918
|
"intro-portrait-bio",
|
|
20747
|
-
"feature-cards-
|
|
20748
|
-
"feature-cards-editorial-columns",
|
|
20749
|
-
"feature-cards-photo-tiles",
|
|
20919
|
+
"feature-cards-bold-colors",
|
|
20750
20920
|
"testimonials-non-carded",
|
|
20751
20921
|
"faq-contained-help",
|
|
20752
20922
|
"contact-form-panel"
|
|
@@ -21390,8 +21560,7 @@ const curatedSiteStyles = [
|
|
|
21390
21560
|
"intro-portrait-bio",
|
|
21391
21561
|
"feature-cards-editorial-columns",
|
|
21392
21562
|
"feature-cards-editorial-diptych",
|
|
21393
|
-
"feature-cards-
|
|
21394
|
-
"feature-cards-soft-panels",
|
|
21563
|
+
"feature-cards-bold-colors",
|
|
21395
21564
|
"events-lined-panel",
|
|
21396
21565
|
"testimonials-non-carded",
|
|
21397
21566
|
"faq-base-accordion",
|
|
@@ -22451,7 +22620,7 @@ function generateHeaderCss(options) {
|
|
|
22451
22620
|
}));
|
|
22452
22621
|
cssChunks.push(generateLogoTextBehaviorStyles(header.logoText, themeId));
|
|
22453
22622
|
cssChunks.push(generateHeaderNavLinkStyles(header, themeId, tokens, theme, headerContrastTreatment, headerNavTextSize));
|
|
22454
|
-
cssChunks.push(generateDropdownContainerStyles(header, themeId, tokens));
|
|
22623
|
+
cssChunks.push(generateDropdownContainerStyles(header, themeId, tokens, theme));
|
|
22455
22624
|
cssChunks.push(generateDropdownLinkStyles(header, themeId, tokens, theme));
|
|
22456
22625
|
cssChunks.push(generateDropdownCaretStyles(themeId));
|
|
22457
22626
|
cssChunks.push(generateDropdownTriggerOverrides(header, themeId));
|
|
@@ -22538,15 +22707,14 @@ function generateLogoTextBehaviorStyles(logoText, themeId) {
|
|
|
22538
22707
|
/**
|
|
22539
22708
|
* Generate dropdown menu container styles
|
|
22540
22709
|
*/
|
|
22541
|
-
function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
22710
|
+
function generateDropdownContainerStyles(header, themeId, tokens, theme) {
|
|
22542
22711
|
const selector = `:where([data-theme-scope="${themeId}"]) .nav-dropdown-menu`;
|
|
22543
22712
|
const rules = [];
|
|
22544
22713
|
const dropdownStyle = header.dropdownStyle;
|
|
22545
22714
|
rules.push(...NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES);
|
|
22546
|
-
const
|
|
22547
|
-
rules.push(`background-color: ${tokens.getColor(
|
|
22548
|
-
|
|
22549
|
-
rules.push(`color: ${tokens.getColor(textToken)};`);
|
|
22715
|
+
const surface = resolveDropdownSurface(header, theme);
|
|
22716
|
+
rules.push(`background-color: ${tokens.getColor(surface.backgroundToken)};`);
|
|
22717
|
+
rules.push(...surface.declarations(tokens));
|
|
22550
22718
|
const borderToken = dropdownStyle?.borderColor;
|
|
22551
22719
|
if (borderToken === null) rules.push(`border: none;`);
|
|
22552
22720
|
else rules.push(`border: 1px solid ${tokens.getColor(borderToken ?? "border")};`);
|
|
@@ -22564,7 +22732,7 @@ function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
|
22564
22732
|
}
|
|
22565
22733
|
function generateDropdownLinkStyles(header, themeId, tokens, theme) {
|
|
22566
22734
|
const configuredDropdownStyle = header.dropdownStyle;
|
|
22567
|
-
const textColorToken =
|
|
22735
|
+
const textColorToken = resolveDropdownSurface(header, theme).textToken;
|
|
22568
22736
|
const hoverBgToken = configuredDropdownStyle?.hoverBackground ?? textColorToken;
|
|
22569
22737
|
const hoverEffects = {
|
|
22570
22738
|
hover: hoverBgToken === null ? [] : [{
|
|
@@ -22653,21 +22821,35 @@ ${`:where([data-theme-scope="${themeId}"]) .nav-dropdown-trigger.header-nav-link
|
|
|
22653
22821
|
`.trim();
|
|
22654
22822
|
}
|
|
22655
22823
|
/**
|
|
22824
|
+
* The dropdown menu and mobile panel share one surface: `dropdownStyle`'s
|
|
22825
|
+
* background, with the text candidate (the dropdown's own colour, then the
|
|
22826
|
+
* header's nav colour) validated against it through the surface contract. The
|
|
22827
|
+
* nav colour is chosen for the header bar, which can be dark or transparent,
|
|
22828
|
+
* so it only carries over when it is legible on the menu too.
|
|
22829
|
+
*/
|
|
22830
|
+
function resolveDropdownSurface(header, theme) {
|
|
22831
|
+
const backgroundToken = header.dropdownStyle?.background ?? "surface";
|
|
22832
|
+
const candidate = header.dropdownStyle?.textColor ?? ((header.navColor ?? header.textColor)?.trim() || "text");
|
|
22833
|
+
const foreground = resolveSurfaceForeground({
|
|
22834
|
+
type: "color",
|
|
22835
|
+
color: backgroundToken,
|
|
22836
|
+
textColor: candidate
|
|
22837
|
+
}, expandPalette(theme.palette));
|
|
22838
|
+
return {
|
|
22839
|
+
backgroundToken,
|
|
22840
|
+
textToken: foreground.kind === "known" ? foreground.roles.text : candidate,
|
|
22841
|
+
declarations: (tokens) => foreground.kind === "known" ? surfaceForegroundDeclarations(surfaceForegroundInputFromResolved(foreground, (token) => tokens.getColor(token))) : [`color: ${tokens.getColor(candidate)};`]
|
|
22842
|
+
};
|
|
22843
|
+
}
|
|
22844
|
+
/**
|
|
22656
22845
|
* Generate mobile navigation panel styles
|
|
22657
22846
|
* Uses the same dropdownStyle settings as the desktop dropdown menus
|
|
22658
22847
|
*/
|
|
22659
22848
|
function generateMobilePanelStyles(header, themeId, tokens, theme) {
|
|
22660
22849
|
const selector = `:where([data-theme-scope="${themeId}"]) .nav-mobile-panel`;
|
|
22661
22850
|
const selfSelector = `:where(.nav-mobile-panel[data-theme-scope="${themeId}"])`;
|
|
22662
|
-
const
|
|
22663
|
-
const
|
|
22664
|
-
const textToken = dropdownStyle?.textColor ?? "text";
|
|
22665
|
-
const foreground = resolveSurfaceForeground({
|
|
22666
|
-
type: "color",
|
|
22667
|
-
color: bgToken,
|
|
22668
|
-
textColor: textToken
|
|
22669
|
-
}, expandPalette(theme.palette));
|
|
22670
|
-
const body = renderCssDeclarations([`background-color: ${tokens.getColor(bgToken)};`, ...foreground.kind === "known" ? surfaceForegroundDeclarations(surfaceForegroundInputFromResolved(foreground, (token) => tokens.getColor(token))) : [`color: ${tokens.getColor(textToken)};`]]);
|
|
22851
|
+
const surface = resolveDropdownSurface(header, theme);
|
|
22852
|
+
const body = renderCssDeclarations([`background-color: ${tokens.getColor(surface.backgroundToken)};`, ...surface.declarations(tokens)]);
|
|
22671
22853
|
return `\n${selector} {\n ${body}\n}\n\n${selfSelector} {\n ${body}\n}\n`;
|
|
22672
22854
|
}
|
|
22673
22855
|
/**
|
|
@@ -22980,15 +23162,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
|
|
|
22980
23162
|
if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
|
|
22981
23163
|
const cached = surfaceCache.get(cacheKey);
|
|
22982
23164
|
if (cached) return cached;
|
|
22983
|
-
const styles =
|
|
22984
|
-
|
|
22985
|
-
|
|
22986
|
-
|
|
22987
|
-
|
|
22988
|
-
surface: surface.surface
|
|
22989
|
-
});
|
|
22990
|
-
return Object.entries(contextualButtonSurfaceStyles(resolution));
|
|
22991
|
-
}));
|
|
23165
|
+
const styles = knownSurfaceButtonContextStyles({
|
|
23166
|
+
surface: surface.surface,
|
|
23167
|
+
palette,
|
|
23168
|
+
buttonSystem
|
|
23169
|
+
});
|
|
22992
23170
|
surfaceCache.set(cacheKey, styles);
|
|
22993
23171
|
return styles;
|
|
22994
23172
|
}
|
|
@@ -29073,6 +29251,94 @@ function deepEqualJsonValue(left, right) {
|
|
|
29073
29251
|
return false;
|
|
29074
29252
|
}
|
|
29075
29253
|
//#endregion
|
|
29254
|
+
//#region ../commerce/src/purchase/checkoutSessionMetadata.ts
|
|
29255
|
+
const datedOfferingSharedEngineMetadataShape = {
|
|
29256
|
+
datedOfferingEngineContractVersion: z$1.literal("shared_v1"),
|
|
29257
|
+
datedOfferingEngineRouteKind: z$1.literal("shared_whole_series_registration"),
|
|
29258
|
+
datedOfferingCapacityHoldId: z$1.string().uuid(),
|
|
29259
|
+
datedOfferingCapacityHoldAuditRef: z$1.string().uuid(),
|
|
29260
|
+
customerId: z$1.string().uuid(),
|
|
29261
|
+
eventSeriesId: z$1.string().uuid()
|
|
29262
|
+
};
|
|
29263
|
+
z$1.object(datedOfferingSharedEngineMetadataShape);
|
|
29264
|
+
const orderCheckoutSessionMetadataBaseShape = {
|
|
29265
|
+
type: z$1.literal("order"),
|
|
29266
|
+
site_id: z$1.string().uuid(),
|
|
29267
|
+
order_id: z$1.string().uuid().optional(),
|
|
29268
|
+
customer_email: z$1.string().email().optional(),
|
|
29269
|
+
customer_name: z$1.string().optional(),
|
|
29270
|
+
product_id: z$1.string().uuid().optional(),
|
|
29271
|
+
attendee_id: z$1.string().uuid().optional(),
|
|
29272
|
+
occurrence_id: z$1.string().uuid().optional(),
|
|
29273
|
+
tickets_count: z$1.string().optional(),
|
|
29274
|
+
notes: z$1.string().optional(),
|
|
29275
|
+
discount_redemption_id: z$1.string().uuid().optional(),
|
|
29276
|
+
discount_code_id: z$1.string().uuid().optional(),
|
|
29277
|
+
discount_code: z$1.string().optional(),
|
|
29278
|
+
discount_public_label: z$1.string().optional(),
|
|
29279
|
+
credit_reservation_id: z$1.string().uuid().optional(),
|
|
29280
|
+
credit_reserved_cents: z$1.string().optional(),
|
|
29281
|
+
discount_code_amount_cents: z$1.string().optional(),
|
|
29282
|
+
order_payment_reason: z$1.enum([
|
|
29283
|
+
"instalment_payoff",
|
|
29284
|
+
"flexible_balance_initial",
|
|
29285
|
+
"flexible_balance_paydown"
|
|
29286
|
+
]).optional(),
|
|
29287
|
+
order_payment_plan_id: z$1.string().uuid().optional(),
|
|
29288
|
+
order_flexible_balance_contract_id: z$1.string().uuid().optional()
|
|
29289
|
+
};
|
|
29290
|
+
const absentDatedOfferingSharedEngineMetadataShape = {
|
|
29291
|
+
datedOfferingEngineContractVersion: z$1.never().optional(),
|
|
29292
|
+
datedOfferingEngineRouteKind: z$1.never().optional(),
|
|
29293
|
+
datedOfferingCapacityHoldId: z$1.never().optional(),
|
|
29294
|
+
datedOfferingCapacityHoldAuditRef: z$1.never().optional(),
|
|
29295
|
+
customerId: z$1.never().optional(),
|
|
29296
|
+
eventSeriesId: z$1.never().optional()
|
|
29297
|
+
};
|
|
29298
|
+
const LegacyOrderCheckoutSessionMetadataSchema = z$1.object({
|
|
29299
|
+
...orderCheckoutSessionMetadataBaseShape,
|
|
29300
|
+
...absentDatedOfferingSharedEngineMetadataShape
|
|
29301
|
+
});
|
|
29302
|
+
const SharedDatedOfferingOrderCheckoutSessionMetadataSchema = z$1.object({
|
|
29303
|
+
...orderCheckoutSessionMetadataBaseShape,
|
|
29304
|
+
...datedOfferingSharedEngineMetadataShape
|
|
29305
|
+
});
|
|
29306
|
+
z$1.union([SharedDatedOfferingOrderCheckoutSessionMetadataSchema, LegacyOrderCheckoutSessionMetadataSchema]);
|
|
29307
|
+
//#endregion
|
|
29308
|
+
//#region ../commerce/src/purchase/stripeCommissionMetadata.ts
|
|
29309
|
+
/** Reasons are payment evidence, not an independent pricing policy. */
|
|
29310
|
+
const STRIPE_COMMISSION_FREE_REASONS = [
|
|
29311
|
+
"managed_billing",
|
|
29312
|
+
"no_commission_plan",
|
|
29313
|
+
"billing_evidence_invalid",
|
|
29314
|
+
"fee_rounds_to_zero",
|
|
29315
|
+
"payment_not_stripe"
|
|
29316
|
+
];
|
|
29317
|
+
const historicalContext = {
|
|
29318
|
+
currency: z$1.string().refine((value) => parseCurrencyCode(value) !== null).optional(),
|
|
29319
|
+
sourcePlanId: z$1.string().trim().min(1).optional()
|
|
29320
|
+
};
|
|
29321
|
+
const percentSchema = z$1.number().finite().min(0).max(100);
|
|
29322
|
+
z$1.discriminatedUnion("kind", [
|
|
29323
|
+
z$1.object({
|
|
29324
|
+
kind: z$1.literal("commission_free"),
|
|
29325
|
+
reason: z$1.enum(STRIPE_COMMISSION_FREE_REASONS),
|
|
29326
|
+
...historicalContext
|
|
29327
|
+
}),
|
|
29328
|
+
z$1.object({
|
|
29329
|
+
kind: z$1.literal("application_fee_amount"),
|
|
29330
|
+
amountCents: z$1.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
29331
|
+
percent: percentSchema,
|
|
29332
|
+
...historicalContext
|
|
29333
|
+
}),
|
|
29334
|
+
z$1.object({
|
|
29335
|
+
kind: z$1.literal("application_fee_percent"),
|
|
29336
|
+
percent: percentSchema,
|
|
29337
|
+
...historicalContext
|
|
29338
|
+
})
|
|
29339
|
+
]);
|
|
29340
|
+
toNonNegativeCents(0);
|
|
29341
|
+
//#endregion
|
|
29076
29342
|
//#region ../blocks/src/system/runtime/nodes/booking-form.state.ts
|
|
29077
29343
|
function toTrimmedString(value) {
|
|
29078
29344
|
const trimmed = value?.trim();
|
|
@@ -29257,6 +29523,13 @@ const STRUCTURED_KEYS = /* @__PURE__ */ new Set([
|
|
|
29257
29523
|
"domainOperationProvider",
|
|
29258
29524
|
"domainOperationError",
|
|
29259
29525
|
"domainOperationMetadata",
|
|
29526
|
+
"previewDecision",
|
|
29527
|
+
"previewOutcome",
|
|
29528
|
+
"previewTokenTtlBucket",
|
|
29529
|
+
"previewRefreshCookiePresent",
|
|
29530
|
+
"previewDashboardStatus",
|
|
29531
|
+
"previewProviderResult",
|
|
29532
|
+
"previewUpstreamStatus",
|
|
29260
29533
|
"durationMs",
|
|
29261
29534
|
"duration",
|
|
29262
29535
|
"status",
|
|
@@ -34024,14 +34297,18 @@ function buildEventCombinedInteractiveIslandProps(props) {
|
|
|
34024
34297
|
* @param needsPaymentStep - Whether user must complete payment method selection
|
|
34025
34298
|
* @returns Array of wizard steps to display
|
|
34026
34299
|
*/
|
|
34027
|
-
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
34300
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
|
|
34028
34301
|
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
|
|
34029
34302
|
"select-event",
|
|
34030
34303
|
"select-tickets",
|
|
34031
34304
|
"enter-details"
|
|
34032
34305
|
];
|
|
34033
34306
|
if (!needsPaymentStep) return baseSteps;
|
|
34034
|
-
return [
|
|
34307
|
+
return paymentActive ? [
|
|
34308
|
+
...baseSteps,
|
|
34309
|
+
"select-payment",
|
|
34310
|
+
"payment"
|
|
34311
|
+
] : [...baseSteps, "select-payment"];
|
|
34035
34312
|
}
|
|
34036
34313
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
34037
34314
|
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
@@ -34148,6 +34425,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
34148
34425
|
"Date",
|
|
34149
34426
|
"Tickets",
|
|
34150
34427
|
"Details",
|
|
34428
|
+
"Payment options",
|
|
34151
34429
|
"Payment"
|
|
34152
34430
|
];
|
|
34153
34431
|
const eventRegistrationPublicEventSchema = z$1.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
@@ -34290,12 +34568,13 @@ function shellLabelForRegistrationStep(step, events) {
|
|
|
34290
34568
|
switch (step) {
|
|
34291
34569
|
case "select-event": return isDateSelection(events) ? "Date" : "Event";
|
|
34292
34570
|
case "select-tickets": return "Tickets";
|
|
34571
|
+
case "fully-booked":
|
|
34293
34572
|
case "enter-details": return "Details";
|
|
34294
|
-
case "select-payment": return "Payment";
|
|
34573
|
+
case "select-payment": return "Payment options";
|
|
34574
|
+
case "payment": return "Payment";
|
|
34295
34575
|
case "error":
|
|
34296
34576
|
case "success":
|
|
34297
34577
|
case "submitting":
|
|
34298
|
-
case "redirecting":
|
|
34299
34578
|
case "verifying-payment":
|
|
34300
34579
|
case "verifying-timeout":
|
|
34301
34580
|
case "payment-status":
|
|
@@ -34307,7 +34586,7 @@ function isDateSelection(events) {
|
|
|
34307
34586
|
return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
|
|
34308
34587
|
}
|
|
34309
34588
|
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
34310
|
-
if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
|
|
34589
|
+
if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
|
|
34311
34590
|
if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
|
|
34312
34591
|
return "Preparing dates, tickets, and booking details.";
|
|
34313
34592
|
}
|
|
@@ -35230,7 +35509,7 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
35230
35509
|
product: pass
|
|
35231
35510
|
} : {
|
|
35232
35511
|
kind: "unavailable",
|
|
35233
|
-
label: "Online purchasing
|
|
35512
|
+
label: "Online purchasing is unavailable."
|
|
35234
35513
|
}
|
|
35235
35514
|
};
|
|
35236
35515
|
});
|
|
@@ -35240,7 +35519,14 @@ function buildPassesMembershipsDisplay(options) {
|
|
|
35240
35519
|
description: options.showDescriptions ? membership.description : null,
|
|
35241
35520
|
priceLabel: formatCommercePrice(membership.price, membership.currency),
|
|
35242
35521
|
intervalLabel: formatInterval(membership.billingInterval),
|
|
35243
|
-
|
|
35522
|
+
action: membership.purchaseAvailability === "purchasable" ? {
|
|
35523
|
+
kind: "purchase",
|
|
35524
|
+
label: options.membershipActionLabel,
|
|
35525
|
+
product: membership
|
|
35526
|
+
} : {
|
|
35527
|
+
kind: "unavailable",
|
|
35528
|
+
label: "Online purchasing is unavailable."
|
|
35529
|
+
}
|
|
35244
35530
|
}));
|
|
35245
35531
|
return {
|
|
35246
35532
|
kind: "passes-memberships",
|
|
@@ -35460,7 +35746,14 @@ const membershipCardDisplaySchema = z$1.object({
|
|
|
35460
35746
|
description: z$1.string().nullable(),
|
|
35461
35747
|
priceLabel: z$1.string(),
|
|
35462
35748
|
intervalLabel: z$1.string(),
|
|
35463
|
-
|
|
35749
|
+
action: z$1.discriminatedUnion("kind", [z$1.object({
|
|
35750
|
+
kind: z$1.literal("purchase"),
|
|
35751
|
+
label: z$1.string(),
|
|
35752
|
+
product: purchasablePublicMembershipProductSchema
|
|
35753
|
+
}), z$1.object({
|
|
35754
|
+
kind: z$1.literal("unavailable"),
|
|
35755
|
+
label: z$1.string()
|
|
35756
|
+
})])
|
|
35464
35757
|
});
|
|
35465
35758
|
const passesMembershipsDisplaySchema = z$1.object({
|
|
35466
35759
|
kind: z$1.literal("passes-memberships"),
|
|
@@ -38474,7 +38767,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
|
|
|
38474
38767
|
stack: 8e3,
|
|
38475
38768
|
digest: 128,
|
|
38476
38769
|
componentStack: 8e3,
|
|
38477
|
-
sourceLocation: 1024
|
|
38770
|
+
sourceLocation: 1024,
|
|
38771
|
+
navigationAgeMs: 6e4
|
|
38478
38772
|
};
|
|
38479
38773
|
const clientErrorEventSchema = z$1.enum([
|
|
38480
38774
|
"dashboard:route-error",
|
|
@@ -38491,7 +38785,17 @@ z$1.object({
|
|
|
38491
38785
|
stack: z$1.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
|
|
38492
38786
|
digest: z$1.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
|
|
38493
38787
|
componentStack: z$1.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
|
|
38494
|
-
sourceLocation: z$1.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
38788
|
+
sourceLocation: z$1.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
|
|
38789
|
+
navigation: z$1.object({
|
|
38790
|
+
fromPathname: z$1.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
38791
|
+
toPathname: z$1.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
38792
|
+
type: z$1.enum([
|
|
38793
|
+
"push",
|
|
38794
|
+
"replace",
|
|
38795
|
+
"traverse"
|
|
38796
|
+
]),
|
|
38797
|
+
ageMs: z$1.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
|
|
38798
|
+
}).strict().nullable().optional()
|
|
38495
38799
|
}).strict();
|
|
38496
38800
|
const API_ENDPOINTS$1 = {
|
|
38497
38801
|
...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
|
|
@@ -42248,24 +42552,6 @@ const API_ENDPOINTS$1 = {
|
|
|
42248
42552
|
"server:internal_error"
|
|
42249
42553
|
]
|
|
42250
42554
|
},
|
|
42251
|
-
syncBookingPassWithStripe: {
|
|
42252
|
-
path: "/sites/{siteId}/bookings/passes/{passId}/sync-stripe",
|
|
42253
|
-
method: "POST",
|
|
42254
|
-
tags: [
|
|
42255
|
-
"site-{siteId}",
|
|
42256
|
-
"passes-{siteId}",
|
|
42257
|
-
"pass-{passId}"
|
|
42258
|
-
],
|
|
42259
|
-
auth: "user",
|
|
42260
|
-
responseKind: "json",
|
|
42261
|
-
errors: [
|
|
42262
|
-
"validation:invalid_input",
|
|
42263
|
-
"auth:forbidden",
|
|
42264
|
-
"resource:not_found",
|
|
42265
|
-
"resource:conflict",
|
|
42266
|
-
"server:internal_error"
|
|
42267
|
-
]
|
|
42268
|
-
},
|
|
42269
42555
|
refundCustomerPass: {
|
|
42270
42556
|
path: "/sites/{siteId}/bookings/customer-passes/{customerPassId}/refund",
|
|
42271
42557
|
method: "POST",
|
|
@@ -43729,7 +44015,7 @@ const API_ENDPOINTS$1 = {
|
|
|
43729
44015
|
]
|
|
43730
44016
|
},
|
|
43731
44017
|
cancelFlexibleBalanceBookingDueToNonPayment: {
|
|
43732
|
-
path: "/sites/{siteId}/shop/orders/{orderId}/
|
|
44018
|
+
path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/cancel-due-to-non-payment",
|
|
43733
44019
|
method: "POST",
|
|
43734
44020
|
auth: "user",
|
|
43735
44021
|
responseKind: "json",
|
|
@@ -43740,7 +44026,7 @@ const API_ENDPOINTS$1 = {
|
|
|
43740
44026
|
]
|
|
43741
44027
|
},
|
|
43742
44028
|
reopenFlexibleBalanceBookingAfterNonPaymentCancellation: {
|
|
43743
|
-
path: "/sites/{siteId}/shop/orders/{orderId}/
|
|
44029
|
+
path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/reopen",
|
|
43744
44030
|
method: "POST",
|
|
43745
44031
|
auth: "user",
|
|
43746
44032
|
responseKind: "json",
|
|
@@ -46277,6 +46563,16 @@ const defaultTransforms = createTransformRegistry([
|
|
|
46277
46563
|
return resolveCalendarReadProfile(asPartialObject(value) ?? {});
|
|
46278
46564
|
}
|
|
46279
46565
|
},
|
|
46566
|
+
{
|
|
46567
|
+
id: "events.calendarBanded",
|
|
46568
|
+
kind: "formatter",
|
|
46569
|
+
summary: "Paint the week-board band only on a section with no background of its own",
|
|
46570
|
+
run(value) {
|
|
46571
|
+
const content = asPartialObject(value) ?? {};
|
|
46572
|
+
const sectionStyles = asPartialObject(content._sectionStyles);
|
|
46573
|
+
return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
|
|
46574
|
+
}
|
|
46575
|
+
},
|
|
46280
46576
|
...formattingTransforms,
|
|
46281
46577
|
...layoutTransforms,
|
|
46282
46578
|
...chromeLogoTransforms,
|
|
@@ -48064,11 +48360,18 @@ function AppointmentServicesNode({ sectionHeading, categoryId, services, pathnam
|
|
|
48064
48360
|
* card drawn exactly once after hydration, because the client wizard renders its
|
|
48065
48361
|
* own `.rb-reg-surface`, and leaves no stale loading state on the mounted form.
|
|
48066
48362
|
* `event-registration.server.tsx` follows the same shape.
|
|
48363
|
+
*
|
|
48364
|
+
* The root also carries `data-block="appointment-booking"`, because the
|
|
48365
|
+
* appointment-booking and registration-surface styles and the block's Tier 3
|
|
48366
|
+
* vars are all scoped under that attribute. On a page the block wrapper
|
|
48367
|
+
* already provides it, but the system service destination and /book render
|
|
48368
|
+
* this form on its own, so without it those routes lose every booking style.
|
|
48067
48369
|
*/
|
|
48068
48370
|
function BookingFormSSR({ blockId, children, ...sourceProps }) {
|
|
48069
48371
|
const islandProps = buildBookingFormInteractiveIslandProps(sourceProps);
|
|
48070
48372
|
const display = islandProps.render.display;
|
|
48071
48373
|
return /* @__PURE__ */ jsxs("div", {
|
|
48374
|
+
"data-block": "appointment-booking",
|
|
48072
48375
|
...getIslandRootProps("booking-form", blockId),
|
|
48073
48376
|
children: [
|
|
48074
48377
|
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
@@ -51251,7 +51554,8 @@ const eventCalendarLayout = [styledSection({
|
|
|
51251
51554
|
fallback: false
|
|
51252
51555
|
} },
|
|
51253
51556
|
banded: { $bind: {
|
|
51254
|
-
from: "content
|
|
51557
|
+
from: "content",
|
|
51558
|
+
transforms: [{ id: "events.calendarBanded" }],
|
|
51255
51559
|
fallback: false
|
|
51256
51560
|
} }
|
|
51257
51561
|
}))]
|
|
@@ -55285,11 +55589,11 @@ function ShopSSR({ blockId, siteId, apiBaseUrl, stage, children, checkoutEndpoin
|
|
|
55285
55589
|
}, pass.id)),
|
|
55286
55590
|
membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx(MembershipCardView, {
|
|
55287
55591
|
display: membership,
|
|
55288
|
-
action: /* @__PURE__ */ jsx(ThemedButton, {
|
|
55592
|
+
action: membership.action.kind === "unavailable" ? /* @__PURE__ */ jsx(PassPurchaseUnavailable, { label: membership.action.label }) : /* @__PURE__ */ jsx(ThemedButton, {
|
|
55289
55593
|
type: "button",
|
|
55290
55594
|
variant: render.hydration.buttonVariant,
|
|
55291
55595
|
size: "md",
|
|
55292
|
-
label: membership.
|
|
55596
|
+
label: membership.action.label,
|
|
55293
55597
|
disabled: true,
|
|
55294
55598
|
"aria-disabled": "true"
|
|
55295
55599
|
})
|
|
@@ -56563,6 +56867,172 @@ function generateShadowCssVars(theme) {
|
|
|
56563
56867
|
};
|
|
56564
56868
|
}
|
|
56565
56869
|
//#endregion
|
|
56870
|
+
//#region ../theme-core/src/blocks/opaquePanels.ts
|
|
56871
|
+
/**
|
|
56872
|
+
* Every element in `blocks-static/` CSS that paints its own background behind
|
|
56873
|
+
* text or buttons, with the palette token it paints.
|
|
56874
|
+
*
|
|
56875
|
+
* The CSS owns layout and the paint itself; this registry owns what the paint
|
|
56876
|
+
* implies. `generateOpaquePanelCss` publishes each panel's foreground contract
|
|
56877
|
+
* and button context from the theme, exactly as card roles and section
|
|
56878
|
+
* backgrounds do, so a white panel inside a dark band never inherits the band's
|
|
56879
|
+
* light text or its band-resolved buttons. `opaquePanels.test.ts` scans the
|
|
56880
|
+
* static CSS and fails when a rule paints a surface token without an entry
|
|
56881
|
+
* here, or when a registered rule declares the contract by hand.
|
|
56882
|
+
*
|
|
56883
|
+
* Selectors are written without the theme-scope prefix; the generator adds it.
|
|
56884
|
+
* A `transparent` entry is a treatment that turns a surface-owning class into
|
|
56885
|
+
* a boxless row, so it hands the surrounding surface's contract back.
|
|
56886
|
+
*/
|
|
56887
|
+
const opaquePanels = [
|
|
56888
|
+
{
|
|
56889
|
+
selector: ":where([data-block=\"event-registration\"], [data-block=\"appointment-booking\"]) .rb-reg-surface",
|
|
56890
|
+
paint: {
|
|
56891
|
+
kind: "solid",
|
|
56892
|
+
token: "surface"
|
|
56893
|
+
}
|
|
56894
|
+
},
|
|
56895
|
+
{
|
|
56896
|
+
selector: ":where([data-block='event-registration']) .er-booking-teaser",
|
|
56897
|
+
paint: {
|
|
56898
|
+
kind: "solid",
|
|
56899
|
+
token: "surface"
|
|
56900
|
+
}
|
|
56901
|
+
},
|
|
56902
|
+
{
|
|
56903
|
+
selector: ":where([data-block='event-registration']) .er-booking-bar",
|
|
56904
|
+
paint: {
|
|
56905
|
+
kind: "solid",
|
|
56906
|
+
token: "background"
|
|
56907
|
+
}
|
|
56908
|
+
},
|
|
56909
|
+
{
|
|
56910
|
+
selector: ":where([data-block='event-registration']) .er-modal",
|
|
56911
|
+
paint: {
|
|
56912
|
+
kind: "solid",
|
|
56913
|
+
token: "background"
|
|
56914
|
+
}
|
|
56915
|
+
},
|
|
56916
|
+
{
|
|
56917
|
+
selector: ":where([data-block='event-registration']) .er-booking-overlay__panel",
|
|
56918
|
+
paint: {
|
|
56919
|
+
kind: "solid",
|
|
56920
|
+
token: "background"
|
|
56921
|
+
}
|
|
56922
|
+
},
|
|
56923
|
+
{
|
|
56924
|
+
selector: ":where([data-block='event-calendar']) .event-agenda-card",
|
|
56925
|
+
paint: {
|
|
56926
|
+
kind: "solid",
|
|
56927
|
+
token: "surface"
|
|
56928
|
+
}
|
|
56929
|
+
},
|
|
56930
|
+
{
|
|
56931
|
+
selector: ":where([data-block='event-calendar']) .event-timetable-event",
|
|
56932
|
+
paint: {
|
|
56933
|
+
kind: "solid",
|
|
56934
|
+
token: "surface"
|
|
56935
|
+
}
|
|
56936
|
+
},
|
|
56937
|
+
{
|
|
56938
|
+
selector: ":where([data-block='event-calendar']) .event-week-board",
|
|
56939
|
+
paint: {
|
|
56940
|
+
kind: "solid",
|
|
56941
|
+
token: "surface"
|
|
56942
|
+
}
|
|
56943
|
+
},
|
|
56944
|
+
{
|
|
56945
|
+
selector: ":where([data-block='event-calendar']) .event-week-board-top",
|
|
56946
|
+
paint: {
|
|
56947
|
+
kind: "solid",
|
|
56948
|
+
token: "surfaceAlt"
|
|
56949
|
+
}
|
|
56950
|
+
},
|
|
56951
|
+
{
|
|
56952
|
+
selector: ":where([data-block='event-calendar']) .event-week-board-foot",
|
|
56953
|
+
paint: {
|
|
56954
|
+
kind: "solid",
|
|
56955
|
+
token: "surfaceAlt"
|
|
56956
|
+
}
|
|
56957
|
+
},
|
|
56958
|
+
{
|
|
56959
|
+
selector: ":where([data-block='event-calendar']) .ec-modal",
|
|
56960
|
+
paint: {
|
|
56961
|
+
kind: "solid",
|
|
56962
|
+
token: "surface"
|
|
56963
|
+
}
|
|
56964
|
+
},
|
|
56965
|
+
{
|
|
56966
|
+
selector: ".event-listing-compact-container",
|
|
56967
|
+
paint: {
|
|
56968
|
+
kind: "solid",
|
|
56969
|
+
token: "surface"
|
|
56970
|
+
}
|
|
56971
|
+
},
|
|
56972
|
+
{
|
|
56973
|
+
selector: ".shop__card",
|
|
56974
|
+
paint: {
|
|
56975
|
+
kind: "solid",
|
|
56976
|
+
token: "surface"
|
|
56977
|
+
}
|
|
56978
|
+
},
|
|
56979
|
+
{
|
|
56980
|
+
selector: ".shop--register .shop__card",
|
|
56981
|
+
paint: { kind: "transparent" }
|
|
56982
|
+
},
|
|
56983
|
+
{
|
|
56984
|
+
selector: ":where([data-block=\"shop\"]) .shop__return",
|
|
56985
|
+
paint: {
|
|
56986
|
+
kind: "solid",
|
|
56987
|
+
token: "surface"
|
|
56988
|
+
}
|
|
56989
|
+
},
|
|
56990
|
+
{
|
|
56991
|
+
selector: "[data-block=\"feature-cards\"][data-block-composition=\"asymmetric-emphasis\"] .rb-feature-card:nth-child(even)",
|
|
56992
|
+
paint: {
|
|
56993
|
+
kind: "solid",
|
|
56994
|
+
token: "secondary"
|
|
56995
|
+
}
|
|
56996
|
+
},
|
|
56997
|
+
{
|
|
56998
|
+
selector: ".rb-feature-cards-grid--editorial-diptych .rb-feature-card[data-surface-role=\"panel\"]",
|
|
56999
|
+
paint: {
|
|
57000
|
+
kind: "solid",
|
|
57001
|
+
token: "primary"
|
|
57002
|
+
}
|
|
57003
|
+
},
|
|
57004
|
+
{
|
|
57005
|
+
selector: ":is(.rb-event-list-treatment-ruled-register, .rb-event-list-treatment-editorial-register, .rb-event-list-treatment-dense-index) .event-card.event-card",
|
|
57006
|
+
paint: { kind: "transparent" }
|
|
57007
|
+
},
|
|
57008
|
+
{
|
|
57009
|
+
selector: ".feedback-callout",
|
|
57010
|
+
paint: {
|
|
57011
|
+
kind: "solid",
|
|
57012
|
+
token: "surface"
|
|
57013
|
+
}
|
|
57014
|
+
},
|
|
57015
|
+
{
|
|
57016
|
+
selector: "[data-block=\"gifting\"] .gifting-feedback",
|
|
57017
|
+
paint: {
|
|
57018
|
+
kind: "solid",
|
|
57019
|
+
token: "surface"
|
|
57020
|
+
}
|
|
57021
|
+
}
|
|
57022
|
+
];
|
|
57023
|
+
/**
|
|
57024
|
+
* Publishes every registered panel's surface contract. Emitted after the card
|
|
57025
|
+
* CSS in both the theme runtime and the SDK theme bridge, so a composition
|
|
57026
|
+
* that recolours a card role (the feature-card diptych panel) or a treatment
|
|
57027
|
+
* that empties one (the event registers) wins over the role's own contract.
|
|
57028
|
+
*/
|
|
57029
|
+
function generateOpaquePanelCss(input) {
|
|
57030
|
+
return opaquePanels.map((panel) => {
|
|
57031
|
+
const declarations = opaqueSurfaceDeclarations(panel.paint, input.surface);
|
|
57032
|
+
return `:where([data-theme-scope="${input.themeId}"]) ${panel.selector} {\n ${renderCssDeclarations(declarations)}\n}`;
|
|
57033
|
+
}).join("\n\n");
|
|
57034
|
+
}
|
|
57035
|
+
//#endregion
|
|
56566
57036
|
//#region ../theme-core/src/styles/border.ts
|
|
56567
57037
|
/**
|
|
56568
57038
|
* Border width mapping from Tailwind class names to px values
|
|
@@ -57946,7 +58416,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
|
|
|
57946
58416
|
--er-step-inactive: rgb(var(--tb-mutedText));
|
|
57947
58417
|
--er-step-completed: rgb(var(--tb-success));
|
|
57948
58418
|
--er-step-text: rgb(255 255 255);
|
|
57949
|
-
--er-step-text-active: rgb(var(--tb-
|
|
58419
|
+
--er-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
|
|
57950
58420
|
--er-step-connector: rgba(var(--tb-border), 0.5);
|
|
57951
58421
|
|
|
57952
58422
|
/* Step title */
|
|
@@ -57990,7 +58460,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
|
|
|
57990
58460
|
|
|
57991
58461
|
/* Checkmark indicator */
|
|
57992
58462
|
--er-check-bg: rgb(var(--tb-primary));
|
|
57993
|
-
--er-check-text: rgb(var(--tb-
|
|
58463
|
+
--er-check-text: rgb(var(--tb-onPrimary, 255 255 255));
|
|
57994
58464
|
|
|
57995
58465
|
/* Order summary */
|
|
57996
58466
|
--er-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
@@ -58202,7 +58672,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="appointment-booki
|
|
|
58202
58672
|
--rb-reg-step-completed: rgb(var(--tb-success));
|
|
58203
58673
|
--rb-reg-step-inactive: rgb(var(--tb-mutedText));
|
|
58204
58674
|
--rb-reg-step-text: rgb(255 255 255);
|
|
58205
|
-
--rb-reg-step-text-active: rgb(var(--tb-
|
|
58675
|
+
--rb-reg-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
|
|
58206
58676
|
--rb-reg-step-connector: rgba(var(--tb-border), 0.5);
|
|
58207
58677
|
--rb-reg-summary-bg: var(--ab-muted-bg);
|
|
58208
58678
|
--rb-reg-summary-border: var(--ab-card-border);
|
|
@@ -58954,11 +59424,14 @@ function buildThemeRuntime$1(theme, options) {
|
|
|
58954
59424
|
themeId,
|
|
58955
59425
|
theme
|
|
58956
59426
|
});
|
|
58957
|
-
const cardCss = generateCardCss({
|
|
59427
|
+
const cardCss = [generateCardCss({
|
|
58958
59428
|
themeId,
|
|
58959
59429
|
theme,
|
|
58960
59430
|
cardSystem: theme.cards
|
|
58961
|
-
})
|
|
59431
|
+
}), generateOpaquePanelCss({
|
|
59432
|
+
themeId,
|
|
59433
|
+
surface: opaqueSurfaceContextFromTheme(theme)
|
|
59434
|
+
})].join("\n\n");
|
|
58962
59435
|
const accordionCss = generateAccordionCss({
|
|
58963
59436
|
themeId,
|
|
58964
59437
|
theme,
|
|
@@ -60941,6 +61414,34 @@ function withLookCapability(declaration) {
|
|
|
60941
61414
|
}
|
|
60942
61415
|
};
|
|
60943
61416
|
}
|
|
61417
|
+
/**
|
|
61418
|
+
* The section background paints a block's own `_sectionStyles.background`
|
|
61419
|
+
* field admits, read from its manifest so the design capability cannot drift
|
|
61420
|
+
* from what render admission accepts. A block without the field admits none.
|
|
61421
|
+
*/
|
|
61422
|
+
function sectionBackgroundPaintsOfFields(fields) {
|
|
61423
|
+
const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
|
|
61424
|
+
if (!sectionStyles || sectionStyles.type !== "modal") return [];
|
|
61425
|
+
const background = sectionStyles.schema.fields.find((field) => field.id === "background");
|
|
61426
|
+
if (!background || background.type !== "tabGroup") return [];
|
|
61427
|
+
const tabIds = new Set(background.tabs.map((tab) => tab.id));
|
|
61428
|
+
return [
|
|
61429
|
+
"color",
|
|
61430
|
+
"gradient",
|
|
61431
|
+
"image"
|
|
61432
|
+
].filter((paint) => tabIds.has(paint));
|
|
61433
|
+
}
|
|
61434
|
+
/** Pins a designed capability's section background paints to the block's manifest. */
|
|
61435
|
+
function withManifestSectionBackgroundPaints(declaration, fields) {
|
|
61436
|
+
if (declaration.kind !== "capability") return declaration;
|
|
61437
|
+
return {
|
|
61438
|
+
kind: "capability",
|
|
61439
|
+
capability: {
|
|
61440
|
+
...declaration.capability,
|
|
61441
|
+
sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
|
|
61442
|
+
}
|
|
61443
|
+
};
|
|
61444
|
+
}
|
|
60944
61445
|
function declareNoBlockDesignCapability(reason) {
|
|
60945
61446
|
return {
|
|
60946
61447
|
kind: "none",
|
|
@@ -62725,6 +63226,20 @@ const footerEngagement = stack({
|
|
|
62725
63226
|
...footerSpamProtectionBinding
|
|
62726
63227
|
}), [], when("module.engagement.kind", { equals: "mailing-list" }))
|
|
62727
63228
|
], when("module.kind", { equals: "engagement" }));
|
|
63229
|
+
const platformAttribution = el("div", {
|
|
63230
|
+
className: "rb-caption",
|
|
63231
|
+
"data-site-attribution": "macadamia"
|
|
63232
|
+
}, [
|
|
63233
|
+
text({ as: "span" }, bind("module.lead")),
|
|
63234
|
+
text({
|
|
63235
|
+
as: "span",
|
|
63236
|
+
value: " "
|
|
63237
|
+
}),
|
|
63238
|
+
link({
|
|
63239
|
+
href: { $bind: { from: "module.link.href" } },
|
|
63240
|
+
className: "footer-nav-link rb-caption transition-theme-standard"
|
|
63241
|
+
}, [text({ as: "span" }, bind("module.link.label"))])
|
|
63242
|
+
], when("module.kind", { equals: "attribution" }));
|
|
62728
63243
|
const footerGroup = stack({
|
|
62729
63244
|
gap: "md",
|
|
62730
63245
|
align: "stretch",
|
|
@@ -62754,6 +63269,7 @@ const footerGroup = stack({
|
|
|
62754
63269
|
hours,
|
|
62755
63270
|
socials,
|
|
62756
63271
|
footerEngagement,
|
|
63272
|
+
platformAttribution,
|
|
62757
63273
|
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
62758
63274
|
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
62759
63275
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
@@ -67998,7 +68514,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
|
|
|
67998
68514
|
if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
|
|
67999
68515
|
return {
|
|
68000
68516
|
...definition,
|
|
68001
|
-
designCapability,
|
|
68517
|
+
designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
|
|
68002
68518
|
designMetadata,
|
|
68003
68519
|
manifest: {
|
|
68004
68520
|
...definition.manifest,
|
|
@@ -69158,7 +69674,7 @@ function getBlockOverride(blockKind, overrides) {
|
|
|
69158
69674
|
*/
|
|
69159
69675
|
function getRenderableContent(block, previewStage = "published") {
|
|
69160
69676
|
const source = previewStage === "preview" && block.draftContent ? block.draftContent : block.content ?? {};
|
|
69161
|
-
return isObjectRecord$
|
|
69677
|
+
return isObjectRecord$3(source) ? stripStaleTransitionStyleGroup(source) : {};
|
|
69162
69678
|
}
|
|
69163
69679
|
//#endregion
|
|
69164
69680
|
//#region ../blocks/src/system/manifest/hydrateLinks.ts
|
|
@@ -74521,140 +75037,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
74521
75037
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
74522
75038
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
74523
75039
|
background: var(--rb-reg-surface-bg, rgb(var(--tb-surface, 248 250 252)));
|
|
74524
|
-
|
|
74525
|
-
|
|
74526
|
-
|
|
74527
|
-
|
|
74528
|
-
|
|
74529
|
-
--rb-surface-link-hover-decoration: underline;
|
|
74530
|
-
--rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
|
|
75040
|
+
/* The panel paints its own surface, so it owns its foreground and its
|
|
75041
|
+
* button context. Both are published from the theme by the opaque-panel
|
|
75042
|
+
* registry (theme-core/src/blocks/opaquePanels.ts): an enclosing brand band
|
|
75043
|
+
* would otherwise hand its light text and band-resolved buttons (on Anna's
|
|
75044
|
+
* therapy page, a white-on-white Continue) to this light panel. */
|
|
74531
75045
|
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
74532
75046
|
width: 100%;
|
|
74533
75047
|
max-width: 800px;
|
|
74534
75048
|
margin-inline: 0;
|
|
74535
75049
|
}
|
|
74536
75050
|
|
|
74537
|
-
/* The panel paints its own opaque surface, so it also has to break the button
|
|
74538
|
-
* colour contract it inherits. An enclosing section that sits on a brand band
|
|
74539
|
-
* publishes \`--rb-action-*\` variables resolved against *that* band — on Anna's
|
|
74540
|
-
* therapy page a ghost primary: transparent background, white label. Those
|
|
74541
|
-
* variables inherit, so without this reset a Continue button inside the light
|
|
74542
|
-
* form panel renders white-on-white and only appears on hover.
|
|
74543
|
-
*
|
|
74544
|
-
* Resetting to \`initial\` sends each button back to the generated fallback in
|
|
74545
|
-
* its own rule (\`var(--rb-action-…, rgb(var(--tb-primary)))\`), which is the
|
|
74546
|
-
* theme's standard button resolved against a normal surface — correct here,
|
|
74547
|
-
* because this panel *is* a normal surface.
|
|
74548
|
-
*
|
|
74549
|
-
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
74550
|
-
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
74551
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
74552
|
-
--rb-action-primary-base-background-color: initial;
|
|
74553
|
-
--rb-action-primary-base-background-image: initial;
|
|
74554
|
-
--rb-action-primary-base-color: initial;
|
|
74555
|
-
--rb-action-primary-hover-background-color: initial;
|
|
74556
|
-
--rb-action-primary-hover-background-image: initial;
|
|
74557
|
-
--rb-action-primary-hover-color: initial;
|
|
74558
|
-
--rb-action-primary-focus-background-color: initial;
|
|
74559
|
-
--rb-action-primary-focus-background-image: initial;
|
|
74560
|
-
--rb-action-primary-focus-color: initial;
|
|
74561
|
-
--rb-action-primary-active-background-color: initial;
|
|
74562
|
-
--rb-action-primary-active-background-image: initial;
|
|
74563
|
-
--rb-action-primary-active-color: initial;
|
|
74564
|
-
--rb-action-primary-disabled-background-color: initial;
|
|
74565
|
-
--rb-action-primary-disabled-background-image: initial;
|
|
74566
|
-
--rb-action-primary-disabled-color: initial;
|
|
74567
|
-
--rb-action-primary-base-outline: initial;
|
|
74568
|
-
--rb-action-primary-base-outline-offset: initial;
|
|
74569
|
-
--rb-action-primary-focus-outline: initial;
|
|
74570
|
-
--rb-action-primary-focus-outline-offset: initial;
|
|
74571
|
-
--rb-action-primary-focus-box-shadow: initial;
|
|
74572
|
-
|
|
74573
|
-
--rb-action-secondary-base-background-color: initial;
|
|
74574
|
-
--rb-action-secondary-base-background-image: initial;
|
|
74575
|
-
--rb-action-secondary-base-color: initial;
|
|
74576
|
-
--rb-action-secondary-hover-background-color: initial;
|
|
74577
|
-
--rb-action-secondary-hover-background-image: initial;
|
|
74578
|
-
--rb-action-secondary-hover-color: initial;
|
|
74579
|
-
--rb-action-secondary-focus-background-color: initial;
|
|
74580
|
-
--rb-action-secondary-focus-background-image: initial;
|
|
74581
|
-
--rb-action-secondary-focus-color: initial;
|
|
74582
|
-
--rb-action-secondary-active-background-color: initial;
|
|
74583
|
-
--rb-action-secondary-active-background-image: initial;
|
|
74584
|
-
--rb-action-secondary-active-color: initial;
|
|
74585
|
-
--rb-action-secondary-disabled-background-color: initial;
|
|
74586
|
-
--rb-action-secondary-disabled-background-image: initial;
|
|
74587
|
-
--rb-action-secondary-disabled-color: initial;
|
|
74588
|
-
--rb-action-secondary-base-outline: initial;
|
|
74589
|
-
--rb-action-secondary-base-outline-offset: initial;
|
|
74590
|
-
--rb-action-secondary-focus-outline: initial;
|
|
74591
|
-
--rb-action-secondary-focus-outline-offset: initial;
|
|
74592
|
-
--rb-action-secondary-focus-box-shadow: initial;
|
|
74593
|
-
|
|
74594
|
-
--rb-action-outline-base-background-color: initial;
|
|
74595
|
-
--rb-action-outline-base-background-image: initial;
|
|
74596
|
-
--rb-action-outline-base-color: initial;
|
|
74597
|
-
--rb-action-outline-hover-background-color: initial;
|
|
74598
|
-
--rb-action-outline-hover-background-image: initial;
|
|
74599
|
-
--rb-action-outline-hover-color: initial;
|
|
74600
|
-
--rb-action-outline-focus-background-color: initial;
|
|
74601
|
-
--rb-action-outline-focus-background-image: initial;
|
|
74602
|
-
--rb-action-outline-focus-color: initial;
|
|
74603
|
-
--rb-action-outline-active-background-color: initial;
|
|
74604
|
-
--rb-action-outline-active-background-image: initial;
|
|
74605
|
-
--rb-action-outline-active-color: initial;
|
|
74606
|
-
--rb-action-outline-disabled-background-color: initial;
|
|
74607
|
-
--rb-action-outline-disabled-background-image: initial;
|
|
74608
|
-
--rb-action-outline-disabled-color: initial;
|
|
74609
|
-
--rb-action-outline-base-outline: initial;
|
|
74610
|
-
--rb-action-outline-base-outline-offset: initial;
|
|
74611
|
-
--rb-action-outline-focus-outline: initial;
|
|
74612
|
-
--rb-action-outline-focus-outline-offset: initial;
|
|
74613
|
-
--rb-action-outline-focus-box-shadow: initial;
|
|
74614
|
-
|
|
74615
|
-
--rb-action-ghost-base-background-color: initial;
|
|
74616
|
-
--rb-action-ghost-base-background-image: initial;
|
|
74617
|
-
--rb-action-ghost-base-color: initial;
|
|
74618
|
-
--rb-action-ghost-hover-background-color: initial;
|
|
74619
|
-
--rb-action-ghost-hover-background-image: initial;
|
|
74620
|
-
--rb-action-ghost-hover-color: initial;
|
|
74621
|
-
--rb-action-ghost-focus-background-color: initial;
|
|
74622
|
-
--rb-action-ghost-focus-background-image: initial;
|
|
74623
|
-
--rb-action-ghost-focus-color: initial;
|
|
74624
|
-
--rb-action-ghost-active-background-color: initial;
|
|
74625
|
-
--rb-action-ghost-active-background-image: initial;
|
|
74626
|
-
--rb-action-ghost-active-color: initial;
|
|
74627
|
-
--rb-action-ghost-disabled-background-color: initial;
|
|
74628
|
-
--rb-action-ghost-disabled-background-image: initial;
|
|
74629
|
-
--rb-action-ghost-disabled-color: initial;
|
|
74630
|
-
--rb-action-ghost-base-outline: initial;
|
|
74631
|
-
--rb-action-ghost-base-outline-offset: initial;
|
|
74632
|
-
--rb-action-ghost-focus-outline: initial;
|
|
74633
|
-
--rb-action-ghost-focus-outline-offset: initial;
|
|
74634
|
-
--rb-action-ghost-focus-box-shadow: initial;
|
|
74635
|
-
|
|
74636
|
-
--rb-action-accent-base-background-color: initial;
|
|
74637
|
-
--rb-action-accent-base-background-image: initial;
|
|
74638
|
-
--rb-action-accent-base-color: initial;
|
|
74639
|
-
--rb-action-accent-hover-background-color: initial;
|
|
74640
|
-
--rb-action-accent-hover-background-image: initial;
|
|
74641
|
-
--rb-action-accent-hover-color: initial;
|
|
74642
|
-
--rb-action-accent-focus-background-color: initial;
|
|
74643
|
-
--rb-action-accent-focus-background-image: initial;
|
|
74644
|
-
--rb-action-accent-focus-color: initial;
|
|
74645
|
-
--rb-action-accent-active-background-color: initial;
|
|
74646
|
-
--rb-action-accent-active-background-image: initial;
|
|
74647
|
-
--rb-action-accent-active-color: initial;
|
|
74648
|
-
--rb-action-accent-disabled-background-color: initial;
|
|
74649
|
-
--rb-action-accent-disabled-background-image: initial;
|
|
74650
|
-
--rb-action-accent-disabled-color: initial;
|
|
74651
|
-
--rb-action-accent-base-outline: initial;
|
|
74652
|
-
--rb-action-accent-base-outline-offset: initial;
|
|
74653
|
-
--rb-action-accent-focus-outline: initial;
|
|
74654
|
-
--rb-action-accent-focus-outline-offset: initial;
|
|
74655
|
-
--rb-action-accent-focus-box-shadow: initial;
|
|
74656
|
-
}
|
|
74657
|
-
|
|
74658
75051
|
/* Selectable option card */
|
|
74659
75052
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
74660
75053
|
position: relative;
|
|
@@ -74714,7 +75107,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
74714
75107
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
74715
75108
|
width: 0.75rem;
|
|
74716
75109
|
height: 0.75rem;
|
|
74717
|
-
color: var(--rb-reg-check-text, rgb(var(--tb-
|
|
75110
|
+
color: var(--rb-reg-check-text, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74718
75111
|
}
|
|
74719
75112
|
|
|
74720
75113
|
/* Step indicator */
|
|
@@ -74754,12 +75147,12 @@ const containerResponsiveThemeCss = `/*
|
|
|
74754
75147
|
|
|
74755
75148
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
74756
75149
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
74757
|
-
color: var(--rb-reg-step-text-active, rgb(var(--tb-
|
|
75150
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74758
75151
|
}
|
|
74759
75152
|
|
|
74760
75153
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
74761
75154
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
74762
|
-
color: var(--rb-reg-step-text-active, rgb(var(--tb-
|
|
75155
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74763
75156
|
}
|
|
74764
75157
|
|
|
74765
75158
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
@@ -75018,7 +75411,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
75018
75411
|
justify-content: center;
|
|
75019
75412
|
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
75020
75413
|
background: rgb(var(--tb-primary));
|
|
75021
|
-
color: rgb(var(--tb-
|
|
75414
|
+
color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255)));
|
|
75022
75415
|
padding: 0.625rem 1rem;
|
|
75023
75416
|
font-size: 0.875rem;
|
|
75024
75417
|
font-weight: 600;
|
|
@@ -76993,7 +77386,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
76993
77386
|
:where(.theme-scope) :where([data-block='event-registration']) .er-modal-btn {
|
|
76994
77387
|
padding: 0.75rem 1.5rem;
|
|
76995
77388
|
background: rgb(var(--tb-primary));
|
|
76996
|
-
color: rgb(var(--tb-
|
|
77389
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
76997
77390
|
border: none;
|
|
76998
77391
|
border-radius: var(--rb-block-radius);
|
|
76999
77392
|
font-weight: 500;
|
|
@@ -77041,7 +77434,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77041
77434
|
border: 1px solid var(--er-border);
|
|
77042
77435
|
border-radius: var(--rb-block-radius);
|
|
77043
77436
|
background: var(--er-event-card-bg);
|
|
77044
|
-
|
|
77437
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
77045
77438
|
}
|
|
77046
77439
|
|
|
77047
77440
|
:where(.theme-scope)
|
|
@@ -77192,7 +77585,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77192
77585
|
min-height: 0;
|
|
77193
77586
|
overflow: hidden;
|
|
77194
77587
|
background: rgb(var(--tb-background));
|
|
77195
|
-
|
|
77588
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
77196
77589
|
}
|
|
77197
77590
|
|
|
77198
77591
|
:where(.theme-scope)
|
|
@@ -77959,7 +78352,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77959
78352
|
.event-category-btn--active {
|
|
77960
78353
|
background-color: rgb(var(--tb-primary));
|
|
77961
78354
|
border-color: rgb(var(--tb-primary));
|
|
77962
|
-
color: var(--
|
|
78355
|
+
color: rgb(var(--tb-onPrimary));
|
|
77963
78356
|
}
|
|
77964
78357
|
|
|
77965
78358
|
:where(.theme-scope)
|
|
@@ -78026,7 +78419,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78026
78419
|
opacity: 1;
|
|
78027
78420
|
background-color: rgb(var(--tb-primary));
|
|
78028
78421
|
border-color: rgb(var(--tb-primary));
|
|
78029
|
-
color: rgb(var(--tb-
|
|
78422
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78030
78423
|
}
|
|
78031
78424
|
|
|
78032
78425
|
/* -----------------------------------------------------------------------------
|
|
@@ -78084,7 +78477,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78084
78477
|
text-transform: uppercase;
|
|
78085
78478
|
letter-spacing: 0.05em;
|
|
78086
78479
|
background-color: rgb(var(--tb-primary));
|
|
78087
|
-
color: rgb(var(--tb-
|
|
78480
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78088
78481
|
border-radius: var(--rb-button-radius);
|
|
78089
78482
|
}
|
|
78090
78483
|
|
|
@@ -78126,7 +78519,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
78126
78519
|
border: 1px solid var(--ec-border-subtle);
|
|
78127
78520
|
border-radius: var(--rb-block-radius);
|
|
78128
78521
|
text-decoration: none;
|
|
78129
|
-
|
|
78522
|
+
/* Paints its own surface: its foreground and button context come from the
|
|
78523
|
+
* opaque-panel registry (theme-core/src/blocks/opaquePanels.ts). */
|
|
78130
78524
|
transition: all var(--rb-block-transition) ease;
|
|
78131
78525
|
}
|
|
78132
78526
|
|
|
@@ -78460,7 +78854,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78460
78854
|
.event-timetable-day-tab--active {
|
|
78461
78855
|
background-color: rgb(var(--tb-primary));
|
|
78462
78856
|
border-color: rgb(var(--tb-primary));
|
|
78463
|
-
color: rgb(var(--tb-
|
|
78857
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78464
78858
|
}
|
|
78465
78859
|
|
|
78466
78860
|
:where(.theme-scope)
|
|
@@ -78526,7 +78920,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78526
78920
|
padding: 0.125rem 0.375rem;
|
|
78527
78921
|
border-radius: var(--rb-button-radius);
|
|
78528
78922
|
background-color: rgb(var(--tb-primary));
|
|
78529
|
-
color: rgb(var(--tb-
|
|
78923
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78530
78924
|
font-size: 0.625rem;
|
|
78531
78925
|
font-weight: 700;
|
|
78532
78926
|
text-transform: uppercase;
|
|
@@ -78582,7 +78976,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
78582
78976
|
border-left-width: 4px;
|
|
78583
78977
|
border-radius: calc(var(--rb-block-radius) / 1.5);
|
|
78584
78978
|
background-color: var(--ec-surface);
|
|
78585
|
-
color: var(--ec-text);
|
|
78586
78979
|
box-shadow: 0 1px 2px rgba(var(--tb-text), 0.08);
|
|
78587
78980
|
cursor: pointer;
|
|
78588
78981
|
font: inherit;
|
|
@@ -78755,7 +79148,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
78755
79148
|
border: 1px solid var(--ec-border);
|
|
78756
79149
|
border-radius: var(--rb-block-radius);
|
|
78757
79150
|
background-color: var(--ec-surface);
|
|
78758
|
-
color: var(--ec-text);
|
|
78759
79151
|
overflow: hidden;
|
|
78760
79152
|
}
|
|
78761
79153
|
|
|
@@ -79705,7 +80097,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
79705
80097
|
justify-content: center;
|
|
79706
80098
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.6);
|
|
79707
80099
|
background: rgb(var(--tb-primary, 17 24 39));
|
|
79708
|
-
color: rgb(var(--tb-
|
|
80100
|
+
color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255)));
|
|
79709
80101
|
padding: 0.625rem 1rem;
|
|
79710
80102
|
font-size: 0.875rem;
|
|
79711
80103
|
font-weight: 600;
|
|
@@ -80143,7 +80535,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
80143
80535
|
|
|
80144
80536
|
:where(.theme-scope) .event-reset-filters-btn:hover {
|
|
80145
80537
|
background-color: rgb(var(--tb-primary));
|
|
80146
|
-
color: rgb(var(--tb-
|
|
80538
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
80147
80539
|
}
|
|
80148
80540
|
|
|
80149
80541
|
:where(.theme-scope) .event-reset-filters-btn:focus-visible {
|
|
@@ -80501,14 +80893,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80501
80893
|
border: 0;
|
|
80502
80894
|
border-bottom: 1px solid color-mix(in oklab, currentColor, transparent 78%);
|
|
80503
80895
|
border-radius: 0;
|
|
80896
|
+
/* Boxless row: the opaque-panel registry hands the band's contract back. */
|
|
80504
80897
|
background: transparent;
|
|
80505
|
-
color: inherit;
|
|
80506
|
-
--rb-surface-text-color: inherit;
|
|
80507
|
-
--rb-surface-heading-color: inherit;
|
|
80508
|
-
--rb-surface-link-color: inherit;
|
|
80509
|
-
--rb-surface-link-hover-color: inherit;
|
|
80510
|
-
--rb-surface-link-hover-decoration: inherit;
|
|
80511
|
-
--rb-surface-supporting-color: inherit;
|
|
80512
80898
|
}
|
|
80513
80899
|
|
|
80514
80900
|
:where(.theme-scope) .shop--register .shop__card-header {
|
|
@@ -80600,14 +80986,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80600
80986
|
|
|
80601
80987
|
/* Product card */
|
|
80602
80988
|
:where(.theme-scope) .shop__card {
|
|
80989
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
80603
80990
|
background: rgb(var(--tb-surface));
|
|
80604
|
-
color: rgb(var(--tb-text, 17 24 39));
|
|
80605
|
-
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
80606
|
-
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
80607
|
-
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
80608
|
-
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
80609
|
-
--rb-surface-link-hover-decoration: initial;
|
|
80610
|
-
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
80611
80991
|
border: 1px solid rgb(var(--tb-border));
|
|
80612
80992
|
border-radius: var(--shop-card-radius);
|
|
80613
80993
|
padding: 1.5rem;
|
|
@@ -80768,14 +81148,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80768
81148
|
margin-bottom: 1.25rem;
|
|
80769
81149
|
border: 1px solid rgb(var(--tb-border));
|
|
80770
81150
|
border-radius: var(--shop-card-radius);
|
|
81151
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
80771
81152
|
background: rgb(var(--tb-surface));
|
|
80772
|
-
color: rgb(var(--tb-text, 17 24 39));
|
|
80773
|
-
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
80774
|
-
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
80775
|
-
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
80776
|
-
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
80777
|
-
--rb-surface-link-hover-decoration: initial;
|
|
80778
|
-
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
80779
81153
|
}
|
|
80780
81154
|
|
|
80781
81155
|
:where(.theme-scope) :where([data-block="shop"]) .rb-state-icon--success {
|
|
@@ -82718,8 +83092,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
82718
83092
|
border-radius: 9999px;
|
|
82719
83093
|
}
|
|
82720
83094
|
|
|
83095
|
+
/* The callout is its own opaque surface: tones tint over the theme surface,
|
|
83096
|
+
* not over whatever band the callout sits on, so its foreground and button
|
|
83097
|
+
* context (theme-core/src/blocks/opaquePanels.ts) hold on any section. */
|
|
82721
83098
|
:where(.theme-scope) .feedback-callout {
|
|
82722
|
-
background:
|
|
83099
|
+
background: rgb(var(--tb-surface, 248 250 252));
|
|
82723
83100
|
border-color: rgba(var(--tb-border, 226 232 240), 0.72);
|
|
82724
83101
|
--rb-feedback-callout-bg-opacity: 0.1;
|
|
82725
83102
|
--rb-feedback-callout-border-opacity: 0.24;
|
|
@@ -82727,25 +83104,33 @@ const containerResponsiveThemeCss = `/*
|
|
|
82727
83104
|
|
|
82728
83105
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="info"] {
|
|
82729
83106
|
--rb-feedback-callout-bg-opacity: 0.08;
|
|
82730
|
-
background:
|
|
83107
|
+
background:
|
|
83108
|
+
linear-gradient(rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity))),
|
|
83109
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82731
83110
|
border-color: rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-border-opacity));
|
|
82732
83111
|
}
|
|
82733
83112
|
|
|
82734
83113
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="success"] {
|
|
82735
|
-
background:
|
|
83114
|
+
background:
|
|
83115
|
+
linear-gradient(rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity))),
|
|
83116
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82736
83117
|
border-color: rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-border-opacity));
|
|
82737
83118
|
}
|
|
82738
83119
|
|
|
82739
83120
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="warning"] {
|
|
82740
83121
|
--rb-feedback-callout-bg-opacity: 0.12;
|
|
82741
83122
|
--rb-feedback-callout-border-opacity: 0.28;
|
|
82742
|
-
background:
|
|
83123
|
+
background:
|
|
83124
|
+
linear-gradient(rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity))),
|
|
83125
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82743
83126
|
border-color: rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-border-opacity));
|
|
82744
83127
|
}
|
|
82745
83128
|
|
|
82746
83129
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="error"] {
|
|
82747
83130
|
--rb-feedback-callout-border-opacity: 0.26;
|
|
82748
|
-
background:
|
|
83131
|
+
background:
|
|
83132
|
+
linear-gradient(rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity))),
|
|
83133
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82749
83134
|
border-color: rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-border-opacity));
|
|
82750
83135
|
}
|
|
82751
83136
|
|
|
@@ -83219,26 +83604,30 @@ const containerResponsiveThemeCss = `/*
|
|
|
83219
83604
|
border: 1px solid rgb(var(--tb-text, 17 24 39) / 0.12);
|
|
83220
83605
|
border-radius: 1rem;
|
|
83221
83606
|
padding: 0.875rem 1rem;
|
|
83222
|
-
|
|
83223
|
-
|
|
83607
|
+
/* Opaque surface; foreground and button context come from the opaque-panel
|
|
83608
|
+
* registry (theme-core/src/blocks/opaquePanels.ts). Tones tint over it. */
|
|
83609
|
+
background: rgb(var(--tb-surface, 255 255 255));
|
|
83224
83610
|
}
|
|
83225
83611
|
|
|
83226
83612
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="success"] {
|
|
83227
83613
|
border-color: rgba(var(--tb-success, 34 197 94), 0.3);
|
|
83228
|
-
background:
|
|
83229
|
-
|
|
83614
|
+
background:
|
|
83615
|
+
linear-gradient(rgba(var(--tb-success, 34 197 94), 0.1), rgba(var(--tb-success, 34 197 94), 0.1)),
|
|
83616
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83230
83617
|
}
|
|
83231
83618
|
|
|
83232
83619
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="warning"] {
|
|
83233
83620
|
border-color: rgba(var(--tb-warning, 245 158 11), 0.35);
|
|
83234
|
-
background:
|
|
83235
|
-
|
|
83621
|
+
background:
|
|
83622
|
+
linear-gradient(rgba(var(--tb-warning, 245 158 11), 0.12), rgba(var(--tb-warning, 245 158 11), 0.12)),
|
|
83623
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83236
83624
|
}
|
|
83237
83625
|
|
|
83238
83626
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="error"] {
|
|
83239
83627
|
border-color: rgba(var(--tb-destructive, 239 68 68), 0.3);
|
|
83240
|
-
background:
|
|
83241
|
-
|
|
83628
|
+
background:
|
|
83629
|
+
linear-gradient(rgba(var(--tb-destructive, 239 68 68), 0.1), rgba(var(--tb-destructive, 239 68 68), 0.1)),
|
|
83630
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83242
83631
|
}
|
|
83243
83632
|
|
|
83244
83633
|
/* =============================================================================
|
|
@@ -83618,10 +84007,14 @@ const containerResponsiveThemeCss = `/*
|
|
|
83618
84007
|
* These treatments retain the event list's content and structural layout.
|
|
83619
84008
|
* Their contrast relationships come exclusively from the active semantic
|
|
83620
84009
|
* section surface and named palette tokens.
|
|
84010
|
+
*
|
|
84011
|
+
* The treatment list is \`:is()\`, not \`:where()\`, so each rule outranks the card
|
|
84012
|
+
* role (\`.card-role-x.card-role-x\`) the event card also carries: the rows must
|
|
84013
|
+
* stay boxless whichever stylesheet the page loads last.
|
|
83621
84014
|
* ============================================================================= */
|
|
83622
84015
|
|
|
83623
84016
|
:where(.theme-scope)
|
|
83624
|
-
:
|
|
84017
|
+
:is(
|
|
83625
84018
|
.rb-event-list-treatment-ruled-register,
|
|
83626
84019
|
.rb-event-list-treatment-editorial-register,
|
|
83627
84020
|
.rb-event-list-treatment-dense-index
|
|
@@ -83633,12 +84026,12 @@ const containerResponsiveThemeCss = `/*
|
|
|
83633
84026
|
border-radius: 0;
|
|
83634
84027
|
background: transparent;
|
|
83635
84028
|
box-shadow: none;
|
|
83636
|
-
|
|
84029
|
+
/* Boxless row: the opaque-panel registry hands the band's contract back. */
|
|
83637
84030
|
}
|
|
83638
84031
|
|
|
83639
84032
|
/* Register treatments intentionally prioritise schedule data over imagery. */
|
|
83640
84033
|
:where(.theme-scope)
|
|
83641
|
-
:
|
|
84034
|
+
:is(
|
|
83642
84035
|
.rb-event-list-treatment-ruled-register,
|
|
83643
84036
|
.rb-event-list-treatment-editorial-register,
|
|
83644
84037
|
.rb-event-list-treatment-dense-index
|
|
@@ -83649,7 +84042,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83649
84042
|
}
|
|
83650
84043
|
|
|
83651
84044
|
:where(.theme-scope)
|
|
83652
|
-
:
|
|
84045
|
+
:is(
|
|
83653
84046
|
.rb-event-list-treatment-ruled-register,
|
|
83654
84047
|
.rb-event-list-treatment-editorial-register,
|
|
83655
84048
|
.rb-event-list-treatment-dense-index
|
|
@@ -83661,7 +84054,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83661
84054
|
}
|
|
83662
84055
|
|
|
83663
84056
|
:where(.theme-scope)
|
|
83664
|
-
:
|
|
84057
|
+
:is(
|
|
83665
84058
|
.rb-event-list-treatment-ruled-register,
|
|
83666
84059
|
.rb-event-list-treatment-editorial-register,
|
|
83667
84060
|
.rb-event-list-treatment-dense-index
|
|
@@ -83673,7 +84066,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83673
84066
|
}
|
|
83674
84067
|
|
|
83675
84068
|
:where(.theme-scope)
|
|
83676
|
-
:
|
|
84069
|
+
:is(
|
|
83677
84070
|
.rb-event-list-treatment-ruled-register,
|
|
83678
84071
|
.rb-event-list-treatment-editorial-register,
|
|
83679
84072
|
.rb-event-list-treatment-dense-index
|
|
@@ -83685,7 +84078,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83685
84078
|
}
|
|
83686
84079
|
|
|
83687
84080
|
:where(.theme-scope)
|
|
83688
|
-
:
|
|
84081
|
+
:is(
|
|
83689
84082
|
.rb-event-list-treatment-ruled-register,
|
|
83690
84083
|
.rb-event-list-treatment-editorial-register,
|
|
83691
84084
|
.rb-event-list-treatment-dense-index
|
|
@@ -83783,7 +84176,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83783
84176
|
@container rb-site (min-width: 768px) {
|
|
83784
84177
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
83785
84178
|
:where(.theme-scope)
|
|
83786
|
-
:
|
|
84179
|
+
:is(
|
|
83787
84180
|
.rb-event-list-treatment-ruled-register,
|
|
83788
84181
|
.rb-event-list-treatment-editorial-register,
|
|
83789
84182
|
.rb-event-list-treatment-dense-index
|
|
@@ -83793,7 +84186,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83793
84186
|
}
|
|
83794
84187
|
|
|
83795
84188
|
:where(.theme-scope)
|
|
83796
|
-
:
|
|
84189
|
+
:is(
|
|
83797
84190
|
.rb-event-list-treatment-ruled-register,
|
|
83798
84191
|
.rb-event-list-treatment-editorial-register,
|
|
83799
84192
|
.rb-event-list-treatment-dense-index
|
|
@@ -83808,7 +84201,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83808
84201
|
}
|
|
83809
84202
|
|
|
83810
84203
|
:where(.theme-scope)
|
|
83811
|
-
:
|
|
84204
|
+
:is(
|
|
83812
84205
|
.rb-event-list-treatment-ruled-register,
|
|
83813
84206
|
.rb-event-list-treatment-editorial-register,
|
|
83814
84207
|
.rb-event-list-treatment-dense-index
|
|
@@ -83819,7 +84212,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83819
84212
|
}
|
|
83820
84213
|
|
|
83821
84214
|
:where(.theme-scope)
|
|
83822
|
-
:
|
|
84215
|
+
:is(
|
|
83823
84216
|
.rb-event-list-treatment-ruled-register,
|
|
83824
84217
|
.rb-event-list-treatment-editorial-register,
|
|
83825
84218
|
.rb-event-list-treatment-dense-index
|
|
@@ -83832,7 +84225,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83832
84225
|
}
|
|
83833
84226
|
|
|
83834
84227
|
:where(.theme-scope)
|
|
83835
|
-
:
|
|
84228
|
+
:is(
|
|
83836
84229
|
.rb-event-list-treatment-ruled-register,
|
|
83837
84230
|
.rb-event-list-treatment-editorial-register,
|
|
83838
84231
|
.rb-event-list-treatment-dense-index
|
|
@@ -83844,7 +84237,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83844
84237
|
}
|
|
83845
84238
|
|
|
83846
84239
|
:where(.theme-scope)
|
|
83847
|
-
:
|
|
84240
|
+
:is(
|
|
83848
84241
|
.rb-event-list-treatment-ruled-register,
|
|
83849
84242
|
.rb-event-list-treatment-editorial-register,
|
|
83850
84243
|
.rb-event-list-treatment-dense-index
|
|
@@ -83855,7 +84248,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83855
84248
|
}
|
|
83856
84249
|
|
|
83857
84250
|
:where(.theme-scope)
|
|
83858
|
-
:
|
|
84251
|
+
:is(
|
|
83859
84252
|
.rb-event-list-treatment-ruled-register,
|
|
83860
84253
|
.rb-event-list-treatment-editorial-register,
|
|
83861
84254
|
.rb-event-list-treatment-dense-index
|
|
@@ -83863,7 +84256,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83863
84256
|
.event-card.event-card.event-card--horizontal
|
|
83864
84257
|
.card-content > .card-body,
|
|
83865
84258
|
:where(.theme-scope)
|
|
83866
|
-
:
|
|
84259
|
+
:is(
|
|
83867
84260
|
.rb-event-list-treatment-ruled-register,
|
|
83868
84261
|
.rb-event-list-treatment-editorial-register,
|
|
83869
84262
|
.rb-event-list-treatment-dense-index
|
|
@@ -83874,7 +84267,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83874
84267
|
}
|
|
83875
84268
|
|
|
83876
84269
|
:where(.theme-scope)
|
|
83877
|
-
:
|
|
84270
|
+
:is(
|
|
83878
84271
|
.rb-event-list-treatment-ruled-register,
|
|
83879
84272
|
.rb-event-list-treatment-editorial-register,
|
|
83880
84273
|
.rb-event-list-treatment-dense-index
|
|
@@ -83925,13 +84318,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83925
84318
|
padding: clamp(1.125rem, 2.5vw, 1.875rem);
|
|
83926
84319
|
border-radius: calc(var(--rb-block-radius, 0.75rem) * 1.5);
|
|
83927
84320
|
background: rgb(var(--tb-secondary));
|
|
83928
|
-
|
|
83929
|
-
--rb-surface-text-color: rgb(var(--tb-onSecondary));
|
|
83930
|
-
--rb-surface-heading-color: rgb(var(--tb-onSecondary));
|
|
83931
|
-
--rb-surface-link-color: rgb(var(--tb-onSecondary));
|
|
83932
|
-
--rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
|
|
83933
|
-
--rb-surface-link-hover-decoration: underline;
|
|
83934
|
-
--rb-surface-supporting-color: rgb(var(--tb-onSecondary));
|
|
84321
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
83935
84322
|
}
|
|
83936
84323
|
|
|
83937
84324
|
:where(.theme-scope)
|
|
@@ -84056,16 +84443,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
84056
84443
|
}
|
|
84057
84444
|
|
|
84058
84445
|
/* Diptych filled panel: a composition over the \`alternative\` role's surface.
|
|
84059
|
-
|
|
84060
|
-
|
|
84061
|
-
color: rgb(var(--tb-onPrimary));
|
|
84062
|
-
--rb-surface-text-color: rgb(var(--tb-onPrimary));
|
|
84063
|
-
--rb-surface-heading-color: rgb(var(--tb-onPrimary));
|
|
84064
|
-
--rb-surface-link-color: rgb(var(--tb-onPrimary));
|
|
84065
|
-
--rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
|
|
84066
|
-
--rb-surface-link-hover-decoration: underline;
|
|
84067
|
-
--rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
|
|
84068
|
-
}
|
|
84446
|
+
It paints primary (below); its foreground and button context for that paint
|
|
84447
|
+
come from theme-core/src/blocks/opaquePanels.ts. */
|
|
84069
84448
|
|
|
84070
84449
|
:where(.theme-scope) .rb-feature-cards-grid--editorial-diptych .rb-feature-card[data-surface-role="panel"] > .rb-bg-surface {
|
|
84071
84450
|
background: rgb(var(--tb-primary));
|
|
@@ -84825,10 +85204,10 @@ function normalizeDataLoaders(def) {
|
|
|
84825
85204
|
*/
|
|
84826
85205
|
function normalizeContent(block) {
|
|
84827
85206
|
const source = block.draftContent ?? block.content ?? block.publishedContent ?? {};
|
|
84828
|
-
if (!isObjectRecord$
|
|
85207
|
+
if (!isObjectRecord$3(source)) return {};
|
|
84829
85208
|
if ("data" in source) {
|
|
84830
85209
|
const data = source.data;
|
|
84831
|
-
if (isObjectRecord$
|
|
85210
|
+
if (isObjectRecord$3(data)) return data;
|
|
84832
85211
|
if (data === null || data === void 0) return {};
|
|
84833
85212
|
}
|
|
84834
85213
|
return source;
|
|
@@ -85064,7 +85443,7 @@ function stableNormalize(value) {
|
|
|
85064
85443
|
//#endregion
|
|
85065
85444
|
//#region ../blocks/src/system/data/normalizeLoaderParams.ts
|
|
85066
85445
|
function toStringParams(value) {
|
|
85067
|
-
if (!isObjectRecord$
|
|
85446
|
+
if (!isObjectRecord$3(value)) return {};
|
|
85068
85447
|
const out = {};
|
|
85069
85448
|
for (const [k, v] of Object.entries(value)) if (typeof v === "string") out[k] = v;
|
|
85070
85449
|
return out;
|
|
@@ -85799,14 +86178,14 @@ async function parseSuccessResponse(endpoint, response, config) {
|
|
|
85799
86178
|
default: return buildSuccessEnvelope(void 0, requestId);
|
|
85800
86179
|
}
|
|
85801
86180
|
}
|
|
85802
|
-
function createRawCMSClient(
|
|
86181
|
+
function createRawCMSClient(getHeaders = () => ({}), baseUrl) {
|
|
85803
86182
|
return ({ endpoint, body, params, options = {} }) => {
|
|
85804
86183
|
const plan = buildApiRequestPlan({
|
|
85805
86184
|
endpoint,
|
|
85806
86185
|
body,
|
|
85807
86186
|
params,
|
|
85808
86187
|
options,
|
|
85809
|
-
headers,
|
|
86188
|
+
headers: getHeaders(),
|
|
85810
86189
|
baseUrl: normalizeCmsApiBaseUrl(baseUrl ?? resolveApiBaseUrl()),
|
|
85811
86190
|
sdkVersion
|
|
85812
86191
|
});
|
|
@@ -85912,13 +86291,13 @@ function createParsedClient(rawClient) {
|
|
|
85912
86291
|
};
|
|
85913
86292
|
}
|
|
85914
86293
|
function createCMSClient(headers = {}, baseUrl) {
|
|
85915
|
-
return createParsedClient(createRawCMSClient(headers, baseUrl));
|
|
86294
|
+
return createParsedClient(createRawCMSClient(() => headers, baseUrl));
|
|
85916
86295
|
}
|
|
85917
86296
|
function createInternalAPIClient(baseUrl) {
|
|
85918
86297
|
return createCMSClient({}, baseUrl);
|
|
85919
86298
|
}
|
|
85920
86299
|
function createBearerAPIClient(token, baseUrl) {
|
|
85921
|
-
return
|
|
86300
|
+
return createParsedClient(createRawCMSClient(() => ({ Authorization: `Bearer ${typeof token === "function" ? token() : token}` }), baseUrl));
|
|
85922
86301
|
}
|
|
85923
86302
|
//#endregion
|
|
85924
86303
|
//#region ../api/src/accountApi.ts
|
|
@@ -86145,6 +86524,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
|
86145
86524
|
"refund_failed"
|
|
86146
86525
|
];
|
|
86147
86526
|
const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
86527
|
+
"refund_blocked_by_live_payment_terms",
|
|
86148
86528
|
...CANONICAL_REFUND_PLANNER_ERROR_CODES,
|
|
86149
86529
|
"payment_intent_not_found",
|
|
86150
86530
|
"stripe_error",
|
|
@@ -86160,6 +86540,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
|
86160
86540
|
//#endregion
|
|
86161
86541
|
//#region ../api/src/bookingRefundOutcomes.ts
|
|
86162
86542
|
const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
86543
|
+
"refund_blocked_by_live_payment_terms",
|
|
86163
86544
|
"missing_amount",
|
|
86164
86545
|
"invalid_amount",
|
|
86165
86546
|
"amount_exceeds_remaining",
|
|
@@ -86567,68 +86948,6 @@ function parsePublicProductCategorySelector(value) {
|
|
|
86567
86948
|
}
|
|
86568
86949
|
z$1.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
|
|
86569
86950
|
//#endregion
|
|
86570
|
-
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
86571
|
-
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
86572
|
-
const bookingInstalmentPlanSchema = z$1.discriminatedUnion("kind", [
|
|
86573
|
-
z$1.object({
|
|
86574
|
-
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
86575
|
-
depositAmountCents: z$1.number().int().nonnegative(),
|
|
86576
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
86577
|
-
remainderDueCount: z$1.number().int().positive(),
|
|
86578
|
-
intervalUnit: z$1.enum([
|
|
86579
|
-
"day",
|
|
86580
|
-
"week",
|
|
86581
|
-
"month"
|
|
86582
|
-
])
|
|
86583
|
-
}),
|
|
86584
|
-
z$1.object({
|
|
86585
|
-
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
86586
|
-
depositAmountCents: z$1.number().int().nonnegative(),
|
|
86587
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
86588
|
-
instalmentCount: z$1.number().int().positive(),
|
|
86589
|
-
intervalCount: z$1.number().int().positive(),
|
|
86590
|
-
intervalUnit: z$1.enum([
|
|
86591
|
-
"day",
|
|
86592
|
-
"week",
|
|
86593
|
-
"month"
|
|
86594
|
-
])
|
|
86595
|
-
}),
|
|
86596
|
-
z$1.object({
|
|
86597
|
-
kind: z$1.literal("equal_scheduled_instalments"),
|
|
86598
|
-
instalmentCount: z$1.number().int().positive(),
|
|
86599
|
-
intervalCount: z$1.number().int().positive(),
|
|
86600
|
-
intervalUnit: z$1.enum([
|
|
86601
|
-
"day",
|
|
86602
|
-
"week",
|
|
86603
|
-
"month"
|
|
86604
|
-
])
|
|
86605
|
-
})
|
|
86606
|
-
]);
|
|
86607
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
86608
|
-
kind: z$1.literal("relative_to_start_date"),
|
|
86609
|
-
daysBeforeStart: z$1.number().int().positive()
|
|
86610
|
-
}), z$1.object({
|
|
86611
|
-
kind: z$1.literal("fixed_calendar_date"),
|
|
86612
|
-
dueAt: z$1.string().datetime()
|
|
86613
|
-
})]);
|
|
86614
|
-
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
86615
|
-
upfrontAmountCents: z$1.number().int().nonnegative(),
|
|
86616
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
86617
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
86618
|
-
});
|
|
86619
|
-
z$1.discriminatedUnion("kind", [
|
|
86620
|
-
z$1.object({ kind: z$1.literal("upfront") }),
|
|
86621
|
-
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
86622
|
-
z$1.object({
|
|
86623
|
-
kind: z$1.literal("instalment_plan"),
|
|
86624
|
-
plan: bookingInstalmentPlanSchema
|
|
86625
|
-
}),
|
|
86626
|
-
z$1.object({
|
|
86627
|
-
kind: z$1.literal("flexible_balance"),
|
|
86628
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
86629
|
-
})
|
|
86630
|
-
]);
|
|
86631
|
-
//#endregion
|
|
86632
86951
|
//#region ../api/src/navigationMenuValidation.ts
|
|
86633
86952
|
function hasChildren(item) {
|
|
86634
86953
|
return Array.isArray(item.children) && item.children.length > 0;
|
|
@@ -91746,7 +92065,7 @@ var CircuitOpenError = class extends Error {
|
|
|
91746
92065
|
* 1. This constant
|
|
91747
92066
|
* 2. The "version" field in package.json
|
|
91748
92067
|
*/
|
|
91749
|
-
const SDK_VERSION = "0.
|
|
92068
|
+
const SDK_VERSION = "0.150.0";
|
|
91750
92069
|
//#endregion
|
|
91751
92070
|
//#region src/next/content-load-failure.ts
|
|
91752
92071
|
const SdkContentLoadError = RiverbankContentLoadError;
|