@riverbankcms/sdk 0.128.0 → 0.129.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 (51) hide show
  1. package/README.md +33 -0
  2. package/dist/{PreviewEditorSidebar-Dbvb7GIr.mjs → PreviewEditorSidebar-B43CJ0g_.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-e9O9l20X.mjs → PreviewEditorUI-DHirVkeM.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-BZHt6e9w.mjs → SdkPreviewModeRuntime-BJumZy1B.mjs} +495 -292
  5. package/dist/{SiteChromeCustomizeContext-CvuGbHJX.mjs → SiteChromeCustomizeContext-D9SlpwEj.mjs} +140 -140
  6. package/dist/_dts/blocks/src/PageRenderer.d.ts +20 -10
  7. package/dist/_dts/blocks/src/index.d.ts +2 -1
  8. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +30 -0
  9. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +37 -0
  10. package/dist/_dts/blocks/src/server.d.ts +1 -1
  11. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +14 -0
  12. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -0
  13. package/dist/_dts/preview-next/src/client/index.d.ts +47 -47
  14. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +18 -6
  15. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +30 -21
  16. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -5
  17. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +9 -0
  18. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +21 -6
  19. package/dist/_dts/preview-next/src/client/sdk-runtime.d.ts +8 -8
  20. package/dist/_dts/sdk/src/next/catch-all.d.ts +6 -0
  21. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  22. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +33 -0
  23. package/dist/_dts/sdk/src/next/types.d.ts +23 -9
  24. package/dist/_dts/sdk/src/preview-next/before-render.d.ts +4 -6
  25. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +3 -3
  26. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
  27. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +25 -3
  28. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +13 -2
  29. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +31 -18
  30. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +20 -9
  31. package/dist/_dts/sdk/src/rendering/index.d.ts +4 -2
  32. package/dist/_dts/sdk/src/rendering/renderingMode.d.ts +23 -0
  33. package/dist/_dts/sdk/src/rendering/server.d.ts +5 -3
  34. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +6 -0
  35. package/dist/_dts/sdk/src/version.d.ts +1 -1
  36. package/dist/cli/index.mjs +237 -211
  37. package/dist/cli/init-docs/content/workflow-preview-mode.md +24 -11
  38. package/dist/client/client.mjs +420 -337
  39. package/dist/client/rendering.mjs +503 -358
  40. package/dist/preview-next/before-render.mjs +10 -3
  41. package/dist/preview-next/client/runtime.mjs +3 -3
  42. package/dist/{sdk-runtime-Cn_QSCOg.mjs → sdk-runtime-CfZd5pAm.mjs} +1 -1
  43. package/dist/{separator-CEoGABRc.mjs → separator-DkTe68HE.mjs} +1 -1
  44. package/dist/server/components.mjs +478 -351
  45. package/dist/server/index.mjs +1 -1
  46. package/dist/server/next.mjs +640 -500
  47. package/dist/server/prebuild.mjs +1 -1
  48. package/dist/server/rendering/server.mjs +499 -355
  49. package/dist/server/rendering.mjs +499 -355
  50. package/dist/server/server.mjs +1 -1
  51. package/package.json +1 -1
@@ -152869,6 +152869,145 @@ function renderBlock(manifest, content, options = {}) {
152869
152869
  }, componentElement);
152870
152870
  }
152871
152871
  //#endregion
152872
+ //#region ../blocks/src/sdkBlockTransform.ts
152873
+ /**
152874
+ * Transforms an SDK custom block into a BlockManifest.
152875
+ *
152876
+ * If the block has a `layout`, it can be rendered declaratively without React code.
152877
+ * If no layout, the block MUST use blockOverrides for rendering.
152878
+ */
152879
+ function transformSdkBlockToManifest(sdkBlock) {
152880
+ const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
152881
+ return augmentManifest({
152882
+ name: sdkBlock.id,
152883
+ version: "1.0.0",
152884
+ title: sdkBlock.title,
152885
+ titleSource: sdkBlock.titleSource,
152886
+ description: sdkBlock.description,
152887
+ component: sdkBlock.id,
152888
+ fields: sdkBlock.fields,
152889
+ slots: [],
152890
+ category: sdkBlock.category,
152891
+ tags: sdkBlock.tags,
152892
+ icon: sdkBlock.icon,
152893
+ layout: sdkBlock.layout,
152894
+ variants: sdkBlock.variants,
152895
+ defaultVariant: sdkBlock.defaultVariant,
152896
+ variantOptions: sdkBlock.variantOptions,
152897
+ previewCustomize: sdkBlock.previewCustomize,
152898
+ behaviours: {
152899
+ supportsThemeSwitching: true,
152900
+ inlineEditing: hasLayout,
152901
+ animation: hasLayout,
152902
+ paletteHidden: false
152903
+ }
152904
+ });
152905
+ }
152906
+ /**
152907
+ * Transforms an SDK custom block into a SystemBlockDefinition.
152908
+ *
152909
+ * This creates a minimal definition with just the manifest - no data loaders
152910
+ * or content normalizers since SDK blocks handle their own rendering.
152911
+ */
152912
+ function transformSdkBlockToDefinition(sdkBlock) {
152913
+ return {
152914
+ manifest: transformSdkBlockToManifest(sdkBlock),
152915
+ dataLoaders: sdkBlock.dataLoaders
152916
+ };
152917
+ }
152918
+ //#endregion
152919
+ //#region ../blocks/src/customBlockRegistry.ts
152920
+ const defaultCustomBlockSourcePolicy = { kind: "canonical-db-fallback-sdk" };
152921
+ function isCustomBlockKind(blockKind) {
152922
+ return blockKind.startsWith("custom.");
152923
+ }
152924
+ function transformToBlockDescriptor(sdkBlock, source = "sdk") {
152925
+ return {
152926
+ name: sdkBlock.id,
152927
+ title: sdkBlock.title,
152928
+ description: sdkBlock.description,
152929
+ category: sdkBlock.category,
152930
+ tags: sdkBlock.tags,
152931
+ icon: sdkBlock.icon,
152932
+ definition: transformSdkBlockToDefinition(sdkBlock),
152933
+ source
152934
+ };
152935
+ }
152936
+ function toResolvedCustomBlock(manifest, source) {
152937
+ return {
152938
+ blockKind: manifest.id,
152939
+ manifest: transformSdkBlockToManifest(manifest),
152940
+ source,
152941
+ descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
152942
+ };
152943
+ }
152944
+ function planCustomBlockRegistryResolution({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy }) {
152945
+ switch (policy.kind) {
152946
+ case "canonical-db-fallback-sdk": {
152947
+ const entriesByKind = /* @__PURE__ */ new Map();
152948
+ const conflicts = [];
152949
+ for (const customBlock of customBlocks) entriesByKind.set(customBlock.manifest.id, toResolvedCustomBlock(customBlock.manifest, customBlock.source));
152950
+ for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
152951
+ const existing = entriesByKind.get(sdkBlock.id);
152952
+ if (existing) {
152953
+ conflicts.push({
152954
+ kind: "conflict",
152955
+ blockKind: existing.blockKind,
152956
+ winner: existing.source,
152957
+ loser: { kind: "sdk-config" },
152958
+ reason: "db-canonical-sdk-fallback"
152959
+ });
152960
+ continue;
152961
+ }
152962
+ entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
152963
+ }
152964
+ return {
152965
+ policy,
152966
+ entries: Array.from(entriesByKind.values()),
152967
+ conflicts
152968
+ };
152969
+ }
152970
+ }
152971
+ }
152972
+ function createCustomBlockRegistry({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy, onConflict }) {
152973
+ const plan = planCustomBlockRegistryResolution({
152974
+ sdkConfig,
152975
+ customBlocks,
152976
+ policy
152977
+ });
152978
+ const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
152979
+ for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
152980
+ return {
152981
+ entries: plan.entries,
152982
+ conflicts: plan.conflicts,
152983
+ findManifest: (blockKind) => {
152984
+ if (!isCustomBlockKind(blockKind)) return void 0;
152985
+ return entriesByKind.get(blockKind);
152986
+ }
152987
+ };
152988
+ }
152989
+ function sourceLabel(source) {
152990
+ switch (source.kind) {
152991
+ case "managed-database": return "DB";
152992
+ case "sdk-synced": return "SDK-synced DB";
152993
+ case "sdk-config": return "SDK config";
152994
+ default: return assertNever$11(source);
152995
+ }
152996
+ }
152997
+ function mergeBlockDescriptorsWithRegistry(systemBlocks, registry, onConflict) {
152998
+ const existingNames = new Set(systemBlocks.map((block) => block.name));
152999
+ const result = [...systemBlocks];
153000
+ for (const entry of registry.entries) {
153001
+ if (existingNames.has(entry.blockKind)) {
153002
+ onConflict?.(`Skipping custom block "${entry.blockKind}" - conflicts with system block`);
153003
+ continue;
153004
+ }
153005
+ result.push(entry.descriptor);
153006
+ existingNames.add(entry.blockKind);
153007
+ }
153008
+ return result;
153009
+ }
153010
+ //#endregion
152872
153011
  //#region ../theme-core/src/runtime/fontFamily.ts
