@riverbankcms/sdk 0.132.0 → 0.134.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 (159) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-DfRhJPFQ.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-Dppxcr_g.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-8CyGCXir.mjs} +46 -15
  5. package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DVMTMvqA.mjs} +497 -169
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +384 -384
  7. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +219 -219
  8. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  9. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
  10. package/dist/_dts/api/src/bookingOperations.d.ts +2 -14
  11. package/dist/_dts/api/src/bookings.d.ts +2 -2
  12. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  13. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +2 -2
  14. package/dist/_dts/api/src/endpoints.d.ts +3 -3
  15. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  16. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
  17. package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
  18. package/dist/_dts/api/src/navigation/types.d.ts +23 -6
  19. package/dist/_dts/api/src/navigation.d.ts +1 -1
  20. package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
  21. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +3 -1
  22. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
  25. package/dist/_dts/api/src/siteBanner.d.ts +4 -2
  26. package/dist/_dts/api/src/types.d.ts +1 -1
  27. package/dist/_dts/api/src/webhooks.d.ts +12 -12
  28. package/dist/_dts/blocks/src/client.d.ts +1 -1
  29. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +28 -72
  30. package/dist/_dts/blocks/src/index.d.ts +3 -2
  31. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
  32. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +36 -14
  34. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
  35. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
  36. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +3 -0
  37. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
  38. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
  39. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
  41. package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
  42. package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
  43. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
  44. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
  45. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +2 -0
  46. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
  48. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
  55. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
  56. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +34 -12
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
  65. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  66. package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
  67. package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
  68. package/dist/_dts/core/src/booking-consent.d.ts +8 -0
  69. package/dist/_dts/core/src/index.d.ts +1 -0
  70. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
  71. package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
  72. package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
  73. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
  74. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
  75. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
  76. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
  77. package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
  78. package/dist/_dts/sdk/src/bookings/types.d.ts +7 -89
  79. package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
  80. package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
  81. package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
  82. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
  83. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
  84. package/dist/_dts/sdk/src/version.d.ts +1 -1
  85. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  86. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
  87. package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
  88. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
  89. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  90. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
  92. package/dist/_dts/theme-core/src/schema.d.ts +82 -82
  93. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  95. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  96. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  97. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  98. package/dist/_dts/ui/src/badge.d.ts +1 -1
  99. package/dist/_dts/ui/src/button.d.ts +1 -1
  100. package/dist/_dts/ui/src/callout.d.ts +1 -1
  101. package/dist/_dts/ui/src/card.d.ts +1 -1
  102. package/dist/client/{StepIndicator-CGixP_LW.mjs → BookingConsentAgreement-BxgpGEFD.mjs} +26 -4
  103. package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-CfuPOHD0.mjs} +1 -1
  104. package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-DB8Qfzi-.mjs} +3 -3
  105. package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-DD4X8hp4.mjs} +2 -2
  106. package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-QhgIBQbv.mjs} +1 -1
  107. package/dist/client/{WholeSeriesRegistrationWizard-BEjzSiOA.mjs → WholeSeriesRegistrationWizard-DwtC7bCs.mjs} +72 -22
  108. package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-DFXpLvwg.mjs} +1 -1
  109. package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-sI05d3lk.mjs} +73 -47
  110. package/dist/client/bookings.mjs +989 -140
  111. package/dist/client/{carousel-BvBwkUzx.mjs → carousel-wjyWTZCh.mjs} +1 -1
  112. package/dist/client/{cart-DiZENT2E.mjs → cart-DCwdpA4i.mjs} +3 -3
  113. package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DTDW3l0R.mjs} +3 -3
  114. package/dist/client/checkoutUrls-DQYC_Br-.mjs +187 -0
  115. package/dist/client/client.mjs +556 -237
  116. package/dist/client/{context-B83PiNzm.mjs → context-TSK1CGx8.mjs} +1 -14
  117. package/dist/client/{courseRegistration-CKC5NmyH.mjs → courseRegistration-A-Tg7qw_.mjs} +3 -3
  118. package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-B0Zg-i_w.mjs} +5 -5
  119. package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B8Y2wizd.mjs} +3 -3
  120. package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-DPDOwURJ.mjs} +3 -3
  121. package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-CjBcmSLn.mjs} +3 -3
  122. package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CK30HsAq.mjs} +111 -64
  123. package/dist/client/{form-C17H1c_H.mjs → form-CUXfsABE.mjs} +2 -2
  124. package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-N-mN3rjr.mjs} +2 -2
  125. package/dist/client/hooks.mjs +106 -3
  126. package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-oiIDQMBt.mjs} +2 -2
  127. package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-CkQ2tTrM.mjs} +2 -2
  128. package/dist/client/{pricing-CVdvbopJ.mjs → pricing-Caa0QWzh.mjs} +1 -1
  129. package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-CnidyrsN.mjs} +3 -3
  130. package/dist/client/{productList-qq-55DNk.mjs → productList-CttYcS_S.mjs} +3 -3
  131. package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-CeUMxI9a.mjs} +211 -100
  132. package/dist/client/rendering/client.mjs +428 -151
  133. package/dist/client/rendering/islands.mjs +18 -18
  134. package/dist/client/rendering.mjs +643 -324
  135. package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-lPr1oqxB.mjs} +1 -1
  136. package/dist/client/{shop-DNWJPut5.mjs → shop-DXQtMo2O.mjs} +6 -6
  137. package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-quDL411J.mjs} +7 -164
  138. package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-Dnu-8Iub.mjs} +1 -1
  139. package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-BWPUURvG.mjs} +3 -3
  140. package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DRhWp2_5.mjs} +3 -3
  141. package/dist/client/{usePolling-M5jG675x.mjs → usePolling-UN4WKnaM.mjs} +2 -2
  142. package/dist/preview-next/client/runtime.mjs +3 -3
  143. package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-Ca5RD78X.mjs} +1 -1
  144. package/dist/{separator-DGMuip1D.mjs → separator-CMhj6BTi.mjs} +1 -1
  145. package/dist/server/components.mjs +117 -37
  146. package/dist/server/config-validation.mjs +106 -3
  147. package/dist/server/config.mjs +106 -3
  148. package/dist/server/data.mjs +106 -3
  149. package/dist/server/index.mjs +1 -1
  150. package/dist/server/next.mjs +186 -106
  151. package/dist/server/page-converter.mjs +105 -2
  152. package/dist/server/prebuild.mjs +1 -1
  153. package/dist/server/rendering/server.mjs +119 -37
  154. package/dist/server/rendering.mjs +117 -37
  155. package/dist/server/routing.mjs +132 -73
  156. package/dist/server/server.mjs +107 -4
  157. package/dist/server/theme-bridge.mjs +4 -4
  158. package/package.json +2 -2
  159. package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
