@riverbankcms/sdk 0.124.0 → 0.126.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 +3 -1
- package/dist/{PreviewEditorSidebar-DBmAJJkQ.mjs → PreviewEditorSidebar-DcYJxTgc.mjs} +67 -266
- package/dist/{PreviewEditorUI-CfGaz9cY.mjs → PreviewEditorUI-Ctt1yTJr.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BH-3-jSj.mjs → PreviewQueryProvider-DgFDIwvK.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BW9Z8j8T.mjs → SdkPreviewModeRuntime-CvW1vdQ4.mjs} +38 -30
- package/dist/{SiteChromeCustomizeContext-2z8moxYf.mjs → SiteChromeCustomizeContext-C87qlKWw.mjs} +493 -1378
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1354 -202
- package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
- package/dist/_dts/api/src/common/envelope.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +0 -2
- package/dist/_dts/api/src/endpoints.d.ts +0 -7
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +42 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +11 -9
- package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
- package/dist/_dts/api/src/siteOperations.d.ts +18 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -14
- package/dist/_dts/billing/src/plans/types.d.ts +24 -5
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +15 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +331 -19
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +1 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -12
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -13
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -100
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +11 -21
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +12 -0
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +17 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -10
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +24 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -28
- package/dist/_dts/sdk/src/config/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -20
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commandContract.d.ts +33 -5
- package/dist/_dts/site-commands/src/commandDomain.d.ts +2 -2
- package/dist/_dts/site-commands/src/commands.d.ts +38 -9
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +28 -1
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/concretePalette.d.ts +20 -0
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -17
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -6
- package/dist/_dts/theme-core/src/palette/schema.d.ts +39 -0
- package/dist/_dts/theme-core/src/schema.d.ts +38 -26
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -6
- package/dist/cli/index.mjs +631 -525
- package/dist/cli/init-docs/content/cli-reference.md +6 -3
- package/dist/cli/init-docs/content/content-management.md +24 -13
- package/dist/client/{DiscountCodeDisclosure-DxvjKvck.mjs → DiscountCodeDisclosure-DS0AuFWW.mjs} +1 -1
- package/dist/client/{EventCombined.client-BydMGc4c.mjs → EventCombined.client-DtMxLr7q.mjs} +2 -2
- package/dist/client/{EventListing.client-vpzhhysN.mjs → EventListing.client-BdLSRNg1.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CB07rpf8.mjs → LeafletStaticMap-BrpC6vsT.mjs} +1 -1
- package/dist/client/{MagicLinkForm-BzyRJ8VF.mjs → MagicLinkForm-Bt3IuLMy.mjs} +1 -1
- package/dist/client/{StepIndicator-CTcGf8Be.mjs → StepIndicator-CBYPFVoy.mjs} +2 -2
- package/dist/client/{accordion-B-DUDLRD.mjs → accordion-BqqwPJWM.mjs} +1 -1
- package/dist/client/{bookingForm-DSbClLcZ.mjs → bookingForm-SneP3yxC.mjs} +5 -6
- package/dist/client/bookings.mjs +190 -24
- package/dist/client/{carousel-B6Ccdx8M.mjs → carousel-BTIR9L3I.mjs} +1 -1
- package/dist/client/{cart-BZh8G8wM.mjs → cart-bqiqd8SX.mjs} +3 -3
- package/dist/client/{checkout-o6zaC-kM.mjs → checkout-WbTFV5v4.mjs} +3 -3
- package/dist/client/client.mjs +175 -223
- package/dist/client/{courseRegistration-Cf11pNDs.mjs → courseRegistration-BcemLAdN.mjs} +6 -7
- package/dist/client/{eventCalendar-BeXrdsSE.mjs → eventCalendar-CsxIw0V_.mjs} +4 -4
- package/dist/client/{eventCombined-DA76PZgG.mjs → eventCombined-B6XMoHfa.mjs} +2 -2
- package/dist/client/{eventDetails-BLxg0rok.mjs → eventDetails-BJaoPPfo.mjs} +10 -5
- package/dist/client/{eventListing-tO9LheBX.mjs → eventListing-DgwdYHRT.mjs} +2 -2
- package/dist/client/{eventRegistration-Cnene9D9.mjs → eventRegistration-C0O3folu.mjs} +30 -22
- package/dist/client/{form-DZf72CHB.mjs → form-Bk9txGFt.mjs} +1 -1
- package/dist/client/{headerSection-Hioja5Cr.mjs → headerSection-yIBt0yTv.mjs} +2 -2
- package/dist/client/hooks.mjs +54 -102
- package/dist/client/{locationMap-DwhUXEix.mjs → locationMap-C-3KIpv-.mjs} +2 -2
- package/dist/client/{newsletterForm-C350bEQf.mjs → newsletterForm-CzB8g8h2.mjs} +1 -1
- package/dist/client/{pricing-BYWN_ATa.mjs → pricing-C1QeDes_.mjs} +1 -1
- package/dist/client/{productDetail-CCqCyXgU.mjs → productDetail-w7SBp5uc.mjs} +3 -3
- package/dist/client/{productList-BAiNJrOU.mjs → productList-D0tGKHGf.mjs} +3 -3
- package/dist/client/{propsDecoder-DeunRj6m.mjs → propsDecoder-Bcin2DB3.mjs} +172 -11
- package/dist/client/rendering/client.mjs +322 -363
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +231 -272
- package/dist/client/{useDiscountCodeUi-I-92-x2V.mjs → scrollToBlock-h-o_STf_.mjs} +18 -2
- package/dist/client/{shop-DUmCdBtw.mjs → shop-BGzmL8O_.mjs} +5 -6
- package/dist/client/{shop-commerce-CY27mEUr.mjs → shop-commerce-lX8QxjX-.mjs} +4 -4
- package/dist/client/{shop-commerce-store-ChXPbWfa.mjs → shop-commerce-store-CEurARtu.mjs} +1 -1
- package/dist/client/{shopShared-q0kin1cv.mjs → shopShared-DXxH8xxw.mjs} +2 -2
- package/dist/client/{useEventFilters-DlcVluZh.mjs → useEventFilters-B591g9vd.mjs} +2 -2
- package/dist/client/{usePolling-Bz7GFV_a.mjs → usePolling-BvnChV4m.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +0 -7
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +0 -7
- package/dist/{previewAuthStore-CJX21dGi.mjs → previewAuthStore-Dev9CdG9.mjs} +0 -7
- package/dist/{sdk-runtime-OnPM8Z69.mjs → sdk-runtime-M__i3Jce.mjs} +2 -2
- package/dist/{separator-CPtfzHqA.mjs → separator-VSlnI9bc.mjs} +1 -1
- package/dist/server/components.mjs +99 -141
- package/dist/server/config-validation.mjs +54 -102
- package/dist/server/config.mjs +54 -102
- package/dist/server/data.mjs +54 -102
- package/dist/server/index.mjs +1 -8
- package/dist/server/next.mjs +103 -152
- package/dist/server/page-converter.mjs +54 -102
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +62 -104
- package/dist/server/rendering.mjs +100 -142
- package/dist/server/routing.mjs +75 -147
- package/dist/server/server.mjs +55 -110
- package/dist/server/theme-bridge.mjs +172 -162
- package/dist/server/theme.mjs +167 -11
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +0 -64
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +0 -81
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/selection.d.ts +0 -74
- package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +0 -34
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
|
@@ -5,6 +5,8 @@ import { z } from "zod";
|
|
|
5
5
|
import type { PageRecord } from "./contentRuntime";
|
|
6
6
|
import type { SiteDeploymentMode } from "./siteSettings";
|
|
7
7
|
import type { SiteRole } from "./siteMembers";
|
|
8
|
+
import type { SiteAccessSummary, SitePlanSummaryResponse } from "./siteAccessAdmin";
|
|
9
|
+
export type { SiteAccessSummary, SitePlanSummaryResponse, } from "./siteAccessAdmin";
|
|
8
10
|
/**
|
|
9
11
|
* Access, Domain, and Admin Contracts
|
|
10
12
|
*
|
|
@@ -67,19 +69,6 @@ export type SiteInvitation = {
|
|
|
67
69
|
createdAt: string;
|
|
68
70
|
updatedAt: string;
|
|
69
71
|
};
|
|
70
|
-
export type SiteAccessSummary = {
|
|
71
|
-
membershipRole: SiteRole | null;
|
|
72
|
-
canInvite: boolean;
|
|
73
|
-
canManage: boolean;
|
|
74
|
-
canTransferOwnership: boolean;
|
|
75
|
-
};
|
|
76
|
-
export type SitePlanSummaryResponse = {
|
|
77
|
-
planId: string;
|
|
78
|
-
maxCollaborators: number | null;
|
|
79
|
-
canInviteEditors: boolean;
|
|
80
|
-
canInviteAdmins: boolean;
|
|
81
|
-
currentCollaborators: number;
|
|
82
|
-
};
|
|
83
72
|
export type ListSiteMembersResponse = {
|
|
84
73
|
members: SiteMember[];
|
|
85
74
|
invitations: SiteInvitation[];
|
|
@@ -696,4 +685,3 @@ export type AdminDeletePriceOverrideRequest = {
|
|
|
696
685
|
export type AdminDeletePriceOverrideResponse = {
|
|
697
686
|
success: true;
|
|
698
687
|
};
|
|
699
|
-
export {};
|
|
@@ -43,7 +43,7 @@ export interface ApiError {
|
|
|
43
43
|
fieldErrors?: FieldError[];
|
|
44
44
|
/**
|
|
45
45
|
* Optional precise failure tag from the originating `DomainServiceError`
|
|
46
|
-
* (e.g. `STALE_BASE`, `
|
|
46
|
+
* (e.g. `STALE_BASE`, `STALE_THEME_SELECTION`). The coarse
|
|
47
47
|
* `code` collapses several tags into one (`resource:conflict`); `tag` lets
|
|
48
48
|
* callers branch on the exact failure. Always optional and backward-compatible.
|
|
49
49
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Block, SdkCustomBlock, SdkCustomBlockInput, SiteFont, Theme } from '../../blocks/src/index';
|
|
2
2
|
import type { CamelizeKeys, DbRow } from '../../db/src/index';
|
|
3
|
-
import type { AuthoritativeRuntimePaletteState } from '../../theme-core/src/palette/index';
|
|
4
3
|
import type { ContentTypeRoutingInfo, PublicContentTypeMeta } from './contentTypes';
|
|
5
4
|
import type { SiteRuntimePrivacyPolicy } from './privacyPolicy';
|
|
6
5
|
import type { SitePagePayload } from './sitePages';
|
|
@@ -356,7 +355,6 @@ export type SiteBySlugResponse = {
|
|
|
356
355
|
* type — consumers fall back to the site style's defaults when null.
|
|
357
356
|
*/
|
|
358
357
|
selectionButtonStyleSelection?: import('../../theme-core/src/buttons/index').ButtonStyleSelection | null;
|
|
359
|
-
runtimePaletteState?: AuthoritativeRuntimePaletteState | null;
|
|
360
358
|
selectionHeaderLayoutId?: string | null;
|
|
361
359
|
selectionHeaderStyleId?: string | null;
|
|
362
360
|
selectionHeaderLookId?: string | null;
|
|
@@ -1578,13 +1578,6 @@ export declare const API_ENDPOINTS: {
|
|
|
1578
1578
|
readonly auth: "user";
|
|
1579
1579
|
readonly responseKind: "json";
|
|
1580
1580
|
};
|
|
1581
|
-
readonly listSiteThemePalettes: {
|
|
1582
|
-
readonly path: "/sites/{siteId}/theme/palettes";
|
|
1583
|
-
readonly method: "GET";
|
|
1584
|
-
readonly auth: "user";
|
|
1585
|
-
readonly errors: readonly [];
|
|
1586
|
-
readonly responseKind: "json";
|
|
1587
|
-
};
|
|
1588
1581
|
readonly createSiteFontUploadUrl: {
|
|
1589
1582
|
readonly path: "/sites/{siteId}/fonts/upload-url";
|
|
1590
1583
|
readonly method: "POST";
|
|
@@ -2,6 +2,45 @@ import type { SdkEntryUpsertSlotBlock, SdkEventContentInput, SdkPullEventSeries,
|
|
|
2
2
|
import { type SdkEventPaymentTerms, type SdkEventPaymentTermsIssue } from './sdk-event-payment-terms';
|
|
3
3
|
import { type SdkEventPricing, type SdkEventPricingIssue } from './sdk-event-pricing';
|
|
4
4
|
import { type ClassifySdkEventScheduleOptions, type SdkEventCanonicalSchedule, type SdkEventScheduleInput, type SdkEventScheduleIssue } from './sdk-event-schedule';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export declare const sdkEventOccurrenceInputSchema: z.ZodObject<{
|
|
7
|
+
startsAt: z.ZodString;
|
|
8
|
+
endsAt: z.ZodString;
|
|
9
|
+
timeZone: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const sdkEventUpsertOptionalFieldSchemas: {
|
|
12
|
+
readonly path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
readonly status: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
active: "active";
|
|
15
|
+
draft: "draft";
|
|
16
|
+
archived: "archived";
|
|
17
|
+
completed: "completed";
|
|
18
|
+
cancelled: "cancelled";
|
|
19
|
+
}>>;
|
|
20
|
+
readonly visibility: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
public: "public";
|
|
22
|
+
private: "private";
|
|
23
|
+
unlisted: "unlisted";
|
|
24
|
+
}>>;
|
|
25
|
+
readonly preset: z.ZodOptional<z.ZodEnum<{
|
|
26
|
+
course: "course";
|
|
27
|
+
event: "event";
|
|
28
|
+
performance: "performance";
|
|
29
|
+
class: "class";
|
|
30
|
+
workshop: "workshop";
|
|
31
|
+
retreat: "retreat";
|
|
32
|
+
}>>;
|
|
33
|
+
readonly bookingScope: z.ZodOptional<z.ZodEnum<{
|
|
34
|
+
single_occurrence: "single_occurrence";
|
|
35
|
+
whole_series: "whole_series";
|
|
36
|
+
}>>;
|
|
37
|
+
readonly occurrences: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
38
|
+
startsAt: z.ZodString;
|
|
39
|
+
endsAt: z.ZodString;
|
|
40
|
+
timeZone: z.ZodString;
|
|
41
|
+
}, z.core.$strip>>>;
|
|
42
|
+
readonly capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
43
|
+
};
|
|
5
44
|
export type SdkEventUpsertBody = Readonly<{
|
|
6
45
|
identifier: string;
|
|
7
46
|
title: string;
|
|
@@ -9,6 +48,9 @@ export type SdkEventUpsertBody = Readonly<{
|
|
|
9
48
|
path?: string | null;
|
|
10
49
|
status?: SdkPullEventSeries['status'];
|
|
11
50
|
visibility?: SdkPullEventSeries['visibility'];
|
|
51
|
+
preset?: SdkPullEventSeries['preset'];
|
|
52
|
+
bookingScope?: SdkPullEventSeries['bookingScope'];
|
|
53
|
+
occurrences?: SdkPullEventSeries['occurrences'];
|
|
12
54
|
schedule: SdkEventUpsertScheduleInput;
|
|
13
55
|
capacity?: number | null;
|
|
14
56
|
pricing?: SdkEventUpsertPricingInput;
|
|
@@ -5,6 +5,7 @@ import type { JsonValue } from './shared-contracts';
|
|
|
5
5
|
import type { SdkEventPricing, SdkEventPricingInput } from './sdk-event-pricing';
|
|
6
6
|
import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from './sdk-event-payment-terms';
|
|
7
7
|
import type { EventOccurrenceStatus } from './bookingRecords';
|
|
8
|
+
import type { EventPreset } from './bookingConfig';
|
|
8
9
|
/**
|
|
9
10
|
* SDK Site Configuration Types
|
|
10
11
|
*
|
|
@@ -604,7 +605,7 @@ export interface SdkCatalogButtonStyle {
|
|
|
604
605
|
export interface SdkCatalogPalette {
|
|
605
606
|
/** Human-readable source alias. */
|
|
606
607
|
authoringKey: string;
|
|
607
|
-
/** Canonical
|
|
608
|
+
/** Canonical authoring identity derived from colors and mode. */
|
|
608
609
|
valueKey: string;
|
|
609
610
|
name: string;
|
|
610
611
|
description: string;
|
|
@@ -628,7 +629,6 @@ export interface SdkCatalogCurrentSelection {
|
|
|
628
629
|
/** The curated site style the active theme was compiled from (null when unknown). */
|
|
629
630
|
siteStyleId: string | null;
|
|
630
631
|
buttonStyleSelection: SdkCatalogButtonStyleSelection | null;
|
|
631
|
-
paletteValueKey: string | null;
|
|
632
632
|
headerLayoutId: string | null;
|
|
633
633
|
headerStyleId: string | null;
|
|
634
634
|
headerLookId: string | null;
|
|
@@ -855,13 +855,9 @@ export interface SdkPullEventSeries {
|
|
|
855
855
|
* IMPORTANT: This must be roundtrip-safe for SDK pull -> push workflows.
|
|
856
856
|
*/
|
|
857
857
|
visibility: 'private' | 'public' | 'unlisted';
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
startDate?: string | null;
|
|
862
|
-
defaultStartTime: string;
|
|
863
|
-
durationMinutes: number;
|
|
864
|
-
};
|
|
858
|
+
preset: EventPreset;
|
|
859
|
+
bookingScope: 'single_occurrence' | 'whole_series';
|
|
860
|
+
occurrences: readonly SdkPullEventOccurrence[];
|
|
865
861
|
capacity: number | null;
|
|
866
862
|
pricing: SdkEventPricing;
|
|
867
863
|
paymentTerms?: SdkEventPaymentTerms;
|
|
@@ -884,6 +880,11 @@ export interface SdkPullEventSeries {
|
|
|
884
880
|
contentUpdatedAt: string | null;
|
|
885
881
|
blocks?: SdkEntrySlotBlocks;
|
|
886
882
|
}
|
|
883
|
+
export type SdkPullEventOccurrence = Readonly<{
|
|
884
|
+
startsAt: string;
|
|
885
|
+
endsAt: string;
|
|
886
|
+
timeZone: string;
|
|
887
|
+
}>;
|
|
887
888
|
export type SdkEventContentInput = {
|
|
888
889
|
summary?: string;
|
|
889
890
|
body?: string | RichTextDoc;
|
|
@@ -1029,6 +1030,7 @@ export type SdkManagementEventCategory = SdkPullEventCategory & {
|
|
|
1029
1030
|
};
|
|
1030
1031
|
export type SdkManagementEventSeries = SdkPullEventSeries & {
|
|
1031
1032
|
id: string;
|
|
1033
|
+
schedule: SdkEventCanonicalScheduleInput;
|
|
1032
1034
|
};
|
|
1033
1035
|
export type SdkEventOccurrenceProvenance = 'manual' | 'recurrence_generated' | 'recurrence_exception';
|
|
1034
1036
|
export type SdkEventOccurrenceDeletionEligibility = {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SiteRole } from './siteMembers';
|
|
2
|
+
export type SiteAccessSummary = {
|
|
3
|
+
membershipRole: SiteRole | null;
|
|
4
|
+
collaboration: 'manage' | 'view_only';
|
|
5
|
+
canTransferOwnership: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type SitePlanSummaryResponse = {
|
|
8
|
+
planId: string;
|
|
9
|
+
websiteCollaboration: {
|
|
10
|
+
kind: 'owner_only' | 'bounded' | 'unlimited';
|
|
11
|
+
assignableRoles: readonly ('editor' | 'administrator')[];
|
|
12
|
+
placeLimit: number | null;
|
|
13
|
+
usage: {
|
|
14
|
+
accepted: number;
|
|
15
|
+
pending: number;
|
|
16
|
+
used: number;
|
|
17
|
+
remaining: number | null;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
operationalStaff: {
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -229,12 +229,29 @@ export type DevToolsSetSiteRoleDowngradeRequest = {
|
|
|
229
229
|
};
|
|
230
230
|
export type CronEventRemindersResponse = {
|
|
231
231
|
success: true;
|
|
232
|
-
|
|
232
|
+
scanned: number;
|
|
233
|
+
owned: number;
|
|
234
|
+
created: number;
|
|
235
|
+
existing: number;
|
|
236
|
+
skipped: number;
|
|
233
237
|
failed: number;
|
|
234
238
|
errors: Array<{
|
|
235
239
|
attendeeId: string;
|
|
236
240
|
error: string;
|
|
237
241
|
}>;
|
|
242
|
+
errorsTruncated: number;
|
|
243
|
+
scan: {
|
|
244
|
+
kind: "completed";
|
|
245
|
+
pages: number;
|
|
246
|
+
} | {
|
|
247
|
+
kind: "incomplete";
|
|
248
|
+
reason: "page_budget" | "deadline";
|
|
249
|
+
pages: number;
|
|
250
|
+
lastCursor: {
|
|
251
|
+
createdAt: string;
|
|
252
|
+
attendeeId: string;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
238
255
|
};
|
|
239
256
|
export type CronEventFeedbackEmailsResponse = {
|
|
240
257
|
success: true;
|
|
@@ -3,7 +3,6 @@ import type { ListMediaAssetsResult, MediaAssetWithLabels } from '@riverbankcms/
|
|
|
3
3
|
import type { DbJson } from '../../db/src/index';
|
|
4
4
|
import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, LayoutVariantKey, SiteStyleId } from '../../theme-core/src/site-styles/index';
|
|
5
5
|
import type { ButtonStyleSelection } from '../../theme-core/src/buttons/index';
|
|
6
|
-
import type { PaletteCommand, PaletteLibraryAuthority, PaletteSelection } from '../../theme-core/src/palette/index';
|
|
7
6
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
8
7
|
import type { AnalyticsReportQuery, AnalyticsReportResponse } from './analytics';
|
|
9
8
|
import type { CreateMediaAssetBody, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse } from './media';
|
|
@@ -45,7 +44,7 @@ export type SiteStyleSelectionChange = Readonly<{
|
|
|
45
44
|
buttonStyleSelection: ButtonStyleSelection | null;
|
|
46
45
|
}> | Readonly<{
|
|
47
46
|
kind: 'set-palette';
|
|
48
|
-
|
|
47
|
+
palette: Theme['palette'];
|
|
49
48
|
}> | Readonly<{
|
|
50
49
|
kind: 'set-typography';
|
|
51
50
|
typography: Theme['typography'] | null;
|
|
@@ -73,18 +72,11 @@ export type ApplySiteStyleSelectionResponse = Readonly<{
|
|
|
73
72
|
theme: Theme;
|
|
74
73
|
siteStyleId: SiteStyleId;
|
|
75
74
|
buttonStyleSelection: ButtonStyleSelection;
|
|
76
|
-
activePaletteSelection: PaletteSelection;
|
|
77
|
-
/** Present only when the active selection is a site palette. */
|
|
78
|
-
activeSitePaletteVersion: number | null;
|
|
79
75
|
headerLayoutId: HeaderLayoutId | null;
|
|
80
76
|
headerStyleId: HeaderStyleId | null;
|
|
81
77
|
headerLookId: HeaderLookId | null;
|
|
82
78
|
footerLookId: FooterLookId | null;
|
|
83
79
|
}>;
|
|
84
|
-
export type ListSiteThemePalettesResponse = Readonly<{
|
|
85
|
-
active: PaletteLibraryAuthority;
|
|
86
|
-
palettes: readonly import('../../theme-core/src/palette/index').SitePalette[];
|
|
87
|
-
}>;
|
|
88
80
|
export type SaveSiteChromeLookSelectionBody = Readonly<{
|
|
89
81
|
surface: 'header';
|
|
90
82
|
lookId: HeaderLookId | null;
|
|
@@ -262,8 +254,6 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
262
254
|
* local state without a follow-up read.
|
|
263
255
|
*/
|
|
264
256
|
buttonStyleSelection: ButtonStyleSelection | null;
|
|
265
|
-
activePaletteSelection: PaletteSelection;
|
|
266
|
-
activeSitePaletteVersion: number | null;
|
|
267
257
|
headerLayoutId: HeaderLayoutId | null;
|
|
268
258
|
headerStyleId: HeaderStyleId | null;
|
|
269
259
|
headerLookId: HeaderLookId | null;
|
|
@@ -272,9 +262,6 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
272
262
|
applySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
|
|
273
263
|
siteId: string;
|
|
274
264
|
}, ApplySiteStyleSelectionResponse>;
|
|
275
|
-
listSiteThemePalettes: APIEndpoint<never, {
|
|
276
|
-
siteId: string;
|
|
277
|
-
}, ListSiteThemePalettesResponse>;
|
|
278
265
|
saveSiteChromeLookSelection: APIEndpoint<SaveSiteChromeLookSelectionBody, {
|
|
279
266
|
siteId: string;
|
|
280
267
|
}, SaveSiteChromeLookSelectionResponse>;
|
|
@@ -40,9 +40,29 @@ export declare const BRANDING_TIERS: readonly ["macadamia_visible", "light_custo
|
|
|
40
40
|
export type BrandingTier = (typeof BRANDING_TIERS)[number];
|
|
41
41
|
export declare const TEAM_TIERS: readonly ["owner_only", "multi_practitioner"];
|
|
42
42
|
export type TeamTier = (typeof TEAM_TIERS)[number];
|
|
43
|
-
export declare const
|
|
44
|
-
export type
|
|
45
|
-
export declare const
|
|
43
|
+
export declare const WEBSITE_COLLABORATOR_ROLES: readonly ["editor", "administrator"];
|
|
44
|
+
export type WebsiteCollaboratorRole = (typeof WEBSITE_COLLABORATOR_ROLES)[number];
|
|
45
|
+
export declare const WEBSITE_COLLABORATION_VISITOR_ROLES: readonly ["owner", "administrator", "editor", "team_member"];
|
|
46
|
+
export type WebsiteCollaborationVisitorRole = (typeof WEBSITE_COLLABORATION_VISITOR_ROLES)[number];
|
|
47
|
+
export type WebsiteCollaborationPolicy = Readonly<{
|
|
48
|
+
kind: 'owner_only';
|
|
49
|
+
assignableRoles: readonly [];
|
|
50
|
+
visibilityRoles: readonly ['owner'];
|
|
51
|
+
managementRoles: readonly ['owner'];
|
|
52
|
+
}> | Readonly<{
|
|
53
|
+
kind: 'bounded';
|
|
54
|
+
maxNonOwnerPlaces: 1;
|
|
55
|
+
assignableRoles: readonly ['editor', 'administrator'];
|
|
56
|
+
visibilityRoles: readonly ['owner', 'administrator'];
|
|
57
|
+
managementRoles: readonly ['owner'];
|
|
58
|
+
}> | Readonly<{
|
|
59
|
+
kind: 'unlimited';
|
|
60
|
+
assignableRoles: readonly ['editor', 'administrator'];
|
|
61
|
+
visibilityRoles: readonly ['owner', 'administrator', 'editor'];
|
|
62
|
+
managementRoles: readonly ['owner', 'administrator'];
|
|
63
|
+
}>;
|
|
64
|
+
export type WebsiteCollaborationTier = WebsiteCollaborationPolicy['kind'];
|
|
65
|
+
export declare const PLAN_BOOLEAN_FEATURE_KEYS: readonly ["customDomain", "customContentTypes", "analytics", "passes", "memberships", "discountCodes", "advancedPaymentSchemes", "internalNotes", "multiplePractitioners"];
|
|
46
66
|
export type PlanBooleanFeatureKey = (typeof PLAN_BOOLEAN_FEATURE_KEYS)[number];
|
|
47
67
|
export type StripeBookingCommission = Readonly<{
|
|
48
68
|
kind: 'none';
|
|
@@ -75,15 +95,14 @@ export interface PlanEntitlements {
|
|
|
75
95
|
discountCodes: boolean;
|
|
76
96
|
advancedPaymentSchemes: boolean;
|
|
77
97
|
internalNotes: boolean;
|
|
78
|
-
multipleTeamLogins: boolean;
|
|
79
98
|
multiplePractitioners: boolean;
|
|
99
|
+
websiteCollaboration: WebsiteCollaborationPolicy;
|
|
80
100
|
contentFlexibility: ContentFlexibilityTier;
|
|
81
101
|
forms: FormsTier;
|
|
82
102
|
seo: SeoTier;
|
|
83
103
|
newsletter: NewsletterTier;
|
|
84
104
|
branding: BrandingTier;
|
|
85
105
|
team: TeamTier;
|
|
86
|
-
enabledSiteRoles: readonly SiteRoleEntitlement[];
|
|
87
106
|
}
|
|
88
107
|
export interface PlanDefinition {
|
|
89
108
|
id: BillingPlanId;
|
|
@@ -3,6 +3,7 @@ import { type EventAutoApplyDiscountPreview } from '../system/blocks/event-detai
|
|
|
3
3
|
import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../system/blocks/shop.shared';
|
|
4
4
|
import type { PublicEvent } from '../system/blocks/events/shared/types';
|
|
5
5
|
import type { OccurrenceContextLike } from '../system/runtime/nodes/event-details/logic';
|
|
6
|
+
import { type EventRegistrationPageSurfaceSubject } from '../system/runtime/nodes/event-registration/eventScope';
|
|
6
7
|
import type { LocationMapHydrationProps } from '../system/runtime/nodes/location-map.shared';
|
|
7
8
|
export type AccordionIslandProps = Readonly<{
|
|
8
9
|
type?: 'single' | 'multiple';
|
|
@@ -26,6 +27,7 @@ export type CarouselIslandProps = Readonly<{
|
|
|
26
27
|
export type EventDetailsOccurrenceContext = NonNullable<OccurrenceContextLike>;
|
|
27
28
|
export type EventDetailsIslandProps = Readonly<{
|
|
28
29
|
occurrenceContext?: EventDetailsOccurrenceContext | null;
|
|
30
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
29
31
|
events?: readonly PublicEvent[] | null;
|
|
30
32
|
showVenue?: boolean;
|
|
31
33
|
showMap?: boolean;
|
|
@@ -88,6 +90,7 @@ export declare const carouselIslandPropsCodec: Readonly<{
|
|
|
88
90
|
export declare const eventDetailsIslandPropsCodec: Readonly<{
|
|
89
91
|
encode: (value: Readonly<{
|
|
90
92
|
occurrenceContext?: EventDetailsOccurrenceContext | null;
|
|
93
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
91
94
|
events?: readonly PublicEvent[] | null;
|
|
92
95
|
showVenue?: boolean;
|
|
93
96
|
showMap?: boolean;
|
|
@@ -108,6 +111,7 @@ export declare const eventDetailsIslandPropsCodec: Readonly<{
|
|
|
108
111
|
}>) => unknown;
|
|
109
112
|
decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
|
|
110
113
|
occurrenceContext?: EventDetailsOccurrenceContext | null;
|
|
114
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
111
115
|
events?: readonly PublicEvent[] | null;
|
|
112
116
|
showVenue?: boolean;
|
|
113
117
|
showMap?: boolean;
|
|
@@ -1921,6 +1921,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1921
1921
|
readonly 'event-details': Readonly<{
|
|
1922
1922
|
encode: (value: Readonly<{
|
|
1923
1923
|
occurrenceContext?: import("./non-block-islands").EventDetailsOccurrenceContext | null;
|
|
1924
|
+
subject?: import("../system/runtime/nodes/event-registration/eventScope").EventRegistrationPageSurfaceSubject | null;
|
|
1924
1925
|
events?: readonly import(".").PublicEvent[] | null;
|
|
1925
1926
|
showVenue?: boolean;
|
|
1926
1927
|
showMap?: boolean;
|
|
@@ -1941,6 +1942,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1941
1942
|
}>) => unknown;
|
|
1942
1943
|
decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
|
|
1943
1944
|
occurrenceContext?: import("./non-block-islands").EventDetailsOccurrenceContext | null;
|
|
1945
|
+
subject?: import("../system/runtime/nodes/event-registration/eventScope").EventRegistrationPageSurfaceSubject | null;
|
|
1944
1946
|
events?: readonly import(".").PublicEvent[] | null;
|
|
1945
1947
|
showVenue?: boolean;
|
|
1946
1948
|
showMap?: boolean;
|
|
@@ -2467,6 +2467,7 @@ export declare const clientComponentRegistryEntries: {
|
|
|
2467
2467
|
kind: "explicit-adapter";
|
|
2468
2468
|
component: React.ComponentType<Readonly<{
|
|
2469
2469
|
occurrenceContext?: import("../../../contracts").EventDetailsOccurrenceContext | null;
|
|
2470
|
+
subject?: import("../nodes/event-registration/eventScope").EventRegistrationPageSurfaceSubject | null;
|
|
2470
2471
|
events?: readonly import("../..").PublicEvent[] | null;
|
|
2471
2472
|
showVenue?: boolean;
|
|
2472
2473
|
showMap?: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PublicEvent } from '../../../blocks/events/shared/types';
|
|
2
|
+
import { type EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
|
|
2
3
|
export { filterPassesForEvent, filterMembershipsForEvent, } from '../events/shared/eventProductEligibility';
|
|
3
4
|
export type OccurrenceContextLike = {
|
|
4
5
|
id: string;
|
|
@@ -16,6 +17,7 @@ export type EventDetailsSelection = {
|
|
|
16
17
|
export declare function selectEventDetails(args: {
|
|
17
18
|
events: PublicEvent[] | null | undefined;
|
|
18
19
|
occurrenceContext: OccurrenceContextLike | null | undefined;
|
|
20
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
19
21
|
nowIso: string;
|
|
20
22
|
otherDatesLimit: string | number | null | undefined;
|
|
21
23
|
}): EventDetailsSelection;
|
|
@@ -2,10 +2,12 @@ import React from 'react';
|
|
|
2
2
|
import type { EventAutoApplyDiscountPreview } from '../../blocks/event-details';
|
|
3
3
|
import type { EventDetailsIslandProps } from '../../../contracts';
|
|
4
4
|
import type { PublicEvent } from '../../blocks/events/shared/types';
|
|
5
|
+
import type { EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
|
|
5
6
|
import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../blocks/shop';
|
|
6
7
|
import { type OccurrenceContextLike } from './event-details/logic';
|
|
7
8
|
export type EventDetailsClientProps = Readonly<{
|
|
8
9
|
occurrenceContext?: OccurrenceContextLike | null;
|
|
10
|
+
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
9
11
|
events?: PublicEvent[] | null;
|
|
10
12
|
showVenue?: boolean;
|
|
11
13
|
showMap?: boolean;
|
|
@@ -25,6 +27,6 @@ export type EventDetailsClientProps = Readonly<{
|
|
|
25
27
|
children?: React.ReactNode;
|
|
26
28
|
}>;
|
|
27
29
|
export type EventDetailsIslandClientProps = EventDetailsIslandProps;
|
|
28
|
-
export declare function EventDetailsClient({ occurrenceContext, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children, }: EventDetailsClientProps): React.JSX.Element;
|
|
30
|
+
export declare function EventDetailsClient({ occurrenceContext, subject, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children, }: EventDetailsClientProps): React.JSX.Element;
|
|
29
31
|
export declare function EventDetailsIslandClient(props: EventDetailsIslandClientProps): React.JSX.Element;
|
|
30
32
|
export default EventDetailsClient;
|
|
@@ -6,6 +6,7 @@ import { type OccurrenceContextLike } from './event-details/logic';
|
|
|
6
6
|
type EventDetailsProps = {
|
|
7
7
|
blockId?: string | null;
|
|
8
8
|
occurrenceContext?: OccurrenceContextLike | null;
|
|
9
|
+
subject?: unknown;
|
|
9
10
|
events?: PublicEvent[] | null;
|
|
10
11
|
showVenue?: boolean;
|
|
11
12
|
showMap?: boolean;
|
|
@@ -23,5 +24,5 @@ type EventDetailsProps = {
|
|
|
23
24
|
className?: string | null;
|
|
24
25
|
children?: React.ReactNode;
|
|
25
26
|
};
|
|
26
|
-
export declare function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
|
|
27
|
+
export declare function EventDetailsSSR({ blockId, occurrenceContext, subject, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
|
|
27
28
|
export default EventDetailsSSR;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { usePaymentVerification } from '../../hooks/usePaymentVerification';
|
|
2
2
|
import type { BlockApiClient } from '../../api';
|
|
3
|
+
import { consumeSearchParam, scrollToBlock } from '../../shared';
|
|
4
|
+
import { cleanupStaleRegistrations, clearPendingRegistration, getPendingRegistration } from './sessionStorage';
|
|
3
5
|
import type { EventTicketSelectionLine, FormData, PaymentSelection, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
|
|
4
|
-
|
|
6
|
+
type EventRegistrationStripeReturnOptions = {
|
|
5
7
|
api: BlockApiClient;
|
|
6
8
|
events: RegistrationEvent[];
|
|
7
9
|
occurrenceId: string;
|
|
@@ -17,4 +19,15 @@ export declare function useEventRegistrationStripeReturn(options: {
|
|
|
17
19
|
setStep: (step: RegistrationStep) => void;
|
|
18
20
|
setRegistrationResult: (result: RegistrationResult) => void;
|
|
19
21
|
setErrorMessage: (message: string) => void;
|
|
20
|
-
}
|
|
22
|
+
};
|
|
23
|
+
export type EventRegistrationStripeReturnDeps = Readonly<{
|
|
24
|
+
usePaymentVerification: typeof usePaymentVerification;
|
|
25
|
+
consumeSearchParam: typeof consumeSearchParam;
|
|
26
|
+
scrollToBlock: typeof scrollToBlock;
|
|
27
|
+
cleanupStaleRegistrations: typeof cleanupStaleRegistrations;
|
|
28
|
+
clearPendingRegistration: typeof clearPendingRegistration;
|
|
29
|
+
getPendingRegistration: typeof getPendingRegistration;
|
|
30
|
+
}>;
|
|
31
|
+
export declare function useEventRegistrationStripeReturn(options: EventRegistrationStripeReturnOptions): ReturnType<typeof usePaymentVerification>;
|
|
32
|
+
export declare function useEventRegistrationStripeReturnWithDeps(options: EventRegistrationStripeReturnOptions, deps: EventRegistrationStripeReturnDeps): ReturnType<typeof usePaymentVerification>;
|
|
33
|
+
export {};
|