@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.
Files changed (146) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-44T64SAR.mjs → PreviewEditorSidebar-U2IHCBYN.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-4WKHZTXW.mjs → PreviewEditorUI-ZGH2RQNP.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
  6. package/dist/_dts/api/src/cache-tags.d.ts +22 -0
  7. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  8. package/dist/_dts/api/src/endpoints.d.ts +24 -24
  9. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
  10. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -1
  11. package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
  12. package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
  13. package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
  14. package/dist/_dts/blocks/src/client/events.d.ts +4 -0
  15. package/dist/_dts/blocks/src/client/form.d.ts +2 -0
  16. package/dist/_dts/blocks/src/client/header.d.ts +1 -0
  17. package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
  18. package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
  19. package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
  20. package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
  21. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
  22. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +6 -6
  23. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +15 -1
  24. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +11 -0
  25. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +13 -0
  27. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
  28. package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
  29. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +6 -0
  32. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
  33. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
  34. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  35. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  36. package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
  37. package/dist/_dts/sdk/src/rendering/islands/enhancers/accordion.d.ts +1 -0
  38. package/dist/_dts/sdk/src/rendering/islands/enhancers/bookingForm.d.ts +1 -0
  39. package/dist/_dts/sdk/src/rendering/islands/enhancers/carousel.d.ts +1 -0
  40. package/dist/_dts/sdk/src/rendering/islands/enhancers/cart.d.ts +1 -0
  41. package/dist/_dts/sdk/src/rendering/islands/enhancers/checkout.d.ts +1 -0
  42. package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +1 -0
  43. package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCalendar.d.ts +1 -0
  44. package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCombined.d.ts +1 -0
  45. package/dist/_dts/sdk/src/rendering/islands/enhancers/eventDetails.d.ts +1 -0
  46. package/dist/_dts/sdk/src/rendering/islands/enhancers/eventListing.d.ts +1 -0
  47. package/dist/_dts/sdk/src/rendering/islands/enhancers/eventRegistration.d.ts +1 -0
  48. package/dist/_dts/sdk/src/rendering/islands/enhancers/form.d.ts +1 -0
  49. package/dist/_dts/sdk/src/rendering/islands/enhancers/headerSection.d.ts +1 -0
  50. package/dist/_dts/sdk/src/rendering/islands/enhancers/locationMap.d.ts +1 -0
  51. package/dist/_dts/sdk/src/rendering/islands/enhancers/newsletterForm.d.ts +1 -0
  52. package/dist/_dts/sdk/src/rendering/islands/enhancers/productDetail.d.ts +1 -0
  53. package/dist/_dts/sdk/src/rendering/islands/enhancers/productList.d.ts +1 -0
  54. package/dist/_dts/sdk/src/rendering/islands/enhancers/shop.d.ts +1 -0
  55. package/dist/_dts/sdk/src/rendering/islands/hydrateBlocksIslands.d.ts +2 -2
  56. package/dist/_dts/sdk/src/rendering/islands/propsDecoder.d.ts +7 -0
  57. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -0
  58. package/dist/_dts/sdk/src/rendering/server.d.ts +3 -0
  59. package/dist/_dts/sdk/src/version.d.ts +1 -1
  60. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  61. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
  62. package/dist/_dts/theme-core/src/buttons/types.d.ts +20 -20
  63. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  64. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  65. package/dist/_dts/theme-core/src/header/navDropdownSizing.d.ts +7 -0
  66. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  67. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -156
  69. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  70. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +4 -4
  71. package/dist/_dts/theme-core/src/schema.d.ts +178 -178
  72. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  73. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +8 -8
  74. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +5 -5
  75. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  76. package/dist/{chunk-G4NLITC2.mjs → chunk-BGMNDF6T.mjs} +7 -7
  77. package/dist/{chunk-3YNCQG5N.mjs → chunk-GFE74WRD.mjs} +457 -98
  78. package/dist/{chunk-HV745JYE.mjs → chunk-RWXQBRQZ.mjs} +1 -1
  79. package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
  80. package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
  81. package/dist/{chunk-KWQPAJYS.mjs → chunk-ZSHFGFUG.mjs} +2 -2
  82. package/dist/cli/index.mjs +3498 -3826
  83. package/dist/client/accordion-T2UD2ZTH.mjs +120 -0
  84. package/dist/client/altcha-LIGLPZS5.mjs +2755 -0
  85. package/dist/client/bookingForm-GUP75FKN.mjs +3022 -0
  86. package/dist/client/bookings.mjs +32 -10
  87. package/dist/client/carousel-2NQA6V57.mjs +47 -0
  88. package/dist/client/cart-5TFIAFDS.mjs +18 -0
  89. package/dist/client/checkout-TP4WAHZE.mjs +18 -0
  90. package/dist/client/chunk-2PHQZ666.mjs +383 -0
  91. package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
  92. package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
  93. package/dist/client/chunk-CY2ZTSE5.mjs +204 -0
  94. package/dist/client/chunk-F7LHOKEH.mjs +146 -0
  95. package/dist/client/chunk-FU2QRZMX.mjs +7617 -0
  96. package/dist/client/chunk-I2MMZO53.mjs +6 -0
  97. package/dist/client/chunk-II7O4XN3.mjs +2206 -0
  98. package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
  99. package/dist/client/chunk-N7PBWBWQ.mjs +26 -0
  100. package/dist/client/chunk-NWOUL6JY.mjs +1378 -0
  101. package/dist/client/chunk-OJPZEZU2.mjs +31 -0
  102. package/dist/client/chunk-PMAIXMAB.mjs +1960 -0
  103. package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
  104. package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
  105. package/dist/client/chunk-VUAOE3AG.mjs +5592 -0
  106. package/dist/client/chunk-WJXXNDSE.mjs +245 -0
  107. package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
  108. package/dist/client/chunk-ZLMS67RR.mjs +106 -0
  109. package/dist/client/client.mjs +51865 -52071
  110. package/dist/client/courseRegistration-5DPU6PDY.mjs +1737 -0
  111. package/dist/client/eventCalendar-F3GZGTEF.mjs +40 -0
  112. package/dist/client/eventCombined-BQOB6QMY.mjs +37 -0
  113. package/dist/client/eventDetails-PEM2EJWE.mjs +25 -0
  114. package/dist/client/eventListing-YMIQPVME.mjs +40 -0
  115. package/dist/client/eventRegistration-4I6ZNDUF.mjs +40 -0
  116. package/dist/client/form-ZJVAYZ6G.mjs +300 -0
  117. package/dist/client/headerSection-TOT5MGTF.mjs +729 -0
  118. package/dist/client/hooks.mjs +91 -42
  119. package/dist/client/locationMap-J66NZREU.mjs +227 -0
  120. package/dist/client/newsletterForm-ET2XUMRO.mjs +208 -0
  121. package/dist/client/productDetail-C2XIH7C5.mjs +18 -0
  122. package/dist/client/productList-T2AZLFTP.mjs +18 -0
  123. package/dist/client/rendering/client.mjs +12796 -18295
  124. package/dist/client/rendering/islands.mjs +108 -44022
  125. package/dist/client/rendering.mjs +45141 -45346
  126. package/dist/client/shop-UZ6IUZXD.mjs +20 -0
  127. package/dist/preview-next/before-render.mjs +37 -25
  128. package/dist/preview-next/client/runtime.mjs +5 -5
  129. package/dist/preview-next/middleware.mjs +37 -25
  130. package/dist/{sdk-runtime-NGDWSWOS.mjs → sdk-runtime-JCUQM63Y.mjs} +6 -6
  131. package/dist/server/components.mjs +472 -276
  132. package/dist/server/config-validation.mjs +91 -42
  133. package/dist/server/config.mjs +91 -42
  134. package/dist/server/data.mjs +91 -42
  135. package/dist/server/index.mjs +45 -33
  136. package/dist/server/next.mjs +468 -272
  137. package/dist/server/page-converter.mjs +41 -17
  138. package/dist/server/prebuild.mjs +1 -1
  139. package/dist/server/rendering/server.mjs +556 -275
  140. package/dist/server/rendering.mjs +474 -278
  141. package/dist/server/routing.mjs +99 -43
  142. package/dist/server/server.mjs +92 -43
  143. package/dist/server/theme-bridge.mjs +29 -0
  144. package/dist/styles/index.css +16 -0
  145. package/package.json +2 -1
  146. package/dist/SdkPreviewModeRuntime-FO6V7YVY.mjs +0 -8
