@riverbankcms/sdk 0.130.2 → 0.132.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/CHANGELOG.md +3 -3
- package/dist/{PreviewEditorSidebar-BY-1QdE2.mjs → PreviewEditorSidebar-DKQ5eFK9.mjs} +351 -95
- package/dist/{PreviewEditorUI-BS34jI9_.mjs → PreviewEditorUI-CNTcOjCC.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BD0kOjtI.mjs → PreviewQueryProvider-D51gQaG3.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-B1pWnhu-.mjs → SdkPreviewModeRuntime-DJu3qu33.mjs} +48 -9
- package/dist/{SiteChromeCustomizeContext-BhUG_72i.mjs → SiteChromeCustomizeContext-2TzT3vbj.mjs} +6417 -4184
- package/dist/_dts/ai/src/contracts/proposals.d.ts +723 -151
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +151 -64
- package/dist/_dts/api/src/bookingConfig.d.ts +13 -9
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -19
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +31 -2
- package/dist/_dts/api/src/bookingVerticals.d.ts +1 -140
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +45 -12
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -1
- package/dist/_dts/api/src/courses.d.ts +1 -19
- package/dist/_dts/api/src/endpoints.d.ts +466 -346
- package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
- package/dist/_dts/api/src/eventManagementContracts.d.ts +91 -1
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +32 -0
- package/dist/_dts/api/src/giftingDashboard.d.ts +117 -0
- package/dist/_dts/api/src/giftingEndpointDefinitions.d.ts +124 -0
- package/dist/_dts/api/src/index.d.ts +4 -4
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/media.d.ts +1 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +3 -4
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +11 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +25 -12
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +2 -0
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkBookingVerticalContracts.d.ts +29 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +9 -32
- package/dist/_dts/api/src/sdkEndpointDefinitions.d.ts +23 -0
- package/dist/_dts/api/src/sdkSettingsContracts.d.ts +25 -0
- package/dist/_dts/api/src/sdkThemeCatalogContracts.d.ts +20 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +16 -6
- package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +4 -10
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +0 -3
- package/dist/_dts/api/src/types.d.ts +1 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -13
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +9 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +26 -44
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/subroutes/fold.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +2 -50
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +1 -929
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -97
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +39 -6
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -3
- package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +6 -6
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -9
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +135 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +81 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +7 -8
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +45 -72
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -36
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +2 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +19 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +25 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +75 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -2
- 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/RegistrationClosedState.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SiteCreditPreviewPanel.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +51 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/BookingModeStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/CheckIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/ErrorStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/MembershipHero.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PaymentFailedStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/VerifyingTimeoutStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/CourseRegistrationErrorBoundary.d.ts → event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts} +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +45 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/index.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/types.d.ts +18 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseEligibility.d.ts → event-registration/whole-series/useWholeSeriesEligibility.d.ts} +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +35 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseRegistrationPortal.d.ts → event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts} +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +35 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +185 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseWaitlistSelection.d.ts → event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts} +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/utils.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.contract.d.ts +5 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.planning.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/courseRegistrationViewState.d.ts → event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts} +7 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/wizardSteps.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -54
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +12 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalCloseButton.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +19 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +12 -12
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +30 -11
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +15 -4
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -4
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +13 -0
- package/dist/_dts/commerce/src/purchase/cancellationPolicy.d.ts +7 -0
- package/dist/_dts/commerce/src/purchase/canonicalRefundPlanner.d.ts +48 -0
- package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +39 -0
- package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +40 -0
- package/dist/_dts/commerce/src/purchase/checkoutDiscountContextPlanning.d.ts +80 -0
- package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/checkoutOrderItemProjection.d.ts +22 -0
- package/dist/_dts/commerce/src/purchase/checkoutPaymentFlow.d.ts +50 -0
- package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +30 -0
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +10 -0
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +53 -0
- package/dist/_dts/commerce/src/purchase/checkoutQuantity.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +76 -0
- package/dist/_dts/commerce/src/purchase/checkoutSettlement.d.ts +46 -0
- package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +12 -0
- package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +125 -0
- package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +55 -0
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +91 -0
- package/dist/_dts/commerce/src/purchase/discountApplication.d.ts +74 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +55 -0
- package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +86 -0
- package/dist/_dts/commerce/src/purchase/order-number.d.ts +33 -0
- package/dist/_dts/commerce/src/purchase/orderCancellationPlan.d.ts +19 -0
- package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +71 -0
- package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +120 -0
- package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +81 -0
- package/dist/_dts/commerce/src/purchase/orderFulfillmentResult.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/orderHistoryLedgerFilters.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/orderHistorySource.d.ts +11 -0
- package/dist/_dts/commerce/src/purchase/orderInstalmentAdminSettlement.d.ts +43 -0
- package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +29 -0
- package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +44 -0
- package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +24 -0
- package/dist/_dts/commerce/src/purchase/orderInstalmentPlan.d.ts +40 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +151 -0
- package/dist/_dts/commerce/src/purchase/orderItemSupport.d.ts +14 -0
- package/dist/_dts/commerce/src/purchase/orderListFilters.d.ts +3 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentLinkPlanning.d.ts +60 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentReceipt.d.ts +184 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +135 -0
- package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +102 -0
- package/dist/_dts/commerce/src/purchase/orderRefundPlanning.d.ts +50 -0
- package/dist/_dts/commerce/src/purchase/orderRefundPolicy.d.ts +36 -0
- package/dist/_dts/commerce/src/purchase/orderTotals.d.ts +23 -0
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +39 -0
- package/dist/_dts/commerce/src/purchase/pendingCheckoutSessionClaim.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +27 -0
- package/dist/_dts/commerce/src/purchase/protectedDepositRefundPolicy.d.ts +86 -0
- package/dist/_dts/commerce/src/purchase/refundPolicy.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +40 -0
- package/dist/_dts/commerce/src/purchase/result.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/settlement.d.ts +97 -0
- package/dist/_dts/commerce/src/purchase/shopRefundPlanning.d.ts +43 -0
- package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +31 -0
- package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +10 -0
- package/dist/_dts/commerce/src/purchase/types.d.ts +168 -0
- package/dist/_dts/commerce/src/shop/shipmentEligibility.d.ts +14 -0
- package/dist/_dts/commerce/src/utils/assertNever.d.ts +1 -0
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -0
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -0
- package/dist/_dts/core/src/booking-vertical-catalog.d.ts +741 -0
- package/dist/_dts/core/src/booking-vertical-config.d.ts +66 -0
- package/dist/_dts/core/src/booking-vertical-definitions.d.ts +68 -0
- package/dist/_dts/{api/src/bookingVerticalPreset.d.ts → core/src/booking-vertical-preset.d.ts} +1 -1
- package/dist/_dts/core/src/booking-verticals.d.ts +98 -0
- package/dist/_dts/core/src/event-page-selection.d.ts +22 -0
- package/dist/_dts/core/src/event-pricing.d.ts +5 -0
- package/dist/_dts/core/src/event-series-behaviour.d.ts +16 -0
- package/dist/_dts/core/src/index.d.ts +3 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +72 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
- package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +3 -0
- package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +2 -0
- package/dist/_dts/media-core/src/identifiers.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
- package/dist/_dts/media-core/src/types.d.ts +2 -1
- package/dist/_dts/media-editor/src/index.d.ts +2 -2
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -22
- package/dist/_dts/media-editor/src/useMediaSelection.d.ts +0 -9
- package/dist/_dts/preview-next/src/client/preview/ButtonHoverRoleControls.d.ts +10 -0
- package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfiguratorWarningNotice.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -1
- package/dist/_dts/sdk/src/client/eventSubrouteReadOperations.d.ts +11 -0
- package/dist/_dts/sdk/src/client/types.d.ts +12 -5
- package/dist/_dts/sdk/src/components.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +2 -13
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -16
- package/dist/_dts/sdk/src/next/pageMetadataProjection.d.ts +7 -0
- package/dist/_dts/sdk/src/next/resolveEventPageSubroute.d.ts +12 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -19
- package/dist/_dts/sdk/src/public-api/eventSubrouteContracts.d.ts +12 -0
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/client.d.ts +44 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +4 -3
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +7 -3
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/contextualHover.d.ts +41 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +3 -0
- package/dist/_dts/theme-core/src/buttons/resolveButtonHoverTreatment.d.ts +14 -0
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +21 -4
- package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +92 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +10 -150
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -102
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +50 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +29 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +3 -25
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -6
- package/dist/_dts/theme-core/src/schema.d.ts +21 -33
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/buttonSelectionCompiler.d.ts +18 -0
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -11
- package/dist/_dts/theme-core/src/site-styles/selectionFallbackWarning.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +13 -1
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -0
- package/dist/client/{DiscountCodeDisclosure-BPZ-yfGI.mjs → DiscountCodeDisclosure-DO7llLxm.mjs} +12 -12
- package/dist/client/{EventCombined.client-Cjt3kKYR.mjs → EventCombined.client-xID7zN__.mjs} +36 -48
- package/dist/client/{EventListing.client-DY9dn6Fh.mjs → EventListing.client-CriBslp0.mjs} +2 -2
- package/dist/client/{LeafletStaticMap--2c61XYn.mjs → LeafletStaticMap-DYmHnM8g.mjs} +1 -1
- package/dist/client/{StepIndicator-CLjQhkDb.mjs → StepIndicator-CGixP_LW.mjs} +2 -2
- package/dist/client/{CourseRegistrationWizard-DGW9F0SQ.mjs → WholeSeriesRegistrationWizard-BEjzSiOA.mjs} +1408 -1245
- package/dist/client/{accordion-_boYwHHi.mjs → accordion-CgFbnnnQ.mjs} +1 -1
- package/dist/client/{bookingForm--AqEfyBX.mjs → bookingForm-dUyGpbxc.mjs} +5 -5
- package/dist/client/bookings.mjs +635 -471
- package/dist/client/{carousel-CVI2dqZr.mjs → carousel-BvBwkUzx.mjs} +1 -1
- package/dist/client/{cart-DR6IiPz9.mjs → cart-DiZENT2E.mjs} +3 -3
- package/dist/client/{checkout-CsrGAfQt.mjs → checkout-Dq13KIgR.mjs} +3 -3
- package/dist/client/client.mjs +6291 -3452
- package/dist/client/{courseRegistration-aNJVaLa3.mjs → courseRegistration-CKC5NmyH.mjs} +10 -4
- package/dist/client/{eventCalendar-OZ7h59VN.mjs → eventCalendar-BF0Jatfw.mjs} +40 -43
- package/dist/client/{eventCombined-BbJ6bFKz.mjs → eventCombined-BuoCF8je.mjs} +2 -2
- package/dist/client/{eventDetails-BLyUBiCT.mjs → eventDetails-CKwh0S9s.mjs} +276 -94
- package/dist/client/{eventListing-DuP1yhBS.mjs → eventListing-eUxaWFaB.mjs} +2 -2
- package/dist/client/{eventRegistration-BXyECPa-.mjs → eventRegistration-CfkNOkPb.mjs} +625 -132
- package/dist/client/{form-BA4t3kKU.mjs → form-C17H1c_H.mjs} +1 -1
- package/dist/client/{headerSection-CpNaJxhW.mjs → headerSection-DEwUmrtt.mjs} +2 -2
- package/dist/client/hooks.mjs +1312 -481
- package/dist/client/{locationMap-3HGMCL7_.mjs → locationMap-Pf2QwuvW.mjs} +2 -2
- package/dist/client/{newsletterForm-C2s6Mw67.mjs → newsletterForm-BWQAH5Sv.mjs} +1 -1
- package/dist/client/pricing-CVdvbopJ.mjs +195 -0
- package/dist/client/{productDetail-C9joWhdE.mjs → productDetail-BZi1Fa_G.mjs} +3 -3
- package/dist/client/{productList-CjzdU3pB.mjs → productList-qq-55DNk.mjs} +3 -3
- package/dist/client/{propsDecoder-CBPGXEYX.mjs → propsDecoder-BxmqPKdP.mjs} +412 -196
- package/dist/client/rendering/client.mjs +5685 -4037
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +7006 -4124
- package/dist/client/{scrollToBlock-DZ73aEX6.mjs → scrollToBlock-B3CcKdtG.mjs} +1 -1
- package/dist/client/{shop-CQRai7hj.mjs → shop-DNWJPut5.mjs} +5 -5
- package/dist/client/{shop-commerce-hP9UboOx.mjs → shop-commerce-BhvQCosS.mjs} +4 -4
- package/dist/client/{shop-commerce-store-DiD5a32e.mjs → shop-commerce-store-B04sCNnW.mjs} +1 -1
- package/dist/client/{shopShared-DP8DXTkF.mjs → shopShared-DNNgZlmW.mjs} +2 -2
- package/dist/client/{useEventFilters-pF_OJNQP.mjs → useEventFilters-CUmhE24_.mjs} +195 -6
- package/dist/client/{usePolling-Cls91SD2.mjs → usePolling-M5jG675x.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +247 -60
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +247 -60
- package/dist/preview-next/middleware.mjs +247 -60
- package/dist/{previewAuthStore-CX1C_KJ4.mjs → previewAuthStore-BFKd4LrN.mjs} +247 -60
- package/dist/{sdk-runtime-5CcPAI14.mjs → sdk-runtime-BEXb1wqo.mjs} +2 -2
- package/dist/{separator-BXlYN_gr.mjs → separator-DGMuip1D.mjs} +1 -1
- package/dist/server/components.mjs +3461 -1577
- package/dist/server/config-validation.mjs +1312 -482
- package/dist/server/config.mjs +1312 -482
- package/dist/server/data.mjs +1312 -481
- package/dist/server/index.mjs +289 -81
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +3576 -1689
- package/dist/server/page-converter.mjs +797 -250
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3461 -1576
- package/dist/server/rendering.mjs +3461 -1577
- package/dist/server/routing.mjs +1555 -616
- package/dist/server/server.mjs +1352 -560
- package/dist/server/theme-bridge.mjs +1992 -931
- package/dist/server/theme.mjs +346 -133
- package/dist/styles/index.css +1602 -796
- package/package.json +1 -1
- package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +0 -746
- package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +0 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +0 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +0 -45
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +0 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +0 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +0 -102
- package/dist/client/eventProductEligibility-AVxyCB1u.mjs +0 -50
- package/dist/client/pricing-BiqIMgZk.mjs +0 -174
- /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PortalAuthSidebar.d.ts +0 -0
- /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/SuccessStep.d.ts +0 -0
- /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/WaitlistStep.d.ts +0 -0
|
@@ -115,6 +115,7 @@ function formatCoursePriceDisplayLabel(display, options) {
|
|
|
115
115
|
case "exact": return `Course (${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
116
116
|
case "from": return `Course (From ${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
117
117
|
case "range": return `Course (${formatCurrencyAmount(display.minAmount, display.currency, options)} - ${formatCurrencyAmount(display.maxAmount, display.currency, options)})`;
|
|
118
|
+
case "mixed": return display.paidToAmount > display.paidFromAmount ? `Course (Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)} - ${formatCurrencyAmount(display.paidToAmount, display.currency, options)})` : `Course (Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)})`;
|
|
118
119
|
default: return assertNever$2(display);
|
|
119
120
|
}
|
|
120
121
|
}
|
|
@@ -485,6 +486,16 @@ function parseNewsletterSignupDestinationProvider(value) {
|
|
|
485
486
|
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
486
487
|
}
|
|
487
488
|
//#endregion
|
|
489
|
+
//#region ../core/src/event-series-behaviour.ts
|
|
490
|
+
const SURFACE_EVENT_PRESET_VALUES = [
|
|
491
|
+
"class",
|
|
492
|
+
"course",
|
|
493
|
+
"term",
|
|
494
|
+
"workshop",
|
|
495
|
+
"retreat",
|
|
496
|
+
"performance"
|
|
497
|
+
];
|
|
498
|
+
//#endregion
|
|
488
499
|
//#region ../blocks/src/contracts/runtime.ts
|
|
489
500
|
function decodeSuccess(value) {
|
|
490
501
|
return {
|
|
@@ -1391,19 +1402,13 @@ const bookingFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
1391
1402
|
})
|
|
1392
1403
|
});
|
|
1393
1404
|
//#endregion
|
|
1394
|
-
//#region ../blocks/src/system/blocks/
|
|
1395
|
-
|
|
1396
|
-
* Zod schema for course venue data
|
|
1397
|
-
*/
|
|
1398
|
-
const courseVenueSchema = z.object({
|
|
1405
|
+
//#region ../blocks/src/system/blocks/events/whole-series/schemas.ts
|
|
1406
|
+
const wholeSeriesVenueSchema = z.object({
|
|
1399
1407
|
id: z.string(),
|
|
1400
1408
|
name: z.string(),
|
|
1401
1409
|
address: z.string().nullable()
|
|
1402
1410
|
});
|
|
1403
|
-
|
|
1404
|
-
* Zod schema for course session (occurrence) data
|
|
1405
|
-
*/
|
|
1406
|
-
const courseSessionSchema = z.object({
|
|
1411
|
+
const wholeSeriesSessionSchema = z.object({
|
|
1407
1412
|
id: z.string(),
|
|
1408
1413
|
startsAt: z.string(),
|
|
1409
1414
|
endsAt: z.string(),
|
|
@@ -1411,14 +1416,14 @@ const courseSessionSchema = z.object({
|
|
|
1411
1416
|
capacityOverride: z.number().nullable().optional(),
|
|
1412
1417
|
overrides: z.record(z.string(), z.unknown()).nullable().optional()
|
|
1413
1418
|
});
|
|
1414
|
-
const
|
|
1419
|
+
const wholeSeriesTeamMemberSummarySchema = z.object({
|
|
1415
1420
|
id: z.string(),
|
|
1416
1421
|
name: z.string(),
|
|
1417
1422
|
roleLabel: z.string().nullable(),
|
|
1418
1423
|
summary: z.string().nullable(),
|
|
1419
1424
|
profilePath: z.string().nullable()
|
|
1420
1425
|
});
|
|
1421
|
-
const
|
|
1426
|
+
const wholeSeriesPricingOptionSchema = z.object({
|
|
1422
1427
|
id: z.string(),
|
|
1423
1428
|
name: z.string(),
|
|
1424
1429
|
description: z.string().nullable(),
|
|
@@ -1434,7 +1439,7 @@ const coursePricingOptionSchema = z.object({
|
|
|
1434
1439
|
"both"
|
|
1435
1440
|
]).nullable().optional()
|
|
1436
1441
|
});
|
|
1437
|
-
const
|
|
1442
|
+
const wholeSeriesPricingSchema = z.object({
|
|
1438
1443
|
bookingRequirement: z.enum(["none", "required"]),
|
|
1439
1444
|
pricingStrategy: z.enum([
|
|
1440
1445
|
"free",
|
|
@@ -1448,20 +1453,17 @@ const coursePricingSchema = z.object({
|
|
|
1448
1453
|
slidingMaxAmount: z.number().nullable().optional(),
|
|
1449
1454
|
slidingSuggestedAmount: z.number().nullable().optional(),
|
|
1450
1455
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
1451
|
-
options: z.array(
|
|
1456
|
+
options: z.array(wholeSeriesPricingOptionSchema)
|
|
1452
1457
|
});
|
|
1453
|
-
/**
|
|
1454
|
-
* Zod schema for public course data
|
|
1455
|
-
*/
|
|
1456
1458
|
const publicWholeSeriesOfferingSchema = z.object({
|
|
1457
1459
|
eventSeriesId: z.string(),
|
|
1458
1460
|
eventOfferingId: z.string(),
|
|
1459
1461
|
title: z.string(),
|
|
1460
1462
|
slug: z.string(),
|
|
1461
1463
|
description: z.unknown().nullable(),
|
|
1462
|
-
teamMembers: z.array(
|
|
1464
|
+
teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
1463
1465
|
enrollmentOpen: z.boolean(),
|
|
1464
|
-
pricing:
|
|
1466
|
+
pricing: wholeSeriesPricingSchema,
|
|
1465
1467
|
currency: z.string(),
|
|
1466
1468
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
1467
1469
|
enrollmentCapacity: z.number().nullable(),
|
|
@@ -1474,12 +1476,10 @@ const publicWholeSeriesOfferingSchema = z.object({
|
|
|
1474
1476
|
sessionsCount: z.number(),
|
|
1475
1477
|
enrolledCount: z.number(),
|
|
1476
1478
|
availableSpots: z.number().nullable(),
|
|
1477
|
-
sessions: z.array(
|
|
1478
|
-
venue:
|
|
1479
|
+
sessions: z.array(wholeSeriesSessionSchema),
|
|
1480
|
+
venue: wholeSeriesVenueSchema.nullable()
|
|
1479
1481
|
});
|
|
1480
|
-
|
|
1481
|
-
const publicCourseSchema = publicWholeSeriesOfferingSchema;
|
|
1482
|
-
const publicCoursesArraySchema = z.array(publicWholeSeriesOfferingSchema);
|
|
1482
|
+
const publicWholeSeriesOfferingsArraySchema = z.array(publicWholeSeriesOfferingSchema);
|
|
1483
1483
|
//#endregion
|
|
1484
1484
|
//#region ../blocks/src/system/constants/events.ts
|
|
1485
1485
|
const eventCalendarDisplayModeValues = [
|
|
@@ -1531,6 +1531,12 @@ const opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => pa
|
|
|
1531
1531
|
if (token === null) throw new Error("Invariant: opaque button token passed its schema");
|
|
1532
1532
|
return token;
|
|
1533
1533
|
});
|
|
1534
|
+
const contextualButtonHoverSchema = z.strictObject({
|
|
1535
|
+
kind: z.literal("shade-shift"),
|
|
1536
|
+
seedToken: opaqueButtonColourTokenSchema,
|
|
1537
|
+
fallbackDirection: z.enum(["lighter", "darker"]),
|
|
1538
|
+
preferredToken: opaqueButtonColourTokenSchema.optional()
|
|
1539
|
+
});
|
|
1534
1540
|
const buttonShadeAmountSchema = z.number().finite().min(0).max(900).multipleOf(100);
|
|
1535
1541
|
const buttonShadowIntensitySchema = z.enum([
|
|
1536
1542
|
"subtle",
|
|
@@ -1870,6 +1876,7 @@ const buttonVariantSchema = z.strictObject({
|
|
|
1870
1876
|
shadow: variantShadowSchema.optional(),
|
|
1871
1877
|
border: buttonBorderSchema.optional(),
|
|
1872
1878
|
hoverBackgroundToken: opaqueButtonColourTokenSchema.optional(),
|
|
1879
|
+
contextualHover: contextualButtonHoverSchema.optional(),
|
|
1873
1880
|
effects: variantEffectsSchema.optional(),
|
|
1874
1881
|
sizes: variantSizeOverridesSchema.optional(),
|
|
1875
1882
|
affordance: buttonVariantAffordanceSchema.optional()
|
|
@@ -2017,8 +2024,8 @@ const openCardRoleValue = "open";
|
|
|
2017
2024
|
*/
|
|
2018
2025
|
const surfaceCardRoleValues = [...cardVariantRoleValues, openCardRoleValue];
|
|
2019
2026
|
/**
|
|
2020
|
-
* The closed
|
|
2021
|
-
*
|
|
2027
|
+
* The closed role vocabulary Looks and blocks use for surfaced and boxless
|
|
2028
|
+
* card choices.
|
|
2022
2029
|
*
|
|
2023
2030
|
* - `none` — no site-style card surface; the block's own composition and
|
|
2024
2031
|
* the author's own card fields govern the item. This is *not*
|
|
@@ -2030,11 +2037,6 @@ const surfaceCardRoleValues = [...cardVariantRoleValues, openCardRoleValue];
|
|
|
2030
2037
|
* - `alternative` — the statement card carrying the site's personality
|
|
2031
2038
|
*/
|
|
2032
2039
|
const cardRoleValues = [...surfaceCardRoleValues, boxlessCardVariantValue];
|
|
2033
|
-
const legacyCardVariantRoleAliases = {
|
|
2034
|
-
variant1: "alternative",
|
|
2035
|
-
variant2: "alternative",
|
|
2036
|
-
statement: "alternative"
|
|
2037
|
-
};
|
|
2038
2040
|
const cardSpacingSchema = z.enum([
|
|
2039
2041
|
"none",
|
|
2040
2042
|
"compact",
|
|
@@ -2064,21 +2066,20 @@ const gradientDirectionSchema = z.enum([
|
|
|
2064
2066
|
"to-br",
|
|
2065
2067
|
"to-bl"
|
|
2066
2068
|
]);
|
|
2067
|
-
|
|
2069
|
+
z.enum(cardVariantRoleValues);
|
|
2068
2070
|
const surfaceCardRoleSchema = z.enum(surfaceCardRoleValues);
|
|
2069
2071
|
const cardRoleSchema = z.enum(cardRoleValues);
|
|
2070
|
-
/**
|
|
2071
|
-
* Historical name for the role vocabulary as it reaches box styles. Widened to
|
|
2072
|
-
* the full `CardRole` set — old values keep parsing, `open` now parses too.
|
|
2073
|
-
*/
|
|
2074
|
-
const boxStylesCardVariantSchema = cardRoleSchema;
|
|
2075
2072
|
function isCardVariantRole(value) {
|
|
2076
2073
|
return typeof value === "string" && cardVariantRoleValues.includes(value);
|
|
2077
2074
|
}
|
|
2078
2075
|
function normalizeCardVariantRole(value) {
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2076
|
+
return isCardVariantRole(value) ? value : null;
|
|
2077
|
+
}
|
|
2078
|
+
/** The one untrusted-input boundary for the closed role vocabulary. */
|
|
2079
|
+
function normalizeCardRole(value) {
|
|
2080
|
+
if (value === "none") return boxlessCardVariantValue;
|
|
2081
|
+
if (value === "open") return openCardRoleValue;
|
|
2082
|
+
return normalizeCardVariantRole(value);
|
|
2082
2083
|
}
|
|
2083
2084
|
const PRIORITY_ROLE_INFERENCE = {
|
|
2084
2085
|
1: "default",
|
|
@@ -3581,8 +3582,7 @@ const cardStylesOverrideSchema = z.object({
|
|
|
3581
3582
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
3582
3583
|
raised: z.boolean().nullable().optional(),
|
|
3583
3584
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
3584
|
-
role: cardRoleSchema.nullable().optional()
|
|
3585
|
-
cardVariant: boxStylesCardVariantSchema.nullable().optional()
|
|
3585
|
+
role: cardRoleSchema.nullable().optional()
|
|
3586
3586
|
});
|
|
3587
3587
|
const blockStyleOverridesSchema = z.object({
|
|
3588
3588
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
@@ -4211,13 +4211,7 @@ function shadeBackgroundEffect(config) {
|
|
|
4211
4211
|
buttonSizeNameSchema.options;
|
|
4212
4212
|
//#endregion
|
|
4213
4213
|
//#region ../theme-core/src/buttons/styles/domain.ts
|
|
4214
|
-
const PUBLIC_BUTTON_ROLES =
|
|
4215
|
-
"primary",
|
|
4216
|
-
"secondary",
|
|
4217
|
-
"outline",
|
|
4218
|
-
"ghost",
|
|
4219
|
-
"accent"
|
|
4220
|
-
];
|
|
4214
|
+
const PUBLIC_BUTTON_ROLES = VARIANT_ROLES;
|
|
4221
4215
|
function defineButtonStyleRecipe(recipe) {
|
|
4222
4216
|
return recipe;
|
|
4223
4217
|
}
|
|
@@ -4313,6 +4307,14 @@ const BUTTON_STYLE_IDS = [
|
|
|
4313
4307
|
"quiet-arrow"
|
|
4314
4308
|
];
|
|
4315
4309
|
const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
|
|
4310
|
+
const flatInkHoverTreatmentSchema = z.enum([
|
|
4311
|
+
"contextual",
|
|
4312
|
+
"secondary",
|
|
4313
|
+
"accent"
|
|
4314
|
+
]);
|
|
4315
|
+
const flatInkHoverPreferencesShape = Object.fromEntries(VARIANT_ROLES.map((role) => [role, flatInkHoverTreatmentSchema.optional()]));
|
|
4316
|
+
const flatInkHoverPreferencesSchema = z.strictObject(flatInkHoverPreferencesShape);
|
|
4317
|
+
const flatInkParametersSchema = z.strictObject({ hoverPreferences: flatInkHoverPreferencesSchema.optional() });
|
|
4316
4318
|
const emptyParametersSchema$1 = z.object({}).strict();
|
|
4317
4319
|
function selectionBranch(styleId, parameters) {
|
|
4318
4320
|
return z.object({
|
|
@@ -4327,7 +4329,7 @@ z.discriminatedUnion("styleId", [
|
|
|
4327
4329
|
selectionBranch("editorial-link", emptyParametersSchema$1),
|
|
4328
4330
|
selectionBranch("pebble", emptyParametersSchema$1),
|
|
4329
4331
|
selectionBranch("ink-stamp", emptyParametersSchema$1),
|
|
4330
|
-
selectionBranch("flat-ink",
|
|
4332
|
+
selectionBranch("flat-ink", flatInkParametersSchema),
|
|
4331
4333
|
selectionBranch("brushed-wash", emptyParametersSchema$1),
|
|
4332
4334
|
selectionBranch("showtime-pill", emptyParametersSchema$1),
|
|
4333
4335
|
selectionBranch("joy-stamp", emptyParametersSchema$1),
|
|
@@ -4464,6 +4466,189 @@ const quietArrowRecipe = defineButtonStyleRecipe({
|
|
|
4464
4466
|
})
|
|
4465
4467
|
});
|
|
4466
4468
|
//#endregion
|
|
4469
|
+
//#region ../theme-core/src/buttons/styles/recipes/flatInk.ts
|
|
4470
|
+
const contextualRoleConfig = {
|
|
4471
|
+
primary: {
|
|
4472
|
+
contextualSeedToken: unsafeAsOpaqueButtonColourToken("primary"),
|
|
4473
|
+
fallbackDirection: "darker"
|
|
4474
|
+
},
|
|
4475
|
+
secondary: {
|
|
4476
|
+
contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
|
|
4477
|
+
fallbackDirection: "darker"
|
|
4478
|
+
},
|
|
4479
|
+
outline: {
|
|
4480
|
+
contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
|
|
4481
|
+
fallbackDirection: "darker"
|
|
4482
|
+
},
|
|
4483
|
+
ghost: {
|
|
4484
|
+
contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
|
|
4485
|
+
fallbackDirection: "darker"
|
|
4486
|
+
},
|
|
4487
|
+
accent: {
|
|
4488
|
+
contextualSeedToken: unsafeAsOpaqueButtonColourToken("accent"),
|
|
4489
|
+
fallbackDirection: "darker"
|
|
4490
|
+
}
|
|
4491
|
+
};
|
|
4492
|
+
const hoverControl = {
|
|
4493
|
+
kind: "button-hover-by-role",
|
|
4494
|
+
parameter: "hoverPreferences",
|
|
4495
|
+
label: "Button hover",
|
|
4496
|
+
roles: contextualRoleConfig,
|
|
4497
|
+
options: [
|
|
4498
|
+
{
|
|
4499
|
+
value: "contextual",
|
|
4500
|
+
label: "Contextual shade shift"
|
|
4501
|
+
},
|
|
4502
|
+
{
|
|
4503
|
+
value: "secondary",
|
|
4504
|
+
label: "Secondary button colour"
|
|
4505
|
+
},
|
|
4506
|
+
{
|
|
4507
|
+
value: "accent",
|
|
4508
|
+
label: "Accent button colour"
|
|
4509
|
+
}
|
|
4510
|
+
]
|
|
4511
|
+
};
|
|
4512
|
+
const lift = { effectId: "lift" };
|
|
4513
|
+
const flatInkRecipe = defineButtonStyleRecipe({
|
|
4514
|
+
id: "flat-ink",
|
|
4515
|
+
accessibilityLabel: "Flat rounded buttons with arrow affordances",
|
|
4516
|
+
tags: {
|
|
4517
|
+
tone: "classic",
|
|
4518
|
+
energy: "calm",
|
|
4519
|
+
motion: "subtle",
|
|
4520
|
+
era: "editorial"
|
|
4521
|
+
},
|
|
4522
|
+
parameterSchema: flatInkParametersSchema,
|
|
4523
|
+
defaultParameters: {},
|
|
4524
|
+
controls: [hoverControl],
|
|
4525
|
+
defineSystem: (parameters) => ({
|
|
4526
|
+
global: {
|
|
4527
|
+
cornerStyle: "rounded",
|
|
4528
|
+
textTransform: "none",
|
|
4529
|
+
fontWeight: 600,
|
|
4530
|
+
typography: "body",
|
|
4531
|
+
letterSpacing: "tight",
|
|
4532
|
+
paddingPreset: "default",
|
|
4533
|
+
hoverTransform: "lift",
|
|
4534
|
+
hoverColor: "none"
|
|
4535
|
+
},
|
|
4536
|
+
sizes: {
|
|
4537
|
+
sm: {
|
|
4538
|
+
padding: "0.625rem 1.125rem",
|
|
4539
|
+
fontSize: "text-sm"
|
|
4540
|
+
},
|
|
4541
|
+
md: { padding: "0.8125rem 1.375rem" },
|
|
4542
|
+
lg: {
|
|
4543
|
+
padding: "0.9375rem 1.625rem",
|
|
4544
|
+
fontSize: "text-lg"
|
|
4545
|
+
},
|
|
4546
|
+
xl: {
|
|
4547
|
+
padding: "1.0625rem 2rem",
|
|
4548
|
+
fontSize: "text-xl"
|
|
4549
|
+
}
|
|
4550
|
+
},
|
|
4551
|
+
roles: {
|
|
4552
|
+
primary: {
|
|
4553
|
+
kind: "complete",
|
|
4554
|
+
appearance: {
|
|
4555
|
+
background: {
|
|
4556
|
+
type: "solid",
|
|
4557
|
+
colorToken: unsafeAsOpaqueButtonColourToken("primary")
|
|
4558
|
+
},
|
|
4559
|
+
borderRadius: "rounded-lg",
|
|
4560
|
+
affordance: { iconId: "ArrowRight" },
|
|
4561
|
+
...hoverAppearance("primary", parameters, [lift, {
|
|
4562
|
+
effectId: "background-on-hover",
|
|
4563
|
+
options: { colorToken: unsafeAsOpaqueButtonColourToken("secondary") }
|
|
4564
|
+
}])
|
|
4565
|
+
}
|
|
4566
|
+
},
|
|
4567
|
+
secondary: {
|
|
4568
|
+
kind: "complete",
|
|
4569
|
+
appearance: {
|
|
4570
|
+
background: {
|
|
4571
|
+
type: "surface",
|
|
4572
|
+
role: "link"
|
|
4573
|
+
},
|
|
4574
|
+
borderRadius: "rounded-lg",
|
|
4575
|
+
border: { widthClass: "border" },
|
|
4576
|
+
...hoverAppearance("secondary", parameters, [lift, {
|
|
4577
|
+
effectId: "background-on-hover",
|
|
4578
|
+
options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
|
|
4579
|
+
}])
|
|
4580
|
+
}
|
|
4581
|
+
},
|
|
4582
|
+
outline: {
|
|
4583
|
+
kind: "complete",
|
|
4584
|
+
appearance: {
|
|
4585
|
+
background: {
|
|
4586
|
+
type: "surface",
|
|
4587
|
+
role: "link"
|
|
4588
|
+
},
|
|
4589
|
+
borderRadius: "rounded-lg",
|
|
4590
|
+
border: { widthClass: "border" },
|
|
4591
|
+
...hoverAppearance("outline", parameters, [lift, {
|
|
4592
|
+
effectId: "background-on-hover",
|
|
4593
|
+
options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
|
|
4594
|
+
}])
|
|
4595
|
+
}
|
|
4596
|
+
},
|
|
4597
|
+
ghost: {
|
|
4598
|
+
kind: "complete",
|
|
4599
|
+
appearance: {
|
|
4600
|
+
background: {
|
|
4601
|
+
type: "surface",
|
|
4602
|
+
role: "link"
|
|
4603
|
+
},
|
|
4604
|
+
borderRadius: "rounded-lg",
|
|
4605
|
+
...hoverAppearance("ghost", parameters, [lift])
|
|
4606
|
+
}
|
|
4607
|
+
},
|
|
4608
|
+
accent: {
|
|
4609
|
+
kind: "complete",
|
|
4610
|
+
appearance: {
|
|
4611
|
+
background: {
|
|
4612
|
+
type: "solid",
|
|
4613
|
+
colorToken: unsafeAsOpaqueButtonColourToken("accent")
|
|
4614
|
+
},
|
|
4615
|
+
borderRadius: "rounded-lg",
|
|
4616
|
+
affordance: { iconId: "ArrowRight" },
|
|
4617
|
+
...hoverAppearance("accent", parameters, [lift])
|
|
4618
|
+
}
|
|
4619
|
+
}
|
|
4620
|
+
}
|
|
4621
|
+
})
|
|
4622
|
+
});
|
|
4623
|
+
function hoverAppearance(role, parameters, recommended) {
|
|
4624
|
+
const preference = parameters.hoverPreferences?.[role];
|
|
4625
|
+
if (preference === void 0) return { effects: { hover: [...recommended] } };
|
|
4626
|
+
if (preference === "contextual") {
|
|
4627
|
+
const config = contextualRoleConfig[role];
|
|
4628
|
+
return {
|
|
4629
|
+
effects: { hover: [lift] },
|
|
4630
|
+
contextualHover: {
|
|
4631
|
+
kind: "shade-shift",
|
|
4632
|
+
seedToken: config.contextualSeedToken,
|
|
4633
|
+
fallbackDirection: config.fallbackDirection
|
|
4634
|
+
}
|
|
4635
|
+
};
|
|
4636
|
+
}
|
|
4637
|
+
const config = contextualRoleConfig[role];
|
|
4638
|
+
return {
|
|
4639
|
+
effects: { hover: [lift] },
|
|
4640
|
+
contextualHover: {
|
|
4641
|
+
kind: "shade-shift",
|
|
4642
|
+
seedToken: config.contextualSeedToken,
|
|
4643
|
+
fallbackDirection: config.fallbackDirection,
|
|
4644
|
+
preferredToken: unsafeAsOpaqueButtonColourToken(paletteRole(preference))
|
|
4645
|
+
}
|
|
4646
|
+
};
|
|
4647
|
+
}
|
|
4648
|
+
function paletteRole(preference) {
|
|
4649
|
+
return preference;
|
|
4650
|
+
}
|
|
4651
|
+
//#endregion
|
|
4467
4652
|
//#region ../theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.ts
|
|
4468
4653
|
const emptyParametersSchema = z.object({}).strict();
|
|
4469
4654
|
function defineStaticButtonStyleRecipe(input) {
|
|
@@ -5310,113 +5495,6 @@ const inkStampRecipe = defineStaticButtonStyleRecipe({
|
|
|
5310
5495
|
}
|
|
5311
5496
|
}
|
|
5312
5497
|
});
|
|
5313
|
-
const flatInkRecipe = defineStaticButtonStyleRecipe({
|
|
5314
|
-
id: "flat-ink",
|
|
5315
|
-
accessibilityLabel: "Flat rounded buttons with arrow affordances",
|
|
5316
|
-
tags: {
|
|
5317
|
-
tone: "classic",
|
|
5318
|
-
energy: "calm",
|
|
5319
|
-
motion: "subtle",
|
|
5320
|
-
era: "editorial"
|
|
5321
|
-
},
|
|
5322
|
-
system: {
|
|
5323
|
-
global: {
|
|
5324
|
-
cornerStyle: "rounded",
|
|
5325
|
-
textTransform: "none",
|
|
5326
|
-
fontWeight: 600,
|
|
5327
|
-
typography: "body",
|
|
5328
|
-
letterSpacing: "tight",
|
|
5329
|
-
paddingPreset: "default",
|
|
5330
|
-
hoverTransform: "lift",
|
|
5331
|
-
hoverColor: "none"
|
|
5332
|
-
},
|
|
5333
|
-
sizes: {
|
|
5334
|
-
sm: {
|
|
5335
|
-
padding: "0.625rem 1.125rem",
|
|
5336
|
-
fontSize: "text-sm"
|
|
5337
|
-
},
|
|
5338
|
-
md: { padding: "0.8125rem 1.375rem" },
|
|
5339
|
-
lg: {
|
|
5340
|
-
padding: "0.9375rem 1.625rem",
|
|
5341
|
-
fontSize: "text-lg"
|
|
5342
|
-
},
|
|
5343
|
-
xl: {
|
|
5344
|
-
padding: "1.0625rem 2rem",
|
|
5345
|
-
fontSize: "text-xl"
|
|
5346
|
-
}
|
|
5347
|
-
},
|
|
5348
|
-
roles: {
|
|
5349
|
-
primary: {
|
|
5350
|
-
kind: "complete",
|
|
5351
|
-
appearance: {
|
|
5352
|
-
background: {
|
|
5353
|
-
type: "solid",
|
|
5354
|
-
colorToken: "primary"
|
|
5355
|
-
},
|
|
5356
|
-
borderRadius: "rounded-lg",
|
|
5357
|
-
affordance: { iconId: "ArrowRight" },
|
|
5358
|
-
effects: { hover: [{ effectId: "lift" }, {
|
|
5359
|
-
effectId: "background-on-hover",
|
|
5360
|
-
options: { colorToken: unsafeAsOpaqueButtonColourToken("secondary") }
|
|
5361
|
-
}] }
|
|
5362
|
-
}
|
|
5363
|
-
},
|
|
5364
|
-
secondary: {
|
|
5365
|
-
kind: "complete",
|
|
5366
|
-
appearance: {
|
|
5367
|
-
background: {
|
|
5368
|
-
type: "surface",
|
|
5369
|
-
role: "link"
|
|
5370
|
-
},
|
|
5371
|
-
borderRadius: "rounded-lg",
|
|
5372
|
-
border: { widthClass: "border" },
|
|
5373
|
-
effects: { hover: [{ effectId: "lift" }, {
|
|
5374
|
-
effectId: "background-on-hover",
|
|
5375
|
-
options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
|
|
5376
|
-
}] }
|
|
5377
|
-
}
|
|
5378
|
-
},
|
|
5379
|
-
outline: {
|
|
5380
|
-
kind: "complete",
|
|
5381
|
-
appearance: {
|
|
5382
|
-
background: {
|
|
5383
|
-
type: "surface",
|
|
5384
|
-
role: "link"
|
|
5385
|
-
},
|
|
5386
|
-
borderRadius: "rounded-lg",
|
|
5387
|
-
border: { widthClass: "border" },
|
|
5388
|
-
effects: { hover: [{ effectId: "lift" }, {
|
|
5389
|
-
effectId: "background-on-hover",
|
|
5390
|
-
options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
|
|
5391
|
-
}] }
|
|
5392
|
-
}
|
|
5393
|
-
},
|
|
5394
|
-
ghost: {
|
|
5395
|
-
kind: "complete",
|
|
5396
|
-
appearance: {
|
|
5397
|
-
background: {
|
|
5398
|
-
type: "surface",
|
|
5399
|
-
role: "link"
|
|
5400
|
-
},
|
|
5401
|
-
borderRadius: "rounded-lg",
|
|
5402
|
-
effects: { hover: [{ effectId: "lift" }] }
|
|
5403
|
-
}
|
|
5404
|
-
},
|
|
5405
|
-
accent: {
|
|
5406
|
-
kind: "complete",
|
|
5407
|
-
appearance: {
|
|
5408
|
-
background: {
|
|
5409
|
-
type: "solid",
|
|
5410
|
-
colorToken: "accent"
|
|
5411
|
-
},
|
|
5412
|
-
borderRadius: "rounded-lg",
|
|
5413
|
-
affordance: { iconId: "ArrowRight" },
|
|
5414
|
-
effects: { hover: [{ effectId: "lift" }] }
|
|
5415
|
-
}
|
|
5416
|
-
}
|
|
5417
|
-
}
|
|
5418
|
-
}
|
|
5419
|
-
});
|
|
5420
5498
|
const showtimePillRecipe = defineStaticButtonStyleRecipe({
|
|
5421
5499
|
id: "showtime-pill",
|
|
5422
5500
|
accessibilityLabel: "Bold uppercase pill buttons with playful movement",
|
|
@@ -5930,13 +6008,9 @@ function resolveEventRegistrationScopedEvents(events, context) {
|
|
|
5930
6008
|
}
|
|
5931
6009
|
//#endregion
|
|
5932
6010
|
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
5933
|
-
const
|
|
5934
|
-
siteId: z.string().optional(),
|
|
5935
|
-
apiBaseUrl: z.string().optional(),
|
|
5936
|
-
portalToken: z.string().nullable().optional(),
|
|
6011
|
+
const courseRegistrationHydrationSchemaShape = {
|
|
5937
6012
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
5938
|
-
courses: z.array(
|
|
5939
|
-
className: z.string().nullable().optional(),
|
|
6013
|
+
courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
5940
6014
|
showSessions: z.boolean().optional(),
|
|
5941
6015
|
showPrice: z.boolean().optional(),
|
|
5942
6016
|
showCapacity: z.boolean().optional(),
|
|
@@ -5944,8 +6018,15 @@ const courseRegistrationSourceSchema = z.object({
|
|
|
5944
6018
|
successMessage: z.string().optional(),
|
|
5945
6019
|
waitlistMessage: z.string().optional(),
|
|
5946
6020
|
membershipMessage: z.string().optional(),
|
|
6021
|
+
buttonVariant: registrationButtonVariantSchema.optional()
|
|
6022
|
+
};
|
|
6023
|
+
const courseRegistrationSourceSchema = z.object({
|
|
6024
|
+
siteId: z.string().optional(),
|
|
6025
|
+
apiBaseUrl: z.string().optional(),
|
|
6026
|
+
portalToken: z.string().nullable().optional(),
|
|
6027
|
+
...courseRegistrationHydrationSchemaShape,
|
|
6028
|
+
className: z.string().nullable().optional(),
|
|
5947
6029
|
buttonText: z.string().nullable().optional(),
|
|
5948
|
-
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
5949
6030
|
stage: previewStageSchema.optional()
|
|
5950
6031
|
});
|
|
5951
6032
|
const courseRegistrationDisplaySchema = z.object({
|
|
@@ -5954,18 +6035,7 @@ const courseRegistrationDisplaySchema = z.object({
|
|
|
5954
6035
|
className: z.string().nullable(),
|
|
5955
6036
|
summaryButtonText: z.string()
|
|
5956
6037
|
});
|
|
5957
|
-
const courseRegistrationHydrationSchema = z.object(
|
|
5958
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
5959
|
-
courses: z.array(publicCourseSchema).nullable().optional(),
|
|
5960
|
-
showSessions: z.boolean().optional(),
|
|
5961
|
-
showPrice: z.boolean().optional(),
|
|
5962
|
-
showCapacity: z.boolean().optional(),
|
|
5963
|
-
showVenue: z.boolean().optional(),
|
|
5964
|
-
successMessage: z.string().optional(),
|
|
5965
|
-
waitlistMessage: z.string().optional(),
|
|
5966
|
-
membershipMessage: z.string().optional(),
|
|
5967
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
5968
|
-
});
|
|
6038
|
+
const courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
|
|
5969
6039
|
const courseRegistrationRenderSchema = z.object({
|
|
5970
6040
|
display: courseRegistrationDisplaySchema,
|
|
5971
6041
|
hydration: courseRegistrationHydrationSchema
|
|
@@ -6405,7 +6475,7 @@ const publicEventSchema = z.object({
|
|
|
6405
6475
|
acceptsMemberships: z.boolean().optional(),
|
|
6406
6476
|
wholeSeries: z.object({
|
|
6407
6477
|
eventSeriesId: z.string(),
|
|
6408
|
-
pricing:
|
|
6478
|
+
pricing: wholeSeriesPricingSchema,
|
|
6409
6479
|
currency: z.string(),
|
|
6410
6480
|
enrollmentOpen: z.boolean()
|
|
6411
6481
|
}).nullable().optional()
|
|
@@ -6429,14 +6499,7 @@ function normalizeIdList(parts) {
|
|
|
6429
6499
|
}
|
|
6430
6500
|
//#endregion
|
|
6431
6501
|
//#region ../blocks/src/system/blocks/events/shared/filtering.ts
|
|
6432
|
-
const eventSurfacePresetValues =
|
|
6433
|
-
"course",
|
|
6434
|
-
"term",
|
|
6435
|
-
"class",
|
|
6436
|
-
"workshop",
|
|
6437
|
-
"retreat",
|
|
6438
|
-
"performance"
|
|
6439
|
-
];
|
|
6502
|
+
const eventSurfacePresetValues = SURFACE_EVENT_PRESET_VALUES;
|
|
6440
6503
|
const eventSurfaceScopeValues = [
|
|
6441
6504
|
"all",
|
|
6442
6505
|
"regularClassSchedule",
|
|
@@ -7202,6 +7265,7 @@ const eventCollectionSourceSchemaShape = {
|
|
|
7202
7265
|
showVenue: z.boolean().nullable().optional(),
|
|
7203
7266
|
showMap: z.boolean().nullable().optional(),
|
|
7204
7267
|
showCapacity: z.boolean().nullable().optional(),
|
|
7268
|
+
cardRole: cardRoleSchema.optional(),
|
|
7205
7269
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
7206
7270
|
buttonText: z.string().optional(),
|
|
7207
7271
|
emptyMessage: z.string().optional(),
|
|
@@ -7229,6 +7293,7 @@ const eventCollectionDisplaySchemaShape = {
|
|
|
7229
7293
|
showVenue: z.boolean(),
|
|
7230
7294
|
showMap: z.boolean(),
|
|
7231
7295
|
showCapacity: z.boolean(),
|
|
7296
|
+
cardRole: cardRoleSchema,
|
|
7232
7297
|
buttonVariant: eventButtonVariantSchema,
|
|
7233
7298
|
buttonText: z.string(),
|
|
7234
7299
|
emptyMessage: z.string()
|
|
@@ -7278,6 +7343,7 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
7278
7343
|
showVenue: source.showVenue ?? true,
|
|
7279
7344
|
showMap: source.showMap ?? true,
|
|
7280
7345
|
showCapacity: source.showCapacity ?? true,
|
|
7346
|
+
cardRole: source.cardRole ?? "default",
|
|
7281
7347
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
7282
7348
|
buttonText: source.buttonText ?? "Book",
|
|
7283
7349
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
@@ -7303,7 +7369,7 @@ function buildEventCollectionListingDisplay(display, prefetchedEvents, className
|
|
|
7303
7369
|
emptyMessage: display.emptyMessage,
|
|
7304
7370
|
loadingMessage: "Loading events…",
|
|
7305
7371
|
containerClass: getContainerClass(display.listLayout, display.listColumns),
|
|
7306
|
-
|
|
7372
|
+
cardRole: display.cardRole,
|
|
7307
7373
|
buttonVariant: display.buttonVariant,
|
|
7308
7374
|
buttonText: display.buttonText,
|
|
7309
7375
|
showVenue: display.showVenue,
|
|
@@ -7315,8 +7381,6 @@ function buildEventCollectionListingDisplay(display, prefetchedEvents, className
|
|
|
7315
7381
|
}
|
|
7316
7382
|
//#endregion
|
|
7317
7383
|
//#region ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
7318
|
-
const legacyEventCardVariantSchema = z.enum(["variant1", "variant2"]);
|
|
7319
|
-
const eventCardVariantInputSchema = z.union([cardVariantRoleSchema, legacyEventCardVariantSchema]);
|
|
7320
7384
|
const cardOrientationSchema = z.enum(["vertical", "horizontal"]);
|
|
7321
7385
|
const eventSurfaceScopeSchema = z.enum(eventSurfaceScopeValues);
|
|
7322
7386
|
const eventScheduleScopeSchema = z.enum(eventScheduleScopeValues);
|
|
@@ -7331,7 +7395,7 @@ const eventListingSourceSchema = z.object({
|
|
|
7331
7395
|
paginationMode: z.enum(["loadMore", "seeAllLink"]).optional(),
|
|
7332
7396
|
seeAllUrl: z.string().optional(),
|
|
7333
7397
|
loadMoreText: z.string().optional(),
|
|
7334
|
-
|
|
7398
|
+
cardRole: cardRoleSchema.optional(),
|
|
7335
7399
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
7336
7400
|
buttonText: z.string().optional(),
|
|
7337
7401
|
showVenue: z.boolean().optional(),
|
|
@@ -7353,7 +7417,7 @@ const eventListingDisplaySchema = z.object({
|
|
|
7353
7417
|
emptyMessage: z.string(),
|
|
7354
7418
|
loadingMessage: z.string(),
|
|
7355
7419
|
containerClass: z.string(),
|
|
7356
|
-
|
|
7420
|
+
cardRole: cardRoleSchema,
|
|
7357
7421
|
buttonVariant: eventButtonVariantSchema,
|
|
7358
7422
|
buttonText: z.string(),
|
|
7359
7423
|
showVenue: z.boolean(),
|
|
@@ -7410,7 +7474,7 @@ const eventListingInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
7410
7474
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled.",
|
|
7411
7475
|
loadingMessage: "Loading events…",
|
|
7412
7476
|
containerClass: getContainerClass(layout, source.columns ?? "3"),
|
|
7413
|
-
|
|
7477
|
+
cardRole: source.cardRole ?? "default",
|
|
7414
7478
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
7415
7479
|
buttonText: source.buttonText ?? "Book",
|
|
7416
7480
|
showVenue: source.showVenue ?? true,
|
|
@@ -7845,6 +7909,104 @@ function createBackgroundOverlayNode(path, className = "background-overlay rb-ab
|
|
|
7845
7909
|
//#endregion
|
|
7846
7910
|
//#region ../blocks/src/system/spacing.ts
|
|
7847
7911
|
/**
|
|
7912
|
+
* Type-safe spacing system for sections and containers.
|
|
7913
|
+
*
|
|
7914
|
+
* This module provides:
|
|
7915
|
+
* - Semantic spacing values (none, compact, cozy, medium, comfortable, spacious)
|
|
7916
|
+
* - Type-safe mappings to CSS class tokens
|
|
7917
|
+
* - Runtime validation via type guards
|
|
7918
|
+
* - Separate handling for section (vertical) vs container (all-sides) spacing
|
|
7919
|
+
*
|
|
7920
|
+
* Type Safety Guarantees:
|
|
7921
|
+
* - Type is derived from data (single source of truth)
|
|
7922
|
+
* - Maps are validated for completeness at compile time
|
|
7923
|
+
* - Runtime validation available via isSemanticSpacing()
|
|
7924
|
+
*/
|
|
7925
|
+
/**
|
|
7926
|
+
* Single source of truth for semantic spacing values.
|
|
7927
|
+
* The SemanticSpacing type is derived from this array to ensure they stay in sync.
|
|
7928
|
+
*
|
|
7929
|
+
* Adding a new spacing value:
|
|
7930
|
+
* 1. Add it to this array
|
|
7931
|
+
* 2. TypeScript will error until you update both spacing maps
|
|
7932
|
+
* 3. No way to get out of sync
|
|
7933
|
+
*/
|
|
7934
|
+
const SEMANTIC_SPACING_VALUES = [
|
|
7935
|
+
"none",
|
|
7936
|
+
"compact",
|
|
7937
|
+
"cozy",
|
|
7938
|
+
"medium",
|
|
7939
|
+
"comfortable",
|
|
7940
|
+
"spacious"
|
|
7941
|
+
];
|
|
7942
|
+
/**
|
|
7943
|
+
* Runtime type guard for validating spacing values.
|
|
7944
|
+
* Use this at system boundaries where data enters from external sources.
|
|
7945
|
+
*
|
|
7946
|
+
* @param value - Unknown value to validate
|
|
7947
|
+
* @returns true if value is a valid SemanticSpacing, with type narrowing
|
|
7948
|
+
*
|
|
7949
|
+
* @example
|
|
7950
|
+
* const userInput = 'medium';
|
|
7951
|
+
* if (isSemanticSpacing(userInput)) {
|
|
7952
|
+
* // TypeScript knows userInput is SemanticSpacing here
|
|
7953
|
+
* const classes = resolveSpacing(userInput, 'y');
|
|
7954
|
+
* }
|
|
7955
|
+
*/
|
|
7956
|
+
function isSemanticSpacing(value) {
|
|
7957
|
+
return typeof value === "string" && SEMANTIC_SPACING_VALUES.includes(value);
|
|
7958
|
+
}
|
|
7959
|
+
/**
|
|
7960
|
+
* Type-safe mapping from semantic spacing to CSS classes for sections (y-axis).
|
|
7961
|
+
*
|
|
7962
|
+
* Sections use vertical padding only to control spacing between blocks.
|
|
7963
|
+
* Horizontal padding (px-6) is handled separately via baseClass.
|
|
7964
|
+
*
|
|
7965
|
+
* The `satisfies` operator ensures all SemanticSpacing values are present at compile time.
|
|
7966
|
+
* TypeScript will error if any spacing value is missing or if extra keys exist.
|
|
7967
|
+
*/
|
|
7968
|
+
const SECTION_SPACING_MAP = {
|
|
7969
|
+
none: "rb-section-pad-none",
|
|
7970
|
+
compact: "rb-section-pad-compact",
|
|
7971
|
+
cozy: "rb-section-pad-cozy",
|
|
7972
|
+
medium: "rb-section-pad-medium",
|
|
7973
|
+
comfortable: "rb-section-pad-comfortable",
|
|
7974
|
+
spacious: "rb-section-pad-spacious"
|
|
7975
|
+
};
|
|
7976
|
+
/**
|
|
7977
|
+
* Type-safe mapping from semantic spacing to CSS classes for containers (all sides).
|
|
7978
|
+
*
|
|
7979
|
+
* Containers use padding on all sides for internal content spacing.
|
|
7980
|
+
*
|
|
7981
|
+
* The `satisfies` operator ensures all SemanticSpacing values are present at compile time.
|
|
7982
|
+
*/
|
|
7983
|
+
const CONTAINER_SPACING_MAP = {
|
|
7984
|
+
none: "rb-container-pad-none",
|
|
7985
|
+
compact: "rb-container-pad-compact",
|
|
7986
|
+
cozy: "rb-container-pad-cozy",
|
|
7987
|
+
medium: "rb-container-pad-medium",
|
|
7988
|
+
comfortable: "rb-container-pad-comfortable",
|
|
7989
|
+
spacious: "rb-container-pad-spacious"
|
|
7990
|
+
};
|
|
7991
|
+
/**
|
|
7992
|
+
* Resolve semantic spacing to CSS classes based on axis.
|
|
7993
|
+
*
|
|
7994
|
+
* This function guarantees that valid SemanticSpacing values always return a result.
|
|
7995
|
+
* Since spacing is typed, there's no need for fallback logic.
|
|
7996
|
+
*
|
|
7997
|
+
* @param spacing - Semantic spacing value (validated at compile time)
|
|
7998
|
+
* @param axis - Which axis to apply padding ('y' for sections, 'all' for containers)
|
|
7999
|
+
* @returns CSS class token string
|
|
8000
|
+
*
|
|
8001
|
+
* @example
|
|
8002
|
+
* resolveSpacing('medium', 'y') // => 'rb-section-pad-medium'
|
|
8003
|
+
* resolveSpacing('medium', 'all') // => 'rb-container-pad-medium'
|
|
8004
|
+
* resolveSpacing('compact') // => 'rb-section-pad-compact' (defaults to 'y' axis)
|
|
8005
|
+
*/
|
|
8006
|
+
function resolveSpacing(spacing, axis = "y") {
|
|
8007
|
+
return (axis === "y" ? SECTION_SPACING_MAP : CONTAINER_SPACING_MAP)[spacing];
|
|
8008
|
+
}
|
|
8009
|
+
/**
|
|
7848
8010
|
* Default spacing value for sections when not explicitly configured.
|
|
7849
8011
|
*/
|
|
7850
8012
|
const DEFAULT_SECTION_SPACING = "medium";
|
|
@@ -9739,6 +9901,22 @@ createBlockManifest({
|
|
|
9739
9901
|
defaultValue: true,
|
|
9740
9902
|
ui: { intent: "display" }
|
|
9741
9903
|
},
|
|
9904
|
+
{
|
|
9905
|
+
id: "showTitle",
|
|
9906
|
+
type: "boolean",
|
|
9907
|
+
label: "Show event title",
|
|
9908
|
+
required: false,
|
|
9909
|
+
defaultValue: false,
|
|
9910
|
+
ui: { intent: "display" }
|
|
9911
|
+
},
|
|
9912
|
+
{
|
|
9913
|
+
id: "showDescription",
|
|
9914
|
+
type: "boolean",
|
|
9915
|
+
label: "Show event description",
|
|
9916
|
+
required: false,
|
|
9917
|
+
defaultValue: false,
|
|
9918
|
+
ui: { intent: "display" }
|
|
9919
|
+
},
|
|
9742
9920
|
{
|
|
9743
9921
|
id: "showMap",
|
|
9744
9922
|
type: "boolean",
|
|
@@ -9775,10 +9953,22 @@ createBlockManifest({
|
|
|
9775
9953
|
{
|
|
9776
9954
|
value: "10",
|
|
9777
9955
|
label: "10 dates"
|
|
9956
|
+
},
|
|
9957
|
+
{
|
|
9958
|
+
value: "all",
|
|
9959
|
+
label: "All dates"
|
|
9778
9960
|
}
|
|
9779
9961
|
],
|
|
9780
9962
|
ui: { intent: "display" }
|
|
9781
9963
|
},
|
|
9964
|
+
{
|
|
9965
|
+
id: "showCapacity",
|
|
9966
|
+
type: "boolean",
|
|
9967
|
+
label: "Show capacity",
|
|
9968
|
+
required: false,
|
|
9969
|
+
defaultValue: false,
|
|
9970
|
+
ui: { intent: "display" }
|
|
9971
|
+
},
|
|
9782
9972
|
{
|
|
9783
9973
|
id: "showCost",
|
|
9784
9974
|
type: "boolean",
|
|
@@ -9821,6 +10011,8 @@ createBlockManifest({
|
|
|
9821
10011
|
} },
|
|
9822
10012
|
events: { $bind: { from: "data.eventDetailsData.events" } },
|
|
9823
10013
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
10014
|
+
showTitle: { $bind: { from: "content.showTitle" } },
|
|
10015
|
+
showDescription: { $bind: { from: "content.showDescription" } },
|
|
9824
10016
|
showMap: { $bind: { from: "content.showMap" } },
|
|
9825
10017
|
showOtherDates: { $bind: { from: "content.showOtherDates" } },
|
|
9826
10018
|
otherDatesLimit: { $bind: {
|
|
@@ -9831,6 +10023,10 @@ createBlockManifest({
|
|
|
9831
10023
|
from: "content.showCost",
|
|
9832
10024
|
fallback: true
|
|
9833
10025
|
} },
|
|
10026
|
+
showCapacity: { $bind: {
|
|
10027
|
+
from: "content.showCapacity",
|
|
10028
|
+
fallback: false
|
|
10029
|
+
} },
|
|
9834
10030
|
showAcceptedPasses: { $bind: {
|
|
9835
10031
|
from: "content.showAcceptedPasses",
|
|
9836
10032
|
fallback: true
|
|
@@ -9925,6 +10121,9 @@ const eventDetailsIslandSchema = z.object({
|
|
|
9925
10121
|
showOtherDates: z.boolean().optional(),
|
|
9926
10122
|
otherDatesLimit: z.string().optional(),
|
|
9927
10123
|
showCost: z.boolean().optional(),
|
|
10124
|
+
showTitle: z.boolean().optional(),
|
|
10125
|
+
showDescription: z.boolean().optional(),
|
|
10126
|
+
showCapacity: z.boolean().optional(),
|
|
9928
10127
|
showAcceptedPasses: z.boolean().optional(),
|
|
9929
10128
|
showAcceptedMemberships: z.boolean().optional(),
|
|
9930
10129
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
@@ -10233,8 +10432,8 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
10233
10432
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
10234
10433
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
10235
10434
|
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
10236
|
-
wholeSeriesOfferings:
|
|
10237
|
-
wholeSeriesOffering:
|
|
10435
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.nullable().optional(),
|
|
10436
|
+
wholeSeriesOffering: publicWholeSeriesOfferingSchema.nullable().optional(),
|
|
10238
10437
|
maxTickets: z.string().optional(),
|
|
10239
10438
|
showVenue: z.boolean().optional(),
|
|
10240
10439
|
showCapacity: z.boolean().optional(),
|
|
@@ -10256,12 +10455,13 @@ const eventRegistrationSourceSchema = z.object({
|
|
|
10256
10455
|
portalToken: z.string().nullable().optional(),
|
|
10257
10456
|
previewToken: z.string().nullable().optional(),
|
|
10258
10457
|
...eventRegistrationHydrationSchemaShape,
|
|
10458
|
+
subjectWholeSeriesOffering: publicWholeSeriesOfferingSchema.nullable().optional(),
|
|
10259
10459
|
className: z.string().nullable().optional(),
|
|
10260
10460
|
buttonText: z.string().nullable().optional(),
|
|
10261
10461
|
maxTickets: z.string().nullable().optional(),
|
|
10262
10462
|
stage: previewStageSchema.optional()
|
|
10263
10463
|
});
|
|
10264
|
-
const eventRegistrationDisplaySchema = z.object({
|
|
10464
|
+
const eventRegistrationDisplaySchema = z.discriminatedUnion("state", [z.object({
|
|
10265
10465
|
kind: z.literal("event-registration"),
|
|
10266
10466
|
state: z.literal("generic-shell"),
|
|
10267
10467
|
className: z.string().nullable(),
|
|
@@ -10269,7 +10469,13 @@ const eventRegistrationDisplaySchema = z.object({
|
|
|
10269
10469
|
bodyText: z.string(),
|
|
10270
10470
|
stepLabels: z.array(z.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
10271
10471
|
summaryButtonText: z.string()
|
|
10272
|
-
})
|
|
10472
|
+
}), z.object({
|
|
10473
|
+
kind: z.literal("event-registration"),
|
|
10474
|
+
state: z.literal("registration-closed"),
|
|
10475
|
+
className: z.string().nullable(),
|
|
10476
|
+
titleText: z.string(),
|
|
10477
|
+
bodyText: z.string()
|
|
10478
|
+
})]);
|
|
10273
10479
|
const eventRegistrationHydrationSchema = z.object(eventRegistrationHydrationSchemaShape);
|
|
10274
10480
|
const eventRegistrationRenderSchema = z.object({
|
|
10275
10481
|
display: eventRegistrationDisplaySchema,
|
|
@@ -10284,6 +10490,13 @@ const eventRegistrationIslandMetaCodec = createZodCodec(z.object({
|
|
|
10284
10490
|
}));
|
|
10285
10491
|
const eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "portalToken", "previewToken", "stage");
|
|
10286
10492
|
function buildEventRegistrationDisplay(source) {
|
|
10493
|
+
if (resolveWholeSeriesOffering(source)?.enrollmentOpen === false) return {
|
|
10494
|
+
kind: "event-registration",
|
|
10495
|
+
state: "registration-closed",
|
|
10496
|
+
className: source.className ?? null,
|
|
10497
|
+
titleText: "Registration closed",
|
|
10498
|
+
bodyText: "This run is no longer open for bookings."
|
|
10499
|
+
};
|
|
10287
10500
|
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
10288
10501
|
return {
|
|
10289
10502
|
kind: "event-registration",
|
|
@@ -10295,6 +10508,9 @@ function buildEventRegistrationDisplay(source) {
|
|
|
10295
10508
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
10296
10509
|
};
|
|
10297
10510
|
}
|
|
10511
|
+
function resolveWholeSeriesOffering(source) {
|
|
10512
|
+
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
10513
|
+
}
|
|
10298
10514
|
function buildEventRegistrationShellStepLabels(source) {
|
|
10299
10515
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
10300
10516
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
@@ -10352,7 +10568,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
10352
10568
|
subject: source.subject ?? null,
|
|
10353
10569
|
events: source.events ?? null,
|
|
10354
10570
|
wholeSeriesOfferings: source.wholeSeriesOfferings ?? null,
|
|
10355
|
-
wholeSeriesOffering: source
|
|
10571
|
+
wholeSeriesOffering: resolveWholeSeriesOffering(source),
|
|
10356
10572
|
maxTickets: source.maxTickets ?? void 0,
|
|
10357
10573
|
showVenue: source.showVenue,
|
|
10358
10574
|
showCapacity: source.showCapacity,
|
|
@@ -11842,4 +12058,4 @@ function defineIslandPropsDecoder(kind) {
|
|
|
11842
12058
|
};
|
|
11843
12059
|
}
|
|
11844
12060
|
//#endregion
|
|
11845
|
-
export {
|
|
12061
|
+
export { resolveEventRegistrationScopedEvents as $, getEventRuntimeFiltersKey as A, formatBookingDate as At, formatTime as B, parseEventPageSurfaceSubject as Bt, getWizardStepsForContext as C, clearWorkflowFeedback as Ct, isSemanticSpacing as D, reportWorkflowError as Dt, SEMANTIC_SPACING_VALUES as E, okWith as Et, formatEventCompactDateRail as F, getBookingLocalDateKey as Ft, resolveEventLinkProps as G, publicEventScalarPrice as Gt, getContainerClass as H, publicEventPricingCurrency as Ht, formatEventDateParts as I, parseBookingLocalDate as It, getEventAvailabilityStatus as J, assertNever$2 as Jt, resolveRuntimeEventPricing as K, publicEventTicketTypes as Kt, formatEventPrice as L, resolveBookingTimeZoneId as Lt, normalizeCsvString as M, formatBookingInstant as Mt, normalizeOptionalId as N, formatBookingTime as Nt, resolveSpacing as O, reportWorkflowSuccess as Ot, formatDate as P, formatLocalScheduleDate as Pt, isRecord$3 as Q, formatEventPriceDisplay as R, toBookingTimeZone as Rt, getStepNumber as S, assertNever$1 as St, staticHeaderChromeRuntime as T, ok as Tt, groupEventsByDate as U, publicEventPricingMode as Ut, getCardOrientation as V, formatBookingPriceDisplay as Vt, resolveEventCta as W, publicEventPricingType as Wt, getLocalMinuteOfDay as X, getLocalDateKey as Y, RichTextDocSchema as Z, findPreSelectedEvent as _, resolveBookingPaymentStep as _t, buildProductDetailDisplay as a, normalizeCardRole as at, resolveRegistrationTarget as b, toSelectedCollectionOptionKind as bt, EMPTY_COMMERCE_CART_STATE as c, formatBookingCentsAsCurrencyInput as ct, deriveCommerceCheckoutState as d, getBookingServiceSlidingScale as dt, themeButtonClassName as et, parseStoredCommerceCartState as f, getBookingSuccessMessage as ft, findEventByOccurrenceId as g, resolveAppointmentCheckoutVerificationState as gt, toRegistrationEvents as h, prepareBookingSubmission as ht, buildProductCardDisplay as i, resolveTokenOrCssColorValue as it, normalizeCsvIds as j, formatBookingDateTime as jt, buildEventRuntimeFilters as k, addLocalScheduleDays as kt, buildPassCartItem as l, formatBookingSubmissionPreparationError as lt, reduceCommerceCart as m, parseBookingCurrencyInputToCents as mt, getShopDisplayForItems as n, isCssColorLiteral as nt, formatCommercePrice as o, logger as ot, productItemKey as p, isBookingServiceSlidingAmountInRange as pt, getEventAvailability as q, formatCurrencyAmount as qt, buildCartDisplay as r, resolveOnColorForThemeToken as rt, formatInterval as s, deriveBookingFormViewState as st, defineIslandPropsDecoder as t, boxBackgroundSchema as tt, buildProductCartItem as u, getBookingRedirectStateFromLocation as ut, resolveDiscountContext as v, resolveBookingSiteId as vt, buildEventCalendarListingRender as w, err as wt, WIZARD_STEPS as x, BOOKING_FORM_DATA_RESERVED_KEYS as xt, resolveEventRequiresPayment as y, resolveDefaultBookingServiceId as yt, formatEventTeacherLine as z, toScheduledBookingDateTime as zt };
|