@riverbankcms/sdk 0.67.0 → 0.70.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 (450) hide show
  1. package/README.md +21 -11
  2. package/dist/_dts/api/src/accessAdmin.d.ts +3 -3
  3. package/dist/_dts/api/src/admin/types.d.ts +1 -1
  4. package/dist/_dts/api/src/aiPlayground.d.ts +13 -39
  5. package/dist/_dts/api/src/appointmentSetup.d.ts +4 -0
  6. package/dist/_dts/api/src/billing.d.ts +7 -40
  7. package/dist/_dts/api/src/bookingConfig.d.ts +2 -2
  8. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -1
  9. package/dist/_dts/api/src/bookingOperations.d.ts +32 -1
  10. package/dist/_dts/api/src/bookingRecords.d.ts +1 -1
  11. package/dist/_dts/api/src/bookings.d.ts +1 -1
  12. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -1
  13. package/dist/_dts/api/src/communications.d.ts +1 -1
  14. package/dist/_dts/api/src/contentRuntime.d.ts +2 -2
  15. package/dist/_dts/api/src/contentTypes.d.ts +1 -1
  16. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  17. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
  18. package/dist/_dts/api/src/navigation/linkValue.d.ts +1 -1
  19. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  20. package/dist/_dts/api/src/public/index.d.ts +2 -2
  21. package/dist/_dts/api/src/public/types.d.ts +3 -3
  22. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -2
  23. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  24. package/dist/_dts/api/src/siteBanner.d.ts +9 -9
  25. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -2
  26. package/dist/_dts/api/src/siteOnboarding.d.ts +1 -1
  27. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  28. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -5
  29. package/dist/_dts/api/src/siteSettings.d.ts +3 -3
  30. package/dist/_dts/api/src/teamMembers.d.ts +1 -1
  31. package/dist/_dts/api/src/types.d.ts +1 -1
  32. package/dist/_dts/api/src/url.d.ts +1 -1
  33. package/dist/_dts/billing/src/components/index.d.ts +484 -0
  34. package/dist/_dts/block-form/src/backend/store-backend.d.ts +1 -1
  35. package/dist/_dts/block-form/src/backend/types.d.ts +2 -2
  36. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -2
  37. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -1
  38. package/dist/_dts/block-form/src/fields/types.d.ts +1 -1
  39. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  40. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +1 -1
  41. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +1 -1
  42. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +1 -1
  43. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  44. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -1
  45. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  46. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  47. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +1 -1
  48. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +1 -1
  49. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -1
  50. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  51. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +1 -1
  52. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +1 -1
  53. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +4 -4
  54. package/dist/_dts/block-form/src/widgets/constants.d.ts +1 -1
  55. package/dist/_dts/blocks/src/PageRenderer.d.ts +5 -1
  56. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  57. package/dist/_dts/blocks/src/client.d.ts +11 -3
  58. package/dist/_dts/blocks/src/index.d.ts +28 -27
  59. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  60. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +1 -1
  61. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  62. package/dist/_dts/blocks/src/server.d.ts +1 -1
  63. package/dist/_dts/blocks/src/structure/schema.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1665 -1665
  65. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1666 -1666
  66. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1665 -1665
  68. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1665 -1665
  69. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1666 -1666
  70. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  71. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +42 -42
  73. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1761 -1761
  74. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -2
  75. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +1764 -1764
  76. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -44
  78. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  79. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1665 -1665
  80. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  81. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1665 -1665
  82. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -1
  84. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +9 -9
  85. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +139 -139
  86. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1665 -1665
  87. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1665 -1665
  88. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +19 -19
  89. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1665 -1665
  90. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
  91. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  92. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  93. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/customize/facets.d.ts +5 -5
  96. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +1 -1
  98. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1761 -1761
  99. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1761 -1761
  100. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1761 -1761
  101. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1761 -1761
  102. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1761 -1761
  103. package/dist/_dts/blocks/src/system/frame/frameStyles.d.ts +3 -3
  104. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -2
  105. package/dist/_dts/blocks/src/system/manifest/augmentManifest.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
  107. package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +1 -1
  109. package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +1 -1
  110. package/dist/_dts/blocks/src/system/node/fragments/typography.d.ts +1 -1
  111. package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
  112. package/dist/_dts/blocks/src/system/registry.d.ts +2 -2
  113. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  115. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -0
  117. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +3 -1
  118. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +140 -0
  119. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -0
  120. package/dist/_dts/blocks/src/system/runtime/hooks/useVisibleTabPolling.d.ts +10 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.default-ui.d.ts +8 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +500 -0
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +27 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +15 -8
  128. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -3
  130. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/nodes/shared/LeafletStaticMap.d.ts +1 -1
  133. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -6
  134. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +1 -1
  135. package/dist/_dts/blocks/src/system/theme/index.d.ts +1 -1
  136. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -1
  137. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  138. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
  139. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  140. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +3 -3
  141. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +3 -3
  142. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +2 -2
  143. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +2 -2
  144. package/dist/_dts/content-editor/src/controller/deriveRecoveryConflict.d.ts +1 -1
  145. package/dist/_dts/content-editor/src/controller/invalidBlockRecovery.d.ts +1 -1
  146. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  147. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  148. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +3 -3
  149. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  150. package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +1 -1
  151. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  152. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +2 -2
  153. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +1 -1
  154. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +1 -1
  155. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  156. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -1
  157. package/dist/_dts/content-editor/src/registry.d.ts +1 -1
  158. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +2 -2
  159. package/dist/_dts/content-editor/src/types.d.ts +2 -2
  160. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +3 -3
  161. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +1 -1
  162. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  163. package/dist/_dts/content-editor/src/ui/stores/utils.d.ts +1 -1
  164. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  165. package/dist/_dts/core/src/branded.d.ts +2 -0
  166. package/dist/_dts/core/src/index.d.ts +2 -0
  167. package/dist/_dts/core/src/planner.d.ts +64 -0
  168. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +17 -18
  169. package/dist/_dts/db/src/schemas/forms.d.ts +62 -62
  170. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +5 -5
  171. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +5 -5
  172. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +2 -2
  173. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +6 -6
  174. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +3 -3
  175. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
  176. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +2 -2
  177. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  178. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +2 -2
  179. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  180. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +1 -1
  181. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  182. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +3 -3
  183. package/dist/_dts/editor-blocks/src/block-editor/blockDiscovery.d.ts +1 -1
  184. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +1 -1
  185. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +1 -1
  186. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -3
  187. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -2
  188. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -2
  189. package/dist/_dts/editor-blocks/src/block-editor/hooks/useDraftContent.d.ts +1 -1
  190. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -2
  191. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +3 -3
  192. package/dist/_dts/editor-blocks/src/block-editor/settingsIntent.d.ts +1 -1
  193. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -1
  194. package/dist/_dts/editor-blocks/src/block-form/debug.d.ts +1 -1
  195. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +2 -2
  196. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  197. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -6
  198. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  199. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  200. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  201. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  202. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  203. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  204. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  205. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  206. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -2
  207. package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -2
  208. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  209. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  210. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +3 -3
  211. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  212. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  213. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +3 -3
  214. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -2
  215. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +3 -3
  216. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +2 -2
  217. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +2 -2
  218. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  219. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  220. package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +1 -1
  221. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -3
  222. package/dist/_dts/editor-blocks/src/widgets/reference/types.d.ts +3 -3
  223. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  224. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  225. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +1 -1
  226. package/dist/_dts/editor-blocks/src/widgets/rich-text/richTextImageHydration.d.ts +1 -1
  227. package/dist/_dts/editor-blocks/src/widgets/shared/Combobox.d.ts +1 -1
  228. package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
  229. package/dist/_dts/media-core/src/fileAssetDeletion.d.ts +1 -1
  230. package/dist/_dts/media-core/src/fileDomain.d.ts +1 -1
  231. package/dist/_dts/media-core/src/fileDownloadResolution.d.ts +1 -1
  232. package/dist/_dts/media-core/src/filePersistence.d.ts +1 -1
  233. package/dist/_dts/media-core/src/fileStorage.d.ts +1 -1
  234. package/dist/_dts/media-core/src/fileUploadAssetBuilder.d.ts +1 -1
  235. package/dist/_dts/media-core/src/fileUploadCleanup.d.ts +1 -1
  236. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +1 -1
  237. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +1 -1
  238. package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +1 -1
  239. package/dist/_dts/media-core/src/fileUploadSessionCreation.d.ts +1 -1
  240. package/dist/_dts/media-core/src/types.d.ts +2 -2
  241. package/dist/_dts/media-core/src/url.d.ts +1 -1
  242. package/dist/_dts/media-core/src/videoPrep.d.ts +1 -1
  243. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  244. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  245. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
  246. package/dist/_dts/media-editor/src/context.d.ts +3 -3
  247. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  248. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +1 -1
  249. package/dist/_dts/media-editor/src/debug.d.ts +1 -1
  250. package/dist/_dts/media-editor/src/provider.d.ts +3 -3
  251. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +1 -1
  252. package/dist/_dts/media-editor/src/transformModel.d.ts +1 -1
  253. package/dist/_dts/media-editor/src/types.d.ts +2 -2
  254. package/dist/_dts/media-editor/src/utils.d.ts +1 -1
  255. package/dist/_dts/media-react/src/components/ImageCropper.d.ts +1 -1
  256. package/dist/_dts/media-react/src/components/cropDraftModel.d.ts +1 -1
  257. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -1
  258. package/dist/_dts/media-react/src/components/cropSessionState.d.ts +1 -1
  259. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -1
  260. package/dist/_dts/media-react/src/ffmpegLoader.d.ts +1 -1
  261. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  262. package/dist/_dts/media-react/src/hooks/mediaAssetResponseMapper.d.ts +1 -1
  263. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +4 -4
  264. package/dist/_dts/media-react/src/utils/rotation.d.ts +1 -1
  265. package/dist/_dts/media-react/src/videoFrameExtraction.d.ts +1 -1
  266. package/dist/_dts/media-react/src/videoPrepBrowser.d.ts +2 -2
  267. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +1 -1
  268. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
  269. package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +1 -1
  270. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -2
  271. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
  272. package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +2 -2
  273. package/dist/_dts/preview-next/src/client/blocks/editorRegistry.d.ts +1 -1
  274. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -2
  275. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +2 -2
  276. package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +2 -2
  277. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +2 -2
  278. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  279. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +3 -3
  280. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +5 -5
  281. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -2
  282. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
  283. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +1 -1
  284. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +1 -1
  285. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +9 -9
  286. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -2
  287. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  288. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -8
  289. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +8 -8
  290. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  291. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  292. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +5 -5
  293. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -5
  294. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +4 -4
  295. package/dist/_dts/preview-next/src/client/preview/pageSchema.d.ts +1 -1
  296. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +1 -1
  297. package/dist/_dts/preview-next/src/client/preview/previewChromeSurfacePolicy.d.ts +1 -1
  298. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +3 -3
  299. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -2
  300. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +1 -1
  301. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +1 -1
  302. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  303. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +2 -2
  304. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -4
  305. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +1 -1
  306. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +1 -1
  307. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -2
  308. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -2
  309. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +3 -3
  310. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -3
  311. package/dist/_dts/sdk/src/bookings/index.d.ts +6 -2
  312. package/dist/_dts/sdk/src/bookings/types.d.ts +16 -8
  313. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +32 -0
  314. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
  315. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -1
  316. package/dist/_dts/sdk/src/cli/env.d.ts +1 -1
  317. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +1 -1
  318. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  319. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +1 -1
  320. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +43 -13
  321. package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +21 -0
  322. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +27 -0
  323. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +56 -0
  324. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +5 -3
  325. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +9 -3
  326. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +6 -10
  327. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +1 -0
  328. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +6 -10
  329. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +6 -10
  330. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +14 -68
  331. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +8 -0
  332. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +97 -0
  333. package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +15 -0
  334. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
  335. package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +4 -0
  336. package/dist/_dts/sdk/src/config/validation.d.ts +37 -43
  337. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -1
  338. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
  339. package/dist/_dts/sdk/src/portal/config.d.ts +1 -1
  340. package/dist/_dts/sdk/src/portal/index.d.ts +1 -1
  341. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  342. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
  343. package/dist/_dts/sdk/src/preview-next/constants.d.ts +1 -1
  344. package/dist/_dts/sdk/src/preview-next/cookies.d.ts +1 -1
  345. package/dist/_dts/sdk/src/preview-next/index.d.ts +2 -2
  346. package/dist/_dts/sdk/src/preview-next/middleware.d.ts +1 -1
  347. package/dist/_dts/sdk/src/preview-next/session.d.ts +1 -1
  348. package/dist/_dts/sdk/src/public-api/contracts.d.ts +18 -4
  349. package/dist/_dts/sdk/src/rendering/islands/blocksContracts.d.ts +1 -1
  350. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +3 -3
  351. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
  352. package/dist/_dts/sdk/src/spam-protection/index.d.ts +3 -3
  353. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +6 -6
  354. package/dist/_dts/sdk/src/theme-bridge/generateCssVars.d.ts +4 -12
  355. package/dist/_dts/sdk/src/theme-bridge/index.d.ts +1 -1
  356. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +17 -9
  357. package/dist/_dts/sdk/src/version.d.ts +1 -1
  358. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  359. package/dist/_dts/site-commands/src/commands.d.ts +292 -34
  360. package/dist/_dts/site-commands/src/domain.d.ts +3 -3
  361. package/dist/_dts/site-commands/src/exposure.d.ts +3 -3
  362. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  363. package/dist/_dts/site-commands/src/metadata.d.ts +79 -1
  364. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  365. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -0
  366. package/dist/_dts/site-commands/src/refs.d.ts +8 -2
  367. package/dist/_dts/{sdk/src/cli/merge-remote → site-commands/src}/stableJson.d.ts +2 -0
  368. package/dist/_dts/theme-core/src/accordions/types.d.ts +9 -9
  369. package/dist/_dts/theme-core/src/blocks/index.d.ts +2 -2
  370. package/dist/_dts/theme-core/src/blocks/types.d.ts +3 -2
  371. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +5 -5
  372. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +5 -5
  373. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +5 -5
  374. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +35 -35
  375. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +5 -5
  376. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +5 -5
  377. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +5 -5
  378. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +5 -5
  379. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
  380. package/dist/_dts/theme-core/src/buttons/types.d.ts +18 -18
  381. package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
  382. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  383. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  384. package/dist/_dts/theme-core/src/inputs/types.d.ts +13 -13
  385. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  386. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +351 -351
  387. package/dist/_dts/theme-core/src/navigation/types.d.ts +15 -15
  388. package/dist/_dts/theme-core/src/palette/recipes/allRecipes.d.ts +1 -1
  389. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +24 -24
  390. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +18 -18
  391. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +65 -65
  392. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +18 -18
  393. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +7 -7
  394. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +18 -18
  395. package/dist/_dts/theme-core/src/progress/generateProgressCss.d.ts +2 -1
  396. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +1 -1
  397. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +32 -21
  398. package/dist/_dts/theme-core/src/schema.d.ts +568 -568
  399. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  400. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  401. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  402. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +34 -34
  403. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  404. package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +1 -1
  405. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +1 -1
  406. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +14 -14
  407. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  408. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +4 -4
  409. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +2 -1
  410. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +5 -5
  411. package/dist/_dts/ui/src/badge.d.ts +1 -1
  412. package/dist/_dts/ui/src/button.d.ts +2 -2
  413. package/dist/_dts/ui/src/card.d.ts +1 -1
  414. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  415. package/dist/_dts/ui/src/surface.d.ts +2 -2
  416. package/dist/_dts/ui/src/toggle.d.ts +4 -4
  417. package/dist/cli/index.mjs +5910 -4824
  418. package/dist/client/bookings.mjs +5149 -3320
  419. package/dist/client/client.mjs +11643 -11031
  420. package/dist/client/hooks.mjs +5764 -3868
  421. package/dist/client/rendering/client.mjs +4317 -3724
  422. package/dist/client/rendering/islands.mjs +4087 -3494
  423. package/dist/client/rendering.mjs +4499 -3885
  424. package/dist/preview-next/before-render.mjs +14 -0
  425. package/dist/preview-next/client/runtime.mjs +2927 -2292
  426. package/dist/preview-next/middleware.mjs +14 -0
  427. package/dist/server/components.mjs +536 -368
  428. package/dist/server/config-validation.mjs +6886 -4910
  429. package/dist/server/config.mjs +6876 -4909
  430. package/dist/server/data.mjs +5764 -3868
  431. package/dist/server/index.mjs +174 -1762
  432. package/dist/server/next.mjs +6393 -5024
  433. package/dist/server/prebuild.mjs +1 -1
  434. package/dist/server/rendering/server.mjs +540 -370
  435. package/dist/server/rendering.mjs +540 -370
  436. package/dist/server/routing.mjs +10389 -6835
  437. package/dist/server/server.mjs +5701 -3805
  438. package/dist/server/theme-bridge.mjs +1558 -4902
  439. package/dist/styles/index.css +38 -38
  440. package/package.json +1 -3
  441. package/dist/_dts/blocks/src/system/runtime/components/booking/DateTimeSelectionStep.d.ts +0 -18
  442. package/dist/_dts/blocks/src/system/runtime/components/booking/PaymentOptionSelectionStep.d.ts +0 -9
  443. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.d.ts +0 -44
  444. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.state.d.ts +0 -23
  445. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceSelectionStep.d.ts +0 -18
  446. package/dist/_dts/blocks/src/system/runtime/components/booking/slotDisplay.d.ts +0 -2
  447. package/dist/_dts/blocks/src/system/runtime/components/multi-step/MultiStepForm.d.ts +0 -21
  448. package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.d.ts +0 -15
  449. package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.state.d.ts +0 -51
  450. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSteps.d.ts +0 -22
