@riverbankcms/sdk 0.82.0 → 0.84.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 (194) hide show
  1. package/README.md +16 -0
  2. package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-HML67UDA.mjs} +330 -11
  3. package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-I4BQUU6K.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +200 -0
  6. package/dist/_dts/api/src/blocks.d.ts +36 -0
  7. package/dist/_dts/api/src/contentRuntime.d.ts +46 -0
  8. package/dist/_dts/api/src/endpoints.d.ts +40 -0
  9. package/dist/_dts/api/src/index.d.ts +2 -2
  10. package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
  11. package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
  12. package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
  14. package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
  15. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +22 -36
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
  17. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
  18. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
  19. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +11 -0
  21. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  22. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  23. package/dist/_dts/blocks/src/client.d.ts +4 -0
  24. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
  25. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -2016
  26. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -2016
  27. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -2016
  28. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -2016
  29. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -2016
  30. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
  31. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -2016
  32. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -2016
  33. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
  34. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -7
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2534 -151
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -2016
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -2016
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -2016
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
  41. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  42. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
  45. package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +35 -161
  47. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
  48. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +303 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -3
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +26 -6
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
  56. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  57. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
  58. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  59. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  60. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  61. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
  62. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
  63. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  64. package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
  65. package/dist/_dts/content-model/src/index.d.ts +1 -0
  66. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  67. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
  68. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
  69. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  70. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
  71. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
  72. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
  73. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
  74. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  75. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
  76. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
  77. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  78. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  79. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  80. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
  81. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
  82. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  83. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
  84. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
  85. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
  86. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
  87. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
  88. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  89. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
  90. package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
  91. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
  92. package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
  93. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
  94. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
  95. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
  96. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  97. package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
  98. package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
  99. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
  100. package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
  101. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  102. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
  103. package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
  104. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  105. package/dist/_dts/sdk/src/version.d.ts +1 -1
  106. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  107. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  108. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  109. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
  110. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  111. package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
  112. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  113. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  114. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  115. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
  116. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  117. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
  118. package/dist/_dts/theme-core/src/schema.d.ts +30 -25
  119. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  120. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
  121. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
  122. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
  123. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  124. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  125. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
  126. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  127. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
  128. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  129. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
  130. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
  131. package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
  132. package/dist/{chunk-G35HOQEN.mjs → chunk-5E33VO6J.mjs} +132 -46
  133. package/dist/{chunk-HKB6XVIP.mjs → chunk-6X2OVO3S.mjs} +2 -2
  134. package/dist/{chunk-6FWNF3DJ.mjs → chunk-HFMGVJCE.mjs} +158 -20
  135. package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
  136. package/dist/{chunk-XQR6THQJ.mjs → chunk-MSHZO4SL.mjs} +3193 -1216
  137. package/dist/cli/index.mjs +2635 -575
  138. package/dist/cli/init-docs/content/getting-started.md +2 -0
  139. package/dist/cli/init-docs/content/workflow-templates.md +93 -2
  140. package/dist/client/{accordion-G34C45TW.mjs → accordion-ESY65T56.mjs} +2 -2
  141. package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-JRFNZUHD.mjs} +5 -5
  142. package/dist/client/bookings.mjs +3539 -269
  143. package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-CPR5VWIP.mjs} +3 -3
  144. package/dist/client/{cart-Q6S6LZUO.mjs → cart-ZUX5BA7O.mjs} +6 -6
  145. package/dist/client/{checkout-5QJLDE4I.mjs → checkout-RULGBADZ.mjs} +6 -6
  146. package/dist/client/{chunk-CHAB5ACD.mjs → chunk-52I7BGEK.mjs} +2 -2
  147. package/dist/client/{chunk-CSZGLBYR.mjs → chunk-5ZEAZ33K.mjs} +1 -1
  148. package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-BT6AEIKN.mjs} +1 -1
  149. package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-HXPWP5EN.mjs} +268 -15
  150. package/dist/client/{chunk-5PQH4Y75.mjs → chunk-JWEYB4V6.mjs} +2 -2
  151. package/dist/client/{chunk-EQKYMX4N.mjs → chunk-RDJFCPY3.mjs} +158 -51
  152. package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
  153. package/dist/client/{chunk-WJFHDTYF.mjs → chunk-URQCZD5W.mjs} +5 -5
  154. package/dist/client/{chunk-U2EW7RSR.mjs → chunk-Z5OBQ5I4.mjs} +1 -1
  155. package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
  156. package/dist/client/client.mjs +2391 -673
  157. package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-QTUDC35T.mjs} +5 -5
  158. package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-Q7NS4XLD.mjs} +7 -7
  159. package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-QAO7VUO5.mjs} +7 -7
  160. package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-WTNNU6Q3.mjs} +7 -7
  161. package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-5TA2ELDT.mjs} +7 -7
  162. package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-M6USZGRF.mjs} +7 -7
  163. package/dist/client/{form-BOWN7ZNQ.mjs → form-DGVGXLMH.mjs} +2 -2
  164. package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-O2AGMPCU.mjs} +3 -3
  165. package/dist/client/hooks.mjs +1636 -385
  166. package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-EJRNRIKJ.mjs} +2 -2
  167. package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-7NTC2DTR.mjs} +2 -2
  168. package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-HH4LP53D.mjs} +6 -6
  169. package/dist/client/{productList-AZOLOZKM.mjs → productList-YVHYM2AF.mjs} +6 -6
  170. package/dist/client/rendering/client.mjs +2303 -1068
  171. package/dist/client/rendering/islands.mjs +19 -19
  172. package/dist/client/rendering.mjs +2587 -796
  173. package/dist/client/{shop-ZDLO7IIG.mjs → shop-UIFX7XRK.mjs} +6 -6
  174. package/dist/preview-next/before-render.mjs +40 -0
  175. package/dist/preview-next/client/runtime.mjs +5 -5
  176. package/dist/preview-next/middleware.mjs +40 -0
  177. package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-ZENAOYMN.mjs} +6 -6
  178. package/dist/server/components.mjs +2028 -457
  179. package/dist/server/config-validation.mjs +1629 -377
  180. package/dist/server/config.mjs +1629 -377
  181. package/dist/server/data.mjs +1636 -385
  182. package/dist/server/index.mjs +42 -1
  183. package/dist/server/next.mjs +2215 -571
  184. package/dist/server/page-converter.mjs +2068 -884
  185. package/dist/server/prebuild.mjs +1 -1
  186. package/dist/server/rendering/server.mjs +2040 -469
  187. package/dist/server/rendering.mjs +2119 -475
  188. package/dist/server/routing.mjs +1711 -419
  189. package/dist/server/server.mjs +1718 -394
  190. package/dist/server/theme-bridge.mjs +1180 -101
  191. package/dist/server/theme.mjs +92 -1
  192. package/dist/styles/index.css +292 -36
  193. package/package.json +1 -1
  194. package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
