@riverbankcms/sdk 0.144.0 → 0.146.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/CHANGELOG.md +17 -0
- package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +32 -24
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +316 -134
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +7 -1
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
- package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +8 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +12 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +10 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +3222 -1612
- package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -148
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
- package/dist/client/rendering/client.mjs +1389 -722
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3136 -1400
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +500 -165
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +460 -165
- package/dist/preview-next/middleware.mjs +461 -165
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +3088 -1307
- package/dist/server/config-validation.mjs +927 -109
- package/dist/server/config.mjs +927 -109
- package/dist/server/data.mjs +939 -110
- package/dist/server/index.mjs +513 -169
- package/dist/server/next.mjs +2874 -1195
- package/dist/server/page-converter.mjs +420 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3071 -1289
- package/dist/server/rendering.mjs +3169 -1350
- package/dist/server/routing.mjs +1085 -159
- package/dist/server/server.mjs +1042 -291
- package/dist/server/theme-bridge.mjs +1658 -137
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +186 -65
- package/package.json +2 -1
package/dist/server/data.mjs
CHANGED
|
@@ -898,15 +898,6 @@ function parseMailingListContentVersionId(value) {
|
|
|
898
898
|
const parsed = parseContentVersionId(value);
|
|
899
899
|
return parsed.ok ? parsed.value : null;
|
|
900
900
|
}
|
|
901
|
-
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
902
|
-
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
903
|
-
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
904
|
-
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
905
|
-
tag: "block_ref",
|
|
906
|
-
blockId: parsedBlockId,
|
|
907
|
-
contentVersionId: parsedContentVersionId
|
|
908
|
-
} : null;
|
|
909
|
-
}
|
|
910
901
|
//#endregion
|
|
911
902
|
//#region ../core/src/secret.ts
|
|
912
903
|
/**
|
|
@@ -6669,6 +6660,15 @@ function asSiteStyleId(value) {
|
|
|
6669
6660
|
function asDesignSystemTemplateId(value) {
|
|
6670
6661
|
return brandNonEmptyString(value, "DesignSystemTemplateId");
|
|
6671
6662
|
}
|
|
6663
|
+
function toNonEmptyReadonlyArray(values) {
|
|
6664
|
+
const [first, ...rest] = values;
|
|
6665
|
+
return first === void 0 ? null : [first, ...rest];
|
|
6666
|
+
}
|
|
6667
|
+
function requireNonEmptyReadonlyArray(values, message = "Expected a non-empty array.") {
|
|
6668
|
+
const result = toNonEmptyReadonlyArray(values);
|
|
6669
|
+
if (!result) throw new Error(message);
|
|
6670
|
+
return result;
|
|
6671
|
+
}
|
|
6672
6672
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
6673
6673
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
6674
6674
|
}
|
|
@@ -6871,16 +6871,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
6871
6871
|
"_frameStyles",
|
|
6872
6872
|
"_sectionStyles",
|
|
6873
6873
|
"_containerStyles",
|
|
6874
|
-
"_cardStyles"
|
|
6875
|
-
"_transitionStyles",
|
|
6876
|
-
"styleGroup"
|
|
6874
|
+
"_cardStyles"
|
|
6877
6875
|
];
|
|
6878
6876
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
6879
6877
|
"_contentCardStyles",
|
|
6880
6878
|
"_heroLayoutStyles",
|
|
6881
6879
|
"_textCardStyles"
|
|
6882
6880
|
];
|
|
6883
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
6881
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
6882
|
+
...themeV2RuntimeStyleFieldNames,
|
|
6883
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
6884
|
+
"styleGroup"
|
|
6885
|
+
];
|
|
6884
6886
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
6885
6887
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
6886
6888
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -8005,6 +8007,7 @@ const publicEventLoaderQuerySchemaShape = {
|
|
|
8005
8007
|
seriesSlug: z.string().optional(),
|
|
8006
8008
|
includeOccurrenceId: z.string().optional(),
|
|
8007
8009
|
readIntent: z.string().optional(),
|
|
8010
|
+
detailAdmission: z.string().optional(),
|
|
8008
8011
|
detailLevel: z.string().optional(),
|
|
8009
8012
|
readProfile: z.string().optional()
|
|
8010
8013
|
};
|
|
@@ -8171,11 +8174,11 @@ const publicEventBookingAvailabilitySchema = z.discriminatedUnion("kind", [z.obj
|
|
|
8171
8174
|
"series_archived",
|
|
8172
8175
|
"parent_archived",
|
|
8173
8176
|
"parent_inconsistent",
|
|
8174
|
-
"not_public",
|
|
8175
8177
|
"already_started",
|
|
8176
8178
|
"enrollment_closed"
|
|
8177
8179
|
])
|
|
8178
8180
|
})]);
|
|
8181
|
+
const publicEventBookingClosedDetailSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("opensSoon") }), z.object({ kind: z.literal("paused") })]);
|
|
8179
8182
|
const publicRunSessionSchema = z.object({
|
|
8180
8183
|
occurrenceId: z.string(),
|
|
8181
8184
|
startsAt: z.string(),
|
|
@@ -8220,6 +8223,7 @@ const publicEventBaseSchema = z.object({
|
|
|
8220
8223
|
destination: publicEventDestinationSchema,
|
|
8221
8224
|
requiresRegistration: z.boolean(),
|
|
8222
8225
|
bookingAvailability: publicEventBookingAvailabilitySchema,
|
|
8226
|
+
bookingClosedDetail: publicEventBookingClosedDetailSchema.optional(),
|
|
8223
8227
|
deliveryMode: z.enum([
|
|
8224
8228
|
"in_person",
|
|
8225
8229
|
"online",
|
|
@@ -8504,6 +8508,75 @@ const calendarWindowPageSchema = z.discriminatedUnion("kind", [z.object({
|
|
|
8504
8508
|
nextCursor: calendarSourceCursorSchema
|
|
8505
8509
|
})]);
|
|
8506
8510
|
//#endregion
|
|
8511
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
8512
|
+
/**
|
|
8513
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
8514
|
+
* method, and parameter contract for the typed URL builders.
|
|
8515
|
+
*/
|
|
8516
|
+
function defineEndpointDefinitions(definitions) {
|
|
8517
|
+
return definitions;
|
|
8518
|
+
}
|
|
8519
|
+
//#endregion
|
|
8520
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
8521
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
8522
|
+
subscribeNewsletter: {
|
|
8523
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
8524
|
+
method: "POST",
|
|
8525
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8526
|
+
auth: "public",
|
|
8527
|
+
responseKind: "json"
|
|
8528
|
+
},
|
|
8529
|
+
confirmNewsletter: {
|
|
8530
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
8531
|
+
method: "GET",
|
|
8532
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8533
|
+
auth: "public",
|
|
8534
|
+
responseKind: "text"
|
|
8535
|
+
},
|
|
8536
|
+
unsubscribeNewsletter: {
|
|
8537
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
8538
|
+
method: "GET",
|
|
8539
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8540
|
+
auth: "public",
|
|
8541
|
+
responseKind: "text"
|
|
8542
|
+
},
|
|
8543
|
+
unsubscribeNewsletterPost: {
|
|
8544
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
8545
|
+
method: "POST",
|
|
8546
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8547
|
+
auth: "public",
|
|
8548
|
+
responseKind: "text"
|
|
8549
|
+
},
|
|
8550
|
+
confirmNewsletterPost: {
|
|
8551
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
8552
|
+
method: "POST",
|
|
8553
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8554
|
+
auth: "public",
|
|
8555
|
+
responseKind: "text"
|
|
8556
|
+
},
|
|
8557
|
+
getNewsletterPreferences: {
|
|
8558
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
8559
|
+
method: "GET",
|
|
8560
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8561
|
+
auth: "public",
|
|
8562
|
+
responseKind: "text"
|
|
8563
|
+
},
|
|
8564
|
+
saveNewsletterPreferences: {
|
|
8565
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
8566
|
+
method: "POST",
|
|
8567
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8568
|
+
auth: "public",
|
|
8569
|
+
responseKind: "text"
|
|
8570
|
+
},
|
|
8571
|
+
getNewsletterArchive: {
|
|
8572
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
8573
|
+
method: "GET",
|
|
8574
|
+
tags: ["public-newsletter-{siteId}"],
|
|
8575
|
+
auth: "public",
|
|
8576
|
+
responseKind: "text"
|
|
8577
|
+
}
|
|
8578
|
+
});
|
|
8579
|
+
//#endregion
|
|
8507
8580
|
//#region ../api/src/apiEndpointTypes.ts
|
|
8508
8581
|
function allowedDemoMutationPolicy() {
|
|
8509
8582
|
return {
|
|
@@ -8595,17 +8668,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
8595
8668
|
}
|
|
8596
8669
|
};
|
|
8597
8670
|
//#endregion
|
|
8598
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
8599
|
-
/**
|
|
8600
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
8601
|
-
* method, and parameter contract for the typed URL builders.
|
|
8602
|
-
*/
|
|
8603
|
-
function defineEndpointDefinitions(definitions) {
|
|
8604
|
-
return definitions;
|
|
8605
|
-
}
|
|
8606
|
-
//#endregion
|
|
8607
8671
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
8608
8672
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
8673
|
+
...defineEndpointDefinitions({
|
|
8674
|
+
listGroupedAppointmentServices: {
|
|
8675
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
8676
|
+
method: "GET",
|
|
8677
|
+
auth: "user",
|
|
8678
|
+
responseKind: "json",
|
|
8679
|
+
errors: ["server:internal_error"]
|
|
8680
|
+
},
|
|
8681
|
+
reorderAppointmentServices: {
|
|
8682
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
8683
|
+
method: "PUT",
|
|
8684
|
+
auth: "user",
|
|
8685
|
+
responseKind: "json",
|
|
8686
|
+
errors: [
|
|
8687
|
+
"validation:invalid_input",
|
|
8688
|
+
"auth:forbidden",
|
|
8689
|
+
"resource:not_found",
|
|
8690
|
+
"resource:conflict",
|
|
8691
|
+
"server:internal_error"
|
|
8692
|
+
]
|
|
8693
|
+
},
|
|
8694
|
+
listAppointmentServiceCategories: {
|
|
8695
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
8696
|
+
method: "GET",
|
|
8697
|
+
auth: "user",
|
|
8698
|
+
responseKind: "json",
|
|
8699
|
+
errors: ["server:internal_error"]
|
|
8700
|
+
},
|
|
8701
|
+
createAppointmentServiceCategory: {
|
|
8702
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
8703
|
+
method: "POST",
|
|
8704
|
+
auth: "user",
|
|
8705
|
+
responseKind: "json",
|
|
8706
|
+
errors: [
|
|
8707
|
+
"validation:invalid_input",
|
|
8708
|
+
"auth:forbidden",
|
|
8709
|
+
"resource:conflict",
|
|
8710
|
+
"server:internal_error"
|
|
8711
|
+
]
|
|
8712
|
+
},
|
|
8713
|
+
updateAppointmentServiceCategory: {
|
|
8714
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
8715
|
+
method: "PUT",
|
|
8716
|
+
auth: "user",
|
|
8717
|
+
responseKind: "json",
|
|
8718
|
+
errors: [
|
|
8719
|
+
"validation:invalid_input",
|
|
8720
|
+
"auth:forbidden",
|
|
8721
|
+
"resource:not_found",
|
|
8722
|
+
"resource:conflict",
|
|
8723
|
+
"server:internal_error"
|
|
8724
|
+
]
|
|
8725
|
+
},
|
|
8726
|
+
deleteAppointmentServiceCategory: {
|
|
8727
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
8728
|
+
method: "DELETE",
|
|
8729
|
+
auth: "user",
|
|
8730
|
+
responseKind: "json",
|
|
8731
|
+
errors: [
|
|
8732
|
+
"auth:forbidden",
|
|
8733
|
+
"resource:not_found",
|
|
8734
|
+
"server:internal_error"
|
|
8735
|
+
]
|
|
8736
|
+
},
|
|
8737
|
+
reorderAppointmentServiceCategories: {
|
|
8738
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
8739
|
+
method: "PUT",
|
|
8740
|
+
auth: "user",
|
|
8741
|
+
responseKind: "json",
|
|
8742
|
+
errors: [
|
|
8743
|
+
"validation:invalid_input",
|
|
8744
|
+
"auth:forbidden",
|
|
8745
|
+
"resource:conflict",
|
|
8746
|
+
"server:internal_error"
|
|
8747
|
+
]
|
|
8748
|
+
}
|
|
8749
|
+
}),
|
|
8609
8750
|
listAppointmentResources: {
|
|
8610
8751
|
path: "/sites/{siteId}/bookings/resources",
|
|
8611
8752
|
method: "GET",
|
|
@@ -9316,6 +9457,13 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
|
|
|
9316
9457
|
errors: [],
|
|
9317
9458
|
responseKind: "blob"
|
|
9318
9459
|
},
|
|
9460
|
+
exportEventOfferingRegistrationsCsv: {
|
|
9461
|
+
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
|
|
9462
|
+
method: "GET",
|
|
9463
|
+
auth: "user",
|
|
9464
|
+
errors: [],
|
|
9465
|
+
responseKind: "blob"
|
|
9466
|
+
},
|
|
9319
9467
|
updateEventSeriesRegistration: {
|
|
9320
9468
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
9321
9469
|
method: "PATCH",
|
|
@@ -9326,6 +9474,19 @@ const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions
|
|
|
9326
9474
|
"resource:not_found",
|
|
9327
9475
|
"server:internal_error"
|
|
9328
9476
|
]
|
|
9477
|
+
},
|
|
9478
|
+
saveEventSeriesRegistrationAnswers: {
|
|
9479
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
|
|
9480
|
+
method: "PUT",
|
|
9481
|
+
auth: "user",
|
|
9482
|
+
responseKind: "json",
|
|
9483
|
+
errors: [
|
|
9484
|
+
"validation:invalid_input",
|
|
9485
|
+
"auth:forbidden",
|
|
9486
|
+
"resource:not_found",
|
|
9487
|
+
"resource:conflict",
|
|
9488
|
+
"server:internal_error"
|
|
9489
|
+
]
|
|
9329
9490
|
}
|
|
9330
9491
|
});
|
|
9331
9492
|
//#endregion
|
|
@@ -9746,46 +9907,185 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
9746
9907
|
responseKind: "json",
|
|
9747
9908
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
9748
9909
|
},
|
|
9749
|
-
|
|
9750
|
-
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/
|
|
9910
|
+
scheduleNewsletterCampaign: {
|
|
9911
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
|
|
9751
9912
|
method: "POST",
|
|
9752
9913
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
9753
9914
|
auth: "user",
|
|
9754
9915
|
responseKind: "json",
|
|
9755
9916
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
9756
9917
|
},
|
|
9757
|
-
|
|
9758
|
-
path: "/sites/{siteId}/newsletter/
|
|
9759
|
-
method: "
|
|
9918
|
+
unscheduleNewsletterCampaign: {
|
|
9919
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
|
|
9920
|
+
method: "POST",
|
|
9760
9921
|
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
9761
9922
|
auth: "user",
|
|
9923
|
+
responseKind: "json",
|
|
9924
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
9925
|
+
},
|
|
9926
|
+
stopNewsletterCampaign: {
|
|
9927
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
|
|
9928
|
+
method: "POST",
|
|
9929
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
9930
|
+
auth: "user",
|
|
9931
|
+
responseKind: "json",
|
|
9932
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
9933
|
+
},
|
|
9934
|
+
testSendNewsletterCampaign: {
|
|
9935
|
+
path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
|
|
9936
|
+
method: "POST",
|
|
9937
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
9938
|
+
auth: "user",
|
|
9939
|
+
responseKind: "json",
|
|
9940
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
9941
|
+
}
|
|
9942
|
+
});
|
|
9943
|
+
//#endregion
|
|
9944
|
+
//#region ../api/src/sdkEventEndpointDefinitions.ts
|
|
9945
|
+
/**
|
|
9946
|
+
* The SDK's Event graph: the Events themselves and the occurrences of one run.
|
|
9947
|
+
* Extracted from `endpoints.ts` so this family can be read, and added to, on
|
|
9948
|
+
* its own. New entries here must declare `errors`; the
|
|
9949
|
+
* require-api-endpoint-errors lint enforces that here as in endpoints.ts.
|
|
9950
|
+
*/
|
|
9951
|
+
const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
9952
|
+
sdkListEvents: {
|
|
9953
|
+
path: "/sdk/{siteId}/events",
|
|
9954
|
+
method: "GET",
|
|
9955
|
+
auth: "service",
|
|
9762
9956
|
responseKind: "json"
|
|
9763
9957
|
},
|
|
9764
|
-
|
|
9765
|
-
path: "/
|
|
9958
|
+
sdkUpsertEvent: {
|
|
9959
|
+
path: "/sdk/{siteId}/events",
|
|
9766
9960
|
method: "POST",
|
|
9961
|
+
auth: "service",
|
|
9962
|
+
responseKind: "json",
|
|
9767
9963
|
errors: [
|
|
9768
9964
|
"validation:invalid_input",
|
|
9769
9965
|
"resource:not_found",
|
|
9770
|
-
"
|
|
9966
|
+
"resource:conflict",
|
|
9967
|
+
"billing:plan_limit_exceeded",
|
|
9771
9968
|
"server:internal_error"
|
|
9772
|
-
]
|
|
9773
|
-
|
|
9774
|
-
|
|
9969
|
+
]
|
|
9970
|
+
},
|
|
9971
|
+
sdkGetEvent: {
|
|
9972
|
+
path: "/sdk/{siteId}/events/{identifier}",
|
|
9973
|
+
method: "GET",
|
|
9974
|
+
auth: "service",
|
|
9775
9975
|
responseKind: "json"
|
|
9776
9976
|
},
|
|
9777
|
-
|
|
9778
|
-
path: "/
|
|
9977
|
+
sdkDeleteEvent: {
|
|
9978
|
+
path: "/sdk/{siteId}/events/{identifier}",
|
|
9979
|
+
method: "DELETE",
|
|
9980
|
+
auth: "service",
|
|
9981
|
+
responseKind: "json",
|
|
9982
|
+
errors: [
|
|
9983
|
+
"resource:not_found",
|
|
9984
|
+
"resource:conflict",
|
|
9985
|
+
"server:internal_error"
|
|
9986
|
+
]
|
|
9987
|
+
},
|
|
9988
|
+
sdkTakeEventOffline: {
|
|
9989
|
+
path: "/sdk/{siteId}/events/{identifier}/lifecycle",
|
|
9779
9990
|
method: "POST",
|
|
9991
|
+
auth: "service",
|
|
9992
|
+
responseKind: "json",
|
|
9780
9993
|
errors: [
|
|
9994
|
+
"resource:not_found",
|
|
9781
9995
|
"validation:invalid_input",
|
|
9996
|
+
"resource:conflict",
|
|
9997
|
+
"server:internal_error"
|
|
9998
|
+
]
|
|
9999
|
+
},
|
|
10000
|
+
sdkListEventOccurrences: {
|
|
10001
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
10002
|
+
method: "GET",
|
|
10003
|
+
auth: "service",
|
|
10004
|
+
responseKind: "json",
|
|
10005
|
+
errors: [
|
|
9782
10006
|
"resource:not_found",
|
|
9783
|
-
"
|
|
10007
|
+
"validation:invalid_input",
|
|
9784
10008
|
"server:internal_error"
|
|
9785
|
-
]
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
10009
|
+
]
|
|
10010
|
+
},
|
|
10011
|
+
sdkAddEventOccurrence: {
|
|
10012
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
|
|
10013
|
+
method: "POST",
|
|
10014
|
+
auth: "service",
|
|
10015
|
+
responseKind: "json",
|
|
10016
|
+
errors: [
|
|
10017
|
+
"resource:not_found",
|
|
10018
|
+
"validation:invalid_input",
|
|
10019
|
+
"resource:conflict",
|
|
10020
|
+
"server:internal_error"
|
|
10021
|
+
]
|
|
10022
|
+
},
|
|
10023
|
+
sdkUpdateEventOccurrence: {
|
|
10024
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
10025
|
+
method: "PATCH",
|
|
10026
|
+
auth: "service",
|
|
10027
|
+
responseKind: "json",
|
|
10028
|
+
errors: [
|
|
10029
|
+
"resource:not_found",
|
|
10030
|
+
"validation:invalid_input",
|
|
10031
|
+
"resource:conflict",
|
|
10032
|
+
"server:internal_error"
|
|
10033
|
+
]
|
|
10034
|
+
},
|
|
10035
|
+
sdkCancelEventOccurrence: {
|
|
10036
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
|
|
10037
|
+
method: "POST",
|
|
10038
|
+
auth: "service",
|
|
10039
|
+
responseKind: "json",
|
|
10040
|
+
errors: [
|
|
10041
|
+
"resource:not_found",
|
|
10042
|
+
"resource:conflict",
|
|
10043
|
+
"server:internal_error"
|
|
10044
|
+
]
|
|
10045
|
+
},
|
|
10046
|
+
sdkDeleteEventOccurrence: {
|
|
10047
|
+
path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
|
|
10048
|
+
method: "DELETE",
|
|
10049
|
+
auth: "service",
|
|
10050
|
+
responseKind: "json",
|
|
10051
|
+
errors: [
|
|
10052
|
+
"resource:not_found",
|
|
10053
|
+
"resource:conflict",
|
|
10054
|
+
"server:internal_error"
|
|
10055
|
+
]
|
|
10056
|
+
}
|
|
10057
|
+
});
|
|
10058
|
+
//#endregion
|
|
10059
|
+
//#region ../api/src/sdkPageDesignEndpointDefinitions.ts
|
|
10060
|
+
/**
|
|
10061
|
+
* SDK management endpoints for a page's draft design (issue 1497), spread into
|
|
10062
|
+
* `ENDPOINT_DEFINITIONS` like the other endpoint-definition modules. New
|
|
10063
|
+
* entries here must declare `errors`, which the require-api-endpoint-errors
|
|
10064
|
+
* lint enforces.
|
|
10065
|
+
*/
|
|
10066
|
+
const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10067
|
+
sdkGetPageDesign: {
|
|
10068
|
+
path: "/sdk/{siteId}/pages/{identifier}/design",
|
|
10069
|
+
method: "GET",
|
|
10070
|
+
auth: "service",
|
|
10071
|
+
responseKind: "json",
|
|
10072
|
+
errors: [
|
|
10073
|
+
"resource:not_found",
|
|
10074
|
+
"validation:invalid_input",
|
|
10075
|
+
"server:internal_error"
|
|
10076
|
+
]
|
|
10077
|
+
},
|
|
10078
|
+
sdkSavePageDesign: {
|
|
10079
|
+
path: "/sdk/{siteId}/pages/{identifier}/design",
|
|
10080
|
+
method: "POST",
|
|
10081
|
+
auth: "service",
|
|
10082
|
+
responseKind: "json",
|
|
10083
|
+
errors: [
|
|
10084
|
+
"resource:not_found",
|
|
10085
|
+
"validation:invalid_input",
|
|
10086
|
+
"resource:conflict",
|
|
10087
|
+
"server:internal_error"
|
|
10088
|
+
]
|
|
9789
10089
|
}
|
|
9790
10090
|
});
|
|
9791
10091
|
//#endregion
|
|
@@ -10033,6 +10333,45 @@ const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10033
10333
|
}
|
|
10034
10334
|
});
|
|
10035
10335
|
//#endregion
|
|
10336
|
+
//#region ../api/src/siteManagementEndpointDefinitions.ts
|
|
10337
|
+
const SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10338
|
+
createSite: {
|
|
10339
|
+
path: "/sites/manage",
|
|
10340
|
+
method: "POST",
|
|
10341
|
+
tags: ["site"],
|
|
10342
|
+
auth: "user",
|
|
10343
|
+
responseKind: "json"
|
|
10344
|
+
},
|
|
10345
|
+
updateSite: {
|
|
10346
|
+
path: "/sites/manage",
|
|
10347
|
+
method: "PUT",
|
|
10348
|
+
tags: ["site"],
|
|
10349
|
+
auth: "user",
|
|
10350
|
+
responseKind: "json"
|
|
10351
|
+
},
|
|
10352
|
+
changeSiteAddress: {
|
|
10353
|
+
path: "/sites/{siteId}/address",
|
|
10354
|
+
method: "PUT",
|
|
10355
|
+
auth: "user",
|
|
10356
|
+
responseKind: "json",
|
|
10357
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
|
|
10358
|
+
},
|
|
10359
|
+
getSiteAddressAvailability: {
|
|
10360
|
+
path: "/sites/{siteId}/address/availability",
|
|
10361
|
+
method: "GET",
|
|
10362
|
+
auth: "user",
|
|
10363
|
+
responseKind: "json"
|
|
10364
|
+
},
|
|
10365
|
+
deleteSite: {
|
|
10366
|
+
path: "/sites/{siteId}",
|
|
10367
|
+
method: "DELETE",
|
|
10368
|
+
tags: ["site", "site-{siteId}"],
|
|
10369
|
+
auth: "user",
|
|
10370
|
+
responseKind: "json",
|
|
10371
|
+
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
10372
|
+
}
|
|
10373
|
+
});
|
|
10374
|
+
//#endregion
|
|
10036
10375
|
//#region ../api/src/eventManagementEndpointDefinitions.ts
|
|
10037
10376
|
const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10038
10377
|
listEvents: {
|
|
@@ -10080,6 +10419,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10080
10419
|
"server:internal_error"
|
|
10081
10420
|
]
|
|
10082
10421
|
},
|
|
10422
|
+
/**
|
|
10423
|
+
* The web address of an event's own page. A course page belongs to the
|
|
10424
|
+
* event itself, so its address is written here rather than through a run.
|
|
10425
|
+
*/
|
|
10426
|
+
updateEventAddress: {
|
|
10427
|
+
path: "/sites/{siteId}/bookings/events/{eventId}/address",
|
|
10428
|
+
method: "PATCH",
|
|
10429
|
+
tags: [
|
|
10430
|
+
"site-{siteId}",
|
|
10431
|
+
"event-series-{siteId}",
|
|
10432
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
10433
|
+
TAG_TEMPLATES.siteRedirects
|
|
10434
|
+
],
|
|
10435
|
+
auth: "user",
|
|
10436
|
+
responseKind: "json",
|
|
10437
|
+
errors: [
|
|
10438
|
+
"validation:invalid_input",
|
|
10439
|
+
"resource:not_found",
|
|
10440
|
+
"resource:conflict",
|
|
10441
|
+
"server:internal_error"
|
|
10442
|
+
]
|
|
10443
|
+
},
|
|
10083
10444
|
createWholeSeriesRun: {
|
|
10084
10445
|
path: "/sites/{siteId}/bookings/events/{eventId}/runs",
|
|
10085
10446
|
method: "POST",
|
|
@@ -10106,6 +10467,20 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10106
10467
|
"server:internal_error"
|
|
10107
10468
|
]
|
|
10108
10469
|
},
|
|
10470
|
+
updateCourseBookingSettings: {
|
|
10471
|
+
path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
|
|
10472
|
+
method: "PATCH",
|
|
10473
|
+
tags: ["site-{siteId}", "event-series-{siteId}"],
|
|
10474
|
+
auth: "user",
|
|
10475
|
+
responseKind: "json",
|
|
10476
|
+
errors: [
|
|
10477
|
+
"validation:invalid_input",
|
|
10478
|
+
"auth:forbidden",
|
|
10479
|
+
"resource:not_found",
|
|
10480
|
+
"resource:conflict",
|
|
10481
|
+
"server:internal_error"
|
|
10482
|
+
]
|
|
10483
|
+
},
|
|
10109
10484
|
cancelWholeSeriesRun: {
|
|
10110
10485
|
path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
|
|
10111
10486
|
method: "POST",
|
|
@@ -10118,6 +10493,28 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10118
10493
|
"resource:conflict",
|
|
10119
10494
|
"server:internal_error"
|
|
10120
10495
|
]
|
|
10496
|
+
},
|
|
10497
|
+
/**
|
|
10498
|
+
* The Content tab's one write: the short introduction, image and
|
|
10499
|
+
* description of an event's page, published without its layout.
|
|
10500
|
+
*/
|
|
10501
|
+
saveEventPageWords: {
|
|
10502
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
|
|
10503
|
+
method: "PUT",
|
|
10504
|
+
tags: [
|
|
10505
|
+
TAG_TEMPLATES.siteCollection,
|
|
10506
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
10507
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
10508
|
+
],
|
|
10509
|
+
auth: "user",
|
|
10510
|
+
responseKind: "json",
|
|
10511
|
+
errors: [
|
|
10512
|
+
"auth:forbidden",
|
|
10513
|
+
"validation:invalid_input",
|
|
10514
|
+
"resource:not_found",
|
|
10515
|
+
"resource:conflict",
|
|
10516
|
+
"server:internal_error"
|
|
10517
|
+
]
|
|
10121
10518
|
}
|
|
10122
10519
|
});
|
|
10123
10520
|
//#endregion
|
|
@@ -10550,18 +10947,56 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10550
10947
|
responseKind: "json"
|
|
10551
10948
|
}
|
|
10552
10949
|
});
|
|
10950
|
+
//#endregion
|
|
10951
|
+
//#region ../api/src/clientErrorReporting.ts
|
|
10952
|
+
const CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
|
|
10953
|
+
path: "/client/error-report",
|
|
10954
|
+
method: "POST",
|
|
10955
|
+
auth: "user",
|
|
10956
|
+
errors: [],
|
|
10957
|
+
responseKind: "json"
|
|
10958
|
+
} });
|
|
10959
|
+
const CLIENT_ERROR_REPORT_LIMITS = {
|
|
10960
|
+
pathname: 1024,
|
|
10961
|
+
name: 120,
|
|
10962
|
+
message: 2e3,
|
|
10963
|
+
stack: 8e3,
|
|
10964
|
+
digest: 128,
|
|
10965
|
+
componentStack: 8e3,
|
|
10966
|
+
sourceLocation: 1024
|
|
10967
|
+
};
|
|
10968
|
+
const clientErrorEventSchema = z.enum([
|
|
10969
|
+
"dashboard:route-error",
|
|
10970
|
+
"dashboard:app-error",
|
|
10971
|
+
"client:error-boundary",
|
|
10972
|
+
"client:window-error",
|
|
10973
|
+
"client:unhandled-rejection"
|
|
10974
|
+
]);
|
|
10975
|
+
z.object({
|
|
10976
|
+
event: clientErrorEventSchema,
|
|
10977
|
+
pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
|
|
10978
|
+
name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
|
|
10979
|
+
message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
|
|
10980
|
+
stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
|
|
10981
|
+
digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
|
|
10982
|
+
componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
|
|
10983
|
+
sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
|
|
10984
|
+
}).strict();
|
|
10553
10985
|
({
|
|
10986
|
+
...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
|
|
10987
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10554
10988
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
10555
10989
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
10556
10990
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
10557
10991
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
10558
10992
|
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
10559
|
-
...BILLING_ENDPOINT_DEFINITIONS
|
|
10993
|
+
...BILLING_ENDPOINT_DEFINITIONS,
|
|
10994
|
+
...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
|
|
10560
10995
|
}), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
|
|
10561
10996
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10562
10997
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
10563
10998
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
10564
|
-
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
10999
|
+
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
10565
11000
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
10566
11001
|
z.object({
|
|
10567
11002
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -12911,11 +13346,260 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
12911
13346
|
*/
|
|
12912
13347
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
12913
13348
|
//#endregion
|
|
12914
|
-
//#region ../theme-core/src/site-styles/
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
13349
|
+
//#region ../theme-core/src/site-styles/transitionCatalogue.ts
|
|
13350
|
+
/**
|
|
13351
|
+
* Family order for pickers. Entries below are listed family by family in this
|
|
13352
|
+
* same order, so the flat option list and the grouped families agree.
|
|
13353
|
+
*/
|
|
13354
|
+
const transitionCatalogueFamilies = [
|
|
13355
|
+
{
|
|
13356
|
+
id: "gradient",
|
|
13357
|
+
label: "Gradient"
|
|
13358
|
+
},
|
|
13359
|
+
{
|
|
13360
|
+
id: "wave",
|
|
13361
|
+
label: "Wave"
|
|
13362
|
+
},
|
|
13363
|
+
{
|
|
13364
|
+
id: "angle",
|
|
13365
|
+
label: "Angle"
|
|
13366
|
+
}
|
|
13367
|
+
];
|
|
13368
|
+
const mediumHeight = "6rem + 2px";
|
|
13369
|
+
const compactHeight = "4.5rem + 2px";
|
|
13370
|
+
const largeHeight = "7rem + 2px";
|
|
13371
|
+
/**
|
|
13372
|
+
* The single source of transition vocabulary. Order is significant: it is the
|
|
13373
|
+
* order of `boundaryOptions` (after `none`) and of each family's variants,
|
|
13374
|
+
* which persisted pins, page-flow presets and the editor picker all rely on.
|
|
13375
|
+
*
|
|
13376
|
+
* Shapes match what `generateLayoutCss` draws today. Structured
|
|
13377
|
+
* amplitude/frequency treatments (issue 826) extend this list later.
|
|
13378
|
+
*/
|
|
13379
|
+
const transitionCatalogueEntries = defineExactCatalog()([
|
|
13380
|
+
{
|
|
13381
|
+
intent: "soft-fade-short",
|
|
13382
|
+
optionId: asBoundaryOptionId("break:soft"),
|
|
13383
|
+
family: "gradient",
|
|
13384
|
+
variantId: "soft",
|
|
13385
|
+
label: "Soft",
|
|
13386
|
+
variantLabel: "Soft",
|
|
13387
|
+
treatment: {
|
|
13388
|
+
kind: "soft-fade",
|
|
13389
|
+
height: "medium",
|
|
13390
|
+
curve: "soft"
|
|
13391
|
+
},
|
|
13392
|
+
size: "medium",
|
|
13393
|
+
heightExpression: mediumHeight,
|
|
13394
|
+
shape: { kind: "fade" }
|
|
13395
|
+
},
|
|
13396
|
+
{
|
|
13397
|
+
intent: "soft-fade-long",
|
|
13398
|
+
optionId: asBoundaryOptionId("break:spacious"),
|
|
13399
|
+
family: "gradient",
|
|
13400
|
+
variantId: "spacious",
|
|
13401
|
+
label: "Spacious",
|
|
13402
|
+
variantLabel: "Spacious",
|
|
13403
|
+
treatment: {
|
|
13404
|
+
kind: "soft-fade",
|
|
13405
|
+
height: "large",
|
|
13406
|
+
curve: "spacious"
|
|
13407
|
+
},
|
|
13408
|
+
size: "spacious",
|
|
13409
|
+
heightExpression: "10rem",
|
|
13410
|
+
shape: { kind: "fade" }
|
|
13411
|
+
},
|
|
13412
|
+
{
|
|
13413
|
+
intent: "soft-fade-expansive",
|
|
13414
|
+
optionId: asBoundaryOptionId("break:expansive"),
|
|
13415
|
+
family: "gradient",
|
|
13416
|
+
variantId: "expansive",
|
|
13417
|
+
label: "Expansive",
|
|
13418
|
+
variantLabel: "Expansive",
|
|
13419
|
+
treatment: {
|
|
13420
|
+
kind: "soft-fade",
|
|
13421
|
+
height: "expansive",
|
|
13422
|
+
curve: "expansive"
|
|
13423
|
+
},
|
|
13424
|
+
size: "expansive",
|
|
13425
|
+
heightExpression: "14rem",
|
|
13426
|
+
shape: { kind: "fade" }
|
|
13427
|
+
},
|
|
13428
|
+
{
|
|
13429
|
+
intent: "wave-edge-balanced",
|
|
13430
|
+
optionId: asBoundaryOptionId("break:wave-balanced"),
|
|
13431
|
+
family: "wave",
|
|
13432
|
+
variantId: "balanced",
|
|
13433
|
+
label: "Balanced wave",
|
|
13434
|
+
variantLabel: "Balanced",
|
|
13435
|
+
treatment: {
|
|
13436
|
+
kind: "wave-edge",
|
|
13437
|
+
height: "medium",
|
|
13438
|
+
amplitude: "balanced",
|
|
13439
|
+
rhythm: "double",
|
|
13440
|
+
symmetry: "symmetrical"
|
|
13441
|
+
},
|
|
13442
|
+
size: "medium",
|
|
13443
|
+
heightExpression: mediumHeight,
|
|
13444
|
+
shape: {
|
|
13445
|
+
kind: "wave",
|
|
13446
|
+
mask: "balanced"
|
|
13447
|
+
}
|
|
13448
|
+
},
|
|
13449
|
+
{
|
|
13450
|
+
intent: "wave-edge",
|
|
13451
|
+
optionId: asBoundaryOptionId("break:wave"),
|
|
13452
|
+
family: "wave",
|
|
13453
|
+
variantId: "classic",
|
|
13454
|
+
label: "Classic wave",
|
|
13455
|
+
variantLabel: "Classic",
|
|
13456
|
+
treatment: {
|
|
13457
|
+
kind: "wave-edge",
|
|
13458
|
+
height: "medium",
|
|
13459
|
+
amplitude: "balanced",
|
|
13460
|
+
rhythm: "double",
|
|
13461
|
+
symmetry: "asymmetrical"
|
|
13462
|
+
},
|
|
13463
|
+
size: "medium",
|
|
13464
|
+
heightExpression: mediumHeight,
|
|
13465
|
+
shape: {
|
|
13466
|
+
kind: "wave",
|
|
13467
|
+
mask: "classic"
|
|
13468
|
+
}
|
|
13469
|
+
},
|
|
13470
|
+
{
|
|
13471
|
+
intent: "wave-edge-gentle",
|
|
13472
|
+
optionId: asBoundaryOptionId("break:wave-gentle"),
|
|
13473
|
+
family: "wave",
|
|
13474
|
+
variantId: "gentle",
|
|
13475
|
+
label: "Gentle wave",
|
|
13476
|
+
variantLabel: "Gentle",
|
|
13477
|
+
treatment: {
|
|
13478
|
+
kind: "wave-edge",
|
|
13479
|
+
height: "compact",
|
|
13480
|
+
amplitude: "subtle",
|
|
13481
|
+
rhythm: "single",
|
|
13482
|
+
symmetry: "symmetrical"
|
|
13483
|
+
},
|
|
13484
|
+
size: "compact",
|
|
13485
|
+
heightExpression: compactHeight,
|
|
13486
|
+
shape: {
|
|
13487
|
+
kind: "wave",
|
|
13488
|
+
mask: "gentle"
|
|
13489
|
+
}
|
|
13490
|
+
},
|
|
13491
|
+
{
|
|
13492
|
+
intent: "wave-edge-bold",
|
|
13493
|
+
optionId: asBoundaryOptionId("break:wave-bold"),
|
|
13494
|
+
family: "wave",
|
|
13495
|
+
variantId: "bold",
|
|
13496
|
+
label: "Bold wave",
|
|
13497
|
+
variantLabel: "Bold",
|
|
13498
|
+
treatment: {
|
|
13499
|
+
kind: "wave-edge",
|
|
13500
|
+
height: "large",
|
|
13501
|
+
amplitude: "bold",
|
|
13502
|
+
rhythm: "double",
|
|
13503
|
+
symmetry: "symmetrical"
|
|
13504
|
+
},
|
|
13505
|
+
size: "large",
|
|
13506
|
+
heightExpression: largeHeight,
|
|
13507
|
+
shape: {
|
|
13508
|
+
kind: "wave",
|
|
13509
|
+
mask: "bold"
|
|
13510
|
+
}
|
|
13511
|
+
},
|
|
13512
|
+
{
|
|
13513
|
+
intent: "wave-edge-drift",
|
|
13514
|
+
optionId: asBoundaryOptionId("break:wave-drift"),
|
|
13515
|
+
family: "wave",
|
|
13516
|
+
variantId: "drift",
|
|
13517
|
+
label: "Drift wave",
|
|
13518
|
+
variantLabel: "Drift",
|
|
13519
|
+
treatment: {
|
|
13520
|
+
kind: "wave-edge",
|
|
13521
|
+
height: "medium",
|
|
13522
|
+
amplitude: "balanced",
|
|
13523
|
+
rhythm: "double",
|
|
13524
|
+
symmetry: "drift"
|
|
13525
|
+
},
|
|
13526
|
+
size: "medium",
|
|
13527
|
+
heightExpression: mediumHeight,
|
|
13528
|
+
shape: {
|
|
13529
|
+
kind: "wave",
|
|
13530
|
+
mask: "drift"
|
|
13531
|
+
}
|
|
13532
|
+
},
|
|
13533
|
+
{
|
|
13534
|
+
intent: "angle-edge-subtle",
|
|
13535
|
+
optionId: asBoundaryOptionId("break:angle-subtle"),
|
|
13536
|
+
family: "angle",
|
|
13537
|
+
variantId: "subtle",
|
|
13538
|
+
label: "Subtle angle",
|
|
13539
|
+
variantLabel: "Subtle",
|
|
13540
|
+
treatment: {
|
|
13541
|
+
kind: "angle-edge",
|
|
13542
|
+
height: "compact",
|
|
13543
|
+
slope: "subtle",
|
|
13544
|
+
direction: "forward"
|
|
13545
|
+
},
|
|
13546
|
+
size: "compact",
|
|
13547
|
+
heightExpression: compactHeight,
|
|
13548
|
+
shape: {
|
|
13549
|
+
kind: "angle",
|
|
13550
|
+
polygon: {
|
|
13551
|
+
startTopPercent: 34,
|
|
13552
|
+
endTopPercent: 18
|
|
13553
|
+
}
|
|
13554
|
+
}
|
|
13555
|
+
},
|
|
13556
|
+
{
|
|
13557
|
+
intent: "angle-edge",
|
|
13558
|
+
optionId: asBoundaryOptionId("break:angle-balanced"),
|
|
13559
|
+
family: "angle",
|
|
13560
|
+
variantId: "balanced",
|
|
13561
|
+
label: "Balanced angle",
|
|
13562
|
+
variantLabel: "Balanced",
|
|
13563
|
+
treatment: {
|
|
13564
|
+
kind: "angle-edge",
|
|
13565
|
+
height: "medium",
|
|
13566
|
+
slope: "balanced",
|
|
13567
|
+
direction: "forward"
|
|
13568
|
+
},
|
|
13569
|
+
size: "medium",
|
|
13570
|
+
heightExpression: mediumHeight,
|
|
13571
|
+
shape: {
|
|
13572
|
+
kind: "angle",
|
|
13573
|
+
polygon: {
|
|
13574
|
+
startTopPercent: 42,
|
|
13575
|
+
endTopPercent: 8
|
|
13576
|
+
}
|
|
13577
|
+
}
|
|
13578
|
+
},
|
|
13579
|
+
{
|
|
13580
|
+
intent: "angle-edge-steep",
|
|
13581
|
+
optionId: asBoundaryOptionId("break:angle-steep"),
|
|
13582
|
+
family: "angle",
|
|
13583
|
+
variantId: "steep",
|
|
13584
|
+
label: "Steep angle",
|
|
13585
|
+
variantLabel: "Steep",
|
|
13586
|
+
treatment: {
|
|
13587
|
+
kind: "angle-edge",
|
|
13588
|
+
height: "large",
|
|
13589
|
+
slope: "steep",
|
|
13590
|
+
direction: "forward"
|
|
13591
|
+
},
|
|
13592
|
+
size: "large",
|
|
13593
|
+
heightExpression: largeHeight,
|
|
13594
|
+
shape: {
|
|
13595
|
+
kind: "angle",
|
|
13596
|
+
polygon: {
|
|
13597
|
+
startTopPercent: 54,
|
|
13598
|
+
endTopPercent: 0
|
|
13599
|
+
}
|
|
13600
|
+
}
|
|
13601
|
+
}
|
|
13602
|
+
]);
|
|
12919
13603
|
//#endregion
|
|
12920
13604
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
12921
13605
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -12926,42 +13610,106 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
|
12926
13610
|
reserveCss: `calc((${heightExpression}) / 2)`
|
|
12927
13611
|
};
|
|
12928
13612
|
}
|
|
12929
|
-
|
|
13613
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, entry]));
|
|
13614
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, boundaryRuntimeMetrics(entry.family, entry.size, entry.heightExpression)]));
|
|
13615
|
+
/**
|
|
13616
|
+
* The catalogue's compile-time coverage check guarantees an entry per
|
|
13617
|
+
* decorative intent, so a miss here is a broken invariant, not bad input.
|
|
13618
|
+
*/
|
|
13619
|
+
function requireCatalogueValue(values, intent) {
|
|
13620
|
+
const value = values.get(intent);
|
|
13621
|
+
if (value === void 0) throw new Error(`Transition catalogue has no entry for ${intent}`);
|
|
13622
|
+
return value;
|
|
13623
|
+
}
|
|
12930
13624
|
const noneBoundaryOption = {
|
|
12931
13625
|
id: asBoundaryOptionId("break:none"),
|
|
12932
13626
|
label: "None",
|
|
12933
13627
|
transitionAfter: "none",
|
|
12934
13628
|
treatment: { kind: "none" }
|
|
12935
13629
|
};
|
|
12936
|
-
const
|
|
12937
|
-
id:
|
|
12938
|
-
label:
|
|
12939
|
-
transitionAfter:
|
|
12940
|
-
treatment:
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
13630
|
+
const boundaryOptionByIntent = new Map(transitionCatalogueEntries.map((entry) => [entry.intent, {
|
|
13631
|
+
id: entry.optionId,
|
|
13632
|
+
label: entry.label,
|
|
13633
|
+
transitionAfter: entry.intent,
|
|
13634
|
+
treatment: entry.treatment
|
|
13635
|
+
}]));
|
|
13636
|
+
function boundaryOptionForTransitionIntent(intent) {
|
|
13637
|
+
return requireCatalogueValue(boundaryOptionByIntent, intent);
|
|
13638
|
+
}
|
|
13639
|
+
const softBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-short");
|
|
13640
|
+
const spaciousBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-long");
|
|
13641
|
+
boundaryOptionForTransitionIntent("soft-fade-expansive");
|
|
13642
|
+
boundaryOptionForTransitionIntent("wave-edge");
|
|
13643
|
+
boundaryOptionForTransitionIntent("wave-edge-balanced");
|
|
13644
|
+
boundaryOptionForTransitionIntent("wave-edge-gentle");
|
|
13645
|
+
boundaryOptionForTransitionIntent("wave-edge-bold");
|
|
13646
|
+
boundaryOptionForTransitionIntent("wave-edge-drift");
|
|
13647
|
+
boundaryOptionForTransitionIntent("angle-edge-subtle");
|
|
13648
|
+
boundaryOptionForTransitionIntent("angle-edge");
|
|
13649
|
+
boundaryOptionForTransitionIntent("angle-edge-steep");
|
|
13650
|
+
/**
|
|
13651
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
13652
|
+
*/
|
|
13653
|
+
const boundaryOptions = [noneBoundaryOption, ...transitionCatalogueEntries.map((entry) => boundaryOptionForTransitionIntent(entry.intent))];
|
|
13654
|
+
const noneTransitionVariant = {
|
|
13655
|
+
familyId: "none",
|
|
13656
|
+
variantId: "none",
|
|
13657
|
+
label: "None",
|
|
13658
|
+
boundaryOption: noneBoundaryOption
|
|
12945
13659
|
};
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
13660
|
+
function transitionVariantForEntry(entry) {
|
|
13661
|
+
return {
|
|
13662
|
+
familyId: entry.family,
|
|
13663
|
+
variantId: entry.variantId,
|
|
13664
|
+
label: entry.variantLabel,
|
|
13665
|
+
boundaryOption: boundaryOptionForTransitionIntent(entry.intent)
|
|
13666
|
+
};
|
|
13667
|
+
}
|
|
13668
|
+
const sectionTransitionFamilies = [{
|
|
13669
|
+
id: "none",
|
|
13670
|
+
label: "None",
|
|
13671
|
+
variants: [noneTransitionVariant]
|
|
13672
|
+
}, ...transitionCatalogueFamilies.map((family) => ({
|
|
13673
|
+
id: family.id,
|
|
13674
|
+
label: family.label,
|
|
13675
|
+
variants: requireNonEmptyReadonlyArray(transitionCatalogueEntries.filter((entry) => entry.family === family.id).map(transitionVariantForEntry), `Transition family ${family.id} has no catalogue entries.`)
|
|
13676
|
+
}))];
|
|
13677
|
+
new Map(boundaryOptions.map((option) => [option.id, option]));
|
|
13678
|
+
new Map(boundaryOptions.map((option) => [stableTreatmentKey(option.treatment), option]));
|
|
13679
|
+
new Map(sectionTransitionFamilies.flatMap((family) => family.variants.map((variant) => [variant.boundaryOption.id, variant])));
|
|
13680
|
+
new Map(sectionTransitionFamilies.map((family) => [family.id, family]));
|
|
13681
|
+
function stableTreatmentKey(treatment) {
|
|
13682
|
+
switch (treatment.kind) {
|
|
13683
|
+
case "none": return "none";
|
|
13684
|
+
case "soft-fade": return `${treatment.kind}:${treatment.height}:${treatment.curve}`;
|
|
13685
|
+
case "wave-edge": return [
|
|
13686
|
+
treatment.kind,
|
|
13687
|
+
treatment.height,
|
|
13688
|
+
treatment.amplitude,
|
|
13689
|
+
treatment.rhythm,
|
|
13690
|
+
treatment.symmetry
|
|
13691
|
+
].join(":");
|
|
13692
|
+
case "angle-edge": return [
|
|
13693
|
+
treatment.kind,
|
|
13694
|
+
treatment.height,
|
|
13695
|
+
treatment.slope,
|
|
13696
|
+
treatment.direction
|
|
13697
|
+
].join(":");
|
|
13698
|
+
case "legacy-unsupported": return `${treatment.kind}:${treatment.boundaryOptionId}`;
|
|
13699
|
+
}
|
|
13700
|
+
}
|
|
13701
|
+
requireThemeColorToken$1("background");
|
|
13702
|
+
function requireThemeColorToken$1(value) {
|
|
13703
|
+
const token = parseThemeColorToken(value);
|
|
13704
|
+
if (!token) throw new Error(`Expected a theme color token. Received: ${value}`);
|
|
13705
|
+
return token;
|
|
13706
|
+
}
|
|
13707
|
+
//#endregion
|
|
13708
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
13709
|
+
const defaultHeaderBrandPreferences = {
|
|
13710
|
+
brandDisplay: "auto",
|
|
13711
|
+
logoSize: "auto"
|
|
12955
13712
|
};
|
|
12956
|
-
asBoundaryOptionId("break:expansive");
|
|
12957
|
-
asBoundaryOptionId("break:wave");
|
|
12958
|
-
asBoundaryOptionId("break:wave-balanced");
|
|
12959
|
-
asBoundaryOptionId("break:wave-gentle");
|
|
12960
|
-
asBoundaryOptionId("break:wave-bold");
|
|
12961
|
-
asBoundaryOptionId("break:wave-drift");
|
|
12962
|
-
asBoundaryOptionId("break:angle-subtle");
|
|
12963
|
-
asBoundaryOptionId("break:angle-balanced");
|
|
12964
|
-
asBoundaryOptionId("break:angle-steep");
|
|
12965
13713
|
asBoundaryOptionId("break:unknown");
|
|
12966
13714
|
const pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
12967
13715
|
kind: z.literal("user-pinned"),
|
|
@@ -13088,14 +13836,11 @@ function validateUniquePageDesignPins(intent, ctx) {
|
|
|
13088
13836
|
label: "block Look pin"
|
|
13089
13837
|
});
|
|
13090
13838
|
addDuplicateStringIssues(ctx, {
|
|
13091
|
-
values: intent.boundaryPins.map((pin) =>
|
|
13839
|
+
values: intent.boundaryPins.map((pin) => makeBoundaryId(pin.previousBlockId, pin.nextBlockId)),
|
|
13092
13840
|
path: ["boundaryPins"],
|
|
13093
13841
|
label: "boundary pin"
|
|
13094
13842
|
});
|
|
13095
13843
|
}
|
|
13096
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
13097
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
13098
|
-
}
|
|
13099
13844
|
//#endregion
|
|
13100
13845
|
//#region ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
13101
13846
|
/**
|
|
@@ -14723,6 +15468,13 @@ z.object({
|
|
|
14723
15468
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
14724
15469
|
authority: styleAuthoritySchema
|
|
14725
15470
|
}).strict();
|
|
15471
|
+
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
15472
|
+
asPageFlowPresetId("generated-default");
|
|
15473
|
+
asSiteStyleId("site-style:south-west-twerk-school");
|
|
15474
|
+
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
15475
|
+
asLayoutVariantKey("classic");
|
|
15476
|
+
asLayoutVariantKey("micro");
|
|
15477
|
+
asBoundaryOptionId("break:wave");
|
|
14726
15478
|
//#endregion
|
|
14727
15479
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
14728
15480
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
@@ -14746,7 +15498,7 @@ function defineComponentRuntimeRules(rules) {
|
|
|
14746
15498
|
}
|
|
14747
15499
|
/**
|
|
14748
15500
|
* Default design rules translate semantic page-level choices into the current
|
|
14749
|
-
* runtime's section background
|
|
15501
|
+
* runtime's section background vocabulary.
|
|
14750
15502
|
*/
|
|
14751
15503
|
const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
14752
15504
|
sectionSurfaces: {
|
|
@@ -14781,8 +15533,7 @@ const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
14781
15533
|
color: "surface",
|
|
14782
15534
|
opacity: .88
|
|
14783
15535
|
}
|
|
14784
|
-
}
|
|
14785
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
15536
|
+
}
|
|
14786
15537
|
});
|
|
14787
15538
|
/**
|
|
14788
15539
|
* Default component rules translate frame and item-surface semantics into the
|
|
@@ -16517,19 +17268,11 @@ const curatedSiteStyles = [
|
|
|
16517
17268
|
})
|
|
16518
17269
|
];
|
|
16519
17270
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
16520
|
-
asPageFlowPresetId("generated-default");
|
|
16521
|
-
asSiteStyleId("site-style:south-west-twerk-school");
|
|
16522
|
-
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
16523
|
-
asLayoutVariantKey("classic");
|
|
16524
|
-
asLayoutVariantKey("micro");
|
|
16525
|
-
asBoundaryOptionId("break:wave");
|
|
16526
|
-
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
16527
17271
|
//#endregion
|
|
16528
17272
|
//#region ../theme-core/src/site-styles/resolver.ts
|
|
16529
17273
|
const blockDesignFallback = {
|
|
16530
17274
|
sectionSurface: "base",
|
|
16531
17275
|
contentFrame: plainFrame,
|
|
16532
|
-
transitionAfter: "none",
|
|
16533
17276
|
sectionHeight: "default",
|
|
16534
17277
|
heroLegibility: "none",
|
|
16535
17278
|
imageSurfaceTreatment: { kind: "none" },
|
|
@@ -16540,7 +17283,7 @@ const blockDesignFallback = {
|
|
|
16540
17283
|
accordionIconTreatment: null,
|
|
16541
17284
|
composition: null
|
|
16542
17285
|
};
|
|
16543
|
-
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.
|
|
17286
|
+
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
16544
17287
|
//#endregion
|
|
16545
17288
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
16546
17289
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
@@ -17143,7 +17886,8 @@ const siteOptionSources = [
|
|
|
17143
17886
|
"eventCategories",
|
|
17144
17887
|
"eventSeries",
|
|
17145
17888
|
"venues",
|
|
17146
|
-
"staffMembers"
|
|
17889
|
+
"staffMembers",
|
|
17890
|
+
"appointmentServiceCategories"
|
|
17147
17891
|
];
|
|
17148
17892
|
const mediaDeliverySchema = z.object({
|
|
17149
17893
|
sizes: z.string().optional(),
|
|
@@ -26365,13 +27109,13 @@ const hours = stack({
|
|
|
26365
27109
|
as: "p",
|
|
26366
27110
|
className: "rb-caption rb-opacity-70"
|
|
26367
27111
|
}, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
|
|
26368
|
-
const socials = inline({ className: "rb-
|
|
27112
|
+
const socials = inline({ className: "rb-footer-socials" }, [link({
|
|
26369
27113
|
href: { $bind: { from: "social.href" } },
|
|
26370
27114
|
target: "_blank",
|
|
26371
27115
|
rel: "noreferrer noopener",
|
|
26372
27116
|
"aria-label": { $bind: { from: "social.label" } },
|
|
26373
|
-
className: "rb-nav-text transition-theme-standard"
|
|
26374
|
-
}, [icon({ className: "rb-
|
|
27117
|
+
className: "rb-footer-social-link rb-nav-text transition-theme-standard"
|
|
27118
|
+
}, [icon({ className: "rb-footer-social-icon" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
|
|
26375
27119
|
const authoredCopy = richText({
|
|
26376
27120
|
className: "rb-prose rb-prose-sm rb-max-w-none",
|
|
26377
27121
|
style: textColorStyle("text/80")
|
|
@@ -28012,6 +28756,15 @@ const appointmentServicesBlockDefinition = {
|
|
|
28012
28756
|
required: false,
|
|
28013
28757
|
ui: { intent: "content" }
|
|
28014
28758
|
},
|
|
28759
|
+
createSiteOptionSelectField({
|
|
28760
|
+
id: "categoryId",
|
|
28761
|
+
label: "Category",
|
|
28762
|
+
description: "Show one category (with its heading and intro), or leave it on All categories to show everything grouped.",
|
|
28763
|
+
required: false,
|
|
28764
|
+
multiple: false,
|
|
28765
|
+
optionSource: "appointmentServiceCategories",
|
|
28766
|
+
ui: { intent: "content" }
|
|
28767
|
+
}),
|
|
28015
28768
|
sectionStylesField({
|
|
28016
28769
|
id: "_sectionStyles",
|
|
28017
28770
|
label: "Section styles",
|
|
@@ -28046,6 +28799,7 @@ const appointmentServicesBlockDefinition = {
|
|
|
28046
28799
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
28047
28800
|
el("appointment-services", {
|
|
28048
28801
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
28802
|
+
categoryId: { $bind: { from: "content.categoryId" } },
|
|
28049
28803
|
services: { $bind: { from: "data.services" } },
|
|
28050
28804
|
pathname: { $bind: { from: "$root.pathname" } },
|
|
28051
28805
|
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
@@ -35873,6 +36627,11 @@ const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
|
35873
36627
|
});
|
|
35874
36628
|
return z.NEVER;
|
|
35875
36629
|
});
|
|
36630
|
+
const mailingListSignupBlockSourceRefSchema = z.object({
|
|
36631
|
+
tag: z.literal("block_ref"),
|
|
36632
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
36633
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
36634
|
+
});
|
|
35876
36635
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
35877
36636
|
const newsletterSourceCommonSchema = z.object({
|
|
35878
36637
|
siteId: z.string().optional(),
|
|
@@ -35887,7 +36646,15 @@ const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
|
35887
36646
|
newsletterSourceCommonSchema.extend({
|
|
35888
36647
|
source: z.literal("block"),
|
|
35889
36648
|
blockId: z.string().nullable().optional(),
|
|
35890
|
-
|
|
36649
|
+
newsletterBlockSubmission: z.discriminatedUnion("tag", [
|
|
36650
|
+
z.object({
|
|
36651
|
+
tag: z.literal("ready"),
|
|
36652
|
+
sourceRef: mailingListSignupBlockSourceRefSchema
|
|
36653
|
+
}),
|
|
36654
|
+
z.object({ tag: z.literal("unpublished-form") }),
|
|
36655
|
+
z.object({ tag: z.literal("unpublished-settings") }),
|
|
36656
|
+
z.object({ tag: z.literal("unavailable") })
|
|
36657
|
+
])
|
|
35891
36658
|
}),
|
|
35892
36659
|
newsletterSourceCommonSchema.extend({
|
|
35893
36660
|
source: z.literal("signed-footer"),
|
|
@@ -35916,11 +36683,7 @@ const newsletterHydrationSchema = z.object({
|
|
|
35916
36683
|
target: z.discriminatedUnion("tag", [
|
|
35917
36684
|
z.object({
|
|
35918
36685
|
tag: z.literal("block-source"),
|
|
35919
|
-
sourceRef:
|
|
35920
|
-
tag: z.literal("block_ref"),
|
|
35921
|
-
blockId: mailingListSignupBlockIdSchema,
|
|
35922
|
-
contentVersionId: mailingListContentVersionIdSchema
|
|
35923
|
-
}).nullable()
|
|
36686
|
+
sourceRef: mailingListSignupBlockSourceRefSchema.nullable()
|
|
35924
36687
|
}),
|
|
35925
36688
|
z.object({
|
|
35926
36689
|
tag: z.literal("signed-footer-source"),
|
|
@@ -35929,7 +36692,11 @@ const newsletterHydrationSchema = z.object({
|
|
|
35929
36692
|
token: signedMailingListSourceTokenSchema
|
|
35930
36693
|
})
|
|
35931
36694
|
}),
|
|
35932
|
-
z.object({ tag: z.literal("preview") })
|
|
36695
|
+
z.object({ tag: z.literal("preview") }),
|
|
36696
|
+
z.object({
|
|
36697
|
+
tag: z.literal("unpublished-preview"),
|
|
36698
|
+
reason: z.enum(["unpublished-form", "unpublished-settings"])
|
|
36699
|
+
})
|
|
35933
36700
|
]),
|
|
35934
36701
|
setupRevision: z.number().int().positive().nullable(),
|
|
35935
36702
|
choiceProvider: z.enum([
|
|
@@ -35998,16 +36765,21 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35998
36765
|
});
|
|
35999
36766
|
function projectNewsletterFormHydrationTarget(source) {
|
|
36000
36767
|
switch (source.source) {
|
|
36001
|
-
case "block": {
|
|
36002
|
-
|
|
36003
|
-
|
|
36768
|
+
case "block": switch (source.newsletterBlockSubmission.tag) {
|
|
36769
|
+
case "unpublished-form":
|
|
36770
|
+
case "unpublished-settings": return {
|
|
36771
|
+
tag: "unpublished-preview",
|
|
36772
|
+
reason: source.newsletterBlockSubmission.tag
|
|
36773
|
+
};
|
|
36774
|
+
case "ready": return {
|
|
36004
36775
|
tag: "block-source",
|
|
36005
|
-
sourceRef
|
|
36776
|
+
sourceRef: source.newsletterBlockSubmission.sourceRef
|
|
36006
36777
|
};
|
|
36007
|
-
return {
|
|
36778
|
+
case "unavailable": return {
|
|
36008
36779
|
tag: "block-source",
|
|
36009
36780
|
sourceRef: null
|
|
36010
36781
|
};
|
|
36782
|
+
default: return assertNever$3(source.newsletterBlockSubmission);
|
|
36011
36783
|
}
|
|
36012
36784
|
case "signed-footer": return {
|
|
36013
36785
|
tag: "signed-footer-source",
|
|
@@ -38504,6 +39276,17 @@ function coerceToString(value) {
|
|
|
38504
39276
|
return "";
|
|
38505
39277
|
}
|
|
38506
39278
|
/**
|
|
39279
|
+
* The appointment-services catalogue (issue 1403) pairs the services with the
|
|
39280
|
+
* site's ordered categories. Both are needed to group them, so that response
|
|
39281
|
+
* is passed through whole; any other `{ services }` wrapper is unwrapped.
|
|
39282
|
+
*/
|
|
39283
|
+
function coerceServicesPayload(record) {
|
|
39284
|
+
return Array.isArray(record.services) && Array.isArray(record.categories) ? {
|
|
39285
|
+
services: record.services,
|
|
39286
|
+
categories: record.categories
|
|
39287
|
+
} : record.services;
|
|
39288
|
+
}
|
|
39289
|
+
/**
|
|
38507
39290
|
* Extract data from API response.
|
|
38508
39291
|
* Unwraps common response wrappers: { data }, { form }, { entries }, { services }, { teamMembers }
|
|
38509
39292
|
*
|
|
@@ -38518,7 +39301,7 @@ function coercePayload(payload) {
|
|
|
38518
39301
|
if ("data" in record && typeof record.data !== "function") return record.data;
|
|
38519
39302
|
if ("form" in record && typeof record.form !== "function") return record.form;
|
|
38520
39303
|
if ("entries" in record && typeof record.entries !== "function") return record.entries;
|
|
38521
|
-
if ("services" in record && typeof record.services !== "function") return record
|
|
39304
|
+
if ("services" in record && typeof record.services !== "function") return coerceServicesPayload(record);
|
|
38522
39305
|
if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
|
|
38523
39306
|
}
|
|
38524
39307
|
return payload;
|
|
@@ -39038,6 +39821,46 @@ z.object({ acceptExtraSiteCharge: z.boolean().optional() });
|
|
|
39038
39821
|
//#region ../surfaces/src/index.ts
|
|
39039
39822
|
const SURFACE_IDS = ["core", "macadamia"];
|
|
39040
39823
|
const DEFAULT_SURFACE_ID = "core";
|
|
39824
|
+
/**
|
|
39825
|
+
* Root hosts for each surface, keyed by deployment tier. The tier-keyed shape
|
|
39826
|
+
* makes it impossible to mis-order entries: callers like
|
|
39827
|
+
* `buildSurfaceAwareDashboardOriginForSurfaceId` look up by tier directly
|
|
39828
|
+
* rather than relying on positional alignment between arrays.
|
|
39829
|
+
*/
|
|
39830
|
+
const SURFACE_ROOT_HOSTS = {
|
|
39831
|
+
core: {
|
|
39832
|
+
local: "localhost",
|
|
39833
|
+
prod: "riverbankcms.com"
|
|
39834
|
+
},
|
|
39835
|
+
macadamia: {
|
|
39836
|
+
local: "macadamia.localhost",
|
|
39837
|
+
prod: "macadamia.studio"
|
|
39838
|
+
}
|
|
39839
|
+
};
|
|
39840
|
+
const SURFACE_SITE_ROOT_HOSTS = {
|
|
39841
|
+
core: {
|
|
39842
|
+
local: "localhost",
|
|
39843
|
+
prod: "riverbanksites.com"
|
|
39844
|
+
},
|
|
39845
|
+
macadamia: {
|
|
39846
|
+
local: "macadamia.localhost",
|
|
39847
|
+
prod: "macadamia.studio"
|
|
39848
|
+
}
|
|
39849
|
+
};
|
|
39850
|
+
const SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
|
|
39851
|
+
function surfaceHostTableValues(table) {
|
|
39852
|
+
return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
|
|
39853
|
+
}
|
|
39854
|
+
function siteSlugLabelUnderRoot(host, siteRootHost) {
|
|
39855
|
+
if (!host.endsWith(`.${siteRootHost}`)) return [];
|
|
39856
|
+
return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
|
|
39857
|
+
}
|
|
39858
|
+
function deriveSurfaceOwnedSiteSlugs() {
|
|
39859
|
+
const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
|
|
39860
|
+
const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
|
|
39861
|
+
return [...new Set(labels)].sort();
|
|
39862
|
+
}
|
|
39863
|
+
deriveSurfaceOwnedSiteSlugs();
|
|
39041
39864
|
[...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
|
|
39042
39865
|
//#endregion
|
|
39043
39866
|
//#region ../api/src/accountApi.ts
|
|
@@ -39420,7 +40243,12 @@ const appointmentSetupServiceDraftSchema = z.object({
|
|
|
39420
40243
|
venue: appointmentSetupVenueChoiceSchema,
|
|
39421
40244
|
timezone: z.string().trim().min(1).nullable(),
|
|
39422
40245
|
payment: appointmentSetupPaymentDraftSchema,
|
|
39423
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
40246
|
+
assignment: appointmentSetupServiceAssignmentDraftSchema,
|
|
40247
|
+
/**
|
|
40248
|
+
* The service's category, or null for "Other" (issue 1403). Omitted leaves
|
|
40249
|
+
* an existing service's category alone and puts a new one in "Other".
|
|
40250
|
+
*/
|
|
40251
|
+
categoryId: z.string().uuid().nullable().optional()
|
|
39424
40252
|
}).superRefine((service, ctx) => {
|
|
39425
40253
|
if (service.payment.kind !== "free" && (service.priceAmount === null || service.priceAmount <= 0)) ctx.addIssue({
|
|
39426
40254
|
code: "custom",
|
|
@@ -39661,6 +40489,7 @@ function parsePublicProductCategorySelector(value) {
|
|
|
39661
40489
|
productCategoryEntryId: record.productCategoryEntryId
|
|
39662
40490
|
};
|
|
39663
40491
|
}
|
|
40492
|
+
z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
|
|
39664
40493
|
//#endregion
|
|
39665
40494
|
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
39666
40495
|
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|