@@ -102,8 +102,8 @@ export declare const eventCollectionSourceSchemaShape: {
102
102
  readonly showCapacity: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
103
103
  readonly cardRole: z.ZodOptional<z.ZodEnum<{
104
104
  open: "open";
105
- default: "default";
106
105
  none: "none";
106
+ default: "default";
107
107
  alternative: "alternative";
108
108
  }>>;
109
109
  readonly buttonVariant: z.ZodOptional<z.ZodEnum<{
@@ -481,14 +481,14 @@ export declare const eventCollectionSourceSchemaShape: {
481
481
  }>;
482
482
  }, z.core.$strip>], "kind">;
483
483
  deliveryMode: z.ZodEnum<{
484
+ online: "online";
484
485
  in_person: "in_person";
485
486
  hybrid: "hybrid";
486
- online: "online";
487
487
  }>;
488
488
  attendanceModes: z.ZodArray<z.ZodObject<{
489
489
  mode: z.ZodEnum<{
490
- in_person: "in_person";
491
490
  online: "online";
491
+ in_person: "in_person";
492
492
  }>;
493
493
  capacity: z.ZodNullable<z.ZodNumber>;
494
494
  registeredCount: z.ZodNumber;
@@ -571,9 +571,9 @@ export declare const eventCollectionSourceSchemaShape: {
571
571
  }>;
572
572
  capacityLimit: z.ZodNullable<z.ZodNumber>;
573
573
  attendanceScope: z.ZodOptional<z.ZodEnum<{
574
- in_person: "in_person";
575
574
  both: "both";
576
575
  online: "online";
576
+ in_person: "in_person";
577
577
  }>>;
578
578
  saleStartsAt: z.ZodNullable<z.ZodString>;
579
579
  saleEndsAt: z.ZodNullable<z.ZodString>;
@@ -720,6 +720,17 @@ export declare const eventCollectionSourceSchemaShape: {
720
720
  }, z.core.$strip>;
721
721
  }, z.core.$strip>]>>;
722
722
  }, z.core.$strip>;