@@ -1,7 +1,7 @@
1
- import { normalizeCarouselProps, CarouselNodeClient } from './chunk-5PQH4Y75.mjs';
1
+ import { normalizeCarouselProps, CarouselNodeClient } from './chunk-JWEYB4V6.mjs';
2
2
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
3
- import { defineIslandPropsDecoder } from './chunk-RJHTCTCZ.mjs';
4
- import './chunk-S3MKFGOG.mjs';
3
+ import { defineIslandPropsDecoder } from './chunk-HXPWP5EN.mjs';
4
+ import './chunk-ZE5G642V.mjs';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
7
7
  var decode = defineIslandPropsDecoder("carousel");
@@ -1,16 +1,16 @@
1
- import { mountShopBlockIsland, CartClient } from './chunk-WJFHDTYF.mjs';
2
- import './chunk-U2EW7RSR.mjs';
3
- import './chunk-5PQH4Y75.mjs';
1
+ import { mountShopBlockIsland, CartClient } from './chunk-URQCZD5W.mjs';
2
+ import './chunk-Z5OBQ5I4.mjs';
3
+ import './chunk-JWEYB4V6.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-ZFHRN6W2.mjs';
6
6
  import './chunk-L4J5Y62O.mjs';
7
- import './chunk-CHAB5ACD.mjs';
7
+ import './chunk-52I7BGEK.mjs';
8
8
  import './chunk-3DCJ45Z2.mjs';
