@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
@@ -368,6 +368,23 @@ function toLocationCoordinates(value) {
368
368
  };
369
369
  }
370
370
 
371
+ // ../core/src/planner.ts
372
+ var systemPlanningClock = {
373
+ now: () => Date.now()
374
+ };
375
+ function resolvePlanningNowDate(input = {}) {
376
+ if (input.now !== void 0) {
377
+ return input.now;
378
+ }
379
+ return new Date((input.clock ?? systemPlanningClock).now());
380
+ }
381
+ function resolvePlanningDateInput(input = {}) {
382
+ if (input instanceof Date) {
383
+ return input;
384
+ }
385
+ return resolvePlanningNowDate(input);
386
+ }
387
+
371
388
  // ../media-core/src/typeGuards.ts
372
389
  function isRecord(value) {
373
390
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
@@ -18914,7 +18931,7 @@ function toExactOrFreeDisplay(amount, currency) {
18914
18931
  }
18915
18932
  return { kind: "exact", amount, currency };
18916
18933
  }
18917
- function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Date()) {
18934
+ function getSelectableCoursePricingOptionsForNow(course, now) {
18918
18935
  if (!course.pricing || course.pricing.pricingStrategy !== "tiered") {
18919
18936
  return [];
18920
18937
  }
@@ -18928,7 +18945,7 @@ function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Dat
18928
18945
  return left.name.localeCompare(right.name);
18929
18946
  });
18930
18947
  }
18931
- function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__PURE__ */ new Date()) {
18948
+ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {}) {
18932
18949
  const currency = course.pricing?.currency ?? course.currency;
18933
18950
  if (!course.pricing) {
18934
18951
  const legacyAmount = course.priceCents ?? 0;
@@ -18972,7 +18989,10 @@ function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__
18972
18989
  };
18973
18990
  }
