@riverbankcms/sdk 0.138.0 → 0.139.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 (208) hide show
  1. package/README.md +11 -15
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-BDeenhi3.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-DSRhgjF5.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-D2K8GLUG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-CL7wSnYu.mjs} +47 -27
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-BhDn-5ir.mjs} +7771 -5863
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +99 -330
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +9 -30
  9. package/dist/_dts/api/src/billing.d.ts +10 -3
  10. package/dist/_dts/api/src/contentRuntime.d.ts +8 -1
  11. package/dist/_dts/api/src/endpoints.d.ts +182 -103
  12. package/dist/_dts/api/src/footerSettings.d.ts +2 -5
  13. package/dist/_dts/api/src/index.d.ts +11 -9
  14. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  15. package/dist/_dts/api/src/mailingListIntegration.d.ts +117 -0
  16. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  17. package/dist/_dts/api/src/navigation.d.ts +1 -26
  18. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  19. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  20. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  21. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +6 -6
  22. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  23. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  24. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +10 -24
  25. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  26. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  27. package/dist/_dts/api/src/sdkContracts.d.ts +2 -10
  28. package/dist/_dts/api/src/sdkThemeWire.d.ts +2 -2
  29. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +0 -29
  30. package/dist/_dts/api/src/siteOnboarding.d.ts +91 -228
  31. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -9
  32. package/dist/_dts/api/src/siteSettings.d.ts +20 -1
  33. package/dist/_dts/api/src/types.d.ts +5 -4
  34. package/dist/_dts/billing/src/membership/index.d.ts +14 -7
  35. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  36. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  37. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  38. package/dist/_dts/billing/src/plans/types.d.ts +1 -7
  39. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  40. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  41. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  42. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  43. package/dist/_dts/blocks/src/client.d.ts +1 -1
  44. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -16
  45. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
  46. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  47. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  48. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  49. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  50. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  51. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  52. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  54. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  56. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  58. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  59. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  60. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -24
  61. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -12
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  63. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +51 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +56 -33
  89. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  90. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +13 -31
  91. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  94. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  95. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  96. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +5 -12
  97. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  98. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  99. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +1 -2
  100. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  101. package/dist/_dts/core/src/index.d.ts +9 -1
  102. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  103. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  104. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  105. package/dist/_dts/core/src/mailing-list-setup.d.ts +129 -0
  106. package/dist/_dts/core/src/mailing-list-submission.d.ts +244 -0
  107. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  108. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  109. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  110. package/dist/_dts/core/src/public-profile.d.ts +9 -1
  111. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  112. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +529 -373
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +11 -0
  115. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +13 -0
  116. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +6 -0
  118. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  119. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  120. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  121. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  122. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  123. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  124. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  125. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  126. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  127. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  128. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  129. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  130. package/dist/_dts/sdk/src/public-api/contracts.d.ts +33 -16
  131. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -0
  132. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  133. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -0
  134. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  135. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -0
  136. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  137. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  138. package/dist/_dts/sdk/src/version.d.ts +1 -1
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  141. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  142. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  143. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  144. package/dist/_dts/ui/src/badge.d.ts +1 -1
  145. package/dist/_dts/ui/src/callout.d.ts +1 -1
  146. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CZvTDtsK.mjs} +2 -2
  147. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-D-DsLCMU.mjs} +1 -1
  148. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-dWqgd5ZO.mjs} +443 -199
  149. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-BMRa9IYp.mjs} +2 -2
  150. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-D21W9kBZ.mjs} +1 -1
  151. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-FxF_ta47.mjs} +1 -1
  152. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-YnwW4TGw.mjs} +5 -5
  153. package/dist/client/bookings.mjs +43 -2
  154. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-vng7fFT5.mjs} +1 -1
  155. package/dist/client/{cart-COWeOIUk.mjs → cart-DEPDsjNk.mjs} +3 -3
  156. package/dist/client/{checkout-CeysaIJK.mjs → checkout-CZRWu9rW.mjs} +3 -3
  157. package/dist/client/client.mjs +3331 -1407
  158. package/dist/client/{context-DBzX85Xc.mjs → context-DvU_WUmd.mjs} +4 -3
  159. package/dist/client/{dates-DCYhZBlW.mjs → dates-wnPMiRl5.mjs} +21 -3
  160. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-BA3Q5L15.mjs} +80 -78
  161. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-51wgR-1R.mjs} +3 -3
  162. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-modaetpm.mjs} +4 -4
  163. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-D8t2J3Kv.mjs} +3 -3
  164. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-CYqtkCE_.mjs} +49 -9
  165. package/dist/client/{form-ClfpasVT.mjs → form-CBKXN5In.mjs} +2 -2
  166. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-DylDqNrs.mjs} +2 -2
  167. package/dist/client/hooks.mjs +1259 -555
  168. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CvWrG0vZ.mjs} +2 -2
  169. package/dist/client/{newsletterForm-IbrHjMxy.mjs → newsletterForm-Btwk70zw.mjs} +117 -38
  170. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Uzw-GQ6Y.mjs} +1 -1
  171. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-JLcUYKnd.mjs} +3 -3
  172. package/dist/client/{productList-OTdZu8sb.mjs → productList-FM0cbUzj.mjs} +3 -3
  173. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-DYzafZb2.mjs} +592 -152
  174. package/dist/client/rendering/client.mjs +2259 -835
  175. package/dist/client/rendering/islands.mjs +17 -17
  176. package/dist/client/rendering.mjs +3308 -1236
  177. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-CvXszexS.mjs} +1 -1
  178. package/dist/client/{shop-CP4YbDL9.mjs → shop-BIcjvy5a.mjs} +6 -6
  179. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BZQsy7xw.mjs} +5 -5
  180. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-D5V7XAb5.mjs} +1 -1
  181. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-DowkXevB.mjs} +3 -3
  182. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-oMoTw_JE.mjs} +56 -9
  183. package/dist/preview-next/before-render.mjs +238 -111
  184. package/dist/preview-next/client/runtime.mjs +4 -4
  185. package/dist/preview-next/keepAlive.mjs +238 -111
  186. package/dist/preview-next/middleware.mjs +238 -111
  187. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-COUyAKaX.mjs} +238 -111
  188. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-D4k2LSGF.mjs} +2 -2
  189. package/dist/{separator-BeqDLneQ.mjs → separator-UGtpag4Z.mjs} +1 -1
  190. package/dist/server/components.mjs +2697 -1023
  191. package/dist/server/config-validation.mjs +2424 -1720
  192. package/dist/server/config.mjs +2429 -1724
  193. package/dist/server/data.mjs +1164 -454
  194. package/dist/server/index.mjs +364 -280
  195. package/dist/server/navigation.mjs +16 -47
  196. package/dist/server/next.mjs +2915 -1380
  197. package/dist/server/page-converter.mjs +969 -522
  198. package/dist/server/prebuild.mjs +2 -3
  199. package/dist/server/rendering/server.mjs +2704 -1030
  200. package/dist/server/rendering.mjs +2742 -1063
  201. package/dist/server/routing.mjs +1386 -595
  202. package/dist/server/server.mjs +2878 -2324
  203. package/dist/server/theme-bridge.mjs +292 -24
  204. package/dist/styles/index.css +289 -25
  205. package/package.json +1 -1
  206. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  207. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  208. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
