@riverbankcms/sdk 0.138.0 → 0.139.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -15
- package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-BDeenhi3.mjs} +4 -4
- package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-DSRhgjF5.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-D2K8GLUG.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-CL7wSnYu.mjs} +47 -27
- package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-BhDn-5ir.mjs} +7771 -5863
- package/dist/_dts/ai/src/contracts/proposals.d.ts +99 -330
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +9 -30
- package/dist/_dts/api/src/billing.d.ts +10 -3
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -1
- package/dist/_dts/api/src/endpoints.d.ts +182 -103
- package/dist/_dts/api/src/footerSettings.d.ts +2 -5
- package/dist/_dts/api/src/index.d.ts +11 -9
- package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
- package/dist/_dts/api/src/mailingListIntegration.d.ts +117 -0
- package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -26
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
- package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +6 -6
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +10 -24
- package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
- package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -10
- package/dist/_dts/api/src/sdkThemeWire.d.ts +2 -2
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +0 -29
- package/dist/_dts/api/src/siteOnboarding.d.ts +91 -228
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -9
- package/dist/_dts/api/src/siteSettings.d.ts +20 -1
- package/dist/_dts/api/src/types.d.ts +5 -4
- package/dist/_dts/billing/src/membership/index.d.ts +14 -7
- package/dist/_dts/billing/src/plans/display.d.ts +15 -0
- package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
- package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
- package/dist/_dts/billing/src/plans/types.d.ts +1 -7
- package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
- package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
- package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
- package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
- package/dist/_dts/blocks/src/client.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -16
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
- package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
- package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -24
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -12
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +51 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +56 -33
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +13 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +5 -12
- package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
- package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +1 -2
- package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
- package/dist/_dts/core/src/index.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +129 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +244 -0
- package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
- package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -1
- package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +529 -373
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +11 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
- package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
- package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
- package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
- package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
- package/dist/_dts/sdk/src/constants.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
- package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
- package/dist/_dts/sdk/src/next/index.d.ts +4 -4
- package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +33 -16
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
- package/dist/_dts/theme-core/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
- package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CZvTDtsK.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-D-DsLCMU.mjs} +1 -1
- package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-dWqgd5ZO.mjs} +443 -199
- package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-BMRa9IYp.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-D21W9kBZ.mjs} +1 -1
- package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-FxF_ta47.mjs} +1 -1
- package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-YnwW4TGw.mjs} +5 -5
- package/dist/client/bookings.mjs +43 -2
- package/dist/client/{carousel-DSmOx3ad.mjs → carousel-vng7fFT5.mjs} +1 -1
- package/dist/client/{cart-COWeOIUk.mjs → cart-DEPDsjNk.mjs} +3 -3
- package/dist/client/{checkout-CeysaIJK.mjs → checkout-CZRWu9rW.mjs} +3 -3
- package/dist/client/client.mjs +3331 -1407
- package/dist/client/{context-DBzX85Xc.mjs → context-DvU_WUmd.mjs} +4 -3
- package/dist/client/{dates-DCYhZBlW.mjs → dates-wnPMiRl5.mjs} +21 -3
- package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-BA3Q5L15.mjs} +80 -78
- package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-51wgR-1R.mjs} +3 -3
- package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-modaetpm.mjs} +4 -4
- package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-D8t2J3Kv.mjs} +3 -3
- package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-CYqtkCE_.mjs} +49 -9
- package/dist/client/{form-ClfpasVT.mjs → form-CBKXN5In.mjs} +2 -2
- package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-DylDqNrs.mjs} +2 -2
- package/dist/client/hooks.mjs +1259 -555
- package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CvWrG0vZ.mjs} +2 -2
- package/dist/client/{newsletterForm-IbrHjMxy.mjs → newsletterForm-Btwk70zw.mjs} +117 -38
- package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Uzw-GQ6Y.mjs} +1 -1
- package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-JLcUYKnd.mjs} +3 -3
- package/dist/client/{productList-OTdZu8sb.mjs → productList-FM0cbUzj.mjs} +3 -3
- package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-DYzafZb2.mjs} +592 -152
- package/dist/client/rendering/client.mjs +2259 -835
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3308 -1236
- package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-CvXszexS.mjs} +1 -1
- package/dist/client/{shop-CP4YbDL9.mjs → shop-BIcjvy5a.mjs} +6 -6
- package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BZQsy7xw.mjs} +5 -5
- package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-D5V7XAb5.mjs} +1 -1
- package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-DowkXevB.mjs} +3 -3
- package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-oMoTw_JE.mjs} +56 -9
- package/dist/preview-next/before-render.mjs +238 -111
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +238 -111
- package/dist/preview-next/middleware.mjs +238 -111
- package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-COUyAKaX.mjs} +238 -111
- package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-D4k2LSGF.mjs} +2 -2
- package/dist/{separator-BeqDLneQ.mjs → separator-UGtpag4Z.mjs} +1 -1
- package/dist/server/components.mjs +2697 -1023
- package/dist/server/config-validation.mjs +2424 -1720
- package/dist/server/config.mjs +2429 -1724
- package/dist/server/data.mjs +1164 -454
- package/dist/server/index.mjs +364 -280
- package/dist/server/navigation.mjs +16 -47
- package/dist/server/next.mjs +2915 -1380
- package/dist/server/page-converter.mjs +969 -522
- package/dist/server/prebuild.mjs +2 -3
- package/dist/server/rendering/server.mjs +2704 -1030
- package/dist/server/rendering.mjs +2742 -1063
- package/dist/server/routing.mjs +1386 -595
- package/dist/server/server.mjs +2878 -2324
- package/dist/server/theme-bridge.mjs +292 -24
- package/dist/styles/index.css +289 -25
- package/package.json +1 -1
- package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
- package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as textColorStyle } from "./colorStyles-CrxJrPjJ.mjs";
|
|
2
|
-
import { t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-
|
|
2
|
+
import { t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-DYzafZb2.mjs";
|
|
3
3
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
4
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
4
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-D21W9kBZ.mjs";
|
|
5
5
|
import "react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region ../core/src/location.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { D as clsx } from "./colorStyles-CrxJrPjJ.mjs";
|
|
3
|
-
import { Nt as assertNever,
|
|
4
|
-
import { n as useBlockApi, t as BlockApiProvider } from "./context-
|
|
3
|
+
import { Ht as parseMailingListVisitorSelection, Nt as assertNever, pn as assertNever$1, t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-DYzafZb2.mjs";
|
|
4
|
+
import { n as useBlockApi, t as BlockApiProvider } from "./context-DvU_WUmd.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
6
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
7
7
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
@@ -21,7 +21,10 @@ function newsletterFormSubmissionReducer(state, action) {
|
|
|
21
21
|
tag: "error",
|
|
22
22
|
error: action.error
|
|
23
23
|
};
|
|
24
|
-
case "succeeded": return {
|
|
24
|
+
case "succeeded": return {
|
|
25
|
+
tag: "success",
|
|
26
|
+
outcome: action.outcome
|
|
27
|
+
};
|
|
25
28
|
default: return assertNever(action);
|
|
26
29
|
}
|
|
27
30
|
}
|
|
@@ -50,6 +53,9 @@ function isNewsletterFormSubmitting(state) {
|
|
|
50
53
|
function isNewsletterFormSuccess(state) {
|
|
51
54
|
return state.tag === "success";
|
|
52
55
|
}
|
|
56
|
+
function getNewsletterSuccessOutcome(state) {
|
|
57
|
+
return state.tag === "success" ? state.outcome : null;
|
|
58
|
+
}
|
|
53
59
|
function getNewsletterSubmissionFieldError(state, fieldId) {
|
|
54
60
|
return state.tag === "error" ? getNewsletterFieldError(state.error, fieldId) : null;
|
|
55
61
|
}
|
|
@@ -71,34 +77,22 @@ function mapNewsletterFormFieldsToSubscriberInput(fields) {
|
|
|
71
77
|
}
|
|
72
78
|
function resolveNewsletterSubmitTarget(input) {
|
|
73
79
|
switch (input.tag) {
|
|
74
|
-
case "block-source": return input.
|
|
80
|
+
case "block-source": return input.sourceRef ? publishedSourceTarget(input.sourceRef) : {
|
|
81
|
+
tag: "unavailable",
|
|
82
|
+
reason: "missing_block_source"
|
|
83
|
+
};
|
|
84
|
+
case "signed-footer-source": return publishedSourceTarget(input.sourceRef);
|
|
85
|
+
case "preview": return {
|
|
75
86
|
tag: "unavailable",
|
|
76
87
|
reason: "missing_block_source"
|
|
77
88
|
};
|
|
78
|
-
case "signed-footer-source": return publishedDestinationTarget(input.destinationRef);
|
|
79
|
-
case "legacy-direct-list": {
|
|
80
|
-
const listId = input.listId?.trim();
|
|
81
|
-
return listId ? {
|
|
82
|
-
tag: "ready",
|
|
83
|
-
target: {
|
|
84
|
-
tag: "legacy_riverbank_list",
|
|
85
|
-
listId
|
|
86
|
-
}
|
|
87
|
-
} : {
|
|
88
|
-
tag: "unavailable",
|
|
89
|
-
reason: "missing_legacy_list"
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
89
|
default: return assertNever$1(input);
|
|
93
90
|
}
|
|
94
91
|
}
|
|
95
|
-
function
|
|
92
|
+
function publishedSourceTarget(sourceRef) {
|
|
96
93
|
return {
|
|
97
94
|
tag: "ready",
|
|
98
|
-
|
|
99
|
-
tag: "published_block_ref",
|
|
100
|
-
destinationRef
|
|
101
|
-
}
|
|
95
|
+
sourceRef
|
|
102
96
|
};
|
|
103
97
|
}
|
|
104
98
|
function readOptionalSubmittedText(value) {
|
|
@@ -116,7 +110,6 @@ function NewsletterFormClient({ render }) {
|
|
|
116
110
|
const [altchaSolution, setAltchaSolution] = useState(null);
|
|
117
111
|
const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
118
112
|
const fields = render.display.fields;
|
|
119
|
-
const parsedTags = typeof render.hydration.tags === "string" ? render.hydration.tags.split(/[;,]/g).map((t) => t.trim()).filter(Boolean) : [];
|
|
120
113
|
const handleSubmit = async (e) => {
|
|
121
114
|
e.preventDefault();
|
|
122
115
|
const formData = new FormData(e.currentTarget);
|
|
@@ -130,7 +123,10 @@ function NewsletterFormClient({ render }) {
|
|
|
130
123
|
website: formData.get("website")
|
|
131
124
|
});
|
|
132
125
|
if (submittedFields.honeypot) {
|
|
133
|
-
dispatchSubmission({
|
|
126
|
+
dispatchSubmission({
|
|
127
|
+
type: "succeeded",
|
|
128
|
+
outcome: "subscribed"
|
|
129
|
+
});
|
|
134
130
|
return;
|
|
135
131
|
}
|
|
136
132
|
if (!submittedFields.email) {
|
|
@@ -148,23 +144,46 @@ function NewsletterFormClient({ render }) {
|
|
|
148
144
|
});
|
|
149
145
|
return;
|
|
150
146
|
}
|
|
147
|
+
if (render.hydration.setupRevision === null || render.display.availability === "unavailable") {
|
|
148
|
+
dispatchSubmission({
|
|
149
|
+
type: "failed",
|
|
150
|
+
error: newsletterFormError("Mailing-list signup is not available right now.")
|
|
151
|
+
});
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const visitorSelection = readVisitorSelection(formData, render.hydration);
|
|
155
|
+
if (visitorSelection === null) {
|
|
156
|
+
dispatchSubmission({
|
|
157
|
+
type: "failed",
|
|
158
|
+
error: newsletterFormError("Choose at least one email topic.")
|
|
159
|
+
});
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
151
162
|
dispatchSubmission({ type: "submitted" });
|
|
152
163
|
try {
|
|
153
|
-
await api.subscribeNewsletter({
|
|
164
|
+
const result = await api.subscribeNewsletter({
|
|
154
165
|
email: submittedFields.email,
|
|
155
166
|
firstName: submittedFields.firstName,
|
|
156
167
|
lastName: submittedFields.lastName,
|
|
157
168
|
name: submittedFields.name,
|
|
158
169
|
company: submittedFields.company,
|
|
159
170
|
phone: submittedFields.phone,
|
|
160
|
-
|
|
161
|
-
|
|
171
|
+
sourceRef: submitTarget.sourceRef,
|
|
172
|
+
setupRevision: render.hydration.setupRevision,
|
|
173
|
+
...visitorSelection ? { visitorSelection } : {},
|
|
162
174
|
meta: {
|
|
163
175
|
honeypot: submittedFields.honeypot,
|
|
164
176
|
altchaSolution
|
|
165
177
|
}
|
|
166
178
|
});
|
|
167
|
-
|
|
179
|
+
if (result.tag === "subscribed" || result.tag === "confirmation_required") dispatchSubmission({
|
|
180
|
+
type: "succeeded",
|
|
181
|
+
outcome: result.tag
|
|
182
|
+
});
|
|
183
|
+
else dispatchSubmission({
|
|
184
|
+
type: "failed",
|
|
185
|
+
error: newsletterFormError(publicSignupError(result))
|
|
186
|
+
});
|
|
168
187
|
} catch (err) {
|
|
169
188
|
dispatchSubmission({
|
|
170
189
|
type: "failed",
|
|
@@ -212,15 +231,19 @@ function NewsletterFormClient({ render }) {
|
|
|
212
231
|
}, field.id);
|
|
213
232
|
};
|
|
214
233
|
const formError = getNewsletterSubmissionFormError(submissionState);
|
|
215
|
-
if (isNewsletterFormSuccess(submissionState))
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
234
|
+
if (isNewsletterFormSuccess(submissionState)) {
|
|
235
|
+
const outcome = getNewsletterSuccessOutcome(submissionState);
|
|
236
|
+
return /* @__PURE__ */ jsx("div", {
|
|
237
|
+
className: clsx("newsletter-form", "newsletter-success", render.display.className ?? void 0),
|
|
238
|
+
children: /* @__PURE__ */ jsx(FeedbackMessage, {
|
|
239
|
+
tone: "success",
|
|
240
|
+
className: "fb-success",
|
|
241
|
+
role: "status",
|
|
242
|
+
children: outcome === "confirmation_required" ? "Please check your inbox to confirm your signup." : "Thanks — you’re on the list."
|
|
243
|
+
})
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
if (render.display.availability === "unavailable") return /* @__PURE__ */ jsx(UnavailableNewsletterForm, { className: render.display.className });
|
|
224
247
|
return /* @__PURE__ */ jsxs("div", {
|
|
225
248
|
className: clsx("newsletter-form", render.display.className ?? void 0),
|
|
226
249
|
children: [formError && /* @__PURE__ */ jsx(FeedbackMessage, {
|
|
@@ -244,6 +267,18 @@ function NewsletterFormClient({ render }) {
|
|
|
244
267
|
className: "newsletter-form-fields",
|
|
245
268
|
children: [
|
|
246
269
|
fields.map(renderField),
|
|
270
|
+
render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsxs("fieldset", {
|
|
271
|
+
className: "newsletter-topics",
|
|
272
|
+
children: [/* @__PURE__ */ jsx("legend", { children: "What would you like to hear about?" }), render.display.choices.map((choice) => /* @__PURE__ */ jsxs("label", {
|
|
273
|
+
className: "newsletter-topic-choice",
|
|
274
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
275
|
+
type: "checkbox",
|
|
276
|
+
name: "mailingListChoice",
|
|
277
|
+
value: choice.id,
|
|
278
|
+
disabled: isNewsletterFormSubmitting(submissionState)
|
|
279
|
+
}), choice.label]
|
|
280
|
+
}, choice.id))]
|
|
281
|
+
}) : null,
|
|
247
282
|
showSpamProtection && /* @__PURE__ */ jsx("div", {
|
|
248
283
|
className: "newsletter-altcha",
|
|
249
284
|
children: /* @__PURE__ */ jsx(AltchaWidget, {
|
|
@@ -273,6 +308,50 @@ function NewsletterFormClient({ render }) {
|
|
|
273
308
|
})]
|
|
274
309
|
});
|
|
275
310
|
}
|
|
311
|
+
function UnavailableNewsletterForm({ className }) {
|
|
312
|
+
return /* @__PURE__ */ jsx("div", {
|
|
313
|
+
className: clsx("newsletter-form", className ?? void 0),
|
|
314
|
+
children: /* @__PURE__ */ jsx(FeedbackMessage, {
|
|
315
|
+
tone: "error",
|
|
316
|
+
className: "fb-error",
|
|
317
|
+
role: "status",
|
|
318
|
+
children: "Mailing-list signup is not available right now."
|
|
319
|
+
})
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
function readVisitorSelection(formData, hydration) {
|
|
323
|
+
if (hydration.choicePresentation !== "visitor_choice") return void 0;
|
|
324
|
+
const ids = formData.getAll("mailingListChoice").flatMap((value) => typeof value === "string" ? [value] : []);
|
|
325
|
+
if (ids.length === 0) return null;
|
|
326
|
+
const raw = hydration.choiceProvider === "native" ? {
|
|
327
|
+
provider: "native",
|
|
328
|
+
topicIds: ids
|
|
329
|
+
} : hydration.choiceProvider === "brevo" ? {
|
|
330
|
+
provider: "brevo",
|
|
331
|
+
listIds: ids.map((id) => /^\d+$/.test(id) ? Number(id) : id)
|
|
332
|
+
} : hydration.choiceProvider === "mailchimp" ? {
|
|
333
|
+
provider: "mailchimp",
|
|
334
|
+
interestIds: ids
|
|
335
|
+
} : null;
|
|
336
|
+
if (raw === null) return null;
|
|
337
|
+
const parsed = parseMailingListVisitorSelection(raw);
|
|
338
|
+
return parsed.ok ? parsed.value : null;
|
|
339
|
+
}
|
|
340
|
+
function publicSignupError(outcome) {
|
|
341
|
+
switch (outcome.tag) {
|
|
342
|
+
case "invalid_input": return "Please check your details and try again.";
|
|
343
|
+
case "unavailable": switch (outcome.reason) {
|
|
344
|
+
case "configuration_unavailable":
|
|
345
|
+
case "authentication_failed":
|
|
346
|
+
case "target_unavailable": return "Mailing-list signup is not available right now.";
|
|
347
|
+
case "stale_configuration": return "This signup form has changed. Refresh the page, then try again.";
|
|
348
|
+
case "subscriber_suppressed": return "This address cannot be added. Please contact the site if you would like help.";
|
|
349
|
+
case "rate_limited": return "There have been too many signup attempts. Please wait a moment and try again.";
|
|
350
|
+
case "temporarily_unavailable": return "We could not sign you up just now. Please try again shortly.";
|
|
351
|
+
}
|
|
352
|
+
case "uncertain": return "We could not confirm whether your signup completed. Please wait a moment, then try again.";
|
|
353
|
+
}
|
|
354
|
+
}
|
|
276
355
|
//#endregion
|
|
277
356
|
//#region src/rendering/islands/enhancers/newsletterForm.tsx
|
|
278
357
|
const decode = defineIslandPropsDecoder("newsletter-form");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { in as formatEventPricing, rn as formatBookingPriceDisplay, sn as publicEventPricingDisplay } from "./propsDecoder-DYzafZb2.mjs";
|
|
2
2
|
//#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
|
|
3
3
|
/**
|
|
4
4
|
* Compute remaining spots for an event from `availableSpots` with a fallback
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { r as ProductDetailController } from "./shop-commerce-
|
|
3
|
-
import { t as mountShopBlockIsland } from "./shopShared-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-DYzafZb2.mjs";
|
|
2
|
+
import { r as ProductDetailController } from "./shop-commerce-BZQsy7xw.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-DowkXevB.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { i as ProductListController } from "./shop-commerce-
|
|
3
|
-
import { t as mountShopBlockIsland } from "./shopShared-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-DYzafZb2.mjs";
|
|
2
|
+
import { i as ProductListController } from "./shop-commerce-BZQsy7xw.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-DowkXevB.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region ../blocks/src/system/runtime/nodes/product-list.client.tsx
|