@riverbankcms/sdk 0.88.0 → 0.90.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 (198) hide show
  1. package/README.md +27 -4
  2. package/dist/{PreviewEditorSidebar-EVRS3C7T.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-54WD4IGE.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
  6. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  7. package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
  9. package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
  10. package/dist/_dts/api/src/bookings.d.ts +3 -1
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +7 -6
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
  14. package/dist/_dts/api/src/request.d.ts +21 -0
  15. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  16. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  18. package/dist/_dts/api/src/siteMembers.d.ts +6 -1
  19. package/dist/_dts/api/src/types.d.ts +4 -2
  20. package/dist/_dts/api/src/url.d.ts +6 -3
  21. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
  25. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
  26. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
  27. package/dist/_dts/blocks/src/index.d.ts +2 -1
  28. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
  30. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
  31. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
  32. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
  33. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
  34. package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
  37. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
  38. package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
  39. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
  40. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
  41. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +18 -5
  42. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
  43. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
  44. package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
  47. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
  48. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
  50. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
  51. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
  52. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
  53. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  66. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
  75. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
  76. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
  77. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  78. package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
  79. package/dist/_dts/content-model/src/entry-slots/types.d.ts +61 -0
  80. package/dist/_dts/core/src/branded.d.ts +7 -0
  81. package/dist/_dts/core/src/index.d.ts +1 -0
  82. package/dist/_dts/core/src/money-input.d.ts +18 -0
  83. package/dist/_dts/core/src/site-route-target.d.ts +40 -0
  84. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +209 -2
  85. package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
  86. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  87. package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
  88. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  89. package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
  90. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
  91. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
  92. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
  93. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
  94. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
  95. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
  96. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
  97. package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
  98. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
  99. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
  100. package/dist/_dts/sdk/src/client/types.d.ts +26 -1
  101. package/dist/_dts/sdk/src/components.d.ts +1 -0
  102. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  103. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
  104. package/dist/_dts/sdk/src/index.d.ts +3 -1
  105. package/dist/_dts/sdk/src/next/types.d.ts +8 -11
  106. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  107. package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
  108. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
  109. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
  110. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  111. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  112. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
  113. package/dist/_dts/sdk/src/version.d.ts +1 -1
  114. package/dist/_dts/site-commands/src/commands.d.ts +18 -0
  115. package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
  116. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  118. package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
  119. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  120. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  121. package/dist/_dts/theme-core/src/index.d.ts +2 -0
  122. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
  123. package/dist/_dts/theme-core/src/schema.d.ts +18 -18
  124. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  125. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  126. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  127. package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
  128. package/dist/{chunk-ER4UIW4X.mjs → chunk-AEOYWPE4.mjs} +91 -55
  129. package/dist/{chunk-O4LVYUVH.mjs → chunk-BOQXMCSP.mjs} +147 -101
  130. package/dist/{chunk-HVOBXA3Y.mjs → chunk-GSPFFUVB.mjs} +2 -2
  131. package/dist/{chunk-7KOO7RPP.mjs → chunk-PMBB6MQ7.mjs} +2273 -1113
  132. package/dist/{chunk-K3JWH6HE.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
  133. package/dist/{chunk-YDMBIIS5.mjs → chunk-UG7I7S7W.mjs} +1 -1
  134. package/dist/cli/index.mjs +1564 -546
  135. package/dist/cli/init-docs/content/cli-reference.md +6 -1
  136. package/dist/cli/init-docs/content/content-management.md +27 -0
  137. package/dist/client/{accordion-PT5CGW5N.mjs → accordion-GXQNWQ6O.mjs} +2 -2
  138. package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-STLUJ36H.mjs} +206 -335
  139. package/dist/client/bookings.mjs +821 -413
  140. package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-CVRN6EPP.mjs} +4 -3
  141. package/dist/client/{cart-ND5IK4A6.mjs → cart-IYIBA5CL.mjs} +8 -8
  142. package/dist/client/{checkout-EYUSGAY7.mjs → checkout-O3BGM4GS.mjs} +8 -8
  143. package/dist/client/chunk-4RTFGHZN.mjs +433 -0
  144. package/dist/client/{chunk-DIRW2LNG.mjs → chunk-6DPXDOIL.mjs} +336 -225
  145. package/dist/client/chunk-6N7YRNYU.mjs +183 -0
  146. package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
  147. package/dist/client/{chunk-S4G65LGR.mjs → chunk-D3ETC2SU.mjs} +1 -1
  148. package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-DAS5CIER.mjs} +460 -157
  149. package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
  150. package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
  151. package/dist/client/{chunk-BL66UWGD.mjs → chunk-MFPKS6QS.mjs} +13 -16
  152. package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-NBFRJ5NB.mjs} +157 -5
  153. package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VFHZLZAC.mjs} +1 -1
  154. package/dist/client/{chunk-GOFO7HRH.mjs → chunk-WHZQDPBZ.mjs} +19 -1
  155. package/dist/client/{chunk-MHBEWDT7.mjs → chunk-Z62JYS5O.mjs} +122 -50
  156. package/dist/client/client.mjs +5979 -5198
  157. package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-2D3ACMJR.mjs} +20 -58
  158. package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-QY4UZUFF.mjs} +11 -11
  159. package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-RRCDKJC2.mjs} +11 -11
  160. package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-YO335BUT.mjs} +11 -11
  161. package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-PXA6GFQ3.mjs} +11 -11
  162. package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-2ZHEDDXO.mjs} +11 -11
  163. package/dist/client/{form-NI6YOG6S.mjs → form-ZS6KX4U2.mjs} +7 -7
  164. package/dist/client/{headerSection-SDYGII36.mjs → headerSection-QK5SLIIB.mjs} +3 -3
  165. package/dist/client/hooks.mjs +1102 -1029
  166. package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-GFNIUD2X.mjs} +3 -3
  167. package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-PGLTTCUG.mjs} +61 -25
  168. package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-OPBE5ZPI.mjs} +8 -8
  169. package/dist/client/{productList-7YA5KXZQ.mjs → productList-NI72Q62Z.mjs} +8 -8
  170. package/dist/client/rendering/client.mjs +4390 -4245
  171. package/dist/client/rendering/islands.mjs +19 -19
  172. package/dist/client/rendering.mjs +3327 -3181
  173. package/dist/client/{shop-AIMUMZYC.mjs → shop-3ZQPEWYI.mjs} +8 -8
  174. package/dist/client/spam-protection.mjs +4 -5
  175. package/dist/preview-next/before-render.mjs +20 -2
  176. package/dist/preview-next/client/runtime.mjs +5 -5
  177. package/dist/preview-next/middleware.mjs +18 -0
  178. package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
  179. package/dist/server/components.mjs +2580 -2783
  180. package/dist/server/config-validation.mjs +1334 -1261
  181. package/dist/server/config.mjs +1334 -1261
  182. package/dist/server/data.mjs +1102 -1029
  183. package/dist/server/index.mjs +1097 -476
  184. package/dist/server/navigation.mjs +20 -30
  185. package/dist/server/next.mjs +3282 -2847
  186. package/dist/server/page-converter.mjs +1009 -946
  187. package/dist/server/prebuild.mjs +1 -1
  188. package/dist/server/rendering/server.mjs +2580 -2783
  189. package/dist/server/rendering.mjs +2586 -2789
  190. package/dist/server/routing.mjs +1440 -1053
  191. package/dist/server/server.mjs +1886 -1153
  192. package/dist/server/theme-bridge.mjs +34 -5
  193. package/dist/styles/index.css +26 -0
  194. package/package.json +3 -2
  195. package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
  196. package/dist/client/chunk-H4MHEXYS.mjs +0 -184
  197. package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
  198. /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