@@ -1,19 +1,21 @@
1
- import type { Theme } from "../../blocks/src/index";
2
- import type { LogoFacts } from "../../theme-core/src/site-styles/index";
3
- import { z } from "zod";
4
- import type { AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest } from "./siteGeneration";
5
- import type { SiteVerticalBookingConfig } from "../../core/src/index";
6
- import type { AppointmentSetupTargetStep } from "./appointmentSetup";
1
+ import type { Theme } from '../../blocks/src/index';
2
+ import type { SiteVerticalBookingConfig } from '../../core/src/index';
3
+ import { z } from 'zod';
4
+ import type { AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest } from './siteGeneration';
5
+ import type { AppointmentSetupTargetStep } from './appointmentSetup';
6
+ import type { MacadamiaOnboardingLogoAnalysis, MacadamiaOnboardingSurfaceData, PublicOnboardingSurfaceId } from './onboarding/surfaceData';
7
+ export type * from './onboarding/surfaceData';
7
8
  /**
8
9
  * Site Onboarding Contracts
9
10
  *
10
- * These types cover AI-assisted site setup, launch readiness, and the
11
- * Macadamia public onboarding flow.
11
+ * These types cover AI-assisted site setup, launch readiness, and the public
12
+ * onboarding attempt lifecycle. The Macadamia surface's own draft shapes live
13
+ * in `./onboarding/surfaceData` and are re-exported from here.
12
14
  *
13
15
  * Note: Do NOT use these API types as validation schemas. They document wire
14
16
  * contracts while the owning services validate and normalize inputs.
15
17
  */
