@riverbankcms/sdk 0.146.0 → 0.147.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 (195) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +39 -12
  6. package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +2499 -1682
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +16 -0
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
  12. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  13. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  16. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  17. package/dist/_dts/api/src/bookings.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +587 -561
  19. package/dist/_dts/api/src/eventManagementContracts.d.ts +23 -8
  20. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -1
  21. package/dist/_dts/api/src/index.d.ts +3 -2
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  23. package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
  24. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  25. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  26. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
  27. package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
  28. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  29. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  30. package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -0
  31. package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
  32. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  33. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -18
  34. package/dist/_dts/api/src/siteOnboarding.d.ts +2 -14
  35. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  36. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  37. package/dist/_dts/blocks/src/index.d.ts +1 -1
  38. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +22 -4
  39. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  41. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  42. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  43. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  44. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
  68. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  71. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  75. package/dist/_dts/core/src/index.d.ts +1 -1
  76. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  77. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  78. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
  79. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  80. package/dist/_dts/core/src/participants.d.ts +0 -38
  81. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +102 -22
  82. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  83. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  84. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -3
  85. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  86. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  87. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
  88. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -2
  89. package/dist/_dts/sdk/src/version.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  92. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  95. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  96. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  97. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  98. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  100. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  101. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  102. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  103. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  104. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  105. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  106. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  107. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  108. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  109. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  110. package/dist/_dts/ui/src/badge.d.ts +2 -1
  111. package/dist/_dts/ui/src/button.d.ts +1 -1
  112. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  113. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  114. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  115. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  116. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  117. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  118. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  119. package/dist/_dts/ui/src/index.d.ts +4 -1
  120. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  121. package/dist/_dts/ui/src/popover.d.ts +7 -1
  122. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  123. package/dist/_dts/ui/src/surface.d.ts +1 -1
  124. package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  125. package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
  126. package/dist/client/{DiscountCodeDisclosure-CsOtjFY7.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  127. package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  128. package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  129. package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  130. package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  131. package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  132. package/dist/client/{accordion-BEQNSptH.mjs → accordion-CoT5g7zo.mjs} +1 -1
  133. package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-BWxB46xD.mjs} +226 -106
  134. package/dist/client/bookings.mjs +367 -188
  135. package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-DtNYWFd3.mjs} +2 -2
  136. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  137. package/dist/client/{cart-CnWi30zJ.mjs → cart-z4qZih1Y.mjs} +3 -3
  138. package/dist/client/{checkout-f3nkWgd4.mjs → checkout-DpL7euFH.mjs} +3 -3
  139. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  140. package/dist/client/client.mjs +2125 -1420
  141. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  142. package/dist/client/{context-Bc8T6pCe.mjs → context-C8TinPJc.mjs} +1 -1
  143. package/dist/client/{dates-DUsCEzLb.mjs → dates-vwwxTeB0.mjs} +2 -2
  144. package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  145. package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  146. package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  147. package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-DajjWgOv.mjs} +4 -4
  148. package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-DMq9gMA-.mjs} +109 -41
  149. package/dist/client/{form-C2h3YAcg.mjs → form-Qf6qTbos.mjs} +5 -5
  150. package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  151. package/dist/client/hooks.mjs +661 -116
  152. package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  153. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  154. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  155. package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DzCLSP4S.mjs} +6 -6
  156. package/dist/client/{pricing-HHx3IgBz.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  157. package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  158. package/dist/client/{productList-CtCv-Nmx.mjs → productList-zaapKSl-.mjs} +3 -3
  159. package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-CwvvNOHx.mjs} +52 -6
  160. package/dist/client/rendering/client.mjs +951 -369
  161. package/dist/client/rendering/islands.mjs +19 -19
  162. package/dist/client/rendering.mjs +2153 -1393
  163. package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  164. package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  165. package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  166. package/dist/client/{shop-DQXrQ8kJ.mjs → shop-mktkXvbV.mjs} +7 -7
  167. package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-TqExh235.mjs} +5 -5
  168. package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  169. package/dist/preview-next/before-render.mjs +122 -50
  170. package/dist/preview-next/client/runtime.mjs +4 -4
  171. package/dist/preview-next/editor-base.css +53 -2
  172. package/dist/preview-next/editor-chrome.css +7 -4
  173. package/dist/preview-next/keepAlive.mjs +122 -50
  174. package/dist/preview-next/middleware.mjs +122 -50
  175. package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-C_EHQ5XA.mjs} +122 -50
  176. package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  177. package/dist/{separator-BpHS1KZK.mjs → separator-C9qDP95Z.mjs} +1 -1
  178. package/dist/server/components.mjs +25345 -24942
  179. package/dist/server/config-validation.mjs +711 -163
  180. package/dist/server/config.mjs +711 -163
  181. package/dist/server/data.mjs +709 -162
  182. package/dist/server/index.mjs +123 -51
  183. package/dist/server/navigation.mjs +13 -2
  184. package/dist/server/next.mjs +4538 -4169
  185. package/dist/server/page-converter.mjs +107 -64
  186. package/dist/server/prebuild.mjs +1 -1
  187. package/dist/server/rendering/server.mjs +2509 -2104
  188. package/dist/server/rendering.mjs +25526 -25104
  189. package/dist/server/routing.mjs +750 -289
  190. package/dist/server/server.mjs +671 -148
  191. package/dist/server/theme-bridge.mjs +66 -17
  192. package/dist/server/theme.mjs +5 -1
  193. package/dist/styles/index.css +32 -4
  194. package/package.json +1 -1
  195. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -902,26 +902,21 @@ function isOnColorBackgroundCandidateToken(token) {
902
902
  return BACKGROUND_ROLE_NAMES.has(role);
903
903
  }
