@riverbankcms/sdk 0.85.0 → 0.89.1

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 (166) hide show
  1. package/dist/{PreviewEditorSidebar-4PH35ZIE.mjs → PreviewEditorSidebar-JDR64FEC.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-WHMCRJGM.mjs → PreviewEditorUI-67TMJMAF.mjs} +3 -3
  3. package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +8 -0
  4. package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
  5. package/dist/_dts/api/src/endpoints.d.ts +66 -14
  6. package/dist/_dts/api/src/index.d.ts +5 -2
  7. package/dist/_dts/api/src/launchReadiness.d.ts +3 -3
  8. package/dist/_dts/api/src/mailchimpIntegration.d.ts +215 -0
  9. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +35 -15
  10. package/dist/_dts/api/src/siteInfrastructure.d.ts +0 -14
  11. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  12. package/dist/_dts/api/src/siteMembers.d.ts +6 -1
  13. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -13
  14. package/dist/_dts/api/src/types.d.ts +7 -4
  15. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
  16. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
  17. package/dist/_dts/blocks/src/index.d.ts +2 -1
  18. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  19. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  20. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  21. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  22. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  24. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  25. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -288
  26. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  27. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  28. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +42 -42
  29. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +300 -0
  30. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +63 -3
  31. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  33. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +53 -1
  35. package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
  36. package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
  37. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
  38. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
  39. package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
  40. package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +27 -0
  41. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -23
  42. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +11 -2
  43. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -0
  44. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
  48. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
  50. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
  51. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
  52. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
  53. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
  54. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +4 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +11 -1
  60. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
  61. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +15 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +32 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +5 -1
  65. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
  66. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +5 -1
  67. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
  68. package/dist/_dts/blocks/src/system/runtime/shared/utils/formatting.d.ts +1 -1
  69. package/dist/_dts/content-model/src/entry-slots/types.d.ts +54 -0
  70. package/dist/_dts/content-model/src/referenceFields.d.ts +1 -1
  71. package/dist/_dts/core/src/branded.d.ts +7 -0
  72. package/dist/_dts/core/src/currency-format.d.ts +37 -2
  73. package/dist/_dts/core/src/event-pricing.d.ts +24 -0
  74. package/dist/_dts/core/src/index.d.ts +1 -0
  75. package/dist/_dts/core/src/site-route-target.d.ts +40 -0
  76. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +705 -17
  77. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +3 -1
  78. package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
  79. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
  80. package/dist/_dts/sdk/src/client/types.d.ts +35 -1
  81. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  82. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -0
  83. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +3 -9
  84. package/dist/_dts/sdk/src/index.d.ts +3 -1
  85. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
  86. package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +7 -18
  87. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  88. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -1
  89. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -3
  90. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +4 -24
  91. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +45 -0
  92. package/dist/_dts/sdk/src/version.d.ts +1 -1
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -9
  95. package/dist/_dts/theme-core/src/schema.d.ts +11 -11
  96. package/dist/{chunk-PYDHOMEO.mjs → chunk-7N46MZHI.mjs} +1 -1
  97. package/dist/{chunk-ZR2GQK2A.mjs → chunk-7YUAXONX.mjs} +1880 -588
  98. package/dist/{chunk-4QNLOTES.mjs → chunk-F645A5UV.mjs} +76 -14
  99. package/dist/{chunk-OCGTXHSO.mjs → chunk-HKJQERFR.mjs} +7 -7
  100. package/dist/{chunk-NFWGLRZZ.mjs → chunk-TGBJWKMP.mjs} +37 -3
  101. package/dist/{chunk-WFPYN7KA.mjs → chunk-ZQRBLCW5.mjs} +2 -2
  102. package/dist/cli/index.mjs +1075 -126
  103. package/dist/client/{accordion-2UZPBMYM.mjs → accordion-MUCVNGQ7.mjs} +2 -2
  104. package/dist/client/{bookingForm-36CWQUMV.mjs → bookingForm-PKD6EFIE.mjs} +193 -77
  105. package/dist/client/bookings.mjs +487 -197
  106. package/dist/client/{carousel-QH77HR6X.mjs → carousel-3TKQSNJC.mjs} +4 -3
  107. package/dist/client/cart-6XHSZK23.mjs +19 -0
  108. package/dist/client/checkout-FVSPM6FI.mjs +19 -0
  109. package/dist/client/{chunk-ZE5G642V.mjs → chunk-25W2EQUN.mjs} +75 -1
  110. package/dist/client/chunk-6N7YRNYU.mjs +183 -0
  111. package/dist/client/{chunk-4OXKTA3D.mjs → chunk-7DH35FGA.mjs} +2 -2
  112. package/dist/client/{chunk-3C2VTPWI.mjs → chunk-CQKKFEQD.mjs} +363 -66
  113. package/dist/client/{chunk-7UCLJ5SP.mjs → chunk-EY42X22F.mjs} +4 -7
  114. package/dist/client/{chunk-SYIJ5JO2.mjs → chunk-FHU6PFPM.mjs} +1 -1
  115. package/dist/client/{chunk-ZKUO52W3.mjs → chunk-LQFDYWPJ.mjs} +1 -1
  116. package/dist/client/chunk-RSQWWUAD.mjs +390 -0
  117. package/dist/client/{chunk-UDNSI5PY.mjs → chunk-STJ2NCQM.mjs} +2 -3
  118. package/dist/client/{chunk-VGDBVNOO.mjs → chunk-UQFY4AHX.mjs} +511 -406
  119. package/dist/client/{chunk-F5VRX5Y6.mjs → chunk-VGLXACVK.mjs} +1 -1
  120. package/dist/client/{chunk-DVNUDUVT.mjs → chunk-WBQG7VJA.mjs} +4 -1
  121. package/dist/client/{chunk-52CGCQ7B.mjs → chunk-ZJZZA5EP.mjs} +10 -80
  122. package/dist/client/{chunk-XSV6KW4D.mjs → chunk-ZT5XE7FK.mjs} +1 -1
  123. package/dist/client/client.mjs +5820 -4782
  124. package/dist/client/{courseRegistration-TMKU6ABO.mjs → courseRegistration-ATZSYDHM.mjs} +7 -7
  125. package/dist/client/{eventCalendar-G6TI32X6.mjs → eventCalendar-6T2UGKKP.mjs} +11 -11
  126. package/dist/client/{eventCombined-SCKEMNAR.mjs → eventCombined-Q4VANXVF.mjs} +11 -11
  127. package/dist/client/{eventDetails-XPIFXXPK.mjs → eventDetails-DW37E7VW.mjs} +11 -11
  128. package/dist/client/{eventListing-7QFMEMGT.mjs → eventListing-XURTSAUW.mjs} +11 -11
  129. package/dist/client/{eventRegistration-TOODSZUI.mjs → eventRegistration-MRKEVAXW.mjs} +11 -11
  130. package/dist/client/{form-MTCMVCZT.mjs → form-WZZFFGMU.mjs} +3 -3
  131. package/dist/client/{headerSection-Y5TMR3TW.mjs → headerSection-EQYVQBLM.mjs} +4 -4
  132. package/dist/client/hooks.mjs +1700 -1412
  133. package/dist/client/{locationMap-RH2LG7FZ.mjs → locationMap-MFF5VAZR.mjs} +3 -4
  134. package/dist/client/{newsletterForm-PCAIPFMA.mjs → newsletterForm-JQ77UYIE.mjs} +127 -43
  135. package/dist/client/{productDetail-OIGDR4YE.mjs → productDetail-25LMT3IZ.mjs} +9 -9
  136. package/dist/client/{productList-4MA5S2CX.mjs → productList-5ABEMKUG.mjs} +9 -9
  137. package/dist/client/rendering/client.mjs +3884 -3722
  138. package/dist/client/rendering/islands.mjs +19 -19
  139. package/dist/client/rendering.mjs +6774 -6331
  140. package/dist/client/shop-OMMQZ6YO.mjs +21 -0
  141. package/dist/preview-next/before-render.mjs +76 -14
  142. package/dist/preview-next/client/runtime.mjs +5 -5
  143. package/dist/preview-next/editor-chrome.css +56 -9
  144. package/dist/preview-next/middleware.mjs +76 -14
  145. package/dist/{sdk-runtime-QLOCYKVU.mjs → sdk-runtime-WNLBZ3ZH.mjs} +6 -6
  146. package/dist/server/components.mjs +2579 -2548
  147. package/dist/server/config-validation.mjs +1737 -1461
  148. package/dist/server/config.mjs +1737 -1461
  149. package/dist/server/data.mjs +1701 -1413
  150. package/dist/server/index.mjs +1048 -400
  151. package/dist/server/next.mjs +3602 -2858
  152. package/dist/server/page-converter.mjs +2193 -1169
  153. package/dist/server/prebuild.mjs +1 -1
  154. package/dist/server/rendering/server.mjs +2770 -2742
  155. package/dist/server/rendering.mjs +2961 -2886
  156. package/dist/server/routing.mjs +2186 -1508
  157. package/dist/server/server.mjs +2237 -1287
  158. package/dist/server/theme-bridge.mjs +260 -0
  159. package/dist/styles/index.css +258 -0
  160. package/package.json +2 -1
  161. package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +0 -8
  162. package/dist/client/cart-X4YK4FTW.mjs +0 -19
  163. package/dist/client/checkout-OM2BEPWD.mjs +0 -19
  164. package/dist/client/chunk-3DTWLTXM.mjs +0 -204
  165. package/dist/client/chunk-I2MMZO53.mjs +0 -6
  166. package/dist/client/shop-WXSYV5QO.mjs +0 -21
