@riverbankcms/sdk 0.81.0 → 0.82.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 (449) hide show
  1. package/README.md +65 -3
  2. package/dist/{PreviewEditorSidebar-O4NDX5TP.css → PreviewEditorSidebar-JA4VIPSZ.css} +1 -1
  3. package/dist/{PreviewEditorSidebar-RDCMEXIJ.mjs → PreviewEditorSidebar-LHGK6RIO.mjs} +40 -499
  4. package/dist/{SdkPreviewModeRuntime-PBGALTMK.css → PreviewEditorUI-36T7QYV4.css} +1 -1
  5. package/dist/{PreviewEditorUI-NYGQ6K7B.mjs → PreviewEditorUI-AXZG2SDC.mjs} +4 -6
  6. package/dist/{PreviewEditorUI-4JVDBZBS.css → SdkPreviewModeRuntime-FXKI6XNL.css} +1 -1
  7. package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +8 -0
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +838 -262
  9. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  10. package/dist/_dts/api/src/analytics.d.ts +1 -1
  11. package/dist/_dts/api/src/bookingConfig.d.ts +4 -0
  12. package/dist/_dts/api/src/contentRuntime.d.ts +3 -3
  13. package/dist/_dts/api/src/courses.d.ts +1 -1
  14. package/dist/_dts/api/src/event-destination-policy.d.ts +17 -0
  15. package/dist/_dts/api/src/index.d.ts +4 -0
  16. package/dist/_dts/api/src/navigation/boundaries.d.ts +64 -0
  17. package/dist/_dts/api/src/navigation.d.ts +2 -0
  18. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +6 -54
  19. package/dist/_dts/api/src/siteGeneration.d.ts +1 -1
  20. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -6
  21. package/dist/_dts/api/src/types.d.ts +1 -1
  22. package/dist/_dts/block-form/src/context/BlockContext.d.ts +1 -1
  23. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +1 -1
  24. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +2 -2
  25. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  26. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +1 -1
  27. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  28. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +2 -1
  29. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  30. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +1 -1
  31. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  32. package/dist/_dts/block-form/src/widgets/Field.d.ts +2 -2
  33. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -3
  34. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +1 -1
  35. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +1 -1
  36. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +1 -1
  37. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +1 -1
  38. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +1 -1
  39. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +1 -1
  40. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +1 -1
  41. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +1 -1
  42. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/stringDefaultValue.d.ts +1 -0
  44. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -1
  45. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -16
  46. package/dist/_dts/blocks/src/index.d.ts +2 -2
  47. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  48. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +7 -7
  49. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -1
  50. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +2 -1
  51. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +3 -0
  52. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +2 -1
  53. package/dist/_dts/blocks/src/primitives/layout/Inline.d.ts +2 -1
  54. package/dist/_dts/blocks/src/primitives/layout/Stack.d.ts +2 -1
  55. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +592 -592
  56. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +592 -592
  57. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +592 -592
  58. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +592 -592
  59. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +592 -592
  60. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -1
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +302 -151
  62. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -20
  63. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +592 -592
  64. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +1 -1
  65. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +592 -592
  66. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  67. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -3
  68. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +54 -54
  69. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -2
  70. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +28 -0
  71. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +592 -602
  72. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +592 -604
  73. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +0 -4
  74. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +592 -592
  75. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  76. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  77. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -2
  78. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  79. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  80. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +38 -0
  81. package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -1
  82. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +71 -56
  83. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  84. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -24
  85. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -12
  86. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +2 -2
  87. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.shared.d.ts +2 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/cart.client.d.ts +2 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.client.d.ts +2 -1
  94. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +1 -5
  96. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +10 -13
  97. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +3 -2
  98. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -2
  99. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/BookingModeStep.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +2 -1
  101. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/MembershipHero.d.ts +1 -1
  103. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +1 -1
  104. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PortalAuthSidebar.d.ts +1 -1
  105. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/SuccessStep.d.ts +1 -1
  107. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/WaitlistStep.d.ts +1 -1
  109. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +5 -4
  110. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +3 -2
  111. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +2 -1
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +2 -2
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSummaryBar.d.ts +2 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +2 -1
  118. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  119. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +2 -1
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +2 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PastOccurrenceNotice.d.ts +2 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SelectableOptionCard.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +1 -1
  125. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -2
  127. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +2 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +12 -5
  129. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.view.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +2 -1
  132. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  133. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.client.d.ts +2 -1
  135. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.server.d.ts +2 -1
  136. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.client.d.ts +2 -2
  137. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +1 -1
  138. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +4 -4
  139. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +1 -1
  140. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +2 -1
  141. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  142. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.client.d.ts +2 -1
  143. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -1
  144. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.client.d.ts +2 -1
  145. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -1
  146. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +2 -1
  147. package/dist/_dts/blocks/src/system/runtime/nodes/shop-add-feedback.d.ts +1 -1
  148. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.d.ts +5 -4
  149. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.server.d.ts +5 -4
  150. package/dist/_dts/blocks/src/system/runtime/nodes/shop.client.d.ts +2 -1
  151. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +0 -17
  152. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -1
  153. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +0 -1
  154. package/dist/_dts/blocks/src/system/runtime/nodes/spinner.d.ts +1 -1
  155. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +6 -0
  156. package/dist/_dts/blocks/src/system/runtime/shared/components/ActionRow.d.ts +1 -1
  157. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckIcon.d.ts +1 -1
  158. package/dist/_dts/blocks/src/system/runtime/shared/components/ClockIcon.d.ts +1 -1
  159. package/dist/_dts/blocks/src/system/runtime/shared/components/CrossIcon.d.ts +1 -1
  160. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +1 -1
  161. package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +1 -1
  162. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  163. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  164. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +1 -1
  165. package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +1 -1
  166. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  167. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +1 -1
  168. package/dist/_dts/content-editor/src/components/EditableBlockProvider.d.ts +1 -1
  169. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  170. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +6 -1
  171. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +6 -1
  172. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +2 -0
  173. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -1
  174. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +3 -1
  175. package/dist/_dts/content-editor/src/primitives/shared/types.d.ts +5 -0
  176. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +7 -2
  177. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -40
  178. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -40
  179. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  180. package/dist/_dts/core/src/event-pricing.d.ts +72 -0
  181. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +27 -2
  182. package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
  183. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +1 -1
  184. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -1
  185. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +1 -1
  186. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +1 -1
  187. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +1 -1
  188. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +1 -1
  189. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +1 -1
  190. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +1 -1
  191. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +1 -1
  192. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +1 -1
  193. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -1
  194. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +1 -1
  195. package/dist/_dts/editor-blocks/src/block-editor/AddBlockDivider.d.ts +1 -1
  196. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  197. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  198. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  199. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +1 -1
  200. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  201. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  202. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +2 -2
  203. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +1 -1
  204. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  205. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  206. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +1 -1
  207. package/dist/_dts/editor-blocks/src/block-editor/HeaderActions.d.ts +1 -1
  208. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
  209. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  210. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  211. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  212. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  213. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  214. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  215. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeWidgetProvider.d.ts +1 -1
  216. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  217. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  218. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  219. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  220. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +1 -1
  221. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  222. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  223. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -1
  224. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +1 -1
  225. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +2 -0
  226. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewWidgetProvider.d.ts +10 -0
  227. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/index.d.ts +3 -0
  228. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/orderDomain.d.ts +29 -0
  229. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +1 -1
  230. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  231. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +1 -1
  232. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  233. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  234. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  235. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +1 -1
  236. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  237. package/dist/_dts/media-editor/src/CropDialogShell.d.ts +1 -1
  238. package/dist/_dts/media-editor/src/FileAssetPreview.d.ts +1 -1
  239. package/dist/_dts/media-editor/src/MediaEditor.d.ts +1 -1
  240. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +1 -1
  241. package/dist/_dts/media-editor/src/MediaPreview.d.ts +1 -1
  242. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  243. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  244. package/dist/_dts/media-editor/src/provider.d.ts +1 -1
  245. package/dist/_dts/media-react/src/components/AuthenticatedImage.d.ts +1 -1
  246. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +1 -1
  247. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +1 -1
  248. package/dist/_dts/preview-next/src/client/PreviewShellSmoke.d.ts +2 -1
  249. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -3
  250. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +2 -1
  251. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +2 -2
  252. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +2 -2
  253. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +1 -1
  254. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -2
  255. package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +1 -1
  256. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -1
  257. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +4 -3
  258. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -2
  259. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +2 -1
  260. package/dist/_dts/preview-next/src/client/preview/PreviewAuthInit.d.ts +1 -1
  261. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +2 -2
  262. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +3 -3
  263. package/dist/_dts/preview-next/src/client/preview/PreviewConfirmationDialog.d.ts +2 -1
  264. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +2 -2
  265. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +2 -2
  266. package/dist/_dts/preview-next/src/client/preview/PreviewEditorGuidanceCard.d.ts +2 -1
  267. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
  268. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  269. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -1
  270. package/dist/_dts/preview-next/src/client/preview/PreviewQueryProvider.d.ts +2 -2
  271. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +4 -3
  272. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
  273. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +2 -2
  274. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  275. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  276. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +2 -1
  277. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  278. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +14 -3
  279. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +2 -1
  280. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +2 -1
  281. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -1
  282. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +5 -0
  283. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +4 -4
  284. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +24 -5
  285. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  286. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +2 -2
  287. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +2 -1
  288. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +5 -3
  289. package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +4 -3
  290. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +1 -1
  291. package/dist/_dts/sdk/src/cli/content/reader.d.ts +6 -14
  292. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -1
  293. package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +31 -0
  294. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +2 -2
  295. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -1
  296. package/dist/_dts/sdk/src/cli/sync/validation.d.ts +7 -7
  297. package/dist/_dts/sdk/src/client/types.d.ts +36 -4
  298. package/dist/_dts/sdk/src/client.d.ts +1 -1
  299. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -14
  300. package/dist/_dts/sdk/src/config/content-validation.d.ts +9 -214
  301. package/dist/_dts/sdk/src/config/types.d.ts +9 -0
  302. package/dist/_dts/sdk/src/config/validation.d.ts +21 -21
  303. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -2
  304. package/dist/_dts/sdk/src/index.d.ts +1 -1
  305. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +6 -6
  306. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +4 -3
  307. package/dist/_dts/sdk/src/public-api/contracts.d.ts +29 -37
  308. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +1 -1
  309. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +1 -1
  310. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  311. package/dist/_dts/sdk/src/rendering/components/Page.d.ts +1 -1
  312. package/dist/_dts/sdk/src/rendering/components/Page.server.d.ts +1 -1
  313. package/dist/_dts/sdk/src/rendering/components/PageHydrationBootstrap.d.ts +1 -1
  314. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +10 -9
  315. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +9 -0
  316. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -57
  317. package/dist/_dts/sdk/src/rendering/primitives/RichText.d.ts +2 -1
  318. package/dist/_dts/sdk/src/server.d.ts +1 -1
  319. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +1 -1
  320. package/dist/_dts/sdk/src/version.d.ts +1 -1
  321. package/dist/_dts/site-commands/src/commands.d.ts +69 -21
  322. package/dist/_dts/theme-core/src/ClientThemeScope.d.ts +1 -1
  323. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +3 -2
  324. package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
  325. package/dist/_dts/theme-core/src/ThemeScopeCore.d.ts +1 -1
  326. package/dist/_dts/theme-core/src/accordions/types.d.ts +5 -5
  327. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
  328. package/dist/_dts/theme-core/src/buttons/types.d.ts +17 -17
  329. package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
  330. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  331. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  332. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  333. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +201 -192
  334. package/dist/_dts/theme-core/src/mock-themes/components/PaletteCard.d.ts +1 -1
  335. package/dist/_dts/theme-core/src/mock-themes/components/swatch.d.ts +1 -1
  336. package/dist/_dts/theme-core/src/navigation/presets.d.ts +1 -1
  337. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  338. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +6 -6
  339. package/dist/_dts/theme-core/src/schema.d.ts +233 -223
  340. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  341. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +27 -0
  342. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +14 -14
  343. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
  344. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  345. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  346. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  347. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +30 -0
  348. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  349. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  350. package/dist/_dts/theme-core/src/site-styles/types.d.ts +2 -0
  351. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  352. package/dist/_dts/ui/src/async-boundary.d.ts +1 -1
  353. package/dist/_dts/ui/src/badge.d.ts +1 -1
  354. package/dist/_dts/ui/src/button-group.d.ts +3 -3
  355. package/dist/_dts/ui/src/calendar.d.ts +2 -2
  356. package/dist/_dts/ui/src/card.d.ts +6 -6
  357. package/dist/_dts/ui/src/combobox.d.ts +1 -1
  358. package/dist/_dts/ui/src/command-multi-select.d.ts +1 -1
  359. package/dist/_dts/ui/src/content-spinner.d.ts +1 -1
  360. package/dist/_dts/ui/src/delayed-spinner.d.ts +1 -1
  361. package/dist/_dts/ui/src/dev-toolbar.d.ts +1 -1
  362. package/dist/_dts/ui/src/dialog.d.ts +10 -10
  363. package/dist/_dts/ui/src/dropdown-menu.d.ts +1 -1
  364. package/dist/_dts/ui/src/editor-drawer.d.ts +1 -1
  365. package/dist/_dts/ui/src/empty-state.d.ts +1 -1
  366. package/dist/_dts/ui/src/filter-button-group.d.ts +1 -1
  367. package/dist/_dts/ui/src/fixed-bottom-surface.d.ts +1 -1
  368. package/dist/_dts/ui/src/form.d.ts +7 -7
  369. package/dist/_dts/ui/src/label.d.ts +1 -1
  370. package/dist/_dts/ui/src/menubar.d.ts +16 -16
  371. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -2
  372. package/dist/_dts/ui/src/number-input.d.ts +1 -1
  373. package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +1 -1
  374. package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +1 -1
  375. package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +1 -1
  376. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +1 -1
  377. package/dist/_dts/ui/src/resizable-split-pane.d.ts +1 -1
  378. package/dist/_dts/ui/src/select.d.ts +10 -10
  379. package/dist/_dts/ui/src/separator.d.ts +1 -1
  380. package/dist/_dts/ui/src/sheet.d.ts +9 -9
  381. package/dist/_dts/ui/src/spinner.d.ts +1 -1
  382. package/dist/_dts/ui/src/tooltip.d.ts +4 -4
  383. package/dist/{chunk-4T5JIPWY.mjs → chunk-2BUMISSH.mjs} +1 -1
  384. package/dist/{chunk-3PTVPAT4.mjs → chunk-6FWNF3DJ.mjs} +237 -43
  385. package/dist/{chunk-E3NZYEKF.mjs → chunk-FIREV57T.mjs} +13 -2
  386. package/dist/{chunk-3QWQ2MUQ.mjs → chunk-G35HOQEN.mjs} +2997 -2255
  387. package/dist/{chunk-3VT7LZY2.mjs → chunk-HKB6XVIP.mjs} +2 -2
  388. package/dist/{chunk-WUHKQBB6.mjs → chunk-XQR6THQJ.mjs} +20801 -17561
  389. package/dist/cli/index.mjs +3274 -2518
  390. package/dist/cli/init-docs/content/workflow-custom-block.md +5 -0
  391. package/dist/client/{accordion-SFIIZWNH.mjs → accordion-G34C45TW.mjs} +2 -2
  392. package/dist/client/{bookingForm-CFKZVWGA.mjs → bookingForm-BLBVKSAQ.mjs} +12 -12
  393. package/dist/client/bookings.mjs +40 -41
  394. package/dist/client/{carousel-ELXWSBLA.mjs → carousel-7ZVTBRMD.mjs} +3 -3
  395. package/dist/client/{cart-6SSCPYY5.mjs → cart-Q6S6LZUO.mjs} +8 -7
  396. package/dist/client/{checkout-UFQ34HPV.mjs → checkout-5QJLDE4I.mjs} +8 -7
  397. package/dist/client/{chunk-G56BSZAM.mjs → chunk-5PQH4Y75.mjs} +3 -3
  398. package/dist/client/{chunk-PA2LJH2M.mjs → chunk-CHAB5ACD.mjs} +5 -4
  399. package/dist/client/{chunk-IUEDYLFJ.mjs → chunk-CSZGLBYR.mjs} +1 -1
  400. package/dist/client/{chunk-3PEDD5KJ.mjs → chunk-DVNUDUVT.mjs} +1 -1
  401. package/dist/client/{chunk-76JUETXQ.mjs → chunk-EQKYMX4N.mjs} +215 -121
  402. package/dist/client/{chunk-YLMKMCSJ.mjs → chunk-GFSQNTRW.mjs} +1 -3
  403. package/dist/client/chunk-L4J5Y62O.mjs +18 -0
  404. package/dist/client/{chunk-NX6X3GRF.mjs → chunk-RJHTCTCZ.mjs} +226 -188
  405. package/dist/client/{chunk-7BXX7WXH.mjs → chunk-S3MKFGOG.mjs} +59 -1
  406. package/dist/client/{chunk-RMWMT3ZD.mjs → chunk-SBBSMFFG.mjs} +1 -1
  407. package/dist/client/{chunk-TCJS3NY5.mjs → chunk-U2EW7RSR.mjs} +1 -1
  408. package/dist/client/{chunk-NP47RHIX.mjs → chunk-WJFHDTYF.mjs} +17 -34
  409. package/dist/client/{chunk-V6XI4M2Q.mjs → chunk-ZF4XEWDM.mjs} +1 -1
  410. package/dist/client/client.mjs +61332 -60062
  411. package/dist/client/{courseRegistration-HJIISAAG.mjs → courseRegistration-VUG2JJDB.mjs} +13 -12
  412. package/dist/client/{eventCalendar-F6YVUCZR.mjs → eventCalendar-E7D2LD4N.mjs} +14 -14
  413. package/dist/client/{eventCombined-B5DSTIOK.mjs → eventCombined-FUZ2Z3CS.mjs} +14 -14
  414. package/dist/client/{eventDetails-SEJDDHQC.mjs → eventDetails-QRITJAOW.mjs} +9 -9
  415. package/dist/client/{eventListing-TPMWIIBO.mjs → eventListing-INMQMJZ5.mjs} +14 -14
  416. package/dist/client/{eventRegistration-QU6W2PV6.mjs → eventRegistration-TOOJD4WU.mjs} +17 -15
  417. package/dist/client/{form-LVTYNTDE.mjs → form-BOWN7ZNQ.mjs} +3 -3
  418. package/dist/client/{headerSection-SO3MFC4U.mjs → headerSection-HFQNZOUU.mjs} +4 -4
  419. package/dist/client/hooks.mjs +26534 -26159
  420. package/dist/client/{locationMap-5E5FLAKO.mjs → locationMap-VUZGC7Y5.mjs} +2 -2
  421. package/dist/client/{newsletterForm-GN32JEBQ.mjs → newsletterForm-X2XQTPCB.mjs} +3 -3
  422. package/dist/client/{productDetail-Q346KSVR.mjs → productDetail-TA7D2G2B.mjs} +8 -7
  423. package/dist/client/{productList-DTDMQYGZ.mjs → productList-AZOLOZKM.mjs} +8 -7
  424. package/dist/client/rendering/client.mjs +1534 -1185
  425. package/dist/client/rendering/islands.mjs +19 -19
  426. package/dist/client/rendering.mjs +10674 -9455
  427. package/dist/client/{shop-OFUW7KPN.mjs → shop-ZDLO7IIG.mjs} +8 -7
  428. package/dist/client/spam-protection.mjs +3 -5
  429. package/dist/preview-next/client/runtime.css +1 -1
  430. package/dist/preview-next/client/runtime.mjs +5 -5
  431. package/dist/{sdk-runtime-2GIX6I7X.mjs → sdk-runtime-CTWKNBDQ.mjs} +6 -6
  432. package/dist/{sdk-runtime-EEMNSB7J.css → sdk-runtime-JD4A6SU6.css} +1 -1
  433. package/dist/server/components.mjs +7129 -6548
  434. package/dist/server/config-validation.mjs +26217 -25941
  435. package/dist/server/config.mjs +26217 -25941
  436. package/dist/server/data.mjs +26514 -26139
  437. package/dist/server/index.mjs +108 -56
  438. package/dist/server/next.mjs +30233 -29506
  439. package/dist/server/page-converter.mjs +2325 -846
  440. package/dist/server/prebuild.mjs +2 -1
  441. package/dist/server/rendering/server.mjs +8133 -7457
  442. package/dist/server/rendering.mjs +12160 -11484
  443. package/dist/server/routing.mjs +29684 -29263
  444. package/dist/server/server.mjs +26525 -26099
  445. package/dist/server/theme-bridge.mjs +142 -79
  446. package/dist/server/theme.mjs +129 -130
  447. package/dist/styles/index.css +132 -68
  448. package/package.json +16 -16
  449. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +0 -8
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import { LeafletStaticMap } from './chunk-XSV6KW4D.mjs';
3
- import { MagicLinkForm, useWaitlistClaim } from './chunk-V6XI4M2Q.mjs';
4
- import { usePolling } from './chunk-IUEDYLFJ.mjs';
5
- import { SpinnerNode } from './chunk-RMWMT3ZD.mjs';
3
+ import { MagicLinkForm, useWaitlistClaim } from './chunk-ZF4XEWDM.mjs';
4
+ import { usePolling } from './chunk-CSZGLBYR.mjs';
5
+ import { SpinnerNode } from './chunk-SBBSMFFG.mjs';
6
6
  import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
