@riverbankcms/sdk 0.74.0 → 0.76.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 +2 -0
- package/dist/{PreviewEditorSidebar-5XL7M3OM.mjs → PreviewEditorSidebar-X2HWXFOL.mjs} +172 -89
- package/dist/{PreviewEditorUI-ZDFRDJID.mjs → PreviewEditorUI-AQXIXPOH.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +8 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
- package/dist/_dts/api/src/cache-tags.d.ts +22 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -24
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +13 -4
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -2
- package/dist/_dts/block-form/src/client/index.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
- package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
- package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/client/events.d.ts +6 -0
- package/dist/_dts/blocks/src/client/form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/header.d.ts +1 -0
- package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
- package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +3 -27
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
- package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
- package/dist/_dts/sdk/src/components.d.ts +2 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +4 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/{chunk-2MIWNFJM.mjs → chunk-LYI7TEMH.mjs} +494 -171
- package/dist/{chunk-YY7K3QD2.mjs → chunk-Q4OLG66B.mjs} +9 -9
- package/dist/{chunk-CEQBBLMJ.mjs → chunk-TW2Y4RR5.mjs} +69 -14
- package/dist/{chunk-CBD47MTM.mjs → chunk-V5VORNEJ.mjs} +2 -2
- package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
- package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
- package/dist/cli/index.mjs +3395 -3753
- package/dist/client/{accordion-ZZVXWV3N.mjs → accordion-2YHIBOZH.mjs} +1 -1
- package/dist/client/bookingForm-35IBDWAS.mjs +3012 -0
- package/dist/client/bookings.mjs +30 -21
- package/dist/client/{carousel-25WK2H7G.mjs → carousel-K6XG7NZQ.mjs} +3 -2
- package/dist/client/cart-HCFYUTTU.mjs +18 -0
- package/dist/client/checkout-J3U4XR7K.mjs +18 -0
- package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
- package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
- package/dist/client/{chunk-6VGXRE34.mjs → chunk-7UOSCYY4.mjs} +76 -29
- package/dist/client/chunk-BOIHIU7E.mjs +106 -0
- package/dist/client/chunk-F7LHOKEH.mjs +146 -0
- package/dist/client/chunk-FGUIVT2B.mjs +204 -0
- package/dist/client/chunk-I2MMZO53.mjs +6 -0
- package/dist/client/chunk-II7O4XN3.mjs +2206 -0
- package/dist/client/chunk-J227A3CQ.mjs +245 -0
- package/dist/client/chunk-JEZECJ3W.mjs +383 -0
- package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
- package/dist/client/chunk-OJPZEZU2.mjs +31 -0
- package/dist/client/chunk-PFBX3IQL.mjs +1378 -0
- package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
- package/dist/client/chunk-SNSWVZEP.mjs +5592 -0
- package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
- package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
- package/dist/client/client.mjs +54052 -54518
- package/dist/client/courseRegistration-ZBXS7VGI.mjs +1737 -0
- package/dist/client/{eventCalendar-X6GIPYFM.mjs → eventCalendar-EQQZHJBA.mjs} +13 -2
- package/dist/client/{eventCombined-EZUOPM3G.mjs → eventCombined-JCFTGBFQ.mjs} +13 -2
- package/dist/client/eventDetails-HLUTQSYY.mjs +25 -0
- package/dist/client/{eventListing-HEFGAETC.mjs → eventListing-FG4MICVB.mjs} +13 -2
- package/dist/client/{eventRegistration-3LCP2V3P.mjs → eventRegistration-GUEB7LBT.mjs} +13 -2
- package/dist/client/form-YQEW4YIT.mjs +300 -0
- package/dist/client/headerSection-GTR3TTRM.mjs +729 -0
- package/dist/client/hooks.mjs +49 -33
- package/dist/client/locationMap-SPC7VGUH.mjs +227 -0
- package/dist/client/newsletterForm-4IW5BLID.mjs +208 -0
- package/dist/client/productDetail-KP5H2WJO.mjs +18 -0
- package/dist/client/productList-3M3M72XZ.mjs +18 -0
- package/dist/client/rendering/client.mjs +15580 -16277
- package/dist/client/rendering/islands.mjs +98 -21
- package/dist/client/rendering.mjs +48730 -49191
- package/dist/client/shop-ACQKVGOM.mjs +20 -0
- package/dist/preview-next/before-render.mjs +37 -25
- package/dist/preview-next/chrome.css +1 -1
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/editor-base.css +2 -148
- package/dist/preview-next/editor-chrome.css +179 -0
- package/dist/preview-next/middleware.mjs +37 -25
- package/dist/{sdk-runtime-OHNONZ5U.mjs → sdk-runtime-K7HNB4U2.mjs} +6 -6
- package/dist/server/components.mjs +1294 -1103
- package/dist/server/config-validation.mjs +49 -33
- package/dist/server/config.mjs +49 -33
- package/dist/server/data.mjs +49 -33
- package/dist/server/index.mjs +45 -33
- package/dist/server/next.mjs +1240 -1050
- package/dist/server/page-converter.mjs +12 -8
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1389 -1104
- package/dist/server/rendering.mjs +1300 -1109
- package/dist/server/routing.mjs +49 -33
- package/dist/server/server.mjs +50 -34
- package/dist/server/theme-bridge.mjs +5 -0
- package/dist/styles/index.css +5 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-CRYNDSPL.mjs +0 -8
- package/dist/client/bookingForm-4X77HKDS.mjs +0 -34
- package/dist/client/cart-JWD2VRFU.mjs +0 -11
- package/dist/client/checkout-V7KYGWL7.mjs +0 -11
- package/dist/client/chunk-5IYGMTUE.mjs +0 -18614
- package/dist/client/chunk-RKCFVIMS.mjs +0 -26
- package/dist/client/courseRegistration-O6ZPK4YT.mjs +0 -29
- package/dist/client/eventDetails-3WODIXET.mjs +0 -14
- package/dist/client/form-AKXQMY6Z.mjs +0 -85
- package/dist/client/headerSection-5KHCMU6B.mjs +0 -12
- package/dist/client/locationMap-7HIADW76.mjs +0 -14
- package/dist/client/newsletterForm-5N4YTMU3.mjs +0 -60
- package/dist/client/productDetail-IZUA7ZP3.mjs +0 -11
- package/dist/client/productList-KWIIJE6I.mjs +0 -11
- package/dist/client/shop-XZQFRQWZ.mjs +0 -13
|
@@ -1,30 +1,8 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { type InteractiveIslandProps } from "../../../contracts/islands";
|
|
3
|
-
import { type BookingFormService, type BookingFormConfig, type BookingFormServicesSource
|
|
2
|
+
import { type BookingFormService, type BookingFormConfig, type BookingFormServicesSource } from "./booking-form.state";
|
|
3
|
+
import { type BookingFormRebookContext, type BookingFormSourceProps } from "./booking-runtime-sources";
|
|
4
4
|
export type { BookingFormConfig, BookingFormService };
|
|
5
|
-
export type BookingFormRebookContext
|
|
6
|
-
kind: "portal_rebook";
|
|
7
|
-
}>;
|
|
8
|
-
export type BookingFormSourceProps = Readonly<{
|
|
9
|
-
siteId?: string;
|
|
10
|
-
apiBaseUrl?: string;
|
|
11
|
-
portalToken?: string | null;
|
|
12
|
-
formId?: string;
|
|
13
|
-
serviceId?: string | null;
|
|
14
|
-
resourceId?: string | null;
|
|
15
|
-
initialData?: Readonly<Record<string, unknown>> | null;
|
|
16
|
-
noticeMessage?: string | null;
|
|
17
|
-
requiresServiceSelection?: boolean;
|
|
18
|
-
requiresResourceSelection?: boolean;
|
|
19
|
-
shouldAutoSelectSingleResource?: boolean;
|
|
20
|
-
rebookContext?: BookingFormRebookContext | null;
|
|
21
|
-
submitLabel?: string | null;
|
|
22
|
-
successMessage?: string | null;
|
|
23
|
-
form?: BookingFormSourceRecord | null;
|
|
24
|
-
services?: BookingFormServicesSource | null;
|
|
25
|
-
spamProtectionEnabled?: boolean;
|
|
26
|
-
className?: string | null;
|
|
27
|
-
}>;
|
|
5
|
+
export type { BookingFormRebookContext, BookingFormSourceProps };
|
|
28
6
|
export type BookingFormDisplay = Readonly<{
|
|
29
7
|
kind: "booking-form";
|
|
30
8
|
state: "missing" | "ready";
|
|
@@ -47,8 +25,6 @@ export type BookingFormHydration = Readonly<{
|
|
|
47
25
|
services: readonly BookingFormService[];
|
|
48
26
|
spamProtectionEnabled?: boolean;
|
|
49
27
|
}>;
|
|
50
|
-
export declare const bookingSettingsSchema: z.ZodType<BookingFormSettings>;
|
|
51
|
-
export declare const bookingSourceFormSchema: z.ZodType<BookingFormSourceRecord>;
|
|
52
28
|
type BookingFormIslandMeta = Readonly<{
|
|
53
29
|
siteId?: string;
|
|
54
30
|
apiBaseUrl?: string;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { PublicEvent } from "../../blocks/events/shared/types";
|
|
3
|
+
import type { BookingFormField, BookingFormService, BookingFormServicesSource, BookingFormSettings, BookingFormSourceRecord } from "./booking-form.state";
|
|
4
|
+
import type { EventRegistrationContentEntry, EventRegistrationSourceProps } from "./event-registration.interactive";
|
|
5
|
+
export declare const APPOINTMENT_BOOKING_RUNTIME_FORM_ID = "booking-form";
|
|
6
|
+
export type BookingFormRebookContext = Readonly<{
|
|
7
|
+
kind: "portal_rebook";
|
|
8
|
+
}>;
|
|
9
|
+
export type BookingFormSourceProps = Readonly<{
|
|
10
|
+
siteId?: string;
|
|
11
|
+
apiBaseUrl?: string;
|
|
12
|
+
portalToken?: string | null;
|
|
13
|
+
formId?: string;
|
|
14
|
+
serviceId?: string | null;
|
|
15
|
+
resourceId?: string | null;
|
|
16
|
+
initialData?: Readonly<Record<string, unknown>> | null;
|
|
17
|
+
noticeMessage?: string | null;
|
|
18
|
+
requiresServiceSelection?: boolean;
|
|
19
|
+
requiresResourceSelection?: boolean;
|
|
20
|
+
shouldAutoSelectSingleResource?: boolean;
|
|
21
|
+
rebookContext?: BookingFormRebookContext | null;
|
|
22
|
+
submitLabel?: string | null;
|
|
23
|
+
successMessage?: string | null;
|
|
24
|
+
form?: BookingFormSourceRecord | null;
|
|
25
|
+
services?: BookingFormServicesSource | null;
|
|
26
|
+
spamProtectionEnabled?: boolean;
|
|
27
|
+
className?: string | null;
|
|
28
|
+
}>;
|
|
29
|
+
export declare const bookingFieldSchema: z.ZodType<BookingFormField>;
|
|
30
|
+
export declare const bookingSettingsSchema: z.ZodType<BookingFormSettings>;
|
|
31
|
+
export declare const bookingSourceFormSchema: z.ZodType<BookingFormSourceRecord>;
|
|
32
|
+
export type AppointmentBookingRuntimeTarget = Readonly<{
|
|
33
|
+
kind: "appointment-form";
|
|
34
|
+
formId: string;
|
|
35
|
+
requestedServiceId: string | null;
|
|
36
|
+
requestedResourceId: string | null;
|
|
37
|
+
rebookContext: BookingFormRebookContext | null;
|
|
38
|
+
}>;
|
|
39
|
+
export type EventRegistrationRuntimeTarget = Readonly<{
|
|
40
|
+
kind: "event-occurrence";
|
|
41
|
+
occurrenceId: string;
|
|
42
|
+
seriesId: string | null;
|
|
43
|
+
}> | Readonly<{
|
|
44
|
+
kind: "event-series";
|
|
45
|
+
seriesId: string;
|
|
46
|
+
}>;
|
|
47
|
+
export type BookingRuntimeTarget = AppointmentBookingRuntimeTarget | EventRegistrationRuntimeTarget;
|
|
48
|
+
export type BookingRuntimeSourceLoadError = Readonly<{
|
|
49
|
+
kind: "appointments-disabled";
|
|
50
|
+
target: AppointmentBookingRuntimeTarget;
|
|
51
|
+
}> | Readonly<{
|
|
52
|
+
kind: "source-not-found";
|
|
53
|
+
target: BookingRuntimeTarget;
|
|
54
|
+
source: "form" | "service" | "resource" | "event" | "occurrence";
|
|
55
|
+
}> | Readonly<{
|
|
56
|
+
kind: "source-unavailable";
|
|
57
|
+
target: BookingRuntimeTarget;
|
|
58
|
+
reason: "appointments-disabled" | "missing-form" | "missing-services" | "stale-service" | "stale-resource" | "event-unavailable" | "occurrence-unavailable";
|
|
59
|
+
}> | Readonly<{
|
|
60
|
+
kind: "invalid-source-data";
|
|
61
|
+
target: BookingRuntimeTarget;
|
|
62
|
+
issues: readonly string[];
|
|
63
|
+
}> | Readonly<{
|
|
64
|
+
kind: "unsupported-target";
|
|
65
|
+
target: BookingRuntimeTarget;
|
|
66
|
+
}>;
|
|
67
|
+
export type BookingRuntimeSourceLoader<TLoaded> = Readonly<{
|
|
68
|
+
load: (target: BookingRuntimeTarget) => Promise<Readonly<{
|
|
69
|
+
ok: true;
|
|
70
|
+
value: TLoaded;
|
|
71
|
+
}> | Readonly<{
|
|
72
|
+
ok: false;
|
|
73
|
+
error: BookingRuntimeSourceLoadError;
|
|
74
|
+
}>>;
|
|
75
|
+
}>;
|
|
76
|
+
export type AppointmentBookingFormSourceInput = Readonly<{
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
schemaJson: unknown;
|
|
80
|
+
settingsJson: unknown;
|
|
81
|
+
}>;
|
|
82
|
+
export type AppointmentBookingFormSourceValidation = Readonly<{
|
|
83
|
+
ok: true;
|
|
84
|
+
value: BookingFormSourceRecord;
|
|
85
|
+
}> | Readonly<{
|
|
86
|
+
ok: false;
|
|
87
|
+
issues: readonly string[];
|
|
88
|
+
}>;
|
|
89
|
+
export type AppointmentBookingServiceSourceInput = Readonly<{
|
|
90
|
+
id: string;
|
|
91
|
+
title: string;
|
|
92
|
+
description?: string | null;
|
|
93
|
+
durationMinutes?: number;
|
|
94
|
+
priceAmount?: number | null;
|
|
95
|
+
priceCurrency?: string | null;
|
|
96
|
+
paymentTerms?: BookingFormService["paymentTerms"];
|
|
97
|
+
paymentTermsAvailability?: BookingFormService["paymentTermsAvailability"];
|
|
98
|
+
}>;
|
|
99
|
+
export type AppointmentBookingSourceProps = BookingFormSourceProps & Readonly<{
|
|
100
|
+
siteId: string;
|
|
101
|
+
formId: string;
|
|
102
|
+
form: BookingFormSourceRecord;
|
|
103
|
+
services: BookingFormService[];
|
|
104
|
+
serviceId: string | null;
|
|
105
|
+
resourceId: string | null;
|
|
106
|
+
initialData: Readonly<Record<string, unknown>> | null;
|
|
107
|
+
noticeMessage: string | null;
|
|
108
|
+
requiresServiceSelection: boolean;
|
|
109
|
+
requiresResourceSelection: boolean;
|
|
110
|
+
shouldAutoSelectSingleResource: boolean;
|
|
111
|
+
rebookContext: BookingFormRebookContext | null;
|
|
112
|
+
}>;
|
|
113
|
+
export declare function buildAppointmentBookingRuntimeTarget(input: Readonly<{
|
|
114
|
+
formId?: string | null;
|
|
115
|
+
requestedServiceId?: string | null;
|
|
116
|
+
requestedResourceId?: string | null;
|
|
117
|
+
rebookContext?: BookingFormRebookContext | null;
|
|
118
|
+
}>): AppointmentBookingRuntimeTarget;
|
|
119
|
+
export declare function normalizeAppointmentBookingFormSource(input: Readonly<{
|
|
120
|
+
siteId: string;
|
|
121
|
+
form: AppointmentBookingFormSourceInput;
|
|
122
|
+
}>): BookingFormSourceRecord;
|
|
123
|
+
export declare function validateAppointmentBookingFormSource(input: Readonly<{
|
|
124
|
+
siteId: string;
|
|
125
|
+
form: AppointmentBookingFormSourceInput;
|
|
126
|
+
}>): AppointmentBookingFormSourceValidation;
|
|
127
|
+
export declare function normalizeAppointmentBookingServices(input: Readonly<{
|
|
128
|
+
siteId: string;
|
|
129
|
+
services: readonly AppointmentBookingServiceSourceInput[];
|
|
130
|
+
}>): BookingFormService[];
|
|
131
|
+
export declare function buildAppointmentBookingSourceProps(input: Readonly<{
|
|
132
|
+
siteId: string;
|
|
133
|
+
apiBaseUrl?: string;
|
|
134
|
+
portalToken?: string | null;
|
|
135
|
+
form: AppointmentBookingFormSourceInput;
|
|
136
|
+
services: readonly AppointmentBookingServiceSourceInput[];
|
|
137
|
+
serviceId: string | null;
|
|
138
|
+
resourceId: string | null;
|
|
139
|
+
initialData: Readonly<Record<string, unknown>> | null;
|
|
140
|
+
noticeMessage: string | null;
|
|
141
|
+
requiresServiceSelection: boolean;
|
|
142
|
+
requiresResourceSelection: boolean;
|
|
143
|
+
shouldAutoSelectSingleResource: boolean;
|
|
144
|
+
rebookContext: BookingFormRebookContext | null;
|
|
145
|
+
}>): AppointmentBookingSourceProps;
|
|
146
|
+
export declare function buildEventRegistrationRuntimeTarget(input: Readonly<{
|
|
147
|
+
kind: "event-occurrence";
|
|
148
|
+
occurrenceId: string;
|
|
149
|
+
seriesId?: string | null;
|
|
150
|
+
}> | Readonly<{
|
|
151
|
+
kind: "event-series";
|
|
152
|
+
seriesId: string;
|
|
153
|
+
}>): EventRegistrationRuntimeTarget;
|
|
154
|
+
export declare function buildEventRegistrationSourceProps(input: Readonly<{
|
|
155
|
+
siteId: string;
|
|
156
|
+
apiBaseUrl?: string;
|
|
157
|
+
portalToken?: string | null;
|
|
158
|
+
occurrenceContext?: EventRegistrationSourceProps["occurrenceContext"];
|
|
159
|
+
contentEntry?: EventRegistrationContentEntry | null;
|
|
160
|
+
events?: readonly PublicEvent[] | null;
|
|
161
|
+
stage?: EventRegistrationSourceProps["stage"];
|
|
162
|
+
supportEmail?: string;
|
|
163
|
+
}> & Omit<EventRegistrationSourceProps, "siteId" | "apiBaseUrl" | "portalToken" | "occurrenceContext" | "contentEntry" | "events" | "stage" | "supportEmail">): EventRegistrationSourceProps;
|
|
@@ -72,7 +72,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
72
72
|
className: string | null;
|
|
73
73
|
summaryButtonText: string;
|
|
74
74
|
}>;
|
|
75
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
75
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
76
76
|
}>;
|
|
77
77
|
contracts: Readonly<{
|
|
78
78
|
source: Readonly<{
|
|
@@ -131,7 +131,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
131
131
|
className: string | null;
|
|
132
132
|
summaryButtonText: string;
|
|
133
133
|
}>;
|
|
134
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
134
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
135
135
|
}>) => unknown;
|
|
136
136
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
137
137
|
display: Readonly<{
|
|
@@ -140,7 +140,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
140
140
|
className: string | null;
|
|
141
141
|
summaryButtonText: string;
|
|
142
142
|
}>;
|
|
143
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
143
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
144
144
|
}>>;
|
|
145
145
|
}>;
|
|
146
146
|
}>;
|
|
@@ -162,7 +162,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
162
162
|
className: string | null;
|
|
163
163
|
summaryButtonText: string;
|
|
164
164
|
}>;
|
|
165
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
165
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
166
166
|
}>>;
|
|
167
167
|
}>) => unknown;
|
|
168
168
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
|
|
@@ -181,7 +181,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
181
181
|
className: string | null;
|
|
182
182
|
summaryButtonText: string;
|
|
183
183
|
}>;
|
|
184
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
184
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
185
185
|
}>>;
|
|
186
186
|
}>>;
|
|
187
187
|
}>;
|
|
@@ -7,5 +7,8 @@ export { EventListingSSR } from './EventListing.server';
|
|
|
7
7
|
export { EventCalendarSSR } from './EventCalendar.server';
|
|
8
8
|
export { EventCombinedSSR } from './EventCombined.server';
|
|
9
9
|
export { EventListingClient } from './EventListing.client';
|
|
10
|
+
export type { EventListingClientProps } from './EventListing.client';
|
|
10
11
|
export { EventCalendarClient } from './EventCalendar.client';
|
|
12
|
+
export type { EventCalendarClientProps } from './EventCalendar.client';
|
|
11
13
|
export { EventCombinedClient, EventCombinedIslandClient } from './EventCombined.client';
|
|
14
|
+
export type { EventCombinedClientProps, EventCombinedIslandClientProps, } from './EventCombined.client';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
|
|
3
|
+
export type BookingOptionMetaItem = Readonly<{
|
|
4
|
+
id?: string;
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
}>;
|
|
9
|
+
export type BookingOptionCompactRowAction = Readonly<{
|
|
10
|
+
kind: 'action';
|
|
11
|
+
label: string;
|
|
12
|
+
href: string;
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
kind: 'status';
|
|
15
|
+
label: string;
|
|
16
|
+
}>;
|
|
17
|
+
export type BookingOptionCompactRowViewModel = Readonly<{
|
|
18
|
+
id: string;
|
|
19
|
+
title: string;
|
|
20
|
+
primaryMeta?: readonly string[];
|
|
21
|
+
secondaryMeta?: readonly BookingOptionMetaItem[];
|
|
22
|
+
priceLabel?: string | null;
|
|
23
|
+
action: BookingOptionCompactRowAction;
|
|
24
|
+
}>;
|
|
25
|
+
export type BookingOptionCompactRowProps = Readonly<{
|
|
26
|
+
option: BookingOptionCompactRowViewModel;
|
|
27
|
+
buttonVariant?: ThemeButtonVariantId;
|
|
28
|
+
}>;
|
|
29
|
+
export declare function BookingOptionCompactRow({ option, buttonVariant, }: BookingOptionCompactRowProps): React.ReactElement;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
|
|
3
|
+
import { type BookingOptionCompactRowViewModel } from './BookingOptionCompactRow';
|
|
4
|
+
export type BookingOptionGroupViewModel = Readonly<{
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
options: readonly BookingOptionCompactRowViewModel[];
|
|
8
|
+
}>;
|
|
9
|
+
export type BookingOptionListProps = Readonly<{
|
|
10
|
+
groups: readonly BookingOptionGroupViewModel[];
|
|
11
|
+
buttonVariant?: ThemeButtonVariantId;
|
|
12
|
+
}>;
|
|
13
|
+
export declare function BookingOptionList({ groups, buttonVariant, }: BookingOptionListProps): React.ReactElement;
|
|
@@ -6,6 +6,10 @@ export { ClockIcon } from './ClockIcon';
|
|
|
6
6
|
export { CrossIcon } from './CrossIcon';
|
|
7
7
|
export { ActionRow } from './ActionRow';
|
|
8
8
|
export type { ActionRowProps } from './ActionRow';
|
|
9
|
+
export { BookingOptionCompactRow } from './BookingOptionCompactRow';
|
|
10
|
+
export type { BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionMetaItem, } from './BookingOptionCompactRow';
|
|
11
|
+
export { BookingOptionList } from './BookingOptionList';
|
|
12
|
+
export type { BookingOptionGroupViewModel, BookingOptionListProps, } from './BookingOptionList';
|
|
9
13
|
export { FieldValidationMessage, getFieldValidationControlProps, } from './FieldValidationMessage';
|
|
10
14
|
export type { FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, } from './FieldValidationMessage';
|
|
11
15
|
export { FeedbackMessage } from './FeedbackMessage';
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { FormData, ButtonVariant } from './types';
|
|
7
7
|
export { DEFAULT_CURRENCY } from './types';
|
|
8
|
-
export { buildCheckoutReturnUrls, resolveDedicatedBookingPath, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
|
|
8
|
+
export { BOOK_TARGET_PARAMS, buildCheckoutReturnUrls, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
|
|
9
|
+
export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './utils';
|
|
9
10
|
export { createBodyThemePortalRoot } from './utils';
|
|
10
|
-
export { ActionRow, CheckIcon, ClockIcon, CrossIcon, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, StateIcon, StepIndicator, TerminalPanel, } from './components';
|
|
11
|
-
export type { ActionRowProps, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
|
|
11
|
+
export { ActionRow, BookingOptionCompactRow, BookingOptionList, CheckIcon, ClockIcon, CrossIcon, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, StateIcon, StepIndicator, TerminalPanel, } from './components';
|
|
12
|
+
export type { ActionRowProps, BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionGroupViewModel, BookingOptionListProps, BookingOptionMetaItem, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
|
|
@@ -11,5 +11,25 @@ export type DedicatedBookingTarget = Readonly<{
|
|
|
11
11
|
hostKey: string;
|
|
12
12
|
siteIdentifier: string;
|
|
13
13
|
}>;
|
|
14
|
+
export type UniversalBookingRouteTarget = Readonly<{
|
|
15
|
+
kind: 'chooser';
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
kind: 'appointment_service';
|
|
18
|
+
serviceId: string;
|
|
19
|
+
resourceId?: string | null;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'event_occurrence';
|
|
22
|
+
occurrenceId: string;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
kind: 'event_series';
|
|
25
|
+
eventId: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const BOOK_TARGET_PARAMS: {
|
|
28
|
+
readonly service: "service";
|
|
29
|
+
readonly resource: "resource";
|
|
30
|
+
readonly occurrence: "occurrence";
|
|
31
|
+
readonly event: "event";
|
|
32
|
+
};
|
|
14
33
|
export declare function resolveDedicatedBookingTarget(pathname: string): DedicatedBookingTarget;
|
|
15
34
|
export declare function resolveDedicatedBookingPath(pathname: string): string;
|
|
35
|
+
export declare function resolveDedicatedBookingHref(pathname: string, bookingTarget?: UniversalBookingRouteTarget): string;
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Shared Utilities Barrel Export
|
|
3
3
|
*/
|
|
4
4
|
export { buildCheckoutReturnUrls } from './checkoutUrls';
|
|
5
|
-
export { resolveDedicatedBookingPath } from './bookingRoute';
|
|
5
|
+
export { BOOK_TARGET_PARAMS, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, } from './bookingRoute';
|
|
6
|
+
export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './bookingRoute';
|
|
6
7
|
export { resolveDedicatedCheckoutPath } from './checkoutRoute';
|
|
7
8
|
export { formatPrice } from './formatting';
|
|
8
9
|
export { logoutPortal } from './portalLogout';
|
|
@@ -48,6 +48,17 @@ export type AuthoredLinkValue = InternalLinkValue | ExternalLinkValue | CustomLi
|
|
|
48
48
|
* navigation-persistence converter accepts them.
|
|
49
49
|
*/
|
|
50
50
|
export type LinkValue = AuthoredLinkValue;
|
|
51
|
+
export type LinkReferenceVisitorContext = Readonly<{
|
|
52
|
+
routeIds: Readonly<{
|
|
53
|
+
add: (routeId: string) => void;
|
|
54
|
+
}>;
|
|
55
|
+
pageIdentifiers: Readonly<{
|
|
56
|
+
add: (identifier: string) => void;
|
|
57
|
+
}>;
|
|
58
|
+
entryIdentifiers: Readonly<{
|
|
59
|
+
add: (contentType: string, identifier: string) => void;
|
|
60
|
+
}>;
|
|
61
|
+
}>;
|
|
51
62
|
export declare const internalRouteOnlyLinkSchema: z.ZodObject<{
|
|
52
63
|
kind: z.ZodLiteral<"internal">;
|
|
53
64
|
routeId: z.ZodString;
|
|
@@ -133,4 +144,5 @@ export declare const linkSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.Zod
|
|
|
133
144
|
contentType: z.ZodString;
|
|
134
145
|
identifier: z.ZodString;
|
|
135
146
|
}, z.core.$loose>]>;
|
|
147
|
+
export declare function visitLinkValueReferences(value: unknown, visitor: LinkReferenceVisitorContext): void;
|
|
136
148
|
export declare function isInternalResolvedLinkValue(value: LinkValue | null | undefined): value is InternalResolvedLinkValue;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* This catches empty required fields and other validation errors that were allowed
|
|
6
6
|
* during editing (draft mode) but must be fixed before publishing.
|
|
7
7
|
*/
|
|
8
|
+
import type { FieldValidationDescriptor } from '../../../blocks/src/index';
|
|
8
9
|
import type { EditorBlockId } from '../../../core/src/index';
|
|
9
10
|
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
10
11
|
/**
|
|
@@ -17,6 +18,10 @@ export type BlockValidationError = {
|
|
|
17
18
|
blockKind: string;
|
|
18
19
|
/** The path to the invalid field (e.g., "title", "items.0.label") */
|
|
19
20
|
fieldPath: string;
|
|
21
|
+
/** Manifest-derived metadata for the invalid field, when the path resolves to one */
|
|
22
|
+
fieldDescriptor: FieldValidationDescriptor | null;
|
|
23
|
+
/** Whether the field can be directly focused in the editor sidebar */
|
|
24
|
+
isFieldVisibleInSidebar: boolean;
|
|
20
25
|
/** Human-readable label for the field */
|
|
21
26
|
fieldLabel: string;
|
|
22
27
|
/** The validation error message */
|
|
@@ -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 SdkConfigForBlockPicker } from './block-editor/sdkBlockMerger';
|
|
8
|
+
import { type BlockActionControlMode } from './block-editor/actionControlMode';
|
|
8
9
|
import { type ReorderControlMode } from './block-editor/reorderControlMode';
|
|
9
10
|
import type { ArrayKeysManager, BlockEditorHandle, BlockItem, BlockFocusRequest, UiSlice, DraftsSlice } from './block-editor/types';
|
|
10
11
|
import type { BlockDraftSaveability, FieldWidgetComponent } from '../../block-form/src/client/index';
|
|
@@ -52,6 +53,7 @@ export type BlockEditorProps = {
|
|
|
52
53
|
enabledContentTypes?: string[];
|
|
53
54
|
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
54
55
|
reorderControlMode?: ReorderControlMode;
|
|
56
|
+
actionControlMode?: BlockActionControlMode;
|
|
55
57
|
};
|
|
56
58
|
export declare const BlockEditor: import("react").ForwardRefExoticComponent<BlockEditorProps & import("react").RefAttributes<BlockEditorHandle>>;
|
|
57
59
|
export {};
|
|
@@ -5,6 +5,7 @@ import type { SystemBlockDefinition } from '../../../blocks/src/index';
|
|
|
5
5
|
import type { BlockDraftSaveability } from '../../../block-form/src/client/index';
|
|
6
6
|
import type { FieldWidgetComponent } from '../../../block-form/src/client/index';
|
|
7
7
|
import type { Theme } from '../../../blocks/src/index';
|
|
8
|
+
import { type BlockActionControlMode } from './actionControlMode';
|
|
8
9
|
import { type ReorderControlMode } from './reorderControlMode';
|
|
9
10
|
import type { ArrayKeysManager, BlockFocusRequest, BlockItem, UiStore, DraftsSlice, UiSlice } from './types';
|
|
10
11
|
/** Drag listener props from dnd-kit */
|
|
@@ -19,7 +20,7 @@ type BlockCardStore = UiStore<Pick<UiSlice, 'activeBlockId' | 'setActiveBlockId'
|
|
|
19
20
|
drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'getAtPath' | 'setAtPath' | 'edit' | 'initNewBlock' | 'updateBlockBaseline' | 'clearError'>;
|
|
20
21
|
arrayKeys: ArrayKeysManager;
|
|
21
22
|
}>;
|
|
22
|
-
export declare function BlockCard({ siteId, block, manifest, isFirst, isLast, isMoving, onMove, onDuplicate, onDelete, dragListeners, canReorder, collapsed, onCollapsedChange, highlighted, hasRecoveryConflict, focusSignal, onFocusHandled, onBlockSave, theme, widgetOverrides, uiStore, hideThemeV2RawStyleFields, pageDesignBlock, reorderControlMode, }: {
|
|
23
|
+
export declare function BlockCard({ siteId, block, manifest, isFirst, isLast, isMoving, onMove, onDuplicate, onDelete, dragListeners, canReorder, collapsed, onCollapsedChange, highlighted, hasRecoveryConflict, focusSignal, onFocusHandled, onBlockSave, theme, widgetOverrides, uiStore, hideThemeV2RawStyleFields, pageDesignBlock, reorderControlMode, actionControlMode, }: {
|
|
23
24
|
siteId: string;
|
|
24
25
|
block: BlockItem;
|
|
25
26
|
manifest: SystemBlockDefinition['manifest'];
|
|
@@ -44,5 +45,6 @@ export declare function BlockCard({ siteId, block, manifest, isFirst, isLast, is
|
|
|
44
45
|
hideThemeV2RawStyleFields?: boolean;
|
|
45
46
|
pageDesignBlock?: PageDesignEditorBlock | null;
|
|
46
47
|
reorderControlMode?: ReorderControlMode;
|
|
48
|
+
actionControlMode?: BlockActionControlMode;
|
|
47
49
|
}): import("react/jsx-runtime").JSX.Element;
|
|
48
50
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SyntheticListenerMap } from '@dnd-kit/core/dist/hooks/utilities';
|
|
2
2
|
import type { FieldWidgetComponent } from '../../../block-form/src/client/index';
|
|
3
3
|
import { type SystemBlockDefinition, type Theme } from '../../../blocks/src/index';
|
|
4
|
+
import { type BlockActionControlMode } from './actionControlMode';
|
|
4
5
|
import type { ReorderControlMode } from './reorderControlMode';
|
|
5
6
|
import type { BlockItem, UiStore, DraftsSlice, ArrayKeysManager } from './types';
|
|
6
7
|
/** Drag listener props from dnd-kit */
|
|
@@ -9,7 +10,7 @@ type BlockCardHeaderStore = UiStore<{
|
|
|
9
10
|
drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'initNewBlock' | 'updateBlockBaseline' | 'clearError' | 'setAtPath' | 'getAtPath'>;
|
|
10
11
|
arrayKeys: ArrayKeysManager;
|
|
11
12
|
}>;
|
|
12
|
-
export declare function BlockCardHeader({ block, manifest, isFirst, isLast, isMoving, onMove, onDuplicate, onDelete, dragListeners, canReorder, collapsed, onToggleCollapsed, contentId, uiStore, widgetOverrides, theme, hideThemeV2RawStyleFields, reorderControlMode, }: {
|
|
13
|
+
export declare function BlockCardHeader({ block, manifest, isFirst, isLast, isMoving, onMove, onDuplicate, onDelete, dragListeners, canReorder, collapsed, onToggleCollapsed, contentId, uiStore, widgetOverrides, theme, hideThemeV2RawStyleFields, reorderControlMode, actionControlMode, }: {
|
|
13
14
|
block: BlockItem;
|
|
14
15
|
manifest: SystemBlockDefinition['manifest'];
|
|
15
16
|
isFirst: boolean;
|
|
@@ -29,5 +30,6 @@ export declare function BlockCardHeader({ block, manifest, isFirst, isLast, isMo
|
|
|
29
30
|
theme?: Theme | null;
|
|
30
31
|
hideThemeV2RawStyleFields?: boolean;
|
|
31
32
|
reorderControlMode?: ReorderControlMode;
|
|
33
|
+
actionControlMode?: BlockActionControlMode;
|
|
32
34
|
}): import("react/jsx-runtime").JSX.Element;
|
|
33
35
|
export {};
|
|
@@ -6,12 +6,16 @@ type BlockSettingsModalStore = UiStore<{
|
|
|
6
6
|
drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'clearError' | 'setAtPath' | 'getAtPath'>;
|
|
7
7
|
arrayKeys: ArrayKeysManager;
|
|
8
8
|
}>;
|
|
9
|
-
export declare function BlockSettingsModal({ block, manifest, uiStore, widgetOverrides, theme, hideThemeV2RawStyleFields, }: {
|
|
9
|
+
export declare function BlockSettingsModal({ block, manifest, uiStore, widgetOverrides, theme, hideThemeV2RawStyleFields, showSettingsTrigger, open: controlledOpen, onOpenChange, onAvailabilityChange, }: {
|
|
10
10
|
block: BlockItem;
|
|
11
11
|
manifest: SystemBlockDefinition['manifest'];
|
|
12
12
|
uiStore: BlockSettingsModalStore;
|
|
13
13
|
widgetOverrides?: Record<string, FieldWidgetComponent>;
|
|
14
14
|
theme?: Theme | null;
|
|
15
15
|
hideThemeV2RawStyleFields?: boolean;
|
|
16
|
+
showSettingsTrigger?: boolean;
|
|
17
|
+
open?: boolean;
|
|
18
|
+
onOpenChange?: (open: boolean) => void;
|
|
19
|
+
onAvailabilityChange?: (available: boolean) => void;
|
|
16
20
|
}): ReactNode;
|
|
17
21
|
export {};
|
|
@@ -5,6 +5,7 @@ import type { BlockFocusRequest, BlockItem } from './types';
|
|
|
5
5
|
import { type SdkConfigForBlockPicker } from './sdkBlockMerger';
|
|
6
6
|
import { BlockCard } from './BlockCard';
|
|
7
7
|
import type { FieldWidgetComponent } from '../../../block-form/src/client/index';
|
|
8
|
+
import { type BlockActionControlMode } from './actionControlMode';
|
|
8
9
|
import { type ReorderControlMode } from './reorderControlMode';
|
|
9
10
|
export declare const SortableBlockItem: import("react").NamedExoticComponent<{
|
|
10
11
|
siteId: string;
|
|
@@ -30,4 +31,5 @@ export declare const SortableBlockItem: import("react").NamedExoticComponent<{
|
|
|
30
31
|
hideThemeV2RawStyleFields?: boolean;
|
|
31
32
|
pageDesignBlock?: PageDesignEditorBlock | null;
|
|
32
33
|
reorderControlMode?: ReorderControlMode;
|
|
34
|
+
actionControlMode?: BlockActionControlMode;
|
|
33
35
|
}>;
|
|
@@ -13,7 +13,7 @@ export { FormProvider } from './FormProvider';
|
|
|
13
13
|
export type { FormProviderProps } from './FormProvider';
|
|
14
14
|
export { buildBlockContentPayload, formatManifestIssues } from './blockPayload';
|
|
15
15
|
export type { BlockContentPayloadResult, ManifestFieldIssue, BuildBlockContentPayloadOptions } from './blockPayload';
|
|
16
|
-
export { deriveBlockDraftSaveability, formatUnfinishedBlocksSummary,
|
|
16
|
+
export { deriveBlockDraftSaveability, formatUnfinishedBlocksSummary, shouldShowBlockFieldValidation, unfinishedBlockCopy, validateBlockManifestValues, } from '../../block-form/src/client/index';
|
|
17
17
|
export type { BlockDraftSaveability, BlockDraftValidationIssue } from '../../block-form/src/client/index';
|
|
18
18
|
export { applyManifestIssuesToForm } from './manifestIssues';
|
|
19
19
|
export { BlockPickerDialog } from './block-editor/BlockPickerDialog';
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { default as React, type ReactNode } from 'react';
|
|
2
2
|
export type SiteChromeEditableSurfaceKind = 'header' | 'footer';
|
|
3
|
-
|
|
3
|
+
type SiteChromeEditableSurfaceProps = Readonly<{
|
|
4
4
|
surface: SiteChromeEditableSurfaceKind;
|
|
5
5
|
children: ReactNode;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Decorate a single custom React component root instead of wrapping it.
|
|
8
|
+
*
|
|
9
|
+
* Only use this when the component is known to forward className,
|
|
10
|
+
* data attributes, and children to its actual chrome root; otherwise the
|
|
11
|
+
* customize button and preview metadata can be swallowed by the component.
|
|
12
|
+
*/
|
|
13
|
+
preserveSingleComponentRoot?: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function SiteChromeEditableSurface({ surface, children, preserveSingleComponentRoot, }: SiteChromeEditableSurfaceProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
16
|
+
export {};
|
|
@@ -2,14 +2,32 @@ import { type ReactNode } from 'react';
|
|
|
2
2
|
import type { Theme } from '../../../../blocks/src/index';
|
|
3
3
|
import { type Rfc6902Op } from '../utils/rfc6902';
|
|
4
4
|
type ThemePatchOp = Rfc6902Op;
|
|
5
|
+
export type PreviewThemeOverlaySource = 'ai-designer' | 'site-chrome' | 'style-configurator' | 'unknown';
|
|
6
|
+
type PreviewThemeOverlaySourceOptions = Readonly<{
|
|
7
|
+
source?: PreviewThemeOverlaySource;
|
|
8
|
+
}>;
|
|
9
|
+
export type PreviewThemeOverlay = Readonly<{
|
|
10
|
+
kind: 'none';
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: 'patch';
|
|
13
|
+
source: PreviewThemeOverlaySource;
|
|
14
|
+
ops: readonly ThemePatchOp[];
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'theme';
|
|
17
|
+
source: PreviewThemeOverlaySource;
|
|
18
|
+
theme: Theme;
|
|
19
|
+
}>;
|
|
5
20
|
type PreviewThemeOverlayContextValue = {
|
|
6
21
|
baseTheme: Theme;
|
|
22
|
+
overlay: PreviewThemeOverlay;
|
|
7
23
|
overlayOps: ThemePatchOp[] | null;
|
|
8
|
-
|
|
24
|
+
overlayOpsSource: PreviewThemeOverlaySource | null;
|
|
25
|
+
setOverlayOps: (ops: ThemePatchOp[] | null, options?: PreviewThemeOverlaySourceOptions) => void;
|
|
9
26
|
overrideTheme: Theme | null;
|
|
10
|
-
|
|
27
|
+
overrideThemeSource: PreviewThemeOverlaySource | null;
|
|
28
|
+
setOverrideTheme: (theme: Theme | null, options?: PreviewThemeOverlaySourceOptions) => void;
|
|
11
29
|
effectiveTheme: Theme;
|
|
12
|
-
clearOverlay: () => void;
|
|
30
|
+
clearOverlay: (options?: PreviewThemeOverlaySourceOptions) => void;
|
|
13
31
|
};
|
|
14
32
|
export declare function PreviewThemeOverlayProvider({ baseTheme, children }: {
|
|
15
33
|
baseTheme: Theme;
|
|
@@ -27,5 +27,5 @@ export { Layout } from './rendering/components/Layout';
|
|
|
27
27
|
export type { LayoutProps, HeaderData, FooterData } from './rendering/components/Layout';
|
|
28
28
|
export { PageRenderer, ThemeScope, buildThemeRuntime, RichText, resolveImageUrl, resolveImageUrlWithContext, resolveImageSourceSetWithContext, ImagePresets, } from './rendering';
|
|
29
29
|
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, CollectionContent, ColumnsContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, EmbedContent, EventCalendarContent, EventDetailsContent, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FormBlockContent, GiftingContent, HeroContent, HeroMedia, ImageGalleryContent, MediaTextContent, NewsletterSignupContent, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, SystemBlockContentByKind, SystemBlockContentFor, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, VideoGridContent, ImageOptions, ResolveImageUrlContext, ResolveImageSourceSetOptions, ResolvedImageSourceSet, PageOutline, RouteMap, Theme, ThemeTokens, Media, TipTapNode, LinkValue, RichTextPrimitiveProps, } from './rendering';
|
|
30
|
-
export type { BlockOverrideProps, BlockOverrideRegistration, BlockOverrideRegistrations, BlockOverrides, BlockOverrideComponent, KnownSystemBlockOverrides, LazyBlockOverrideFactory, LazyBlockOverrideRegistration, } from './rendering';
|
|
31
|
-
export { defineLazyBlockOverride } from './rendering';
|
|
30
|
+
export type { BlockOverrideProps, BlockOverrideRegistration, BlockOverrideRegistrations, BlockOverrides, BlockOverrideComponent, CustomBlockOverrideKey, KnownSystemBlockOverrides, KnownBlockOverrideKey, LazyBlockOverrideFactory, LazyBlockOverrideRegistration, StrictBlockOverrideRegistrations, StrictBlockOverrides, SystemBlockOverrideKey, } from './rendering';
|
|
31
|
+
export { defineBlockOverrideRegistrations, defineBlockOverrides, defineLazyBlockOverride, } from './rendering';
|
|
@@ -456,6 +456,7 @@ export type EntriesResponse<TContent = Record<string, unknown>> = {
|
|
|
456
456
|
entries: ContentEntryListItem<TContent>[];
|
|
457
457
|
meta?: ListPublishedEntriesMeta;
|
|
458
458
|
contentType?: PublicContentTypeMeta | null;
|
|
459
|
+
mediaAssets?: SdkRuntimeMediaAsset[];
|
|
459
460
|
};
|
|
460
461
|
export interface FormRecord {
|
|
461
462
|
id: string;
|