@riverbankcms/sdk 0.82.0 → 0.84.1

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 (206) hide show
  1. package/README.md +16 -0
  2. package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-X7RLMEI6.mjs} +330 -11
  3. package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-CT67N4O3.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-EIMQ3S2V.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/EventRegistrationWizard.d.ts +0 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +13 -4
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +28 -6
  60. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
  61. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  62. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
  63. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  64. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  65. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  66. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
  67. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
  68. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  69. package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
  70. package/dist/_dts/content-model/src/index.d.ts +1 -0
  71. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  72. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
  73. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
  74. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +7 -5
  75. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
  76. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
  77. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
  78. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
  79. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  80. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
  81. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
  82. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  83. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  84. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  85. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
  86. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
  87. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  88. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
  89. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
  90. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
  91. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
  92. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
  93. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  94. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
  95. package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
  96. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
  97. package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
  98. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
  99. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
  100. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
  101. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  102. package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
  103. package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
  104. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
  105. package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
  106. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  107. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
  108. package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
  109. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  110. package/dist/_dts/sdk/src/version.d.ts +1 -1
  111. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  112. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  113. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  114. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
  115. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  116. package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
  117. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  118. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  119. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  120. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
  121. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  122. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
  123. package/dist/_dts/theme-core/src/schema.d.ts +30 -25
  124. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  125. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
  126. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
  127. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
  128. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  129. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  130. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
  131. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  134. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
  135. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
  136. package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
  137. package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
  138. package/dist/{chunk-XQR6THQJ.mjs → chunk-O62NDCTI.mjs} +3390 -1331
  139. package/dist/{chunk-6FWNF3DJ.mjs → chunk-QRKJDWT7.mjs} +158 -20
  140. package/dist/{chunk-HKB6XVIP.mjs → chunk-RCTJAZSK.mjs} +2 -2
  141. package/dist/{chunk-G35HOQEN.mjs → chunk-X5ZCSU6F.mjs} +132 -46
  142. package/dist/cli/index.mjs +2925 -577
  143. package/dist/cli/init-docs/content/agents-section.md +5 -0
  144. package/dist/cli/init-docs/content/cli-reference.md +13 -0
  145. package/dist/cli/init-docs/content/content-management.md +31 -0
  146. package/dist/cli/init-docs/content/getting-started.md +14 -0
  147. package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
  148. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
  149. package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
  150. package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
  151. package/dist/cli/init-docs/content/workflow-templates.md +107 -2
  152. package/dist/client/{accordion-G34C45TW.mjs → accordion-2UZPBMYM.mjs} +2 -2
  153. package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-DYXT6YB6.mjs} +5 -5
  154. package/dist/client/bookings.mjs +3477 -186
  155. package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-QH77HR6X.mjs} +3 -3
  156. package/dist/client/{cart-Q6S6LZUO.mjs → cart-X4YK4FTW.mjs} +6 -6
  157. package/dist/client/{checkout-5QJLDE4I.mjs → checkout-OM2BEPWD.mjs} +6 -6
  158. package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-3DTWLTXM.mjs} +1 -1
  159. package/dist/client/{chunk-5PQH4Y75.mjs → chunk-4OXKTA3D.mjs} +2 -2
  160. package/dist/client/{chunk-WJFHDTYF.mjs → chunk-52CGCQ7B.mjs} +5 -5
  161. package/dist/client/{chunk-CHAB5ACD.mjs → chunk-7UCLJ5SP.mjs} +2 -2
  162. package/dist/client/{chunk-U2EW7RSR.mjs → chunk-F5VRX5Y6.mjs} +1 -1
  163. package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
  164. package/dist/client/{chunk-EQKYMX4N.mjs → chunk-UHDWIXVR.mjs} +180 -157
  165. package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-VGDBVNOO.mjs} +429 -15
  166. package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
  167. package/dist/client/{chunk-CSZGLBYR.mjs → chunk-ZKUO52W3.mjs} +1 -1
  168. package/dist/client/client.mjs +2685 -847
  169. package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-YBOGURTA.mjs} +5 -5
  170. package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-K4QJVCMD.mjs} +7 -7
  171. package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-MTXGMTCZ.mjs} +7 -7
  172. package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-3PC4NL3U.mjs} +7 -7
  173. package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-TFJET6DN.mjs} +7 -7
  174. package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-QGPBGJTW.mjs} +7 -7
  175. package/dist/client/{form-BOWN7ZNQ.mjs → form-MDKR4FNB.mjs} +2 -2
  176. package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-Y5TMR3TW.mjs} +3 -3
  177. package/dist/client/hooks.mjs +2077 -546
  178. package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-RH2LG7FZ.mjs} +2 -2
  179. package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-ZR5UDGBT.mjs} +2 -2
  180. package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-OIGDR4YE.mjs} +6 -6
  181. package/dist/client/{productList-AZOLOZKM.mjs → productList-4MA5S2CX.mjs} +6 -6
  182. package/dist/client/rendering/client.mjs +2560 -1205
  183. package/dist/client/rendering/islands.mjs +19 -19
  184. package/dist/client/rendering.mjs +2932 -1021
  185. package/dist/client/{shop-ZDLO7IIG.mjs → shop-WXSYV5QO.mjs} +6 -6
  186. package/dist/preview-next/before-render.mjs +40 -0
  187. package/dist/preview-next/client/runtime.mjs +5 -5
  188. package/dist/preview-next/middleware.mjs +40 -0
  189. package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-7HJYPRWQ.mjs} +6 -6
  190. package/dist/server/components.mjs +2232 -534
  191. package/dist/server/config-validation.mjs +2068 -536
  192. package/dist/server/config.mjs +2068 -536
  193. package/dist/server/data.mjs +2077 -546
  194. package/dist/server/index.mjs +42 -1
  195. package/dist/server/next.mjs +2345 -574
  196. package/dist/server/page-converter.mjs +2684 -1220
  197. package/dist/server/prebuild.mjs +1 -1
  198. package/dist/server/rendering/server.mjs +2244 -546
  199. package/dist/server/rendering.mjs +2323 -552
  200. package/dist/server/routing.mjs +2012 -420
  201. package/dist/server/server.mjs +2153 -549
  202. package/dist/server/theme-bridge.mjs +1180 -101
  203. package/dist/server/theme.mjs +92 -1
  204. package/dist/styles/index.css +292 -36
  205. package/package.json +1 -1
  206. package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import type { LinkPayload, NavigationLinkInput } from '../../public-api/contracts';
