@riverbankcms/sdk 0.80.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 (574) hide show
  1. package/README.md +65 -3
  2. package/dist/{PreviewEditorSidebar-O4NDX5TP.css → PreviewEditorSidebar-JA4VIPSZ.css} +1 -1
  3. package/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-LHGK6RIO.mjs} +760 -711
  4. package/dist/{SdkPreviewModeRuntime-PBGALTMK.css → PreviewEditorUI-36T7QYV4.css} +1 -1
  5. package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-AXZG2SDC.mjs} +167 -28
  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 +15 -3
  13. package/dist/_dts/api/src/contentTypes.d.ts +6 -0
  14. package/dist/_dts/api/src/courses.d.ts +1 -1
  15. package/dist/_dts/api/src/event-destination-policy.d.ts +17 -0
  16. package/dist/_dts/api/src/index.d.ts +6 -2
  17. package/dist/_dts/api/src/navigation/boundaries.d.ts +64 -0
  18. package/dist/_dts/api/src/navigation.d.ts +2 -0
  19. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +17 -12
  20. package/dist/_dts/api/src/siteGeneration.d.ts +1 -1
  21. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -6
  22. package/dist/_dts/api/src/types.d.ts +1 -1
  23. package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
  24. package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
  25. package/dist/_dts/block-form/src/context/BlockContext.d.ts +1 -1
  26. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +1 -1
  27. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +2 -2
  28. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
  29. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +1 -1
  30. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
  31. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +2 -1
  32. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
  33. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +1 -1
  34. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
  35. package/dist/_dts/block-form/src/widgets/Field.d.ts +2 -2
  36. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -3
  37. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +1 -1
  38. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +1 -1
  39. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +1 -1
  40. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +1 -1
  41. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +1 -1
  42. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +1 -1
  44. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +1 -1
  45. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +1 -1
  46. package/dist/_dts/block-form/src/widgets/stringDefaultValue.d.ts +1 -0
  47. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -1
  48. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +28 -44
  49. package/dist/_dts/blocks/src/index.d.ts +6 -4
  50. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  51. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +7 -7
  52. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -1
  53. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +2 -1
  54. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
  55. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +2 -1
  56. package/dist/_dts/blocks/src/primitives/layout/Inline.d.ts +2 -1
  57. package/dist/_dts/blocks/src/primitives/layout/Stack.d.ts +2 -1
  58. package/dist/_dts/blocks/src/server.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +592 -592
  60. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +592 -592
  61. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +592 -592
  62. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +592 -592
  63. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +592 -592
  64. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -1
  65. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
  66. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +397 -111
  67. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -15
  68. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +592 -592
  69. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
  71. package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
  72. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +592 -592
  73. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -3
  76. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +54 -54
  77. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +21 -0
  78. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +162 -0
  79. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +592 -602
  80. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +592 -604
  81. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +0 -4
  82. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +592 -592
  83. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  84. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  85. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  86. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +19 -5
  89. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  90. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
  91. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +102 -0
  92. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  93. package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -1
  94. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
  95. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
  96. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
  97. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +71 -56
  98. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
  99. package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
  100. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  101. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  102. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  103. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +56 -74
  104. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +27 -36
  105. package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
  106. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
  107. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
  108. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
  109. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +2 -2
  110. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +4 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -1
  113. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.shared.d.ts +2 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/cart.client.d.ts +2 -1
  115. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.client.d.ts +2 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -1
  118. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +1 -5
  119. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +10 -13
  120. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +3 -2
  121. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -2
  122. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/BookingModeStep.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +2 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +1 -1
  125. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/MembershipHero.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +1 -1
  127. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PortalAuthSidebar.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/SuccessStep.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/WaitlistStep.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +5 -4
  133. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +3 -2
  134. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +2 -1
  136. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +1 -1
  137. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +2 -2
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +1 -1
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSummaryBar.d.ts +2 -1
  140. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +2 -1
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +2 -1
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +2 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +1 -1
  145. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PastOccurrenceNotice.d.ts +2 -1
  146. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SelectableOptionCard.d.ts +1 -1
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +1 -1
  148. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +1 -1
  149. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -2
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +2 -1
  151. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +12 -5
  152. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.view.d.ts +1 -1
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +2 -1
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  160. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  161. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
  162. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
  163. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
  164. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
  165. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.client.d.ts +2 -1
  166. package/dist/_dts/blocks/src/system/runtime/nodes/gifting.server.d.ts +2 -1
  167. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.client.d.ts +2 -2
  168. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +1 -1
  169. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +4 -4
  170. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +1 -1
  171. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
  172. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +2 -1
  173. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +23 -0
  174. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.client.d.ts +2 -1
  175. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -1
  176. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.client.d.ts +2 -1
  177. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -1
  178. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +2 -1
  179. package/dist/_dts/blocks/src/system/runtime/nodes/shop-add-feedback.d.ts +1 -1
  180. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.d.ts +5 -4
  181. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.server.d.ts +5 -4
  182. package/dist/_dts/blocks/src/system/runtime/nodes/shop.client.d.ts +2 -1
  183. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +0 -17
  184. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -1
  185. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +0 -1
  186. package/dist/_dts/blocks/src/system/runtime/nodes/spinner.d.ts +1 -1
  187. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +13 -0
  188. package/dist/_dts/blocks/src/system/runtime/shared/components/ActionRow.d.ts +1 -1
  189. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckIcon.d.ts +1 -1
  190. package/dist/_dts/blocks/src/system/runtime/shared/components/ClockIcon.d.ts +1 -1
  191. package/dist/_dts/blocks/src/system/runtime/shared/components/CrossIcon.d.ts +1 -1
  192. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +1 -1
  193. package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +1 -1
  194. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  195. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  196. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +1 -1
  197. package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +1 -1
  198. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
  199. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
  200. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  201. package/dist/_dts/calendar/src/grid.d.ts +27 -0
  202. package/dist/_dts/calendar/src/index.d.ts +2 -2
  203. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +1 -1
  204. package/dist/_dts/content-editor/src/components/EditableBlockProvider.d.ts +1 -1
  205. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  206. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
  207. package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
  208. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
  209. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
  210. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
  211. package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
  212. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
  213. package/dist/_dts/content-editor/src/index.d.ts +3 -1
  214. package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
  215. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
  216. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +6 -1
  217. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +6 -1
  218. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +2 -0
  219. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -1
  220. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +3 -1
  221. package/dist/_dts/content-editor/src/primitives/shared/types.d.ts +5 -0
  222. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
  223. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
  224. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +67 -5
  225. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
  226. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  227. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -40
  228. package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -40
  229. package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
  230. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  231. package/dist/_dts/core/src/branded.d.ts +5 -0
  232. package/dist/_dts/core/src/event-pricing.d.ts +72 -0
  233. package/dist/_dts/core/src/index.d.ts +1 -0
  234. package/dist/_dts/core/src/stable-json.d.ts +1 -0
  235. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +27 -2
  236. package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
  237. package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
  238. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
  239. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
  240. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
  241. package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
  242. package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
  243. package/dist/_dts/editor/src/index.d.ts +29 -0
  244. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
  245. package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
  246. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
  247. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
  248. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
  249. package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
  250. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
  251. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
  252. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
  253. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
  254. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
  255. package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
  256. package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
  257. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
  258. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
  259. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
  260. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
  261. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
  262. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
  263. package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
  264. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
  265. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -1
  266. package/dist/_dts/editor-blocks/src/FormProvider.d.ts +1 -1
  267. package/dist/_dts/editor-blocks/src/block-editor/AddBlockDivider.d.ts +1 -1
  268. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +4 -4
  269. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  270. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +5 -5
  271. package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +1 -1
  272. package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
  273. package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
  274. package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +2 -2
  275. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +1 -1
  276. package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
  277. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  278. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +1 -1
  279. package/dist/_dts/editor-blocks/src/block-editor/HeaderActions.d.ts +1 -1
  280. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -4
  281. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
  282. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
  283. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  284. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  285. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  286. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  287. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
  288. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  289. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeWidgetProvider.d.ts +1 -1
  290. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  291. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
  292. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  293. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +2 -0
  294. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +1 -1
  295. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
  296. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
  297. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -1
  298. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +1 -1
  299. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +2 -0
  300. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewWidgetProvider.d.ts +10 -0
  301. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/index.d.ts +3 -0
  302. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/orderDomain.d.ts +29 -0
  303. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +1 -1
  304. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
  305. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +1 -1
  306. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +2 -2
  307. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +2 -2
  308. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
  309. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
  310. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
  311. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
  312. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
  313. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
  314. package/dist/_dts/media-core/src/index.d.ts +1 -0
  315. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
  316. package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
  317. package/dist/_dts/media-editor/src/CropDialogShell.d.ts +1 -1
  318. package/dist/_dts/media-editor/src/FileAssetPreview.d.ts +1 -1
  319. package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
  320. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
  321. package/dist/_dts/media-editor/src/MediaPreview.d.ts +1 -1
  322. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  323. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
  324. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  325. package/dist/_dts/media-editor/src/provider.d.ts +1 -1
  326. package/dist/_dts/media-react/src/components/AuthenticatedImage.d.ts +1 -1
  327. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +1 -1
  328. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +1 -1
  329. package/dist/_dts/preview-next/src/client/PreviewShellSmoke.d.ts +2 -1
  330. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +7 -4
  331. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +2 -1
  332. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -3
  333. package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
  334. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  335. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
  336. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
  337. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
  338. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +2 -2
  339. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
  340. package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
  341. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +1 -1
  342. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +4 -2
  343. package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
  344. package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +1 -1
  345. package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -1
  346. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +6 -3
  347. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -2
  348. package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +2 -1
  349. package/dist/_dts/preview-next/src/client/preview/PreviewAuthInit.d.ts +1 -1
  350. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +2 -2
  351. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
  352. package/dist/_dts/preview-next/src/client/preview/PreviewConfirmationDialog.d.ts +2 -1
  353. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +2 -2
  354. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
  355. package/dist/_dts/preview-next/src/client/preview/PreviewEditorGuidanceCard.d.ts +2 -1
  356. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
  357. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
  358. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +3 -2
  359. package/dist/_dts/preview-next/src/client/preview/PreviewQueryProvider.d.ts +2 -2
  360. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +21 -20
  361. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
  362. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
  363. package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
  364. package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
  365. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +2 -1
  366. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  367. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +60 -6
  368. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +2 -1
  369. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
  370. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +2 -1
  371. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
  372. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +51 -0
  373. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
  374. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
  375. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
  376. package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
  377. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
  378. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
  379. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +120 -0
  380. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +30 -0
  381. package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
  382. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
  383. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +2 -2
  384. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +2 -1
  385. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
  386. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +8 -5
  387. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  388. package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +4 -3
  389. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +1 -1
  390. package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
  391. package/dist/_dts/sdk/src/cli/content/reader.d.ts +6 -12
  392. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
  393. package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +31 -0
  394. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
  395. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
  396. package/dist/_dts/sdk/src/cli/sync/validation.d.ts +7 -7
  397. package/dist/_dts/sdk/src/client/types.d.ts +36 -4
  398. package/dist/_dts/sdk/src/client.d.ts +1 -1
  399. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -14
  400. package/dist/_dts/sdk/src/config/content-validation.d.ts +9 -214
  401. package/dist/_dts/sdk/src/config/types.d.ts +10 -1
  402. package/dist/_dts/sdk/src/config/validation.d.ts +24 -24
  403. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +30 -4
  404. package/dist/_dts/sdk/src/index.d.ts +1 -1
  405. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +6 -6
  406. package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +4 -3
  407. package/dist/_dts/sdk/src/public-api/contracts.d.ts +39 -37
  408. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +1 -1
  409. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +1 -1
  410. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  411. package/dist/_dts/sdk/src/rendering/components/Page.d.ts +1 -1
  412. package/dist/_dts/sdk/src/rendering/components/Page.server.d.ts +1 -1
  413. package/dist/_dts/sdk/src/rendering/components/PageHydrationBootstrap.d.ts +1 -1
  414. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +10 -9
  415. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +9 -0
  416. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -15
  417. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
  418. package/dist/_dts/sdk/src/rendering/primitives/RichText.d.ts +2 -1
  419. package/dist/_dts/sdk/src/server.d.ts +1 -1
  420. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +1 -1
  421. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  422. package/dist/_dts/sdk/src/version.d.ts +1 -1
  423. package/dist/_dts/site-commands/src/commands.d.ts +69 -21
  424. package/dist/_dts/theme-core/src/ClientThemeScope.d.ts +1 -1
  425. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +3 -2
  426. package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
  427. package/dist/_dts/theme-core/src/ThemeScopeCore.d.ts +1 -1
  428. package/dist/_dts/theme-core/src/accordions/types.d.ts +5 -5
  429. package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
  430. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  431. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
  432. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +8 -7
  433. package/dist/_dts/theme-core/src/buttons/types.d.ts +26 -17
  434. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
  435. package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
  436. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  437. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  438. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  439. package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
  440. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +228 -198
  441. package/dist/_dts/theme-core/src/mock-themes/components/PaletteCard.d.ts +1 -1
  442. package/dist/_dts/theme-core/src/mock-themes/components/swatch.d.ts +1 -1
  443. package/dist/_dts/theme-core/src/navigation/presets.d.ts +1 -1
  444. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  445. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  446. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +6 -6
  447. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
  448. package/dist/_dts/theme-core/src/schema.d.ts +273 -226
  449. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
  450. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
  451. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
  452. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
  453. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +27 -0
  454. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
  455. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
  456. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +32 -16
  457. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +13 -9
  458. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
  459. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  460. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  461. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
  462. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
  463. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  464. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
  465. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
  466. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +30 -0
  467. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
  468. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  469. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  470. package/dist/_dts/theme-core/src/site-styles/types.d.ts +26 -6
  471. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  472. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  473. package/dist/_dts/ui/src/async-boundary.d.ts +1 -1
  474. package/dist/_dts/ui/src/badge.d.ts +1 -1
  475. package/dist/_dts/ui/src/button-group.d.ts +3 -3
  476. package/dist/_dts/ui/src/calendar.d.ts +2 -2
  477. package/dist/_dts/ui/src/card.d.ts +6 -6
  478. package/dist/_dts/ui/src/combobox.d.ts +1 -1
  479. package/dist/_dts/ui/src/command-multi-select.d.ts +1 -1
  480. package/dist/_dts/ui/src/content-spinner.d.ts +1 -1
  481. package/dist/_dts/ui/src/delayed-spinner.d.ts +1 -1
  482. package/dist/_dts/ui/src/dev-toolbar.d.ts +1 -1
  483. package/dist/_dts/ui/src/dialog.d.ts +10 -10
  484. package/dist/_dts/ui/src/dropdown-menu.d.ts +1 -1
  485. package/dist/_dts/ui/src/editor-drawer.d.ts +1 -1
  486. package/dist/_dts/ui/src/empty-state.d.ts +1 -1
  487. package/dist/_dts/ui/src/filter-button-group.d.ts +1 -1
  488. package/dist/_dts/ui/src/fixed-bottom-surface.d.ts +1 -1
  489. package/dist/_dts/ui/src/form.d.ts +7 -7
  490. package/dist/_dts/ui/src/label.d.ts +1 -1
  491. package/dist/_dts/ui/src/menubar.d.ts +16 -16
  492. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -2
  493. package/dist/_dts/ui/src/number-input.d.ts +1 -1
  494. package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +1 -1
  495. package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +1 -1
  496. package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +1 -1
  497. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +1 -1
  498. package/dist/_dts/ui/src/resizable-split-pane.d.ts +1 -1
  499. package/dist/_dts/ui/src/select.d.ts +10 -10
  500. package/dist/_dts/ui/src/separator.d.ts +1 -1
  501. package/dist/_dts/ui/src/sheet.d.ts +9 -9
  502. package/dist/_dts/ui/src/spinner.d.ts +1 -1
  503. package/dist/_dts/ui/src/tooltip.d.ts +4 -4
  504. package/dist/{chunk-MPBNEVPB.mjs → chunk-2BUMISSH.mjs} +1 -1
  505. package/dist/{chunk-7PCYG6YV.mjs → chunk-6FWNF3DJ.mjs} +2086 -1128
  506. package/dist/{chunk-BBLZSQEY.mjs → chunk-FIREV57T.mjs} +14 -9
  507. package/dist/{chunk-5NZGBSJF.mjs → chunk-G35HOQEN.mjs} +2608 -2397
  508. package/dist/{chunk-HTB4BMKD.mjs → chunk-HKB6XVIP.mjs} +321 -113
  509. package/dist/{chunk-GYXKAUFV.mjs → chunk-XQR6THQJ.mjs} +27831 -17740
  510. package/dist/cli/index.mjs +4581 -2802
  511. package/dist/cli/init-docs/content/workflow-custom-block.md +5 -0
  512. package/dist/client/{accordion-QFZMNB7O.mjs → accordion-G34C45TW.mjs} +2 -2
  513. package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-BLBVKSAQ.mjs} +12 -12
  514. package/dist/client/bookings.mjs +321 -60
  515. package/dist/client/{carousel-EO4BJMWD.mjs → carousel-7ZVTBRMD.mjs} +3 -3
  516. package/dist/client/{cart-FTYCLYUW.mjs → cart-Q6S6LZUO.mjs} +8 -7
  517. package/dist/client/{checkout-NFGLVCOX.mjs → checkout-5QJLDE4I.mjs} +8 -7
  518. package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-5PQH4Y75.mjs} +3 -3
  519. package/dist/client/{chunk-Y37KDO7P.mjs → chunk-CHAB5ACD.mjs} +5 -4
  520. package/dist/client/{chunk-VDS5YFLX.mjs → chunk-CSZGLBYR.mjs} +1 -1
  521. package/dist/client/{chunk-3PEDD5KJ.mjs → chunk-DVNUDUVT.mjs} +1 -1
  522. package/dist/client/{chunk-6GVVWSPU.mjs → chunk-EQKYMX4N.mjs} +348 -301
  523. package/dist/client/{chunk-YLMKMCSJ.mjs → chunk-GFSQNTRW.mjs} +1 -3
  524. package/dist/client/chunk-L4J5Y62O.mjs +18 -0
  525. package/dist/client/{chunk-PUOELU4O.mjs → chunk-RJHTCTCZ.mjs} +550 -262
  526. package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-S3MKFGOG.mjs} +170 -28
  527. package/dist/client/{chunk-CE7IBGVW.mjs → chunk-SBBSMFFG.mjs} +1 -1
  528. package/dist/client/{chunk-4W66ALYT.mjs → chunk-U2EW7RSR.mjs} +1 -1
  529. package/dist/client/{chunk-PYRBIURC.mjs → chunk-WJFHDTYF.mjs} +17 -34
  530. package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-ZF4XEWDM.mjs} +1 -1
  531. package/dist/client/client.mjs +13449 -9393
  532. package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-VUG2JJDB.mjs} +13 -12
  533. package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-E7D2LD4N.mjs} +14 -14
  534. package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-FUZ2Z3CS.mjs} +14 -14
  535. package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-QRITJAOW.mjs} +9 -9
  536. package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-INMQMJZ5.mjs} +14 -14
  537. package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-TOOJD4WU.mjs} +17 -15
  538. package/dist/client/{form-NTIFD6WQ.mjs → form-BOWN7ZNQ.mjs} +3 -3
  539. package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-HFQNZOUU.mjs} +55 -14
  540. package/dist/client/hooks.mjs +26989 -25527
  541. package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-VUZGC7Y5.mjs} +2 -2
  542. package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-X2XQTPCB.mjs} +3 -3
  543. package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-TA7D2G2B.mjs} +8 -7
  544. package/dist/client/{productList-BGCGT4KZ.mjs → productList-AZOLOZKM.mjs} +8 -7
  545. package/dist/client/rendering/client.mjs +5518 -3869
  546. package/dist/client/rendering/islands.mjs +32 -20
  547. package/dist/client/rendering.mjs +14494 -10485
  548. package/dist/client/{shop-RQHUCLNY.mjs → shop-ZDLO7IIG.mjs} +8 -7
  549. package/dist/client/spam-protection.mjs +3 -5
  550. package/dist/preview-next/client/runtime.css +1 -1
  551. package/dist/preview-next/client/runtime.mjs +5 -5
  552. package/dist/preview-next/constants.mjs +0 -2
  553. package/dist/preview-next/index.mjs +0 -2
  554. package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-CTWKNBDQ.mjs} +6 -6
  555. package/dist/{sdk-runtime-EEMNSB7J.css → sdk-runtime-JD4A6SU6.css} +1 -1
  556. package/dist/server/components.mjs +10475 -7369
  557. package/dist/server/config-validation.mjs +26616 -25360
  558. package/dist/server/config.mjs +26616 -25360
  559. package/dist/server/data.mjs +27048 -25586
  560. package/dist/server/index.mjs +109 -56
  561. package/dist/server/next.mjs +15424 -12076
  562. package/dist/server/page-converter.mjs +5570 -3107
  563. package/dist/server/prebuild.mjs +2 -1
  564. package/dist/server/rendering/server.mjs +10850 -7549
  565. package/dist/server/rendering.mjs +10855 -7554
  566. package/dist/server/routing.mjs +30134 -28531
  567. package/dist/server/server.mjs +27369 -25856
  568. package/dist/server/theme-bridge.mjs +902 -167
  569. package/dist/server/theme.mjs +197 -133
  570. package/dist/styles/index.css +606 -133
  571. package/package.json +16 -16
  572. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
  573. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
  574. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
