@riverbankcms/sdk 0.144.0 → 0.146.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 (228) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
  6. package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
  9. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
  10. package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
  11. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
  12. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
  13. package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
  14. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
  15. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  16. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  17. package/dist/_dts/api/src/communications.d.ts +32 -24
  18. package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
  19. package/dist/_dts/api/src/endpoints.d.ts +316 -134
  20. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  21. package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
  22. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  23. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  24. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  25. package/dist/_dts/api/src/index.d.ts +7 -1
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
  29. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  30. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  31. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
  32. package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
  34. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  35. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  36. package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
  37. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
  38. package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
  39. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
  40. package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
  41. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  42. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  43. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  44. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  45. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  46. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  47. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  48. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  49. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  50. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  51. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
  52. package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
  53. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  54. package/dist/_dts/api/src/types.d.ts +8 -1
  55. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  56. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
  57. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  58. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
  59. package/dist/_dts/blocks/src/index.d.ts +3 -1
  60. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
  61. package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
  62. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
  63. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
  64. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
  65. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
  66. package/dist/_dts/blocks/src/server.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
  68. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  71. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  72. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  74. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
  76. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  78. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
  87. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  94. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
  95. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  96. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  97. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  98. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  99. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  100. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
  101. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  102. package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
  103. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  104. package/dist/_dts/core/src/editor-state.d.ts +2 -1
  105. package/dist/_dts/core/src/index.d.ts +2 -0
  106. package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
  107. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  108. package/dist/_dts/core/src/public-profile.d.ts +12 -1
  109. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
  110. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  111. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  112. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
  113. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
  115. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
  116. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
  117. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
  118. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  119. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
  120. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
  121. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  122. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
  123. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
  124. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
  125. package/dist/_dts/sdk/src/client/types.d.ts +1 -1
  126. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  127. package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
  128. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  129. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
  130. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  131. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
  132. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
  133. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
  134. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
  135. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  136. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  137. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  138. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
  139. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  140. package/dist/_dts/sdk/src/version.d.ts +1 -1
  141. package/dist/_dts/surfaces/src/index.d.ts +10 -0
  142. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  143. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  144. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  145. package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
  146. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
  147. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
  148. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
  149. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
  150. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  151. package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
  152. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
  153. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
  154. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  155. package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
  156. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
  157. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
  158. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
  159. package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
  160. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
  161. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
  162. package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
  164. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  165. package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
  166. package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
  167. package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
  168. package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
  169. package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
  170. package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
  171. package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
  172. package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
  173. package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
  174. package/dist/client/bookings.mjs +239 -110
  175. package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
  176. package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
  177. package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
  178. package/dist/client/client.mjs +3222 -1612
  179. package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
  180. package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
  181. package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
  182. package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
  183. package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
  184. package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
  185. package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
  186. package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
  187. package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
  188. package/dist/client/hooks.mjs +1023 -148
  189. package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
  190. package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
  191. package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
  192. package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
  193. package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
  194. package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
  195. package/dist/client/rendering/client.mjs +1389 -722
  196. package/dist/client/rendering/islands.mjs +17 -17
  197. package/dist/client/rendering.mjs +3136 -1400
  198. package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
  199. package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
  200. package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
  201. package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
  202. package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
  203. package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
  204. package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
  205. package/dist/preview-next/before-render.mjs +500 -165
  206. package/dist/preview-next/client/runtime.mjs +4 -4
  207. package/dist/preview-next/editor-base.css +11 -0
  208. package/dist/preview-next/keepAlive.mjs +460 -165
  209. package/dist/preview-next/middleware.mjs +461 -165
  210. package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
  211. package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
  212. package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
  213. package/dist/server/components.mjs +3088 -1307
  214. package/dist/server/config-validation.mjs +927 -109
  215. package/dist/server/config.mjs +927 -109
  216. package/dist/server/data.mjs +939 -110
  217. package/dist/server/index.mjs +513 -169
  218. package/dist/server/next.mjs +2874 -1195
  219. package/dist/server/page-converter.mjs +420 -79
  220. package/dist/server/prebuild.mjs +1 -1
  221. package/dist/server/rendering/server.mjs +3071 -1289
  222. package/dist/server/rendering.mjs +3169 -1350
  223. package/dist/server/routing.mjs +1085 -159
  224. package/dist/server/server.mjs +1042 -291
  225. package/dist/server/theme-bridge.mjs +1658 -137
  226. package/dist/server/theme.mjs +6 -4
  227. package/dist/styles/index.css +186 -65
  228. package/package.json +2 -1