@@ -371,6 +371,23 @@ function toLocationCoordinates(value) {
371
371
  };
372
372
  }
373
373
 
374
+ // ../core/src/planner.ts
375
+ var systemPlanningClock = {
376
+ now: () => Date.now()
377
+ };
378
+ function resolvePlanningNowDate(input = {}) {
379
+ if (input.now !== void 0) {
380
+ return input.now;
381
+ }
382
+ return new Date((input.clock ?? systemPlanningClock).now());
383
+ }
384
+ function resolvePlanningDateInput(input = {}) {
385
+ if (input instanceof Date) {
386
+ return input;
387
+ }
388
+ return resolvePlanningNowDate(input);
389
+ }
390
+
374
391
  // ../media-core/src/typeGuards.ts
375
392
  function isRecord(value) {
376
393
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
@@ -18917,7 +18934,7 @@ function toExactOrFreeDisplay(amount, currency) {
18917
18934
  }
18918
18935
  return { kind: "exact", amount, currency };
18919
18936
  }
18920
- function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Date()) {
18937
+ function getSelectableCoursePricingOptionsForNow(course, now) {
18921
18938
  if (!course.pricing || course.pricing.pricingStrategy !== "tiered") {
18922
18939
  return [];
18923
18940
  }
@@ -18931,7 +18948,7 @@ function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Dat
18931
18948
  return left.name.localeCompare(right.name);
18932
18949
  });
18933
18950
  }
18934
- function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__PURE__ */ new Date()) {
18951
+ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {}) {
18935
18952
  const currency = course.pricing?.currency ?? course.currency;
18936
18953
  if (!course.pricing) {
18937
18954
  const legacyAmount = course.priceCents ?? 0;
@@ -18975,7 +18992,10 @@ function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__
18975
18992
  };
18976
18993
  }
