@riverbankcms/sdk 0.107.0 → 0.108.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.
- package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-BBT-kZAM.mjs} +46 -11
- package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-D69xNKT2.mjs} +10 -9
- package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-RRu7wyQ5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-CuDjXH6o.mjs} +426 -72
- package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-BQUY2dEk.mjs} +3865 -544
- package/dist/_dts/ai/src/contracts/proposals.d.ts +3712 -220
- package/dist/_dts/api/src/blocks.d.ts +41 -7
- package/dist/_dts/api/src/bookingRecords.d.ts +180 -115
- package/dist/_dts/api/src/cache-tags.d.ts +3 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
- package/dist/_dts/api/src/endpoints.d.ts +99 -0
- package/dist/_dts/api/src/footer-settings.d.ts +1 -0
- package/dist/_dts/api/src/footerSettings.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +5 -2
- package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
- package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +62 -0
- package/dist/_dts/api/src/siteBanner.d.ts +2 -2
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +143 -55
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +41 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
- package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
- package/dist/_dts/content-editor/src/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/editor-state.d.ts +4 -0
- package/dist/_dts/core/src/footer-composition.d.ts +143 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/public-profile.d.ts +73 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3043 -2941
- package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +15 -1
- package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
- package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +13 -10
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -30
- package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1186 -34
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
- package/dist/cli/index.mjs +760 -374
- package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-D6TOf6Hi.mjs} +1 -1
- package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-Dao3zxRk.mjs} +3 -3
- package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-B2NNt4y1.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BhwFo16w.mjs} +1 -1
- package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-BWnB7cMR.mjs} +2 -2
- package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-TzRiQ0BY.mjs} +2 -2
- package/dist/client/{accordion-DAIBVpTS.mjs → accordion-BPy-AJ4_.mjs} +1 -1
- package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-BL4PGZds.mjs} +6 -6
- package/dist/client/bookings.mjs +143 -94
- package/dist/client/{buttons-DJgynGHQ.mjs → buttons-EBjyslaX.mjs} +144 -95
- package/dist/client/{carousel-D-SLfX8r.mjs → carousel-C2b7Cn9-.mjs} +1 -1
- package/dist/client/{cart-CEgbgJhX.mjs → cart-BQcbXIVD.mjs} +3 -3
- package/dist/client/{checkout-CXWrCRAA.mjs → checkout-DEmpGRJu.mjs} +3 -3
- package/dist/client/client.mjs +827 -434
- package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-BqRZPmsq.mjs} +7 -7
- package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-B8N_tSl5.mjs} +5 -5
- package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-Gjn6gtq7.mjs} +2 -2
- package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-M-VCxA-r.mjs} +3 -3
- package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-DR19hqYi.mjs} +2 -2
- package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-BR02a0k3.mjs} +7 -7
- package/dist/client/{form-CH1lCusH.mjs → form-LY2xIbwg.mjs} +2 -2
- package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-CYwwXJfh.mjs} +3 -3
- package/dist/client/hooks.mjs +377 -362
- package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-DWnBXrFq.mjs} +2 -2
- package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-D9s-fQ2P.mjs} +2 -2
- package/dist/client/{pricing-BIbzmV0G.mjs → pricing-DDq80oYc.mjs} +1 -1
- package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-B0SbWd45.mjs} +3 -3
- package/dist/client/{productList-Cc7OMrqN.mjs → productList-PwYlZn0y.mjs} +3 -3
- package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-BRWBiH7i.mjs} +33 -9
- package/dist/client/rendering/client.mjs +247 -40
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +478 -270
- package/dist/client/{shop-CQ_YbCnn.mjs → shop-CMwZPYME.mjs} +6 -6
- package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BuxsFate.mjs} +5 -5
- package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-boYlEJ91.mjs} +1 -1
- package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-D2naaOes.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-D9RHpVoj.mjs} +1 -1
- package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-igGiK1re.mjs} +3 -3
- package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-CI7MbsFB.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +178 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +178 -0
- package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-a_cBD28m.mjs} +178 -0
- package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-MBzD-GmP.mjs} +2 -2
- package/dist/{separator-BoMSQnsP.mjs → separator-5ahRBC85.mjs} +1 -1
- package/dist/server/components.mjs +556 -366
- package/dist/server/config-validation.mjs +384 -363
- package/dist/server/config.mjs +384 -364
- package/dist/server/data.mjs +377 -362
- package/dist/server/index.mjs +179 -1
- package/dist/server/navigation.mjs +9 -3
- package/dist/server/next.mjs +1384 -995
- package/dist/server/page-converter.mjs +368 -355
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +539 -360
- package/dist/server/rendering.mjs +556 -366
- package/dist/server/routing.mjs +613 -543
- package/dist/server/server.mjs +554 -361
- package/dist/server/theme-bridge.mjs +189 -98
- package/dist/server/theme.mjs +161 -95
- package/dist/styles/index.css +7 -1
- package/package.json +1 -1
|
@@ -1,32 +1,81 @@
|
|
|
1
|
-
import type { RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from
|
|
2
|
-
import type { CamelizeKeys, DbRow, DbJson } from
|
|
3
|
-
import type { APIEndpoint } from
|
|
4
|
-
import type { AcceptAdminInviteRequest, AcceptAdminInviteResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, AddCustomDomainRequest, AddCustomDomainResponse, AdminChangePlanRequest, AdminChangePlanResponse, AdminDeleteUserResponse, AuthInviteContinueRequest, AuthInviteContinueResponse, AuthInviteRegisterRequest, AuthInviteRegisterResponse, AuthResetCompleteRequest, AuthResetCompleteResponse, AuthSubmissionResult, BulkOperationResult, ChangePlanRequest, ChangePlanResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, DeleteAllowedDomainResponse, DomainConfigResult, DomainSearchResultResponse, CurrentUserPractitionerLinkResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, LinkCurrentUserPractitionerRequest, ListAdminInvitesResponse, ListAllowedDomainsResponse, ListSiteMembersResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, MfaOverviewResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneVerifyRequest, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, ReauthSubmissionResult, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, RemoveSiteMemberResponse, RevokeAdminInviteResponse, RevokeSiteInvitationResponse, ResendSiteInvitationResponse, SetHomepageRequest, SetHomepageResponse, SiteDomainContactPayload, SiteDomainRecord, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse } from
|
|
5
|
-
import type { AdminRoleMutationResponse, RevokeAdminRoleRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest } from
|
|
6
|
-
import type { AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, CreateManualSiteRequest, CreateManualSiteResponse } from
|
|
7
|
-
import type { BookingSessionCancelAppointmentRequest, BookingSessionCancelAppointmentResponse, BookingSessionCreateAppointmentRequest, BookingSessionCreateAppointmentResponse, BookingSessionGetAppointmentResponse, BookingSessionListEligibleAppointmentPackagesResponse, BookingSessionGetEventResponse, BookingSessionListAppointmentsResponse, BookingSessionListEventsResponse, BookingSessionListMembershipsResponse, BookingSessionListPassesResponse, BookingSessionMeResponse, BookingSessionUpdateMeRequest, BookingSessionUpdateMeResponse, PublicBookingAppointmentStatusResponse, PublicBookingAvailabilityQuery, PublicBookingAvailableDatesResponse, PublicBookingAvailableSlotsResponse, PublicBookingService, PublicWeeklySlotAvailabilityQuery, PublicWeeklySlotAvailabilityResponse, PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, ReferenceOptionsResponse } from
|
|
8
|
-
import type { ContentEntryOrPageResponse, ContentEntrySummary, ExportFormSubmissionsCsvQuery, ExportFormSubmissionsCsvResponse, CreateFormSubmissionRectificationAnnotationRequest, CreateFormSubmissionRectificationAnnotationResponse, FormRecord, FormSubmissionWithRectificationAnnotations, FormSummary, NavigationItemRecord, NavigationMenuWithItems, PublicFormRecord, PublishedContentEntryOrPageResponse, RunSdkWorkflowResponse, ScheduledContentEntryOrPageResponse, WorkflowRunStatusResponse } from
|
|
9
|
-
import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVersionHistoryRequest, RestoreVersionHistoryResponse, VersionHistoryListQuery } from
|
|
10
|
-
import type { ApplyContentTemplateAddonRequest, ContentTemplateDetailsResponse, CreateTemplateBlockRequest, GetTransformsResponse, ReorderTemplateBlocksRequest, SerializedContentTypeSummary, UpdateContentTemplateBlockBindingsRequest, UpdateContentTemplateBlockRequest } from
|
|
11
|
-
import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from
|
|
12
|
-
import type { RouteMetadataPayload, RouteMetadataResponse } from
|
|
13
|
-
import type {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
18
|
-
import type {
|
|
1
|
+
import type { FooterCompositionV1, PublicProfile, RectificationHistoryPropagationPlan, RectificationIdentityBoundary, RectificationIssueUrl, RectificationSurface } from '../../core/src/index';
|
|
2
|
+
import type { CamelizeKeys, DbRow, DbJson } from '../../db/src/index';
|
|
3
|
+
import type { APIEndpoint } from './apiEndpointTypes';
|
|
4
|
+
import type { AcceptAdminInviteRequest, AcceptAdminInviteResponse, AcceptSiteInvitationRequest, AcceptSiteInvitationResponse, AddCustomDomainRequest, AddCustomDomainResponse, AdminChangePlanRequest, AdminChangePlanResponse, AdminDeleteUserResponse, AuthInviteContinueRequest, AuthInviteContinueResponse, AuthInviteRegisterRequest, AuthInviteRegisterResponse, AuthResetCompleteRequest, AuthResetCompleteResponse, AuthSubmissionResult, BulkOperationResult, ChangePlanRequest, ChangePlanResponse, CreateAdminInviteRequest, CreateAdminInviteResponse, CreateAdminUserRequest, CreateAdminUserResponse, CreateAllowedDomainRequest, CreateAllowedDomainResponse, DeleteAllowedDomainResponse, DomainConfigResult, DomainSearchResultResponse, CurrentUserPractitionerLinkResponse, InviteSiteMemberRequest, InviteSiteMemberResponse, LinkCurrentUserPractitionerRequest, ListAdminInvitesResponse, ListAllowedDomainsResponse, ListSiteMembersResponse, LookupSiteDomainRequest, LookupSiteDomainResponse, MfaBackupCodesOverviewResponse, MfaBackupCodesRotateResponse, MfaOverviewResponse, MfaPhoneChallengeRequest, MfaPhoneChallengeResponse, MfaPhoneEnrollRequest, MfaPhoneEnrollResponse, MfaPhoneVerifyRequest, MfaTotpActivateRequest, MfaTotpEnrollResponse, MfaTotpVerifyRequest, MfaTotpVerifyResponse, ReauthSubmissionResult, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, RegisterSiteDomainRequest, RegisterSiteDomainResponse, RemoveSiteMemberResponse, RevokeAdminInviteResponse, RevokeSiteInvitationResponse, ResendSiteInvitationResponse, SetHomepageRequest, SetHomepageResponse, SiteDomainContactPayload, SiteDomainRecord, TransferSiteOwnershipRequest, TransferSiteOwnershipResponse, UpdateSiteMemberRoleRequest, UpdateSiteMemberRoleResponse } from './accessAdmin';
|
|
5
|
+
import type { AdminRoleMutationResponse, RevokeAdminRoleRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest } from './admin/types';
|
|
6
|
+
import type { AccountRevokeSessionsBody, AccountRevokeSessionsResponse, AccountUpdatePasswordBody, AccountUpdatePasswordResponse, CreateManualSiteRequest, CreateManualSiteResponse } from './siteOperations';
|
|
7
|
+
import type { BookingSessionCancelAppointmentRequest, BookingSessionCancelAppointmentResponse, BookingSessionCreateAppointmentRequest, BookingSessionCreateAppointmentResponse, BookingSessionGetAppointmentResponse, BookingSessionListEligibleAppointmentPackagesResponse, BookingSessionGetEventResponse, BookingSessionListAppointmentsResponse, BookingSessionListEventsResponse, BookingSessionListMembershipsResponse, BookingSessionListPassesResponse, BookingSessionMeResponse, BookingSessionUpdateMeRequest, BookingSessionUpdateMeResponse, PublicBookingAppointmentStatusResponse, PublicBookingAvailabilityQuery, PublicBookingAvailableDatesResponse, PublicBookingAvailableSlotsResponse, PublicBookingService, PublicWeeklySlotAvailabilityQuery, PublicWeeklySlotAvailabilityResponse, PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, ReferenceOptionsResponse } from './bookingOperations';
|
|
8
|
+
import type { ContentEntryOrPageResponse, ContentEntrySummary, ExportFormSubmissionsCsvQuery, ExportFormSubmissionsCsvResponse, CreateFormSubmissionRectificationAnnotationRequest, CreateFormSubmissionRectificationAnnotationResponse, FormRecord, FormSubmissionWithRectificationAnnotations, FormSummary, NavigationItemRecord, NavigationMenuWithItems, PublicFormRecord, PublishedContentEntryOrPageResponse, RunSdkWorkflowResponse, ScheduledContentEntryOrPageResponse, WorkflowRunStatusResponse } from './contentRuntime';
|
|
9
|
+
import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVersionHistoryRequest, RestoreVersionHistoryResponse, VersionHistoryListQuery } from './contentVersionHistory';
|
|
10
|
+
import type { ApplyContentTemplateAddonRequest, ContentTemplateDetailsResponse, CreateTemplateBlockRequest, GetTransformsResponse, ReorderTemplateBlocksRequest, SerializedContentTypeSummary, UpdateContentTemplateBlockBindingsRequest, UpdateContentTemplateBlockRequest } from './contentTypes';
|
|
11
|
+
import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from './navigation/types';
|
|
12
|
+
import type { RouteMetadataPayload, RouteMetadataResponse } from './routes';
|
|
13
|
+
import type { PageSurfaceEditorDocument } from './contentRuntime';
|
|
14
|
+
import type { ContentRouteRecord } from './types';
|
|
15
|
+
import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from './siteAnalytics';
|
|
16
|
+
import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from './siteBanner';
|
|
17
|
+
import type { GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, SiteIconStyleGuideResponse, SiteIconStyleGuideUpdateRequest } from './siteIcons';
|
|
18
|
+
import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from './siteOnboarding';
|
|
19
|
+
import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from './privacyPolicy';
|
|
20
|
+
import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from './siteSettings';
|
|
19
21
|
/**
|
|
20
22
|
* Site-management endpoints collect dashboard/admin/auth/content-management API shapes
|
|
21
23
|
* that still belong to the aggregate contract layer but no longer need to live inline in
|
|
22
24
|
* `types.ts`.
|
|
23
25
|
*/
|
|
24
|
-
type Site = CamelizeKeys<DbRow<
|
|
25
|
-
type
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
type Site = CamelizeKeys<DbRow<'sites'>>;
|
|
27
|
+
export type FooterCompositionSnapshot = Readonly<{
|
|
28
|
+
kind: 'ready';
|
|
29
|
+
composition: FooterCompositionV1;
|
|
30
|
+
revision: number;
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
kind: 'missing';
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
kind: 'invalid';
|
|
35
|
+
message: string;
|
|
36
|
+
}>;
|
|
37
|
+
export type FooterCompositionUpdateRequest = Readonly<{
|
|
38
|
+
composition: FooterCompositionV1;
|
|
39
|
+
baseRevision: number;
|
|
40
|
+
}>;
|
|
41
|
+
export type FooterCompositionUpdateResponse = Readonly<{
|
|
42
|
+
kind: 'updated';
|
|
43
|
+
snapshot: Extract<FooterCompositionSnapshot, {
|
|
44
|
+
kind: 'ready';
|
|
45
|
+
}>;
|
|
46
|
+
}> | Readonly<{
|
|
47
|
+
kind: 'conflict';
|
|
48
|
+
authoritative: FooterCompositionSnapshot;
|
|
49
|
+
}>;
|
|
50
|
+
export type PublicProfileSnapshot = Readonly<{
|
|
51
|
+
kind: 'ready';
|
|
52
|
+
profile: PublicProfile;
|
|
53
|
+
revision: number;
|
|
54
|
+
canonicalTimeZone: string;
|
|
55
|
+
hasBusinessAddress: boolean;
|
|
56
|
+
hasLogo: boolean;
|
|
57
|
+
}> | Readonly<{
|
|
58
|
+
kind: 'invalid';
|
|
59
|
+
message: string;
|
|
60
|
+
}>;
|
|
61
|
+
export type PublicProfileUpdateRequest = Readonly<{
|
|
62
|
+
profile: PublicProfile;
|
|
63
|
+
baseRevision: number;
|
|
64
|
+
}>;
|
|
65
|
+
export type PublicProfileUpdateResponse = Readonly<{
|
|
66
|
+
kind: 'updated';
|
|
67
|
+
snapshot: Extract<PublicProfileSnapshot, {
|
|
68
|
+
kind: 'ready';
|
|
69
|
+
}>;
|
|
70
|
+
}> | Readonly<{
|
|
71
|
+
kind: 'conflict';
|
|
72
|
+
authoritative: PublicProfileSnapshot;
|
|
73
|
+
}>;
|
|
74
|
+
type DsarRunKindApi = 'preview_export' | 'execute_actions';
|
|
75
|
+
type DsarExecutionModeApi = 'preview_only' | 'confirmed_execute';
|
|
76
|
+
type DsarRunStatusApi = 'running' | 'previewed' | 'completed' | 'partially_failed' | 'failed';
|
|
77
|
+
type DsarSurfaceNameApi = 'booking_customer' | 'person_record' | 'appointment' | 'event_registration' | 'order' | 'form_submission' | 'portal_session' | 'email_audit' | 'newsletter_subscriber';
|
|
78
|
+
type DsarExecutableSurfaceNameApi = 'portal_session' | 'newsletter_subscriber' | 'form_submission';
|
|
30
79
|
type DsarRunCountsApi = {
|
|
31
80
|
matchedSurfaces: number;
|
|
32
81
|
includedSurfaces: number;
|
|
@@ -35,25 +84,25 @@ type DsarRunCountsApi = {
|
|
|
35
84
|
failedActions: number;
|
|
36
85
|
};
|
|
37
86
|
type DsarPreviewExecutableDecisionApi = {
|
|
38
|
-
kind:
|
|
87
|
+
kind: 'executable';
|
|
39
88
|
surface: DsarSurfaceNameApi;
|
|
40
|
-
action:
|
|
89
|
+
action: 'revoke_sessions' | 'anonymize' | 'hard_delete';
|
|
41
90
|
rationale: string;
|
|
42
|
-
exportRepresentation:
|
|
91
|
+
exportRepresentation: 'raw_record' | 'summary_record' | 'metadata_only';
|
|
43
92
|
requiresConfirmation: true;
|
|
44
93
|
};
|
|
45
94
|
type DsarPreviewReportOnlyDecisionApi = {
|
|
46
|
-
kind:
|
|
95
|
+
kind: 'report_only';
|
|
47
96
|
surface: DsarSurfaceNameApi;
|
|
48
|
-
action:
|
|
97
|
+
action: 'retain_with_reason' | 'manual_follow_up';
|
|
49
98
|
rationale: string;
|
|
50
|
-
exportRepresentation:
|
|
99
|
+
exportRepresentation: 'raw_record' | 'summary_record' | 'metadata_only';
|
|
51
100
|
policySource?: string;
|
|
52
101
|
};
|
|
53
102
|
type DsarPreviewExcludedDecisionApi = {
|
|
54
|
-
kind:
|
|
103
|
+
kind: 'excluded';
|
|
55
104
|
surface: DsarSurfaceNameApi;
|
|
56
|
-
reason:
|
|
105
|
+
reason: 'not_found' | 'not_in_scope' | 'not_yet_supported' | 'insufficient_linkage';
|
|
57
106
|
rationale: string;
|
|
58
107
|
};
|
|
59
108
|
type DsarPreviewDecisionApi = DsarPreviewExecutableDecisionApi | DsarPreviewReportOnlyDecisionApi | DsarPreviewExcludedDecisionApi;
|
|
@@ -97,20 +146,20 @@ type DsarPreviewBundleApi = {
|
|
|
97
146
|
};
|
|
98
147
|
type DsarExecutionOutcomeApi = {
|
|
99
148
|
surface: DsarExecutableSurfaceNameApi;
|
|
100
|
-
action:
|
|
101
|
-
status:
|
|
149
|
+
action: 'revoke_sessions' | 'anonymize';
|
|
150
|
+
status: 'executed';
|
|
102
151
|
detail: string;
|
|
103
152
|
changedCount: number;
|
|
104
153
|
} | {
|
|
105
154
|
surface: DsarExecutableSurfaceNameApi;
|
|
106
|
-
action:
|
|
107
|
-
status:
|
|
155
|
+
action: 'revoke_sessions' | 'anonymize';
|
|
156
|
+
status: 'skipped';
|
|
108
157
|
detail: string;
|
|
109
|
-
reason:
|
|
158
|
+
reason: 'not_currently_executable' | 'already_handled' | 'not_found';
|
|
110
159
|
} | {
|
|
111
160
|
surface: DsarExecutableSurfaceNameApi;
|
|
112
|
-
action:
|
|
113
|
-
status:
|
|
161
|
+
action: 'revoke_sessions' | 'anonymize';
|
|
162
|
+
status: 'failed';
|
|
114
163
|
detail: string;
|
|
115
164
|
message: string;
|
|
116
165
|
};
|
|
@@ -215,6 +264,31 @@ export type SiteManagementAPIEndpoints = {
|
|
|
215
264
|
type: string;
|
|
216
265
|
entryId: string;
|
|
217
266
|
}, ContentEntryOrPageResponse>;
|
|
267
|
+
updatePageSurfaceDraftContent: APIEndpoint<{
|
|
268
|
+
data: Record<string, unknown>;
|
|
269
|
+
optimisticHash: string;
|
|
270
|
+
}, {
|
|
271
|
+
siteId: string;
|
|
272
|
+
pageSurfaceId: string;
|
|
273
|
+
}, {
|
|
274
|
+
document: PageSurfaceEditorDocument;
|
|
275
|
+
}>;
|
|
276
|
+
discardPageSurfaceDraftContent: APIEndpoint<{
|
|
277
|
+
optimisticHash: string;
|
|
278
|
+
}, {
|
|
279
|
+
siteId: string;
|
|
280
|
+
pageSurfaceId: string;
|
|
281
|
+
}, {
|
|
282
|
+
document: PageSurfaceEditorDocument;
|
|
283
|
+
}>;
|
|
284
|
+
updatePageSurfaceRouteMetadata: APIEndpoint<Pick<RouteMetadataPayload, 'draftSlug' | 'draftMetaTitle' | 'draftMetaDescription' | 'ogImageId'> & {
|
|
285
|
+
expectedDraftUpdatedAt: string | null;
|
|
286
|
+
}, {
|
|
287
|
+
siteId: string;
|
|
288
|
+
pageSurfaceId: string;
|
|
289
|
+
}, {
|
|
290
|
+
route: ContentRouteRecord;
|
|
291
|
+
}>;
|
|
218
292
|
runSdkWorkflow: APIEndpoint<never, {
|
|
219
293
|
siteId: string;
|
|
220
294
|
type: string;
|
|
@@ -345,7 +419,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
345
419
|
domainId: string;
|
|
346
420
|
}, {
|
|
347
421
|
domain: string;
|
|
348
|
-
domainType:
|
|
422
|
+
domainType: 'registered' | 'custom';
|
|
349
423
|
configStatus: string | null;
|
|
350
424
|
nameservers: {
|
|
351
425
|
expected: string[];
|
|
@@ -545,6 +619,18 @@ export type SiteManagementAPIEndpoints = {
|
|
|
545
619
|
updateSiteLayoutSettings: APIEndpoint<SiteLayoutSettingsPayload, {
|
|
546
620
|
siteId: string;
|
|
547
621
|
}, SiteLayoutSettingsResponse>;
|
|
622
|
+
getFooterComposition: APIEndpoint<never, {
|
|
623
|
+
siteId: string;
|
|
624
|
+
}, FooterCompositionSnapshot>;
|
|
625
|
+
updateFooterComposition: APIEndpoint<FooterCompositionUpdateRequest, {
|
|
626
|
+
siteId: string;
|
|
627
|
+
}, FooterCompositionUpdateResponse>;
|
|
628
|
+
getPublicProfile: APIEndpoint<never, {
|
|
629
|
+
siteId: string;
|
|
630
|
+
}, PublicProfileSnapshot>;
|
|
631
|
+
updatePublicProfile: APIEndpoint<PublicProfileUpdateRequest, {
|
|
632
|
+
siteId: string;
|
|
633
|
+
}, PublicProfileUpdateResponse>;
|
|
548
634
|
updateSiteBannerSettings: APIEndpoint<SiteBannerSettingsPayload, {
|
|
549
635
|
siteId: string;
|
|
550
636
|
}, SiteBannerSettingsResponse>;
|
|
@@ -619,7 +705,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
619
705
|
}, AdminDeleteUserResponse>;
|
|
620
706
|
adminListAxiomLogs: APIEndpoint<never, {
|
|
621
707
|
tail?: number;
|
|
622
|
-
mode?:
|
|
708
|
+
mode?: 'all' | 'errors' | 'warnings';
|
|
623
709
|
since?: string;
|
|
624
710
|
until?: string;
|
|
625
711
|
search?: string;
|
|
@@ -629,7 +715,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
629
715
|
}>;
|
|
630
716
|
adminListErrorLogs: APIEndpoint<never, {
|
|
631
717
|
tail?: number;
|
|
632
|
-
mode?:
|
|
718
|
+
mode?: 'errors' | 'warnings';
|
|
633
719
|
since?: string;
|
|
634
720
|
until?: string;
|
|
635
721
|
search?: string;
|
|
@@ -639,15 +725,15 @@ export type SiteManagementAPIEndpoints = {
|
|
|
639
725
|
}>;
|
|
640
726
|
adminListRetentionJobRuns: APIEndpoint<never, {
|
|
641
727
|
limit?: number;
|
|
642
|
-
jobKind?:
|
|
643
|
-
status?:
|
|
644
|
-
executionMode?:
|
|
728
|
+
jobKind?: 'portal_session_cleanup' | 'portal_exchange_code_cleanup' | 'analytics_transition' | 'webhook_delivery_log_cleanup' | 'email_audit_body_cleanup' | 'request_log_cleanup' | 'newsletter_subscriber_minimization' | 'form_submission_anonymization' | 'booking_operational_retention_review' | 'appointment_operational_retention_review' | 'event_registration_retention_review' | 'order_operational_minimization_review';
|
|
729
|
+
status?: 'running' | 'completed' | 'partially_failed' | 'failed';
|
|
730
|
+
executionMode?: 'scheduled' | 'manual' | 'dry_run';
|
|
645
731
|
}, {
|
|
646
732
|
runs: Array<{
|
|
647
733
|
id: string;
|
|
648
|
-
jobKind:
|
|
649
|
-
executionMode:
|
|
650
|
-
status:
|
|
734
|
+
jobKind: 'portal_session_cleanup' | 'portal_exchange_code_cleanup' | 'analytics_transition' | 'webhook_delivery_log_cleanup' | 'email_audit_body_cleanup' | 'request_log_cleanup' | 'newsletter_subscriber_minimization' | 'form_submission_anonymization' | 'booking_operational_retention_review' | 'appointment_operational_retention_review' | 'event_registration_retention_review' | 'order_operational_minimization_review';
|
|
735
|
+
executionMode: 'scheduled' | 'manual' | 'dry_run';
|
|
736
|
+
status: 'running' | 'completed' | 'partially_failed' | 'failed';
|
|
651
737
|
triggerSource: string;
|
|
652
738
|
dataClasses: string[];
|
|
653
739
|
startedAt: string;
|
|
@@ -710,11 +796,11 @@ export type SiteManagementAPIEndpoints = {
|
|
|
710
796
|
counts: DsarRunCountsApi;
|
|
711
797
|
}>;
|
|
712
798
|
adminRunFormSubmissionRetention: APIEndpoint<{
|
|
713
|
-
executionMode:
|
|
799
|
+
executionMode: 'dry_run' | 'manual';
|
|
714
800
|
siteId?: string;
|
|
715
801
|
limit?: number;
|
|
716
802
|
}, never, {
|
|
717
|
-
outcome:
|
|
803
|
+
outcome: 'executed' | 'already_running';
|
|
718
804
|
runId: string;
|
|
719
805
|
beforeIso: string;
|
|
720
806
|
candidateCount: number;
|
|
@@ -728,7 +814,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
728
814
|
}>;
|
|
729
815
|
adminListSupabaseLogs: APIEndpoint<never, {
|
|
730
816
|
tail?: number;
|
|
731
|
-
mode?:
|
|
817
|
+
mode?: 'all' | 'errors' | 'warnings';
|
|
732
818
|
since?: string;
|
|
733
819
|
until?: string;
|
|
734
820
|
search?: string;
|
|
@@ -738,7 +824,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
738
824
|
}>;
|
|
739
825
|
adminListVercelLogs: APIEndpoint<never, {
|
|
740
826
|
tail?: number;
|
|
741
|
-
mode?:
|
|
827
|
+
mode?: 'all' | 'errors' | 'warnings';
|
|
742
828
|
since?: string;
|
|
743
829
|
until?: string;
|
|
744
830
|
search?: string;
|
|
@@ -767,6 +853,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
767
853
|
name: string;
|
|
768
854
|
isPrimary?: boolean;
|
|
769
855
|
isFooter?: boolean;
|
|
856
|
+
footerRole?: 'main' | 'legal-policy' | null;
|
|
770
857
|
position?: number;
|
|
771
858
|
}, {
|
|
772
859
|
siteId: string;
|
|
@@ -783,6 +870,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
783
870
|
name?: string;
|
|
784
871
|
isPrimary?: boolean;
|
|
785
872
|
isFooter?: boolean;
|
|
873
|
+
footerRole?: 'main' | 'legal-policy' | null;
|
|
786
874
|
position?: number;
|
|
787
875
|
}, {
|
|
788
876
|
siteId: string;
|
|
@@ -798,7 +886,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
798
886
|
}>;
|
|
799
887
|
createNavigationItem: APIEndpoint<{
|
|
800
888
|
label: string;
|
|
801
|
-
type:
|
|
889
|
+
type: 'link' | 'dropdown';
|
|
802
890
|
link?: LinkPayload;
|
|
803
891
|
parentId?: string | null;
|
|
804
892
|
orderIndex?: number;
|
|
@@ -811,7 +899,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
811
899
|
}>;
|
|
812
900
|
updateNavigationItem: APIEndpoint<{
|
|
813
901
|
label?: string;
|
|
814
|
-
type?:
|
|
902
|
+
type?: 'link' | 'dropdown';
|
|
815
903
|
link?: LinkPayload;
|
|
816
904
|
parentId?: string | null;
|
|
817
905
|
orderIndex?: number;
|
|
@@ -1012,7 +1100,7 @@ export type SiteManagementAPIEndpoints = {
|
|
|
1012
1100
|
appointmentId: string;
|
|
1013
1101
|
}, BookingSessionCancelAppointmentResponse>;
|
|
1014
1102
|
bookingSessionListEvents: APIEndpoint<never, {
|
|
1015
|
-
status?:
|
|
1103
|
+
status?: 'confirmed' | 'waitlist' | 'cancelled';
|
|
1016
1104
|
upcoming?: string;
|
|
1017
1105
|
occurrenceId?: string;
|
|
1018
1106
|
limit?: string;
|
|
@@ -10,7 +10,7 @@ import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSit
|
|
|
10
10
|
import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
|
|
11
11
|
import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
|
|
12
12
|
import type { ApplySiteStyleSelectionBody, ApplySiteStyleSelectionResponse } from './siteRuntimeEndpoints';
|
|
13
|
-
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
13
|
+
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
14
14
|
import type { SdkEventUpsertBody } from './sdk-event-upsert';
|
|
15
15
|
import type { StripeConnectDisconnectResponse, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest } from './billing';
|
|
16
16
|
import type { NavigationLinkInput } from './navigation/types';
|
|
@@ -278,6 +278,11 @@ export type SitePlatformAPIEndpoints = {
|
|
|
278
278
|
identifier: string;
|
|
279
279
|
blockIdentifier: string;
|
|
280
280
|
}, SdkGetPageBlockResponse>;
|
|
281
|
+
sdkPatchPageBlock: APIEndpoint<SdkPatchPageBlockBody, {
|
|
282
|
+
siteId: string;
|
|
283
|
+
identifier: string;
|
|
284
|
+
blockIdentifier: string;
|
|
285
|
+
}, SdkPatchPageBlockResponse>;
|
|
281
286
|
sdkReorderPageBlocks: APIEndpoint<{
|
|
282
287
|
identifiers: string[];
|
|
283
288
|
}, {
|
|
@@ -291,6 +296,7 @@ export type SitePlatformAPIEndpoints = {
|
|
|
291
296
|
name: string;
|
|
292
297
|
isPrimary?: boolean;
|
|
293
298
|
isFooter?: boolean;
|
|
299
|
+
footerRole?: 'main' | 'legal-policy' | null;
|
|
294
300
|
items: readonly SdkUpsertNavigationItemInput[];
|
|
295
301
|
}, {
|
|
296
302
|
siteId: string;
|
|
@@ -8,7 +8,7 @@ import type { APIEndpoint } from './apiEndpointTypes';
|
|
|
8
8
|
import type { AnalyticsReportQuery, AnalyticsReportResponse } from './analytics';
|
|
9
9
|
import type { CreateMediaAssetBody, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse } from './media';
|
|
10
10
|
import type { MediaUsageCheckResponse } from './shared-contracts';
|
|
11
|
-
import type { BlockWithContentResponse, BlockListItem, ContentEntryListStage, EntryPageContentSlotsResponse, ListPublishedEntriesResponse, PageDraftRecord, PublishedBlockBaseline, PublishedContentEntryPreviewResponse, PublishedPostPreviewResponse, SdkBlockContent, SdkRuntimeContentByPathResponse, SdkRouteDecisionResponse, SdkRouteOutcomeResponse, SdkTemplate, SiteBySlugResponse, ThemeGenerationTurn, ThemePreferencesRecord, ThemeRow } from './contentRuntime';
|
|
11
|
+
import type { BlockWithContentResponse, BlockListItem, ContentEntryListStage, EntryPageContentSlotsResponse, PageSurfaceContentSlotsResponse, ListPublishedEntriesResponse, PageDraftRecord, PublishedBlockBaseline, PublishedContentEntryPreviewResponse, PublishedPostPreviewResponse, SdkBlockContent, SdkRuntimeContentByPathResponse, SdkRouteDecisionResponse, SdkRouteOutcomeResponse, SdkTemplate, SiteBySlugResponse, ThemeGenerationTurn, ThemePreferencesRecord, ThemeRow } from './contentRuntime';
|
|
12
12
|
import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVersionHistoryRequest, RestoreVersionHistoryResponse, VersionHistoryListQuery } from './contentVersionHistory';
|
|
13
13
|
import type { CreateMediaUploadUrlRequest, CreateMediaUploadUrlResponse, CreateSiteLogoUploadUrlRequest, CreateSiteLogoUploadUrlResponse, MediaUploadFinalizeRequest, UploadSiteLogoRequest } from './siteInfrastructure';
|
|
14
14
|
import type { DevToolsGetSiteRoleDowngradeQuery, DevToolsImpersonationResponse, DevToolsSeedResponse, DevToolsSetSiteRoleDowngradeRequest, SiteRoleDowngradeState } from './siteOperations';
|
|
@@ -486,6 +486,46 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
486
486
|
}, {
|
|
487
487
|
ok: boolean;
|
|
488
488
|
}>;
|
|
489
|
+
listPageSurfaceContentSlots: APIEndpoint<never, {
|
|
490
|
+
siteId: string;
|
|
491
|
+
pageSurfaceId: string;
|
|
492
|
+
}, PageSurfaceContentSlotsResponse>;
|
|
493
|
+
createPageSurfaceSlotBlock: APIEndpoint<{
|
|
494
|
+
kind: string;
|
|
495
|
+
position?: number;
|
|
496
|
+
purpose?: string;
|
|
497
|
+
expectedCompositionHash: string;
|
|
498
|
+
}, {
|
|
499
|
+
siteId: string;
|
|
500
|
+
pageSurfaceId: string;
|
|
501
|
+
slotKey: string;
|
|
502
|
+
}, {
|
|
503
|
+
ok: boolean;
|
|
504
|
+
block: BlockListItem;
|
|
505
|
+
compositionHash: string;
|
|
506
|
+
}>;
|
|
507
|
+
reorderPageSurfaceSlotBlocks: APIEndpoint<{
|
|
508
|
+
blockIds: string[];
|
|
509
|
+
expectedCompositionHash: string;
|
|
510
|
+
}, {
|
|
511
|
+
siteId: string;
|
|
512
|
+
pageSurfaceId: string;
|
|
513
|
+
slotKey: string;
|
|
514
|
+
}, {
|
|
515
|
+
ok: boolean;
|
|
516
|
+
compositionHash: string;
|
|
517
|
+
}>;
|
|
518
|
+
deletePageSurfaceSlotBlock: APIEndpoint<{
|
|
519
|
+
expectedCompositionHash: string;
|
|
520
|
+
}, {
|
|
521
|
+
siteId: string;
|
|
522
|
+
pageSurfaceId: string;
|
|
523
|
+
slotKey: string;
|
|
524
|
+
blockId: string;
|
|
525
|
+
}, {
|
|
526
|
+
ok: boolean;
|
|
527
|
+
compositionHash: string;
|
|
528
|
+
}>;
|
|
489
529
|
createBlock: APIEndpoint<{
|
|
490
530
|
kind: string;
|
|
491
531
|
position?: number;
|
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import type { PrimitiveProps } from "../types";
|
|
3
3
|
declare const Section: React.ForwardRefExoticComponent<PrimitiveProps & {
|
|
4
4
|
background?: string;
|
|
5
|
-
allowOverflow?: boolean;
|
|
6
5
|
/** Data slot attribute for CSS targeting */
|
|
7
6
|
"data-slot"?: string;
|
|
8
7
|
} & React.RefAttributes<HTMLElement>>;
|
|
@@ -4,4 +4,5 @@ export { makeDefaultBlockComponent, renderBlock } from '../system/componentFacto
|
|
|
4
4
|
export { getDefaultComponentRegistry } from '../system/runtime/components';
|
|
5
5
|
export { siteHeaderManifest } from '../system/blocks/site-header';
|
|
6
6
|
export { siteFooterManifest } from '../system/blocks/site-footer';
|
|
7
|
+
export { buildFooterRuntimeViewModel, type FooterRuntimeModule, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
|
|
7
8
|
export { resolveFooterRenderPlan } from '../../../theme-core/src/footer/mode';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type PublicProfile } from '../../../../core/src/index';
|
|
2
|
+
export type FooterRuntimeModule = Readonly<{
|
|
3
|
+
id: FooterModuleId;
|
|
4
|
+
kind: 'brand' | 'navigation' | 'legal-navigation' | 'business-address' | 'contact' | 'opening-hours' | 'social-links' | 'supporting-text' | 'legal';
|
|
5
|
+
heading: string | null;
|
|
6
|
+
navigationClassName?: string;
|
|
7
|
+
showLogo?: boolean;
|
|
8
|
+
showTitle?: boolean;
|
|
9
|
+
address?: string;
|
|
10
|
+
contactLinks?: readonly Readonly<{
|
|
11
|
+
href: string;
|
|
12
|
+
label: string;
|
|
13
|
+
}>[];
|
|
14
|
+
openingHours?: readonly Readonly<{
|
|
15
|
+
weekday: string;
|
|
16
|
+
hours: string;
|
|
17
|
+
}>[];
|
|
18
|
+
timeZone?: string;
|
|
19
|
+
socialLinks?: readonly Readonly<{
|
|
20
|
+
href: string;
|
|
21
|
+
label: string;
|
|
22
|
+
icon: string | null;
|
|
23
|
+
}>[];
|
|
24
|
+
content?: Readonly<Record<string, unknown>>;
|
|
25
|
+
}>;
|
|
26
|
+
export type FooterRuntimeViewModel = Readonly<{
|
|
27
|
+
membershipKey: FooterMembershipKey;
|
|
28
|
+
regions: readonly FooterRuntimeRegion[];
|
|
29
|
+
}>;
|
|
30
|
+
export type FooterRuntimeGroup = Readonly<{
|
|
31
|
+
kind: 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
|
|
32
|
+
modules: readonly FooterRuntimeModule[];
|
|
33
|
+
}>;
|
|
34
|
+
export type FooterRuntimeRegion = Readonly<{
|
|
35
|
+
kind: 'main' | 'bottom';
|
|
36
|
+
className: string;
|
|
37
|
+
groups: readonly FooterRuntimeGroup[];
|
|
38
|
+
}>;
|
|
39
|
+
type FooterRuntimeViewModelInput = Readonly<{
|
|
40
|
+
composition: FooterCompositionV1;
|
|
41
|
+
publicProfile: PublicProfile;
|
|
42
|
+
businessAddress: string | null;
|
|
43
|
+
hasFooterNavigation: boolean;
|
|
44
|
+
hasLegalPolicyNavigation?: boolean;
|
|
45
|
+
hasLogo?: boolean;
|
|
46
|
+
legalRegion?: 'integrated' | 'separate';
|
|
47
|
+
layoutVariant?: 'simple' | 'columns' | 'split';
|
|
48
|
+
}>;
|
|
49
|
+
export declare function buildFooterRuntimeViewModel(input: FooterRuntimeViewModelInput): FooterRuntimeViewModel;
|
|
50
|
+
export {};
|
|
@@ -1,53 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
export declare const siteFooterManifest: import("..").DefinedBlockManifest<
|
|
4
|
-
readonly id: "block.site-footer";
|
|
5
|
-
readonly title: "Site Footer";
|
|
6
|
-
readonly category: "layout";
|
|
7
|
-
readonly fragments: readonly [{
|
|
8
|
-
readonly fragment: import("..").DefinedFragment<{
|
|
9
|
-
readonly fields: readonly [{
|
|
10
|
-
readonly id: "bodyText";
|
|
11
|
-
readonly type: "richText";
|
|
12
|
-
readonly label: "Body text";
|
|
13
|
-
readonly description: "Appears in the main footer area.";
|
|
14
|
-
readonly ui: {
|
|
15
|
-
readonly variant: "limited";
|
|
16
|
-
};
|
|
17
|
-
}, {
|
|
18
|
-
readonly id: "bottomText";
|
|
19
|
-
readonly type: "richText";
|
|
20
|
-
readonly label: "Bottom bar text";
|
|
21
|
-
readonly description: "Appears in the optional footer bottom bar.";
|
|
22
|
-
readonly ui: {
|
|
23
|
-
readonly variant: "limited";
|
|
24
|
-
};
|
|
25
|
-
}];
|
|
26
|
-
}>;
|
|
27
|
-
readonly fieldPriority: 0;
|
|
28
|
-
}];
|
|
1
|
+
import type { SystemBlockDefinition } from '../registry';
|
|
2
|
+
import type { FooterRuntimeViewModel } from './site-footer-runtime';
|
|
3
|
+
export declare const siteFooterManifest: import("..").DefinedBlockManifest<{
|
|
29
4
|
readonly skipSectionStyles: true;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
readonly required: false;
|
|
35
|
-
readonly defaultValue: false;
|
|
36
|
-
readonly ui: {
|
|
37
|
-
readonly intent: "content";
|
|
38
|
-
};
|
|
39
|
-
}];
|
|
40
|
-
readonly layout: NodeDefinition;
|
|
41
|
-
readonly description: "Site-wide footer with navigation links and optional columns.";
|
|
42
|
-
readonly styleTokens: {
|
|
43
|
-
readonly spacing: "md";
|
|
44
|
-
};
|
|
45
|
-
readonly paletteHidden: true;
|
|
46
|
-
}>>;
|
|
47
|
-
export type SiteFooterVariant = "simple" | "columns" | "split";
|
|
48
|
-
export type SiteFooterContent = {
|
|
5
|
+
}>;
|
|
6
|
+
export type SiteFooterVariant = 'simple' | 'columns' | 'split';
|
|
7
|
+
export type SiteFooterContent = Readonly<{
|
|
8
|
+
/** Legacy storage-only fields. The V1 runtime does not read these values. */
|
|
49
9
|
bodyText?: unknown;
|
|
50
10
|
bottomText?: unknown;
|
|
51
11
|
showBusinessAddress?: boolean | null;
|
|
52
|
-
|
|
12
|
+
footerRuntime?: FooterRuntimeViewModel | null;
|
|
13
|
+
}>;
|
|
53
14
|
export declare const siteFooterBlockDefinition: SystemBlockDefinition<SiteFooterContent>;
|
|
@@ -54,7 +54,7 @@ export declare const BACKGROUND_POSITION_PRESETS: readonly [{
|
|
|
54
54
|
readonly value: "right bottom";
|
|
55
55
|
readonly label: "Right Bottom";
|
|
56
56
|
}];
|
|
57
|
-
export declare const BACKGROUND_POSITION_PRESET_VALUES: ("
|
|
57
|
+
export declare const BACKGROUND_POSITION_PRESET_VALUES: ("bottom" | "left" | "right" | "top" | "center" | "right center" | "top left" | "top right" | "bottom left" | "bottom right" | "top center" | "bottom center" | "left center" | "left top" | "right top" | "left bottom" | "right bottom")[];
|
|
58
58
|
/**
|
|
59
59
|
* Maps position keywords to rb-* anchor positioning classes.
|
|
60
60
|
* Used for positioning scaled/overflow images within their containers.
|
|
@@ -2,7 +2,8 @@ import { type CtaIconName } from './cta';
|
|
|
2
2
|
import { type SemanticIconId } from './semantic';
|
|
3
3
|
import { type IconPickerPreset } from './presets';
|
|
4
4
|
import type { IconComponent } from './svg';
|
|
5
|
-
|
|
5
|
+
import { type SocialIconName } from './social';
|
|
6
|
+
export type IconName = CtaIconName | SemanticIconId | SocialIconName;
|
|
6
7
|
export type IconIdForPreset<Preset extends IconPickerPreset> = Preset extends 'cta' ? CtaIconName : Preset extends 'feature' ? SemanticIconId : never;
|
|
7
8
|
export type IconPickerOption<Preset extends IconPickerPreset = IconPickerPreset> = {
|
|
8
9
|
id: IconIdForPreset<Preset>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IconComponent } from './svg';
|
|
2
|
+
export declare const SOCIAL_ICON_NAMES: readonly ["SocialFacebook", "SocialInstagram", "SocialLinkedIn", "SocialTikTok", "SocialX", "SocialYouTube"];
|
|
3
|
+
export type SocialIconName = (typeof SOCIAL_ICON_NAMES)[number];
|
|
4
|
+
export declare function isSocialIconName(value: unknown): value is SocialIconName;
|
|
5
|
+
export declare function getSocialIconComponent(value: unknown): IconComponent | null;
|
|
@@ -13,6 +13,7 @@ export type IconSvgProps = Omit<SVGProps<SVGSVGElement>, 'width' | 'height'> & {
|
|
|
13
13
|
title?: string;
|
|
14
14
|
};
|
|
15
15
|
export type IconComponent = React.ComponentType<IconSvgProps>;
|
|
16
|
+
export declare function createIcon(displayName: string, children: React.ReactNode): IconComponent;
|
|
16
17
|
export declare const ArrowDownIcon: IconComponent;
|
|
17
18
|
export declare const ArrowLeftIcon: IconComponent;
|
|
18
19
|
export declare const ArrowRightIcon: IconComponent;
|