904
904
  //#endregion
905
- //#region ../theme-core/src/surfaces/foregroundRoles.ts
906
- const SURFACE_FOREGROUND_ROLES = [
907
- "text",
908
- "heading",
909
- "link",
910
- "supporting"
911
- ];
912
- //#endregion
913
905
  //#region ../theme-core/src/surfaces/foregroundContract.ts
914
906
  const SURFACE_FOREGROUND_CSS_VARS = {
915
907
  text: "--rb-surface-text-color",
916
908
  heading: "--rb-surface-heading-color",
917
909
  link: "--rb-surface-link-color",
910
+ linkHover: "--rb-surface-link-hover-color",
918
911
  supporting: "--rb-surface-supporting-color"
919
912
  };
920
913
  const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
914
+ const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
921
915
  const DEFAULT_ROLE_FALLBACKS = {
922
916
  text: DEFAULT_SURFACE_TEXT_COLOR,
923
917
  heading: DEFAULT_SURFACE_TEXT_COLOR,
924
- link: "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))",
918
+ link: DEFAULT_SURFACE_LINK_COLOR,
919
+ linkHover: DEFAULT_SURFACE_LINK_COLOR,
925
920
  supporting: "rgb(var(--tb-mutedText, 100 116 139))"
926
921
  };
927
922
  function requireSurfaceColorValue(role, value) {
@@ -931,10 +926,12 @@ function requireSurfaceColorValue(role, value) {
931
926
  }
932
927
  function completeSurfaceForegrounds(input) {
933
928
  const text = requireSurfaceColorValue("text", input.text);
929
+ const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
934
930
  return {
935
931
  text,
936
932
  heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
937
- link: input.link === void 0 ? text : requireSurfaceColorValue("link", input.link),
933
+ link,
934
+ linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
938
935
  supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
939
936
  };
940
937
  }
@@ -942,15 +939,30 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
942
939
  const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
943
940
  const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
944
941
  if (role === "text") return `var(${roleVariable}, ${fallback})`;
942
+ if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
945
943
  return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
946
944
  }
947
945
  function surfaceForegroundValueWithOpacity(role, opacityPercent) {
948
946
  if (!Number.isFinite(opacityPercent) || opacityPercent < 0 || opacityPercent > 100) throw new RangeError("Surface foreground opacity must be between 0 and 100.");
949
947
  return `color-mix(in srgb, ${surfaceForegroundValue(role)} ${opacityPercent}%, transparent)`;
950
948
  }