723
+ consent: z.ZodNullable<z.ZodType<Readonly<{
724
+ requirementId: string;
725
+ title: string;
726
+ agreement: import("../../../../../../../core/src/index").RichTextDoc;
727
+ checkboxLabel: string;
728
+ }>, unknown, z.core.$ZodTypeInternals<Readonly<{
729
+ requirementId: string;
730
+ title: string;
731
+ agreement: import("../../../../../../../core/src/index").RichTextDoc;
732
+ checkboxLabel: string;
733
+ }>, unknown>>>;
723
734
  accessRestriction: z.ZodEnum<{
724
735
  none: "none";
725
736
  category: "category";
@@ -732,8 +743,8 @@ export declare const eventCollectionSourceSchemaShape: {
732
743
  eventSeriesId: z.ZodString;
733
744
  pricing: z.ZodObject<{
734
745
  bookingRequirement: z.ZodEnum<{
735
- required: "required";
736
746
  none: "none";
747
+ required: "required";
737
748
  }>;
738
749
  pricingStrategy: z.ZodEnum<{
739
750
  single: "single";
@@ -819,9 +830,9 @@ export declare const eventCollectionSourceSchemaShape: {
819
830
  saleStartsAt: z.ZodNullable<z.ZodString>;
820
831
  saleEndsAt: z.ZodNullable<z.ZodString>;
821
832
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
822
- in_person: "in_person";
823
833
  both: "both";
824
834
  online: "online";
835
+ in_person: "in_person";
825
836
  }>>>;
826
837
  }, z.core.$strip>>;
827
838
  }, z.core.$strip>;
@@ -1209,14 +1220,14 @@ export declare const eventCollectionDisplaySchemaShape: {
1209
1220
  }>;
1210
1221
  }, z.core.$strip>], "kind">;
1211
1222
  deliveryMode: z.ZodEnum<{
1223
+ online: "online";
1212
1224
  in_person: "in_person";
1213
1225
  hybrid: "hybrid";
1214
- online: "online";
1215
1226
  }>;
1216
1227
  attendanceModes: z.ZodArray<z.ZodObject<{
1217
1228
  mode: z.ZodEnum<{
1218
- in_person: "in_person";
1219
1229
  online: "online";
1230
+ in_person: "in_person";
1220
1231
  }>;
1221
1232
  capacity: z.ZodNullable<z.ZodNumber>;
1222
1233
  registeredCount: z.ZodNumber;
@@ -1299,9 +1310,9 @@ export declare const eventCollectionDisplaySchemaShape: {
1299
1310
  }>;
1300
1311
  capacityLimit: z.ZodNullable<z.ZodNumber>;
1301
1312
  attendanceScope: z.ZodOptional<z.ZodEnum<{
1302
- in_person: "in_person";
1303
1313
  both: "both";
1304
1314
  online: "online";
1315
+ in_person: "in_person";
1305
1316
  }>>;
1306
1317
  saleStartsAt: z.ZodNullable<z.ZodString>;
1307
1318
  saleEndsAt: z.ZodNullable<z.ZodString>;
@@ -1448,6 +1459,17 @@ export declare const eventCollectionDisplaySchemaShape: {
1448
1459
  }, z.core.$strip>;
1449
1460
  }, z.core.$strip>]>>;
1450
1461
  }, z.core.$strip>;
