@riverbankcms/sdk 0.68.0 → 0.70.2

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 (430) hide show
  1. package/dist/_dts/ai/src/contracts/commandExposure.d.ts +8 -0
  2. package/dist/_dts/ai/src/contracts/feedback.d.ts +55 -0
  3. package/dist/_dts/ai/src/contracts/proposals.d.ts +34764 -0
  4. package/dist/_dts/ai/src/contracts.d.ts +5 -0
  5. package/dist/_dts/ai/src/designer/rfc6902.d.ts +16 -0
  6. package/dist/_dts/ai/src/designer/themePatch.d.ts +50 -0
  7. package/dist/_dts/api/src/accessAdmin.d.ts +3 -3
  8. package/dist/_dts/api/src/admin/types.d.ts +1 -1
  9. package/dist/_dts/api/src/aiPlayground.d.ts +13 -87
  10. package/dist/_dts/api/src/appointmentSetup.d.ts +23 -0
  11. package/dist/_dts/api/src/availability.d.ts +84 -2
  12. package/dist/_dts/api/src/billing.d.ts +1 -1
  13. package/dist/_dts/api/src/bookingConfig.d.ts +2 -2
  14. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -1
  15. package/dist/_dts/api/src/bookingRecords.d.ts +1 -1
  16. package/dist/_dts/api/src/bookings.d.ts +1 -1
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -1
  18. package/dist/_dts/api/src/communications.d.ts +1 -1
  19. package/dist/_dts/api/src/contentRuntime.d.ts +3 -2
  20. package/dist/_dts/api/src/contentTypes.d.ts +1 -1
  21. package/dist/_dts/api/src/endpoints.d.ts +29 -0
  22. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
  23. package/dist/_dts/api/src/navigation/linkValue.d.ts +1 -1
  24. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  25. package/dist/_dts/api/src/public/index.d.ts +2 -2
  26. package/dist/_dts/api/src/public/types.d.ts +2 -2
  27. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -2
  28. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  29. package/dist/_dts/api/src/siteBanner.d.ts +9 -9
  30. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -2
  31. package/dist/_dts/api/src/siteOnboarding.d.ts +1 -1
  32. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +5 -1
  33. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +33 -5
  34. package/dist/_dts/api/src/siteSettings.d.ts +3 -3
  35. package/dist/_dts/api/src/teamMembers.d.ts +1 -1
  36. package/dist/_dts/api/src/types.d.ts +2 -2
  37. package/dist/_dts/api/src/url.d.ts +1 -1
  38. package/dist/_dts/billing/src/components/index.d.ts +102 -3
  39. package/dist/_dts/block-form/src/backend/store-backend.d.ts +1 -1
  40. package/dist/_dts/block-form/src/backend/types.d.ts +2 -2
  41. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -2
  42. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -1
  43. package/dist/_dts/block-form/src/fields/types.d.ts +1 -1
  44. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  45. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +1 -1
  46. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +1 -1
  47. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +1 -1
  48. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  49. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -1
  50. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  51. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  52. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +1 -1
  53. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +1 -1
  54. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -1
  55. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  56. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +1 -1
  57. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +1 -1
  58. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +4 -4
  59. package/dist/_dts/block-form/src/widgets/constants.d.ts +1 -1
  60. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -1
  61. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  62. package/dist/_dts/blocks/src/client.d.ts +6 -4
  63. package/dist/_dts/blocks/src/index.d.ts +28 -27
  64. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  65. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +1 -1
  66. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  67. package/dist/_dts/blocks/src/server.d.ts +1 -1
  68. package/dist/_dts/blocks/src/structure/schema.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1665 -1665
  70. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1666 -1666
  71. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  72. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1665 -1665
  73. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1665 -1665
  74. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1666 -1666
  75. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +3 -2
  77. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +42 -42
  78. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1761 -1761
  79. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -2
  80. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +1764 -1764
  81. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -44
  83. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  84. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1665 -1665
  85. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  86. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1665 -1665
  87. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +9 -9
  90. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +139 -139
  91. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1665 -1665
  92. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1665 -1665
  93. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +19 -19
  94. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1665 -1665
  95. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
  96. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  98. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -1
  99. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/customize/facets.d.ts +5 -5
  101. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +1 -1
  103. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1761 -1761
  104. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1761 -1761
  105. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1761 -1761
  106. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1761 -1761
  107. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1761 -1761
  108. package/dist/_dts/blocks/src/system/frame/frameStyles.d.ts +3 -3
  109. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -2
  110. package/dist/_dts/blocks/src/system/manifest/augmentManifest.d.ts +1 -1
  111. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
  112. package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +1 -1
  113. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +1 -1
  115. package/dist/_dts/blocks/src/system/node/fragments/typography.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
  117. package/dist/_dts/blocks/src/system/registry.d.ts +2 -2
  118. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  119. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  120. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -1
  121. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -2
  122. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
  123. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +1 -1
  125. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +45 -29
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +27 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +11 -7
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -3
  131. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -1
  133. package/dist/_dts/blocks/src/system/runtime/nodes/shared/LeafletStaticMap.d.ts +1 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -6
  135. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +1 -1
  136. package/dist/_dts/blocks/src/system/theme/index.d.ts +1 -1
  137. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -1
  138. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  139. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
  140. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  141. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +3 -3
  142. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +3 -3
  143. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +2 -2
  144. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +2 -2
  145. package/dist/_dts/content-editor/src/controller/deriveRecoveryConflict.d.ts +1 -1
  146. package/dist/_dts/content-editor/src/controller/invalidBlockRecovery.d.ts +1 -1
  147. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  148. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  149. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +3 -3
  150. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  151. package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +1 -1
  152. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  153. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +2 -2
  154. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +1 -1
  155. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +1 -1
  156. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  157. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -1
  158. package/dist/_dts/content-editor/src/registry.d.ts +1 -1
  159. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +2 -2
  160. package/dist/_dts/content-editor/src/types.d.ts +2 -2
  161. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +3 -3
  162. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +1 -1
  163. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  164. package/dist/_dts/content-editor/src/ui/stores/utils.d.ts +1 -1
  165. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  166. package/dist/_dts/core/src/branded.d.ts +2 -0
  167. package/dist/_dts/core/src/index.d.ts +2 -0
  168. package/dist/_dts/core/src/planner.d.ts +64 -0
  169. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +236 -18
  170. package/dist/_dts/db/src/schemas/forms.d.ts +62 -62
  171. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +5 -5
  172. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +5 -5
  173. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +2 -2
  174. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +6 -6
  175. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +3 -3
  176. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
  177. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +2 -2
  178. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  179. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +2 -2
  180. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  181. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +1 -1
  182. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  183. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +3 -3
  184. package/dist/_dts/editor-blocks/src/block-editor/blockDiscovery.d.ts +1 -1
  185. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +1 -1
  186. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +1 -1
  187. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -3
  188. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -2
  189. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -2
  190. package/dist/_dts/editor-blocks/src/block-editor/hooks/useDraftContent.d.ts +1 -1
  191. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -2
  192. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +3 -3
  193. package/dist/_dts/editor-blocks/src/block-editor/settingsIntent.d.ts +1 -1
  194. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -1
  195. package/dist/_dts/editor-blocks/src/block-form/debug.d.ts +1 -1
  196. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +2 -2
  197. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  198. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -6
  199. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  200. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  201. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  202. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  203. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  204. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  205. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  206. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  207. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -2
  208. package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -2
  209. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  210. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  211. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +3 -3
  212. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  213. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  214. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +3 -3
  215. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -2
  216. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +3 -3
  217. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +2 -2
  218. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +2 -2
  219. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  220. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  221. package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +1 -1
  222. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -3
  223. package/dist/_dts/editor-blocks/src/widgets/reference/types.d.ts +3 -3
  224. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  225. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  226. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +1 -1
  227. package/dist/_dts/editor-blocks/src/widgets/rich-text/richTextImageHydration.d.ts +1 -1
  228. package/dist/_dts/editor-blocks/src/widgets/shared/Combobox.d.ts +1 -1
  229. package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
  230. package/dist/_dts/media-core/src/fileAssetDeletion.d.ts +1 -1
  231. package/dist/_dts/media-core/src/fileDomain.d.ts +1 -1
  232. package/dist/_dts/media-core/src/fileDownloadResolution.d.ts +1 -1
  233. package/dist/_dts/media-core/src/filePersistence.d.ts +1 -1
  234. package/dist/_dts/media-core/src/fileStorage.d.ts +1 -1
  235. package/dist/_dts/media-core/src/fileUploadAssetBuilder.d.ts +1 -1
  236. package/dist/_dts/media-core/src/fileUploadCleanup.d.ts +1 -1
  237. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +1 -1
  238. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +1 -1
  239. package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +1 -1
  240. package/dist/_dts/media-core/src/fileUploadSessionCreation.d.ts +1 -1
  241. package/dist/_dts/media-core/src/types.d.ts +2 -2
  242. package/dist/_dts/media-core/src/url.d.ts +1 -1
  243. package/dist/_dts/media-core/src/videoPrep.d.ts +1 -1
  244. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  245. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  246. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
  247. package/dist/_dts/media-editor/src/context.d.ts +3 -3
  248. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  249. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +1 -1
  250. package/dist/_dts/media-editor/src/debug.d.ts +1 -1
  251. package/dist/_dts/media-editor/src/provider.d.ts +3 -3
  252. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +1 -1
  253. package/dist/_dts/media-editor/src/transformModel.d.ts +1 -1
  254. package/dist/_dts/media-editor/src/types.d.ts +2 -2
  255. package/dist/_dts/media-editor/src/utils.d.ts +1 -1
  256. package/dist/_dts/media-react/src/components/ImageCropper.d.ts +1 -1
  257. package/dist/_dts/media-react/src/components/cropDraftModel.d.ts +1 -1
  258. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -1
  259. package/dist/_dts/media-react/src/components/cropSessionState.d.ts +1 -1
  260. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -1
  261. package/dist/_dts/media-react/src/ffmpegLoader.d.ts +1 -1
  262. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  263. package/dist/_dts/media-react/src/hooks/mediaAssetResponseMapper.d.ts +1 -1
  264. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +4 -4
  265. package/dist/_dts/media-react/src/utils/rotation.d.ts +1 -1
  266. package/dist/_dts/media-react/src/videoFrameExtraction.d.ts +1 -1
  267. package/dist/_dts/media-react/src/videoPrepBrowser.d.ts +2 -2
  268. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +1 -1
  269. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
  270. package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +1 -1
  271. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -2
  272. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
  273. package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +2 -2
  274. package/dist/_dts/preview-next/src/client/blocks/editorRegistry.d.ts +1 -1
  275. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -2
  276. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +2 -2
  277. package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +2 -2
  278. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +2 -2
  279. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  280. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +3 -3
  281. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +5 -5
  282. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -2
  283. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
  284. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +1 -1
  285. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +1 -1
  286. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +11 -10
  287. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -2
  288. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  289. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +10 -9
  290. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +10 -9
  291. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  292. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  293. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +8 -6
  294. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +8 -6
  295. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +5 -4
  296. package/dist/_dts/preview-next/src/client/preview/pageSchema.d.ts +1 -1
  297. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +1 -1
  298. package/dist/_dts/preview-next/src/client/preview/previewChromeSurfacePolicy.d.ts +1 -1
  299. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +3 -3
  300. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -2
  301. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +1 -1
  302. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +1 -1
  303. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  304. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +2 -2
  305. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +8 -0
  306. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +5 -4
  307. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +1 -1
  308. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +1 -1
  309. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -2
  310. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -2
  311. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +3 -3
  312. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -3
  313. package/dist/_dts/sdk/src/bookings/index.d.ts +3 -2
  314. package/dist/_dts/sdk/src/bookings/types.d.ts +16 -10
  315. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +1 -1
  316. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +1 -1
  317. package/dist/_dts/sdk/src/cli/commands/style.d.ts +19 -0
  318. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -1
  319. package/dist/_dts/sdk/src/cli/env.d.ts +1 -1
  320. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +1 -1
  321. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  322. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +1 -1
  323. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +2 -2
  324. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -1
  325. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +1 -1
  326. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +2 -2
  327. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +2 -2
  328. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +2 -2
  329. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +2 -2
  330. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +2 -2
  331. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -1
  332. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
  333. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  334. package/dist/_dts/sdk/src/client/management/theme.d.ts +3 -1
  335. package/dist/_dts/sdk/src/client/management/types.d.ts +23 -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 +19 -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/spam-protection/index.d.ts +3 -3
  352. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +2 -2
  353. package/dist/_dts/sdk/src/version.d.ts +1 -1
  354. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  355. package/dist/_dts/site-commands/src/commands.d.ts +95 -46
  356. package/dist/_dts/site-commands/src/domain.d.ts +2 -2
  357. package/dist/_dts/site-commands/src/exposure.d.ts +3 -3
  358. package/dist/_dts/site-commands/src/metadata.d.ts +15 -2
  359. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  360. package/dist/_dts/site-commands/src/refs.d.ts +1 -1
  361. package/dist/_dts/theme-core/src/accordions/types.d.ts +9 -9
  362. package/dist/_dts/theme-core/src/blocks/index.d.ts +2 -2
  363. package/dist/_dts/theme-core/src/blocks/types.d.ts +3 -2
  364. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +5 -5
  365. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +5 -5
  366. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +5 -5
  367. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +35 -35
  368. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +5 -5
  369. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +5 -5
  370. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +5 -5
  371. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +5 -5
  372. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
  373. package/dist/_dts/theme-core/src/buttons/types.d.ts +18 -18
  374. package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
  375. package/dist/_dts/theme-core/src/inputs/types.d.ts +13 -13
  376. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  377. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +351 -351
  378. package/dist/_dts/theme-core/src/navigation/types.d.ts +15 -15
  379. package/dist/_dts/theme-core/src/palette/recipes/allRecipes.d.ts +1 -1
  380. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +24 -24
  381. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +18 -18
  382. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +65 -65
  383. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +18 -18
  384. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +7 -7
  385. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +18 -18
  386. package/dist/_dts/theme-core/src/progress/generateProgressCss.d.ts +2 -1
  387. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +1 -1
  388. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +4 -0
  389. package/dist/_dts/theme-core/src/schema.d.ts +568 -568
  390. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  391. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  392. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  393. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +34 -34
  394. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  395. package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +1 -1
  396. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +1 -1
  397. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +14 -14
  398. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  399. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +4 -4
  400. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +2 -1
  401. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +5 -5
  402. package/dist/_dts/ui/src/badge.d.ts +1 -1
  403. package/dist/_dts/ui/src/button.d.ts +2 -2
  404. package/dist/_dts/ui/src/card.d.ts +1 -1
  405. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  406. package/dist/_dts/ui/src/surface.d.ts +2 -2
  407. package/dist/_dts/ui/src/toggle.d.ts +4 -4
  408. package/dist/cli/index.mjs +5989 -5678
  409. package/dist/client/bookings.mjs +104 -34
  410. package/dist/client/client.mjs +4482 -4298
  411. package/dist/client/hooks.mjs +5783 -3847
  412. package/dist/client/rendering/client.mjs +164 -35
  413. package/dist/client/rendering/islands.mjs +164 -35
  414. package/dist/client/rendering.mjs +530 -346
  415. package/dist/preview-next/before-render.mjs +39 -0
  416. package/dist/preview-next/client/runtime.mjs +339 -92
  417. package/dist/preview-next/middleware.mjs +39 -0
  418. package/dist/server/components.mjs +418 -310
  419. package/dist/server/config-validation.mjs +6899 -4883
  420. package/dist/server/config.mjs +6890 -4883
  421. package/dist/server/data.mjs +5783 -3847
  422. package/dist/server/index.mjs +199 -1762
  423. package/dist/server/next.mjs +6577 -5268
  424. package/dist/server/prebuild.mjs +1 -1
  425. package/dist/server/rendering/server.mjs +420 -312
  426. package/dist/server/rendering.mjs +420 -312
  427. package/dist/server/routing.mjs +11475 -7881
  428. package/dist/server/server.mjs +5770 -3834
  429. package/dist/server/theme-bridge.mjs +249 -15
  430. package/package.json +1 -3