9
9
  import './chunk-DVNUDUVT.mjs';
10
10
  import './chunk-UDNSI5PY.mjs';
11
11
  import './chunk-N7PBWBWQ.mjs';
12
- import { defineIslandPropsDecoder } from './chunk-RJHTCTCZ.mjs';
13
- import './chunk-S3MKFGOG.mjs';
12
+ import { defineIslandPropsDecoder } from './chunk-HXPWP5EN.mjs';
13
+ import './chunk-ZE5G642V.mjs';
14
14
 
15
15
  // src/rendering/islands/enhancers/cart.tsx
16
16
  var decode = defineIslandPropsDecoder("cart");
@@ -1,16 +1,16 @@
1
- import { mountShopBlockIsland, CheckoutClient } from './chunk-WJFHDTYF.mjs';
2
- import './chunk-U2EW7RSR.mjs';
3
- import './chunk-5PQH4Y75.mjs';
1
+ import { mountShopBlockIsland, CheckoutClient } from './chunk-URQCZD5W.mjs';
2
+ import './chunk-Z5OBQ5I4.mjs';
3
+ import './chunk-JWEYB4V6.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-ZFHRN6W2.mjs';
6
6
  import './chunk-L4J5Y62O.mjs';
7
- import './chunk-CHAB5ACD.mjs';
7
+ import './chunk-52I7BGEK.mjs';
8
8
  import './chunk-3DCJ45Z2.mjs';
9
9
  import './chunk-DVNUDUVT.mjs';
10
10
  import './chunk-UDNSI5PY.mjs';
11
11
  import './chunk-N7PBWBWQ.mjs';
12
- import { defineIslandPropsDecoder } from './chunk-RJHTCTCZ.mjs';
13
- import './chunk-S3MKFGOG.mjs';
12
+ import { defineIslandPropsDecoder } from './chunk-HXPWP5EN.mjs';
13
+ import './chunk-ZE5G642V.mjs';
14
14
 
15
15
  // src/rendering/islands/enhancers/checkout.tsx
16
16
  var decode = defineIslandPropsDecoder("checkout");
@@ -1,6 +1,6 @@
1
1
  import { FeedbackMessage } from './chunk-UDNSI5PY.mjs';
2
- import { themeButtonClassName } from './chunk-RJHTCTCZ.mjs';
3
- import { clsx_default } from './chunk-S3MKFGOG.mjs';
2
+ import { themeButtonClassName } from './chunk-HXPWP5EN.mjs';
3
+ import { clsx_default } from './chunk-ZE5G642V.mjs';
4
4
  import { useId } from 'react';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
 
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { assertNever11 } from './chunk-RJHTCTCZ.mjs';
2
+ import { assertNever11 } from './chunk-HXPWP5EN.mjs';
3
3
  import { useReducer, useRef, useCallback, useEffect } from 'react';
4
4
 
5
5
  // ../blocks/src/system/runtime/hooks/usePolling.state.ts
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useBlockApi, BlockApiError } from './chunk-UDNSI5PY.mjs';
3
- import { themeButtonClassName } from './chunk-RJHTCTCZ.mjs';
3
+ import { themeButtonClassName } from './chunk-HXPWP5EN.mjs';
4
4
  import { useState, useSyncExternalStore, useEffect } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,5 +1,5 @@
1
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
+ import { parseAspectRatioValue, parseColorTokenParts, toBookingTimeZone, resolvePlanningDateInput, formatBookingDate, toScheduledBookingDateTime, formatBookingTime, toScheduledBookingDateRange, formatBookingDateParts, publicEventPricingDisplay, ImagePresets, getCurrentResolveImageUrlContext, renderVideo, renderAudio, resolveMediaNodeResponsiveImage, MediaPlaceholder, computeMediaTransformStyle, rgbColorValue } from './chunk-ZE5G642V.mjs';
3
3
  import z2, { z } from 'zod';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
  import { createContext, forwardRef, useContext, createElement } from 'react';
@@ -1599,6 +1599,95 @@ var joyStamp = defineButtonPersonality({
1599
1599
  }
1600
1600
  });
1601
1601
 