16
- export type SitePurpose = "GENERATE_LEADS" | "SHOWCASE_PORTFOLIO" | "SELL_PRODUCTS" | "SELL_TICKETS" | "EVENT_INFO" | "BLOGGING" | "COMMUNITY" | "OTHER";
18
+ export type SitePurpose = 'GENERATE_LEADS' | 'SHOWCASE_PORTFOLIO' | 'SELL_PRODUCTS' | 'SELL_TICKETS' | 'EVENT_INFO' | 'BLOGGING' | 'COMMUNITY' | 'OTHER';
17
19
  export type AiBrandGuidelinesExample = {
18
20
  title: string;
19
21
  text: string;
@@ -29,8 +31,8 @@ export type SiteAiBrandGuidelinesPayload = {
29
31
  export type SiteAiBrandGuidelinesResponse = {
30
32
  settings: SiteAiBrandGuidelinesPayload | null;
31
33
  };
32
- export type SiteAiProfileEntityType = "INDIVIDUAL" | "BUSINESS" | "NON_PROFIT" | "EVENT" | "COMMUNITY" | "OTHER";
33
- export type SiteAiProfileLocationMode = "PHYSICAL" | "REMOTE_ONLY" | "NOT_RELEVANT";
34
+ export type SiteAiProfileEntityType = 'INDIVIDUAL' | 'BUSINESS' | 'NON_PROFIT' | 'EVENT' | 'COMMUNITY' | 'OTHER';
35
+ export type SiteAiProfileLocationMode = 'PHYSICAL' | 'REMOTE_ONLY' | 'NOT_RELEVANT';
34
36
  export type SiteAiProfilePayload = {
35
37
  entityType: SiteAiProfileEntityType;
36
38
  entityName: string;
@@ -53,7 +55,7 @@ export type SiteContentSamplingStats = {
53
55
  placeholderCandidateCount: number;
54
56
  };
55
57
  export type SiteContentSampledItem = {
56
- kind: "page" | "entry";
58
+ kind: 'page' | 'entry';
57
59
  title: string | null;
58
60
  path: string | null;
59
61
  identifier: string | null;
@@ -68,16 +70,16 @@ export type AiBrandGuidelinesGenerationContextResponse = {
68
70
  };
69
71
  };
70
72
  export type AiBrandGuidelinesGenerateRequest = {
71
- step: "field";
72
- field: "audience" | "brandVoice" | "writingGuidelines" | "dos" | "donts" | "examples";
73
+ step: 'field';
74
+ field: 'audience' | 'brandVoice' | 'writingGuidelines' | 'dos' | 'donts' | 'examples';
73
75
  useSiteContent: boolean;
74
76
  lockedSettings: Partial<SiteAiBrandGuidelinesPayload>;
75
77
  currentSettings?: SiteAiBrandGuidelinesPayload;
76
78
  userMessage?: string;
77
79
  };
78
80
  export type AiBrandGuidelinesGenerateResponse = {
79
- kind: "field-proposal";
80
- field: "audience" | "brandVoice" | "writingGuidelines" | "dos" | "donts" | "examples";
81
+ kind: 'field-proposal';
82
+ field: 'audience' | 'brandVoice' | 'writingGuidelines' | 'dos' | 'donts' | 'examples';
81
83
  message: string;
82
84
  proposal: Partial<SiteAiBrandGuidelinesPayload>;
83
85
  siteContent: {
@@ -87,36 +89,11 @@ export type AiBrandGuidelinesGenerateResponse = {
87
89
  stats: SiteContentSamplingStats;
88
90
  };
89
91
  };
90
- export type MacadamiaOnboardingSiteMode = "single_page" | "fuller_starter";
91
- export type MacadamiaOnboardingMappedPalette = {
92
- palette: Record<"primary" | "secondary" | "accent" | "background" | "surface" | "text", string>;
93
- mode: "light" | "dark";
94
- };
95
- export type MacadamiaOnboardingLogoPaletteRecommendation = {
96
- title: string;
97
- palette: MacadamiaOnboardingMappedPalette["palette"];
98
- };
99
- export type MacadamiaOnboardingLogoAnalysis = {
100
- logoFacts: LogoFacts;
101
- recommendedPalettes: MacadamiaOnboardingLogoPaletteRecommendation[];
102
- ignoredColors: string[];
103
- };
104
- export type MacadamiaOnboardingVisualIdentity = {
105
- logoPath: string | null;
106
- logoUrl: string | null;
107
- logoPalette: string[] | null;
108
- logoMappedPalette: MacadamiaOnboardingMappedPalette | null;
109
- logoAnalysis: MacadamiaOnboardingLogoAnalysis | null;
110
- primaryColor: string | null;
111
- secondaryColors: string[];
112
- selectedPaletteKey: string | null;
113
- inspirationUrls: string[];
114
- };
115
- export type LaunchRequirementId = "confirm_email" | "review_generated_site" | "configure_appointments" | "configure_events" | "configure_courses" | "connect_payments" | "connect_custom_domain";
116
- export type LaunchRequirementPackId = "core" | "bookings_appointments" | "bookings_events" | "bookings_courses" | "payments" | "domain";
117
- export type LaunchRequirementPriority = "required" | "recommended" | "optional";
118
- export type LaunchRequirementState = "complete" | "pending";
119
- export type LaunchRequirementOwner = "admin" | "editor" | "either";
92
+ export type LaunchRequirementId = 'confirm_email' | 'review_generated_site' | 'configure_appointments' | 'configure_events' | 'configure_courses' | 'connect_payments' | 'connect_custom_domain';
93
+ export type LaunchRequirementPackId = 'core' | 'bookings_appointments' | 'bookings_events' | 'bookings_courses' | 'payments' | 'domain';
94
+ export type LaunchRequirementPriority = 'required' | 'recommended' | 'optional';
95
+ export type LaunchRequirementState = 'complete' | 'pending';
96
+ export type LaunchRequirementOwner = 'admin' | 'editor' | 'either';
120
97
  export declare const LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS: {
121
98
  readonly configure_appointments: {
122
99
  readonly requirementId: "configure_appointments";
@@ -124,93 +101,93 @@ export declare const LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS: {
124
101
  };
125
102
  };
126
103
  export type LaunchRequirementOverrideDefinition = (typeof LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS)[keyof typeof LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS];
127
- export type LaunchOverridableRequirementId = LaunchRequirementOverrideDefinition["requirementId"];
128
- export type LaunchRequirementOverrideReason = LaunchRequirementOverrideDefinition["reason"];
104
+ export type LaunchOverridableRequirementId = LaunchRequirementOverrideDefinition['requirementId'];
105
+ export type LaunchRequirementOverrideReason = LaunchRequirementOverrideDefinition['reason'];
129
106
  export type LaunchRequirementOverride = {
130
- requirementId: Extract<LaunchRequirementId, "configure_appointments">;
107
+ requirementId: Extract<LaunchRequirementId, 'configure_appointments'>;
131
108
  reason: LaunchRequirementOverrideReason;
132
109
  acknowledgedAt: string | null;
133
110
  acknowledgedBy: string | null;
134
111
  };
135
112
  export type LaunchRequirementAction = {
136
- kind: "open_dashboard_path";
113
+ kind: 'open_dashboard_path';
137
114
  label: string;
138
115
  path: string;
139
116
  } | {
140
- kind: "acknowledge_requirement";
117
+ kind: 'acknowledge_requirement';
141
118
  label: string;
142
- requirementId: Extract<LaunchRequirementId, "review_generated_site">;
143
- acknowledgementKind: "review";
119
+ requirementId: Extract<LaunchRequirementId, 'review_generated_site'>;
120
+ acknowledgementKind: 'review';
144
121
  } | {
145
- kind: "acknowledge_requirement";
122
+ kind: 'acknowledge_requirement';
146
123
  label: string;
147
- requirementId: Extract<LaunchRequirementId, "configure_appointments">;
148
- acknowledgementKind: "override";
124
+ requirementId: Extract<LaunchRequirementId, 'configure_appointments'>;
125
+ acknowledgementKind: 'override';
149
126
  overrideReason: LaunchRequirementOverrideReason;
150
127
  } | {
151
- kind: "informational_only";
128
+ kind: 'informational_only';
152
129
  label: string;
153
130
  };
154
131
  export type LaunchRequirementEvidence = {
155
- kind: "derived";
132
+ kind: 'derived';
156
133
  } | {
157
- kind: "acknowledged";
134
+ kind: 'acknowledged';
158
135
  acknowledgedAt: string | null;
159
136
  acknowledgedBy: string | null;
160
137
  } | {
161
- kind: "overridden";
138
+ kind: 'overridden';
162
139
  reason: LaunchRequirementOverrideReason;
163
140
  acknowledgedAt: string | null;
164
141
  acknowledgedBy: string | null;
165
142
  } | {
166
- kind: "deferred";
167
- reason: "pending_setup" | "pending_acknowledgement";
143
+ kind: 'deferred';
144
+ reason: 'pending_setup' | 'pending_acknowledgement';
168
145
  };
169
146
  export type LaunchEmailPackState = {
170
- kind: "confirmed";
147
+ kind: 'confirmed';
171
148
  } | {
172
- kind: "pending_confirmation";
149
+ kind: 'pending_confirmation';
173
150
  };
174
151
  export type LaunchReviewPackState = {
175
- kind: "reviewed";
152
+ kind: 'reviewed';
176
153
  reviewedAt: string | null;
177
154
  reviewedBy: string | null;
178
155
  } | {
179
- kind: "pending_review";
156
+ kind: 'pending_review';
180
157
  };
181
158
  export type LaunchAppointmentsPackState = {
182
- kind: "disabled";
159
+ kind: 'disabled';
183
160
  } | {
184
- kind: "ready";
161
+ kind: 'ready';
185
162
  } | {
186
- kind: "pending_setup";
163
+ kind: 'pending_setup';
187
164
  targetStep: AppointmentSetupTargetStep;
188
165
  };
189
166
  export type LaunchEventsPackState = {
190
- kind: "disabled";
167
+ kind: 'disabled';
191
168
  } | {
192
- kind: "ready";
169
+ kind: 'ready';
193
170
  } | {
194
- kind: "pending_setup";
171
+ kind: 'pending_setup';
195
172
  };
196
173
  export type LaunchPaymentsPackState = {
197
- kind: "not_applicable";
174
+ kind: 'not_applicable';
198
175
  } | {
199
- kind: "ready";
176
+ kind: 'ready';
200
177
  } | {
201
- kind: "pending_setup";
178
+ kind: 'pending_setup';
202
179
  };
203
180
  export type LaunchCoursesPackState = {
204
- kind: "not_applicable";
181
+ kind: 'not_applicable';
205
182
  } | {
206
- kind: "ready";
183
+ kind: 'ready';
207
184
  } | {
208
- kind: "pending_setup";
185
+ kind: 'pending_setup';
209
186
  };
210
187
  export type LaunchCustomDomainPackState = {
211
- kind: "connected";
188
+ kind: 'connected';
212
189
  } | {
213
- kind: "pending_setup";
190
+ kind: 'pending_setup';
214
191
  };
215
192
  export type LaunchRequirement = {
216
193
  id: LaunchRequirementId;
@@ -225,10 +202,10 @@ export type LaunchRequirement = {
225
202
  evidence: LaunchRequirementEvidence;
226
203
  };
227
204
  export type GoLiveDecision = {
228
- kind: "allowed";
205
+ kind: 'allowed';
229
206
  overriddenRequirementIds: LaunchRequirementId[];
230
207
  } | {
231
- kind: "blocked";
208
+ kind: 'blocked';
232
209
  blockingRequirementIds: LaunchRequirementId[];
233
210
  overriddenRequirementIds: LaunchRequirementId[];
234
211
  };
@@ -247,11 +224,11 @@ export declare const acknowledgeLaunchRequirementRequestSchema: z.ZodDiscriminat
247
224
  }, z.core.$strip>], "requirementId">;
248
225
  export type AcknowledgeLaunchRequirementRequest = z.infer<typeof acknowledgeLaunchRequirementRequestSchema>;
249
226
  export declare function toAcknowledgeLaunchRequirementRequest(action: Extract<LaunchRequirementAction, {
250
- kind: "acknowledge_requirement";
227
+ kind: 'acknowledge_requirement';
251
228
  }>): AcknowledgeLaunchRequirementRequest;
252
229
  export type AcknowledgeLaunchRequirementResponse = {
253
230
  acknowledged: true;
254
- requirementId: Extract<LaunchRequirementId, "review_generated_site" | "configure_appointments">;
231
+ requirementId: Extract<LaunchRequirementId, 'review_generated_site' | 'configure_appointments'>;
255
232
  };
256
233
  export declare const goLiveSiteRequestSchema: z.ZodObject<{
257
234
  acceptExtraSiteCharge: z.ZodOptional<z.ZodBoolean>;
@@ -279,133 +256,11 @@ export type OnboardingPreviewThemesResponse = {
279
256
  themes: OnboardingPreviewThemeOption[];
280
257
  };
281
258
  export type ResendOnboardingPreviewConfirmationResponse = {
282
- result: "resent" | "already_confirmed";
259
+ result: 'resent' | 'already_confirmed';
283
260
  dashboardUnlocked: boolean;
284
261
  requiresEmailConfirmation: boolean;
285
262
  launchReadiness: LaunchReadiness;
286
263
  };
287
- export type PublicOnboardingSurfaceId = "macadamia";
288
- export type MacadamiaOnboardingTeamMode = "solo" | "team";
289
- export type MacadamiaOnboardingOfferingKind = "classes" | "courses" | "workshops" | "retreats" | "performances" | "private_sessions";
290
- export type MacadamiaOnboardingStyleMood = "calm_grounding" | "warm_welcoming" | "modern_polished" | "natural_earthy" | "bright_uplifting" | "luxury_retreat";
291
- export type MacadamiaOnboardingFirstOfferingKind = "class" | "course" | "workshop" | "retreat" | "performance" | "private_session";
292
- export type MacadamiaOnboardingFirstOfferingDeliveryMode = "in_person" | "online" | "both";
293
- export type MacadamiaOnboardingFirstOfferingScheduleMode = "weekly" | "one_off";
294
- export type MacadamiaOnboardingWeekday = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
295
- export type MacadamiaOnboardingEventSession = {
296
- clientId: string;
297
- startDate: string;
298
- startTime: string;
299
- endDate: string;
300
- endTime: string;
301
- isMultiDay: boolean;
302
- };
303
- export type MacadamiaOnboardingFirstOffering = {
304
- kind: "class";
305
- title: string;
306
- description: string | null;
307
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
308
- location: string | null;
309
- startDate: string;
310
- recurrenceRule: string;
311
- startTime: string;
312
- durationMinutes: number;
313
- priceType: "free" | "paid";
314
- priceAmount: number | null;
315
- capacity: number | null;
316
- } | {
317
- kind: "course";
318
- title: string;
319
- description: string | null;
320
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
321
- location: string | null;
322
- priceType: "free" | "paid";
323
- priceAmount: number | null;
324
- capacity: number | null;
325
- sessions: MacadamiaOnboardingEventSession[];
326
- } | {
327
- kind: "workshop" | "retreat" | "performance";
328
- title: string;
329
- description: string | null;
330
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
331
- location: string | null;
332
- scheduleMode: MacadamiaOnboardingFirstOfferingScheduleMode;
333
- startDate: string;
334
- startTime: string;
335
- durationMinutes: number;
336
- priceType: "free" | "paid";
337
- priceAmount: number | null;
338
- capacity: number | null;
339
- } | {
340
- kind: "private_session";
341
- title: string;
342
- description: string | null;
343
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode;
344
- location: string | null;
345
- durationMinutes: number;
346
- priceType: "free" | "paid";
347
- priceAmount: number | null;
348
- };
349
- export type MacadamiaOnboardingDraftFirstOffering = {
350
- kind: "class";
351
- title: string;
352
- description: string | null;
353
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
354
- location: string | null;
355
- startDate: string | null;
356
- recurrenceRule: string | null;
357
- startTime: string | null;
358
- durationMinutes: number | null;
359
- priceType: "free" | "paid" | null;
360
- priceAmount: number | null;
361
- capacity: number | null;
362
- } | {
363
- kind: "course";
364
- title: string;
365
- description: string | null;
366
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
367
- location: string | null;
368
- priceType: "free" | "paid" | null;
369
- priceAmount: number | null;
370
- capacity: number | null;
371
- sessions: MacadamiaOnboardingEventSession[];
372
- } | {
373
- kind: "workshop" | "retreat" | "performance";
374
- title: string;
375
- description: string | null;
376
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
377
- location: string | null;
378
- scheduleMode: MacadamiaOnboardingFirstOfferingScheduleMode;
379
- startDate: string | null;
380
- startTime: string | null;
381
- durationMinutes: number | null;
382
- priceType: "free" | "paid" | null;
383
- priceAmount: number | null;
384
- capacity: number | null;
385
- } | {
386
- kind: "private_session";
387
- title: string;
388
- description: string | null;
389
- deliveryMode: MacadamiaOnboardingFirstOfferingDeliveryMode | null;
390
- location: string | null;
391
- durationMinutes: number | null;
392
- priceType: "free" | "paid" | null;
393
- priceAmount: number | null;
394
- };
395
- export type MacadamiaOnboardingSurfaceData = {
396
- teamMode: MacadamiaOnboardingTeamMode;
397
- ownerName: string | null;
398
- offeringKinds: MacadamiaOnboardingOfferingKind[];
399
- bookingVerticalConfig?: SiteVerticalBookingConfig | null;
400
- siteMode: MacadamiaOnboardingSiteMode;
401
- styleMoods: MacadamiaOnboardingStyleMood[];
402
- countryCode: string | null;
403
- locationText: string | null;
404
- timezone: string;
405
- currency: string;
406
- visualIdentity: MacadamiaOnboardingVisualIdentity;
407
- firstOffering: MacadamiaOnboardingDraftFirstOffering | null;
408
- };
409
264
  export type PublicOnboardingLogoUploadUrlRequest = {
410
265
  filename: string;
411
266
  bytes: number;
@@ -425,11 +280,11 @@ export type PublicOnboardingLogoUploadResponse = {
425
280
  palette: string[];
426
281
  logoAnalysis: MacadamiaOnboardingLogoAnalysis | null;
427
282
  };
428
- export type PublicOnboardingAttemptStatus = "draft" | "claimed" | "provisioning" | "provisioned" | "completed" | "cancelled";
429
- export type PublicOnboardingProvisioningStage = "starting" | "site_setup" | "copy_generation" | "media_generation" | "page_creation" | "surface_setup" | "theme_setup" | "preview_ready";
430
- export type SiteGenerationScope = "simple" | "comprehensive";
431
- export type SiteGenerationFeatureKey = "home" | "about" | "contact" | "appointments" | "events" | "testimonials" | "faq" | "newsletter_signup" | "blog" | "portfolio" | "gallery" | "map_directions";
432
- export type SiteGenerationBookingOfferingKind = "classes" | "courses" | "workshops" | "retreats" | "performances" | "private_sessions";
283
+ export type PublicOnboardingAttemptStatus = 'draft' | 'claimed' | 'provisioning' | 'provisioned' | 'completed' | 'cancelled';
284
+ export type PublicOnboardingProvisioningStage = 'starting' | 'site_setup' | 'copy_generation' | 'media_generation' | 'page_creation' | 'surface_setup' | 'theme_setup' | 'preview_ready';
285
+ export type SiteGenerationScope = 'simple' | 'comprehensive';
286
+ export type SiteGenerationFeatureKey = 'home' | 'about' | 'contact' | 'appointments' | 'events' | 'testimonials' | 'faq' | 'newsletter_signup' | 'blog' | 'portfolio' | 'gallery' | 'map_directions';
287
+ export type SiteGenerationBookingOfferingKind = 'classes' | 'courses' | 'workshops' | 'retreats' | 'performances' | 'private_sessions';
433
288
  export type AiSiteWizardSuggestGoalsRequest = {
434
289
  entityType: AiGenerateSiteEntityType;
435
290
  entityName: string;
@@ -469,7 +324,7 @@ export type AiSiteWizardIntakeTriageResponse = {
469
324
  shop: string | null;
470
325
  };
471
326
  };
472
- export type AiSiteWizardTelemetryEvent = "wizard_resumed" | "goal_suggestions_loaded" | "goal_suggestions_failed" | "goal_suggestions_stale" | "wizard_draft_saved" | "wizard_draft_save_failed";
327
+ export type AiSiteWizardTelemetryEvent = 'wizard_resumed' | 'goal_suggestions_loaded' | 'goal_suggestions_failed' | 'goal_suggestions_stale' | 'wizard_draft_saved' | 'wizard_draft_save_failed';
473
328
  export type AiSiteWizardTelemetryRequest = {
474
329
  event: AiSiteWizardTelemetryEvent;
475
330
  metadata?: Record<string, unknown>;
@@ -491,8 +346,8 @@ export type SiteWizardResumeSnapshot = {
491
346
  logoUrl?: string | null;
492
347
  logoPalette?: string[] | null;
493
348
  logoMappedPalette?: {
494
- palette: Record<"primary" | "secondary" | "accent" | "background" | "surface" | "text", string>;
495
- mode: "light" | "dark";
349
+ palette: Record<'primary' | 'secondary' | 'accent' | 'background' | 'surface' | 'text', string>;
350
+ mode: 'light' | 'dark';
496
351
  } | null;
497
352
  logoAnalysis?: MacadamiaOnboardingLogoAnalysis | null;
498
353
  goalSuggestions?: AiSiteWizardSuggestGoalsResponse | null;
@@ -542,49 +397,57 @@ export type PublicOnboardingAttemptResponse = {
542
397
  attemptToken: string;
543
398
  };
544
399
  export type PublicOnboardingAttemptProgress = {
545
- kind: "awaiting_auth";
400
+ kind: 'awaiting_auth';
546
401
  } | {
547
- kind: "idle";
402
+ kind: 'idle';
548
403
  } | {
549
- kind: "running";
404
+ kind: 'running';
550
405
  stage: PublicOnboardingProvisioningStage;
551
406
  message: string;
552
407
  startedAt: string | null;
553
408
  lastUpdatedAt: string | null;
554
409
  } | {
555
- kind: "taking_longer";
410
+ kind: 'taking_longer';
556
411
  stage: PublicOnboardingProvisioningStage;
557
412
  message: string;
558
413
  startedAt: string | null;
559
414
  lastUpdatedAt: string | null;
560
415
  } | {
561
- kind: "ready";
416
+ kind: 'ready';
562
417
  siteId: string;
563
418
  siteSlug: string;
564
419
  continuePath: string;
565
420
  } | {
566
- kind: "failed";
421
+ kind: 'failed';
567
422
  errorMessage: string;
568
423
  } | {
569
- kind: "unavailable";
570
- reason: "completed" | "cancelled" | "invalid_site";
424
+ kind: 'unavailable';
425
+ /**
426
+ * The last two are not about the attempt row: `experience_unavailable`
427
+ * means the chosen public experience cannot be provisioned yet and
428
+ * `experience_not_chosen` means no experience was ever picked (see
429
+ * `planOnboardingExperienceProvisioning`). The attempt itself is
430
+ * untouched and stays claimed in both cases, and only the first is a
431
+ * dead end for the person: the second sends them back to the wizard.
432
+ */
433
+ reason: 'completed' | 'cancelled' | 'invalid_site' | 'experience_unavailable' | 'experience_not_chosen';
571
434
  message: string;
572
435
  };
573
436
  export type PublicOnboardingAttemptProgressResponse = {
574
437
  progress: PublicOnboardingAttemptProgress;
575
438
  };
576
439
  export type PublicOnboardingAttemptRunKickoff = {
577
- kind: "started";
440
+ kind: 'started';
578
441
  runId: string;
579
442
  } | {
580
- kind: "restarted_stale";
443
+ kind: 'restarted_stale';
581
444
  runId: string;
582
445
  } | {
583
- kind: "already_running";
446
+ kind: 'already_running';
584
447
  } | {
585
- kind: "not_needed";
448
+ kind: 'not_needed';
586
449
  } | {
587
- kind: "blocked";
450
+ kind: 'blocked';
588
451
  };
589
452
  export type PublicOnboardingAttemptRunResponse = {
590
453
  kickoff: PublicOnboardingAttemptRunKickoff;
@@ -320,19 +320,11 @@ export type SitePlatformAPIEndpoints = {
320
320
  reordered: true;
321
321
  }>;
322
322
  sdkUpsertNavigationMenu: APIEndpoint<{
323
- identifier?: string;
324
- name: string;
325
- isPrimary?: boolean;
326
- isFooter?: boolean;
327
- footerRole?: 'main' | 'legal-policy' | null;
323
+ location: 'main' | 'footer' | 'legal';
328
324
  items: readonly SdkUpsertNavigationItemInput[];
329
325
  }, {
330
326
  siteId: string;
331
327
  }, SdkUpsertNavigationMenuResponse>;
332
- sdkDeleteNavigationMenu: APIEndpoint<never, {
333
- siteId: string;
334
- menuId: string;
335
- }, SdkDeleteResponse>;
336
328
  sdkUpsertTheme: APIEndpoint<Readonly<{
337
329
  kind: 'update';
338
330
  /**
@@ -1,10 +1,19 @@
1
1
  import type { SiteFooterContent, SiteHeaderContent } from "../../blocks/src/index";
2
- import type { BusinessAddress } from "../../core/src/index";
2
+ import type { BusinessAddress, PublicAddressVisibility, PublicContactDetails } from "../../core/src/index";
3
3
  import type { FooterMode } from "../../theme-core/src/index";
4
4
  import type { SiteBannerSettingsPayload } from "./siteBanner";
5
5
  export type SiteDeploymentMode = "managed" | "headless_cms" | "headless_full";
6
6
  export type SiteGeneralSettingsPayload = {
7
7
  siteTitle: string;
8
+ /**
9
+ * The site's tagline, stored in `site_settings.site_description`. Read as
10
+ * the SEO description fallback and by the booking-page header.
11
+ *
12
+ * Optional on the way in, where absent means unchanged: a client that has
13
+ * no tagline field yet, including a browser tab loaded before this shipped,
14
+ * must not have its save rejected or blank the stored value.
15
+ */
16
+ siteDescription?: string | null;
8
17
  logoAssetId: string | null;
9
18
  faviconAssetId: string | null;
10
19
  allowIndexingInProduction: boolean;
@@ -12,6 +21,16 @@ export type SiteGeneralSettingsPayload = {
12
21
  export type SiteGeneralSettingsResponse = {
13
22
  settings: SiteGeneralSettingsPayload;
14
23
  };
24
+ /**
25
+ * The business details a rendered site reads. The address itself already
26
+ * travels on the site record; `addressVisibility` says whether a reader may
27
+ * show it.
28
+ */
29
+ export type SiteRuntimeBusinessDetails = {
30
+ tagline: string | null;
31
+ contact: PublicContactDetails | null;
32
+ addressVisibility: PublicAddressVisibility;
33
+ };
15
34
  export type SiteFooterBlocksEditorBlock = {
16
35
  id: string;
17
36
  kind: string;
@@ -48,7 +48,7 @@ export type { SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBa
48
48
  export type { SitePageBlock, SitePagePayload } from "./sitePages";
49
49
  export type { SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse, } from "./siteAnalytics";
50
50
  export type { SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimePrivacyPolicy, SitePrivacyPolicySection, } from "./privacyPolicy";
51
- export type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteDeploymentMode, SiteFooterBlocksEditorBlock, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutResolvedPayload, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse, } from "./siteSettings";
51
+ export type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteDeploymentMode, SiteFooterBlocksEditorBlock, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutResolvedPayload, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, SiteRuntimeBusinessDetails, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse, } from "./siteSettings";
52
52
  export type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryComponent, BillingSummaryComponentKind, BillingSummaryComponentSource, BillingSummaryBasePlanComponent, BillingSummarySiteComponent, BillingSummaryAddOnComponent, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse, StripeAutomaticTaxIssue, StripeAutomaticTaxReadiness, StripeAutomaticTaxStatus, StripeConnectDisconnectResponse, StripeConnectRestrictions, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest, } from "./billing";
53
53
  export type { AiGenerateSiteEntityType, AiGenerateSitePrimaryCta, AiGenerateSiteRequest, AiGenerateSiteResponse, } from "./siteGeneration";
54
54
  export { SITE_ROLE_DISPLAY_ORDER, SITE_ROLE_PERMISSION_LEVEL } from "./siteMembers";
@@ -62,6 +62,7 @@ import type { AiAndLaunchReadinessAPIEndpointDefinitions, AiAPIEndpointName, AiA
62
62
  import type { BookingManagementAPIEndpoints } from "./bookingManagementEndpoints";
63
63
  import type { CommercePortalAPIEndpoints } from "./commercePortalEndpoints";
64
64
  import type { MailchimpIntegrationAPIEndpoints } from "./mailchimpIntegration";
65
+ import type { MailingListIntegrationAPIEndpoints } from "./mailingListIntegration";
65
66
  import type { PublicExperienceAPIEndpoints } from "./publicExperienceEndpoints";
66
67
  import type { SeoEndpointDefinitions } from "./seoEndpoints";
67
68
  import type { SiteManagementAPIEndpoints } from "./siteManagementEndpoints";
@@ -69,7 +70,7 @@ import type { SitePlatformAPIEndpoints } from "./sitePlatformEndpoints";
69
70
  import type { SiteRuntimeAPIEndpoints } from "./siteRuntimeEndpoints";
70
71
  type TableName = keyof DbDatabase["public"]["Tables"];
71
72
  export type DTOType<K extends TableName> = Partial<CamelizeKeys<DbRow<K>>>;
72
- type APIEndpointsMonolith = AiAndLaunchReadinessAPIEndpointDefinitions & AccountAPIEndpoints & SeoEndpointDefinitions & SiteManagementAPIEndpoints & PublicExperienceAPIEndpoints & SiteRuntimeAPIEndpoints & SitePlatformAPIEndpoints & BookingManagementAPIEndpoints & CommercePortalAPIEndpoints & MailchimpIntegrationAPIEndpoints;
73
+ type APIEndpointsMonolith = AiAndLaunchReadinessAPIEndpointDefinitions & AccountAPIEndpoints & SeoEndpointDefinitions & SiteManagementAPIEndpoints & PublicExperienceAPIEndpoints & SiteRuntimeAPIEndpoints & SitePlatformAPIEndpoints & BookingManagementAPIEndpoints & CommercePortalAPIEndpoints & MailchimpIntegrationAPIEndpoints & MailingListIntegrationAPIEndpoints;
73
74
  type ComposeEndpointMaps<Maps extends readonly object[], Acc extends object = {}> = Maps extends readonly [
74
75
  infer Head extends object,
75
76
  ...infer Tail extends readonly object[]
@@ -81,7 +82,7 @@ type AvailabilityAPIEndpointName = "listAvailabilityRules" | "setWeeklyAvailabil
81
82
  type CalendarAPIEndpointName = "getCalendarStatus" | "updateCalendarPreferences" | "disconnectCalendar";
82
83
  type ContentTypesAPIEndpointName = "listContentTypes" | "createContentType" | "updateContentType" | "deleteContentType" | "duplicateContentType";
83
84
  type MediaAPIEndpointName = "createMediaAsset" | "mediaList" | "mediaProductFileList" | "mediaGet" | "mediaUpdate" | "mediaCanonicalCrop" | "mediaDelete" | "mediaBulkDelete" | "mediaUsageCheck" | "mediaGetSignedUrl" | "createMediaUploadUrl" | "mediaUpload" | "getMediaLabels" | "getMediaSettings" | "updateMediaSettings" | "mediaSearch" | "classifyMediaAsset" | "classifyMediaBatch" | "enqueueMediaClassifyJob" | "runMediaClassifyJob" | "runAllMediaClassifyJobs" | "mediaJobsStatus";
84
- type ComposedDomainEndpointNames = "accountGetIdentity" | "accountListSites" | "accountCreateSite" | "accountProvisionProjectCredentials" | AiAPIEndpointName | LaunchReadinessAPIEndpointName | SiteMembersAPIEndpointName | SeoAPIEndpointName | RedirectsAPIEndpointName | AvailabilityAPIEndpointName | CalendarAPIEndpointName | ContentTypesAPIEndpointName | MediaAPIEndpointName | "listMailchimpAudiences" | "getMailchimpSignupSyncHealth";
85
+ type ComposedDomainEndpointNames = "accountGetIdentity" | "accountListSites" | "accountCreateSite" | "accountProvisionProjectCredentials" | AiAPIEndpointName | LaunchReadinessAPIEndpointName | SiteMembersAPIEndpointName | SeoAPIEndpointName | RedirectsAPIEndpointName | AvailabilityAPIEndpointName | CalendarAPIEndpointName | ContentTypesAPIEndpointName | MediaAPIEndpointName | "listMailchimpAudiences";
85
86
  export type SiteMembersAPIEndpoints = Pick<APIEndpointsMonolith, SiteMembersAPIEndpointName>;
86
87
  export type SeoAPIEndpoints = Pick<APIEndpointsMonolith, SeoAPIEndpointName>;
87
88
  export type RedirectsAPIEndpoints = Pick<APIEndpointsMonolith, RedirectsAPIEndpointName>;
@@ -102,7 +103,7 @@ type DomainAPIEndpointMaps = [
102
103
  CalendarAPIEndpoints,
103
104
  ContentTypesAPIEndpoints,
104
105
  MediaAPIEndpoints,
105
- Pick<APIEndpointsMonolith, "listMailchimpAudiences" | "getMailchimpSignupSyncHealth">
106
+ Pick<APIEndpointsMonolith, "listMailchimpAudiences">
106
107
  ];
107
108
  type ComposedAPIEndpointMaps = [...DomainAPIEndpointMaps, RemainingAPIEndpoints];
108
109
  export type APIEndpoints = ComposeEndpointMaps<ComposedAPIEndpointMaps>;