@@ -4751,16 +4751,18 @@ const themeV2RuntimeStyleFieldNames = [
4751
4751
  "_frameStyles",
4752
4752
  "_sectionStyles",
4753
4753
  "_containerStyles",
4754
- "_cardStyles",
4755
- "_transitionStyles",
4756
- "styleGroup"
4754
+ "_cardStyles"
4757
4755
  ];
4758
4756
  const themeV2BlockSpecificRawStyleFieldNames = [
4759
4757
  "_contentCardStyles",
4760
4758
  "_heroLayoutStyles",
4761
4759
  "_textCardStyles"
4762
4760
  ];
4763
- const themeV2NormalEditorRawStyleFieldNames = [...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
4761
+ const themeV2NormalEditorRawStyleFieldNames = [
4762
+ ...themeV2RuntimeStyleFieldNames,
4763
+ ...themeV2BlockSpecificRawStyleFieldNames,
4764
+ "styleGroup"
4765
+ ];
4764
4766
  new Set(themeV2NormalEditorRawStyleFieldNames);
4765
4767
  [...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
4766
4768
  const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
@@ -325,6 +325,9 @@
325
325
  .rb-h-4 {
326
326
  height: 1rem;
327
327
  }
328
+ .rb-h-5 {
329
+ height: 1.25rem;
330
+ }
328
331
  .rb-h-8 {
329
332
  height: 2rem;
330
333
  }
@@ -4232,6 +4235,10 @@
4232
4235
  margin-bottom: 0.25rem;
4233
4236
  }
4234
4237
 
4238
+ :where(.theme-scope) :where([data-block='event-registration']) .er-consent-check {
4239
+ margin-top: 0.75rem;
4240
+ }
4241
+
4235
4242
  :where(.theme-scope) :where([data-block='event-registration']) .er-required {
4236
4243
  color: var(--er-required);
4237
4244
  }
@@ -8934,13 +8941,6 @@
8934
8941
  margin: 0;
8935
8942
  }
8936
8943
 
8937
- /* Inline field (checkbox, radio with label) */
8938
- :where(.theme-scope) :where([data-block="form"]) .fb-inline {
8939
- display: flex;
8940
- align-items: center;
8941
- gap: 0.5rem;
8942
- }
8943
-
8944
8944
  /* Success state */
8945
8945
  :where(.theme-scope) :where([data-block="form"]) .fb-success {
8946
8946
  background-color: var(--fb-success-bg);
@@ -11052,9 +11052,11 @@
11052
11052
  */
11053
11053
 
11054
11054
  /* Newsletter copy styling */
11055
+ /* Size only: weight, family and colour come from the theme's heading styles */
11055
11056
  :where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
11056
- font-size: 1.5rem;
11057
- font-weight: 600;
11057
+ font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem);
11058
+ line-height: 1.15;
11059
+ text-wrap: balance;
11058
11060
  }
11059
11061
 
11060
11062
  :where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
@@ -11078,37 +11080,150 @@
11078
11080
  gap: var(--rb-gap-sm, 0.75rem);
11079
11081
  }
11080
11082
 
11081
- /* Individual field styling */
11083
+ /* Extra preset fields (name, company...). Labels are visually hidden, so
11084
+ these sit in a row above the email entry. */
11085
+ :where(.theme-scope) .newsletter-extra-fields {
11086
+ display: grid;
11087
+ grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
11088
+ gap: 0.5rem;
11089
+ }
11090
+
11082
11091
  :where(.theme-scope) .newsletter-field {
11083
11092
  display: flex;
11084
11093
  flex-direction: column;
11085
11094
  gap: 0.25rem;
11095
+ text-align: left;
11086
11096
  }