1602
+ // ../theme-core/src/buttons/personalities/ornate-ritual.ts
1603
+ var ornateRitual = defineButtonPersonality({
1604
+ id: "ornate-ritual",
1605
+ name: "Ornate Ritual",
1606
+ description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
1607
+ tags: { tone: "classic", energy: "vibrant", motion: "subtle", era: "organic" },
1608
+ buttonSystem: {
1609
+ global: {
1610
+ cornerStyle: "rounded",
1611
+ shadow: "none",
1612
+ textTransform: "uppercase",
1613
+ fontWeight: 600,
1614
+ borderWidth: 1,
1615
+ hoverTransform: "none",
1616
+ hoverColor: "none",
1617
+ letterSpacing: "loose"
1618
+ },
1619
+ sizes: {
1620
+ sm: { padding: "0.5625rem 1.25rem", fontSize: "text-xs" },
1621
+ md: { padding: "0.75rem 1.75rem", fontSize: "text-xs" },
1622
+ lg: { padding: "0.875rem 2.25rem", fontSize: "text-sm" },
1623
+ xl: { padding: "1rem 2.75rem", fontSize: "text-base" }
1624
+ },
1625
+ variants: [
1626
+ {
1627
+ id: "primary",
1628
+ name: "Primary",
1629
+ enabled: true,
1630
+ priority: 1,
1631
+ background: { type: "solid", colorToken: "primary" },
1632
+ textColorToken: "primaryForeground",
1633
+ borderRadius: "rounded-md",
1634
+ border: { widthClass: "border", colorToken: "primary" },
1635
+ shadow: { elevation: "none", softness: null, position: "bottom" },
1636
+ effects: {
1637
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "primary-100" } }],
1638
+ active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
1639
+ }
1640
+ },
1641
+ {
1642
+ id: "secondary",
1643
+ name: "Secondary",
1644
+ enabled: true,
1645
+ priority: 2,
1646
+ background: { type: "solid", colorToken: "secondary" },
1647
+ textColorToken: "primaryForeground",
1648
+ borderRadius: "rounded-md",
1649
+ border: { widthClass: "border", colorToken: "primary" },
1650
+ shadow: { elevation: "none", softness: null, position: "bottom" },
1651
+ effects: {
1652
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
1653
+ }
1654
+ },
1655
+ {
1656
+ id: "outline",
1657
+ name: "Outline",
1658
+ enabled: true,
1659
+ priority: 3,
1660
+ background: { type: "transparent" },
1661
+ textColorToken: "primary",
1662
+ borderRadius: "rounded-md",
1663
+ border: { widthClass: "border", colorToken: "primary" },
1664
+ shadow: { elevation: "none", softness: null, position: "bottom" },
1665
+ effects: {
1666
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
1667
+ }
1668
+ },
1669
+ {
1670
+ id: "ghost",
1671
+ name: "Ghost",
1672
+ enabled: true,
1673
+ priority: 3,
1674
+ background: { type: "transparent" },
1675
+ textColorToken: "accent",
1676
+ borderRadius: "rounded-none",
1677
+ sizes: {
1678
+ sm: { padding: "0.375rem 0", fontSize: "text-xs" },
1679
+ md: { padding: "0.5rem 0", fontSize: "text-sm" },
1680
+ lg: { padding: "0.625rem 0", fontSize: "text-base" },
1681
+ xl: { padding: "0.75rem 0", fontSize: "text-lg" }
1682
+ },
1683
+ effects: {
1684
+ base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
1685
+ }
1686
+ }
1687
+ ]
1688
+ }
1689
+ });
1690
+
1602
1691
  // ../theme-core/src/buttons/personalities/pebble.ts