1462
+ consent: z.ZodNullable<z.ZodType<Readonly<{
1463
+ requirementId: string;
1464
+ title: string;
1465
+ agreement: import("../../../../../../../core/src/index").RichTextDoc;
1466
+ checkboxLabel: string;
1467
+ }>, unknown, z.core.$ZodTypeInternals<Readonly<{
1468
+ requirementId: string;
1469
+ title: string;
1470
+ agreement: import("../../../../../../../core/src/index").RichTextDoc;
1471
+ checkboxLabel: string;
1472
+ }>, unknown>>>;
1451
1473
  accessRestriction: z.ZodEnum<{
1452
1474
  none: "none";
1453
1475
  category: "category";
@@ -1460,8 +1482,8 @@ export declare const eventCollectionDisplaySchemaShape: {
1460
1482
  eventSeriesId: z.ZodString;
1461
1483
  pricing: z.ZodObject<{
1462
1484
  bookingRequirement: z.ZodEnum<{
1463
- required: "required";
1464
1485
  none: "none";
1486
+ required: "required";
1465
1487
  }>;
1466
1488
  pricingStrategy: z.ZodEnum<{
1467
1489
  single: "single";
@@ -1547,9 +1569,9 @@ export declare const eventCollectionDisplaySchemaShape: {
1547
1569
  saleStartsAt: z.ZodNullable<z.ZodString>;
1548
1570
  saleEndsAt: z.ZodNullable<z.ZodString>;
1549
1571
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1550
- in_person: "in_person";
1551
1572
  both: "both";
1552
1573
  online: "online";
1574
+ in_person: "in_person";
1553
1575
  }>>>;
1554
1576
  }, z.core.$strip>>;
1555
1577
  }, z.core.$strip>;
@@ -1610,8 +1632,8 @@ export declare const eventCollectionDisplaySchemaShape: {
1610
1632
  readonly showCapacity: z.ZodBoolean;
1611
1633
  readonly cardRole: z.ZodEnum<{
1612
1634
  open: "open";
1613
- default: "default";
1614
1635
  none: "none";
1636
+ default: "default";
1615
1637
  alternative: "alternative";
1616
1638
  }>;
1617
1639
  readonly buttonVariant: z.ZodEnum<{
@@ -0,0 +1,7 @@
1
+ import type { RichTextDoc } from "../../../../../../core/src/index";
2
+ export declare function BookingConsentAgreement({ agreement, showTitle, title, titleId, }: Readonly<{
3
+ agreement: RichTextDoc;
4
+ showTitle?: boolean;
5
+ title: string;
6
+ titleId: string;
7
+ }>): React.ReactElement;
@@ -12,6 +12,7 @@ export type FormData = {
12
12
  email: string;
13
13
  phone: string;
14
14
  notes: string;
15
+ consentAccepted?: boolean;
15
16
  };
16
17
  /**
17
18
  * Button style variants.
@@ -3,11 +3,14 @@ export type InternalRouteOnlyLinkValue = {
3
3
  kind: 'internal';
4
4
  routeId: string;
5
5
  };
6
+ export declare const RESOLVED_INTERNAL_LINK_ENTITY_TYPES: readonly ["page", "content", "pageSurface"];
7
+ export type ResolvedInternalLinkEntityType = (typeof RESOLVED_INTERNAL_LINK_ENTITY_TYPES)[number];
8
+ export declare function isResolvedInternalLinkEntityType(value: unknown): value is ResolvedInternalLinkEntityType;
6
9
  export type InternalResolvedLinkValue = {
7
10
  kind: 'internal';
8
11
  routeId: string;
9
12
  entityId: string;
10
- entityType: 'page' | 'content';
13
+ entityType: ResolvedInternalLinkEntityType;
11
14
  href: string;
12
15
  title: string;
13
16
  typeLabel: string;
@@ -70,6 +73,7 @@ export declare const internalResolvedLinkSchema: z.ZodObject<{
70
73
  entityType: z.ZodEnum<{
71
74
  content: "content";
72
75
  page: "page";
76
+ pageSurface: "pageSurface";
73
77
  }>;
74
78
  href: z.ZodString;
75
79
  title: z.ZodString;
@@ -85,6 +89,7 @@ export declare const internalLinkSchema: z.ZodUnion<readonly [z.ZodObject<{
85
89
  entityType: z.ZodEnum<{
86
90
  content: "content";
87
91
  page: "page";
92
+ pageSurface: "pageSurface";
88
93
  }>;
89
94
  href: z.ZodString;
90
95
  title: z.ZodString;
@@ -120,6 +125,7 @@ export declare const linkSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.Zod
120
125
  entityType: z.ZodEnum<{
121
126
  content: "content";
122
127
  page: "page";
128
+ pageSurface: "pageSurface";
123
129
  }>;
124
130
  href: z.ZodString;
125
131
  title: z.ZodString;
@@ -8,16 +8,16 @@ declare const BaseContentFieldSchema: z.ZodObject<{
8
8
  number: "number";
9
9
  boolean: "boolean";
10
10
  date: "date";
11
- url: "url";
12
11
  text: "text";
12
+ url: "url";
13
13
  textarea: "textarea";
14
14
  select: "select";
15
- link: "link";
16
- file: "file";
17
15
  media: "media";
18
16
  reference: "reference";
19
17
  repeater: "repeater";
18
+ file: "file";
20
19
  group: "group";
20
+ link: "link";
21
21
  datetime: "datetime";
22
22
  button: "button";
23
23
  richText: "richText";
@@ -58,8 +58,8 @@ declare const BaseContentFieldSchema: z.ZodObject<{
58
58
  }, z.core.$strip>>;
59
59
  valueFrom: z.ZodOptional<z.ZodEnum<{
60
60
  id: "id";
61
- slug: "slug";
62
61
  identifier: "identifier";
62
+ slug: "slug";
63
63
  }>>;
64
64
  ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
65
65
  itemLabel: z.ZodOptional<z.ZodString>;
@@ -0,0 +1,8 @@
1
+ import type { RichTextDoc } from './rich-text';
2
+ /** Canonical public consent copy attached to a bookable offering. */
3
+ export type BookingConsent = Readonly<{
4
+ requirementId: string;
5
+ title: string;
6
+ agreement: RichTextDoc;
7
+ checkboxLabel: string;
8
+ }>;
@@ -15,6 +15,7 @@ export * from './booking-flexible-balance';
15
15
  export * from './booking-refunds';
16
16
  export * from './booking-instalments';
17
17
  export * from './booking-date-time';
18
+ export * from './booking-consent';
18
19
  export * from './dated-offering-settlement';
19
20
  export * from './person-records';
20
21
  export * from './rectification';
@@ -4482,6 +4482,7 @@ export type Database = {
4482
4482
  appointment_service_id: string | null;
4483
4483
  canonical_event_series_id: string | null;
4484
4484
  completion_subject: string;
4485
+ consent_agreement_rich_text: Json | null;
4485
4486
  consent_agreement_text: string | null;
4486
4487
  consent_checkbox_label: string | null;
4487
4488
  consent_title: string | null;
@@ -4510,6 +4511,7 @@ export type Database = {
4510
4511
  appointment_service_id?: string | null;
4511
4512
  canonical_event_series_id?: string | null;
4512
4513
  completion_subject: string;
4514
+ consent_agreement_rich_text?: Json | null;
4513
4515
  consent_agreement_text?: string | null;
4514
4516
  consent_checkbox_label?: string | null;
4515
4517
  consent_title?: string | null;
@@ -4538,6 +4540,7 @@ export type Database = {
4538
4540
  appointment_service_id?: string | null;
4539
4541
  canonical_event_series_id?: string | null;
4540
4542
  completion_subject?: string;
4543
+ consent_agreement_rich_text?: Json | null;
4541
4544
  consent_agreement_text?: string | null;
4542
4545
  consent_checkbox_label?: string | null;
4543
4546
  consent_title?: string | null;
@@ -10692,7 +10695,7 @@ export type Database = {
10692
10695
  filename: string;
10693
10696
  height: number | null;
10694
10697
  id: string;
10695
- identifier: string | null;
10698
+ identifier: string;
10696
10699
  is_published: boolean;
10697
10700
  is_thumbnail: boolean | null;
10698
10701
  labels_cached: string[] | null;
@@ -10732,7 +10735,7 @@ export type Database = {
10732
10735
  filename: string;
10733
10736
  height?: number | null;
10734
10737
  id?: string;
10735
- identifier?: string | null;
10738
+ identifier: string;
10736
10739
  is_published?: boolean;
10737
10740
  is_thumbnail?: boolean | null;
10738
10741
  labels_cached?: string[] | null;
@@ -10772,7 +10775,7 @@ export type Database = {
10772
10775
  filename?: string;
10773
10776
  height?: number | null;
10774
10777
  id?: string;
10775
- identifier?: string | null;
10778
+ identifier?: string;
10776
10779
  is_published?: boolean;
10777
10780
  is_thumbnail?: boolean | null;
10778
10781
  labels_cached?: string[] | null;
@@ -18002,6 +18005,7 @@ export type Database = {
18002
18005
  Row: {
18003
18006
  appointment_service_id: string | null;
18004
18007
  completion_subject: string | null;
18008
+ consent_agreement_rich_text: Json | null;
18005
18009
  consent_agreement_text: string | null;
18006
18010
  consent_checkbox_label: string | null;
18007
18011
  consent_title: string | null;
@@ -18028,6 +18032,7 @@ export type Database = {
18028
18032
  Insert: {
18029
18033
  appointment_service_id?: string | null;
18030
18034
  completion_subject?: string | null;
18035
+ consent_agreement_rich_text?: Json | null;
18031
18036
  consent_agreement_text?: string | null;
18032
18037
  consent_checkbox_label?: string | null;
18033
18038
  consent_title?: string | null;
@@ -18054,6 +18059,7 @@ export type Database = {
18054
18059
  Update: {
18055
18060
  appointment_service_id?: string | null;
18056
18061
  completion_subject?: string | null;
18062
+ consent_agreement_rich_text?: Json | null;
18057
18063
  consent_agreement_text?: string | null;
18058
18064
  consent_checkbox_label?: string | null;
18059
18065
  consent_title?: string | null;
@@ -416,15 +416,15 @@ export declare const formFieldSchema: z.ZodObject<{
416
416
  number: "number";
417
417
  date: "date";
418
418
  time: "time";
419
+ text: "text";
419
420
  email: "email";
420
421
  url: "url";
421
- text: "text";
422
422
  textarea: "textarea";
423
423
  select: "select";
424
424
  checkbox: "checkbox";
425
425
  radio: "radio";
426
- consent: "consent";
427
426
  tel: "tel";
427
+ consent: "consent";
428
428
  }>;
429
429
  required: z.ZodDefault<z.ZodBoolean>;
430
430
  placeholder: z.ZodOptional<z.ZodString>;
@@ -447,8 +447,8 @@ export declare const formFieldSchema: z.ZodObject<{
447
447
  }, z.core.$strict>>;
448
448
  }, z.core.$strict>;
449
449
  export declare const bookingQuestionDocumentFileTypeSchema: z.ZodEnum<{
450
- pdf: "pdf";
451
450
  image: "image";
451
+ pdf: "pdf";
452
452
  docx: "docx";
453
453
  }>;
454
454
  declare const bookingQuestionScalarFieldSchema: z.ZodObject<{
@@ -477,9 +477,9 @@ declare const bookingQuestionScalarFieldSchema: z.ZodObject<{
477
477
  number: "number";
478
478
  date: "date";
479
479
  time: "time";
480
+ text: "text";
480
481
  email: "email";
481
482
  url: "url";
482
- text: "text";
483
483
  textarea: "textarea";
484
484
  select: "select";
485
485
  checkbox: "checkbox";
@@ -501,8 +501,8 @@ declare const bookingQuestionDocumentUploadFieldSchema: z.ZodObject<{
501
501
  }>>;
502
502
  }, z.core.$strict>>;
503
503
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
504
- pdf: "pdf";
505
504
  image: "image";
505
+ pdf: "pdf";
506
506
  docx: "docx";
507
507
  }>>>;
508
508
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -533,9 +533,9 @@ export declare const bookingQuestionFieldSchema: z.ZodDiscriminatedUnion<[z.ZodO
533
533
  number: "number";
534
534
  date: "date";
535
535
  time: "time";
536
+ text: "text";
536
537
  email: "email";
537
538
  url: "url";
538
- text: "text";
539
539
  textarea: "textarea";
540
540
  select: "select";
541
541
  checkbox: "checkbox";
@@ -556,8 +556,8 @@ export declare const bookingQuestionFieldSchema: z.ZodDiscriminatedUnion<[z.ZodO
556
556
  }>>;
557
557
  }, z.core.$strict>>;
558
558
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
559
- pdf: "pdf";
560
559
  image: "image";
560
+ pdf: "pdf";
561
561
  docx: "docx";
562
562
  }>>>;
563
563
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -592,9 +592,9 @@ export declare const bookingQuestionsSectionSchema: z.ZodObject<{
592
592
  number: "number";
593
593
  date: "date";
594
594
  time: "time";
595
+ text: "text";
595
596
  email: "email";
596
597
  url: "url";
597
- text: "text";
598
598
  textarea: "textarea";
599
599
  select: "select";
600
600
  checkbox: "checkbox";
@@ -615,8 +615,8 @@ export declare const bookingQuestionsSectionSchema: z.ZodObject<{
615
615
  }>>;
616
616
  }, z.core.$strict>>;
617
617
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
618
- pdf: "pdf";
619
618
  image: "image";
619
+ pdf: "pdf";
620
620
  docx: "docx";
621
621
  }>>>;
622
622
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -654,9 +654,9 @@ export declare const bookingQuestionsDetailedSchemaSchema: z.ZodObject<{
654
654
  number: "number";
655
655
  date: "date";
656
656
  time: "time";
657
+ text: "text";
657
658
  email: "email";
658
659
  url: "url";
659
- text: "text";
660
660
  textarea: "textarea";
661
661
  select: "select";
662
662
  checkbox: "checkbox";
@@ -677,8 +677,8 @@ export declare const bookingQuestionsDetailedSchemaSchema: z.ZodObject<{
677
677
  }>>;
678
678
  }, z.core.$strict>>;
679
679
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
680
- pdf: "pdf";
681
680
  image: "image";
681
+ pdf: "pdf";
682
682
  docx: "docx";
683
683
  }>>>;
684
684
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -698,15 +698,15 @@ export declare const formSchemaSchema: z.ZodObject<{
698
698
  number: "number";
699
699
  date: "date";
700
700
  time: "time";
701
+ text: "text";
701
702
  email: "email";
702
703
  url: "url";
703
- text: "text";
704
704
  textarea: "textarea";
705
705
  select: "select";
706
706
  checkbox: "checkbox";
707
707
  radio: "radio";
708
- consent: "consent";
709
708
  tel: "tel";
709
+ consent: "consent";
710
710
  }>;
711
711
  required: z.ZodDefault<z.ZodBoolean>;
712
712
  placeholder: z.ZodOptional<z.ZodString>;
@@ -757,9 +757,9 @@ export declare const bookingQuestionsFlatSchemaSchema: z.ZodObject<{
757
757
  number: "number";
758
758
  date: "date";
759
759
  time: "time";
760
+ text: "text";
760
761
  email: "email";
761
762
  url: "url";
762
- text: "text";
763
763
  textarea: "textarea";
764
764
  select: "select";
765
765
  checkbox: "checkbox";
@@ -780,8 +780,8 @@ export declare const bookingQuestionsFlatSchemaSchema: z.ZodObject<{
780
780
  }>>;
781
781
  }, z.core.$strict>>;
782
782
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
783
- pdf: "pdf";
784
783
  image: "image";
784
+ pdf: "pdf";
785
785
  docx: "docx";
786
786
  }>>>;
787
787
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -815,9 +815,9 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
815
815
  number: "number";
816
816
  date: "date";
817
817
  time: "time";
818
+ text: "text";
818
819
  email: "email";
819
820
  url: "url";
820
- text: "text";
821
821
  textarea: "textarea";
822
822
  select: "select";
823
823
  checkbox: "checkbox";
@@ -838,8 +838,8 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
838
838
  }>>;
839
839
  }, z.core.$strict>>;
840
840
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
841
- pdf: "pdf";
842
841
  image: "image";
842
+ pdf: "pdf";
843
843
  docx: "docx";
844
844
  }>>>;
845
845
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -876,9 +876,9 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
876
876
  number: "number";
877
877
  date: "date";
878
878
  time: "time";
879
+ text: "text";
879
880
  email: "email";
880
881
  url: "url";
881
- text: "text";
882
882
  textarea: "textarea";
883
883
  select: "select";
884
884
  checkbox: "checkbox";
@@ -899,8 +899,8 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
899
899
  }>>;
900
900
  }, z.core.$strict>>;
901
901
  allowedFileTypes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
902
- pdf: "pdf";
903
902
  image: "image";
903
+ pdf: "pdf";
904
904
  docx: "docx";
905
905
  }>>>;
906
906
  maxBytes: z.ZodDefault<z.ZodNumber>;
@@ -956,15 +956,15 @@ export declare const createFormPayloadSchema: z.ZodObject<{
956
956
  number: "number";
957
957
  date: "date";
958
958
  time: "time";
959
+ text: "text";
959
960
  email: "email";
960
961
  url: "url";
961
- text: "text";
962
962
  textarea: "textarea";
963
963
  select: "select";
964
964
  checkbox: "checkbox";
965
965
  radio: "radio";
966
- consent: "consent";
967
966
  tel: "tel";
967
+ consent: "consent";
968
968
  }>;
969
969
  required: z.ZodDefault<z.ZodBoolean>;
970
970
  placeholder: z.ZodOptional<z.ZodString>;
@@ -10,7 +10,7 @@ export type InternalLinkRoutablePayload = {
10
10
  kind: 'internal';
11
11
  routeId: string;
12
12
  entityId: string;
13
- entityType: 'page' | 'content';
13
+ entityType: 'page' | 'content' | 'pageSurface';
14
14
  href: string;
15
15
  title: string;
16
16
  typeLabel: string;
@@ -13,6 +13,7 @@ export type RichTextEditorSurfaceProps = Readonly<{
13
13
  placeholderClassName?: string;
14
14
  placeholderText?: string;
15
15
  ariaLabel?: string;
16
+ ariaDescribedBy?: string;
16
17
  linkItems?: RichTextRoutableItem[];
17
18
  onRequestLinkItems?: () => Promise<RichTextRoutableItem[]>;
18
19
  onPickImage?: () => Promise<PickedRichTextImage | null | undefined>;
@@ -37,4 +38,4 @@ export type RichTextToolbarLayout = Readonly<{
37
38
  visibility: RichTextToolbarVisibility;
38
39
  }>;
39
40
  export declare function shouldHandleRichTextActivationKey(container: HTMLElement, target: EventTarget | null): boolean;
40
- export declare function RichTextEditorSurface({ editor, config, isEmpty, className, contentClassName, placeholderClassName, placeholderText, ariaLabel, linkItems, onRequestLinkItems, onPickImage, toolbarLayout, onClick, renderContent, }: RichTextEditorSurfaceProps): import("react").JSX.Element;
41
+ export declare function RichTextEditorSurface({ editor, config, isEmpty, className, contentClassName, placeholderClassName, placeholderText, ariaLabel, ariaDescribedBy, linkItems, onRequestLinkItems, onPickImage, toolbarLayout, onClick, renderContent, }: RichTextEditorSurfaceProps): import("react").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import type { AnyExtension } from '@tiptap/core';
2
2
  import type { RichTextVariant } from '../../../../blocks/src/index';
3
+ export type RichTextEditorVariant = RichTextVariant | 'consent';
3
4
  export type ToolbarButtonConfig = {
4
5
  type: 'blockType';
5
6
  } | {
@@ -26,4 +27,4 @@ export type RichTextEditorConfig = {
26
27
  placeholder: string;
27
28
  pastePolicy: RichTextPastePolicy;
28
29
  };
29
- export declare const richTextConfigs: Record<RichTextVariant, RichTextEditorConfig>;
30
+ export declare const richTextConfigs: Record<RichTextEditorVariant, RichTextEditorConfig>;
@@ -1,8 +1,9 @@
1
+ import type { ResolvedInternalLinkEntityType } from '../../../../../blocks/src/index';
1
2
  type TabKey = 'internal' | 'external' | 'custom';
2
3
  export type RichTextRoutableItem = {
3
4
  routeId: string;
4
5
  entityId: string;
5
- entityType: 'page' | 'content';
6
+ entityType: ResolvedInternalLinkEntityType;
6
7
  identifier: string | null;
7
8
  contentTypeKey?: string | null;
8
9
  contentTypeName?: string | null;
@@ -21,7 +22,7 @@ export type LinkAttrs = {
21
22
  contentType?: string;
22
23
  routeId?: string;
23
24
  entityId?: string;
24
- entityType?: 'page' | 'content';
25
+ entityType?: ResolvedInternalLinkEntityType;
25
26
  title?: string;
26
27
  typeLabel?: string;
27
28
  contentTypeKey?: string | null;
@@ -1,12 +1,11 @@
1
1
  import type { Content, Editor } from '@tiptap/react';
2
- import type { RichTextVariant } from '../../../../blocks/src/index';
3
- import { type RichTextEditorConfig } from './config';
2
+ import { type RichTextEditorConfig, type RichTextEditorVariant } from './config';
4
3
  import { type RichTextContentWarnings } from './sanitize';
5
4
  interface UseRichTextEditorOptions {
6
5
  /** TipTap document content - can be JSON object, HTML string, or null */
7
6
  content: Content;
8
7
  editable: boolean;
9
- variant: RichTextVariant;
8
+ variant: RichTextEditorVariant;
10
9
  }
11
10
  interface UseRichTextEditorResult {
12
11
  editor: Editor | null;
@@ -15,5 +14,5 @@ interface UseRichTextEditorResult {
15
14
  warnings: RichTextContentWarnings;
16
15
  warningSummary: string | null;
17
16
  }
18
- export declare function useRichTextEditor({ content, editable, variant }: UseRichTextEditorOptions): UseRichTextEditorResult;
17
+ export declare function useRichTextEditor({ content, editable, variant, }: UseRichTextEditorOptions): UseRichTextEditorResult;
19
18
  export {};
@@ -2,7 +2,7 @@ export type MediaUsageTokenAsset = Readonly<{
2
2
  id: string;
3
3
  siteId: string;
4
4
  storagePath: string;
5
- identifier: string | null;
5
+ identifier: string;
6
6
  }>;
7
7
  export type TokenMaps = Readonly<{
8
8
  byAssetId: ReadonlyMap<string, string>;