@riverbankcms/sdk 0.126.0 → 0.127.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 (126) hide show
  1. package/dist/{PreviewEditorSidebar-DcYJxTgc.mjs → PreviewEditorSidebar-BXtfF7tp.mjs} +58 -38
  2. package/dist/{PreviewEditorUI-Ctt1yTJr.mjs → PreviewEditorUI-Dou73Q0K.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-CvW1vdQ4.mjs → SdkPreviewModeRuntime-B0HPXr-l.mjs} +119 -41
  4. package/dist/{SiteChromeCustomizeContext-C87qlKWw.mjs → SiteChromeCustomizeContext-DZiDBAYu.mjs} +9961 -9583
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  6. package/dist/_dts/api/src/contentRuntime.d.ts +1 -5
  7. package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
  9. package/dist/_dts/blocks/src/index.d.ts +3 -2
  10. package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
  11. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
  12. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
  13. package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  15. package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
  16. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
  17. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
  18. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +143 -155
  19. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
  20. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
  21. package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
  22. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  23. package/dist/_dts/media-editor/src/context.d.ts +1 -2
  24. package/dist/_dts/media-editor/src/index.d.ts +3 -1
  25. package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
  26. package/dist/_dts/media-editor/src/types.d.ts +3 -1
  27. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
  28. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  29. package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
  30. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  31. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
  32. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -49
  33. package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
  34. package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
  35. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
  36. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
  37. package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
  38. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
  39. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
  40. package/dist/_dts/sdk/src/version.d.ts +1 -1
  41. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
  42. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
  43. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
  44. package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
  45. package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
  46. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
  47. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
  48. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +25 -0
  49. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
  50. package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +9 -0
  51. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
  52. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  53. package/dist/_dts/theme-core/src/schema.d.ts +67 -19
  54. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
  55. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
  56. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
  57. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
  58. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
  59. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
  60. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
  61. package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
  62. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  63. package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
  64. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
  65. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
  69. package/dist/cli/index.mjs +973 -1081
  70. package/dist/client/{DiscountCodeDisclosure-DS0AuFWW.mjs → DiscountCodeDisclosure-BDFRp8Y7.mjs} +1 -1
  71. package/dist/client/{EventCombined.client-DtMxLr7q.mjs → EventCombined.client-DJgF1_lf.mjs} +2 -2
  72. package/dist/client/{EventListing.client-BdLSRNg1.mjs → EventListing.client-CnWGNjOr.mjs} +2 -2
  73. package/dist/client/{LeafletStaticMap-BrpC6vsT.mjs → LeafletStaticMap-BISs9Bl7.mjs} +1 -1
  74. package/dist/client/{MagicLinkForm-Bt3IuLMy.mjs → MagicLinkForm-b5E_HoG9.mjs} +1 -1
  75. package/dist/client/{StepIndicator-CBYPFVoy.mjs → StepIndicator-D8gVYkK-.mjs} +2 -2
  76. package/dist/client/{accordion-BqqwPJWM.mjs → accordion-DFDajgDz.mjs} +1 -1
  77. package/dist/client/{bookingForm-SneP3yxC.mjs → bookingForm-Bdqj9-52.mjs} +5 -5
  78. package/dist/client/bookings.mjs +126 -23
  79. package/dist/client/{carousel-BTIR9L3I.mjs → carousel-Cvqf-kN8.mjs} +1 -1
  80. package/dist/client/{cart-bqiqd8SX.mjs → cart-CuH2TJXP.mjs} +3 -3
  81. package/dist/client/{checkout-WbTFV5v4.mjs → checkout-CMNPpejZ.mjs} +3 -3
  82. package/dist/client/client.mjs +1227 -1209
  83. package/dist/client/{courseRegistration-BcemLAdN.mjs → courseRegistration-DTEYWL6Z.mjs} +6 -6
  84. package/dist/client/{eventCalendar-CsxIw0V_.mjs → eventCalendar-BW-XoxZ0.mjs} +4 -4
  85. package/dist/client/{eventCombined-B6XMoHfa.mjs → eventCombined-Bpn7s0y9.mjs} +2 -2
  86. package/dist/client/{eventDetails-BJaoPPfo.mjs → eventDetails-D2uUSTMH.mjs} +3 -3
  87. package/dist/client/{eventListing-DgwdYHRT.mjs → eventListing-CVr1c094.mjs} +2 -2
  88. package/dist/client/{eventRegistration-C0O3folu.mjs → eventRegistration-Dv4AvkMw.mjs} +6 -6
  89. package/dist/client/{form-Bk9txGFt.mjs → form-DxdKf9fs.mjs} +1 -1
  90. package/dist/client/{headerSection-yIBt0yTv.mjs → headerSection-BaXI5Sro.mjs} +2 -2
  91. package/dist/client/hooks.mjs +801 -874
  92. package/dist/client/{locationMap-C-3KIpv-.mjs → locationMap-BEtW2fKz.mjs} +2 -2
  93. package/dist/client/{newsletterForm-CzB8g8h2.mjs → newsletterForm-BKKs0S4R.mjs} +1 -1
  94. package/dist/client/{pricing-C1QeDes_.mjs → pricing-ClkqcElA.mjs} +1 -1
  95. package/dist/client/{productDetail-w7SBp5uc.mjs → productDetail-H-ru8dyy.mjs} +3 -3
  96. package/dist/client/{productList-D0tGKHGf.mjs → productList-Buyi5c0C.mjs} +3 -3
  97. package/dist/client/{propsDecoder-Bcin2DB3.mjs → propsDecoder-BF7i6Ijg.mjs} +127 -55
  98. package/dist/client/rendering/client.mjs +928 -916
  99. package/dist/client/rendering/islands.mjs +18 -18
  100. package/dist/client/rendering.mjs +1130 -1114
  101. package/dist/client/{scrollToBlock-h-o_STf_.mjs → scrollToBlock-D_7t8yWb.mjs} +1 -1
  102. package/dist/client/{shop-BGzmL8O_.mjs → shop-CF7SZQNX.mjs} +5 -5
  103. package/dist/client/{shop-commerce-lX8QxjX-.mjs → shop-commerce-DA7_Rq5p.mjs} +4 -4
  104. package/dist/client/{shop-commerce-store-CEurARtu.mjs → shop-commerce-store-BmLqW7Gh.mjs} +1 -1
  105. package/dist/client/{shopShared-DXxH8xxw.mjs → shopShared-WL-E1znM.mjs} +2 -2
  106. package/dist/client/{useEventFilters-B591g9vd.mjs → useEventFilters-rc8VLeLV.mjs} +2 -2
  107. package/dist/client/{usePolling-BvnChV4m.mjs → usePolling-1ncrfd4S.mjs} +2 -2
  108. package/dist/preview-next/client/runtime.mjs +3 -3
  109. package/dist/{sdk-runtime-M__i3Jce.mjs → sdk-runtime-BnrCCFJq.mjs} +1 -1
  110. package/dist/{separator-VSlnI9bc.mjs → separator-CFvBx2yl.mjs} +1 -1
  111. package/dist/server/components.mjs +1302 -1350
  112. package/dist/server/config-validation.mjs +801 -874
  113. package/dist/server/config.mjs +801 -874
  114. package/dist/server/data.mjs +801 -874
  115. package/dist/server/index.mjs +1 -1
  116. package/dist/server/next.mjs +1303 -1351
  117. package/dist/server/page-converter.mjs +801 -874
  118. package/dist/server/prebuild.mjs +1 -1
  119. package/dist/server/rendering/server.mjs +1296 -1344
  120. package/dist/server/rendering.mjs +1302 -1350
  121. package/dist/server/routing.mjs +869 -895
  122. package/dist/server/server.mjs +802 -875
  123. package/dist/server/theme-bridge.mjs +151 -118
  124. package/dist/server/theme.mjs +111 -23
  125. package/package.json +1 -1
  126. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