1603
1692
  var pebble = defineButtonPersonality({
1604
1693
  id: "pebble",
@@ -1872,7 +1961,8 @@ var buttonPersonalities = [
1872
1961
  inkStamp,
1873
1962
  brushedWash,
1874
1963
  showtimePill,
1875
- joyStamp
1964
+ joyStamp,
1965
+ ornateRitual
1876
1966
  ];
1877
1967
  new Map(
1878
1968
  buttonPersonalities.map((p) => [p.id, p])
@@ -2215,6 +2305,21 @@ var selectSourceSchema = z.discriminatedUnion("kind", [
2215
2305
  function assertNeverSelectSource(value) {
2216
2306
  throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
2217
2307
  }
2308
+ var visibleWhenPredicateSchema = z.object({
2309
+ field: z.string().min(1),
2310
+ equals: z.any().optional(),
2311
+ notEquals: z.any().optional(),
2312
+ oneOf: z.array(z.any()).optional(),
2313
+ notIn: z.array(z.any()).optional(),
2314
+ minItems: z.number().int().nonnegative().optional(),
2315
+ maxItems: z.number().int().nonnegative().optional()
2316
+ });
2317
+ var visibleWhenSchema = z.union([
2318
+ visibleWhenPredicateSchema,
2319
+ z.object({
2320
+ allOf: z.array(visibleWhenPredicateSchema).min(1)
2321
+ })
2322
+ ]);
2218
2323
  var uiSchema = z.object({
2219
2324
  widget: z.string().optional(),
2220
2325
  // Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
@@ -2247,13 +2352,7 @@ var uiSchema = z.object({
2247
2352
  showValue: z.boolean().optional(),
2248
2353
  pattern: z.string().optional(),
2249
2354
  placeholder: z.string().optional(),
2250
- visibleWhen: z.object({
2251
- field: z.string().min(1),
2252
- equals: z.any().optional(),
2253
- notEquals: z.any().optional(),
2254
- oneOf: z.array(z.any()).optional(),
2255
- notIn: z.array(z.any()).optional()
2256
- }).optional(),
2355
+ visibleWhen: visibleWhenSchema.optional(),
2257
2356
  // Modal configuration for modal and group fields
2258
2357
  modalConfig: z.object({
2259
2358
  buttonLabel: z.string().optional(),
@@ -5607,6 +5706,126 @@ function getEventAvailability(event) {
5607
5706
  return { available, isFull: false };
5608
5707
  }
5609
5708
 
5709
+ // ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
5710
+ var DEFAULT_EVENT_CURRENCY = "USD";
5711
+ function resolveRuntimeEventPricing(event) {
5712
+ if (isPublicEventPricing(event.pricing)) {
5713
+ return event.pricing;
5714
+ }
5715
+ const legacy = event;
5716
+ const currency = readCurrency(legacy.currency);
5717
+ if (event.requiresRegistration === false) {
5718
+ return {
5719
+ kind: "drop_in",
5720
+ currency,
5721
+ display: { kind: "free", currency }
5722
+ };
5723
+ }
5724
+ if (legacy.pricingMode === "ticket_types") {
5725
+ const ticketTypes = Array.isArray(legacy.ticketTypes) ? legacy.ticketTypes.filter(isPublicEventTicketType) : [];
5726
+ return {
5727
+ kind: "ticket_types",
5728
+ currency,
5729
+ ticketTypes,
5730
+ display: readTicketTypePriceDisplay(legacy.priceDisplay, currency)
5731
+ };
5732
+ }
5733
+ const amount = typeof legacy.price === "number" ? legacy.price : 0;
5734
+ if (legacy.pricingType === "paid" && amount > 0) {
5735
+ return {
5736
+ kind: "single_paid",
5737
+ amount,
5738
+ currency,
5739
+ display: { kind: "exact", amount, currency }
5740
+ };
5741
+ }
5742
+ return {
5743
+ kind: "free_registration",
5744
+ currency,
5745
+ display: { kind: "free", currency }
5746
+ };
5747
+ }
5748
+ function readCurrency(value) {
5749
+ return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
5750
+ }
5751
+ function isRecord2(value) {
5752
+ return typeof value === "object" && value !== null && !Array.isArray(value);
5753
+ }
5754
+ function isPublicEventPricing(value) {
5755
+ if (!isRecord2(value) || typeof value.kind !== "string") return false;
5756
+ return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
5757
+ }
5758
+ function isPublicEventTicketType(value) {
5759
+ return isRecord2(value) && typeof value.id === "string";
5760
+ }
5761
+ function readTicketTypePriceDisplay(value, currency) {
5762
+ const display = readLegacyPriceDisplay(value, currency);
5763
+ return display.kind === "course" ? { kind: "unavailable", currency } : display;
5764
+ }
5765
+ function readLegacyPriceDisplay(value, currency) {
5766
+ if (!isRecord2(value) || typeof value.kind !== "string") {
5767
+ return { kind: "unavailable", currency };
5768
+ }
5769
+ const displayCurrency = readCurrency(value.currency);
5770
+ switch (value.kind) {
5771
+ case "free":
5772
+ return { kind: "free", currency: displayCurrency };
5773
+ case "exact":
5774
+ return readAmount(value.amount) !== null ? {
5775
+ kind: "exact",
5776
+ amount: readAmount(value.amount) ?? 0,
5777
+ currency: displayCurrency
5778
+ } : { kind: "unavailable", currency };
5779
+ case "from":
5780
+ return readAmount(value.amount) !== null ? {
5781
+ kind: "from",
5782
+ amount: readAmount(value.amount) ?? 0,
5783
+ currency: displayCurrency
5784
+ } : { kind: "unavailable", currency };
5785
+ case "mixed":
5786
+ return readAmount(value.paidFromAmount) !== null ? {
5787
+ kind: "mixed",
5788
+ paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
5789
+ currency: displayCurrency
5790
+ } : { kind: "unavailable", currency };
5791
+ case "unavailable":
5792
+ return { kind: "unavailable", currency: displayCurrency };
5793
+ case "course":
5794
+ return isRecord2(value.display) ? {
5795
+ kind: "course",
5796
+ display: readCoursePriceDisplay(value.display, displayCurrency)
5797
+ } : {
5798
+ kind: "course",
5799
+ display: { kind: "unavailable", currency: displayCurrency }
5800
+ };
5801
+ default:
5802
+ return { kind: "unavailable", currency };
5803
+ }
5804
+ }
5805
+ function readCoursePriceDisplay(value, currency) {
5806
+ switch (value.kind) {
5807
+ case "free":
5808
+ return { kind: "free", currency: readCurrency(value.currency) };
5809
+ case "exact":
5810
+ return readAmount(value.amount) !== null ? {
5811
+ kind: "exact",
5812
+ amount: readAmount(value.amount) ?? 0,
5813
+ currency: readCurrency(value.currency)
5814
+ } : { kind: "unavailable", currency };
5815
+ case "from":
5816
+ return readAmount(value.amount) !== null ? {
5817
+ kind: "from",
5818
+ amount: readAmount(value.amount) ?? 0,
5819
+ currency: readCurrency(value.currency)
5820
+ } : { kind: "unavailable", currency };
5821
+ default:
5822
+ return { kind: "unavailable", currency };
5823
+ }
5824
+ }
5825
+ function readAmount(value) {
5826
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
5827
+ }
5828
+
5610
5829
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
5611
5830
  var COLUMN_CLASSES = {
5612
5831
  "2": "rb-sm-grid-cols-2",
@@ -5760,7 +5979,9 @@ function formatPublicEventPriceDisplay(display) {
5760
5979
  }
5761
5980
  }
5762
5981
  function formatEventPrice(event) {
5763
- return formatPublicEventPriceDisplay(publicEventPricingDisplay(event.pricing));
5982
+ return formatPublicEventPriceDisplay(
5983
+ publicEventPricingDisplay(resolveRuntimeEventPricing(event))
5984
+ );
5764
5985
  }
5765
5986
  function resolveEventCta(event, buttonText) {
5766
5987
  const { isFull: isSoldOut } = getEventAvailability(event);
@@ -6894,11 +7115,21 @@ var eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
6894
7115
  stage: value.stage
6895
7116
  })
6896
7117
  });
7118
+ var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
7119
+ var [
7120
+ eventRegistrationGenericDateStepLabel,
7121
+ eventRegistrationGenericTicketsStepLabel,
7122
+ eventRegistrationGenericDetailsStepLabel
7123
+ ] = EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
6897
7124
  var contentEntrySchema2 = z.object({
6898
7125
  id: z.string(),
6899
7126
  slug: z.string(),
6900
7127
  contentTypeSlug: z.string()
6901
7128
  });
7129
+ var eventRegistrationPublicEventSchema = z.preprocess(
7130
+ normalizeEventRegistrationEventInput,
7131
+ publicEventSchema
7132
+ );
6902
7133
  var eventRegistrationSourceSchema = z.object({
6903
7134
  siteId: z.string().optional(),
6904
7135
  apiBaseUrl: z.string().optional(),
@@ -6906,7 +7137,7 @@ var eventRegistrationSourceSchema = z.object({
6906
7137
  previewToken: z.string().nullable().optional(),
6907
7138
  occurrenceContext: occurrenceContextSchema2.optional(),
6908
7139
  contentEntry: contentEntrySchema2.nullable().optional(),
6909
- events: z.array(publicEventSchema).nullable().optional(),
7140
+ events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
6910
7141
  className: z.string().nullable().optional(),
6911
7142
  buttonText: z.string().nullable().optional(),
6912
7143
  maxTickets: z.string().nullable().optional(),
@@ -6921,14 +7152,21 @@ var eventRegistrationSourceSchema = z.object({
6921
7152
  });
6922
7153
  var eventRegistrationDisplaySchema = z.object({
6923
7154
  kind: z.literal("event-registration"),
6924
- state: z.literal("shell"),
7155
+ state: z.literal("generic-shell"),
6925
7156
  className: z.string().nullable(),
7157
+ titleText: z.string(),
7158
+ bodyText: z.string(),
7159
+ stepLabels: z.tuple([
7160
+ z.literal(eventRegistrationGenericDateStepLabel),
7161
+ z.literal(eventRegistrationGenericTicketsStepLabel),
7162
+ z.literal(eventRegistrationGenericDetailsStepLabel)
7163
+ ]),
6926
7164
  summaryButtonText: z.string()
6927
7165
  });
6928
7166
  var eventRegistrationHydrationSchema = z.object({
6929
7167
  occurrenceContext: occurrenceContextSchema2.optional(),
6930
7168
  contentEntry: contentEntrySchema2.nullable().optional(),
6931
- events: z.array(publicEventSchema).nullable().optional(),
7169
+ events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
6932
7170
  maxTickets: z.string().optional(),
6933
7171
  showVenue: z.boolean().optional(),
6934
7172
  showCapacity: z.boolean().optional(),
@@ -6959,8 +7197,11 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
6959
7197
  function buildEventRegistrationDisplay(source) {
6960
7198
  return {
6961
7199
  kind: "event-registration",
6962
- state: "shell",
7200
+ state: "generic-shell",
6963
7201
  className: source.className ?? null,
7202
+ titleText: "Event registration",
7203
+ bodyText: "Preparing dates, tickets, and booking details.",
7204
+ stepLabels: EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS,
6964
7205
  summaryButtonText: source.buttonText?.trim() || "Register"
6965
7206
  };
6966
7207
  }
@@ -6987,6 +7228,18 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
6987
7228
  }
6988
7229
  })
6989
7230
  });
7231
+ function normalizeEventRegistrationEventInput(value) {
7232
+ if (!isRecord3(value)) {
7233
+ return value;
7234
+ }
7235
+ return {
7236
+ ...value,
7237
+ pricing: resolveRuntimeEventPricing(value)
7238
+ };
7239
+ }
7240
+ function isRecord3(value) {
7241
+ return typeof value === "object" && value !== null && !Array.isArray(value);
7242
+ }
6990
7243
  var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
6991
7244
  runtime: eventRegistrationBlockRuntime,
6992
7245
  mode: "event-registration",
@@ -8344,4 +8597,4 @@ lucide-react/dist/esm/lucide-react.mjs:
8344
8597
  *)
8345
8598
  */
8346
8599
 
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 };
8600
+ 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, resolveRuntimeEventPricing, shiftCalendarAnchorDate, themeButtonClassName, toSelectedCollectionOptionKind };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ChevronLeft, ChevronRight } from './chunk-RJHTCTCZ.mjs';
3
- import { clsx_default } from './chunk-S3MKFGOG.mjs';
2
+ import { ChevronLeft, ChevronRight } from './chunk-HXPWP5EN.mjs';
3
+ import { clsx_default } from './chunk-ZE5G642V.mjs';
4
4
  import React, { useRef, useState, useCallback, useEffect } from 'react';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6