@@ -0,0 +1,300 @@
1
+ import type { Brand } from '../../../../core/src/index';
2
+ type NonEmptyReadonlyArray<T> = readonly [T, ...T[]];
3
+ declare const serverResolvedMailchimpConnectionStateBrand: unique symbol;
4
+ declare const serverValidatedMailchimpAudienceCompatibilityBrand: unique symbol;
5
+ export type NewsletterListId = Brand<string, 'NewsletterListId'>;
6
+ export type MailchimpConnectionId = Brand<string, 'MailchimpConnectionId'>;
7
+ export type MailchimpAudienceId = Brand<string, 'MailchimpAudienceId'>;
8
+ export type MailchimpTagName = Brand<string, 'MailchimpTagName'>;
9
+ export type NewsletterSignupBlockId = Brand<string, 'NewsletterSignupBlockId'>;
10
+ export type SignedNewsletterDestinationRef = Brand<string, 'SignedNewsletterDestinationRef'>;
11
+ export type NewsletterSignupDestinationProvider = 'riverbank' | 'mailchimp';
12
+ export type NewsletterSignupFieldPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
13
+ export type RiverbankNewsletterDestination = Readonly<{
14
+ tag: 'riverbank_list';
15
+ listId: NewsletterListId;
16
+ }>;
17
+ export type MailchimpNewsletterDestination = Readonly<{
18
+ tag: 'mailchimp_audience';
19
+ connectionId: MailchimpConnectionId;
20
+ audienceId: MailchimpAudienceId;
21
+ tags: readonly MailchimpTagName[];
22
+ }>;
23
+ export type NewsletterSignupAuthoringDestination = RiverbankNewsletterDestination | MailchimpNewsletterDestination;
24
+ export type NewsletterSignupPublicDestinationRef = Readonly<{
25
+ tag: 'block_ref';
26
+ blockId: NewsletterSignupBlockId;
27
+ }> | Readonly<{
28
+ tag: 'signed_destination_ref';
29
+ token: SignedNewsletterDestinationRef;
30
+ }>;
31
+ export type NewsletterSignupRawAuthoringContent = Readonly<{
32
+ destination?: unknown;
33
+ destinationProvider?: unknown;
34
+ listId?: unknown;
35
+ tags?: unknown;
36
+ mailchimpAudienceId?: unknown;
37
+ mailchimpTags?: unknown;
38
+ }>;
39
+ export type NewsletterSignupAuthoringState = Readonly<{
40
+ destination: NewsletterSignupAuthoringDestination;
41
+ }>;
42
+ export type NewsletterSignupDestinationEditorFieldState = Readonly<{
43
+ tag: 'riverbank';
44
+ showNewsletterList: true;
45
+ showRiverbankTags: true;
46
+ showMailchimpAudience: false;
47
+ showMailchimpTags: false;
48
+ showMailchimpConnectionWarning: false;
49
+ }> | Readonly<{
50
+ tag: 'mailchimp';
51
+ showNewsletterList: false;
52
+ showRiverbankTags: false;
53
+ showMailchimpAudience: true;
54
+ showMailchimpTags: true;
55
+ showMailchimpConnectionWarning: boolean;
56
+ }>;
57
+ export type NewsletterSignupEditorValues = Readonly<{
58
+ destinationProvider?: unknown;
59
+ listId?: unknown;
60
+ tags?: unknown;
61
+ mailchimpAudienceId?: unknown;
62
+ mailchimpTags?: unknown;
63
+ }>;
64
+ export type NormalizedNewsletterSignupEditorValues = Readonly<{
65
+ destinationProvider: 'riverbank';
66
+ listId?: unknown;
67
+ tags?: unknown;
68
+ }> | Readonly<{
69
+ destinationProvider: 'mailchimp';
70
+ mailchimpAudienceId?: unknown;
71
+ mailchimpTags?: unknown;
72
+ }>;
73
+ export type TrustedNewsletterSignupAuthoringDestinationError = Readonly<{
74
+ tag: 'invalid_destination_provider';
75
+ value: unknown;
76
+ }> | Readonly<{
77
+ tag: 'riverbank_list_required';
78
+ }> | Readonly<{
79
+ tag: 'mailchimp_connection_required';
80
+ }> | Readonly<{
81
+ tag: 'mailchimp_connection_needs_reauth';
82
+ }> | Readonly<{
83
+ tag: 'mailchimp_audience_required';
84
+ }> | Readonly<{
85
+ tag: 'mailchimp_compatibility_validation_pending';
86
+ }> | Readonly<{
87
+ tag: 'invalid_mailchimp_tags';
88
+ }> | Readonly<{
89
+ tag: 'mailchimp_audience_incompatible';
90
+ issues: readonly MailchimpAudienceCompatibilityIssue[];
91
+ }>;
92
+ export type TrustedNewsletterSignupAuthoringDestinationResult = Readonly<{
93
+ success: true;
94
+ destination: NewsletterSignupAuthoringDestination;
95
+ }> | Readonly<{
96
+ success: false;
97
+ error: TrustedNewsletterSignupAuthoringDestinationError;
98
+ }>;
99
+ export type NewsletterSignupRuntimeSource = Readonly<{
100
+ destinationProvider: NewsletterSignupDestinationProvider;
101
+ listId: string | null;
102
+ tags: string | null;
103
+ }>;
104
+ export type MailchimpConnectionEditorState = Readonly<{
105
+ tag: 'not_connected';
106
+ }> | Readonly<{
107
+ tag: 'connected';
108
+ connectionId: MailchimpConnectionId;
109
+ }> | Readonly<{
110
+ tag: 'needs_reauth';
111
+ connectionId: MailchimpConnectionId;
112
+ }>;
113
+ export type ServerResolvedMailchimpConnectionState = Readonly<{
114
+ tag: 'not_connected';
115
+ [serverResolvedMailchimpConnectionStateBrand]: true;
116
+ }> | Readonly<{
117
+ tag: 'connected';
118
+ connectionId: MailchimpConnectionId;
119
+ [serverResolvedMailchimpConnectionStateBrand]: true;
120
+ }> | Readonly<{
121
+ tag: 'needs_reauth';
122
+ connectionId: MailchimpConnectionId;
123
+ [serverResolvedMailchimpConnectionStateBrand]: true;
124
+ }>;
125
+ export type MailchimpAudienceCompatibilityIssue = Readonly<{
126
+ tag: 'required_merge_field';
127
+ fieldTag: string;
128
+ fieldType: string | null;
129
+ }> | Readonly<{
130
+ tag: 'unsupported_required_interest_group';
131
+ name: string | null;
132
+ }> | Readonly<{
133
+ tag: 'unsupported_marketing_permissions';
134
+ }> | Readonly<{
135
+ tag: 'unsupported_sms_field';
136
+ }>;
137
+ export type MailchimpMergeFieldCompatibilityInput = Readonly<{
138
+ fieldTag: string;
139
+ fieldType: string | null;
140
+ required: boolean;
141
+ }>;
142
+ export type MailchimpRequiredMergeField = Readonly<{
143
+ fieldTag: string;
144
+ fieldType: string | null;
145
+ }>;
146
+ export type MailchimpRequiredInterestGroup = Readonly<{
147
+ name: string | null;
148
+ }>;
149
+ export type NewsletterSignupFormCompatibilityFingerprint = Readonly<{
150
+ preset: NewsletterSignupFieldPreset;
151
+ includePhone: boolean;
152
+ }>;
153
+ export type MailchimpAudienceCompatibilityInput = Readonly<{
154
+ requiredMergeFields: readonly MailchimpRequiredMergeField[];
155
+ requiredInterestGroups?: readonly MailchimpRequiredInterestGroup[];
156
+ marketingPermissionsRequired?: boolean;
157
+ smsSignupRequired?: boolean;
158
+ }>;
159
+ export type MailchimpAudienceCompatibilityValidation = Readonly<{
160
+ tag: 'pending';
161
+ }> | Readonly<{
162
+ tag: 'validated';
163
+ connectionId: MailchimpConnectionId;
164
+ audienceId: MailchimpAudienceId;
165
+ form: NewsletterSignupFormCompatibilityFingerprint;
166
+ issues: readonly MailchimpAudienceCompatibilityIssue[];
167
+ }>;
168
+ export type ServerValidatedMailchimpAudienceCompatibility = Extract<MailchimpAudienceCompatibilityValidation, {
169
+ tag: 'validated';
170
+ }> & Readonly<{
171
+ [serverValidatedMailchimpAudienceCompatibilityBrand]: true;
172
+ }>;
173
+ export type NewsletterSignupDestinationReadinessIssue = Readonly<{
174
+ tag: 'invalid_destination_provider';
175
+ value: unknown;
176
+ }> | Readonly<{
177
+ tag: 'riverbank_list_required';
178
+ }> | Readonly<{
179
+ tag: 'mailchimp_connection_required';
180
+ }> | Readonly<{
181
+ tag: 'mailchimp_connection_needs_reauth';
182
+ }> | Readonly<{
183
+ tag: 'mailchimp_audience_required';
184
+ }> | Readonly<{
185
+ tag: 'mailchimp_compatibility_validation_pending';
186
+ }> | Readonly<{
187
+ tag: 'invalid_mailchimp_tags';
188
+ }> | Readonly<{
189
+ tag: 'mailchimp_audience_incompatible';
190
+ issues: readonly MailchimpAudienceCompatibilityIssue[];
191
+ }>;
192
+ export type NewsletterSignupDestinationReadiness = Readonly<{
193
+ tag: 'ready';
194
+ }> | Readonly<{
195
+ tag: 'blocked';
196
+ issues: NonEmptyReadonlyArray<NewsletterSignupDestinationReadinessIssue>;
197
+ }>;
198
+ export type NewsletterSignupDestinationActivationIssue = Readonly<{
199
+ tag: 'invalid_destination_provider';
200
+ value: unknown;
201
+ }> | Readonly<{
202
+ tag: 'invalid_mailchimp_destination';
203
+ }> | Readonly<{
204
+ tag: 'invalid_mailchimp_connection_id';
205
+ }> | Readonly<{
206
+ tag: 'mailchimp_audience_required';
207
+ }> | Readonly<{
208
+ tag: 'invalid_mailchimp_audience_id';
209
+ }> | Readonly<{
210
+ tag: 'invalid_mailchimp_tags';
211
+ }> | Readonly<{
212
+ tag: 'mailchimp_server_readiness_unavailable';
213
+ }>;
214
+ export type NewsletterSignupDestinationActivationInput = Readonly<{
215
+ tag: 'unresolved_authoring_content';
216
+ content: NewsletterSignupRawAuthoringContent;
217
+ }>;
218
+ export type NewsletterSignupDestinationActivationReadiness = Readonly<{
219
+ tag: 'ready';
220
+ }> | Readonly<{
221
+ tag: 'blocked';
222
+ issues: NonEmptyReadonlyArray<NewsletterSignupDestinationActivationIssue>;
223
+ }>;
224
+ export type NewsletterSignupDestinationProviderOption = Readonly<{
225
+ tag: 'available';
226
+ value: 'riverbank';
227
+ label: string;
228
+ }> | Readonly<{
229
+ tag: 'unavailable';
230
+ value: 'mailchimp';
231
+ label: string;
232
+ reason: 'connection_and_compatibility_pending';
233
+ }>;
234
+ export type NewsletterSignupDestinationParseError = Readonly<{
235
+ tag: 'missing_destination';
236
+ }> | Readonly<{
237
+ tag: 'mixed_legacy_and_destination';
238
+ }> | Readonly<{
239
+ tag: 'invalid_destination_shape';
240
+ }> | Readonly<{
241
+ tag: 'invalid_destination_tag';
242
+ value: unknown;
243
+ }> | Readonly<{
244
+ tag: 'invalid_destination_provider';
245
+ value: unknown;
246
+ }> | Readonly<{
247
+ tag: 'conflicting_destination_provider';
248
+ }> | Readonly<{
249
+ tag: 'invalid_newsletter_list_id';
250
+ }> | Readonly<{
251
+ tag: 'invalid_mailchimp_connection_id';
252
+ }> | Readonly<{
253
+ tag: 'invalid_mailchimp_audience_id';
254
+ }> | Readonly<{
255
+ tag: 'invalid_mailchimp_tags';
256
+ }>;
257
+ export type NewsletterSignupDestinationParseResult = Readonly<{
258
+ success: true;
259
+ data: NewsletterSignupAuthoringState;
260
+ }> | Readonly<{
261
+ success: false;
262
+ error: NewsletterSignupDestinationParseError;
263
+ }>;
264
+ export declare function parseNewsletterListId(value: unknown): NewsletterListId | null;
265
+ export declare function parseMailchimpConnectionId(value: unknown): MailchimpConnectionId | null;
266
+ export declare function parseMailchimpAudienceId(value: unknown): MailchimpAudienceId | null;
267
+ export declare function parseMailchimpTagName(value: unknown): MailchimpTagName | null;
268
+ export declare function parseNewsletterSignupBlockId(value: unknown): NewsletterSignupBlockId | null;
269
+ export declare function parseSignedNewsletterDestinationRef(value: unknown): SignedNewsletterDestinationRef | null;
270
+ export declare function parseNewsletterSignupDestinationProvider(value: unknown): NewsletterSignupDestinationProvider | null;
271
+ export declare function parseNewsletterSignupAuthoringDestination(content: unknown): NewsletterSignupDestinationParseResult;
272
+ export declare function normalizeNewsletterSignupAuthoringDestination(content: NewsletterSignupRawAuthoringContent): NewsletterSignupAuthoringDestination | null;
273
+ export declare function assertValidNewsletterSignupAuthoringDestination(destination: NewsletterSignupAuthoringDestination): NewsletterSignupAuthoringDestination;
274
+ export declare function buildNewsletterSignupBlockRef(blockId: string | null | undefined): NewsletterSignupPublicDestinationRef | null;
275
+ export declare function selectNewsletterDestinationEditorFields(destination: NewsletterSignupAuthoringDestination | NewsletterSignupDestinationProvider | null, connectionState?: MailchimpConnectionEditorState): NewsletterSignupDestinationEditorFieldState;
276
+ export declare function normalizeNewsletterSignupEditorValuesForDestination(values: NewsletterSignupEditorValues): NormalizedNewsletterSignupEditorValues;
277
+ export declare function buildTrustedNewsletterSignupAuthoringDestination(input: Readonly<{
278
+ values: NewsletterSignupEditorValues;
279
+ connectionState?: ServerResolvedMailchimpConnectionState;
280
+ form?: NewsletterSignupFormCompatibilityFingerprint;
281
+ compatibility?: ServerValidatedMailchimpAudienceCompatibility;
282
+ }>): TrustedNewsletterSignupAuthoringDestinationResult;
283
+ export declare function deriveNewsletterSignupRuntimeSource(values: NewsletterSignupEditorValues): NewsletterSignupRuntimeSource;
284
+ export declare function unsafeAssumeServerResolvedMailchimpConnectionState(state: MailchimpConnectionEditorState): ServerResolvedMailchimpConnectionState;
285
+ export declare function unsafeAssumeServerValidatedMailchimpAudienceCompatibility(validation: Extract<MailchimpAudienceCompatibilityValidation, {
286
+ tag: 'validated';
287
+ }>): ServerValidatedMailchimpAudienceCompatibility;
288
+ export declare function sanitizeNewsletterSignupPublicContent(content: unknown): unknown;
289
+ export declare function validateNewsletterSignupDestinationReadiness(input: Readonly<{
290
+ values: NewsletterSignupEditorValues;
291
+ connectionState?: MailchimpConnectionEditorState;
292
+ form?: NewsletterSignupFormCompatibilityFingerprint;
293
+ compatibility?: MailchimpAudienceCompatibilityValidation;
294
+ }>): NewsletterSignupDestinationReadiness;
295
+ export declare function validateNewsletterSignupDestinationActivationReadiness(input: NewsletterSignupDestinationActivationInput): NewsletterSignupDestinationActivationReadiness;
296
+ export declare function selectRequiredMailchimpMergeFields(fields: readonly MailchimpMergeFieldCompatibilityInput[]): readonly MailchimpRequiredMergeField[];
297
+ export declare function deriveMailchimpAudienceCompatibilityIssues(input: MailchimpAudienceCompatibilityInput): readonly MailchimpAudienceCompatibilityIssue[];
298
+ export declare function selectNewsletterSignupDestinationProviderOptions(): readonly NewsletterSignupDestinationProviderOption[];
299
+ export declare function getNewsletterSignupDestinationProvider(content: NewsletterSignupRawAuthoringContent): NewsletterSignupDestinationProvider;
300
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { SystemBlockDefinition } from "../registry";
2
2
  import type { SectionStylesContent } from "../fields/boxStyles";
