@riverbankcms/sdk 0.74.0 → 0.76.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 (145) hide show
  1. package/README.md +2 -0
  2. package/dist/{PreviewEditorSidebar-5XL7M3OM.mjs → PreviewEditorSidebar-X2HWXFOL.mjs} +172 -89
  3. package/dist/{PreviewEditorUI-ZDFRDJID.mjs → PreviewEditorUI-AQXIXPOH.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +8 -0
  5. package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
  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/index.d.ts +1 -1
  10. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +13 -4
  11. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -2
  12. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  13. package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
  14. package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
  15. package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
  16. package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
  17. package/dist/_dts/blocks/src/client/events.d.ts +6 -0
  18. package/dist/_dts/blocks/src/client/form.d.ts +2 -0
  19. package/dist/_dts/blocks/src/client/header.d.ts +1 -0
  20. package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
  21. package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
  22. package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
  23. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  24. package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
  26. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -6
  27. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  28. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
  29. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +3 -27
  30. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
  32. package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
  33. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
  34. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
  35. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
  36. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
  37. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
  38. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
  39. package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
  40. package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
  41. package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
  42. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
  43. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -0
  44. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
  45. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
  46. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
  47. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
  48. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
  49. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  50. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
  51. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
  52. package/dist/_dts/sdk/src/components.d.ts +2 -2
  53. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  54. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
  55. package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
  56. package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
  57. package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
  58. package/dist/_dts/sdk/src/rendering/server.d.ts +4 -0
  59. package/dist/_dts/sdk/src/version.d.ts +1 -1
  60. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  61. package/dist/{chunk-2MIWNFJM.mjs → chunk-LYI7TEMH.mjs} +494 -171
  62. package/dist/{chunk-YY7K3QD2.mjs → chunk-Q4OLG66B.mjs} +9 -9
  63. package/dist/{chunk-CEQBBLMJ.mjs → chunk-TW2Y4RR5.mjs} +69 -14
  64. package/dist/{chunk-CBD47MTM.mjs → chunk-V5VORNEJ.mjs} +2 -2
  65. package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
  66. package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
  67. package/dist/cli/index.mjs +3395 -3753
  68. package/dist/client/{accordion-ZZVXWV3N.mjs → accordion-2YHIBOZH.mjs} +1 -1
  69. package/dist/client/bookingForm-35IBDWAS.mjs +3012 -0
  70. package/dist/client/bookings.mjs +30 -21
  71. package/dist/client/{carousel-25WK2H7G.mjs → carousel-K6XG7NZQ.mjs} +3 -2
  72. package/dist/client/cart-HCFYUTTU.mjs +18 -0
  73. package/dist/client/checkout-J3U4XR7K.mjs +18 -0
  74. package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
  75. package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
  76. package/dist/client/{chunk-6VGXRE34.mjs → chunk-7UOSCYY4.mjs} +76 -29
  77. package/dist/client/chunk-BOIHIU7E.mjs +106 -0
  78. package/dist/client/chunk-F7LHOKEH.mjs +146 -0
  79. package/dist/client/chunk-FGUIVT2B.mjs +204 -0
  80. package/dist/client/chunk-I2MMZO53.mjs +6 -0
  81. package/dist/client/chunk-II7O4XN3.mjs +2206 -0
  82. package/dist/client/chunk-J227A3CQ.mjs +245 -0
  83. package/dist/client/chunk-JEZECJ3W.mjs +383 -0
  84. package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
  85. package/dist/client/chunk-OJPZEZU2.mjs +31 -0
  86. package/dist/client/chunk-PFBX3IQL.mjs +1378 -0
  87. package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
  88. package/dist/client/chunk-SNSWVZEP.mjs +5592 -0
  89. package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
  90. package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
  91. package/dist/client/client.mjs +54052 -54518
  92. package/dist/client/courseRegistration-ZBXS7VGI.mjs +1737 -0
  93. package/dist/client/{eventCalendar-X6GIPYFM.mjs → eventCalendar-EQQZHJBA.mjs} +13 -2
  94. package/dist/client/{eventCombined-EZUOPM3G.mjs → eventCombined-JCFTGBFQ.mjs} +13 -2
  95. package/dist/client/eventDetails-HLUTQSYY.mjs +25 -0
  96. package/dist/client/{eventListing-HEFGAETC.mjs → eventListing-FG4MICVB.mjs} +13 -2
  97. package/dist/client/{eventRegistration-3LCP2V3P.mjs → eventRegistration-GUEB7LBT.mjs} +13 -2
  98. package/dist/client/form-YQEW4YIT.mjs +300 -0
  99. package/dist/client/headerSection-GTR3TTRM.mjs +729 -0
  100. package/dist/client/hooks.mjs +49 -33
  101. package/dist/client/locationMap-SPC7VGUH.mjs +227 -0
  102. package/dist/client/newsletterForm-4IW5BLID.mjs +208 -0
  103. package/dist/client/productDetail-KP5H2WJO.mjs +18 -0
  104. package/dist/client/productList-3M3M72XZ.mjs +18 -0
  105. package/dist/client/rendering/client.mjs +15580 -16277
  106. package/dist/client/rendering/islands.mjs +98 -21
  107. package/dist/client/rendering.mjs +48730 -49191
  108. package/dist/client/shop-ACQKVGOM.mjs +20 -0
  109. package/dist/preview-next/before-render.mjs +37 -25
  110. package/dist/preview-next/chrome.css +1 -1
  111. package/dist/preview-next/client/runtime.mjs +5 -5
  112. package/dist/preview-next/editor-base.css +2 -148
  113. package/dist/preview-next/editor-chrome.css +179 -0
  114. package/dist/preview-next/middleware.mjs +37 -25
  115. package/dist/{sdk-runtime-OHNONZ5U.mjs → sdk-runtime-K7HNB4U2.mjs} +6 -6
  116. package/dist/server/components.mjs +1294 -1103
  117. package/dist/server/config-validation.mjs +49 -33
  118. package/dist/server/config.mjs +49 -33
  119. package/dist/server/data.mjs +49 -33
  120. package/dist/server/index.mjs +45 -33
  121. package/dist/server/next.mjs +1240 -1050
  122. package/dist/server/page-converter.mjs +12 -8
  123. package/dist/server/prebuild.mjs +1 -1
  124. package/dist/server/rendering/server.mjs +1389 -1104
  125. package/dist/server/rendering.mjs +1300 -1109
  126. package/dist/server/routing.mjs +49 -33
  127. package/dist/server/server.mjs +50 -34
  128. package/dist/server/theme-bridge.mjs +5 -0
  129. package/dist/styles/index.css +5 -0
  130. package/package.json +2 -1
  131. package/dist/SdkPreviewModeRuntime-CRYNDSPL.mjs +0 -8
  132. package/dist/client/bookingForm-4X77HKDS.mjs +0 -34
  133. package/dist/client/cart-JWD2VRFU.mjs +0 -11
  134. package/dist/client/checkout-V7KYGWL7.mjs +0 -11
  135. package/dist/client/chunk-5IYGMTUE.mjs +0 -18614
  136. package/dist/client/chunk-RKCFVIMS.mjs +0 -26
  137. package/dist/client/courseRegistration-O6ZPK4YT.mjs +0 -29
  138. package/dist/client/eventDetails-3WODIXET.mjs +0 -14
  139. package/dist/client/form-AKXQMY6Z.mjs +0 -85
  140. package/dist/client/headerSection-5KHCMU6B.mjs +0 -12
  141. package/dist/client/locationMap-7HIADW76.mjs +0 -14
  142. package/dist/client/newsletterForm-5N4YTMU3.mjs +0 -60
  143. package/dist/client/productDetail-IZUA7ZP3.mjs +0 -11
  144. package/dist/client/productList-KWIIJE6I.mjs +0 -11
  145. package/dist/client/shop-XZQFRQWZ.mjs +0 -13
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-YRJKZEQ3.mjs';
3
- import { PreviewThemeOverlayProvider, resolveSiteStyleAccess, usePreviewThemeOverlay, createOptimisticActionRunner, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, syncStyleConfiguratorState, buildSiteChromeLookModels, markApplyFailed, markApplySaved, markApplySaving, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, cycleSiteChromeLookId, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, sanitizeDashboardPath } from './chunk-CEQBBLMJ.mjs';
4
- import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState, PREVIEW_SURFACE_PARAM } from './chunk-CBD47MTM.mjs';
5
- import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, planSiteDocument, useEditorUiStore, SiteDocumentLayout, ResizableSplitPane, BlockApiProvider, EditorProvider, getCuratedSiteStyle, compileSiteThemeFromSelections, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, useEditorUiStoreInstance, surfaceResolutionContextFromTheme, asEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, ThemeScope, FixedBottomSurface, Button, unwrapResponse, X, ChevronLeft, ChevronRight, RotateCcw, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, systemCustomizeFacetNextValue, assertNever } from './chunk-2MIWNFJM.mjs';
6
- import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken, parseSurfaceId } from './chunk-7RX72SK2.mjs';
2
+ import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-Z7JLNTJR.mjs';
3
+ import { PreviewThemeOverlayProvider, resolveSiteStyleAccess, usePreviewThemeOverlay, createOptimisticActionRunner, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, syncStyleConfiguratorState, buildSiteChromeLookModels, markApplyFailed, markApplySaved, markApplySaving, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, cycleSiteChromeLookId, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, sanitizeDashboardPath } from './chunk-TW2Y4RR5.mjs';
4
+ import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState, PREVIEW_SURFACE_PARAM } from './chunk-V5VORNEJ.mjs';
5
+ import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, planSiteDocument, useEditorUiStore, SiteDocumentLayout, ResizableSplitPane, BlockApiProvider, EditorProvider, getCuratedSiteStyle, compileSiteThemeFromSelections, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, useEditorUiStoreInstance, surfaceResolutionContextFromTheme, asEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, ThemeScope, FixedBottomSurface, Button, unwrapResponse, X, ChevronLeft, ChevronRight, RotateCcw, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, systemCustomizeFacetNextValue, assertNever } from './chunk-LYI7TEMH.mjs';
6
+ import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken, parseSurfaceId } from './chunk-VX7B5VAC.mjs';
7
7
  import React7, { createContext, useMemo, useState, useEffect, useRef, useCallback, useId, useReducer } from 'react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
 
