@riverbankcms/sdk 0.74.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.
Files changed (113) hide show
  1. package/dist/{PreviewEditorSidebar-5XL7M3OM.mjs → PreviewEditorSidebar-U2IHCBYN.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-ZDFRDJID.mjs → PreviewEditorUI-ZGH2RQNP.mjs} +3 -3
  3. package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +8 -0
  4. package/dist/_dts/api/src/cache-tags.d.ts +22 -0
  5. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +24 -24
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -1
  9. package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
  10. package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
  11. package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
  12. package/dist/_dts/blocks/src/client/events.d.ts +4 -0
  13. package/dist/_dts/blocks/src/client/form.d.ts +2 -0
  14. package/dist/_dts/blocks/src/client/header.d.ts +1 -0
  15. package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
  16. package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
  17. package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
  18. package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
  19. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
  20. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
  22. package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
  23. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
  24. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
  25. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
  26. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
  27. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  28. package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
  29. package/dist/_dts/sdk/src/rendering/server.d.ts +3 -0
  30. package/dist/_dts/sdk/src/version.d.ts +1 -1
  31. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  32. package/dist/{chunk-YY7K3QD2.mjs → chunk-BGMNDF6T.mjs} +7 -7
  33. package/dist/{chunk-2MIWNFJM.mjs → chunk-GFE74WRD.mjs} +309 -84
  34. package/dist/{chunk-CEQBBLMJ.mjs → chunk-RWXQBRQZ.mjs} +1 -1
  35. package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
  36. package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
  37. package/dist/{chunk-CBD47MTM.mjs → chunk-ZSHFGFUG.mjs} +2 -2
  38. package/dist/cli/index.mjs +3395 -3753
  39. package/dist/client/{accordion-ZZVXWV3N.mjs → accordion-T2UD2ZTH.mjs} +1 -1
  40. package/dist/client/bookingForm-GUP75FKN.mjs +3022 -0
  41. package/dist/client/bookings.mjs +19 -10
  42. package/dist/client/{carousel-25WK2H7G.mjs → carousel-2NQA6V57.mjs} +3 -2
  43. package/dist/client/cart-5TFIAFDS.mjs +18 -0
  44. package/dist/client/checkout-TP4WAHZE.mjs +18 -0
  45. package/dist/client/chunk-2PHQZ666.mjs +383 -0
  46. package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
  47. package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
  48. package/dist/client/chunk-CY2ZTSE5.mjs +204 -0
  49. package/dist/client/chunk-F7LHOKEH.mjs +146 -0
  50. package/dist/client/{chunk-6VGXRE34.mjs → chunk-FU2QRZMX.mjs} +6 -6
  51. package/dist/client/chunk-I2MMZO53.mjs +6 -0
  52. package/dist/client/chunk-II7O4XN3.mjs +2206 -0
  53. package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
  54. package/dist/client/chunk-NWOUL6JY.mjs +1378 -0
  55. package/dist/client/chunk-OJPZEZU2.mjs +31 -0
  56. package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
  57. package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
  58. package/dist/client/chunk-VUAOE3AG.mjs +5592 -0
  59. package/dist/client/chunk-WJXXNDSE.mjs +245 -0
  60. package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
  61. package/dist/client/chunk-ZLMS67RR.mjs +106 -0
  62. package/dist/client/client.mjs +51626 -52074
  63. package/dist/client/courseRegistration-5DPU6PDY.mjs +1737 -0
  64. package/dist/client/{eventCalendar-X6GIPYFM.mjs → eventCalendar-F3GZGTEF.mjs} +13 -2
  65. package/dist/client/{eventCombined-EZUOPM3G.mjs → eventCombined-BQOB6QMY.mjs} +13 -2
  66. package/dist/client/eventDetails-PEM2EJWE.mjs +25 -0
  67. package/dist/client/{eventListing-HEFGAETC.mjs → eventListing-YMIQPVME.mjs} +13 -2
  68. package/dist/client/{eventRegistration-3LCP2V3P.mjs → eventRegistration-4I6ZNDUF.mjs} +13 -2
  69. package/dist/client/form-ZJVAYZ6G.mjs +300 -0
  70. package/dist/client/headerSection-TOT5MGTF.mjs +729 -0
  71. package/dist/client/hooks.mjs +49 -33
  72. package/dist/client/locationMap-J66NZREU.mjs +227 -0
  73. package/dist/client/newsletterForm-ET2XUMRO.mjs +208 -0
  74. package/dist/client/productDetail-C2XIH7C5.mjs +18 -0
  75. package/dist/client/productList-T2AZLFTP.mjs +18 -0
  76. package/dist/client/rendering/client.mjs +11763 -12445
  77. package/dist/client/rendering/islands.mjs +98 -21
  78. package/dist/client/rendering.mjs +46778 -47229
  79. package/dist/client/shop-UZ6IUZXD.mjs +20 -0
  80. package/dist/preview-next/before-render.mjs +37 -25
  81. package/dist/preview-next/client/runtime.mjs +5 -5
  82. package/dist/preview-next/middleware.mjs +37 -25
  83. package/dist/{sdk-runtime-OHNONZ5U.mjs → sdk-runtime-JCUQM63Y.mjs} +6 -6
  84. package/dist/server/components.mjs +409 -266
  85. package/dist/server/config-validation.mjs +49 -33
  86. package/dist/server/config.mjs +49 -33
  87. package/dist/server/data.mjs +49 -33
  88. package/dist/server/index.mjs +45 -33
  89. package/dist/server/next.mjs +405 -262
  90. package/dist/server/page-converter.mjs +12 -8
  91. package/dist/server/prebuild.mjs +1 -1
  92. package/dist/server/rendering/server.mjs +493 -265
  93. package/dist/server/rendering.mjs +411 -268
  94. package/dist/server/routing.mjs +49 -33
  95. package/dist/server/server.mjs +50 -34
  96. package/dist/server/theme-bridge.mjs +5 -0
  97. package/dist/styles/index.css +5 -0
  98. package/package.json +2 -1
  99. package/dist/SdkPreviewModeRuntime-CRYNDSPL.mjs +0 -8
  100. package/dist/client/bookingForm-4X77HKDS.mjs +0 -34
  101. package/dist/client/cart-JWD2VRFU.mjs +0 -11
  102. package/dist/client/checkout-V7KYGWL7.mjs +0 -11
  103. package/dist/client/chunk-5IYGMTUE.mjs +0 -18614
  104. package/dist/client/chunk-RKCFVIMS.mjs +0 -26
  105. package/dist/client/courseRegistration-O6ZPK4YT.mjs +0 -29
  106. package/dist/client/eventDetails-3WODIXET.mjs +0 -14
  107. package/dist/client/form-AKXQMY6Z.mjs +0 -85
  108. package/dist/client/headerSection-5KHCMU6B.mjs +0 -12
  109. package/dist/client/locationMap-7HIADW76.mjs +0 -14
  110. package/dist/client/newsletterForm-5N4YTMU3.mjs +0 -60
  111. package/dist/client/productDetail-IZUA7ZP3.mjs +0 -11
  112. package/dist/client/productList-KWIIJE6I.mjs +0 -11
  113. package/dist/client/shop-XZQFRQWZ.mjs +0 -13
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, canInspectSiteStyle, usePreviewThemeOverlay, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, createOptimisticActionRunner, syncStyleConfiguratorState, isPreviewingChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, previewPaletteVariant, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, markApplyFailed, markApplySaved, markApplySaving, canApplySiteStyle, buildSiteChromeLookModels, cycleSiteChromeLookId, cycleableSiteChromeOptions } from './chunk-CEQBBLMJ.mjs';
3
- import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, listBlockDescriptors, useSensor, PointerSensor, useSensors, deleteBlock, createEditorRemoveBlockCommand, asEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, transformSdkBlockToManifest, Card, cn, Collapsible, CollapsibleContent, listContentTypes, createBlock, createEditorReorderBlocksCommand, reorderBlocks, mutateBlockContent, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, Copy, Trash2, DialogFooter, DialogClose, CardContent, transformSdkBlockToDefinition, createEditorInsertBlockCommand, LoaderCircle, ChevronDown, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, Callout, CalloutTitle, unfinishedBlockCopy, CalloutDescription, recoveryConflictCopy, ManifestForm, asEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, unwrapResponse, useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, BackgroundGradientField, BackgroundColorField, X, omitRouteTitleFieldFromManifest, getRouteMetadataManifestForType, createManifestValidation, previewAssistantEnabled, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, isCtaIconName, Combobox, CTA_ICON_OPTIONS, getCtaIconComponent, useBackendWatch, useAsyncPickerOptions, shouldShowPickerSearch, normalizePickerSearchThreshold, Badge, resolvePickerSelectionLabel, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, CollapsibleTrigger, ContentFieldsForm, getCuratedSiteStyle, compileSiteThemeFromSelections, paletteOverridesSchema, findButtonPersonality, findPaletteVariant, findHeaderLook, findFooterLook, headerLookCatalog, footerLookCatalog, isObjectRecord, EMPTY_DOC, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, Pencil, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem, asSiteId, buildThemeRuntime, PaletteProvider, MediaEditorProvider, curatedSiteStyles, ChevronLeft, requireEntriesForCuratedChoices, buttonPersonalities, paletteVariants, resolveImageUrlWithContext, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, Separator, toRoutableLinkPayload, useMediaEditor, MediaPickerMini, MediaPickerDialog, Surface, ColorPicker, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-2MIWNFJM.mjs';
4
- import { usePreviewAuth, getDashboardUrl } from './chunk-7RX72SK2.mjs';
2
+ import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, canInspectSiteStyle, usePreviewThemeOverlay, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, createOptimisticActionRunner, syncStyleConfiguratorState, isPreviewingChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, previewPaletteVariant, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, markApplyFailed, markApplySaved, markApplySaving, canApplySiteStyle, buildSiteChromeLookModels, cycleSiteChromeLookId, cycleableSiteChromeOptions } from './chunk-RWXQBRQZ.mjs';
3
+ import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, listBlockDescriptors, useSensor, PointerSensor, useSensors, deleteBlock, createEditorRemoveBlockCommand, asEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, transformSdkBlockToManifest, Card, cn, Collapsible, CollapsibleContent, listContentTypes, createBlock, createEditorReorderBlocksCommand, reorderBlocks, mutateBlockContent, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, Copy, Trash2, DialogFooter, DialogClose, CardContent, transformSdkBlockToDefinition, createEditorInsertBlockCommand, LoaderCircle, ChevronDown, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, Callout, CalloutTitle, unfinishedBlockCopy, CalloutDescription, recoveryConflictCopy, ManifestForm, asEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, unwrapResponse, useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, BackgroundGradientField, BackgroundColorField, X, omitRouteTitleFieldFromManifest, getRouteMetadataManifestForType, createManifestValidation, previewAssistantEnabled, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, isCtaIconName, Combobox, CTA_ICON_OPTIONS, getCtaIconComponent, useBackendWatch, useAsyncPickerOptions, shouldShowPickerSearch, normalizePickerSearchThreshold, Badge, resolvePickerSelectionLabel, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, CollapsibleTrigger, ContentFieldsForm, getCuratedSiteStyle, compileSiteThemeFromSelections, paletteOverridesSchema, findButtonPersonality, findPaletteVariant, findHeaderLook, findFooterLook, headerLookCatalog, footerLookCatalog, isObjectRecord, EMPTY_DOC, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, Pencil, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem, asSiteId, buildThemeRuntime, PaletteProvider, MediaEditorProvider, curatedSiteStyles, ChevronLeft, requireEntriesForCuratedChoices, buttonPersonalities, paletteVariants, resolveImageUrlWithContext, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, Separator, toRoutableLinkPayload, useMediaEditor, MediaPickerMini, MediaPickerDialog, Surface, ColorPicker, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-GFE74WRD.mjs';
4
+ import { usePreviewAuth, getDashboardUrl } from './chunk-VX7B5VAC.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import React2, { createContext, memo, useMemo, useState, useRef, useEffect, forwardRef, useCallback, useImperativeHandle, useContext, useSyncExternalStore, useLayoutEffect, useTransition, useId } from 'react';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab, PREVIEW_THEME_COOKIE_NAME } from './chunk-CBD47MTM.mjs';
3
- import { useEntryEditorController, useEditorUiStore, useMultiAutosave, EditorChrome, classifyHistoryShortcut, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, useEditorUiStoreInstance, Pencil, previewAssistantEnabled, Sparkles } from './chunk-2MIWNFJM.mjs';
4
- import { usePreviewAuth, getDashboardBaseUrl } from './chunk-7RX72SK2.mjs';
2
+ import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab, PREVIEW_THEME_COOKIE_NAME } from './chunk-ZSHFGFUG.mjs';
3
+ import { useEntryEditorController, useEditorUiStore, useMultiAutosave, EditorChrome, classifyHistoryShortcut, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, useEditorUiStoreInstance, Pencil, previewAssistantEnabled, Sparkles } from './chunk-GFE74WRD.mjs';
4
+ import { usePreviewAuth, getDashboardBaseUrl } from './chunk-VX7B5VAC.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useState, useMemo, useEffect, useTransition, useCallback } from 'react';
7
7
  import { createPortal } from 'react-dom';
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ export { SdkPreviewModeRuntime } from './chunk-BGMNDF6T.mjs';
3
+ import './chunk-Z7JLNTJR.mjs';
4
+ import './chunk-RWXQBRQZ.mjs';
5
+ import './chunk-ZSHFGFUG.mjs';
6
+ import './chunk-GFE74WRD.mjs';
7
+ import './chunk-VX7B5VAC.mjs';
8
+ import './chunk-XGB3TDIC.mjs';
@@ -34,6 +34,17 @@ export declare const TAG_TEMPLATES: {
34
34
  readonly siteForms: "riverbank:site:{siteId}:forms";
35
35
  readonly formById: "riverbank:form:{formId}";
36
36
  readonly formSubmissionsBySlug: "riverbank:form-submissions:{slug}";
37
+ readonly publicEvents: "riverbank:site:{siteId}:public-events";
38
+ readonly publicEventFilters: "riverbank:site:{siteId}:public-event-filters";
39
+ readonly publicCourses: "riverbank:site:{siteId}:public-courses";
40
+ readonly publicTeamMembers: "riverbank:site:{siteId}:public-team-members";
41
+ readonly publicProducts: "riverbank:site:{siteId}:public-products";
42
+ readonly publicPasses: "riverbank:site:{siteId}:public-passes";
43
+ readonly publicMemberships: "riverbank:site:{siteId}:public-memberships";
44
+ readonly publicGifting: "riverbank:site:{siteId}:public-gifting";
45
+ readonly publicShop: "riverbank:site:{siteId}:public-shop";
46
+ readonly publicCheckout: "riverbank:site:{siteId}:public-checkout";
47
+ readonly publicBookingServices: "riverbank:site:{siteId}:public-booking-services";
37
48
  readonly siteNavigation: "riverbank:site:{siteId}:navigation";
38
49
  readonly navigationMenuById: "riverbank:navigation-menu:{menuId}";
39
50
  readonly navigationItemById: "riverbank:navigation-item:{itemId}";
@@ -64,6 +75,17 @@ export declare const tags: {
64
75
  readonly form: (formId: string) => string;
65
76
  readonly entry: (entryId: string) => string;
66
77
  readonly formSubmissionsBySlug: (slug: string) => string;
78
+ readonly publicEvents: (siteId: string) => string;
79
+ readonly publicEventFilters: (siteId: string) => string;
80
+ readonly publicCourses: (siteId: string) => string;
81
+ readonly publicTeamMembers: (siteId: string) => string;
82
+ readonly publicProducts: (siteId: string) => string;
83
+ readonly publicPasses: (siteId: string) => string;
84
+ readonly publicMemberships: (siteId: string) => string;
85
+ readonly publicGifting: (siteId: string) => string;
86
+ readonly publicShop: (siteId: string) => string;
87
+ readonly publicCheckout: (siteId: string) => string;
88
+ readonly publicBookingServices: (siteId: string) => string;
67
89
  readonly siteNavigation: (siteId: string) => string;
68
90
  readonly navigationMenu: (menuId: string) => string;
69
91
  readonly navigationItem: (itemId: string) => string;
@@ -473,6 +473,7 @@ export type ListPublishedEntriesResponse<TContent = Record<string, unknown>> = {
473
473
  entries: ContentEntryListItem<TContent>[];
474
474
  meta?: ListPublishedEntriesMeta;
475
475
  contentType?: PublicContentTypeMeta | null;
476
+ mediaAssets?: SdkRuntimeMediaAsset[];
476
477
  };
477
478
  /**
478
479
  * Block content as returned by SDK page/entry loaders.
@@ -3195,7 +3195,7 @@ export declare const API_ENDPOINTS: {
3195
3195
  readonly path: "/public/sites/{siteId}/events";
3196
3196
  readonly method: "GET";
3197
3197
  readonly revalidate: 60;
3198
- readonly tags: ["public-events-{siteId}"];
3198
+ readonly tags: ["riverbank:site:{siteId}:public-events"];
3199
3199
  readonly auth: "public";
3200
3200
  readonly responseKind: "json";
3201
3201
  };
@@ -3203,7 +3203,7 @@ export declare const API_ENDPOINTS: {
3203
3203
  readonly path: "/public/sites/{siteId}/events/filters";
3204
3204
  readonly method: "GET";
3205
3205
  readonly revalidate: 60;
3206
- readonly tags: ["public-event-filters-{siteId}"];
3206
+ readonly tags: ["riverbank:site:{siteId}:public-event-filters"];
3207
3207
  readonly auth: "public";
3208
3208
  readonly responseKind: "json";
3209
3209
  };
@@ -3211,7 +3211,7 @@ export declare const API_ENDPOINTS: {
3211
3211
  readonly path: "/public/sites/{siteId}/courses";
3212
3212
  readonly method: "GET";
3213
3213
  readonly revalidate: 60;
3214
- readonly tags: ["public-courses-{siteId}"];
3214
+ readonly tags: ["riverbank:site:{siteId}:public-courses"];
3215
3215
  readonly auth: "public";
3216
3216
  readonly responseKind: "json";
3217
3217
  };
@@ -3219,7 +3219,7 @@ export declare const API_ENDPOINTS: {
3219
3219
  readonly path: "/public/sites/{siteId}/team-members";
3220
3220
  readonly method: "GET";
3221
3221
  readonly revalidate: 60;
3222
- readonly tags: ["public-team-members-{siteId}"];
3222
+ readonly tags: ["riverbank:site:{siteId}:public-team-members"];
3223
3223
  readonly errors: readonly [];
3224
3224
  readonly auth: "public";
3225
3225
  readonly responseKind: "json";
@@ -3228,28 +3228,28 @@ export declare const API_ENDPOINTS: {
3228
3228
  readonly path: "/public/sites/{siteId}/courses/{courseId}";
3229
3229
  readonly method: "GET";
3230
3230
  readonly revalidate: 60;
3231
- readonly tags: ["public-courses-{siteId}"];
3231
+ readonly tags: ["riverbank:site:{siteId}:public-courses"];
3232
3232
  readonly auth: "public";
3233
3233
  readonly responseKind: "json";
3234
3234
  };
3235
3235
  readonly enrollInCourse: {
3236
3236
  readonly path: "/public/sites/{siteId}/courses/enroll";
3237
3237
  readonly method: "POST";
3238
- readonly tags: ["public-courses-{siteId}", "course-enrollment"];
3238
+ readonly tags: ["riverbank:site:{siteId}:public-courses", "course-enrollment"];
3239
3239
  readonly auth: "public";
3240
3240
  readonly responseKind: "json";
3241
3241
  };
3242
3242
  readonly checkCourseEligibility: {
3243
3243
  readonly path: "/public/sites/{siteId}/courses/check-eligibility";
3244
3244
  readonly method: "POST";
3245
- readonly tags: ["public-courses-{siteId}", "course-enrollment"];
3245
+ readonly tags: ["riverbank:site:{siteId}:public-courses", "course-enrollment"];
3246
3246
  readonly auth: "public";
3247
3247
  readonly responseKind: "json";
3248
3248
  };
3249
3249
  readonly resolveWaitlistClaim: {
3250
3250
  readonly path: "/public/sites/{siteId}/waitlists/claim/resolve";
3251
3251
  readonly method: "POST";
3252
- readonly tags: ["public-courses-{siteId}", "public-events-{siteId}", "waitlist-claims"];
3252
+ readonly tags: ["riverbank:site:{siteId}:public-courses", "riverbank:site:{siteId}:public-events", "waitlist-claims"];
3253
3253
  readonly auth: "public";
3254
3254
  readonly responseKind: "json";
3255
3255
  readonly errors: readonly ["auth:unauthenticated", "validation:invalid_input", "resource:gone", "server:internal_error"];
@@ -3257,7 +3257,7 @@ export declare const API_ENDPOINTS: {
3257
3257
  readonly createCourseCheckout: {
3258
3258
  readonly path: "/public/sites/{siteId}/courses/checkout";
3259
3259
  readonly method: "POST";
3260
- readonly tags: ["public-courses-{siteId}", "course-checkout"];
3260
+ readonly tags: ["riverbank:site:{siteId}:public-courses", "course-checkout"];
3261
3261
  readonly auth: "public";
3262
3262
  readonly responseKind: "json";
3263
3263
  readonly errors: readonly ["auth:unauthenticated", "validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
@@ -3265,7 +3265,7 @@ export declare const API_ENDPOINTS: {
3265
3265
  readonly getCourseRegistrationStatus: {
3266
3266
  readonly path: "/public/sites/{siteId}/courses/registration-status";
3267
3267
  readonly method: "GET";
3268
- readonly tags: ["public-courses-{siteId}", "course-checkout"];
3268
+ readonly tags: ["riverbank:site:{siteId}:public-courses", "course-checkout"];
3269
3269
  readonly auth: "public";
3270
3270
  readonly responseKind: "json";
3271
3271
  };
@@ -3273,7 +3273,7 @@ export declare const API_ENDPOINTS: {
3273
3273
  readonly path: "/public/sites/{siteId}/bookings/products/passes";
3274
3274
  readonly method: "GET";
3275
3275
  readonly revalidate: 300;
3276
- readonly tags: ["public-passes-{siteId}"];
3276
+ readonly tags: ["riverbank:site:{siteId}:public-passes"];
3277
3277
  readonly auth: "public";
3278
3278
  readonly responseKind: "json";
3279
3279
  };
@@ -3281,7 +3281,7 @@ export declare const API_ENDPOINTS: {
3281
3281
  readonly path: "/public/sites/{siteId}/bookings/products/memberships";
3282
3282
  readonly method: "GET";
3283
3283
  readonly revalidate: 300;
3284
- readonly tags: ["public-memberships-{siteId}"];
3284
+ readonly tags: ["riverbank:site:{siteId}:public-memberships"];
3285
3285
  readonly auth: "public";
3286
3286
  readonly responseKind: "json";
3287
3287
  };
@@ -3289,7 +3289,7 @@ export declare const API_ENDPOINTS: {
3289
3289
  readonly path: "/public/sites/{siteId}/products";
3290
3290
  readonly method: "GET";
3291
3291
  readonly revalidate: 300;
3292
- readonly tags: ["public-products-{siteId}"];
3292
+ readonly tags: ["riverbank:site:{siteId}:public-products"];
3293
3293
  readonly errors: readonly [];
3294
3294
  readonly auth: "public";
3295
3295
  readonly responseKind: "json";
@@ -3298,7 +3298,7 @@ export declare const API_ENDPOINTS: {
3298
3298
  readonly path: "/public/sites/{siteId}/gifting/offers";
3299
3299
  readonly method: "GET";
3300
3300
  readonly revalidate: 300;
3301
- readonly tags: ["public-gifting-{siteId}"];
3301
+ readonly tags: ["riverbank:site:{siteId}:public-gifting"];
3302
3302
  readonly errors: readonly [];
3303
3303
  readonly auth: "public";
3304
3304
  readonly responseKind: "json";
@@ -3306,7 +3306,7 @@ export declare const API_ENDPOINTS: {
3306
3306
  readonly createPublicGiftingCheckout: {
3307
3307
  readonly path: "/public/sites/{siteId}/gifting/checkout";
3308
3308
  readonly method: "POST";
3309
- readonly tags: ["public-gifting-{siteId}"];
3309
+ readonly tags: ["riverbank:site:{siteId}:public-gifting"];
3310
3310
  readonly errors: readonly [];
3311
3311
  readonly auth: "public";
3312
3312
  readonly responseKind: "json";
@@ -3314,7 +3314,7 @@ export declare const API_ENDPOINTS: {
3314
3314
  readonly claimGiftCardPublic: {
3315
3315
  readonly path: "/public/sites/{siteId}/gifting/claim";
3316
3316
  readonly method: "POST";
3317
- readonly tags: ["public-gifting-{siteId}"];
3317
+ readonly tags: ["riverbank:site:{siteId}:public-gifting"];
3318
3318
  readonly errors: readonly [];
3319
3319
  readonly auth: "public";
3320
3320
  readonly responseKind: "json";
@@ -3322,14 +3322,14 @@ export declare const API_ENDPOINTS: {
3322
3322
  readonly createShopCheckout: {
3323
3323
  readonly path: "/public/sites/{siteId}/bookings/checkout";
3324
3324
  readonly method: "POST";
3325
- readonly tags: ["public-shop-{siteId}", "shop-checkout"];
3325
+ readonly tags: ["riverbank:site:{siteId}:public-shop", "shop-checkout"];
3326
3326
  readonly auth: "public";
3327
3327
  readonly responseKind: "json";
3328
3328
  };
3329
3329
  readonly createUnifiedCheckout: {
3330
3330
  readonly path: "/public/sites/{siteId}/checkout";
3331
3331
  readonly method: "POST";
3332
- readonly tags: ["public-checkout-{siteId}"];
3332
+ readonly tags: ["riverbank:site:{siteId}:public-checkout"];
3333
3333
  readonly auth: "public";
3334
3334
  readonly responseKind: "json";
3335
3335
  readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
@@ -3360,42 +3360,42 @@ export declare const API_ENDPOINTS: {
3360
3360
  readonly path: "/public/sites/{siteId}/events/occurrences/resolve";
3361
3361
  readonly method: "GET";
3362
3362
  readonly revalidate: 60;
3363
- readonly tags: ["public-events-{siteId}", "event-occurrence"];
3363
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-occurrence"];
3364
3364
  readonly auth: "public";
3365
3365
  readonly responseKind: "json";
3366
3366
  };
3367
3367
  readonly registerForEvent: {
3368
3368
  readonly path: "/public/sites/{siteId}/events/register";
3369
3369
  readonly method: "POST";
3370
- readonly tags: ["public-events-{siteId}", "event-registration"];
3370
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-registration"];
3371
3371
  readonly auth: "public";
3372
3372
  readonly responseKind: "json";
3373
3373
  };
3374
3374
  readonly createPublicEventCheckout: {
3375
3375
  readonly path: "/public/sites/{siteId}/events/checkout";
3376
3376
  readonly method: "POST";
3377
- readonly tags: ["public-events-{siteId}", "event-checkout"];
3377
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-checkout"];
3378
3378
  readonly auth: "public";
3379
3379
  readonly responseKind: "json";
3380
3380
  };
3381
3381
  readonly checkPublicEventEligibility: {
3382
3382
  readonly path: "/public/sites/{siteId}/events/check-eligibility";
3383
3383
  readonly method: "POST";
3384
- readonly tags: ["public-events-{siteId}", "event-eligibility"];
3384
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-eligibility"];
3385
3385
  readonly auth: "public";
3386
3386
  readonly responseKind: "json";
3387
3387
  };
3388
3388
  readonly getPublicEventRegistrationStatus: {
3389
3389
  readonly path: "/public/sites/{siteId}/events/registration-status";
3390
3390
  readonly method: "GET";
3391
- readonly tags: ["public-events-{siteId}", "event-registration"];
3391
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-registration"];
3392
3392
  readonly auth: "public";
3393
3393
  readonly responseKind: "json";
3394
3394
  };
3395
3395
  readonly getPublicEventTicketQrSvg: {
3396
3396
  readonly path: "/public/sites/{siteId}/events/tickets/qr";
3397
3397
  readonly method: "GET";
3398
- readonly tags: ["public-events-{siteId}", "event-ticket-qr"];
3398
+ readonly tags: ["riverbank:site:{siteId}:public-events", "event-ticket-qr"];
3399
3399
  readonly auth: "public";
3400
3400
  readonly responseKind: "text";
3401
3401
  };
@@ -25,10 +25,11 @@ export type PublicEventLoaderParams = {
25
25
  seriesId?: string;
26
26
  includeOccurrenceId?: string;
27
27
  detailLevel?: string;
28
+ readProfile?: string;
28
29
  };
29
30
  export type PublicEventScheduleScope = "any" | "recurring" | "oneOff";
30
31
  export type PublicEventSurfaceScope = "all" | "regularClassSchedule" | "specialDatedEvents" | "custom";
31
- export type PublicEventDetailsLoaderParams = Omit<PublicEventLoaderParams, "detailLevel">;
32
+ export type PublicEventDetailsLoaderParams = Omit<PublicEventLoaderParams, "detailLevel" | "readProfile">;
32
33
  export type PublicExperienceAPIEndpoints = {
33
34
  getPublicBookingCalendarFeedIcs: APIEndpoint<never, {
34
35
  siteId: string;
@@ -1,4 +1,4 @@
1
- import { type BlockManifest } from '../../blocks/src/index';
1
+ import { type BlockManifest, type FieldValidationDescriptor } from '../../blocks/src/index';
2
2
  import type { EditorSyncState } from '../../core/src/index';
3
3
  import type { z } from 'zod';
4
4
  type ManifestValidationIssue = z.core.$ZodIssue;
@@ -6,6 +6,8 @@ export type BlockDraftValidationIssue = Readonly<{
6
6
  code: ManifestValidationIssue['code'];
7
7
  path: (string | number)[];
8
8
  fieldPath: string;
9
+ fieldDescriptor: FieldValidationDescriptor | null;
10
+ isFieldVisibleInSidebar: boolean;
9
11
  message: string;
10
12
  }>;
11
13
  export type BlockManifestValidationMode = 'draft' | 'strict';
@@ -66,5 +68,6 @@ export declare function shouldShowBlockFieldValidation(input: {
66
68
  export declare function validateBlockManifestValues(manifest: BlockManifest, values: Record<string, unknown>): BlockDraftValidationIssue[];
67
69
  export declare function validateBlockManifestIssues(manifest: BlockManifest, values: Record<string, unknown>, mode: BlockManifestValidationMode): ManifestValidationIssue[];
68
70
  export declare function validateBlockManifest(manifest: BlockManifest, values: Record<string, unknown>, mode: BlockManifestValidationMode): BlockDraftValidationIssue[];
71
+ export declare function isValidationFieldVisibleInSidebar(descriptor: FieldValidationDescriptor | null): boolean;
69
72
  export declare function normalizeManifestIssueMessage(issue: ManifestValidationIssue): string;
70
73
  export {};
@@ -0,0 +1,2 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { BookingFormClient, type BookingFormClientProps, } from '../system/runtime/nodes/booking-form.client';
@@ -0,0 +1 @@
1
+ export { CarouselNodeClient, normalizeCarouselProps, type CarouselNodeClientProps, type NormalizedCarouselProps, type ResponsiveSlidesToShow, } from '../system/runtime/nodes/carousel.client';
@@ -0,0 +1,2 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { CourseRegistrationIslandClient, type CourseRegistrationIslandClientProps, } from '../system/runtime/nodes/course-registration.client';
@@ -0,0 +1,4 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { EventRegistrationIslandClient, type EventRegistrationIslandClientProps, } from '../system/runtime/nodes/event-registration.client';
3
+ export { EventDetailsIslandClient, type EventDetailsIslandClientProps, } from '../system/runtime/nodes/event-details.client';
4
+ export { EventCalendarClient, type EventCalendarClientProps, EventCombinedIslandClient, type EventCombinedClientProps, type EventCombinedIslandClientProps, EventListingClient, type EventListingClientProps, } from '../system/runtime/nodes/events';
@@ -0,0 +1,2 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { FormNodeClient, type FormNodeClientProps, } from '../system/runtime/nodes/form.client';
@@ -0,0 +1 @@
1
+ export { enhanceHeaderSection } from '../system/runtime/header/enhanceHeaderSection';
@@ -0,0 +1 @@
1
+ export { LocationMapIslandClient, type LocationMapIslandClientProps, } from '../system/runtime/nodes/location-map.client';
@@ -0,0 +1,2 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { NewsletterFormClient, type NewsletterFormClientProps, } from '../system/runtime/nodes/newsletter-form.client';
@@ -0,0 +1,6 @@
1
+ export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
2
+ export { CartClient, type CartClientProps } from '../system/runtime/nodes/cart.client';
3
+ export { CheckoutClient, type CheckoutClientProps, } from '../system/runtime/nodes/checkout.client';
4
+ export { ProductDetailClient, type ProductDetailClientProps, } from '../system/runtime/nodes/product-detail.client';
5
+ export { ProductListClient, type ProductListClientProps, } from '../system/runtime/nodes/product-list.client';
6
+ export { ShopClient, type ShopClientProps } from '../system/runtime/nodes/shop.client';
@@ -3,6 +3,7 @@
3
3
  * Supports YouTube, Vimeo, and Instagram with an extensible architecture for future providers.
4
4
  */
5
5
  export type VideoProvider = 'youtube' | 'vimeo' | 'instagram';
6
+ export type VideoEmbedLoadingStrategy = 'native-lazy' | 'defer-until-near-viewport';
6
7
  export type InstagramMediaKind = 'p' | 'reel' | 'tv';
7
8
  export interface VideoInfo {
8
9
  provider: VideoProvider;
@@ -48,6 +49,7 @@ export declare function getEmbedUrl(info: VideoInfo): string;
48
49
  * Consider using hqdefault.jpg as a more reliable fallback.
49
50
  */
50
51
  export declare function getThumbnailUrl(info: VideoInfo): string;
52
+ export declare function getVideoEmbedLoadingStrategy(provider: VideoProvider): VideoEmbedLoadingStrategy;
51
53
  /**
52
54
  * Parse URL and get complete embed information.
53
55
  * Convenience function that combines parseVideoUrl with embed/thumbnail URLs.
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { linkSchema, customLinkSchema, entryLinkSchema, externalLinkSchema, internalLinkSchema, internalResolvedLinkSchema, internalRouteOnlyLinkSchema, pageLinkSchema } from "../../types/link";
3
- import { type FieldDefinition } from "../schema";
3
+ import { type FieldDefinition, type VisibilityLevel } from "../schema";
4
4
  export { linkSchema, customLinkSchema, entryLinkSchema, externalLinkSchema, internalLinkSchema, internalResolvedLinkSchema, internalRouteOnlyLinkSchema, pageLinkSchema, };
5
5
  export type FieldPath = readonly (string | number)[];
6
6
  export type FieldValidationMode = "strict" | "draft";
@@ -130,8 +130,25 @@ type PlanBase<K extends string, ValueKind extends string, Constraints extends Fi
130
130
  fieldType: FieldDefinition["type"];
131
131
  path: FieldPath;
132
132
  required: boolean;
133
+ visibility: FieldVisibility;
133
134
  constraints: readonly Constraints[];
134
135
  }>;
136
+ export type FieldVisibility = Readonly<{
137
+ kind: "visible";
138
+ } | {
139
+ kind: "hidden";
140
+ } | {
141
+ kind: "roleRestricted";
142
+ roles: readonly VisibilityLevel[];
143
+ }>;
144
+ export type FieldValidationDescriptor = Readonly<{
145
+ path: FieldPath;
146
+ fieldPath: string;
147
+ fieldId: string;
148
+ label: string;
149
+ fieldType: FieldDefinition["type"];
150
+ visibility: FieldVisibility;
151
+ }>;
135
152
  export type StringFieldValidationPlan = PlanBase<"string", "string", StringConstraint> & Readonly<{
136
153
  fieldType: "text" | "slug" | "url" | "reference" | "date" | "time" | "datetime";
137
154
  }>;
@@ -176,10 +193,13 @@ export declare function toZodIssuePath(path: FieldPath): (string | number)[];
176
193
  export declare function parseFieldPathKey(key: string): FieldPath;
177
194
  export declare function fieldIssueToMessage(issue: FieldValidationIssue): string;
178
195
  export declare function deriveFieldValidationPlan(field: FieldDefinition, path?: FieldPath): FieldValidationPlan;
196
+ export declare function deriveFieldValidationPlans(fields: readonly FieldDefinition[], parentPath?: FieldPath): FieldValidationPlan[];
179
197
  export declare function fieldPlanToNativeInputProps(plan: FieldValidationPlan): NativeInputValidationProps;
180
198
  export declare function normalizeFieldInput(plan: FieldValidationPlan, value: unknown, options?: FieldValidationOptions): unknown;
199
+ export declare function normalizeStoredContentValues(plans: readonly FieldValidationPlan[], content: unknown, options?: FieldValidationOptions): Record<string, unknown>;
181
200
  export declare function validateFieldValue(plan: FieldValidationPlan, value: unknown, options?: FieldValidationOptions): FieldValidationIssue[];
182
201
  export declare function fieldPlanToZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
202
+ export declare function resolveFieldValidationDescriptor(plans: readonly FieldValidationPlan[], path: FieldPath): FieldValidationDescriptor | null;
183
203
  export declare function validateManifestValues(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): FieldValidationIssue[];
184
204
  export declare function isEmptyValue(value: unknown): boolean;
185
205
  export declare function isEmptyRichTextDoc(value: unknown): boolean;
@@ -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
  }>;
@@ -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
- isSubmitting: boolean;
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';
@@ -6,6 +6,7 @@ type HeaderSectionNodeProps = React.PropsWithChildren<{
6
6
  blockContent?: unknown;
7
7
  fragmentRegistry?: unknown;
8
8
  pathBase?: string;
9
+ "data-preview-site-chrome-surface"?: string;
9
10
  [key: string]: unknown;
10
11
  }>;
11
12
  /**
@@ -2,6 +2,7 @@ import React from "react";
2
2
  type HeaderSectionNodeProps = React.PropsWithChildren<{
3
3
  blockId?: string | null;
4
4
  className?: string;
5
+ "data-preview-site-chrome-surface"?: string;
5
6
  [key: string]: unknown;
6
7
  }>;
7
8
  /**
@@ -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
- export declare function SiteChromeEditableSurface({ surface, children, }: {
3
+ type SiteChromeEditableSurfaceProps = Readonly<{
4
4
  surface: SiteChromeEditableSurfaceKind;
5
5
  children: ReactNode;
6
- }): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
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;
@@ -0,0 +1,2 @@
1
+ export declare function enhanceDeferredVideoEmbeds(root?: ParentNode): void;
2
+ export declare function resetDeferredVideoEmbedEnhancementForTests(): void;
@@ -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';
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.74.0";
11
+ export declare const SDK_VERSION = "0.75.0";