3
3
  import { newsletterFormBlockRuntime } from "../runtime/nodes/newsletter-form.interactive";
4
+ import type { NewsletterSignupAuthoringDestination, NewsletterSignupFieldPreset } from "./newsletter-signup-destination";
4
5
  export declare const newsletterSignupManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
5
6
  readonly id: "block.newsletter-signup";
6
7
  readonly title: "Newsletter Signup";
@@ -25,15 +26,60 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
25
26
  }, {
26
27
  readonly fragment: import("..").DefinedFragment<{
27
28
  readonly fields: readonly [{
29
+ readonly id: "destinationProvider";
30
+ readonly type: "select";
31
+ readonly label: "Send signups to";
32
+ readonly description: "Choose where new subscribers from this form should go.";
33
+ readonly defaultValue: "riverbank";
34
+ readonly required: true;
35
+ readonly ui: {
36
+ readonly intent: "behavior";
37
+ };
38
+ readonly options: [{
39
+ readonly value: "riverbank";
40
+ readonly label: "Riverbank newsletter";
41
+ }];
42
+ }, {
28
43
  readonly id: "listId";
29
44
  readonly type: "reference";
30
45
  readonly label: "Newsletter list";
31
46
  readonly description: "Select the list new subscribers should be added to.";
32
- readonly required: true;
47
+ readonly required: false;
33
48
  readonly referenceKind: "newsletterList";
34
49
  readonly allowManualEntry: false;
35
50
  readonly ui: {
36
51
  readonly intent: "behavior";
52
+ readonly visibleWhen: {
53
+ readonly field: "destinationProvider";
54
+ readonly equals: "riverbank";
55
+ };
56
+ };
57
+ }, {
58
+ readonly id: "mailchimpAudienceId";
59
+ readonly type: "reference";
60
+ readonly label: "Mailchimp audience";
61
+ readonly description: "Choose the Mailchimp audience for new subscribers.";
62
+ readonly required: false;
63
+ readonly referenceKind: "mailchimpAudience";
64
+ readonly allowManualEntry: false;
65
+ readonly ui: {
66
+ readonly intent: "behavior";
67
+ readonly visibleWhen: {
68
+ readonly field: "destinationProvider";
69
+ readonly equals: "mailchimp";
70
+ };
71
+ };
72
+ }, {
73
+ readonly id: "mailchimpTags";
74
+ readonly type: "text";
75
+ readonly label: "Mailchimp tags";
76
+ readonly description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.";
77
+ readonly ui: {
78
+ readonly intent: "behavior";
79
+ readonly visibleWhen: {
80
+ readonly field: "destinationProvider";
81
+ readonly equals: "mailchimp";
82
+ };
37
83
  };
38
84
  }, {
39
85
  readonly id: "preset";
@@ -87,6 +133,13 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
87
133
  readonly type: "text";
88
134
  readonly label: "Tags (optional)";
89
135
  readonly description: "Optional tags to apply on subscribe (comma or semicolon separated).";
136
+ readonly ui: {
137
+ readonly intent: "behavior";
138
+ readonly visibleWhen: {
139
+ readonly field: "destinationProvider";
140
+ readonly equals: "riverbank";
141
+ };
142
+ };
90
143
  }];
91
144
  }>;
92
145
  readonly fieldPriority: 1;
@@ -136,15 +189,22 @@ type NewsletterRichTextDoc = {
136
189
  [key: string]: unknown;
137
190
  }>;
138
191
  };