951
- function surfaceForegroundDeclarations(input) {
949
+ function surfaceForegroundStyle(input) {
952
950
  const foregrounds = completeSurfaceForegrounds(input);
953
- return [`color: ${foregrounds.text}`, ...SURFACE_FOREGROUND_ROLES.map((role) => `${SURFACE_FOREGROUND_CSS_VARS[role]}: ${foregrounds[role]}`)];
951
+ return {
952
+ color: foregrounds.text,
953
+ [SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
954
+ [SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
955
+ [SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
956
+ [SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
957
+ [SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
958
+ "--rb-surface-link-hover-decoration": hoverDecoration(input)
959
+ };
960
+ }
961
+ function surfaceForegroundDeclarations(input) {
962
+ return Object.entries(surfaceForegroundStyle(input)).map(([property, value]) => `${property}: ${value};`);
963
+ }
964
+ function hoverDecoration(input) {
965
+ return input.hoverDecoration ?? "underline";
954
966
  }
955
967
  //#endregion
956
968
  //#region ../theme-core/src/buttons/constants.ts
@@ -3902,6 +3914,12 @@ function cardDecorationPseudoRules(containerSelectors, decorations, resolveColor
3902
3914
  });
3903
3915
  }
3904
3916
  //#endregion
3917
+ //#region ../theme-core/src/utils/cssDeclarations.ts
3918
+ /** Render CSS declarations whether callers provide terminators or fragments. */
3919
+ function renderCssDeclarations(declarations) {
3920
+ return declarations.map((declaration) => declaration.endsWith(";") ? declaration : `${declaration};`).join("\n ");
3921
+ }
3922
+ //#endregion
3905
3923
  //#region ../theme-core/src/cards/core.ts
3906
3924
  /**
3907
3925
  * Core Card CSS Generator
@@ -4004,6 +4022,9 @@ function generateCardCoreCss(scopeId, variants, settings, scope = "all") {
4004
4022
  * A variant's background and, when it owns one, the complete foreground
4005
4023
  * contract that goes with it. Opaque cards are surface providers; transparent
4006
4024
  * variants inherit the nearest outer surface atomically and declare nothing.
4025
+ * The SDK bridge has token references but no resolved palette or global prose
4026
+ * preference. It therefore publishes the conservative resting hover plus
4027
+ * underline through the shared contract instead of claiming measured contrast.
4007
4028
  */
4008
4029
  function cardSurfaceDeclarations(variant) {
4009
4030
  if (variant.background === "solid" && variant.backgroundToken) return [`background: rgb(var(--tb-${variant.backgroundToken}))`, ...surfaceForegroundDeclarations({ text: `rgb(var(--tb-${variant.foregroundToken ?? "text"}))` })];
@@ -4039,7 +4060,7 @@ function generateVariantCss$1(scopeId, variant, settings, scope = "all") {
4039
4060
  const mediaRules = mediaCornerRules(variant.cornerRadii, settings.corners);
4040
4061
  const contentRules = [`padding: ${SPACING_MAP[variant.spacing]}`];
4041
4062
  return [
4042
- `${containerSelector} {\n ${containerRules.join(";\n ")};\n}`,
4063
+ `${containerSelector} {\n ${renderCssDeclarations(containerRules)}\n}`,
4043
4064
  ...cardDecorationPseudoRules(containerSelectors, decorations, coreColor),
4044
4065
  `${fallbackBackgroundSelector} {\n background: transparent;\n}`,
4045
4066
  `${mediaSelector} {\n ${mediaRules.join(";\n ")};\n}`,
@@ -15030,6 +15051,8 @@ const containerResponsiveThemeCss = `/*
15030
15051
  --rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
15031
15052
  --rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15032
15053
  --rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15054
+ --rb-surface-link-hover-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15055
+ --rb-surface-link-hover-decoration: underline;
15033
15056
  --rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15034
15057
  border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
15035
15058
  border-radius: var(--rb-modal-radius, var(--radius-card));
@@ -15459,14 +15482,18 @@ const containerResponsiveThemeCss = `/*
15459
15482
 
15460
15483
  :where(.theme-scope) .rb-prose a:hover {
15461
15484
  color: var(
15462
- --rb-prose-link-hover-color,
15463
- var(--rb-prose-effective-link-color)
15485
+ --rb-surface-link-hover-color,
15486
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
15487
+ );
15488
+ text-decoration-line: var(
15489
+ --rb-surface-link-hover-decoration,
15490
+ var(--rb-prose-link-decoration-line, underline)
15464
15491
  );
15465
15492
  text-decoration-color: var(
15466
15493
  --rb-prose-link-hover-decoration-color,
15467
15494
  var(
15468
- --rb-prose-link-hover-color,
15469
- var(--rb-prose-effective-link-color)
15495
+ --rb-surface-link-hover-color,
15496
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
15470
15497
  )
15471
15498
  );
15472
15499
  }
@@ -16510,6 +16537,8 @@ const containerResponsiveThemeCss = `/*
16510
16537
  --rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
16511
16538
  --rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
16512
16539
  --rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
16540
+ --rb-surface-link-hover-color: rgb(var(--tb-onSurface, var(--tb-text)));
16541
+ --rb-surface-link-hover-decoration: underline;
16513
16542
  --rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
16514
16543
  border: 1px solid rgb(var(--tb-border));
16515
16544
  border-radius: var(--radius-card);
@@ -16657,6 +16686,8 @@ const containerResponsiveThemeCss = `/*
16657
16686
  --rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16658
16687
  --rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16659
16688
  --rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16689
+ --rb-surface-link-hover-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16690
+ --rb-surface-link-hover-decoration: underline;
16660
16691
  --rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
16661
16692
  transition: border-color var(--rb-block-transition, 150ms) ease;
16662
16693
  width: 100%;
@@ -22636,6 +22667,8 @@ const containerResponsiveThemeCss = `/*
22636
22667
  --rb-surface-text-color: inherit;
22637
22668
  --rb-surface-heading-color: inherit;
22638
22669
  --rb-surface-link-color: inherit;
22670
+ --rb-surface-link-hover-color: inherit;
22671
+ --rb-surface-link-hover-decoration: inherit;
22639
22672
  --rb-surface-supporting-color: inherit;
22640
22673
  }
22641
22674
 
@@ -22733,6 +22766,8 @@ const containerResponsiveThemeCss = `/*
22733
22766
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
22734
22767
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
22735
22768
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
22769
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
22770
+ --rb-surface-link-hover-decoration: initial;
22736
22771
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
22737
22772
  border: 1px solid rgb(var(--tb-border));
22738
22773
  border-radius: var(--shop-card-radius);
@@ -22899,6 +22934,8 @@ const containerResponsiveThemeCss = `/*
22899
22934
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
22900
22935
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
22901
22936
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
22937
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
22938
+ --rb-surface-link-hover-decoration: initial;
22902
22939
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
22903
22940
  }
22904
22941
 
@@ -22976,6 +23013,8 @@ const containerResponsiveThemeCss = `/*
22976
23013
  --rb-surface-text-color: var(--cp-text);
22977
23014
  --rb-surface-heading-color: var(--cp-text);
22978
23015
  --rb-surface-link-color: var(--cp-primary);
23016
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23017
+ --rb-surface-link-hover-decoration: initial;
22979
23018
  --rb-surface-supporting-color: var(--cp-muted);
22980
23019
  border: 1px solid var(--cp-card-border);
22981
23020
  border-radius: var(--cp-card-radius);
@@ -23125,6 +23164,8 @@ const containerResponsiveThemeCss = `/*
23125
23164
  --rb-surface-text-color: var(--cp-text);
23126
23165
  --rb-surface-heading-color: var(--cp-text);
23127
23166
  --rb-surface-link-color: var(--cp-primary);
23167
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23168
+ --rb-surface-link-hover-decoration: initial;
23128
23169
  --rb-surface-supporting-color: var(--cp-muted);
23129
23170
  border: 1px dashed var(--cp-card-border);
23130
23171
  border-radius: var(--cp-card-radius);
@@ -23142,6 +23183,8 @@ const containerResponsiveThemeCss = `/*
23142
23183
  --rb-surface-text-color: var(--cp-text);
23143
23184
  --rb-surface-heading-color: var(--cp-text);
23144
23185
  --rb-surface-link-color: var(--cp-primary);
23186
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23187
+ --rb-surface-link-hover-decoration: initial;
23145
23188
  --rb-surface-supporting-color: var(--cp-muted);
23146
23189
  border: 1px solid var(--cp-card-border);
23147
23190
  border-radius: var(--cp-card-radius);
@@ -23382,6 +23425,8 @@ const containerResponsiveThemeCss = `/*
23382
23425
  --rb-surface-text-color: var(--cp-text);
23383
23426
  --rb-surface-heading-color: var(--cp-text);
23384
23427
  --rb-surface-link-color: var(--cp-primary);
23428
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23429
+ --rb-surface-link-hover-decoration: initial;
23385
23430
  --rb-surface-supporting-color: var(--cp-muted);
23386
23431
  border: 1px solid var(--cp-card-border);
23387
23432
  border-radius: var(--cp-card-radius);
@@ -26045,6 +26090,8 @@ const containerResponsiveThemeCss = `/*
26045
26090
  --rb-surface-text-color: rgb(var(--tb-onSecondary));
26046
26091
  --rb-surface-heading-color: rgb(var(--tb-onSecondary));
26047
26092
  --rb-surface-link-color: rgb(var(--tb-onSecondary));
26093
+ --rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
26094
+ --rb-surface-link-hover-decoration: underline;
26048
26095
  --rb-surface-supporting-color: rgb(var(--tb-onSecondary));
26049
26096
  }
26050
26097
 
@@ -26176,6 +26223,8 @@ const containerResponsiveThemeCss = `/*
26176
26223
  --rb-surface-text-color: rgb(var(--tb-onPrimary));
26177
26224
  --rb-surface-heading-color: rgb(var(--tb-onPrimary));
26178
26225
  --rb-surface-link-color: rgb(var(--tb-onPrimary));
26226
+ --rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
26227
+ --rb-surface-link-hover-decoration: underline;
26179
26228
  --rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
26180
26229
  }
26181
26230
 
@@ -1167,13 +1167,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
1167
1167
  text: "--rb-surface-text-color",
1168
1168
  heading: "--rb-surface-heading-color",
1169
1169
  link: "--rb-surface-link-color",
1170
+ linkHover: "--rb-surface-link-hover-color",
1170
1171
  supporting: "--rb-surface-supporting-color"
1171
1172
  };
1172
1173
  const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
1174
+ const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
1173
1175
  const DEFAULT_ROLE_FALLBACKS = {
1174
1176
  text: DEFAULT_SURFACE_TEXT_COLOR,
1175
1177
  heading: DEFAULT_SURFACE_TEXT_COLOR,
1176
- link: "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))",
1178
+ link: DEFAULT_SURFACE_LINK_COLOR,
1179
+ linkHover: DEFAULT_SURFACE_LINK_COLOR,
1177
1180
  supporting: "rgb(var(--tb-mutedText, 100 116 139))"
1178
1181
  };
1179
1182
  function requireSurfaceColorValue(role, value) {
@@ -1185,6 +1188,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
1185
1188
  const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
1186
1189
  const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
1187
1190
  if (role === "text") return `var(${roleVariable}, ${fallback})`;
1191
+ if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
1188
1192
  return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
1189
1193
  }
1190
1194
  //#endregion
@@ -1841,6 +1841,8 @@
1841
1841
  --rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
1842
1842
  --rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1843
1843
  --rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1844
+ --rb-surface-link-hover-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1845
+ --rb-surface-link-hover-decoration: underline;
1844
1846
  --rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1845
1847
  border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
1846
1848
  border-radius: var(--rb-modal-radius, var(--radius-card));
@@ -2268,14 +2270,18 @@
2268
2270
 
2269
2271
  :where(.theme-scope) .rb-prose a:hover {
2270
2272
  color: var(
2271
- --rb-prose-link-hover-color,
2272
- var(--rb-prose-effective-link-color)
2273
+ --rb-surface-link-hover-color,
2274
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
2275
+ );
2276
+ text-decoration-line: var(
2277
+ --rb-surface-link-hover-decoration,
2278
+ var(--rb-prose-link-decoration-line, underline)
2273
2279
  );
2274
2280
  text-decoration-color: var(
2275
2281
  --rb-prose-link-hover-decoration-color,
2276
2282
  var(
2277
- --rb-prose-link-hover-color,
2278
- var(--rb-prose-effective-link-color)
2283
+ --rb-surface-link-hover-color,
2284
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
2279
2285
  )
2280
2286
  );
2281
2287
  }
@@ -3309,6 +3315,8 @@
3309
3315
  --rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
3310
3316
  --rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
3311
3317
  --rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
3318
+ --rb-surface-link-hover-color: rgb(var(--tb-onSurface, var(--tb-text)));
3319
+ --rb-surface-link-hover-decoration: underline;
3312
3320
  --rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
3313
3321
  border: 1px solid rgb(var(--tb-border));
3314
3322
  border-radius: var(--radius-card);
@@ -3450,6 +3458,8 @@
3450
3458
  --rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3451
3459
  --rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3452
3460
  --rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3461
+ --rb-surface-link-hover-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3462
+ --rb-surface-link-hover-decoration: underline;
3453
3463
  --rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
3454
3464
  transition: border-color var(--rb-block-transition, 150ms) ease;
3455
3465
  width: 100%;
@@ -9410,6 +9420,8 @@
9410
9420
  --rb-surface-text-color: inherit;
9411
9421
  --rb-surface-heading-color: inherit;
9412
9422
  --rb-surface-link-color: inherit;
9423
+ --rb-surface-link-hover-color: inherit;
9424
+ --rb-surface-link-hover-decoration: inherit;
9413
9425
  --rb-surface-supporting-color: inherit;
9414
9426
  }
9415
9427
 
@@ -9505,6 +9517,8 @@
9505
9517
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
9506
9518
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
9507
9519
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
9520
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
9521
+ --rb-surface-link-hover-decoration: initial;
9508
9522
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
9509
9523
  border: 1px solid rgb(var(--tb-border));
9510
9524
  border-radius: var(--shop-card-radius);
@@ -9669,6 +9683,8 @@
9669
9683
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
9670
9684
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
9671
9685
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
9686
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
9687
+ --rb-surface-link-hover-decoration: initial;
9672
9688
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
9673
9689
  }
9674
9690
 
@@ -9745,6 +9761,8 @@
9745
9761
  --rb-surface-text-color: var(--cp-text);
9746
9762
  --rb-surface-heading-color: var(--cp-text);
9747
9763
  --rb-surface-link-color: var(--cp-primary);
9764
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9765
+ --rb-surface-link-hover-decoration: initial;
9748
9766
  --rb-surface-supporting-color: var(--cp-muted);
9749
9767
  border: 1px solid var(--cp-card-border);
9750
9768
  border-radius: var(--cp-card-radius);
@@ -9894,6 +9912,8 @@
9894
9912
  --rb-surface-text-color: var(--cp-text);
9895
9913
  --rb-surface-heading-color: var(--cp-text);
9896
9914
  --rb-surface-link-color: var(--cp-primary);
9915
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9916
+ --rb-surface-link-hover-decoration: initial;
9897
9917
  --rb-surface-supporting-color: var(--cp-muted);
9898
9918
  border: 1px dashed var(--cp-card-border);
9899
9919
  border-radius: var(--cp-card-radius);
@@ -9911,6 +9931,8 @@
9911
9931
  --rb-surface-text-color: var(--cp-text);
9912
9932
  --rb-surface-heading-color: var(--cp-text);
9913
9933
  --rb-surface-link-color: var(--cp-primary);
9934
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9935
+ --rb-surface-link-hover-decoration: initial;
9914
9936
  --rb-surface-supporting-color: var(--cp-muted);
9915
9937
  border: 1px solid var(--cp-card-border);
9916
9938
  border-radius: var(--cp-card-radius);
@@ -10149,6 +10171,8 @@
10149
10171
  --rb-surface-text-color: var(--cp-text);
10150
10172
  --rb-surface-heading-color: var(--cp-text);
10151
10173
  --rb-surface-link-color: var(--cp-primary);
10174
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
10175
+ --rb-surface-link-hover-decoration: initial;
10152
10176
  --rb-surface-supporting-color: var(--cp-muted);
10153
10177
  border: 1px solid var(--cp-card-border);
10154
10178
  border-radius: var(--cp-card-radius);
@@ -12810,6 +12834,8 @@
12810
12834
  --rb-surface-text-color: rgb(var(--tb-onSecondary));
12811
12835
  --rb-surface-heading-color: rgb(var(--tb-onSecondary));
12812
12836
  --rb-surface-link-color: rgb(var(--tb-onSecondary));
12837
+ --rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
12838
+ --rb-surface-link-hover-decoration: underline;
12813
12839
  --rb-surface-supporting-color: rgb(var(--tb-onSecondary));
12814
12840
  }
12815
12841
 
@@ -12939,6 +12965,8 @@
12939
12965
  --rb-surface-text-color: rgb(var(--tb-onPrimary));
12940
12966
  --rb-surface-heading-color: rgb(var(--tb-onPrimary));
12941
12967
  --rb-surface-link-color: rgb(var(--tb-onPrimary));
12968
+ --rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
12969
+ --rb-surface-link-hover-decoration: underline;
12942
12970
  --rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
12943
12971
  }
12944
12972
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.146.0",
3
+ "version": "0.147.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",
@@ -1,135 +0,0 @@
1
- import type { CustomerId, ParticipantId } from './branded';
2
- import type { ParticipantEmail, ParticipantParticipation, ParticipantRosterSlot, ParticipantSlotKey, ParticipantSubjectResolution, SingleSubjectParticipantParticipation } from './participants';
3
- export type ContactablePersonSeed = Readonly<{
4
- displayName: string | null;
5
- email: ParticipantEmail;
6
- phone: string | null;
7
- }>;
8
- export type ProvisionalPersonSeed = Readonly<{
9
- displayName: string | null;
10
- phone: string | null;
11
- }>;
12
- export type PersonResolutionInput = Readonly<{
13
- kind: 'with_email';
14
- displayName: string | null;
15
- email: ParticipantEmail;
16
- phone: string | null;
17
- existingParticipantIdByEmail: ParticipantId | null;
18
- }> | Readonly<{
19
- kind: 'without_email';
20
- displayName: string | null;
21
- phone: string | null;
22
- }>;
23
- export type PersonResolutionPlan = Readonly<{
24
- kind: 'reuse_existing_person_by_email';
25
- participantId: ParticipantId;
26
- email: ParticipantEmail;
27
- }> | Readonly<{
28
- kind: 'create_contactable_person';
29
- seed: ContactablePersonSeed;
30
- }> | Readonly<{
31
- kind: 'create_provisional_person';
32
- seed: ProvisionalPersonSeed;
33
- }>;
34
- export declare function planPersonResolution(input: PersonResolutionInput): PersonResolutionPlan;
35
- export type CustomerPersonResolutionInput = Readonly<{
36
- kind: 'with_email';
37
- customerId: CustomerId;
38
- displayName: string | null;
39
- email: ParticipantEmail;
40
- phone: string | null;
41
- existingParticipantIdByEmail: ParticipantId | null;
42
- }> | Readonly<{
43
- kind: 'without_email';
44
- customerId: CustomerId;
45
- displayName: string | null;
46
- phone: string | null;
47
- }>;
48
- export type CustomerPersonResolution = Readonly<{
49
- kind: 'link_existing_person_by_email';
50
- customerId: CustomerId;
51
- participantId: ParticipantId;
52
- email: ParticipantEmail;
53
- }> | Readonly<{
54
- kind: 'create_contactable_person_for_customer';
55
- customerId: CustomerId;
56
- seed: ContactablePersonSeed;
57
- }> | Readonly<{
58
- kind: 'create_provisional_person_for_customer';
59
- customerId: CustomerId;
60
- seed: ProvisionalPersonSeed;
61
- }>;
62
- export declare function planCustomerPersonResolution(input: CustomerPersonResolutionInput): CustomerPersonResolution;
63
- export type ParticipationPersonResolution = Readonly<{
64
- kind: 'reuse_existing_person_for_slot';
65
- slotKey: ParticipantSlotKey;
66
- participantId: ParticipantId;
67
- participation: ParticipantParticipation;
68
- }> | Readonly<{
69
- kind: 'create_contactable_person_for_slot';
70
- slotKey: ParticipantSlotKey;
71
- seed: ContactablePersonSeed;
72
- participation: ParticipantParticipation;
73
- }> | Readonly<{
74
- kind: 'create_provisional_person_for_slot';
75
- slotKey: ParticipantSlotKey;
76
- seed: ProvisionalPersonSeed;
77
- participation: ParticipantParticipation;
78
- }> | Readonly<{
79
- kind: 'blocked_duplicate_participant_in_booking';
80
- slotKey: ParticipantSlotKey;
81
- email: ParticipantEmail;
82
- conflictingSlotKeys: readonly ParticipantSlotKey[];
83
- }>;
84
- export declare function planParticipationPersonResolution(input: Readonly<{
85
- slot: ParticipantRosterSlot;
86
- resolution: ParticipantSubjectResolution;
87
- }>): ParticipationPersonResolution;
88
- export type SingleSubjectParticipantMaterializationInput = Readonly<{
89
- kind: 'participant_subject';
90
- customerId: CustomerId;
91
- displayName: string | null;
92
- email: ParticipantEmail;
93
- phone: string | null;
94
- existingParticipantIdByEmail: ParticipantId | null;
95
- participation: SingleSubjectParticipantParticipation;
96
- }> | Readonly<{
97
- kind: 'provisional_single_subject_participant';
98
- customerId: CustomerId;
99
- displayName: string | null;
100
- phone: string | null;
101
- participation: SingleSubjectParticipantParticipation;
102
- }>;
103
- export type SingleSubjectParticipantMaterializationPlan = Readonly<{
104
- kind: 'reuse_existing_person_and_participation';
105
- customerId: CustomerId;
106
- participantId: ParticipantId;
107
- participation: SingleSubjectParticipantParticipation;
108
- }> | Readonly<{
109
- kind: 'create_contactable_person_and_participation';
110
- customerId: CustomerId;
111
- seed: ContactablePersonSeed;
112
- participation: SingleSubjectParticipantParticipation;
113
- }> | Readonly<{
114
- kind: 'create_provisional_person_and_participation';
115
- customerId: CustomerId;
116
- seed: ProvisionalPersonSeed;
117
- participation: SingleSubjectParticipantParticipation;
118
- }>;
119
- export declare function planSingleSubjectParticipantMaterialization(input: SingleSubjectParticipantMaterializationInput): SingleSubjectParticipantMaterializationPlan;
120
- export type CleanupEvidence = Readonly<{
121
- legacyCustomerEmailCallSiteCount: number;
122
- unresolvedHealthRowCount: number;
123
- parityFailureSurfaces: readonly string[];
124
- }>;
125
- export type CleanupReadinessBlocker = 'legacy_customer_email_call_sites_remaining' | 'parity_failures_remaining' | 'unresolved_health_rows_remaining';
126
- export type CleanupReadiness = Readonly<{
127
- kind: 'ready';
128
- evidence: CleanupEvidence;
129
- blockers: readonly [];
130
- }> | Readonly<{
131
- kind: 'blocked';
132
- evidence: CleanupEvidence;
133
- blockers: readonly CleanupReadinessBlocker[];
134
- }>;
135
- export declare function planCleanupReadiness(evidence: CleanupEvidence): CleanupReadiness;