7
- import { TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-PA2LJH2M.mjs';
7
+ import { createBodyThemePortalRoot, TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-CHAB5ACD.mjs';
8
8
  import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
9
- import { ModalShell } from './chunk-3PEDD5KJ.mjs';
10
- import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-YLMKMCSJ.mjs';
9
+ import { ModalShell } from './chunk-DVNUDUVT.mjs';
10
+ import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-GFSQNTRW.mjs';
11
11
  import { useBlockApi, FeedbackMessage } from './chunk-UDNSI5PY.mjs';
12
- import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventDateParts, formatCoursePriceAmount, DateTimeTile, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceDisplay, MONTH_NAMES, formatEventPrice, getEventAvailability, formatEventTeacherLine, CreditCard, Ticket, Star, Sparkles, assertNever11 } from './chunk-NX6X3GRF.mjs';
13
- import { getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, formatBookingDateTime, formatBookingDate, formatBookingTime } from './chunk-7BXX7WXH.mjs';
14
- import { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
12
+ import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventPrice, formatEventDateParts, DateTimeTile, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceAmount, formatCoursePriceDisplay, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, CreditCard, Ticket, Star, Sparkles, assertNever11 } from './chunk-RJHTCTCZ.mjs';
13
+ import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatBookingDate, formatBookingTime } from './chunk-S3MKFGOG.mjs';
14
+ import React9, { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
15
15
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
16
 
17
17
  function StepIndicator2(props) {
@@ -281,12 +281,15 @@ function getTicketTypeAvailabilityLabel(ticketType) {
281
281
  }
282
282
  function getVisibleTicketTypes(input) {
283
283
  const eligibilityTicketTypes = input.eligibility?.ticketTypes;
284
- const eventTicketTypes = input.event?.ticketTypes;
285
- const source = eligibilityTicketTypes && eligibilityTicketTypes.length > 0 ? eligibilityTicketTypes : eventTicketTypes ?? [];
284
+ const eventTicketTypes = input.event ? publicEventTicketTypes(input.event.pricing) : [];
285
+ const source = eligibilityTicketTypes && eligibilityTicketTypes.length > 0 ? eligibilityTicketTypes : eventTicketTypes;
286
286
  return source.filter(
287
287
  (ticketType) => ticketType.isActive && (!input.selectedAttendanceMode || (ticketType.attendanceScope ?? "both") === "both" || (ticketType.attendanceScope ?? "both") === input.selectedAttendanceMode)
288
288
  );
289
289
  }
290
+ function getImplicitSingleAvailableTicketType(ticketTypes) {
291
+ return ticketTypes.length === 1 && ticketTypes[0]?.availability.kind === "available" ? ticketTypes[0] : null;
292
+ }
290
293
  function findSelectedTicketType(input) {
291
294
  if (!input.selectedTicketTypeId) {
292
295
  return null;
@@ -668,6 +671,13 @@ function cleanupStaleRegistrations() {
668
671
  console.warn("[sessionStorage] Cleanup failed:", error);
669
672
  }
670
673
  }
674
+ function getEventSelectionMode(events) {
675
+ const firstSeriesId = events[0]?.seriesId;
676
+ if (events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)) {
677
+ return "date";
678
+ }
679
+ return "event";
680
+ }
671
681
  var EventSelectionStep = ({
672
682
  events,
673
683
  selectedEvent,
@@ -675,8 +685,10 @@ var EventSelectionStep = ({
675
685
  showVenue,
676
686
  showCapacity
677
687
  }) => {
688
+ const selectionMode = getEventSelectionMode(events);
689
+ const isDateSelection = selectionMode === "date";
678
690
  return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
679
- /* @__PURE__ */ jsx("h3", { className: "er-title", children: "Select an Event" }),
691
+ /* @__PURE__ */ jsx("h3", { className: "er-title", children: isDateSelection ? "Choose a date" : "Select an event" }),
680
692
  /* @__PURE__ */ jsx("div", { className: "er-event-grid", children: events.map((event) => {
681
693
  const isSelected = selectedEvent?.publicEventId === event.publicEventId;
682
694
  const isSoldOut = event.capacity !== null && event.availableSpots === 0;
@@ -702,19 +714,18 @@ var EventSelectionStep = ({
702
714
  onClick: () => !isUnavailable && onSelect(event),
703
715
  disabled: isUnavailable,
704
716
  className: cardClasses,
705
- children: /* @__PURE__ */ jsxs("div", { className: "er-row er-row--between", children: [
706
- /* @__PURE__ */ jsxs("div", { children: [
707
- /* @__PURE__ */ jsx("h4", { className: "er-event-title", children: event.title }),
717
+ children: /* @__PURE__ */ jsxs("div", { className: "er-event-option", children: [
718
+ /* @__PURE__ */ jsxs("div", { className: "er-event-option-main", children: [
719
+ /* @__PURE__ */ jsx("h4", { className: "er-event-title", children: isDateSelection ? formatDate2(event.startsAt, { timeZone }) : event.title }),
708
720
  /* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
709
- formatDate2(event.startsAt, { timeZone }),
710
- " ",
711
- "at",
712
- " ",
713
- formatTime2(event.startsAt, { timeZone })
714
- ] }),
715
- showVenue && event.venue && /* @__PURE__ */ jsx("p", { className: "er-text er-text--faint", children: event.venue.name })
721
+ isDateSelection ? formatTime2(event.startsAt, { timeZone }) : `${formatDate2(event.startsAt, { timeZone })} at ${formatTime2(event.startsAt, { timeZone })}`,
722
+ showVenue && event.venue && /* @__PURE__ */ jsxs(Fragment, { children: [
723
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
724
+ event.venue.name
725
+ ] })
726
+ ] })
716
727
  ] }),
717
- showCapacity && event.capacity !== null && /* @__PURE__ */ jsx("span", { className: badgeClasses, children: canJoinWaitlist ? "Waitlist" : isUnavailable ? "Sold Out" : `${event.availableSpots} spots left` })
728
+ showCapacity && event.capacity !== null && /* @__PURE__ */ jsx("span", { className: badgeClasses, children: canJoinWaitlist ? "Waitlist" : isUnavailable ? "Sold Out" : `${event.availableSpots ?? 0} spots left` })
718
729
  ] })
719
730
  },
720
731
  event.publicEventId
@@ -732,7 +743,7 @@ function getEventAttendanceModeLabel(mode) {
732
743
  }
733
744
  function TicketCounter(props) {
734
745
  const { ticketsCount, maxAllowed, onTicketsChange } = props;
735
- return /* @__PURE__ */ jsxs("div", { className: "er-row", children: [
746
+ return /* @__PURE__ */ jsxs("div", { className: "er-row er-counter", children: [
736
747
  /* @__PURE__ */ jsx(
737
748
  "button",
738
749
  {
@@ -756,6 +767,24 @@ function TicketCounter(props) {
756
767
  )
757
768
  ] });
758
769
  }
770
+ function TicketCounterLimit(props) {
771
+ return /* @__PURE__ */ jsxs("p", { className: "er-ticket-counter-limit", children: [
772
+ /* @__PURE__ */ jsx("span", { children: props.maximumLabel }),
773
+ props.availabilityLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
774
+ /* @__PURE__ */ jsx("br", {}),
775
+ /* @__PURE__ */ jsx("span", { children: props.availabilityLabel })
776
+ ] }) : null
777
+ ] });
778
+ }
779
+ function getTicketTypeCounterAvailabilityLabel(input) {
780
+ if (input.selectedRemainingCapacity !== null) {
781
+ return `${input.selectedRemainingCapacity} remaining for this ticket type`;
782
+ }
783
+ if (input.eventAvailableSpots != null) {
784
+ return `${input.eventAvailableSpots} spots available`;
785
+ }
786
+ return null;
787
+ }
759
788
  function getAttendanceModeDetail(attendanceMode) {
760
789
  if (attendanceMode.availableSpots === null) {
761
790
  return "Unlimited spots";
@@ -819,14 +848,19 @@ var TicketSelectionStep = ({
819
848
  const waitlistEnabled = selectedModeAvailability?.waitlistEnabled ?? event?.waitlistEnabled ?? false;
820
849
  const isSoldOut = availableSpots === 0;
821
850
  const canJoinWaitlist = isSoldOut && waitlistEnabled === true;
822
- const usesTicketTypes = event?.pricingMode === "ticket_types" && !canJoinWaitlist;
851
+ const eventPricingMode = event ? publicEventPricingMode(event.pricing) : void 0;
852
+ const eventPricingCurrency = event ? publicEventPricingCurrency(event.pricing) : null;
853
+ const usesTicketTypes = eventPricingMode === "ticket_types" && !canJoinWaitlist;
823
854
  const visibleTicketTypes = usesTicketTypes ? getVisibleTicketTypes({
824
855
  event,
825
856
  eligibility: null,
826
857
  selectedAttendanceMode
827
858
  }) : [];
828
859
  const selectedTicketType = usesTicketTypes ? visibleTicketTypes.find((ticketType) => ticketType.id === selectedTicketTypeId) ?? null : null;
829
- const selectedRemainingCapacity = selectedTicketType?.availability.remainingCapacity ?? null;
860
+ const implicitTicketType = usesTicketTypes ? getImplicitSingleAvailableTicketType(visibleTicketTypes) : null;
861
+ const effectiveSelectedTicketType = selectedTicketType ?? implicitTicketType;
862
+ const shouldShowTicketTypeTiles = usesTicketTypes && implicitTicketType === null;
863
+ const selectedRemainingCapacity = effectiveSelectedTicketType?.availability.remainingCapacity ?? null;
830
864
  const noSellableTicketTypes = usesTicketTypes && (visibleTicketTypes.length === 0 || visibleTicketTypes.every((ticketType) => ticketType.availability.kind === "unavailable"));
831
865
  const maxAllowed = getMaxAllowedTicketCount({
832
866
  canJoinWaitlist,
@@ -834,8 +868,13 @@ var TicketSelectionStep = ({
834
868
  maxTickets,
835
869
  availableSpots,
836
870
  selectedTicketTypeRemainingCapacity: selectedRemainingCapacity,
837
- hasSelectedTicketType: selectedTicketType !== null
871
+ hasSelectedTicketType: effectiveSelectedTicketType !== null
872
+ });
873
+ const selectedTicketTypeAvailabilityLabel = getTicketTypeCounterAvailabilityLabel({
874
+ selectedRemainingCapacity,
875
+ eventAvailableSpots: event?.availableSpots
838
876
  });
877
+ const eventAvailabilityLabel = !canJoinWaitlist && event?.availableSpots != null ? `${event.availableSpots} spots available` : null;
839
878
  if (deliveryMode === "hybrid" && !selectedAttendanceMode) {
840
879
  return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
841
880
  /* @__PURE__ */ jsx("h3", { className: "er-title", children: "How will you attend?" }),
@@ -869,30 +908,53 @@ var TicketSelectionStep = ({
869
908
  )
870
909
  ] }) : null,
871
910
  usesTicketTypes ? /* @__PURE__ */ jsxs(Fragment, { children: [
872
- /* @__PURE__ */ jsx("h3", { className: "er-title", children: "Choose a ticket type" }),
873
- /* @__PURE__ */ jsx("div", { className: "er-payment-tiles", role: "list", "aria-label": "Ticket types", children: visibleTicketTypes.map((ticketType) => {
874
- const availabilityLabel = getTicketTypeAvailabilityLabel(ticketType);
875
- const disabled = ticketType.availability.kind === "unavailable";
876
- const isSelected = selectedTicketTypeId === ticketType.id;
877
- const priceLabel = ticketType.priceAmount > 0 ? formatPrice(ticketType.priceAmount, event?.currency ?? DEFAULT_EVENT_CURRENCY) : "Free";
878
- return /* @__PURE__ */ jsx("div", { role: "listitem", children: /* @__PURE__ */ jsxs(
879
- "button",
880
- {
881
- type: "button",
882
- className: `er-payment-tile${isSelected && !disabled ? " er-payment-tile--selected" : ""}${disabled ? " er-payment-tile--disabled" : ""}`,
883
- disabled,
884
- onClick: () => onTicketTypeChange?.(ticketType.id),
885
- children: [
886
- /* @__PURE__ */ jsx("div", { className: "er-payment-tile-label", children: ticketType.name }),
887
- /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: priceLabel }),
888
- ticketType.description ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: ticketType.description }) : null,
889
- availabilityLabel ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: availabilityLabel }) : null
890
- ]
891
- }
892
- ) }, ticketType.id);
893
- }) }),
894
- noSellableTicketTypes ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "No ticket types are currently available." }) : !selectedTicketType ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "Select one ticket type to continue." }) : selectedTicketType.availability.kind === "unavailable" ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: getTicketTypeAvailabilityLabel(selectedTicketType) ?? "This ticket type is unavailable." }) : /* @__PURE__ */ jsxs(Fragment, { children: [
911
+ shouldShowTicketTypeTiles ? /* @__PURE__ */ jsxs(Fragment, { children: [
912
+ /* @__PURE__ */ jsx("h3", { className: "er-title", children: "Choose a ticket type" }),
913
+ /* @__PURE__ */ jsx("div", { className: "er-payment-tiles", role: "list", "aria-label": "Ticket types", children: visibleTicketTypes.map((ticketType) => {
914
+ const availabilityLabel = getTicketTypeAvailabilityLabel(ticketType);
915
+ const disabled = ticketType.availability.kind === "unavailable";
916
+ const isSelected = selectedTicketTypeId === ticketType.id;
917
+ const priceLabel = ticketType.priceAmount > 0 ? formatPrice(ticketType.priceAmount, eventPricingCurrency ?? DEFAULT_EVENT_CURRENCY) : "Free";
918
+ return /* @__PURE__ */ jsx("div", { role: "listitem", children: /* @__PURE__ */ jsxs(
919
+ "button",
920
+ {
921
+ type: "button",
922
+ className: `er-payment-tile${isSelected && !disabled ? " er-payment-tile--selected" : ""}${disabled ? " er-payment-tile--disabled" : ""}`,
923
+ disabled,
924
+ onClick: () => onTicketTypeChange?.(ticketType.id),
925
+ children: [
926
+ /* @__PURE__ */ jsx("div", { className: "er-payment-tile-label", children: ticketType.name }),
927
+ /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: priceLabel }),
928
+ ticketType.description ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: ticketType.description }) : null,
929
+ availabilityLabel ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: availabilityLabel }) : null
930
+ ]
931
+ }
932
+ ) }, ticketType.id);
933
+ }) })
934
+ ] }) : null,
935
+ noSellableTicketTypes ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "No ticket types are currently available." }) : !effectiveSelectedTicketType ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "Select one ticket type to continue." }) : effectiveSelectedTicketType.availability.kind === "unavailable" ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: getTicketTypeAvailabilityLabel(effectiveSelectedTicketType) ?? "This ticket type is unavailable." }) : /* @__PURE__ */ jsxs(Fragment, { children: [
895
936
  /* @__PURE__ */ jsx("h3", { className: "er-title", children: "How many tickets?" }),
937
+ /* @__PURE__ */ jsxs("div", { className: "er-ticket-counter-group", children: [
938
+ /* @__PURE__ */ jsx(
939
+ TicketCounter,
940
+ {
941
+ ticketsCount,
942
+ maxAllowed,
943
+ onTicketsChange
944
+ }
945
+ ),
946
+ /* @__PURE__ */ jsx(
947
+ TicketCounterLimit,
948
+ {
949
+ maximumLabel: `${maxAllowed} tickets maximum`,
950
+ availabilityLabel: selectedTicketTypeAvailabilityLabel
951
+ }
952
+ )
953
+ ] })
954
+ ] })
955
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
956
+ /* @__PURE__ */ jsx("h3", { className: "er-title", children: canJoinWaitlist ? "How many waitlist spots?" : "How many tickets?" }),
957
+ /* @__PURE__ */ jsxs("div", { className: "er-ticket-counter-group", children: [
896
958
  /* @__PURE__ */ jsx(
897
959
  TicketCounter,
898
960
  {
@@ -901,29 +963,13 @@ var TicketSelectionStep = ({
901
963
  onTicketsChange
902
964
  }
903
965
  ),
904
- /* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
905
- maxAllowed,
906
- " tickets maximum",
907
- selectedRemainingCapacity !== null ? ` (${selectedRemainingCapacity} remaining for this ticket type)` : "",
908
- selectedRemainingCapacity === null && event?.availableSpots != null ? ` (${event.availableSpots} spots available)` : ""
909
- ] })
910
- ] })
911
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
912
- /* @__PURE__ */ jsx("h3", { className: "er-title", children: canJoinWaitlist ? "How many waitlist spots?" : "How many tickets?" }),
913
- /* @__PURE__ */ jsx(
914
- TicketCounter,
915
- {
916
- ticketsCount,
917
- maxAllowed,
918
- onTicketsChange
919
- }
920
- ),
921
- /* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
922
- maxAllowed,
923
- " ",
924
- canJoinWaitlist ? "waitlist spots" : "tickets",
925
- " maximum",
926
- !canJoinWaitlist && event?.availableSpots != null && ` (${event.availableSpots} spots available)`
966
+ /* @__PURE__ */ jsx(
967
+ TicketCounterLimit,
968
+ {
969
+ maximumLabel: `${maxAllowed} ${canJoinWaitlist ? "waitlist spots" : "tickets"} maximum`,
970
+ availabilityLabel: eventAvailabilityLabel
971
+ }
972
+ )
927
973
  ] })
928
974
  ] }),
929
975
  canJoinWaitlist && /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "This event is currently full. Continue to join the waitlist if a spot opens up." })
