@riverbankcms/sdk 0.145.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-O-V6Pl5a.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +280 -182
- package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +1330 -734
- package/dist/_dts/ai/src/contracts/proposals.d.ts +924 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +84 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -14
- 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 +20 -4
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
- package/dist/_dts/api/src/endpoints.d.ts +223 -88
- 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 +20 -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 +42 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -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/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 +2 -32
- 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 +7 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -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/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
- 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.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 -5
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -7
- package/dist/_dts/core/src/index.d.ts +1 -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 +3 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +49 -2
- 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 -8
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
- 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 +5 -1
- 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 +9 -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/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-BcNF9TjX.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-AMr-s5vw.mjs} +33 -52
- package/dist/client/bookings.mjs +48 -46
- package/dist/client/{carousel-CTdF6e0V.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-pGtyf_XU.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +1611 -815
- package/dist/client/{context-BFeY_Wbm.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-BhwVSxDg.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-Dodt8Y8t.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +489 -65
- package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-8Pu5K32g.mjs} +203 -101
- package/dist/client/{pricing-BOU0_Hai.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-D-mItx1n.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-Dcgsncxb.mjs} +40 -23
- package/dist/client/rendering/client.mjs +490 -457
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +1515 -628
- package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-CWs8EIdo.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-Dufw7N7o.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +368 -103
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +328 -103
- package/dist/preview-next/middleware.mjs +329 -103
- package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-h5IgbSp4.mjs} +353 -103
- package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-EvdCAn4V.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +1376 -331
- package/dist/server/config-validation.mjs +405 -27
- package/dist/server/config.mjs +405 -27
- package/dist/server/data.mjs +405 -27
- package/dist/server/index.mjs +370 -104
- package/dist/server/next.mjs +1430 -463
- package/dist/server/page-converter.mjs +36 -25
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1374 -331
- package/dist/server/rendering.mjs +1436 -364
- package/dist/server/routing.mjs +476 -43
- package/dist/server/server.mjs +504 -169
- package/dist/server/theme-bridge.mjs +467 -111
- package/dist/styles/index.css +186 -65
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as textColorStyle } from "./colorStyles-CuJBiS-1.mjs";
|
|
2
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
3
|
-
import { n as ThemedButtonLink } from "./ThemedButton-
|
|
2
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-Dcgsncxb.mjs";
|
|
3
|
+
import { n as ThemedButtonLink } from "./ThemedButton-CE5KYT6z.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
5
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-mHEJKrTs.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region ../core/src/location.ts
|
|
@@ -1,14 +1,159 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-
|
|
3
|
+
import { Vt as assertNever, Xt as parseMailingListVisitorSelection, g as newsletterBlockSubmissionMessage, h as NEWSLETTER_SIGNUPS_PAUSED_MESSAGE, t as defineIslandPropsDecoder, xn as assertNever$1 } from "./propsDecoder-Dcgsncxb.mjs";
|
|
4
|
+
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Bc8T6pCe.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
|
-
import { t as ThemedButton } from "./ThemedButton-
|
|
6
|
+
import { t as ThemedButton } from "./ThemedButton-CE5KYT6z.mjs";
|
|
7
7
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
8
8
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
9
9
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
10
10
|
import { useEffect, useReducer, useRef, useState } from "react";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
//#region ../blocks/src/system/runtime/nodes/newsletter-form.parts.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Newsletter form pieces shared by the SSR render and the hydrated island, so
|
|
15
|
+
* both produce the same markup.
|
|
16
|
+
*
|
|
17
|
+
* Labels are visually hidden: every field has a placeholder, and a visible
|
|
18
|
+
* "Email *" label over a single field reads like a generic form. Screen
|
|
19
|
+
* readers still get the label.
|
|
20
|
+
*/
|
|
21
|
+
const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
|
|
22
|
+
const inputIdFor = (field) => `newsletter_${field.id}`;
|
|
23
|
+
/** Splits the preset's fields into the email (joined with the button) and the rest. */
|
|
24
|
+
function partitionNewsletterFields(fields) {
|
|
25
|
+
const email = fields.find((field) => field.type === "email") ?? null;
|
|
26
|
+
return {
|
|
27
|
+
email,
|
|
28
|
+
extra: fields.filter((field) => field !== email)
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function NewsletterExtraField({ field, disabled, error }) {
|
|
32
|
+
const inputId = inputIdFor(field);
|
|
33
|
+
const errorId = `${inputId}-error`;
|
|
34
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
35
|
+
className: "fb-field newsletter-field",
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsx("label", {
|
|
38
|
+
htmlFor: inputId,
|
|
39
|
+
className: "rb-sr-only",
|
|
40
|
+
children: field.label
|
|
41
|
+
}),
|
|
42
|
+
/* @__PURE__ */ jsx("input", {
|
|
43
|
+
id: inputId,
|
|
44
|
+
name: field.id,
|
|
45
|
+
type: field.type,
|
|
46
|
+
required: field.required,
|
|
47
|
+
placeholder: field.placeholder ?? field.label,
|
|
48
|
+
className: "form-input",
|
|
49
|
+
disabled,
|
|
50
|
+
...getFieldValidationControlProps({
|
|
51
|
+
message: error,
|
|
52
|
+
messageId: errorId
|
|
53
|
+
})
|
|
54
|
+
}),
|
|
55
|
+
error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
56
|
+
id: errorId,
|
|
57
|
+
className: "fb-error",
|
|
58
|
+
children: error
|
|
59
|
+
}) : null
|
|
60
|
+
]
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/** The email field and submit button sharing one input-styled shell. */
|
|
64
|
+
function NewsletterEmailEntry({ field, buttonVariant, buttonLabel, disabled, error }) {
|
|
65
|
+
const inputId = inputIdFor(field);
|
|
66
|
+
const errorId = `${inputId}-error`;
|
|
67
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
68
|
+
className: "newsletter-entry",
|
|
69
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
70
|
+
className: "form-input-group newsletter-entry-group",
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ jsx("label", {
|
|
73
|
+
htmlFor: inputId,
|
|
74
|
+
className: "rb-sr-only",
|
|
75
|
+
children: field.label
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ jsx("input", {
|
|
78
|
+
id: inputId,
|
|
79
|
+
name: field.id,
|
|
80
|
+
type: "email",
|
|
81
|
+
required: field.required,
|
|
82
|
+
placeholder: field.placeholder ?? field.label,
|
|
83
|
+
className: "form-input-group-field",
|
|
84
|
+
autoComplete: "email",
|
|
85
|
+
disabled,
|
|
86
|
+
...getFieldValidationControlProps({
|
|
87
|
+
message: error,
|
|
88
|
+
messageId: errorId
|
|
89
|
+
})
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ jsx(ThemedButton, {
|
|
92
|
+
type: "submit",
|
|
93
|
+
variant: buttonVariant,
|
|
94
|
+
size: "md",
|
|
95
|
+
disabled,
|
|
96
|
+
label: buttonLabel
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
}), error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
100
|
+
id: errorId,
|
|
101
|
+
className: "fb-error",
|
|
102
|
+
children: error
|
|
103
|
+
}) : null]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The submit action: joined to the email field when the preset has one
|
|
108
|
+
* (every current preset does), otherwise a plain themed button.
|
|
109
|
+
*/
|
|
110
|
+
function NewsletterSubmitRow({ emailField, buttonVariant, buttonLabel, disabled, error }) {
|
|
111
|
+
if (emailField) return /* @__PURE__ */ jsx(NewsletterEmailEntry, {
|
|
112
|
+
field: emailField,
|
|
113
|
+
buttonVariant,
|
|
114
|
+
buttonLabel,
|
|
115
|
+
disabled,
|
|
116
|
+
error
|
|
117
|
+
});
|
|
118
|
+
return /* @__PURE__ */ jsx("div", {
|
|
119
|
+
className: "newsletter-submit",
|
|
120
|
+
children: /* @__PURE__ */ jsx(ThemedButton, {
|
|
121
|
+
type: "submit",
|
|
122
|
+
variant: buttonVariant,
|
|
123
|
+
size: "md",
|
|
124
|
+
disabled,
|
|
125
|
+
label: buttonLabel
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/** Visitor-chosen topics as toggle chips. Real checkboxes underneath. */
|
|
130
|
+
function NewsletterTopicChips({ choices, disabled, error }) {
|
|
131
|
+
const errorId = `newsletter_${TOPIC_CHOICE_FIELD_ID}-error`;
|
|
132
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("fieldset", {
|
|
133
|
+
className: "newsletter-topics",
|
|
134
|
+
"aria-describedby": error ? errorId : void 0,
|
|
135
|
+
children: [/* @__PURE__ */ jsx("legend", {
|
|
136
|
+
className: "newsletter-topics-legend",
|
|
137
|
+
children: "What would you like to hear about?"
|
|
138
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
139
|
+
className: "newsletter-topic-chips",
|
|
140
|
+
children: choices.map((choice) => /* @__PURE__ */ jsxs("label", {
|
|
141
|
+
className: "newsletter-topic-chip",
|
|
142
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
143
|
+
type: "checkbox",
|
|
144
|
+
name: TOPIC_CHOICE_FIELD_ID,
|
|
145
|
+
value: choice.id,
|
|
146
|
+
disabled
|
|
147
|
+
}), /* @__PURE__ */ jsx("span", { children: choice.label })]
|
|
148
|
+
}, choice.id))
|
|
149
|
+
})]
|
|
150
|
+
}), error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
151
|
+
id: errorId,
|
|
152
|
+
className: "fb-error",
|
|
153
|
+
children: error
|
|
154
|
+
}) : null] });
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
12
157
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.client.state.ts
|
|
13
158
|
const initialNewsletterFormSubmissionState = { tag: "idle" };
|
|
14
159
|
function newsletterFormSubmissionReducer(state, action) {
|
|
@@ -97,6 +242,10 @@ function resolveNewsletterSubmitTarget(input) {
|
|
|
97
242
|
tag: "unavailable",
|
|
98
243
|
reason: "preview_only_source"
|
|
99
244
|
};
|
|
245
|
+
case "unpublished-preview": return {
|
|
246
|
+
tag: "unavailable",
|
|
247
|
+
reason: "preview_only_source"
|
|
248
|
+
};
|
|
100
249
|
default: return assertNever$1(input);
|
|
101
250
|
}
|
|
102
251
|
}
|
|
@@ -116,6 +265,7 @@ function readSubmittedText(value) {
|
|
|
116
265
|
//#endregion
|
|
117
266
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.client.tsx
|
|
118
267
|
function NewsletterFormClient({ render }) {
|
|
268
|
+
const submissionMessage = newsletterBlockSubmissionMessage(render.hydration.target);
|
|
119
269
|
const api = useBlockApi();
|
|
120
270
|
const [submissionState, dispatchSubmission] = useReducer(newsletterFormSubmissionReducer, initialNewsletterFormSubmissionState);
|
|
121
271
|
const [altchaSolution, setAltchaSolution] = useState(null);
|
|
@@ -125,7 +275,6 @@ function NewsletterFormClient({ render }) {
|
|
|
125
275
|
if (succeeded) successRef.current?.focus();
|
|
126
276
|
}, [succeeded]);
|
|
127
277
|
const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
128
|
-
const fields = render.display.fields;
|
|
129
278
|
const handleSubmit = async (e) => {
|
|
130
279
|
e.preventDefault();
|
|
131
280
|
const formData = new FormData(e.currentTarget);
|
|
@@ -157,7 +306,7 @@ function NewsletterFormClient({ render }) {
|
|
|
157
306
|
reportNewsletterSignupRefusal(submitTarget.reason, { target: render.hydration.target });
|
|
158
307
|
dispatchSubmission({
|
|
159
308
|
type: "failed",
|
|
160
|
-
error: newsletterFormError(
|
|
309
|
+
error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
|
|
161
310
|
});
|
|
162
311
|
return;
|
|
163
312
|
}
|
|
@@ -165,7 +314,7 @@ function NewsletterFormClient({ render }) {
|
|
|
165
314
|
reportNewsletterSignupRefusal("setup_not_configured");
|
|
166
315
|
dispatchSubmission({
|
|
167
316
|
type: "failed",
|
|
168
|
-
error: newsletterFormError(
|
|
317
|
+
error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
|
|
169
318
|
});
|
|
170
319
|
return;
|
|
171
320
|
}
|
|
@@ -173,7 +322,7 @@ function NewsletterFormClient({ render }) {
|
|
|
173
322
|
reportNewsletterSignupRefusal("destination_unavailable", { setupRevision: render.hydration.setupRevision });
|
|
174
323
|
dispatchSubmission({
|
|
175
324
|
type: "failed",
|
|
176
|
-
error: newsletterFormError(
|
|
325
|
+
error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
|
|
177
326
|
});
|
|
178
327
|
return;
|
|
179
328
|
}
|
|
@@ -248,43 +397,14 @@ function NewsletterFormClient({ render }) {
|
|
|
248
397
|
autoComplete: "off",
|
|
249
398
|
"aria-hidden": "true"
|
|
250
399
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsx(NewsletterTopicChoices, {
|
|
260
|
-
choices: render.display.choices,
|
|
261
|
-
submitting,
|
|
262
|
-
error: getNewsletterSubmissionFieldError(submissionState, TOPIC_CHOICE_FIELD_ID)
|
|
263
|
-
}) : null,
|
|
264
|
-
showSpamProtection && /* @__PURE__ */ jsx("div", {
|
|
265
|
-
className: "newsletter-altcha",
|
|
266
|
-
children: /* @__PURE__ */ jsx(AltchaWidget, {
|
|
267
|
-
challengeUrl: getChallengeUrl(),
|
|
268
|
-
onSolutionChange: setAltchaSolution
|
|
269
|
-
})
|
|
270
|
-
}),
|
|
271
|
-
formError && /* @__PURE__ */ jsx(FeedbackMessage, {
|
|
272
|
-
tone: "error",
|
|
273
|
-
className: "fb-error",
|
|
274
|
-
role: "alert",
|
|
275
|
-
children: formError
|
|
276
|
-
}),
|
|
277
|
-
/* @__PURE__ */ jsx("div", {
|
|
278
|
-
className: "newsletter-submit",
|
|
279
|
-
children: /* @__PURE__ */ jsx(ThemedButton, {
|
|
280
|
-
type: "submit",
|
|
281
|
-
variant: render.display.buttonVariant,
|
|
282
|
-
size: "md",
|
|
283
|
-
disabled: submitting,
|
|
284
|
-
label: submitting ? "Subscribing..." : render.display.buttonLabel
|
|
285
|
-
})
|
|
286
|
-
})
|
|
287
|
-
]
|
|
400
|
+
/* @__PURE__ */ jsx(NewsletterFormFields, {
|
|
401
|
+
render,
|
|
402
|
+
submissionState,
|
|
403
|
+
submitting,
|
|
404
|
+
submissionMessage,
|
|
405
|
+
formError,
|
|
406
|
+
showSpamProtection,
|
|
407
|
+
onAltchaSolution: setAltchaSolution
|
|
288
408
|
}),
|
|
289
409
|
render.display.privacyNote && /* @__PURE__ */ jsx("p", {
|
|
290
410
|
className: "newsletter-privacy-note",
|
|
@@ -294,67 +414,52 @@ function NewsletterFormClient({ render }) {
|
|
|
294
414
|
})
|
|
295
415
|
});
|
|
296
416
|
}
|
|
297
|
-
function
|
|
298
|
-
const
|
|
299
|
-
const
|
|
417
|
+
function NewsletterFormFields({ render, submissionState, submitting, submissionMessage, formError, showSpamProtection, onAltchaSolution }) {
|
|
418
|
+
const { email: emailField, extra: extraFields } = partitionNewsletterFields(render.display.fields);
|
|
419
|
+
const fieldError = (id) => getNewsletterSubmissionFieldError(submissionState, id);
|
|
300
420
|
return /* @__PURE__ */ jsxs("div", {
|
|
301
|
-
className: "
|
|
421
|
+
className: "newsletter-form-fields",
|
|
302
422
|
children: [
|
|
303
|
-
/* @__PURE__ */
|
|
304
|
-
|
|
305
|
-
className: "form-label",
|
|
306
|
-
children: [field.label, field.required && /* @__PURE__ */ jsx("span", {
|
|
307
|
-
className: "newsletter-required",
|
|
308
|
-
"aria-hidden": "true",
|
|
309
|
-
children: "*"
|
|
310
|
-
})]
|
|
311
|
-
}),
|
|
312
|
-
/* @__PURE__ */ jsx("input", {
|
|
313
|
-
id: inputId,
|
|
314
|
-
name: field.id,
|
|
315
|
-
type: field.type,
|
|
316
|
-
required: field.required,
|
|
317
|
-
placeholder: field.placeholder,
|
|
318
|
-
className: "form-input",
|
|
319
|
-
autoComplete: field.type === "email" ? "email" : void 0,
|
|
423
|
+
render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsx(NewsletterTopicChips, {
|
|
424
|
+
choices: render.display.choices,
|
|
320
425
|
disabled: submitting,
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
426
|
+
error: fieldError(TOPIC_CHOICE_FIELD_ID)
|
|
427
|
+
}) : null,
|
|
428
|
+
extraFields.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
429
|
+
className: "newsletter-extra-fields",
|
|
430
|
+
children: extraFields.map((field) => /* @__PURE__ */ jsx(NewsletterExtraField, {
|
|
431
|
+
field,
|
|
432
|
+
disabled: submitting,
|
|
433
|
+
error: fieldError(field.id)
|
|
434
|
+
}, field.id))
|
|
435
|
+
}) : null,
|
|
436
|
+
showSpamProtection && /* @__PURE__ */ jsx("div", {
|
|
437
|
+
className: "newsletter-altcha",
|
|
438
|
+
children: /* @__PURE__ */ jsx(AltchaWidget, {
|
|
439
|
+
challengeUrl: getChallengeUrl(),
|
|
440
|
+
onSolutionChange: onAltchaSolution
|
|
324
441
|
})
|
|
325
442
|
}),
|
|
326
|
-
|
|
327
|
-
|
|
443
|
+
formError && /* @__PURE__ */ jsx(FeedbackMessage, {
|
|
444
|
+
tone: "error",
|
|
328
445
|
className: "fb-error",
|
|
329
|
-
|
|
446
|
+
role: "alert",
|
|
447
|
+
children: formError
|
|
448
|
+
}),
|
|
449
|
+
/* @__PURE__ */ jsx(NewsletterSubmitRow, {
|
|
450
|
+
emailField,
|
|
451
|
+
buttonVariant: render.display.buttonVariant,
|
|
452
|
+
buttonLabel: submitting ? "Subscribing..." : render.display.buttonLabel,
|
|
453
|
+
disabled: submitting || submissionMessage !== null,
|
|
454
|
+
error: emailField ? fieldError(emailField.id) : null
|
|
455
|
+
}),
|
|
456
|
+
submissionMessage && /* @__PURE__ */ jsx("p", {
|
|
457
|
+
role: "status",
|
|
458
|
+
children: submissionMessage
|
|
330
459
|
})
|
|
331
460
|
]
|
|
332
461
|
});
|
|
333
462
|
}
|
|
334
|
-
function NewsletterTopicChoices({ choices, submitting, error }) {
|
|
335
|
-
const errorId = `newsletter_${TOPIC_CHOICE_FIELD_ID}-error`;
|
|
336
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("fieldset", {
|
|
337
|
-
className: "fb-fieldset newsletter-topics",
|
|
338
|
-
"aria-describedby": error ? errorId : void 0,
|
|
339
|
-
children: [/* @__PURE__ */ jsx("legend", {
|
|
340
|
-
className: "form-label",
|
|
341
|
-
children: "What would you like to hear about?"
|
|
342
|
-
}), choices.map((choice) => /* @__PURE__ */ jsxs("label", {
|
|
343
|
-
className: "fb-inline form-label newsletter-topic-choice",
|
|
344
|
-
children: [/* @__PURE__ */ jsx("input", {
|
|
345
|
-
type: "checkbox",
|
|
346
|
-
name: TOPIC_CHOICE_FIELD_ID,
|
|
347
|
-
value: choice.id,
|
|
348
|
-
className: "form-checkbox",
|
|
349
|
-
disabled: submitting
|
|
350
|
-
}), /* @__PURE__ */ jsx("span", { children: choice.label })]
|
|
351
|
-
}, choice.id))]
|
|
352
|
-
}), error && /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
353
|
-
id: errorId,
|
|
354
|
-
className: "fb-error",
|
|
355
|
-
children: error
|
|
356
|
-
})] });
|
|
357
|
-
}
|
|
358
463
|
function UnavailableNewsletterForm({ className }) {
|
|
359
464
|
return /* @__PURE__ */ jsx("div", {
|
|
360
465
|
className: clsx("newsletter-form", className ?? void 0),
|
|
@@ -362,13 +467,10 @@ function UnavailableNewsletterForm({ className }) {
|
|
|
362
467
|
tone: "error",
|
|
363
468
|
className: "fb-error",
|
|
364
469
|
role: "status",
|
|
365
|
-
children:
|
|
470
|
+
children: NEWSLETTER_SIGNUPS_PAUSED_MESSAGE
|
|
366
471
|
})
|
|
367
472
|
});
|
|
368
473
|
}
|
|
369
|
-
const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
|
|
370
|
-
/** The site's setup is broken or missing: nothing the visitor does will help. */
|
|
371
|
-
const SIGNUPS_PAUSED_MESSAGE = "We can’t accept signups right now. Please try again later.";
|
|
372
474
|
/** The provider did not answer in time or at all: worth another go shortly. */
|
|
373
475
|
const RETRY_SHORTLY_MESSAGE = "We couldn’t confirm your signup. Please try again in a little while.";
|
|
374
476
|
const TOO_MANY_ATTEMPTS_MESSAGE = "There have been too many signup attempts. Please wait a moment and try again.";
|
|
@@ -388,7 +490,7 @@ function transportFailureMessage(err) {
|
|
|
388
490
|
function visitorSelectionError(selection) {
|
|
389
491
|
switch (selection.tag) {
|
|
390
492
|
case "nothing_chosen": return newsletterFieldError(TOPIC_CHOICE_FIELD_ID, "Choose at least one email topic.");
|
|
391
|
-
case "unusable": return newsletterFormError(
|
|
493
|
+
case "unusable": return newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE);
|
|
392
494
|
case "not_offered":
|
|
393
495
|
case "chosen": return null;
|
|
394
496
|
}
|
|
@@ -420,7 +522,7 @@ function publicSignupError(outcome) {
|
|
|
420
522
|
case "unavailable": switch (outcome.reason) {
|
|
421
523
|
case "configuration_unavailable":
|
|
422
524
|
case "authentication_failed":
|
|
423
|
-
case "target_unavailable": return
|
|
525
|
+
case "target_unavailable": return NEWSLETTER_SIGNUPS_PAUSED_MESSAGE;
|
|
424
526
|
case "stale_configuration": return "This signup form has changed. Refresh the page, then try again.";
|
|
425
527
|
case "rate_limited": return TOO_MANY_ATTEMPTS_MESSAGE;
|
|
426
528
|
case "temporarily_unavailable": return RETRY_SHORTLY_MESSAGE;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dn as formatBookingPriceDisplay, fn as formatEventPricing, hn as publicEventPricingDisplay } from "./propsDecoder-Dcgsncxb.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-Dcgsncxb.mjs";
|
|
2
|
+
import { r as ProductDetailController } from "./shop-commerce-B88zmWWo.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-cuaONpkJ.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-Dcgsncxb.mjs";
|
|
2
|
+
import { i as ProductListController } from "./shop-commerce-B88zmWWo.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-cuaONpkJ.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
|
|
@@ -1107,15 +1107,6 @@ function parseMailingListContentVersionId(value) {
|
|
|
1107
1107
|
const parsed = parseContentVersionId(value);
|
|
1108
1108
|
return parsed.ok ? parsed.value : null;
|
|
1109
1109
|
}
|
|
1110
|
-
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
1111
|
-
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
1112
|
-
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
1113
|
-
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
1114
|
-
tag: "block_ref",
|
|
1115
|
-
blockId: parsedBlockId,
|
|
1116
|
-
contentVersionId: parsedContentVersionId
|
|
1117
|
-
} : null;
|
|
1118
|
-
}
|
|
1119
1110
|
//#endregion
|
|
1120
1111
|
//#region ../core/src/whole-series-run-schedule.ts
|
|
1121
1112
|
/**
|
|
@@ -6721,6 +6712,7 @@ const publicEventLoaderQuerySchemaShape = {
|
|
|
6721
6712
|
seriesSlug: z.string().optional(),
|
|
6722
6713
|
includeOccurrenceId: z.string().optional(),
|
|
6723
6714
|
readIntent: z.string().optional(),
|
|
6715
|
+
detailAdmission: z.string().optional(),
|
|
6724
6716
|
detailLevel: z.string().optional(),
|
|
6725
6717
|
readProfile: z.string().optional()
|
|
6726
6718
|
};
|
|
@@ -6887,11 +6879,11 @@ const publicEventBookingAvailabilitySchema = z.discriminatedUnion("kind", [z.obj
|
|
|
6887
6879
|
"series_archived",
|
|
6888
6880
|
"parent_archived",
|
|
6889
6881
|
"parent_inconsistent",
|
|
6890
|
-
"not_public",
|
|
6891
6882
|
"already_started",
|
|
6892
6883
|
"enrollment_closed"
|
|
6893
6884
|
])
|
|
6894
6885
|
})]);
|
|
6886
|
+
const publicEventBookingClosedDetailSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("opensSoon") }), z.object({ kind: z.literal("paused") })]);
|
|
6895
6887
|
const publicRunSessionSchema = z.object({
|
|
6896
6888
|
occurrenceId: z.string(),
|
|
6897
6889
|
startsAt: z.string(),
|
|
@@ -6936,6 +6928,7 @@ const publicEventBaseSchema = z.object({
|
|
|
6936
6928
|
destination: publicEventDestinationSchema,
|
|
6937
6929
|
requiresRegistration: z.boolean(),
|
|
6938
6930
|
bookingAvailability: publicEventBookingAvailabilitySchema,
|
|
6931
|
+
bookingClosedDetail: publicEventBookingClosedDetailSchema.optional(),
|
|
6939
6932
|
deliveryMode: z.enum([
|
|
6940
6933
|
"in_person",
|
|
6941
6934
|
"online",
|
|
@@ -11605,6 +11598,12 @@ function withOptionalPhone(fields, includePhone) {
|
|
|
11605
11598
|
}
|
|
11606
11599
|
//#endregion
|
|
11607
11600
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
11601
|
+
const NEWSLETTER_SIGNUPS_PAUSED_MESSAGE = "We can’t accept signups right now. Please try again later.";
|
|
11602
|
+
function newsletterBlockSubmissionMessage(target) {
|
|
11603
|
+
if (target.tag === "block-source") return target.sourceRef ? null : NEWSLETTER_SIGNUPS_PAUSED_MESSAGE;
|
|
11604
|
+
if (target.tag !== "unpublished-preview") return null;
|
|
11605
|
+
return target.reason === "unpublished-form" ? "Publish this form to test a signup here." : "This form's signup settings are unpublished. Publish it to test a signup here.";
|
|
11606
|
+
}
|
|
11608
11607
|
const newsletterButtonVariantSchema = blockButtonRoleSchema;
|
|
11609
11608
|
const mailingListContextSchema = z.unknown().transform((value, ctx) => {
|
|
11610
11609
|
const parsed = parseMailingListRuntimeContext(value);
|
|
@@ -11645,6 +11644,11 @@ const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
|
11645
11644
|
});
|
|
11646
11645
|
return z.NEVER;
|
|
11647
11646
|
});
|
|
11647
|
+
const mailingListSignupBlockSourceRefSchema = z.object({
|
|
11648
|
+
tag: z.literal("block_ref"),
|
|
11649
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
11650
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
11651
|
+
});
|
|
11648
11652
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
11649
11653
|
const newsletterSourceCommonSchema = z.object({
|
|
11650
11654
|
siteId: z.string().optional(),
|
|
@@ -11659,7 +11663,15 @@ const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
|
11659
11663
|
newsletterSourceCommonSchema.extend({
|
|
11660
11664
|
source: z.literal("block"),
|
|
11661
11665
|
blockId: z.string().nullable().optional(),
|
|
11662
|
-
|
|
11666
|
+
newsletterBlockSubmission: z.discriminatedUnion("tag", [
|
|
11667
|
+
z.object({
|
|
11668
|
+
tag: z.literal("ready"),
|
|
11669
|
+
sourceRef: mailingListSignupBlockSourceRefSchema
|
|
11670
|
+
}),
|
|
11671
|
+
z.object({ tag: z.literal("unpublished-form") }),
|
|
11672
|
+
z.object({ tag: z.literal("unpublished-settings") }),
|
|
11673
|
+
z.object({ tag: z.literal("unavailable") })
|
|
11674
|
+
])
|
|
11663
11675
|
}),
|
|
11664
11676
|
newsletterSourceCommonSchema.extend({
|
|
11665
11677
|
source: z.literal("signed-footer"),
|
|
@@ -11688,11 +11700,7 @@ const newsletterHydrationSchema = z.object({
|
|
|
11688
11700
|
target: z.discriminatedUnion("tag", [
|
|
11689
11701
|
z.object({
|
|
11690
11702
|
tag: z.literal("block-source"),
|
|
11691
|
-
sourceRef:
|
|
11692
|
-
tag: z.literal("block_ref"),
|
|
11693
|
-
blockId: mailingListSignupBlockIdSchema,
|
|
11694
|
-
contentVersionId: mailingListContentVersionIdSchema
|
|
11695
|
-
}).nullable()
|
|
11703
|
+
sourceRef: mailingListSignupBlockSourceRefSchema.nullable()
|
|
11696
11704
|
}),
|
|
11697
11705
|
z.object({
|
|
11698
11706
|
tag: z.literal("signed-footer-source"),
|
|
@@ -11701,7 +11709,11 @@ const newsletterHydrationSchema = z.object({
|
|
|
11701
11709
|
token: signedMailingListSourceTokenSchema
|
|
11702
11710
|
})
|
|
11703
11711
|
}),
|
|
11704
|
-
z.object({ tag: z.literal("preview") })
|
|
11712
|
+
z.object({ tag: z.literal("preview") }),
|
|
11713
|
+
z.object({
|
|
11714
|
+
tag: z.literal("unpublished-preview"),
|
|
11715
|
+
reason: z.enum(["unpublished-form", "unpublished-settings"])
|
|
11716
|
+
})
|
|
11705
11717
|
]),
|
|
11706
11718
|
setupRevision: z.number().int().positive().nullable(),
|
|
11707
11719
|
choiceProvider: z.enum([
|
|
@@ -11771,16 +11783,21 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
11771
11783
|
});
|
|
11772
11784
|
function projectNewsletterFormHydrationTarget(source) {
|
|
11773
11785
|
switch (source.source) {
|
|
11774
|
-
case "block": {
|
|
11775
|
-
|
|
11776
|
-
|
|
11786
|
+
case "block": switch (source.newsletterBlockSubmission.tag) {
|
|
11787
|
+
case "unpublished-form":
|
|
11788
|
+
case "unpublished-settings": return {
|
|
11789
|
+
tag: "unpublished-preview",
|
|
11790
|
+
reason: source.newsletterBlockSubmission.tag
|
|
11791
|
+
};
|
|
11792
|
+
case "ready": return {
|
|
11777
11793
|
tag: "block-source",
|
|
11778
|
-
sourceRef
|
|
11794
|
+
sourceRef: source.newsletterBlockSubmission.sourceRef
|
|
11779
11795
|
};
|
|
11780
|
-
return {
|
|
11796
|
+
case "unavailable": return {
|
|
11781
11797
|
tag: "block-source",
|
|
11782
11798
|
sourceRef: null
|
|
11783
11799
|
};
|
|
11800
|
+
default: return assertNever$2(source.newsletterBlockSubmission);
|
|
11784
11801
|
}
|
|
11785
11802
|
case "signed-footer": return {
|
|
11786
11803
|
tag: "signed-footer-source",
|
|
@@ -12772,4 +12789,4 @@ function defineIslandPropsDecoder(kind) {
|
|
|
12772
12789
|
};
|
|
12773
12790
|
}
|
|
12774
12791
|
//#endregion
|
|
12775
|
-
export {
|
|
12792
|
+
export { getContainerClass as $, formatBookingDateParts as $t, buildEventCalendarListingRender as A, resolveAppointmentCheckoutVerificationState as At, calendarWindowBounds as B, isRecord$5 as Bt, resolveDiscountContext as C, formatBookingSubmissionPreparationError as Ct, WIZARD_STEPS as D, isBookingServiceSlidingAmountInRange as Dt, toRegistrationRequestSubject as E, getBookingSuccessMessage as Et, resolveSpacing as F, projectSelectedAppointmentConsentIntoForm as Ft, createHostedBlockApiConfig as G, okWith as Gt, calendarWindowPageSchema as H, clearWorkflowFeedback as Ht, calendarMonthDate as I, resolveSelectedAppointmentConsent as It, getEventRuntimeFiltersKey as J, CANCELLED_SESSION_STATUS as Jt, getBlockApiReadStage as K, reportWorkflowError as Kt, calendarMonthKey as L, BOOKING_FORM_DATA_RESERVED_KEYS as Lt, resolveEventRegistrationScopedEvents as M, resolveBookingSiteId as Mt, SEMANTIC_SPACING_VALUES as N, resolveDefaultBookingServiceId as Nt, getStepNumber as O, parseBookingCurrencyInputToCents as Ot, isSemanticSpacing as P, toSelectedCollectionOptionKind as Pt, getCardOrientation as Q, formatBookingDate as Qt, calendarPageResponseError as R, isBookingRequirementConsentFieldId as Rt, findPreSelectedEvent as S, formatBookingCentsAsCurrencyInput as St, resolveRegistrationTarget as T, getBookingServiceSlidingScale as Tt, planCalendarMonthRanges as U, err as Ut, calendarWindowMonths as V, assertNever$1 as Vt, resolveCalendarReadProfile as W, ok as Wt, normalizeCsvString as X, parseMailingListVisitorSelection as Xt, normalizeCsvIds as Y, resolveWholeSeriesBookingPhase as Yt, normalizeOptionalId as Z, addLocalScheduleDays as Zt, buildEventRegistrationDisplayFromScopedEvents as _, publicEventPricingStrategy as _n, themeButtonSizeClassName as _t, buildProductDetailDisplay as a, getLocalScheduleDate as an, getDayOfWeek as at, toWholeSeriesRegistrationEvents as b, parseCurrencyCode as bn, logger as bt, EMPTY_COMMERCE_CART_STATE as c, toBookingTimeZone as cn, isSameCalendarDay as ct, deriveCommerceCheckoutState as d, formatBookingPriceDisplay as dn, resolveRuntimeEventDestination as dt, formatBookingDateTime as en, MONTH_NAMES as et, parseStoredCommerceCartState as f, formatEventPricing as fn, groupPublicEventsByRun as ft, newsletterBlockSubmissionMessage as g, publicEventPricingOptions as gn, resolveTokenOrCssColorValue as gt, NEWSLETTER_SIGNUPS_PAUSED_MESSAGE as h, publicEventPricingDisplay as hn, resolveOnColorForThemeToken as ht, buildProductCardDisplay as i, getBookingLocalDateKey as in, formatDateKey as it, staticHeaderChromeRuntime as j, resolveBookingPaymentStep as jt, getWizardStepsForContext as k, prepareBookingSubmission as kt, buildPassCartItem as l, toScheduledBookingDateRange as ln, isToday as lt, reduceCommerceCart as m, publicEventPricingCurrency as mn, isCssColorLiteral as mt, getShopDisplayForItems as n, formatBookingTime as nn, addMonths as nt, formatCommercePrice as o, parseBookingLocalDate as on, getOrderedDayNames as ot, productItemKey as p, isPublicEventPricingOptionDisplayable as pn, boxBackgroundSchema as pt, buildEventRuntimeFilters as q, reportWorkflowSuccess as qt, buildCartDisplay as r, formatLocalScheduleDate as rn, buildCalendarViewport as rt, formatInterval as s, resolveBookingTimeZoneId as sn, getWeekCalendarDays as st, defineIslandPropsDecoder as t, formatBookingInstant as tn, addDays as tt, buildProductCartItem as u, toScheduledBookingDateTime as un, shiftCalendarAnchorDate as ut, getRegistrationStartAt as v, publicEventPricingType as vn, themeButtonVariantClassNames as vt, resolveEventRequiresPayment as w, getBookingRedirectStateFromLocation as wt, findEventByOccurrenceId as x, assertNever$2 as xn, deriveBookingFormViewState as xt, toRegistrationEvents as y, formatCurrencyAmount as yn, normalizeCardRole as yt, calendarQueryKey as z, RichTextDocSchema as zt };
|