@riverbankcms/sdk 0.104.3 → 0.107.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -51
- package/dist/{PreviewEditorSidebar-CBMhU9p_.mjs → PreviewEditorSidebar-DpAbAl08.mjs} +1811 -1179
- package/dist/{PreviewEditorUI-C5KEw4M8.mjs → PreviewEditorUI-O7cn6Xxv.mjs} +3 -3
- package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-D0tnKl0t.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Iq12HjL7.mjs → SdkPreviewModeRuntime-CVB7urtl.mjs} +2144 -393
- package/dist/{SiteChromeCustomizeContext-Cx0NMdyv.mjs → SiteChromeCustomizeContext-C_sizso-.mjs} +3825 -2653
- package/dist/_dts/ai/src/contracts/proposals.d.ts +32945 -1339
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -15
- package/dist/_dts/api/src/courses.d.ts +68 -10
- package/dist/_dts/api/src/endpoints.d.ts +29 -0
- package/dist/_dts/api/src/index.d.ts +124 -124
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +116 -6
- package/dist/_dts/api/src/siteOperations.d.ts +1 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +26 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +31 -46
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
- package/dist/_dts/blocks/src/definitions.d.ts +1 -1
- package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +7 -0
- package/dist/_dts/core/src/branded.d.ts +44 -0
- package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
- package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
- package/dist/_dts/core/src/index.d.ts +49 -47
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1452 -15
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
- package/dist/_dts/media-core/src/index.d.ts +2 -1
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
- package/dist/_dts/media-core/src/url.d.ts +1 -21
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
- package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +132 -23
- package/dist/_dts/sdk/src/client/types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +23 -3
- package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
- package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
- package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
- package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
- package/dist/_dts/sdk/src/data/index.d.ts +3 -3
- package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
- package/dist/_dts/sdk/src/data/types.d.ts +43 -78
- package/dist/_dts/sdk/src/next/index.d.ts +1 -0
- package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
- package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +10 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -8
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +9 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/server.d.ts +4 -3
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/commands.d.ts +921 -30
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -5
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
- package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +10 -5
- package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -236
- package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
- package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
- package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -4
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -72
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
- package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
- package/dist/_dts/theme-core/src/schema.d.ts +121 -4
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +161 -51
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
- package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
- package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
- package/dist/cli/index.mjs +3155 -1701
- package/dist/client/{DiscountCodeDisclosure-BXM73_E5.mjs → DiscountCodeDisclosure-BwGkvmVH.mjs} +1 -1
- package/dist/client/{EventCombined.client-DT5elP7j.mjs → EventCombined.client-JnWE6Hzc.mjs} +3 -3
- package/dist/client/{EventListing.client-pTYGfV9C.mjs → EventListing.client-DQewc_kg.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-dQrhlUe3.mjs → LeafletStaticMap-DPAU3SFt.mjs} +1 -1
- package/dist/client/{MagicLinkForm-u6Dul4j5.mjs → MagicLinkForm-D4kpWCbW.mjs} +2 -2
- package/dist/client/{StepIndicator-nWqineJ2.mjs → StepIndicator-CBlkb4rA.mjs} +2 -2
- package/dist/client/{accordion-CSJcTUyH.mjs → accordion-DAIBVpTS.mjs} +1 -1
- package/dist/client/{bookingForm-C73wOuVa.mjs → bookingForm-DZ-4l5_1.mjs} +7 -7
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{buttons-DfYyqt8C.mjs → buttons-DJgynGHQ.mjs} +122 -58
- package/dist/client/{carousel-fMBb0JSc.mjs → carousel-D-SLfX8r.mjs} +1 -1
- package/dist/client/{cart-BtaCwT3S.mjs → cart-CEgbgJhX.mjs} +3 -3
- package/dist/client/{checkout-DkTwZSnh.mjs → checkout-CXWrCRAA.mjs} +3 -3
- package/dist/client/client.mjs +4300 -1560
- package/dist/client/{colorStyles-Wyl6JujD.mjs → colorStyles-jZS6KfkP.mjs} +1 -1
- package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
- package/dist/client/{courseRegistration-DnLmapJu.mjs → courseRegistration-DVmLrRVz.mjs} +56 -21
- package/dist/client/{eventCalendar-BvLOc9KY.mjs → eventCalendar-DCuyPY_c.mjs} +29 -21
- package/dist/client/{eventCombined-kShgJPQr.mjs → eventCombined-kP2CA2D4.mjs} +2 -2
- package/dist/client/{eventDetails-C5NTM0Vo.mjs → eventDetails-DU0LeF5e.mjs} +4 -4
- package/dist/client/{eventListing-B82ZdKP6.mjs → eventListing-CcHF87BI.mjs} +2 -2
- package/dist/client/{eventRegistration-qJVFqBWo.mjs → eventRegistration-DJnR0yFH.mjs} +8 -8
- package/dist/client/{form-BvAcKiuu.mjs → form-CH1lCusH.mjs} +2 -2
- package/dist/client/{headerSection-NvAiEHAg.mjs → headerSection-CBPFZoku.mjs} +3 -3
- package/dist/client/hooks.mjs +2958 -1848
- package/dist/client/{locationMap-D0j52xfI.mjs → locationMap-Cx1hBg5n.mjs} +3 -3
- package/dist/client/{media-BCW_g2cQ.mjs → media-DHtSxS5V.mjs} +61 -56
- package/dist/client/{newsletterForm-B8_i93qH.mjs → newsletterForm-1ZL_ti9u.mjs} +3 -3
- package/dist/client/{pricing-DIYnyHOk.mjs → pricing-BIbzmV0G.mjs} +1 -1
- package/dist/client/{productDetail-w0eAHkuQ.mjs → productDetail-BTh5gHBV.mjs} +3 -3
- package/dist/client/{productList-Vsguq5Xt.mjs → productList-Cc7OMrqN.mjs} +3 -3
- package/dist/client/{propsDecoder-CD2pJ1WB.mjs → propsDecoder-oR-M-ISN.mjs} +192 -59
- package/dist/client/rendering/client.mjs +2031 -1239
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +4889 -1712
- package/dist/client/{shop-Dgxs-Q8F.mjs → shop-CQ_YbCnn.mjs} +8 -8
- package/dist/client/{shop-commerce-DJAhsTaT.mjs → shop-commerce-BM-AoD3M.mjs} +6 -6
- package/dist/client/{shop-commerce-store-CfCXltXW.mjs → shop-commerce-store-DFMQhU5p.mjs} +1 -1
- package/dist/client/{shopShared-CmDcPXUt.mjs → shopShared-D0SKO2Cu.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-CirrT2bM.mjs → useDiscountCodeUi-CrG4_ARt.mjs} +1 -1
- package/dist/client/{useEventFilters-CNZxlCcO.mjs → useEventFilters-CxK8Fekl.mjs} +6 -6
- package/dist/client/{usePolling-Baks_iBI.mjs → usePolling-jcVryNgZ.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +40 -1
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +40 -1
- package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-BPcJPzdz.mjs} +40 -1
- package/dist/{sdk-runtime-BfNiFeNJ.mjs → sdk-runtime-C39Rsk-x.mjs} +2 -2
- package/dist/{separator-BhAR_Xmf.mjs → separator-BoMSQnsP.mjs} +1 -1
- package/dist/server/components.mjs +4661 -2162
- package/dist/server/config-validation.mjs +2728 -1847
- package/dist/server/config.mjs +2728 -1847
- package/dist/server/data.mjs +3381 -1915
- package/dist/server/index.mjs +46 -4
- package/dist/server/next/middleware.mjs +1 -1
- package/dist/server/next.mjs +5555 -2225
- package/dist/server/page-converter.mjs +3058 -2182
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4850 -2125
- package/dist/server/rendering.mjs +5664 -2464
- package/dist/server/routing.mjs +3027 -1509
- package/dist/server/server.mjs +3844 -2217
- package/dist/server/theme-bridge.mjs +9121 -7765
- package/dist/server/theme.mjs +152 -59
- package/dist/styles/index.css +1217 -31
- package/package.json +1 -1
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
- package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +0 -44
- package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
- package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -45
- package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -234
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type { PublicCourse } from '../../../blocks/courses/shared';
|
|
7
7
|
import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
|
|
8
8
|
import type { ButtonVariant as SharedButtonVariant } from '../../shared';
|
|
9
|
+
import type { EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
|
|
9
10
|
export type { FormData } from '../../shared';
|
|
10
11
|
export type ButtonVariant = SharedButtonVariant;
|
|
11
12
|
/**
|
|
@@ -56,6 +57,8 @@ export interface CourseRegistrationBaseProps {
|
|
|
56
57
|
contentEntry?: ContentEntryContext | null;
|
|
57
58
|
/** Entry subroute context (e.g., course run under a course program page) */
|
|
58
59
|
entrySubrouteContext?: EntrySubrouteContext | null;
|
|
60
|
+
/** Native page-surface subject for series/offering-owned course pages. */
|
|
61
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
59
62
|
/** List of available courses from data loader */
|
|
60
63
|
courses?: PublicCourse[] | null;
|
|
61
64
|
/** Display the list of course sessions */
|
|
@@ -2,6 +2,7 @@ import type { PublicCourse } from '../../blocks/courses/shared/types';
|
|
|
2
2
|
import type { OccurrenceContext } from '../../blocks/event-registration.shared';
|
|
3
3
|
import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration/types';
|
|
4
4
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
5
|
+
import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
|
|
5
6
|
export type CourseRegistrationContentEntry = Readonly<{
|
|
6
7
|
id: string;
|
|
7
8
|
slug: string;
|
|
@@ -25,6 +26,7 @@ export type CourseRegistrationSourceProps = Readonly<{
|
|
|
25
26
|
portalToken?: string | null;
|
|
26
27
|
contentEntry?: CourseRegistrationContentEntry | null;
|
|
27
28
|
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
29
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
28
30
|
courses?: PublicCourse[] | null;
|
|
29
31
|
className?: string | null;
|
|
30
32
|
showSessions?: boolean;
|
|
@@ -65,6 +67,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
65
67
|
contentTypeSlug: string;
|
|
66
68
|
}> | null;
|
|
67
69
|
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
70
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
68
71
|
courses?: PublicCourse[] | null;
|
|
69
72
|
className?: string | null;
|
|
70
73
|
showSessions?: boolean;
|
|
@@ -98,6 +101,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
98
101
|
contentTypeSlug: string;
|
|
99
102
|
}> | null;
|
|
100
103
|
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
104
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
101
105
|
courses?: PublicCourse[] | null;
|
|
102
106
|
className?: string | null;
|
|
103
107
|
showSessions?: boolean;
|
|
@@ -121,6 +125,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
121
125
|
contentTypeSlug: string;
|
|
122
126
|
}> | null;
|
|
123
127
|
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
128
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
124
129
|
courses?: PublicCourse[] | null;
|
|
125
130
|
className?: string | null;
|
|
126
131
|
showSessions?: boolean;
|
|
@@ -8,5 +8,5 @@ type CourseRegistrationServerProps = CourseRegistrationSourceProps & Readonly<{
|
|
|
8
8
|
* Server-safe placeholder for course registration.
|
|
9
9
|
* Provides a static container for island hydration without importing client hooks.
|
|
10
10
|
*/
|
|
11
|
-
export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, contentEntry, entrySubrouteContext, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children, }: CourseRegistrationServerProps): React.JSX.Element;
|
|
11
|
+
export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, contentEntry, entrySubrouteContext, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children, }: CourseRegistrationServerProps): React.JSX.Element;
|
|
12
12
|
export default CourseRegistrationSSR;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type EventPageSurfaceSubject, type EventPageSurfaceSubjectParseError, type EventOfferingId, type EventSeriesId, type Result } from '../../../../../../core/src/index';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export type EventRegistrationContentEntryContext = Readonly<{
|
|
4
4
|
slug: string;
|
|
5
5
|
contentTypeSlug: string;
|
|
6
6
|
}>;
|
|
7
|
-
export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId"];
|
|
7
|
+
export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventOfferingId"];
|
|
8
8
|
export type UnsupportedEventRegistrationPageSurfaceSubjectReason = (typeof unsupportedEventRegistrationPageSurfaceSubjectReasons)[number];
|
|
9
|
-
export type EventRegistrationPageSurfaceSubject = Readonly<{
|
|
10
|
-
kind: 'eventSeries';
|
|
11
|
-
eventSeriesId: EventSeriesId;
|
|
12
|
-
}> | Readonly<{
|
|
9
|
+
export type EventRegistrationPageSurfaceSubject = EventPageSurfaceSubject | Readonly<{
|
|
13
10
|
kind: 'unsupported';
|
|
14
11
|
reason: UnsupportedEventRegistrationPageSurfaceSubjectReason;
|
|
15
12
|
}>;
|
|
@@ -24,21 +21,17 @@ export type EventRegistrationScopeableEvent = Readonly<{
|
|
|
24
21
|
seriesId: string;
|
|
25
22
|
slug?: string | null;
|
|
26
23
|
}>;
|
|
27
|
-
export type EventRegistrationPageSurfaceSubjectParseError =
|
|
28
|
-
kind: 'notPageSurfaceSubject';
|
|
29
|
-
}> | Readonly<{
|
|
30
|
-
kind: 'unsupportedSubject';
|
|
31
|
-
subjectKind: unknown;
|
|
32
|
-
}> | Readonly<{
|
|
33
|
-
kind: 'invalidEventSeriesId';
|
|
34
|
-
error: BrandedIdParseError;
|
|
35
|
-
}>;
|
|
24
|
+
export type EventRegistrationPageSurfaceSubjectParseError = EventPageSurfaceSubjectParseError;
|
|
36
25
|
export type EventRegistrationScope = Readonly<{
|
|
37
26
|
kind: 'occurrenceSeries';
|
|
38
27
|
seriesId: string;
|
|
39
28
|
}> | Readonly<{
|
|
40
29
|
kind: 'pageSurfaceSeries';
|
|
41
30
|
seriesId: EventSeriesId;
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
kind: 'pageSurfaceOffering';
|
|
33
|
+
offeringId: EventOfferingId;
|
|
34
|
+
seriesIds: readonly EventSeriesId[];
|
|
42
35
|
}> | Readonly<{
|
|
43
36
|
kind: 'unsupportedPageSurfaceSubject';
|
|
44
37
|
reason: UnsupportedEventRegistrationPageSurfaceSubjectReason;
|
|
@@ -49,9 +42,7 @@ export type EventRegistrationScope = Readonly<{
|
|
|
49
42
|
kind: 'unscoped';
|
|
50
43
|
}>;
|
|
51
44
|
export declare const eventRegistrationPageSurfaceSubjectSchema: z.ZodType<EventRegistrationPageSurfaceSubject>;
|
|
52
|
-
export declare function parseEventRegistrationPageSurfaceSubject(value: unknown): Result<
|
|
53
|
-
kind: 'unsupported';
|
|
54
|
-
}>, EventRegistrationPageSurfaceSubjectParseError>;
|
|
45
|
+
export declare function parseEventRegistrationPageSurfaceSubject(value: unknown): Result<EventPageSurfaceSubject, EventRegistrationPageSurfaceSubjectParseError>;
|
|
55
46
|
export declare function normalizeEventRegistrationPageSurfaceSubject(value: unknown): EventRegistrationPageSurfaceSubject | null;
|
|
56
47
|
export declare function resolveEventRegistrationScope(context: EventRegistrationScopeContext): EventRegistrationScope;
|
|
57
48
|
export declare function applyEventRegistrationScope<TEvent extends EventRegistrationScopeableEvent>(events: readonly TEvent[], scope: EventRegistrationScope): TEvent[];
|
|
@@ -33,6 +33,10 @@ export type EventCalendarSourceProps = Readonly<{
|
|
|
33
33
|
filterVenueId?: string | null;
|
|
34
34
|
buttonVariant?: ButtonVariant;
|
|
35
35
|
buttonText?: string;
|
|
36
|
+
boardTitle?: string;
|
|
37
|
+
footerNote?: string;
|
|
38
|
+
elevated?: boolean | null;
|
|
39
|
+
banded?: boolean | null;
|
|
36
40
|
showVenue?: boolean | null;
|
|
37
41
|
showMap?: boolean | null;
|
|
38
42
|
showCapacity?: boolean | null;
|
|
@@ -64,6 +68,21 @@ export type EventCalendarDisplay = Readonly<{
|
|
|
64
68
|
filterVenueId: string | null;
|
|
65
69
|
buttonVariant: ButtonVariant;
|
|
66
70
|
buttonText: string;
|
|
71
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
72
|
+
boardTitle?: string;
|
|
73
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
74
|
+
footerNote?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
77
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
78
|
+
*/
|
|
79
|
+
seeAllUrl?: string;
|
|
80
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
81
|
+
loadMoreText?: string;
|
|
82
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
83
|
+
elevated: boolean;
|
|
84
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
85
|
+
banded: boolean;
|
|
67
86
|
showVenue: boolean;
|
|
68
87
|
showMap: boolean;
|
|
69
88
|
showCapacity: boolean;
|
|
@@ -123,6 +142,10 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
123
142
|
filterVenueId?: string | null;
|
|
124
143
|
buttonVariant?: ButtonVariant;
|
|
125
144
|
buttonText?: string;
|
|
145
|
+
boardTitle?: string;
|
|
146
|
+
footerNote?: string;
|
|
147
|
+
elevated?: boolean | null;
|
|
148
|
+
banded?: boolean | null;
|
|
126
149
|
showVenue?: boolean | null;
|
|
127
150
|
showMap?: boolean | null;
|
|
128
151
|
showCapacity?: boolean | null;
|
|
@@ -154,6 +177,21 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
154
177
|
filterVenueId: string | null;
|
|
155
178
|
buttonVariant: ButtonVariant;
|
|
156
179
|
buttonText: string;
|
|
180
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
181
|
+
boardTitle?: string;
|
|
182
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
183
|
+
footerNote?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
186
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
187
|
+
*/
|
|
188
|
+
seeAllUrl?: string;
|
|
189
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
190
|
+
loadMoreText?: string;
|
|
191
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
192
|
+
elevated: boolean;
|
|
193
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
194
|
+
banded: boolean;
|
|
157
195
|
showVenue: boolean;
|
|
158
196
|
showMap: boolean;
|
|
159
197
|
showCapacity: boolean;
|
|
@@ -202,6 +240,10 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
202
240
|
filterVenueId?: string | null;
|
|
203
241
|
buttonVariant?: ButtonVariant;
|
|
204
242
|
buttonText?: string;
|
|
243
|
+
boardTitle?: string;
|
|
244
|
+
footerNote?: string;
|
|
245
|
+
elevated?: boolean | null;
|
|
246
|
+
banded?: boolean | null;
|
|
205
247
|
showVenue?: boolean | null;
|
|
206
248
|
showMap?: boolean | null;
|
|
207
249
|
showCapacity?: boolean | null;
|
|
@@ -239,6 +281,10 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
239
281
|
filterVenueId?: string | null;
|
|
240
282
|
buttonVariant?: ButtonVariant;
|
|
241
283
|
buttonText?: string;
|
|
284
|
+
boardTitle?: string;
|
|
285
|
+
footerNote?: string;
|
|
286
|
+
elevated?: boolean | null;
|
|
287
|
+
banded?: boolean | null;
|
|
242
288
|
showVenue?: boolean | null;
|
|
243
289
|
showMap?: boolean | null;
|
|
244
290
|
showCapacity?: boolean | null;
|
|
@@ -273,6 +319,21 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
273
319
|
filterVenueId: string | null;
|
|
274
320
|
buttonVariant: ButtonVariant;
|
|
275
321
|
buttonText: string;
|
|
322
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
323
|
+
boardTitle?: string;
|
|
324
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
325
|
+
footerNote?: string;
|
|
326
|
+
/**
|
|
327
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
328
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
329
|
+
*/
|
|
330
|
+
seeAllUrl?: string;
|
|
331
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
332
|
+
loadMoreText?: string;
|
|
333
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
334
|
+
elevated: boolean;
|
|
335
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
336
|
+
banded: boolean;
|
|
276
337
|
showVenue: boolean;
|
|
277
338
|
showMap: boolean;
|
|
278
339
|
showCapacity: boolean;
|
|
@@ -314,6 +375,21 @@ export declare const eventCalendarBlockRuntime: Readonly<{
|
|
|
314
375
|
filterVenueId: string | null;
|
|
315
376
|
buttonVariant: ButtonVariant;
|
|
316
377
|
buttonText: string;
|
|
378
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
379
|
+
boardTitle?: string;
|
|
380
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
381
|
+
footerNote?: string;
|
|
382
|
+
/**
|
|
383
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
384
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
385
|
+
*/
|
|
386
|
+
seeAllUrl?: string;
|
|
387
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
388
|
+
loadMoreText?: string;
|
|
389
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
390
|
+
elevated: boolean;
|
|
391
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
392
|
+
banded: boolean;
|
|
317
393
|
showVenue: boolean;
|
|
318
394
|
showMap: boolean;
|
|
319
395
|
showCapacity: boolean;
|
|
@@ -367,6 +443,21 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
|
|
|
367
443
|
filterVenueId: string | null;
|
|
368
444
|
buttonVariant: ButtonVariant;
|
|
369
445
|
buttonText: string;
|
|
446
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
447
|
+
boardTitle?: string;
|
|
448
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
449
|
+
footerNote?: string;
|
|
450
|
+
/**
|
|
451
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
452
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
453
|
+
*/
|
|
454
|
+
seeAllUrl?: string;
|
|
455
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
456
|
+
loadMoreText?: string;
|
|
457
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
458
|
+
elevated: boolean;
|
|
459
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
460
|
+
banded: boolean;
|
|
370
461
|
showVenue: boolean;
|
|
371
462
|
showMap: boolean;
|
|
372
463
|
showCapacity: boolean;
|
|
@@ -417,6 +508,21 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
|
|
|
417
508
|
filterVenueId: string | null;
|
|
418
509
|
buttonVariant: ButtonVariant;
|
|
419
510
|
buttonText: string;
|
|
511
|
+
/** Week-board: optional top-bar title. Empty/undefined hides the title. */
|
|
512
|
+
boardTitle?: string;
|
|
513
|
+
/** Week-board: optional footer note. Empty/undefined hides the note. */
|
|
514
|
+
footerNote?: string;
|
|
515
|
+
/**
|
|
516
|
+
* Footer CTA destination (reuses the block's "See all destination" field).
|
|
517
|
+
* Undefined omits the CTA — no dead button is ever rendered.
|
|
518
|
+
*/
|
|
519
|
+
seeAllUrl?: string;
|
|
520
|
+
/** Footer CTA label (reuses the block's "CTA button text" field). */
|
|
521
|
+
loadMoreText?: string;
|
|
522
|
+
/** Week-board: raised drop shadow (Fulcrum opt-in). Generic default: flat. */
|
|
523
|
+
elevated: boolean;
|
|
524
|
+
/** Week-board: surrounding section band (Fulcrum opt-in). Default: bandless. */
|
|
525
|
+
banded: boolean;
|
|
420
526
|
showVenue: boolean;
|
|
421
527
|
showMap: boolean;
|
|
422
528
|
showCapacity: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonVariant } from '../../../blocks/events/shared/types';
|
|
3
|
+
import type { RecurringScheduleProjection } from '../../../blocks/events/recurring-schedule-projection';
|
|
4
|
+
export type RecurringScheduleProps = Readonly<{
|
|
5
|
+
schedule?: RecurringScheduleProjection | null;
|
|
6
|
+
buttonText?: string | null;
|
|
7
|
+
buttonVariant?: ButtonVariant | null;
|
|
8
|
+
showVenue?: boolean | null;
|
|
9
|
+
emptyMessage?: string | null;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function RecurringSchedule({ schedule, buttonText, buttonVariant, showVenue, emptyMessage, }: RecurringScheduleProps): React.ReactElement;
|
|
@@ -6,15 +6,19 @@ type WeekBoardViewProps = {
|
|
|
6
6
|
events: PublicEvent[];
|
|
7
7
|
showCapacity: boolean;
|
|
8
8
|
emptyMessage?: string;
|
|
9
|
-
/**
|
|
9
|
+
/** Optional board title shown in the top bar. Hidden when empty. */
|
|
10
10
|
title?: string;
|
|
11
|
-
/**
|
|
11
|
+
/** Optional footer note shown alongside the CTA. Hidden when empty. */
|
|
12
12
|
footerNote?: string;
|
|
13
13
|
/** Footer CTA label. */
|
|
14
14
|
ctaLabel?: string;
|
|
15
|
-
/** Optional href for the footer CTA.
|
|
15
|
+
/** Optional href for the footer CTA. The CTA is omitted when absent. */
|
|
16
16
|
ctaHref?: string | null;
|
|
17
17
|
buttonVariant?: ButtonVariant;
|
|
18
|
+
/** Opt-in raised drop shadow. Generic default is flat. */
|
|
19
|
+
elevated?: boolean;
|
|
20
|
+
/** Opt-in section band. Generic default is bandless. */
|
|
21
|
+
banded?: boolean;
|
|
18
22
|
};
|
|
19
23
|
/**
|
|
20
24
|
* WeekBoardView
|
|
@@ -67,6 +67,9 @@ export type MediaUrlResolution = Readonly<{
|
|
|
67
67
|
}> | Readonly<{
|
|
68
68
|
kind: 'missing-site-context';
|
|
69
69
|
storagePath: string;
|
|
70
|
+
}> | Readonly<{
|
|
71
|
+
kind: 'invalid-storage-path';
|
|
72
|
+
storagePath: string;
|
|
70
73
|
}> | Readonly<{
|
|
71
74
|
kind: 'missing-supabase-url';
|
|
72
75
|
message: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
2
2
|
import { type NewsletterSignupDestinationProvider, type NewsletterSignupPublicDestinationRef } from '../../blocks/newsletter-signup-destination';
|
|
3
|
-
import { type NewsletterFieldDef, type NewsletterPreset } from './newsletter-form.types';
|
|
3
|
+
import { type NewsletterButtonVariant, type NewsletterFieldDef, type NewsletterPreset } from './newsletter-form.types';
|
|
4
4
|
export type NewsletterFormSourceProps = Readonly<{
|
|
5
5
|
blockId?: string | null;
|
|
6
6
|
siteId?: string;
|
|
@@ -10,6 +10,7 @@ export type NewsletterFormSourceProps = Readonly<{
|
|
|
10
10
|
preset?: NewsletterPreset;
|
|
11
11
|
includePhone?: boolean;
|
|
12
12
|
buttonLabel?: string | null;
|
|
13
|
+
buttonVariant?: NewsletterButtonVariant | null;
|
|
13
14
|
successMessage?: string | null;
|
|
14
15
|
privacyNote?: string | null;
|
|
15
16
|
tags?: string | null;
|
|
@@ -20,6 +21,7 @@ export type NewsletterFormDisplay = Readonly<{
|
|
|
20
21
|
kind: 'newsletter-form';
|
|
21
22
|
className: string | null;
|
|
22
23
|
buttonLabel: string;
|
|
24
|
+
buttonVariant: NewsletterButtonVariant;
|
|
23
25
|
successMessage: string | null;
|
|
24
26
|
privacyNote: string | null;
|
|
25
27
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -49,6 +51,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
49
51
|
preset?: NewsletterPreset;
|
|
50
52
|
includePhone?: boolean;
|
|
51
53
|
buttonLabel?: string | null;
|
|
54
|
+
buttonVariant?: NewsletterButtonVariant | null;
|
|
52
55
|
successMessage?: string | null;
|
|
53
56
|
privacyNote?: string | null;
|
|
54
57
|
tags?: string | null;
|
|
@@ -59,6 +62,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
59
62
|
kind: "newsletter-form";
|
|
60
63
|
className: string | null;
|
|
61
64
|
buttonLabel: string;
|
|
65
|
+
buttonVariant: NewsletterButtonVariant;
|
|
62
66
|
successMessage: string | null;
|
|
63
67
|
privacyNote: string | null;
|
|
64
68
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -83,6 +87,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
83
87
|
preset?: NewsletterPreset;
|
|
84
88
|
includePhone?: boolean;
|
|
85
89
|
buttonLabel?: string | null;
|
|
90
|
+
buttonVariant?: NewsletterButtonVariant | null;
|
|
86
91
|
successMessage?: string | null;
|
|
87
92
|
privacyNote?: string | null;
|
|
88
93
|
tags?: string | null;
|
|
@@ -98,6 +103,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
98
103
|
preset?: NewsletterPreset;
|
|
99
104
|
includePhone?: boolean;
|
|
100
105
|
buttonLabel?: string | null;
|
|
106
|
+
buttonVariant?: NewsletterButtonVariant | null;
|
|
101
107
|
successMessage?: string | null;
|
|
102
108
|
privacyNote?: string | null;
|
|
103
109
|
tags?: string | null;
|
|
@@ -111,6 +117,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
111
117
|
kind: "newsletter-form";
|
|
112
118
|
className: string | null;
|
|
113
119
|
buttonLabel: string;
|
|
120
|
+
buttonVariant: NewsletterButtonVariant;
|
|
114
121
|
successMessage: string | null;
|
|
115
122
|
privacyNote: string | null;
|
|
116
123
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -129,6 +136,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
129
136
|
kind: "newsletter-form";
|
|
130
137
|
className: string | null;
|
|
131
138
|
buttonLabel: string;
|
|
139
|
+
buttonVariant: NewsletterButtonVariant;
|
|
132
140
|
successMessage: string | null;
|
|
133
141
|
privacyNote: string | null;
|
|
134
142
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -158,6 +166,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
158
166
|
kind: "newsletter-form";
|
|
159
167
|
className: string | null;
|
|
160
168
|
buttonLabel: string;
|
|
169
|
+
buttonVariant: NewsletterButtonVariant;
|
|
161
170
|
successMessage: string | null;
|
|
162
171
|
privacyNote: string | null;
|
|
163
172
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -184,6 +193,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
184
193
|
kind: "newsletter-form";
|
|
185
194
|
className: string | null;
|
|
186
195
|
buttonLabel: string;
|
|
196
|
+
buttonVariant: NewsletterButtonVariant;
|
|
187
197
|
successMessage: string | null;
|
|
188
198
|
privacyNote: string | null;
|
|
189
199
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -6,5 +6,5 @@ import type { NewsletterFormProps } from './newsletter-form.types';
|
|
|
6
6
|
* Renders the newsletter signup form for SSR with hydration support.
|
|
7
7
|
* Uses the islands architecture pattern to hydrate on the client.
|
|
8
8
|
*/
|
|
9
|
-
export declare function NewsletterFormSSR({ blockId, siteId, apiBaseUrl, listId, destinationProvider, preset, includePhone, buttonLabel, successMessage, privacyNote, tags, spamProtectionEnabled, className, }: NewsletterFormProps): React.JSX.Element;
|
|
9
|
+
export declare function NewsletterFormSSR({ blockId, siteId, apiBaseUrl, listId, destinationProvider, preset, includePhone, buttonLabel, buttonVariant, successMessage, privacyNote, tags, spamProtectionEnabled, className, }: NewsletterFormProps): React.JSX.Element;
|
|
10
10
|
export default NewsletterFormSSR;
|
|
@@ -13,6 +13,7 @@ export type NewsletterFieldDef = {
|
|
|
13
13
|
placeholder?: string;
|
|
14
14
|
};
|
|
15
15
|
export type NewsletterDestinationProvider = 'riverbank' | 'mailchimp';
|
|
16
|
+
export type NewsletterButtonVariant = 'primary' | 'secondary' | 'outline';
|
|
16
17
|
export type NewsletterFormProps = {
|
|
17
18
|
/** Block ID for island hydration */
|
|
18
19
|
blockId?: string | null;
|
|
@@ -30,6 +31,8 @@ export type NewsletterFormProps = {
|
|
|
30
31
|
includePhone?: boolean;
|
|
31
32
|
/** Submit button label */
|
|
32
33
|
buttonLabel?: string | null;
|
|
34
|
+
/** Site-style button role for the submit action */
|
|
35
|
+
buttonVariant?: NewsletterButtonVariant | null;
|
|
33
36
|
/** Message shown after successful subscription */
|
|
34
37
|
successMessage?: string | null;
|
|
35
38
|
/** Optional privacy note below the form */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import type { PublicCourse } from
|
|
3
|
-
import type { ButtonVariant, PublicEvent } from
|
|
4
|
-
import type { CardStylesContent } from
|
|
5
|
-
import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PublicCourse } from '../../blocks/courses/shared/types';
|
|
3
|
+
import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
|
|
4
|
+
import type { CardStylesContent } from '../../fields/boxStyles';
|
|
5
|
+
import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
|
|
6
6
|
type OfferingsPreviewProps = Readonly<{
|
|
7
7
|
bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
|
|
8
8
|
groupOrder?: OfferingsPreviewGroupOrder | null;
|
|
@@ -13,7 +13,7 @@ type OfferingsPreviewProps = Readonly<{
|
|
|
13
13
|
buttonText?: string | null;
|
|
14
14
|
emptyMessage?: string | null;
|
|
15
15
|
failedMessage?: string | null;
|
|
16
|
-
previewStage?:
|
|
16
|
+
previewStage?: 'published' | 'preview' | null;
|
|
17
17
|
routeCandidates?: Readonly<{
|
|
18
18
|
routes?: readonly OfferingsPreviewRouteCandidate[] | null;
|
|
19
19
|
}> | null;
|
|
@@ -14,6 +14,7 @@ export type PassesMembershipsHydration = Readonly<{
|
|
|
14
14
|
passes: readonly PublicPassProduct[];
|
|
15
15
|
memberships: readonly PublicMembershipProduct[];
|
|
16
16
|
passPurchaseMode: 'add_to_cart' | 'buy_now';
|
|
17
|
+
buttonVariant: 'primary' | 'secondary' | 'outline' | 'link';
|
|
17
18
|
}>;
|
|
18
19
|
export type ProductListHydration = Readonly<{
|
|
19
20
|
products: readonly PublicProduct[];
|
|
@@ -77,7 +78,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
77
78
|
kind: "passes-memberships";
|
|
78
79
|
state: "empty" | "ready";
|
|
79
80
|
className: string | null;
|
|
80
|
-
layout: "grid" | "list";
|
|
81
|
+
layout: "grid" | "list" | "register";
|
|
81
82
|
columns: string;
|
|
82
83
|
emptyMessage: string;
|
|
83
84
|
passesHeading: string;
|
|
@@ -105,6 +106,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
105
106
|
passes: readonly PublicPassProduct[];
|
|
106
107
|
memberships: readonly PublicMembershipProduct[];
|
|
107
108
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
109
|
+
buttonVariant: "primary" | "secondary" | "outline" | "link";
|
|
108
110
|
}>;
|
|
109
111
|
}>;
|
|
110
112
|
contracts: Readonly<{
|
|
@@ -118,7 +120,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
118
120
|
kind: "passes-memberships";
|
|
119
121
|
state: "empty" | "ready";
|
|
120
122
|
className: string | null;
|
|
121
|
-
layout: "grid" | "list";
|
|
123
|
+
layout: "grid" | "list" | "register";
|
|
122
124
|
columns: string;
|
|
123
125
|
emptyMessage: string;
|
|
124
126
|
passesHeading: string;
|
|
@@ -146,6 +148,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
146
148
|
passes: readonly PublicPassProduct[];
|
|
147
149
|
memberships: readonly PublicMembershipProduct[];
|
|
148
150
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
151
|
+
buttonVariant: "primary" | "secondary" | "outline" | "link";
|
|
149
152
|
}>;
|
|
150
153
|
}>) => unknown;
|
|
151
154
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
@@ -153,7 +156,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
153
156
|
kind: "passes-memberships";
|
|
154
157
|
state: "empty" | "ready";
|
|
155
158
|
className: string | null;
|
|
156
|
-
layout: "grid" | "list";
|
|
159
|
+
layout: "grid" | "list" | "register";
|
|
157
160
|
columns: string;
|
|
158
161
|
emptyMessage: string;
|
|
159
162
|
passesHeading: string;
|
|
@@ -181,6 +184,7 @@ export declare const shopBlockRuntime: Readonly<{
|
|
|
181
184
|
passes: readonly PublicPassProduct[];
|
|
182
185
|
memberships: readonly PublicMembershipProduct[];
|
|
183
186
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
187
|
+
buttonVariant: "primary" | "secondary" | "outline" | "link";
|
|
184
188
|
}>;
|
|
185
189
|
}>>;
|
|
186
190
|
}>;
|
|
@@ -502,7 +506,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
|
|
|
502
506
|
kind: "passes-memberships";
|
|
503
507
|
state: "empty" | "ready";
|
|
504
508
|
className: string | null;
|
|
505
|
-
layout: "grid" | "list";
|
|
509
|
+
layout: "grid" | "list" | "register";
|
|
506
510
|
columns: string;
|
|
507
511
|
emptyMessage: string;
|
|
508
512
|
passesHeading: string;
|
|
@@ -530,6 +534,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
|
|
|
530
534
|
passes: readonly PublicPassProduct[];
|
|
531
535
|
memberships: readonly PublicMembershipProduct[];
|
|
532
536
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
537
|
+
buttonVariant: "primary" | "secondary" | "outline" | "link";
|
|
533
538
|
}>;
|
|
534
539
|
}>>;
|
|
535
540
|
}>) => unknown;
|
|
@@ -546,7 +551,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
|
|
|
546
551
|
kind: "passes-memberships";
|
|
547
552
|
state: "empty" | "ready";
|
|
548
553
|
className: string | null;
|
|
549
|
-
layout: "grid" | "list";
|
|
554
|
+
layout: "grid" | "list" | "register";
|
|
550
555
|
columns: string;
|
|
551
556
|
emptyMessage: string;
|
|
552
557
|
passesHeading: string;
|
|
@@ -574,6 +579,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
|
|
|
574
579
|
passes: readonly PublicPassProduct[];
|
|
575
580
|
memberships: readonly PublicMembershipProduct[];
|
|
576
581
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
582
|
+
buttonVariant: "primary" | "secondary" | "outline" | "link";
|
|
577
583
|
}>;
|
|
578
584
|
}>>;
|
|
579
585
|
}>>;
|
|
@@ -7,7 +7,7 @@ export type ShopDisplayConfig = {
|
|
|
7
7
|
productSlug?: string | null;
|
|
8
8
|
showPasses?: boolean;
|
|
9
9
|
showMemberships?: boolean;
|
|
10
|
-
layout?: 'grid' | 'list';
|
|
10
|
+
layout?: 'grid' | 'list' | 'register';
|
|
11
11
|
columns?: string;
|
|
12
12
|
showDescriptions?: boolean;
|
|
13
13
|
showSummary?: boolean;
|
|
@@ -15,6 +15,7 @@ export type ShopDisplayConfig = {
|
|
|
15
15
|
showPrices?: boolean;
|
|
16
16
|
showValidityPeriod?: boolean;
|
|
17
17
|
showPricePerCredit?: boolean | null;
|
|
18
|
+
buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
|
|
18
19
|
passesHeading?: string;
|
|
19
20
|
membershipsHeading?: string;
|
|
20
21
|
buyButtonText?: string;
|
|
@@ -34,6 +34,13 @@ type ShapePaint = {
|
|
|
34
34
|
strokeLinecap?: 'butt' | 'round' | 'square';
|
|
35
35
|
strokeLinejoin?: 'miter' | 'round' | 'bevel';
|
|
36
36
|
strokeDasharray?: string | number;
|
|
37
|
+
/**
|
|
38
|
+
* Optional SVG `transform` (e.g. an angled balance-beam). Emitted as the
|
|
39
|
+
* `transform` presentation attribute, but only after passing the strict
|
|
40
|
+
* allow-list validator below — these trees can arrive from the DB via custom
|
|
41
|
+
* blocks, so an unrecognised value is dropped rather than rendered.
|
|
42
|
+
*/
|
|
43
|
+
transform?: string;
|
|
37
44
|
};
|
|
38
45
|
export type SvgShape = ({
|
|
39
46
|
kind: 'path';
|