@riverbankcms/sdk 0.81.0 → 0.84.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 (525) hide show
  1. package/README.md +81 -3
  2. package/dist/{PreviewEditorSidebar-RDCMEXIJ.mjs → PreviewEditorSidebar-HML67UDA.mjs} +367 -507
  3. package/dist/{PreviewEditorSidebar-O4NDX5TP.css → PreviewEditorSidebar-JA4VIPSZ.css} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-PBGALTMK.css → PreviewEditorUI-36T7QYV4.css} +1 -1
  5. package/dist/{PreviewEditorUI-NYGQ6K7B.mjs → PreviewEditorUI-I4BQUU6K.mjs} +4 -6
  6. package/dist/{PreviewEditorUI-4JVDBZBS.css → SdkPreviewModeRuntime-FXKI6XNL.css} +1 -1
  7. package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +8 -0
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +1038 -262
  9. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  10. package/dist/_dts/api/src/analytics.d.ts +1 -1
  11. package/dist/_dts/api/src/blocks.d.ts +36 -0
  12. package/dist/_dts/api/src/bookingConfig.d.ts +4 -0
  13. package/dist/_dts/api/src/contentRuntime.d.ts +49 -3
  14. package/dist/_dts/api/src/courses.d.ts +1 -1
  15. package/dist/_dts/api/src/endpoints.d.ts +40 -0
  16. package/dist/_dts/api/src/event-destination-policy.d.ts +17 -0
  17. package/dist/_dts/api/src/index.d.ts +6 -2
  18. package/dist/_dts/api/src/navigation/boundaries.d.ts +64 -0
  19. package/dist/_dts/api/src/navigation.d.ts +2 -0
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +6 -54
  21. package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
  22. package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
  24. package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
  25. package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
  26. package/dist/_dts/api/src/siteGeneration.d.ts +1 -1
  27. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -42
  28. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
  29. package/dist/_dts/api/src/types.d.ts +1 -1
  30. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
  31. package/dist/_dts/block-form/src/context/BlockContext.d.ts +1 -1
  32. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +1 -1
  33. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +2 -2
  34. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  35. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +1 -1
  36. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  37. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
  38. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
  39. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +2 -1
  40. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  41. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +1 -1
  42. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/Field.d.ts +2 -2
  44. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -3
  45. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +1 -1
  46. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +1 -1
  47. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +1 -1
  48. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +1 -1
  49. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +1 -1
  50. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +1 -1
  51. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +1 -1
  52. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +1 -1
  53. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +1 -1
  54. package/dist/_dts/block-form/src/widgets/stringDefaultValue.d.ts +1 -0
  55. package/dist/_dts/blocks/src/PageRenderer.d.ts +12 -1
  56. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  57. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  58. package/dist/_dts/blocks/src/client.d.ts +4 -0
  59. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -20
  60. package/dist/_dts/blocks/src/index.d.ts +2 -2
  61. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  62. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +7 -7
  63. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -1
  64. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +2 -1
  65. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +3 -0
  66. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +2 -1
  67. package/dist/_dts/blocks/src/primitives/layout/Inline.d.ts +2 -1
  68. package/dist/_dts/blocks/src/primitives/layout/Stack.d.ts +2 -1
  69. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +880 -2608
  70. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +880 -2608
  71. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +880 -2608
  72. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +880 -2608
  73. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +880 -2608
  74. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
  75. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +302 -151
  77. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -20
  78. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +880 -2608
  79. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +880 -2608
  81. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
  82. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  83. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  84. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -10
  85. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2608 -225
  86. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -2
  87. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +28 -0
  88. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +880 -2618
  89. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +880 -2620
  90. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +0 -4
  91. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +880 -2608
  92. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
  93. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -4
  94. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  95. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  96. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -2
  97. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  98. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  99. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +38 -0
  100. package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -1
  101. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
  102. package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
  103. package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
  104. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +106 -217
  105. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +36 -30
  107. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +18 -15
  108. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
  109. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +2 -2
  110. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +3 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -1
  113. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.shared.d.ts +2 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/cart.client.d.ts +2 -1
  115. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.client.d.ts +2 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -1
  118. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +1 -5
  119. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +10 -13
  120. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +3 -2
  121. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -2
  122. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/BookingModeStep.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +2 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +1 -1
  125. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/MembershipHero.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +1 -1
  127. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PortalAuthSidebar.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/SuccessStep.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/WaitlistStep.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +5 -4
  133. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +3 -2
  134. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +2 -1
  136. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +1 -1
  137. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +2 -2
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +1 -1
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSummaryBar.d.ts +2 -1
  140. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +2 -1
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +2 -1
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +2 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +1 -1
  145. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PastOccurrenceNotice.d.ts +2 -1
  146. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SelectableOptionCard.d.ts +1 -1
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +1 -1
  148. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +303 -0
  149. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +1 -1
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -2
  151. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
  152. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -3
  153. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +2 -1
  154. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +38 -11
  155. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.view.d.ts +1 -1
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +2 -1
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  160. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
  161. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.client.d.ts +2 -1
  162. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.server.d.ts +2 -1
  163. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.client.d.ts +2 -2
  164. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +1 -1
  165. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +4 -4
  166. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +1 -1
  167. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +2 -1
  168. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  169. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.client.d.ts +2 -1
  170. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -1
  171. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.client.d.ts +2 -1
  172. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -1
  173. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +2 -1
  174. package/dist/_dts/blocks/src/system/runtime/nodes/shop-add-feedback.d.ts +1 -1
  175. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.d.ts +5 -4
  176. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.server.d.ts +5 -4
  177. package/dist/_dts/blocks/src/system/runtime/nodes/shop.client.d.ts +2 -1
  178. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +0 -17
  179. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -1
  180. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +0 -1
  181. package/dist/_dts/blocks/src/system/runtime/nodes/spinner.d.ts +1 -1
  182. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +6 -0
  183. package/dist/_dts/blocks/src/system/runtime/shared/components/ActionRow.d.ts +1 -1
  184. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckIcon.d.ts +1 -1
  185. package/dist/_dts/blocks/src/system/runtime/shared/components/ClockIcon.d.ts +1 -1
  186. package/dist/_dts/blocks/src/system/runtime/shared/components/CrossIcon.d.ts +1 -1
  187. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +1 -1
  188. package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +1 -1
  189. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  190. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  191. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +1 -1
  192. package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +1 -1
  193. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  194. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +1 -1
  195. package/dist/_dts/content-editor/src/components/EditableBlockProvider.d.ts +1 -1
  196. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -2
  197. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
  198. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  199. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  200. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  201. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +7 -1
  202. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +7 -1
  203. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +2 -0
  204. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -1
  205. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +3 -1
  206. package/dist/_dts/content-editor/src/primitives/shared/types.d.ts +5 -0
  207. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +7 -2
  208. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -40
  209. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -40
  210. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  211. package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
  212. package/dist/_dts/content-model/src/index.d.ts +1 -0
  213. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -1
  214. package/dist/_dts/core/src/event-pricing.d.ts +72 -0
  215. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +127 -7
  216. package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
  217. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +1 -1
  218. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -1
  219. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +1 -1
  220. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +1 -1
  221. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +1 -1
  222. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +1 -1
  223. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +1 -1
  224. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +1 -1
  225. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +1 -1
  226. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +1 -1
  227. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
  228. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +3 -2
  229. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +1 -1
  230. package/dist/_dts/editor-blocks/src/block-editor/AddBlockDivider.d.ts +1 -1
  231. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  232. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  233. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  234. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +1 -1
  235. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  236. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  237. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +2 -2
  238. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +1 -1
  239. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  240. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  241. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +1 -1
  242. package/dist/_dts/editor-blocks/src/block-editor/HeaderActions.d.ts +1 -1
  243. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
  244. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
  245. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
  246. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
  247. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
  248. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  249. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  250. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  251. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  252. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  253. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  254. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  255. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeWidgetProvider.d.ts +1 -1
  256. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  257. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  258. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  259. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  260. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +1 -1
  261. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  262. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  263. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -1
  264. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +1 -1
  265. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +2 -0
  266. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewWidgetProvider.d.ts +10 -0
  267. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/index.d.ts +3 -0
  268. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/orderDomain.d.ts +29 -0
  269. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +1 -1
  270. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  271. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +1 -1
  272. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  273. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  274. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  275. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +1 -1
  276. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
  277. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
  278. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  279. package/dist/_dts/media-editor/src/CropDialogShell.d.ts +1 -1
  280. package/dist/_dts/media-editor/src/FileAssetPreview.d.ts +1 -1
  281. package/dist/_dts/media-editor/src/MediaEditor.d.ts +1 -1
  282. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
  283. package/dist/_dts/media-editor/src/MediaPreview.d.ts +1 -1
  284. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  285. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  286. package/dist/_dts/media-editor/src/provider.d.ts +1 -1
  287. package/dist/_dts/media-react/src/components/AuthenticatedImage.d.ts +1 -1
  288. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +1 -1
  289. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +1 -1
  290. package/dist/_dts/preview-next/src/client/PreviewShellSmoke.d.ts +2 -1
  291. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -3
  292. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +2 -1
  293. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +2 -2
  294. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  295. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +2 -2
  296. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  297. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +1 -1
  298. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +4 -2
  299. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
  300. package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +1 -1
  301. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -1
  302. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +4 -3
  303. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -2
  304. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +2 -1
  305. package/dist/_dts/preview-next/src/client/preview/PreviewAuthInit.d.ts +1 -1
  306. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +2 -2
  307. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +3 -3
  308. package/dist/_dts/preview-next/src/client/preview/PreviewConfirmationDialog.d.ts +2 -1
  309. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +2 -2
  310. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +2 -2
  311. package/dist/_dts/preview-next/src/client/preview/PreviewEditorGuidanceCard.d.ts +2 -1
  312. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
  313. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  314. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -1
  315. package/dist/_dts/preview-next/src/client/preview/PreviewQueryProvider.d.ts +2 -2
  316. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +4 -3
  317. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
  318. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +2 -2
  319. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  320. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  321. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +2 -1
  322. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +10 -1
  323. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +17 -3
  324. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +2 -1
  325. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
  326. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +2 -1
  327. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +14 -1
  328. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +5 -0
  329. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +11 -10
  330. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
  331. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +29 -6
  332. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  333. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +2 -2
  334. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +2 -1
  335. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +5 -3
  336. package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +4 -3
  337. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  338. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
  339. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +1 -1
  340. package/dist/_dts/sdk/src/cli/content/reader.d.ts +15 -22
  341. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
  342. package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
  343. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
  344. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
  345. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
  346. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -1
  347. package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +31 -0
  348. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +2 -2
  349. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -1
  350. package/dist/_dts/sdk/src/cli/sync/validation.d.ts +7 -7
  351. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  352. package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
  353. package/dist/_dts/sdk/src/client/types.d.ts +36 -4
  354. package/dist/_dts/sdk/src/client.d.ts +1 -1
  355. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -14
  356. package/dist/_dts/sdk/src/config/content-validation.d.ts +9 -214
  357. package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
  358. package/dist/_dts/sdk/src/config/types.d.ts +9 -0
  359. package/dist/_dts/sdk/src/config/validation.d.ts +21 -21
  360. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +28 -5
  361. package/dist/_dts/sdk/src/index.d.ts +1 -1
  362. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +6 -6
  363. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +4 -3
  364. package/dist/_dts/sdk/src/public-api/contracts.d.ts +42 -37
  365. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  366. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +1 -1
  367. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +1 -1
  368. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  369. package/dist/_dts/sdk/src/rendering/components/Page.d.ts +1 -1
  370. package/dist/_dts/sdk/src/rendering/components/Page.server.d.ts +1 -1
  371. package/dist/_dts/sdk/src/rendering/components/PageHydrationBootstrap.d.ts +1 -1
  372. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
  373. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +10 -9
  374. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +9 -0
  375. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -57
  376. package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
  377. package/dist/_dts/sdk/src/rendering/primitives/RichText.d.ts +2 -1
  378. package/dist/_dts/sdk/src/server.d.ts +1 -1
  379. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +1 -1
  380. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  381. package/dist/_dts/sdk/src/version.d.ts +1 -1
  382. package/dist/_dts/site-commands/src/commands.d.ts +84 -21
  383. package/dist/_dts/theme-core/src/ClientThemeScope.d.ts +1 -1
  384. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +3 -2
  385. package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
  386. package/dist/_dts/theme-core/src/ThemeScopeCore.d.ts +1 -1
  387. package/dist/_dts/theme-core/src/accordions/types.d.ts +6 -6
  388. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  389. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
  390. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +8 -8
  391. package/dist/_dts/theme-core/src/buttons/types.d.ts +20 -20
  392. package/dist/_dts/theme-core/src/cards/types.d.ts +20 -20
  393. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  394. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  395. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  396. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -225
  397. package/dist/_dts/theme-core/src/mock-themes/components/PaletteCard.d.ts +1 -1
  398. package/dist/_dts/theme-core/src/mock-themes/components/swatch.d.ts +1 -1
  399. package/dist/_dts/theme-core/src/navigation/presets.d.ts +1 -1
  400. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  401. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  402. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +6 -6
  403. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
  404. package/dist/_dts/theme-core/src/schema.d.ts +263 -248
  405. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  406. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +27 -0
  407. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
  408. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +16 -14
  409. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
  410. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +11 -9
  411. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  412. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  413. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  414. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  415. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
  416. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +30 -0
  417. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  418. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +2 -2
  419. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -1
  420. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  421. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
  422. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  423. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
  424. package/dist/_dts/ui/src/async-boundary.d.ts +1 -1
  425. package/dist/_dts/ui/src/badge.d.ts +1 -1
  426. package/dist/_dts/ui/src/button-group.d.ts +3 -3
  427. package/dist/_dts/ui/src/calendar.d.ts +2 -2
  428. package/dist/_dts/ui/src/card.d.ts +6 -6
  429. package/dist/_dts/ui/src/combobox.d.ts +1 -1
  430. package/dist/_dts/ui/src/command-multi-select.d.ts +1 -1
  431. package/dist/_dts/ui/src/content-spinner.d.ts +1 -1
  432. package/dist/_dts/ui/src/delayed-spinner.d.ts +1 -1
  433. package/dist/_dts/ui/src/dev-toolbar.d.ts +1 -1
  434. package/dist/_dts/ui/src/dialog.d.ts +10 -10
  435. package/dist/_dts/ui/src/dropdown-menu.d.ts +1 -1
  436. package/dist/_dts/ui/src/editor-drawer.d.ts +1 -1
  437. package/dist/_dts/ui/src/empty-state.d.ts +1 -1
  438. package/dist/_dts/ui/src/filter-button-group.d.ts +1 -1
  439. package/dist/_dts/ui/src/fixed-bottom-surface.d.ts +1 -1
  440. package/dist/_dts/ui/src/form.d.ts +7 -7
  441. package/dist/_dts/ui/src/label.d.ts +1 -1
  442. package/dist/_dts/ui/src/menubar.d.ts +16 -16
  443. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -2
  444. package/dist/_dts/ui/src/number-input.d.ts +1 -1
  445. package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +1 -1
  446. package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +1 -1
  447. package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +1 -1
  448. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +1 -1
  449. package/dist/_dts/ui/src/resizable-split-pane.d.ts +1 -1
  450. package/dist/_dts/ui/src/select.d.ts +10 -10
  451. package/dist/_dts/ui/src/separator.d.ts +1 -1
  452. package/dist/_dts/ui/src/sheet.d.ts +9 -9
  453. package/dist/_dts/ui/src/spinner.d.ts +1 -1
  454. package/dist/_dts/ui/src/tooltip.d.ts +4 -4
  455. package/dist/{chunk-4T5JIPWY.mjs → chunk-3LXFQS7T.mjs} +1 -1
  456. package/dist/{chunk-3QWQ2MUQ.mjs → chunk-5E33VO6J.mjs} +3128 -2300
  457. package/dist/{chunk-3VT7LZY2.mjs → chunk-6X2OVO3S.mjs} +2 -2
  458. package/dist/{chunk-3PTVPAT4.mjs → chunk-HFMGVJCE.mjs} +388 -56
  459. package/dist/{chunk-E3NZYEKF.mjs → chunk-LBBPD2IW.mjs} +53 -2
  460. package/dist/{chunk-WUHKQBB6.mjs → chunk-MSHZO4SL.mjs} +23773 -18556
  461. package/dist/cli/index.mjs +6062 -3246
  462. package/dist/cli/init-docs/content/getting-started.md +2 -0
  463. package/dist/cli/init-docs/content/workflow-custom-block.md +5 -0
  464. package/dist/cli/init-docs/content/workflow-templates.md +93 -2
  465. package/dist/client/{accordion-SFIIZWNH.mjs → accordion-ESY65T56.mjs} +2 -2
  466. package/dist/client/{bookingForm-CFKZVWGA.mjs → bookingForm-JRFNZUHD.mjs} +12 -12
  467. package/dist/client/bookings.mjs +3568 -299
  468. package/dist/client/{carousel-ELXWSBLA.mjs → carousel-CPR5VWIP.mjs} +3 -3
  469. package/dist/client/{cart-6SSCPYY5.mjs → cart-ZUX5BA7O.mjs} +8 -7
  470. package/dist/client/{checkout-UFQ34HPV.mjs → checkout-RULGBADZ.mjs} +8 -7
  471. package/dist/client/{chunk-PA2LJH2M.mjs → chunk-52I7BGEK.mjs} +5 -4
  472. package/dist/client/{chunk-IUEDYLFJ.mjs → chunk-5ZEAZ33K.mjs} +1 -1
  473. package/dist/client/{chunk-V6XI4M2Q.mjs → chunk-BT6AEIKN.mjs} +1 -1
  474. package/dist/client/{chunk-3PEDD5KJ.mjs → chunk-DVNUDUVT.mjs} +1 -1
  475. package/dist/client/{chunk-YLMKMCSJ.mjs → chunk-GFSQNTRW.mjs} +1 -3
  476. package/dist/client/{chunk-NX6X3GRF.mjs → chunk-HXPWP5EN.mjs} +492 -201
  477. package/dist/client/{chunk-G56BSZAM.mjs → chunk-JWEYB4V6.mjs} +3 -3
  478. package/dist/client/chunk-L4J5Y62O.mjs +18 -0
  479. package/dist/client/{chunk-76JUETXQ.mjs → chunk-RDJFCPY3.mjs} +358 -157
  480. package/dist/client/{chunk-RMWMT3ZD.mjs → chunk-SYIJ5JO2.mjs} +1 -1
  481. package/dist/client/{chunk-NP47RHIX.mjs → chunk-URQCZD5W.mjs} +17 -34
  482. package/dist/client/{chunk-TCJS3NY5.mjs → chunk-Z5OBQ5I4.mjs} +1 -1
  483. package/dist/client/{chunk-7BXX7WXH.mjs → chunk-ZE5G642V.mjs} +60 -2
  484. package/dist/client/client.mjs +75121 -72133
  485. package/dist/client/{courseRegistration-HJIISAAG.mjs → courseRegistration-QTUDC35T.mjs} +13 -12
  486. package/dist/client/{eventCalendar-F6YVUCZR.mjs → eventCalendar-Q7NS4XLD.mjs} +14 -14
  487. package/dist/client/{eventCombined-B5DSTIOK.mjs → eventCombined-QAO7VUO5.mjs} +14 -14
  488. package/dist/client/{eventDetails-SEJDDHQC.mjs → eventDetails-WTNNU6Q3.mjs} +9 -9
  489. package/dist/client/{eventListing-TPMWIIBO.mjs → eventListing-5TA2ELDT.mjs} +14 -14
  490. package/dist/client/{eventRegistration-QU6W2PV6.mjs → eventRegistration-M6USZGRF.mjs} +17 -15
  491. package/dist/client/{form-LVTYNTDE.mjs → form-DGVGXLMH.mjs} +3 -3
  492. package/dist/client/{headerSection-SO3MFC4U.mjs → headerSection-O2AGMPCU.mjs} +4 -4
  493. package/dist/client/hooks.mjs +7289 -5663
  494. package/dist/client/{locationMap-5E5FLAKO.mjs → locationMap-EJRNRIKJ.mjs} +2 -2
  495. package/dist/client/{newsletterForm-GN32JEBQ.mjs → newsletterForm-7NTC2DTR.mjs} +3 -3
  496. package/dist/client/{productDetail-Q346KSVR.mjs → productDetail-HH4LP53D.mjs} +8 -7
  497. package/dist/client/{productList-DTDMQYGZ.mjs → productList-YVHYM2AF.mjs} +8 -7
  498. package/dist/client/rendering/client.mjs +3818 -2234
  499. package/dist/client/rendering/islands.mjs +19 -19
  500. package/dist/client/rendering.mjs +17370 -14360
  501. package/dist/client/{shop-OFUW7KPN.mjs → shop-UIFX7XRK.mjs} +8 -7
  502. package/dist/client/spam-protection.mjs +3 -5
  503. package/dist/preview-next/before-render.mjs +40 -0
  504. package/dist/preview-next/client/runtime.css +1 -1
  505. package/dist/preview-next/client/runtime.mjs +5 -5
  506. package/dist/preview-next/middleware.mjs +40 -0
  507. package/dist/{sdk-runtime-EEMNSB7J.css → sdk-runtime-JD4A6SU6.css} +1 -1
  508. package/dist/{sdk-runtime-2GIX6I7X.mjs → sdk-runtime-ZENAOYMN.mjs} +6 -6
  509. package/dist/server/components.mjs +13473 -11321
  510. package/dist/server/config-validation.mjs +7017 -5489
  511. package/dist/server/config.mjs +7017 -5489
  512. package/dist/server/data.mjs +7295 -5669
  513. package/dist/server/index.mjs +149 -56
  514. package/dist/server/next.mjs +14431 -12060
  515. package/dist/server/page-converter.mjs +8062 -5399
  516. package/dist/server/prebuild.mjs +2 -1
  517. package/dist/server/rendering/server.mjs +13510 -11263
  518. package/dist/server/rendering.mjs +13613 -11293
  519. package/dist/server/routing.mjs +30919 -29206
  520. package/dist/server/server.mjs +27669 -25919
  521. package/dist/server/theme-bridge.mjs +1288 -146
  522. package/dist/server/theme.mjs +221 -131
  523. package/dist/styles/index.css +416 -96
  524. package/package.json +16 -16
  525. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +0 -8
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-4T5JIPWY.mjs';
3
- import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, sanitizeDashboardPath } from './chunk-3QWQ2MUQ.mjs';
4
- import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-3VT7LZY2.mjs';
5
- import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, unsafeAsLinkedContentEntryId, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-WUHKQBB6.mjs';
6
- import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken } from './chunk-E3NZYEKF.mjs';
2
+ import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-3LXFQS7T.mjs';
3
+ import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, OfferingsPreviewWidgetProvider, previewWidgetOverrides, sanitizeDashboardPath } from './chunk-5E33VO6J.mjs';
4
+ import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-6X2OVO3S.mjs';
5
+ import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, unsafeAsLinkedContentEntryId, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, canCycleBackgroundOverrideValue, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, getLinkedContentEntryMeta, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, formatSiteChromeBackgroundTokenLabel, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-MSHZO4SL.mjs';
6
+ import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken } from './chunk-LBBPD2IW.mjs';
7
7
  import React10, { createContext, useMemo, useState, useEffect, useRef, useCallback, useId, useReducer, Children, isValidElement, Fragment as Fragment$1, cloneElement, useContext } from 'react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { createPortal } from 'react-dom';