@@ -16332,6 +16332,32 @@ var containerResponsiveThemeCss = `/*
16332
16332
  /* Split grid: title column + cards. On desktop the title takes one quarter and
16333
16333
  * the cards fill the remaining three quarters (so title + 3 cards each read as
16334
16334
  * a quarter). Stacks on mobile. */
16335
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-heading,
16336
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-cards {
16337
+ min-width: 0;
16338
+ }
16339
+
16340
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-cards {
16341
+ container-type: inline-size;
16342
+ container-name: rb-testimonials-split-cards;
16343
+ }
16344
+
16345
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid {
16346
+ grid-template-columns: repeat(1, minmax(0, 1fr));
16347
+ }
16348
+
16349
+ @container rb-testimonials-split-cards (min-width: 36rem) {
16350
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid.rb-sm-grid-cols-2 {
16351
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16352
+ }
16353
+ }
16354
+
16355
+ @container rb-testimonials-split-cards (min-width: 54rem) {
16356
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid.rb-lg-grid-cols-3 {
16357
+ grid-template-columns: repeat(3, minmax(0, 1fr));
16358
+ }
16359
+ }
16360
+
16335
16361
  @container rb-site (min-width: 1024px) {
16336
16362
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
16337
16363
  :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid {
@@ -18918,12 +18944,15 @@ import { jsx as jsx2 } from "react/jsx-runtime";
18918
18944
  import * as React from "react";
18919
18945
  import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
18920
18946
 
18947
+ // ../theme-core/src/ResponsiveScope.tsx
18948
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
18949
+
18921
18950
  // ../theme-core/src/siteChromeOverlayClearance.ts
18922
18951
  var SITE_CHROME_VISIBLE_HEADER_ATTR = "data-site-chrome-visible-header";
18923
18952
  var SITE_CHROME_VISIBLE_HEADER_SELECTOR = `[${SITE_CHROME_VISIBLE_HEADER_ATTR}="true"]`;
18924
18953
 
18925
18954
  // ../theme-core/src/siteChrome.tsx
18926
- import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
18955
+ import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
18927
18956
 
18928
18957
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
18929
18958
  import { z as z20 } from "zod";
@@ -19552,10 +19581,10 @@ function buildBridgeGeneratorTheme(corners2) {
19552
19581
  }
19553
19582
 
19554
19583
  // ../theme-core/src/mock-themes/components/swatch.tsx
19555
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
19584
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
19556
19585
 
19557
19586
  // ../theme-core/src/mock-themes/components/PaletteCard.tsx
19558
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
19587
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
19559
19588
 
19560
19589
  // src/theme-bridge/generateCssVars.ts
19561
19590
  function generateThemeBridgeCss(config) {
@@ -19583,7 +19612,7 @@ ${cssLines}
19583
19612
  }
19584
19613
 
19585
19614
  // src/theme-bridge/ThemeBridgeProvider.tsx
19586
- import { jsx as jsx7 } from "react/jsx-runtime";
19615
+ import { jsx as jsx8 } from "react/jsx-runtime";
19587
19616
  function ThemeBridgeProvider({
19588
19617
  config,
19589
19618
  children,
@@ -19594,7 +19623,7 @@ function ThemeBridgeProvider({
19594
19623
  [config]
19595
19624
  );
19596
19625
  const cssVarsStyle = runtime.cssVars;
19597
- return /* @__PURE__ */ jsx7(
19626
+ return /* @__PURE__ */ jsx8(
19598
19627
  ThemeScopeCore,
19599
19628
  {
19600
19629
  cssVars: cssVarsStyle,
@@ -8316,6 +8316,32 @@
8316
8316
  /* Split grid: title column + cards. On desktop the title takes one quarter and
8317
8317
  * the cards fill the remaining three quarters (so title + 3 cards each read as
8318
8318
  * a quarter). Stacks on mobile. */
8319
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-heading,
8320
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-cards {
8321
+ min-width: 0;
8322
+ }
8323
+
8324
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-cards {
8325
+ container-type: inline-size;
8326
+ container-name: rb-testimonials-split-cards;
8327
+ }
8328
+
8329
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid {
8330
+ grid-template-columns: repeat(1, minmax(0, 1fr));
8331
+ }
8332
+
8333
+ @container rb-testimonials-split-cards (min-width: 36rem) {
8334
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid.rb-sm-grid-cols-2 {
8335
+ grid-template-columns: repeat(2, minmax(0, 1fr));
8336
+ }
8337
+ }
8338
+
8339
+ @container rb-testimonials-split-cards (min-width: 54rem) {
8340
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid-card-list > .rb-grid.rb-lg-grid-cols-3 {
8341
+ grid-template-columns: repeat(3, minmax(0, 1fr));
8342
+ }
8343
+ }
8344
+
8319
8345
  @media (min-width: 1024px) {
8320
8346
  :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid {
8321
8347
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.88.0",
3
+ "version": "0.90.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",
@@ -226,13 +226,14 @@
226
226
  "check:declaration-hygiene": "node scripts/check-declaration-hygiene.mjs",
227
227
  "check:packed-exports": "node scripts/check-packed-exports.mjs",
228
228
  "measure:public-bundles": "node scripts/measure-public-bundles.mjs --pretty",
229
- "lint": "eslint --cache --cache-location node_modules/.cache/eslint/.eslintcache src",
229
+ "lint": "node ../../scripts/run-package-lint.mjs src",
230
230
  "test": "vitest run",
231
231
  "test:edge-smoke": "sh -c \"cd src/next/__fixtures__/edge-theme-smoke && mkdir -p node_modules/@riverbankcms && ln -sfn ../../../../../.. node_modules/@riverbankcms/sdk && NEXT_TELEMETRY_DISABLED=1 next build\"",
232
232
  "test:preview-client-smoke": "node scripts/preview-client-smoke.mjs",
233
233
  "test:preview-client-next-build-smoke": "node scripts/preview-client-next-build-smoke.mjs",
234
234
  "test:lazy-overrides-smoke": "node scripts/lazy-overrides-smoke.mjs",
235
235
  "test:layout-page-hydration-smoke": "node scripts/layout-page-hydration-smoke.mjs",
236
+ "test:next-rsc-server-exports-smoke": "node scripts/next-rsc-server-exports-smoke.mjs",
236
237
  "test:content-load-failure-status-smoke": "node scripts/content-load-failure-status-smoke.mjs",
237
238
  "test:isr-catch-all-revalidate-smoke": "node scripts/isr-catch-all-revalidate-smoke.mjs",
238
239
  "verify": "./verify.sh",
@@ -1,8 +0,0 @@
1
- "use client";
2
- export { SdkPreviewModeRuntime } from './chunk-ER4UIW4X.mjs';
3
- import './chunk-YDMBIIS5.mjs';
4
- import './chunk-K3JWH6HE.mjs';
5
- import './chunk-HVOBXA3Y.mjs';
6
- import './chunk-7KOO7RPP.mjs';
7
- import './chunk-O4LVYUVH.mjs';
8
- import './chunk-R7POPVJR.mjs';
@@ -1,184 +0,0 @@
1
- "use client";
2
- import { assertNever11 } from './chunk-DIRW2LNG.mjs';
3
- import { useReducer, useRef, useCallback, useEffect } from 'react';
4
-
5
- // ../blocks/src/system/runtime/hooks/usePolling.state.ts
6
- function createInitialPollingState() {
7
- return {
8
- tag: "idle",
9
- result: null,
10
- error: null
11
- };
12
- }
13
- function pollingReducer(state, action) {
14
- switch (action.type) {
15
- case "polling-went-idle":
16
- return createInitialPollingState();
17
- case "polling-reset":
18
- return {
19
- tag: "polling",
20
- result: null,
21
- error: null
22
- };
23
- case "polling-progressed":
24
- return {
25
- tag: "polling",
26
- result: action.result,
27
- error: null
28
- };
29
- case "polling-completed":
30
- return {
31
- tag: "completed",
32
- result: action.result,
33
- error: null
34
- };
35
- case "polling-failed":
36
- return {
37
- tag: "failed",
38
- result: action.result,
39
- error: null
40
- };
41
- case "polling-request-failed":
42
- switch (state.tag) {
43
- case "idle":
44
- return {
45
- tag: "polling",
46
- result: null,
47
- error: action.error
48
- };
49
- case "polling":
50
- return {
51
- tag: "polling",
52
- result: state.result,
53
- error: action.error
54
- };
55
- case "completed":
56
- case "failed":
57
- case "timeout":
58
- return state;
59
- default:
60
- return assertNever11(state);
61
- }
62
- case "polling-timed-out":
63
- return {
64
- tag: "timeout",
65
- result: state.result,
66
- error: new Error("Polling timed out")
67
- };
68
- default:
69
- return assertNever11(action);
70
- }
71
- }
72
-
73
- // ../blocks/src/system/runtime/hooks/usePolling.ts
74
- var DEFAULT_MAX_ATTEMPTS = 10;
75
- var DEFAULT_POLL_INTERVAL = 1e3;
76
- function usePolling(config) {
77
- const [state, dispatch] = useReducer(
78
- pollingReducer,
79
- void 0,
80
- createInitialPollingState
81
- );
82
- const attemptsRef = useRef(0);
83
- const timeoutRef = useRef(null);
84
- const isPollingRef = useRef(false);
85
- const isActiveRef = useRef(false);
86
- const generationRef = useRef(0);
87
- const configRef = useRef(config);
88
- configRef.current = config;
89
- const cleanup = useCallback(() => {
90
- isActiveRef.current = false;
91
- generationRef.current += 1;
92
- if (timeoutRef.current) {
93
- clearTimeout(timeoutRef.current);
94
- timeoutRef.current = null;
95
- }
96
- isPollingRef.current = false;
97
- }, []);
98
- const resetState = useCallback(() => {
99
- dispatch({ type: "polling-reset" });
100
- attemptsRef.current = 0;
101
- }, []);
102
- const poll = useCallback(async () => {
103
- const cfg = configRef.current;
104
- if (!cfg) return true;
105
- if (isPollingRef.current) return false;
106
- const maxAttempts = cfg.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
107
- if (attemptsRef.current >= maxAttempts) {
108
- dispatch({ type: "polling-timed-out" });
109
- cleanup();
110
- return true;
111
- }
112
- isPollingRef.current = true;
113
- attemptsRef.current += 1;
114
- const generation = generationRef.current;
115
- try {
116
- const data = await cfg.pollFn();
117
- if (generation !== generationRef.current || !isActiveRef.current) {
118
- isPollingRef.current = false;
119
- return true;
120
- }
121
- if (cfg.isFailed?.(data)) {
122
- dispatch({ type: "polling-failed", result: data });
123
- cleanup();
124
- return true;
125
- }
126
- if (cfg.isComplete(data)) {
127
- dispatch({ type: "polling-completed", result: data });
128
- cleanup();
129
- return true;
130
- }
131
- dispatch({ type: "polling-progressed", result: data });
132
- isPollingRef.current = false;
133
- return false;
134
- } catch (err) {
135
- if (generation !== generationRef.current || !isActiveRef.current) {
136
- isPollingRef.current = false;
137
- return true;
138
- }
139
- if (err instanceof Error) {
140
- dispatch({ type: "polling-request-failed", error: err });
141
- }
142
- isPollingRef.current = false;
143
- return false;
144
- }
145
- }, [cleanup]);
146
- const schedulePoll = useCallback(() => {
147
- if (!isActiveRef.current) return;
148
- const cfg = configRef.current;
149
- const pollInterval = cfg?.interval ?? DEFAULT_POLL_INTERVAL;
150
- const doPoll = async () => {
151
- const shouldStop = await poll();
152
- if (!shouldStop && isActiveRef.current) {
153
- timeoutRef.current = setTimeout(doPoll, pollInterval);
154
- }
155
- };
156
- void doPoll();
157
- }, [poll]);
158
- useEffect(() => {
159
- if (!config) {
160
- cleanup();
161
- dispatch({ type: "polling-went-idle" });
162
- return;
163
- }
164
- resetState();
165
- isActiveRef.current = true;
166
- schedulePoll();
167
- return cleanup;
168
- }, [config, cleanup, resetState, schedulePoll]);
169
- const retry = useCallback(() => {
170
- if (!configRef.current) return;
171
- cleanup();
172
- resetState();
173
- isActiveRef.current = true;
174
- schedulePoll();
175
- }, [cleanup, resetState, schedulePoll]);
176
- return {
177
- status: config ? state.tag : "idle",
178
- result: config ? state.result : null,
179
- error: config ? state.error : null,
180
- retry
181
- };
182
- }
183
-
184
- export { usePolling };
@@ -1,66 +0,0 @@
1
- "use client";
2
- import { useState, useEffect } from 'react';
3
-
4
- // ../blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.ts
5
- function useDiscountCodeUi(options) {
6
- const [discountUiOpen, setDiscountUiOpen] = useState(false);
7
- const [discountCode, setDiscountCode] = useState("");
8
- const [discountsAvailable, setDiscountsAvailable] = useState(false);
9
- const [manualCodeEntryAllowed, setManualCodeEntryAllowed] = useState(false);
10
- const [autoAppliedDiscount, setAutoAppliedDiscount] = useState(null);
11
- const [discountsAvailableLoading, setDiscountsAvailableLoading] = useState(false);
12
- useEffect(() => {
13
- let cancelled = false;
14
- async function checkDiscountAvailability() {
15
- if (!options.discountContext) {
16
- setDiscountsAvailable(false);
17
- setManualCodeEntryAllowed(false);
18
- setAutoAppliedDiscount(null);
19
- setDiscountsAvailableLoading(false);
20
- setDiscountUiOpen(false);
21
- setDiscountCode("");
22
- return;
23
- }
24
- setDiscountsAvailableLoading(true);
25
- try {
26
- const res = await options.api.getDiscountsAvailable({
27
- context: options.discountContext,
28
- subtotalCents: options.subtotalCents
29
- });
30
- if (cancelled) return;
31
- setDiscountsAvailable(res.hasDiscounts);
32
- setManualCodeEntryAllowed(res.manualCodeEntryAllowed);
33
- setAutoAppliedDiscount(res.autoAppliedDiscount);
34
- if (!res.hasDiscounts || !res.manualCodeEntryAllowed) {
35
- setDiscountUiOpen(false);
36
- setDiscountCode("");
37
- }
38
- } catch {
39
- if (cancelled) return;
40
- setDiscountsAvailable(false);
41
- setManualCodeEntryAllowed(false);
42
- setAutoAppliedDiscount(null);
43
- setDiscountUiOpen(false);
44
- setDiscountCode("");
45
- } finally {
46
- if (!cancelled) setDiscountsAvailableLoading(false);
47
- }
48
- }
49
- void checkDiscountAvailability();
50
- return () => {
51
- cancelled = true;
52
- };
53
- }, [options.api, options.discountContext, options.subtotalCents]);
54
- return {
55
- discountUiOpen,
56
- setDiscountUiOpen,
57
- discountCode,
58
- setDiscountCode,
59
- discountsAvailable,
60
- manualCodeEntryAllowed,
61
- autoAppliedDiscount,
62
- discountsAvailableLoading
63
- };
64
- }
65
-
66
- export { useDiscountCodeUi };