@riverbankcms/sdk 0.60.12 → 0.60.14
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 +10 -7
- package/dist/_dts/api/src/bookingConfig.d.ts +31 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +38 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +3 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +45 -0
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -5
- package/dist/_dts/api/src/communications.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
- package/dist/_dts/api/src/endpoints.d.ts +89 -9
- package/dist/_dts/api/src/index.d.ts +2 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/seoEndpoints.d.ts +2 -0
- package/dist/_dts/api/src/siteAssets.d.ts +0 -10
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -0
- package/dist/_dts/blocks/src/subroutes/fold.d.ts +40 -0
- package/dist/_dts/blocks/src/subroutes/formatDate.d.ts +12 -0
- package/dist/_dts/blocks/src/subroutes/index.d.ts +3 -0
- package/dist/_dts/blocks/src/subroutes/kinds.d.ts +32 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +3 -1
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +1 -0
- package/dist/_dts/blocks/src/system/spacing.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +5 -1
- package/dist/_dts/core/src/booking-refunds.d.ts +8 -0
- package/dist/_dts/core/src/participant-identity.d.ts +1 -73
- package/dist/_dts/core/src/participants.d.ts +19 -7
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +188 -36
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +26 -0
- package/dist/_dts/sdk/src/contracts/page.d.ts +1 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -0
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +4 -5
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +66 -30
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +16 -0
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/schema.d.ts +174 -6
- package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +328 -15
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +54 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +124 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +135 -2
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/cli/index.mjs +744 -176
- package/dist/client/bookings.mjs +115 -63
- package/dist/client/client.mjs +848 -227
- package/dist/client/hooks.mjs +737 -173
- package/dist/client/rendering/client.mjs +179 -100
- package/dist/client/rendering/islands.mjs +179 -99
- package/dist/client/rendering.mjs +847 -226
- package/dist/preview-next/before-render.mjs +103 -16
- package/dist/preview-next/client/runtime.mjs +1615 -319
- package/dist/preview-next/middleware.mjs +103 -16
- package/dist/server/components.mjs +838 -227
- package/dist/server/config-validation.mjs +737 -173
- package/dist/server/config.mjs +737 -173
- package/dist/server/data.mjs +737 -173
- package/dist/server/index.mjs +106 -79
- package/dist/server/next.mjs +841 -229
- package/dist/server/page-converter.mjs +589 -144
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +838 -227
- package/dist/server/rendering.mjs +838 -227
- package/dist/server/routing.mjs +771 -178
- package/dist/server/server.mjs +738 -174
- package/dist/server/theme-bridge.mjs +216 -39
- package/dist/server/theme.mjs +139 -37
- package/dist/styles/index.css +44 -2
- package/package.json +1 -1
|
@@ -811,6 +811,75 @@ export type Database = {
|
|
|
811
811
|
}
|
|
812
812
|
];
|
|
813
813
|
};
|
|
814
|
+
appointment_staff_digest_deliveries: {
|
|
815
|
+
Row: {
|
|
816
|
+
appointment_count: number;
|
|
817
|
+
attempt_count: number;
|
|
818
|
+
claim_expires_at: string;
|
|
819
|
+
created_at: string;
|
|
820
|
+
delivered_at: string | null;
|
|
821
|
+
digest_kind: string;
|
|
822
|
+
id: string;
|
|
823
|
+
last_error: string | null;
|
|
824
|
+
local_date: string;
|
|
825
|
+
recipient_email: string;
|
|
826
|
+
site_id: string;
|
|
827
|
+
staff_member_id: string;
|
|
828
|
+
status: string;
|
|
829
|
+
timezone: string;
|
|
830
|
+
updated_at: string;
|
|
831
|
+
};
|
|
832
|
+
Insert: {
|
|
833
|
+
appointment_count?: number;
|
|
834
|
+
attempt_count?: number;
|
|
835
|
+
claim_expires_at: string;
|
|
836
|
+
created_at?: string;
|
|
837
|
+
delivered_at?: string | null;
|
|
838
|
+
digest_kind?: string;
|
|
839
|
+
id?: string;
|
|
840
|
+
last_error?: string | null;
|
|
841
|
+
local_date: string;
|
|
842
|
+
recipient_email: string;
|
|
843
|
+
site_id: string;
|
|
844
|
+
staff_member_id: string;
|
|
845
|
+
status?: string;
|
|
846
|
+
timezone: string;
|
|
847
|
+
updated_at?: string;
|
|
848
|
+
};
|
|
849
|
+
Update: {
|
|
850
|
+
appointment_count?: number;
|
|
851
|
+
attempt_count?: number;
|
|
852
|
+
claim_expires_at?: string;
|
|
853
|
+
created_at?: string;
|
|
854
|
+
delivered_at?: string | null;
|
|
855
|
+
digest_kind?: string;
|
|
856
|
+
id?: string;
|
|
857
|
+
last_error?: string | null;
|
|
858
|
+
local_date?: string;
|
|
859
|
+
recipient_email?: string;
|
|
860
|
+
site_id?: string;
|
|
861
|
+
staff_member_id?: string;
|
|
862
|
+
status?: string;
|
|
863
|
+
timezone?: string;
|
|
864
|
+
updated_at?: string;
|
|
865
|
+
};
|
|
866
|
+
Relationships: [
|
|
867
|
+
{
|
|
868
|
+
foreignKeyName: "appointment_staff_digest_deliveries_site_id_fkey";
|
|
869
|
+
columns: ["site_id"];
|
|
870
|
+
isOneToOne: false;
|
|
871
|
+
referencedRelation: "sites";
|
|
872
|
+
referencedColumns: ["id"];
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
foreignKeyName: "appointment_staff_digest_deliveries_staff_member_id_fkey";
|
|
876
|
+
columns: ["staff_member_id"];
|
|
877
|
+
isOneToOne: false;
|
|
878
|
+
referencedRelation: "staff_members";
|
|
879
|
+
referencedColumns: ["id"];
|
|
880
|
+
}
|
|
881
|
+
];
|
|
882
|
+
};
|
|
814
883
|
appointments: {
|
|
815
884
|
Row: {
|
|
816
885
|
cancellation_reason: string | null;
|
|
@@ -2088,17 +2157,12 @@ export type Database = {
|
|
|
2088
2157
|
course_enrollment_id: string | null;
|
|
2089
2158
|
course_session_attendee_id: string | null;
|
|
2090
2159
|
created_at: string;
|
|
2091
|
-
display_name: string | null;
|
|
2092
|
-
email: string | null;
|
|
2093
|
-
email_normalized: string | null;
|
|
2094
2160
|
event_attendee_guest_id: string | null;
|
|
2095
2161
|
event_attendee_id: string | null;
|
|
2096
2162
|
id: string;
|
|
2097
|
-
identity_state: string;
|
|
2098
2163
|
metadata: Json;
|
|
2099
|
-
participant_id: string
|
|
2164
|
+
participant_id: string;
|
|
2100
2165
|
participation_kind: string;
|
|
2101
|
-
phone: string | null;
|
|
2102
2166
|
site_id: string;
|
|
2103
2167
|
updated_at: string;
|
|
2104
2168
|
};
|
|
@@ -2107,17 +2171,12 @@ export type Database = {
|
|
|
2107
2171
|
course_enrollment_id?: string | null;
|
|
2108
2172
|
course_session_attendee_id?: string | null;
|
|
2109
2173
|
created_at?: string;
|
|
2110
|
-
display_name?: string | null;
|
|
2111
|
-
email?: string | null;
|
|
2112
|
-
email_normalized?: string | null;
|
|
2113
2174
|
event_attendee_guest_id?: string | null;
|
|
2114
2175
|
event_attendee_id?: string | null;
|
|
2115
2176
|
id?: string;
|
|
2116
|
-
identity_state: string;
|
|
2117
2177
|
metadata?: Json;
|
|
2118
|
-
participant_id
|
|
2178
|
+
participant_id: string;
|
|
2119
2179
|
participation_kind: string;
|
|
2120
|
-
phone?: string | null;
|
|
2121
2180
|
site_id: string;
|
|
2122
2181
|
updated_at?: string;
|
|
2123
2182
|
};
|
|
@@ -2126,17 +2185,12 @@ export type Database = {
|
|
|
2126
2185
|
course_enrollment_id?: string | null;
|
|
2127
2186
|
course_session_attendee_id?: string | null;
|
|
2128
2187
|
created_at?: string;
|
|
2129
|
-
display_name?: string | null;
|
|
2130
|
-
email?: string | null;
|
|
2131
|
-
email_normalized?: string | null;
|
|
2132
2188
|
event_attendee_guest_id?: string | null;
|
|
2133
2189
|
event_attendee_id?: string | null;
|
|
2134
2190
|
id?: string;
|
|
2135
|
-
identity_state?: string;
|
|
2136
2191
|
metadata?: Json;
|
|
2137
|
-
participant_id?: string
|
|
2192
|
+
participant_id?: string;
|
|
2138
2193
|
participation_kind?: string;
|
|
2139
|
-
phone?: string | null;
|
|
2140
2194
|
site_id?: string;
|
|
2141
2195
|
updated_at?: string;
|
|
2142
2196
|
};
|
|
@@ -9812,6 +9866,69 @@ export type Database = {
|
|
|
9812
9866
|
}
|
|
9813
9867
|
];
|
|
9814
9868
|
};
|
|
9869
|
+
participant_identity_audit_events: {
|
|
9870
|
+
Row: {
|
|
9871
|
+
actor_kind: string;
|
|
9872
|
+
actor_user_id: string | null;
|
|
9873
|
+
changes: Json;
|
|
9874
|
+
created_at: string;
|
|
9875
|
+
event_type: string;
|
|
9876
|
+
id: string;
|
|
9877
|
+
occurred_at: string;
|
|
9878
|
+
participant_id: string;
|
|
9879
|
+
participant_participation_id: string | null;
|
|
9880
|
+
reason: string | null;
|
|
9881
|
+
request_id: string | null;
|
|
9882
|
+
site_id: string;
|
|
9883
|
+
source_context: Json | null;
|
|
9884
|
+
};
|
|
9885
|
+
Insert: {
|
|
9886
|
+
actor_kind: string;
|
|
9887
|
+
actor_user_id?: string | null;
|
|
9888
|
+
changes: Json;
|
|
9889
|
+
created_at?: string;
|
|
9890
|
+
event_type: string;
|
|
9891
|
+
id?: string;
|
|
9892
|
+
occurred_at?: string;
|
|
9893
|
+
participant_id: string;
|
|
9894
|
+
participant_participation_id?: string | null;
|
|
9895
|
+
reason?: string | null;
|
|
9896
|
+
request_id?: string | null;
|
|
9897
|
+
site_id: string;
|
|
9898
|
+
source_context?: Json | null;
|
|
9899
|
+
};
|
|
9900
|
+
Update: {
|
|
9901
|
+
actor_kind?: string;
|
|
9902
|
+
actor_user_id?: string | null;
|
|
9903
|
+
changes?: Json;
|
|
9904
|
+
created_at?: string;
|
|
9905
|
+
event_type?: string;
|
|
9906
|
+
id?: string;
|
|
9907
|
+
occurred_at?: string;
|
|
9908
|
+
participant_id?: string;
|
|
9909
|
+
participant_participation_id?: string | null;
|
|
9910
|
+
reason?: string | null;
|
|
9911
|
+
request_id?: string | null;
|
|
9912
|
+
site_id?: string;
|
|
9913
|
+
source_context?: Json | null;
|
|
9914
|
+
};
|
|
9915
|
+
Relationships: [
|
|
9916
|
+
{
|
|
9917
|
+
foreignKeyName: "participant_identity_audit_ev_participant_participation_id_fkey";
|
|
9918
|
+
columns: ["participant_participation_id"];
|
|
9919
|
+
isOneToOne: false;
|
|
9920
|
+
referencedRelation: "booking_participant_participations";
|
|
9921
|
+
referencedColumns: ["id"];
|
|
9922
|
+
},
|
|
9923
|
+
{
|
|
9924
|
+
foreignKeyName: "participant_identity_audit_events_participant_id_fkey";
|
|
9925
|
+
columns: ["participant_id"];
|
|
9926
|
+
isOneToOne: false;
|
|
9927
|
+
referencedRelation: "booking_participants";
|
|
9928
|
+
referencedColumns: ["id"];
|
|
9929
|
+
}
|
|
9930
|
+
];
|
|
9931
|
+
};
|
|
9815
9932
|
participant_roster_assertion_jobs: {
|
|
9816
9933
|
Row: {
|
|
9817
9934
|
attempt_count: number;
|
|
@@ -13711,6 +13828,29 @@ export type Database = {
|
|
|
13711
13828
|
updated_at: string;
|
|
13712
13829
|
}[];
|
|
13713
13830
|
};
|
|
13831
|
+
apply_customer_self_service_profile_update: {
|
|
13832
|
+
Args: {
|
|
13833
|
+
audit_changes: Json;
|
|
13834
|
+
audit_request_id?: string;
|
|
13835
|
+
audit_source_context?: Json;
|
|
13836
|
+
expected_updated_at: string;
|
|
13837
|
+
next_name: string;
|
|
13838
|
+
next_phone: string;
|
|
13839
|
+
target_customer_id: string;
|
|
13840
|
+
target_site_id: string;
|
|
13841
|
+
};
|
|
13842
|
+
Returns: {
|
|
13843
|
+
audit_event_id: string;
|
|
13844
|
+
created_at: string;
|
|
13845
|
+
customer_id: string;
|
|
13846
|
+
email: string;
|
|
13847
|
+
email_verified_at: string;
|
|
13848
|
+
name: string;
|
|
13849
|
+
phone: string;
|
|
13850
|
+
site_id: string;
|
|
13851
|
+
updated_at: string;
|
|
13852
|
+
}[];
|
|
13853
|
+
};
|
|
13714
13854
|
apply_newsletter_subscriber_rectification: {
|
|
13715
13855
|
Args: {
|
|
13716
13856
|
audit_actor_user_id: string;
|
|
@@ -13771,6 +13911,36 @@ export type Database = {
|
|
|
13771
13911
|
};
|
|
13772
13912
|
Returns: string;
|
|
13773
13913
|
};
|
|
13914
|
+
apply_participant_identity_rectification: {
|
|
13915
|
+
Args: {
|
|
13916
|
+
audit_actor_user_id: string;
|
|
13917
|
+
audit_changes: Json;
|
|
13918
|
+
audit_participant_participation_id?: string;
|
|
13919
|
+
audit_reason: string;
|
|
13920
|
+
audit_request_id?: string;
|
|
13921
|
+
audit_source_context?: Json;
|
|
13922
|
+
expected_updated_at: string;
|
|
13923
|
+
next_display_name: string;
|
|
13924
|
+
next_email: string;
|
|
13925
|
+
next_identity_state: string;
|
|
13926
|
+
next_phone: string;
|
|
13927
|
+
target_participant_id: string;
|
|
13928
|
+
target_site_id: string;
|
|
13929
|
+
};
|
|
13930
|
+
Returns: {
|
|
13931
|
+
apply_status: string;
|
|
13932
|
+
audit_event_id: string;
|
|
13933
|
+
customer_id: string;
|
|
13934
|
+
display_name: string;
|
|
13935
|
+
email: string;
|
|
13936
|
+
email_normalized: string;
|
|
13937
|
+
identity_state: string;
|
|
13938
|
+
participant_id: string;
|
|
13939
|
+
phone: string;
|
|
13940
|
+
site_id: string;
|
|
13941
|
+
updated_at: string;
|
|
13942
|
+
}[];
|
|
13943
|
+
};
|
|
13774
13944
|
assert_single_subject_participant_roster_atomic: {
|
|
13775
13945
|
Args: {
|
|
13776
13946
|
p_customer_id: string;
|
|
@@ -14491,24 +14661,6 @@ export type Database = {
|
|
|
14491
14661
|
order_id: string;
|
|
14492
14662
|
}[];
|
|
14493
14663
|
};
|
|
14494
|
-
postgres_fdw_disconnect: {
|
|
14495
|
-
Args: {
|
|
14496
|
-
"": string;
|
|
14497
|
-
};
|
|
14498
|
-
Returns: boolean;
|
|
14499
|
-
};
|
|
14500
|
-
postgres_fdw_disconnect_all: {
|
|
14501
|
-
Args: never;
|
|
14502
|
-
Returns: boolean;
|
|
14503
|
-
};
|
|
14504
|
-
postgres_fdw_get_connections: {
|
|
14505
|
-
Args: never;
|
|
14506
|
-
Returns: Record<string, unknown>[];
|
|
14507
|
-
};
|
|
14508
|
-
postgres_fdw_handler: {
|
|
14509
|
-
Args: never;
|
|
14510
|
-
Returns: unknown;
|
|
14511
|
-
};
|
|
14512
14664
|
redeem_pass_credits: {
|
|
14513
14665
|
Args: {
|
|
14514
14666
|
credits_amount?: number;
|
|
@@ -2,7 +2,7 @@ import { type ReactNode } from 'react';
|
|
|
2
2
|
import type { ApiClient } from '@riverbankcms/api/request';
|
|
3
3
|
import { type ContentTypeSchema } from '@riverbankcms/content-model';
|
|
4
4
|
import { type ZoomLevel } from '@riverbankcms/content-editor';
|
|
5
|
-
import type {
|
|
5
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from '@riverbankcms/blocks';
|
|
6
6
|
import type { FieldWidgetComponent } from '@riverbankcms/block-form/client';
|
|
7
7
|
import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
|
|
8
8
|
import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
|
|
@@ -17,7 +17,7 @@ type EntryEditorPanelProps = {
|
|
|
17
17
|
apiClient: ApiClient;
|
|
18
18
|
bearerToken?: string | null;
|
|
19
19
|
supabaseUrl?: string;
|
|
20
|
-
|
|
20
|
+
entrySubrouteContext?: EntrySubrouteContextData | null;
|
|
21
21
|
metadataPanel: ReactNode;
|
|
22
22
|
mediaAssets?: MediaAssetIndexItem[];
|
|
23
23
|
widgets: Record<string, FieldWidgetComponent>;
|
|
@@ -28,5 +28,5 @@ type EntryEditorPanelProps = {
|
|
|
28
28
|
onViewportWidthChange: (width: ViewportWidth) => void;
|
|
29
29
|
onZoomChange: (zoom: ZoomLevel) => void;
|
|
30
30
|
};
|
|
31
|
-
export declare function EntryEditorPanel({ siteId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, bearerToken, supabaseUrl,
|
|
31
|
+
export declare function EntryEditorPanel({ siteId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, metadataPanel, mediaAssets, widgets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
32
32
|
export {};
|
|
@@ -2,7 +2,7 @@ import { type ReactNode } from "react";
|
|
|
2
2
|
import type { ApiClient } from "@riverbankcms/api/request";
|
|
3
3
|
import type { SdkConfigForBlockPicker } from "@riverbankcms/editor-blocks";
|
|
4
4
|
import type { SurfaceId } from "@riverbankcms/surfaces";
|
|
5
|
-
import type {
|
|
5
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from "@riverbankcms/blocks";
|
|
6
6
|
import { type ContentTypeSchema } from "@riverbankcms/content-model";
|
|
7
7
|
import { type ZoomLevel } from "@riverbankcms/content-editor";
|
|
8
8
|
import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
|
|
@@ -38,7 +38,7 @@ export type PreviewEditorSidebarProps = {
|
|
|
38
38
|
apiClient: ApiClient;
|
|
39
39
|
bearerToken?: string | null;
|
|
40
40
|
supabaseUrl?: string;
|
|
41
|
-
|
|
41
|
+
entrySubrouteContext?: EntrySubrouteContextData | null;
|
|
42
42
|
assistantPanel?: ReactNode;
|
|
43
43
|
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
44
44
|
mediaAssets?: MediaAssetIndexItem[];
|
|
@@ -53,4 +53,4 @@ export type PreviewEditorSidebarProps = {
|
|
|
53
53
|
onViewportWidthChange: (width: ViewportWidth) => void;
|
|
54
54
|
onZoomChange: (zoom: ZoomLevel) => void;
|
|
55
55
|
};
|
|
56
|
-
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, apiClient, bearerToken, supabaseUrl,
|
|
56
|
+
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,7 +2,7 @@ import { type ComponentProps, type ReactNode } from "react";
|
|
|
2
2
|
import { BlockApiProvider } from "@riverbankcms/blocks/client";
|
|
3
3
|
import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
|
|
4
4
|
import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
|
|
5
|
-
import type {
|
|
5
|
+
import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from "@riverbankcms/blocks";
|
|
6
6
|
import type { ContentTypeSchema } from "@riverbankcms/content-model";
|
|
7
7
|
import type { SdkConfigForBlockPicker } from "@riverbankcms/editor-blocks";
|
|
8
8
|
import type { SurfaceId } from "@riverbankcms/surfaces";
|
|
@@ -54,7 +54,7 @@ export type PreviewShellProps = {
|
|
|
54
54
|
pageMetadata?: PreviewPageMetadata;
|
|
55
55
|
isSiteLaunched: boolean;
|
|
56
56
|
maintenanceModeEnabled: boolean;
|
|
57
|
-
|
|
57
|
+
entrySubrouteContext?: EntrySubrouteContextData | null;
|
|
58
58
|
assistantPanel?: PreviewEditorSidebarProps["assistantPanel"];
|
|
59
59
|
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
60
60
|
mediaAssets?: MediaAssetIndexItem[];
|
|
@@ -63,7 +63,7 @@ export type PreviewShellProps = {
|
|
|
63
63
|
designEditorEligibility?: PreviewDesignEditorEligibility;
|
|
64
64
|
baseFetch?: BaseFetch;
|
|
65
65
|
};
|
|
66
|
-
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled,
|
|
66
|
+
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
|
|
67
67
|
export declare function defaultDesignEditorEligibility(input: Readonly<{
|
|
68
68
|
pageId: string | null;
|
|
69
69
|
entryData?: PreviewContentEntryData | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type
|
|
2
|
+
import { type EntrySubrouteContextData, type MediaAssetIndexItem, type Theme } from "@riverbankcms/blocks";
|
|
3
3
|
import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
|
|
4
4
|
import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
|
|
5
5
|
import type { ContentTypeSchema } from "@riverbankcms/content-model";
|
|
@@ -30,11 +30,11 @@ export type PreviewShellLayoutProps = {
|
|
|
30
30
|
supabaseUrl?: string;
|
|
31
31
|
isSiteLaunched: boolean;
|
|
32
32
|
maintenanceModeEnabled: boolean;
|
|
33
|
-
|
|
33
|
+
entrySubrouteContext?: EntrySubrouteContextData | null;
|
|
34
34
|
assistantPanel?: ReactNode;
|
|
35
35
|
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
36
36
|
mediaAssets?: MediaAssetIndexItem[];
|
|
37
37
|
useThemeScope?: boolean;
|
|
38
38
|
siteStyleAccess?: SiteStyleAccess;
|
|
39
39
|
};
|
|
40
|
-
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, supabaseUrl, isSiteLaunched, maintenanceModeEnabled,
|
|
40
|
+
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SubrouteNoticeModel } from './subrouteNotice';
|
|
2
|
+
type SubrouteNoticeProps = {
|
|
3
|
+
model: SubrouteNoticeModel;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Presentational notice shown above the sidebar editor when previewing a
|
|
7
|
+
* sub-entry (an event occurrence, a course run, …).
|
|
8
|
+
*
|
|
9
|
+
* Render-only — all wording and the CTA target are produced by
|
|
10
|
+
* {@link resolveSubrouteNotice}.
|
|
11
|
+
*/
|
|
12
|
+
export declare function SubrouteNotice({ model }: SubrouteNoticeProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type EntrySubrouteContextData } from '@riverbankcms/blocks';
|
|
2
|
+
/**
|
|
3
|
+
* Render-agnostic model for the "you're previewing a sub-entry" notice.
|
|
4
|
+
*
|
|
5
|
+
* Built generically from a {@link SubrouteKindMeta} so consumers (the sidebar
|
|
6
|
+
* notice today, breadcrumbs/SEO tomorrow) share one source of nouns and copy.
|
|
7
|
+
*/
|
|
8
|
+
export type SubrouteNoticeModel = {
|
|
9
|
+
title: string;
|
|
10
|
+
body: string;
|
|
11
|
+
cta: {
|
|
12
|
+
label: string;
|
|
13
|
+
href: string;
|
|
14
|
+
} | null;
|
|
15
|
+
/** Shown when the dashboard URL can't be built (e.g. missing env var). */
|
|
16
|
+
fallbackMessage: string | null;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the notice model for the current subroute context.
|
|
20
|
+
*
|
|
21
|
+
* Returns null when there's no subroute context, meaning the consumer should
|
|
22
|
+
* render nothing.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveSubrouteNotice(ctx: EntrySubrouteContextData | null, args: {
|
|
25
|
+
siteId: string;
|
|
26
|
+
}): SubrouteNoticeModel | null;
|
|
@@ -12,16 +12,15 @@ type ResolvedSubroute = NonNullable<ResolveEntrySubrouteResponse['subroute']>;
|
|
|
12
12
|
export type OccurrenceData = Extract<ResolvedSubroute, {
|
|
13
13
|
kind: 'event-occurrence';
|
|
14
14
|
}>['occurrence'];
|
|
15
|
+
export type CourseRunData = Extract<ResolvedSubroute, {
|
|
16
|
+
kind: 'course-run';
|
|
17
|
+
}>['run'];
|
|
15
18
|
export type EntrySubrouteData = {
|
|
16
19
|
kind: 'event-occurrence';
|
|
17
20
|
occurrence: OccurrenceData;
|
|
18
21
|
} | {
|
|
19
22
|
kind: 'course-run';
|
|
20
|
-
run:
|
|
21
|
-
courseId: string;
|
|
22
|
-
seriesId: string;
|
|
23
|
-
runSlug: string;
|
|
24
|
-
};
|
|
23
|
+
run: CourseRunData;
|
|
25
24
|
};
|
|
26
25
|
/**
|
|
27
26
|
* Options for resolving page content.
|
|
@@ -75,6 +75,17 @@ export declare const buttonPersonalities: readonly [Readonly<{
|
|
|
75
75
|
era: import("../../site-styles").StyleEra;
|
|
76
76
|
}>>>;
|
|
77
77
|
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
78
|
+
}>, Readonly<{
|
|
79
|
+
id: ButtonPersonalityId<"showtime-pill">;
|
|
80
|
+
name: string;
|
|
81
|
+
description: string;
|
|
82
|
+
tags: Readonly<Partial<Readonly<{
|
|
83
|
+
tone: import("../../site-styles").StyleTone;
|
|
84
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
85
|
+
motion: import("../../site-styles").StyleMotion;
|
|
86
|
+
era: import("../../site-styles").StyleEra;
|
|
87
|
+
}>>>;
|
|
88
|
+
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
78
89
|
}>];
|
|
79
90
|
type UnbrandedButtonPersonalityId<TValue> = TValue extends infer TRaw & {
|
|
80
91
|
readonly __brand: 'ButtonPersonalityId';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Showtime Pill — bold, spacious, fully rounded buttons with playful pop
|
|
3
|
+
* motion. Suits energetic schools, performers, festivals, and community brands
|
|
4
|
+
* that need calls to action to feel loud without becoming visually chaotic.
|
|
5
|
+
*/
|
|
6
|
+
export declare const showtimePill: Readonly<{
|
|
7
|
+
id: import("./types").ButtonPersonalityId<"showtime-pill">;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
tags: Readonly<Partial<Readonly<{
|
|
11
|
+
tone: import("../../site-styles").StyleTone;
|
|
12
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
13
|
+
motion: import("../../site-styles").StyleMotion;
|
|
14
|
+
era: import("../../site-styles").StyleEra;
|
|
15
|
+
}>>>;
|
|
16
|
+
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
17
|
+
}>;
|
|
@@ -148,9 +148,9 @@ export declare const variantRoleSchema: z.ZodEnum<{
|
|
|
148
148
|
link: "link";
|
|
149
149
|
primary: "primary";
|
|
150
150
|
secondary: "secondary";
|
|
151
|
-
accent: "accent";
|
|
152
151
|
outline: "outline";
|
|
153
152
|
ghost: "ghost";
|
|
153
|
+
accent: "accent";
|
|
154
154
|
tertiary: "tertiary";
|
|
155
155
|
}>;
|
|
156
156
|
export declare const buttonSizeNameSchema: z.ZodEnum<{
|