152873
153012
  /**
152874
153013
  * Font Family Formatting Utilities
@@ -156600,145 +156739,6 @@ function mapFontStyle(italic) {
156600
156739
  return italic ? "italic" : "normal";
156601
156740
  }
156602
156741
  //#endregion
156603
- //#region ../blocks/src/sdkBlockTransform.ts
156604
- /**
156605
- * Transforms an SDK custom block into a BlockManifest.
156606
- *
156607
- * If the block has a `layout`, it can be rendered declaratively without React code.
156608
- * If no layout, the block MUST use blockOverrides for rendering.
156609
- */
156610
- function transformSdkBlockToManifest(sdkBlock) {
156611
- const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
156612
- return augmentManifest({
156613
- name: sdkBlock.id,
156614
- version: "1.0.0",
156615
- title: sdkBlock.title,
156616
- titleSource: sdkBlock.titleSource,
156617
- description: sdkBlock.description,
156618
- component: sdkBlock.id,
156619
- fields: sdkBlock.fields,
156620
- slots: [],
156621
- category: sdkBlock.category,
156622
- tags: sdkBlock.tags,
156623
- icon: sdkBlock.icon,
156624
- layout: sdkBlock.layout,
156625
- variants: sdkBlock.variants,
156626
- defaultVariant: sdkBlock.defaultVariant,
156627
- variantOptions: sdkBlock.variantOptions,
156628
- previewCustomize: sdkBlock.previewCustomize,
156629
- behaviours: {
156630
- supportsThemeSwitching: true,
156631
- inlineEditing: hasLayout,
156632
- animation: hasLayout,
156633
- paletteHidden: false
156634
- }
156635
- });
156636
- }
156637
- /**
156638
- * Transforms an SDK custom block into a SystemBlockDefinition.
156639
- *
156640
- * This creates a minimal definition with just the manifest - no data loaders
156641
- * or content normalizers since SDK blocks handle their own rendering.
156642
- */
156643
- function transformSdkBlockToDefinition(sdkBlock) {
156644
- return {
156645
- manifest: transformSdkBlockToManifest(sdkBlock),
156646
- dataLoaders: sdkBlock.dataLoaders
156647
- };
156648
- }
156649
- //#endregion
156650
- //#region ../blocks/src/customBlockRegistry.ts
156651
- const defaultCustomBlockSourcePolicy = { kind: "canonical-db-fallback-sdk" };
156652
- function isCustomBlockKind(blockKind) {
156653
- return blockKind.startsWith("custom.");
156654
- }
156655
- function transformToBlockDescriptor(sdkBlock, source = "sdk") {
156656
- return {
156657
- name: sdkBlock.id,
156658
- title: sdkBlock.title,
156659
- description: sdkBlock.description,
156660
- category: sdkBlock.category,
156661
- tags: sdkBlock.tags,
156662
- icon: sdkBlock.icon,
156663
- definition: transformSdkBlockToDefinition(sdkBlock),
156664
- source
156665
- };
156666
- }
156667
- function toResolvedCustomBlock(manifest, source) {
156668
- return {
156669
- blockKind: manifest.id,
156670
- manifest: transformSdkBlockToManifest(manifest),
156671
- source,
156672
- descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
156673
- };
156674
- }
156675
- function planCustomBlockRegistryResolution({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy }) {
156676
- switch (policy.kind) {
156677
- case "canonical-db-fallback-sdk": {
156678
- const entriesByKind = /* @__PURE__ */ new Map();
156679
- const conflicts = [];
156680
- for (const customBlock of customBlocks) entriesByKind.set(customBlock.manifest.id, toResolvedCustomBlock(customBlock.manifest, customBlock.source));
156681
- for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
156682
- const existing = entriesByKind.get(sdkBlock.id);
156683
- if (existing) {
156684
- conflicts.push({
156685
- kind: "conflict",
156686
- blockKind: existing.blockKind,
156687
- winner: existing.source,
156688
- loser: { kind: "sdk-config" },
156689
- reason: "db-canonical-sdk-fallback"
156690
- });
156691
- continue;
156692
- }
156693
- entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
156694
- }
156695
- return {
156696
- policy,
156697
- entries: Array.from(entriesByKind.values()),
156698
- conflicts
156699
- };
156700
- }
156701
- }
156702
- }
156703
- function createCustomBlockRegistry({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy, onConflict }) {
156704
- const plan = planCustomBlockRegistryResolution({
156705
- sdkConfig,
156706
- customBlocks,
156707
- policy
156708
- });
156709
- const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
156710
- for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
156711
- return {
156712
- entries: plan.entries,
156713
- conflicts: plan.conflicts,
156714
- findManifest: (blockKind) => {
156715
- if (!isCustomBlockKind(blockKind)) return void 0;
156716
- return entriesByKind.get(blockKind);
156717
- }
156718
- };
156719
- }
156720
- function sourceLabel(source) {
156721
- switch (source.kind) {
156722
- case "managed-database": return "DB";
156723
- case "sdk-synced": return "SDK-synced DB";
156724
- case "sdk-config": return "SDK config";
156725
- default: return assertNever$11(source);
156726
- }
156727
- }
156728
- function mergeBlockDescriptorsWithRegistry(systemBlocks, registry, onConflict) {
156729
- const existingNames = new Set(systemBlocks.map((block) => block.name));
156730
- const result = [...systemBlocks];
156731
- for (const entry of registry.entries) {
156732
- if (existingNames.has(entry.blockKind)) {
156733
- onConflict?.(`Skipping custom block "${entry.blockKind}" - conflicts with system block`);
156734
- continue;
156735
- }
156736
- result.push(entry.descriptor);
156737
- existingNames.add(entry.blockKind);
156738
- }
156739
- return result;
156740
- }
156741
- //#endregion
156742
156742
  //#region ../theme-core/src/generated/containerResponsiveThemeCss.ts