@@ -203,13 +203,14 @@ function cloneRecord(value) {
203
203
  }
204
204
 
205
205
  // ../preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.ts
206
- function runtimeContentDecorationProjectionFromEditorModel(editorModel, surfaceResolutionContext) {
206
+ function runtimeContentDecorationProjectionFromEditorModel(editorModel, surfaceResolutionContext, designRules) {
207
207
  return {
208
208
  kind: "runtime-content-decoration",
209
209
  source: "page-design",
210
210
  fieldsByBlockId: buildEditorModelRuntimeFieldsByBlockId({
211
211
  editorModel,
212
- surfaceResolutionContext
212
+ surfaceResolutionContext,
213
+ designRules
213
214
  })
214
215
  };
215
216
  }
@@ -289,15 +290,22 @@ function overlayValue(value, overlays) {
289
290
  if (meta) {
290
291
  const overlay = overlays.get(unsafeAsLinkedContentEntryId(meta.entryId));
291
292
  if (overlay) {
292
- const title = resolveOverlayTitle(overlay.content, meta);
293
+ const displayProjections = resolveOverlayDisplayProjections(overlay.content, meta);
294
+ const titleProjection = resolveOverlayTitleProjection({
295
+ currentValue: value,
296
+ content: overlay.content,
297
+ meta,
298
+ displayProjections
299
+ });
293
300
  return {
294
301
  ...value,
295
- title,
302
+ ...displayProjections,
303
+ ...titleProjection ? { title: titleProjection } : {},
296
304
  content: overlay.content,
297
305
  optimisticHash: overlay.optimisticHash,
298
306
  [LINKED_CONTENT_ENTRY_META_KEY]: {
299
307
  ...meta,
300
- title,
308
+ ...titleProjection ? { title: titleProjection } : {},
301
309
  optimisticHash: overlay.optimisticHash
302
310
  }
303
311
  };
@@ -312,6 +320,27 @@ function overlayValue(value, overlays) {
312
320
  }
313
321
  return changed ? next : value;
314
322
  }
323
+ function resolveOverlayDisplayProjections(content, meta) {
324
+ const projections = {};
325
+ for (const source of meta.fieldSources) {
326
+ if (source.kind !== "content-field") continue;
327
+ if (source.displayPath.startsWith("content.")) continue;
328
+ if (source.displayPath.includes(".")) continue;
329
+ if (!(source.fieldPath in content)) continue;
330
+ projections[source.displayPath] = content[source.fieldPath];
331
+ }
332
+ return projections;
333
+ }
334
+ function resolveOverlayTitleProjection(input) {
335
+ const projectedTitle = input.displayProjections.title;
336
+ if (typeof projectedTitle === "string") return projectedTitle;
337
+ const titleSource = input.meta.fieldSources.find((source) => source.displayPath === "title");
338
+ if (titleSource?.kind === "read-only") {
339
+ const currentTitle = input.currentValue.title;
340
+ return typeof currentTitle === "string" ? currentTitle : input.meta.title;
341
+ }
342
+ return resolveOverlayTitle(input.content, input.meta);
343
+ }
315
344
  function resolveOverlayTitle(content, meta) {
316
345
  const titleField = meta.contentType.titleField;
317
346
  if (titleField) {
@@ -323,8 +352,7 @@ function resolveOverlayTitle(content, meta) {
323
352
  return meta.title;
324
353
  }
325
354
  function parseLinkedEntryMeta(value) {
326
- if (!isRecord3(value)) return null;
327
- return value.kind === "linked-content-entry" && typeof value.entryId === "string" ? value : null;
355
+ return getLinkedContentEntryMeta({ [LINKED_CONTENT_ENTRY_META_KEY]: value });
328
356
  }
329
357
  function isRecord3(value) {
330
358
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -463,16 +491,39 @@ function draftSnapshotMap(snapshots) {
463
491
 
464
492
  // ../preview-next/src/client/preview/linkedEntryEditEvents.ts
465
493
  var LINKED_ENTRY_EDIT_EVENT = "riverbank:preview:linked-entry-edit";
494
+ var LINKED_ENTRY_FIELD_FOCUS_EVENT = "riverbank:preview:linked-entry-field-focus";
495
+ var BLOCK_FIELD_FOCUS_EVENT = "riverbank:preview:block-field-focus";
466
496
  function dispatchLinkedEntryEditEvent(target) {
467
497
  window.dispatchEvent(new CustomEvent(LINKED_ENTRY_EDIT_EVENT, {
468
498
  detail: target
469
499
  }));
470
500
  }
501
+ function dispatchLinkedEntryFieldFocusEvent(binding) {
502
+ window.dispatchEvent(new CustomEvent(LINKED_ENTRY_FIELD_FOCUS_EVENT, {
503
+ detail: binding
504
+ }));
505
+ }
506
+ function dispatchBlockFieldFocusEvent(target) {
507
+ window.dispatchEvent(new CustomEvent(BLOCK_FIELD_FOCUS_EVENT, {
508
+ detail: target
509
+ }));
510
+ }
471
511
  function isLinkedEntryEditEvent(event) {
472
512
  if (!(event instanceof CustomEvent)) return false;
473
513
  const detail = event.detail;
474
514
  return Boolean(detail) && typeof detail === "object" && detail.kind === "linked-content-entry";
475
515
  }
516
+ function isLinkedEntryFieldFocusEvent(event) {
517
+ if (!(event instanceof CustomEvent)) return false;
518
+ const detail = event.detail;
519
+ const write = detail?.write;
520
+ return Boolean(detail) && typeof detail === "object" && detail.kind === "linked-entry-field" && Boolean(detail.target) && Boolean(write) && typeof write === "object" && typeof write.fieldPath === "string";
521
+ }
522
+ function isBlockFieldFocusEvent(event) {
523
+ if (!(event instanceof CustomEvent)) return false;
524
+ const detail = event.detail;
525
+ return Boolean(detail) && typeof detail === "object" && detail.kind === "block-field" && typeof detail.blockId === "string" && typeof detail.fieldPath === "string";
526
+ }
476
527
  function requireClientRegistryComponent(key) {
477
528
  const component = clientComponentRegistry[key];
478
529
  if (!component) {
@@ -481,19 +532,48 @@ function requireClientRegistryComponent(key) {
481
532
  return component;
482
533
  }
483
534
  var ButtonComponent = requireClientRegistryComponent("button");
484
- var TextWithEditor = ({ value, children, path, ...rest }) => {
535
+ function dispatchBlockFieldFocusEventFromPath(path) {
536
+ const match = path.match(/^blocks\.([^.]+)\.(.+)$/);
537
+ if (!match?.[1] || !match[2]) return;
538
+ dispatchBlockFieldFocusEvent({
539
+ kind: "block-field",
540
+ blockId: match[1],
541
+ fieldPath: match[2]
542
+ });
543
+ }
544
+ var TextWithEditor = ({ value, children, path, linkedEntryField, ...rest }) => {
485
545
  const raw = value ?? children;
486
546
  const content = typeof raw === "string" || typeof raw === "number" ? raw : "";
487
547
  const { isEditingMode } = useEditor();
488
548
  if (isEditingMode) {
489
- return path ? /* @__PURE__ */ jsx(PreviewTextEditor, { ...rest, path, children: content }) : /* @__PURE__ */ jsx(Text, { ...rest, children: content });
549
+ return path || linkedEntryField ? /* @__PURE__ */ jsx(
550
+ PreviewTextEditor,
551
+ {
552
+ ...rest,
553
+ path,
554
+ linkedEntryField,
555
+ onLinkedEntryFieldFocus: dispatchLinkedEntryFieldFocusEvent,
556
+ onBlockFieldFocus: dispatchBlockFieldFocusEventFromPath,
557
+ children: content
558
+ }
559
+ ) : /* @__PURE__ */ jsx(Text, { ...rest, children: content });
490
560
  }
491
561
  return /* @__PURE__ */ jsx(Text, { ...rest, path, children: content });
492
562
  };
493
- var RichTextWithEditor = ({ value, path, ...rest }) => {
563
+ var RichTextWithEditor = ({ value, path, linkedEntryField, ...rest }) => {
494
564
  const { isEditingMode } = useEditor();
495
- if (isEditingMode && path) {
496
- return /* @__PURE__ */ jsx(PreviewRichTextEditor, { ...rest, path, doc: value });
565
+ if (isEditingMode && (path || linkedEntryField)) {
566
+ return /* @__PURE__ */ jsx(
567
+ PreviewRichTextEditor,
568
+ {
569
+ ...rest,
570
+ path,
571
+ linkedEntryField,
572
+ onLinkedEntryFieldFocus: dispatchLinkedEntryFieldFocusEvent,
573
+ onBlockFieldFocus: dispatchBlockFieldFocusEventFromPath,
574
+ doc: value
575
+ }
576
+ );
497
577
  }
498
578
  return /* @__PURE__ */ jsx(RichText, { ...rest, path, doc: value });
499
579
  };
@@ -575,9 +655,10 @@ function blockReceivesHeaderClearance(blocks, blockIndex) {
575
655
  function planBlockToolbarPlacement(input) {
576
656
  if (input.headerClearance.kind === "overlay" && blockReceivesHeaderClearance(input.blocks, input.blockIndex)) {
577
657
  return {
578
- kind: "anchor-top-right",
579
- topPx: input.headerClearance.px + PREVIEW_CHROME_EDGE_OFFSET_PX,
580
- rightPx: PREVIEW_CHROME_EDGE_OFFSET_PX
658
+ kind: "anchor-top-right-clamped",
659
+ topPx: PREVIEW_CHROME_EDGE_OFFSET_PX,
660
+ rightPx: PREVIEW_CHROME_EDGE_OFFSET_PX,
661
+ minTopPx: input.headerClearance.px + PREVIEW_CHROME_EDGE_OFFSET_PX
581
662
  };
582
663
  }
583
664
  return {
@@ -610,13 +691,14 @@ function resolvePreviewChromeFloatingPosition(input) {
610
691
  const anchorBox = input.anchorBox;
611
692
  if (!isUsableAnchorBox(anchorBox)) {
612
693
  return {
613
- topPx: input.placement.topPx,
694
+ topPx: resolvePreviewChromeMinimumTopPx(input.placement),
614
695
  rightPx: input.placement.rightPx
615
696
  };
616
697
  }
617
698
  return {
618
699
  topPx: Math.max(
619
700
  PREVIEW_CHROME_EDGE_OFFSET_PX,
701
+ resolvePreviewChromeMinimumTopPx(input.placement),
620
702
  anchorBox.top - (input.containerTopEdgePx ?? 0) + input.placement.topPx
621
703
  ),
622
704
  rightPx: Math.max(
@@ -625,6 +707,9 @@ function resolvePreviewChromeFloatingPosition(input) {
625
707
  )
626
708
  };
627
709
  }
710
+ function resolvePreviewChromeMinimumTopPx(placement) {
711
+ return placement.kind === "anchor-top-right-clamped" ? placement.minTopPx : placement.topPx;
712
+ }
628
713
  function isUsableAnchorBox(box) {
629
714
  return Boolean(
630
715
  box && Number.isFinite(box.top) && Number.isFinite(box.right) && Number.isFinite(box.bottom) && Number.isFinite(box.height) && box.height > 0
@@ -1021,13 +1106,14 @@ function CustomizePopoverShell({
1021
1106
  onClose,
1022
1107
  onKeyDown,
1023
1108
  spacing = "normal",
1109
+ side = "below",
1024
1110
  children
1025
1111
  }) {
1026
1112
  return /* @__PURE__ */ jsxs(
1027
1113
  "div",
1028
1114
  {
1029
1115
  id: panelId,
1030
- className: "builder-dashboard-chrome-theme fixed inset-x-3 bottom-[calc(var(--builder-editor-chrome-offset,0px)+1rem)] z-[70] rounded-lg border bg-background p-3 text-foreground shadow-xl sm:absolute sm:inset-x-auto sm:bottom-auto sm:right-0 sm:top-9 sm:w-72",
1116
+ className: `builder-dashboard-chrome-theme fixed inset-x-3 bottom-[calc(var(--builder-editor-chrome-offset,0px)+1rem)] z-[70] max-h-[calc(100vh-var(--builder-editor-chrome-offset,0px)-2rem)] overflow-y-auto rounded-lg border bg-background p-3 text-foreground shadow-xl sm:absolute sm:inset-x-auto sm:right-0 sm:w-72 ${desktopPopoverSideClassName(side)}`,
1031
1117
  role: "dialog",
1032
1118
  "aria-modal": "true",
1033
1119
  "aria-label": dialogLabel,
@@ -1061,6 +1147,9 @@ function CustomizePopoverShell({
1061
1147
  }
1062
1148
  );
1063
1149
  }
1150
+ function desktopPopoverSideClassName(side) {
1151
+ return side === "above" ? "sm:bottom-9 sm:top-auto" : "sm:bottom-auto sm:top-9";
1152
+ }
1064
1153
  function CustomizeCycleRow({
1065
1154
  label,
1066
1155
  valueLabel,
@@ -1290,6 +1379,7 @@ function BlockToolbar({
1290
1379
  blockId,
1291
1380
  blockKind,
1292
1381
  content,
1382
+ bookingOfferingPresets,
1293
1383
  theme = null,
1294
1384
  placement = DEFAULT_PREVIEW_CHROME_FLOATING_PLACEMENT
1295
1385
  }) {
@@ -1551,7 +1641,7 @@ function BlockToolbar({
1551
1641
  placement,
1552
1642
  fallbackClassName: "pointer-events-auto absolute z-50 flex gap-1 opacity-0 transition group-focus-within:opacity-100 group-hover:opacity-100",
1553
1643
  fallbackStyle: {
1554
- top: placement.topPx,
1644
+ top: placement.kind === "anchor-top-right-clamped" ? placement.minTopPx : placement.topPx,
1555
1645
  right: placement.rightPx
1556
1646
  },
1557
1647
  forceVisible: popover.open,
@@ -1607,16 +1697,17 @@ function BlockToolbar({
1607
1697
  onToggleBackgroundChooser: () => setBackgroundChooserOpen((open) => !open)
1608
1698
  })
1609
1699
  ),
1610
- quickManifestFields.length > 0 && quickManifestBackend ? /* @__PURE__ */ jsx("div", { className: "border-t pt-3", children: /* @__PURE__ */ jsx(
1700
+ quickManifestFields.length > 0 && quickManifestBackend ? /* @__PURE__ */ jsx("div", { className: "border-t pt-3", children: /* @__PURE__ */ jsx(OfferingsPreviewWidgetProvider, { bookingOfferingPresets, children: /* @__PURE__ */ jsx(
1611
1701
  FormRenderer,
1612
1702
  {
1613
1703
  fields: quickManifestFields,
1614
1704
  backend: quickManifestBackend,
1705
+ widgetOverrides: previewWidgetOverrides,
1615
1706
  showSettingsTrigger: false,
1616
1707
  blockKind,
1617
1708
  className: "space-y-3"
1618
1709
  }
1619
- ) }) : null,
1710
+ ) }) }) : null,
1620
1711
  historyFailure ? /* @__PURE__ */ jsx("p", { className: "text-xs text-red-700", children: historyFailure }) : null,
1621
1712
  hasOverflowCustomizeControls ? /* @__PURE__ */ jsx("div", { className: "border-t pt-2", children: /* @__PURE__ */ jsx(
1622
1713
  "button",
@@ -2076,18 +2167,6 @@ function backgroundOverrideValueLabel(override, imagePool) {
2076
2167
  return imagePool.find((item) => item.mediaId === override.mediaId)?.label ?? "Image";
2077
2168
  }
2078
2169
  }
2079
- function canCycleBackgroundOverrideValue(override, capability) {
2080
- switch (override.kind) {
2081
- case "default":
2082
- return false;
2083
- case "color":
2084
- return (capability.colorTokens?.length ?? 0) > 1;
2085
- case "gradient":
2086
- return (capability.gradientIds?.length ?? 0) > 1;
2087
- case "image":
2088
- return rankBackgroundImagePoolItems(capability.imagePool ?? []).length > 1;
2089
- }
2090
- }
2091
2170
  function BackgroundPreviewSwatch({
2092
2171
  override,
2093
2172
  imagePool
@@ -2329,7 +2408,7 @@ function BoundaryControl({
2329
2408
  "button",
2330
2409
  {
2331
2410
  type: "button",
2332
- className: "pointer-events-auto relative z-10 flex h-12 min-w-32 items-center justify-center rounded-full opacity-0 transition hover:opacity-100 focus:opacity-100 focus:outline-none focus:ring-2 focus:ring-sky-300 group-hover/boundary:opacity-100 group-focus-within/boundary:opacity-100",
2411
+ className: "pointer-events-auto absolute inset-0 z-10 flex items-center justify-center opacity-0 transition hover:opacity-100 focus:opacity-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-sky-300 group-hover/boundary:opacity-100 group-focus-within/boundary:opacity-100",
2333
2412
  "aria-controls": open ? panelId : void 0,
2334
2413
  "aria-expanded": open,
2335
2414
  "aria-haspopup": "dialog",
@@ -2515,7 +2594,8 @@ function pageDesignRuntimeProjectionFromSource(source) {
2515
2594
  if (source.kind === "preserve-server-runtime") return null;
2516
2595
  return runtimeContentDecorationProjectionFromEditorModel(
2517
2596
  source.editorModel,
2518
- source.surfaceResolutionContext
2597
+ source.surfaceResolutionContext,
2598
+ source.designRules
2519
2599
  );
2520
2600
  }
2521
2601
  function resolveRuntimePreviewSource(input) {
@@ -2523,7 +2603,8 @@ function resolveRuntimePreviewSource(input) {
2523
2603
  return {
2524
2604
  kind: "apply-editor-model",
2525
2605
  editorModel: input.pageDesignState.editorModel,
2526
- surfaceResolutionContext: input.surfaceResolutionContext
2606
+ surfaceResolutionContext: input.surfaceResolutionContext,
2607
+ designRules: input.designRules
2527
2608
  };
2528
2609
  }
2529
2610
  return { kind: "preserve-server-runtime" };
@@ -2584,9 +2665,10 @@ function EditablePageRenderer(props) {
2584
2665
  const runtimePreviewSource = useMemo(
2585
2666
  () => resolveRuntimePreviewSource({
2586
2667
  pageDesignState,
2587
- surfaceResolutionContext
2668
+ surfaceResolutionContext,
2669
+ designRules: designRuntimeRulesForTheme(pageRendererProps.theme)
2588
2670
  }),
2589
- [pageDesignState, surfaceResolutionContext]
2671
+ [pageDesignState, pageRendererProps.theme, surfaceResolutionContext]
2590
2672
  );
2591
2673
  const runtimeProjection = useMemo(
2592
2674
  () => pageDesignRuntimeProjectionFromSource(runtimePreviewSource),
@@ -2670,6 +2752,7 @@ function EditablePageRenderer(props) {
2670
2752
  blockId,
2671
2753
  blockKind: block.kind,
2672
2754
  content,
2755
+ bookingOfferingPresets: pageRendererProps.dataContext?.bookingOfferingPresets ?? [],
2673
2756
  theme: pageRendererProps.theme,
2674
2757
  placement: planBlockToolbarPlacement({
2675
2758
  blocks: chromeBlocks,
@@ -3059,8 +3142,8 @@ function PreviewAuthInit({
3059
3142
  token
3060
3143
  }) {
3061
3144
  const lastInitRef = useRef(null);
3062
- const sessionKey = session ? session.kind === "userSession" ? `${session.kind}:${session.canEdit}:${session.canManage}:${session.expiresAt}` : `${session.kind}:${session.expiresAt}` : "none";
3063
- const currentKey = `${siteId}:${pageId}:${sessionKey}:${token ? "has-token" : "no-token"}`;
3145
+ const sessionKey = session ? session.kind === "userSession" ? `${session.kind}:${session.canEdit}:${session.canManage}:${session.expiresAt ?? "no-expiry"}` : `${session.kind}:${session.expiresAt ?? "no-expiry"}` : "none";
3146
+ const currentKey = `${siteId}:${pageId ?? "no-page"}:${sessionKey}:${token ? "has-token" : "no-token"}`;
3064
3147
  if (lastInitRef.current !== currentKey) {
3065
3148
  initPreviewAuth({
3066
3149
  session,
@@ -3982,6 +4065,7 @@ function PreviewAuthBanner({
3982
4065
  // ../blocks/src/client/site-chrome.tsx
3983
4066
  function renderSiteChromeBlock(model, surface, theme, options = {}) {
3984
4067
  const spec = model[surface];
4068
+ if (!spec) return null;
3985
4069
  const themeConfig = options.themeConfigOverrideMode === "ignore" ? theme : applyThemeConfigOverride(theme, spec.themeConfigOverride);
3986
4070
  const themeRuntime = buildThemeRuntime(themeConfig);
3987
4071
  const manifest = surface === "header" ? siteHeaderManifest : siteFooterManifest;
@@ -4012,25 +4096,34 @@ function SiteChromeCustomizeButton({
4012
4096
  }) {
4013
4097
  const customize = useSiteChromeCustomizeOptional();
4014
4098
  const popover = useCustomizePopoverController();
4099
+ const popoverSide = useSiteChromeCustomizePopoverSide({
4100
+ open: popover.open,
4101
+ surface,
4102
+ buttonRef: popover.buttonRef,
4103
+ dialogRef: popover.dialogRef
4104
+ });
4015
4105
  const surfaceState = customize?.getSurfaceState(surface) ?? {
4016
4106
  kind: "unavailable"
4017
4107
  };
4018
4108
  const hasCustomizeControls = surfaceState.kind === "available";
4109
+ const background = surfaceState.kind === "available" ? surfaceState.background : null;
4019
4110
  const cycleableOptionCount = useMemo(() => {
4020
4111
  if (surfaceState.kind !== "available") return 0;
4021
4112
  return surfaceState.options.filter((option) => option.available).length;
4022
4113
  }, [surfaceState]);
4023
4114
  const cycleableLayoutOptionCount = useMemo(() => {
4024
- if (surfaceState.kind !== "available" || surfaceState.surface !== "header") {
4115
+ if (surfaceState.kind !== "available") {
4025
4116
  return 0;
4026
4117
  }
4027
4118
  return surfaceState.layoutOptions.filter((option) => option.available).length;
4028
4119
  }, [surfaceState]);
4029
4120
  const controlPlan = useMemo(() => {
4030
- if (surfaceState.kind !== "available") return { cycleRows: [] };
4121
+ if (surfaceState.kind !== "available" || !background) {
4122
+ return { cycleRows: [] };
4123
+ }
4031
4124
  return {
4032
4125
  cycleRows: [
4033
- ...surfaceState.surface === "header" ? [
4126
+ ...surfaceState.surface === "header" || surfaceState.surface === "footer" ? [
4034
4127
  {
4035
4128
  label: "Layout",
4036
4129
  valueLabel: surfaceState.currentLayoutLabel,
@@ -4055,10 +4148,25 @@ function SiteChromeCustomizeButton({
4055
4148
  }),
4056
4149
  onPrevious: () => customize?.cycleSurfaceLook(surface, "prev"),
4057
4150
  onNext: () => customize?.cycleSurfaceLook(surface, "next")
4058
- }
4151
+ },
4152
+ ...background.available ? [
4153
+ {
4154
+ label: "Background",
4155
+ valueLabel: background.currentLabel,
4156
+ previousLabel: `Previous ${surface} background`,
4157
+ nextLabel: `Next ${surface} background`,
4158
+ availability: cycleAvailabilityFromFlags({
4159
+ canCycle: background.quickTokens.length > 0,
4160
+ applyAllowed: surfaceState.applyAllowed
4161
+ }),
4162
+ onPrevious: () => customize?.cycleSurfaceBackground(surface, "prev"),
4163
+ onNext: () => customize?.cycleSurfaceBackground(surface, "next")
4164
+ }
4165
+ ] : []
4059
4166
  ]
4060
4167
  };
4061
4168
  }, [
4169
+ background,
4062
4170
  customize,
4063
4171
  cycleableLayoutOptionCount,
4064
4172
  cycleableOptionCount,
@@ -4096,8 +4204,18 @@ function SiteChromeCustomizeButton({
4096
4204
  closeButtonRef: popover.registerInitialFocus,
4097
4205
  onClose: popover.close,
4098
4206
  onKeyDown: popover.handleDialogKeyDown,
4207
+ side: popoverSide,
4099
4208
  children: [
4100
4209
  controlPlan.cycleRows.map((row) => /* @__PURE__ */ jsx(CustomizeCycleRow, { ...row }, row.label)),
4210
+ background?.available ? /* @__PURE__ */ jsx(
4211
+ SiteChromeBackgroundPalette,
4212
+ {
4213
+ surface: surfaceState.surface,
4214
+ background,
4215
+ applyAllowed: surfaceState.applyAllowed,
4216
+ onChoose: (override) => customize?.chooseSurfaceBackground(surfaceState.surface, override)
4217
+ }
4218
+ ) : null,
4101
4219
  surfaceState.surface === "header" ? /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-2 border-t pt-3", children: [
4102
4220
  /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-muted-foreground", children: [
4103
4221
  /* @__PURE__ */ jsx("span", { children: "Display" }),
@@ -4154,6 +4272,170 @@ function SiteChromeCustomizeButton({
4154
4272
  }
4155
4273
  );
4156
4274
  }
4275
+ var POPOVER_VIEWPORT_GUTTER_PX = 16;
4276
+ var POPOVER_UNMEASURED_MIN_SPACE_PX = 180;
4277
+ function useSiteChromeCustomizePopoverSide({
4278
+ open,
4279
+ surface,
4280
+ buttonRef,
4281
+ dialogRef
4282
+ }) {
4283
+ const preferredSide = surface === "footer" ? "above" : "below";
4284
+ const [side, setSide] = useState(preferredSide);
4285
+ useEffect(() => {
4286
+ if (!open) {
4287
+ setSide(preferredSide);
4288
+ return;
4289
+ }
4290
+ if (typeof window === "undefined") return;
4291
+ let frame = null;
4292
+ const update = () => {
4293
+ const button = buttonRef.current;
4294
+ if (!button) {
4295
+ setSide(preferredSide);
4296
+ return;
4297
+ }
4298
+ const buttonRect = button.getBoundingClientRect();
4299
+ const panelHeight = dialogRef.current?.offsetHeight ?? 0;
4300
+ setSide(
4301
+ chooseSiteChromeCustomizePopoverSide({
4302
+ preferredSide,
4303
+ panelHeight,
4304
+ availableAbove: buttonRect.top - POPOVER_VIEWPORT_GUTTER_PX,
4305
+ availableBelow: window.innerHeight - buttonRect.bottom - POPOVER_VIEWPORT_GUTTER_PX
4306
+ })
4307
+ );
4308
+ };
4309
+ const scheduleUpdate = () => {
4310
+ if (frame !== null) return;
4311
+ frame = window.requestAnimationFrame(() => {
4312
+ frame = null;
4313
+ update();
4314
+ });
4315
+ };
4316
+ scheduleUpdate();
4317
+ window.addEventListener("resize", scheduleUpdate);
4318
+ window.addEventListener("scroll", scheduleUpdate, true);
4319
+ return () => {
4320
+ if (frame !== null) {
4321
+ window.cancelAnimationFrame(frame);
4322
+ }
4323
+ window.removeEventListener("resize", scheduleUpdate);
4324
+ window.removeEventListener("scroll", scheduleUpdate, true);
4325
+ };
4326
+ }, [buttonRef, dialogRef, open, preferredSide]);
4327
+ return side;
4328
+ }
4329
+ function chooseSiteChromeCustomizePopoverSide(input) {
4330
+ const availableAbove = Math.max(0, input.availableAbove);
4331
+ const availableBelow = Math.max(0, input.availableBelow);
4332
+ const measuredPanelHeight = Number.isFinite(input.panelHeight) && input.panelHeight > 0 ? input.panelHeight : null;
4333
+ if (measuredPanelHeight === null) {
4334
+ if (input.preferredSide === "above" && availableAbove < POPOVER_UNMEASURED_MIN_SPACE_PX && availableBelow > availableAbove) {
4335
+ return "below";
4336
+ }
4337
+ if (input.preferredSide === "below" && availableBelow < POPOVER_UNMEASURED_MIN_SPACE_PX && availableAbove > availableBelow) {
4338
+ return "above";
4339
+ }
4340
+ return input.preferredSide;
4341
+ }
4342
+ if (input.preferredSide === "above" && measuredPanelHeight <= availableAbove) {
4343
+ return "above";
4344
+ }
4345
+ if (input.preferredSide === "below" && measuredPanelHeight <= availableBelow) {
4346
+ return "below";
4347
+ }
4348
+ if (measuredPanelHeight <= availableAbove && availableAbove >= availableBelow) {
4349
+ return "above";
4350
+ }
4351
+ if (measuredPanelHeight <= availableBelow) {
4352
+ return "below";
4353
+ }
4354
+ return availableAbove > availableBelow ? "above" : "below";
4355
+ }
4356
+ function SiteChromeBackgroundPalette({
4357
+ surface,
4358
+ background,
4359
+ applyAllowed,
4360
+ onChoose
4361
+ }) {
4362
+ const choose = (override) => (event) => {
4363
+ event.preventDefault();
4364
+ event.stopPropagation();
4365
+ onChoose(override);
4366
+ };
4367
+ return /* @__PURE__ */ jsxs("div", { className: "border-t pt-3", children: [
4368
+ /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [
4369
+ /* @__PURE__ */ jsx("div", { className: "text-xs font-medium text-muted-foreground", children: "Background colors" }),
4370
+ /* @__PURE__ */ jsx(
4371
+ "button",
4372
+ {
4373
+ type: "button",
4374
+ className: `rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50 ${background.current.kind === "default" ? "border-foreground" : "bg-background"}`,
4375
+ disabled: !applyAllowed,
4376
+ onClick: choose({ kind: "default" }),
4377
+ children: "Default"
4378
+ }
4379
+ )
4380
+ ] }),
4381
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-1", children: background.quickTokens.map((token) => /* @__PURE__ */ jsx(
4382
+ BackgroundSwatchButton,
4383
+ {
4384
+ token,
4385
+ surface,
4386
+ selected: background.current.kind === "color" && background.current.token === token,
4387
+ disabled: !applyAllowed,
4388
+ onClick: choose({ kind: "color", token })
4389
+ },
4390
+ token
4391
+ )) }),
4392
+ background.advancedTokens.length ? /* @__PURE__ */ jsxs("details", { className: "mt-2", children: [
4393
+ /* @__PURE__ */ jsx("summary", { className: "cursor-pointer text-xs text-muted-foreground", children: "More colors" }),
4394
+ /* @__PURE__ */ jsx("div", { className: "mt-1 grid grid-cols-3 gap-1", children: background.advancedTokens.map((token) => /* @__PURE__ */ jsx(
4395
+ BackgroundSwatchButton,
4396
+ {
4397
+ token,
4398
+ surface,
4399
+ selected: background.current.kind === "color" && background.current.token === token,
4400
+ disabled: !applyAllowed,
4401
+ onClick: choose({ kind: "color", token })
4402
+ },
4403
+ token
4404
+ )) })
4405
+ ] }) : null
4406
+ ] });
4407
+ }
4408
+ function BackgroundSwatchButton({
4409
+ token,
4410
+ surface,
4411
+ selected,
4412
+ disabled,
4413
+ onClick
4414
+ }) {
4415
+ return /* @__PURE__ */ jsxs(
4416
+ "button",
4417
+ {
4418
+ type: "button",
4419
+ className: `flex min-w-0 items-center gap-2 rounded-md border px-2 py-1 text-left text-xs hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50 ${selected ? "border-foreground" : "bg-background"}`,
4420
+ disabled,
4421
+ "aria-label": `Set ${surface} background to ${token}`,
4422
+ onClick,
4423
+ children: [
4424
+ /* @__PURE__ */ jsx(
4425
+ "span",
4426
+ {
4427
+ className: "h-3 w-3 shrink-0 rounded-full border",
4428
+ style: { backgroundColor: tokenSwatchCss2(token) }
4429
+ }
4430
+ ),
4431
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: formatSiteChromeBackgroundTokenLabel(token) })
4432
+ ]
4433
+ }
4434
+ );
4435
+ }
4436
+ function tokenSwatchCss2(token) {
4437
+ return `rgb(var(--tb-${token}))`;
4438
+ }
4157
4439
  function SiteChromeEditableSurface({
4158
4440
  surface,
4159
4441
  children,
@@ -4288,14 +4570,15 @@ function PreviewThemedSiteDocument({
4288
4570
  siteChromeRenderModel
4289
4571
  }) {
4290
4572
  const { effectiveTheme } = usePreviewThemeOverlay();
4573
+ const headerNode = siteChromeRenderModel?.header ? /* @__PURE__ */ jsx(SiteChromeEditableSurface, { surface: "header", children: renderSiteChromeBlock(siteChromeRenderModel, "header", effectiveTheme, {
4574
+ themeConfigOverrideMode: "ignore"
4575
+ }) }) : staticHeaderNode;
4291
4576
  const siteDocumentPlan = planSiteDocument({
4292
4577
  headerPositioning: effectiveTheme.header?.positioning ?? "static",
4293
4578
  headerVariant: effectiveTheme.header?.variant ?? null,
4294
- hasVisibleBanner: Boolean(bannerNode)
4579
+ hasVisibleBanner: Boolean(bannerNode),
4580
+ hasVisibleHeader: Boolean(headerNode)
4295
4581
  });
4296
- const headerNode = siteChromeRenderModel ? /* @__PURE__ */ jsx(SiteChromeEditableSurface, { surface: "header", children: renderSiteChromeBlock(siteChromeRenderModel, "header", effectiveTheme, {
4297
- themeConfigOverrideMode: "ignore"
4298
- }) }) : staticHeaderNode;
4299
4582
  const canRenderFooterReactively = Boolean(siteChromeRenderModel) && siteChromeRenderModel?.footer.canRenderReactively !== false;
4300
4583
  const footerNode = canRenderFooterReactively && siteChromeRenderModel ? /* @__PURE__ */ jsx(SiteChromeEditableSurface, { surface: "footer", preserveSingleComponentRoot: true, children: renderSiteChromeBlock(siteChromeRenderModel, "footer", effectiveTheme, {
4301
4584
  themeConfigOverrideMode: "ignore"
@@ -4398,20 +4681,52 @@ function LinkedEntryEditEventBridge() {
4398
4681
  if (!isLinkedEntryEditEvent(event)) return;
4399
4682
  uiStore.getState().linkedEntries.open(event.detail);
4400
4683
  };
4684
+ const handleLinkedEntryFieldFocus = (event) => {
4685
+ if (!isLinkedEntryFieldFocusEvent(event)) return;
4686
+ const state = uiStore.getState();
4687
+ if (state.linkedEntries.getSelectedEntryId() !== event.detail.write.entryId) {
4688
+ state.linkedEntries.open(event.detail.target);
4689
+ }
4690
+ state.setActivePreviewField({
4691
+ kind: "linked-entry",
4692
+ entryId: unsafeAsLinkedContentEntryId(event.detail.write.entryId),
4693
+ fieldPath: event.detail.write.fieldPath
4694
+ });
4695
+ };
4696
+ const handleBlockFieldFocus = (event) => {
4697
+ if (!isBlockFieldFocusEvent(event)) return;
4698
+ const state = uiStore.getState();
4699
+ const blockId = unsafeAsEditorBlockId(event.detail.blockId);
4700
+ state.setPreviewSidebarTab("editor");
4701
+ state.setDrawerOpen(true);
4702
+ state.setActivePreviewField({
4703
+ kind: "block",
4704
+ blockId,
4705
+ fieldPath: event.detail.fieldPath
4706
+ });
4707
+ state.requestFocus({
4708
+ blockId,
4709
+ fieldPath: event.detail.fieldPath
4710
+ });
4711
+ };
4401
4712
  window.addEventListener(LINKED_ENTRY_EDIT_EVENT, handleLinkedEntryEdit);
4713
+ window.addEventListener(LINKED_ENTRY_FIELD_FOCUS_EVENT, handleLinkedEntryFieldFocus);
4714
+ window.addEventListener(BLOCK_FIELD_FOCUS_EVENT, handleBlockFieldFocus);
4402
4715
  return () => {
4403
4716
  window.removeEventListener(LINKED_ENTRY_EDIT_EVENT, handleLinkedEntryEdit);
4717
+ window.removeEventListener(LINKED_ENTRY_FIELD_FOCUS_EVENT, handleLinkedEntryFieldFocus);
4718
+ window.removeEventListener(BLOCK_FIELD_FOCUS_EVENT, handleBlockFieldFocus);
4404
4719
  };
4405
4720
  }, [uiStore]);
4406
4721
  return null;
4407
4722
  }
4408
4723
  var previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
4409
4724
  var PreviewEditorSidebar = React10.lazy(async () => {
4410
- const mod = await import('./PreviewEditorSidebar-RDCMEXIJ.mjs');
4725
+ const mod = await import('./PreviewEditorSidebar-HML67UDA.mjs');
4411
4726
  return { default: mod.PreviewEditorSidebar };
4412
4727
  });
4413
4728
  var PreviewEditorUI = React10.lazy(async () => {
4414
- const mod = await import('./PreviewEditorUI-NYGQ6K7B.mjs');
4729
+ const mod = await import('./PreviewEditorUI-I4BQUU6K.mjs');
4415
4730
  return { default: mod.PreviewEditorUI };
4416
4731
  });
4417
4732
  var previewPaneContainmentStyle = {
@@ -4456,6 +4771,7 @@ function PreviewShellLayout({
4456
4771
  assistantPanel,
4457
4772
  sdkConfig,
4458
4773
  mediaAssets,
4774
+ bookingOfferingPresets,
4459
4775
  useThemeScope = true,
4460
4776
  siteStyleAccess = { kind: "hidden" }
4461
4777
  }) {
@@ -4695,6 +5011,7 @@ function PreviewShellLayout({
4695
5011
  entrySubrouteContext: entrySubrouteContext ?? null,
4696
5012
  assistantPanel,
4697
5013
  mediaAssets,
5014
+ bookingOfferingPresets,
4698
5015
  siteStyleAccess,
4699
5016
  viewportMode,
4700
5017
  viewportWidth,
@@ -4819,6 +5136,7 @@ function PreviewShell({
4819
5136
  assistantPanel,
4820
5137
  sdkConfig,
4821
5138
  mediaAssets,
5139
+ bookingOfferingPresets,
4822
5140
  supabaseUrl,
4823
5141
  useThemeScope = true,
4824
5142
  designEditorEligibility,
@@ -4907,6 +5225,7 @@ function PreviewShell({
4907
5225
  assistantPanel,
4908
5226
  sdkConfig: sdkConfig ?? null,
4909
5227
  mediaAssets,
5228
+ bookingOfferingPresets,
4910
5229
  useThemeScope,
4911
5230
  siteStyleAccess,
4912
5231
  children
@@ -4931,6 +5250,19 @@ function defaultDesignEditorEligibility(input) {
4931
5250
  }
4932
5251
  return { kind: "unsupported" };
4933
5252
  }
5253
+ function isSdkCustomBlockArray(value) {
5254
+ return Array.isArray(value);
5255
+ }
5256
+ function getSdkConfigForBlockPicker(value) {
5257
+ if (!value || typeof value !== "object") {
5258
+ return null;
5259
+ }
5260
+ if (!("customBlocks" in value)) {
5261
+ return {};
5262
+ }
5263
+ const customBlocks = value.customBlocks;
5264
+ return isSdkCustomBlockArray(customBlocks) ? { customBlocks } : {};
5265
+ }
4934
5266
  function SdkPreviewModeRuntime(props) {
4935
5267
  const {
4936
5268
  apiBaseUrl,
@@ -4948,8 +5280,8 @@ function SdkPreviewModeRuntime(props) {
4948
5280
  const theme = content.theme;
4949
5281
  const page = content.page;
4950
5282
  const routeMap = content.routeMap ?? void 0;
4951
- const sdkConfig = content.sdkConfig ?? null;
4952
- const customBlocks = content.customBlocks ?? null;
5283
+ const sdkConfig = getSdkConfigForBlockPicker(content.sdkConfig);
5284
+ const customBlocks = isSdkCustomBlockArray(content.customBlocks) ? content.customBlocks : null;
4953
5285
  const typedBlockOverrides = blockOverrides ?? null;
4954
5286
  const sdkConfigForEditor = useMemo(() => {
4955
5287
  const blocks = customBlocks ?? sdkConfig?.customBlocks ?? void 0;