@@ -2366,7 +2366,7 @@ function SiteChromeCustomizeProvider({
2366
2366
  const runner = runnerRef.current;
2367
2367
  return () => {
2368
2368
  runner.invalidate();
2369
- setOverrideTheme(null);
2369
+ setOverrideTheme(null, { source: "site-chrome" });
2370
2370
  };
2371
2371
  }, [setOverrideTheme]);
2372
2372
  const lookModels = useMemo(() => {
@@ -2420,7 +2420,7 @@ function SiteChromeCustomizeProvider({
2420
2420
  });
2421
2421
  void runnerRef.current.run({
2422
2422
  optimistic: () => {
2423
- setOverrideTheme(compiled.theme);
2423
+ setOverrideTheme(compiled.theme, { source: "site-chrome" });
2424
2424
  setState((latest) => {
2425
2425
  if (!latest) return latest;
2426
2426
  return markApplySaving({ ...latest, previewed: nextSnapshot });
@@ -2532,11 +2532,11 @@ function SiteChromeCustomizeProvider({
2532
2532
  }
2533
2533
  var previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
2534
2534
  var PreviewEditorSidebar = React7.lazy(async () => {
2535
- const mod = await import('./PreviewEditorSidebar-5XL7M3OM.mjs');
2535
+ const mod = await import('./PreviewEditorSidebar-X2HWXFOL.mjs');
2536
2536
  return { default: mod.PreviewEditorSidebar };
2537
2537
  });
2538
2538
  var PreviewEditorUI = React7.lazy(async () => {
2539
- const mod = await import('./PreviewEditorUI-ZDFRDJID.mjs');
2539
+ const mod = await import('./PreviewEditorUI-AQXIXPOH.mjs');
2540
2540
  return { default: mod.PreviewEditorUI };
2541
2541
  });
2542
2542
  var previewPaneContainmentStyle = {
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { compileSiteThemeFromSelections, footerLookCatalog, headerLookCatalog, footerLookRejectionReasonLabel, headerLookRejectionReasonLabel, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-2MIWNFJM.mjs';
2
+ import { compileSiteThemeFromSelections, footerLookCatalog, headerLookCatalog, footerLookRejectionReasonLabel, headerLookRejectionReasonLabel, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-LYI7TEMH.mjs';
3
3
  import { createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -368,50 +368,105 @@ function applyRfc6902Patch(base, ops) {
368
368
  return next;
369
369
  }
370
370
  var PreviewThemeOverlayContext = createContext(null);
371
+ var NO_THEME_OVERLAY = { kind: "none" };
371
372
  function isDebugEnabled() {
372
373
  return process.env.NEXT_PUBLIC_AI_ASSISTANT_DEBUG === "1";
373
374
  }
374
375
  function PreviewThemeOverlayProvider({ baseTheme, children }) {
375
- const [overlayOps, setOverlayOps] = useState(null);
376
- const [overrideTheme, setOverrideTheme] = useState(null);
376
+ const [overlay, setOverlay] = useState(NO_THEME_OVERLAY);
377
377
  const previousBaseThemeRef = useRef(null);
378
- const clearOverlay = useCallback(() => {
379
- setOverlayOps(null);
380
- setOverrideTheme(null);
378
+ const overlayOps = overlay.kind === "patch" ? [...overlay.ops] : null;
379
+ const overlayOpsSource = overlay.kind === "patch" ? overlay.source : null;
380
+ const overrideTheme = overlay.kind === "theme" ? overlay.theme : null;
381
+ const overrideThemeSource = overlay.kind === "theme" ? overlay.source : null;
382
+ const setOverlayOps = useCallback(
383
+ (ops, options) => {
384
+ setOverlay((current) => {
385
+ if (ops === null) {
386
+ if (current.kind !== "patch") return current;
387
+ if (options?.source && current.source !== options.source) return current;
388
+ return NO_THEME_OVERLAY;
389
+ }
390
+ return {
391
+ kind: "patch",
392
+ source: options?.source ?? "unknown",
393
+ ops
394
+ };
395
+ });
396
+ },
397
+ []
398
+ );
399
+ const setOverrideTheme = useCallback(
400
+ (theme, options) => {
401
+ setOverlay((current) => {
402
+ if (theme === null) {
403
+ if (current.kind !== "theme") return current;
404
+ if (options?.source && current.source !== options.source) return current;
405
+ return NO_THEME_OVERLAY;
406
+ }
407
+ return {
408
+ kind: "theme",
409
+ source: options?.source ?? "unknown",
410
+ theme
411
+ };
412
+ });
413
+ },
414
+ []
415
+ );
416
+ const clearOverlay = useCallback((options) => {
417
+ setOverlay((current) => {
418
+ const source = options?.source;
419
+ if (current.kind === "none") return current;
420
+ if (source && current.source !== source) return current;
421
+ return NO_THEME_OVERLAY;
422
+ });
381
423
  }, []);
382
424
  useEffect(() => {
383
425
  if (previousBaseThemeRef.current && previousBaseThemeRef.current !== baseTheme) {
384
- setOverlayOps(null);
385
- setOverrideTheme(null);
426
+ setOverlay(NO_THEME_OVERLAY);
386
427
  }
387
428
  previousBaseThemeRef.current = baseTheme;
388
429
  }, [baseTheme]);
389
430
  const effectiveTheme = useMemo(() => {
390
- if (overrideTheme) return overrideTheme;
391
- if (!overlayOps || overlayOps.length === 0) return baseTheme;
431
+ if (overlay.kind === "theme") return overlay.theme;
432
+ if (overlay.kind !== "patch" || overlay.ops.length === 0) return baseTheme;
392
433
  try {
393
- return applyRfc6902Patch(baseTheme, overlayOps);
434
+ return applyRfc6902Patch(baseTheme, [...overlay.ops]);
394
435
  } catch (error) {
395
436
  if (isDebugEnabled()) {
396
437
  console.warn("[preview-theme-overlay] failed to apply theme overlay patch", {
397
438
  error: error instanceof Error ? error.message : String(error),
398
- overlayOps
439
+ overlayOps: overlay.ops
399
440
  });
400
441
  }
401
442
  return baseTheme;
402
443
  }
403
- }, [baseTheme, overlayOps, overrideTheme]);
444
+ }, [baseTheme, overlay]);
404
445
  const value = useMemo(
405
446
  () => ({
406
447
  baseTheme,
448
+ overlay,
407
449
  overlayOps,
450
+ overlayOpsSource,
408
451
  setOverlayOps,
409
452
  overrideTheme,
453
+ overrideThemeSource,
410
454
  setOverrideTheme,
411
455
  effectiveTheme,
412
456
  clearOverlay
413
457
  }),
414
- [baseTheme, clearOverlay, effectiveTheme, overlayOps, overrideTheme]
458
+ [
459
+ baseTheme,
460
+ clearOverlay,
461
+ effectiveTheme,
462
+ overlay,
463
+ overlayOps,
464
+ overlayOpsSource,
465
+ overrideTheme,
466
+ overrideThemeSource,
467
+ setOverlayOps,
468
+ setOverrideTheme
469
+ ]
415
470
  );
416
471
  return /* @__PURE__ */ jsx(PreviewThemeOverlayContext.Provider, { value, children });
417
472
  }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, useDebouncedLatestSave, applyPageDesignEditorAction, asEditorBlockId, asEditorBlockValues, resolvePreviewSidebarTab, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, createHistoryState, redoHistory, undoHistory, pushHistoryEntry, canRedoHistory, canUndoHistory, planPageDesignLayoutLookCompatibility } from './chunk-2MIWNFJM.mjs';
3
- import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-7RX72SK2.mjs';
2
+ import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, useDebouncedLatestSave, applyPageDesignEditorAction, asEditorBlockId, asEditorBlockValues, resolvePreviewSidebarTab, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, createHistoryState, redoHistory, undoHistory, pushHistoryEntry, canRedoHistory, canUndoHistory, planPageDesignLayoutLookCompatibility } from './chunk-LYI7TEMH.mjs';
3
+ import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-VX7B5VAC.mjs';
4
4
  import { createContext, useState, useRef, useEffect, useMemo, useContext } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -317,6 +317,17 @@ var TAG_TEMPLATES = {
317
317
  siteForms: "riverbank:site:{siteId}:forms",
318
318
  formById: "riverbank:form:{formId}",
319
319
  formSubmissionsBySlug: "riverbank:form-submissions:{slug}",
320
+ // Public data loaders
321
+ publicEvents: "riverbank:site:{siteId}:public-events",
322
+ publicEventFilters: "riverbank:site:{siteId}:public-event-filters",
323
+ publicCourses: "riverbank:site:{siteId}:public-courses",
324
+ publicTeamMembers: "riverbank:site:{siteId}:public-team-members",
325
+ publicProducts: "riverbank:site:{siteId}:public-products",
326
+ publicPasses: "riverbank:site:{siteId}:public-passes",
327
+ publicMemberships: "riverbank:site:{siteId}:public-memberships",
328
+ publicGifting: "riverbank:site:{siteId}:public-gifting",
329
+ publicShop: "riverbank:site:{siteId}:public-shop",
330
+ publicCheckout: "riverbank:site:{siteId}:public-checkout",
320
331
  // Navigation
321
332
  siteNavigation: "riverbank:site:{siteId}:navigation",
322
333
  navigationMenuById: "riverbank:navigation-menu:{menuId}",
@@ -4003,7 +4014,7 @@ var ENDPOINT_DEFINITIONS = {
4003
4014
  path: "/public/sites/{siteId}/events",
4004
4015
  method: "GET",
4005
4016
  revalidate: 60,
4006
- tags: ["public-events-{siteId}"],
4017
+ tags: [TAG_TEMPLATES.publicEvents],
4007
4018
  auth: "public",
4008
4019
  responseKind: "json"
4009
4020
  },
@@ -4012,7 +4023,7 @@ var ENDPOINT_DEFINITIONS = {
4012
4023
  path: "/public/sites/{siteId}/events/filters",
4013
4024
  method: "GET",
4014
4025
  revalidate: 60,
4015
- tags: ["public-event-filters-{siteId}"],
4026
+ tags: [TAG_TEMPLATES.publicEventFilters],
4016
4027
  auth: "public",
4017
4028
  responseKind: "json"
4018
4029
  },
@@ -4021,7 +4032,7 @@ var ENDPOINT_DEFINITIONS = {
4021
4032
  path: "/public/sites/{siteId}/courses",
4022
4033
  method: "GET",
4023
4034
  revalidate: 60,
4024
- tags: ["public-courses-{siteId}"],
4035
+ tags: [TAG_TEMPLATES.publicCourses],
4025
4036
  auth: "public",
4026
4037
  responseKind: "json"
4027
4038
  },
@@ -4029,7 +4040,7 @@ var ENDPOINT_DEFINITIONS = {
4029
4040
  path: "/public/sites/{siteId}/team-members",
4030
4041
  method: "GET",
4031
4042
  revalidate: 60,
4032
- tags: ["public-team-members-{siteId}"],
4043
+ tags: [TAG_TEMPLATES.publicTeamMembers],
4033
4044
  errors: [],
4034
4045
  auth: "public",
4035
4046
  responseKind: "json"
@@ -4038,21 +4049,21 @@ var ENDPOINT_DEFINITIONS = {
4038
4049
  path: "/public/sites/{siteId}/courses/{courseId}",
4039
4050
  method: "GET",
4040
4051
  revalidate: 60,
4041
- tags: ["public-courses-{siteId}"],
4052
+ tags: [TAG_TEMPLATES.publicCourses],
4042
4053
  auth: "public",
4043
4054
  responseKind: "json"
4044
4055
  },
4045
4056
  enrollInCourse: {
4046
4057
  path: "/public/sites/{siteId}/courses/enroll",
4047
4058
  method: "POST",
4048
- tags: ["public-courses-{siteId}", "course-enrollment"],
4059
+ tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
4049
4060
  auth: "public",
4050
4061
  responseKind: "json"
4051
4062
  },
4052
4063
  checkCourseEligibility: {
4053
4064
  path: "/public/sites/{siteId}/courses/check-eligibility",
4054
4065
  method: "POST",
4055
- tags: ["public-courses-{siteId}", "course-enrollment"],
4066
+ tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
4056
4067
  auth: "public",
4057
4068
  responseKind: "json"
4058
4069
  },
@@ -4060,8 +4071,8 @@ var ENDPOINT_DEFINITIONS = {
4060
4071
  path: "/public/sites/{siteId}/waitlists/claim/resolve",
4061
4072
  method: "POST",
4062
4073
  tags: [
4063
- "public-courses-{siteId}",
4064
- "public-events-{siteId}",
4074
+ TAG_TEMPLATES.publicCourses,
4075
+ TAG_TEMPLATES.publicEvents,
4065
4076
  "waitlist-claims"
4066
4077
  ],
4067
4078
  auth: "public",
@@ -4076,7 +4087,7 @@ var ENDPOINT_DEFINITIONS = {
4076
4087
  createCourseCheckout: {
4077
4088
  path: "/public/sites/{siteId}/courses/checkout",
4078
4089
  method: "POST",
4079
- tags: ["public-courses-{siteId}", "course-checkout"],
4090
+ tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
4080
4091
  auth: "public",
4081
4092
  responseKind: "json",
4082
4093
  errors: [
@@ -4090,7 +4101,7 @@ var ENDPOINT_DEFINITIONS = {
4090
4101
  getCourseRegistrationStatus: {
4091
4102
  path: "/public/sites/{siteId}/courses/registration-status",
4092
4103
  method: "GET",
4093
- tags: ["public-courses-{siteId}", "course-checkout"],
4104
+ tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
4094
4105
  auth: "public",
4095
4106
  responseKind: "json"
4096
4107
  },
@@ -4099,7 +4110,7 @@ var ENDPOINT_DEFINITIONS = {
4099
4110
  path: "/public/sites/{siteId}/bookings/products/passes",
4100
4111
  method: "GET",
4101
4112
  revalidate: 300,
4102
- tags: ["public-passes-{siteId}"],
4113
+ tags: [TAG_TEMPLATES.publicPasses],
4103
4114
  auth: "public",
4104
4115
  responseKind: "json"
4105
4116
  },
@@ -4108,7 +4119,7 @@ var ENDPOINT_DEFINITIONS = {
4108
4119
  path: "/public/sites/{siteId}/bookings/products/memberships",
4109
4120
  method: "GET",
4110
4121
  revalidate: 300,
4111
- tags: ["public-memberships-{siteId}"],
4122
+ tags: [TAG_TEMPLATES.publicMemberships],
4112
4123
  auth: "public",
4113
4124
  responseKind: "json"
4114
4125
  },
@@ -4117,7 +4128,7 @@ var ENDPOINT_DEFINITIONS = {
4117
4128
  path: "/public/sites/{siteId}/products",
4118
4129
  method: "GET",
4119
4130
  revalidate: 300,
4120
- tags: ["public-products-{siteId}"],
4131
+ tags: [TAG_TEMPLATES.publicProducts],
4121
4132
  errors: [],
4122
4133
  auth: "public",
4123
4134
  responseKind: "json"
@@ -4126,7 +4137,7 @@ var ENDPOINT_DEFINITIONS = {
4126
4137
  path: "/public/sites/{siteId}/gifting/offers",
4127
4138
  method: "GET",
4128
4139
  revalidate: 300,
4129
- tags: ["public-gifting-{siteId}"],
4140
+ tags: [TAG_TEMPLATES.publicGifting],
4130
4141
  errors: [],
4131
4142
  auth: "public",
4132
4143
  responseKind: "json"
@@ -4134,7 +4145,7 @@ var ENDPOINT_DEFINITIONS = {
4134
4145
  createPublicGiftingCheckout: {
4135
4146
  path: "/public/sites/{siteId}/gifting/checkout",
4136
4147
  method: "POST",
4137
- tags: ["public-gifting-{siteId}"],
4148
+ tags: [TAG_TEMPLATES.publicGifting],
4138
4149
  errors: [],
4139
4150
  auth: "public",
4140
4151
  responseKind: "json"
@@ -4142,7 +4153,7 @@ var ENDPOINT_DEFINITIONS = {
4142
4153
  claimGiftCardPublic: {
4143
4154
  path: "/public/sites/{siteId}/gifting/claim",
4144
4155
  method: "POST",
4145
- tags: ["public-gifting-{siteId}"],
4156
+ tags: [TAG_TEMPLATES.publicGifting],
4146
4157
  errors: [],
4147
4158
  auth: "public",
4148
4159
  responseKind: "json"
@@ -4150,14 +4161,14 @@ var ENDPOINT_DEFINITIONS = {
4150
4161
  createShopCheckout: {
4151
4162
  path: "/public/sites/{siteId}/bookings/checkout",
4152
4163
  method: "POST",
4153
- tags: ["public-shop-{siteId}", "shop-checkout"],
4164
+ tags: [TAG_TEMPLATES.publicShop, "shop-checkout"],
4154
4165
  auth: "public",
4155
4166
  responseKind: "json"
4156
4167
  },
4157
4168
  createUnifiedCheckout: {
4158
4169
  path: "/public/sites/{siteId}/checkout",
4159
4170
  method: "POST",
4160
- tags: ["public-checkout-{siteId}"],
4171
+ tags: [TAG_TEMPLATES.publicCheckout],
4161
4172
  auth: "public",
4162
4173
  responseKind: "json",
4163
4174
  errors: [
@@ -4196,7 +4207,7 @@ var ENDPOINT_DEFINITIONS = {
4196
4207
  path: "/public/sites/{siteId}/events/occurrences/resolve",
4197
4208
  method: "GET",
4198
4209
  revalidate: 60,
4199
- tags: ["public-events-{siteId}", "event-occurrence"],
4210
+ tags: [TAG_TEMPLATES.publicEvents, "event-occurrence"],
4200
4211
  auth: "public",
4201
4212
  responseKind: "json"
4202
4213
  },
@@ -4204,7 +4215,7 @@ var ENDPOINT_DEFINITIONS = {
4204
4215
  registerForEvent: {
4205
4216
  path: "/public/sites/{siteId}/events/register",
4206
4217
  method: "POST",
4207
- tags: ["public-events-{siteId}", "event-registration"],
4218
+ tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
4208
4219
  auth: "public",
4209
4220
  responseKind: "json"
4210
4221
  },
@@ -4212,7 +4223,7 @@ var ENDPOINT_DEFINITIONS = {
4212
4223
  createPublicEventCheckout: {
4213
4224
  path: "/public/sites/{siteId}/events/checkout",
4214
4225
  method: "POST",
4215
- tags: ["public-events-{siteId}", "event-checkout"],
4226
+ tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
4216
4227
  auth: "public",
4217
4228
  responseKind: "json"
4218
4229
  },
@@ -4220,7 +4231,7 @@ var ENDPOINT_DEFINITIONS = {
4220
4231
  checkPublicEventEligibility: {
4221
4232
  path: "/public/sites/{siteId}/events/check-eligibility",
4222
4233
  method: "POST",
4223
- tags: ["public-events-{siteId}", "event-eligibility"],
4234
+ tags: [TAG_TEMPLATES.publicEvents, "event-eligibility"],
4224
4235
  auth: "public",
4225
4236
  responseKind: "json"
4226
4237
  },
@@ -4228,7 +4239,7 @@ var ENDPOINT_DEFINITIONS = {
4228
4239
  getPublicEventRegistrationStatus: {
4229
4240
  path: "/public/sites/{siteId}/events/registration-status",
4230
4241
  method: "GET",
4231
- tags: ["public-events-{siteId}", "event-registration"],
4242
+ tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
4232
4243
  auth: "public",
4233
4244
  responseKind: "json"
4234
4245
  },
@@ -4236,7 +4247,7 @@ var ENDPOINT_DEFINITIONS = {
4236
4247
  getPublicEventTicketQrSvg: {
4237
4248
  path: "/public/sites/{siteId}/events/tickets/qr",
4238
4249
  method: "GET",
4239
- tags: ["public-events-{siteId}", "event-ticket-qr"],
4250
+ tags: [TAG_TEMPLATES.publicEvents, "event-ticket-qr"],
4240
4251
  auth: "public",
4241
4252
  responseKind: "text"
4242
4253
  },
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { ApiRequestError, markPreviewAuthExpired } from './chunk-7RX72SK2.mjs';
2
+ import { ApiRequestError, markPreviewAuthExpired } from './chunk-VX7B5VAC.mjs';
3
3
  import { createContext, useContext, useRef } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
  import { QueryClient, MutationCache, QueryCache, QueryClientProvider } from '@tanstack/react-query';