@@ -15698,53 +15698,6 @@ export type Database = {
15698
15698
  }
15699
15699
  ];
15700
15700
  };
15701
- site_palettes: {
15702
- Row: {
15703
- canonical_color_hash: string;
15704
- colors: Json;
15705
- created_at: string;
15706
- id: string;
15707
- mode: string;
15708
- origin_kind: string;
15709
- origin_reference: string | null;
15710
- site_id: string;
15711
- updated_at: string;
15712
- version: number;
15713
- };
15714
- Insert: {
15715
- canonical_color_hash: string;
15716
- colors: Json;
15717
- created_at?: string;
15718
- id?: string;
15719
- mode: string;
15720
- origin_kind: string;
15721
- origin_reference?: string | null;
15722
- site_id: string;
15723
- updated_at?: string;
15724
- version?: number;
15725
- };
15726
- Update: {
15727
- canonical_color_hash?: string;
15728
- colors?: Json;
15729
- created_at?: string;
15730
- id?: string;
15731
- mode?: string;
15732
- origin_kind?: string;
15733
- origin_reference?: string | null;
15734
- site_id?: string;
15735
- updated_at?: string;
15736
- version?: number;
15737
- };
15738
- Relationships: [
15739
- {
15740
- foreignKeyName: "site_palettes_site_id_fkey";
15741
- columns: ["site_id"];
15742
- isOneToOne: false;
15743
- referencedRelation: "sites";
15744
- referencedColumns: ["id"];
15745
- }
15746
- ];
15747
- };
15748
15701
  site_proposal_selections: {
15749
15702
  Row: {
15750
15703
  created_at: string;
@@ -16227,9 +16180,7 @@ export type Database = {
16227
16180
  };
16228
16181
  site_theme_selections: {
16229
16182
  Row: {
16230
- active_curated_palette_value_key: string | null;
16231
- active_site_palette_id: string | null;
16232
- button_personality_id: string | null;
16183
+ button_style_id: string | null;
16233
16184
  button_style_options: Json;
16234
16185
  created_at: string;
16235
16186
  footer_look_id: string | null;
@@ -16246,9 +16197,7 @@ export type Database = {
16246
16197
  user_id: string;
16247
16198
  };
16248
16199
  Insert: {
16249
- active_curated_palette_value_key?: string | null;
16250
- active_site_palette_id?: string | null;
16251
- button_personality_id?: string | null;
16200
+ button_style_id?: string | null;
16252
16201
  button_style_options?: Json;
16253
16202
  created_at?: string;
16254
16203
  footer_look_id?: string | null;
@@ -16265,9 +16214,7 @@ export type Database = {
16265
16214
  user_id: string;
16266
16215
  };
16267
16216
  Update: {
16268
- active_curated_palette_value_key?: string | null;
16269
- active_site_palette_id?: string | null;
16270
- button_personality_id?: string | null;
16217
+ button_style_id?: string | null;
16271
16218
  button_style_options?: Json;
16272
16219
  created_at?: string;
16273
16220
  footer_look_id?: string | null;
@@ -16284,13 +16231,6 @@ export type Database = {
16284
16231
  user_id?: string;
16285
16232
  };
16286
16233
  Relationships: [
16287
- {
16288
- foreignKeyName: "site_theme_selections_active_site_palette_fkey";
16289
- columns: ["active_site_palette_id", "site_id"];
16290
- isOneToOne: false;
16291
- referencedRelation: "site_palettes";
16292
- referencedColumns: ["id", "site_id"];
16293
- },
16294
16234
  {
16295
16235
  foreignKeyName: "site_theme_selections_site_id_fkey";
16296
16236
  columns: ["site_id"];
@@ -18818,7 +18758,7 @@ export type Database = {
18818
18758
  apply_site_theme_command_atomic: {
18819
18759
  Args: {
18820
18760
  p_base_selection_version: number;
18821
- p_button_personality_id: string;
18761
+ p_button_style_id: string;
18822
18762
  p_button_style_options: Json;
18823
18763
  p_footer_look_id?: string;
18824
18764
  p_header_layout_id?: string;
@@ -18836,31 +18776,6 @@ export type Database = {
18836
18776
  theme_id: string;
18837
18777
  }[];
18838
18778
  };
18839
- apply_site_theme_command_authoritative_atomic_v2: {
18840
- Args: {
18841
- p_base_selection_version: number;
18842
- p_button_personality_id: string;
18843
- p_button_style_options: Json;
18844
- p_footer_look_id: string;
18845
- p_header_layout_id?: string;
18846
- p_header_look_id: string;
18847
- p_header_style_id?: string;
18848
- p_palette_command: Json;
18849
- p_selection_id?: string;
18850
- p_site_id: string;
18851
- p_theme: Json;
18852
- };
18853
- Returns: {
18854
- active_curated_palette_value_key: string;
18855
- active_site_palette_id: string;
18856
- outcome: string;
18857
- selection_id: string;
18858
- selection_updated_at: string;
18859
- site_palette_version: number;
18860
- style_selection_version: number;
18861
- theme_id: string;
18862
- }[];
18863
- };
18864
18779
  apply_successful_order_payment_atomic: {
18865
18780
  Args: {
18866
18781
  p_allocations: Json;
@@ -19236,6 +19151,21 @@ export type Database = {
19236
19151
  site_id: string;
19237
19152
  }[];
19238
19153
  };
19154
+ claim_dated_offering_waitlist_capacity_effects_v3_atomic: {
19155
+ Args: {
19156
+ p_claim_ttl?: unknown;
19157
+ p_limit?: number;
19158
+ p_now: string;
19159
+ };
19160
+ Returns: {
19161
+ claim_token: string;
19162
+ effect_id: string;
19163
+ event_series_id: string;
19164
+ reason: string;
19165
+ seats_delta: number;
19166
+ site_id: string;
19167
+ }[];
19168
+ };
19239
19169
  claim_due_appointment_payment_requests: {
19240
19170
  Args: {
19241
19171
  p_claim_ttl_seconds?: number;
@@ -20334,12 +20264,6 @@ export type Database = {
20334
20264
  };
20335
20265
  Returns: Json;
20336
20266
  };
20337
- is_complete_palette_colors: {
20338
- Args: {
20339
- p_colors: Json;
20340
- };
20341
- Returns: boolean;
20342
- };
20343
20267
  is_email_allowed: {
20344
20268
  Args: {
20345
20269
  p_email: string;
@@ -20895,41 +20819,19 @@ export type Database = {
20895
20819
  };
20896
20820
  provision_initial_site_theme_atomic: {
20897
20821
  Args: {
20898
- p_button_personality_id: string;
20899
- p_button_style_options: Json;
20900
- p_footer_look_id?: string;
20901
- p_header_layout_id?: string;
20902
- p_header_look_id?: string;
20903
- p_header_style_id?: string;
20904
- p_site_id: string;
20905
- p_theme: Json;
20906
- p_user_id: string;
20907
- };
20908
- Returns: {
20909
- outcome: string;
20910
- selection_id: string;
20911
- theme_id: string;
20912
- }[];
20913
- };
20914
- provision_initial_site_theme_authoritative_atomic_v2: {
20915
- Args: {
20916
- p_button_personality_id: string;
20822
+ p_button_style_id: string;
20917
20823
  p_button_style_options: Json;
20918
20824
  p_footer_look_id?: string;
20919
20825
  p_header_layout_id?: string;
20920
20826
  p_header_look_id?: string;
20921
20827
  p_header_style_id?: string;
20922
- p_palette_command: Json;
20923
20828
  p_site_id: string;
20924
20829
  p_theme: Json;
20925
20830
  p_user_id: string;
20926
20831
  };
20927
20832
  Returns: {
20928
- active_curated_palette_value_key: string;
20929
- active_site_palette_id: string;
20930
20833
  outcome: string;
20931
20834
  selection_id: string;
20932
- site_palette_version: number;
20933
20835
  theme_id: string;
20934
20836
  }[];
20935
20837
  };
@@ -21313,6 +21215,26 @@ export type Database = {
21313
21215
  revocation_outcome: string;
21314
21216
  }[];
21315
21217
  };
21218
+ revoke_dated_offering_consumed_registration_v3_atomic: {
21219
+ Args: {
21220
+ p_enrollment_id: string;
21221
+ p_event_series_id: string;
21222
+ p_hold_id: string;
21223
+ p_intent: string;
21224
+ p_now: string;
21225
+ p_order_item_id?: string;
21226
+ p_refund_id?: string;
21227
+ p_refunded_amount_cents?: number;
21228
+ p_site_id: string;
21229
+ p_waitlist_effect?: string;
21230
+ };
21231
+ Returns: {
21232
+ audit_event_id: string;
21233
+ enrollment_id: string;
21234
+ hold_id: string;
21235
+ revocation_outcome: string;
21236
+ }[];
21237
+ };
21316
21238
  revoke_dated_offering_non_cash_registration_v1_atomic: {
21317
21239
  Args: {
21318
21240
  p_enrollment_id: string;
@@ -21342,6 +21264,20 @@ export type Database = {
21342
21264
  revocation_outcome: string;
21343
21265
  }[];
21344
21266
  };
21267
+ revoke_dated_offering_non_cash_registration_v3_atomic: {
21268
+ Args: {
21269
+ p_enrollment_id: string;
21270
+ p_event_series_id: string;
21271
+ p_now: string;
21272
+ p_order_item_id: string;
21273
+ p_site_id: string;
21274
+ p_waitlist_effect?: string;
21275
+ };
21276
+ Returns: {
21277
+ enrollment_id: string;
21278
+ revocation_outcome: string;
21279
+ }[];
21280
+ };
21345
21281
  revoke_historical_whole_series_registration_v1_atomic: {
21346
21282
  Args: {
21347
21283
  p_enrollment_id: string;
@@ -21370,7 +21306,7 @@ export type Database = {
21370
21306
  };
21371
21307
  save_current_theme_aggregate_atomic: {
21372
21308
  Args: {
21373
- p_button_personality_id: string;
21309
+ p_button_style_id: string;
21374
21310
  p_button_style_options: Json;
21375
21311
  p_expected_selection_version: number;
21376
21312
  p_footer_look_id?: string;
@@ -21393,35 +21329,6 @@ export type Database = {
21393
21329
  theme_id: string;
21394
21330
  }[];
21395
21331
  };
21396
- save_current_theme_aggregate_authoritative_atomic_v2: {
21397
- Args: {
21398
- p_button_personality_id: string;
21399
- p_button_style_options: Json;
21400
- p_expected_selection_version: number;
21401
- p_footer_look_id: string;
21402
- p_header_layout_id?: string;
21403
- p_header_look_id: string;
21404
- p_header_style_id?: string;
21405
- p_palette_command: Json;
21406
- p_selection_id?: string;
21407
- p_selection_overrides: Json;
21408
- p_selection_overrides_mode: string;
21409
- p_site_id: string;
21410
- p_theme: Json;
21411
- p_theme_id?: string;
21412
- p_user_id: string;
21413
- };
21414
- Returns: {
21415
- active_curated_palette_value_key: string;
21416
- active_site_palette_id: string;
21417
- outcome: string;
21418
- selection_id: string;
21419
- selection_updated_at: string;
21420
- site_palette_version: number;
21421
- style_selection_version: number;
21422
- theme_id: string;
21423
- }[];
21424
- };
21425
21332
  select_dated_offering_run_cancellation_settlement_v1_atomic: {
21426
21333
  Args: {
21427
21334
  p_enrollment_id: string;
@@ -21485,13 +21392,6 @@ export type Database = {
21485
21392
  };
21486
21393
  Returns: boolean;
21487
21394
  };
21488
- site_palette_canonical_hash: {
21489
- Args: {
21490
- p_colors: Json;
21491
- p_mode: string;
21492
- };
21493
- Returns: string;
21494
- };
21495
21395
  staff_member_has_customer_record_relationship: {
21496
21396
  Args: {
21497
21397
  p_customer_id: string;
@@ -21976,6 +21876,43 @@ export type Database = {
21976
21876
  pricing_option_id: string;
21977
21877
  }[];
21978
21878
  };
21879
+ waitlist_allocate_event_occurrence_holds_v1: {
21880
+ Args: {
21881
+ p_attendance_mode: string;
21882
+ p_event_occurrence_id: string;
21883
+ p_hold_payloads?: Json;
21884
+ p_site_id: string;
21885
+ };
21886
+ Returns: {
21887
+ attendance_mode: string | null;
21888
+ cancelled_at: string | null;
21889
+ consumed_at: string | null;
21890
+ course_id: string | null;
21891
+ created_at: string;
21892
+ email_delivery_status: string;
21893
+ event_occurrence_id: string | null;
21894
+ event_series_id: string | null;
21895
+ expired_at: string | null;
21896
+ expires_at: string;
21897
+ id: string;
21898
+ last_emailed_at: string | null;
21899
+ metadata: Json;
21900
+ reserved_at: string;
21901
+ site_id: string;
21902
+ status: string;
21903
+ subject_kind: string;
21904
+ token_public_id: string;
21905
+ token_secret_hash: string;
21906
+ updated_at: string;
21907
+ waitlist_entry_id: string;
21908
+ }[];
21909
+ SetofOptions: {
21910
+ from: "*";
21911
+ to: "waitlist_holds";
21912
+ isOneToOne: false;
21913
+ isSetofReturn: true;
21914
+ };
21915
+ };
21979
21916
  waitlist_allocate_holds: {
21980
21917
  Args: {
21981
21918
  p_attendance_mode?: string;
@@ -22098,6 +22035,21 @@ export type Database = {
22098
22035
  consumed: boolean;
22099
22036
  }[];
22100
22037
  };
22038
+ waitlist_event_occurrence_capacity_snapshot_v1: {
22039
+ Args: {
22040
+ p_attendance_mode: string;
22041
+ p_event_occurrence_id: string;
22042
+ p_now?: string;
22043
+ p_site_id: string;
22044
+ };
22045
+ Returns: {
22046
+ active_hold_seats: number;
22047
+ available_seats: number;
22048
+ capacity: number;
22049
+ is_unbounded: boolean;
22050
+ occupied_seats: number;
22051
+ }[];
22052
+ };
22101
22053
  waitlist_expire_due_holds: {
22102
22054
  Args: {
22103
22055
  p_hold_id?: string;
@@ -22172,6 +22124,42 @@ export type Database = {
22172
22124
  hold_waitlist_entry_id: string;
22173
22125
  }[];
22174
22126
  };
22127
+ waitlist_expire_due_holds_v3: {
22128
+ Args: {
22129
+ p_hold_id?: string;
22130
+ p_limit?: number;
22131
+ p_now?: string;
22132
+ };
22133
+ Returns: {
22134
+ entry_attendance_mode: string;
22135
+ entry_customer_email: string;
22136
+ entry_customer_id: string;
22137
+ entry_customer_name: string;
22138
+ entry_customer_phone: string;
22139
+ entry_event_occurrence_id: string;
22140
+ entry_event_series_id: string;
22141
+ entry_form_snapshot: Json;
22142
+ entry_id: string;
22143
+ entry_joined_at: string;
22144
+ entry_metadata: Json;
22145
+ entry_site_id: string;
22146
+ entry_source: string;
22147
+ entry_status: string;
22148
+ entry_subject_kind: string;
22149
+ hold_attendance_mode: string;
22150
+ hold_email_delivery_status: string;
22151
+ hold_event_occurrence_id: string;
22152
+ hold_event_series_id: string;
22153
+ hold_expires_at: string;
22154
+ hold_id: string;
22155
+ hold_site_id: string;
22156
+ hold_status: string;
22157
+ hold_subject_kind: string;
22158
+ hold_token_public_id: string;
22159
+ hold_token_secret_hash: string;
22160
+ hold_waitlist_entry_id: string;
22161
+ }[];
22162
+ };
22175
22163
  waitlist_subject_capacity_snapshot: {
22176
22164
  Args: {
22177
22165
  p_attendance_mode?: string;
@@ -23,6 +23,10 @@ type UiState = {
23
23
  isPathEdited: (blockId: Parameters<DraftsSlice['setAtPath']>[0], path: string) => boolean;
24
24
  showAllValidation: (blockId: Parameters<DraftsSlice['setAtPath']>[0]) => boolean;
25
25
  getBlockSaveability: (blockId: Parameters<DraftsSlice['setAtPath']>[0]) => BlockDraftSaveability;
26
+ setValidationManifests: (manifests: readonly Readonly<{
27
+ blockId: Parameters<DraftsSlice['setAtPath']>[0];
28
+ manifest: import('../../blocks/src/index').BlockManifest;
29
+ }>[]) => void;
26
30
  };
27
31
  structure: {
28
32
  getList: () => readonly BlockItem[];
@@ -0,0 +1,26 @@
1
+ import { type BlockManifest, type Theme } from '../../../../blocks/src/index';
2
+ import type { SdkBlockFieldExtensionsMap, SdkBlockFieldOptionsMap } from '../../../../block-form/src/client/index';
3
+ import { type EditorBlockId } from '../../../../core/src/index';
4
+ import type { BlockItem } from '../types';
5
+ import { type CustomBlockRegistryEntry, type SdkConfigForBlockPicker } from '../sdkBlockMerger';
6
+ type ValidationManifestStore = Readonly<{
7
+ getState: () => Readonly<{
8
+ blockValidation: Readonly<{
9
+ setValidationManifests: (entries: readonly Readonly<{
10
+ blockId: EditorBlockId;
11
+ manifest: BlockManifest;
12
+ }>[]) => void;
13
+ }>;
14
+ }>;
15
+ }>;
16
+ export declare function useBlockValidationManifests(input: Readonly<{
17
+ blockList: readonly BlockItem[];
18
+ uiStore: ValidationManifestStore;
19
+ sdkConfig: SdkConfigForBlockPicker | null;
20
+ customBlocks: readonly CustomBlockRegistryEntry[];
21
+ theme?: Theme | null;
22
+ blockFieldOptions: SdkBlockFieldOptionsMap | null;
23
+ blockFieldExtensions: SdkBlockFieldExtensionsMap | null;
24
+ hideThemeV2RawStyleFields: boolean;
25
+ }>): void;
26
+ export {};
@@ -1,4 +1,4 @@
1
- import type { MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
1
+ import type { IdentifierReadyMediaAsset } from '../../../../media-editor/src/index';
2
2
  export declare const RICH_TEXT_IMAGE_MAX_WIDTH = 1920;
3
3
  export declare const RICH_TEXT_IMAGE_QUALITY = 85;
4
4
  export type RichTextImageInsertAttrs = {
@@ -9,9 +9,9 @@ export type RichTextImageInsertAttrs = {
9
9
  height?: number;
10
10
  };
11
11
  type BuildRichTextImageInsertAttrsArgs = {
12
- asset: MediaAssetWithLabels;
12
+ asset: IdentifierReadyMediaAsset;
13
13
  supabaseUrl?: string | null;
14
14
  fallbackSrc?: string | null;
15
15
  };
16
- export declare function buildRichTextImageInsertAttrs({ asset, supabaseUrl, fallbackSrc, }: BuildRichTextImageInsertAttrsArgs): RichTextImageInsertAttrs | null;
16
+ export declare function buildRichTextImageInsertAttrs({ asset, supabaseUrl, fallbackSrc, }: BuildRichTextImageInsertAttrsArgs): RichTextImageInsertAttrs;
17
17
  export {};
@@ -5,10 +5,10 @@ import { type UploadIntentResolver, type VideoPrepIntentResolver } from '../../m
5
5
  import type { VideoPrepIntent } from '../../media-core/src/index';
6
6
  import { type CropDialogProps } from './CropDialog';
7
7
  import { type MediaPickerDialogProps, type MediaPickerPolicy } from './MediaPickerDialog';
8
- import type { MediaValue } from './types';
8
+ import type { MediaValue, PersistableMediaValue } from './types';
9
9
  export type MediaEditorProps = {
10
10
  value: MediaValue | undefined;
11
- onChange: (next: MediaValue | undefined) => void;
11
+ onChange: (next: PersistableMediaValue | undefined) => void;
12
12
  allowedKinds?: readonly MediaKind[];
13
13
  previewAspectRatio?: number;
14
14
  minSourceWidth?: number;
@@ -2,7 +2,7 @@ import { type ReactNode } from 'react';
2
2
  import type { ApiClient } from '../../api/src/request';
3
3
  import type { MediaAssetWithLabels, MediaStorageRepo } from '@riverbankcms/media-storage-supabase';
4
4
  import type { UploadProgressHandler, UseApiMediaUploaderOptions } from '../../media-react/src/index';
5
- import type { MediaAssetIndex, ResolveImageUrlContext } from '../../blocks/src/index';
5
+ import type { ResolveImageUrlContext } from '../../blocks/src/index';
6
6
  type MediaEditorUploaderOptions = Omit<UseApiMediaUploaderOptions, 'siteId' | 'apiClient' | 'bucket'>;
7
7
  export type MediaEditorContextValue = {
8
8
  siteId: string;
@@ -13,7 +13,6 @@ export type MediaEditorContextValue = {
13
13
  getPublicUrl: (asset: MediaAssetWithLabels) => string;
14
14
  registerMediaAsset: (asset: MediaAssetWithLabels) => void;
15
15
  bearerToken?: string | null;
16
- mediaAssetIndex?: MediaAssetIndex;
17
16
  imageResolveContext: ResolveImageUrlContext;
18
17
  };
19
18
  export declare function MediaEditorContextProvider({ value, children, }: {
@@ -14,5 +14,7 @@ export { MediaEditorProvider } from './provider';
14
14
  export type { MediaEditorProviderProps } from './provider';
15
15
  export { createMediaEditorProvider } from './createMediaEditorProvider';
16
16
  export { withRepeaterStackMediaFieldUi, withRepeaterThumbnailMediaFieldUi, withRepeaterThumbnailPickerOnlyMediaFieldUi, } from './fieldUi';
17
- export type { MediaValue, MediaTransform, MediaHotspot } from './types';
17
+ export type { MediaValue, PersistableMediaValue, MediaTransform, MediaHotspot } from './types';
18
18
  export { DEFAULT_HOTSPOT } from './utils';
19
+ export { buildPersistableMediaValue, mediaSelectionFailureMessage, prepareMediaAssetForSelection, } from './mediaSelection';
20
+ export type { BuildPersistableMediaValueOptions, IdentifierReadyMediaAsset, PrepareMediaSelectionResult, } from './mediaSelection';
@@ -0,0 +1,32 @@
1
+ import type { ApiClient } from '../../api/src/request';
2
+ import { type MediaIdentifier } from '../../blocks/src/index';
3
+ import type { MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
4
+ import type { MediaValue, PersistableMediaValue } from './types';
5
+ export type IdentifierReadyMediaAsset = Omit<MediaAssetWithLabels, 'identifier'> & Readonly<{
6
+ identifier: MediaIdentifier;
7
+ }>;
8
+ export type PrepareMediaSelectionResult = Readonly<{
9
+ tag: 'ready';
10
+ asset: IdentifierReadyMediaAsset;
11
+ }> | Readonly<{
12
+ tag: 'failed';
13
+ reason: 'identifier-assignment-failed';
14
+ error: unknown;
15
+ }> | Readonly<{
16
+ tag: 'failed';
17
+ reason: 'identifier-missing-after-assignment';
18
+ }>;
19
+ type PrepareMediaSelectionFailure = Extract<PrepareMediaSelectionResult, {
20
+ tag: 'failed';
21
+ }>;
22
+ export declare function mediaSelectionFailureMessage(failure: PrepareMediaSelectionFailure): string;
23
+ export type BuildPersistableMediaValueOptions = Readonly<{
24
+ asset: IdentifierReadyMediaAsset;
25
+ mediaKind: PersistableMediaValue['type'];
26
+ previousValue: MediaValue | undefined;
27
+ poster: MediaValue['poster'] | undefined;
28
+ publicUrl?: string;
29
+ }>;
30
+ export declare function buildPersistableMediaValue({ asset, mediaKind, previousValue, poster, publicUrl, }: BuildPersistableMediaValueOptions): PersistableMediaValue;
31
+ export declare function prepareMediaAssetForSelection(apiClient: ApiClient, asset: MediaAssetWithLabels): Promise<PrepareMediaSelectionResult>;
32
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type { ImageHotspot } from '../../media-react/src/index';
2
- import type { Media } from '../../blocks/src/index';
2
+ import type { Media, PersistableMedia } from '../../blocks/src/index';
3
3
  export type MediaHotspot = ImageHotspot;
4
4
  export type MediaTransform = NonNullable<Media['transform']>;
5
5
  /**
@@ -7,3 +7,5 @@ export type MediaTransform = NonNullable<Media['transform']>;
7
7
  * and app consumers all speak the same content contract.
8
8
  */
9
9
  export type MediaValue = Media;
10
+ /** A media editor output that satisfies the canonical block write contract. */
11
+ export type PersistableMediaValue = PersistableMedia;
@@ -0,0 +1,26 @@
1
+ import type { MediaAssetWithLabels, MediaKind } from '@riverbankcms/media-storage-supabase';
2
+ import type { MediaEditorContextValue } from './context';
3
+ import type { MediaPickerAssetSelection } from './MediaPickerDialog';
4
+ import type { MediaValue, PersistableMediaValue } from './types';
5
+ export type MediaSelectionState = Readonly<{
6
+ tag: 'idle';
7
+ }> | Readonly<{
8
+ tag: 'preparing';
9
+ }> | Readonly<{
10
+ tag: 'failed';
11
+ message: string;
12
+ }>;
13
+ type UseMediaSelectionOptions = Readonly<{
14
+ context: MediaEditorContextValue;
15
+ value: MediaValue | undefined;
16
+ allowedKinds: readonly MediaKind[];
17
+ evaluateAssetSelection: (asset: MediaAssetWithLabels) => MediaPickerAssetSelection;
18
+ onChange: (next: PersistableMediaValue | undefined) => void;
19
+ onSelectionComplete: () => void;
20
+ }>;
21
+ export declare function useMediaSelection(options: UseMediaSelectionOptions): {
22
+ readonly cancelSelection: () => void;
23
+ readonly handleSelect: (picked: MediaAssetWithLabels) => Promise<void>;
24
+ readonly selectionState: MediaSelectionState;
25
+ };
26
+ export {};
@@ -35,6 +35,8 @@ export { PreviewShell } from "./preview/PreviewShell";
35
35
  export type { PreviewShellProps } from "./preview/PreviewShell";
36
36
  export { PreviewShellLayout } from "./preview/PreviewShellLayout";
37
37
  export type { PreviewShellLayoutProps } from "./preview/PreviewShellLayout";
38
+ export { resolvePreviewThemeRoles } from "./preview/previewThemeRoles";
39
+ export type { PreviewThemeRoles } from "./preview/previewThemeRoles";
38
40
  export type { PreviewFailureSource } from "./preview/usePreviewKeepAlive";
39
41
  export { usePreviewKeepAlive } from "./preview/usePreviewKeepAlive";
40
42
  export { EditablePageRenderer } from "./blocks/EditablePageRenderer";
@@ -0,0 +1,12 @@
1
+ import type { SiteChromeCustomizeSurfaceState } from './siteChromeCustomizeTypes';
2
+ export type HeaderMenuSurfaceState = Extract<SiteChromeCustomizeSurfaceState, {
3
+ kind: 'available';
4
+ surface: 'header';
5
+ }>;
6
+ export declare function isHeaderMenuSurfaceState(state: SiteChromeCustomizeSurfaceState): state is HeaderMenuSurfaceState;
7
+ export declare function HeaderMenuControls({ state, disabled, onMenuFontChange, onMenuFontSizeChange, }: Readonly<{
8
+ state: HeaderMenuSurfaceState;
9
+ disabled?: boolean;
10
+ onMenuFontChange?: (value: HeaderMenuSurfaceState['menuFont']) => void;
11
+ onMenuFontSizeChange?: (value: HeaderMenuSurfaceState['menuFontSize']) => void;
12
+ }>): import("react").JSX.Element;
@@ -31,7 +31,18 @@ export type PreviewShellProps = {
31
31
  previewToken: string;
32
32
  dashboardBaseUrl?: string | null;
33
33
  surfaceId: SurfaceId;
34
+ /**
35
+ * Canonical site theme — the persistence/configurator base. Site-style
36
+ * saves are computed against this theme, so it must never carry
37
+ * page-derived adaptations.
38
+ */
34
39
  theme: Theme;
40
+ /**
41
+ * Page-adapted theme used to render the preview document (e.g. opening-
42
+ * foreground header adaptation). Render-only: never persisted. Falls back
43
+ * to the canonical theme when absent.
44
+ */
45
+ renderTheme?: Theme | null;
35
46
  themeId?: string | null;
36
47
  themeSelectionId?: string | null;
37
48
  themeSelectionVersion?: number | null;
@@ -72,7 +83,7 @@ export type PreviewShellProps = {
72
83
  baseFetch?: BaseFetch;
73
84
  onFooterSaved?: () => void;
74
85
  };
75
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
86
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, renderTheme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
76
87
  export declare function defaultDesignEditorEligibility(input: Readonly<{
77
88
  pageId: string | null;
78
89
  entryData?: PreviewContentEntryData | null;