@riverbankcms/sdk 0.75.0 → 0.77.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-XSX7QKHQ.mjs} +1179 -519
- package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-YZNEZ3QD.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +528 -20
- package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -1
- package/dist/_dts/block-form/src/client/index.d.ts +2 -2
- package/dist/_dts/block-form/src/index.d.ts +2 -1
- package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
- package/dist/_dts/blocks/src/client/events.d.ts +3 -1
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +38 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +11 -2
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- 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/accordion.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
- 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/transforms/registry/layout.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
- package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -1
- 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 +4 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
- package/dist/_dts/editor-blocks/src/index.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
- package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
- package/dist/_dts/sdk/src/client/types.d.ts +9 -0
- package/dist/_dts/sdk/src/client.d.ts +1 -1
- package/dist/_dts/sdk/src/components.d.ts +2 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
- package/dist/_dts/sdk/src/index.d.ts +2 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
- 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/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -0
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +45 -0
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
- package/dist/_dts/theme-core/src/schema.d.ts +280 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +118 -2
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +364 -5
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
- package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
- package/dist/{chunk-ZSHFGFUG.mjs → chunk-ANKDYZ2E.mjs} +1 -1
- package/dist/{chunk-BGMNDF6T.mjs → chunk-EAWHBECW.mjs} +476 -153
- package/dist/{chunk-RWXQBRQZ.mjs → chunk-GSQX43EZ.mjs} +450 -63
- package/dist/{chunk-GFE74WRD.mjs → chunk-WLQBJN2Z.mjs} +3275 -435
- package/dist/cli/index.mjs +2023 -181
- package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-RZMQSYLR.mjs} +1 -1
- package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-NF4ASVNV.mjs} +3 -13
- package/dist/client/bookings.mjs +103 -11
- package/dist/client/{carousel-2NQA6V57.mjs → carousel-LDX47ZIK.mjs} +1 -1
- package/dist/client/{cart-5TFIAFDS.mjs → cart-RGXDS5F4.mjs} +4 -4
- package/dist/client/{checkout-TP4WAHZE.mjs → checkout-P7WWSNNY.mjs} +4 -4
- package/dist/client/{chunk-ZLMS67RR.mjs → chunk-E2TDNXCL.mjs} +1 -1
- package/dist/client/{chunk-NWOUL6JY.mjs → chunk-GMVTOKYG.mjs} +3 -3
- package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-JNC7CGHX.mjs} +1 -1
- package/dist/client/{chunk-VUAOE3AG.mjs → chunk-L3DNHIJX.mjs} +4 -4
- package/dist/client/{chunk-FU2QRZMX.mjs → chunk-R56FQ3RR.mjs} +163 -24
- package/dist/client/{chunk-WJXXNDSE.mjs → chunk-UFSWADAO.mjs} +1 -1
- package/dist/client/client.mjs +4392 -2504
- package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-7F65K5ZR.mjs} +3 -3
- package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-GLSC5KTL.mjs} +5 -5
- package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-ZHK4WKUR.mjs} +5 -5
- package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-E3PJYBIN.mjs} +5 -5
- package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-EMS3WC3E.mjs} +5 -5
- package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-NZOTVNPI.mjs} +5 -5
- package/dist/client/{form-ZJVAYZ6G.mjs → form-ETFZFATW.mjs} +1 -1
- package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-4LBP7ULT.mjs} +2 -2
- package/dist/client/hooks.mjs +1918 -293
- package/dist/client/{locationMap-J66NZREU.mjs → locationMap-5M655YSJ.mjs} +1 -1
- package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
- package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-O4DOCWQG.mjs} +4 -4
- package/dist/client/{productList-T2AZLFTP.mjs → productList-A5RO5WIS.mjs} +4 -4
- package/dist/client/rendering/client.mjs +3328 -3177
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +5461 -3584
- package/dist/client/{shop-UZ6IUZXD.mjs → shop-L4MZH4I2.mjs} +4 -4
- package/dist/preview-next/chrome.css +1 -1
- package/dist/preview-next/client/runtime.mjs +4 -4
- 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-Q6MTR4KL.mjs} +5 -5
- package/dist/server/components.mjs +2983 -1093
- package/dist/server/config-validation.mjs +1921 -293
- package/dist/server/config.mjs +1921 -293
- package/dist/server/data.mjs +1918 -293
- package/dist/server/index.mjs +31 -2
- package/dist/server/next.mjs +2951 -1043
- package/dist/server/page-converter.mjs +1894 -281
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2995 -1096
- package/dist/server/rendering.mjs +2988 -1098
- package/dist/server/routing.mjs +1963 -275
- package/dist/server/server.mjs +1932 -288
- package/dist/server/theme-bridge.mjs +158 -1
- package/dist/server/theme.mjs +158 -1
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
- /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.columns", "block.collection", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
|
|
1
|
+
export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
|
|
2
2
|
export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
|
|
3
3
|
export type CustomBlockKind = `custom.${string}`;
|
|
4
4
|
export type BlockKind = SystemBlockKind | CustomBlockKind;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FieldDefinition } from '../manifest/schema';
|
|
2
|
+
export type StandardAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4';
|
|
3
|
+
type FieldUi = NonNullable<FieldDefinition['ui']>;
|
|
4
|
+
type FieldVisibleWhen = FieldUi['visibleWhen'];
|
|
5
|
+
export declare const standardAspectRatioOptions: readonly [{
|
|
6
|
+
readonly value: "auto";
|
|
7
|
+
readonly label: "Auto (original)";
|
|
8
|
+
}, {
|
|
9
|
+
readonly value: "16/9";
|
|
10
|
+
readonly label: "16:9 (Landscape)";
|
|
11
|
+
}, {
|
|
12
|
+
readonly value: "4/3";
|
|
13
|
+
readonly label: "4:3 (Standard)";
|
|
14
|
+
}, {
|
|
15
|
+
readonly value: "1/1";
|
|
16
|
+
readonly label: "1:1 (Square)";
|
|
17
|
+
}, {
|
|
18
|
+
readonly value: "3/4";
|
|
19
|
+
readonly label: "3:4 (Portrait)";
|
|
20
|
+
}];
|
|
21
|
+
type AspectRatioFieldOptions = Readonly<{
|
|
22
|
+
id?: string;
|
|
23
|
+
label?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
defaultValue?: StandardAspectRatio;
|
|
26
|
+
uiIntent?: 'display' | 'style';
|
|
27
|
+
visibleWhen?: FieldVisibleWhen;
|
|
28
|
+
}>;
|
|
29
|
+
export declare function createAspectRatioField(options?: AspectRatioFieldOptions): FieldDefinition;
|
|
30
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ModalFieldDefinition } from '../manifest/schema';
|
|
2
|
-
import type { EyebrowTreatment, TileTreatment } from '../../../../theme-core/src/site-styles/index';
|
|
2
|
+
import type { AccordionIconTreatment, EyebrowTreatment, HeadingDecoration, HeadingDecorationOverride, TileTreatment } from '../../../../theme-core/src/site-styles/index';
|
|
3
3
|
import type { Media } from '../../lib/media';
|
|
4
4
|
/**
|
|
5
5
|
* Options for customizing a section styles field.
|
|
@@ -83,6 +83,9 @@ export type SectionStylesContent = {
|
|
|
83
83
|
minHeight?: 'none' | 'banner' | 'hero' | 'immersive' | null;
|
|
84
84
|
tileTreatment?: TileTreatment | null;
|
|
85
85
|
eyebrowTreatment?: EyebrowTreatment | null;
|
|
86
|
+
headingDecoration?: HeadingDecoration | null;
|
|
87
|
+
headingDecorationOverride?: HeadingDecorationOverride | null;
|
|
88
|
+
accordionIconTreatment?: AccordionIconTreatment | null;
|
|
86
89
|
} | null;
|
|
87
90
|
export type CardStylesContent = {
|
|
88
91
|
background?: Record<string, unknown> | null;
|
|
@@ -25,5 +25,12 @@ export type CtasRepeaterField<O extends CtasOptions = {}> = FieldDefinition & {
|
|
|
25
25
|
];
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
+
export type BlockCtaContent = {
|
|
29
|
+
label?: string | null;
|
|
30
|
+
href?: string | null;
|
|
31
|
+
link?: unknown;
|
|
32
|
+
variant?: string | null;
|
|
33
|
+
size?: string | null;
|
|
34
|
+
};
|
|
28
35
|
export declare function createCtasRepeater<const O extends CtasOptions = {}>(options?: O): CtasRepeaterField<O>;
|
|
29
36
|
export {};
|
|
@@ -43,6 +43,15 @@ type UrlFormatConstraint = Readonly<{
|
|
|
43
43
|
kind: "urlFormat";
|
|
44
44
|
allowRelative: boolean;
|
|
45
45
|
}>;
|
|
46
|
+
type DateFormatConstraint = Readonly<{
|
|
47
|
+
kind: "dateFormat";
|
|
48
|
+
}>;
|
|
49
|
+
type TimeFormatConstraint = Readonly<{
|
|
50
|
+
kind: "timeFormat";
|
|
51
|
+
}>;
|
|
52
|
+
type DateTimeFormatConstraint = Readonly<{
|
|
53
|
+
kind: "datetimeFormat";
|
|
54
|
+
}>;
|
|
46
55
|
type NumberTypeConstraint = Readonly<{
|
|
47
56
|
kind: "numberType";
|
|
48
57
|
}>;
|
|
@@ -85,7 +94,7 @@ type LinkObjectConstraint = Readonly<{
|
|
|
85
94
|
type ReferenceTextConstraint = Readonly<{
|
|
86
95
|
kind: "referenceText";
|
|
87
96
|
}>;
|
|
88
|
-
type StringConstraint = RequiredConstraint | TextTypeConstraint | MaxLengthConstraint | EmailFormatConstraint | PhoneFormatConstraint | PatternFormatConstraint | UrlFormatConstraint | SlugFormatConstraint | ReferenceTextConstraint;
|
|
97
|
+
type StringConstraint = RequiredConstraint | TextTypeConstraint | MaxLengthConstraint | EmailFormatConstraint | PhoneFormatConstraint | PatternFormatConstraint | UrlFormatConstraint | DateFormatConstraint | TimeFormatConstraint | DateTimeFormatConstraint | SlugFormatConstraint | ReferenceTextConstraint;
|
|
89
98
|
type NumberConstraint = RequiredConstraint | NumberTypeConstraint | NumberMinConstraint | NumberMaxConstraint;
|
|
90
99
|
type SelectConstraint = RequiredConstraint | SelectOptionConstraint;
|
|
91
100
|
type ArrayConstraint = RequiredConstraint | ArrayTypeConstraint | MinItemsConstraint | MaxItemsConstraint;
|
|
@@ -105,7 +114,7 @@ export type FieldValidationIssue = BaseIssue<"required", {
|
|
|
105
114
|
expected: string;
|
|
106
115
|
}> | BaseIssue<"tooLong", {
|
|
107
116
|
maximum: number;
|
|
108
|
-
}> | BaseIssue<"invalidEmail"> | BaseIssue<"invalidPhone"> | BaseIssue<"invalidPattern"> | BaseIssue<"invalidUrl"> | BaseIssue<"invalidNumber"> | BaseIssue<"tooSmall", {
|
|
117
|
+
}> | BaseIssue<"invalidEmail"> | BaseIssue<"invalidPhone"> | BaseIssue<"invalidPattern"> | BaseIssue<"invalidUrl"> | BaseIssue<"invalidDate"> | BaseIssue<"invalidTime"> | BaseIssue<"invalidDateTime"> | BaseIssue<"invalidNumber"> | BaseIssue<"tooSmall", {
|
|
109
118
|
minimum: number;
|
|
110
119
|
}> | BaseIssue<"tooLarge", {
|
|
111
120
|
maximum: number;
|
|
@@ -20,7 +20,7 @@ export type AllowedNodeType = (typeof ALLOWED_NODE_TYPES)[number];
|
|
|
20
20
|
* $bind.transforms within custom block layouts. Transform IDs
|
|
21
21
|
* not in this list will be rejected during validation.
|
|
22
22
|
*/
|
|
23
|
-
export declare const ALLOWED_TRANSFORM_IDS: readonly ["string.uppercase", "value.fallback", "date.formatShort", "array.length", "value.jsonArray", "value.csv", "array.marqueeLoop", "layout.maxWidthClass", "layout.headerRootClass", "layout.footerRootClass", "layout.headerRootStyle", "layout.footerRootStyle", "ui.headerNavLinkClass", "ui.headingClassFromAlignment", "ui.bodyClassFromAlignment", "ui.stackAlignFromAlignment", "ui.sectionStateTone", "ui.heroContentWrapperClass", "ui.heroCtaJustify", "ui.heroStackJustifyFromVerticalAlignment", "ui.heroGridClassFromVerticalAlignment", "ui.conditionalClass", "ui.twoColumnContainerClass", "ui.twoColumnFlexBasis", "ui.imageGalleryFilterClass", "ui.imageGalleryTileClass", "ui.imageGalleryTileStyle", "ui.imageGalleryMarqueeTileStyle", "ui.imageGalleryMarqueeDuration", "ui.imageGalleryMarqueeDirection", "ui.imageFragmentClass", "ui.imageFragmentSize", "media.fromUrl", "background.resolveStyle", "background.resolveColorsStyle", "background.resolveAllowOverflow", "background.resolveImageStyle", "background.resolveImageClassName", "background.resolveOverlayStyle", "links.resolve", "links.label", "content.interpolateRichTextTokens", "boxStyles.spacing", "boxStyles.resolveRootClass", "boxStyles.resolveRootStyle", "boxStyles.semanticGap", "boxStyles.semanticGapValue", "containerStyles.resolveBoxClassName"];
|
|
23
|
+
export declare const ALLOWED_TRANSFORM_IDS: readonly ["string.uppercase", "value.fallback", "date.formatShort", "array.length", "value.jsonArray", "value.csv", "array.marqueeLoop", "layout.maxWidthClass", "layout.headerRootClass", "layout.footerRootClass", "layout.headerRootStyle", "layout.headerSectionBackground", "layout.footerRootStyle", "ui.headerNavLinkClass", "ui.headingClassFromAlignment", "ui.bodyClassFromAlignment", "ui.stackAlignFromAlignment", "ui.sectionStateTone", "ui.heroContentWrapperClass", "ui.heroCtaJustify", "ui.heroStackJustifyFromVerticalAlignment", "ui.heroGridClassFromVerticalAlignment", "ui.conditionalClass", "ui.twoColumnContainerClass", "ui.twoColumnFlexBasis", "ui.imageGalleryFilterClass", "ui.imageGalleryTileClass", "ui.imageGalleryTileStyle", "ui.imageGalleryMarqueeTileStyle", "ui.imageGalleryMarqueeDuration", "ui.imageGalleryMarqueeDirection", "ui.imageFragmentClass", "ui.imageFragmentSize", "media.fromUrl", "background.resolveStyle", "background.resolveColorsStyle", "background.resolveAllowOverflow", "background.resolveImageStyle", "background.resolveImageClassName", "background.resolveOverlayStyle", "links.resolve", "links.label", "content.interpolateRichTextTokens", "boxStyles.spacing", "boxStyles.resolveRootClass", "boxStyles.resolveRootStyle", "boxStyles.semanticGap", "boxStyles.semanticGapValue", "containerStyles.resolveBoxClassName"];
|
|
24
24
|
export type AllowedTransformId = (typeof ALLOWED_TRANSFORM_IDS)[number];
|
|
25
25
|
/**
|
|
26
26
|
* Set for O(1) lookup of allowed node types.
|
|
@@ -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,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type AccordionIcon } from '../../../../../theme-core/src/accordions/types';
|
|
3
|
+
import type { AccordionIconTreatment } from '../../../../../theme-core/src/site-styles/index';
|
|
3
4
|
type AccordionNodeBaseProps = {
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
className?: string;
|
|
@@ -31,6 +32,7 @@ export type AccordionItemNodeProps = {
|
|
|
31
32
|
question?: unknown;
|
|
32
33
|
answer?: unknown;
|
|
33
34
|
iconStyle?: AccordionIcon | null;
|
|
35
|
+
iconTreatment?: AccordionIconTreatment | null;
|
|
34
36
|
blockId?: string | null;
|
|
35
37
|
blockKind?: string | null;
|
|
36
38
|
blockContent?: unknown;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type AccordionIcon } from '../../../../../theme-core/src/accordions/types';
|
|
3
|
+
import type { AccordionIconTreatment } from '../../../../../theme-core/src/site-styles/index';
|
|
3
4
|
type AccordionNodeProps = {
|
|
4
5
|
blockId?: string | null;
|
|
5
6
|
children?: React.ReactNode;
|
|
@@ -17,6 +18,7 @@ type AccordionItemNodeProps = {
|
|
|
17
18
|
question?: unknown;
|
|
18
19
|
answer?: unknown;
|
|
19
20
|
iconStyle?: AccordionIcon | null;
|
|
21
|
+
iconTreatment?: AccordionIconTreatment | null;
|
|
20
22
|
};
|
|
21
23
|
export declare const AccordionItemNodeSSR: React.FC<AccordionItemNodeProps>;
|
|
22
24
|
export default AccordionNodeSSR;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type AccordionIcon } from '../../../../../theme-core/src/accordions/types';
|
|
2
|
+
import type { AccordionIconTreatment } from '../../../../../theme-core/src/site-styles/index';
|
|
3
|
+
import type { CSSProperties } from 'react';
|
|
4
|
+
export declare function resolveAccordionIconStyle(iconStyle: AccordionIcon | null | undefined, iconTreatment: AccordionIconTreatment | null | undefined): AccordionIcon;
|
|
5
|
+
export declare function accordionIconColorStyle(iconTreatment: AccordionIconTreatment | null | undefined): CSSProperties | undefined;
|
|
@@ -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';
|
|
@@ -67,6 +67,7 @@ declare const footerRootClassSchema: z.ZodObject<{
|
|
|
67
67
|
}, z.core.$strip>;
|
|
68
68
|
export declare const footerRootClassTransform: TransformDefinition<z.infer<typeof footerRootClassSchema>>;
|
|
69
69
|
export declare const headerRootStyleTransform: TransformDefinition;
|
|
70
|
+
export declare const headerSectionBackgroundTransform: TransformDefinition;
|
|
70
71
|
export declare const footerRootStyleTransform: TransformDefinition;
|
|
71
72
|
declare const footerBottomBarClassSchema: z.ZodObject<{
|
|
72
73
|
base: z.ZodOptional<z.ZodString>;
|