18977
18994
  case "tiered": {
18978
- const selectableOptions = getSelectableCoursePricingOptions(course, now);
18995
+ const selectableOptions = getSelectableCoursePricingOptionsForNow(
18996
+ course,
18997
+ resolvePlanningDateInput(nowInput)
18998
+ );
18979
18999
  const selectedOption = (selectedPricingOptionId ? selectableOptions.find((option) => option.id === selectedPricingOptionId) : null) ?? (selectableOptions.length === 1 ? selectableOptions[0] ?? null : null);
18980
19000
  const lowestAmount = selectableOptions.reduce((lowest, option) => {
18981
19001
  if (lowest === null || option.priceAmount < lowest) {
@@ -30032,16 +30052,18 @@ function toTrimmedString(value) {
30032
30052
  return trimmed ? trimmed : void 0;
30033
30053
  }
30034
30054
  function normalizeBookingFormConfig(form2) {
30035
- if (!form2) return null;
30055
+ if (!isRecord4(form2)) return null;
30056
+ const id = readNonEmptyString(form2.id);
30057
+ const name = readNonEmptyString(form2.name);
30058
+ if (!id || !name) return null;
30059
+ const schemaSource = isRecord4(form2.schema) ? form2.schema : isRecord4(form2.schemaJson) ? form2.schemaJson : null;
30060
+ const settingsSource = isRecord4(form2.settings) ? form2.settings : isRecord4(form2.settingsJson) ? form2.settingsJson : null;
30036
30061
  return {
30037
- id: form2.id,
30038
- name: form2.name,
30039
- slug: "",
30040
- settings: form2.settingsJson,
30041
- schema: form2.schemaJson ? {
30042
- version: form2.schemaJson.version,
30043
- fields: form2.schemaJson.fields ?? []
30044
- } : void 0
30062
+ id,
30063
+ name,
30064
+ slug: typeof form2.slug === "string" ? form2.slug : "",
30065
+ settings: normalizeBookingSettings(settingsSource),
30066
+ schema: normalizeBookingSchema(schemaSource)
30045
30067
  };
30046
30068
  }
30047
30069
  function normalizeBookingServices(services) {
@@ -30057,12 +30079,106 @@ function normalizeBookingServices(services) {
30057
30079
  return [];
30058
30080
  }
30059
30081
  if (Array.isArray(services)) {
30060
- return services.map(normalizeService);
30082
+ return services.filter(isBookingFormService).map(normalizeService);
30083
+ }
30084
+ if (isRecord4(services) && "services" in services) {
30085
+ return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
30061
30086
  }
30062
- if ("services" in services) {
30063
- return Array.isArray(services.services) ? services.services.map(normalizeService) : [];
30087
+ return isRecord4(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
30088
+ }
30089
+ function normalizeBookingSchema(value) {
30090
+ if (!value) return void 0;
30091
+ const rawFields = Array.isArray(value.fields) ? value.fields : [];
30092
+ const fields3 = rawFields.map(readBookingFormField).filter((field) => field !== null);
30093
+ return {
30094
+ version: typeof value.version === "string" ? value.version : void 0,
30095
+ fields: fields3
30096
+ };
30097
+ }
30098
+ function readBookingFormField(value) {
30099
+ if (!isRecord4(value)) return null;
30100
+ const id = readNonEmptyString(value.id);
30101
+ const label = readNonEmptyString(value.label);
30102
+ const type = readBookingFieldType(value.type);
30103
+ if (!id || !label || !type) return null;
30104
+ return {
30105
+ id,
30106
+ label,
30107
+ type,
30108
+ required: typeof value.required === "boolean" ? value.required : void 0,
30109
+ placeholder: readOptionalString(value.placeholder),
30110
+ helpText: readOptionalString(value.helpText),
30111
+ options: readBookingFieldOptions(value.options),
30112
+ multiple: typeof value.multiple === "boolean" ? value.multiple : void 0,
30113
+ minLength: readOptionalNumber(value.minLength),
30114
+ maxLength: readOptionalNumber(value.maxLength),
30115
+ pattern: readOptionalString(value.pattern),
30116
+ min: readOptionalNumber(value.min),
30117
+ max: readOptionalNumber(value.max)
30118
+ };
30119
+ }
30120
+ function readBookingFieldType(value) {
30121
+ switch (value) {
30122
+ case "text":
30123
+ case "email":
30124
+ case "textarea":
30125
+ case "select":
30126
+ case "radio":
30127
+ case "checkbox":
30128
+ case "booking_requirement_consent":
30129
+ case "tel":
30130
+ case "url":
30131
+ case "number":
30132
+ case "date":
30133
+ case "time":
30134
+ return value;
30135
+ default:
30136
+ return null;
30064
30137
  }
30065
- return Object.values(services).map(normalizeService);
30138
+ }
30139
+ function readBookingFieldOptions(value) {
30140
+ if (!Array.isArray(value)) return void 0;
30141
+ const options = value.map(readBookingFieldOption).filter((option) => option !== null);
30142
+ return options.length > 0 ? options : void 0;
30143
+ }
30144
+ function readBookingFieldOption(value) {
30145
+ if (!isRecord4(value)) return null;
30146
+ const optionValue = readNonEmptyString(value.value);
30147
+ const label = readNonEmptyString(value.label);
30148
+ return optionValue && label ? { value: optionValue, label } : null;
30149
+ }
30150
+ function normalizeBookingSettings(value) {
30151
+ if (!value || value.type !== "booking") return void 0;
30152
+ return {
30153
+ type: "booking",
30154
+ serviceId: readOptionalString(value.serviceId),
30155
+ serviceIds: readStringArray(value.serviceIds),
30156
+ resourceId: readOptionalString(value.resourceId),
30157
+ requiresApproval: typeof value.requiresApproval === "boolean" ? value.requiresApproval : void 0,
30158
+ successMessage: readOptionalString(value.successMessage)
30159
+ };
30160
+ }
30161
+ function isBookingFormService(value) {
30162
+ return isRecord4(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
30163
+ }
30164
+ function readNonEmptyString(value) {
30165
+ if (typeof value !== "string") return null;
30166
+ const trimmed = value.trim();
30167
+ return trimmed.length > 0 ? trimmed : null;
30168
+ }
30169
+ function readOptionalString(value) {
30170
+ return typeof value === "string" ? value : void 0;
30171
+ }
30172
+ function readOptionalNumber(value) {
30173
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
30174
+ }
30175
+ function readStringArray(value) {
30176
+ if (!Array.isArray(value)) return void 0;
30177
+ const strings = value.filter((item) => typeof item === "string");
30178
+ return strings.length > 0 ? strings : void 0;
30179
+ }
30180
+ function isRecord4(value) {
30181
+ return typeof value === "object" && value !== null;
30066
30182
  }
30067
30183
 
30068
30184
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
@@ -37370,6 +37486,8 @@ var MemoBlockSection = React6.memo(
37370
37486
  themeConfig,
37371
37487
  data: void 0,
37372
37488
  siteId: dataContext?.siteId,
37489
+ apiBaseUrl: dataContext?.apiBaseUrl,
37490
+ portalToken: dataContext?.portalToken ?? null,
37373
37491
  supabaseUrl: dataContext?.supabaseUrl,
37374
37492
  imageResolveContext,
37375
37493
  blockId: block.id ?? null,
@@ -37484,6 +37602,8 @@ var MemoBlockSection = React6.memo(
37484
37602
  themeConfig,
37485
37603
  data: resolved,
37486
37604
  siteId: dataContext?.siteId,
37605
+ apiBaseUrl: dataContext?.apiBaseUrl,
37606
+ portalToken: dataContext?.portalToken ?? null,
37487
37607
  supabaseUrl: dataContext?.supabaseUrl,
37488
37608
  imageResolveContext,
37489
37609
  blockId: block.id ?? null,
@@ -43246,32 +43366,32 @@ var containerResponsiveThemeCss = `/*
43246
43366
  }
43247
43367
 
43248
43368
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--muted {
43249
- opacity: var(--ab-text-muted-opacity);
43369
+ opacity: var(--ab-text-muted-opacity, 0.6);
43250
43370
  }
43251
43371
 
43252
43372
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--faint {
43253
- opacity: var(--ab-text-faint-opacity);
43373
+ opacity: var(--ab-text-faint-opacity, 0.4);
43254
43374
  }
43255
43375
 
43256
43376
  /* Selection cards (service, resource, time slot) */
43257
43377
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card {
43258
43378
  position: relative;
43259
43379
  padding: 1rem;
43260
- border: 2px solid var(--ab-card-border);
43261
- border-radius: var(--rb-block-radius);
43380
+ border: 2px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
43381
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43262
43382
  text-align: left;
43263
43383
  background: transparent;
43264
43384
  cursor: pointer;
43265
- transition: border-color var(--rb-block-transition) ease, background-color var(--rb-block-transition) ease;
43385
+ transition: border-color var(--rb-block-transition, 150ms) ease, background-color var(--rb-block-transition, 150ms) ease;
43266
43386
  }
43267
43387
 
43268
43388
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card:hover {
43269
- border-color: var(--ab-card-border-hover);
43389
+ border-color: var(--ab-card-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
43270
43390
  }
43271
43391
 
43272
43392
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card--selected {
43273
- border-color: var(--ab-card-border-selected);
43274
- background-color: var(--ab-card-bg-selected);
43393
+ border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
43394
+ background-color: var(--ab-card-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.05));
43275
43395
  }
43276
43396
 
43277
43397
  /* Checkmark indicator */
@@ -43280,7 +43400,7 @@ var containerResponsiveThemeCss = `/*
43280
43400
  width: 1.25rem;
43281
43401
  height: 1.25rem;
43282
43402
  border-radius: 50%;
43283
- background-color: var(--ab-check-bg);
43403
+ background-color: var(--ab-check-bg, rgb(var(--tb-primary, 17 24 39)));
43284
43404
  display: flex;
43285
43405
  align-items: center;
43286
43406
  justify-content: center;
@@ -43289,42 +43409,42 @@ var containerResponsiveThemeCss = `/*
43289
43409
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check svg {
43290
43410
  width: 0.75rem;
43291
43411
  height: 0.75rem;
43292
- color: var(--ab-check-text);
43412
+ color: var(--ab-check-text, rgb(var(--tb-background, 255 255 255)));
43293
43413
  }
43294
43414
 
43295
43415
  /* Info box (service summary) */
43296
43416
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-info-box {
43297
43417
  padding: 1rem;
43298
- border: 1px solid var(--ab-card-border);
43299
- border-radius: var(--rb-block-radius);
43300
- background-color: var(--ab-muted-bg);
43418
+ border: 1px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
43419
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43420
+ background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43301
43421
  }
43302
43422
 
43303
43423
  /* Alert states */
43304
43424
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert {
43305
43425
  padding: 0.75rem 1rem;
43306
- border-radius: var(--rb-block-radius);
43426
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43307
43427
  font-size: 0.875rem;
43308
43428
  }
43309
43429
 
43310
43430
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--success {
43311
- background-color: var(--ab-success-bg);
43312
- color: var(--ab-success-text);
43431
+ background-color: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
43432
+ color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
43313
43433
  }
43314
43434
 
43315
43435
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--error {
43316
- background-color: var(--ab-error-bg);
43317
- color: var(--ab-error-text);
43436
+ background-color: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
43437
+ color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
43318
43438
  }
43319
43439
 
43320
43440
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--warning {
43321
- background-color: var(--ab-warning-bg);
43322
- color: var(--ab-warning-text);
43441
+ background-color: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
43442
+ color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
43323
43443
  }
43324
43444
 
43325
43445
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--info {
43326
- background-color: var(--ab-info-bg);
43327
- color: var(--ab-info-text);
43446
+ background-color: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
43447
+ color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
43328
43448
  }
43329
43449
 
43330
43450
  /* Form elements */
@@ -43336,7 +43456,7 @@ var containerResponsiveThemeCss = `/*
43336
43456
  }
43337
43457
 
43338
43458
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-required {
43339
- color: var(--ab-error-text);
43459
+ color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
43340
43460
  margin-left: 0.125rem;
43341
43461
  }
43342
43462
 
@@ -43345,19 +43465,19 @@ var containerResponsiveThemeCss = `/*
43345
43465
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea {
43346
43466
  width: 100%;
43347
43467
  padding: 0.5rem 0.75rem;
43348
- border: 1px solid var(--ab-input-border);
43349
- border-radius: var(--rb-block-radius);
43468
+ border: 1px solid var(--ab-input-border, rgb(var(--tb-border, 226 232 240)));
43469
+ border-radius: var(--ab-input-radius, var(--radius-control, var(--rb-block-radius, 1rem)));
43350
43470
  background: transparent;
43351
43471
  font-size: 0.875rem;
43352
- transition: border-color var(--rb-block-transition) ease, box-shadow var(--rb-block-transition) ease;
43472
+ transition: border-color var(--rb-block-transition, 150ms) ease, box-shadow var(--rb-block-transition, 150ms) ease;
43353
43473
  }
43354
43474
 
43355
43475
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-input:focus,
43356
43476
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-select:focus,
43357
43477
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea:focus {
43358
43478
  outline: none;
43359
- border-color: var(--ab-card-border-selected);
43360
- box-shadow: 0 0 0 3px var(--ab-input-focus-ring);
43479
+ border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
43480
+ box-shadow: 0 0 0 3px var(--ab-input-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
43361
43481
  }
43362
43482
 
43363
43483
  /* Buttons */
@@ -43366,31 +43486,31 @@ var containerResponsiveThemeCss = `/*
43366
43486
  align-items: center;
43367
43487
  justify-content: center;
43368
43488
  padding: 0.5rem 1.5rem;
43369
- border-radius: var(--rb-block-radius);
43489
+ border-radius: var(--ab-button-radius, var(--rb-button-radius, var(--rb-block-radius, 1rem)));
43370
43490
  font-size: 0.875rem;
43371
43491
  font-weight: 500;
43372
43492
  cursor: pointer;
43373
- transition: background-color var(--rb-block-transition) ease, border-color var(--rb-block-transition) ease;
43493
+ transition: background-color var(--rb-block-transition, 150ms) ease, border-color var(--rb-block-transition, 150ms) ease;
43374
43494
  }
43375
43495
 
43376
43496
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary {
43377
43497
  flex: 1;
43378
- background-color: var(--ab-btn-primary-bg);
43379
- color: var(--ab-btn-primary-text);
43498
+ background-color: var(--ab-btn-primary-bg, rgb(var(--tb-primary, 17 24 39)));
43499
+ color: var(--ab-btn-primary-text, rgb(var(--tb-primaryForeground, 255 255 255)));
43380
43500
  border: none;
43381
43501
  }
43382
43502
 
43383
43503
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary:hover:not(:disabled) {
43384
- background-color: var(--ab-btn-primary-hover);
43504
+ background-color: var(--ab-btn-primary-hover, rgba(var(--tb-primary, 17 24 39), 0.9));
43385
43505
  }
43386
43506
 
43387
43507
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary {
43388
43508
  background: transparent;
43389
- border: 1px solid var(--ab-btn-secondary-border);
43509
+ border: 1px solid var(--ab-btn-secondary-border, rgb(var(--tb-border, 226 232 240)));
43390
43510
  }
43391
43511
 
43392
43512
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary:hover:not(:disabled) {
43393
- background-color: var(--ab-btn-secondary-hover);
43513
+ background-color: var(--ab-btn-secondary-hover, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43394
43514
  }
43395
43515
 
43396
43516
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link {
@@ -43420,8 +43540,8 @@ var containerResponsiveThemeCss = `/*
43420
43540
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-skeleton {
43421
43541
  height: 2.5rem;
43422
43542
  width: 100%;
43423
- background-color: var(--ab-muted-bg);
43424
- border-radius: var(--rb-block-radius);
43543
+ background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43544
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43425
43545
  animation: ab-pulse 1.5s ease-in-out infinite;
43426
43546
  }
43427
43547
 
@@ -43450,7 +43570,7 @@ var containerResponsiveThemeCss = `/*
43450
43570
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-link {
43451
43571
  display: inline;
43452
43572
  margin-left: 0.5rem;
43453
- color: rgb(var(--tb-primary));
43573
+ color: rgb(var(--tb-primary, 17 24 39));
43454
43574
  background: none;
43455
43575
  border: none;
43456
43576
  padding: 0;
@@ -46830,6 +46950,37 @@ import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs38 } from "react/jsx-r
46830
46950
  // ../theme-core/src/siteChrome.tsx
46831
46951
  import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs39 } from "react/jsx-runtime";
46832
46952
 
46953
+ // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
46954
+ import { z as z64 } from "zod";
46955
+ var themeBridgeConfigSchema = z64.object({
46956
+ tokens: z64.record(z64.string(), z64.string()),
46957
+ typography: z64.object({
46958
+ headingFamily: z64.string().optional(),
46959
+ bodyFamily: z64.string().optional(),
46960
+ headingWeight: z64.number().optional(),
46961
+ bodyWeight: z64.number().optional()
46962
+ }).optional(),
46963
+ spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
46964
+ corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
46965
+ shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
46966
+ components: z64.object({
46967
+ buttons: z64.union([
46968
+ z64.boolean(),
46969
+ z64.object({
46970
+ variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
46971
+ })
46972
+ ]).optional(),
46973
+ cards: z64.union([
46974
+ z64.boolean(),
46975
+ z64.object({
46976
+ variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
46977
+ })
46978
+ ]).optional(),
46979
+ inputs: z64.boolean().optional()
46980
+ }).optional(),
46981
+ overrides: z64.record(z64.string(), z64.string()).optional()
46982
+ }).passthrough();
46983
+
46833
46984
  // ../theme-core/src/mock-themes/components/swatch.tsx
46834
46985
  import { jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
46835
46986
 
@@ -50067,6 +50218,20 @@ var ENDPOINT_DEFINITIONS = {
50067
50218
  responseKind: "json",
50068
50219
  errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
50069
50220
  },
50221
+ createAppointmentResourceWithAccountAccess: {
50222
+ path: "/sites/{siteId}/bookings/resources/account-access",
50223
+ method: "POST",
50224
+ auth: "user",
50225
+ responseKind: "json",
50226
+ errors: [
50227
+ "validation:invalid_input",
50228
+ "auth:forbidden",
50229
+ "billing:plan_limit_exceeded",
50230
+ "resource:conflict",
50231
+ "resource:not_found",
50232
+ "server:internal_error"
50233
+ ]
50234
+ },
50070
50235
  getAppointmentResource: {
50071
50236
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
50072
50237
  method: "GET",
@@ -55332,73 +55497,73 @@ var ENDPOINT_DEFINITIONS = {
55332
55497
  };
55333
55498
 
55334
55499
  // ../api/src/accessAdmin.ts
55335
- import { z as z64 } from "zod";
55336
- var managedDomainAddOnPricingSnapshotSchema = z64.object({
55337
- formulaVersion: z64.literal("managed-domain-overage-v1"),
55338
- conversionRule: z64.literal("usd-to-gbp-1-to-1-v1"),
55339
- registrarAnnualCost: z64.number().nonnegative(),
55340
- registrarCurrency: z64.literal("USD"),
55341
- includedAnnualAllowance: z64.number().nonnegative(),
55342
- includedAnnualAllowanceCurrency: z64.literal("USD"),
55343
- monthlyAmountCents: z64.number().int().nonnegative(),
55344
- monthlyCurrency: z64.literal("gbp")
55500
+ import { z as z65 } from "zod";
55501
+ var managedDomainAddOnPricingSnapshotSchema = z65.object({
55502
+ formulaVersion: z65.literal("managed-domain-overage-v1"),
55503
+ conversionRule: z65.literal("usd-to-gbp-1-to-1-v1"),
55504
+ registrarAnnualCost: z65.number().nonnegative(),
55505
+ registrarCurrency: z65.literal("USD"),
55506
+ includedAnnualAllowance: z65.number().nonnegative(),
55507
+ includedAnnualAllowanceCurrency: z65.literal("USD"),
55508
+ monthlyAmountCents: z65.number().int().nonnegative(),
55509
+ monthlyCurrency: z65.literal("gbp")
55345
55510
  });
55346
55511
 
55347
55512
  // ../api/src/navigation/contracts.ts
55348
- import { z as z65 } from "zod";
55349
- var portalLinkPayloadSchema = z65.object({
55350
- kind: z65.literal("portal"),
55351
- path: z65.string().trim().startsWith("/").optional(),
55352
- labels: z65.object({
55353
- loggedOut: z65.string().trim().min(1).optional(),
55354
- loggedIn: z65.string().trim().min(1).optional()
55513
+ import { z as z66 } from "zod";
55514
+ var portalLinkPayloadSchema = z66.object({
55515
+ kind: z66.literal("portal"),
55516
+ path: z66.string().trim().startsWith("/").optional(),
55517
+ labels: z66.object({
55518
+ loggedOut: z66.string().trim().min(1).optional(),
55519
+ loggedIn: z66.string().trim().min(1).optional()
55355
55520
  }).optional()
55356
55521
  });
55357
- var cartLinkLabelConfigSchema = z65.discriminatedUnion("kind", [
55358
- z65.object({
55359
- kind: z65.literal("icon-only")
55522
+ var cartLinkLabelConfigSchema = z66.discriminatedUnion("kind", [
55523
+ z66.object({
55524
+ kind: z66.literal("icon-only")
55360
55525
  }),
55361
- z65.object({
55362
- kind: z65.literal("icon-with-label"),
55363
- label: z65.string().trim().min(1)
55526
+ z66.object({
55527
+ kind: z66.literal("icon-with-label"),
55528
+ label: z66.string().trim().min(1)
55364
55529
  })
55365
55530
  ]);
55366
- var cartLinkPayloadSchema = z65.object({
55367
- kind: z65.literal("cart"),
55368
- badge: z65.enum(["show-count", "hidden"]),
55531
+ var cartLinkPayloadSchema = z66.object({
55532
+ kind: z66.literal("cart"),
55533
+ badge: z66.enum(["show-count", "hidden"]),
55369
55534
  label: cartLinkLabelConfigSchema
55370
55535
  });
55371
- var internalLinkPayloadSchema = z65.object({
55372
- kind: z65.literal("internal"),
55373
- routeId: z65.string().uuid(),
55374
- entityId: z65.string().uuid(),
55375
- entityType: z65.enum(["page", "content"]),
55376
- href: z65.string().min(1),
55377
- title: z65.string().min(1),
55378
- typeLabel: z65.string().min(1),
55379
- contentTypeKey: z65.string().nullable().optional(),
55380
- contentTypeName: z65.string().nullable().optional(),
55381
- updatedAt: z65.string().nullable().optional()
55536
+ var internalLinkPayloadSchema = z66.object({
55537
+ kind: z66.literal("internal"),
55538
+ routeId: z66.string().uuid(),
55539
+ entityId: z66.string().uuid(),
55540
+ entityType: z66.enum(["page", "content"]),
55541
+ href: z66.string().min(1),
55542
+ title: z66.string().min(1),
55543
+ typeLabel: z66.string().min(1),
55544
+ contentTypeKey: z66.string().nullable().optional(),
55545
+ contentTypeName: z66.string().nullable().optional(),
55546
+ updatedAt: z66.string().nullable().optional()
55382
55547
  }).passthrough();
55383
- var externalLinkSchema2 = z65.object({
55384
- kind: z65.literal("external"),
55548
+ var externalLinkSchema2 = z66.object({
55549
+ kind: z66.literal("external"),
55385
55550
  // Navigation external links are expected to be absolute URLs.
55386
- href: z65.string().url()
55551
+ href: z66.string().url()
55387
55552
  });
55388
- var customLinkSchema2 = z65.object({
55389
- kind: z65.literal("url"),
55390
- href: z65.string().min(1)
55553
+ var customLinkSchema2 = z66.object({
55554
+ kind: z66.literal("url"),
55555
+ href: z66.string().min(1)
55391
55556
  });
55392
- var pageLinkSchema2 = z65.object({
55393
- kind: z65.literal("page"),
55394
- identifier: z65.string().min(1)
55557
+ var pageLinkSchema2 = z66.object({
55558
+ kind: z66.literal("page"),
55559
+ identifier: z66.string().min(1)
55395
55560
  });
55396
- var entryLinkSchema2 = z65.object({
55397
- kind: z65.literal("entry"),
55398
- contentType: z65.string().min(1),
55399
- identifier: z65.string().min(1)
55561
+ var entryLinkSchema2 = z66.object({
55562
+ kind: z66.literal("entry"),
55563
+ contentType: z66.string().min(1),
55564
+ identifier: z66.string().min(1)
55400
55565
  });
55401
- var linkPayloadSchema = z65.discriminatedUnion("kind", [
55566
+ var linkPayloadSchema = z66.discriminatedUnion("kind", [
55402
55567
  internalLinkPayloadSchema,
55403
55568
  pageLinkSchema2,
55404
55569
  entryLinkSchema2,
@@ -55415,27 +55580,27 @@ var navigationLinkInputSchemaOptions = [
55415
55580
  portalLinkPayloadSchema,
55416
55581
  cartLinkPayloadSchema
55417
55582
  ];
55418
- var navigationLinkInputSchema = z65.discriminatedUnion(
55583
+ var navigationLinkInputSchema = z66.discriminatedUnion(
55419
55584
  "kind",
55420
55585
  navigationLinkInputSchemaOptions
55421
55586
  );
55422
55587
 
55423
55588
  // ../api/src/sdkConfig/contracts.ts
55424
- import { z as z66 } from "zod";
55589
+ import { z as z67 } from "zod";
55425
55590
  function unsafeRetypeZodSchema(schema) {
55426
55591
  return schema;
55427
55592
  }
55428
- var navIdListSchema = z66.preprocess((value) => {
55593
+ var navIdListSchema = z67.preprocess((value) => {
55429
55594
  if (!Array.isArray(value)) return void 0;
55430
55595
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
55431
55596
  return filtered.length > 0 ? filtered : void 0;
55432
- }, z66.array(z66.string()).max(200).optional());
55433
- var dashboardNavVisibilityBaseSchema = z66.object({
55434
- mode: z66.enum(["augment", "restrict"]).optional(),
55597
+ }, z67.array(z67.string()).max(200).optional());
55598
+ var dashboardNavVisibilityBaseSchema = z67.object({
55599
+ mode: z67.enum(["augment", "restrict"]).optional(),
55435
55600
  allowIds: navIdListSchema,
55436
55601
  denyIds: navIdListSchema
55437
55602
  }).strip();
55438
- var dashboardNavVisibilityRolesSchema = z66.object({
55603
+ var dashboardNavVisibilityRolesSchema = z67.object({
55439
55604
  administrator: dashboardNavVisibilityBaseSchema.optional(),
55440
55605
  editor: dashboardNavVisibilityBaseSchema.optional(),
55441
55606
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -55443,57 +55608,57 @@ var dashboardNavVisibilityRolesSchema = z66.object({
55443
55608
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
55444
55609
  roles: dashboardNavVisibilityRolesSchema
55445
55610
  }).strip();
55446
- var dashboardNavigationConfigSchema = z66.object({
55611
+ var dashboardNavigationConfigSchema = z67.object({
55447
55612
  siteNav: dashboardNavVisibilitySchema.optional(),
55448
55613
  settingsNav: dashboardNavVisibilitySchema.optional()
55449
55614
  }).strip();
55450
- var dashboardConfigSchema = z66.object({
55451
- previewEditingEnabled: z66.boolean().optional(),
55615
+ var dashboardConfigSchema = z67.object({
55616
+ previewEditingEnabled: z67.boolean().optional(),
55452
55617
  navigation: dashboardNavigationConfigSchema.optional()
55453
55618
  }).strip();
55454
55619
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
55455
55620
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
55456
- var sdkLoaderEndpointSchema = z66.enum(SUPPORTED_LOADER_ENDPOINTS);
55457
- var loaderParamBindingSchema = z66.object({
55458
- $bind: z66.object({
55459
- from: z66.string().min(1, "Binding path is required"),
55460
- fallback: z66.string().optional()
55621
+ var sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
55622
+ var loaderParamBindingSchema = z67.object({
55623
+ $bind: z67.object({
55624
+ from: z67.string().min(1, "Binding path is required"),
55625
+ fallback: z67.string().optional()
55461
55626
  })
55462
55627
  });
55463
- var loaderParamValueSchema = z66.union([
55464
- z66.string(),
55465
- z66.number(),
55466
- z66.boolean(),
55628
+ var loaderParamValueSchema = z67.union([
55629
+ z67.string(),
55630
+ z67.number(),
55631
+ z67.boolean(),
55467
55632
  loaderParamBindingSchema
55468
55633
  ]);
55469
- var sdkConfigLoaderSchema = z66.object({
55634
+ var sdkConfigLoaderSchema = z67.object({
55470
55635
  endpoint: sdkLoaderEndpointSchema,
55471
- params: z66.record(z66.string(), loaderParamValueSchema),
55472
- mode: z66.enum(["server", "client"]).default("server")
55636
+ params: z67.record(z67.string(), loaderParamValueSchema),
55637
+ mode: z67.enum(["server", "client"]).default("server")
55473
55638
  });
55474
- var sdkDataLoadersSchema = z66.record(z66.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55475
- var sdkCustomBlockIdSchema = z66.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55639
+ var sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55640
+ var sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55476
55641
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
55477
55642
  }).transform((value) => value);
55478
- var sdkCustomBlockInputSchema = z66.object({
55643
+ var sdkCustomBlockInputSchema = z67.object({
55479
55644
  id: sdkCustomBlockIdSchema,
55480
- title: z66.string().min(1),
55481
- titleSource: z66.union([z66.string().min(1), z66.array(z66.string().min(1)).min(1)]).optional(),
55482
- description: z66.string().optional(),
55645
+ title: z67.string().min(1),
55646
+ titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
55647
+ description: z67.string().optional(),
55483
55648
  category: blockCategoryEnum,
55484
- icon: z66.string().optional(),
55485
- tags: z66.array(z66.string()).optional(),
55649
+ icon: z67.string().optional(),
55650
+ tags: z67.array(z67.string()).optional(),
55486
55651
  fields: fieldDefinitionInputSchema.array().min(1),
55487
55652
  dataLoaders: sdkDataLoadersSchema,
55488
55653
  layout: NodeSchema.optional(),
55489
- variants: z66.record(z66.string().min(1), NodeSchema).optional(),
55490
- defaultVariant: z66.string().min(1).optional(),
55491
- variantOptions: z66.record(
55492
- z66.string().min(1),
55493
- z66.object({
55494
- label: z66.string().min(1).optional(),
55495
- description: z66.string().min(1).optional(),
55496
- icon: z66.string().min(1).optional()
55654
+ variants: z67.record(z67.string().min(1), NodeSchema).optional(),
55655
+ defaultVariant: z67.string().min(1).optional(),
55656
+ variantOptions: z67.record(
55657
+ z67.string().min(1),
55658
+ z67.object({
55659
+ label: z67.string().min(1).optional(),
55660
+ description: z67.string().min(1).optional(),
55661
+ icon: z67.string().min(1).optional()
55497
55662
  })
55498
55663
  ).optional()
55499
55664
  }).superRefine((data, ctx) => {
@@ -55503,7 +55668,7 @@ var sdkCustomBlockInputSchema = z66.object({
55503
55668
  const exists = data.fields.some((field) => field.id === source);
55504
55669
  if (!exists) {
55505
55670
  ctx.addIssue({
55506
- code: z66.ZodIssueCode.custom,
55671
+ code: z67.ZodIssueCode.custom,
55507
55672
  message: `titleSource must reference a valid field ID (got "${source}")`,
55508
55673
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
55509
55674
  });
@@ -55512,7 +55677,7 @@ var sdkCustomBlockInputSchema = z66.object({
55512
55677
  }
55513
55678
  if (data.layout && data.variants) {
55514
55679
  ctx.addIssue({
55515
- code: z66.ZodIssueCode.custom,
55680
+ code: z67.ZodIssueCode.custom,
55516
55681
  message: "Custom block must define either `layout` or `variants`, not both",
55517
55682
  path: ["variants"]
55518
55683
  });
@@ -55521,14 +55686,14 @@ var sdkCustomBlockInputSchema = z66.object({
55521
55686
  const keys = Object.keys(data.variants);
55522
55687
  if (keys.length === 0) {
55523
55688
  ctx.addIssue({
55524
- code: z66.ZodIssueCode.custom,
55689
+ code: z67.ZodIssueCode.custom,
55525
55690
  message: "`variants` must contain at least one variant key",
55526
55691
  path: ["variants"]
55527
55692
  });
55528
55693
  }
55529
55694
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
55530
55695
  ctx.addIssue({
55531
- code: z66.ZodIssueCode.custom,
55696
+ code: z67.ZodIssueCode.custom,
55532
55697
  message: "`defaultVariant` must be a key present in `variants`",
55533
55698
  path: ["defaultVariant"]
55534
55699
  });
@@ -55537,7 +55702,7 @@ var sdkCustomBlockInputSchema = z66.object({
55537
55702
  for (const key of Object.keys(data.variantOptions)) {
55538
55703
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
55539
55704
  ctx.addIssue({
55540
- code: z66.ZodIssueCode.custom,
55705
+ code: z67.ZodIssueCode.custom,
55541
55706
  message: "`variantOptions` key must exist in `variants`",
55542
55707
  path: ["variantOptions", key]
55543
55708
  });
@@ -55546,74 +55711,74 @@ var sdkCustomBlockInputSchema = z66.object({
55546
55711
  }
55547
55712
  }
55548
55713
  });
55549
- var sdkBlockFieldExtensionInputSchema = z66.object({
55714
+ var sdkBlockFieldExtensionInputSchema = z67.object({
55550
55715
  fields: fieldDefinitionInputSchema.array().min(1)
55551
55716
  });
55552
- var sdkBlockFieldExtensionsInputSchema = z66.record(
55553
- z66.string().min(1),
55717
+ var sdkBlockFieldExtensionsInputSchema = z67.record(
55718
+ z67.string().min(1),
55554
55719
  sdkBlockFieldExtensionInputSchema
55555
55720
  );
55556
- var sdkThemePaletteSchema = z66.record(z66.string(), z66.string());
55557
- var sdkThemeConfigSchema = z66.object({
55721
+ var sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
55722
+ var sdkThemeConfigSchema = z67.object({
55558
55723
  palette: sdkThemePaletteSchema
55559
55724
  });
55560
- var sdkSectionBackgroundSchema = z66.object({
55561
- id: z66.string().min(1),
55562
- label: z66.string().min(1),
55563
- token: z66.string().min(1)
55725
+ var sdkSectionBackgroundSchema = z67.object({
55726
+ id: z67.string().min(1),
55727
+ label: z67.string().min(1),
55728
+ token: z67.string().min(1)
55564
55729
  });
55565
- var sdkSectionOptionsConfigSchema = z66.object({
55566
- backgroundColor: z66.boolean().optional(),
55567
- backgroundImage: z66.boolean().optional(),
55568
- backgroundGradient: z66.boolean().optional(),
55569
- spacing: z66.union([z66.array(z66.enum(["compact", "default", "spacious"])), z66.boolean()]).optional(),
55570
- textColor: z66.boolean().optional()
55730
+ var sdkSectionOptionsConfigSchema = z67.object({
55731
+ backgroundColor: z67.boolean().optional(),
55732
+ backgroundImage: z67.boolean().optional(),
55733
+ backgroundGradient: z67.boolean().optional(),
55734
+ spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
55735
+ textColor: z67.boolean().optional()
55571
55736
  });
55572
- var sdkContainerOptionsConfigSchema = z66.object({
55573
- maxWidth: z66.union([z66.array(z66.enum(["narrow", "default", "wide", "full"])), z66.boolean()]).optional(),
55574
- alignment: z66.union([z66.array(z66.enum(["left", "center", "right"])), z66.boolean()]).optional()
55737
+ var sdkContainerOptionsConfigSchema = z67.object({
55738
+ maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
55739
+ alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
55575
55740
  });
55576
- var sdkSiteStyleConfigSchema = z66.object({
55577
- sectionBackgrounds: z66.array(sdkSectionBackgroundSchema).optional(),
55741
+ var sdkSiteStyleConfigSchema = z67.object({
55742
+ sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
55578
55743
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
55579
55744
  containerOptions: sdkContainerOptionsConfigSchema.optional()
55580
55745
  });
55581
- var sdkSiteLayoutConfigSchema = z66.object({
55582
- footerBlocks: z66.array(
55583
- z66.object({
55584
- id: z66.string().min(1).optional(),
55585
- kind: z66.string().min(1),
55586
- content: z66.record(z66.string(), z66.unknown()).optional()
55746
+ var sdkSiteLayoutConfigSchema = z67.object({
55747
+ footerBlocks: z67.array(
55748
+ z67.object({
55749
+ id: z67.string().min(1).optional(),
55750
+ kind: z67.string().min(1),
55751
+ content: z67.record(z67.string(), z67.unknown()).optional()
55587
55752
  })
55588
55753
  ).optional()
55589
55754
  });
55590
- var sdkFieldSelectOptionSchema = z66.object({
55591
- value: z66.string(),
55592
- label: z66.string()
55755
+ var sdkFieldSelectOptionSchema = z67.object({
55756
+ value: z67.string(),
55757
+ label: z67.string()
55593
55758
  });
55594
- var sdkBlockFieldConfigSchema = z66.object({
55595
- options: z66.array(sdkFieldSelectOptionSchema).optional()
55759
+ var sdkBlockFieldConfigSchema = z67.object({
55760
+ options: z67.array(sdkFieldSelectOptionSchema).optional()
55596
55761
  });
55597
- var sdkBlockFieldOptionsMapSchema = z66.record(
55598
- z66.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
55762
+ var sdkBlockFieldOptionsMapSchema = z67.record(
55763
+ z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
55599
55764
  message: "Block ID must be 'block.*' or 'custom.*' format"
55600
55765
  }),
55601
- z66.record(z66.string().min(1), sdkBlockFieldConfigSchema)
55766
+ z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
55602
55767
  ).optional();
55603
- var sdkContentTypeTemplateConfigSchema = z66.object({
55604
- blocks: z66.array(z66.unknown())
55768
+ var sdkContentTypeTemplateConfigSchema = z67.object({
55769
+ blocks: z67.array(z67.unknown())
55605
55770
  }).passthrough();
55606
- var sdkContentTypeConfigSchema = z66.object({
55607
- key: z66.string().min(1),
55608
- fields: z66.array(z66.unknown()),
55771
+ var sdkContentTypeConfigSchema = z67.object({
55772
+ key: z67.string().min(1),
55773
+ fields: z67.array(z67.unknown()),
55609
55774
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
55610
55775
  }).passthrough();
55611
- var sdkContentConfigSchema = z66.object({
55612
- contentTypes: z66.array(sdkContentTypeConfigSchema).optional(),
55613
- pages: z66.array(z66.unknown()).optional(),
55614
- entries: z66.array(z66.unknown()).optional(),
55615
- navigationMenus: z66.array(z66.unknown()).optional(),
55616
- settings: z66.unknown().optional()
55776
+ var sdkContentConfigSchema = z67.object({
55777
+ contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
55778
+ pages: z67.array(z67.unknown()).optional(),
55779
+ entries: z67.array(z67.unknown()).optional(),
55780
+ navigationMenus: z67.array(z67.unknown()).optional(),
55781
+ settings: z67.unknown().optional()
55617
55782
  }).passthrough();
55618
55783
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
55619
55784
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -55628,62 +55793,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
55628
55793
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
55629
55794
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
55630
55795
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
55631
- var sdkWorkflowIdSchema = z66.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
55796
+ var sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
55632
55797
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
55633
55798
  });
55634
- var sdkWorkflowEndpointSchema = z66.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
55635
- var sdkWorkflowManualTriggerSchema = z66.object({
55636
- type: z66.literal("manual")
55799
+ var sdkWorkflowEndpointSchema = z67.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
55800
+ var sdkWorkflowManualTriggerSchema = z67.object({
55801
+ type: z67.literal("manual")
55637
55802
  }).strict();
55638
- var sdkWorkflowTriggerFieldSchema = z66.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
55803
+ var sdkWorkflowTriggerFieldSchema = z67.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
55639
55804
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
55640
55805
  });
55641
- var sdkWorkflowFieldChangedConditionSchema = z66.object({
55806
+ var sdkWorkflowFieldChangedConditionSchema = z67.object({
55642
55807
  field: sdkWorkflowTriggerFieldSchema,
55643
- changed: z66.literal(true)
55808
+ changed: z67.literal(true)
55644
55809
  }).strict();
55645
- var sdkWorkflowFieldEmptyConditionSchema = z66.object({
55810
+ var sdkWorkflowFieldEmptyConditionSchema = z67.object({
55646
55811
  field: sdkWorkflowTriggerFieldSchema,
55647
- isEmpty: z66.boolean()
55812
+ isEmpty: z67.boolean()
55648
55813
  }).strict();
55649
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z66.object({
55650
- type: z66.literal("entry.draft.updated"),
55651
- when: z66.array(
55652
- z66.union([
55814
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z67.object({
55815
+ type: z67.literal("entry.draft.updated"),
55816
+ when: z67.array(
55817
+ z67.union([
55653
55818
  sdkWorkflowFieldChangedConditionSchema,
55654
55819
  sdkWorkflowFieldEmptyConditionSchema
55655
55820
  ])
55656
55821
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
55657
55822
  }).strict();
55658
- var sdkWorkflowTriggerSchema = z66.discriminatedUnion("type", [
55823
+ var sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
55659
55824
  sdkWorkflowManualTriggerSchema,
55660
55825
  sdkWorkflowEntryDraftUpdatedTriggerSchema
55661
55826
  ]);
55662
- var sdkWorkflowConfirmationSchema = z66.object({
55663
- title: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
55664
- body: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
55827
+ var sdkWorkflowConfirmationSchema = z67.object({
55828
+ title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
55829
+ body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
55665
55830
  }).strict();
55666
- var sdkWorkflowConfigSchema = z66.object({
55831
+ var sdkWorkflowConfigSchema = z67.object({
55667
55832
  id: sdkWorkflowIdSchema,
55668
- title: z66.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
55669
- description: z66.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
55670
- contentType: z66.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
55833
+ title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
55834
+ description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
55835
+ contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
55671
55836
  endpoint: sdkWorkflowEndpointSchema,
55672
- triggers: z66.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
55837
+ triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
55673
55838
  confirmation: sdkWorkflowConfirmationSchema.optional()
55674
55839
  }).strict();
55675
- var sdkWorkflowsSchema = z66.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
55840
+ var sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
55676
55841
  const ids = workflows.map((workflow) => workflow.id);
55677
55842
  return ids.length === new Set(ids).size;
55678
55843
  }, { message: "Workflow IDs must be unique" }).optional();
55679
- var riverbankSiteConfigInputSchema = z66.object({
55680
- siteId: z66.string().uuid(),
55681
- previewUrl: z66.string().url().optional(),
55682
- liveUrl: z66.string().url().optional(),
55844
+ var riverbankSiteConfigInputSchema = z67.object({
55845
+ siteId: z67.string().uuid(),
55846
+ previewUrl: z67.string().url().optional(),
55847
+ liveUrl: z67.string().url().optional(),
55683
55848
  theme: sdkThemeConfigSchema.optional(),
55684
55849
  styles: sdkSiteStyleConfigSchema.optional(),
55685
55850
  layout: sdkSiteLayoutConfigSchema.optional(),
55686
- customBlocks: z66.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
55851
+ customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
55687
55852
  const ids = blocks.map((b) => b.id);
55688
55853
  return ids.length === new Set(ids).size;
55689
55854
  }, { message: "Block IDs must be unique" }).optional(),
@@ -55691,50 +55856,50 @@ var riverbankSiteConfigInputSchema = z66.object({
55691
55856
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
55692
55857
  workflows: sdkWorkflowsSchema,
55693
55858
  content: sdkContentConfigSchema.optional(),
55694
- contentDir: z66.string().optional(),
55695
- sync: z66.object({
55696
- existingEntries: z66.enum(["skip", "update"]).optional()
55859
+ contentDir: z67.string().optional(),
55860
+ sync: z67.object({
55861
+ existingEntries: z67.enum(["skip", "update"]).optional()
55697
55862
  }).optional(),
55698
- deploy: z66.object({
55699
- verifyCommand: z66.string().optional(),
55700
- prebuildOutput: z66.string().optional()
55863
+ deploy: z67.object({
55864
+ verifyCommand: z67.string().optional(),
55865
+ prebuildOutput: z67.string().optional()
55701
55866
  }).optional(),
55702
- themeSource: z66.enum(["local", "cms"]).optional(),
55703
- activeTheme: z66.string().optional(),
55704
- enablePortal: z66.boolean().optional(),
55867
+ themeSource: z67.enum(["local", "cms"]).optional(),
55868
+ activeTheme: z67.string().optional(),
55869
+ enablePortal: z67.boolean().optional(),
55705
55870
  dashboard: dashboardConfigSchema.optional()
55706
55871
  }).strict();
55707
- var pushSdkConfigBodySchema = z66.object({
55872
+ var pushSdkConfigBodySchema = z67.object({
55708
55873
  config: riverbankSiteConfigInputSchema,
55709
- forceContentTypes: z66.boolean().optional()
55874
+ forceContentTypes: z67.boolean().optional()
55710
55875
  }).strict();
55711
55876
 
55712
55877
  // ../api/src/siteOnboarding.ts
55713
- import { z as z67 } from "zod";
55878
+ import { z as z68 } from "zod";
55714
55879
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
55715
55880
  configure_appointments: {
55716
55881
  requirementId: "configure_appointments",
55717
55882
  reason: "launch_anyway"
55718
55883
  }
55719
55884
  };
55720
- var acknowledgeLaunchRequirementRequestSchema = z67.discriminatedUnion(
55885
+ var acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
55721
55886
  "requirementId",
55722
55887
  [
55723
- z67.object({
55724
- requirementId: z67.literal("review_generated_site")
55888
+ z68.object({
55889
+ requirementId: z68.literal("review_generated_site")
55725
55890
  }),
55726
- z67.object({
55727
- requirementId: z67.literal(
55891
+ z68.object({
55892
+ requirementId: z68.literal(
55728
55893
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
55729
55894
  ),
55730
- overrideReason: z67.literal(
55895
+ overrideReason: z68.literal(
55731
55896
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
55732
55897
  )
55733
55898
  })
55734
55899
  ]
55735
55900
  );
55736
- var goLiveSiteRequestSchema = z67.object({
55737
- acceptExtraSiteCharge: z67.boolean().optional()
55901
+ var goLiveSiteRequestSchema = z68.object({
55902
+ acceptExtraSiteCharge: z68.boolean().optional()
55738
55903
  });
55739
55904
 
55740
55905
  // ../surfaces/src/index.ts
@@ -55910,53 +56075,56 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
55910
56075
  }
55911
56076
 
55912
56077
  // ../api/src/utils/isRecord.ts
55913
- function isRecord4(value) {
56078
+ function isRecord5(value) {
55914
56079
  return typeof value === "object" && value !== null && !Array.isArray(value);
55915
56080
  }
55916
56081
 
55917
56082
  // ../api/src/appointmentSetup.ts
55918
- import { z as z68 } from "zod";
55919
- var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
55920
- z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
55921
- z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
56083
+ import { z as z69 } from "zod";
56084
+ var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
56085
+ var appointmentSetupRefSchema = z69.discriminatedUnion("kind", [
56086
+ z69.object({ kind: z69.literal("existing"), id: z69.string().min(1) }),
56087
+ z69.object({ kind: z69.literal("new"), draftId: z69.string().min(1) })
55922
56088
  ]);
55923
- var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
55924
- z68.object({ kind: z68.literal("none") }),
55925
- z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
55926
- z68.object({
55927
- kind: z68.literal("create"),
55928
- draftId: z68.string().min(1),
55929
- title: z68.string().trim().min(1),
55930
- description: z68.string().nullable(),
55931
- timezone: z68.string().trim().min(1).nullable(),
55932
- addressJson: z68.record(z68.string(), z68.unknown()),
55933
- locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
56089
+ var appointmentSetupVenueChoiceSchema = z69.discriminatedUnion("kind", [
56090
+ z69.object({ kind: z69.literal("none") }),
56091
+ z69.object({ kind: z69.literal("existing"), venueId: z69.string().min(1) }),
56092
+ z69.object({
56093
+ kind: z69.literal("create"),
56094
+ draftId: z69.string().min(1),
56095
+ title: z69.string().trim().min(1),
56096
+ description: z69.string().nullable(),
56097
+ timezone: z69.string().trim().min(1).nullable(),
56098
+ addressJson: z69.record(z69.string(), z69.unknown()),
56099
+ locationJson: z69.object({ lat: z69.number(), lng: z69.number() }).nullable()
55934
56100
  })
55935
56101
  ]);
55936
- var appointmentSetupPaymentDraftSchema = z68.object({
55937
- priceType: z68.union([z68.literal("free"), z68.literal("paid")])
55938
- });
55939
- var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
55940
- z68.object({ kind: z68.literal("all_practitioners") }),
55941
- z68.object({
55942
- kind: z68.literal("selected_practitioners"),
55943
- resourceRefs: z68.array(appointmentSetupRefSchema)
56102
+ var appointmentSetupPaymentDraftSchema = z69.object({
56103
+ priceType: z69.union([z69.literal("free"), z69.literal("paid")])
56104
+ });
56105
+ var appointmentSetupServiceAssignmentDraftSchema = z69.discriminatedUnion("kind", [
56106
+ z69.object({ kind: z69.literal("all_practitioners") }),
56107
+ z69.object({
56108
+ kind: z69.literal("selected_practitioners"),
56109
+ resourceRefs: z69.array(appointmentSetupRefSchema)
55944
56110
  })
55945
56111
  ]);
55946
- var appointmentSetupServiceDraftSchema = z68.object({
56112
+ var appointmentSetupServiceDraftSchema = z69.object({
55947
56113
  ref: appointmentSetupRefSchema,
55948
- title: z68.string().trim().min(1),
55949
- description: z68.string().nullable(),
55950
- durationMinutes: z68.number().int().positive(),
55951
- priceAmount: z68.number().int().nonnegative().nullable(),
55952
- isActive: z68.boolean(),
55953
- locationType: z68.union([
55954
- z68.literal("virtual"),
55955
- z68.literal("in_person"),
55956
- z68.literal("hybrid")
56114
+ title: z69.string().trim().min(1),
56115
+ description: z69.string().nullable(),
56116
+ durationMinutes: z69.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56117
+ prepMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56118
+ cleanupMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56119
+ priceAmount: z69.number().int().nonnegative().nullable(),
56120
+ isActive: z69.boolean(),
56121
+ locationType: z69.union([
56122
+ z69.literal("virtual"),
56123
+ z69.literal("in_person"),
56124
+ z69.literal("hybrid")
55957
56125
  ]),
55958
56126
  venue: appointmentSetupVenueChoiceSchema,
55959
- timezone: z68.string().trim().min(1).nullable(),
56127
+ timezone: z69.string().trim().min(1).nullable(),
55960
56128
  payment: appointmentSetupPaymentDraftSchema,
55961
56129
  assignment: appointmentSetupServiceAssignmentDraftSchema
55962
56130
  }).superRefine((service, ctx) => {
@@ -55975,34 +56143,34 @@ var appointmentSetupServiceDraftSchema = z68.object({
55975
56143
  });
55976
56144
  }
55977
56145
  });
55978
- var appointmentSetupPractitionerDraftSchema = z68.object({
56146
+ var appointmentSetupPractitionerDraftSchema = z69.object({
55979
56147
  ref: appointmentSetupRefSchema,
55980
- displayName: z68.string().trim().min(1),
55981
- bio: z68.string().nullable(),
55982
- timezone: z68.string().trim().min(1),
55983
- colorHex: z68.string().nullable()
55984
- });
55985
- var appointmentSetupWeeklyWindowDraftSchema = z68.object({
55986
- weekday: z68.number().int().min(0).max(6),
55987
- startTime: z68.string(),
55988
- endTime: z68.string()
55989
- });
55990
- var appointmentSetupAvailabilityDraftSchema = z68.object({
55991
- kind: z68.literal("weekly_windows"),
56148
+ displayName: z69.string().trim().min(1),
56149
+ bio: z69.string().nullable(),
56150
+ timezone: z69.string().trim().min(1),
56151
+ colorHex: z69.string().nullable()
56152
+ });
56153
+ var appointmentSetupWeeklyWindowDraftSchema = z69.object({
56154
+ weekday: z69.number().int().min(0).max(6),
56155
+ startTime: z69.string(),
56156
+ endTime: z69.string()
56157
+ });
56158
+ var appointmentSetupAvailabilityDraftSchema = z69.object({
56159
+ kind: z69.literal("weekly_windows"),
55992
56160
  resourceRef: appointmentSetupRefSchema,
55993
56161
  serviceRef: appointmentSetupRefSchema.nullable(),
55994
- windows: z68.array(appointmentSetupWeeklyWindowDraftSchema)
56162
+ windows: z69.array(appointmentSetupWeeklyWindowDraftSchema)
55995
56163
  });
55996
56164
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
55997
56165
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
55998
- var appointmentSetupBookingNoticeSchema = z68.object({
55999
- minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56000
- maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56001
- });
56002
- var applyAppointmentSetupRequestSchema = z68.object({
56003
- services: z68.array(appointmentSetupServiceDraftSchema),
56004
- practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
56005
- availability: z68.array(appointmentSetupAvailabilityDraftSchema),
56166
+ var appointmentSetupBookingNoticeSchema = z69.object({
56167
+ minLeadMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56168
+ maxBookingNoticeMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56169
+ });
56170
+ var applyAppointmentSetupRequestSchema = z69.object({
56171
+ services: z69.array(appointmentSetupServiceDraftSchema),
56172
+ practitioners: z69.array(appointmentSetupPractitionerDraftSchema),
56173
+ availability: z69.array(appointmentSetupAvailabilityDraftSchema),
56006
56174
  bookingNotice: appointmentSetupBookingNoticeSchema
56007
56175
  });
56008
56176
 
@@ -56035,24 +56203,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
56035
56203
  ];
56036
56204
 
56037
56205
  // ../api/src/siteBanner.ts
56038
- import { z as z69 } from "zod";
56206
+ import { z as z70 } from "zod";
56039
56207
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
56040
56208
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
56041
56209
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
56042
56210
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
56043
- var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
56044
- var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
56045
- var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
56046
- var siteBannerCtaSchema = z69.object({
56047
- label: z69.string().trim().min(1),
56211
+ var siteBannerScopeSchema = z70.enum(SITE_BANNER_SCOPE_VALUES);
56212
+ var siteBannerToneSchema = z70.enum(SITE_BANNER_TONE_VALUES);
56213
+ var siteBannerBodySchema = z70.unknown().transform(unwrapRichTextValue);
56214
+ var siteBannerCtaSchema = z70.object({
56215
+ label: z70.string().trim().min(1),
56048
56216
  link: linkPayloadSchema
56049
56217
  });
56050
- var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
56051
- z69.object({
56052
- enabled: z69.literal(false)
56218
+ var siteBannerSettingsSchema = z70.discriminatedUnion("enabled", [
56219
+ z70.object({
56220
+ enabled: z70.literal(false)
56053
56221
  }),
56054
- z69.object({
56055
- enabled: z69.literal(true),
56222
+ z70.object({
56223
+ enabled: z70.literal(true),
56056
56224
  scope: siteBannerScopeSchema,
56057
56225
  tone: siteBannerToneSchema,
56058
56226
  body: siteBannerBodySchema,
@@ -56066,7 +56234,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
56066
56234
  const analysis = analyzeSiteBannerBody(value.body);
56067
56235
  for (const issue2 of analysis.issues) {
56068
56236
  ctx.addIssue({
56069
- code: z69.ZodIssueCode.custom,
56237
+ code: z70.ZodIssueCode.custom,
56070
56238
  path: ["body"],
56071
56239
  message: siteBannerBodyIssueMessage(issue2)
56072
56240
  });
@@ -56199,7 +56367,7 @@ function sanitizeMarks(marks) {
56199
56367
  if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
56200
56368
  return [{ type: mark.type }];
56201
56369
  }
56202
- if (mark.type === "link" && isRecord4(mark.attrs) && typeof mark.attrs.href === "string") {
56370
+ if (mark.type === "link" && isRecord5(mark.attrs) && typeof mark.attrs.href === "string") {
56203
56371
  const attrs = { href: mark.attrs.href };
56204
56372
  if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
56205
56373
  attrs.target = mark.attrs.target;
@@ -56214,10 +56382,10 @@ function sanitizeMarks(marks) {
56214
56382
  return sanitized.length > 0 ? sanitized : void 0;
56215
56383
  }
56216
56384
  function unwrapRichTextValue(value) {
56217
- if (isRecord4(value) && isRecord4(value.doc)) {
56385
+ if (isRecord5(value) && isRecord5(value.doc)) {
56218
56386
  return unwrapRichTextValue(value.doc);
56219
56387
  }
56220
- if (isRecord4(value) && value.type === "doc") {
56388
+ if (isRecord5(value) && value.type === "doc") {
56221
56389
  return {
56222
56390
  type: "doc",
56223
56391
  content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
@@ -56226,7 +56394,7 @@ function unwrapRichTextValue(value) {
56226
56394
  return EMPTY_SITE_BANNER_BODY;
56227
56395
  }
56228
56396
  function isTipTapNodeLike(value) {
56229
- return isRecord4(value) && typeof value.type === "string";
56397
+ return isRecord5(value) && typeof value.type === "string";
56230
56398
  }
56231
56399
  function coerceTipTapNode(value) {
56232
56400
  return {
@@ -56234,9 +56402,9 @@ function coerceTipTapNode(value) {
56234
56402
  ...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
56235
56403
  ...typeof value.text === "string" ? { text: value.text } : {},
56236
56404
  ...Array.isArray(value.marks) ? {
56237
- marks: value.marks.filter((mark) => isRecord4(mark) && typeof mark.type === "string").map((mark) => ({
56405
+ marks: value.marks.filter((mark) => isRecord5(mark) && typeof mark.type === "string").map((mark) => ({
56238
56406
  type: mark.type,
56239
- ...isRecord4(mark.attrs) ? { attrs: mark.attrs } : {}
56407
+ ...isRecord5(mark.attrs) ? { attrs: mark.attrs } : {}
56240
56408
  }))
56241
56409
  } : {}
56242
56410
  };
@@ -56290,71 +56458,71 @@ function parsePublicProductCategorySelector(value) {
56290
56458
  }
56291
56459
 
56292
56460
  // ../api/src/aiPlayground.ts
56293
- import { z as z70 } from "zod";
56294
- var Rfc6902PatchOp = z70.discriminatedUnion("op", [
56461
+ import { z as z71 } from "zod";
56462
+ var Rfc6902PatchOp = z71.discriminatedUnion("op", [
56295
56463
  // Standard RFC-6902 operations
56296
- z70.object({
56297
- op: z70.literal("add"),
56298
- path: z70.string(),
56299
- value: z70.unknown()
56464
+ z71.object({
56465
+ op: z71.literal("add"),
56466
+ path: z71.string(),
56467
+ value: z71.unknown()
56300
56468
  }),
56301
- z70.object({
56302
- op: z70.literal("remove"),
56303
- path: z70.string()
56469
+ z71.object({
56470
+ op: z71.literal("remove"),
56471
+ path: z71.string()
56304
56472
  }),
56305
- z70.object({
56306
- op: z70.literal("replace"),
56307
- path: z70.string(),
56308
- value: z70.unknown()
56473
+ z71.object({
56474
+ op: z71.literal("replace"),
56475
+ path: z71.string(),
56476
+ value: z71.unknown()
56309
56477
  }),
56310
- z70.object({
56311
- op: z70.literal("move"),
56312
- from: z70.string(),
56313
- path: z70.string()
56478
+ z71.object({
56479
+ op: z71.literal("move"),
56480
+ from: z71.string(),
56481
+ path: z71.string()
56314
56482
  }),
56315
- z70.object({
56316
- op: z70.literal("copy"),
56317
- from: z70.string(),
56318
- path: z70.string()
56483
+ z71.object({
56484
+ op: z71.literal("copy"),
56485
+ from: z71.string(),
56486
+ path: z71.string()
56319
56487
  }),
56320
56488
  // Block-level operations (Phase 2)
56321
- z70.object({
56322
- op: z70.literal("add_block"),
56323
- blockKind: z70.string(),
56324
- afterBlockId: z70.string().nullable(),
56325
- content: z70.record(z70.string(), z70.unknown()),
56326
- rationale: z70.string()
56489
+ z71.object({
56490
+ op: z71.literal("add_block"),
56491
+ blockKind: z71.string(),
56492
+ afterBlockId: z71.string().nullable(),
56493
+ content: z71.record(z71.string(), z71.unknown()),
56494
+ rationale: z71.string()
56327
56495
  }),
56328
- z70.object({
56329
- op: z70.literal("delete_block"),
56330
- blockId: z70.string(),
56331
- rationale: z70.string()
56496
+ z71.object({
56497
+ op: z71.literal("delete_block"),
56498
+ blockId: z71.string(),
56499
+ rationale: z71.string()
56332
56500
  }),
56333
- z70.object({
56334
- op: z70.literal("reorder_block"),
56335
- blockId: z70.string(),
56336
- afterBlockId: z70.string().nullable(),
56337
- rationale: z70.string()
56501
+ z71.object({
56502
+ op: z71.literal("reorder_block"),
56503
+ blockId: z71.string(),
56504
+ afterBlockId: z71.string().nullable(),
56505
+ rationale: z71.string()
56338
56506
  })
56339
56507
  ]);
56340
- var PlaygroundProposeRequest = z70.object({
56341
- request: z70.string().min(1).max(2e3)
56508
+ var PlaygroundProposeRequest = z71.object({
56509
+ request: z71.string().min(1).max(2e3)
56342
56510
  });
56343
- var MultiPagePatchEnvelope = z70.object({
56344
- pageId: z70.string(),
56345
- blockId: z70.string().optional(),
56511
+ var MultiPagePatchEnvelope = z71.object({
56512
+ pageId: z71.string(),
56513
+ blockId: z71.string().optional(),
56346
56514
  // Not present for page-level ops
56347
- blockKind: z70.string().optional(),
56348
- blockPurpose: z70.string().optional().nullable(),
56349
- ops: z70.array(Rfc6902PatchOp),
56350
- rationale: z70.string(),
56351
- currentContent: z70.record(z70.string(), z70.unknown()).optional()
56515
+ blockKind: z71.string().optional(),
56516
+ blockPurpose: z71.string().optional().nullable(),
56517
+ ops: z71.array(Rfc6902PatchOp),
56518
+ rationale: z71.string(),
56519
+ currentContent: z71.record(z71.string(), z71.unknown()).optional()
56352
56520
  });
56353
- var MultiPageUpdateResponse = z70.object({
56354
- patches: z70.array(MultiPagePatchEnvelope),
56355
- assistantMessage: z70.string(),
56356
- pagesModified: z70.number(),
56357
- toolCallsUsed: z70.number()
56521
+ var MultiPageUpdateResponse = z71.object({
56522
+ patches: z71.array(MultiPagePatchEnvelope),
56523
+ assistantMessage: z71.string(),
56524
+ pagesModified: z71.number(),
56525
+ toolCallsUsed: z71.number()
56358
56526
  });
56359
56527
 
56360
56528
  // src/data/prefetchBlockData.ts
@@ -56371,7 +56539,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
56371
56539
  "getPublicBookingServices",
56372
56540
  "getPublicEventDetails"
56373
56541
  ];
56374
- function isSupportedLoaderEndpoint(endpoint) {
56542
+ function isSupportedLoaderEndpoint2(endpoint) {
56375
56543
  return SUPPORTED_LOADER_ENDPOINTS2.includes(endpoint);
56376
56544
  }
56377
56545
  function parseManualEntryIds(entryIds) {
@@ -56414,7 +56582,7 @@ async function prefetchBlockData2(page, context, client, options) {
56414
56582
  );
56415
56583
  return prefetchBlockData(page, context, {
56416
56584
  apiClient: async ({ endpoint, params }) => {
56417
- if (!isSupportedLoaderEndpoint(endpoint)) {
56585
+ if (!isSupportedLoaderEndpoint2(endpoint)) {
56418
56586
  throw new Error(
56419
56587
  `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS2.join(", ")}`
56420
56588
  );
@@ -56586,7 +56754,7 @@ async function prefetchBlockData2(page, context, client, options) {
56586
56754
  }
56587
56755
  }
56588
56756
  },
56589
- isValidEndpoint: isSupportedLoaderEndpoint,
56757
+ isValidEndpoint: isSupportedLoaderEndpoint2,
56590
56758
  onError: (error, { block, loader }) => {
56591
56759
  console.warn("[prefetchBlockData] failed to prefetch block data", {
56592
56760
  block,
@@ -56710,6 +56878,8 @@ function renderBlockOverride({
56710
56878
  themeConfig: props2.theme,
56711
56879
  data: resolvedData,
56712
56880
  siteId: props2.siteId,
56881
+ apiBaseUrl: props2.apiBaseUrl,
56882
+ portalToken: props2.portalToken ?? null,
56713
56883
  supabaseUrl: props2.supabaseUrl,
56714
56884
  imageResolveContext: runtime.imageResolveContext,
56715
56885
  blockId: props2.blockId ?? null,