@@ -1,7 +1,8 @@
1
- import { parseAspectRatioValue, parseColorTokenParts, toBookingTimeZone, resolvePlanningDateInput, formatBookingDate, toScheduledBookingDateTime, formatBookingTime, toScheduledBookingDateRange, formatBookingDateParts, ImagePresets, getCurrentResolveImageUrlContext, renderVideo, renderAudio, resolveMediaNodeResponsiveImage, MediaPlaceholder, computeMediaTransformStyle, rgbColorValue } from './chunk-AUJ5DBZJ.mjs';
1
+ "use client";
2
+ import { parseAspectRatioValue, parseColorTokenParts, toBookingTimeZone, resolvePlanningDateInput, formatBookingDate, toScheduledBookingDateTime, formatBookingTime, toScheduledBookingDateRange, formatBookingDateParts, publicEventPricingDisplay, ImagePresets, getCurrentResolveImageUrlContext, renderVideo, renderAudio, resolveMediaNodeResponsiveImage, MediaPlaceholder, computeMediaTransformStyle, rgbColorValue } from './chunk-S3MKFGOG.mjs';
2
3
  import z2, { z } from 'zod';
3
4
  import { jsxs, jsx } from 'react/jsx-runtime';
4
- import { forwardRef, createElement } from 'react';
5
+ import { createContext, forwardRef, useContext, createElement } from 'react';
5
6
 
6
7
  // ../blocks/src/contracts/runtime.ts