139
- export type NewsletterSignupPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
192
+ export type NewsletterSignupPreset = NewsletterSignupFieldPreset;
140
193
  export type NewsletterSignupContent = {
141
194
  title?: string | null;
142
195
  subtitle?: NewsletterRichTextDoc | null;
196
+ listId?: string | null;
143
197
  preset: NewsletterSignupPreset;
198
+ includePhone?: boolean | null;
144
199
  buttonLabel?: string | null;
145
200
  successMessage?: string | null;
146
201
  privacyNote?: string | null;
202
+ tags?: string | null;
147
203
  _sectionStyles?: SectionStylesContent;
148
204
  };
205
+ export type NewsletterSignupAuthoringContent = Omit<NewsletterSignupContent, 'listId' | 'tags'> & {
206
+ destination: NewsletterSignupAuthoringDestination;
207
+ };
208
+ export { buildTrustedNewsletterSignupAuthoringDestination, sanitizeNewsletterSignupPublicContent, validateNewsletterSignupDestinationActivationReadiness, } from "./newsletter-signup-destination";
209
+ export type { MailchimpAudienceCompatibilityIssue, MailchimpAudienceId, MailchimpConnectionId, MailchimpNewsletterDestination, MailchimpTagName, NewsletterListId, NewsletterSignupAuthoringDestination, NewsletterSignupDestinationActivationIssue, NewsletterSignupDestinationActivationInput, NewsletterSignupDestinationActivationReadiness, NewsletterSignupBlockId, NewsletterSignupDestinationEditorFieldState, NewsletterSignupDestinationReadinessIssue, NewsletterSignupFieldPreset, NewsletterSignupDestinationProviderOption, NewsletterSignupPublicDestinationRef, RiverbankNewsletterDestination, ServerResolvedMailchimpConnectionState, ServerValidatedMailchimpAudienceCompatibility, SignedNewsletterDestinationRef, TrustedNewsletterSignupAuthoringDestinationError, TrustedNewsletterSignupAuthoringDestinationResult, } from "./newsletter-signup-destination";
149
210
  export declare const newsletterSignupBlockDefinition: SystemBlockDefinition<NewsletterSignupContent, typeof newsletterFormBlockRuntime>;
150
- export {};