@riverbankcms/sdk 0.144.0 → 0.146.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 +17 -0
- package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +32 -24
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +316 -134
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +7 -1
- 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/launchReadiness.d.ts +22 -2
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
- package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +8 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +12 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +10 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +3222 -1612
- package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -148
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
- package/dist/client/rendering/client.mjs +1389 -722
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3136 -1400
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +500 -165
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +460 -165
- package/dist/preview-next/middleware.mjs +461 -165
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +3088 -1307
- package/dist/server/config-validation.mjs +927 -109
- package/dist/server/config.mjs +927 -109
- package/dist/server/data.mjs +939 -110
- package/dist/server/index.mjs +513 -169
- package/dist/server/next.mjs +2874 -1195
- package/dist/server/page-converter.mjs +420 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3071 -1289
- package/dist/server/rendering.mjs +3169 -1350
- package/dist/server/routing.mjs +1085 -159
- package/dist/server/server.mjs +1042 -291
- package/dist/server/theme-bridge.mjs +1658 -137
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +186 -65
- package/package.json +2 -1
|
@@ -5,6 +5,7 @@ import { type Theme } from '../../blocks/src/index';
|
|
|
5
5
|
import type { PageDesignEditorReadModel } from '../../theme-core/src/site-styles/index';
|
|
6
6
|
import { type EditorStructuralCommand } from '../../core/src/index';
|
|
7
7
|
import { type CustomBlockRegistryEntry, type SdkConfigForBlockPicker } from './block-editor/sdkBlockMerger';
|
|
8
|
+
import { type BlockCreationCopy } from './block-editor/EmptyState';
|
|
8
9
|
import { type BlockActionPresentation } from './block-editor/actionPresentation';
|
|
9
10
|
import { type ReorderControlMode } from './block-editor/reorderControlMode';
|
|
10
11
|
import { type BlockEditorOwner } from './block-editor/owner';
|
|
@@ -70,6 +71,8 @@ export type BlockEditorProps = {
|
|
|
70
71
|
customBlocks?: readonly CustomBlockRegistryEntry[];
|
|
71
72
|
allowedBlockKinds?: readonly string[] | null;
|
|
72
73
|
emptyUnavailableMessage?: string;
|
|
74
|
+
/** The empty state's words and the add button's label. */
|
|
75
|
+
creationCopy?: BlockCreationCopy;
|
|
73
76
|
initialCollapsed?: boolean;
|
|
74
77
|
reorderControlMode?: ReorderControlMode;
|
|
75
78
|
actionPresentation?: BlockActionPresentation;
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The words the editor uses for adding. A host that calls blocks something
|
|
3
|
+
* else, such as an event page's extra sections, passes its own.
|
|
4
|
+
*/
|
|
5
|
+
export type BlockCreationCopy = Readonly<{
|
|
6
|
+
emptyTitle: string;
|
|
7
|
+
emptyDescription: string;
|
|
8
|
+
addLabel: string;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const DEFAULT_BLOCK_CREATION_COPY: BlockCreationCopy;
|
|
11
|
+
export declare function addBlockLabel(copy?: BlockCreationCopy): string;
|
|
12
|
+
export declare const EmptyState: ({ onAdd, copy, }: {
|
|
2
13
|
onAdd: () => void;
|
|
14
|
+
copy?: BlockCreationCopy;
|
|
3
15
|
}) => import("react").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorDraftBlockInitMetaInput, EditorStructuralDraftSnapshot } from '../../../core/src/index';
|
|
2
|
-
export type BlockItem = {
|
|
1
|
+
import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorDraftBlockInitMetaInput, EditorStructuralDraftSnapshot, BlockContentIdentity } from '../../../core/src/index';
|
|
2
|
+
export type BlockItem = Partial<BlockContentIdentity> & {
|
|
3
3
|
id?: string | null;
|
|
4
4
|
kind: string;
|
|
5
5
|
content?: Record<string, unknown> | null;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { BlockEditor } from './BlockEditor';
|
|
2
2
|
export type { BlockEditorProps } from './BlockEditor';
|
|
3
3
|
export type { BlockEditorOwner } from './block-editor/owner';
|
|
4
|
+
export type { BlockCreationCopy } from './block-editor/EmptyState';
|
|
4
5
|
export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, mergeBlockDescriptors, getBlockManifestFromSdkConfig, transformSdkBlockToManifest, transformSdkBlockToDefinition, transformToBlockDescriptor, } from './block-editor/sdkBlockMerger';
|
|
5
6
|
export type { CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryEntry, ResolvedCustomBlockManifest, SdkCustomBlock, SdkConfigForBlockPicker, } from './block-editor/sdkBlockMerger';
|
|
6
7
|
export type { BlockEditorHandle, BlockFocusRequest, BlockFocusTarget, BlockItem, } from './block-editor/types';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { GetEndpoint, ApiClient } from '../../../../api/src/index';
|
|
2
2
|
import type { SiteOptionSource } from '../../../../blocks/src/index';
|
|
3
|
-
import type { SiteOptionWidgetAdapter, SiteOptionWidgetAdapters, SiteOptionWidgetItem } from './types';
|
|
3
|
+
import type { SiteOptionSingleSelectionConfig, SiteOptionWidgetAdapter, SiteOptionWidgetAdapters, SiteOptionWidgetItem } from './types';
|
|
4
4
|
type ListEventCategoriesResponse = NonNullable<GetEndpoint<'listEventCategories'>['response']>;
|
|
5
5
|
type ListVenuesResponse = NonNullable<GetEndpoint<'listVenues'>['response']>;
|
|
6
6
|
type ListAppointmentResourcesResponse = NonNullable<GetEndpoint<'listAppointmentResources'>['response']>;
|
|
7
|
+
type ListAppointmentServiceCategoriesResponse = NonNullable<GetEndpoint<'listAppointmentServiceCategories'>['response']>;
|
|
7
8
|
export type SiteOptionLoadItemsArgs = Readonly<{
|
|
8
9
|
siteId: string;
|
|
9
10
|
source: SiteOptionSource;
|
|
@@ -36,12 +37,19 @@ export declare const siteOptionWidgetLabels: {
|
|
|
36
37
|
readonly empty: "No staff yet";
|
|
37
38
|
readonly emptySelection: "Choose a staff member to restrict this block.";
|
|
38
39
|
};
|
|
40
|
+
readonly appointmentServiceCategories: {
|
|
41
|
+
readonly loading: "Loading categories...";
|
|
42
|
+
readonly select: "All categories";
|
|
43
|
+
readonly empty: "No categories yet";
|
|
44
|
+
readonly emptySelection: "All categories";
|
|
45
|
+
};
|
|
39
46
|
};
|
|
40
47
|
export declare const siteOptionLoadFailureMessages: {
|
|
41
48
|
readonly eventSeries: "We couldn't load your events. Please try again.";
|
|
42
49
|
readonly eventCategories: "Failed to load event categories";
|
|
43
50
|
readonly venues: "Failed to load venues";
|
|
44
51
|
readonly staffMembers: "Failed to load staff members";
|
|
52
|
+
readonly appointmentServiceCategories: "Failed to load service categories";
|
|
45
53
|
};
|
|
46
54
|
export declare function mapEventCategoriesToSiteOptionItems(payload: ListEventCategoriesResponse): SiteOptionWidgetItem[];
|
|
47
55
|
export declare function mapEventsToSiteOptionItems(events: readonly Readonly<{
|
|
@@ -65,6 +73,13 @@ export declare function mapEventsToSiteOptionItems(events: readonly Readonly<{
|
|
|
65
73
|
}>[]): SiteOptionWidgetItem[];
|
|
66
74
|
export declare function mapVenuesToSiteOptionItems(payload: ListVenuesResponse): SiteOptionWidgetItem[];
|
|
67
75
|
export declare function mapStaffMembersToSiteOptionItems(payload: ListAppointmentResourcesResponse): SiteOptionWidgetItem[];
|
|
76
|
+
export declare function mapAppointmentServiceCategoriesToSiteOptionItems(payload: ListAppointmentServiceCategoriesResponse): SiteOptionWidgetItem[];
|
|
77
|
+
/**
|
|
78
|
+
* Sources whose single selection has an explicit default option and can go
|
|
79
|
+
* stale (issue 1403). Only appointment-service categories opt in: the event
|
|
80
|
+
* calendar pickers keep their existing behaviour.
|
|
81
|
+
*/
|
|
82
|
+
export declare const siteOptionSingleSelection: Partial<Readonly<Record<SiteOptionSource, SiteOptionSingleSelectionConfig>>>;
|
|
68
83
|
export declare function loadSiteOptionItemsFromApi({ apiClient, siteId, source }: SiteOptionLoadItemsArgs & Readonly<{
|
|
69
84
|
apiClient: ApiClient;
|
|
70
85
|
}>): Promise<SiteOptionWidgetItem[]>;
|
|
@@ -11,10 +11,23 @@ export type SiteOptionWidgetSelectionLabelArgs = {
|
|
|
11
11
|
items: readonly SiteOptionWidgetItem[];
|
|
12
12
|
};
|
|
13
13
|
export type SiteOptionWidgetAdapterLabels = PickerLabels;
|
|
14
|
+
/**
|
|
15
|
+
* Opt-in behaviour for a single-select source. The empty value is offered as
|
|
16
|
+
* a named default option, and a stored value missing from the loaded options
|
|
17
|
+
* (it was deleted) shows `missingSelection.label` with its warning.
|
|
18
|
+
*/
|
|
19
|
+
export type SiteOptionSingleSelectionConfig = Readonly<{
|
|
20
|
+
defaultOptionLabel: string;
|
|
21
|
+
missingSelection: Readonly<{
|
|
22
|
+
label: string;
|
|
23
|
+
warning: string;
|
|
24
|
+
}>;
|
|
25
|
+
}>;
|
|
14
26
|
export type SiteOptionWidgetAdapter = {
|
|
15
27
|
loadItems: (args: SiteOptionWidgetAdapterArgs) => Promise<SiteOptionWidgetItem[]>;
|
|
16
28
|
renderManageLink?: (args: SiteOptionWidgetAdapterArgs) => ReactNode;
|
|
17
29
|
formatSelectionLabel?: (args: SiteOptionWidgetSelectionLabelArgs) => string;
|
|
18
30
|
labels?: SiteOptionWidgetAdapterLabels;
|
|
31
|
+
singleSelection?: SiteOptionSingleSelectionConfig;
|
|
19
32
|
};
|
|
20
33
|
export type SiteOptionWidgetAdapters = Record<SiteOptionSource, SiteOptionWidgetAdapter>;
|
|
@@ -2,4 +2,33 @@ import { type SiteOptionSource } from '../../../../blocks/src/index';
|
|
|
2
2
|
import type { SelectFieldConfig } from '../../../../block-form/src/index';
|
|
3
3
|
export type SiteOptionValue = string | string[] | null | undefined;
|
|
4
4
|
export declare function normalizeSiteOptionMultiValue(value: SiteOptionValue): string[];
|
|
5
|
+
/**
|
|
6
|
+
* A single selection read against the loaded options.
|
|
7
|
+
*
|
|
8
|
+
* - `default`: nothing stored, so the source's default option applies.
|
|
9
|
+
* - `selected`: the stored value is one of the options.
|
|
10
|
+
* - `unresolved`: the options haven't loaded (or failed), so a stored value
|
|
11
|
+
* can't be judged yet. It must not be reported as deleted.
|
|
12
|
+
* - `missing`: the options loaded and the stored value isn't among them, so
|
|
13
|
+
* whatever it pointed at has been deleted.
|
|
14
|
+
*/
|
|
15
|
+
export type SiteOptionSingleSelectionState = Readonly<{
|
|
16
|
+
kind: 'default';
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
kind: 'selected';
|
|
19
|
+
value: string;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'unresolved';
|
|
22
|
+
value: string;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
kind: 'missing';
|
|
25
|
+
value: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function resolveSiteOptionSingleSelection(input: Readonly<{
|
|
28
|
+
value: SiteOptionValue;
|
|
29
|
+
items: readonly Readonly<{
|
|
30
|
+
value: string;
|
|
31
|
+
}>[];
|
|
32
|
+
loaded: boolean;
|
|
33
|
+
}>): SiteOptionSingleSelectionState;
|
|
5
34
|
export declare function getSiteOptionSource(config: SelectFieldConfig): SiteOptionSource | null;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type DesignBlockId } from '../../../../theme-core/src/site-styles/index';
|
|
2
|
+
import { type BoundaryOutcome, type DesignBlockId } from '../../../../theme-core/src/site-styles/index';
|
|
3
3
|
type BoundaryControlProps = Readonly<{
|
|
4
4
|
previousBlockId: DesignBlockId;
|
|
5
5
|
nextBlockId: DesignBlockId;
|
|
6
6
|
previousBlockKind: string;
|
|
7
7
|
nextBlockKind: string;
|
|
8
|
+
/**
|
|
9
|
+
* What the renderer composed for this join, or null when the pair has no
|
|
10
|
+
* break. Informational only: it never changes the controls or the choice.
|
|
11
|
+
*/
|
|
12
|
+
outcome: BoundaryOutcome | null;
|
|
8
13
|
}>;
|
|
9
|
-
export declare function BoundaryControl({ previousBlockId, nextBlockId, previousBlockKind, nextBlockKind, }: BoundaryControlProps): React.JSX.Element | null;
|
|
14
|
+
export declare function BoundaryControl({ previousBlockId, nextBlockId, previousBlockKind, nextBlockKind, outcome, }: BoundaryControlProps): React.JSX.Element | null;
|
|
10
15
|
export {};
|
|
@@ -4,4 +4,4 @@ import type { DraftSnapshot, EditorDraftInspectorStore, EnrichedBlock } from './
|
|
|
4
4
|
import { type PreviewProjection } from '../previewProjection';
|
|
5
5
|
import { type LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
|
|
6
6
|
export declare function getDraftSnapshots(uiStore: EditorDraftInspectorStore): Map<EditorBlockId, DraftSnapshot>;
|
|
7
|
-
export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, projections?: readonly PreviewProjection[], linkedEntryOverlays?: LinkedEntryRenderOverlay
|
|
7
|
+
export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, projections?: readonly PreviewProjection[], linkedEntryOverlays?: LinkedEntryRenderOverlay): EnrichedBlock;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { PageOutline } from '../../../../../blocks/src/index';
|
|
2
2
|
import type { EditorPreviewInspectorStore } from '../../../../../content-editor/src/index';
|
|
3
|
-
import type { EditorBlockId } from '../../../../../core/src/index';
|
|
3
|
+
import type { BlockContentIdentity, EditorBlockId } from '../../../../../core/src/index';
|
|
4
4
|
import type { BlockItem } from '../../../../../editor-blocks/src/index';
|
|
5
5
|
import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from '../previewProjection';
|
|
6
6
|
import type { LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
|
|
7
|
-
export type BlockWithContent = {
|
|
7
|
+
export type BlockWithContent = Partial<BlockContentIdentity> & {
|
|
8
8
|
[key: string]: unknown;
|
|
9
9
|
id: string | null;
|
|
10
10
|
kind: string;
|
|
@@ -19,7 +19,7 @@ export type DraftSnapshot = {
|
|
|
19
19
|
baseline: CanonicalBlockContent | null;
|
|
20
20
|
current: CanonicalBlockContent | null;
|
|
21
21
|
};
|
|
22
|
-
export type EnrichedBlock = {
|
|
22
|
+
export type EnrichedBlock = BlockContentIdentity & {
|
|
23
23
|
id: string | null;
|
|
24
24
|
kind: string;
|
|
25
25
|
purpose: string;
|
package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts
CHANGED
|
@@ -3,7 +3,5 @@ import type { BlockItem } from '../../../../../editor-blocks/src/index';
|
|
|
3
3
|
import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from './types';
|
|
4
4
|
export declare function applyPreviewStructureProjections(blockItems: readonly BlockItem[], projections: readonly PreviewProjection[]): BlockItem[];
|
|
5
5
|
export declare function applyPreviewContentFieldProjections(blockId: EditorBlockId, content: CanonicalBlockContent | null, projections: readonly PreviewProjection[]): CanonicalBlockContent | PreviewRenderContent | null;
|
|
6
|
-
export declare function applyPreviewRuntimeContentProjections(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projections: readonly PreviewProjection[]
|
|
7
|
-
nextContent: Record<string, unknown> | null | undefined;
|
|
8
|
-
}>): CanonicalBlockContent | PreviewRenderContent | null;
|
|
6
|
+
export declare function applyPreviewRuntimeContentProjections(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projections: readonly PreviewProjection[]): CanonicalBlockContent | PreviewRenderContent | null;
|
|
9
7
|
export declare function blockHasPreviewContentFieldProjection(blockId: EditorBlockId, projections: readonly PreviewProjection[]): boolean;
|
package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BlockItem } from '../../../../../editor-blocks/src/index';
|
|
2
|
-
import { type DesignRuntimeRules, type PageDesignEditorReadModel, type
|
|
2
|
+
import { type DesignRuntimeRules, type PageDesignEditorReadModel, type SurfaceResolutionContext } from '../../../../../theme-core/src/site-styles/previewCompiler';
|
|
3
3
|
import type { CanonicalBlockContent, PreviewRenderContent, RuntimeContentDecorationProjection } from './types';
|
|
4
4
|
import type { ComponentRuntimeRules } from '../../../../../theme-core/src/site-styles/previewCompiler';
|
|
5
5
|
export declare function runtimeContentDecorationProjectionFromEditorModel(editorModel: PageDesignEditorReadModel, surfaceResolutionContext: SurfaceResolutionContext, designRules?: DesignRuntimeRules, componentRules?: ComponentRuntimeRules): RuntimeContentDecorationProjection;
|
|
6
|
-
export declare function applyRuntimeContentDecorationProjection(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projection: RuntimeContentDecorationProjection
|
|
6
|
+
export declare function applyRuntimeContentDecorationProjection(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projection: RuntimeContentDecorationProjection): PreviewRenderContent;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EditorBlockId } from '../../../../../core/src/index';
|
|
2
2
|
import type { BlockItem } from '../../../../../editor-blocks/src/index';
|
|
3
|
-
import type { CompiledBlockRuntimeFields,
|
|
3
|
+
import type { CompiledBlockRuntimeFields, DesignBlockId, PageRuntimeJoin } from '../../../../../theme-core/src/site-styles/previewCompiler';
|
|
4
4
|
export type CanonicalBlockContent = Record<string, unknown> & {
|
|
5
5
|
readonly __contentAuthority?: 'canonical-block-content';
|
|
6
6
|
};
|
|
@@ -55,7 +55,7 @@ export type PreviewProjection = Readonly<{
|
|
|
55
55
|
kind: 'runtime-content-decoration';
|
|
56
56
|
source: 'page-design';
|
|
57
57
|
fieldsByBlockId: ReadonlyMap<DesignBlockId, CompiledBlockRuntimeFields>;
|
|
58
|
-
|
|
58
|
+
joins: readonly PageRuntimeJoin<DesignBlockId>[];
|
|
59
59
|
}>;
|
|
60
60
|
export type StructureProjection = Extract<PreviewProjection, {
|
|
61
61
|
kind: 'structure-overlay';
|
|
@@ -11,7 +11,7 @@ export type PreviewBlock = {
|
|
|
11
11
|
publishedContent?: Record<string, unknown> | null;
|
|
12
12
|
bindings?: Record<string, unknown> | null;
|
|
13
13
|
optimisticHash?: string | null;
|
|
14
|
-
}
|
|
14
|
+
} & Partial<import('../../../../core/src/index').BlockContentIdentity>;
|
|
15
15
|
export type PreviewPageMetadata = {
|
|
16
16
|
draftTitle: string;
|
|
17
17
|
draftPath: string;
|
|
@@ -7,6 +7,14 @@ export type PublishedRuntimeCacheKey = string & {
|
|
|
7
7
|
export type PublishedRuntimeCachePayloadSchemaVersion = number & {
|
|
8
8
|
readonly [publishedRuntimeCachePayloadSchemaVersionBrand]: 'PublishedRuntimeCachePayloadSchemaVersion';
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Bump when a cached payload's shape changes incompatibly, so readers skip
|
|
12
|
+
* entries written in the old shape until publish or a live success rewrites
|
|
13
|
+
* them.
|
|
14
|
+
*
|
|
15
|
+
* - 2: pages carry intent-only `runtimeJoins` in place of compiled
|
|
16
|
+
* `runtimeBoundaries` (issue 1422).
|
|
17
|
+
*/
|
|
10
18
|
export declare const DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION: PublishedRuntimeCachePayloadSchemaVersion;
|
|
11
19
|
export type GetSiteRuntimeCacheParams = Readonly<Pick<GetSiteParams, 'id' | 'slug' | 'domain' | 'currentPath' | 'force'>>;
|
|
12
20
|
export type GetContentByPathRuntimeCacheParams = Readonly<Pick<GetPageParams, 'siteId' | 'path' | 'preview'>>;
|
|
@@ -2,7 +2,7 @@ import type { CalendarWindowRequest, CalendarWindowPage } from '../../../blocks/
|
|
|
2
2
|
import type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, PublicEventsResponse, ResolveEventOccurrenceResponse, ResolveEventRunResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, PublicProductCategorySelector } from '../public-api/contracts';
|
|
3
3
|
import type { PublishedRuntimeCacheAdapter, PublishedRuntimeCacheAdapterErrorKind } from './runtimeCachePolicy';
|
|
4
4
|
import type { EventPageSurfaceSubjectRefWire } from '../../../core/src/index';
|
|
5
|
-
export type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicEventsResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, ResolveEventOccurrenceResponse, ResolveEventRunResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, } from '../public-api/contracts';
|
|
5
|
+
export type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServiceCatalogueItem, PublicBookingServicesResponse, PublicServiceCategorySummary, PublicWeeklySlotAvailabilityResponse, PublicEventsResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, ResolveEventOccurrenceResponse, ResolveEventRunResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, } from '../public-api/contracts';
|
|
6
6
|
/**
|
|
7
7
|
* Pagination metadata returned when `includeMeta: true`
|
|
8
8
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
|
|
2
2
|
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardRole, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, IntroContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, OfferingsPreviewContent, ProductDetailContent, ProductListContent, RecurringScheduleContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
|
|
3
|
-
export type { PageOutline,
|
|
3
|
+
export type { PageOutline, PageRuntimeJoin, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
|
|
4
4
|
export type { Theme, ThemeTokens } from './theme';
|
|
5
5
|
export type { CustomCssDeclarationsInput, CustomCssRuleInput, CustomCssNestedRuleInput, CustomCssAtRuleInput, KeyframesAtRuleInput, FontFaceAtRuleInput, MediaAtRuleInput, SupportsAtRuleInput, RawAtRuleInput, } from './custom-css';
|
|
6
6
|
export type { BindingSource, BindingTransformName, BindingDescriptor, BindingInput, BindingMap, BindingContext, } from './bindings';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Keep these types structurally compatible with the API responses.
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { PageRuntimeJoin as ThemeCorePageRuntimeJoin } from '../../../theme-core/src/site-styles/index';
|
|
7
7
|
export type BlockOutline = {
|
|
8
8
|
id: string | null;
|
|
9
9
|
kind: string;
|
|
@@ -19,7 +19,12 @@ export type PageOutline = {
|
|
|
19
19
|
purpose: string;
|
|
20
20
|
blocks: BlockOutline[];
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* A section break between two adjacent blocks, sent as intent only. The
|
|
24
|
+
* renderer composes placement, paint and reserves from the blocks' final
|
|
25
|
+
* content; the boundary id derives from the two block ids.
|
|
26
|
+
*/
|
|
27
|
+
export type PageRuntimeJoin = ThemeCorePageRuntimeJoin<string>;
|
|
23
28
|
export type RouteMapEntry = string | {
|
|
24
29
|
path?: string | null;
|
|
25
30
|
href?: string | null;
|
|
@@ -559,6 +559,11 @@ export type AppointmentBookingContent = {
|
|
|
559
559
|
export type AppointmentServicesContent = {
|
|
560
560
|
heading?: string | null;
|
|
561
561
|
description?: unknown;
|
|
562
|
+
/**
|
|
563
|
+
* Show one appointment-service category, with its heading and intro. Unset
|
|
564
|
+
* shows every category grouped; a deleted category falls back to that.
|
|
565
|
+
*/
|
|
566
|
+
categoryId?: string | null;
|
|
562
567
|
_sectionStyles?: SectionStylesContent;
|
|
563
568
|
};
|
|
564
569
|
export type WeeklySlotAvailabilityContent = {
|
|
@@ -19,10 +19,10 @@ export declare const fieldTypeEnum: z.ZodEnum<{
|
|
|
19
19
|
boolean: "boolean";
|
|
20
20
|
link: "link";
|
|
21
21
|
text: "text";
|
|
22
|
+
group: "group";
|
|
22
23
|
select: "select";
|
|
23
24
|
media: "media";
|
|
24
25
|
repeater: "repeater";
|
|
25
|
-
group: "group";
|
|
26
26
|
richText: "richText";
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
@@ -167,8 +167,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
|
|
|
167
167
|
blockDescription: z.ZodNullable<z.ZodString>;
|
|
168
168
|
category: z.ZodEnum<{
|
|
169
169
|
content: "content";
|
|
170
|
-
media: "media";
|
|
171
170
|
layout: "layout";
|
|
171
|
+
media: "media";
|
|
172
172
|
marketing: "marketing";
|
|
173
173
|
blog: "blog";
|
|
174
174
|
interactive: "interactive";
|
|
@@ -11,7 +11,6 @@ type CommonRenderInput = Readonly<{
|
|
|
11
11
|
content: LoadContentResult;
|
|
12
12
|
entrySubrouteContext: ReturnType<typeof toEntrySubrouteContext>;
|
|
13
13
|
portalToken: string | null;
|
|
14
|
-
preview: boolean;
|
|
15
14
|
}>;
|
|
16
15
|
export type SdkContentRenderInput = CommonRenderInput & (Readonly<{
|
|
17
16
|
kind: 'themed';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AddressedLocationValue, BusinessAddress } from '../../../core/src/index';
|
|
2
2
|
import type { ResolvedInternalLinkEntityType } from '../../../blocks/src/index';
|
|
3
|
-
import type { APIEndpoints, PublicBookingService as ApiPublicBookingService, RoutableContentItem as ApiRoutableContentItem, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBySlugResponse as ApiSiteBySlugResponse, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary, SdkBlockContentAdmission } from '../../../api/src/index';
|
|
3
|
+
import type { APIEndpoints, PublicBookingService as ApiPublicBookingService, PublicBookingServiceCatalogueItem as ApiPublicBookingServiceCatalogueItem, PublicBookingServicesResponse as ApiPublicBookingServicesResponse, PublicServiceCategorySummary as ApiPublicServiceCategorySummary, RoutableContentItem as ApiRoutableContentItem, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBySlugResponse as ApiSiteBySlugResponse, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary, SdkBlockContentAdmission } from '../../../api/src/index';
|
|
4
4
|
import type { MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent } from '../contracts';
|
|
5
|
-
import type {
|
|
5
|
+
import type { PageRuntimeJoin } from '../../../theme-core/src/site-styles/index';
|
|
6
6
|
import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
|
|
7
7
|
import type { PublicTeamMemberBlockItem } from './teamMemberContracts';
|
|
8
8
|
import type { ResolveEventSubrouteResponse } from './eventSubrouteContracts';
|
|
@@ -370,7 +370,7 @@ export type SdkRuntimePage = {
|
|
|
370
370
|
content: Record<string, unknown>;
|
|
371
371
|
admission?: SdkBlockContentAdmission;
|
|
372
372
|
}>;
|
|
373
|
-
|
|
373
|
+
runtimeJoins?: readonly PageRuntimeJoin<string>[];
|
|
374
374
|
};
|
|
375
375
|
export type SdkTemplate = {
|
|
376
376
|
id: string;
|
|
@@ -562,11 +562,9 @@ export type PublicFormsResponse = {
|
|
|
562
562
|
forms: FormRecord[];
|
|
563
563
|
};
|
|
564
564
|
export type PublicBookingService = ApiPublicBookingService;
|
|
565
|
-
export type
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
}>;
|
|
569
|
-
};
|
|
565
|
+
export type PublicServiceCategorySummary = ApiPublicServiceCategorySummary;
|
|
566
|
+
export type PublicBookingServiceCatalogueItem = ApiPublicBookingServiceCatalogueItem;
|
|
567
|
+
export type PublicBookingServicesResponse = ApiPublicBookingServicesResponse;
|
|
570
568
|
export type PublicWeeklySlotAvailabilityOption = {
|
|
571
569
|
id: string;
|
|
572
570
|
resourceId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { BlockLoaderFailures } from '../../../blocks/src/system/data/index';
|
|
3
3
|
import type { RenderablePageOutline as BlocksRenderablePageOutline } from '../../../blocks/src/index';
|
|
4
|
-
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline,
|
|
4
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeJoin, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
|
|
5
5
|
import type { SdkCustomBlock } from '../config/types';
|
|
6
6
|
import type { BlockOverrides } from './overrides';
|
|
7
7
|
import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
|
|
@@ -28,7 +28,7 @@ export type PageRendererDataContext = {
|
|
|
28
28
|
bookingOfferingPresets?: readonly SiteBookingOfferingPresetSummary[];
|
|
29
29
|
mailingList?: import('../../../core/src/index').MailingListRuntimeContext;
|
|
30
30
|
bookingTimeZone?: string;
|
|
31
|
-
previewStage
|
|
31
|
+
previewStage: 'published' | 'preview';
|
|
32
32
|
routes?: RouteMap;
|
|
33
33
|
pagesByIdentifier?: Record<string, string>;
|
|
34
34
|
entriesByIdentifier?: Record<string, Record<string, string>>;
|
|
@@ -56,8 +56,8 @@ export type SdkConfigForRenderer = {
|
|
|
56
56
|
};
|
|
57
57
|
type PageRendererCommonProps<TPage> = {
|
|
58
58
|
page: TPage | null;
|
|
59
|
-
|
|
60
|
-
dataContext
|
|
59
|
+
runtimeJoins?: readonly PageRuntimeJoin[];
|
|
60
|
+
dataContext: PageRendererDataContext;
|
|
61
61
|
routeMap?: RouteMap;
|
|
62
62
|
wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
|
|
63
63
|
registry?: ComponentRegistry;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
-
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData,
|
|
2
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageRuntimeJoin, RouteMap, Theme, ThemeTokens } from '../../contracts';
|
|
3
3
|
import type { ResolvedBlockData } from '../../data';
|
|
4
4
|
import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
|
|
5
5
|
import type { RuntimeSdkConfig } from '../helpers/loadPage';
|
|
@@ -10,7 +10,7 @@ import type { SdkCustomBlock } from '../../config/types';
|
|
|
10
10
|
import type { SdkRenderingMode } from '../renderingMode';
|
|
11
11
|
type PageCommonProps = {
|
|
12
12
|
page: RenderablePageOutline;
|
|
13
|
-
|
|
13
|
+
runtimeJoins?: readonly PageRuntimeJoin[];
|
|
14
14
|
siteId: string;
|
|
15
15
|
resolvedData?: ResolvedBlockData;
|
|
16
16
|
bookingOfferingPresets?: readonly SiteBookingOfferingPresetSummary[];
|
|
@@ -60,7 +60,7 @@ type PageCommonProps = {
|
|
|
60
60
|
* Additional context data for content entry pages.
|
|
61
61
|
* Used to pass occurrence context and content entry data to blocks.
|
|
62
62
|
*/
|
|
63
|
-
dataContext
|
|
63
|
+
dataContext: {
|
|
64
64
|
readAuthority?: import('../../../../blocks/src/api').BrowserReadAuthority;
|
|
65
65
|
/** Mailing-list runtime projected for the placements on this page. */
|
|
66
66
|
mailingList?: import('../../../../core/src/index').MailingListRuntimeContext;
|
|
@@ -77,7 +77,7 @@ type PageCommonProps = {
|
|
|
77
77
|
/** Editable route metadata keys for template-page inline editing */
|
|
78
78
|
editableRouteMetadataFieldIds?: ReadonlyArray<string> | null;
|
|
79
79
|
/** Preview stage: 'preview' for draft content, 'published' for live content */
|
|
80
|
-
previewStage
|
|
80
|
+
previewStage: 'preview' | 'published';
|
|
81
81
|
/** Canonical request pathname used by blocks when resolving same-site destinations. */
|
|
82
82
|
pathname?: string;
|
|
83
83
|
};
|
|
@@ -11,7 +11,7 @@ import type { MailingListRuntimeContext } from '../../../../core/src/index';
|
|
|
11
11
|
import type { PageProps } from '../components/Page';
|
|
12
12
|
import type { ResolvedBlockData } from '../../data/prefetchBlockData';
|
|
13
13
|
import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
|
|
14
|
-
import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
|
|
14
|
+
import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderSearchParams } from '../../data/types';
|
|
15
15
|
import type { SdkCustomBlock } from '../../config/types';
|
|
16
16
|
import { type RuntimeSdkConfig } from './pageRuntimeSupport';
|
|
17
17
|
/**
|
|
@@ -93,6 +93,9 @@ export type PagePreviewMetadata = {
|
|
|
93
93
|
*/
|
|
94
94
|
export type PageContentResult = {
|
|
95
95
|
type: 'page';
|
|
96
|
+
dataContext: {
|
|
97
|
+
previewStage: DataLoaderPreviewStage;
|
|
98
|
+
};
|
|
96
99
|
/** Page UUID (required for preview editing / block mutations) */
|
|
97
100
|
pageId: string;
|
|
98
101
|
/** Route UUID for this page (used by preview mode metadata editing) */
|
|
@@ -101,7 +104,7 @@ export type PageContentResult = {
|
|
|
101
104
|
pageMetadata: PagePreviewMetadata;
|
|
102
105
|
/** Page outline ready for rendering with <Page> component */
|
|
103
106
|
page: PageProps['page'];
|
|
104
|
-
|
|
107
|
+
runtimeJoins?: PageProps['runtimeJoins'];
|
|
105
108
|
/** Site theme for styling */
|
|
106
109
|
theme: Theme | null;
|
|
107
110
|
/** Site ID */
|
|
@@ -153,6 +156,7 @@ export type EntryContentResult = {
|
|
|
153
156
|
bookingTimeZone?: string;
|
|
154
157
|
/** Data context for template blocks (includes entry content for bindings) */
|
|
155
158
|
dataContext: {
|
|
159
|
+
previewStage: DataLoaderPreviewStage;
|
|
156
160
|
contentEntry: Record<string, unknown>;
|
|
157
161
|
};
|
|
158
162
|
/** Site theme for styling (useful if rendering with SDK components) */
|
|
@@ -217,6 +221,7 @@ export type PageSurfaceContentResult = {
|
|
|
217
221
|
mailingList?: MailingListRuntimeContext;
|
|
218
222
|
bookingTimeZone?: string;
|
|
219
223
|
dataContext: {
|
|
224
|
+
previewStage: DataLoaderPreviewStage;
|
|
220
225
|
pageSurface: Record<string, unknown>;
|
|
221
226
|
subject: PageSurfaceContentData['subject'];
|
|
222
227
|
};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { RiverbankClient } from '../../client/types';
|
|
7
7
|
import type { PageProps } from '../components/Page';
|
|
8
8
|
import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
|
|
9
|
-
import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
|
|
9
|
+
import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderSearchParams } from '../../data/types';
|
|
10
10
|
import { type RuntimeSdkConfig } from './pageRuntimeSupport';
|
|
11
11
|
/**
|
|
12
12
|
* SDK config from API response (without siteId which is stripped at storage).
|
|
@@ -79,7 +79,10 @@ export type LoadPageParams = {
|
|
|
79
79
|
*/
|
|
80
80
|
searchParams?: DataLoaderSearchParams;
|
|
81
81
|
};
|
|
82
|
-
export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'blockOverrides' | 'sdkConfig'> & {
|
|
82
|
+
export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'blockOverrides' | 'sdkConfig' | 'dataContext'> & {
|
|
83
|
+
dataContext: {
|
|
84
|
+
previewStage: DataLoaderPreviewStage;
|
|
85
|
+
};
|
|
83
86
|
/**
|
|
84
87
|
* SDK site configuration, if available.
|
|
85
88
|
* Contains SDK-defined theme palette, section backgrounds, and style options.
|
|
@@ -2,7 +2,8 @@ import type { MediaAssetIndexItem, PageOutline, RouteMap, Theme } from '../../co
|
|
|
2
2
|
import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
|
|
3
3
|
import type { SiteResponse } from '../../client/types';
|
|
4
4
|
import type { SdkCustomBlock } from '../../config/types';
|
|
5
|
-
import { type BlockManifest, type FieldDefinition, type PageBlockRenderAdmissionError, type RenderablePageBlock, type RenderablePageOutline } from '../../../../blocks/src/index';
|
|
5
|
+
import { type BlockManifest, type FieldDefinition, type PageBlockRenderAdmissionError, type PublishedBlockPlacement, type RenderablePageBlock, type RenderablePageOutline } from '../../../../blocks/src/index';
|
|
6
|
+
import type { DataLoaderPreviewStage } from '../../data/types';
|
|
6
7
|
export type RuntimeSdkConfig = NonNullable<SiteResponse['sdkConfig']>;
|
|
7
8
|
export type SiteData = SiteResponse['site'];
|
|
8
9
|
export type SiteRenderSupport = Readonly<{
|
|
@@ -40,6 +41,8 @@ export declare function buildSiteRenderSupport(site: SiteResponse, mediaAssets:
|
|
|
40
41
|
export declare function collectMediaAssetSidecar(mediaAssets: readonly MediaAssetIndexItem[] | null | undefined): readonly MediaAssetIndexItem[] | undefined;
|
|
41
42
|
type TransportedPageBlock = PageOutline['blocks'][number] & Readonly<{
|
|
42
43
|
contentVersionId?: string | null;
|
|
44
|
+
draftContentId: string | null;
|
|
45
|
+
publishedPlacement: PublishedBlockPlacement | null;
|
|
43
46
|
}>;
|
|
44
47
|
export declare function readInvalidBlockAdmission(value: unknown): Readonly<{
|
|
45
48
|
kind: 'invalid';
|
|
@@ -51,6 +54,7 @@ export declare function buildPageOutline(input: Readonly<{
|
|
|
51
54
|
fallbackPath: string;
|
|
52
55
|
purpose: string;
|
|
53
56
|
blocks: readonly unknown[];
|
|
57
|
+
previewStage: DataLoaderPreviewStage;
|
|
54
58
|
}>): Omit<PageOutline, 'blocks'> & Readonly<{
|
|
55
59
|
blocks: TransportedPageBlock[];
|
|
56
60
|
}>;
|
|
@@ -60,6 +64,7 @@ export declare function buildRenderablePageOutline(input: Readonly<{
|
|
|
60
64
|
fallbackPath: string;
|
|
61
65
|
purpose: string;
|
|
62
66
|
blocks: readonly unknown[];
|
|
67
|
+
previewStage: DataLoaderPreviewStage;
|
|
63
68
|
customBlocks?: readonly SdkCustomBlock[];
|
|
64
69
|
}>): RenderablePageOutline;
|
|
65
70
|
export declare function projectRenderablePageOutline(page: RenderablePageOutline): PageOutline;
|
|
@@ -8,6 +8,7 @@ import type { MediaAssetIndexItem, Theme } from '../../contracts';
|
|
|
8
8
|
import type { RiverbankClient } from '../../client/types';
|
|
9
9
|
import type { PageProps } from '../components/Page';
|
|
10
10
|
import type { ResolvedBlockData } from '../../data/prefetchBlockData';
|
|
11
|
+
import type { DataLoaderPreviewStage } from '../../data/types';
|
|
11
12
|
import type { ContentEntryData } from '../helpers/loadContent';
|
|
12
13
|
export type UseContentParams = {
|
|
13
14
|
client: RiverbankClient;
|
|
@@ -56,11 +57,14 @@ type PageSuccessState = {
|
|
|
56
57
|
error: null;
|
|
57
58
|
type: 'page';
|
|
58
59
|
page: PageProps['page'];
|
|
59
|
-
|
|
60
|
+
runtimeJoins?: PageProps['runtimeJoins'];
|
|
60
61
|
entry: null;
|
|
61
62
|
theme: Theme | null;
|
|
62
63
|
siteId: string;
|
|
63
64
|
resolvedData: ResolvedBlockData;
|
|
65
|
+
dataContext: {
|
|
66
|
+
previewStage: DataLoaderPreviewStage;
|
|
67
|
+
};
|
|
64
68
|
supabaseUrl?: string;
|
|
65
69
|
mediaAssets?: readonly MediaAssetIndexItem[];
|
|
66
70
|
};
|
|
@@ -117,7 +121,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
|
|
|
117
121
|
*
|
|
118
122
|
* if (isPageContentResult(content)) {
|
|
119
123
|
* if (!content.theme) return <div>This site needs a theme before it can be displayed.</div>;
|
|
120
|
-
* return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} />;
|
|
124
|
+
* return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} dataContext={content.dataContext} />;
|
|
121
125
|
* }
|
|
122
126
|
*
|
|
123
127
|
* // Render entry with custom UI
|