package/README.md CHANGED
@@ -850,7 +850,7 @@ If you intentionally render hydratable CMS islands through the strict server sur
850
850
 
851
851
  ```tsx
852
852
  import { Layout } from '@riverbankcms/sdk/rendering/server';
853
- import { BlocksIslandsHydrator } from '@riverbankcms/sdk/rendering/client';
853
+ import { BlocksIslandsHydrator } from '@riverbankcms/sdk/rendering/islands';
854
854
 
855
855
  export default async function MyPage() {
856
856
  const siteData = await client.getSite({ slug: 'my-site' });
@@ -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-HV745JYE.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-3YNCQG5N.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-KWQPAJYS.mjs';
3
- import { useEntryEditorController, useEditorUiStore, useMultiAutosave, EditorChrome, classifyHistoryShortcut, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, useEditorUiStoreInstance, Pencil, previewAssistantEnabled, Sparkles } from './chunk-3YNCQG5N.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';
@@ -4894,7 +4894,7 @@ declare const SiteStyleSelectionCommandBodySchema: z.ZodObject<{
4894
4894
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4895
4895
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4896
4896
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4897
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
4897
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
4898
4898
  primary?: import("../../../blocks/src/index").HexColor | undefined;
4899
4899
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
4900
4900
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -4940,7 +4940,7 @@ export declare const SiteStyleSelectionCommandBackedPreviewSchema: z.ZodObject<{
4940
4940
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4941
4941
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4942
4942
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4943
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
4943
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
4944
4944
  primary?: import("../../../blocks/src/index").HexColor | undefined;
4945
4945
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
4946
4946
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -4992,7 +4992,7 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
4992
4992
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4993
4993
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4994
4994
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
4995
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
4995
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
4996
4996
  primary?: import("../../../blocks/src/index").HexColor | undefined;
4997
4997
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
4998
4998
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -5931,7 +5931,7 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
5931
5931
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
5932
5932
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
5933
5933
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
5934
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
5934
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
5935
5935
  primary?: import("../../../blocks/src/index").HexColor | undefined;
5936
5936
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
5937
5937
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -5997,7 +5997,7 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
5997
5997
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
5998
5998
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
5999
5999
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
6000
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
6000
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
6001
6001
  primary?: import("../../../blocks/src/index").HexColor | undefined;
6002
6002
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
6003
6003
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -6936,7 +6936,7 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
6936
6936
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
6937
6937
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
6938
6938
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
6939
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
6939
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
6940
6940
  primary?: import("../../../blocks/src/index").HexColor | undefined;
6941
6941
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
6942
6942
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -7003,7 +7003,7 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
7003
7003
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7004
7004
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7005
7005
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7006
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
7006
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
7007
7007
  primary?: import("../../../blocks/src/index").HexColor | undefined;
7008
7008
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
7009
7009
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -7942,7 +7942,7 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
7942
7942
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7943
7943
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7944
7944
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
7945
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
7945
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
7946
7946
  primary?: import("../../../blocks/src/index").HexColor | undefined;
7947
7947
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
7948
7948
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -29072,7 +29072,7 @@ export declare const proposalToolSchemas: {
29072
29072
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
29073
29073
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
29074
29074
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
29075
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
29075
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
29076
29076
  primary?: import("../../../blocks/src/index").HexColor | undefined;
29077
29077
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
29078
29078
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -30011,7 +30011,7 @@ export declare const proposalToolSchemas: {
30011
30011
  muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
30012
30012
  text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
30013
30013
  border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../../../blocks/src/index").HexColor, string>>>;
30014
- }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "border" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt" | "muted", import("../../../blocks/src/index").HexColor>>>, {
30014
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "border" | "background" | "muted" | "surface" | "accent" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", import("../../../blocks/src/index").HexColor>>>, {
30015
30015
  primary?: import("../../../blocks/src/index").HexColor | undefined;
30016
30016
  primaryForeground?: import("../../../blocks/src/index").HexColor | undefined;
30017
30017
  secondary?: import("../../../blocks/src/index").HexColor | undefined;
@@ -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;