@@ -1791,8 +1837,8 @@ function EventRegistrationSummaryBar(props) {
1791
1837
  const summaryTimeZone = wizard.occurrenceContext?.timeZone ?? summaryEvent?.timeZone ?? null;
1792
1838
  const occurrenceOverrideTitle = wizard.occurrenceContext?.overrides?.title;
1793
1839
  const summaryTitle = occurrenceOverrideTitle ?? summaryEvent?.title ?? "";
1794
- const summaryPrice = wizard.selectedTicketType?.priceAmount ?? wizard.eligibility?.price ?? summaryEvent?.price ?? 0;
1795
- const summaryCurrency = summaryEvent?.currency ?? DEFAULT_EVENT_CURRENCY;
1840
+ const summaryPrice = wizard.selectedTicketType?.priceAmount ?? wizard.eligibility?.price ?? (summaryEvent ? publicEventScalarPrice(summaryEvent.pricing) : null) ?? 0;
1841
+ const summaryCurrency = (summaryEvent ? publicEventPricingCurrency(summaryEvent.pricing) : null) ?? DEFAULT_EVENT_CURRENCY;
1796
1842
  const teamMemberNames = (summaryEvent?.teamMembers ?? []).map((teamMember) => teamMember.name).filter(Boolean);
1797
1843
  const subtotalCents = Math.max(0, summaryPrice * wizard.ticketsCount);
1798
1844
  const autoAppliedDiscount = wizard.discountCode.trim().length > 0 ? null : wizard.autoAppliedDiscount;
@@ -2139,7 +2185,7 @@ function resolveEventRequiresPayment(input) {
2139
2185
  if (!input.event) {
2140
2186
  return false;
2141
2187
  }
2142
- return input.event.pricingType !== "free";
2188
+ return publicEventPricingType(input.event.pricing) !== "free";
2143
2189
  }
2144
2190
  function resolveDiscountContext(input) {
2145
2191
  const selection = input.paymentSelection.method ? input.paymentSelection : null;
@@ -2171,8 +2217,7 @@ function toRegistrationEvent(event) {
2171
2217
  return {
2172
2218
  ...event,
2173
2219
  publicEventId: event.id,
2174
- registrationOccurrenceId: event.occurrenceId,
2175
- ticketTypes: event.ticketTypes ?? []
2220
+ registrationOccurrenceId: event.occurrenceId
2176
2221
  };
2177
2222
  }
2178
2223
  function toRegistrationEvents(events) {
@@ -2397,7 +2442,7 @@ function useEventRegistrationWizard(options) {
2397
2442
  );
2398
2443
  const ticketTypeSelectionRequired = useMemo(() => {
2399
2444
  const event = selectedEvent ?? preSelectedEvent;
2400
- if (!event || event.pricingMode !== "ticket_types") {
2445
+ if (!event || publicEventPricingMode(event.pricing) !== "ticket_types") {
2401
2446
  return false;
2402
2447
  }
2403
2448
  if ((event.deliveryMode ?? "in_person") === "hybrid" && !selectedAttendanceMode) {
@@ -2412,12 +2457,17 @@ function useEventRegistrationWizard(options) {
2412
2457
  );
2413
2458
  useEffect(() => {
2414
2459
  const event = selectedEvent ?? preSelectedEvent;
2415
- if (!event || event.pricingMode !== "ticket_types") {
2460
+ if (!event || publicEventPricingMode(event.pricing) !== "ticket_types") {
2416
2461
  if (selectedTicketTypeId !== null) {
2417
2462
  setSelectedTicketTypeId(null);
2418
2463
  }
2419
2464
  return;
2420
2465
  }
2466
+ const implicitTicketType = getImplicitSingleAvailableTicketType(visibleTicketTypes);
2467
+ if (implicitTicketType && selectedTicketTypeId !== implicitTicketType.id) {
2468
+ setSelectedTicketTypeId(implicitTicketType.id);
2469
+ return;
2470
+ }
2421
2471
  if (selectedTicketTypeId && !visibleTicketTypes.some((ticketType) => ticketType.id === selectedTicketTypeId)) {
2422
2472
  setSelectedTicketTypeId(null);
2423
2473
  }
@@ -2527,7 +2577,7 @@ function useEventRegistrationWizard(options) {
2527
2577
  const discountSubtotalCents = useMemo(() => {
2528
2578
  if (discountContext?.type !== "event") return void 0;
2529
2579
  const event = selectedEvent ?? preSelectedEvent;
2530
- const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? event?.price ?? 0;
2580
+ const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? (event ? publicEventScalarPrice(event.pricing) : null) ?? 0;
2531
2581
  return Math.max(0, eventPriceCents * ticketsCount);
2532
2582
  }, [discountContext, selectedTicketType, eligibility, selectedEvent, preSelectedEvent, ticketsCount]);
2533
2583
  const discountUi = useDiscountCodeUi({ api, discountContext, subtotalCents: discountSubtotalCents });
@@ -2664,6 +2714,13 @@ var EVENT_PORTAL_AUTH_COPY = {
2664
2714
  buttonText: "Email me a login link to continue \u2192"
2665
2715
  }
2666
2716
  };
2717
+ function EventPortalAuthPrompt(props) {
2718
+ return /* @__PURE__ */ jsxs("div", { className: "er-portal-auth", children: [
2719
+ /* @__PURE__ */ jsx("p", { className: "er-portal-auth-title", children: props.copy.title }),
2720
+ /* @__PURE__ */ jsx("p", { className: "er-portal-auth-text", children: props.copy.description }),
2721
+ /* @__PURE__ */ jsx("button", { type: "button", className: "er-portal-auth-link", onClick: props.onRequestLogin, children: props.copy.buttonText })
2722
+ ] });
2723
+ }
2667
2724
  function EventRegistrationWizard(props) {
2668
2725
  const {
2669
2726
  occurrenceContext,
@@ -2714,10 +2771,11 @@ function EventRegistrationWizard(props) {
2714
2771
  ]
2715
2772
  );
2716
2773
  const totalSteps = activeWizardSteps.length;
2774
+ const eventSelectionStepLabel = getEventSelectionMode(wizard.scopedEvents) === "date" ? "Date" : "Event";
2717
2775
  const stepLabels = activeWizardSteps.map((s) => {
2718
2776
  switch (s) {
2719
2777
  case "select-event":
2720
- return "Event";
2778
+ return eventSelectionStepLabel;
2721
2779
  case "select-tickets":
2722
2780
  return "Tickets";
2723
2781
  case "enter-details":
@@ -2736,16 +2794,24 @@ function EventRegistrationWizard(props) {
2736
2794
  });
2737
2795
  const currentStepNumber = getStepNumber(wizard.step, activeWizardSteps);
2738
2796
  const summaryEvent = wizard.selectedEvent ?? wizard.preSelectedEvent;
2797
+ const summaryEventPricingType = summaryEvent ? publicEventPricingType(summaryEvent.pricing) : "free";
2739
2798
  const waitlistClaimRequiresPortalLogin = wizard.waitlistClaim.requiresPortalLogin && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking";
2740
2799
  const portalAuthCopy = waitlistClaimRequiresPortalLogin ? {
2741
2800
  ...EVENT_PORTAL_AUTH_COPY["waitlist-claim"],
2742
2801
  description: wizard.waitlistClaim.loginMessage ?? "Log in to continue with your waitlist claim."
2743
2802
  } : EVENT_PORTAL_AUTH_COPY.membership;
2744
- const showPortalAuthSidebar = waitlistClaimRequiresPortalLogin || wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking" && summaryEvent?.pricingType !== "free" && wizard.step !== "select-event";
2803
+ const showPortalAuthPrompt = waitlistClaimRequiresPortalLogin || wizard.step === "select-tickets" && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking" && summaryEventPricingType !== "free";
2745
2804
  return /* @__PURE__ */ jsx("div", { id: EVENT_REGISTRATION_ANCHOR_ID, className: `event-registration ${className || ""}`, "data-block": "event-registration", children: /* @__PURE__ */ jsxs("div", { className: "er-container", children: [
2746
- isWizardStep && /* @__PURE__ */ jsxs("div", { className: `er-payment-layout ${!showPortalAuthSidebar ? "er-payment-layout--no-sidebar" : ""}`, children: [
2805
+ isWizardStep && /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
2747
2806
  /* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
2748
2807
  totalSteps > 1 && /* @__PURE__ */ jsx(StepIndicator2, { currentStep: currentStepNumber, totalSteps, stepLabels }),
2808
+ showPortalAuthPrompt && /* @__PURE__ */ jsx(
2809
+ EventPortalAuthPrompt,
2810
+ {
2811
+ copy: portalAuthCopy,
2812
+ onRequestLogin: () => wizard.setShowMagicLinkModal(true)
2813
+ }
2814
+ ),
2749
2815
  /* @__PURE__ */ jsx(
2750
2816
  EventRegistrationWizardContent,
2751
2817
  {
@@ -2756,11 +2822,6 @@ function EventRegistrationWizard(props) {
2756
2822
  }
2757
2823
  )
2758
2824
  ] }),
2759
- showPortalAuthSidebar && /* @__PURE__ */ jsx("div", { className: "er-payment-layout-sidebar", children: /* @__PURE__ */ jsxs("div", { className: "er-portal-auth", children: [
2760
- /* @__PURE__ */ jsx("p", { className: "er-portal-auth-title", children: portalAuthCopy.title }),
2761
- /* @__PURE__ */ jsx("p", { className: "er-portal-auth-text", children: portalAuthCopy.description }),
2762
- /* @__PURE__ */ jsx("button", { type: "button", className: "er-portal-auth-link", onClick: () => wizard.setShowMagicLinkModal(true), children: portalAuthCopy.buttonText })
2763
- ] }) }),
2764
2825
  wizard.showMagicLinkModal && /* @__PURE__ */ jsx("div", { className: "er-modal-overlay", onClick: () => wizard.setShowMagicLinkModal(false), children: /* @__PURE__ */ jsxs("div", { className: "er-modal", onClick: (e) => e.stopPropagation(), children: [
2765
2826
  /* @__PURE__ */ jsx(
2766
2827
  "button",
@@ -3024,10 +3085,12 @@ function EventDetailsView({
3024
3085
  priceCents: selected.course.priceCents,
3025
3086
  currency: selected.course.currency
3026
3087
  }) : null;
3027
- const isPaid = selected.pricingType === "paid";
3028
- const eventPrice = selected.price ?? null;
3088
+ const eventPricingType = publicEventPricingType(selected.pricing);
3089
+ const eventPricingCurrency = publicEventPricingCurrency(selected.pricing) ?? "USD";
3090
+ const isPaid = eventPricingType === "paid";
3029
3091
  const shouldShowCoursePricing = showCost && !isDropIn && coursePricing !== null;
3030
3092
  const shouldShowEventCost = showCost && isPaid && !isDropIn && coursePricing === null;
3093
+ const eventCostLabel = shouldShowEventCost ? formatEventPrice(selected) : null;
3031
3094
  const acceptedItems = [];
3032
3095
  if (showAcceptedPasses) {
3033
3096
  acceptedItems.push(...applicablePasses.map((p) => p.name));
@@ -3082,8 +3145,8 @@ function EventDetailsView({
3082
3145
  }
3083
3146
  ) : shouldShowEventCost ? /* @__PURE__ */ jsxs("div", { className: "rb-mt-6", children: [
3084
3147
  /* @__PURE__ */ jsx("div", { className: "rb-label rb-mb-2", children: "Cost" }),
3085
- eventPrice !== null ? /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
3086
- autoApplyDiscount ? /* @__PURE__ */ jsx("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
3148
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: eventCostLabel }) }),
3149
+ autoApplyDiscount ? /* @__PURE__ */ jsx("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, eventPricingCurrency) }) : null,
3087
3150
  hasAcceptedItems ? /* @__PURE__ */ jsxs("p", { className: "rb-caption rb-mt-1", children: [
3088
3151
  "You can also attend with: ",
3089
3152
  acceptedItems.join(", ")
@@ -4392,7 +4455,7 @@ var FULL_DAY_NAMES = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "F
4392
4455
  function formatAgendaDayHeader(date) {
4393
4456
  const dayName = FULL_DAY_NAMES[date.getDay()];
4394
4457
  const monthName = MONTH_NAMES[date.getMonth()];
4395
- return `${dayName}, ${monthName} ${date.getDate()}`;
4458
+ return `${dayName ?? "Day"}, ${monthName ?? "Month"} ${date.getDate()}`;
4396
4459
  }
4397
4460
  var WeekAgendaView = ({
4398
4461
  days,
@@ -4432,6 +4495,7 @@ function EventDetailModal({
4432
4495
  event,
4433
4496
  showCapacity,
4434
4497
  onClose,
4498
+ portalRoot,
4435
4499
  cardVariant = "default",
4436
4500
  buttonVariant = "primary",
4437
4501
  buttonText,
@@ -4444,6 +4508,8 @@ function EventDetailModal({
4444
4508
  title,
4445
4509
  titleId: "ec-event-modal-title",
4446
4510
  onClose,
4511
+ portal: portalRoot != null,
4512
+ portalRoot,
4447
4513
  overlayClassName: "ec-modal-overlay",
4448
4514
  modalClassName: "ec-modal ec-modal--event",
4449
4515
  renderSrOnlyTitle: true,
@@ -4482,7 +4548,8 @@ function DayEventsModal({
4482
4548
  events,
4483
4549
  showCapacity,
4484
4550
  onClose,
4485
- onSelectEvent
4551
+ onSelectEvent,
4552
+ portalRoot
4486
4553
  }) {
4487
4554
  const formattedDate = formatDate(date.toISOString());
4488
4555
  return /* @__PURE__ */ jsxs(
@@ -4491,6 +4558,8 @@ function DayEventsModal({
4491
4558
  title: formattedDate,
4492
4559
  titleId: "ec-day-modal-title",
4493
4560
  onClose,
4561
+ portal: portalRoot != null,
4562
+ portalRoot,
4494
4563
  overlayClassName: "ec-modal-overlay",
4495
4564
  modalClassName: "ec-modal ec-modal--day",
4496
4565
  renderHeader: ({ closeButtonRef, onClose: onClose2 }) => /* @__PURE__ */ jsx(
@@ -4532,38 +4601,63 @@ function EventModals({
4532
4601
  buttonVariant,
4533
4602
  buttonText
4534
4603
  }) {
4604
+ const markerRef = React9.useRef(null);
4605
+ const [portalRoot, setPortalRoot] = React9.useState(null);
4535
4606
  const { modalState, openEventModal, closeModal } = useEventModal();
4607
+ React9.useEffect(() => {
4608
+ const sourceEl = markerRef.current;
4609
+ if (!sourceEl) return;
4610
+ const portal = createBodyThemePortalRoot(sourceEl);
4611
+ if (!portal) return;
4612
+ const blockRoot = document.createElement("div");
4613
+ blockRoot.setAttribute("data-block", "event-calendar");
4614
+ portal.root.appendChild(blockRoot);
4615
+ setPortalRoot(blockRoot);
4616
+ return () => {
4617
+ setPortalRoot(null);
4618
+ portal.cleanup();
4619
+ };
4620
+ }, []);
4621
+ const marker = /* @__PURE__ */ jsx("span", { ref: markerRef, hidden: true, "aria-hidden": "true" });
4536
4622
  if (modalState.type === "closed") {
4537
- return null;
4623
+ return marker;
4538
4624
  }
4539
4625
  if (modalState.type === "event") {
4540
- return /* @__PURE__ */ jsx(
4541
- EventDetailModal,
4542
- {
4543
- event: modalState.event,
4544
- onClose: closeModal,
4545
- cardVariant,
4546
- buttonVariant,
4547
- buttonText,
4548
- showCapacity
4549
- }
4550
- );
4626
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
4627
+ marker,
4628
+ /* @__PURE__ */ jsx(
4629
+ EventDetailModal,
4630
+ {
4631
+ event: modalState.event,
4632
+ onClose: closeModal,
4633
+ portalRoot,
4634
+ cardVariant,
4635
+ buttonVariant,
4636
+ buttonText,
4637
+ showCapacity
4638
+ }
4639
+ )
4640
+ ] });
4551
4641
  }
4552
4642
  if (modalState.type === "day") {
4553
- return /* @__PURE__ */ jsx(
4554
- DayEventsModal,
4555
- {
4556
- date: modalState.date,
4557
- events: modalState.events,
4558
- onClose: closeModal,
4559
- onSelectEvent: (event) => {
4560
- openEventModal(event);
4561
- },
4562
- showCapacity
4563
- }
4564
- );
4643
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
4644
+ marker,
4645
+ /* @__PURE__ */ jsx(
4646
+ DayEventsModal,
4647
+ {
4648
+ date: modalState.date,
4649
+ events: modalState.events,
4650
+ onClose: closeModal,
4651
+ onSelectEvent: (event) => {
4652
+ openEventModal(event);
4653
+ },
4654
+ portalRoot,
4655
+ showCapacity
4656
+ }
4657
+ )
4658
+ ] });
4565
4659
  }
4566
- return null;
4660
+ return marker;
4567
4661
  }
4568
4662
  function toEventCombinedControllerProps(props) {
4569
4663
  return {
@@ -5162,7 +5256,7 @@ function formatHourLabel(hour) {
5162
5256
  }
5163
5257
  function hourToTickPercent(hour, hours) {
5164
5258
  const startHour = hours[0] ?? 0;
5165
- const endHour = hours.at(-1) ?? startHour + 1;
5259
+ const endHour = hours[hours.length - 1] ?? startHour + 1;
5166
5260
  const range = Math.max(1, endHour - startHour);
5167
5261
  return (hour - startHour) / range * 100;
5168
5262
  }
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useRef, useState, useEffect } from 'react';
2
+ import { useRef, useEffect } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // ../altcha/src/AltchaWidget.tsx
@@ -11,7 +11,6 @@ function AltchaWidget({
11
11
  className
12
12
  }) {
13
13
  const containerRef = useRef(null);
14
- const [isLoaded, setIsLoaded] = useState(false);
15
14
  useEffect(() => {
16
15
  if (typeof window === "undefined") return;
17
16
  let widget = null;
@@ -38,7 +37,6 @@ function AltchaWidget({
38
37
  }
39
38
  }));
40
39
  containerRef.current.appendChild(widget);
41
- setIsLoaded(true);
42
40
  }).catch((err) => {
43
41
  console.error("Failed to load ALTCHA widget:", err);
44
42
  });
@@ -0,0 +1,18 @@
1
+ // src/rendering/islands/enhancers/routeIslandApiConfig.ts
2
+ function buildRouteIslandApiConfig({
3
+ apiBaseUrl,
4
+ portalToken,
5
+ previewToken,
6
+ siteId,
7
+ stage
8
+ }) {
9
+ return {
10
+ baseUrl: apiBaseUrl,
11
+ auth: previewToken ? { type: "bearer", token: previewToken } : { type: "none" },
12
+ authOverrides: portalToken ? { portal: { type: "bearer", token: portalToken } } : void 0,
13
+ siteId,
14
+ isPreview: stage === "preview"
15
+ };
16
+ }
17
+
18
+ export { buildRouteIslandApiConfig };