18974
18991
  case "tiered": {
18975
- const selectableOptions = getSelectableCoursePricingOptions(course, now);
18992
+ const selectableOptions = getSelectableCoursePricingOptionsForNow(
18993
+ course,
18994
+ resolvePlanningDateInput(nowInput)
18995
+ );
18976
18996
  const selectedOption = (selectedPricingOptionId ? selectableOptions.find((option) => option.id === selectedPricingOptionId) : null) ?? (selectableOptions.length === 1 ? selectableOptions[0] ?? null : null);
18977
18997
  const lowestAmount = selectableOptions.reduce((lowest, option) => {
18978
18998
  if (lowest === null || option.priceAmount < lowest) {
@@ -30026,16 +30046,18 @@ function toTrimmedString(value) {
30026
30046
  return trimmed ? trimmed : void 0;
30027
30047
  }
30028
30048
  function normalizeBookingFormConfig(form2) {
30029
- if (!form2) return null;
30049
+ if (!isRecord4(form2)) return null;
30050
+ const id = readNonEmptyString(form2.id);
30051
+ const name = readNonEmptyString(form2.name);
30052
+ if (!id || !name) return null;
30053
+ const schemaSource = isRecord4(form2.schema) ? form2.schema : isRecord4(form2.schemaJson) ? form2.schemaJson : null;
30054
+ const settingsSource = isRecord4(form2.settings) ? form2.settings : isRecord4(form2.settingsJson) ? form2.settingsJson : null;
30030
30055
  return {
30031
- id: form2.id,
30032
- name: form2.name,
30033
- slug: "",
30034
- settings: form2.settingsJson,
30035
- schema: form2.schemaJson ? {
30036
- version: form2.schemaJson.version,
30037
- fields: form2.schemaJson.fields ?? []
30038
- } : void 0
30056
+ id,
30057
+ name,
30058
+ slug: typeof form2.slug === "string" ? form2.slug : "",
30059
+ settings: normalizeBookingSettings(settingsSource),
30060
+ schema: normalizeBookingSchema(schemaSource)
30039
30061
  };
30040
30062
  }
30041
30063
  function normalizeBookingServices(services) {
@@ -30051,12 +30073,106 @@ function normalizeBookingServices(services) {
30051
30073
  return [];
30052
30074
  }
30053
30075
  if (Array.isArray(services)) {
30054
- return services.map(normalizeService);
30076
+ return services.filter(isBookingFormService).map(normalizeService);
30077
+ }
30078
+ if (isRecord4(services) && "services" in services) {
30079
+ return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
30055
30080
  }
30056
- if ("services" in services) {
30057
- return Array.isArray(services.services) ? services.services.map(normalizeService) : [];
30081
+ return isRecord4(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
30082
+ }
30083
+ function normalizeBookingSchema(value) {
30084
+ if (!value) return void 0;
30085
+ const rawFields = Array.isArray(value.fields) ? value.fields : [];
30086
+ const fields3 = rawFields.map(readBookingFormField).filter((field) => field !== null);
30087
+ return {
30088
+ version: typeof value.version === "string" ? value.version : void 0,
30089
+ fields: fields3
30090
+ };
30091
+ }
30092
+ function readBookingFormField(value) {
30093
+ if (!isRecord4(value)) return null;
30094
+ const id = readNonEmptyString(value.id);
30095
+ const label = readNonEmptyString(value.label);
30096
+ const type = readBookingFieldType(value.type);
30097
+ if (!id || !label || !type) return null;
30098
+ return {
30099
+ id,
30100
+ label,
30101
+ type,
30102
+ required: typeof value.required === "boolean" ? value.required : void 0,
30103
+ placeholder: readOptionalString(value.placeholder),
30104
+ helpText: readOptionalString(value.helpText),
30105
+ options: readBookingFieldOptions(value.options),
30106
+ multiple: typeof value.multiple === "boolean" ? value.multiple : void 0,
30107
+ minLength: readOptionalNumber(value.minLength),
30108
+ maxLength: readOptionalNumber(value.maxLength),
30109
+ pattern: readOptionalString(value.pattern),
30110
+ min: readOptionalNumber(value.min),
30111
+ max: readOptionalNumber(value.max)
30112
+ };
30113
+ }
30114
+ function readBookingFieldType(value) {
30115
+ switch (value) {
30116
+ case "text":
30117
+ case "email":
30118
+ case "textarea":
30119
+ case "select":
30120
+ case "radio":
30121
+ case "checkbox":
30122
+ case "booking_requirement_consent":
30123
+ case "tel":
30124
+ case "url":
30125
+ case "number":
30126
+ case "date":
30127
+ case "time":
30128
+ return value;
30129
+ default:
30130
+ return null;
30058
30131
  }
30059
- return Object.values(services).map(normalizeService);
30132
+ }
30133
+ function readBookingFieldOptions(value) {
30134
+ if (!Array.isArray(value)) return void 0;
30135
+ const options = value.map(readBookingFieldOption).filter((option) => option !== null);
30136
+ return options.length > 0 ? options : void 0;
30137
+ }
30138
+ function readBookingFieldOption(value) {
30139
+ if (!isRecord4(value)) return null;
30140
+ const optionValue = readNonEmptyString(value.value);
30141
+ const label = readNonEmptyString(value.label);
30142
+ return optionValue && label ? { value: optionValue, label } : null;
30143
+ }
30144
+ function normalizeBookingSettings(value) {
30145
+ if (!value || value.type !== "booking") return void 0;
30146
+ return {
30147
+ type: "booking",
30148
+ serviceId: readOptionalString(value.serviceId),
30149
+ serviceIds: readStringArray(value.serviceIds),
30150
+ resourceId: readOptionalString(value.resourceId),
30151
+ requiresApproval: typeof value.requiresApproval === "boolean" ? value.requiresApproval : void 0,
30152
+ successMessage: readOptionalString(value.successMessage)
30153
+ };
30154
+ }
30155
+ function isBookingFormService(value) {
30156
+ return isRecord4(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
30157
+ }
30158
+ function readNonEmptyString(value) {
30159
+ if (typeof value !== "string") return null;
30160
+ const trimmed = value.trim();
30161
+ return trimmed.length > 0 ? trimmed : null;
30162
+ }
30163
+ function readOptionalString(value) {
30164
+ return typeof value === "string" ? value : void 0;
30165
+ }
30166
+ function readOptionalNumber(value) {
30167
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
30168
+ }
30169
+ function readStringArray(value) {
30170
+ if (!Array.isArray(value)) return void 0;
30171
+ const strings = value.filter((item) => typeof item === "string");
30172
+ return strings.length > 0 ? strings : void 0;
30173
+ }
30174
+ function isRecord4(value) {
30175
+ return typeof value === "object" && value !== null;
30060
30176
  }
30061
30177
 
30062
30178
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
@@ -37364,6 +37480,8 @@ var MemoBlockSection = React6.memo(
37364
37480
  themeConfig,
37365
37481
  data: void 0,
37366
37482
  siteId: dataContext?.siteId,
37483
+ apiBaseUrl: dataContext?.apiBaseUrl,
37484
+ portalToken: dataContext?.portalToken ?? null,
37367
37485
  supabaseUrl: dataContext?.supabaseUrl,
37368
37486
  imageResolveContext,
37369
37487
  blockId: block.id ?? null,
@@ -37478,6 +37596,8 @@ var MemoBlockSection = React6.memo(
37478
37596
  themeConfig,
37479
37597
  data: resolved,
37480
37598
  siteId: dataContext?.siteId,
37599
+ apiBaseUrl: dataContext?.apiBaseUrl,
37600
+ portalToken: dataContext?.portalToken ?? null,
37481
37601
  supabaseUrl: dataContext?.supabaseUrl,
37482
37602
  imageResolveContext,
37483
37603
  blockId: block.id ?? null,
@@ -43240,32 +43360,32 @@ var containerResponsiveThemeCss = `/*
43240
43360
  }
43241
43361
 
43242
43362
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--muted {
43243
- opacity: var(--ab-text-muted-opacity);
43363
+ opacity: var(--ab-text-muted-opacity, 0.6);
43244
43364
  }
43245
43365
 
43246
43366
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--faint {
43247
- opacity: var(--ab-text-faint-opacity);
43367
+ opacity: var(--ab-text-faint-opacity, 0.4);
43248
43368
  }
43249
43369
 
43250
43370
  /* Selection cards (service, resource, time slot) */
43251
43371
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card {
43252
43372
  position: relative;
43253
43373
  padding: 1rem;
43254
- border: 2px solid var(--ab-card-border);
43255
- border-radius: var(--rb-block-radius);
43374
+ border: 2px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
43375
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43256
43376
  text-align: left;
43257
43377
  background: transparent;
43258
43378
  cursor: pointer;
43259
- transition: border-color var(--rb-block-transition) ease, background-color var(--rb-block-transition) ease;
43379
+ transition: border-color var(--rb-block-transition, 150ms) ease, background-color var(--rb-block-transition, 150ms) ease;
43260
43380
  }
43261
43381
 
43262
43382
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card:hover {
43263
- border-color: var(--ab-card-border-hover);
43383
+ border-color: var(--ab-card-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
43264
43384
  }
43265
43385
 
43266
43386
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card--selected {
43267
- border-color: var(--ab-card-border-selected);
43268
- background-color: var(--ab-card-bg-selected);
43387
+ border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
43388
+ background-color: var(--ab-card-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.05));
43269
43389
  }
43270
43390
 
43271
43391
  /* Checkmark indicator */
@@ -43274,7 +43394,7 @@ var containerResponsiveThemeCss = `/*
43274
43394
  width: 1.25rem;
43275
43395
  height: 1.25rem;
43276
43396
  border-radius: 50%;
43277
- background-color: var(--ab-check-bg);
43397
+ background-color: var(--ab-check-bg, rgb(var(--tb-primary, 17 24 39)));
43278
43398
  display: flex;
43279
43399
  align-items: center;
43280
43400
  justify-content: center;
@@ -43283,42 +43403,42 @@ var containerResponsiveThemeCss = `/*
43283
43403
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check svg {
43284
43404
  width: 0.75rem;
43285
43405
  height: 0.75rem;
43286
- color: var(--ab-check-text);
43406
+ color: var(--ab-check-text, rgb(var(--tb-background, 255 255 255)));
43287
43407
  }
43288
43408
 
43289
43409
  /* Info box (service summary) */
43290
43410
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-info-box {
43291
43411
  padding: 1rem;
43292
- border: 1px solid var(--ab-card-border);
43293
- border-radius: var(--rb-block-radius);
43294
- background-color: var(--ab-muted-bg);
43412
+ border: 1px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
43413
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43414
+ background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43295
43415
  }
43296
43416
 
43297
43417
  /* Alert states */
43298
43418
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert {
43299
43419
  padding: 0.75rem 1rem;
43300
- border-radius: var(--rb-block-radius);
43420
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43301
43421
  font-size: 0.875rem;
43302
43422
  }
43303
43423
 
43304
43424
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--success {
43305
- background-color: var(--ab-success-bg);
43306
- color: var(--ab-success-text);
43425
+ background-color: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
43426
+ color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
43307
43427
  }
43308
43428
 
43309
43429
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--error {
43310
- background-color: var(--ab-error-bg);
43311
- color: var(--ab-error-text);
43430
+ background-color: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
43431
+ color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
43312
43432
  }
43313
43433
 
43314
43434
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--warning {
43315
- background-color: var(--ab-warning-bg);
43316
- color: var(--ab-warning-text);
43435
+ background-color: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
43436
+ color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
43317
43437
  }
43318
43438
 
43319
43439
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--info {
43320
- background-color: var(--ab-info-bg);
43321
- color: var(--ab-info-text);
43440
+ background-color: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
43441
+ color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
43322
43442
  }
43323
43443
 
43324
43444
  /* Form elements */
@@ -43330,7 +43450,7 @@ var containerResponsiveThemeCss = `/*
43330
43450
  }
43331
43451
 
43332
43452
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-required {
43333
- color: var(--ab-error-text);
43453
+ color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
43334
43454
  margin-left: 0.125rem;
43335
43455
  }
43336
43456
 
@@ -43339,19 +43459,19 @@ var containerResponsiveThemeCss = `/*
43339
43459
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea {
43340
43460
  width: 100%;
43341
43461
  padding: 0.5rem 0.75rem;
43342
- border: 1px solid var(--ab-input-border);
43343
- border-radius: var(--rb-block-radius);
43462
+ border: 1px solid var(--ab-input-border, rgb(var(--tb-border, 226 232 240)));
43463
+ border-radius: var(--ab-input-radius, var(--radius-control, var(--rb-block-radius, 1rem)));
43344
43464
  background: transparent;
43345
43465
  font-size: 0.875rem;
43346
- transition: border-color var(--rb-block-transition) ease, box-shadow var(--rb-block-transition) ease;
43466
+ transition: border-color var(--rb-block-transition, 150ms) ease, box-shadow var(--rb-block-transition, 150ms) ease;
43347
43467
  }
43348
43468
 
43349
43469
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-input:focus,
43350
43470
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-select:focus,
43351
43471
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-textarea:focus {
43352
43472
  outline: none;
43353
- border-color: var(--ab-card-border-selected);
43354
- box-shadow: 0 0 0 3px var(--ab-input-focus-ring);
43473
+ border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
43474
+ box-shadow: 0 0 0 3px var(--ab-input-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
43355
43475
  }
43356
43476
 
43357
43477
  /* Buttons */
@@ -43360,31 +43480,31 @@ var containerResponsiveThemeCss = `/*
43360
43480
  align-items: center;
43361
43481
  justify-content: center;
43362
43482
  padding: 0.5rem 1.5rem;
43363
- border-radius: var(--rb-block-radius);
43483
+ border-radius: var(--ab-button-radius, var(--rb-button-radius, var(--rb-block-radius, 1rem)));
43364
43484
  font-size: 0.875rem;
43365
43485
  font-weight: 500;
43366
43486
  cursor: pointer;
43367
- transition: background-color var(--rb-block-transition) ease, border-color var(--rb-block-transition) ease;
43487
+ transition: background-color var(--rb-block-transition, 150ms) ease, border-color var(--rb-block-transition, 150ms) ease;
43368
43488
  }
43369
43489
 
43370
43490
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary {
43371
43491
  flex: 1;
43372
- background-color: var(--ab-btn-primary-bg);
43373
- color: var(--ab-btn-primary-text);
43492
+ background-color: var(--ab-btn-primary-bg, rgb(var(--tb-primary, 17 24 39)));
43493
+ color: var(--ab-btn-primary-text, rgb(var(--tb-primaryForeground, 255 255 255)));
43374
43494
  border: none;
43375
43495
  }
43376
43496
 
43377
43497
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary:hover:not(:disabled) {
43378
- background-color: var(--ab-btn-primary-hover);
43498
+ background-color: var(--ab-btn-primary-hover, rgba(var(--tb-primary, 17 24 39), 0.9));
43379
43499
  }
43380
43500
 
43381
43501
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary {
43382
43502
  background: transparent;
43383
- border: 1px solid var(--ab-btn-secondary-border);
43503
+ border: 1px solid var(--ab-btn-secondary-border, rgb(var(--tb-border, 226 232 240)));
43384
43504
  }
43385
43505
 
43386
43506
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary:hover:not(:disabled) {
43387
- background-color: var(--ab-btn-secondary-hover);
43507
+ background-color: var(--ab-btn-secondary-hover, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43388
43508
  }
43389
43509
 
43390
43510
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link {
@@ -43414,8 +43534,8 @@ var containerResponsiveThemeCss = `/*
43414
43534
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-skeleton {
43415
43535
  height: 2.5rem;
43416
43536
  width: 100%;
43417
- background-color: var(--ab-muted-bg);
43418
- border-radius: var(--rb-block-radius);
43537
+ background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
43538
+ border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
43419
43539
  animation: ab-pulse 1.5s ease-in-out infinite;
43420
43540
  }
43421
43541
 
@@ -43444,7 +43564,7 @@ var containerResponsiveThemeCss = `/*
43444
43564
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-link {
43445
43565
  display: inline;
43446
43566
  margin-left: 0.5rem;
43447
- color: rgb(var(--tb-primary));
43567
+ color: rgb(var(--tb-primary, 17 24 39));
43448
43568
  background: none;
43449
43569
  border: none;
43450
43570
  padding: 0;
@@ -46824,6 +46944,37 @@ import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs38 } from "react/jsx-r
46824
46944
  // ../theme-core/src/siteChrome.tsx
46825
46945
  import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs39 } from "react/jsx-runtime";
46826
46946
 
46947
+ // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
46948
+ import { z as z64 } from "zod";
46949
+ var themeBridgeConfigSchema = z64.object({
46950
+ tokens: z64.record(z64.string(), z64.string()),
46951
+ typography: z64.object({
46952
+ headingFamily: z64.string().optional(),
46953
+ bodyFamily: z64.string().optional(),
46954
+ headingWeight: z64.number().optional(),
46955
+ bodyWeight: z64.number().optional()
46956
+ }).optional(),
46957
+ spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
46958
+ corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
46959
+ shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
46960
+ components: z64.object({
46961
+ buttons: z64.union([
46962
+ z64.boolean(),
46963
+ z64.object({
46964
+ variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
46965
+ })
46966
+ ]).optional(),
46967
+ cards: z64.union([
46968
+ z64.boolean(),
46969
+ z64.object({
46970
+ variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
46971
+ })
46972
+ ]).optional(),
46973
+ inputs: z64.boolean().optional()
46974
+ }).optional(),
46975
+ overrides: z64.record(z64.string(), z64.string()).optional()
46976
+ }).passthrough();
46977
+
46827
46978
  // ../theme-core/src/mock-themes/components/swatch.tsx
46828
46979
  import { jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
46829
46980
 
@@ -50044,6 +50195,20 @@ var ENDPOINT_DEFINITIONS = {
50044
50195
  responseKind: "json",
50045
50196
  errors: ["validation:invalid_input", "billing:plan_limit_exceeded", "server:internal_error"]
50046
50197
  },
50198
+ createAppointmentResourceWithAccountAccess: {
50199
+ path: "/sites/{siteId}/bookings/resources/account-access",
50200
+ method: "POST",
50201
+ auth: "user",
50202
+ responseKind: "json",
50203
+ errors: [
50204
+ "validation:invalid_input",
50205
+ "auth:forbidden",
50206
+ "billing:plan_limit_exceeded",
50207
+ "resource:conflict",
50208
+ "resource:not_found",
50209
+ "server:internal_error"
50210
+ ]
50211
+ },
50047
50212
  getAppointmentResource: {
50048
50213
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
50049
50214
  method: "GET",
@@ -55309,73 +55474,73 @@ var ENDPOINT_DEFINITIONS = {
55309
55474
  };
55310
55475
 
55311
55476
  // ../api/src/accessAdmin.ts
55312
- import { z as z64 } from "zod";
55313
- var managedDomainAddOnPricingSnapshotSchema = z64.object({
55314
- formulaVersion: z64.literal("managed-domain-overage-v1"),
55315
- conversionRule: z64.literal("usd-to-gbp-1-to-1-v1"),
55316
- registrarAnnualCost: z64.number().nonnegative(),
55317
- registrarCurrency: z64.literal("USD"),
55318
- includedAnnualAllowance: z64.number().nonnegative(),
55319
- includedAnnualAllowanceCurrency: z64.literal("USD"),
55320
- monthlyAmountCents: z64.number().int().nonnegative(),
55321
- monthlyCurrency: z64.literal("gbp")
55477
+ import { z as z65 } from "zod";
55478
+ var managedDomainAddOnPricingSnapshotSchema = z65.object({
55479
+ formulaVersion: z65.literal("managed-domain-overage-v1"),
55480
+ conversionRule: z65.literal("usd-to-gbp-1-to-1-v1"),
55481
+ registrarAnnualCost: z65.number().nonnegative(),
55482
+ registrarCurrency: z65.literal("USD"),
55483
+ includedAnnualAllowance: z65.number().nonnegative(),
55484
+ includedAnnualAllowanceCurrency: z65.literal("USD"),
55485
+ monthlyAmountCents: z65.number().int().nonnegative(),
55486
+ monthlyCurrency: z65.literal("gbp")
55322
55487
  });
55323
55488
 
55324
55489
  // ../api/src/navigation/contracts.ts
55325
- import { z as z65 } from "zod";
55326
- var portalLinkPayloadSchema = z65.object({
55327
- kind: z65.literal("portal"),
55328
- path: z65.string().trim().startsWith("/").optional(),
55329
- labels: z65.object({
55330
- loggedOut: z65.string().trim().min(1).optional(),
55331
- loggedIn: z65.string().trim().min(1).optional()
55490
+ import { z as z66 } from "zod";
55491
+ var portalLinkPayloadSchema = z66.object({
55492
+ kind: z66.literal("portal"),
55493
+ path: z66.string().trim().startsWith("/").optional(),
55494
+ labels: z66.object({
55495
+ loggedOut: z66.string().trim().min(1).optional(),
55496
+ loggedIn: z66.string().trim().min(1).optional()
55332
55497
  }).optional()
55333
55498
  });
55334
- var cartLinkLabelConfigSchema = z65.discriminatedUnion("kind", [
55335
- z65.object({
55336
- kind: z65.literal("icon-only")
55499
+ var cartLinkLabelConfigSchema = z66.discriminatedUnion("kind", [
55500
+ z66.object({
55501
+ kind: z66.literal("icon-only")
55337
55502
  }),
55338
- z65.object({
55339
- kind: z65.literal("icon-with-label"),
55340
- label: z65.string().trim().min(1)
55503
+ z66.object({
55504
+ kind: z66.literal("icon-with-label"),
55505
+ label: z66.string().trim().min(1)
55341
55506
  })
55342
55507
  ]);
55343
- var cartLinkPayloadSchema = z65.object({
55344
- kind: z65.literal("cart"),
55345
- badge: z65.enum(["show-count", "hidden"]),
55508
+ var cartLinkPayloadSchema = z66.object({
55509
+ kind: z66.literal("cart"),
55510
+ badge: z66.enum(["show-count", "hidden"]),
55346
55511
  label: cartLinkLabelConfigSchema
55347
55512
  });
55348
- var internalLinkPayloadSchema = z65.object({
55349
- kind: z65.literal("internal"),
55350
- routeId: z65.string().uuid(),
55351
- entityId: z65.string().uuid(),
55352
- entityType: z65.enum(["page", "content"]),
55353
- href: z65.string().min(1),
55354
- title: z65.string().min(1),
55355
- typeLabel: z65.string().min(1),
55356
- contentTypeKey: z65.string().nullable().optional(),
55357
- contentTypeName: z65.string().nullable().optional(),
55358
- updatedAt: z65.string().nullable().optional()
55513
+ var internalLinkPayloadSchema = z66.object({
55514
+ kind: z66.literal("internal"),
55515
+ routeId: z66.string().uuid(),
55516
+ entityId: z66.string().uuid(),
55517
+ entityType: z66.enum(["page", "content"]),
55518
+ href: z66.string().min(1),
55519
+ title: z66.string().min(1),
55520
+ typeLabel: z66.string().min(1),
55521
+ contentTypeKey: z66.string().nullable().optional(),
55522
+ contentTypeName: z66.string().nullable().optional(),
55523
+ updatedAt: z66.string().nullable().optional()
55359
55524
  }).passthrough();
55360
- var externalLinkSchema2 = z65.object({
55361
- kind: z65.literal("external"),
55525
+ var externalLinkSchema2 = z66.object({
55526
+ kind: z66.literal("external"),
55362
55527
  // Navigation external links are expected to be absolute URLs.
55363
- href: z65.string().url()
55528
+ href: z66.string().url()
55364
55529
  });
55365
- var customLinkSchema2 = z65.object({
55366
- kind: z65.literal("url"),
55367
- href: z65.string().min(1)
55530
+ var customLinkSchema2 = z66.object({
55531
+ kind: z66.literal("url"),
55532
+ href: z66.string().min(1)
55368
55533
  });
55369
- var pageLinkSchema2 = z65.object({
55370
- kind: z65.literal("page"),
55371
- identifier: z65.string().min(1)
55534
+ var pageLinkSchema2 = z66.object({
55535
+ kind: z66.literal("page"),
55536
+ identifier: z66.string().min(1)
55372
55537
  });
55373
- var entryLinkSchema2 = z65.object({
55374
- kind: z65.literal("entry"),
55375
- contentType: z65.string().min(1),
55376
- identifier: z65.string().min(1)
55538
+ var entryLinkSchema2 = z66.object({
55539
+ kind: z66.literal("entry"),
55540
+ contentType: z66.string().min(1),
55541
+ identifier: z66.string().min(1)
55377
55542
  });
55378
- var linkPayloadSchema = z65.discriminatedUnion("kind", [
55543
+ var linkPayloadSchema = z66.discriminatedUnion("kind", [
55379
55544
  internalLinkPayloadSchema,
55380
55545
  pageLinkSchema2,
55381
55546
  entryLinkSchema2,
@@ -55392,27 +55557,27 @@ var navigationLinkInputSchemaOptions = [
55392
55557
  portalLinkPayloadSchema,
55393
55558
  cartLinkPayloadSchema
55394
55559
  ];
55395
- var navigationLinkInputSchema = z65.discriminatedUnion(
55560
+ var navigationLinkInputSchema = z66.discriminatedUnion(
55396
55561
  "kind",
55397
55562
  navigationLinkInputSchemaOptions
55398
55563
  );
55399
55564
 
55400
55565
  // ../api/src/sdkConfig/contracts.ts
55401
- import { z as z66 } from "zod";
55566
+ import { z as z67 } from "zod";
55402
55567
  function unsafeRetypeZodSchema(schema) {
55403
55568
  return schema;
55404
55569
  }
55405
- var navIdListSchema = z66.preprocess((value) => {
55570
+ var navIdListSchema = z67.preprocess((value) => {
55406
55571
  if (!Array.isArray(value)) return void 0;
55407
55572
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
55408
55573
  return filtered.length > 0 ? filtered : void 0;
55409
- }, z66.array(z66.string()).max(200).optional());
55410
- var dashboardNavVisibilityBaseSchema = z66.object({
55411
- mode: z66.enum(["augment", "restrict"]).optional(),
55574
+ }, z67.array(z67.string()).max(200).optional());
55575
+ var dashboardNavVisibilityBaseSchema = z67.object({
55576
+ mode: z67.enum(["augment", "restrict"]).optional(),
55412
55577
  allowIds: navIdListSchema,
55413
55578
  denyIds: navIdListSchema
55414
55579
  }).strip();
55415
- var dashboardNavVisibilityRolesSchema = z66.object({
55580
+ var dashboardNavVisibilityRolesSchema = z67.object({
55416
55581
  administrator: dashboardNavVisibilityBaseSchema.optional(),
55417
55582
  editor: dashboardNavVisibilityBaseSchema.optional(),
55418
55583
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -55420,57 +55585,57 @@ var dashboardNavVisibilityRolesSchema = z66.object({
55420
55585
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
55421
55586
  roles: dashboardNavVisibilityRolesSchema
55422
55587
  }).strip();
55423
- var dashboardNavigationConfigSchema = z66.object({
55588
+ var dashboardNavigationConfigSchema = z67.object({
55424
55589
  siteNav: dashboardNavVisibilitySchema.optional(),
55425
55590
  settingsNav: dashboardNavVisibilitySchema.optional()
55426
55591
  }).strip();
55427
- var dashboardConfigSchema = z66.object({
55428
- previewEditingEnabled: z66.boolean().optional(),
55592
+ var dashboardConfigSchema = z67.object({
55593
+ previewEditingEnabled: z67.boolean().optional(),
55429
55594
  navigation: dashboardNavigationConfigSchema.optional()
55430
55595
  }).strip();
55431
55596
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
55432
55597
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
55433
- var sdkLoaderEndpointSchema = z66.enum(SUPPORTED_LOADER_ENDPOINTS);
55434
- var loaderParamBindingSchema = z66.object({
55435
- $bind: z66.object({
55436
- from: z66.string().min(1, "Binding path is required"),
55437
- fallback: z66.string().optional()
55598
+ var sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
55599
+ var loaderParamBindingSchema = z67.object({
55600
+ $bind: z67.object({
55601
+ from: z67.string().min(1, "Binding path is required"),
55602
+ fallback: z67.string().optional()
55438
55603
  })
55439
55604
  });
55440
- var loaderParamValueSchema = z66.union([
55441
- z66.string(),
55442
- z66.number(),
55443
- z66.boolean(),
55605
+ var loaderParamValueSchema = z67.union([
55606
+ z67.string(),
55607
+ z67.number(),
55608
+ z67.boolean(),
55444
55609
  loaderParamBindingSchema
55445
55610
  ]);
55446
- var sdkConfigLoaderSchema = z66.object({
55611
+ var sdkConfigLoaderSchema = z67.object({
55447
55612
  endpoint: sdkLoaderEndpointSchema,
55448
- params: z66.record(z66.string(), loaderParamValueSchema),
55449
- mode: z66.enum(["server", "client"]).default("server")
55613
+ params: z67.record(z67.string(), loaderParamValueSchema),
55614
+ mode: z67.enum(["server", "client"]).default("server")
55450
55615
  });
55451
- var sdkDataLoadersSchema = z66.record(z66.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55452
- var sdkCustomBlockIdSchema = z66.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55616
+ var sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55617
+ var sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55453
55618
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
55454
55619
  }).transform((value) => value);
55455
- var sdkCustomBlockInputSchema = z66.object({
55620
+ var sdkCustomBlockInputSchema = z67.object({
55456
55621
  id: sdkCustomBlockIdSchema,
55457
- title: z66.string().min(1),
55458
- titleSource: z66.union([z66.string().min(1), z66.array(z66.string().min(1)).min(1)]).optional(),
55459
- description: z66.string().optional(),
55622
+ title: z67.string().min(1),
55623
+ titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
55624
+ description: z67.string().optional(),
55460
55625
  category: blockCategoryEnum,
55461
- icon: z66.string().optional(),
55462
- tags: z66.array(z66.string()).optional(),
55626
+ icon: z67.string().optional(),
55627
+ tags: z67.array(z67.string()).optional(),
55463
55628
  fields: fieldDefinitionInputSchema.array().min(1),
55464
55629
  dataLoaders: sdkDataLoadersSchema,
55465
55630
  layout: NodeSchema.optional(),
55466
- variants: z66.record(z66.string().min(1), NodeSchema).optional(),
55467
- defaultVariant: z66.string().min(1).optional(),
55468
- variantOptions: z66.record(
55469
- z66.string().min(1),
55470
- z66.object({
55471
- label: z66.string().min(1).optional(),
55472
- description: z66.string().min(1).optional(),
55473
- icon: z66.string().min(1).optional()
55631
+ variants: z67.record(z67.string().min(1), NodeSchema).optional(),
55632
+ defaultVariant: z67.string().min(1).optional(),
55633
+ variantOptions: z67.record(
55634
+ z67.string().min(1),
55635
+ z67.object({
55636
+ label: z67.string().min(1).optional(),
55637
+ description: z67.string().min(1).optional(),
55638
+ icon: z67.string().min(1).optional()
55474
55639
  })
55475
55640
  ).optional()
55476
55641
  }).superRefine((data, ctx) => {
@@ -55480,7 +55645,7 @@ var sdkCustomBlockInputSchema = z66.object({
55480
55645
  const exists = data.fields.some((field) => field.id === source);
55481
55646
  if (!exists) {
55482
55647
  ctx.addIssue({
55483
- code: z66.ZodIssueCode.custom,
55648
+ code: z67.ZodIssueCode.custom,
55484
55649
  message: `titleSource must reference a valid field ID (got "${source}")`,
55485
55650
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
55486
55651
  });
@@ -55489,7 +55654,7 @@ var sdkCustomBlockInputSchema = z66.object({
55489
55654
  }
55490
55655
  if (data.layout && data.variants) {
55491
55656
  ctx.addIssue({
55492
- code: z66.ZodIssueCode.custom,
55657
+ code: z67.ZodIssueCode.custom,
55493
55658
  message: "Custom block must define either `layout` or `variants`, not both",
55494
55659
  path: ["variants"]
55495
55660
  });
@@ -55498,14 +55663,14 @@ var sdkCustomBlockInputSchema = z66.object({
55498
55663
  const keys = Object.keys(data.variants);
55499
55664
  if (keys.length === 0) {
55500
55665
  ctx.addIssue({
55501
- code: z66.ZodIssueCode.custom,
55666
+ code: z67.ZodIssueCode.custom,
55502
55667
  message: "`variants` must contain at least one variant key",
55503
55668
  path: ["variants"]
55504
55669
  });
55505
55670
  }
55506
55671
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
55507
55672
  ctx.addIssue({
55508
- code: z66.ZodIssueCode.custom,
55673
+ code: z67.ZodIssueCode.custom,
55509
55674
  message: "`defaultVariant` must be a key present in `variants`",
55510
55675
  path: ["defaultVariant"]
55511
55676
  });
@@ -55514,7 +55679,7 @@ var sdkCustomBlockInputSchema = z66.object({
55514
55679
  for (const key of Object.keys(data.variantOptions)) {
55515
55680
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
55516
55681
  ctx.addIssue({
55517
- code: z66.ZodIssueCode.custom,
55682
+ code: z67.ZodIssueCode.custom,
55518
55683
  message: "`variantOptions` key must exist in `variants`",
55519
55684
  path: ["variantOptions", key]
55520
55685
  });
@@ -55523,74 +55688,74 @@ var sdkCustomBlockInputSchema = z66.object({
55523
55688
  }
55524
55689
  }
55525
55690
  });
55526
- var sdkBlockFieldExtensionInputSchema = z66.object({
55691
+ var sdkBlockFieldExtensionInputSchema = z67.object({
55527
55692
  fields: fieldDefinitionInputSchema.array().min(1)
55528
55693
  });
55529
- var sdkBlockFieldExtensionsInputSchema = z66.record(
55530
- z66.string().min(1),
55694
+ var sdkBlockFieldExtensionsInputSchema = z67.record(
55695
+ z67.string().min(1),
55531
55696
  sdkBlockFieldExtensionInputSchema
55532
55697
  );
55533
- var sdkThemePaletteSchema = z66.record(z66.string(), z66.string());
55534
- var sdkThemeConfigSchema = z66.object({
55698
+ var sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
55699
+ var sdkThemeConfigSchema = z67.object({
55535
55700
  palette: sdkThemePaletteSchema
55536
55701
  });
55537
- var sdkSectionBackgroundSchema = z66.object({
55538
- id: z66.string().min(1),
55539
- label: z66.string().min(1),
55540
- token: z66.string().min(1)
55702
+ var sdkSectionBackgroundSchema = z67.object({
55703
+ id: z67.string().min(1),
55704
+ label: z67.string().min(1),
55705
+ token: z67.string().min(1)
55541
55706
  });
55542
- var sdkSectionOptionsConfigSchema = z66.object({
55543
- backgroundColor: z66.boolean().optional(),
55544
- backgroundImage: z66.boolean().optional(),
55545
- backgroundGradient: z66.boolean().optional(),
55546
- spacing: z66.union([z66.array(z66.enum(["compact", "default", "spacious"])), z66.boolean()]).optional(),
55547
- textColor: z66.boolean().optional()
55707
+ var sdkSectionOptionsConfigSchema = z67.object({
55708
+ backgroundColor: z67.boolean().optional(),
55709
+ backgroundImage: z67.boolean().optional(),
55710
+ backgroundGradient: z67.boolean().optional(),
55711
+ spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
55712
+ textColor: z67.boolean().optional()
55548
55713
  });
55549
- var sdkContainerOptionsConfigSchema = z66.object({
55550
- maxWidth: z66.union([z66.array(z66.enum(["narrow", "default", "wide", "full"])), z66.boolean()]).optional(),
55551
- alignment: z66.union([z66.array(z66.enum(["left", "center", "right"])), z66.boolean()]).optional()
55714
+ var sdkContainerOptionsConfigSchema = z67.object({
55715
+ maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
55716
+ alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
55552
55717
  });
55553
- var sdkSiteStyleConfigSchema = z66.object({
55554
- sectionBackgrounds: z66.array(sdkSectionBackgroundSchema).optional(),
55718
+ var sdkSiteStyleConfigSchema = z67.object({
55719
+ sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
55555
55720
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
55556
55721
  containerOptions: sdkContainerOptionsConfigSchema.optional()
55557
55722
  });
55558
- var sdkSiteLayoutConfigSchema = z66.object({
55559
- footerBlocks: z66.array(
55560
- z66.object({
55561
- id: z66.string().min(1).optional(),
55562
- kind: z66.string().min(1),
55563
- content: z66.record(z66.string(), z66.unknown()).optional()
55723
+ var sdkSiteLayoutConfigSchema = z67.object({
55724
+ footerBlocks: z67.array(
55725
+ z67.object({
55726
+ id: z67.string().min(1).optional(),
55727
+ kind: z67.string().min(1),
55728
+ content: z67.record(z67.string(), z67.unknown()).optional()
55564
55729
  })
55565
55730
  ).optional()
55566
55731
  });
55567
- var sdkFieldSelectOptionSchema = z66.object({
55568
- value: z66.string(),
55569
- label: z66.string()
55732
+ var sdkFieldSelectOptionSchema = z67.object({
55733
+ value: z67.string(),
55734
+ label: z67.string()
55570
55735
  });
55571
- var sdkBlockFieldConfigSchema = z66.object({
55572
- options: z66.array(sdkFieldSelectOptionSchema).optional()
55736
+ var sdkBlockFieldConfigSchema = z67.object({
55737
+ options: z67.array(sdkFieldSelectOptionSchema).optional()
55573
55738
  });
55574
- var sdkBlockFieldOptionsMapSchema = z66.record(
55575
- z66.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
55739
+ var sdkBlockFieldOptionsMapSchema = z67.record(
55740
+ z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
55576
55741
  message: "Block ID must be 'block.*' or 'custom.*' format"
55577
55742
  }),
55578
- z66.record(z66.string().min(1), sdkBlockFieldConfigSchema)
55743
+ z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
55579
55744
  ).optional();
55580
- var sdkContentTypeTemplateConfigSchema = z66.object({
55581
- blocks: z66.array(z66.unknown())
55745
+ var sdkContentTypeTemplateConfigSchema = z67.object({
55746
+ blocks: z67.array(z67.unknown())
55582
55747
  }).passthrough();
55583
- var sdkContentTypeConfigSchema = z66.object({
55584
- key: z66.string().min(1),
55585
- fields: z66.array(z66.unknown()),
55748
+ var sdkContentTypeConfigSchema = z67.object({
55749
+ key: z67.string().min(1),
55750
+ fields: z67.array(z67.unknown()),
55586
55751
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
55587
55752
  }).passthrough();
55588
- var sdkContentConfigSchema = z66.object({
55589
- contentTypes: z66.array(sdkContentTypeConfigSchema).optional(),
55590
- pages: z66.array(z66.unknown()).optional(),
55591
- entries: z66.array(z66.unknown()).optional(),
55592
- navigationMenus: z66.array(z66.unknown()).optional(),
55593
- settings: z66.unknown().optional()
55753
+ var sdkContentConfigSchema = z67.object({
55754
+ contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
55755
+ pages: z67.array(z67.unknown()).optional(),
55756
+ entries: z67.array(z67.unknown()).optional(),
55757
+ navigationMenus: z67.array(z67.unknown()).optional(),
55758
+ settings: z67.unknown().optional()
55594
55759
  }).passthrough();
55595
55760
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
55596
55761
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -55605,62 +55770,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
55605
55770
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
55606
55771
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
55607
55772
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
55608
- var sdkWorkflowIdSchema = z66.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
55773
+ var sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
55609
55774
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
55610
55775
  });
55611
- 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 "/"' });
55612
- var sdkWorkflowManualTriggerSchema = z66.object({
55613
- type: z66.literal("manual")
55776
+ 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 "/"' });
55777
+ var sdkWorkflowManualTriggerSchema = z67.object({
55778
+ type: z67.literal("manual")
55614
55779
  }).strict();
55615
- var sdkWorkflowTriggerFieldSchema = z66.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
55780
+ var sdkWorkflowTriggerFieldSchema = z67.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
55616
55781
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
55617
55782
  });
55618
- var sdkWorkflowFieldChangedConditionSchema = z66.object({
55783
+ var sdkWorkflowFieldChangedConditionSchema = z67.object({
55619
55784
  field: sdkWorkflowTriggerFieldSchema,
55620
- changed: z66.literal(true)
55785
+ changed: z67.literal(true)
55621
55786
  }).strict();
55622
- var sdkWorkflowFieldEmptyConditionSchema = z66.object({
55787
+ var sdkWorkflowFieldEmptyConditionSchema = z67.object({
55623
55788
  field: sdkWorkflowTriggerFieldSchema,
55624
- isEmpty: z66.boolean()
55789
+ isEmpty: z67.boolean()
55625
55790
  }).strict();
55626
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z66.object({
55627
- type: z66.literal("entry.draft.updated"),
55628
- when: z66.array(
55629
- z66.union([
55791
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z67.object({
55792
+ type: z67.literal("entry.draft.updated"),
55793
+ when: z67.array(
55794
+ z67.union([
55630
55795
  sdkWorkflowFieldChangedConditionSchema,
55631
55796
  sdkWorkflowFieldEmptyConditionSchema
55632
55797
  ])
55633
55798
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
55634
55799
  }).strict();
55635
- var sdkWorkflowTriggerSchema = z66.discriminatedUnion("type", [
55800
+ var sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
55636
55801
  sdkWorkflowManualTriggerSchema,
55637
55802
  sdkWorkflowEntryDraftUpdatedTriggerSchema
55638
55803
  ]);
55639
- var sdkWorkflowConfirmationSchema = z66.object({
55640
- title: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
55641
- body: z66.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
55804
+ var sdkWorkflowConfirmationSchema = z67.object({
55805
+ title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
55806
+ body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
55642
55807
  }).strict();
55643
- var sdkWorkflowConfigSchema = z66.object({
55808
+ var sdkWorkflowConfigSchema = z67.object({
55644
55809
  id: sdkWorkflowIdSchema,
55645
- title: z66.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
55646
- description: z66.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
55647
- contentType: z66.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
55810
+ title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
55811
+ description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
55812
+ contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
55648
55813
  endpoint: sdkWorkflowEndpointSchema,
55649
- triggers: z66.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
55814
+ triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
55650
55815
  confirmation: sdkWorkflowConfirmationSchema.optional()
55651
55816
  }).strict();
55652
- var sdkWorkflowsSchema = z66.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
55817
+ var sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
55653
55818
  const ids = workflows.map((workflow) => workflow.id);
55654
55819
  return ids.length === new Set(ids).size;
55655
55820
  }, { message: "Workflow IDs must be unique" }).optional();
55656
- var riverbankSiteConfigInputSchema = z66.object({
55657
- siteId: z66.string().uuid(),
55658
- previewUrl: z66.string().url().optional(),
55659
- liveUrl: z66.string().url().optional(),
55821
+ var riverbankSiteConfigInputSchema = z67.object({
55822
+ siteId: z67.string().uuid(),
55823
+ previewUrl: z67.string().url().optional(),
55824
+ liveUrl: z67.string().url().optional(),
55660
55825
  theme: sdkThemeConfigSchema.optional(),
55661
55826
  styles: sdkSiteStyleConfigSchema.optional(),
55662
55827
  layout: sdkSiteLayoutConfigSchema.optional(),
55663
- customBlocks: z66.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
55828
+ customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
55664
55829
  const ids = blocks.map((b) => b.id);
55665
55830
  return ids.length === new Set(ids).size;
55666
55831
  }, { message: "Block IDs must be unique" }).optional(),
@@ -55668,50 +55833,50 @@ var riverbankSiteConfigInputSchema = z66.object({
55668
55833
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
55669
55834
  workflows: sdkWorkflowsSchema,
55670
55835
  content: sdkContentConfigSchema.optional(),
55671
- contentDir: z66.string().optional(),
55672
- sync: z66.object({
55673
- existingEntries: z66.enum(["skip", "update"]).optional()
55836
+ contentDir: z67.string().optional(),
55837
+ sync: z67.object({
55838
+ existingEntries: z67.enum(["skip", "update"]).optional()
55674
55839
  }).optional(),
55675
- deploy: z66.object({
55676
- verifyCommand: z66.string().optional(),
55677
- prebuildOutput: z66.string().optional()
55840
+ deploy: z67.object({
55841
+ verifyCommand: z67.string().optional(),
55842
+ prebuildOutput: z67.string().optional()
55678
55843
  }).optional(),
55679
- themeSource: z66.enum(["local", "cms"]).optional(),
55680
- activeTheme: z66.string().optional(),
55681
- enablePortal: z66.boolean().optional(),
55844
+ themeSource: z67.enum(["local", "cms"]).optional(),
55845
+ activeTheme: z67.string().optional(),
55846
+ enablePortal: z67.boolean().optional(),
55682
55847
  dashboard: dashboardConfigSchema.optional()
55683
55848
  }).strict();
55684
- var pushSdkConfigBodySchema = z66.object({
55849
+ var pushSdkConfigBodySchema = z67.object({
55685
55850
  config: riverbankSiteConfigInputSchema,
55686
- forceContentTypes: z66.boolean().optional()
55851
+ forceContentTypes: z67.boolean().optional()
55687
55852
  }).strict();
55688
55853
 
55689
55854
  // ../api/src/siteOnboarding.ts
55690
- import { z as z67 } from "zod";
55855
+ import { z as z68 } from "zod";
55691
55856
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
55692
55857
  configure_appointments: {
55693
55858
  requirementId: "configure_appointments",
55694
55859
  reason: "launch_anyway"
55695
55860
  }
55696
55861
  };
55697
- var acknowledgeLaunchRequirementRequestSchema = z67.discriminatedUnion(
55862
+ var acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
55698
55863
  "requirementId",
55699
55864
  [
55700
- z67.object({
55701
- requirementId: z67.literal("review_generated_site")
55865
+ z68.object({
55866
+ requirementId: z68.literal("review_generated_site")
55702
55867
  }),
55703
- z67.object({
55704
- requirementId: z67.literal(
55868
+ z68.object({
55869
+ requirementId: z68.literal(
55705
55870
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
55706
55871
  ),
55707
- overrideReason: z67.literal(
55872
+ overrideReason: z68.literal(
55708
55873
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
55709
55874
  )
55710
55875
  })
55711
55876
  ]
55712
55877
  );
55713
- var goLiveSiteRequestSchema = z67.object({
55714
- acceptExtraSiteCharge: z67.boolean().optional()
55878
+ var goLiveSiteRequestSchema = z68.object({
55879
+ acceptExtraSiteCharge: z68.boolean().optional()
55715
55880
  });
55716
55881
 
55717
55882
  // ../surfaces/src/index.ts
@@ -55887,53 +56052,56 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
55887
56052
  }
55888
56053
 
55889
56054
  // ../api/src/utils/isRecord.ts
55890
- function isRecord4(value) {
56055
+ function isRecord5(value) {
55891
56056
  return typeof value === "object" && value !== null && !Array.isArray(value);
55892
56057
  }
55893
56058
 
55894
56059
  // ../api/src/appointmentSetup.ts
55895
- import { z as z68 } from "zod";
55896
- var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
55897
- z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
55898
- z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
56060
+ import { z as z69 } from "zod";
56061
+ var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
56062
+ var appointmentSetupRefSchema = z69.discriminatedUnion("kind", [
56063
+ z69.object({ kind: z69.literal("existing"), id: z69.string().min(1) }),
56064
+ z69.object({ kind: z69.literal("new"), draftId: z69.string().min(1) })
55899
56065
  ]);
55900
- var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
55901
- z68.object({ kind: z68.literal("none") }),
55902
- z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
55903
- z68.object({
55904
- kind: z68.literal("create"),
55905
- draftId: z68.string().min(1),
55906
- title: z68.string().trim().min(1),
55907
- description: z68.string().nullable(),
55908
- timezone: z68.string().trim().min(1).nullable(),
55909
- addressJson: z68.record(z68.string(), z68.unknown()),
55910
- locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
56066
+ var appointmentSetupVenueChoiceSchema = z69.discriminatedUnion("kind", [
56067
+ z69.object({ kind: z69.literal("none") }),
56068
+ z69.object({ kind: z69.literal("existing"), venueId: z69.string().min(1) }),
56069
+ z69.object({
56070
+ kind: z69.literal("create"),
56071
+ draftId: z69.string().min(1),
56072
+ title: z69.string().trim().min(1),
56073
+ description: z69.string().nullable(),
56074
+ timezone: z69.string().trim().min(1).nullable(),
56075
+ addressJson: z69.record(z69.string(), z69.unknown()),
56076
+ locationJson: z69.object({ lat: z69.number(), lng: z69.number() }).nullable()
55911
56077
  })
55912
56078
  ]);
55913
- var appointmentSetupPaymentDraftSchema = z68.object({
55914
- priceType: z68.union([z68.literal("free"), z68.literal("paid")])
55915
- });
55916
- var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
55917
- z68.object({ kind: z68.literal("all_practitioners") }),
55918
- z68.object({
55919
- kind: z68.literal("selected_practitioners"),
55920
- resourceRefs: z68.array(appointmentSetupRefSchema)
56079
+ var appointmentSetupPaymentDraftSchema = z69.object({
56080
+ priceType: z69.union([z69.literal("free"), z69.literal("paid")])
56081
+ });
56082
+ var appointmentSetupServiceAssignmentDraftSchema = z69.discriminatedUnion("kind", [
56083
+ z69.object({ kind: z69.literal("all_practitioners") }),
56084
+ z69.object({
56085
+ kind: z69.literal("selected_practitioners"),
56086
+ resourceRefs: z69.array(appointmentSetupRefSchema)
55921
56087
  })
55922
56088
  ]);
55923
- var appointmentSetupServiceDraftSchema = z68.object({
56089
+ var appointmentSetupServiceDraftSchema = z69.object({
55924
56090
  ref: appointmentSetupRefSchema,
55925
- title: z68.string().trim().min(1),
55926
- description: z68.string().nullable(),
55927
- durationMinutes: z68.number().int().positive(),
55928
- priceAmount: z68.number().int().nonnegative().nullable(),
55929
- isActive: z68.boolean(),
55930
- locationType: z68.union([
55931
- z68.literal("virtual"),
55932
- z68.literal("in_person"),
55933
- z68.literal("hybrid")
56091
+ title: z69.string().trim().min(1),
56092
+ description: z69.string().nullable(),
56093
+ durationMinutes: z69.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56094
+ prepMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56095
+ cleanupMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56096
+ priceAmount: z69.number().int().nonnegative().nullable(),
56097
+ isActive: z69.boolean(),
56098
+ locationType: z69.union([
56099
+ z69.literal("virtual"),
56100
+ z69.literal("in_person"),
56101
+ z69.literal("hybrid")
55934
56102
  ]),
55935
56103
  venue: appointmentSetupVenueChoiceSchema,
55936
- timezone: z68.string().trim().min(1).nullable(),
56104
+ timezone: z69.string().trim().min(1).nullable(),
55937
56105
  payment: appointmentSetupPaymentDraftSchema,
55938
56106
  assignment: appointmentSetupServiceAssignmentDraftSchema
55939
56107
  }).superRefine((service, ctx) => {
@@ -55952,34 +56120,34 @@ var appointmentSetupServiceDraftSchema = z68.object({
55952
56120
  });
55953
56121
  }
55954
56122
  });
55955
- var appointmentSetupPractitionerDraftSchema = z68.object({
56123
+ var appointmentSetupPractitionerDraftSchema = z69.object({
55956
56124
  ref: appointmentSetupRefSchema,
55957
- displayName: z68.string().trim().min(1),
55958
- bio: z68.string().nullable(),
55959
- timezone: z68.string().trim().min(1),
55960
- colorHex: z68.string().nullable()
55961
- });
55962
- var appointmentSetupWeeklyWindowDraftSchema = z68.object({
55963
- weekday: z68.number().int().min(0).max(6),
55964
- startTime: z68.string(),
55965
- endTime: z68.string()
55966
- });
55967
- var appointmentSetupAvailabilityDraftSchema = z68.object({
55968
- kind: z68.literal("weekly_windows"),
56125
+ displayName: z69.string().trim().min(1),
56126
+ bio: z69.string().nullable(),
56127
+ timezone: z69.string().trim().min(1),
56128
+ colorHex: z69.string().nullable()
56129
+ });
56130
+ var appointmentSetupWeeklyWindowDraftSchema = z69.object({
56131
+ weekday: z69.number().int().min(0).max(6),
56132
+ startTime: z69.string(),
56133
+ endTime: z69.string()
56134
+ });
56135
+ var appointmentSetupAvailabilityDraftSchema = z69.object({
56136
+ kind: z69.literal("weekly_windows"),
55969
56137
  resourceRef: appointmentSetupRefSchema,
55970
56138
  serviceRef: appointmentSetupRefSchema.nullable(),
55971
- windows: z68.array(appointmentSetupWeeklyWindowDraftSchema)
56139
+ windows: z69.array(appointmentSetupWeeklyWindowDraftSchema)
55972
56140
  });
55973
56141
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
55974
56142
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
55975
- var appointmentSetupBookingNoticeSchema = z68.object({
55976
- minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
55977
- maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
55978
- });
55979
- var applyAppointmentSetupRequestSchema = z68.object({
55980
- services: z68.array(appointmentSetupServiceDraftSchema),
55981
- practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
55982
- availability: z68.array(appointmentSetupAvailabilityDraftSchema),
56143
+ var appointmentSetupBookingNoticeSchema = z69.object({
56144
+ minLeadMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56145
+ maxBookingNoticeMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56146
+ });
56147
+ var applyAppointmentSetupRequestSchema = z69.object({
56148
+ services: z69.array(appointmentSetupServiceDraftSchema),
56149
+ practitioners: z69.array(appointmentSetupPractitionerDraftSchema),
56150
+ availability: z69.array(appointmentSetupAvailabilityDraftSchema),
55983
56151
  bookingNotice: appointmentSetupBookingNoticeSchema
55984
56152
  });
55985
56153
 
@@ -56012,24 +56180,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
56012
56180
  ];
56013
56181
 
56014
56182
  // ../api/src/siteBanner.ts
56015
- import { z as z69 } from "zod";
56183
+ import { z as z70 } from "zod";
56016
56184
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
56017
56185
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
56018
56186
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
56019
56187
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
56020
- var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
56021
- var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
56022
- var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
56023
- var siteBannerCtaSchema = z69.object({
56024
- label: z69.string().trim().min(1),
56188
+ var siteBannerScopeSchema = z70.enum(SITE_BANNER_SCOPE_VALUES);
56189
+ var siteBannerToneSchema = z70.enum(SITE_BANNER_TONE_VALUES);
56190
+ var siteBannerBodySchema = z70.unknown().transform(unwrapRichTextValue);
56191
+ var siteBannerCtaSchema = z70.object({
56192
+ label: z70.string().trim().min(1),
56025
56193
  link: linkPayloadSchema
56026
56194
  });
56027
- var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
56028
- z69.object({
56029
- enabled: z69.literal(false)
56195
+ var siteBannerSettingsSchema = z70.discriminatedUnion("enabled", [
56196
+ z70.object({
56197
+ enabled: z70.literal(false)
56030
56198
  }),
56031
- z69.object({
56032
- enabled: z69.literal(true),
56199
+ z70.object({
56200
+ enabled: z70.literal(true),
56033
56201
  scope: siteBannerScopeSchema,
56034
56202
  tone: siteBannerToneSchema,
56035
56203
  body: siteBannerBodySchema,
@@ -56043,7 +56211,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
56043
56211
  const analysis = analyzeSiteBannerBody(value.body);
56044
56212
  for (const issue2 of analysis.issues) {
56045
56213
  ctx.addIssue({
56046
- code: z69.ZodIssueCode.custom,
56214
+ code: z70.ZodIssueCode.custom,
56047
56215
  path: ["body"],
56048
56216
  message: siteBannerBodyIssueMessage(issue2)
56049
56217
  });
@@ -56176,7 +56344,7 @@ function sanitizeMarks(marks) {
56176
56344
  if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
56177
56345
  return [{ type: mark.type }];
56178
56346
  }
56179
- if (mark.type === "link" && isRecord4(mark.attrs) && typeof mark.attrs.href === "string") {
56347
+ if (mark.type === "link" && isRecord5(mark.attrs) && typeof mark.attrs.href === "string") {
56180
56348
  const attrs = { href: mark.attrs.href };
56181
56349
  if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
56182
56350
  attrs.target = mark.attrs.target;
@@ -56191,10 +56359,10 @@ function sanitizeMarks(marks) {
56191
56359
  return sanitized.length > 0 ? sanitized : void 0;
56192
56360
  }
56193
56361
  function unwrapRichTextValue(value) {
56194
- if (isRecord4(value) && isRecord4(value.doc)) {
56362
+ if (isRecord5(value) && isRecord5(value.doc)) {
56195
56363
  return unwrapRichTextValue(value.doc);
56196
56364
  }
56197
- if (isRecord4(value) && value.type === "doc") {
56365
+ if (isRecord5(value) && value.type === "doc") {
56198
56366
  return {
56199
56367
  type: "doc",
56200
56368
  content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
@@ -56203,7 +56371,7 @@ function unwrapRichTextValue(value) {
56203
56371
  return EMPTY_SITE_BANNER_BODY;
56204
56372
  }
56205
56373
  function isTipTapNodeLike(value) {
56206
- return isRecord4(value) && typeof value.type === "string";
56374
+ return isRecord5(value) && typeof value.type === "string";
56207
56375
  }
56208
56376
  function coerceTipTapNode(value) {
56209
56377
  return {
@@ -56211,9 +56379,9 @@ function coerceTipTapNode(value) {
56211
56379
  ...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
56212
56380
  ...typeof value.text === "string" ? { text: value.text } : {},
56213
56381
  ...Array.isArray(value.marks) ? {
56214
- marks: value.marks.filter((mark) => isRecord4(mark) && typeof mark.type === "string").map((mark) => ({
56382
+ marks: value.marks.filter((mark) => isRecord5(mark) && typeof mark.type === "string").map((mark) => ({
56215
56383
  type: mark.type,
56216
- ...isRecord4(mark.attrs) ? { attrs: mark.attrs } : {}
56384
+ ...isRecord5(mark.attrs) ? { attrs: mark.attrs } : {}
56217
56385
  }))
56218
56386
  } : {}
56219
56387
  };
@@ -56267,71 +56435,71 @@ function parsePublicProductCategorySelector(value) {
56267
56435
  }
56268
56436
 
56269
56437
  // ../api/src/aiPlayground.ts
56270
- import { z as z70 } from "zod";
56271
- var Rfc6902PatchOp = z70.discriminatedUnion("op", [
56438
+ import { z as z71 } from "zod";
56439
+ var Rfc6902PatchOp = z71.discriminatedUnion("op", [
56272
56440
  // Standard RFC-6902 operations
56273
- z70.object({
56274
- op: z70.literal("add"),
56275
- path: z70.string(),
56276
- value: z70.unknown()
56441
+ z71.object({
56442
+ op: z71.literal("add"),
56443
+ path: z71.string(),
56444
+ value: z71.unknown()
56277
56445
  }),
56278
- z70.object({
56279
- op: z70.literal("remove"),
56280
- path: z70.string()
56446
+ z71.object({
56447
+ op: z71.literal("remove"),
56448
+ path: z71.string()
56281
56449
  }),
56282
- z70.object({
56283
- op: z70.literal("replace"),
56284
- path: z70.string(),
56285
- value: z70.unknown()
56450
+ z71.object({
56451
+ op: z71.literal("replace"),
56452
+ path: z71.string(),
56453
+ value: z71.unknown()
56286
56454
  }),
56287
- z70.object({
56288
- op: z70.literal("move"),
56289
- from: z70.string(),
56290
- path: z70.string()
56455
+ z71.object({
56456
+ op: z71.literal("move"),
56457
+ from: z71.string(),
56458
+ path: z71.string()
56291
56459
  }),
56292
- z70.object({
56293
- op: z70.literal("copy"),
56294
- from: z70.string(),
56295
- path: z70.string()
56460
+ z71.object({
56461
+ op: z71.literal("copy"),
56462
+ from: z71.string(),
56463
+ path: z71.string()
56296
56464
  }),
56297
56465
  // Block-level operations (Phase 2)
56298
- z70.object({
56299
- op: z70.literal("add_block"),
56300
- blockKind: z70.string(),
56301
- afterBlockId: z70.string().nullable(),
56302
- content: z70.record(z70.string(), z70.unknown()),
56303
- rationale: z70.string()
56466
+ z71.object({
56467
+ op: z71.literal("add_block"),
56468
+ blockKind: z71.string(),
56469
+ afterBlockId: z71.string().nullable(),
56470
+ content: z71.record(z71.string(), z71.unknown()),
56471
+ rationale: z71.string()
56304
56472
  }),
56305
- z70.object({
56306
- op: z70.literal("delete_block"),
56307
- blockId: z70.string(),
56308
- rationale: z70.string()
56473
+ z71.object({
56474
+ op: z71.literal("delete_block"),
56475
+ blockId: z71.string(),
56476
+ rationale: z71.string()
56309
56477
  }),
56310
- z70.object({
56311
- op: z70.literal("reorder_block"),
56312
- blockId: z70.string(),
56313
- afterBlockId: z70.string().nullable(),
56314
- rationale: z70.string()
56478
+ z71.object({
56479
+ op: z71.literal("reorder_block"),
56480
+ blockId: z71.string(),
56481
+ afterBlockId: z71.string().nullable(),
56482
+ rationale: z71.string()
56315
56483
  })
56316
56484
  ]);
56317
- var PlaygroundProposeRequest = z70.object({
56318
- request: z70.string().min(1).max(2e3)
56485
+ var PlaygroundProposeRequest = z71.object({
56486
+ request: z71.string().min(1).max(2e3)
56319
56487
  });
56320
- var MultiPagePatchEnvelope = z70.object({
56321
- pageId: z70.string(),
56322
- blockId: z70.string().optional(),
56488
+ var MultiPagePatchEnvelope = z71.object({
56489
+ pageId: z71.string(),
56490
+ blockId: z71.string().optional(),
56323
56491
  // Not present for page-level ops
56324
- blockKind: z70.string().optional(),
56325
- blockPurpose: z70.string().optional().nullable(),
56326
- ops: z70.array(Rfc6902PatchOp),
56327
- rationale: z70.string(),
56328
- currentContent: z70.record(z70.string(), z70.unknown()).optional()
56492
+ blockKind: z71.string().optional(),
56493
+ blockPurpose: z71.string().optional().nullable(),
56494
+ ops: z71.array(Rfc6902PatchOp),
56495
+ rationale: z71.string(),
56496
+ currentContent: z71.record(z71.string(), z71.unknown()).optional()
56329
56497
  });
56330
- var MultiPageUpdateResponse = z70.object({
56331
- patches: z70.array(MultiPagePatchEnvelope),
56332
- assistantMessage: z70.string(),
56333
- pagesModified: z70.number(),
56334
- toolCallsUsed: z70.number()
56498
+ var MultiPageUpdateResponse = z71.object({
56499
+ patches: z71.array(MultiPagePatchEnvelope),
56500
+ assistantMessage: z71.string(),
56501
+ pagesModified: z71.number(),
56502
+ toolCallsUsed: z71.number()
56335
56503
  });
56336
56504
 
56337
56505
  // src/data/prefetchBlockData.ts
@@ -56348,7 +56516,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
56348
56516
  "getPublicBookingServices",
56349
56517
  "getPublicEventDetails"
56350
56518
  ];
56351
- function isSupportedLoaderEndpoint(endpoint) {
56519
+ function isSupportedLoaderEndpoint2(endpoint) {
56352
56520
  return SUPPORTED_LOADER_ENDPOINTS2.includes(endpoint);
56353
56521
  }
56354
56522
  function parseManualEntryIds(entryIds) {
@@ -56391,7 +56559,7 @@ async function prefetchBlockData2(page, context, client, options) {
56391
56559
  );
56392
56560
  return prefetchBlockData(page, context, {
56393
56561
  apiClient: async ({ endpoint, params }) => {
56394
- if (!isSupportedLoaderEndpoint(endpoint)) {
56562
+ if (!isSupportedLoaderEndpoint2(endpoint)) {
56395
56563
  throw new Error(
56396
56564
  `Unsupported loader endpoint: ${endpoint}. SDK only supports: ${SUPPORTED_LOADER_ENDPOINTS2.join(", ")}`
56397
56565
  );
@@ -56563,7 +56731,7 @@ async function prefetchBlockData2(page, context, client, options) {
56563
56731
  }
56564
56732
  }
56565
56733
  },
56566
- isValidEndpoint: isSupportedLoaderEndpoint,
56734
+ isValidEndpoint: isSupportedLoaderEndpoint2,
56567
56735
  onError: (error, { block, loader }) => {
56568
56736
  console.warn("[prefetchBlockData] failed to prefetch block data", {
56569
56737
  block,
@@ -56680,6 +56848,8 @@ function renderBlockOverride({
56680
56848
  themeConfig: props2.theme,
56681
56849
  data: resolvedData,
56682
56850
  siteId: props2.siteId,
56851
+ apiBaseUrl: props2.apiBaseUrl,
56852
+ portalToken: props2.portalToken ?? null,
56683
56853
  supabaseUrl: props2.supabaseUrl,
56684
56854
  imageResolveContext: runtime.imageResolveContext,
56685
56855
  blockId: props2.blockId ?? null,