@riverbankcms/sdk 0.72.0 → 0.75.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 +1 -1
- package/dist/{PreviewEditorSidebar-44T64SAR.mjs → PreviewEditorSidebar-U2IHCBYN.mjs} +3 -3
- package/dist/{PreviewEditorUI-4WKHZTXW.mjs → PreviewEditorUI-ZGH2RQNP.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
- package/dist/_dts/api/src/cache-tags.d.ts +22 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -24
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -1
- package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
- package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/client/events.d.ts +4 -0
- package/dist/_dts/blocks/src/client/form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/header.d.ts +1 -0
- package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
- package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
- package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +6 -6
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +15 -1
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +6 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/accordion.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/bookingForm.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/carousel.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/cart.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/checkout.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCalendar.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCombined.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventDetails.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventListing.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventRegistration.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/form.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/headerSection.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/locationMap.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/newsletterForm.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/productDetail.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/productList.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/shop.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/hydrateBlocksIslands.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/propsDecoder.d.ts +7 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +3 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
- package/dist/_dts/theme-core/src/buttons/types.d.ts +20 -20
- package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/navDropdownSizing.d.ts +7 -0
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -156
- package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/schema.d.ts +178 -178
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +8 -8
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +5 -5
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{chunk-G4NLITC2.mjs → chunk-BGMNDF6T.mjs} +7 -7
- package/dist/{chunk-3YNCQG5N.mjs → chunk-GFE74WRD.mjs} +457 -98
- package/dist/{chunk-HV745JYE.mjs → chunk-RWXQBRQZ.mjs} +1 -1
- package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
- package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
- package/dist/{chunk-KWQPAJYS.mjs → chunk-ZSHFGFUG.mjs} +2 -2
- package/dist/cli/index.mjs +3498 -3826
- package/dist/client/accordion-T2UD2ZTH.mjs +120 -0
- package/dist/client/altcha-LIGLPZS5.mjs +2755 -0
- package/dist/client/bookingForm-GUP75FKN.mjs +3022 -0
- package/dist/client/bookings.mjs +32 -10
- package/dist/client/carousel-2NQA6V57.mjs +47 -0
- package/dist/client/cart-5TFIAFDS.mjs +18 -0
- package/dist/client/checkout-TP4WAHZE.mjs +18 -0
- package/dist/client/chunk-2PHQZ666.mjs +383 -0
- package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
- package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
- package/dist/client/chunk-CY2ZTSE5.mjs +204 -0
- package/dist/client/chunk-F7LHOKEH.mjs +146 -0
- package/dist/client/chunk-FU2QRZMX.mjs +7617 -0
- package/dist/client/chunk-I2MMZO53.mjs +6 -0
- package/dist/client/chunk-II7O4XN3.mjs +2206 -0
- package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
- package/dist/client/chunk-N7PBWBWQ.mjs +26 -0
- package/dist/client/chunk-NWOUL6JY.mjs +1378 -0
- package/dist/client/chunk-OJPZEZU2.mjs +31 -0
- package/dist/client/chunk-PMAIXMAB.mjs +1960 -0
- package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
- package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
- package/dist/client/chunk-VUAOE3AG.mjs +5592 -0
- package/dist/client/chunk-WJXXNDSE.mjs +245 -0
- package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
- package/dist/client/chunk-ZLMS67RR.mjs +106 -0
- package/dist/client/client.mjs +51865 -52071
- package/dist/client/courseRegistration-5DPU6PDY.mjs +1737 -0
- package/dist/client/eventCalendar-F3GZGTEF.mjs +40 -0
- package/dist/client/eventCombined-BQOB6QMY.mjs +37 -0
- package/dist/client/eventDetails-PEM2EJWE.mjs +25 -0
- package/dist/client/eventListing-YMIQPVME.mjs +40 -0
- package/dist/client/eventRegistration-4I6ZNDUF.mjs +40 -0
- package/dist/client/form-ZJVAYZ6G.mjs +300 -0
- package/dist/client/headerSection-TOT5MGTF.mjs +729 -0
- package/dist/client/hooks.mjs +91 -42
- package/dist/client/locationMap-J66NZREU.mjs +227 -0
- package/dist/client/newsletterForm-ET2XUMRO.mjs +208 -0
- package/dist/client/productDetail-C2XIH7C5.mjs +18 -0
- package/dist/client/productList-T2AZLFTP.mjs +18 -0
- package/dist/client/rendering/client.mjs +12796 -18295
- package/dist/client/rendering/islands.mjs +108 -44022
- package/dist/client/rendering.mjs +45141 -45346
- package/dist/client/shop-UZ6IUZXD.mjs +20 -0
- package/dist/preview-next/before-render.mjs +37 -25
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +37 -25
- package/dist/{sdk-runtime-NGDWSWOS.mjs → sdk-runtime-JCUQM63Y.mjs} +6 -6
- package/dist/server/components.mjs +472 -276
- package/dist/server/config-validation.mjs +91 -42
- package/dist/server/config.mjs +91 -42
- package/dist/server/data.mjs +91 -42
- package/dist/server/index.mjs +45 -33
- package/dist/server/next.mjs +468 -272
- package/dist/server/page-converter.mjs +41 -17
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +556 -275
- package/dist/server/rendering.mjs +474 -278
- package/dist/server/routing.mjs +99 -43
- package/dist/server/server.mjs +92 -43
- package/dist/server/theme-bridge.mjs +29 -0
- package/dist/styles/index.css +16 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-FO6V7YVY.mjs +0 -8
|
@@ -4297,24 +4297,24 @@ export type SlotDefinition = z.infer<typeof slotSchema>;
|
|
|
4297
4297
|
export declare const styleTokenSchema: z.ZodObject<{
|
|
4298
4298
|
background: z.ZodOptional<z.ZodEnum<{
|
|
4299
4299
|
background: "background";
|
|
4300
|
+
muted: "muted";
|
|
4300
4301
|
surface: "surface";
|
|
4301
4302
|
foreground: "foreground";
|
|
4302
4303
|
accent: "accent";
|
|
4303
|
-
muted: "muted";
|
|
4304
4304
|
}>>;
|
|
4305
4305
|
foreground: z.ZodOptional<z.ZodEnum<{
|
|
4306
4306
|
background: "background";
|
|
4307
|
+
muted: "muted";
|
|
4307
4308
|
surface: "surface";
|
|
4308
4309
|
foreground: "foreground";
|
|
4309
4310
|
accent: "accent";
|
|
4310
|
-
muted: "muted";
|
|
4311
4311
|
}>>;
|
|
4312
4312
|
border: z.ZodOptional<z.ZodEnum<{
|
|
4313
4313
|
background: "background";
|
|
4314
|
+
muted: "muted";
|
|
4314
4315
|
surface: "surface";
|
|
4315
4316
|
foreground: "foreground";
|
|
4316
4317
|
accent: "accent";
|
|
4317
|
-
muted: "muted";
|
|
4318
4318
|
}>>;
|
|
4319
4319
|
typography: z.ZodOptional<z.ZodEnum<{
|
|
4320
4320
|
body: "body";
|
|
@@ -4381,24 +4381,24 @@ export declare const manifestSchema: z.ZodObject<{
|
|
|
4381
4381
|
styleTokens: z.ZodOptional<z.ZodObject<{
|
|
4382
4382
|
background: z.ZodOptional<z.ZodEnum<{
|
|
4383
4383
|
background: "background";
|
|
4384
|
+
muted: "muted";
|
|
4384
4385
|
surface: "surface";
|
|
4385
4386
|
foreground: "foreground";
|
|
4386
4387
|
accent: "accent";
|
|
4387
|
-
muted: "muted";
|
|
4388
4388
|
}>>;
|
|
4389
4389
|
foreground: z.ZodOptional<z.ZodEnum<{
|
|
4390
4390
|
background: "background";
|
|
4391
|
+
muted: "muted";
|
|
4391
4392
|
surface: "surface";
|
|
4392
4393
|
foreground: "foreground";
|
|
4393
4394
|
accent: "accent";
|
|
4394
|
-
muted: "muted";
|
|
4395
4395
|
}>>;
|
|
4396
4396
|
border: z.ZodOptional<z.ZodEnum<{
|
|
4397
4397
|
background: "background";
|
|
4398
|
+
muted: "muted";
|
|
4398
4399
|
surface: "surface";
|
|
4399
4400
|
foreground: "foreground";
|
|
4400
4401
|
accent: "accent";
|
|
4401
|
-
muted: "muted";
|
|
4402
4402
|
}>>;
|
|
4403
4403
|
typography: z.ZodOptional<z.ZodEnum<{
|
|
4404
4404
|
body: "body";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NodeDefinition } from "../schema";
|
|
2
|
+
import type { MediaImageFetchPriority, MediaImageLoading } from "../../runtime/nodes/media";
|
|
2
3
|
/**
|
|
3
4
|
* Options for customizing the appearance of background layers.
|
|
4
5
|
*/
|
|
@@ -43,6 +44,16 @@ export type BackgroundLayerOptions = {
|
|
|
43
44
|
* @default false
|
|
44
45
|
*/
|
|
45
46
|
omitImageLayer?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Browser loading hint for the background image layer.
|
|
49
|
+
*
|
|
50
|
+
* @default 'lazy'
|
|
51
|
+
*/
|
|
52
|
+
imageLoading?: MediaImageLoading;
|
|
53
|
+
/**
|
|
54
|
+
* Browser fetch priority hint for the background image layer.
|
|
55
|
+
*/
|
|
56
|
+
imageFetchPriority?: MediaImageFetchPriority;
|
|
46
57
|
};
|
|
47
58
|
/**
|
|
48
59
|
* Creates background layer nodes for rendering backgrounds from field data.
|
|
@@ -112,7 +123,10 @@ export declare function backgroundLayer(path: string, options?: BackgroundLayerO
|
|
|
112
123
|
* 'rb-absolute rb-inset-0 rb-h-full rb-w-full'
|
|
113
124
|
* )
|
|
114
125
|
*/
|
|
115
|
-
export declare function createBackgroundImageNode(path: string, baseClassName?: string
|
|
126
|
+
export declare function createBackgroundImageNode(path: string, baseClassName?: string, options?: {
|
|
127
|
+
loading?: MediaImageLoading;
|
|
128
|
+
fetchPriority?: MediaImageFetchPriority;
|
|
129
|
+
}): NodeDefinition;
|
|
116
130
|
/**
|
|
117
131
|
* Creates a div node for rendering color/gradient overlays on background images.
|
|
118
132
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { NodeDefinition } from '../schema';
|
|
2
2
|
import type { SemanticSpacing } from '../../spacing';
|
|
3
|
+
import type { MediaImageFetchPriority, MediaImageLoading } from '../../runtime/nodes/media';
|
|
3
4
|
/**
|
|
4
5
|
* Configuration for creating a styled section with background support.
|
|
5
6
|
*/
|
|
@@ -52,6 +53,16 @@ export type StyledSectionConfig = {
|
|
|
52
53
|
* @default true
|
|
53
54
|
*/
|
|
54
55
|
renderBackgroundImage?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Browser loading hint for the automatic background image layer.
|
|
58
|
+
*
|
|
59
|
+
* @default 'lazy'
|
|
60
|
+
*/
|
|
61
|
+
backgroundImageLoading?: MediaImageLoading;
|
|
62
|
+
/**
|
|
63
|
+
* Browser fetch priority hint for the automatic background image layer.
|
|
64
|
+
*/
|
|
65
|
+
backgroundImageFetchPriority?: MediaImageFetchPriority;
|
|
55
66
|
/**
|
|
56
67
|
* Optional path to a boolean flag in block content that should trigger
|
|
57
68
|
* full-width section behavior (removing horizontal `rb-px-*` classes).
|
|
@@ -2823,6 +2823,7 @@ export declare const clientComponentRegistryEntries: {
|
|
|
2823
2823
|
blockContent?: unknown;
|
|
2824
2824
|
fragmentRegistry?: unknown;
|
|
2825
2825
|
pathBase?: string;
|
|
2826
|
+
"data-preview-site-chrome-surface"?: string;
|
|
2826
2827
|
} & {
|
|
2827
2828
|
children?: React.ReactNode | undefined;
|
|
2828
2829
|
}>;
|
|
@@ -10,6 +10,19 @@ type HeaderSectionEnhanceOptions = {
|
|
|
10
10
|
*/
|
|
11
11
|
scrollTarget?: HTMLElement | null;
|
|
12
12
|
};
|
|
13
|
+
type DropdownPlacementInput = Readonly<{
|
|
14
|
+
left: number;
|
|
15
|
+
right: number;
|
|
16
|
+
viewportWidth: number;
|
|
17
|
+
gutter: number;
|
|
18
|
+
}>;
|
|
19
|
+
export type DropdownPlacementPlan = Readonly<{
|
|
20
|
+
kind: 'unchanged';
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'shift';
|
|
23
|
+
x: number;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function planDropdownViewportShift(input: DropdownPlacementInput): DropdownPlacementPlan;
|
|
13
26
|
/**
|
|
14
27
|
* Enhances a rendered site header section with:
|
|
15
28
|
* - Desktop dropdown ARIA state
|
|
@@ -66,6 +66,7 @@ export type BookingFlowFeedback = Readonly<{
|
|
|
66
66
|
scope: "verification" | "payment";
|
|
67
67
|
message: string;
|
|
68
68
|
}>;
|
|
69
|
+
export type BookingFlowPhase = "editing" | "submitting" | "completed";
|
|
69
70
|
export type AvailabilitySelectionInvalidation = Readonly<{
|
|
70
71
|
kind: "preserve";
|
|
71
72
|
}> | Readonly<{
|
|
@@ -157,6 +158,7 @@ export type BookingFieldView = Readonly<{
|
|
|
157
158
|
ariaInvalid: boolean;
|
|
158
159
|
}>;
|
|
159
160
|
export type BookingFlowReducerState = Readonly<{
|
|
161
|
+
phase: BookingFlowPhase;
|
|
160
162
|
currentStepId: BookingFlowStepId;
|
|
161
163
|
selectedServiceId?: AppointmentServiceId;
|
|
162
164
|
selectedResourceId?: AppointmentResourceId;
|
|
@@ -170,7 +172,6 @@ export type BookingFlowReducerState = Readonly<{
|
|
|
170
172
|
altchaSolution: string | null;
|
|
171
173
|
validationErrors: BookingValidationErrors;
|
|
172
174
|
feedback: BookingFlowFeedback;
|
|
173
|
-
isSubmitting: boolean;
|
|
174
175
|
}>;
|
|
175
176
|
export type BookingFlowEvent = Readonly<{
|
|
176
177
|
type: "service-selected";
|
|
@@ -491,7 +492,7 @@ export declare function resolveAppointmentPackagesModel(input: Readonly<{
|
|
|
491
492
|
}>): BookingAppointmentPackagesModel;
|
|
492
493
|
export declare function resolveHeadlessBookingStatus(input: Readonly<{
|
|
493
494
|
feedback: BookingFlowFeedback;
|
|
494
|
-
|
|
495
|
+
phase: BookingFlowPhase;
|
|
495
496
|
}>): BookingFlowStatus;
|
|
496
497
|
export declare function resolveHeadlessBookingView(input: Readonly<{
|
|
497
498
|
form: BookingFormConfig | null;
|
|
@@ -7,5 +7,8 @@ export { EventListingSSR } from './EventListing.server';
|
|
|
7
7
|
export { EventCalendarSSR } from './EventCalendar.server';
|
|
8
8
|
export { EventCombinedSSR } from './EventCombined.server';
|
|
9
9
|
export { EventListingClient } from './EventListing.client';
|
|
10
|
+
export type { EventListingClientProps } from './EventListing.client';
|
|
10
11
|
export { EventCalendarClient } from './EventCalendar.client';
|
|
12
|
+
export type { EventCalendarClientProps } from './EventCalendar.client';
|
|
11
13
|
export { EventCombinedClient, EventCombinedIslandClient } from './EventCombined.client';
|
|
14
|
+
export type { EventCombinedClientProps, EventCombinedIslandClientProps, } from './EventCombined.client';
|
|
@@ -153,6 +153,8 @@ export declare function getSupabaseUrl(): string;
|
|
|
153
153
|
export declare function getSiteId(): string | undefined;
|
|
154
154
|
export declare function resolveVideoPosterUrl(value: Media, context?: ResolveImageUrlContext | null): string | undefined;
|
|
155
155
|
export declare function resolveMediaWithContext<TMedia extends Media>(value: TMedia, context?: ResolveImageUrlContext | null): TMedia;
|
|
156
|
+
export type MediaImageLoading = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['loading']>;
|
|
157
|
+
export type MediaImageFetchPriority = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['fetchPriority']>;
|
|
156
158
|
export type MediaNodeProps = {
|
|
157
159
|
value?: Media | null;
|
|
158
160
|
className?: string;
|
|
@@ -160,6 +162,10 @@ export type MediaNodeProps = {
|
|
|
160
162
|
children?: React.ReactNode;
|
|
161
163
|
/** Video playback mode. Background video is decorative, muted, looping, and control-free. */
|
|
162
164
|
videoPlayback?: VideoPlaybackMode;
|
|
165
|
+
/** Browser image loading hint. Defaults to lazy for non-priority media. */
|
|
166
|
+
loading?: MediaImageLoading;
|
|
167
|
+
/** Browser image fetch priority hint for LCP-critical media. */
|
|
168
|
+
fetchPriority?: MediaImageFetchPriority;
|
|
163
169
|
/** Image size options. Defaults to ImagePresets.full (1920px) */
|
|
164
170
|
size?: ImageOptions;
|
|
165
171
|
/**
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* This catches empty required fields and other validation errors that were allowed
|
|
6
6
|
* during editing (draft mode) but must be fixed before publishing.
|
|
7
7
|
*/
|
|
8
|
+
import type { FieldValidationDescriptor } from '../../../blocks/src/index';
|
|
8
9
|
import type { EditorBlockId } from '../../../core/src/index';
|
|
9
10
|
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
10
11
|
/**
|
|
@@ -17,6 +18,10 @@ export type BlockValidationError = {
|
|
|
17
18
|
blockKind: string;
|
|
18
19
|
/** The path to the invalid field (e.g., "title", "items.0.label") */
|
|
19
20
|
fieldPath: string;
|
|
21
|
+
/** Manifest-derived metadata for the invalid field, when the path resolves to one */
|
|
22
|
+
fieldDescriptor: FieldValidationDescriptor | null;
|
|
23
|
+
/** Whether the field can be directly focused in the editor sidebar */
|
|
24
|
+
isFieldVisibleInSidebar: boolean;
|
|
20
25
|
/** Human-readable label for the field */
|
|
21
26
|
fieldLabel: string;
|
|
22
27
|
/** The validation error message */
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { default as React, type ReactNode } from 'react';
|
|
2
2
|
export type SiteChromeEditableSurfaceKind = 'header' | 'footer';
|
|
3
|
-
|
|
3
|
+
type SiteChromeEditableSurfaceProps = Readonly<{
|
|
4
4
|
surface: SiteChromeEditableSurfaceKind;
|
|
5
5
|
children: ReactNode;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Decorate a single custom React component root instead of wrapping it.
|
|
8
|
+
*
|
|
9
|
+
* Only use this when the component is known to forward className,
|
|
10
|
+
* data attributes, and children to its actual chrome root; otherwise the
|
|
11
|
+
* customize button and preview metadata can be swallowed by the component.
|
|
12
|
+
*/
|
|
13
|
+
preserveSingleComponentRoot?: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function SiteChromeEditableSurface({ surface, children, preserveSingleComponentRoot, }: SiteChromeEditableSurfaceProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
16
|
+
export {};
|
|
@@ -456,6 +456,7 @@ export type EntriesResponse<TContent = Record<string, unknown>> = {
|
|
|
456
456
|
entries: ContentEntryListItem<TContent>[];
|
|
457
457
|
meta?: ListPublishedEntriesMeta;
|
|
458
458
|
contentType?: PublicContentTypeMeta | null;
|
|
459
|
+
mediaAssets?: SdkRuntimeMediaAsset[];
|
|
459
460
|
};
|
|
460
461
|
export interface FormRecord {
|
|
461
462
|
id: string;
|
|
@@ -58,7 +58,7 @@ export type LayoutProps = {
|
|
|
58
58
|
* the strict `@riverbankcms/sdk/rendering/server` surface stays bootstrap-free.
|
|
59
59
|
* If a custom host renders hydratable CMS islands through the strict server
|
|
60
60
|
* surface, mount `BlocksIslandsHydrator` from
|
|
61
|
-
|
|
61
|
+
* `@riverbankcms/sdk/rendering/islands` explicitly.
|
|
62
62
|
*
|
|
63
63
|
* @example With pre-fetched site data (recommended)
|
|
64
64
|
* ```tsx
|
|
@@ -75,7 +75,7 @@ export type LayoutProps = {
|
|
|
75
75
|
* @example With strict server rendering
|
|
76
76
|
* ```tsx
|
|
77
77
|
* import { Layout, Page } from '@riverbankcms/sdk/rendering/server';
|
|
78
|
-
* import { BlocksIslandsHydrator } from '@riverbankcms/sdk/rendering/
|
|
78
|
+
* import { BlocksIslandsHydrator } from '@riverbankcms/sdk/rendering/islands';
|
|
79
79
|
*
|
|
80
80
|
* const site = await client.getSite({ slug: 'my-site' });
|
|
81
81
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IslandEnhancerOverrideLoaders } from './types';
|
|
2
2
|
type HydrateOptions = {
|
|
3
3
|
root?: ParentNode;
|
|
4
4
|
onError?: (error: unknown) => void;
|
|
5
|
-
loaders?: Partial<
|
|
5
|
+
loaders?: Partial<IslandEnhancerOverrideLoaders>;
|
|
6
6
|
maxRetries?: number;
|
|
7
7
|
};
|
|
8
8
|
export declare function hydrateBlocksIslands(options?: HydrateOptions): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type DecodeIssue } from '../../../../blocks/src/contracts/index';
|
|
2
|
+
import type { IslandKind, IslandPropsDecoder } from './types';
|
|
3
|
+
export declare class IslandPropsDecodeError extends Error {
|
|
4
|
+
readonly issues: readonly DecodeIssue[];
|
|
5
|
+
constructor(kind: IslandKind, issues: readonly DecodeIssue[]);
|
|
6
|
+
}
|
|
7
|
+
export declare function defineIslandPropsDecoder<K extends IslandKind>(kind: K): IslandPropsDecoder<K>;
|
|
@@ -380,9 +380,18 @@ export type IslandPropsMap = {
|
|
|
380
380
|
export type IslandEnhancer<K extends IslandKind = IslandKind> = {
|
|
381
381
|
bivarianceHack(root: HTMLElement, props: IslandPropsMap[K]): void | (() => void) | Promise<void | (() => void)>;
|
|
382
382
|
}['bivarianceHack'];
|
|
383
|
+
export type IslandPropsDecoder<K extends IslandKind = IslandKind> = (input: unknown) => IslandPropsMap[K];
|
|
384
|
+
export type IslandRuntimeModule<K extends IslandKind = IslandKind> = {
|
|
385
|
+
decode: IslandPropsDecoder<K>;
|
|
386
|
+
enhance: IslandEnhancer<K>;
|
|
387
|
+
};
|
|
383
388
|
export type IslandEnhancerModule<K extends IslandKind = IslandKind> = {
|
|
389
|
+
decode?: IslandPropsDecoder<K>;
|
|
384
390
|
enhance: IslandEnhancer<K>;
|
|
385
391
|
};
|
|
386
392
|
export type IslandEnhancerLoaders = {
|
|
393
|
+
[K in IslandKind]: () => Promise<IslandRuntimeModule<K>>;
|
|
394
|
+
};
|
|
395
|
+
export type IslandEnhancerOverrideLoaders = {
|
|
387
396
|
[K in IslandKind]: () => Promise<IslandEnhancerModule<K>>;
|
|
388
397
|
};
|
|
@@ -8,3 +8,6 @@ export { Layout } from './components/Layout';
|
|
|
8
8
|
export type { LayoutProps, HeaderData, FooterData } from './components/Layout';
|
|
9
9
|
export { Block } from './components/Block.server';
|
|
10
10
|
export type { BlockProps } from './components/Block.server';
|
|
11
|
+
export { defineLazyBlockOverride } from './overrides';
|
|
12
|
+
export { resolveBlockOverridesForPage } from './overrideResolution';
|
|
13
|
+
export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrideRegistration, BlockOverrideRegistrations, BlockOverrides, LazyBlockOverrideFactory, LazyBlockOverrideRegistration, } from './overrides';
|
|
@@ -3,9 +3,9 @@ import { z } from 'zod';
|
|
|
3
3
|
* Accordion icon styles for expand/collapse indicators
|
|
4
4
|
*/
|
|
5
5
|
export declare const accordionIconSchema: z.ZodEnum<{
|
|
6
|
+
caret: "caret";
|
|
6
7
|
"plus-minus": "plus-minus";
|
|
7
8
|
chevron: "chevron";
|
|
8
|
-
caret: "caret";
|
|
9
9
|
arrow: "arrow";
|
|
10
10
|
"circle-plus-minus": "circle-plus-minus";
|
|
11
11
|
}>;
|
|
@@ -46,8 +46,8 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
46
46
|
elevation: z.ZodEnum<{
|
|
47
47
|
medium: "medium";
|
|
48
48
|
none: "none";
|
|
49
|
-
low: "low";
|
|
50
49
|
high: "high";
|
|
50
|
+
low: "low";
|
|
51
51
|
}>;
|
|
52
52
|
softness: z.ZodNullable<z.ZodEnum<{
|
|
53
53
|
soft: "soft";
|
|
@@ -61,9 +61,9 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
61
61
|
}, z.core.$strip>>;
|
|
62
62
|
icon: z.ZodObject<{
|
|
63
63
|
style: z.ZodEnum<{
|
|
64
|
+
caret: "caret";
|
|
64
65
|
"plus-minus": "plus-minus";
|
|
65
66
|
chevron: "chevron";
|
|
66
|
-
caret: "caret";
|
|
67
67
|
arrow: "arrow";
|
|
68
68
|
"circle-plus-minus": "circle-plus-minus";
|
|
69
69
|
}>;
|
|
@@ -62,14 +62,14 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
62
62
|
shadow: z.ZodEnum<{
|
|
63
63
|
medium: "medium";
|
|
64
64
|
none: "none";
|
|
65
|
-
low: "low";
|
|
66
65
|
high: "high";
|
|
66
|
+
low: "low";
|
|
67
67
|
}>;
|
|
68
68
|
textTransform: z.ZodEnum<{
|
|
69
69
|
none: "none";
|
|
70
|
-
uppercase: "uppercase";
|
|
71
|
-
lowercase: "lowercase";
|
|
72
70
|
capitalize: "capitalize";
|
|
71
|
+
lowercase: "lowercase";
|
|
72
|
+
uppercase: "uppercase";
|
|
73
73
|
}>;
|
|
74
74
|
fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
|
|
75
75
|
borderWidth: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
|
|
@@ -79,9 +79,9 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
79
79
|
}>>;
|
|
80
80
|
fontSize: z.ZodOptional<z.ZodString>;
|
|
81
81
|
letterSpacing: z.ZodOptional<z.ZodEnum<{
|
|
82
|
-
tight: "tight";
|
|
83
82
|
normal: "normal";
|
|
84
83
|
loose: "loose";
|
|
84
|
+
tight: "tight";
|
|
85
85
|
}>>;
|
|
86
86
|
italic: z.ZodOptional<z.ZodBoolean>;
|
|
87
87
|
paddingPreset: z.ZodOptional<z.ZodEnum<{
|
|
@@ -98,8 +98,8 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
98
98
|
hoverColor: z.ZodEnum<{
|
|
99
99
|
none: "none";
|
|
100
100
|
token: "token";
|
|
101
|
-
brighten: "brighten";
|
|
102
101
|
darken: "darken";
|
|
102
|
+
brighten: "brighten";
|
|
103
103
|
saturate: "saturate";
|
|
104
104
|
}>;
|
|
105
105
|
hoverColorToken: z.ZodOptional<z.ZodString>;
|
|
@@ -111,8 +111,8 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
111
111
|
gradientAngle: z.ZodOptional<z.ZodNumber>;
|
|
112
112
|
gradientSharpness: z.ZodOptional<z.ZodEnum<{
|
|
113
113
|
medium: "medium";
|
|
114
|
-
hard: "hard";
|
|
115
114
|
smooth: "smooth";
|
|
115
|
+
hard: "hard";
|
|
116
116
|
}>>;
|
|
117
117
|
}, z.core.$strip>;
|
|
118
118
|
variants: z.ZodArray<z.ZodObject<{
|
|
@@ -145,8 +145,8 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
145
145
|
elevation: z.ZodEnum<{
|
|
146
146
|
medium: "medium";
|
|
147
147
|
none: "none";
|
|
148
|
-
low: "low";
|
|
149
148
|
high: "high";
|
|
149
|
+
low: "low";
|
|
150
150
|
}>;
|
|
151
151
|
softness: z.ZodNullable<z.ZodEnum<{
|
|
152
152
|
soft: "soft";
|