7
7
  import type { SiteCommandOf } from '../../../../site-commands/src/index';
8
+ import type { SdkEventPricing, SdkEventPricingInput, SdkEventTicketTypeInput } from '../../../../api/src/sdk-event-pricing';
8
9
  import type { Theme } from '../../contracts';
9
10
  export interface ManagementClientConfig {
10
11
  /**
@@ -40,13 +41,27 @@ export interface ManagementEntry {
40
41
  updatedAt: string;
41
42
  publishedAt: string | null;
42
43
  manualOrder: number;
44
+ blocks?: EntrySlotBlocks;
43
45
  }
46
+ export interface EntrySlotBlock {
47
+ identifier: string | null;
48
+ kind: string;
49
+ content: Record<string, unknown>;
50
+ }
51
+ export type EntrySlotBlocks = Record<string, EntrySlotBlock[]>;
52
+ export interface EntrySlotBlockInput {
53
+ identifier?: string | null;
54
+ kind: string;
55
+ content: Record<string, unknown>;
56
+ }
57
+ export type EntrySlotBlocksInput = Record<string, EntrySlotBlockInput[]>;
44
58
  export interface EntryUpsertInput {
45
59
  identifier: string;
46
60
  contentType: string;
47
61
  data: Record<string, unknown>;
48
62
  slug?: string;
49
63
  manualOrder?: number;
64
+ blocks?: EntrySlotBlocksInput;
50
65
  }
51
66
  export interface ManagementPage {
52
67
  id: string;
@@ -355,17 +370,31 @@ export interface EventSchedule {
355
370
  defaultStartTime: string;
356
371
  durationMinutes: number;
357
372
  }
373
+ export interface EventStartEndSchedule {
374
+ /** Start/end schedules are currently supported for one-off SDK-managed events only. */
375
+ recurrenceRule?: null;
376
+ /** ISO datetime. Local datetime strings are treated as event-local wall time by the API. */
377
+ startsAt: string;
378
+ /** ISO datetime. Must be after startsAt and no more than the shared event duration maximum. */
379
+ endsAt: string;
380
+ durationMinutes?: never;
381
+ }
382
+ export interface EventStartDurationSchedule {
383
+ /** Start/duration schedules are currently supported for one-off SDK-managed events only. */
384
+ recurrenceRule?: null;
385
+ /** ISO datetime. Local datetime strings are treated as event-local wall time by the API. */
386
+ startsAt: string;
387
+ /** Must be no more than the shared event duration maximum. */
388
+ durationMinutes: number;
389
+ endsAt?: never;
390
+ }
391
+ export type EventScheduleUpsertInput = EventSchedule | EventStartEndSchedule | EventStartDurationSchedule;
392
+ export type EventTicketTypeInput = SdkEventTicketTypeInput;
358
393
  /**
359
394
  * Pricing configuration for an event series.
360
395
  */