@@ -1399,6 +1399,24 @@ var init_endpoints = __esm({
1399
1399
  "server:internal_error"
1400
1400
  ]
1401
1401
  },
1402
+ setServiceSpecificAvailability: {
1403
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability",
1404
+ method: "PUT",
1405
+ auth: "user",
1406
+ responseKind: "json",
1407
+ errors: [
1408
+ "validation:invalid_input",
1409
+ "resource:not_found",
1410
+ "server:internal_error"
1411
+ ]
1412
+ },
1413
+ deleteServiceSpecificAvailability: {
1414
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/service-availability/{scheduleId}",
1415
+ method: "DELETE",
1416
+ auth: "user",
1417
+ responseKind: "json",
1418
+ errors: ["resource:not_found", "server:internal_error"]
1419
+ },
1402
1420
  listBlackouts: {
1403
1421
  path: "/sites/{siteId}/bookings/resources/{resourceId}/blackouts",
1404
1422
  method: "GET",
@@ -3034,6 +3052,20 @@ var init_endpoints = __esm({
3034
3052
  auth: "user",
3035
3053
  responseKind: "json"
3036
3054
  },
3055
+ applySiteStyleSelection: {
3056
+ path: "/sites/{siteId}/theme/style-selection/apply",
3057
+ method: "POST",
3058
+ tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme],
3059
+ auth: "user",
3060
+ errors: [
3061
+ "validation:invalid_input",
3062
+ "auth:forbidden",
3063
+ "resource:not_found",
3064
+ "resource:conflict",
3065
+ "server:internal_error"
3066
+ ],
3067
+ responseKind: "json"
3068
+ },
3037
3069
  saveSiteChromeLookSelection: {
3038
3070
  path: "/sites/{siteId}/theme/site-chrome-look",
3039
3071
  method: "POST",
@@ -5777,6 +5809,13 @@ var init_endpoints = __esm({
5777
5809
  auth: "service",
5778
5810
  responseKind: "json"
5779
5811
  },
5812
+ sdkApplySiteStyleSelection: {
5813
+ path: "/sdk/{siteId}/theme/style-selection/apply",
5814
+ method: "POST",
5815
+ auth: "service",
5816
+ responseKind: "json",
5817
+ errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
5818
+ },
5780
5819
  sdkUpsertFooter: {
5781
5820
  path: "/sdk/{siteId}/footer",
5782
5821
  method: "POST",
@@ -96710,7 +96749,7 @@ var init_useBlockAutosave = __esm({
96710
96749
  });
96711
96750
 
96712
96751
  // ../core/src/branded.ts
96713
- var asSiteId, asMediaAssetId, asStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, asAppointmentResourceId;
96752
+ var asSiteId, asMediaAssetId, asStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, asFormId, asPassId, asCustomerPassId, asAppointmentServiceId, asAppointmentResourceId;
96714
96753
  var init_branded = __esm({
96715
96754
  "../core/src/branded.ts"() {
96716
96755
  asSiteId = (id) => id;
@@ -96718,6 +96757,10 @@ var init_branded = __esm({
96718
96757
  asStorageBucketName = (value) => value;
96719
96758
  unsafeAsPositiveByteCount = (value) => value;
96720
96759
  unsafeAsPositiveSeconds = (value) => value;
96760
+ asFormId = (id) => id;
96761
+ asPassId = (id) => id;
96762
+ asCustomerPassId = (id) => id;
96763
+ asAppointmentServiceId = (id) => id;
96721
96764
  asAppointmentResourceId = (id) => id;
96722
96765
  }
96723
96766
  });
@@ -97305,6 +97348,28 @@ var init_participant_identity = __esm({
97305
97348
  }
97306
97349
  });
97307
97350
 
97351
+ // ../core/src/planner.ts
97352
+ function resolvePlanningNowDate(input = {}) {
97353
+ if (input.now !== void 0) {
97354
+ return input.now;
97355
+ }
97356
+ return new Date((input.clock ?? systemPlanningClock).now());
97357
+ }
97358
+ function resolvePlanningDateInput(input = {}) {
97359
+ if (input instanceof Date) {
97360
+ return input;
97361
+ }
97362
+ return resolvePlanningNowDate(input);
97363
+ }
97364
+ var systemPlanningClock;
97365
+ var init_planner = __esm({
97366
+ "../core/src/planner.ts"() {
97367
+ systemPlanningClock = {
97368
+ now: () => Date.now()
97369
+ };
97370
+ }
97371
+ });
97372
+
97308
97373
  // ../core/src/index.ts
97309
97374
  var init_src3 = __esm({
97310
97375
  "../core/src/index.ts"() {
@@ -97330,6 +97395,7 @@ var init_src3 = __esm({
97330
97395
  init_assertNever();
97331
97396
  init_participants();
97332
97397
  init_participant_identity();
97398
+ init_planner();
97333
97399
  }
97334
97400
  });
97335
97401
 
@@ -122404,7 +122470,7 @@ function toExactOrFreeDisplay(amount, currency) {
122404
122470
  }
122405
122471
  return { kind: "exact", amount, currency };
122406
122472
  }
122407
- function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Date()) {
122473
+ function getSelectableCoursePricingOptionsForNow(course, now) {
122408
122474
  if (!course.pricing || course.pricing.pricingStrategy !== "tiered") {
122409
122475
  return [];
122410
122476
  }
@@ -122418,7 +122484,7 @@ function getSelectableCoursePricingOptions(course, now = /* @__PURE__ */ new Dat
122418
122484
  return left.name.localeCompare(right.name);
122419
122485
  });
122420
122486
  }
122421
- function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__PURE__ */ new Date()) {
122487
+ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {}) {
122422
122488
  const currency = course.pricing?.currency ?? course.currency;
122423
122489
  if (!course.pricing) {
122424
122490
  const legacyAmount = course.priceCents ?? 0;
@@ -122462,7 +122528,10 @@ function resolveCoursePricingState(course, selectedPricingOptionId, now = /* @__
122462
122528
  };
122463
122529
  }
122464
122530
  case "tiered": {
122465
- const selectableOptions = getSelectableCoursePricingOptions(course, now);
122531
+ const selectableOptions = getSelectableCoursePricingOptionsForNow(
122532
+ course,
122533
+ resolvePlanningDateInput(nowInput)
122534
+ );
122466
122535
  const selectedOption = (selectedPricingOptionId ? selectableOptions.find((option) => option.id === selectedPricingOptionId) : null) ?? (selectableOptions.length === 1 ? selectableOptions[0] ?? null : null);
122467
122536
  const lowestAmount = selectableOptions.reduce((lowest, option) => {
122468
122537
  if (lowest === null || option.priceAmount < lowest) {
@@ -122518,6 +122587,7 @@ function formatCoursePriceAmount(amount, currency, locale) {
122518
122587
  }
122519
122588
  var init_pricing = __esm({
122520
122589
  "../blocks/src/system/blocks/courses/shared/pricing.ts"() {
122590
+ init_src3();
122521
122591
  }
122522
122592
  });
122523
122593
 
@@ -133857,6 +133927,25 @@ var init_dist89 = __esm({
133857
133927
  }
133858
133928
  });
133859
133929
 
133930
+ // ../blocks/src/system/runtime/nodes/booking-form.reserved-fields.ts
133931
+ var BOOKING_FORM_DATA_RESERVED_KEY_VALUES, BOOKING_FORM_DATA_RESERVED_KEYS;
133932
+ var init_booking_form_reserved_fields = __esm({
133933
+ "../blocks/src/system/runtime/nodes/booking-form.reserved-fields.ts"() {
133934
+ BOOKING_FORM_DATA_RESERVED_KEY_VALUES = [
133935
+ "serviceId",
133936
+ "resourceId",
133937
+ "selectedDate",
133938
+ "selectedSlot",
133939
+ "discountCode",
133940
+ "selectedCollectionOptionKind",
133941
+ "selectedAppointmentPackageId"
133942
+ ];
133943
+ BOOKING_FORM_DATA_RESERVED_KEYS = new Set(
133944
+ BOOKING_FORM_DATA_RESERVED_KEY_VALUES
133945
+ );
133946
+ }
133947
+ });
133948
+
133860
133949
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
133861
133950
  function toTrimmedString(value) {
133862
133951
  const trimmed = value?.trim();
@@ -134372,20 +134461,12 @@ function formatBookingSubmissionPreparationError(error) {
134372
134461
  function getBookingSuccessMessage(successMessage) {
134373
134462
  return successMessage?.trim() || "Your appointment has been booked! Check your email for confirmation.";
134374
134463
  }
134375
- var BOOKING_FORM_DATA_RESERVED_KEYS;
134376
134464
  var init_booking_form_state = __esm({
134377
134465
  "../blocks/src/system/runtime/nodes/booking-form.state.ts"() {
134378
134466
  init_dist89();
134379
134467
  init_src3();
134380
- BOOKING_FORM_DATA_RESERVED_KEYS = /* @__PURE__ */ new Set([
134381
- "serviceId",
134382
- "resourceId",
134383
- "selectedDate",
134384
- "selectedSlot",
134385
- "discountCode",
134386
- "selectedCollectionOptionKind",
134387
- "selectedAppointmentPackageId"
134388
- ]);
134468
+ init_booking_form_reserved_fields();
134469
+ init_booking_form_reserved_fields();
134389
134470
  }
134390
134471
  });
134391
134472
  function buildBookingFormDisplay(source, form2 = normalizeBookingFormConfig(source.form)) {
@@ -153634,18 +153715,45 @@ var init_fonts = __esm({
153634
153715
  init_types21();
153635
153716
  }
153636
153717
  });
153637
-
153638
- // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
153639
153718
  var init_buildThemeRuntimeFromBridge = __esm({
153640
153719
  "../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts"() {
153641
153720
  init_colorConversion();
153642
153721
  init_shadow2();
153722
+ init_customCss();
153643
153723
  init_core();
153644
153724
  init_core2();
153645
153725
  init_core4();
153646
153726
  init_status();
153647
153727
  init_progress();
153648
153728
  init_blocks4();
153729
+ z.object({
153730
+ tokens: z.record(z.string(), z.string()),
153731
+ typography: z.object({
153732
+ headingFamily: z.string().optional(),
153733
+ bodyFamily: z.string().optional(),
153734
+ headingWeight: z.number().optional(),
153735
+ bodyWeight: z.number().optional()
153736
+ }).optional(),
153737
+ spacing: z.enum(["comfortable", "standard", "dense"]).optional(),
153738
+ corners: z.enum(["square", "soft", "rounded", "pill"]).optional(),
153739
+ shadows: z.enum(["none", "low", "medium", "high"]).optional(),
153740
+ components: z.object({
153741
+ buttons: z.union([
153742
+ z.boolean(),
153743
+ z.object({
153744
+ variants: z.array(z.enum(["primary", "secondary", "outline", "ghost"])).optional()
153745
+ })
153746
+ ]).optional(),
153747
+ cards: z.union([
153748
+ z.boolean(),
153749
+ z.object({
153750
+ variants: z.array(z.enum(["default", "elevated", "outlined"])).optional()
153751
+ })
153752
+ ]).optional(),
153753
+ inputs: z.boolean().optional()
153754
+ }).optional(),
153755
+ overrides: z.record(z.string(), z.string()).optional()
153756
+ }).passthrough();
153649
153757
  }
153650
153758
  });
153651
153759
  function renderSiteTopChrome({
@@ -153789,6 +153897,13 @@ var init_loaderEndpoints = __esm({
153789
153897
  }
153790
153898
  });
153791
153899
 
153900
+ // ../blocks/src/system/data/index.ts
153901
+ var init_data = __esm({
153902
+ "../blocks/src/system/data/index.ts"() {
153903
+ init_loaderEndpoints();
153904
+ }
153905
+ });
153906
+
153792
153907
  // ../blocks/src/primitives/content/primitives.tsx
153793
153908
  var Text5, RichText2;
153794
153909
  var init_primitives = __esm({
@@ -153958,6 +154073,7 @@ var init_src7 = __esm({
153958
154073
  init_siteChrome();
153959
154074
  init_blocks4();
153960
154075
  init_system();
154076
+ init_data();
153961
154077
  init_link2();
153962
154078
  init_validation();
153963
154079
  init_primitives();
@@ -161683,7 +161799,7 @@ function ze() {
161683
161799
  /* @__PURE__ */ Te(P)
161684
161800
  );
161685
161801
  }
161686
- function z72(e3) {
161802
+ function z73(e3) {
161687
161803
  if (L2) {
161688
161804
  if (/* @__PURE__ */ Te(P) !== null)
161689
161805
  throw Tt(), Je;
@@ -163712,12 +163828,12 @@ function ha(e3, t3) {
163712
163828
  var mt = we(Dr, 2);
163713
163829
  let Pr;
163714
163830
  var We = X3(mt);
163715
- en(We), We.__change = ui, z72(mt);
163831
+ en(We), We.__change = ui, z73(mt);
163716
163832
  var Ut = we(mt, 2), wi = X3(Ut);
163717
163833
  {
163718
163834
  var pi = (n3) => {
163719
163835
  var u3 = na(), _2 = Gr(u3), y2 = X3(_2);
163720
- Ge(y2, () => c3(re2).verified), z72(_2);
163836
+ Ge(y2, () => c3(re2).verified), z73(_2);
163721
163837
  var T2 = we(_2, 2);
163722
163838
  en(T2), Pe(() => {
163723
163839
  se(T2, "name", V2()), jo(T2, c3(Le));
@@ -163726,10 +163842,10 @@ function ha(e3, t3) {
163726
163842
  {
163727
163843
  var _2 = (T2) => {
163728
163844
  var E = ia(), p2 = X3(E);
163729
- Ge(p2, () => c3(re2).verifying), z72(E), ne(T2, E);
163845
+ Ge(p2, () => c3(re2).verifying), z73(E), ne(T2, E);
163730
163846
  }, y2 = (T2) => {
163731
163847
  var E = oa(), p2 = X3(E);
163732
- Ge(p2, () => c3(re2).label), z72(E), Pe(() => se(E, "for", c3(cr))), ne(T2, E);
163848
+ Ge(p2, () => c3(re2).label), z73(E), Pe(() => se(E, "for", c3(cr))), ne(T2, E);
163733
163849
  };
163734
163850
  $e(
163735
163851
  n3,
@@ -163744,18 +163860,18 @@ function ha(e3, t3) {
163744
163860
  c3(C2) === b2.VERIFIED ? n3(pi) : n3(bi, false);
163745
163861
  });
163746
163862
  }
163747
- z72(Ut);
163863
+ z73(Ut);
163748
163864
  var yi = we(Ut, 2);
163749
163865
  {
163750
163866
  var Ei = (n3) => {
163751
163867
  var u3 = aa(), _2 = X3(u3);
163752
- se(_2, "href", sr), z72(u3), Pe(() => se(_2, "aria-label", c3(re2).ariaLinkLabel)), ne(n3, u3);
163868
+ se(_2, "href", sr), z73(u3), Pe(() => se(_2, "aria-label", c3(re2).ariaLinkLabel)), ne(n3, u3);
163753
163869
  };
163754
163870
  $e(yi, (n3) => {
163755
163871
  (N() !== true || c3(Dt)) && n3(Ei);
163756
163872
  });
163757
163873
  }
163758
- z72(Mt);
163874
+ z73(Mt);
163759
163875
  var Or = we(Mt, 2);
163760
163876
  {
163761
163877
  var xi = (n3) => {
@@ -163763,16 +163879,16 @@ function ha(e3, t3) {
163763
163879
  {
163764
163880
  var y2 = (E) => {
163765
163881
  var p2 = la(), x2 = X3(p2);
163766
- Ge(x2, () => c3(re2).expired), z72(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
163882
+ Ge(x2, () => c3(re2).expired), z73(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
163767
163883
  }, T2 = (E) => {
163768
163884
  var p2 = sa(), x2 = X3(p2);
163769
- Ge(x2, () => c3(re2).error), z72(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
163885
+ Ge(x2, () => c3(re2).error), z73(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
163770
163886
  };
163771
163887
  $e(_2, (E) => {
163772
163888
  c3(C2) === b2.EXPIRED ? E(y2) : E(T2, false);
163773
163889
  });
163774
163890
  }
163775
- z72(u3), ne(n3, u3);
163891
+ z73(u3), ne(n3, u3);
163776
163892
  };
163777
163893
  $e(Or, (n3) => {
163778
163894
  (c3(He) || c3(C2) === b2.EXPIRED) && n3(xi);
@@ -163782,7 +163898,7 @@ function ha(e3, t3) {
163782
163898
  {
163783
163899
  var $i = (n3) => {
163784
163900
  var u3 = ua(), _2 = X3(u3), y2 = X3(_2);
163785
- Ge(y2, () => c3(re2).footer), z72(_2), z72(u3), ne(n3, u3);
163901
+ Ge(y2, () => c3(re2).footer), z73(_2), z73(u3), ne(n3, u3);
163786
163902
  };
163787
163903
  $e(Fr, (n3) => {
163788
163904
  c3(re2).footer && (k() !== true || c3(Dt)) && n3($i);
@@ -163798,7 +163914,7 @@ function ha(e3, t3) {
163798
163914
  v2() && n3(Ci);
163799
163915
  });
163800
163916
  }
163801
- return z72(ot), nn(ot, (n3) => D2(B, n3), () => c3(B)), Pe(
163917
+ return z73(ot), nn(ot, (n3) => D2(B, n3), () => c3(B)), Pe(
163802
163918
  (n3) => {
163803
163919
  se(ot, "data-state", c3(C2)), se(ot, "data-floating", v2()), Pr = Fo(mt, 1, "altcha-checkbox", null, Pr, n3), se(We, "id", c3(cr)), We.required = r4() !== "onsubmit" && (!v2() || r4() !== "off");
163804
163920
  },
@@ -165296,8 +165412,12 @@ function createInitialBookingFlowReducerState(input) {
165296
165412
  const initialData = input.initialData ?? {};
165297
165413
  return {
165298
165414
  currentStepId: "service-selection",
165299
- selectedServiceId: toOptionalString(initialData.serviceId) ?? input.defaultServiceId,
165300
- selectedResourceId: toOptionalString(initialData.resourceId) ?? input.defaultResourceId,
165415
+ selectedServiceId: toOptionalAppointmentServiceId(
165416
+ toOptionalString(initialData.serviceId) ?? input.defaultServiceId
165417
+ ),
165418
+ selectedResourceId: toOptionalAppointmentResourceId(
165419
+ toOptionalString(initialData.resourceId) ?? input.defaultResourceId
165420
+ ),
165301
165421
  selectedDate: toOptionalString(initialData.selectedDate),
165302
165422
  selectedSlot: null,
165303
165423
  fieldValues: collectInitialFieldValues(initialData),
@@ -165306,8 +165426,8 @@ function createInitialBookingFlowReducerState(input) {
165306
165426
  selectedCollectionOptionKind: toSelectedCollectionOptionKind(
165307
165427
  initialData.selectedCollectionOptionKind
165308
165428
  ),
165309
- selectedAppointmentPackageId: toOptionalString(
165310
- initialData.selectedAppointmentPackageId
165429
+ selectedAppointmentPackageId: toOptionalCustomerPassId(
165430
+ toOptionalString(initialData.selectedAppointmentPackageId)
165311
165431
  ),
165312
165432
  altchaSolution: null,
165313
165433
  validationErrors: createEmptyBookingValidationErrors(),
@@ -165330,6 +165450,19 @@ function toOptionalString(value) {
165330
165450
  const trimmed = value.trim();
165331
165451
  return trimmed.length > 0 ? trimmed : void 0;
165332
165452
  }
165453
+ function toOptionalBrandedId(value, brand) {
165454
+ const trimmed = toOptionalString(value);
165455
+ return trimmed ? brand(trimmed) : void 0;
165456
+ }
165457
+ function toOptionalAppointmentServiceId(value) {
165458
+ return toOptionalBrandedId(value, asAppointmentServiceId);
165459
+ }
165460
+ function toOptionalAppointmentResourceId(value) {
165461
+ return toOptionalBrandedId(value, asAppointmentResourceId);
165462
+ }
165463
+ function toOptionalCustomerPassId(value) {
165464
+ return toOptionalBrandedId(value, asCustomerPassId);
165465
+ }
165333
165466
  function isBookingFieldValue(value) {
165334
165467
  return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || Array.isArray(value) && value.every((item) => typeof item === "string");
165335
165468
  }
@@ -165475,7 +165608,9 @@ function toBookingSlotView(slot) {
165475
165608
  key: `${slot.startAt}|${slot.endAt}|${slot.resourceId}`,
165476
165609
  startAt: slot.startAt,
165477
165610
  endAt: slot.endAt,
165478
- resourceId: String(slot.resourceId)
165611
+ resourceId: asAppointmentResourceId(slot.resourceId),
165612
+ ...slot.resourceName ? { resourceName: slot.resourceName } : {},
165613
+ ...slot.label ? { label: slot.label } : {}
165479
165614
  };
165480
165615
  }
165481
165616
  function toBookingSlotViews(slots) {
@@ -165716,7 +165851,8 @@ function buildBookingAvailabilityQuery(input) {
165716
165851
  }
165717
165852
  function deriveBookingFieldViews(input) {
165718
165853
  return (input.form?.schema?.fields ?? []).map((field) => {
165719
- const inputId = `${input.idPrefix}-${field.id}`;
165854
+ const fieldId = asBookingFieldId(field.id);
165855
+ const inputId = `${input.idPrefix}-${fieldId}`;
165720
165856
  const helpTextId = field.helpText ? `${inputId}-help` : null;
165721
165857
  const fieldValue = input.values[field.id] ?? null;
165722
165858
  const localError = input.touched?.[field.id] ? validateBookingField(field, fieldValue) : null;
@@ -165725,7 +165861,7 @@ function deriveBookingFieldViews(input) {
165725
165861
  const describedBy = [helpTextId, errorId].filter(Boolean).join(" ") || void 0;
165726
165862
  return {
165727
165863
  field,
165728
- id: field.id,
165864
+ id: fieldId,
165729
165865
  label: field.label,
165730
165866
  type: field.type,
165731
165867
  value: fieldValue,
@@ -165852,20 +165988,30 @@ function resolveAppointmentPackagesModel(input) {
165852
165988
  items: [],
165853
165989
  selected: null
165854
165990
  };
165855
- case "loaded":
165991
+ case "loaded": {
165992
+ const items = input.items.map(toHeadlessEligibleAppointmentPackage);
165993
+ const selected = input.selected ? toHeadlessEligibleAppointmentPackage(input.selected) : null;
165856
165994
  return {
165857
165995
  kind: "ready",
165858
165996
  enabled: true,
165859
165997
  canLoad: true,
165860
165998
  unavailableReason: null,
165861
- state: input.state,
165862
- items: input.items,
165863
- selected: input.selected
165999
+ state: { tag: "loaded", value: items },
166000
+ items,
166001
+ selected
165864
166002
  };
166003
+ }
165865
166004
  default:
165866
166005
  return assertNever8(input.state);
165867
166006
  }
165868
166007
  }
166008
+ function toHeadlessEligibleAppointmentPackage(appointmentPackage) {
166009
+ return {
166010
+ ...appointmentPackage,
166011
+ customerPassId: asCustomerPassId(appointmentPackage.customerPassId),
166012
+ passId: asPassId(appointmentPackage.passId)
166013
+ };
166014
+ }
165869
166015
  function resolveHeadlessBookingStatus(input) {
165870
166016
  if (input.isSubmitting) return { tag: "submitting" };
165871
166017
  if (input.feedback.kind === "success") {
@@ -165919,10 +166065,13 @@ function omitRecordKey2(record, key) {
165919
166065
  const { [key]: _removed, ...rest } = record;
165920
166066
  return rest;
165921
166067
  }
166068
+ var asBookingFieldId;
165922
166069
  var init_booking_form_headless_state = __esm({
165923
166070
  "../blocks/src/system/runtime/nodes/booking-form.headless.state.ts"() {
166071
+ init_src3();
165924
166072
  init_dist89();
165925
166073
  init_booking_form_state();
166074
+ asBookingFieldId = (id) => id;
165926
166075
  }
165927
166076
  });
165928
166077
 
@@ -165934,8 +166083,13 @@ var init_useHeadlessBookingFlow_state = __esm({
165934
166083
  });
165935
166084
  function useHeadlessBookingFlow(options) {
165936
166085
  const viewerTimeZone = options.viewerTimeZone ?? getRuntimeTimeZone();
165937
- const defaultServiceId = options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0;
165938
- const defaultResourceId = options.initialResourceId;
166086
+ const formKey = asFormId(options.formId);
166087
+ const defaultServiceId = toOptionalAppointmentServiceId(
166088
+ options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0
166089
+ );
166090
+ const defaultResourceId = toOptionalAppointmentResourceId(
166091
+ options.initialResourceId
166092
+ );
165939
166093
  const initialState = useMemo(
165940
166094
  () => createInitialBookingFlowReducerState({
165941
166095
  defaultServiceId,
@@ -166093,7 +166247,7 @@ function useHeadlessBookingFlow(options) {
166093
166247
  setResourcesState({
166094
166248
  tag: "loaded",
166095
166249
  value: (result.options ?? []).map((option) => ({
166096
- id: option.id,
166250
+ id: asAppointmentResourceId(option.id),
166097
166251
  label: option.label
166098
166252
  }))
166099
166253
  });
@@ -166196,7 +166350,7 @@ function useHeadlessBookingFlow(options) {
166196
166350
  state,
166197
166351
  data,
166198
166352
  form: options.form,
166199
- formId: options.formId,
166353
+ formId: formKey,
166200
166354
  services: options.services,
166201
166355
  defaultServiceId,
166202
166356
  defaultResourceId,
@@ -166307,14 +166461,30 @@ function useHeadlessBookingFlow(options) {
166307
166461
  );
166308
166462
  const actions = useMemo(
166309
166463
  () => ({
166310
- selectService: (serviceId) => dispatch({ type: "service-selected", serviceId }),
166311
- selectResource: (resourceId) => dispatch({ type: "resource-selected", resourceId }),
166464
+ selectService: (serviceId) => dispatch({
166465
+ type: "service-selected",
166466
+ serviceId: asAppointmentServiceId(serviceId)
166467
+ }),
166468
+ selectResource: (resourceId) => dispatch({
166469
+ type: "resource-selected",
166470
+ resourceId: resourceId ? asAppointmentResourceId(resourceId) : null
166471
+ }),
166312
166472
  selectDate: (date) => dispatch({ type: "date-selected", date }),
166313
- selectSlot: (slot) => dispatch({ type: "slot-selected", slot }),
166314
- updateField: (fieldId, value) => dispatch({ type: "field-updated", fieldId, value }),
166315
- markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId }),
166473
+ selectSlot: (slot) => dispatch({
166474
+ type: "slot-selected",
166475
+ slot: slot ? toBookingSlotView(slot) : null
166476
+ }),
166477
+ updateField: (fieldId, value) => dispatch({
166478
+ type: "field-updated",
166479
+ fieldId: asBookingFieldId(fieldId),
166480
+ value
166481
+ }),
166482
+ markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId: asBookingFieldId(fieldId) }),
166316
166483
  selectPaymentOption: (kind) => dispatch({ type: "payment-option-selected", kind }),
166317
- selectAppointmentPackage: (packageId) => dispatch({ type: "appointment-package-selected", packageId }),
166484
+ selectAppointmentPackage: (packageId) => dispatch({
166485
+ type: "appointment-package-selected",
166486
+ packageId: packageId ? asCustomerPassId(packageId) : null
166487
+ }),
166318
166488
  setDiscountCode: (code) => {
166319
166489
  dispatch({ type: "discount-code-changed", code });
166320
166490
  latestRef.current.setDiscountCode(code);
@@ -166503,6 +166673,7 @@ var init_useHeadlessBookingFlow = __esm({
166503
166673
  "use client";
166504
166674
  init_client2();
166505
166675
  init_src9();
166676
+ init_src3();
166506
166677
  init_api();
166507
166678
  init_booking_form_state();
166508
166679
  init_useAvailableDates();
@@ -185633,9 +185804,7 @@ function unsafeRetypeZodSchema(schema) {
185633
185804
  var navIdListSchema, dashboardNavVisibilityBaseSchema, dashboardNavVisibilityRolesSchema, dashboardNavVisibilitySchema, dashboardNavigationConfigSchema, dashboardConfigSchema, fieldDefinitionInputSchema, sdkLoaderEndpointSchema, loaderParamBindingSchema, loaderParamValueSchema, sdkConfigLoaderSchema, sdkDataLoadersSchema, sdkCustomBlockIdSchema, sdkCustomBlockInputSchema, sdkBlockFieldExtensionInputSchema, sdkBlockFieldExtensionsInputSchema, sdkThemePaletteSchema, sdkThemeConfigSchema, sdkSectionBackgroundSchema, sdkSectionOptionsConfigSchema, sdkContainerOptionsConfigSchema, sdkSiteStyleConfigSchema, sdkSiteLayoutConfigSchema, sdkFieldSelectOptionSchema, sdkBlockFieldConfigSchema, sdkBlockFieldOptionsMapSchema, sdkContentTypeTemplateConfigSchema, sdkContentTypeConfigSchema, sdkContentConfigSchema, SDK_WORKFLOW_ID_MAX_LENGTH, SDK_WORKFLOW_TITLE_MAX_LENGTH, SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH, SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_MAX_COUNT, SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT, SDK_WORKFLOW_MAX_COUNT, SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH, SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_ENDPOINT_PATTERN, sdkWorkflowIdSchema, sdkWorkflowEndpointSchema, sdkWorkflowManualTriggerSchema, sdkWorkflowTriggerFieldSchema, sdkWorkflowFieldChangedConditionSchema, sdkWorkflowFieldEmptyConditionSchema, sdkWorkflowEntryDraftUpdatedTriggerSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowConfigSchema, sdkWorkflowsSchema, riverbankSiteConfigInputSchema;
185634
185805
  var init_contracts2 = __esm({
185635
185806
  "../api/src/sdkConfig/contracts.ts"() {
185636
- init_schema3();
185637
- init_schema2();
185638
- init_loaderEndpoints();
185807
+ init_src7();
185639
185808
  navIdListSchema = z.preprocess((value) => {
185640
185809
  if (!Array.isArray(value)) return void 0;
185641
185810
  const filtered = value.filter((v2) => typeof v2 === "string" && v2.trim().length > 0);
@@ -186397,11 +186566,12 @@ var init_bookingVerticals = __esm({
186397
186566
  );
186398
186567
  }
186399
186568
  });
186400
- var appointmentSetupRefSchema, appointmentSetupVenueChoiceSchema, appointmentSetupPaymentDraftSchema, appointmentSetupServiceAssignmentDraftSchema, appointmentSetupServiceDraftSchema, appointmentSetupPractitionerDraftSchema, appointmentSetupWeeklyWindowDraftSchema, appointmentSetupAvailabilityDraftSchema, APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX, APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX, appointmentSetupBookingNoticeSchema;
186569
+ var APPOINTMENT_SETUP_MAX_MINUTES, appointmentSetupRefSchema, appointmentSetupVenueChoiceSchema, appointmentSetupPaymentDraftSchema, appointmentSetupServiceAssignmentDraftSchema, appointmentSetupServiceDraftSchema, appointmentSetupPractitionerDraftSchema, appointmentSetupWeeklyWindowDraftSchema, appointmentSetupStartTimePolicyDraftSchema, appointmentSetupAvailabilityDraftSchema, APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX, APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX, appointmentSetupBookingNoticeSchema;
186401
186570
  var init_appointmentSetup = __esm({
186402
186571
  "../api/src/appointmentSetup.ts"() {
186403
186572
  init_envelope();
186404
186573
  init_error_propagation();
186574
+ APPOINTMENT_SETUP_MAX_MINUTES = 1440;
186405
186575
  appointmentSetupRefSchema = z.discriminatedUnion("kind", [
186406
186576
  z.object({ kind: z.literal("existing"), id: z.string().min(1) }),
186407
186577
  z.object({ kind: z.literal("new"), draftId: z.string().min(1) })
@@ -186433,7 +186603,9 @@ var init_appointmentSetup = __esm({
186433
186603
  ref: appointmentSetupRefSchema,
186434
186604
  title: z.string().trim().min(1),
186435
186605
  description: z.string().nullable(),
186436
- durationMinutes: z.number().int().positive(),
186606
+ durationMinutes: z.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
186607
+ prepMinutes: z.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
186608
+ cleanupMinutes: z.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
186437
186609
  priceAmount: z.number().int().nonnegative().nullable(),
186438
186610
  isActive: z.boolean(),
186439
186611
  locationType: z.union([
@@ -186473,11 +186645,26 @@ var init_appointmentSetup = __esm({
186473
186645
  startTime: z.string(),
186474
186646
  endTime: z.string()
186475
186647
  });
186648
+ appointmentSetupStartTimePolicyDraftSchema = z.discriminatedUnion("kind", [
186649
+ z.object({ kind: z.literal("automatic_spacing") }),
186650
+ z.object({
186651
+ kind: z.literal("regular_interval"),
186652
+ intervalMinutes: z.union([
186653
+ z.literal(10),
186654
+ z.literal(15),
186655
+ z.literal(20),
186656
+ z.literal(30),
186657
+ z.literal(45),
186658
+ z.literal(60)
186659
+ ])
186660
+ })
186661
+ ]);
186476
186662
  appointmentSetupAvailabilityDraftSchema = z.object({
186477
186663
  kind: z.literal("weekly_windows"),
186478
186664
  resourceRef: appointmentSetupRefSchema,
186479
186665
  serviceRef: appointmentSetupRefSchema.nullable(),
186480
- windows: z.array(appointmentSetupWeeklyWindowDraftSchema)
186666
+ windows: z.array(appointmentSetupWeeklyWindowDraftSchema),
186667
+ startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
186481
186668
  });
186482
186669
  APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
186483
186670
  APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
@@ -207404,7 +207591,7 @@ function appendPaletteOverrideScopeNotice(notices, input) {
207404
207591
  return [...notices, { kind }];
207405
207592
  }
207406
207593
  function selectionSnapshotsEqual(a2, b3) {
207407
- return a2.siteStyleId === b3.siteStyleId && a2.selectionUpdatedAt === b3.selectionUpdatedAt && a2.headerLookId === b3.headerLookId && a2.footerLookId === b3.footerLookId && a2.buttonPersonalityId === b3.buttonPersonalityId && a2.paletteVariantId === b3.paletteVariantId && paletteOverridesEqual(a2.paletteOverrides, b3.paletteOverrides);
207594
+ return a2.siteStyleId === b3.siteStyleId && a2.selectionVersion === b3.selectionVersion && a2.selectionUpdatedAt === b3.selectionUpdatedAt && a2.headerLookId === b3.headerLookId && a2.footerLookId === b3.footerLookId && a2.buttonPersonalityId === b3.buttonPersonalityId && a2.paletteVariantId === b3.paletteVariantId && paletteOverridesEqual(a2.paletteOverrides, b3.paletteOverrides);
207408
207595
  }
207409
207596
  function paletteOverridesEqual(a2, b3) {
207410
207597
  if (a2 === b3) return true;
@@ -207573,6 +207760,24 @@ var init_siteChromeLookRows = __esm({
207573
207760
  }
207574
207761
  });
207575
207762
 
207763
+ // ../preview-next/src/client/preview/styleConfiguratorApplyPayload.ts
207764
+ function buildApplySiteStyleSelectionBody(input) {
207765
+ return {
207766
+ siteStyleId: input.previewed.siteStyleId,
207767
+ buttonPersonalityId: input.previewed.buttonPersonalityId,
207768
+ paletteVariantId: input.previewed.paletteVariantId,
207769
+ paletteOverrides: input.previewed.paletteOverrides,
207770
+ headerLookId: input.previewed.headerLookId,
207771
+ footerLookId: input.previewed.footerLookId,
207772
+ baseSelectionVersion: input.base.selectionVersion,
207773
+ selectionId: input.selectionId ?? null
207774
+ };
207775
+ }
207776
+ var init_styleConfiguratorApplyPayload = __esm({
207777
+ "../preview-next/src/client/preview/styleConfiguratorApplyPayload.ts"() {
207778
+ }
207779
+ });
207780
+
207576
207781
  // ../preview-next/src/client/preview/styleConfiguratorSnapshot.ts
207577
207782
  function resolveStyleConfiguratorInitialSnapshot(input) {
207578
207783
  const themeSiteStyleId = siteStyleIdFromTheme(input.theme);
@@ -207592,6 +207797,7 @@ function resolveStyleConfiguratorInitialSnapshot(input) {
207592
207797
  const paletteChanged = input.initialSelections.paletteVariantId !== null && compiled.resolvedSelections.paletteVariantId !== input.initialSelections.paletteVariantId;
207593
207798
  return {
207594
207799
  siteStyleId: siteStyle.id,
207800
+ selectionVersion: input.initialSelections.selectionVersion ?? 0,
207595
207801
  selectionUpdatedAt: input.initialSelections.selectionUpdatedAt ?? null,
207596
207802
  headerLookId: compiled.requestedSelections.headerLookId,
207597
207803
  footerLookId: compiled.requestedSelections.footerLookId,
@@ -207609,8 +207815,8 @@ function StyleConfigurator({
207609
207815
  siteId,
207610
207816
  apiClient,
207611
207817
  theme,
207612
- themeId,
207613
207818
  selectionId,
207819
+ selectionVersion = null,
207614
207820
  selectionUpdatedAt,
207615
207821
  initialSelections,
207616
207822
  headerSelectionContext,
@@ -207626,12 +207832,13 @@ function StyleConfigurator({
207626
207832
  theme,
207627
207833
  initialSelections: {
207628
207834
  ...initialSelections,
207835
+ selectionVersion: initialSelections.selectionVersion ?? selectionVersion ?? 0,
207629
207836
  selectionUpdatedAt: initialSelections.selectionUpdatedAt ?? selectionUpdatedAt ?? null
207630
207837
  },
207631
207838
  headerSelectionContext,
207632
207839
  footerSelectionContext
207633
207840
  }),
207634
- [footerSelectionContext, headerSelectionContext, theme, initialSelections, selectionUpdatedAt]
207841
+ [footerSelectionContext, headerSelectionContext, theme, initialSelections, selectionUpdatedAt, selectionVersion]
207635
207842
  );
207636
207843
  const [state, setState2] = useState(
207637
207844
  () => baseSnapshot ? createStyleConfiguratorState(baseSnapshot) : null
@@ -207771,23 +207978,22 @@ function StyleConfigurator({
207771
207978
  headerSelectionContext,
207772
207979
  footerSelectionContext
207773
207980
  });
207774
- const body = {
207775
- theme: compiled.theme,
207776
- themeId: themeId ?? null,
207777
- selectionId: selectionId ?? null,
207778
- buttonPersonalityId: compiled.resolvedSelections.buttonPersonalityId,
207779
- paletteVariantId: compiled.resolvedSelections.paletteVariantId,
207780
- paletteOverrides: previewed.paletteOverrides,
207781
- headerLookId: previewed.headerLookId,
207782
- footerLookId: previewed.footerLookId
207783
- };
207981
+ const body = buildApplySiteStyleSelectionBody({
207982
+ base: live.base,
207983
+ previewed: {
207984
+ ...previewed,
207985
+ buttonPersonalityId: compiled.resolvedSelections.buttonPersonalityId,
207986
+ paletteVariantId: compiled.resolvedSelections.paletteVariantId
207987
+ },
207988
+ selectionId
207989
+ });
207784
207990
  await runnerRef.current.run({
207785
207991
  optimistic: () => {
207786
207992
  setState2((current) => current ? markApplySaving(current) : current);
207787
207993
  },
207788
207994
  network: async () => {
207789
207995
  const response = await apiClient({
207790
- endpoint: "saveSiteTheme",
207996
+ endpoint: "applySiteStyleSelection",
207791
207997
  params: { siteId },
207792
207998
  body
207793
207999
  });
@@ -207797,12 +208003,13 @@ function StyleConfigurator({
207797
208003
  setState2(
207798
208004
  (current) => current ? markApplySaved(current, {
207799
208005
  siteStyleId: previewed.siteStyleId,
208006
+ selectionVersion: saved.selectionVersion,
207800
208007
  selectionUpdatedAt: saved.selectionUpdatedAt ?? previewed.selectionUpdatedAt ?? null,
207801
- buttonPersonalityId: saved.buttonPersonalityId ?? compiled.resolvedSelections.buttonPersonalityId,
207802
- paletteVariantId: saved.paletteVariantId ?? compiled.resolvedSelections.paletteVariantId,
208008
+ buttonPersonalityId: saved.buttonPersonalityId,
208009
+ paletteVariantId: saved.paletteVariantId,
207803
208010
  paletteOverrides: saved.paletteOverrides ?? null,
207804
- headerLookId: saved.headerLookId ?? previewed.headerLookId,
207805
- footerLookId: saved.footerLookId ?? previewed.footerLookId
208011
+ headerLookId: saved.headerLookId,
208012
+ footerLookId: saved.footerLookId
207806
208013
  }) : current
207807
208014
  );
207808
208015
  startRefreshTransition(() => {
@@ -207810,7 +208017,13 @@ function StyleConfigurator({
207810
208017
  });
207811
208018
  },
207812
208019
  onError: (error) => {
207813
- const message2 = error instanceof Error ? error.message : "Unable to apply your selection.";
208020
+ const applyError = classifyStyleApplyError(error);
208021
+ if (applyError.kind === "stale") {
208022
+ startRefreshTransition(() => {
208023
+ router.refresh();
208024
+ });
208025
+ }
208026
+ const message2 = applyError.message;
207814
208027
  setState2((current) => current ? markApplyFailed(current, message2) : current);
207815
208028
  }
207816
208029
  });
@@ -207821,8 +208034,7 @@ function StyleConfigurator({
207821
208034
  router,
207822
208035
  selectionId,
207823
208036
  siteId,
207824
- startRefreshTransition,
207825
- themeId
208037
+ startRefreshTransition
207826
208038
  ]);
207827
208039
  if (!state || !baseSnapshot) {
207828
208040
  return /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Loading design controls..." });
@@ -208174,6 +208386,25 @@ function PickerOption({ selected, label, description, swatch, onSelect, disabled
208174
208386
  }
208175
208387
  ) });
208176
208388
  }
208389
+ function classifyStyleApplyError(error) {
208390
+ if (isRecord16(error)) {
208391
+ const status = error.status;
208392
+ const code = error.code;
208393
+ if (status === 409 || code === "resource:conflict") {
208394
+ return {
208395
+ kind: "stale",
208396
+ message: "This design changed elsewhere. Refreshing the latest version now."
208397
+ };
208398
+ }
208399
+ }
208400
+ return {
208401
+ kind: "other",
208402
+ message: error instanceof Error ? error.message : "Unable to apply your selection."
208403
+ };
208404
+ }
208405
+ function isRecord16(value) {
208406
+ return typeof value === "object" && value !== null;
208407
+ }
208177
208408
  function WarningNotice({ warnings, onDismiss }) {
208178
208409
  return /* @__PURE__ */ jsxs("div", { role: "status", className: "rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning-foreground", children: [
208179
208410
  /* @__PURE__ */ jsx("ul", { className: "space-y-1", children: warnings.map((warning, index2) => /* @__PURE__ */ jsx("li", { children: describeWarning(warning) }, `${warning.kind}-${index2}`)) }),
@@ -208222,6 +208453,7 @@ var init_StyleConfigurator = __esm({
208222
208453
  init_siteStyleAccess();
208223
208454
  init_themeOverlay();
208224
208455
  init_siteChromeLookRows();
208456
+ init_styleConfiguratorApplyPayload();
208225
208457
  init_styleConfiguratorSnapshot();
208226
208458
  }
208227
208459
  });
@@ -208476,6 +208708,7 @@ function PreviewEditorSidebar({
208476
208708
  theme,
208477
208709
  themeId = null,
208478
208710
  themeSelectionId = null,
208711
+ themeSelectionVersion = null,
208479
208712
  themeSelectionUpdatedAt = null,
208480
208713
  themeSelectionButtonPersonalityId = null,
208481
208714
  themeSelectionPaletteVariantId = null,
@@ -208631,8 +208864,10 @@ function PreviewEditorSidebar({
208631
208864
  theme,
208632
208865
  themeId,
208633
208866
  selectionId: themeSelectionId,
208867
+ selectionVersion: themeSelectionVersion,
208634
208868
  selectionUpdatedAt: themeSelectionUpdatedAt,
208635
208869
  initialSelections: {
208870
+ selectionVersion: themeSelectionVersion,
208636
208871
  selectionUpdatedAt: themeSelectionUpdatedAt,
208637
208872
  buttonPersonalityId: themeSelectionButtonPersonalityId,
208638
208873
  paletteVariantId: themeSelectionPaletteVariantId,
@@ -210888,25 +211123,25 @@ var INITIAL_ONBOARDING_CONFIRMATION_STATE = {
210888
211123
  resendFeedback: null,
210889
211124
  statusLoadFailed: false
210890
211125
  };
210891
- function isRecord16(value) {
211126
+ function isRecord17(value) {
210892
211127
  return value !== null && typeof value === "object";
210893
211128
  }
210894
211129
  function getErrorMessageFromEnvelope(payload, fallback2) {
210895
- const error = isRecord16(payload) ? payload.error : null;
210896
- const message2 = isRecord16(error) ? error.message : null;
211130
+ const error = isRecord17(payload) ? payload.error : null;
211131
+ const message2 = isRecord17(error) ? error.message : null;
210897
211132
  return typeof message2 === "string" && message2.trim().length > 0 ? message2 : fallback2;
210898
211133
  }
210899
211134
  function isLaunchReadiness(value) {
210900
- return isRecord16(value) && Array.isArray(value.requirements) && typeof value.pendingRequiredCount === "number" && typeof value.pendingRecommendedCount === "number" && typeof value.pendingOptionalCount === "number" && isRecord16(value.goLiveDecision) && (value.goLiveDecision.kind === "allowed" || value.goLiveDecision.kind === "blocked");
211135
+ return isRecord17(value) && Array.isArray(value.requirements) && typeof value.pendingRequiredCount === "number" && typeof value.pendingRecommendedCount === "number" && typeof value.pendingOptionalCount === "number" && isRecord17(value.goLiveDecision) && (value.goLiveDecision.kind === "allowed" || value.goLiveDecision.kind === "blocked");
210901
211136
  }
210902
211137
  function isOnboardingPreviewStatusResponse(value) {
210903
- return isRecord16(value) && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
211138
+ return isRecord17(value) && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
210904
211139
  }
210905
211140
  function isResendOnboardingPreviewConfirmationResponse(value) {
210906
- return isRecord16(value) && (value.result === "resent" || value.result === "already_confirmed") && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
211141
+ return isRecord17(value) && (value.result === "resent" || value.result === "already_confirmed") && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
210907
211142
  }
210908
211143
  function getSuccessData(payload, isData) {
210909
- if (!isRecord16(payload) || payload.success !== true || !isData(payload.data)) {
211144
+ if (!isRecord17(payload) || payload.success !== true || !isData(payload.data)) {
210910
211145
  return null;
210911
211146
  }
210912
211147
  return payload.data;
@@ -211493,6 +211728,7 @@ function SiteChromeCustomizeProvider({
211493
211728
  theme,
211494
211729
  themeId = null,
211495
211730
  selectionId = null,
211731
+ selectionVersion = null,
211496
211732
  selectionUpdatedAt = null,
211497
211733
  initialSelections,
211498
211734
  headerSelectionContext,
@@ -211505,17 +211741,19 @@ function SiteChromeCustomizeProvider({
211505
211741
  const latestSelectionUpdatedAtRef = useRef(
211506
211742
  initialSelections.selectionUpdatedAt ?? selectionUpdatedAt ?? null
211507
211743
  );
211744
+ const initialSelectionVersion = initialSelections.selectionVersion ?? selectionVersion ?? 0;
211508
211745
  const baseSnapshot = useMemo(
211509
211746
  () => resolveStyleConfiguratorInitialSnapshot({
211510
211747
  theme,
211511
211748
  initialSelections: {
211512
211749
  ...initialSelections,
211750
+ selectionVersion: initialSelectionVersion,
211513
211751
  selectionUpdatedAt: initialSelections.selectionUpdatedAt ?? selectionUpdatedAt ?? null
211514
211752
  },
211515
211753
  headerSelectionContext,
211516
211754
  footerSelectionContext
211517
211755
  }),
211518
- [footerSelectionContext, headerSelectionContext, initialSelections, selectionUpdatedAt, theme]
211756
+ [footerSelectionContext, headerSelectionContext, initialSelectionVersion, initialSelections, selectionUpdatedAt, theme]
211519
211757
  );
211520
211758
  const [state, setState2] = useState(
211521
211759
  () => baseSnapshot ? createStyleConfiguratorState(baseSnapshot) : null
@@ -211637,6 +211875,7 @@ function SiteChromeCustomizeProvider({
211637
211875
  latestSelectionUpdatedAtRef.current = saved.selectionUpdatedAt ?? latestSelectionUpdatedAtRef.current;
211638
211876
  const persisted = {
211639
211877
  siteStyleId: nextSnapshot.siteStyleId,
211878
+ selectionVersion: nextSnapshot.selectionVersion,
211640
211879
  selectionUpdatedAt: saved.selectionUpdatedAt ?? nextSnapshot.selectionUpdatedAt ?? null,
211641
211880
  buttonPersonalityId: compiled.resolvedSelections.buttonPersonalityId,
211642
211881
  paletteVariantId: compiled.resolvedSelections.paletteVariantId,
@@ -211729,6 +211968,7 @@ function PreviewShellLayout({
211729
211968
  bearerToken,
211730
211969
  themeId = null,
211731
211970
  themeSelectionId = null,
211971
+ themeSelectionVersion = null,
211732
211972
  themeSelectionUpdatedAt = null,
211733
211973
  themeSelectionButtonPersonalityId = null,
211734
211974
  themeSelectionPaletteVariantId = null,
@@ -212026,6 +212266,7 @@ function PreviewShellLayout({
212026
212266
  bearerToken,
212027
212267
  themeId,
212028
212268
  themeSelectionId,
212269
+ themeSelectionVersion,
212029
212270
  themeSelectionUpdatedAt,
212030
212271
  themeSelectionButtonPersonalityId,
212031
212272
  themeSelectionPaletteVariantId,
@@ -212084,8 +212325,10 @@ function PreviewShellLayout({
212084
212325
  theme,
212085
212326
  themeId,
212086
212327
  selectionId: themeSelectionId,
212328
+ selectionVersion: themeSelectionVersion,
212087
212329
  selectionUpdatedAt: themeSelectionUpdatedAt,
212088
212330
  initialSelections: {
212331
+ selectionVersion: themeSelectionVersion,
212089
212332
  selectionUpdatedAt: themeSelectionUpdatedAt,
212090
212333
  buttonPersonalityId: themeSelectionButtonPersonalityId,
212091
212334
  paletteVariantId: themeSelectionPaletteVariantId,
@@ -212112,8 +212355,10 @@ function PreviewShellLayout({
212112
212355
  theme,
212113
212356
  themeId,
212114
212357
  selectionId: themeSelectionId,
212358
+ selectionVersion: themeSelectionVersion,
212115
212359
  selectionUpdatedAt: themeSelectionUpdatedAt,
212116
212360
  initialSelections: {
212361
+ selectionVersion: themeSelectionVersion,
212117
212362
  selectionUpdatedAt: themeSelectionUpdatedAt,
212118
212363
  buttonPersonalityId: themeSelectionButtonPersonalityId,
212119
212364
  paletteVariantId: themeSelectionPaletteVariantId,
@@ -212180,6 +212425,7 @@ function PreviewShell({
212180
212425
  theme,
212181
212426
  themeId = null,
212182
212427
  themeSelectionId = null,
212428
+ themeSelectionVersion = null,
212183
212429
  themeSelectionUpdatedAt = null,
212184
212430
  themeSelectionButtonPersonalityId = null,
212185
212431
  themeSelectionPaletteVariantId = null,
@@ -212263,6 +212509,7 @@ function PreviewShell({
212263
212509
  bearerToken: previewToken,
212264
212510
  themeId,
212265
212511
  themeSelectionId,
212512
+ themeSelectionVersion,
212266
212513
  themeSelectionUpdatedAt,
212267
212514
  themeSelectionButtonPersonalityId,
212268
212515
  themeSelectionPaletteVariantId,
@@ -212315,11 +212562,11 @@ init_src3();
212315
212562
  // ../preview-next/src/client/utils/path.ts
212316
212563
  var PATH_SEPARATOR_REGEX3 = /\./g;
212317
212564
  var BRACKET_ACCESS_REGEX3 = /\[([^\]]+)\]/g;
212318
- function isRecord17(value) {
212565
+ function isRecord18(value) {
212319
212566
  return typeof value === "object" && value !== null && !Array.isArray(value);
212320
212567
  }
212321
212568
  function isPathContainer2(value) {
212322
- return Array.isArray(value) || isRecord17(value);
212569
+ return Array.isArray(value) || isRecord18(value);
212323
212570
  }
212324
212571
  function createPathContainer2(nextIsIndex) {
212325
212572
  return nextIsIndex ? [] : {};
@@ -212519,14 +212766,14 @@ function applyRuntimeContentDecorationProjection(block, content, projection) {
212519
212766
  const blockId = designBlockIdFromBlockItem(block);
212520
212767
  const fields3 = blockId ? projection.fieldsByBlockId.get(blockId) : void 0;
212521
212768
  return applyCompiledRuntimeFieldsToContent(
212522
- isRecord18(content) ? content : {},
212769
+ isRecord19(content) ? content : {},
212523
212770
  fields3
212524
212771
  );
212525
212772
  }
212526
212773
  function designBlockIdFromBlockItem(block) {
212527
212774
  return typeof block.id === "string" && block.id.length > 0 ? asDesignBlockId(block.id) : null;
212528
212775
  }
212529
- function isRecord18(value) {
212776
+ function isRecord19(value) {
212530
212777
  return typeof value === "object" && value !== null && !Array.isArray(value);
212531
212778
  }
212532
212779
 
@@ -212732,7 +212979,7 @@ init_lucide_react();
212732
212979
  var previewCustomizePillButtonClassName = "rounded-full bg-black/80 px-2.5 py-1 text-xs text-white shadow hover:bg-black";
212733
212980
 
212734
212981
  // ../preview-next/src/client/blocks/isRecord.ts
212735
- function isRecord19(value) {
212982
+ function isRecord20(value) {
212736
212983
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
212737
212984
  }
212738
212985
 
@@ -213220,7 +213467,7 @@ function findFirstFieldPath(fields3, data, prefix) {
213220
213467
  }
213221
213468
  const nextPrefix = [...prefix, field.id];
213222
213469
  if (field.type === "group") {
213223
- const groupValue = isRecord19(data) ? data[field.id] : void 0;
213470
+ const groupValue = isRecord20(data) ? data[field.id] : void 0;
213224
213471
  const nested = findFirstFieldPath(
213225
213472
  field.schema.fields,
213226
213473
  groupValue,
@@ -213230,7 +213477,7 @@ function findFirstFieldPath(fields3, data, prefix) {
213230
213477
  continue;
213231
213478
  }
213232
213479
  if (field.type === "repeater" && field.schema) {
213233
- const collection = isRecord19(data) ? data[field.id] : void 0;
213480
+ const collection = isRecord20(data) ? data[field.id] : void 0;
213234
213481
  const items = Array.isArray(collection) ? collection : [];
213235
213482
  if (items.length > 0) {
213236
213483
  const firstItem = items[0];