11087
11097
 
11088
- /* Topic choices (visitor picks what to hear about). Same treatment as the
11089
- form block's .fb-fieldset / .fb-inline, defined here because the newsletter
11090
- form also renders inside contact-newsletter and the site footer. */
11091
- :where(.theme-scope) .newsletter-topics {
11098
+ /* Email entry: the email field and the themed submit button share one shell.
11099
+ The shell's look (background, border, corners, focus ring) comes from the
11100
+ theme's input system via .form-input-group; this only handles layout. */
11101
+ :where(.theme-scope) .newsletter-entry {
11102
+ container-type: inline-size;
11092
11103
  display: flex;
11093
11104
  flex-direction: column;
11094
- gap: 0.5rem;
11105
+ gap: 0.375rem;
11106
+ text-align: left;
11107
+ }
11108
+
11109
+ :where(.theme-scope) .newsletter-entry-group > button {
11110
+ white-space: nowrap;
11111
+ }
11112
+
11113
+ /* Too narrow for field and button side by side (phones, footer columns):
11114
+ stack them inside the shell and keep pill themes from turning the taller
11115
+ shell into a capsule. */
11116
+ @container (max-width: 22rem) {
11117
+ :where(.theme-scope) .newsletter-entry .newsletter-entry-group {
11118
+ flex-direction: column;
11119
+ border-radius: min(var(--rb-input-radius, 0.5rem), 1rem);
11120
+ }
11121
+
11122
+ :where(.theme-scope) .newsletter-entry .newsletter-entry-group > button {
11123
+ width: 100%;
11124
+ justify-content: center;
11125
+ }
11126
+ }
11127
+
11128
+ /* Topic choices (visitor picks what to hear about) as toggle chips. Each chip
11129
+ is a real checkbox underneath; the chip is its visible face. */
11130
+ :where(.theme-scope) .newsletter-topics {
11095
11131
  border: none;
11096
11132
  padding: 0;
11097
11133
  margin: 0;
11098
11134
  min-width: 0;
11099
11135
  }
11100
11136
 
11101
- :where(.theme-scope) .newsletter-topics > legend {
11137
+ :where(.theme-scope) .newsletter-topics-legend {
11102
11138
  padding: 0;
11103
- margin-bottom: 0.25rem;
11139
+ margin-bottom: 0.625rem;
11140
+ font-size: 0.9375rem;
11141
+ color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
11104
11142
  }
11105
11143
 
11106
- :where(.theme-scope) .newsletter-topic-choice {
11144
+ :where(.theme-scope) .newsletter-topic-chips {
11107
11145
  display: flex;
11108
- align-items: center;
11146
+ flex-wrap: wrap;
11109
11147
  gap: 0.5rem;
11110
11148
  }
11111
11149
 
11150
+ :where(.theme-scope) .newsletter-stacked .newsletter-topics-legend {
11151
+ width: 100%;
11152
+ }
11153
+
11154
+ :where(.theme-scope) .newsletter-stacked .newsletter-topic-chips {
11155
+ justify-content: center;
11156
+ }
11157
+
11158
+ :where(.theme-scope) .newsletter-topic-chip {
11159
+ position: relative;
11160
+ display: inline-flex;
11161
+ }
11162
+
11163
+ :where(.theme-scope) .newsletter-topic-chip > input {
11164
+ position: absolute;
11165
+ inset: 0;
11166
+ width: 100%;
11167
+ height: 100%;
11168
+ margin: 0;
11169
+ opacity: 0;
11170
+ cursor: pointer;
11171
+ }
11172
+
11173
+ :where(.theme-scope) .newsletter-topic-chip > span {
11174
+ display: inline-flex;
11175
+ align-items: center;
11176
+ gap: 0.375rem;
11177
+ padding: 0.4375rem 0.9375rem;
11178
+ border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
11179
+ border-radius: var(--rb-button-radius, var(--rb-input-radius, 9999px));
11180
+ font-size: 0.9375rem;
11181
+ line-height: 1.3;
11182
+ color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
11183
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
11184
+ }
11185
+
11186
+ /* Tick that grows in when the chip is on */
11187
+ :where(.theme-scope) .newsletter-topic-chip > span::before {
11188
+ content: "";
11189
+ width: 0;
11190
+ height: 0.7em;
11191
+ background-color: currentColor;
11192
+ clip-path: polygon(14% 52%, 0 67%, 38% 100%, 100% 22%, 85% 8%, 37% 70%);
11193
+ transition: width 0.15s ease;
11194
+ }
11195
+
11196
+ :where(.theme-scope) .newsletter-topic-chip:hover > span {
11197
+ border-color: currentColor;
11198
+ }
11199
+
11200
+ /* Same accent and mark colours as the theme's checkboxes */
11201
+ :where(.theme-scope) .newsletter-topic-chip > input:checked + span {
11202
+ background-color: var(--rb-check-accent, rgb(var(--tb-primary)));
11203
+ border-color: var(--rb-check-accent, rgb(var(--tb-primary)));
11204
+ color: var(--rb-check-mark, rgb(var(--tb-onPrimary, 255 255 255)));
11205
+ }
11206
+
11207
+ :where(.theme-scope) .newsletter-topic-chip > input:checked + span::before {
11208
+ width: 0.7em;
11209
+ }
11210
+
11211
+ :where(.theme-scope) .newsletter-topic-chip > input:focus-visible + span {
11212
+ outline: 2px solid var(--rb-check-accent, rgb(var(--tb-primary)));
11213
+ outline-offset: 2px;
11214
+ }
11215
+
11216
+ :where(.theme-scope) .newsletter-topic-chip > input:disabled + span {
11217
+ opacity: 0.6;
11218
+ }
11219
+
11220
+ @media (prefers-reduced-motion: reduce) {
11221
+ :where(.theme-scope) .newsletter-topic-chip > span,
11222
+ :where(.theme-scope) .newsletter-topic-chip > span::before {
11223
+ transition: none;
11224
+ }
11225
+ }
11226
+
11112
11227
  /* Error panel and field notes. The form block scopes these to its own
11113
11228
  data-block, so the newsletter form (which also renders in the footer)
11114
11229
  needs its own copy of the treatment. */
@@ -11126,13 +11241,7 @@
11126
11241
  color: var(--fb-error-text);
11127
11242
  }
11128
11243
 
11129
- /* Required indicator */
11130
- :where(.theme-scope) .newsletter-required {
11131
- color: rgb(var(--tb-primary));
11132
- margin-left: 0.125rem;
11133
- }
11134
-
11135
- /* Submit button container */
11244
+ /* Submit button container (only when a preset has no email field) */
11136
11245
  :where(.theme-scope) .newsletter-submit {
11137
11246
  margin-top: 0.5rem;
11138
11247
  }
@@ -11144,50 +11253,29 @@
11144
11253
  justify-content: center;
11145
11254
  }
11146
11255
 
11147
- /* Privacy note */
11256
+ /* Privacy note: quieter than the intro so the entry row leads */
11148
11257
  :where(.theme-scope) .newsletter-privacy-note {
11149
11258
  margin-top: 0.75rem;
11150
- font-size: 1rem;
11151
- line-height: 1.6;
11152
- color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
11259
+ font-size: 0.8125rem;
11260
+ line-height: 1.5;
11261
+ color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))));
11262
+ opacity: 0.85;
11153
11263
  text-align: center;
