@riverbankcms/sdk 0.75.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-U2IHCBYN.mjs → PreviewEditorSidebar-X2HWXFOL.mjs} +171 -88
- package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-AQXIXPOH.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +8 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +0 -1
- 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/events.d.ts +3 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -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.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/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/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/themeOverlay.d.ts +21 -3
- package/dist/_dts/sdk/src/components.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- 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 -3
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-GFE74WRD.mjs → chunk-LYI7TEMH.mjs} +188 -90
- package/dist/{chunk-BGMNDF6T.mjs → chunk-Q4OLG66B.mjs} +7 -7
- package/dist/{chunk-RWXQBRQZ.mjs → chunk-TW2Y4RR5.mjs} +69 -14
- package/dist/{chunk-ZSHFGFUG.mjs → chunk-V5VORNEJ.mjs} +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-2YHIBOZH.mjs} +1 -1
- package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-35IBDWAS.mjs} +3 -13
- package/dist/client/bookings.mjs +11 -11
- package/dist/client/{carousel-2NQA6V57.mjs → carousel-K6XG7NZQ.mjs} +1 -1
- package/dist/client/{cart-5TFIAFDS.mjs → cart-HCFYUTTU.mjs} +4 -4
- package/dist/client/{checkout-TP4WAHZE.mjs → checkout-J3U4XR7K.mjs} +4 -4
- package/dist/client/{chunk-FU2QRZMX.mjs → chunk-7UOSCYY4.mjs} +71 -24
- package/dist/client/{chunk-ZLMS67RR.mjs → chunk-BOIHIU7E.mjs} +1 -1
- package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-FGUIVT2B.mjs} +1 -1
- package/dist/client/{chunk-WJXXNDSE.mjs → chunk-J227A3CQ.mjs} +1 -1
- package/dist/client/{chunk-NWOUL6JY.mjs → chunk-PFBX3IQL.mjs} +3 -3
- package/dist/client/{chunk-VUAOE3AG.mjs → chunk-SNSWVZEP.mjs} +4 -4
- package/dist/client/client.mjs +2261 -2279
- package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-ZBXS7VGI.mjs} +3 -3
- package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-EQQZHJBA.mjs} +5 -5
- package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-JCFTGBFQ.mjs} +5 -5
- package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-HLUTQSYY.mjs} +5 -5
- package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-FG4MICVB.mjs} +5 -5
- package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-GUEB7LBT.mjs} +5 -5
- package/dist/client/{form-ZJVAYZ6G.mjs → form-YQEW4YIT.mjs} +1 -1
- package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-GTR3TTRM.mjs} +2 -2
- package/dist/client/{locationMap-J66NZREU.mjs → locationMap-SPC7VGUH.mjs} +1 -1
- package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-4IW5BLID.mjs} +1 -1
- package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-KP5H2WJO.mjs} +4 -4
- package/dist/client/{productList-T2AZLFTP.mjs → productList-3M3M72XZ.mjs} +4 -4
- package/dist/client/rendering/client.mjs +3132 -3147
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3344 -3354
- package/dist/client/{shop-UZ6IUZXD.mjs → shop-ACQKVGOM.mjs} +4 -4
- package/dist/preview-next/chrome.css +1 -1
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-base.css +2 -148
- package/dist/preview-next/editor-chrome.css +179 -0
- package/dist/{sdk-runtime-JCUQM63Y.mjs → sdk-runtime-K7HNB4U2.mjs} +4 -4
- package/dist/server/components.mjs +939 -891
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +887 -840
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +951 -894
- package/dist/server/rendering.mjs +944 -896
- package/dist/server/server.mjs +1 -1
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
- /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { FieldConfig, GroupFieldConfig, RepeaterFieldConfig } from '../fields/types';
|
|
3
|
+
export declare function assertNever(value: never): never;
|
|
4
|
+
export declare function getGroupChildFields(field: GroupFieldConfig): FieldConfig[];
|
|
5
|
+
export declare function getRepeaterChildFields(field: RepeaterFieldConfig): FieldConfig[];
|
|
6
|
+
export type VisibleWhenConfig = {
|
|
7
|
+
field: string;
|
|
8
|
+
equals?: unknown;
|
|
9
|
+
notEquals?: unknown;
|
|
10
|
+
oneOf?: unknown[];
|
|
11
|
+
notIn?: unknown[];
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Determines whether the provided value satisfies the given visibility condition.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isVisibleWhenSatisfied(config: VisibleWhenConfig, current: unknown): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Utility to traverse the form error bag using a dotted path (supports array indices).
|
|
19
|
+
*/
|
|
20
|
+
export declare function getErrorAtPath(errors: FieldValues | undefined, path: string): unknown;
|
|
21
|
+
/**
|
|
22
|
+
* Normalizes a dot/bracket notation path to an array of string segments.
|
|
23
|
+
*/
|
|
24
|
+
export declare function normalizePath(path: string): string[];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
|
|
2
2
|
export { EventRegistrationIslandClient, type EventRegistrationIslandClientProps, } from '../system/runtime/nodes/event-registration.client';
|
|
3
3
|
export { EventDetailsIslandClient, type EventDetailsIslandClientProps, } from '../system/runtime/nodes/event-details.client';
|
|
4
|
-
export { EventCalendarClient, type EventCalendarClientProps,
|
|
4
|
+
export { EventCalendarClient, type EventCalendarClientProps, } from '../system/runtime/nodes/events/EventCalendar.client';
|
|
5
|
+
export { EventCombinedIslandClient, type EventCombinedClientProps, type EventCombinedIslandClientProps, } from '../system/runtime/nodes/events/EventCombined.client';
|
|
6
|
+
export { EventListingClient, type EventListingClientProps, } from '../system/runtime/nodes/events/EventListing.client';
|
|
@@ -239,7 +239,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
239
239
|
className: string | null;
|
|
240
240
|
summaryButtonText: string;
|
|
241
241
|
}>;
|
|
242
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
242
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
243
243
|
}>>;
|
|
244
244
|
}>) => unknown;
|
|
245
245
|
decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
|
|
@@ -258,7 +258,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
258
258
|
className: string | null;
|
|
259
259
|
summaryButtonText: string;
|
|
260
260
|
}>;
|
|
261
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
261
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
262
262
|
}>>;
|
|
263
263
|
}>>;
|
|
264
264
|
}>;
|
|
@@ -1289,7 +1289,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1289
1289
|
className: string | null;
|
|
1290
1290
|
summaryButtonText: string;
|
|
1291
1291
|
}>;
|
|
1292
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
1292
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
1293
1293
|
}>>;
|
|
1294
1294
|
}>) => unknown;
|
|
1295
1295
|
decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
|
|
@@ -1308,7 +1308,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1308
1308
|
className: string | null;
|
|
1309
1309
|
summaryButtonText: string;
|
|
1310
1310
|
}>;
|
|
1311
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
1311
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
1312
1312
|
}>>;
|
|
1313
1313
|
}>>;
|
|
1314
1314
|
}>;
|
|
@@ -2368,7 +2368,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2368
2368
|
className: string | null;
|
|
2369
2369
|
summaryButtonText: string;
|
|
2370
2370
|
}>;
|
|
2371
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2371
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2372
2372
|
}>;
|
|
2373
2373
|
contracts: Readonly<{
|
|
2374
2374
|
source: Readonly<{
|
|
@@ -2427,7 +2427,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2427
2427
|
className: string | null;
|
|
2428
2428
|
summaryButtonText: string;
|
|
2429
2429
|
}>;
|
|
2430
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2430
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2431
2431
|
}>) => unknown;
|
|
2432
2432
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
2433
2433
|
display: Readonly<{
|
|
@@ -2436,7 +2436,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2436
2436
|
className: string | null;
|
|
2437
2437
|
summaryButtonText: string;
|
|
2438
2438
|
}>;
|
|
2439
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2439
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2440
2440
|
}>>;
|
|
2441
2441
|
}>;
|
|
2442
2442
|
}>;
|
|
@@ -2475,7 +2475,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2475
2475
|
className: string | null;
|
|
2476
2476
|
summaryButtonText: string;
|
|
2477
2477
|
}>;
|
|
2478
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2478
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2479
2479
|
}>;
|
|
2480
2480
|
contracts: Readonly<{
|
|
2481
2481
|
source: Readonly<{
|
|
@@ -2534,7 +2534,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2534
2534
|
className: string | null;
|
|
2535
2535
|
summaryButtonText: string;
|
|
2536
2536
|
}>;
|
|
2537
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2537
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2538
2538
|
}>) => unknown;
|
|
2539
2539
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
2540
2540
|
display: Readonly<{
|
|
@@ -2543,7 +2543,7 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
2543
2543
|
className: string | null;
|
|
2544
2544
|
summaryButtonText: string;
|
|
2545
2545
|
}>;
|
|
2546
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
2546
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
2547
2547
|
}>>;
|
|
2548
2548
|
}>;
|
|
2549
2549
|
}>;
|
|
@@ -1199,7 +1199,7 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
1199
1199
|
className: string | null;
|
|
1200
1200
|
summaryButtonText: string;
|
|
1201
1201
|
}>;
|
|
1202
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
1202
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
1203
1203
|
}>;
|
|
1204
1204
|
contracts: Readonly<{
|
|
1205
1205
|
source: Readonly<{
|
|
@@ -1258,7 +1258,7 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
1258
1258
|
className: string | null;
|
|
1259
1259
|
summaryButtonText: string;
|
|
1260
1260
|
}>;
|
|
1261
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
1261
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
1262
1262
|
}>) => unknown;
|
|
1263
1263
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
1264
1264
|
display: Readonly<{
|
|
@@ -1267,7 +1267,7 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
1267
1267
|
className: string | null;
|
|
1268
1268
|
summaryButtonText: string;
|
|
1269
1269
|
}>;
|
|
1270
|
-
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "
|
|
1270
|
+
hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint" | "buttonText">>;
|
|
1271
1271
|
}>>;
|
|
1272
1272
|
}>;
|
|
1273
1273
|
}>;
|
|
@@ -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
|
}>;
|
|
@@ -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 @@ 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 {};
|