156743
156743
  /**
156744
156744
  * Auto-generated by scripts/generate-container-responsive-css.ts
@@ -225476,4 +225476,4 @@ function useSiteChromeCustomizeOptional() {
225476
225476
  return useContext(SiteChromeCustomizeContext);
225477
225477
  }
225478
225478
  //#endregion
225479
- export { createOptimisticActionRunner as $, Image as $a, Callout as $i, clientComponentRegistry as $n, EDITABLE_SURFACE_FORWARDING_PROP as $r, useDebouncedLatestSave as $t, isPreviewingChange as A, parseFooterModuleId as Aa, assertNever$8 as Ai, createCustomBlockRegistry as An, gradientToCss as Ar, RichTextWidgetProvider as At, previewHeaderStyle as B, TriangleAlert as Ba, mapCurrentValueForSelect as Bi, getLinkedContentEntryMeta as Bn, getHeaderStyle as Br, classifyHistoryShortcut as Bt, usePreviewThemeOverlay as C, DropdownMenuLabel as Ca, updateButtonStyleSelectionChoice as Ci, AMBIENT_BACKGROUND_ROLES as Cn, planPageDesignLayoutLookCompatibility as Cr, ButtonWidgetProvider as Ct, createStyleConfiguratorState as D, Button$1 as Da, isThemeV2NormalEditorRawStyleFieldName as Di, isSupportedLoaderEndpoint as Dn, getCuratedSiteStyle as Dr, ReferenceWidgetProvider as Dt, cancelPreview as E, Primitive as Ea, parseThemeForPersistence as Ei, useApiMediaUploader as En, designRuntimeRulesForTheme as Er, ReferenceField as Et, palettePreviewProjection as F, parseMediaAssetId as Fa, getFieldIntent as Fi, makeDefaultBlockComponent as Fn, defaultSectionTransitionVariantForFamily as Fr, BlockEditor as Ft, syncStyleConfiguratorState as G, RotateCcw as Ga, Tooltip as Gi, getBlockDefinition as Gn, parseBackgroundAppearanceColorToken as Gr, canUndoHistory as Gt, resetTypographyToSaved as H, Sparkles as Ha, unmapValueFromSelect as Hi, resolveEntryRouteTarget as Hn, backgroundAppearanceColorTokenNames as Hr, useEditorUiStoreInstance as Ht, previewButtonStyle as I, parseSiteId as Ia, isHeaderField as Ii, readBlockComposition as In, sectionTransitionFamilies as Ir, hideThemeV2RawStyleFields as It, confirmAutosaveBatch as J, PenLine as Ja, Select$1 as Ji, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as Jn, runTransforms as Jr, redoHistory as Jt, toggleRow as K, Redo2 as Ka, TooltipContent as Ki, projectRecurringSchedule as Kn, defaultThemeTokens as Kr, createHistoryState as Kt, previewCuratedPalette as L, X as La, SdkConfigProvider as Li, getDefaultComponentRegistry as Ln, sectionTransitionFamilyForBoundaryOptionId as Lr, prepareBlockEditorManifest as Lt, markApplySaved as M, unsafeAsEditorBlockValues as Ma, paletteColorsSchema as Mi, DEFAULT_THEME_RESPONSIVE_MODE as Mn, GRADIENT_PRESET_IDS as Mr, useEditor$1 as Mt, markApplySaving as N, assertNever$11 as Na, textColorStyle as Ni, getResponsiveScopeSpec as Nn, getGradientPreset as Nr, LinkField as Nt, deriveStyleConfiguratorCapabilities as O, cva as Oa, pageDesignEditorBackgroundOverrideOwner as Oi, ThemeScope as On, surfaceResolutionContextFromTheme as Or, useRichTextImagePicker as Ot, openRow as P, expectParsedBrandedId as Pa, BlockApiProvider as Pi, escapeStyleContent as Pn, parseGradientPresetId as Pr, LinkWidgetProvider as Pt, rejectAutosaveBatch as Q, LoaderCircle as Qa, SelectValue as Qi, createManifestValidator as Qn, eventCalendarListLayoutOptions as Qr, useMultiAutosave as Qt, previewFooterLook as R, Upload as Ra, useSdkConfig as Ri, LINKED_CONTENT_ENTRY_META_KEY as Rn, sectionTransitionVariantForBoundaryOptionId as Rr, stripTopLevelRoutingUi as Rt, PreviewThemeOverlayProvider as S, DropdownMenuItem as Sa, resolveButtonStyleSelection as Si, deriveLaunchReadiness as Sn, retargetCompiledRuntimeFieldsForContentAdjacency as Sr, ButtonVariantField as St, applyTypographyDraftPatch as T, DropdownMenuTrigger as Ta, themeButtonClassName as Ti, useMediaEditorOptional as Tn, curatedSiteStyles as Tr, MediaField as Tt, setPaletteColors as U, Smartphone as Ua, FieldFrame as Ui, resolvePageRouteTarget as Un, backgroundAppearanceQuickColorTokenNames as Ur, useOptionalEditorUiStoreInstance as Ut, previewSiteStyle as V, Tablet as Va, mapOptionValueForSelect as Vi, defaultTransforms as Vn, BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO as Vr, useEditorUiStore as Vt, styleConfiguratorHistoryEntryForPersistedSelection as W, SlidersHorizontal as Wa, useField as Wi, resolveRouteTarget as Wn, foregroundTokenForBackgroundAppearanceColorToken as Wr, canRedoHistory as Wt, enqueueTransaction as X, Monitor as Xa, SelectItem as Xi, visibleHeaderClearancePx as Xn, bindingSchema as Xr, unsafeAsLinkedContentEntryId as Xt, deriveTransactionCapabilities as Y, Palette as Ya, SelectContent as Yi, planSiteOverlayHeaderClearance as Yn, ctaButton as Yr, undoHistory as Yt, idleEditorTransactionQueueState as Z, Maximize2 as Za, SelectTrigger as Zi, resolveVariantKey as Zn, eventCalendarListLayoutCompatibleDisplayModeValues as Zr, recordsEqual as Zt, cycleableSiteChromeOptions as _, CollapsibleContent as _a, attachRenderableMediaAssetFields as _i, applyPageDesignEditorAction as _n, defineFragment as _r, OfferingsPreviewWidgetProvider as _t, previewDesignHistoryDomainForCommand as a, Input as aa, isObjectRecord$1 as ai, deriveRouteMetadataPresentation as an, ChevronDown as ao, faqHeadingFragment as ar, PreviewTextEditor as at, PreviewDesignCoordinatorProvider as b, DropdownMenu as ba, buttonStyleSelectionParameterValue as bi, decodePublicProductCategorySelectorQuery as bn, compileEditorModelRuntime as br, EntryPickerField as bt, selectionSnapshotFromApplySiteStyleSelectionResponse as c, TabsList as ca, inlineTextToPlainText as ci, PaletteProvider as cn, formEmbedFragment as cr, EditableBlockProvider as ct, resolveStyleConfiguratorInitialSnapshot as d, DialogContent as da, RichText as di, createManifestFormAdapter as dn, testimonialsHeadingFragment as dr, useEntryEditorController as dt, CalloutDescription as ea, planSiteChromePlacement as ei, createRoutingHelpers as en, GripVertical as eo, ImageResolveContextProvider as er, resolvePreviewSidebarTab as et, PREVIEW_DESIGN_LOAD_ERROR_MESSAGE as f, DialogDescription as fa, buildResolveImageUrlContext as fi, createManifestValidation as fn, ctaCopyFragment as fr, createSiteOptionApiLoader as ft, cycleSiteChromeLookId as g, Collapsible as ga, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as gi, MediaEditor as gn, bodyCopyFragment as gr, OfferingsPreviewGroupOrderField as gt, buildSiteChromeLookModels as h, DialogTitle as ha, setContextResolveImageUrlContext as hi, createStoreBackend as hn, heroCopyFragment as hr, SiteOptionWidgetProvider as ht, usePreviewDesignHistoryOrder as i, PopoverTrigger as ia, renderInlineText as ii, parseReferenceKind as in, ChevronLeft as io, faqAccordionFragment as ir, PreviewInlineTextEditor as it, markApplyFailed as j, unsafeAsEditorBlockId as ja, paletteColorEntries as ji, buildThemeRuntime as jn, GRADIENT_PRESETS as jr, EditorProvider as jt, dismissWarnings as k, cn$2 as ka, asDesignBlockId as ki, containerResponsiveThemeCss as kn, findFooterLook as kr, RichTextField as kt, deriveSiteStylePreviewUpdate as l, TabsTrigger as la, isInlineTextEmpty as li, usePalette as ln, formCopyFragment as lr, EntryControllerProvider as lt, reportPreviewDesignError as m, DialogHeader as ma, resolveImageUrlWithContext as mi, evaluateVisibility as mn, ctaRowFragment as mr, SiteOptionPickerField as mt, useSiteChromeCustomizeOptional as n, Popover as na, parseGeneratedIconAssetId as ni, BUILT_IN_REFERENCE_KINDS as nn, EllipsisVertical as no, headingFragment as nr, renderSiteChromeBlock as nt, selectPreviewDesignHistoryDomain as o, Tabs as oa, isRecord$16 as oi, resolvePageRouteSlug as on, Check as oo, blogFeaturedPostFragment as or, ContentFieldsForm as ot, PREVIEW_DESIGN_SAVE_ERROR_MESSAGE as p, DialogFooter as pa, getCurrentResolveImageUrlContext as pi, FormRenderer as pn, heroCtaRowFragment as pr, createSiteOptionWidgetAdapters as pt, beginAutosaveBatch as q, Pencil as qa, TooltipTrigger as qi, SITE_CHROME_VISIBLE_HEADER_SELECTOR as qn, curatedPalettes as qr, pushHistoryEntry as qt, PreviewDesignHistoryOrderProvider as r, PopoverContent as ra, parseGeneratedIconSetId as ri, isAdapterReferenceKind as rn, ChevronRight as ro, cardFragment as rr, PreviewRichTextEditor as rt, buildApplySiteStyleSelectionBody as s, TabsContent as sa, coerceInlineTextWithFallback as si, resolveContentTitle as sn, __exportAll as so, singleButtonFragment as sr, useUISelector as st, SiteChromeCustomizeProvider as t, SearchInput as ta, parseBlockIconValue as ti, createSnapshotFromPageRecord as tn, Eye as to, richTextFragment as tr, FooterComposerPanel as tt, planSiteStylePreviewChange as u, Dialog as ua, Text$2 as ui, ManifestForm as un, testimonialsCarouselFragment as ur, useEntryController as ut, planSiteChromeLookSelection as v, CollapsibleTrigger as va, getAtPath as vi, getPageDesignEditorState as vn, formatSiteChromeBackgroundTokenLabel as vr, InlineTextField as vt, applyResolvedSelections as w, DropdownMenuSeparator as wa, buttonStyleSelectionKey as wi, MediaEditorContextProvider as wn, componentRuntimeRulesForTheme as wr, FileField as wt, usePreviewDesignCoordinator as x, DropdownMenuContent as xa, findButtonStyleRecipe as xi, DEFAULT_LAUNCH_READINESS_INPUT as xn, retargetCompiledBoundaryRuntimeForContentAdjacency as xr, EntryPickerWidgetProvider as xt, siteChromeLookUnavailableReasonLabel as y, Surface as ya, siblingPath$1 as yi, listEntryPageContentSlots as yn, applyCompiledRuntimeFieldsToContent as yr, IconPickerField as yt, previewHeaderLayout as z, Undo2 as za, hasEmptyOption as zi, coerceLinkedContentEntriesPayload as zn, getHeaderLayout as zr, getBlockManifestFromSdkConfig as zt };
225479
+ export { createOptimisticActionRunner as $, Image as $a, Callout as $i, clientComponentRegistry as $n, EDITABLE_SURFACE_FORWARDING_PROP as $r, useDebouncedLatestSave as $t, isPreviewingChange as A, parseFooterModuleId as Aa, assertNever$8 as Ai, buildThemeRuntime as An, gradientToCss as Ar, RichTextWidgetProvider as At, previewHeaderStyle as B, TriangleAlert as Ba, mapCurrentValueForSelect as Bi, getLinkedContentEntryMeta as Bn, getHeaderStyle as Br, classifyHistoryShortcut as Bt, usePreviewThemeOverlay as C, DropdownMenuLabel as Ca, updateButtonStyleSelectionChoice as Ci, AMBIENT_BACKGROUND_ROLES as Cn, planPageDesignLayoutLookCompatibility as Cr, ButtonWidgetProvider as Ct, createStyleConfiguratorState as D, Button$1 as Da, isThemeV2NormalEditorRawStyleFieldName as Di, isSupportedLoaderEndpoint as Dn, getCuratedSiteStyle as Dr, ReferenceWidgetProvider as Dt, cancelPreview as E, Primitive as Ea, parseThemeForPersistence as Ei, useApiMediaUploader as En, designRuntimeRulesForTheme as Er, ReferenceField as Et, palettePreviewProjection as F, parseMediaAssetId as Fa, getFieldIntent as Fi, makeDefaultBlockComponent as Fn, defaultSectionTransitionVariantForFamily as Fr, BlockEditor as Ft, syncStyleConfiguratorState as G, RotateCcw as Ga, Tooltip as Gi, getBlockDefinition as Gn, parseBackgroundAppearanceColorToken as Gr, canUndoHistory as Gt, resetTypographyToSaved as H, Sparkles as Ha, unmapValueFromSelect as Hi, resolveEntryRouteTarget as Hn, backgroundAppearanceColorTokenNames as Hr, useEditorUiStoreInstance as Ht, previewButtonStyle as I, parseSiteId as Ia, isHeaderField as Ii, readBlockComposition as In, sectionTransitionFamilies as Ir, hideThemeV2RawStyleFields as It, confirmAutosaveBatch as J, PenLine as Ja, Select$1 as Ji, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as Jn, runTransforms as Jr, redoHistory as Jt, toggleRow as K, Redo2 as Ka, TooltipContent as Ki, projectRecurringSchedule as Kn, defaultThemeTokens as Kr, createHistoryState as Kt, previewCuratedPalette as L, X as La, SdkConfigProvider as Li, getDefaultComponentRegistry as Ln, sectionTransitionFamilyForBoundaryOptionId as Lr, prepareBlockEditorManifest as Lt, markApplySaved as M, unsafeAsEditorBlockValues as Ma, paletteColorsSchema as Mi, getResponsiveScopeSpec as Mn, GRADIENT_PRESET_IDS as Mr, useEditor$1 as Mt, markApplySaving as N, assertNever$11 as Na, textColorStyle as Ni, escapeStyleContent as Nn, getGradientPreset as Nr, LinkField as Nt, deriveStyleConfiguratorCapabilities as O, cva as Oa, pageDesignEditorBackgroundOverrideOwner as Oi, ThemeScope as On, surfaceResolutionContextFromTheme as Or, useRichTextImagePicker as Ot, openRow as P, expectParsedBrandedId as Pa, BlockApiProvider as Pi, createCustomBlockRegistry as Pn, parseGradientPresetId as Pr, LinkWidgetProvider as Pt, rejectAutosaveBatch as Q, LoaderCircle as Qa, SelectValue as Qi, createManifestValidator as Qn, eventCalendarListLayoutOptions as Qr, useMultiAutosave as Qt, previewFooterLook as R, Upload as Ra, useSdkConfig as Ri, LINKED_CONTENT_ENTRY_META_KEY as Rn, sectionTransitionVariantForBoundaryOptionId as Rr, stripTopLevelRoutingUi as Rt, PreviewThemeOverlayProvider as S, DropdownMenuItem as Sa, resolveButtonStyleSelection as Si, deriveLaunchReadiness as Sn, retargetCompiledRuntimeFieldsForContentAdjacency as Sr, ButtonVariantField as St, applyTypographyDraftPatch as T, DropdownMenuTrigger as Ta, themeButtonClassName as Ti, useMediaEditorOptional as Tn, curatedSiteStyles as Tr, MediaField as Tt, setPaletteColors as U, Smartphone as Ua, FieldFrame as Ui, resolvePageRouteTarget as Un, backgroundAppearanceQuickColorTokenNames as Ur, useOptionalEditorUiStoreInstance as Ut, previewSiteStyle as V, Tablet as Va, mapOptionValueForSelect as Vi, defaultTransforms as Vn, BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO as Vr, useEditorUiStore as Vt, styleConfiguratorHistoryEntryForPersistedSelection as W, SlidersHorizontal as Wa, useField as Wi, resolveRouteTarget as Wn, foregroundTokenForBackgroundAppearanceColorToken as Wr, canRedoHistory as Wt, enqueueTransaction as X, Monitor as Xa, SelectItem as Xi, visibleHeaderClearancePx as Xn, bindingSchema as Xr, unsafeAsLinkedContentEntryId as Xt, deriveTransactionCapabilities as Y, Palette as Ya, SelectContent as Yi, planSiteOverlayHeaderClearance as Yn, ctaButton as Yr, undoHistory as Yt, idleEditorTransactionQueueState as Z, Maximize2 as Za, SelectTrigger as Zi, resolveVariantKey as Zn, eventCalendarListLayoutCompatibleDisplayModeValues as Zr, recordsEqual as Zt, cycleableSiteChromeOptions as _, CollapsibleContent as _a, attachRenderableMediaAssetFields as _i, applyPageDesignEditorAction as _n, defineFragment as _r, OfferingsPreviewWidgetProvider as _t, previewDesignHistoryDomainForCommand as a, Input as aa, isObjectRecord$1 as ai, deriveRouteMetadataPresentation as an, ChevronDown as ao, faqHeadingFragment as ar, PreviewTextEditor as at, PreviewDesignCoordinatorProvider as b, DropdownMenu as ba, buttonStyleSelectionParameterValue as bi, decodePublicProductCategorySelectorQuery as bn, compileEditorModelRuntime as br, EntryPickerField as bt, selectionSnapshotFromApplySiteStyleSelectionResponse as c, TabsList as ca, inlineTextToPlainText as ci, PaletteProvider as cn, formEmbedFragment as cr, EditableBlockProvider as ct, resolveStyleConfiguratorInitialSnapshot as d, DialogContent as da, RichText as di, createManifestFormAdapter as dn, testimonialsHeadingFragment as dr, useEntryEditorController as dt, CalloutDescription as ea, planSiteChromePlacement as ei, createRoutingHelpers as en, GripVertical as eo, ImageResolveContextProvider as er, resolvePreviewSidebarTab as et, PREVIEW_DESIGN_LOAD_ERROR_MESSAGE as f, DialogDescription as fa, buildResolveImageUrlContext as fi, createManifestValidation as fn, ctaCopyFragment as fr, createSiteOptionApiLoader as ft, cycleSiteChromeLookId as g, Collapsible as ga, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as gi, MediaEditor as gn, bodyCopyFragment as gr, OfferingsPreviewGroupOrderField as gt, buildSiteChromeLookModels as h, DialogTitle as ha, setContextResolveImageUrlContext as hi, createStoreBackend as hn, heroCopyFragment as hr, SiteOptionWidgetProvider as ht, usePreviewDesignHistoryOrder as i, PopoverTrigger as ia, renderInlineText as ii, parseReferenceKind as in, ChevronLeft as io, faqAccordionFragment as ir, PreviewInlineTextEditor as it, markApplyFailed as j, unsafeAsEditorBlockId as ja, paletteColorEntries as ji, DEFAULT_THEME_RESPONSIVE_MODE as jn, GRADIENT_PRESETS as jr, EditorProvider as jt, dismissWarnings as k, cn$2 as ka, asDesignBlockId as ki, containerResponsiveThemeCss as kn, findFooterLook as kr, RichTextField as kt, deriveSiteStylePreviewUpdate as l, TabsTrigger as la, isInlineTextEmpty as li, usePalette as ln, formCopyFragment as lr, EntryControllerProvider as lt, reportPreviewDesignError as m, DialogHeader as ma, resolveImageUrlWithContext as mi, evaluateVisibility as mn, ctaRowFragment as mr, SiteOptionPickerField as mt, useSiteChromeCustomizeOptional as n, Popover as na, parseGeneratedIconAssetId as ni, BUILT_IN_REFERENCE_KINDS as nn, EllipsisVertical as no, headingFragment as nr, renderSiteChromeBlock as nt, selectPreviewDesignHistoryDomain as o, Tabs as oa, isRecord$16 as oi, resolvePageRouteSlug as on, Check as oo, blogFeaturedPostFragment as or, ContentFieldsForm as ot, PREVIEW_DESIGN_SAVE_ERROR_MESSAGE as p, DialogFooter as pa, getCurrentResolveImageUrlContext as pi, FormRenderer as pn, heroCtaRowFragment as pr, createSiteOptionWidgetAdapters as pt, beginAutosaveBatch as q, Pencil as qa, TooltipTrigger as qi, SITE_CHROME_VISIBLE_HEADER_SELECTOR as qn, curatedPalettes as qr, pushHistoryEntry as qt, PreviewDesignHistoryOrderProvider as r, PopoverContent as ra, parseGeneratedIconSetId as ri, isAdapterReferenceKind as rn, ChevronRight as ro, cardFragment as rr, PreviewRichTextEditor as rt, buildApplySiteStyleSelectionBody as s, TabsContent as sa, coerceInlineTextWithFallback as si, resolveContentTitle as sn, __exportAll as so, singleButtonFragment as sr, useUISelector as st, SiteChromeCustomizeProvider as t, SearchInput as ta, parseBlockIconValue as ti, createSnapshotFromPageRecord as tn, Eye as to, richTextFragment as tr, FooterComposerPanel as tt, planSiteStylePreviewChange as u, Dialog as ua, Text$2 as ui, ManifestForm as un, testimonialsCarouselFragment as ur, useEntryController as ut, planSiteChromeLookSelection as v, CollapsibleTrigger as va, getAtPath as vi, getPageDesignEditorState as vn, formatSiteChromeBackgroundTokenLabel as vr, InlineTextField as vt, applyResolvedSelections as w, DropdownMenuSeparator as wa, buttonStyleSelectionKey as wi, MediaEditorContextProvider as wn, componentRuntimeRulesForTheme as wr, FileField as wt, usePreviewDesignCoordinator as x, DropdownMenuContent as xa, findButtonStyleRecipe as xi, DEFAULT_LAUNCH_READINESS_INPUT as xn, retargetCompiledBoundaryRuntimeForContentAdjacency as xr, EntryPickerWidgetProvider as xt, siteChromeLookUnavailableReasonLabel as y, Surface as ya, siblingPath$1 as yi, listEntryPageContentSlots as yn, applyCompiledRuntimeFieldsToContent as yr, IconPickerField as yt, previewHeaderLayout as z, Undo2 as za, hasEmptyOption as zi, coerceLinkedContentEntriesPayload as zn, getHeaderLayout as zr, getBlockManifestFromSdkConfig as zt };
@@ -5,9 +5,11 @@ import type { Theme } from '../../theme-core/src/schema';
5
5
  import type { SdkCustomBlock } from './system/manifest/schema';
6
6
  import type { ThemeTokens } from './system/theme';
7
7
  import type { RouteMap } from './system/transforms';
8
- import type { CompiledBoundaryRuntime } from '../../theme-core/src/site-styles/index';
9
8
  import { type MediaAssetIndexItem, type ResolveImageUrlContext, type ResolveImageUrlContextInput } from './system/runtime/nodes/media';
10
9
  import type { BookingOfferingPresetSummary } from './system/blocks/offerings-preview/model';
10
+ import { type PageBoundaryWrapper, type PageRuntimeBoundary } from './pageRendererBoundaries';
11
+ export { MissingBlockOverrideError } from './pageRenderingMode';
12
+ export type { PageBlockPosition, PageRuntimeBoundary, } from './pageRendererBoundaries';
11
13
  /**
12
14
  * Occurrence context for event pages.
13
15
  * Passed through to blocks that need occurrence information (e.g., event-registration).
@@ -155,11 +157,7 @@ export type BlockOverrides = Record<string, BlockOverrideComponent>;
155
157
  export type SdkConfigForRenderer = {
156
158
  customBlocks?: SdkCustomBlock[];
157
159
  };
158
- export type PageBlockPosition = 'only' | 'first' | 'middle' | 'last';
159
- export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
160
- type PageBoundaryWrapper = (boundary: PageRuntimeBoundary, rendered: React.ReactNode) => React.ReactNode;
161
- interface PageRendererProps {
162
- theme: Theme;
160
+ type PageRendererCommonProps = {
163
161
  page: PageOutline | null;
164
162
  runtimeBoundaries?: readonly PageRuntimeBoundary[];
165
163
  usePlaceholders?: boolean;
@@ -168,11 +166,23 @@ interface PageRendererProps {
168
166
  wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
169
167
  wrapBoundary?: PageBoundaryWrapper;
170
168
  registry?: ResolverContext['registry'];
171
- themeTokens?: ThemeTokens;
172
169
  blockOverrides?: BlockOverrides;
173
170
  sdkConfig?: SdkConfigForRenderer | null;
174
171
  customBlocks?: SdkCustomBlock[];
175
172
  previewAuthoring?: ResolverContext['previewAuthoring'];
176
- }
177
- export default function PageRenderer({ theme, page, runtimeBoundaries, usePlaceholders, dataContext, wrapBlock, wrapBoundary, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring, }: PageRendererProps): React.JSX.Element;
178
- export {};
173
+ };
174
+ type ThemedPageRendererProps = PageRendererCommonProps & {
175
+ rendering?: never;
176
+ theme: Theme;
177
+ themeTokens?: ThemeTokens;
178
+ };
179
+ type OverrideOnlyPageRendererProps = PageRendererCommonProps & {
180
+ rendering: {
181
+ kind: 'overrides-only';
182
+ };
183
+ theme?: never;
184
+ themeTokens?: never;
185
+ blockOverrides: BlockOverrides;
186
+ };
187
+ export type PageRendererProps = ThemedPageRendererProps | OverrideOnlyPageRendererProps;
188
+ export default function PageRenderer(props: PageRendererProps): React.JSX.Element;
@@ -1,7 +1,8 @@
1
1
  export { default as PageRenderer } from './PageRenderer';
2
2
  export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, planCustomBlockRegistryResolution, transformToBlockDescriptor, } from './customBlockRegistry';
3
3
  export type { CustomBlockConflictReason, CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryConflict, CustomBlockRegistryEntry, CustomBlockRegistryResolutionPlan, CustomBlockSourcePolicy, ResolvedCustomBlockManifest, SdkConfigForBlockPicker, } from './customBlockRegistry';
4
- export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
4
+ export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, PageRendererProps, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
5
+ export { MissingBlockOverrideError } from './pageRenderingMode';
5
6
  export * from './subroutes';
6
7
  export * from './structure/schema';
7
8
  export { BLOCK_BUTTON_ROLES, BLOCK_BUTTON_ROLE_OPTIONS, blockButtonRoleSchema, isBlockButtonRole, type BlockButtonRole, } from './system/constants/buttonRoles';
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import type { CompiledBoundaryRuntime } from '../../theme-core/src/site-styles/index';
3
+ import type { Block } from './structure/schema';
4
+ export type PageBlockPosition = 'only' | 'first' | 'middle' | 'last';
5
+ export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
6
+ export type PageBoundaryWrapper = (boundary: PageRuntimeBoundary, rendered: React.ReactNode) => React.ReactNode;
7
+ export declare function isSiteStyleTransitionStyleGroup(value: string | undefined): value is string;
8
+ export declare function boundaryMapForAdjacentBlockIds(boundaries: readonly PageRuntimeBoundary[]): ReadonlyMap<string, PageRuntimeBoundary>;
9
+ export declare function boundaryBetweenBlocks(previousBlock: Block | null, nextBlock: Block | null, boundaries: ReadonlyMap<string, PageRuntimeBoundary>): PageRuntimeBoundary | null;
10
+ export declare function renderBoundaryAfterBlock(input: Readonly<{
11
+ block: Block;
12
+ nextBlock: Block | null;
13
+ blockKey: string;
14
+ boundaryByAdjacentBlockIds: ReadonlyMap<string, PageRuntimeBoundary>;
15
+ wrapBoundary?: PageBoundaryWrapper;
16
+ }>): React.ReactNode;
17
+ type TransitionCssVarsStyle = React.CSSProperties & {
18
+ '--site-style-transition-from'?: string;
19
+ '--site-style-transition-to'?: string;
20
+ '--site-style-boundary-before-reserve'?: string;
21
+ '--site-style-boundary-after-reserve'?: string;
22
+ };
23
+ export declare function boundaryReserveCssVarsStyle(input: Readonly<{
24
+ before: PageRuntimeBoundary | null;
25
+ after: PageRuntimeBoundary | null;
26
+ }>): TransitionCssVarsStyle | undefined;
27
+ export declare function transitionCssVarsStyle(content: Record<string, unknown>): TransitionCssVarsStyle | undefined;
28
+ export declare function mergeStyleObjects(left: TransitionCssVarsStyle | undefined, right: TransitionCssVarsStyle | undefined): TransitionCssVarsStyle | undefined;
29
+ export declare function pageBlockPosition(index: number, blockCount: number): PageBlockPosition;
30
+ export {};
@@ -0,0 +1,37 @@
1
+ import type { Theme } from '../../theme-core/src/schema';
2
+ import type { ThemeTokens } from './system/theme';
3
+ export declare class MissingBlockOverrideError extends Error {
4
+ readonly blockKind: string;
5
+ readonly code = "missing_block_override";
6
+ constructor(blockKind: string);
7
+ }
8
+ export type PageThemeResources = Readonly<{
9
+ kind: 'available';
10
+ tokens: ThemeTokens;
11
+ config: Theme;
12
+ }> | Readonly<{
13
+ kind: 'unavailable';
14
+ }>;
15
+ type ThemedResourceInput = Readonly<{
16
+ rendering?: never;
17
+ theme: Theme;
18
+ themeTokens?: ThemeTokens;
19
+ }>;
20
+ type OverrideOnlyResourceInput = Readonly<{
21
+ rendering: {
22
+ kind: 'overrides-only';
23
+ };
24
+ theme?: never;
25
+ themeTokens?: never;
26
+ }>;
27
+ type ThemeResourceInput = ThemedResourceInput | OverrideOnlyResourceInput;
28
+ export declare function resolvePageThemeResources(props: ThemeResourceInput): PageThemeResources;
29
+ export declare function requireBlockOverride(resources: PageThemeResources, override: unknown, blockKind: string): void;
30
+ export declare function overrideThemeProps(resources: PageThemeResources): Readonly<{
31
+ theme?: ThemeTokens;
32
+ themeConfig?: Theme;
33
+ }>;
34
+ export declare function requireThemeResources(resources: PageThemeResources, blockKind: string): Extract<PageThemeResources, {
35
+ kind: 'available';
36
+ }>;
37
+ export {};
@@ -1,4 +1,4 @@
1
- export { default as PageRenderer } from './PageRenderer';
1
+ export { default as PageRenderer, MissingBlockOverrideError, } from './PageRenderer';
2
2
  export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
3
3
  export * from './subroutes';
4
4
  export { ThemeScope } from '../../theme-core/src/ThemeScope';
@@ -8334,6 +8334,7 @@ export type Database = {
8334
8334
  payment_id: string | null;
8335
8335
  payment_method: string | null;
8336
8336
  payment_status: string | null;
8337
+ reminder_revision: number;
8337
8338
  reminder_scheduled_at: string | null;
8338
8339
  reminder_sent_at: string | null;
8339
8340
  site_id: string;
@@ -8358,6 +8359,7 @@ export type Database = {
8358
8359
  payment_id?: string | null;
8359
8360
  payment_method?: string | null;
8360
8361
  payment_status?: string | null;
8362
+ reminder_revision?: number;
8361
8363
  reminder_scheduled_at?: string | null;
8362
8364
  reminder_sent_at?: string | null;
8363
8365
  site_id: string;
@@ -8382,6 +8384,7 @@ export type Database = {
8382
8384
  payment_id?: string | null;
8383
8385
  payment_method?: string | null;
8384
8386
  payment_status?: string | null;
8387
+ reminder_revision?: number;
8385
8388
  reminder_scheduled_at?: string | null;
8386
8389
  reminder_sent_at?: string | null;
8387
8390
  site_id?: string;
@@ -20868,6 +20871,17 @@ export type Database = {
20868
20871
  };
20869
20872
  Returns: boolean;
20870
20873
  };
20874
+ project_event_reminder_marker_if_current_lifecycle: {
20875
+ Args: {
20876
+ p_attendee_id: string;
20877
+ p_expected_reminder_revision: number;
20878
+ p_expected_schedule_revision: number;
20879
+ p_expected_starts_at: string;
20880
+ p_marker_at: string;
20881
+ p_marker_kind: Database["public"]["Enums"]["event_reminder_marker_kind"];
20882
+ };
20883
+ Returns: boolean;
20884
+ };
20871
20885
  provision_initial_site_theme_atomic: {
20872
20886
  Args: {
20873
20887
  p_button_style_id: string;
@@ -1,4 +1,5 @@
1
1
  import type { BlockItem } from '../../../../editor-blocks/src/index';
2
+ import type { Theme } from '../../../../theme-core/src/schema';
2
3
  import type { DesignRuntimeRules, ComponentRuntimeRules, PageDesignEditorReadModel, SurfaceResolutionContext } from '../../../../theme-core/src/site-styles/previewCompiler';
3
4
  import type { PreviewPageDesignEditorState } from '../preview/PageDesignEditorStateContext';
4
5
  import { type RuntimeContentDecorationProjection } from './previewProjection';
@@ -11,6 +12,7 @@ export type RuntimePreviewSource = Readonly<{
11
12
  designRules?: DesignRuntimeRules;
12
13
  componentRules?: ComponentRuntimeRules;
13
14
  }>;
15
+ export declare function resolveRuntimePreviewSourceForTheme(pageDesignState: PreviewPageDesignEditorState, theme: Theme | null | undefined): RuntimePreviewSource;
14
16
  export declare function applyPageDesignRuntimeFieldsToBlockItems(blockItems: readonly BlockItem[], source: RuntimePreviewSource): BlockItem[];
15
17
  export declare function applyPageDesignRuntimeFieldsToBlockContent(block: BlockItem, content: Record<string, unknown> | null, source: RuntimePreviewSource): Record<string, unknown> | null;
16
18
  export declare function buildPageDesignRuntimeFieldsByBlockId(editorModel: PageDesignEditorReadModel, surfaceResolutionContext: SurfaceResolutionContext, designRules?: DesignRuntimeRules, componentRules?: ComponentRuntimeRules): RuntimeContentDecorationProjection['fieldsByBlockId'];
@@ -1,47 +1,47 @@
1
- export type { PreviewAuthFailureSource, PreviewAuthFetch, PreviewAuthState, } from "./previewAuthStore";
2
- export { initPreviewAuth, markPreviewAuthExpired, usePreviewAuth, usePreviewAuthFetch, usePreviewToken, } from "./previewAuthStore";
3
- export type { OnboardingPreviewRedirectAuthPlan, PreviewAuthMode, PreviewExchangeTokenKind, PreviewRuntimeSession, PreviewSessionAuthMode, PreviewSessionTokens, } from "../auth-contract";
4
- export { getPreviewRuntimeSessionAuthMode, isPreviewRuntimeSessionEditable, resolveOnboardingPreviewRedirectAuthPlan, resolvePreviewAuthMode, resolvePreviewExchangeTokenKind, resolvePreviewRuntimeSession, resolvePreviewSessionCanEdit, } from "../auth-contract";
5
- export type { OnboardingPreviewEndpointUrlInput, OnboardingPreviewStage, PreviewAuthEntryUrlInput, PreviewAuthExchangeUrlInput, PreviewBrowserEntryRouteKey, PreviewDashboardApiEndpointKey, } from "../route-contract";
6
- export { buildOnboardingPreviewStatusUrl, buildOnboardingResendConfirmationUrl, buildPreviewAuthEntryUrl, buildPreviewAuthExchangeUrl, previewAuthEntryPathname, previewBrowserEntries, previewDashboardApiEndpoints, } from "../route-contract";
7
- export { PreviewShellSmoke } from "./PreviewShellSmoke";
8
- export { PreviewLayoutProvider, usePreviewLayout, } from "./layout/PreviewLayoutContext";
9
- export { useOptionalPreviewLayout } from "./layout/PreviewLayoutContext";
10
- export { previewAssistantEnabled, resolvePreviewSidebarTab, } from "./preview/assistantAvailability";
11
- export type { PreviewSidebarTab } from "./preview/sidebarTabPreference";
12
- export { getPreviewSidebarTab, setPreviewSidebarTab, } from "./preview/sidebarTabPreference";
13
- export type { PreviewDesignRow, PreviewEditorOpenIntent, } from "../../../content-editor/src/index";
14
- export type { PreviewViewportControlsProps, ViewportMode, ViewportWidth, } from "./preview/PreviewViewportControls";
15
- export { PreviewViewportControls } from "./preview/PreviewViewportControls";
16
- export type { PreviewThemeResponsiveMode, PreviewThemeRuntime, } from "./preview/themeRuntime";
17
- export { PreviewZoomControls } from "./preview/PreviewZoomControls";
18
- export { PreviewEditorUI } from "./preview/PreviewEditorUI";
19
- export { PreviewOpenEditorButton } from "./preview/PreviewOpenEditorButton";
20
- export { MaintenanceModeBadge } from "./preview/MaintenanceModeBadge";
21
- export type { PreviewBlock, PreviewContentEntryData, PreviewPageMetadata, } from "./preview/PreviewEntryControllerProvider";
22
- export { PreviewEntryControllerProvider } from "./preview/PreviewEntryControllerProvider";
23
- export { PAGE_CONTENT_TYPE_SCHEMA } from "./preview/pageSchema";
24
- export { PreviewThemeOverlayProvider, usePreviewThemeOverlay, } from "./preview/themeOverlay";
25
- export type { PreviewDesignCommand, PreviewDesignIgnoredReason, PreviewDesignProducer, PreviewDesignState, PreviewDesignSurface, PreviewDesignTransition, PreviewThemeOverlayEffect, } from "./preview/previewDesignCoordinator";
26
- export { NO_PREVIEW_DESIGN_STATE, transitionPreviewDesignState, } from "./preview/previewDesignCoordinator";
27
- export { PreviewDesignCoordinatorProvider, usePreviewDesignCoordinator, } from "./preview/PreviewDesignCoordinatorContext";
28
- export type { PreviewEditorSidebarProps, PreviewEditorSidebarTab, PreviewEntryData, PreviewTemplateData, } from "./preview/PreviewEditorSidebar";
29
- export { PreviewEditorSidebar } from "./preview/PreviewEditorSidebar";
30
- export { PreviewAuthInit } from "./preview/PreviewAuthInit";
31
- export { PreviewAuthBanner } from "./preview/PreviewAuthBanner";
32
- export { PreviewKeepAliveClient } from "./preview/PreviewKeepAliveClient";
33
- export { PreviewQueryProvider, createPreviewQueryClient, } from "./preview/PreviewQueryProvider";
34
- export { PreviewShell } from "./preview/PreviewShell";
35
- export type { PreviewShellProps } from "./preview/PreviewShell";
36
- export { PreviewShellLayout } from "./preview/PreviewShellLayout";
37
- export type { PreviewShellLayoutProps } from "./preview/PreviewShellLayout";
38
- export { resolvePreviewThemeRoles } from "./preview/previewThemeRoles";
39
- export type { PreviewThemeRoles } from "./preview/previewThemeRoles";
40
- export type { PreviewFailureSource } from "./preview/usePreviewKeepAlive";
41
- export { usePreviewKeepAlive } from "./preview/usePreviewKeepAlive";
42
- export { EditablePageRenderer } from "./blocks/EditablePageRenderer";
43
- export { BlockToolbar } from "./blocks/BlockToolbar";
44
- export type { FieldWidgetComponent } from "./widgets/widgetOverrides";
45
- export { __testUtils, PreviewFormProvider, createPreviewEntryPickerAdapter, createPreviewLinkAdapters, createPreviewReferenceAdapters, previewWidgetOverrides, } from "./widgets/widgetOverrides";
46
- export type { SdkPreviewModeContent, SdkPreviewModeProps, } from "./sdk/SdkPreviewMode";
47
- export { SdkPreviewMode } from "./sdk/SdkPreviewMode";
1
+ export type { PreviewAuthFailureSource, PreviewAuthFetch, PreviewAuthState, } from './previewAuthStore';
2
+ export { initPreviewAuth, markPreviewAuthExpired, usePreviewAuth, usePreviewAuthFetch, usePreviewToken, } from './previewAuthStore';
3
+ export type { OnboardingPreviewRedirectAuthPlan, PreviewAuthMode, PreviewExchangeTokenKind, PreviewRuntimeSession, PreviewSessionAuthMode, PreviewSessionTokens, } from '../auth-contract';
4
+ export { getPreviewRuntimeSessionAuthMode, isPreviewRuntimeSessionEditable, resolveOnboardingPreviewRedirectAuthPlan, resolvePreviewAuthMode, resolvePreviewExchangeTokenKind, resolvePreviewRuntimeSession, resolvePreviewSessionCanEdit, } from '../auth-contract';
5
+ export type { OnboardingPreviewEndpointUrlInput, OnboardingPreviewStage, PreviewAuthEntryUrlInput, PreviewAuthExchangeUrlInput, PreviewBrowserEntryRouteKey, PreviewDashboardApiEndpointKey, } from '../route-contract';
6
+ export { buildOnboardingPreviewStatusUrl, buildOnboardingResendConfirmationUrl, buildPreviewAuthEntryUrl, buildPreviewAuthExchangeUrl, previewAuthEntryPathname, previewBrowserEntries, previewDashboardApiEndpoints, } from '../route-contract';
7
+ export { PreviewShellSmoke } from './PreviewShellSmoke';
8
+ export { PreviewLayoutProvider, usePreviewLayout, } from './layout/PreviewLayoutContext';
9
+ export { useOptionalPreviewLayout } from './layout/PreviewLayoutContext';
10
+ export { previewAssistantEnabled, resolvePreviewSidebarTab, } from './preview/assistantAvailability';
11
+ export type { PreviewSidebarTab } from './preview/sidebarTabPreference';
12
+ export { getPreviewSidebarTab, setPreviewSidebarTab, } from './preview/sidebarTabPreference';
13
+ export type { PreviewDesignRow, PreviewEditorOpenIntent, } from '../../../content-editor/src/index';
14
+ export type { PreviewViewportControlsProps, ViewportMode, ViewportWidth, } from './preview/PreviewViewportControls';
15
+ export { PreviewViewportControls } from './preview/PreviewViewportControls';
16
+ export type { PreviewThemeResponsiveMode, PreviewThemeRuntime, } from './preview/themeRuntime';
17
+ export { PreviewZoomControls } from './preview/PreviewZoomControls';
18
+ export { PreviewEditorUI } from './preview/PreviewEditorUI';
19
+ export { PreviewOpenEditorButton } from './preview/PreviewOpenEditorButton';
20
+ export { MaintenanceModeBadge } from './preview/MaintenanceModeBadge';
21
+ export type { PreviewBlock, PreviewContentEntryData, PreviewPageMetadata, } from './preview/PreviewEntryControllerProvider';
22
+ export { PreviewEntryControllerProvider } from './preview/PreviewEntryControllerProvider';
23
+ export { PAGE_CONTENT_TYPE_SCHEMA } from './preview/pageSchema';
24
+ export { PreviewThemeOverlayProvider, usePreviewThemeOverlay, } from './preview/themeOverlay';
25
+ export type { PreviewDesignCommand, PreviewDesignIgnoredReason, PreviewDesignProducer, PreviewDesignState, PreviewDesignSurface, PreviewDesignTransition, PreviewThemeOverlayEffect, } from './preview/previewDesignCoordinator';
26
+ export { NO_PREVIEW_DESIGN_STATE, transitionPreviewDesignState, } from './preview/previewDesignCoordinator';
27
+ export { PreviewDesignCoordinatorProvider, usePreviewDesignCoordinator, } from './preview/PreviewDesignCoordinatorContext';
28
+ export type { PreviewEditorSidebarProps, PreviewEditorSidebarTab, PreviewEntryData, PreviewTemplateData, } from './preview/PreviewEditorSidebar';
29
+ export { PreviewEditorSidebar } from './preview/PreviewEditorSidebar';
30
+ export { PreviewAuthInit } from './preview/PreviewAuthInit';
31
+ export { PreviewAuthBanner } from './preview/PreviewAuthBanner';
32
+ export { PreviewKeepAliveClient } from './preview/PreviewKeepAliveClient';
33
+ export { PreviewQueryProvider, createPreviewQueryClient, } from './preview/PreviewQueryProvider';
34
+ export { PreviewShell } from './preview/PreviewShell';
35
+ export type { PreviewShellProps } from './preview/PreviewShell';
36
+ export { PreviewShellLayout } from './preview/PreviewShellLayout';
37
+ export type { PreviewShellLayoutProps } from './preview/PreviewShellLayout';
38
+ export { resolvePreviewThemeRoles } from './preview/previewThemeRoles';
39
+ export type { PreviewThemeRoles } from './preview/previewThemeRoles';
40
+ export type { PreviewFailureSource } from './preview/usePreviewKeepAlive';
41
+ export { usePreviewKeepAlive } from './preview/usePreviewKeepAlive';
42
+ export { EditablePageRenderer } from './blocks/EditablePageRenderer';
43
+ export { BlockToolbar } from './blocks/BlockToolbar';
44
+ export type { FieldWidgetComponent } from './widgets/widgetOverrides';
45
+ export { __testUtils, PreviewFormProvider, createPreviewEntryPickerAdapter, createPreviewLinkAdapters, createPreviewReferenceAdapters, previewWidgetOverrides, } from './widgets/widgetOverrides';
46
+ export type { SdkPreviewModeContent, SdkPreviewModeProps, SdkPreviewModePropsWithoutBlockOverrides, } from './sdk/SdkPreviewMode';
47
+ export { SdkPreviewMode } from './sdk/SdkPreviewMode';