11154
11264
  }
11155
11265
 
11156
11266
  /* =============================================================================
11157
- * Inline Variant - Horizontal layout
11267
+ * Inline Variant - left-aligned, wider entry row
11158
11268
  * =============================================================================
11159
11269
  */
11160
11270
 
11161
- :where(.theme-scope) .newsletter-inline .newsletter-form-fields {
11162
- flex-direction: row;
11163
- align-items: flex-end;
11164
- flex-wrap: wrap;
11165
- gap: var(--rb-gap-sm, 0.75rem);
11166
- }
11167
-
11168
- :where(.theme-scope) .newsletter-inline .newsletter-field {
11169
- flex: 1 1 auto;
11170
- min-width: 10rem;
11171
- }
11172
-
11173
- :where(.theme-scope) .newsletter-inline .newsletter-submit {
11174
- margin-top: 0;
11175
- flex-shrink: 0;
11176
- }
11177
-
11178
- :where(.theme-scope) .newsletter-inline .newsletter-topics {
11179
- flex-basis: 100%;
11271
+ :where(.theme-scope) .newsletter-inline .newsletter-form {
11272
+ max-width: 40rem;
11273
+ margin-left: 0;
11274
+ margin-right: 0;
11180
11275
  }
11181
11276
 
11182
- /* Mobile fallback for inline variant */
11183
- @media (max-width: 640px) {
11184
- :where(.theme-scope) .newsletter-inline .newsletter-form-fields {
11185
- flex-direction: column;
11186
- }
11187
-
11188
- :where(.theme-scope) .newsletter-inline .newsletter-field {
11189
- min-width: 100%;
11190
- }
11277
+ :where(.theme-scope) .newsletter-inline .newsletter-privacy-note {
11278
+ text-align: left;
11191
11279
  }
11192
11280
 
11193
11281
  /* =============================================================================
@@ -11324,12 +11412,6 @@
11324
11412
  margin: 0;
11325
11413
  }
11326
11414
 
11327
- :where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
11328
- display: flex;
11329
- align-items: center;
11330
- gap: 0.5rem;
11331
- }
11332
-
11333
11415
  :where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
11334
11416
  :where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
11335
11417
  :where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
@@ -13222,3 +13304,42 @@
13222
13304
  }
13223
13305
 
13224
13306
 
13307
+ /* =============================================================================
13308
+ * Site footer: social links
13309
+ *
13310
+ * Icon links get a 40px tap target with a hairline ring drawn from the link's
13311
+ * own colour, so it follows the footer's text colour on any surface. Links
13312
+ * without an icon (unknown platforms) stay plain text.
13313
+ * =============================================================================
13314
+ */
13315
+
13316
+ :where(.theme-scope) .rb-footer-socials {
13317
+ display: flex;
13318
+ flex-wrap: wrap;
13319
+ align-items: center;
13320
+ gap: 0.75rem 1.25rem;
13321
+ }
13322
+
13323
+ :where(.theme-scope) .rb-footer-social-link:has(> .rb-footer-social-icon) {
13324
+ display: inline-grid;
13325
+ place-items: center;
13326
+ width: 2.5rem;
13327
+ height: 2.5rem;
13328
+ border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
13329
+ border-radius: 9999px;
13330
+ }
13331
+
13332
+ :where(.theme-scope) .rb-footer-socials:has(.rb-footer-social-icon) {
13333
+ gap: 0.5rem;
13334
+ }
13335
+
13336
+ :where(.theme-scope) .rb-footer-social-link:has(> .rb-footer-social-icon):hover {
13337
+ border-color: currentColor;
13338
+ }
13339
+
13340
+ :where(.theme-scope) .rb-footer-social-icon {
13341
+ width: 1.5rem;
13342
+ height: 1.5rem;
13343
+ }
13344
+
13345
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.144.0",
3
+ "version": "0.146.0",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -233,6 +233,7 @@
233
233
  "scripts": {
234
234
  "clean:dist": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
235
235
  "build": "node scripts/build.mjs",
236
+ "build:runtime": "node scripts/build.mjs --runtime-only",
236
237
  "dev": "node scripts/build.mjs --watch",
237
238
  "typecheck": "tsgo --noEmit",
238
239
  "check:declaration-hygiene": "node scripts/check-declaration-hygiene.mjs",