@riverbankcms/sdk 0.135.1 → 0.137.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +114 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-D4p_5TdY.mjs → PreviewEditorSidebar-Bn6cONPa.mjs} +8 -8
- package/dist/{PreviewEditorUI-D0cRoTX1.mjs → PreviewEditorUI-LAwXZPSx.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-ztQUdsNo.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BKLtM3Nz.mjs → SdkPreviewModeRuntime-BbbGsI_v.mjs} +621 -238
- package/dist/{SiteChromeCustomizeContext-61X2m7QV.mjs → SiteChromeCustomizeContext-BbkNSt5a.mjs} +5041 -2407
- package/dist/_dts/ai/src/contracts/proposals.d.ts +18 -850
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +412 -2316
- package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
- package/dist/_dts/api/src/accessAdmin.d.ts +1 -9
- package/dist/_dts/api/src/accountApi.d.ts +49 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +7 -4
- package/dist/_dts/api/src/domainConnection.d.ts +41 -0
- package/dist/_dts/api/src/endpoints.d.ts +201 -181
- package/dist/_dts/api/src/index.d.ts +5 -3
- package/dist/_dts/api/src/media.d.ts +19 -2
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sdkBlockContentAdmission.d.ts +5 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -15
- package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
- package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +61 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +21 -436
- package/dist/_dts/api/src/siteInfrastructure.d.ts +17 -23
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +7 -21
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +27 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -3
- package/dist/_dts/block-form/src/utils/slug.d.ts +6 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +13 -7
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -0
- package/dist/_dts/blocks/src/definitions.d.ts +14 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -3
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +49 -0
- package/dist/_dts/blocks/src/pageRendererBlockSupport.d.ts +75 -0
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +2 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +78 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +2 -18
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +103 -16
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +47 -21
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +38 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +8 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarNavigationChevron.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalContext.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +31 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -1
- package/dist/_dts/calendar/src/grid.d.ts +24 -66
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/calendar/src/timetable.d.ts +5 -9
- package/dist/_dts/commerce/src/purchase/allocation.d.ts +11 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +3 -0
- package/dist/_dts/commerce/src/purchase/settlement.d.ts +33 -0
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -0
- package/dist/_dts/core/src/slug.d.ts +20 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +8 -40
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
- package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +10 -6
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +17 -0
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +9 -3
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +7 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +25 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -810
- package/dist/_dts/theme-core/src/schema.d.ts +460 -1285
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +223 -1
- package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
- package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -38
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +10 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +8 -5
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
- package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +465 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +168 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
- package/dist/client/{BookingConsentAgreement-Bz9znbpn.mjs → BookingConsentAgreement--_fUCZe-.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-35Ru8yB9.mjs → DiscountCodeDisclosure-BMipSoDJ.mjs} +1 -1
- package/dist/client/{EventCombined.client-BKB0ZxRR.mjs → EventCombined.client-CwJOxn7A.mjs} +274 -278
- package/dist/client/{EventListing.client-Dx8I21ok.mjs → EventListing.client-eVwiylPW.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CEWx-Bhe.mjs → LeafletStaticMap-IKenna5u.mjs} +1 -1
- package/dist/client/{accordion-KIDsKTwS.mjs → accordion-MGAO3PuE.mjs} +1 -1
- package/dist/client/{bookingForm-D96Rmp-5.mjs → bookingForm-CudlQPUu.mjs} +5 -5
- package/dist/client/bookings.mjs +476 -98
- package/dist/client/capacity-BW00PO7s.mjs +271 -0
- package/dist/client/{carousel-YwUgyL66.mjs → carousel-BrbGJ2Jl.mjs} +1 -1
- package/dist/client/{cart-BbwuNrUT.mjs → cart-Bq5eU0xZ.mjs} +3 -3
- package/dist/client/{checkout-hp1ucmEY.mjs → checkout-BAFVRdrK.mjs} +3 -3
- package/dist/client/client.mjs +4641 -2721
- package/dist/client/{context-DljQn8L5.mjs → context-DCkiHVdD.mjs} +20 -5
- package/dist/client/dates-2RPXHQy4.mjs +264 -0
- package/dist/client/{eventCalendar-DU4iNLpo.mjs → eventCalendar-B0O-hPF7.mjs} +261 -126
- package/dist/client/{eventCombined-CZuupW8m.mjs → eventCombined-DCkDaoDI.mjs} +3 -3
- package/dist/client/{eventDetails-DPQWwCIi.mjs → eventDetails-D8GG2dnD.mjs} +7 -4
- package/dist/client/{eventListing-C7oMidwS.mjs → eventListing-3ssV_bxz.mjs} +3 -3
- package/dist/client/{eventRegistration-zEiunlUs.mjs → eventRegistration-bPQo3kVw.mjs} +610 -313
- package/dist/client/{form-D2KIyCVJ.mjs → form-qMv8RDkk.mjs} +2 -2
- package/dist/client/{headerSection-CK5uChUK.mjs → headerSection-CH0Sc5hX.mjs} +2 -2
- package/dist/client/hooks.mjs +2514 -308
- package/dist/client/{locationMap-DLQNH1ln.mjs → locationMap-0_xlBnNI.mjs} +2 -2
- package/dist/client/{newsletterForm-ZuhIG7fZ.mjs → newsletterForm-NUW7m9RI.mjs} +2 -2
- package/dist/client/{productDetail-7hIcGeae.mjs → productDetail-FBEOM7jW.mjs} +3 -3
- package/dist/client/{productList-T4Cii1ot.mjs → productList-R0OSGhnn.mjs} +3 -3
- package/dist/client/{propsDecoder-mB0aC_Fi.mjs → propsDecoder-pYvx_Srl.mjs} +179 -401
- package/dist/client/rendering/client.mjs +3496 -2223
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +4400 -2510
- package/dist/client/{scrollToBlock-Du5mHgvL.mjs → scrollToBlock-ByQv96M2.mjs} +1 -1
- package/dist/client/{shop-B5zAcKZn.mjs → shop-RUG9DmRE.mjs} +6 -6
- package/dist/client/{shop-commerce-BKBZB6l5.mjs → shop-commerce-B76Jz23B.mjs} +5 -5
- package/dist/client/{shop-commerce-store-Cq4qlNtQ.mjs → shop-commerce-store-QuQNdDsD.mjs} +1 -1
- package/dist/client/{shopShared-DYGzEs9D.mjs → shopShared-vXU1omwJ.mjs} +3 -3
- package/dist/client/{useEventFilters-Bphkda8m.mjs → useEventFilters-ByuU6HLA.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +86 -51
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +86 -51
- package/dist/preview-next/middleware.mjs +86 -51
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-L_cKW8Sb.mjs} +86 -51
- package/dist/{sdk-runtime-BbIC8G4J.mjs → sdk-runtime-sUMr5d70.mjs} +2 -2
- package/dist/{separator-CadhAtI7.mjs → separator-BIHkie5i.mjs} +1 -1
- package/dist/server/components.mjs +4397 -2960
- package/dist/server/config-validation.mjs +354 -145
- package/dist/server/config.mjs +354 -145
- package/dist/server/data.mjs +354 -144
- package/dist/server/index.mjs +201 -55
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +4046 -2611
- package/dist/server/page-converter.mjs +225 -122
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4105 -2636
- package/dist/server/rendering.mjs +4522 -3087
- package/dist/server/routing.mjs +3289 -1637
- package/dist/server/server.mjs +23175 -21079
- package/dist/server/theme-bridge.mjs +708 -272
- package/dist/server/theme.mjs +29 -25
- package/dist/styles/index.css +624 -181
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
- /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
|
@@ -143,21 +143,6 @@ type BaseIssue<K extends string, Extra extends object = Record<never, never>> =
|
|
|
143
143
|
fieldId: string;
|
|
144
144
|
label: string;
|
|
145
145
|
}> & Readonly<Extra>;
|
|
146
|
-
export type ManifestContentRequiredScope = "topLevel" | "nested";
|
|
147
|
-
export type ManifestContentValidationIssue = Readonly<{
|
|
148
|
-
kind: FieldValidationIssue["kind"];
|
|
149
|
-
field: string;
|
|
150
|
-
message: string;
|
|
151
|
-
requiredScope: ManifestContentRequiredScope | null;
|
|
152
|
-
}>;
|
|
153
|
-
export type ManifestContentValidationResult = Readonly<{
|
|
154
|
-
kind: 'valid';
|
|
155
|
-
issues: readonly [];
|
|
156
|
-
data: Readonly<Record<string, unknown>>;
|
|
157
|
-
}> | Readonly<{
|
|
158
|
-
kind: "invalid";
|
|
159
|
-
issues: readonly ManifestContentValidationIssue[];
|
|
160
|
-
}>;
|
|
161
146
|
type PlanBase<K extends string, ValueKind extends string, Constraints extends FieldConstraint> = Readonly<{
|
|
162
147
|
kind: K;
|
|
163
148
|
valueKind: ValueKind;
|
|
@@ -265,11 +250,10 @@ export declare function validateFieldValue(plan: FieldValidationPlan, value: unk
|
|
|
265
250
|
export declare function fieldPlanToZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
|
|
266
251
|
export declare function fieldPresenceForPlan(plan: Pick<FieldValidationPlan, "required">): FieldPresence;
|
|
267
252
|
export declare function fieldPlanToObjectPropertyZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
|
|
253
|
+
/** Validate stored field values without applying editor/write normalization. */
|
|
254
|
+
export declare function fieldPlanToStoredObjectPropertyZod(plan: FieldValidationPlan): z.ZodTypeAny;
|
|
268
255
|
export declare function resolveFieldValidationDescriptor(plans: readonly FieldValidationPlan[], path: FieldPath): FieldValidationDescriptor | null;
|
|
269
256
|
export declare function validateManifestValues(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): FieldValidationIssue[];
|
|
270
|
-
export declare function validateManifestContentForPush(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): ManifestContentValidationResult;
|
|
271
|
-
export declare function isTopLevelRequiredManifestContentIssue(issue: ManifestContentValidationIssue): boolean;
|
|
272
|
-
export declare function formatManifestContentValidationIssue(issue: ManifestContentValidationIssue): string;
|
|
273
257
|
export declare function isCanonicalEmailValue(value: string): boolean;
|
|
274
258
|
export declare function isCanonicalPhoneValue(value: string): boolean;
|
|
275
259
|
export declare function isCanonicalUrlValue(value: string, options?: Readonly<{
|
|
@@ -1,6 +1,69 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import type { BlockManifest, FieldDefinition } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { BlockManifest, FieldDefinition } from './schema';
|
|
3
|
+
import { type FieldValidationDescriptor, type FieldValidationPlan } from './fieldValidation';
|
|
3
4
|
type FieldShape = Record<string, z.ZodTypeAny>;
|
|
5
|
+
declare const manifestContentStage: unique symbol;
|
|
6
|
+
declare const compiledManifestContentContract: unique symbol;
|
|
7
|
+
type CompiledManifestContentContractState = Readonly<{
|
|
8
|
+
plans: readonly FieldValidationPlan[];
|
|
9
|
+
strictStoredSchema: z.ZodType<Record<string, unknown>>;
|
|
10
|
+
writeSchema: z.ZodType<Record<string, unknown>>;
|
|
11
|
+
draftSchema: z.ZodType<Record<string, unknown>>;
|
|
12
|
+
renderSchema: z.ZodType<Record<string, unknown>>;
|
|
13
|
+
findNonPortableMediaPaths: (content: unknown) => readonly string[];
|
|
14
|
+
}>;
|
|
15
|
+
export type CompiledManifestContentContract = Readonly<{
|
|
16
|
+
[compiledManifestContentContract]: CompiledManifestContentContractState;
|
|
17
|
+
}>;
|
|
18
|
+
export type StoredManifestContent = Readonly<Record<string, unknown>> & Readonly<{
|
|
19
|
+
[manifestContentStage]: 'stored';
|
|
20
|
+
}>;
|
|
21
|
+
export type RenderableManifestContent = Readonly<Record<string, unknown>> & Readonly<{
|
|
22
|
+
[manifestContentStage]: 'renderable';
|
|
23
|
+
}>;
|
|
24
|
+
export type ManifestContentAdmissionIssue = Readonly<{
|
|
25
|
+
code: z.core.$ZodIssue['code'];
|
|
26
|
+
path: readonly (string | number)[];
|
|
27
|
+
message: string;
|
|
28
|
+
}>;
|
|
29
|
+
export type ManifestContentAdmissionError = Readonly<{
|
|
30
|
+
kind: 'invalid_shape';
|
|
31
|
+
issues: readonly ManifestContentAdmissionIssue[];
|
|
32
|
+
}> | Readonly<{
|
|
33
|
+
kind: 'non_portable_media';
|
|
34
|
+
paths: readonly string[];
|
|
35
|
+
}>;
|
|
36
|
+
export type ManifestContentAdmissionResult<T> = Readonly<{
|
|
37
|
+
ok: true;
|
|
38
|
+
value: T;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
ok: false;
|
|
41
|
+
error: ManifestContentAdmissionError;
|
|
42
|
+
}>;
|
|
43
|
+
export type ManifestDraftValidationResult = Readonly<{
|
|
44
|
+
kind: 'previewable';
|
|
45
|
+
data: Readonly<Record<string, unknown>>;
|
|
46
|
+
issues: readonly [];
|
|
47
|
+
}> | Readonly<{
|
|
48
|
+
kind: 'invalid';
|
|
49
|
+
data: Readonly<Record<string, unknown>>;
|
|
50
|
+
issues: readonly [
|
|
51
|
+
ManifestContentAdmissionIssue,
|
|
52
|
+
...ManifestContentAdmissionIssue[]
|
|
53
|
+
];
|
|
54
|
+
}>;
|
|
55
|
+
export type ManifestWriteCandidateValidationResult = Readonly<{
|
|
56
|
+
kind: 'valid';
|
|
57
|
+
data: Readonly<Record<string, unknown>>;
|
|
58
|
+
issues: readonly [];
|
|
59
|
+
}> | Readonly<{
|
|
60
|
+
kind: 'invalid';
|
|
61
|
+
data: Readonly<Record<string, unknown>>;
|
|
62
|
+
issues: readonly [
|
|
63
|
+
ManifestContentAdmissionIssue,
|
|
64
|
+
...ManifestContentAdmissionIssue[]
|
|
65
|
+
];
|
|
66
|
+
}>;
|
|
4
67
|
type ValidatorOptions = {
|
|
5
68
|
allowNull?: boolean;
|
|
6
69
|
/**
|
|
@@ -8,22 +71,46 @@ type ValidatorOptions = {
|
|
|
8
71
|
* Use for autosave scenarios where content may be incomplete.
|
|
9
72
|
*/
|
|
10
73
|
allowIncomplete?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Validation mode:
|
|
13
|
-
* - 'strict' (default): Enforce all required field constraints
|
|
14
|
-
* - 'draft': Preprocess empty values to undefined, use allowIncomplete for lenient validation
|
|
15
|
-
*
|
|
16
|
-
* Use 'draft' mode in preview/editing contexts where users need to temporarily
|
|
17
|
-
* have empty fields without validation errors causing blocks to disappear.
|
|
18
|
-
*/
|
|
19
|
-
mode?: "strict" | "draft";
|
|
20
74
|
};
|
|
21
75
|
export declare function deriveContentZodFromManifest(manifestOrFields: BlockManifest | FieldDefinition[], options?: ValidatorOptions): z.ZodObject<FieldShape>;
|
|
22
|
-
export declare function createManifestValidator(manifestOrFields: BlockManifest | FieldDefinition[], options?: ValidatorOptions): z.ZodType<Record<string, unknown>>;
|
|
23
76
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
77
|
+
* Compiles editor-facing manifest structure into the presentation-independent
|
|
78
|
+
* validation contract used by every manifest-content trust transition.
|
|
79
|
+
*/
|
|
80
|
+
export declare function compileManifestContentContract(manifestOrFields: BlockManifest | FieldDefinition[]): CompiledManifestContentContract;
|
|
81
|
+
export declare function resolveManifestContentFieldDescriptor(contract: CompiledManifestContentContract, path: readonly (string | number)[]): FieldValidationDescriptor | null;
|
|
82
|
+
/**
|
|
83
|
+
* Reports declared media fields carrying environment-specific keys.
|
|
84
|
+
*
|
|
85
|
+
* Split out of stored admission for callers that must prove portability of
|
|
86
|
+
* content whose *shape* is legitimately incomplete — a template block's stored
|
|
87
|
+
* defaults, for instance, where required values only arrive through entry
|
|
88
|
+
* bindings. Returns the offending paths, empty when the content is portable.
|
|
89
|
+
*/
|
|
90
|
+
export declare function findNonPortableManifestMediaPaths(contract: CompiledManifestContentContract, content: unknown): readonly string[];
|
|
91
|
+
/** Strictly admits already-persisted content without repairing it. */
|
|
92
|
+
export declare function admitStoredManifestContent(contract: CompiledManifestContentContract, content: unknown): ManifestContentAdmissionResult<StoredManifestContent>;
|
|
93
|
+
/**
|
|
94
|
+
* Admits an effectfully resolved write candidate and canonicalizes declared
|
|
95
|
+
* media to its portable identifier-only representation.
|
|
96
|
+
*/
|
|
97
|
+
export declare function admitManifestContentForWrite(contract: CompiledManifestContentContract, content: unknown): ManifestContentAdmissionResult<StoredManifestContent>;
|
|
98
|
+
/** Validates raw editor state without granting a stored-content proof. */
|
|
99
|
+
export declare function validateManifestDraft(contract: CompiledManifestContentContract, data: Readonly<Record<string, unknown>>): ManifestDraftValidationResult;
|
|
100
|
+
/**
|
|
101
|
+
* Checks whether a raw editor candidate is schema-ready for the effectful
|
|
102
|
+
* media-resolution/write boundary without granting a stored proof.
|
|
103
|
+
*/
|
|
104
|
+
export declare function validateManifestWriteCandidate(contract: CompiledManifestContentContract, data: Readonly<Record<string, unknown>>): ManifestWriteCandidateValidationResult;
|
|
105
|
+
/**
|
|
106
|
+
* Applies a pure runtime projection to admitted stored content and validates
|
|
107
|
+
* the resulting render shape before granting the renderable proof.
|
|
108
|
+
*/
|
|
109
|
+
export declare function deriveRenderableManifestContent(contract: CompiledManifestContentContract, stored: StoredManifestContent, project: (content: StoredManifestContent) => Readonly<Record<string, unknown>>): ManifestContentAdmissionResult<RenderableManifestContent>;
|
|
110
|
+
/**
|
|
111
|
+
* Re-admits renderable content after a transport boundary has erased its
|
|
112
|
+
* compile-time proof. Unlike write admission, this never canonicalizes or
|
|
113
|
+
* grants a stored proof, so hydrated media cannot flow back to persistence.
|
|
27
114
|
*/
|
|
28
|
-
export declare function
|
|
115
|
+
export declare function admitTransportedRenderableManifestContent(contract: CompiledManifestContentContract, content: unknown): ManifestContentAdmissionResult<RenderableManifestContent>;
|
|
29
116
|
export {};
|
|
@@ -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", "value.mapToken", "layout.maxWidthClass", "layout.headerRootClass", "layout.footerRootClass", "layout.headerRootStyle", "layout.headerSectionBackground", "layout.
|
|
23
|
+
export declare const ALLOWED_TRANSFORM_IDS: readonly ["string.uppercase", "value.fallback", "date.formatShort", "array.length", "value.jsonArray", "value.csv", "array.marqueeLoop", "value.mapToken", "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.resolveFrameClassName", "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.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Factory function for creating a typed API client for block client-side API calls.
|
|
5
5
|
*/
|
|
6
|
-
import type { BlockApiConfig, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, WeeklySlotAvailabilityRequest, WeeklySlotAvailabilityResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, RegistrationOptionsRequest, RegistrationOptionsResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyRequest, DiscountApplyResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerEventSeriesRegistration, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
|
|
6
|
+
import type { BlockApiConfig, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, WeeklySlotAvailabilityRequest, WeeklySlotAvailabilityResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, RegistrationOptionsRequest, RegistrationOptionsResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyRequest, DiscountApplyResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerEventSeriesRegistration, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
|
|
7
7
|
type WithoutSiteId<T> = T extends unknown ? Omit<T, 'siteId'> : never;
|
|
8
8
|
type PublicProductCategorySelector = Readonly<{
|
|
9
9
|
kind: 'category';
|
|
@@ -18,7 +18,8 @@ type PublicProductCategorySelector = Readonly<{
|
|
|
18
18
|
export declare class BlockApiError extends Error {
|
|
19
19
|
readonly status: number;
|
|
20
20
|
readonly code?: string | undefined;
|
|
21
|
-
|
|
21
|
+
readonly tag?: string | undefined;
|
|
22
|
+
constructor(message: string, status: number, code?: string | undefined, tag?: string | undefined);
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Block API Client interface
|
|
@@ -49,6 +50,7 @@ export interface BlockApiClient {
|
|
|
49
50
|
createEventCheckout(data: WithoutSiteId<EventCheckoutRequest>): Promise<EventCheckoutResponse>;
|
|
50
51
|
getRegistrationOptions(data: Omit<RegistrationOptionsRequest, 'siteId'>): Promise<RegistrationOptionsResponse>;
|
|
51
52
|
getEventRegistrationStatus(params: WithoutSiteId<EventRegistrationStatusRequest>): Promise<EventRegistrationStatusResponse>;
|
|
53
|
+
resolveEventCheckoutReturn(data: EventCheckoutReturnRequest): Promise<EventCheckoutReturnResponse>;
|
|
52
54
|
resolveWaitlistClaim(data: Omit<ResolveWaitlistClaimRequest, 'siteId'>): Promise<ResolveWaitlistClaimResponse>;
|
|
53
55
|
getDiscountsAvailable(data: Omit<DiscountsAvailableRequest, 'siteId'>): Promise<DiscountsAvailableResponse>;
|
|
54
56
|
applyDiscountCode(data: Omit<DiscountApplyRequest, 'siteId'>): Promise<DiscountApplyResponse>;
|
|
@@ -101,6 +101,10 @@ export declare const EVENTS: {
|
|
|
101
101
|
path: string;
|
|
102
102
|
method: "GET";
|
|
103
103
|
};
|
|
104
|
+
checkoutReturn: {
|
|
105
|
+
path: string;
|
|
106
|
+
method: "POST";
|
|
107
|
+
};
|
|
104
108
|
};
|
|
105
109
|
export declare const WHOLE_SERIES: {
|
|
106
110
|
list: {
|
|
@@ -428,6 +432,10 @@ export declare const ENDPOINTS: {
|
|
|
428
432
|
path: string;
|
|
429
433
|
method: "GET";
|
|
430
434
|
};
|
|
435
|
+
checkoutReturn: {
|
|
436
|
+
path: string;
|
|
437
|
+
method: "POST";
|
|
438
|
+
};
|
|
431
439
|
};
|
|
432
440
|
readonly wholeSeries: {
|
|
433
441
|
list: {
|
|
@@ -43,7 +43,7 @@ export { createBlockApi, BlockApiError } from './client';
|
|
|
43
43
|
export type { BlockApiClient } from './client';
|
|
44
44
|
export { BlockApiProvider, useBlockApi, useBlockApiOptional } from './context';
|
|
45
45
|
export type { BlockApiProviderProps } from './context';
|
|
46
|
-
export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, PaymentMethod, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderFilter, CustomerOrderItem, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, CustomerOrderRefund, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, EventTicketBreakdownLine, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerEventSeriesRegistration, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalWholeSeriesBookingQuestionsResponse, PortalCreateWholeSeriesBookingQuestionsUploadUrlRequest, PortalCreateWholeSeriesBookingQuestionsUploadUrlResponse, PortalFinalizeWholeSeriesBookingQuestionsUploadRequest, PortalFinalizeWholeSeriesBookingQuestionsUploadResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
|
|
46
|
+
export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, PaymentMethod, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderFilter, CustomerOrderItem, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, CustomerOrderRefund, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, EventTicketBreakdownLine, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerEventSeriesRegistration, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalWholeSeriesBookingQuestionsResponse, PortalCreateWholeSeriesBookingQuestionsUploadUrlRequest, PortalCreateWholeSeriesBookingQuestionsUploadUrlResponse, PortalFinalizeWholeSeriesBookingQuestionsUploadRequest, PortalFinalizeWholeSeriesBookingQuestionsUploadResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
|
|
47
47
|
export { discountAvailabilityAllowsManualEntry, discountAvailabilityHasDiscounts, getAutoAppliedDiscountPreview, } from './types';
|
|
48
48
|
export type { BookingQuestionsDocumentAnswerValue } from '../../../portal/types';
|
|
49
49
|
export { deriveCreditProductLabels, getCreditProductCreditUnit, getCreditProductTypeLabel, getPortalCreditProductCreditNoun, } from './creditProducts';
|
|
@@ -207,6 +207,7 @@ export type EventCheckoutRequest = EventCheckoutRequestCommon & ({
|
|
|
207
207
|
altchaSolution?: string | null;
|
|
208
208
|
guests?: EventRegisterGuest[];
|
|
209
209
|
claimToken?: string;
|
|
210
|
+
checkoutAttemptId: string;
|
|
210
211
|
});
|
|
211
212
|
export type EventCheckoutResponse = {
|
|
212
213
|
scope: 'occurrence';
|
|
@@ -278,4 +279,22 @@ export interface EventRegistrationStatusResponse {
|
|
|
278
279
|
attendeeStatus: AttendeeStatus;
|
|
279
280
|
waitlistPosition: number | null;
|
|
280
281
|
}
|
|
282
|
+
export type EventCheckoutReturnRequest = {
|
|
283
|
+
kind: 'resolveSuccess';
|
|
284
|
+
checkoutAttemptId: string;
|
|
285
|
+
sessionId: string;
|
|
286
|
+
} | {
|
|
287
|
+
kind: 'abandon';
|
|
288
|
+
checkoutAttemptId: string;
|
|
289
|
+
};
|
|
290
|
+
export type EventCheckoutReturnResponse = {
|
|
291
|
+
kind: 'resolved';
|
|
292
|
+
reference: EventRegistrationStatusReference;
|
|
293
|
+
} | {
|
|
294
|
+
kind: 'abandoned';
|
|
295
|
+
} | {
|
|
296
|
+
kind: 'notFound';
|
|
297
|
+
} | {
|
|
298
|
+
kind: 'reconciliationRequired';
|
|
299
|
+
};
|
|
281
300
|
export {};
|
|
@@ -638,6 +638,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
638
638
|
eventSurface: import("../..").EventSurfaceScope;
|
|
639
639
|
filterEventPresets: string | null;
|
|
640
640
|
scheduleScope: import("../..").EventScheduleScope;
|
|
641
|
+
calendarContext: Readonly<{
|
|
642
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
643
|
+
initialToday: Readonly<{
|
|
644
|
+
year: number;
|
|
645
|
+
month: number;
|
|
646
|
+
day: number;
|
|
647
|
+
}>;
|
|
648
|
+
}>;
|
|
641
649
|
}>;
|
|
642
650
|
}>;
|
|
643
651
|
contracts: Readonly<{
|
|
@@ -655,6 +663,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
655
663
|
eventSurface: import("../..").EventSurfaceScope;
|
|
656
664
|
filterEventPresets: string | null;
|
|
657
665
|
scheduleScope: import("../..").EventScheduleScope;
|
|
666
|
+
calendarContext: Readonly<{
|
|
667
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
668
|
+
initialToday: Readonly<{
|
|
669
|
+
year: number;
|
|
670
|
+
month: number;
|
|
671
|
+
day: number;
|
|
672
|
+
}>;
|
|
673
|
+
}>;
|
|
658
674
|
}>;
|
|
659
675
|
}>) => unknown;
|
|
660
676
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
@@ -666,6 +682,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
666
682
|
eventSurface: import("../..").EventSurfaceScope;
|
|
667
683
|
filterEventPresets: string | null;
|
|
668
684
|
scheduleScope: import("../..").EventScheduleScope;
|
|
685
|
+
calendarContext: Readonly<{
|
|
686
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
687
|
+
initialToday: Readonly<{
|
|
688
|
+
year: number;
|
|
689
|
+
month: number;
|
|
690
|
+
day: number;
|
|
691
|
+
}>;
|
|
692
|
+
}>;
|
|
669
693
|
}>;
|
|
670
694
|
}>>;
|
|
671
695
|
}>;
|
|
@@ -685,6 +709,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
685
709
|
eventSurface: import("../..").EventSurfaceScope;
|
|
686
710
|
filterEventPresets: string | null;
|
|
687
711
|
scheduleScope: import("../..").EventScheduleScope;
|
|
712
|
+
calendarContext: Readonly<{
|
|
713
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
714
|
+
initialToday: Readonly<{
|
|
715
|
+
year: number;
|
|
716
|
+
month: number;
|
|
717
|
+
day: number;
|
|
718
|
+
}>;
|
|
719
|
+
}>;
|
|
688
720
|
}>;
|
|
689
721
|
}>;
|
|
690
722
|
contracts: Readonly<{
|
|
@@ -702,6 +734,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
702
734
|
eventSurface: import("../..").EventSurfaceScope;
|
|
703
735
|
filterEventPresets: string | null;
|
|
704
736
|
scheduleScope: import("../..").EventScheduleScope;
|
|
737
|
+
calendarContext: Readonly<{
|
|
738
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
739
|
+
initialToday: Readonly<{
|
|
740
|
+
year: number;
|
|
741
|
+
month: number;
|
|
742
|
+
day: number;
|
|
743
|
+
}>;
|
|
744
|
+
}>;
|
|
705
745
|
}>;
|
|
706
746
|
}>) => unknown;
|
|
707
747
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
@@ -713,6 +753,14 @@ export declare const runtimeBackedBlockClientEntries: {
|
|
|
713
753
|
eventSurface: import("../..").EventSurfaceScope;
|
|
714
754
|
filterEventPresets: string | null;
|
|
715
755
|
scheduleScope: import("../..").EventScheduleScope;
|
|
756
|
+
calendarContext: Readonly<{
|
|
757
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
758
|
+
initialToday: Readonly<{
|
|
759
|
+
year: number;
|
|
760
|
+
month: number;
|
|
761
|
+
day: number;
|
|
762
|
+
}>;
|
|
763
|
+
}>;
|
|
716
764
|
}>;
|
|
717
765
|
}>>;
|
|
718
766
|
}>;
|
|
@@ -2237,6 +2285,10 @@ export declare const clientComponentRegistryEntries: {
|
|
|
2237
2285
|
eventSurface: import("../..").EventSurfaceScope;
|
|
2238
2286
|
filterEventPresets: string | null;
|
|
2239
2287
|
scheduleScope: import("../..").EventScheduleScope;
|
|
2288
|
+
calendarContext: Readonly<{
|
|
2289
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
2290
|
+
initialToday: import("../../../../../calendar/src/index").CalendarDate;
|
|
2291
|
+
}>;
|
|
2240
2292
|
}>;
|
|
2241
2293
|
}>>;
|
|
2242
2294
|
}>>;
|
|
@@ -327,6 +327,14 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
327
327
|
eventSurface: import("../..").EventSurfaceScope;
|
|
328
328
|
filterEventPresets: string | null;
|
|
329
329
|
scheduleScope: import("../..").EventScheduleScope;
|
|
330
|
+
calendarContext: Readonly<{
|
|
331
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
332
|
+
initialToday: Readonly<{
|
|
333
|
+
year: number;
|
|
334
|
+
month: number;
|
|
335
|
+
day: number;
|
|
336
|
+
}>;
|
|
337
|
+
}>;
|
|
330
338
|
}>;
|
|
331
339
|
}>;
|
|
332
340
|
contracts: Readonly<{
|
|
@@ -344,6 +352,14 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
344
352
|
eventSurface: import("../..").EventSurfaceScope;
|
|
345
353
|
filterEventPresets: string | null;
|
|
346
354
|
scheduleScope: import("../..").EventScheduleScope;
|
|
355
|
+
calendarContext: Readonly<{
|
|
356
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
357
|
+
initialToday: Readonly<{
|
|
358
|
+
year: number;
|
|
359
|
+
month: number;
|
|
360
|
+
day: number;
|
|
361
|
+
}>;
|
|
362
|
+
}>;
|
|
347
363
|
}>;
|
|
348
364
|
}>) => unknown;
|
|
349
365
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
@@ -355,6 +371,14 @@ export declare const runtimeBackedBlockServerEntries: {
|
|
|
355
371
|
eventSurface: import("../..").EventSurfaceScope;
|
|
356
372
|
filterEventPresets: string | null;
|
|
357
373
|
scheduleScope: import("../..").EventScheduleScope;
|
|
374
|
+
calendarContext: Readonly<{
|
|
375
|
+
timeZone: import("../../../../../core/src/index").BookingTimeZone;
|
|
376
|
+
initialToday: Readonly<{
|
|
377
|
+
year: number;
|
|
378
|
+
month: number;
|
|
379
|
+
day: number;
|
|
380
|
+
}>;
|
|
381
|
+
}>;
|
|
358
382
|
}>;
|
|
359
383
|
}>>;
|
|
360
384
|
}>;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { PublicEvent } from '../../blocks/events/shared/types';
|
|
2
|
-
import { type
|
|
2
|
+
import { type BookingTimeZone } from '../../../../../core/src/index';
|
|
3
|
+
import type { CalendarDate } from '../../../../../calendar/src/index';
|
|
4
|
+
import { type CalendarViewport, type CalendarViewportKind, type WeekStart } from '../nodes/events/domain';
|
|
3
5
|
import { type EventRuntimeFilters } from '../nodes/events/shared/listOptions';
|
|
6
|
+
import { type CalendarViewLoadState } from './useCalendarEvents.state';
|
|
7
|
+
export type { CalendarViewLoadState } from './useCalendarEvents.state';
|
|
8
|
+
type CalendarViewportFor<Kind extends CalendarViewportKind> = Extract<CalendarViewport, Readonly<{
|
|
9
|
+
kind: Kind;
|
|
10
|
+
}>>;
|
|
4
11
|
type UseCalendarEventsOptions = {
|
|
5
12
|
/** @deprecated Site ID is now provided by BlockApiProvider context */
|
|
6
13
|
siteId?: string;
|
|
@@ -16,59 +23,72 @@ type UseCalendarEventsOptions = {
|
|
|
16
23
|
filters?: EventRuntimeFilters;
|
|
17
24
|
/** Fetch stage (preview vs published) */
|
|
18
25
|
stage?: 'preview' | 'published';
|
|
26
|
+
calendarContext: Readonly<{
|
|
27
|
+
timeZone: BookingTimeZone;
|
|
28
|
+
initialToday: CalendarDate;
|
|
29
|
+
}>;
|
|
19
30
|
};
|
|
20
|
-
type CalendarEventsState = {
|
|
31
|
+
export type CalendarEventsState<Kind extends CalendarViewportKind> = {
|
|
21
32
|
/** Events visible in the current view */
|
|
22
33
|
events: PublicEvent[];
|
|
23
34
|
/** Current view date (anchor of the calendar viewport) */
|
|
24
|
-
viewDate:
|
|
35
|
+
viewDate: CalendarDate;
|
|
25
36
|
/** Derived calendar viewport for the current view date */
|
|
26
|
-
viewport:
|
|
37
|
+
viewport: CalendarViewportFor<Kind>;
|
|
27
38
|
/** Whether events are being loaded */
|
|
28
|
-
|
|
29
|
-
/** Error from last fetch */
|
|
30
|
-
error: Error | null;
|
|
39
|
+
loadState: CalendarViewLoadState;
|
|
31
40
|
/** Set the view date */
|
|
32
|
-
setViewDate: (date:
|
|
41
|
+
setViewDate: (date: CalendarDate) => void;
|
|
33
42
|
/** Navigate to previous viewport period */
|
|
34
43
|
goToPrevious: () => void;
|
|
35
44
|
/** Navigate to next viewport period */
|
|
36
45
|
goToNext: () => void;
|
|
37
46
|
/** Navigate to today */
|
|
38
47
|
goToToday: () => void;
|
|
48
|
+
/** Retry loading the currently selected viewport without changing its date */
|
|
49
|
+
retryCurrentView: () => void;
|
|
39
50
|
};
|
|
40
51
|
type UseCalendarViewportOptions = Readonly<{
|
|
41
52
|
view?: CalendarViewportKind;
|
|
42
53
|
startOfWeek?: WeekStart;
|
|
43
|
-
initialDate
|
|
54
|
+
initialDate: CalendarDate;
|
|
44
55
|
}>;
|
|
45
56
|
/**
|
|
46
57
|
* Owns calendar viewport state only: selected anchor date, derived visible
|
|
47
58
|
* period, and navigation by the natural unit for the active view.
|
|
48
59
|
*/
|
|
49
|
-
|
|
50
|
-
viewDate:
|
|
51
|
-
viewport:
|
|
52
|
-
goToDate: (date:
|
|
60
|
+
type CalendarViewportState<Kind extends CalendarViewportKind> = Readonly<{
|
|
61
|
+
viewDate: CalendarDate;
|
|
62
|
+
viewport: CalendarViewportFor<Kind>;
|
|
63
|
+
goToDate: (date: CalendarDate) => void;
|
|
53
64
|
goToPrevious: () => void;
|
|
54
65
|
goToNext: () => void;
|
|
55
66
|
goToToday: () => void;
|
|
56
67
|
}>;
|
|
68
|
+
type ExplicitCalendarViewportOptions<Kind extends CalendarViewportKind> = Omit<UseCalendarViewportOptions, 'view'> & Readonly<{
|
|
69
|
+
view: Kind;
|
|
70
|
+
}>;
|
|
71
|
+
type DefaultCalendarViewportOptions = Omit<UseCalendarViewportOptions, 'view'> & Readonly<{
|
|
72
|
+
view?: undefined;
|
|
73
|
+
}>;
|
|
74
|
+
export declare function useCalendarViewport(options: DefaultCalendarViewportOptions): CalendarViewportState<'month'>;
|
|
75
|
+
export declare function useCalendarViewport<Kind extends CalendarViewportKind>(options: ExplicitCalendarViewportOptions<Kind>): CalendarViewportState<Kind>;
|
|
57
76
|
type UseCalendarEventCacheOptions = Readonly<{
|
|
58
|
-
viewDate:
|
|
77
|
+
viewDate: CalendarDate;
|
|
59
78
|
initialEvents?: PublicEvent[];
|
|
60
79
|
preloadMonths?: number;
|
|
61
80
|
filters?: EventRuntimeFilters;
|
|
62
81
|
stage?: 'preview' | 'published';
|
|
82
|
+
timeZone: BookingTimeZone;
|
|
63
83
|
}>;
|
|
64
84
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
85
|
+
* The reducer owns month data and request ownership. The hook only performs I/O.
|
|
86
|
+
* Requests for other months remain useful until the query context changes.
|
|
67
87
|
*/
|
|
68
|
-
export declare function useCalendarEventCache({ viewDate, initialEvents, preloadMonths, filters, stage, }: UseCalendarEventCacheOptions): Readonly<{
|
|
88
|
+
export declare function useCalendarEventCache({ viewDate, initialEvents, preloadMonths, filters, stage, timeZone, }: UseCalendarEventCacheOptions): Readonly<{
|
|
69
89
|
events: PublicEvent[];
|
|
70
|
-
|
|
71
|
-
|
|
90
|
+
loadState: CalendarViewLoadState;
|
|
91
|
+
retryCurrentView: () => void;
|
|
72
92
|
}>;
|
|
73
93
|
/**
|
|
74
94
|
* Hook for calendar event management with month-based caching.
|
|
@@ -84,6 +104,12 @@ export declare function useCalendarEventCache({ viewDate, initialEvents, preload
|
|
|
84
104
|
* });
|
|
85
105
|
* ```
|
|
86
106
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
107
|
+
type ExplicitCalendarEventsOptions<Kind extends CalendarViewportKind> = Omit<UseCalendarEventsOptions, 'view'> & Readonly<{
|
|
108
|
+
view: Kind;
|
|
109
|
+
}>;
|
|
110
|
+
type DefaultCalendarEventsOptions = Omit<UseCalendarEventsOptions, 'view'> & Readonly<{
|
|
111
|
+
view?: undefined;
|
|
112
|
+
}>;
|
|
113
|
+
export declare function useCalendarEvents(options: DefaultCalendarEventsOptions): CalendarEventsState<'month'>;
|
|
114
|
+
export declare function useCalendarEvents<Kind extends CalendarViewportKind>(options: ExplicitCalendarEventsOptions<Kind>): CalendarEventsState<Kind>;
|
|
89
115
|
export default useCalendarEvents;
|
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import { type BookingTimeZone } from '../../../../../core/src/index';
|
|
2
|
+
import type { CalendarDate } from '../../../../../calendar/src/index';
|
|
3
|
+
import type { PublicEvent } from '../../blocks/events/shared/types';
|
|
4
|
+
type MonthState = Readonly<{
|
|
5
|
+
events: readonly PublicEvent[];
|
|
6
|
+
}> & (Readonly<{
|
|
7
|
+
kind: 'seeded';
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: 'loading';
|
|
10
|
+
request: CalendarRequest;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: 'ready';
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
kind: 'failed';
|
|
15
|
+
error: Error;
|
|
16
|
+
}>);
|
|
17
|
+
export type CalendarRequest = Readonly<{
|
|
18
|
+
months: readonly string[];
|
|
19
|
+
}>;
|
|
20
|
+
export type CalendarCacheState = ReadonlyMap<string, MonthState>;
|
|
21
|
+
export type CalendarViewLoadState = Readonly<{
|
|
2
22
|
kind: 'idle';
|
|
3
23
|
}> | Readonly<{
|
|
4
24
|
kind: 'loading';
|
|
@@ -6,15 +26,24 @@ export type CalendarEventCacheLoadState = Readonly<{
|
|
|
6
26
|
kind: 'error';
|
|
7
27
|
error: Error;
|
|
8
28
|
}>;
|
|
9
|
-
export type
|
|
10
|
-
|
|
29
|
+
export type CalendarCacheAction = Readonly<{
|
|
30
|
+
kind: 'started';
|
|
31
|
+
request: CalendarRequest;
|
|
11
32
|
}> | Readonly<{
|
|
12
|
-
|
|
33
|
+
kind: 'succeeded';
|
|
34
|
+
request: CalendarRequest;
|
|
35
|
+
events: readonly PublicEvent[];
|
|
36
|
+
timeZone: BookingTimeZone;
|
|
13
37
|
}> | Readonly<{
|
|
14
|
-
|
|
38
|
+
kind: 'failed';
|
|
39
|
+
request: CalendarRequest;
|
|
15
40
|
error: Error;
|
|
16
41
|
}>;
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
42
|
+
export declare function calendarMonthKey(date: CalendarDate): string;
|
|
43
|
+
export declare function calendarWindowMonths(date: CalendarDate, radius: number): readonly string[];
|
|
44
|
+
export declare function seedCalendarCache(events: readonly PublicEvent[], timeZone: BookingTimeZone): CalendarCacheState;
|
|
45
|
+
export declare function planCalendarRequest(state: CalendarCacheState, months: readonly string[], retry: boolean): CalendarRequest | null;
|
|
46
|
+
export declare function calendarCacheReducer(state: CalendarCacheState, action: CalendarCacheAction): CalendarCacheState;
|
|
47
|
+
export declare function selectCalendarEvents(state: CalendarCacheState, months: readonly string[]): PublicEvent[];
|
|
48
|
+
export declare function projectCalendarLoadState(state: CalendarCacheState, months: readonly string[]): CalendarViewLoadState;
|
|
49
|
+
export {};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
2
3
|
type ErrorStepProps = {
|
|
3
4
|
message: string;
|
|
4
5
|
onRetry: () => void;
|
|
6
|
+
action?: EventRegistrationErrorAction;
|
|
7
|
+
canJoinWaitlist?: boolean;
|
|
5
8
|
};
|
|
6
|
-
/**
|
|
7
|
-
* Error Step
|
|
8
|
-
*
|
|
9
|
-
* Displays an error message with a retry button when registration fails.
|
|
10
|
-
*/
|
|
11
9
|
export declare const ErrorStep: React.FC<ErrorStepProps>;
|
|
12
10
|
export {};
|