361
- export interface EventPricing {
362
- requiresPayment: boolean;
363
- priceAmount: number | null;
364
- priceCurrency: string | null;
365
- priceDisplay: string | null;
366
- acceptsPasses: boolean;
367
- acceptsMemberships: boolean;
368
- }
396
+ export type EventPricing = SdkEventPricing;
397
+ export type EventPricingInput = SdkEventPricingInput;
369
398
  /**
370
399
  * Event content data (embedded from content_entry).
371
400
  */
@@ -413,9 +442,9 @@ export interface EventSeriesUpsertInput {
413
442
  slug: string;
414
443
  status?: 'draft' | 'active' | 'archived' | 'cancelled';
415
444
  visibility?: 'private' | 'public' | 'unlisted';
416
- schedule: EventSchedule;
445
+ schedule: EventScheduleUpsertInput;
417
446
  capacity?: number | null;
418
- pricing?: Partial<EventPricing>;
447
+ pricing?: EventPricingInput;
419
448
  /** Venue slug - resolved to venue_id on push */
420
449
  venueRef?: string | null;
421
450
  /** Category identifier - resolved to event_category_id on push */
@@ -590,6 +619,7 @@ export interface PulledEntries {
590
619
  */
591
620
  title: string;
592
621
  manualOrder?: number;
622
+ blocks?: EntrySlotBlocks;
593
623
  }>;
594
624
  meta: {
595
625
  pulledAt: string;
@@ -19,6 +19,18 @@ export type MediaDeliveryOptions = {
19
19
  strategy?: 'default' | 'columnsAuto' | 'imageGalleryVariant';
20
20
  strategyOptions?: Record<string, unknown>;
21
21
  };
22
+ export type FieldVisibilityPredicate = {
23
+ field: string;
24
+ equals?: unknown;
25
+ notEquals?: unknown;
26
+ oneOf?: unknown[];
27
+ notIn?: unknown[];
28
+ minItems?: number;
29
+ maxItems?: number;
30
+ };
31
+ export type FieldVisibilityCondition = FieldVisibilityPredicate | {
32
+ allOf: FieldVisibilityPredicate[];
33
+ };
22
34
  export type FieldUi = Partial<{
23
35
  widget: string;
24
36
  preset: 'disclosure';
@@ -48,13 +60,7 @@ export type FieldUi = Partial<{
48
60
  showValue: boolean;
49
61
  pattern: string;
50
62
  placeholder: string;
51
- visibleWhen: {
52
- field: string;
53
- equals?: unknown;
54
- notEquals?: unknown;
55
- oneOf?: unknown[];
56
- notIn?: unknown[];
57
- };
63
+ visibleWhen: FieldVisibilityCondition;
58
64
  modalConfig: {
59
65
  buttonLabel?: string;
60
66
  description?: string;
@@ -10,7 +10,7 @@ type UnknownRecord = Record<string, unknown>;
10
10
  type ImageMedia = Omit<Media, 'type'> & {
11
11
  type: 'image';
12
12
  };
13
- type StandardAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4';
13
+ type StandardAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4' | '9/16';
14
14
  export type SemanticSpacing = 'none' | 'compact' | 'cozy' | 'medium' | 'comfortable' | 'spacious';
15
15
  export type ImageColSize = '1/4' | '1/3' | '2/5' | '1/2' | '2/3';
16
16
  export type SectionStylesContent = {
@@ -429,7 +429,8 @@ export type ImageGalleryContent = {
429
429
  };
430
430
  export type MediaTextAlignment = 'left' | 'center';
431
431
  export type MediaTextImagePosition = 'left' | 'right';
432
- export type MediaTextAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4';
432
+ export type MediaTextAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4' | '9/16';
433
+ export type MediaTextImageShape = 'default' | 'square' | 'rounded' | 'circle' | 'arch';
433
434
  export type MediaTextContent = {
434
435
  title?: string | null;
435
436
  titleAlignment?: MediaTextAlignment | null;
@@ -437,6 +438,7 @@ export type MediaTextContent = {
437
438
  gap?: SemanticSpacing | null;
438
439
  ratio?: ImageColSize | null;
439
440
  aspectRatio?: MediaTextAspectRatio | null;
441
+ imageShape?: MediaTextImageShape | null;
440
442
  images?: Array<{
441
443
  image: Media | null;
442
444
  }> | null;
@@ -459,6 +461,23 @@ export type NewsletterSignupContent = {
459
461
  privacyNote?: string | null;
460
462
  _sectionStyles?: SectionStylesContent;
461
463
  };
464
+ export type ContactNewsletterContent = {
465
+ newsletterTitle?: string | null;
466
+ newsletterSubtitle?: RichTextDoc | null;
467
+ listId?: string | null;
468
+ preset?: NewsletterSignupPreset;
469
+ includePhone?: boolean;
470
+ newsletterButtonLabel?: string | null;
471
+ newsletterSuccessMessage?: string | null;
472
+ newsletterPrivacyNote?: string | null;
473
+ newsletterTags?: string | null;
474
+ contactTitle?: string | null;
475
+ contactIntro?: RichTextDoc | null;
476
+ formSlug: string;
477
+ contactSubmitLabel?: string | null;
478
+ contactSuccessMessage?: string | null;
479
+ _sectionStyles?: SectionStylesContent;
480
+ };
462
481
  export type ShopContent = {
463
482
  showPasses?: boolean | null;
464
483
  showMemberships?: boolean | null;
@@ -511,7 +530,10 @@ export type SiteFooterContent = {
511
530
  bodyText?: unknown;
512
531
  bottomText?: unknown;
513
532
  };
514
- export type SiteHeaderContent = Record<string, never>;
533
+ export type SiteHeaderMode = 'default' | 'hidden';
534
+ export type SiteHeaderContent = Readonly<{
535
+ mode?: SiteHeaderMode | null;
536
+ }>;
515
537
  export type ThumbnailShape = 'round' | 'rounded' | 'square';
516
538
  export type LayoutAlign = 'center' | 'left';
517
539
  export type LayoutWidth = 'full' | 'lg-3-4-left';
@@ -678,6 +700,7 @@ export type SystemBlockContentByFullKind = {
678
700
  'block.site-header': SiteHeaderContent;
679
701
  'block.site-footer': SiteFooterContent;
680
702
  'block.form': FormBlockContent;
703
+ 'block.contact-newsletter': ContactNewsletterContent;
681
704
  'block.appointment-booking': AppointmentBookingContent;
682
705
  'block.event-registration': EventRegistrationContent;
683
706
  'block.event-details': EventDetailsContent;
@@ -383,6 +383,18 @@ export type SdkTemplate = {
383
383
  bindings: Record<string, unknown> | null;
384
384
  }>;
385
385
  };
386
+ export type SdkEntrySlotContent = {
387
+ entrySlotId: string;
388
+ slotKey: string;
389
+ blocks: Array<{
390
+ id: string;
391
+ blockId?: string;
392
+ kind: string;
393
+ purpose: string;
394
+ orderIndex?: number | null;
395
+ content: Record<string, unknown> | null;
396
+ }>;
397
+ };
386
398
  export type PageResponse = {
387
399
  page: SdkRuntimePage;
388
400
  templates?: SdkTemplate[];
@@ -391,6 +403,7 @@ export type PageResponse = {
391
403
  } | {
392
404
  entry: SdkRuntimeEntry;
393
405
  templates: SdkTemplate[];
406
+ entrySlots?: SdkEntrySlotContent[];
394
407
  contentTypeSchema: Record<string, unknown> | null;
395
408
  mediaAssets?: SdkRuntimeMediaAsset[];
396
409
  type: "entry";
@@ -20,6 +20,7 @@ export type PageRendererDataContext = {
20
20
  imageResolveContext?: ResolveImageUrlContextInput;
21
21
  apiBaseUrl?: string;
22
22
  portalToken?: string | null;
23
+ previewToken?: string | null;
23
24
  };
24
25
  export type SdkConfigForRenderer = {
25
26
  customBlocks?: SdkCustomBlock[];
@@ -45,6 +45,11 @@ export type PageProps = {
45
45
  * When provided, the reserved `/portal` customer route can make authenticated API calls.
46
46
  */
47
47
  portalToken?: string | null;
48
+ /**
49
+ * Preview token for preview-aware client-side block runtime calls.
50
+ * Optional because normal published rendering does not have or need one.
51
+ */
52
+ previewToken?: string | null;
48
53
  /**
49
54
  * Additional context data for content entry pages.
50
55
  * Used to pass occurrence context and content entry data to blocks.
@@ -84,4 +89,4 @@ export type PageHydrationBootstrapConfig = {
84
89
  mediaAssets?: readonly MediaAssetIndexItem[];
85
90
  };
86
91
  export declare function toPageHydrationBootstrapConfig(props: Pick<PageProps, 'siteId' | 'supabaseUrl' | 'mediaAssets'>): PageHydrationBootstrapConfig;
87
- export declare function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolvedData, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, dataContext, useThemeScope, }: PageProps): ReactElement;
92
+ export declare function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolvedData, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, useThemeScope, }: PageProps): ReactElement;
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- import type { SystemBlockContentByKind, SystemBlockShortKind, Theme, ThemeTokens } from '../contracts';
2
+ import type { EntrySubrouteContextData, OccurrenceContextData, SystemBlockContentByKind, SystemBlockShortKind, Theme, ThemeTokens } from '../contracts';
3
3
  import type { ResolveImageUrlContext } from '../contracts';
4
4
  /**
5
5
  * Props passed to block override components.
@@ -15,6 +15,11 @@ export type BlockOverrideProps<TContent = Record<string, unknown>, TData = Recor
15
15
  siteId?: string;
16
16
  apiBaseUrl?: string;
17
17
  portalToken?: string | null;
18
+ previewToken?: string | null;
19
+ stage?: 'published' | 'preview';
20
+ occurrenceContext?: OccurrenceContextData | null;
21
+ entrySubrouteContext?: EntrySubrouteContextData | null;
22
+ contentEntry?: Record<string, unknown> | null;
18
23
  supabaseUrl?: string;
19
24
  imageResolveContext?: ResolveImageUrlContext;
20
25
  blockId: string | null;
@@ -7,7 +7,7 @@
7
7
  * `@riverbankcms/blocks` (which is not a public dependency). This list is a
8
8
  * stable public contract; keep it in sync with the internal blocks runtime.
9
9
  */
10
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
10
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
11
11
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
12
12
  export type CustomBlockKind = `custom.${string}`;
13
13
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.82.0";
11
+ export declare const SDK_VERSION = "0.84.1";
@@ -271,6 +271,11 @@ export declare const upsertContentEntryCommandSchema: z.ZodObject<{
271
271
  title: z.ZodOptional<z.ZodString>;
272
272
  manualOrder: z.ZodOptional<z.ZodNumber>;
273
273
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
+ blocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
275
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
276
+ kind: z.ZodString;
277
+ content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
278
+ }, z.core.$strict>>>>;
274
279
  linkedSubjectRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
275
280
  mediaRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<MediaRef, string>>>>>;
276
281
  }, z.core.$strict>;
@@ -1203,6 +1208,11 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1203
1208
  title: z.ZodOptional<z.ZodString>;
1204
1209
  manualOrder: z.ZodOptional<z.ZodNumber>;
1205
1210
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1211
+ blocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
1212
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1213
+ kind: z.ZodString;
1214
+ content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1215
+ }, z.core.$strict>>>>;
1206
1216
  linkedSubjectRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
1207
1217
  mediaRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<MediaRef, string>>>>>;
1208
1218
  }, z.core.$strict>;
@@ -2054,6 +2064,11 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2054
2064
  title: z.ZodOptional<z.ZodString>;
2055
2065
  manualOrder: z.ZodOptional<z.ZodNumber>;
2056
2066
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2067
+ blocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
2068
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2069
+ kind: z.ZodString;
2070
+ content: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2071
+ }, z.core.$strict>>>>;
2057
2072
  linkedSubjectRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>>;
2058
2073
  mediaRefs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<MediaRef, string>>>>>;
2059
2074
  }, z.core.$strict>;
@@ -33,8 +33,8 @@ export declare const accordionSystemSchema: z.ZodObject<{
33
33
  spacious: "spacious";
34
34
  }>;
35
35
  corners: z.ZodNullable<z.ZodEnum<{
36
- rounded: "rounded";
37
36
  square: "square";
37
+ rounded: "rounded";
38
38
  pill: "pill";
39
39
  soft: "soft";
40
40
  }>>;
@@ -108,6 +108,17 @@ export declare const buttonPersonalities: readonly [Readonly<{
108
108
  era: import("../../../../blocks/src/index").StyleEra;
109
109
  }>>>;
110
110
  buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
111
+ }>, Readonly<{
112
+ id: ButtonPersonalityId<"ornate-ritual">;
113
+ name: string;
114
+ description: string;
115
+ tags: Readonly<Partial<Readonly<{
116
+ tone: import("../../../../blocks/src/index").StyleTone;
117
+ energy: import("../../../../blocks/src/index").StyleEnergy;
118
+ motion: import("../../../../blocks/src/index").StyleMotion;
119
+ era: import("../../../../blocks/src/index").StyleEra;
120
+ }>>>;
121
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
111
122
  }>];
112
123
  type UnbrandedButtonPersonalityId<TValue> = TValue extends infer TRaw & {
113
124
  readonly __brand: 'ButtonPersonalityId';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Ornate Ritual — framed, ceremonial buttons with jewel-toned fills and
3
+ * deliberate spacing. Designed for music, ceremony, and soulful event sites.
4
+ */
5
+ export declare const ornateRitual: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"ornate-ritual">;
7
+ name: string;
8
+ description: string;
9
+ tags: Readonly<Partial<Readonly<{
10
+ tone: import("../../../../blocks/src/index").StyleTone;
11
+ energy: import("../../../../blocks/src/index").StyleEnergy;
12
+ motion: import("../../../../blocks/src/index").StyleMotion;
13
+ era: import("../../../../blocks/src/index").StyleEra;
14
+ }>>>;
15
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
16
+ }>;
@@ -54,8 +54,8 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
54
54
  buttonSystem: z.ZodObject<{
55
55
  global: z.ZodObject<{
56
56
  cornerStyle: z.ZodEnum<{
57
- rounded: "rounded";
58
57
  square: "square";
58
+ rounded: "rounded";
59
59
  pill: "pill";
60
60
  }>;
61
61
  cornerRadius: z.ZodOptional<z.ZodNumber>;
@@ -96,8 +96,8 @@ export interface ButtonBorder {
96
96
  colorToken: string;
97
97
  }
98
98
  export declare const cornerStyleSchema: z.ZodEnum<{
99
- rounded: "rounded";
100
99
  square: "square";
100
+ rounded: "rounded";
101
101
  pill: "pill";
102
102
  }>;
103
103
  export declare const shadowSizeSchema: z.ZodEnum<{
@@ -231,8 +231,8 @@ export declare const buttonSizesSchema: z.ZodPipe<z.ZodObject<{
231
231
  }>>;
232
232
  export declare const buttonGlobalSettingsSchema: z.ZodObject<{
233
233
  cornerStyle: z.ZodEnum<{
234
- rounded: "rounded";
235
234
  square: "square";
235
+ rounded: "rounded";
236
236
  pill: "pill";
237
237
  }>;
238
238
  cornerRadius: z.ZodOptional<z.ZodNumber>;
@@ -449,8 +449,8 @@ export declare const buttonVariantSchema: z.ZodObject<{
449
449
  export declare const buttonSystemSchema: z.ZodObject<{
450
450
  global: z.ZodObject<{
451
451
  cornerStyle: z.ZodEnum<{
452
- rounded: "rounded";
453
452
  square: "square";
453
+ rounded: "rounded";
454
454
  pill: "pill";
455
455
  }>;
456
456
  cornerRadius: z.ZodOptional<z.ZodNumber>;
@@ -93,8 +93,8 @@ export declare const cardBorderSchema: z.ZodObject<{
93
93
  }, z.core.$strip>;
94
94
  /** Per-corner radius value. `expressive` is a large block-radius multiple. */
95
95
  export declare const cardCornerValueSchema: z.ZodEnum<{
96
- rounded: "rounded";
97
96
  square: "square";
97
+ rounded: "rounded";
98
98
  pill: "pill";
99
99
  soft: "soft";
100
100
  expressive: "expressive";
@@ -122,29 +122,29 @@ export declare const cardAccentEdgeSchema: z.ZodObject<{
122
122
  export type CardAccentEdge = z.infer<typeof cardAccentEdgeSchema>;
123
123
  export declare const cardCornerRadiiSchema: z.ZodObject<{
124
124
  topLeft: z.ZodOptional<z.ZodEnum<{
125
- rounded: "rounded";
126
125
  square: "square";
126
+ rounded: "rounded";
127
127
  pill: "pill";
128
128
  soft: "soft";
129
129
  expressive: "expressive";
130
130
  }>>;
131
131
  topRight: z.ZodOptional<z.ZodEnum<{
132
- rounded: "rounded";
133
132
  square: "square";
133
+ rounded: "rounded";
134
134
  pill: "pill";
135
135
  soft: "soft";
136
136
  expressive: "expressive";
137
137
  }>>;
138
138
  bottomLeft: z.ZodOptional<z.ZodEnum<{
139
- rounded: "rounded";
140
139
  square: "square";
140
+ rounded: "rounded";
141
141
  pill: "pill";
142
142
  soft: "soft";
143
143
  expressive: "expressive";
144
144
  }>>;
145
145
  bottomRight: z.ZodOptional<z.ZodEnum<{
146
- rounded: "rounded";
147
146
  square: "square";
147
+ rounded: "rounded";
148
148
  pill: "pill";
149
149
  soft: "soft";
150
150
  expressive: "expressive";
@@ -203,36 +203,36 @@ export declare const cardVariantSchema: z.ZodObject<{
203
203
  }>>;
204
204
  }, z.core.$strip>>;
205
205
  corners: z.ZodOptional<z.ZodEnum<{
206
- rounded: "rounded";
207
206
  square: "square";
207
+ rounded: "rounded";
208
208
  pill: "pill";
209
209
  soft: "soft";
210
210
  }>>;
211
211
  cornerRadii: z.ZodOptional<z.ZodObject<{
212
212
  topLeft: z.ZodOptional<z.ZodEnum<{
213
- rounded: "rounded";
214
213
  square: "square";
214
+ rounded: "rounded";
215
215
  pill: "pill";
216
216
  soft: "soft";
217
217
  expressive: "expressive";
218
218
  }>>;
219
219
  topRight: z.ZodOptional<z.ZodEnum<{
220
- rounded: "rounded";
221
220
  square: "square";
221
+ rounded: "rounded";
222
222
  pill: "pill";
223
223
  soft: "soft";
224
224
  expressive: "expressive";
225
225
  }>>;
226
226
  bottomLeft: z.ZodOptional<z.ZodEnum<{
227
- rounded: "rounded";
228
227
  square: "square";
228
+ rounded: "rounded";
229
229
  pill: "pill";
230
230
  soft: "soft";
231
231
  expressive: "expressive";
232
232
  }>>;
233
233
  bottomRight: z.ZodOptional<z.ZodEnum<{
234
- rounded: "rounded";
235
234
  square: "square";
235
+ rounded: "rounded";
236
236
  pill: "pill";
237
237
  soft: "soft";
238
238
  expressive: "expressive";
@@ -311,36 +311,36 @@ export declare const cardSystemSchema: z.ZodObject<{
311
311
  }>>;
312
312
  }, z.core.$strip>>;
313
313
  corners: z.ZodOptional<z.ZodEnum<{
314
- rounded: "rounded";
315
314
  square: "square";
315
+ rounded: "rounded";
316
316
  pill: "pill";
317
317
  soft: "soft";
318
318
  }>>;
319
319
  cornerRadii: z.ZodOptional<z.ZodObject<{
320
320
  topLeft: z.ZodOptional<z.ZodEnum<{
321
- rounded: "rounded";
322
321
  square: "square";
322
+ rounded: "rounded";
323
323
  pill: "pill";
324
324
  soft: "soft";
325
325
  expressive: "expressive";
326
326
  }>>;
327
327
  topRight: z.ZodOptional<z.ZodEnum<{
328
- rounded: "rounded";
329
328
  square: "square";
329
+ rounded: "rounded";
330
330
  pill: "pill";
331
331
  soft: "soft";
332
332
  expressive: "expressive";
333
333
  }>>;
334
334
  bottomLeft: z.ZodOptional<z.ZodEnum<{
335
- rounded: "rounded";
336
335
  square: "square";
336
+ rounded: "rounded";
337
337
  pill: "pill";
338
338
  soft: "soft";
339
339
  expressive: "expressive";
340
340
  }>>;
341
341
  bottomRight: z.ZodOptional<z.ZodEnum<{
342
- rounded: "rounded";
343
342
  square: "square";
343
+ rounded: "rounded";
344
344
  pill: "pill";
345
345
  soft: "soft";
346
346
  expressive: "expressive";