@riverbankcms/sdk 0.136.0 → 0.138.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 +109 -0
- package/README.md +7 -4
- package/dist/{PreviewEditorSidebar-BU5ZlhQR.mjs → PreviewEditorSidebar-BVPur_CU.mjs} +12 -18
- package/dist/{PreviewEditorUI-9XkHL-bC.mjs → PreviewEditorUI-DLhWX8oh.mjs} +3 -3
- package/dist/{PreviewQueryProvider-wbEpXryy.mjs → PreviewQueryProvider-BguJY1SW.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CnWmj-2B.mjs → SdkPreviewModeRuntime-Tda6qw4z.mjs} +1375 -495
- package/dist/{SiteChromeCustomizeContext-B6d5zkog.mjs → SiteChromeCustomizeContext-BHFgMjde.mjs} +35665 -33602
- package/dist/_dts/ai/src/contracts/proposals.d.ts +7226 -3057
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1223 -811
- package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
- package/dist/_dts/api/src/accessAdmin.d.ts +16 -18
- package/dist/_dts/api/src/accountApi.d.ts +49 -2
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +83 -0
- package/dist/_dts/api/src/appointmentServiceLocation.d.ts +12 -0
- package/dist/_dts/api/src/appointmentServiceVisibility.d.ts +14 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +35 -87
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -69
- package/dist/_dts/api/src/bookingRecords.d.ts +2 -2
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +2 -2
- package/dist/_dts/api/src/bookingServicePricing.d.ts +47 -0
- package/dist/_dts/api/src/bookings.d.ts +2 -2
- package/dist/_dts/api/src/cache-tags.d.ts +7 -2
- package/dist/_dts/api/src/common/index.d.ts +1 -0
- package/dist/_dts/api/src/common/zodFieldErrors.d.ts +34 -0
- package/dist/_dts/api/src/communications.d.ts +14 -8
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -6
- package/dist/_dts/api/src/domainConnection.d.ts +41 -0
- package/dist/_dts/api/src/endpoints.d.ts +1636 -1637
- package/dist/_dts/api/src/eventAttendanceLabels.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +10 -14
- package/dist/_dts/api/src/index.d.ts +11 -9
- 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 +19 -2
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +1 -1
- package/dist/_dts/api/src/participantMessaging.d.ts +3 -3
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +62 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +109 -2
- package/dist/_dts/api/src/publicEventCheckoutEndpointDefinitions.d.ts +27 -0
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -1
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +30 -148
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +8 -26
- package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +5 -13
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -3
- package/dist/_dts/api/src/schemas/admin-allowed-domains.d.ts +76 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +61 -0
- package/dist/_dts/api/src/schemas/admin-users.d.ts +80 -0
- package/dist/_dts/api/src/schemas/newsletter-memberships.d.ts +98 -0
- package/dist/_dts/api/src/schemas/sdk-entries.d.ts +128 -0
- package/dist/_dts/api/src/schemas/site-api-keys.d.ts +112 -0
- package/dist/_dts/api/src/schemas/support.d.ts +35 -0
- package/dist/_dts/api/src/sdk-event-booking-offer.d.ts +14 -0
- package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +4 -16
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +11 -21
- package/dist/_dts/api/src/sdkContracts.d.ts +8 -23
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +37 -0
- package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
- package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +66 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +157 -146
- package/dist/_dts/api/src/siteInfrastructure.d.ts +37 -37
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +35 -54
- package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +38 -16
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
- package/dist/_dts/api/src/types.d.ts +2 -2
- package/dist/_dts/api/src/{wholeSeriesOfferings.d.ts → wholeSeriesRuns.d.ts} +11 -67
- package/dist/_dts/block-form/src/FormRenderer.d.ts +3 -1
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
- package/dist/_dts/block-form/src/backend/types.d.ts +2 -0
- package/dist/_dts/block-form/src/context/FormFocusContext.d.ts +7 -0
- package/dist/_dts/block-form/src/index.d.ts +2 -0
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +2 -1
- package/dist/_dts/block-form/src/utils/promotedFieldBackend.d.ts +8 -0
- package/dist/_dts/block-form/src/utils/promotedFieldPlan.d.ts +18 -0
- package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +8 -1
- package/dist/_dts/blocks/src/BlockErrorBoundary.d.ts +46 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -141
- package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -6
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRenderAudience.d.ts +54 -0
- package/dist/_dts/blocks/src/pageRenderDiagnostics.d.ts +26 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +116 -0
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +109 -0
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +154 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +12 -20
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/eventCalendarDataLoaders.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +95 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/runGrouping.d.ts +37 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +1046 -773
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +59 -46
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +161 -161
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +13 -6
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +10 -4
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -0
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +4 -4
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +5 -9
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +83 -83
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +12 -3
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -8
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -20
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +32 -37
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -18
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +11 -8
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +38 -22
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +16 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +5 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +14 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +3 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +0 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ticketSelectionLines.d.ts +14 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +13 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +25 -23
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +11 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1080 -560
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +11 -0
- package/dist/_dts/commerce/src/moneyReport.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
- package/dist/_dts/commerce/src/purchase/eventOrderOptionSnapshot.d.ts +3 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +6 -3
- package/dist/_dts/commerce/src/purchase/types.d.ts +3 -2
- package/dist/_dts/commerce/src/waitlists.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +4 -0
- package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +11 -0
- package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +13 -5
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +5 -1
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +34 -2
- package/dist/_dts/content-editor/src/index.d.ts +2 -1
- package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -2
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +27 -5
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/content-model/src/templates/defaults.d.ts +11 -0
- package/dist/_dts/core/src/branded.d.ts +28 -9
- package/dist/_dts/core/src/event-booking-offer-parser.d.ts +82 -0
- package/dist/_dts/core/src/event-booking-offer.d.ts +89 -0
- package/dist/_dts/core/src/event-page-surface-subject.d.ts +81 -4
- package/dist/_dts/core/src/event-pricing.d.ts +81 -89
- package/dist/_dts/core/src/index.d.ts +3 -0
- package/dist/_dts/core/src/non-empty-array.d.ts +3 -0
- package/dist/_dts/core/src/whole-series-run-schedule.d.ts +92 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +495 -279
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +4 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +22 -7
- package/dist/_dts/editor-blocks/src/block-editor/useSettingsFieldFocus.d.ts +18 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
- package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/previewBatchLoaderParams.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
- package/dist/_dts/sdk/src/client/{eventSubrouteReadOperations.d.ts → publicEventReadOperations.d.ts} +4 -3
- package/dist/_dts/sdk/src/client/types.d.ts +6 -10
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +2 -3
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +8 -8
- package/dist/_dts/sdk/src/next/tags.d.ts +5 -8
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -26
- package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +9 -1
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -53
- package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +25 -25
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +25 -25
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +7 -7
- package/dist/_dts/theme-core/src/buttons/types.d.ts +22 -22
- package/dist/_dts/theme-core/src/cards/types.d.ts +49 -49
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +26 -3
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +195 -195
- package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/schema.d.ts +258 -257
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +10 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
- package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -9
- package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
- package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +10 -1
- package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +7 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +2 -2
- package/dist/client/{BookingConsentAgreement-DCch21a6.mjs → BookingConsentAgreement-DQUik1Mx.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-DIj1T59K.mjs → DiscountCodeDisclosure-CU67Q4vH.mjs} +1 -1
- package/dist/client/{EventCombined.client-BWVNlXTx.mjs → EventCombined.client-a02TXUgg.mjs} +233 -348
- package/dist/client/{EventListing.client-DVFCDe3i.mjs → EventListing.client-99qx7jFl.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BY5mIHw9.mjs → LeafletStaticMap-CWzcq73L.mjs} +1 -1
- package/dist/client/{accordion-CK29E8rG.mjs → accordion-D1nb3-Oj.mjs} +1 -1
- package/dist/client/{bookingForm-DFvnet-N.mjs → bookingForm-BGrmLhaO.mjs} +5 -5
- package/dist/client/bookings.mjs +10555 -10475
- package/dist/client/{carousel-BVU5NQlb.mjs → carousel-DSmOx3ad.mjs} +1 -1
- package/dist/client/{cart-BNItcZVa.mjs → cart-COWeOIUk.mjs} +3 -3
- package/dist/client/{checkout-Bu6iCdkP.mjs → checkout-CeysaIJK.mjs} +3 -3
- package/dist/client/client.mjs +58968 -57441
- package/dist/client/{context-BImarOAq.mjs → context-DBzX85Xc.mjs} +46 -18
- package/dist/client/dates-DCYhZBlW.mjs +264 -0
- package/dist/client/{eventCalendar-DS2h-UXD.mjs → eventCalendar-BgsN73Ul.mjs} +21 -44
- package/dist/client/{eventCombined-Drt4Oq9p.mjs → eventCombined-DcZQAMQP.mjs} +3 -3
- package/dist/client/{eventDetails-Bl2vWgTX.mjs → eventDetails-BWwGJ54l.mjs} +131 -51
- package/dist/client/{eventListing-CS7PHY7v.mjs → eventListing-DqYqV8vp.mjs} +3 -3
- package/dist/client/{eventRegistration-D-j8eNy2.mjs → eventRegistration-DQGDgu_e.mjs} +1122 -803
- package/dist/client/{form-RMpoLTyr.mjs → form-ClfpasVT.mjs} +2 -2
- package/dist/client/{headerSection-BYE3Lb3k.mjs → headerSection-BuOMe98N.mjs} +2 -2
- package/dist/client/hooks.mjs +9630 -9526
- package/dist/client/{locationMap-BxSr7Kkh.mjs → locationMap-CEqu_sfa.mjs} +2 -2
- package/dist/client/{newsletterForm-DerbXwFC.mjs → newsletterForm-IbrHjMxy.mjs} +2 -2
- package/dist/client/pricing-xj7MPZlK.mjs +314 -0
- package/dist/client/{productDetail-4SZCLhAf.mjs → productDetail-vxqTt5Xj.mjs} +3 -3
- package/dist/client/{productList-D7AP4GNq.mjs → productList-OTdZu8sb.mjs} +3 -3
- package/dist/client/{propsDecoder-pzBeCh14.mjs → propsDecoder-CY9gGEF7.mjs} +786 -1194
- package/dist/client/rendering/client.mjs +11481 -10469
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +26871 -25232
- package/dist/client/{scrollToBlock-CduAKf8T.mjs → scrollToBlock--BFV6kl-.mjs} +1 -1
- package/dist/client/{shop-Cp5p_kGe.mjs → shop-CP4YbDL9.mjs} +6 -6
- package/dist/client/{shop-commerce-DicXYaYX.mjs → shop-commerce-APs4XBXE.mjs} +5 -5
- package/dist/client/{shop-commerce-store-CGWnpY4K.mjs → shop-commerce-store-CAVLxLFr.mjs} +1 -1
- package/dist/client/{shopShared-BDf9ljkm.mjs → shopShared-BnSRrwXI.mjs} +3 -3
- package/dist/client/{useEventFilters-DeeyGYuk.mjs → useEventFilters-1a1by4c8.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +186 -148
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +186 -148
- package/dist/preview-next/middleware.mjs +186 -148
- package/dist/{previewAuthStore-DbqBol0V.mjs → previewAuthStore-BkEgnYPP.mjs} +186 -148
- package/dist/{sdk-runtime-19MO27F0.mjs → sdk-runtime-DwGfsT0S.mjs} +2 -2
- package/dist/{separator-DaPLtJ1f.mjs → separator-BeqDLneQ.mjs} +1 -1
- package/dist/server/components.mjs +53243 -51879
- package/dist/server/config-validation.mjs +1015 -906
- package/dist/server/config.mjs +1019 -910
- package/dist/server/data.mjs +10304 -10200
- package/dist/server/index.mjs +217 -198
- package/dist/server/next/tags.mjs +18 -4
- package/dist/server/next.mjs +62787 -61617
- package/dist/server/page-converter.mjs +797 -917
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +52557 -51365
- package/dist/server/rendering.mjs +54373 -53054
- package/dist/server/routing.mjs +13274 -13142
- package/dist/server/server.mjs +1076 -1154
- package/dist/server/theme-bridge.mjs +69 -9
- package/dist/server/theme.mjs +27 -8
- package/dist/styles/index.css +32 -1
- package/package.json +1 -1
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -65
- package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -20
- package/dist/_dts/api/src/sdk-event-pricing.d.ts +0 -61
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +0 -3
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +0 -50
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +0 -135
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +0 -87
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
- package/dist/_dts/sdk/src/client/wholeSeriesReadOperations.d.ts +0 -11
- package/dist/_dts/sdk/src/public-api/wholeSeriesContracts.d.ts +0 -2
- /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PublicMembershipProduct, PublicPassProduct } from '../../../../blocks/shop.shared';
|
|
2
2
|
export type EventProductEligibilityTarget = Readonly<{
|
|
3
3
|
requiresRegistration: boolean;
|
|
4
|
-
acceptsPasses
|
|
5
|
-
acceptsMemberships
|
|
4
|
+
acceptsPasses: boolean;
|
|
5
|
+
acceptsMemberships: boolean;
|
|
6
6
|
eventCategory?: {
|
|
7
7
|
id: string;
|
|
8
8
|
} | null;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared runtime components and utilities for event blocks
|
|
3
3
|
*/
|
|
4
|
-
export * from '
|
|
4
|
+
export * from '../domain';
|
|
5
|
+
export * from './listingLayout';
|
|
5
6
|
export { EventCard } from './EventCard';
|
|
6
7
|
export { EventCompactRow } from './EventCompactRow';
|
|
7
8
|
export { EmptyState } from './EmptyState';
|
|
8
9
|
export { DateTimeTile } from './DateTimeTile';
|
|
10
|
+
export { OfferingTitle } from './OfferingTitle';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout classes for event listing containers and cards. Presentation
|
|
3
|
+
* plumbing rather than event domain logic, so it lives beside the components.
|
|
4
|
+
*/
|
|
5
|
+
import type { CardOrientation, EventLayout } from '../../../../blocks/events/shared/types';
|
|
6
|
+
/**
|
|
7
|
+
* Column class mappings for grid layouts, derived from the canonical
|
|
8
|
+
* responsive column ladder (see gridUserColumnLadder).
|
|
9
|
+
*/
|
|
10
|
+
export declare const COLUMN_CLASSES: Record<string, string>;
|
|
11
|
+
/**
|
|
12
|
+
* Build container class based on layout mode
|
|
13
|
+
* @param layout - 'grid', 'stack', or 'compact'
|
|
14
|
+
* @param columns - Number of columns for grid layout ('2', '3', '4')
|
|
15
|
+
* @returns `rb-*` class string for the container
|
|
16
|
+
*/
|
|
17
|
+
export declare function getContainerClass(layout: EventLayout, columns: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get card orientation based on layout mode
|
|
20
|
+
* @param layout - 'grid', 'stack', or 'compact'
|
|
21
|
+
* @returns 'horizontal' for stack layout, 'vertical' for grid and compact layouts
|
|
22
|
+
*/
|
|
23
|
+
export declare function getCardOrientation(layout: EventLayout): CardOrientation;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { PublicWholeSeriesOffering } from '../../blocks/events/whole-series/types';
|
|
3
2
|
import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
|
|
4
3
|
import type { CardStylesContent } from '../../fields/boxStyles';
|
|
5
4
|
import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
|
|
6
5
|
type OfferingsPreviewProps = Readonly<{
|
|
6
|
+
now?: Date;
|
|
7
7
|
bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
|
|
8
8
|
groupOrder?: OfferingsPreviewGroupOrder | null;
|
|
9
9
|
groupOverrides?: readonly OfferingsPreviewGroupOverride[] | null;
|
|
@@ -17,7 +17,7 @@ type OfferingsPreviewProps = Readonly<{
|
|
|
17
17
|
routeCandidates?: Readonly<{
|
|
18
18
|
routes?: readonly OfferingsPreviewRouteCandidate[] | null;
|
|
19
19
|
}> | null;
|
|
20
|
-
|
|
20
|
+
wholeSeriesRunEvents?: readonly PublicEvent[] | null;
|
|
21
21
|
}> & Partial<Record<OfferingsPreviewEventDataKey, readonly PublicEvent[] | null>>;
|
|
22
22
|
export declare function OfferingsPreviewNode(props: OfferingsPreviewProps): React.JSX.Element | null;
|
|
23
23
|
export default OfferingsPreviewNode;
|
|
@@ -4,29 +4,29 @@ export declare const previewStageSchema: z.ZodEnum<{
|
|
|
4
4
|
preview: "preview";
|
|
5
5
|
}>;
|
|
6
6
|
export declare const registrationButtonVariantSchema: z.ZodEnum<{
|
|
7
|
-
outline: "outline";
|
|
8
|
-
accent: "accent";
|
|
9
7
|
primary: "primary";
|
|
10
8
|
secondary: "secondary";
|
|
9
|
+
accent: "accent";
|
|
10
|
+
outline: "outline";
|
|
11
11
|
ghost: "ghost";
|
|
12
12
|
}>;
|
|
13
13
|
export declare const eventButtonVariantSchema: z.ZodEnum<{
|
|
14
|
-
outline: "outline";
|
|
15
|
-
accent: "accent";
|
|
16
14
|
primary: "primary";
|
|
17
15
|
secondary: "secondary";
|
|
16
|
+
accent: "accent";
|
|
17
|
+
outline: "outline";
|
|
18
18
|
ghost: "ghost";
|
|
19
19
|
}>;
|
|
20
20
|
export declare const eventLayoutSchema: z.ZodEnum<{
|
|
21
21
|
stack: "stack";
|
|
22
|
-
grid: "grid";
|
|
23
22
|
compact: "compact";
|
|
23
|
+
grid: "grid";
|
|
24
24
|
}>;
|
|
25
25
|
export declare const eventCalendarDisplayModeSchema: z.ZodEnum<{
|
|
26
26
|
calendar: "calendar";
|
|
27
27
|
list: "list";
|
|
28
|
-
combined: "combined";
|
|
29
28
|
timetable: "timetable";
|
|
29
|
+
combined: "combined";
|
|
30
30
|
"week-board": "week-board";
|
|
31
31
|
}>;
|
|
32
32
|
export declare const eventCalendarDefaultViewSchema: z.ZodEnum<{
|
|
@@ -49,6 +49,6 @@ export declare const filterAutoShowSchema: z.ZodEnum<{
|
|
|
49
49
|
}>;
|
|
50
50
|
export declare const calendarTabViewsSchema: z.ZodEnum<{
|
|
51
51
|
week: "week";
|
|
52
|
-
month: "month";
|
|
53
52
|
both: "both";
|
|
53
|
+
month: "month";
|
|
54
54
|
}>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type TransformDefinition } from './core';
|
|
3
|
+
declare const readJobSchema: z.ZodObject<{
|
|
4
|
+
job: z.ZodEnum<{
|
|
5
|
+
calendar: "calendar";
|
|
6
|
+
list: "list";
|
|
7
|
+
}>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const eventCalendarReadProfile: TransformDefinition;
|
|
10
|
+
export declare const eventCalendarReadEnabled: TransformDefinition<z.infer<typeof readJobSchema>>;
|
|
11
|
+
export {};
|
|
@@ -30,7 +30,7 @@ export type MoneyDatedOfferingDimension = Readonly<{
|
|
|
30
30
|
venueId: VenueId | null;
|
|
31
31
|
venueLabel: string | null;
|
|
32
32
|
}> | Readonly<{
|
|
33
|
-
kind: '
|
|
33
|
+
kind: 'historical_whole_series';
|
|
34
34
|
label: string;
|
|
35
35
|
}>;
|
|
36
36
|
export type MoneyLineDimensionRefs = Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type CheckoutErrorCode = "appointment_not_found" | "appointment_slot_unavailable" | "appointment_payment_terms_not_supported" | "booking_payment_terms_not_supported" | "checkout_amount_below_minimum" | "sliding_amount_required" | "sliding_amount_invalid" | "sliding_amount_below_min" | "sliding_amount_above_max" | "not_found" | "site_mismatch" | "registration_disabled" | "invalid_payment_method" | "payment_already_completed" | "invalid_payment_status" | "no_event_association" | "payment_not_required" | "customer_not_found" | "stripe_not_configured" | "stripe_commission_not_supported" | "stripe_tax_not_ready" | "stripe_tax_status_unavailable" | "
|
|
1
|
+
export type CheckoutErrorCode = "appointment_not_found" | "appointment_slot_unavailable" | "appointment_payment_terms_not_supported" | "booking_payment_terms_not_supported" | "checkout_amount_below_minimum" | "sliding_amount_required" | "sliding_amount_invalid" | "sliding_amount_below_min" | "sliding_amount_above_max" | "not_found" | "site_mismatch" | "registration_disabled" | "invalid_payment_method" | "payment_already_completed" | "invalid_payment_status" | "no_event_association" | "payment_not_required" | "customer_not_found" | "stripe_not_configured" | "stripe_commission_not_supported" | "stripe_tax_not_ready" | "stripe_tax_status_unavailable" | "whole_series_pricing_option_not_available" | "product_not_available" | "product_not_eligible" | "insufficient_credits" | "invalid_discount_code" | "unsupported_discount_scope" | "checkout_in_progress" | "stripe_error" | "internal_error";
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type EventRegistrationErrorAction = 'none' | 'retry' | 'places' | 'start' | 'details' | 'payment-options' | 'payment-status' | 'portal' | 'event';
|
|
2
|
+
export declare const eventRegistrationErrors: {
|
|
3
|
+
readonly registrationClosed: {
|
|
4
|
+
readonly message: "Booking is currently closed for this event. Please contact the organiser if you’d like to find out more.";
|
|
5
|
+
readonly action: "none";
|
|
6
|
+
};
|
|
7
|
+
readonly paymentUncertain: {
|
|
8
|
+
readonly message: "We’re checking your booking and payment. Please don’t try to book again yet. If you’ve already paid, you don’t need to pay again.";
|
|
9
|
+
readonly action: "payment-status";
|
|
10
|
+
};
|
|
11
|
+
readonly paymentPageUnavailable: {
|
|
12
|
+
readonly message: "We couldn’t open the payment page. Please refresh this page and try again. If this keeps happening, contact the organiser for help.";
|
|
13
|
+
readonly action: "retry";
|
|
14
|
+
};
|
|
15
|
+
readonly paymentUnavailable: {
|
|
16
|
+
readonly message: "Online payment is not available for this event right now. Please contact the organiser for help with booking.";
|
|
17
|
+
readonly action: "none";
|
|
18
|
+
};
|
|
19
|
+
readonly capacityChanged: {
|
|
20
|
+
readonly message: "Sorry, there aren’t enough places left for your selection. Please check the available places and choose again.";
|
|
21
|
+
readonly action: "places";
|
|
22
|
+
};
|
|
23
|
+
readonly selectionChanged: {
|
|
24
|
+
readonly message: "The booking options for this event have changed. Please check the latest options and choose your places again.";
|
|
25
|
+
readonly action: "places";
|
|
26
|
+
};
|
|
27
|
+
readonly registrationPreparationChanged: {
|
|
28
|
+
readonly message: "The booking options for this event have changed. Please check the latest options and choose your places again.";
|
|
29
|
+
readonly action: "places";
|
|
30
|
+
};
|
|
31
|
+
readonly registrationAlreadyExists: {
|
|
32
|
+
readonly message: "You already have a booking for this event. Please check your bookings to see its status. If you need help, contact the organiser.";
|
|
33
|
+
readonly action: "portal";
|
|
34
|
+
};
|
|
35
|
+
readonly holdExpired: {
|
|
36
|
+
readonly message: "Your reservation has timed out. Please check availability and choose your places again.";
|
|
37
|
+
readonly action: "start";
|
|
38
|
+
};
|
|
39
|
+
readonly waitlistUnavailable: {
|
|
40
|
+
readonly message: "Sorry, the waiting list place offered in this invitation is no longer available. Please check the event for available places or contact the organiser for help.";
|
|
41
|
+
readonly action: "event";
|
|
42
|
+
};
|
|
43
|
+
readonly paymentContextMismatch: {
|
|
44
|
+
readonly message: "The payment options for this event have changed. Please check the latest options before continuing.";
|
|
45
|
+
readonly action: "payment-options";
|
|
46
|
+
};
|
|
47
|
+
readonly idempotencyConflict: {
|
|
48
|
+
readonly message: "You’ve already started booking this event. Please finish in the other tab if it’s still open, or check your booking status before starting again.";
|
|
49
|
+
readonly action: "portal";
|
|
50
|
+
};
|
|
51
|
+
readonly invalidCommitInput: {
|
|
52
|
+
readonly message: "We couldn’t accept your booking details. Please check the information you entered and try again. If this keeps happening, contact the organiser for help.";
|
|
53
|
+
readonly action: "details";
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export type EventRegistrationErrorReason = keyof typeof eventRegistrationErrors;
|
|
57
|
+
export declare function parseEventRegistrationErrorReason(value: unknown): EventRegistrationErrorReason | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { EventTicketOrderItemMetadata } from './orderItemMetadata';
|
|
2
|
+
/** Read historical and canonical snapshot keys independently; new writers use pricingOptionId. */
|
|
3
|
+
export declare function parseEventOrderOptionSnapshot(raw: Readonly<Record<string, unknown>>): Pick<EventTicketOrderItemMetadata, 'pricingOptionId' | 'ticketTypeId'>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BrandedIdParseError, type CheckoutLineId, type
|
|
1
|
+
import { type BrandedIdParseError, type CheckoutLineId, type RetiredCourseId, type CustomerId, type DatedOfferingCapacityHoldAuditRef, type DatedOfferingCapacityHoldId, type EventSeriesId, type EventInstanceId, type OccurrenceId, type PassId, type PricingOptionId, type Result } from '../../../core/src/index';
|
|
2
2
|
import type { OrderItemKind } from './orderTypes';
|
|
3
3
|
export type CheckoutLineMetadata = Readonly<{
|
|
4
4
|
checkoutLineId?: CheckoutLineId;
|
|
@@ -74,12 +74,15 @@ type LegacyDatedOfferingOrderItemEngineMetadata = Readonly<{
|
|
|
74
74
|
[TKey in keyof DatedOfferingOrderItemEngineMetadata]?: never;
|
|
75
75
|
}>;
|
|
76
76
|
export type EventSeriesRegistrationEngineMetadata = (LegacyDatedOfferingOrderItemEngineMetadata & Readonly<{
|
|
77
|
-
courseId:
|
|
77
|
+
courseId: RetiredCourseId;
|
|
78
78
|
}>) | DatedOfferingOrderItemEngineMetadata | DatedOfferingNonCashOrderItemEngineMetadata;
|
|
79
79
|
export type EventTicketOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & BookableOrderItemPricingMetadata & Readonly<{
|
|
80
80
|
eventSeriesId: string;
|
|
81
81
|
occurrenceId: OccurrenceId;
|
|
82
|
-
|
|
82
|
+
/** Historical serialized key; the identity is a canonical pricing option. */
|
|
83
|
+
/** Retained only for historical order snapshots. */
|
|
84
|
+
ticketTypeId?: PricingOptionId;
|
|
85
|
+
pricingOptionId?: PricingOptionId;
|
|
83
86
|
ticketCount: number;
|
|
84
87
|
attendeeEmail: string;
|
|
85
88
|
attendeeName: string;
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
* course, membership), it's a Purchase. Payment method is an attribute
|
|
6
6
|
* of the purchase, not a separate concept (Model B: unified).
|
|
7
7
|
*/
|
|
8
|
-
import type { OccurrenceId,
|
|
8
|
+
import type { OccurrenceId, PricingOptionId, ProductId, ProductVariantId, PassId, MembershipId, CustomerId, OrderId, AttendeeId, CustomerPassId, CustomerMembershipId, EventSeriesRegistrationId, AppointmentId, NonEmptyArray, SiteId, EventSeriesId } from '../../../core/src/index';
|
|
9
9
|
import type { PositiveCheckoutQuantity } from './checkoutQuantity';
|
|
10
10
|
export type CheckoutItem = EventTicketItem | ProductItem | PassItem | EventSeriesRegistrationItem | AppointmentItem;
|
|
11
11
|
export type EventTicketItem = {
|
|
12
12
|
type: 'event_ticket';
|
|
13
13
|
occurrenceId: OccurrenceId;
|
|
14
|
-
|
|
14
|
+
attendanceMode?: 'inPerson' | 'online';
|
|
15
|
+
pricingOptionId?: PricingOptionId;
|
|
15
16
|
selectedSlidingAmount?: number;
|
|
16
17
|
ticketCount: PositiveCheckoutQuantity;
|
|
17
18
|
attendeeInfo: AttendeeInfo;
|
|
@@ -10,7 +10,7 @@ export type PublicWaitlistClaimSubject = Readonly<{
|
|
|
10
10
|
eventSeriesId: string;
|
|
11
11
|
attendanceMode: 'in_person' | 'online';
|
|
12
12
|
ticketSelections: readonly Readonly<{
|
|
13
|
-
|
|
13
|
+
pricingOptionId: string | null;
|
|
14
14
|
quantity: number;
|
|
15
15
|
}>[];
|
|
16
16
|
seatCount: number;
|
|
@@ -3,6 +3,7 @@ import type { EditorBlockId } from '../../../core/src/index';
|
|
|
3
3
|
import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
|
|
4
4
|
import { type ReactNode } from 'react';
|
|
5
5
|
import { type PublishOptions } from '../hooks/useEntryActions';
|
|
6
|
+
import type { BlockedPublishPlan } from '../hooks/blockedPublishPlan';
|
|
6
7
|
import { type ApiClient, type ContentEditorServices } from '../services';
|
|
7
8
|
import type { DraftWorkflowStatus } from '../types';
|
|
8
9
|
import { type EditorUiState } from '../ui/editorUiStore';
|
|
@@ -61,6 +62,9 @@ export type EntryControllerContextValue = {
|
|
|
61
62
|
entry: ContentEntrySnapshot;
|
|
62
63
|
baseline: Record<string, unknown>;
|
|
63
64
|
errorMessage: string | null;
|
|
65
|
+
blockedPublishPlan: Extract<BlockedPublishPlan, {
|
|
66
|
+
type: 'blocked';
|
|
67
|
+
}> | null;
|
|
64
68
|
recoveryConflict: EntryRecoveryConflictState | null;
|
|
65
69
|
setErrorMessage: (msg: string | null) => void;
|
|
66
70
|
actions: EntryActions;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
+
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
3
|
+
import { type BlockedPublishPlan } from '../hooks/blockedPublishPlan';
|
|
4
|
+
type VisibleBlockedPublishPlan = Extract<BlockedPublishPlan, {
|
|
5
|
+
type: 'blocked';
|
|
6
|
+
}>;
|
|
7
|
+
export declare function useBlockedPublishPlan(uiStore: EditorUiStoreInstance, setErrorMessage: Dispatch<SetStateAction<string | null>>): readonly [
|
|
8
|
+
VisibleBlockedPublishPlan | null,
|
|
9
|
+
(plan: VisibleBlockedPublishPlan | null) => void
|
|
10
|
+
];
|
|
11
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EditorUiStoreInstance } from
|
|
1
|
+
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
2
2
|
import { type BlockedPublishPlan } from "./blockedPublishPlan";
|
|
3
3
|
export declare function applyBlockedPublishPlan(uiStore: EditorUiStoreInstance, plan: Extract<BlockedPublishPlan, {
|
|
4
4
|
type: "blocked";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { EditorBlockId } from
|
|
2
|
-
import type { BlockValidationError } from
|
|
1
|
+
import type { EditorBlockId } from '../../../core/src/index';
|
|
2
|
+
import type { BlockValidationError, PublishEditorTarget } from './validateBlocksForPublish';
|
|
3
|
+
import type { FocusTarget } from '../ui/stores/types';
|
|
3
4
|
export type PublishBlockedMessage = Readonly<{
|
|
4
5
|
type: "single-invalid-block";
|
|
5
6
|
blockLabel: string;
|
|
@@ -11,17 +12,23 @@ export type RevealInvalidBlockCommand = Readonly<{
|
|
|
11
12
|
blockId: EditorBlockId;
|
|
12
13
|
reveal: "show-validation";
|
|
13
14
|
}>;
|
|
14
|
-
export type PublishFocusTarget =
|
|
15
|
+
export type PublishFocusTarget = FocusTarget;
|
|
16
|
+
export type PublishValidationDiagnostic = Readonly<{
|
|
17
|
+
id: string;
|
|
15
18
|
blockId: EditorBlockId;
|
|
16
|
-
|
|
19
|
+
blockLabel: string;
|
|
20
|
+
fieldLabel: string | null;
|
|
21
|
+
message: string;
|
|
22
|
+
target: PublishEditorTarget;
|
|
17
23
|
}>;
|
|
18
24
|
export type BlockedPublishPlan = Readonly<{
|
|
19
25
|
type: "allowed";
|
|
20
26
|
} | {
|
|
21
|
-
type:
|
|
27
|
+
type: 'blocked';
|
|
22
28
|
invalidBlockIds: readonly EditorBlockId[];
|
|
23
29
|
revealCommands: readonly RevealInvalidBlockCommand[];
|
|
24
30
|
focusTarget: PublishFocusTarget | null;
|
|
31
|
+
diagnostics: readonly PublishValidationDiagnostic[];
|
|
25
32
|
message: PublishBlockedMessage;
|
|
26
33
|
openDrawer: boolean;
|
|
27
34
|
}>;
|
|
@@ -30,5 +37,6 @@ type DeriveBlockedPublishPlanParams = Readonly<{
|
|
|
30
37
|
drawerOpen: boolean;
|
|
31
38
|
}>;
|
|
32
39
|
export declare function deriveBlockedPublishPlan({ validationErrors, drawerOpen, }: DeriveBlockedPublishPlanParams): BlockedPublishPlan;
|
|
40
|
+
export declare function toFocusTarget(target: PublishEditorTarget): PublishFocusTarget;
|
|
33
41
|
export declare function formatPublishBlockedMessage(message: PublishBlockedMessage): string;
|
|
34
42
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ContentEntrySnapshot, type RoutingHelpers } from '../../../content-model/src/index';
|
|
2
2
|
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
3
|
+
import type { BlockedPublishPlan } from './blockedPublishPlan';
|
|
3
4
|
import type { PublishEntryResult } from '../services/contentEntryServices';
|
|
4
5
|
/** Services interface for entry operations */
|
|
5
6
|
export type EntryServices = {
|
|
@@ -48,12 +49,15 @@ export type EntryActionsOptions<TEntry extends ContentEntrySnapshot> = {
|
|
|
48
49
|
}) => void;
|
|
49
50
|
/** Function to set error message */
|
|
50
51
|
setErrorMessage: (message: string | null) => void;
|
|
52
|
+
setBlockedPublishPlan?: (plan: Extract<BlockedPublishPlan, {
|
|
53
|
+
type: 'blocked';
|
|
54
|
+
}> | null) => void;
|
|
51
55
|
};
|
|
52
56
|
/**
|
|
53
57
|
* Hook to handle entry actions (publish, discard, delete).
|
|
54
58
|
* Extracts action handler logic from the provider for better separation of concerns.
|
|
55
59
|
*/
|
|
56
|
-
export declare function useEntryActions<TEntry extends ContentEntrySnapshot>({ entry, uiStore, hasRoute, routing, publishMutation, discardMutation, definition, syncEntry, resetFromSnapshot, setErrorMessage, }: EntryActionsOptions<TEntry>): {
|
|
60
|
+
export declare function useEntryActions<TEntry extends ContentEntrySnapshot>({ entry, uiStore, hasRoute, routing, publishMutation, discardMutation, definition, syncEntry, resetFromSnapshot, setErrorMessage, setBlockedPublishPlan: setBlockedPlan, }: EntryActionsOptions<TEntry>): {
|
|
57
61
|
saveDraft: () => Promise<void>;
|
|
58
62
|
publish: (options?: PublishOptions) => Promise<void>;
|
|
59
63
|
discardDraft: () => Promise<void>;
|
|
@@ -8,6 +8,36 @@
|
|
|
8
8
|
import type { FieldValidationDescriptor } from '../../../blocks/src/index';
|
|
9
9
|
import type { EditorBlockId } from '../../../core/src/index';
|
|
10
10
|
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
11
|
+
export type PublishSettingsTab = 'display' | 'behavior' | 'style';
|
|
12
|
+
export type PublishEditorTarget = Readonly<{
|
|
13
|
+
kind: 'main-field';
|
|
14
|
+
blockId: EditorBlockId;
|
|
15
|
+
fieldPath: string;
|
|
16
|
+
} | {
|
|
17
|
+
kind: 'nested-main-field';
|
|
18
|
+
blockId: EditorBlockId;
|
|
19
|
+
fieldPath: string;
|
|
20
|
+
ownerPaths: readonly string[];
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'settings-field';
|
|
23
|
+
blockId: EditorBlockId;
|
|
24
|
+
fieldPath: string;
|
|
25
|
+
tab: PublishSettingsTab;
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'block';
|
|
28
|
+
blockId: EditorBlockId;
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'nested-settings-field';
|
|
31
|
+
blockId: EditorBlockId;
|
|
32
|
+
fieldPath: string;
|
|
33
|
+
ownerPaths: readonly string[];
|
|
34
|
+
tab: PublishSettingsTab;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'unavailable-field';
|
|
37
|
+
blockId: EditorBlockId;
|
|
38
|
+
fieldPath: string;
|
|
39
|
+
reason: 'hidden' | 'role-restricted';
|
|
40
|
+
}>;
|
|
11
41
|
/**
|
|
12
42
|
* Represents a validation error for a specific block field.
|
|
13
43
|
*/
|
|
@@ -16,16 +46,18 @@ export type BlockValidationError = {
|
|
|
16
46
|
blockId: EditorBlockId;
|
|
17
47
|
/** The block kind (e.g., "block.hero", "custom.my-block") */
|
|
18
48
|
blockKind: string;
|
|
49
|
+
/** Human-readable block title */
|
|
50
|
+
blockLabel: string;
|
|
19
51
|
/** The path to the invalid field (e.g., "title", "items.0.label") */
|
|
20
52
|
fieldPath: string;
|
|
21
53
|
/** Manifest-derived metadata for the invalid field, when the path resolves to one */
|
|
22
54
|
fieldDescriptor: FieldValidationDescriptor | null;
|
|
23
|
-
/** Whether the field can be directly focused in the editor sidebar */
|
|
24
|
-
isFieldVisibleInSidebar: boolean;
|
|
25
55
|
/** Human-readable label for the field */
|
|
26
56
|
fieldLabel: string;
|
|
27
57
|
/** The validation error message */
|
|
28
58
|
message: string;
|
|
59
|
+
/** Concrete editor surface that can reveal this error */
|
|
60
|
+
editorTarget: PublishEditorTarget;
|
|
29
61
|
};
|
|
30
62
|
/**
|
|
31
63
|
* Validates all blocks in the editor store using strict validation.
|
|
@@ -10,7 +10,8 @@ export { useEntryActions, type EntryActionsOptions, } from './hooks/useEntryActi
|
|
|
10
10
|
export { useReactiveToolbar } from './hooks/useReactiveToolbar';
|
|
11
11
|
export { isInvalidSaveability, selectHasInvalidBlocks, } from './hooks/invalidBlockSelectors';
|
|
12
12
|
export { useHistoryShortcuts } from './hooks/useHistoryShortcuts';
|
|
13
|
-
export { validateAllBlocks, type BlockValidationError, } from './hooks/validateBlocksForPublish';
|
|
13
|
+
export { validateAllBlocks, type BlockValidationError, type PublishEditorTarget, } from './hooks/validateBlocksForPublish';
|
|
14
|
+
export type { BlockedPublishPlan, PublishValidationDiagnostic, } from './hooks/blockedPublishPlan';
|
|
14
15
|
export { EntryControllerProvider, useEntryEditorController, useEntryController, useAutosave, useEntryUiStore, } from './controller/EntryControllerProvider';
|
|
15
16
|
export type { EntryDraftBlockPatch, EntryDraftCompositePatch, EntryDraftsActions, EntryDraftsSlice, } from './controller/EntryControllerProvider';
|
|
16
17
|
export type { EntryEditorDriver } from './controller/driver';
|
|
@@ -4,9 +4,11 @@ import type { ResolveBlockManifest } from './blockValidationView';
|
|
|
4
4
|
export type BlockValidationManifestEntry = Readonly<{
|
|
5
5
|
blockId: EditorBlockId;
|
|
6
6
|
manifest: BlockManifest;
|
|
7
|
+
editorManifest?: BlockManifest;
|
|
7
8
|
}>;
|
|
8
9
|
export type BlockValidationManifestRegistry = Readonly<{
|
|
9
10
|
resolve: ResolveBlockManifest;
|
|
11
|
+
resolveEditor: (blockId: EditorBlockId) => BlockManifest | null;
|
|
10
12
|
revision: () => number;
|
|
11
13
|
replace: (entries: readonly BlockValidationManifestEntry[]) => boolean;
|
|
12
14
|
delete: (blockId: EditorBlockId) => boolean;
|
|
@@ -7,7 +7,7 @@ import { type ViewportState } from './stores/viewportStore';
|
|
|
7
7
|
import { type AiOverlaysState } from './stores/aiOverlaysSlice';
|
|
8
8
|
import { type EditorValueSnapshot, type EditorBlockItem, type EditorBlockId, type NormalizedEditorBlockItem, type DraftBlockBaselineInput, type DraftBlockBaselineUpdateMetaInput, type DraftBlockInitMetaInput, type EditorCommand, type EditorContentValues, type EditorDraftSnapshot, type EditorDraftUnpublishedBlockChange, type EditorEffect, type EditorHistorySnapshot, type EditorLinkedEntrySnapshot, type EditorMetadataValues, type BlockPublishedBaselineInput } from './editorHistory';
|
|
9
9
|
import { type HistoryState } from './editorHistory';
|
|
10
|
-
import type { FocusRequest } from './stores/types';
|
|
10
|
+
import type { FocusRequest, FocusTarget } from './stores/types';
|
|
11
11
|
import { type LinkedContentEntryId } from '../linkedEntries/domain';
|
|
12
12
|
import { type BlockDraftSaveability, type BlockDraftValidationIssue, type ResolveBlockManifest } from './blockValidationView';
|
|
13
13
|
export type { AutosaveStatusValue, AutosaveStatus, AutosaveHandle, AutosaveType, AutosaveType as AutosaveSchedulerKey, FocusRequest, ViewportMode, ViewportWidth, ZoomLevel, } from './stores/types';
|
|
@@ -140,7 +140,9 @@ export type BlockValidationState = {
|
|
|
140
140
|
setValidationManifests: (manifests: readonly Readonly<{
|
|
141
141
|
blockId: EditorBlockId;
|
|
142
142
|
manifest: import('../../../blocks/src/index').BlockManifest;
|
|
143
|
+
editorManifest?: import('../../../blocks/src/index').BlockManifest;
|
|
143
144
|
}>[]) => void;
|
|
145
|
+
getEditorManifest: (blockId: EditorBlockId) => import('../../../blocks/src/index').BlockManifest | null;
|
|
144
146
|
clearBlock: (blockId: EditorBlockId) => void;
|
|
145
147
|
clearAll: () => void;
|
|
146
148
|
getTouchedPaths: (blockId: EditorBlockId) => ReadonlySet<string>;
|
|
@@ -216,7 +218,7 @@ export type EditorUiState = {
|
|
|
216
218
|
inspectLinkedEntry: (entryId: string) => void;
|
|
217
219
|
clearPreviewInspection: () => void;
|
|
218
220
|
setActivePreviewField: (field: ActivePreviewField) => void;
|
|
219
|
-
requestFocus: (payload:
|
|
221
|
+
requestFocus: (payload: FocusTarget) => void;
|
|
220
222
|
clearFocus: () => void;
|
|
221
223
|
setActiveBlockId: (id: EditorBlockId | null) => void;
|
|
222
224
|
getDraftSyncState: () => 'baseline' | 'pending' | 'failed';
|
|
@@ -12,12 +12,34 @@ export type AutosaveHandle = {
|
|
|
12
12
|
isPending: () => boolean;
|
|
13
13
|
};
|
|
14
14
|
export type AutosaveType = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
|
|
15
|
-
export type
|
|
16
|
-
|
|
15
|
+
export type FocusSettingsTab = 'display' | 'behavior' | 'style';
|
|
16
|
+
export type FocusTarget = Readonly<{
|
|
17
|
+
kind: 'block';
|
|
18
|
+
blockId: EditorBlockId;
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'main-field';
|
|
21
|
+
blockId: EditorBlockId;
|
|
22
|
+
fieldPath: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'settings-field';
|
|
17
25
|
blockId: EditorBlockId;
|
|
18
|
-
fieldPath
|
|
19
|
-
|
|
20
|
-
} |
|
|
26
|
+
fieldPath: string;
|
|
27
|
+
settingsTab: FocusSettingsTab;
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'nested-main-field';
|
|
30
|
+
blockId: EditorBlockId;
|
|
31
|
+
fieldPath: string;
|
|
32
|
+
ownerPaths: readonly string[];
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'nested-settings-field';
|
|
35
|
+
blockId: EditorBlockId;
|
|
36
|
+
fieldPath: string;
|
|
37
|
+
ownerPaths: readonly string[];
|
|
38
|
+
settingsTab: FocusSettingsTab;
|
|
39
|
+
}>;
|
|
40
|
+
export type FocusRequest = (FocusTarget & {
|
|
41
|
+
requestId: number;
|
|
42
|
+
}) | null;
|
|
21
43
|
export type ViewportMode = 'squeeze' | 'fixed';
|
|
22
44
|
export type ViewportWidth = number | 'full';
|
|
23
45
|
export type ZoomLevel = 33 | 50 | 75 | 100 | 'fit';
|
|
@@ -7,6 +7,7 @@ declare const BaseContentFieldSchema: z.ZodObject<{
|
|
|
7
7
|
type: z.ZodEnum<{
|
|
8
8
|
number: "number";
|
|
9
9
|
boolean: "boolean";
|
|
10
|
+
link: "link";
|
|
10
11
|
date: "date";
|
|
11
12
|
text: "text";
|
|
12
13
|
url: "url";
|
|
@@ -17,7 +18,6 @@ declare const BaseContentFieldSchema: z.ZodObject<{
|
|
|
17
18
|
repeater: "repeater";
|
|
18
19
|
file: "file";
|
|
19
20
|
group: "group";
|
|
20
|
-
link: "link";
|
|
21
21
|
datetime: "datetime";
|
|
22
22
|
button: "button";
|
|
23
23
|
richText: "richText";
|
|
@@ -83,8 +83,8 @@ declare const RoutingSchema: z.ZodObject<{
|
|
|
83
83
|
subroutes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
84
84
|
kind: z.ZodString;
|
|
85
85
|
segmentType: z.ZodEnum<{
|
|
86
|
-
slug: "slug";
|
|
87
86
|
uuid: "uuid";
|
|
87
|
+
slug: "slug";
|
|
88
88
|
"iso-date": "iso-date";
|
|
89
89
|
"uuid-or-date": "uuid-or-date";
|
|
90
90
|
}>;
|
|
@@ -112,8 +112,8 @@ export declare const ContentTypeSchemaZ: z.ZodObject<{
|
|
|
112
112
|
subroutes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
113
113
|
kind: z.ZodString;
|
|
114
114
|
segmentType: z.ZodEnum<{
|
|
115
|
-
slug: "slug";
|
|
116
115
|
uuid: "uuid";
|
|
116
|
+
slug: "slug";
|
|
117
117
|
"iso-date": "iso-date";
|
|
118
118
|
"uuid-or-date": "uuid-or-date";
|
|
119
119
|
}>;
|
|
@@ -91,6 +91,13 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
|
|
|
91
91
|
readonly blocks: [{
|
|
92
92
|
readonly blockKind: "block.hero";
|
|
93
93
|
readonly scope: "entry";
|
|
94
|
+
readonly content: {
|
|
95
|
+
readonly _sectionStyles: {
|
|
96
|
+
readonly background: {
|
|
97
|
+
readonly type: "image";
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
94
101
|
readonly bindings: {
|
|
95
102
|
readonly eyebrow: Readonly<{
|
|
96
103
|
source: "literal";
|
|
@@ -110,6 +117,10 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
|
|
|
110
117
|
source: "fallback";
|
|
111
118
|
options: import("./types").TemplateBindingValue[];
|
|
112
119
|
}>;
|
|
120
|
+
readonly '_sectionStyles.background.image': Readonly<{
|
|
121
|
+
source: "field";
|
|
122
|
+
path: "image";
|
|
123
|
+
}>;
|
|
113
124
|
};
|
|
114
125
|
}, {
|
|
115
126
|
readonly blockKind: "block.event-details";
|