7
8
  function decodeSuccess(value) {
@@ -264,6 +265,7 @@ z.array(publicCourseSchema);
264
265
  // ../blocks/src/system/blocks/events/shared/schemas.ts
265
266
  var eventPresetSchema = z.enum(["event", "class", "workshop", "retreat", "performance"]);
266
267
  var eventScheduleScopeSchema = z.enum(["recurring", "oneOff"]);
268
+ var eventDestinationModeSchema = z.enum(["cms-managed", "system-managed"]);
267
269
  var eventVenueSchema = z.object({
268
270
  id: z.string(),
269
271
  name: z.string(),
@@ -278,9 +280,30 @@ var eventCategorySchema = z.object({
278
280
  name: z.string(),
279
281
  color: z.string().nullable()
280
282
  });
281
- var pricingTypeSchema = z.enum(["free", "paid", "pass_only", "membership_only"]);
283
+ z.enum(["free", "paid"]);
282
284
  var accessRestrictionSchema = z.enum(["none", "category"]);
283
- var eventPricingModeSchema = z.enum(["single", "ticket_types"]);
285
+ z.enum(["single", "ticket_types"]);
286
+ var publicCoursePriceDisplaySchema = z.discriminatedUnion("kind", [
287
+ z.object({ kind: z.literal("free"), currency: z.string() }),
288
+ z.object({ kind: z.literal("exact"), amount: z.number(), currency: z.string() }),
289
+ z.object({ kind: z.literal("from"), amount: z.number(), currency: z.string() }),
290
+ z.object({ kind: z.literal("unavailable"), currency: z.string() })
291
+ ]);
292
+ z.discriminatedUnion("kind", [
293
+ z.object({ kind: z.literal("free"), currency: z.string() }),
294
+ z.object({ kind: z.literal("exact"), amount: z.number(), currency: z.string() }),
295
+ z.object({ kind: z.literal("from"), amount: z.number(), currency: z.string() }),
296
+ z.object({ kind: z.literal("mixed"), paidFromAmount: z.number(), currency: z.string() }),
297
+ z.object({ kind: z.literal("unavailable"), currency: z.string() }),
298
+ z.object({ kind: z.literal("course"), display: publicCoursePriceDisplaySchema })
299
+ ]);
300
+ var publicEventTicketTypePriceDisplaySchema = z.union([
301
+ z.object({ kind: z.literal("free"), currency: z.string() }),
302
+ z.object({ kind: z.literal("exact"), amount: z.number(), currency: z.string() }),
303
+ z.object({ kind: z.literal("from"), amount: z.number(), currency: z.string() }),
304
+ z.object({ kind: z.literal("mixed"), paidFromAmount: z.number(), currency: z.string() }),
305
+ z.object({ kind: z.literal("unavailable"), currency: z.string() })
306
+ ]);
284
307
  var publicEventAttendanceModeSchema = z.enum(["in_person", "online"]);
285
308
  var publicEventAttendanceModeAvailabilitySchema = z.object({
286
309
  mode: publicEventAttendanceModeSchema,
@@ -318,6 +341,34 @@ var publicEventTicketTypeSchema = z.object({
318
341
  createdAt: z.string(),
319
342
  updatedAt: z.string()
320
343
  });
344
+ var publicEventPricingSchema = z.discriminatedUnion("kind", [
345
+ z.object({
346
+ kind: z.literal("drop_in"),
347
+ currency: z.string(),
348
+ display: z.object({ kind: z.literal("free"), currency: z.string() })
349
+ }),
350
+ z.object({
351
+ kind: z.literal("free_registration"),
352
+ currency: z.string(),
353
+ display: z.object({ kind: z.literal("free"), currency: z.string() })
354
+ }),
355
+ z.object({
356
+ kind: z.literal("single_paid"),
357
+ amount: z.number(),
358
+ currency: z.string(),
359
+ display: z.object({ kind: z.literal("exact"), amount: z.number(), currency: z.string() })
360
+ }),
361
+ z.object({
362
+ kind: z.literal("ticket_types"),
363
+ currency: z.string(),
364
+ ticketTypes: z.array(publicEventTicketTypeSchema),
365
+ display: publicEventTicketTypePriceDisplaySchema
366
+ }),
367
+ z.object({
368
+ kind: z.literal("course"),
369
+ display: z.object({ kind: z.literal("course"), display: publicCoursePriceDisplaySchema })
370
+ })
371
+ ]);
321
372
  var publicTeamMemberSummarySchema = z.object({
322
373
  id: z.string(),
323
374
  name: z.string(),
@@ -328,6 +379,7 @@ var publicTeamMemberSummarySchema = z.object({
328
379
  var publicEventSchema = z.object({
329
380
  kind: z.enum(["event", "course_session"]).optional(),
330
381
  eventPreset: eventPresetSchema.optional(),
382
+ eventDestinationMode: eventDestinationModeSchema.optional(),
331
383
  scheduleScope: eventScheduleScopeSchema.optional(),
332
384
  id: z.string(),
333
385
  occurrenceId: z.string(),
@@ -337,10 +389,7 @@ var publicEventSchema = z.object({
337
389
  presentation: z.object({
338
390
  cardTitleOverride: z.string().nullable().optional(),
339
391
  summary: z.string().nullable().optional(),
340
- image: mediaSchema.nullable().optional(),
341
- tags: z.array(z.string()).optional(),
342
- ctaLabel: z.string().nullable().optional(),
343
- badges: z.array(z.string()).optional()
392
+ image: mediaSchema.nullable().optional()
344
393
  }).optional(),
345
394
  slug: z.string(),
346
395
  path: z.string(),
@@ -358,13 +407,8 @@ var publicEventSchema = z.object({
358
407
  teamMembers: z.array(publicTeamMemberSummarySchema).optional(),
359
408
  status: z.enum(["active", "draft", "archived"]).optional(),
360
409
  timeZone: z.string(),
361
- // Pricing & access fields
362
- pricingType: pricingTypeSchema,
363
- price: z.number().nullable(),
364
- currency: z.string(),
410
+ pricing: publicEventPricingSchema,
365
411
  paymentTerms: blockBookingPaymentTermsSchema,
366
- pricingMode: eventPricingModeSchema.optional(),
367
- ticketTypes: z.array(publicEventTicketTypeSchema).optional(),
368
412
  accessRestriction: accessRestrictionSchema,
369
413
  allowedCategoryIds: z.array(z.string()),
370
414
  requireGuestDetails: z.boolean().optional(),
@@ -707,6 +751,57 @@ function relativeLuminance(r, g, b) {
707
751
  return 0.2126 * R + 0.7152 * G + 0.0722 * B;
708
752
  }
709
753
 
754
+ // ../theme-core/src/palette/utils/textColor.ts
755
+ function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
756
+ const { r, g, b } = parseColorToRgb(background);
757
+ const luminance = relativeLuminance(r, g, b);
758
+ const blackContrast = (luminance + 0.05) / 0.05;
759
+ const whiteContrast = 1.05 / (luminance + 0.05);
760
+ if (blackContrast >= minContrast && whiteContrast < minContrast) {
761
+ return "#000000";
762
+ }
763
+ if (whiteContrast >= minContrast && blackContrast < minContrast) {
764
+ return "#FFFFFF";
765
+ }
766
+ return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
767
+ }
768
+ function getTextColorForBackground(background) {
769
+ return pickBlackOrWhiteTextColor(background);
770
+ }
771
+ function parseColorToRgb(input) {
772
+ const trimmed = input.trim();
773
+ if (trimmed.startsWith("#")) {
774
+ return hexToRgb(trimmed);
775
+ }
776
+ const rgbMatch = trimmed.match(
777
+ /^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
778
+ );
779
+ if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
780
+ return {
781
+ r: clamp255(Number(rgbMatch[1])),
782
+ g: clamp255(Number(rgbMatch[2])),
783
+ b: clamp255(Number(rgbMatch[3]))
784
+ };
785
+ }
786
+ throw new Error("Unsupported color format");
787
+ }
788
+ function clamp255(value) {
789
+ if (Number.isNaN(value)) return 0;
790
+ return Math.max(0, Math.min(255, value));
791
+ }
792
+ var STYLE_AXIS_VALUES = {
793
+ tone: ["minimal", "classic", "bold"],
794
+ energy: ["calm", "vibrant"],
795
+ motion: ["subtle", "standard", "expressive"],
796
+ era: ["editorial", "modern", "organic", "technical", "retro"]
797
+ };
798
+ var styleTagsSchema = z.object({
799
+ tone: z.enum(STYLE_AXIS_VALUES.tone).optional(),
800
+ energy: z.enum(STYLE_AXIS_VALUES.energy).optional(),
801
+ motion: z.enum(STYLE_AXIS_VALUES.motion).optional(),
802
+ era: z.enum(STYLE_AXIS_VALUES.era).optional()
803
+ });
804
+
710
805
  // ../theme-core/src/tokens/blockColorTokens.ts
711
806
  var blockColorTokenNames = [
712
807
  "text",
@@ -914,7 +1009,9 @@ var buttonBorderSchema = z.object({
914
1009
  var variantShadowSchema = z.object({
915
1010
  elevation: z.enum(["none", "low", "medium", "high"]),
916
1011
  softness: z.enum(["crisp", "soft", "hard"]).nullable(),
917
- position: z.enum(["bottom", "bottom-right"]).default("bottom")
1012
+ position: z.enum(["bottom", "bottom-right"]).default("bottom"),
1013
+ // Optional palette token for a coloured offset shadow; omit for neutral black.
1014
+ colorToken: themeColorTokenSchema.optional()
918
1015
  });
919
1016
  var variantEffectsSchema = z.object({
920
1017
  base: z.array(effectApplicationSchema).optional(),
@@ -954,20 +1051,28 @@ var buttonSystemSchema = z.object({
954
1051
  variants: z.array(buttonVariantSchema).min(1).max(6),
955
1052
  sizes: buttonSizesSchema.optional()
956
1053
  });
957
- var STYLE_AXIS_VALUES = {
958
- tone: ["minimal", "classic", "bold"],
959
- energy: ["calm", "vibrant"],
960
- motion: ["subtle", "standard", "expressive"],
961
- era: ["editorial", "modern", "organic", "technical", "retro"]
962
- };
963
- var styleTagsSchema = z.object({
964
- tone: z.enum(STYLE_AXIS_VALUES.tone).optional(),
965
- energy: z.enum(STYLE_AXIS_VALUES.energy).optional(),
966
- motion: z.enum(STYLE_AXIS_VALUES.motion).optional(),
967
- era: z.enum(STYLE_AXIS_VALUES.era).optional()
968
- });
969
1054
 
970
- // ../theme-core/src/buttons/personalities/types.ts
1055
+ // ../theme-core/src/buttons/classNames.ts
1056
+ function themeButtonVariantClassNames(variant) {
1057
+ if (variant === DEFAULT_VARIANT_ALIAS_ID) {
1058
+ return [variant];
1059
+ }
1060
+ return [variant, `button-${variant}`];
1061
+ }
1062
+ function themeButtonSizeClassName(size) {
1063
+ return `btn-${size}`;
1064
+ }
1065
+ function themeButtonClassName(spec) {
1066
+ const classes = [
1067
+ ...themeButtonVariantClassNames(spec.variant),
1068
+ themeButtonSizeClassName(spec.size),
1069
+ spec.extraClassName
1070
+ ];
1071
+ return classes.filter(Boolean).join(" ");
1072
+ }
1073
+
1074
+ // ../theme-core/src/buttons/generateButtonCss.ts
1075
+ buttonSizeNameSchema.options;
971
1076
  function asButtonPersonalityId(value) {
972
1077
  if (value.length === 0) {
973
1078
  throw new Error("ButtonPersonalityId must be a non-empty string");
@@ -1435,11 +1540,70 @@ var inkStamp = defineButtonPersonality({
1435
1540
  }
1436
1541
  });
1437
1542
 
1543
+ // ../theme-core/src/buttons/personalities/joy-stamp.ts
1544
+ var joyStamp = defineButtonPersonality({
1545
+ id: "joy-stamp",
1546
+ name: "Joy Stamp",
1547
+ description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
1548
+ tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
1549
+ buttonSystem: {
1550
+ global: {
1551
+ cornerStyle: "pill",
1552
+ shadow: "high",
1553
+ textTransform: "none",
1554
+ // Bold display type on the buttons: use the heading font (Bricolage) at
1555
+ // 700, matching the mockup's chunky button labels.
1556
+ typography: "heading",
1557
+ fontWeight: 700,
1558
+ borderWidth: 2,
1559
+ hoverTransform: "none",
1560
+ hoverColor: "none"
1561
+ },
1562
+ sizes: {
1563
+ sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
1564
+ md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
1565
+ lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
1566
+ xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
1567
+ },
1568
+ variants: [
1569
+ {
1570
+ id: "primary",
1571
+ name: "Primary",
1572
+ enabled: true,
1573
+ priority: 1,
1574
+ background: { type: "solid", colorToken: "primary" },
1575
+ textColorToken: "primaryForeground",
1576
+ borderRadius: "rounded-full",
1577
+ // Cream stamp shadow under the burnt-orange fill.
1578
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
1579
+ effects: {
1580
+ hover: [{ effectId: "press-down" }]
1581
+ }
1582
+ },
1583
+ {
1584
+ id: "secondary",
1585
+ name: "Secondary",
1586
+ enabled: true,
1587
+ priority: 2,
1588
+ background: { type: "transparent" },
1589
+ textColorToken: "text",
1590
+ borderRadius: "rounded-full",
1591
+ border: { widthClass: "border-2", colorToken: "text" },
1592
+ // Brown stamp shadow under the cream outline.
1593
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
1594
+ effects: {
1595
+ hover: [{ effectId: "press-down" }]
1596
+ }
1597
+ }
1598
+ ]
1599
+ }
1600
+ });
1601
+
1438
1602
  // ../theme-core/src/buttons/personalities/pebble.ts
1439
1603
  var pebble = defineButtonPersonality({
1440
1604
  id: "pebble",
1441
1605
  name: "Pebble",
1442
- description: "Generous pill buttons with a soft hover lift.",
1606
+ description: "Generous pill buttons with a quiet colour-softening hover.",
1443
1607
  tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
1444
1608
  buttonSystem: {
1445
1609
  global: {
@@ -1468,8 +1632,7 @@ var pebble = defineButtonPersonality({
1468
1632
  borderRadius: "rounded-full",
1469
1633
  effects: {
1470
1634
  hover: [
1471
- { effectId: "scale-up", options: { scale: "1.03" } },
1472
- { effectId: "drop-shadow", options: { intensity: "medium" } }
1635
+ { effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
1473
1636
  ]
1474
1637
  }
1475
1638
  },
@@ -1708,33 +1871,12 @@ var buttonPersonalities = [
1708
1871
  pebble,
1709
1872
  inkStamp,
1710
1873
  brushedWash,
1711
- showtimePill
1874
+ showtimePill,
1875
+ joyStamp
1712
1876
  ];
1713
1877
  new Map(
1714
1878
  buttonPersonalities.map((p) => [p.id, p])
1715
1879
  );
1716
-
1717
- // ../theme-core/src/buttons/classNames.ts
1718
- function themeButtonVariantClassNames(variant) {
1719
- if (variant === DEFAULT_VARIANT_ALIAS_ID) {
1720
- return [variant];
1721
- }
1722
- return [variant, `button-${variant}`];
1723
- }
1724
- function themeButtonSizeClassName(size) {
1725
- return `btn-${size}`;
1726
- }
1727
- function themeButtonClassName(spec) {
1728
- const classes = [
1729
- ...themeButtonVariantClassNames(spec.variant),
1730
- themeButtonSizeClassName(spec.size),
1731
- spec.extraClassName
1732
- ];
1733
- return classes.filter(Boolean).join(" ");
1734
- }
1735
-
1736
- // ../theme-core/src/buttons/generateButtonCss.ts
1737
- buttonSizeNameSchema.options;
1738
1880
  var cardVariantRoleValues = ["default", "alternative"];
1739
1881
  var boxlessCardVariantValue = "none";
1740
1882
  var legacyCardVariantRoleAliases = {
@@ -1910,45 +2052,6 @@ function resolveOnColorForThemeToken(token) {
1910
2052
  return shade <= 400 ? "#000000" : "#FFFFFF";
1911
2053
  }
1912
2054
 
1913
- // ../theme-core/src/palette/utils/textColor.ts
1914
- function pickBlackOrWhiteTextColor(background, minContrast = 4.5) {
1915
- const { r, g, b } = parseColorToRgb(background);
1916
- const luminance = relativeLuminance(r, g, b);
1917
- const blackContrast = (luminance + 0.05) / 0.05;
1918
- const whiteContrast = 1.05 / (luminance + 0.05);
1919
- if (blackContrast >= minContrast && whiteContrast < minContrast) {
1920
- return "#000000";
1921
- }
1922
- if (whiteContrast >= minContrast && blackContrast < minContrast) {
1923
- return "#FFFFFF";
1924
- }
1925
- return blackContrast >= whiteContrast ? "#000000" : "#FFFFFF";
1926
- }
1927
- function getTextColorForBackground(background) {
1928
- return pickBlackOrWhiteTextColor(background);
1929
- }
1930
- function parseColorToRgb(input) {
1931
- const trimmed = input.trim();
1932
- if (trimmed.startsWith("#")) {
1933
- return hexToRgb(trimmed);
1934
- }
1935
- const rgbMatch = trimmed.match(
1936
- /^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i
1937
- );
1938
- if (rgbMatch?.[1] && rgbMatch[2] && rgbMatch[3]) {
1939
- return {
1940
- r: clamp255(Number(rgbMatch[1])),
1941
- g: clamp255(Number(rgbMatch[2])),
1942
- b: clamp255(Number(rgbMatch[3]))
1943
- };
1944
- }
1945
- throw new Error("Unsupported color format");
1946
- }
1947
- function clamp255(value) {
1948
- if (Number.isNaN(value)) return 0;
1949
- return Math.max(0, Math.min(255, value));
1950
- }
1951
-
1952
2055
  // ../blocks/src/system/helpers/normalizeIds.ts
1953
2056
  function normalizeIdList(parts) {
1954
2057
  const seen = /* @__PURE__ */ new Set();
@@ -2641,6 +2744,22 @@ var behaviourSchema = z.object({
2641
2744
  // Block manages its own wrapper (for sticky/fixed positioning)
2642
2745
  managesOwnWrapper: z.boolean().optional()
2643
2746
  });
2747
+ var quickFieldPrioritySchema = z.array(z.string().min(1)).min(1).superRefine((fieldIds, ctx) => {
2748
+ const seenFieldIds = /* @__PURE__ */ new Set();
2749
+ for (const [index, fieldId] of fieldIds.entries()) {
2750
+ if (seenFieldIds.has(fieldId)) {
2751
+ ctx.addIssue({
2752
+ code: z.ZodIssueCode.custom,
2753
+ path: [index],
2754
+ message: `Duplicate quick-field priority "${fieldId}"`
2755
+ });
2756
+ }
2757
+ seenFieldIds.add(fieldId);
2758
+ }
2759
+ });
2760
+ var previewCustomizeManifestCurationSchema = z.object({
2761
+ quickFieldPriority: quickFieldPrioritySchema
2762
+ });
2644
2763
  var blockCategoryEnum = z.enum([
2645
2764
  "marketing",
2646
2765
  "content",
@@ -2660,6 +2779,7 @@ z.object({
2660
2779
  slots: slotSchema.array().default([]),
2661
2780
  styleTokens: styleTokenSchema.optional(),
2662
2781
  behaviours: behaviourSchema.optional(),
2782
+ previewCustomize: previewCustomizeManifestCurationSchema.optional(),
2663
2783
  layout: NodeTreeSchema.optional(),
2664
2784
  /**
2665
2785
  * Optional list of nested field paths that should be surfaced in the main form body
@@ -3542,6 +3662,7 @@ function createBlockManifest(config) {
3542
3662
  // Always empty
3543
3663
  styleTokens: config.styleTokens,
3544
3664
  behaviours,
3665
+ previewCustomize: config.previewCustomize,
3545
3666
  category: config.category,
3546
3667
  contentTypes: config.contentTypes ? [...config.contentTypes] : void 0,
3547
3668
  tags: config.tags ? [...config.tags] : [],
@@ -4872,6 +4993,17 @@ function addMonths(date, months) {
4872
4993
  base.setDate(Math.min(day, lastDayOfTargetMonth));
4873
4994
  return base;
4874
4995
  }
4996
+ function addDays(date, days) {
4997
+ const result = new Date(date);
4998
+ result.setDate(result.getDate() + days);
4999
+ return result;
5000
+ }
5001
+ function shiftCalendarAnchorDate(date, view, steps) {
5002
+ if (view === "week") {
5003
+ return addDays(date, steps * 7);
5004
+ }
5005
+ return addMonths(date, steps);
5006
+ }
4875
5007
  function getThreeMonthRange(date) {
4876
5008
  const year = date.getFullYear();
4877
5009
  const month = date.getMonth();
@@ -4915,6 +5047,16 @@ function getWeekCalendarDays(baseDate, startOfWeek) {
4915
5047
  }
4916
5048
  return days;
4917
5049
  }
5050
+ function getWeekCalendarDayTuple(baseDate, startOfWeek) {
5051
+ const days = getWeekCalendarDays(baseDate, startOfWeek);
5052
+ assertWeekCalendarDays(days);
5053
+ return days;
5054
+ }
5055
+ function assertWeekCalendarDays(days) {
5056
+ if (days.length !== 7) {
5057
+ throw new Error("Expected week calendar helper to return exactly 7 days");
5058
+ }
5059
+ }
4918
5060
  function getOrderedDayNames(startOfWeek, dayNames = DAY_NAMES) {
4919
5061
  if (startOfWeek === "monday") {
4920
5062
  const sunday = dayNames[0] ?? "Sun";
@@ -4938,6 +5080,29 @@ function formatCalendarTitle(viewDate, view, days, monthNames = MONTH_NAMES) {
4938
5080
  }
4939
5081
  return `${monthNames[viewDate.getMonth()] ?? ""} ${viewDate.getFullYear()}`;
4940
5082
  }
5083
+ function buildCalendarViewport(input) {
5084
+ const monthNames = input.monthNames ?? MONTH_NAMES;
5085
+ if (input.view === "week") {
5086
+ const days2 = getWeekCalendarDayTuple(input.anchorDate, input.startOfWeek);
5087
+ return {
5088
+ kind: "week",
5089
+ anchorDate: input.anchorDate,
5090
+ days: days2,
5091
+ title: formatCalendarTitle(input.anchorDate, "week", [...days2], monthNames)
5092
+ };
5093
+ }
5094
+ const days = getMonthCalendarDays(
5095
+ input.anchorDate.getFullYear(),
5096
+ input.anchorDate.getMonth(),
5097
+ input.startOfWeek
5098
+ );
5099
+ return {
5100
+ kind: "month",
5101
+ anchorDate: input.anchorDate,
5102
+ days,
5103
+ title: formatCalendarTitle(input.anchorDate, "month", days, monthNames)
5104
+ };
5105
+ }
4941
5106
 
4942
5107
  // ../calendar/src/lane-packing.ts
4943
5108
  function assignLanes(intervals) {
@@ -5455,7 +5620,8 @@ function getContainerClass(layout, columns) {
5455
5620
  if (layout === "stack") {
5456
5621
  return "rb-flex rb-flex-col rb-gap-6";
5457
5622
  }
5458
- return `rb-grid rb-items-stretch rb-grid-cols-1 rb-gap-6 ${COLUMN_CLASSES[columns] || COLUMN_CLASSES["3"]}`;
5623
+ const fallbackColumnClass = COLUMN_CLASSES["3"];
5624
+ return `rb-grid rb-items-stretch rb-grid-cols-1 rb-gap-6 ${COLUMN_CLASSES[columns] ?? fallbackColumnClass}`;
5459
5625
  }
5460
5626
  function getCardOrientation(layout) {
5461
5627
  switch (layout) {
@@ -5538,7 +5704,7 @@ function formatTeamMemberNames(names) {
5538
5704
  if (!firstName) return null;
5539
5705
  if (normalized.length === 1) return firstName;
5540
5706
  if (normalized.length === 2 && secondName) return `${firstName} and ${secondName}`;
5541
- const finalName = normalized.at(-1) ?? "";
5707
+ const finalName = normalized[normalized.length - 1] ?? "";
5542
5708
  return `${normalized.slice(0, -1).join(", ")}, and ${finalName}`;
5543
5709
  }
5544
5710
  function formatEventTeacherLine(event) {
@@ -5558,53 +5724,53 @@ function groupEventsByDate(events) {
5558
5724
  }
5559
5725
  return map;
5560
5726
  }
5561
- function formatEventPrice(event) {
5562
- if (event.kind === "course_session") {
5563
- if (!event.course) {
5564
- return "Course";
5565
- }
5566
- const pricing = resolveCoursePricingState({
5567
- pricing: event.course.pricing,
5568
- priceCents: event.course.priceCents,
5569
- currency: event.course.currency
5570
- });
5571
- if (pricing.display.kind === "exact" || pricing.display.kind === "from") {
5572
- const amountLabel = formatCourseCurrencyAmount(pricing.display.amount, pricing.display.currency, {
5573
- minimumFractionDigits: 0,
5574
- maximumFractionDigits: 2
5575
- });
5576
- return pricing.display.kind === "from" ? `Course (From ${amountLabel})` : `Course (${amountLabel})`;
5577
- }
5727
+ function formatCompactCurrencyAmount(amount, currency) {
5728
+ return formatCourseCurrencyAmount(amount, currency, {
5729
+ minimumFractionDigits: 0,
5730
+ maximumFractionDigits: 2
5731
+ });
5732
+ }
5733
+ function formatCourseEventPriceDisplay(display) {
5734
+ if (display.kind !== "course") {
5578
5735
  return "Course";
5579
5736
  }
5580
- switch (event.pricingType) {
5737
+ if (display.display.kind === "exact" || display.display.kind === "from") {
5738
+ const amountLabel = formatCompactCurrencyAmount(
5739
+ display.display.amount,
5740
+ display.display.currency
5741
+ );
5742
+ return display.display.kind === "from" ? `Course (From ${amountLabel})` : `Course (${amountLabel})`;
5743
+ }
5744
+ return "Course";
5745
+ }
5746
+ function formatPublicEventPriceDisplay(display) {
5747
+ switch (display.kind) {
5581
5748
  case "free":
5582
5749
  return "Free";
5583
- case "paid":
5584
- if (event.price != null && event.price > 0) {
5585
- return formatCourseCurrencyAmount(event.price, event.currency || "USD", {
5586
- minimumFractionDigits: 0,
5587
- maximumFractionDigits: 2
5588
- });
5589
- }
5590
- return "Free";
5591
- case "pass_only":
5592
- return "Pass Only";
5593
- case "membership_only":
5594
- return "Members Only";
5595
- default:
5596
- return "Free";
5750
+ case "exact":
5751
+ return formatCompactCurrencyAmount(display.amount, display.currency);
5752
+ case "from":
5753
+ return `From ${formatCompactCurrencyAmount(display.amount, display.currency)}`;
5754
+ case "mixed":
5755
+ return `Free / From ${formatCompactCurrencyAmount(display.paidFromAmount, display.currency)}`;
5756
+ case "unavailable":
5757
+ return "Pricing unavailable";
5758
+ case "course":
5759
+ return formatCourseEventPriceDisplay(display);
5597
5760
  }
5598
5761
  }
5762
+ function formatEventPrice(event) {
5763
+ return formatPublicEventPriceDisplay(publicEventPricingDisplay(event.pricing));
5764
+ }
5599
5765
  function resolveEventCta(event, buttonText) {
5600
5766
  const { isFull: isSoldOut } = getEventAvailability(event);
5601
- const defaultButtonText = event.kind === "course_session" ? "Book course" : "Book now";
5767
+ const defaultButtonText = event.kind === "course_session" ? "Book course" : "Book";
5602
5768
  const effectiveButtonText = buttonText ?? defaultButtonText;
5603
5769
  if (isSoldOut) {
5604
5770
  return { label: "Sold out", href: event.path, hidden: true };
5605
5771
  }
5606
5772
  const enrollmentOpen = event.kind === "course_session" ? event.course?.enrollmentOpen !== false : true;
5607
- const label = !enrollmentOpen ? "Registration closed" : event.presentation?.ctaLabel ?? effectiveButtonText;
5773
+ const label = !enrollmentOpen ? "Registration closed" : effectiveButtonText;
5608
5774
  return { label, href: event.path, hidden: false };
5609
5775
  }
5610
5776
  var MediaNodeServer = ({
@@ -5617,9 +5783,10 @@ var MediaNodeServer = ({
5617
5783
  size = ImagePresets.full,
5618
5784
  fieldPath,
5619
5785
  blockKind,
5620
- blockContent
5786
+ blockContent,
5787
+ imageResolveContext: explicitImageResolveContext
5621
5788
  }) => {
5622
- const imageResolveContext = getCurrentResolveImageUrlContext();
5789
+ const imageResolveContext = explicitImageResolveContext ?? getCurrentResolveImageUrlContext();
5623
5790
  if (!value) return null;
5624
5791
  if (value.type === "video") {
5625
5792
  return renderVideo(value, className, style, imageResolveContext, { playback: videoPlayback });
@@ -5739,14 +5906,13 @@ var EventCard = ({
5739
5906
  const title = event.title;
5740
5907
  const summary = event.presentation?.summary ?? event.description;
5741
5908
  const image = event.presentation?.image ?? null;
5742
- const tags = event.presentation?.tags ?? [];
5743
- const badges = event.presentation?.badges ?? [];
5744
5909
  const category = event.eventCategory;
5745
5910
  const categoryBadge = category && showCategory ? { label: category.name, style: getCategoryBadgeStyle(category.color ?? null) } : null;
5746
5911
  const hasImage = Boolean(showImage && image);
5747
5912
  const teacherLine = formatEventTeacherLine(event);
5748
5913
  const capacityText = showCapacity ? formatCapacityText(event, { isSoldOut, spotsLeft }) : null;
5749
- return /* @__PURE__ */ jsxs("article", { className: `${cardClass} group rb-flex rb-flex-col rb-h-full event-card`, "data-orientation": orientation, children: [
5914
+ const orientationClass = eventCardOrientationClass(orientation);
5915
+ return /* @__PURE__ */ jsxs("article", { className: `${cardClass} group rb-flex rb-flex-col rb-h-full event-card ${orientationClass}`, "data-orientation": orientation, children: [
5750
5916
  hasImage && /* @__PURE__ */ jsxs("div", { className: "card-media event-card-media", children: [
5751
5917
  /* @__PURE__ */ jsx("div", { className: "event-card-overlay", "aria-hidden": "true" }),
5752
5918
  /* @__PURE__ */ jsx(MediaNodeServer, { value: image, className: "event-card-image", size: ImagePresets.card }),
@@ -5790,8 +5956,6 @@ var EventCard = ({
5790
5956
  ] }),
5791
5957
  teacherLine && /* @__PURE__ */ jsx("p", { className: "rb-mb-3 rb-caption status-muted", children: teacherLine }),
5792
5958
  showSummary && summary && /* @__PURE__ */ jsx("p", { className: "card-body rb-mb-3 rb-line-clamp-2 rb-caption", children: summary }),
5793
- badges.length > 0 && /* @__PURE__ */ jsx("div", { className: "event-card-badges rb-mb-2", children: badges.slice(0, 3).map((badge) => /* @__PURE__ */ jsx("span", { className: "event-card-badge", children: badge }, badge)) }),
5794
- tags.length > 0 && /* @__PURE__ */ jsx("div", { className: "event-card-tags rb-mb-3", children: tags.slice(0, 3).map((tag) => /* @__PURE__ */ jsx("span", { className: "event-card-tag", children: tag }, tag)) }),
5795
5959
  /* @__PURE__ */ jsxs("div", { className: "event-card-footer rb-mt-auto rb-pt-4 rb-flex rb-flex-col rb-gap-3", children: [
5796
5960
  capacityText && /* @__PURE__ */ jsx("p", { className: "event-card-capacity rb-caption status-muted rb-text-center", children: capacityText }),
5797
5961
  !isSoldOut && /* @__PURE__ */ jsx(
@@ -5806,6 +5970,14 @@ var EventCard = ({
5806
5970
  ] })
5807
5971
  ] });
5808
5972
  };
5973
+ function eventCardOrientationClass(orientation) {
5974
+ switch (orientation) {
5975
+ case "horizontal":
5976
+ return "event-card--horizontal";
5977
+ case "vertical":
5978
+ return "event-card--vertical";
5979
+ }
5980
+ }
5809
5981
  function formatCapacityText(event, options) {
5810
5982
  if (event.capacity == null) return null;
5811
5983
  if (options.isSoldOut) return "Sold out";
@@ -5841,27 +6013,27 @@ function pickReadableTextColor(background) {
5841
6013
  }
5842
6014
  }
5843
6015
 
5844
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
6016
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs
5845
6017
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
5846
6018
  return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
5847
6019
  }).join(" ").trim();
5848
6020
 
5849
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js
6021
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs
5850
6022
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
5851
6023
 
5852
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js
6024
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.mjs
5853
6025
  var toCamelCase = (string) => string.replace(
5854
6026
  /^([A-Z])|[\s-_]+(\w)/g,
5855
6027
  (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
5856
6028
  );
5857
6029
 
5858
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js
6030
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.mjs
5859
6031
  var toPascalCase = (string) => {
5860
6032
  const camelCase = toCamelCase(string);
5861
6033
  return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
5862
6034
  };
5863
6035
 
5864
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/defaultAttributes.js
6036
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/defaultAttributes.mjs
5865
6037
  var defaultAttributes = {
5866
6038
  xmlns: "http://www.w3.org/2000/svg",
5867
6039
  width: 24,
@@ -5874,7 +6046,7 @@ var defaultAttributes = {
5874
6046
  strokeLinejoin: "round"
5875
6047
  };
5876
6048
 
5877
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js
6049
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs
5878
6050
  var hasA11yProp = (props) => {
5879
6051
  for (const prop in props) {
5880
6052
  if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
@@ -5883,39 +6055,42 @@ var hasA11yProp = (props) => {
5883
6055
  }
5884
6056
  return false;
5885
6057
  };
6058
+ var LucideContext = createContext({});
6059
+ var useLucideContext = () => useContext(LucideContext);
5886
6060
 
5887
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js
6061
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/Icon.mjs
5888
6062
  var Icon = forwardRef(
5889
- ({
5890
- color = "currentColor",
5891
- size = 24,
5892
- strokeWidth = 2,
5893
- absoluteStrokeWidth,
5894
- className = "",
5895
- children,
5896
- iconNode,
5897
- ...rest
5898
- }, ref) => createElement(
5899
- "svg",
5900
- {
5901
- ref,
5902
- ...defaultAttributes,
5903
- width: size,
5904
- height: size,
5905
- stroke: color,
5906
- strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
5907
- className: mergeClasses("lucide", className),
5908
- ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
5909
- ...rest
5910
- },
5911
- [
5912
- ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
5913
- ...Array.isArray(children) ? children : [children]
5914
- ]
5915
- )
6063
+ ({ color, size, strokeWidth, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref) => {
6064
+ const {
6065
+ size: contextSize = 24,
6066
+ strokeWidth: contextStrokeWidth = 2,
6067
+ absoluteStrokeWidth: contextAbsoluteStrokeWidth = false,
6068
+ color: contextColor = "currentColor",
6069
+ className: contextClass = ""
6070
+ } = useLucideContext() ?? {};
6071
+ const calculatedStrokeWidth = absoluteStrokeWidth ?? contextAbsoluteStrokeWidth ? Number(strokeWidth ?? contextStrokeWidth) * 24 / Number(size ?? contextSize) : strokeWidth ?? contextStrokeWidth;
6072
+ return createElement(
6073
+ "svg",
6074
+ {
6075
+ ref,
6076
+ ...defaultAttributes,
6077
+ width: size ?? contextSize ?? defaultAttributes.width,
6078
+ height: size ?? contextSize ?? defaultAttributes.height,
6079
+ stroke: color ?? contextColor,
6080
+ strokeWidth: calculatedStrokeWidth,
6081
+ className: mergeClasses("lucide", contextClass, className),
6082
+ ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
6083
+ ...rest
6084
+ },
6085
+ [
6086
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
6087
+ ...Array.isArray(children) ? children : [children]
6088
+ ]
6089
+ );
6090
+ }
5916
6091
  );
5917
6092
 
5918
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
6093
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/createLucideIcon.mjs
5919
6094
  var createLucideIcon = (iconName, iconNode) => {
5920
6095
  const Component = forwardRef(
5921
6096
  ({ className, ...props }, ref) => createElement(Icon, {
@@ -5933,36 +6108,36 @@ var createLucideIcon = (iconName, iconNode) => {
5933
6108
  return Component;
5934
6109
  };
5935
6110
 
5936
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/arrow-right.js
6111
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/arrow-right.mjs
5937
6112
  var __iconNode = [
5938
6113
  ["path", { d: "M5 12h14", key: "1ays0h" }],
5939
6114
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
5940
6115
  ];
5941
6116
  var ArrowRight = createLucideIcon("arrow-right", __iconNode);
5942
6117
 
5943
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-left.js
6118
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/chevron-left.mjs
5944
6119
  var __iconNode2 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
5945
6120
  var ChevronLeft = createLucideIcon("chevron-left", __iconNode2);
5946
6121
 
5947
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-right.js
6122
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/chevron-right.mjs
5948
6123
  var __iconNode3 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
5949
6124
  var ChevronRight = createLucideIcon("chevron-right", __iconNode3);
5950
6125
 
5951
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/clock.js
6126
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/clock.mjs
5952
6127
  var __iconNode4 = [
5953
- ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
5954
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
6128
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
6129
+ ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
5955
6130
  ];
5956
6131
  var Clock = createLucideIcon("clock", __iconNode4);
5957
6132
 
5958
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/credit-card.js
6133
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/credit-card.mjs
5959
6134
  var __iconNode5 = [
5960
6135
  ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
5961
6136
  ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
5962
6137
  ];
5963
6138
  var CreditCard = createLucideIcon("credit-card", __iconNode5);
5964
6139
 
5965
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sparkles.js
6140
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/sparkles.mjs
5966
6141
  var __iconNode6 = [
5967
6142
  [
5968
6143
  "path",
@@ -5977,7 +6152,7 @@ var __iconNode6 = [
5977
6152
  ];
5978
6153
  var Sparkles = createLucideIcon("sparkles", __iconNode6);
5979
6154
 
5980
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/star.js
6155
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/star.mjs
5981
6156
  var __iconNode7 = [
5982
6157
  [
5983
6158
  "path",
@@ -5989,7 +6164,7 @@ var __iconNode7 = [
5989
6164
  ];
5990
6165
  var Star = createLucideIcon("star", __iconNode7);
5991
6166
 
5992
- // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/ticket.js
6167
+ // ../../node_modules/.pnpm/lucide-react@1.21.0_react@19.2.7/node_modules/lucide-react/dist/esm/icons/ticket.mjs
5993
6168
  var __iconNode8 = [
5994
6169
  [
5995
6170
  "path",
@@ -6021,25 +6196,28 @@ var EventCompactRow = ({
6021
6196
  /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-day", children: dateRail.day }),
6022
6197
  /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-month", children: dateRail.month })
6023
6198
  ] }),
6024
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
6025
- /* @__PURE__ */ jsx("h3", { className: "event-compact-row-title", children: event.title }),
6026
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-meta", children: [
6027
- event.venue && /* @__PURE__ */ jsxs("span", { className: "event-compact-row-venue", children: [
6028
- /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
6029
- event.venue.name
6030
- ] }),
6031
- teacherLine && /* @__PURE__ */ jsx("span", { className: "event-compact-row-teacher", children: teacherLine }),
6032
- /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: price })
6033
- ] })
6034
- ] }),
6035
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-action", children: [
6036
- /* @__PURE__ */ jsxs("span", { className: "event-compact-row-datetime", children: [
6037
- /* @__PURE__ */ jsx(Clock, { "aria-hidden": "true" }),
6038
- formattedTime
6199
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-body", children: [
6200
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
6201
+ /* @__PURE__ */ jsx("h3", { className: "event-compact-row-title", children: event.title }),
6202
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-meta", children: [
6203
+ event.venue && /* @__PURE__ */ jsxs("span", { className: "event-compact-row-venue", children: [
6204
+ /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
6205
+ event.venue.name
6206
+ ] }),
6207
+ teacherLine && /* @__PURE__ */ jsx("span", { className: "event-compact-row-teacher", children: teacherLine }),
6208
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: price })
6209
+ ] })
6039
6210
  ] }),
6040
- cta.hidden ? /* @__PURE__ */ jsx("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsxs("a", { href: cta.href, className: `${buttonClass} event-compact-row-cta`, children: [
6041
- /* @__PURE__ */ jsx("span", { children: cta.label }),
6042
- /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true" })
6211
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-action", children: [
6212
+ /* @__PURE__ */ jsxs("span", { className: "event-compact-row-datetime", children: [
6213
+ /* @__PURE__ */ jsx(Clock, { "aria-hidden": "true" }),
6214
+ formattedTime,
6215
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-action-price", children: price })
6216
+ ] }),
6217
+ cta.hidden ? /* @__PURE__ */ jsx("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsxs("a", { href: cta.href, className: `${buttonClass} event-compact-row-cta`, children: [
6218
+ /* @__PURE__ */ jsx("span", { children: cta.label }),
6219
+ /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true" })
6220
+ ] })
6043
6221
  ] })
6044
6222
  ] })
6045
6223
  ] });
@@ -6072,6 +6250,110 @@ function DateTimeTile({ startsAt, endsAt, timeZone }) {
6072
6250
  ] });
6073
6251
  }
6074
6252
 
6253
+ // ../blocks/src/system/runtime/hooks/utils/normalize.ts
6254
+ function normalizeOptionalId(value) {
6255
+ const trimmed = typeof value === "string" ? value.trim() : void 0;
6256
+ return trimmed ? trimmed : void 0;
6257
+ }
6258
+ function normalizeCsvIds(value) {
6259
+ if (!value) return [];
6260
+ const parts = Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : typeof value === "string" ? value.split(",") : [];
6261
+ return normalizeIdList(parts);
6262
+ }
6263
+ function normalizeCsvString(value) {
6264
+ const ids = normalizeCsvIds(value);
6265
+ return ids.length > 0 ? ids.join(",") : void 0;
6266
+ }
6267
+
6268
+ // ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
6269
+ var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
6270
+ var eventPageSizeSchema = z.union([
6271
+ z.literal(3),
6272
+ z.literal(6),
6273
+ z.literal(10),
6274
+ z.literal(12),
6275
+ z.literal(20),
6276
+ z.literal(24),
6277
+ z.literal(30)
6278
+ ]);
6279
+ var eventPageSizeSet = new Set(eventPageSizeValues);
6280
+ function resolveEventPageSize(value, fallback = 12) {
6281
+ const candidate = typeof value === "number" ? value : typeof value === "string" && value.trim() !== "" ? Number(value.trim()) : null;
6282
+ return candidate != null && Number.isInteger(candidate) && eventPageSizeSet.has(candidate) ? candidate : fallback;
6283
+ }
6284
+ function resolveEventCalendarListPageSize(input) {
6285
+ return resolveEventPageSize(input.eventsPerPage);
6286
+ }
6287
+ var eventListPaginationActionSchema = z.discriminatedUnion("kind", [
6288
+ z.object({
6289
+ kind: z.literal("loadMore"),
6290
+ label: z.string()
6291
+ }),
6292
+ z.object({
6293
+ kind: z.literal("seeAllLink"),
6294
+ label: z.string(),
6295
+ href: z.string()
6296
+ })
6297
+ ]);
6298
+ function resolveEventListPaginationAction(input) {
6299
+ const label = input.loadMoreText?.trim() || input.defaultLabel || "Load more events";
6300
+ const href = input.seeAllUrl?.trim();
6301
+ if (input.paginationMode === "seeAllLink" && href) {
6302
+ return { kind: "seeAllLink", label, href };
6303
+ }
6304
+ return { kind: "loadMore", label };
6305
+ }
6306
+ function normalizeFilterId(value) {
6307
+ const id = normalizeOptionalId(value);
6308
+ return id === "all" ? void 0 : id;
6309
+ }
6310
+ function buildEventRuntimeFilters(input) {
6311
+ const params = {};
6312
+ if (input.eventSurface && input.eventSurface !== "all") {
6313
+ params.eventSurface = input.eventSurface;
6314
+ }
6315
+ const eventPresets = normalizeCsvString(input.filterEventPresets);
6316
+ if (eventPresets) {
6317
+ params.eventPresets = eventPresets;
6318
+ }
6319
+ if (input.scheduleScope && input.scheduleScope !== "any") {
6320
+ params.scheduleScope = input.scheduleScope;
6321
+ }
6322
+ const venueId = normalizeFilterId(input.filterVenueId);
6323
+ const staffMemberId = normalizeFilterId(input.filterStaffMemberId);
6324
+ if (input.eventKind === "courses") {
6325
+ params.kind = "courses";
6326
+ if (venueId) params.venueId = venueId;
6327
+ if (staffMemberId) params.staffMemberId = staffMemberId;
6328
+ return params;
6329
+ }
6330
+ const categoryIds = normalizeCsvString(input.filterCategoryIds);
6331
+ if (categoryIds) {
6332
+ params.categoryIds = categoryIds;
6333
+ }
6334
+ if (input.eventKind === "events") {
6335
+ params.kind = "events";
6336
+ }
6337
+ if (venueId) {
6338
+ params.venueId = venueId;
6339
+ }
6340
+ if (staffMemberId) {
6341
+ params.staffMemberId = staffMemberId;
6342
+ }
6343
+ return params;
6344
+ }
6345
+ function getEventRuntimeFiltersKey(filters) {
6346
+ return JSON.stringify({
6347
+ categoryIds: normalizeCsvString(filters?.categoryIds),
6348
+ staffMemberId: normalizeOptionalId(filters?.staffMemberId),
6349
+ venueId: normalizeOptionalId(filters?.venueId),
6350
+ kind: filters?.kind ?? null,
6351
+ eventSurface: filters?.eventSurface ?? null,
6352
+ eventPresets: normalizeCsvString(filters?.eventPresets),
6353
+ scheduleScope: filters?.scheduleScope ?? null
6354
+ });
6355
+ }
6356
+
6075
6357
  // ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
6076
6358
  var legacyEventCardVariantSchema = z.enum(["variant1", "variant2"]);
6077
6359
  var eventCardVariantInputSchema = z.union([
@@ -6133,10 +6415,8 @@ var eventListingDisplaySchema = z.object({
6133
6415
  var eventListingHydrationSchema = z.object({
6134
6416
  siteId: z.string(),
6135
6417
  stage: previewStageSchema.optional(),
6136
- eventsPerPage: z.string(),
6137
- paginationMode: z.enum(["loadMore", "seeAllLink"]),
6138
- seeAllUrl: z.string().optional(),
6139
- loadMoreText: z.string(),
6418
+ eventsPerPage: eventPageSizeSchema,
6419
+ paginationAction: eventListPaginationActionSchema,
6140
6420
  showFilters: z.boolean(),
6141
6421
  showCategoryFilter: filterAutoShowSchema,
6142
6422
  showVenueFilter: z.boolean(),
@@ -6169,7 +6449,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
6169
6449
  },
6170
6450
  buildRender: (source) => {
6171
6451
  const normalizedEvents = Array.isArray(source.events) ? source.events : [];
6172
- const pageSize = parseInt(source.eventsPerPage ?? "12", 10) || 12;
6452
+ const pageSize = resolveEventPageSize(source.eventsPerPage);
6173
6453
  const initialEvents = normalizedEvents.slice(0, pageSize);
6174
6454
  const didPrefetchEvents = source.events != null;
6175
6455
  const layout = source.layout ?? "grid";
@@ -6184,7 +6464,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
6184
6464
  containerClass: getContainerClass(layout, source.columns ?? "3"),
6185
6465
  cardVariant: normalizeCardVariantRole(source.cardVariant) ?? "default",
6186
6466
  buttonVariant: source.buttonVariant ?? "primary",
6187
- buttonText: source.buttonText ?? "Book now",
6467
+ buttonText: source.buttonText ?? "Book",
6188
6468
  showVenue: source.showVenue ?? true,
6189
6469
  showMap: source.showMap ?? true,
6190
6470
  showCapacity: source.showCapacity ?? true,
@@ -6194,10 +6474,12 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
6194
6474
  hydration: {
6195
6475
  siteId: source.siteId,
6196
6476
  stage: source.stage,
6197
- eventsPerPage: source.eventsPerPage ?? "12",
6198
- paginationMode: source.paginationMode ?? "loadMore",
6199
- seeAllUrl: source.seeAllUrl,
6200
- loadMoreText: source.loadMoreText || "Load more",
6477
+ eventsPerPage: pageSize,
6478
+ paginationAction: resolveEventListPaginationAction({
6479
+ paginationMode: source.paginationMode,
6480
+ seeAllUrl: source.seeAllUrl,
6481
+ loadMoreText: source.loadMoreText
6482
+ }),
6201
6483
  showFilters: source.showFilters ?? false,
6202
6484
  showCategoryFilter: source.showCategoryFilter ?? "auto",
6203
6485
  showVenueFilter: source.showVenueFilter ?? false,
@@ -6252,7 +6534,8 @@ var eventCalendarSourceSchema = z.object(
6252
6534
  layout: eventLayoutSchema.optional(),
6253
6535
  columns: columnOptionSchema.optional(),
6254
6536
  eventsPerPage: z.string().optional(),
6255
- compactEventsPerPage: z.string().optional(),
6537
+ paginationMode: z.enum(["loadMore", "seeAllLink"]).optional(),
6538
+ seeAllUrl: z.string().optional(),
6256
6539
  loadMoreText: z.string().optional(),
6257
6540
  startOfWeek: weekStartSchema.optional(),
6258
6541
  calendarTabViews: calendarTabViewsSchema.optional(),
@@ -6283,8 +6566,8 @@ var eventCalendarDisplaySchema = z.object({
6283
6566
  events: z.array(publicEventSchema),
6284
6567
  listLayout: eventLayoutSchema,
6285
6568
  listColumns: columnOptionSchema,
6286
- eventsPerPage: z.string(),
6287
- loadMoreText: z.string(),
6569
+ eventsPerPage: eventPageSizeSchema,
6570
+ paginationAction: eventListPaginationActionSchema,
6288
6571
  startOfWeek: weekStartSchema,
6289
6572
  calendarTabViews: calendarTabViewsSchema,
6290
6573
  showFilters: z.boolean(),
@@ -6331,6 +6614,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
6331
6614
  "stage"
6332
6615
  );
6333
6616
  function buildEventCalendarDisplay(source) {
6617
+ const listLayout = source.listLayout ?? source.layout ?? "stack";
6334
6618
  return {
6335
6619
  kind: "event-calendar",
6336
6620
  displayMode: source.variant ?? source.displayMode ?? "combined",
@@ -6338,10 +6622,16 @@ function buildEventCalendarDisplay(source) {
6338
6622
  events: (source.events ?? []).slice().sort(
6339
6623
  (left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
6340
6624
  ),
6341
- listLayout: source.listLayout ?? source.layout ?? "stack",
6625
+ listLayout,
6342
6626
  listColumns: source.listColumns ?? source.columns ?? "3",
6343
- eventsPerPage: (source.listLayout ?? source.layout) === "compact" ? source.compactEventsPerPage ?? "10" : source.eventsPerPage ?? "12",
6344
- loadMoreText: source.loadMoreText ?? "Load more events",
6627
+ eventsPerPage: resolveEventCalendarListPageSize({
6628
+ eventsPerPage: source.eventsPerPage
6629
+ }),
6630
+ paginationAction: resolveEventListPaginationAction({
6631
+ paginationMode: source.paginationMode,
6632
+ seeAllUrl: source.seeAllUrl,
6633
+ loadMoreText: source.loadMoreText
6634
+ }),
6345
6635
  startOfWeek: source.startOfWeek ?? "monday",
6346
6636
  calendarTabViews: source.calendarTabViews ?? "both",
6347
6637
  showFilters: source.showFilters ?? true,
@@ -6358,7 +6648,7 @@ function buildEventCalendarDisplay(source) {
6358
6648
  ),
6359
6649
  filterVenueId: normalizeEventVenueId(source.filterVenueId),
6360
6650
  buttonVariant: source.buttonVariant ?? "primary",
6361
- buttonText: source.buttonText ?? "Book now",
6651
+ buttonText: source.buttonText ?? "Book",
6362
6652
  showVenue: source.showVenue ?? true,
6363
6653
  showMap: source.showMap ?? true,
6364
6654
  showCapacity: source.showCapacity ?? true,
@@ -6366,7 +6656,7 @@ function buildEventCalendarDisplay(source) {
6366
6656
  };
6367
6657
  }
6368
6658
  function buildEventCalendarListingDisplay(display, prefetchedEvents, className = display.className) {
6369
- const pageSize = parseInt(display.eventsPerPage, 10) || 12;
6659
+ const pageSize = display.eventsPerPage;
6370
6660
  const initialEvents = display.events.slice(0, pageSize);
6371
6661
  return {
6372
6662
  kind: "event-listing",
@@ -6399,8 +6689,7 @@ function buildEventCalendarListingRender(render, className = render.display.clas
6399
6689
  siteId: hydration.siteId,
6400
6690
  stage: hydration.stage,
6401
6691
  eventsPerPage: display.eventsPerPage,
6402
- paginationMode: "loadMore",
6403
- loadMoreText: display.loadMoreText,
6692
+ paginationAction: display.paginationAction,
6404
6693
  showFilters: display.showFilters,
6405
6694
  showCategoryFilter: display.showCategoryFilter,
6406
6695
  showVenueFilter: display.showVenueFilter,
@@ -6458,7 +6747,8 @@ var eventCombinedSourceSchema = z.object(
6458
6747
  listLayout: eventLayoutSchema.optional(),
6459
6748
  listColumns: columnOptionSchema.optional(),
6460
6749
  eventsPerPage: z.string().optional(),
6461
- compactEventsPerPage: z.string().optional(),
6750
+ paginationMode: z.enum(["loadMore", "seeAllLink"]).optional(),
6751
+ seeAllUrl: z.string().optional(),
6462
6752
  loadMoreText: z.string().optional(),
6463
6753
  startOfWeek: weekStartSchema.optional(),
6464
6754
  calendarTabViews: calendarTabViewsSchema.optional(),
@@ -6488,8 +6778,8 @@ var eventCombinedDisplaySchema = z.object({
6488
6778
  events: z.array(publicEventSchema),
6489
6779
  listLayout: eventLayoutSchema,
6490
6780
  listColumns: columnOptionSchema,
6491
- eventsPerPage: z.string(),
6492
- loadMoreText: z.string(),
6781
+ eventsPerPage: eventPageSizeSchema,
6782
+ paginationAction: eventListPaginationActionSchema,
6493
6783
  startOfWeek: weekStartSchema,
6494
6784
  calendarTabViews: calendarTabViewsSchema,
6495
6785
  showFilters: z.boolean(),
@@ -6536,14 +6826,21 @@ var eventCombinedIslandMetaKeys = defineInteractiveIslandMetaKeys(
6536
6826
  "stage"
6537
6827
  );
6538
6828
  function buildEventCombinedDisplay(source) {
6829
+ const listLayout = source.listLayout ?? "stack";
6539
6830
  return {
6540
6831
  kind: "event-combined",
6541
6832
  className: source.className ?? null,
6542
6833
  events: Array.isArray(source.events) ? [...source.events] : [],
6543
- listLayout: source.listLayout ?? "stack",
6834
+ listLayout,
6544
6835
  listColumns: source.listColumns ?? "3",
6545
- eventsPerPage: source.listLayout === "compact" ? source.compactEventsPerPage ?? "10" : source.eventsPerPage ?? "12",
6546
- loadMoreText: source.loadMoreText ?? "Load more events",
6836
+ eventsPerPage: resolveEventCalendarListPageSize({
6837
+ eventsPerPage: source.eventsPerPage
6838
+ }),
6839
+ paginationAction: resolveEventListPaginationAction({
6840
+ paginationMode: source.paginationMode,
6841
+ seeAllUrl: source.seeAllUrl,
6842
+ loadMoreText: source.loadMoreText
6843
+ }),
6547
6844
  startOfWeek: source.startOfWeek ?? "monday",
6548
6845
  calendarTabViews: source.calendarTabViews ?? "both",
6549
6846
  showFilters: source.showFilters ?? true,
@@ -6563,7 +6860,7 @@ function buildEventCombinedDisplay(source) {
6563
6860
  showMap: source.showMap ?? true,
6564
6861
  showCapacity: source.showCapacity ?? true,
6565
6862
  buttonVariant: source.buttonVariant ?? "primary",
6566
- buttonText: source.buttonText ?? "Book now",
6863
+ buttonText: source.buttonText ?? "Book",
6567
6864
  emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
6568
6865
  };
6569
6866
  }
@@ -6606,6 +6903,7 @@ var eventRegistrationSourceSchema = z.object({
6606
6903
  siteId: z.string().optional(),
6607
6904
  apiBaseUrl: z.string().optional(),
6608
6905
  portalToken: z.string().nullable().optional(),
6906
+ previewToken: z.string().nullable().optional(),
6609
6907
  occurrenceContext: occurrenceContextSchema2.optional(),
6610
6908
  contentEntry: contentEntrySchema2.nullable().optional(),
6611
6909
  events: z.array(publicEventSchema).nullable().optional(),
@@ -6648,12 +6946,14 @@ var eventRegistrationIslandMetaCodec = createZodCodec(z.object({
6648
6946
  siteId: z.string().optional(),
6649
6947
  apiBaseUrl: z.string().optional(),
6650
6948
  portalToken: z.string().nullable().optional(),
6949
+ previewToken: z.string().nullable().optional(),
6651
6950
  stage: previewStageSchema.optional()
6652
6951
  }));
6653
6952
  var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
6654
6953
  "siteId",
6655
6954
  "apiBaseUrl",
6656
6955
  "portalToken",
6956
+ "previewToken",
6657
6957
  "stage"
6658
6958
  );
6659
6959
  function buildEventRegistrationDisplay(source) {
@@ -6696,6 +6996,7 @@ var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec(
6696
6996
  siteId: value.siteId,
6697
6997
  apiBaseUrl: value.apiBaseUrl,
6698
6998
  portalToken: value.portalToken,
6999
+ previewToken: value.previewToken,
6699
7000
  stage: value.stage
6700
7001
  })
6701
7002
  });
@@ -6985,8 +7286,7 @@ function getPresetFields(preset, options) {
6985
7286
  includePhone
6986
7287
  );
6987
7288
  default: {
6988
- const _exhaustive = preset;
6989
- throw new Error(`Unknown newsletter preset: ${_exhaustive}`);
7289
+ throw new Error("Unknown newsletter preset");
6990
7290
  }
6991
7291
  }
6992
7292
  }
@@ -7111,8 +7411,6 @@ var publicProductSchema = z.object({
7111
7411
  slug: z.string()
7112
7412
  }).nullable(),
7113
7413
  summary: z.string().nullable(),
7114
- badges: z.array(z.string()),
7115
- ctaLabel: z.string().nullable(),
7116
7414
  body: z.unknown().nullable(),
7117
7415
  gallery: z.array(
7118
7416
  z.object({
@@ -7388,7 +7686,6 @@ function buildProductCardDisplay(product, options, selectedVariantId) {
7388
7686
  path: product.path ?? null,
7389
7687
  summary: options.showSummary ? product.summary : null,
7390
7688
  priceLabel,
7391
- badges: options.showBadges ? product.badges : [],
7392
7689
  image: product.gallery[0] ? { url: product.gallery[0].url, alt: product.gallery[0].alt ?? null } : null,
7393
7690
  variantOptions: product.variants.map((variant) => ({
7394
7691
  id: variant.id,
@@ -7397,7 +7694,7 @@ function buildProductCardDisplay(product, options, selectedVariantId) {
7397
7694
  })),
7398
7695
  selectedVariantId: selectedVariant?.id ?? null,
7399
7696
  selectionLabel,
7400
- actionLabel: product.ctaLabel || options.addButtonText,
7697
+ actionLabel: options.addButtonText,
7401
7698
  soldOut
7402
7699
  };
7403
7700
  }
@@ -7434,7 +7731,6 @@ function buildProductDetailDisplay(product, options, selectedVariantId) {
7434
7731
  title: product.title,
7435
7732
  priceLabel: formatCommercePrice(selectedVariant?.priceCents ?? product.priceCents, product.currency),
7436
7733
  summary: options.showSummary ? product.summary : null,
7437
- badges: options.showBadges ? product.badges : [],
7438
7734
  categoryLabel: product.category?.name ?? null,
7439
7735
  gallery: product.gallery.map((image) => ({ url: image.url, alt: image.alt ?? null })),
7440
7736
  variantOptions: product.variants.map((variant) => ({
@@ -7444,7 +7740,7 @@ function buildProductDetailDisplay(product, options, selectedVariantId) {
7444
7740
  })),
7445
7741
  selectedVariantId: selectedVariant?.id ?? null,
7446
7742
  selectionLabel: selectedVariant ? `${product.title} \u2013 ${selectedVariant.title}` : product.title,
7447
- actionLabel: product.ctaLabel || options.addButtonText,
7743
+ actionLabel: options.addButtonText,
7448
7744
  soldOut,
7449
7745
  body: product.body
7450
7746
  };
@@ -7579,7 +7875,6 @@ var shopSourceSchema = z.object({
7579
7875
  showDescriptions: z.boolean().optional(),
7580
7876
  showSummary: z.boolean().optional(),
7581
7877
  showBody: z.boolean().optional(),
7582
- showBadges: z.boolean().optional(),
7583
7878
  showPrices: z.boolean().optional(),
7584
7879
  showValidityPeriod: z.boolean().optional(),
7585
7880
  showPricePerCredit: z.boolean().nullable().optional(),
@@ -7612,7 +7907,6 @@ var productCardDisplaySchema = z.object({
7612
7907
  path: z.string().nullable(),
7613
7908
  summary: z.string().nullable(),
7614
7909
  priceLabel: z.string().nullable(),
7615
- badges: z.array(z.string()),
7616
7910
  image: z.object({
7617
7911
  url: z.string(),
7618
7912
  alt: z.string().nullable()
@@ -7649,7 +7943,6 @@ var productDetailDisplaySchema = z.discriminatedUnion("state", [
7649
7943
  title: z.string(),
7650
7944
  priceLabel: z.string(),
7651
7945
  summary: z.string().nullable(),
7652
- badges: z.array(z.string()),
7653
7946
  categoryLabel: z.string().nullable(),
7654
7947
  gallery: z.array(z.object({
7655
7948
  url: z.string(),
@@ -7728,7 +8021,6 @@ var passesMembershipsHydrationSchema = z.object({
7728
8021
  var productListHydrationSchema = z.object({
7729
8022
  products: z.array(publicProductSchema),
7730
8023
  showSummary: z.boolean(),
7731
- showBadges: z.boolean(),
7732
8024
  showPrices: z.boolean(),
7733
8025
  addButtonText: z.string()
7734
8026
  });
@@ -7736,7 +8028,6 @@ var productDetailHydrationSchema = z.object({
7736
8028
  products: z.array(publicProductSchema),
7737
8029
  productId: z.string().nullable(),
7738
8030
  showSummary: z.boolean(),
7739
- showBadges: z.boolean(),
7740
8031
  showBody: z.boolean(),
7741
8032
  addButtonText: z.string()
7742
8033
  });
@@ -7832,14 +8123,12 @@ var productListBlockRuntime = defineProgressiveBlockRuntime({
7832
8123
  columns: source.columns,
7833
8124
  emptyMessage: source.emptyStateText,
7834
8125
  showSummary: source.showSummary !== false,
7835
- showBadges: source.showBadges !== false,
7836
8126
  showPrices: source.showPrices !== false,
7837
8127
  addButtonText: source.addButtonText ?? "Add to cart"
7838
8128
  }),
7839
8129
  hydration: {
7840
8130
  products: source.products ?? [],
7841
8131
  showSummary: source.showSummary !== false,
7842
- showBadges: source.showBadges !== false,
7843
8132
  showPrices: source.showPrices !== false,
7844
8133
  addButtonText: source.addButtonText ?? "Add to cart"
7845
8134
  }
@@ -7863,14 +8152,12 @@ var productDetailBlockRuntime = defineProgressiveBlockRuntime({
7863
8152
  className: source.className,
7864
8153
  emptyMessage: source.emptyStateText,
7865
8154
  showSummary: source.showSummary !== false,
7866
- showBadges: source.showBadges !== false,
7867
8155
  addButtonText: source.addButtonText ?? "Add to cart"
7868
8156
  }),
7869
8157
  hydration: {
7870
8158
  products: source.products ?? [],
7871
8159
  productId: product?.id ?? null,
7872
8160
  showSummary: source.showSummary !== false,
7873
- showBadges: source.showBadges !== false,
7874
8161
  showBody: source.showBody !== false,
7875
8162
  addButtonText: source.addButtonText ?? "Add to cart"
7876
8163
  }
@@ -8031,29 +8318,30 @@ function defineIslandPropsDecoder(kind) {
8031
8318
  }
8032
8319
  /*! Bundled license information:
8033
8320
 
8034
- lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
8035
- lucide-react/dist/esm/shared/src/utils/toKebabCase.js:
8036
- lucide-react/dist/esm/shared/src/utils/toCamelCase.js:
8037
- lucide-react/dist/esm/shared/src/utils/toPascalCase.js:
8038
- lucide-react/dist/esm/defaultAttributes.js:
8039
- lucide-react/dist/esm/shared/src/utils/hasA11yProp.js:
8040
- lucide-react/dist/esm/Icon.js:
8041
- lucide-react/dist/esm/createLucideIcon.js:
8042
- lucide-react/dist/esm/icons/arrow-right.js:
8043
- lucide-react/dist/esm/icons/chevron-left.js:
8044
- lucide-react/dist/esm/icons/chevron-right.js:
8045
- lucide-react/dist/esm/icons/clock.js:
8046
- lucide-react/dist/esm/icons/credit-card.js:
8047
- lucide-react/dist/esm/icons/sparkles.js:
8048
- lucide-react/dist/esm/icons/star.js:
8049
- lucide-react/dist/esm/icons/ticket.js:
8050
- lucide-react/dist/esm/lucide-react.js:
8321
+ lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs:
8322
+ lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs:
8323
+ lucide-react/dist/esm/shared/src/utils/toCamelCase.mjs:
8324
+ lucide-react/dist/esm/shared/src/utils/toPascalCase.mjs:
8325
+ lucide-react/dist/esm/defaultAttributes.mjs:
8326
+ lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs:
8327
+ lucide-react/dist/esm/context.mjs:
8328
+ lucide-react/dist/esm/Icon.mjs:
8329
+ lucide-react/dist/esm/createLucideIcon.mjs:
8330
+ lucide-react/dist/esm/icons/arrow-right.mjs:
8331
+ lucide-react/dist/esm/icons/chevron-left.mjs:
8332
+ lucide-react/dist/esm/icons/chevron-right.mjs:
8333
+ lucide-react/dist/esm/icons/clock.mjs:
8334
+ lucide-react/dist/esm/icons/credit-card.mjs:
8335
+ lucide-react/dist/esm/icons/sparkles.mjs:
8336
+ lucide-react/dist/esm/icons/star.mjs:
8337
+ lucide-react/dist/esm/icons/ticket.mjs:
8338
+ lucide-react/dist/esm/lucide-react.mjs:
8051
8339
  (**
8052
- * @license lucide-react v0.563.0 - ISC
8340
+ * @license lucide-react v1.21.0 - ISC
8053
8341
  *
8054
8342
  * This source code is licensed under the ISC license.
8055
8343
  * See the LICENSE file in the root directory of this source tree.
8056
8344
  *)
8057
8345
  */
8058
8346
 
8059
- export { BOOKING_FORM_DATA_RESERVED_KEYS, ChevronLeft, ChevronRight, CreditCard, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, Sparkles, Star, Ticket, addMonths, assertNever11, buildCartDisplay, buildEventCalendarListingRender, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, clearWorkflowFeedback, defineIslandPropsDecoder, deriveBookingFormViewState, deriveCommerceCheckoutState, err2, formatBookingSubmissionPreparationError, formatCalendarTitle, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getMonthCalendarDays, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, getWeekCalendarDays, groupEventsByDate, isEventContentType, isToday, logger, normalizeEventBlockKind, normalizeIdList, ok, okWith2, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, reportWorkflowError, reportWorkflowSuccess, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, themeButtonClassName, toSelectedCollectionOptionKind };
8347
+ export { BOOKING_FORM_DATA_RESERVED_KEYS, ChevronLeft, ChevronRight, CreditCard, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, Sparkles, Star, Ticket, addMonths, assertNever11, buildCalendarViewport, buildCartDisplay, buildEventCalendarListingRender, buildEventRuntimeFilters, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, clearWorkflowFeedback, defineIslandPropsDecoder, deriveBookingFormViewState, deriveCommerceCheckoutState, err2, formatBookingSubmissionPreparationError, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getEventRuntimeFiltersKey, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, groupEventsByDate, isEventContentType, isToday, logger, normalizeCsvIds, normalizeCsvString, normalizeEventBlockKind, normalizeOptionalId, ok, okWith2, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, reportWorkflowError, reportWorkflowSuccess, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, shiftCalendarAnchorDate, themeButtonClassName, toSelectedCollectionOptionKind };