@riverbankcms/sdk 0.88.0 → 0.90.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 +27 -4
- package/dist/{PreviewEditorSidebar-EVRS3C7T.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
- package/dist/{PreviewEditorUI-54WD4IGE.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
- package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
- package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
- package/dist/_dts/api/src/bookings.d.ts +3 -1
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +7 -6
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
- package/dist/_dts/api/src/request.d.ts +21 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteMembers.d.ts +6 -1
- package/dist/_dts/api/src/types.d.ts +4 -2
- package/dist/_dts/api/src/url.d.ts +6 -3
- package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
- package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
- package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +18 -5
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +61 -0
- package/dist/_dts/core/src/branded.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/money-input.d.ts +18 -0
- package/dist/_dts/core/src/site-route-target.d.ts +40 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +209 -2
- package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
- package/dist/_dts/sdk/src/client/types.d.ts +26 -1
- package/dist/_dts/sdk/src/components.d.ts +1 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
- package/dist/_dts/sdk/src/index.d.ts +3 -1
- package/dist/_dts/sdk/src/next/types.d.ts +8 -11
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +18 -0
- package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
- package/dist/_dts/theme-core/src/schema.d.ts +18 -18
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
- package/dist/{chunk-ER4UIW4X.mjs → chunk-AEOYWPE4.mjs} +91 -55
- package/dist/{chunk-O4LVYUVH.mjs → chunk-BOQXMCSP.mjs} +147 -101
- package/dist/{chunk-HVOBXA3Y.mjs → chunk-GSPFFUVB.mjs} +2 -2
- package/dist/{chunk-7KOO7RPP.mjs → chunk-PMBB6MQ7.mjs} +2273 -1113
- package/dist/{chunk-K3JWH6HE.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
- package/dist/{chunk-YDMBIIS5.mjs → chunk-UG7I7S7W.mjs} +1 -1
- package/dist/cli/index.mjs +1564 -546
- package/dist/cli/init-docs/content/cli-reference.md +6 -1
- package/dist/cli/init-docs/content/content-management.md +27 -0
- package/dist/client/{accordion-PT5CGW5N.mjs → accordion-GXQNWQ6O.mjs} +2 -2
- package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-STLUJ36H.mjs} +206 -335
- package/dist/client/bookings.mjs +821 -413
- package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-CVRN6EPP.mjs} +4 -3
- package/dist/client/{cart-ND5IK4A6.mjs → cart-IYIBA5CL.mjs} +8 -8
- package/dist/client/{checkout-EYUSGAY7.mjs → checkout-O3BGM4GS.mjs} +8 -8
- package/dist/client/chunk-4RTFGHZN.mjs +433 -0
- package/dist/client/{chunk-DIRW2LNG.mjs → chunk-6DPXDOIL.mjs} +336 -225
- package/dist/client/chunk-6N7YRNYU.mjs +183 -0
- package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
- package/dist/client/{chunk-S4G65LGR.mjs → chunk-D3ETC2SU.mjs} +1 -1
- package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-DAS5CIER.mjs} +460 -157
- package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
- package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
- package/dist/client/{chunk-BL66UWGD.mjs → chunk-MFPKS6QS.mjs} +13 -16
- package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-NBFRJ5NB.mjs} +157 -5
- package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VFHZLZAC.mjs} +1 -1
- package/dist/client/{chunk-GOFO7HRH.mjs → chunk-WHZQDPBZ.mjs} +19 -1
- package/dist/client/{chunk-MHBEWDT7.mjs → chunk-Z62JYS5O.mjs} +122 -50
- package/dist/client/client.mjs +5979 -5198
- package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-2D3ACMJR.mjs} +20 -58
- package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-QY4UZUFF.mjs} +11 -11
- package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-RRCDKJC2.mjs} +11 -11
- package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-YO335BUT.mjs} +11 -11
- package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-PXA6GFQ3.mjs} +11 -11
- package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-2ZHEDDXO.mjs} +11 -11
- package/dist/client/{form-NI6YOG6S.mjs → form-ZS6KX4U2.mjs} +7 -7
- package/dist/client/{headerSection-SDYGII36.mjs → headerSection-QK5SLIIB.mjs} +3 -3
- package/dist/client/hooks.mjs +1102 -1029
- package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-GFNIUD2X.mjs} +3 -3
- package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-PGLTTCUG.mjs} +61 -25
- package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-OPBE5ZPI.mjs} +8 -8
- package/dist/client/{productList-7YA5KXZQ.mjs → productList-NI72Q62Z.mjs} +8 -8
- package/dist/client/rendering/client.mjs +4390 -4245
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3327 -3181
- package/dist/client/{shop-AIMUMZYC.mjs → shop-3ZQPEWYI.mjs} +8 -8
- package/dist/client/spam-protection.mjs +4 -5
- package/dist/preview-next/before-render.mjs +20 -2
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +18 -0
- package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
- package/dist/server/components.mjs +2580 -2783
- package/dist/server/config-validation.mjs +1334 -1261
- package/dist/server/config.mjs +1334 -1261
- package/dist/server/data.mjs +1102 -1029
- package/dist/server/index.mjs +1097 -476
- package/dist/server/navigation.mjs +20 -30
- package/dist/server/next.mjs +3282 -2847
- package/dist/server/page-converter.mjs +1009 -946
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2580 -2783
- package/dist/server/rendering.mjs +2586 -2789
- package/dist/server/routing.mjs +1440 -1053
- package/dist/server/server.mjs +1886 -1153
- package/dist/server/theme-bridge.mjs +34 -5
- package/dist/styles/index.css +26 -0
- package/package.json +3 -2
- package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
- package/dist/client/chunk-H4MHEXYS.mjs +0 -184
- package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
- /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { LeafletStaticMap } from './chunk-
|
|
1
|
+
import { LeafletStaticMap } from './chunk-D3ETC2SU.mjs';
|
|
2
2
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
3
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
4
|
-
import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-
|
|
3
|
+
import { defineIslandPropsDecoder } from './chunk-6DPXDOIL.mjs';
|
|
4
|
+
import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-25W2EQUN.mjs';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
// ../blocks/src/system/runtime/nodes/location-map.shared.ts
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
3
|
-
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-
|
|
4
|
-
import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-
|
|
3
|
+
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-HIHOQGIP.mjs';
|
|
4
|
+
import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-WHZQDPBZ.mjs';
|
|
5
5
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
6
|
-
import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-
|
|
7
|
-
import { clsx_default } from './chunk-
|
|
8
|
-
import { useState } from 'react';
|
|
6
|
+
import { defineIslandPropsDecoder, themeButtonClassName, assertNever } from './chunk-6DPXDOIL.mjs';
|
|
7
|
+
import { clsx_default } from './chunk-25W2EQUN.mjs';
|
|
8
|
+
import { useReducer, useState } from 'react';
|
|
9
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
11
|
// ../blocks/src/system/runtime/nodes/newsletter-form.client.state.ts
|
|
12
|
+
var initialNewsletterFormSubmissionState = {
|
|
13
|
+
tag: "idle"
|
|
14
|
+
};
|
|
15
|
+
function newsletterFormSubmissionReducer(state, action) {
|
|
16
|
+
switch (action.type) {
|
|
17
|
+
case "submitted":
|
|
18
|
+
if (state.tag === "success") return state;
|
|
19
|
+
return { tag: "submitting" };
|
|
20
|
+
case "failed":
|
|
21
|
+
if (state.tag === "success") return state;
|
|
22
|
+
return { tag: "error", error: action.error };
|
|
23
|
+
case "succeeded":
|
|
24
|
+
return { tag: "success" };
|
|
25
|
+
default:
|
|
26
|
+
return assertNever(action);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
12
29
|
function newsletterFieldError(fieldId, message) {
|
|
13
30
|
return { kind: "field", fieldId, message };
|
|
14
31
|
}
|
|
@@ -21,6 +38,18 @@ function getNewsletterFieldError(error, fieldId) {
|
|
|
21
38
|
function getNewsletterFormError(error) {
|
|
22
39
|
return error?.kind === "form" ? error.message : null;
|
|
23
40
|
}
|
|
41
|
+
function isNewsletterFormSubmitting(state) {
|
|
42
|
+
return state.tag === "submitting";
|
|
43
|
+
}
|
|
44
|
+
function isNewsletterFormSuccess(state) {
|
|
45
|
+
return state.tag === "success";
|
|
46
|
+
}
|
|
47
|
+
function getNewsletterSubmissionFieldError(state, fieldId) {
|
|
48
|
+
return state.tag === "error" ? getNewsletterFieldError(state.error, fieldId) : null;
|
|
49
|
+
}
|
|
50
|
+
function getNewsletterSubmissionFormError(state) {
|
|
51
|
+
return state.tag === "error" ? getNewsletterFormError(state.error) : null;
|
|
52
|
+
}
|
|
24
53
|
|
|
25
54
|
// ../blocks/src/system/runtime/nodes/newsletter-form.submission.ts
|
|
26
55
|
function mapNewsletterFormFieldsToSubscriberInput(fields) {
|
|
@@ -68,16 +97,16 @@ function NewsletterFormClient({
|
|
|
68
97
|
render
|
|
69
98
|
}) {
|
|
70
99
|
const api = useBlockApi();
|
|
71
|
-
const [
|
|
72
|
-
|
|
73
|
-
|
|
100
|
+
const [submissionState, dispatchSubmission] = useReducer(
|
|
101
|
+
newsletterFormSubmissionReducer,
|
|
102
|
+
initialNewsletterFormSubmissionState
|
|
103
|
+
);
|
|
74
104
|
const [altchaSolution, setAltchaSolution] = useState(null);
|
|
75
105
|
const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
76
106
|
const fields = render.display.fields;
|
|
77
107
|
const parsedTags = typeof render.hydration.tags === "string" ? render.hydration.tags.split(/[;,]/g).map((t) => t.trim()).filter(Boolean) : [];
|
|
78
108
|
const handleSubmit = async (e) => {
|
|
79
109
|
e.preventDefault();
|
|
80
|
-
setError(null);
|
|
81
110
|
const formData = new FormData(e.currentTarget);
|
|
82
111
|
const submittedFields = mapNewsletterFormFieldsToSubscriberInput({
|
|
83
112
|
email: formData.get("email"),
|
|
@@ -89,11 +118,14 @@ function NewsletterFormClient({
|
|
|
89
118
|
website: formData.get("website")
|
|
90
119
|
});
|
|
91
120
|
if (submittedFields.honeypot) {
|
|
92
|
-
|
|
121
|
+
dispatchSubmission({ type: "succeeded" });
|
|
93
122
|
return;
|
|
94
123
|
}
|
|
95
124
|
if (!submittedFields.email) {
|
|
96
|
-
|
|
125
|
+
dispatchSubmission({
|
|
126
|
+
type: "failed",
|
|
127
|
+
error: newsletterFieldError("email", "Email is required")
|
|
128
|
+
});
|
|
97
129
|
return;
|
|
98
130
|
}
|
|
99
131
|
const submitTarget = resolveNewsletterSubmitTarget({
|
|
@@ -101,10 +133,13 @@ function NewsletterFormClient({
|
|
|
101
133
|
destinationRef: render.hydration.destinationRef
|
|
102
134
|
});
|
|
103
135
|
if (submitTarget.tag === "unavailable") {
|
|
104
|
-
|
|
136
|
+
dispatchSubmission({
|
|
137
|
+
type: "failed",
|
|
138
|
+
error: newsletterFormError("Newsletter list is not configured")
|
|
139
|
+
});
|
|
105
140
|
return;
|
|
106
141
|
}
|
|
107
|
-
|
|
142
|
+
dispatchSubmission({ type: "submitted" });
|
|
108
143
|
try {
|
|
109
144
|
await api.subscribeNewsletter({
|
|
110
145
|
email: submittedFields.email,
|
|
@@ -120,18 +155,19 @@ function NewsletterFormClient({
|
|
|
120
155
|
altchaSolution
|
|
121
156
|
}
|
|
122
157
|
});
|
|
123
|
-
|
|
158
|
+
dispatchSubmission({ type: "succeeded" });
|
|
124
159
|
} catch (err) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
160
|
+
dispatchSubmission({
|
|
161
|
+
type: "failed",
|
|
162
|
+
error: newsletterFormError(
|
|
163
|
+
err instanceof Error ? err.message : "Subscription failed. Please try again."
|
|
164
|
+
)
|
|
165
|
+
});
|
|
130
166
|
}
|
|
131
167
|
};
|
|
132
168
|
const renderField = (field) => {
|
|
133
169
|
const inputId = `newsletter_${field.id}`;
|
|
134
|
-
const fieldError =
|
|
170
|
+
const fieldError = getNewsletterSubmissionFieldError(submissionState, field.id);
|
|
135
171
|
const fieldErrorId = `${inputId}-error`;
|
|
136
172
|
const validationProps = getFieldValidationControlProps({
|
|
137
173
|
message: fieldError,
|
|
@@ -152,15 +188,15 @@ function NewsletterFormClient({
|
|
|
152
188
|
placeholder: field.placeholder,
|
|
153
189
|
className: "form-input",
|
|
154
190
|
autoComplete: field.type === "email" ? "email" : void 0,
|
|
155
|
-
disabled:
|
|
191
|
+
disabled: isNewsletterFormSubmitting(submissionState),
|
|
156
192
|
...validationProps
|
|
157
193
|
}
|
|
158
194
|
),
|
|
159
195
|
fieldError && /* @__PURE__ */ jsx(FieldValidationMessage, { id: fieldErrorId, className: "fb-error", children: fieldError })
|
|
160
196
|
] }, field.id);
|
|
161
197
|
};
|
|
162
|
-
const formError =
|
|
163
|
-
if (
|
|
198
|
+
const formError = getNewsletterSubmissionFormError(submissionState);
|
|
199
|
+
if (isNewsletterFormSuccess(submissionState)) {
|
|
164
200
|
return /* @__PURE__ */ jsx("div", { className: clsx_default("newsletter-form", "newsletter-success", render.display.className ?? void 0), children: /* @__PURE__ */ jsx(FeedbackMessage, { tone: "success", className: "fb-success", role: "status", children: render.display.successMessage?.trim() || "Thanks for subscribing!" }) });
|
|
165
201
|
}
|
|
166
202
|
return /* @__PURE__ */ jsxs("div", { className: clsx_default("newsletter-form", render.display.className ?? void 0), children: [
|
|
@@ -191,8 +227,8 @@ function NewsletterFormClient({
|
|
|
191
227
|
{
|
|
192
228
|
type: "submit",
|
|
193
229
|
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
194
|
-
disabled:
|
|
195
|
-
children:
|
|
230
|
+
disabled: isNewsletterFormSubmitting(submissionState),
|
|
231
|
+
children: isNewsletterFormSubmitting(submissionState) ? "Subscribing..." : render.display.buttonLabel
|
|
196
232
|
}
|
|
197
233
|
) })
|
|
198
234
|
] }),
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { mountShopBlockIsland, ProductDetailClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, ProductDetailClient } from './chunk-MFPKS6QS.mjs';
|
|
2
|
+
import './chunk-VFHZLZAC.mjs';
|
|
3
|
+
import './chunk-7DH35FGA.mjs';
|
|
4
|
+
import './chunk-6N7YRNYU.mjs';
|
|
5
5
|
import './chunk-L4J5Y62O.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-NBFRJ5NB.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-WBQG7VJA.mjs';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-WHZQDPBZ.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
12
|
-
import './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-6DPXDOIL.mjs';
|
|
12
|
+
import './chunk-25W2EQUN.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/productDetail.tsx
|
|
15
15
|
var decode = defineIslandPropsDecoder("product-detail");
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { mountShopBlockIsland, ProductListClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, ProductListClient } from './chunk-MFPKS6QS.mjs';
|
|
2
|
+
import './chunk-VFHZLZAC.mjs';
|
|
3
|
+
import './chunk-7DH35FGA.mjs';
|
|
4
|
+
import './chunk-6N7YRNYU.mjs';
|
|
5
5
|
import './chunk-L4J5Y62O.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-NBFRJ5NB.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-WBQG7VJA.mjs';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-WHZQDPBZ.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
12
|
-
import './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-6DPXDOIL.mjs';
|
|
12
|
+
import './chunk-25W2EQUN.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/productList.tsx
|
|
15
15
|
var decode = defineIslandPropsDecoder("product-list");
|