@riverbankcms/sdk 0.144.0 → 0.146.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +32 -24
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +316 -134
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +7 -1
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
- package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +8 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +12 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -1
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +10 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +3222 -1612
- package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -148
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
- package/dist/client/rendering/client.mjs +1389 -722
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3136 -1400
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +500 -165
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +460 -165
- package/dist/preview-next/middleware.mjs +461 -165
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +3088 -1307
- package/dist/server/config-validation.mjs +927 -109
- package/dist/server/config.mjs +927 -109
- package/dist/server/data.mjs +939 -110
- package/dist/server/index.mjs +513 -169
- package/dist/server/next.mjs +2874 -1195
- package/dist/server/page-converter.mjs +420 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3071 -1289
- package/dist/server/rendering.mjs +3169 -1350
- package/dist/server/routing.mjs +1085 -159
- package/dist/server/server.mjs +1042 -291
- package/dist/server/theme-bridge.mjs +1658 -137
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +186 -65
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { H as calendarWindowPageSchema } from "./propsDecoder-Dcgsncxb.mjs";
|
|
3
3
|
import { createContext, useContext, useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region ../blocks/src/system/runtime/api/deduplication.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-
|
|
1
|
+
import { $t as formatBookingDateParts, Qt as formatBookingDate, cn as toBookingTimeZone, dt as resolveRuntimeEventDestination, ln as toScheduledBookingDateRange, nn as formatBookingTime, un as toScheduledBookingDateTime, xn as assertNever } from "./propsDecoder-Dcgsncxb.mjs";
|
|
2
|
+
import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-HHx3IgBz.mjs";
|
|
3
3
|
//#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
|
|
4
4
|
/**
|
|
5
5
|
* Booking call-to-action resolution for events: where an event links to and
|
|
@@ -16,7 +16,6 @@ function closedEventBookingLabel(reason) {
|
|
|
16
16
|
case "series_archived":
|
|
17
17
|
case "parent_archived":
|
|
18
18
|
case "parent_inconsistent":
|
|
19
|
-
case "not_public":
|
|
20
19
|
case "already_started":
|
|
21
20
|
case "enrollment_closed": return "Registration closed";
|
|
22
21
|
default: return assertNever(reason);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-
|
|
5
|
-
import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-
|
|
6
|
-
import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-
|
|
7
|
-
import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-
|
|
8
|
-
import { t as BlockApiProvider } from "./context-
|
|
9
|
-
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-
|
|
3
|
+
import { A as buildEventCalendarListingRender, W as resolveCalendarReadProfile, at as getDayOfWeek, ct as isSameCalendarDay, et as MONTH_NAMES, it as formatDateKey, lt as isToday, ot as getOrderedDayNames, q as buildEventRuntimeFilters, st as getWeekCalendarDays, t as defineIslandPropsDecoder, tt as addDays } from "./propsDecoder-Dcgsncxb.mjs";
|
|
4
|
+
import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-Bukew6Gb.mjs";
|
|
5
|
+
import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-HHx3IgBz.mjs";
|
|
6
|
+
import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-DUsCEzLb.mjs";
|
|
7
|
+
import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-BdRjVbhH.mjs";
|
|
8
|
+
import { t as BlockApiProvider } from "./context-Bc8T6pCe.mjs";
|
|
9
|
+
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-CE5KYT6z.mjs";
|
|
10
10
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
11
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
12
|
-
import { n as EventListingController } from "./EventListing.client-
|
|
11
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-CWLP7wu3.mjs";
|
|
12
|
+
import { n as EventListingController } from "./EventListing.client-DBxC6xOU.mjs";
|
|
13
13
|
import { useEffect, useId, useMemo, useState } from "react";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
//#region ../calendar/src/lane-packing.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { n as EventCombinedIslandClient } from "./EventCombined.client-
|
|
3
|
-
import { t as BlockApiProvider } from "./context-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-Dcgsncxb.mjs";
|
|
2
|
+
import { n as EventCombinedIslandClient } from "./EventCombined.client-BdRjVbhH.mjs";
|
|
3
|
+
import { t as BlockApiProvider } from "./context-Bc8T6pCe.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
5
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-CWLP7wu3.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/rendering/islands/enhancers/eventCombined.tsx
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-
|
|
3
|
-
import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-
|
|
1
|
+
import { Jt as CANCELLED_SESSION_STATUS, M as resolveEventRegistrationScopedEvents, Yt as resolveWholeSeriesBookingPhase, cn as toBookingTimeZone, dn as formatBookingPriceDisplay, hn as publicEventPricingDisplay, in as getBookingLocalDateKey, mn as publicEventPricingCurrency, pn as isPublicEventPricingOptionDisplayable, t as defineIslandPropsDecoder, un as toScheduledBookingDateTime, vn as publicEventPricingType, yn as formatCurrencyAmount } from "./propsDecoder-Dcgsncxb.mjs";
|
|
2
|
+
import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-HHx3IgBz.mjs";
|
|
3
|
+
import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-DUsCEzLb.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 ../blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { t as BlockApiProvider } from "./context-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-Dcgsncxb.mjs";
|
|
2
|
+
import { t as BlockApiProvider } from "./context-Bc8T6pCe.mjs";
|
|
3
3
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
4
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
5
|
-
import { t as EventListingClient } from "./EventListing.client-
|
|
4
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-CWLP7wu3.mjs";
|
|
5
|
+
import { t as EventListingClient } from "./EventListing.client-DBxC6xOU.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/rendering/islands/enhancers/eventListing.tsx
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as resolveBookingPaymentDueNowCents, i as buildBookingPaymentSelectionViewModel, n as StepIndicator$1, o as formatPrice, r as usePolling, t as BookingConsentAgreement } from "./BookingConsentAgreement-
|
|
3
|
-
import {
|
|
4
|
-
import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-
|
|
5
|
-
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-
|
|
2
|
+
import { a as resolveBookingPaymentDueNowCents, i as buildBookingPaymentSelectionViewModel, n as StepIndicator$1, o as formatPrice, r as usePolling, t as BookingConsentAgreement } from "./BookingConsentAgreement-BQKL045f.mjs";
|
|
3
|
+
import { C as resolveDiscountContext, D as WIZARD_STEPS, E as toRegistrationRequestSubject, M as resolveEventRegistrationScopedEvents, O as getStepNumber, Qt as formatBookingDate, S as findPreSelectedEvent, T as resolveRegistrationTarget, Vt as assertNever, _ as buildEventRegistrationDisplayFromScopedEvents, _n as publicEventPricingStrategy, b as toWholeSeriesRegistrationEvents, bn as parseCurrencyCode, cn as toBookingTimeZone, en as formatBookingDateTime, ft as groupPublicEventsByRun, gn as publicEventPricingOptions, k as getWizardStepsForContext, mn as publicEventPricingCurrency, nn as formatBookingTime, t as defineIslandPropsDecoder, un as toScheduledBookingDateTime, v as getRegistrationStartAt, vn as publicEventPricingType, w as resolveEventRequiresPayment, x as findEventByOccurrenceId, y as toRegistrationEvents, yn as formatCurrencyAmount } from "./propsDecoder-Dcgsncxb.mjs";
|
|
4
|
+
import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-HHx3IgBz.mjs";
|
|
5
|
+
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Bc8T6pCe.mjs";
|
|
6
6
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
7
|
-
import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-
|
|
8
|
-
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-
|
|
9
|
-
import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-
|
|
7
|
+
import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-BNgaEUpo.mjs";
|
|
8
|
+
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CsOtjFY7.mjs";
|
|
9
|
+
import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-CE5KYT6z.mjs";
|
|
10
10
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
11
11
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
12
12
|
import { t as buildCheckoutReturnUrls } from "./checkoutUrls-CW3-78uu.mjs";
|
|
13
|
+
import { t as CheckboxChoice } from "./CheckboxChoice--W2n6yKs.mjs";
|
|
13
14
|
import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
|
|
14
15
|
import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
|
|
15
16
|
import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
|
|
16
17
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
17
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
18
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-CWLP7wu3.mjs";
|
|
18
19
|
import { t as createLucideIcon } from "./createLucideIcon-PaLVMov4.mjs";
|
|
19
20
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
20
21
|
import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -4550,26 +4551,24 @@ function EventConsentField({ consent, error, formData, idBase, onChange }) {
|
|
|
4550
4551
|
title: consent.title,
|
|
4551
4552
|
titleId: `${idBase}-consent-title`
|
|
4552
4553
|
}),
|
|
4553
|
-
/* @__PURE__ */
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
consentAccepted: event.target.checked
|
|
4563
|
-
}),
|
|
4564
|
-
type: "checkbox"
|
|
4565
|
-
}),
|
|
4554
|
+
/* @__PURE__ */ jsx(CheckboxChoice, {
|
|
4555
|
+
"aria-describedby": error ? errorId : void 0,
|
|
4556
|
+
"aria-invalid": error ? true : void 0,
|
|
4557
|
+
checked: formData.consentAccepted === true,
|
|
4558
|
+
onChange: (event) => onChange({
|
|
4559
|
+
...formData,
|
|
4560
|
+
consentAccepted: event.target.checked
|
|
4561
|
+
}),
|
|
4562
|
+
label: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4566
4563
|
consent.checkboxLabel,
|
|
4567
4564
|
" ",
|
|
4568
4565
|
/* @__PURE__ */ jsx("span", {
|
|
4569
4566
|
className: "er-required",
|
|
4570
4567
|
children: "*"
|
|
4571
4568
|
})
|
|
4572
|
-
]
|
|
4569
|
+
] }),
|
|
4570
|
+
presentation: "tile",
|
|
4571
|
+
className: "er-consent-check"
|
|
4573
4572
|
}),
|
|
4574
4573
|
error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
4575
4574
|
id: errorId,
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { n as useBlockApi, t as BlockApiProvider } from "./context-
|
|
3
|
+
import { Ut as err, Vt as assertNever, Wt as ok, t as defineIslandPropsDecoder } from "./propsDecoder-Dcgsncxb.mjs";
|
|
4
|
+
import { n as useBlockApi, 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
|
+
import { t as CheckboxChoice } from "./CheckboxChoice--W2n6yKs.mjs";
|
|
8
9
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
9
10
|
import { useReducer, useRef, useState } from "react";
|
|
10
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -87,6 +88,136 @@ function useFormSubmission() {
|
|
|
87
88
|
};
|
|
88
89
|
}
|
|
89
90
|
//#endregion
|
|
91
|
+
//#region ../blocks/src/system/runtime/nodes/form.fields.tsx
|
|
92
|
+
function fieldBasics(field) {
|
|
93
|
+
return {
|
|
94
|
+
inputId: `f_${field.id}`,
|
|
95
|
+
label: String(field.label ?? field.id),
|
|
96
|
+
required: Boolean(field.required)
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function textInputType(type) {
|
|
100
|
+
return type === "email" || type === "url" || type === "tel" || type === "number" ? type : "text";
|
|
101
|
+
}
|
|
102
|
+
function textInputConstraints(field, inputType) {
|
|
103
|
+
if (inputType === "number") return {
|
|
104
|
+
...typeof field.min === "number" ? { min: field.min } : {},
|
|
105
|
+
...typeof field.max === "number" ? { max: field.max } : {}
|
|
106
|
+
};
|
|
107
|
+
return {
|
|
108
|
+
...typeof field.minLength === "number" ? { minLength: field.minLength } : {},
|
|
109
|
+
...typeof field.maxLength === "number" ? { maxLength: field.maxLength } : {},
|
|
110
|
+
...typeof field.pattern === "string" && field.pattern ? { pattern: field.pattern } : {}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function LabelledField({ basics, children }) {
|
|
114
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
115
|
+
className: "fb-field",
|
|
116
|
+
children: [/* @__PURE__ */ jsx("label", {
|
|
117
|
+
htmlFor: basics.inputId,
|
|
118
|
+
className: "form-label",
|
|
119
|
+
children: basics.label
|
|
120
|
+
}), children]
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function TextareaField({ field }) {
|
|
124
|
+
const basics = fieldBasics(field);
|
|
125
|
+
return /* @__PURE__ */ jsx(LabelledField, {
|
|
126
|
+
basics,
|
|
127
|
+
children: /* @__PURE__ */ jsx("textarea", {
|
|
128
|
+
id: basics.inputId,
|
|
129
|
+
name: field.id,
|
|
130
|
+
required: basics.required,
|
|
131
|
+
placeholder: field.placeholder,
|
|
132
|
+
rows: field.rows,
|
|
133
|
+
className: "form-textarea"
|
|
134
|
+
})
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
function SelectField({ field }) {
|
|
138
|
+
const basics = fieldBasics(field);
|
|
139
|
+
const options = field.options ?? [];
|
|
140
|
+
const multiple = Boolean(field.multiple);
|
|
141
|
+
return /* @__PURE__ */ jsx(LabelledField, {
|
|
142
|
+
basics,
|
|
143
|
+
children: /* @__PURE__ */ jsxs("select", {
|
|
144
|
+
id: basics.inputId,
|
|
145
|
+
name: field.id,
|
|
146
|
+
multiple,
|
|
147
|
+
required: basics.required,
|
|
148
|
+
className: "form-select",
|
|
149
|
+
children: [!multiple && /* @__PURE__ */ jsx("option", {
|
|
150
|
+
value: "",
|
|
151
|
+
children: "Select…"
|
|
152
|
+
}), options.map((opt) => /* @__PURE__ */ jsx("option", {
|
|
153
|
+
value: opt.value,
|
|
154
|
+
children: opt.label
|
|
155
|
+
}, opt.value))]
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
function RadioField({ field }) {
|
|
160
|
+
const basics = fieldBasics(field);
|
|
161
|
+
const options = field.options ?? [];
|
|
162
|
+
return /* @__PURE__ */ jsxs("fieldset", {
|
|
163
|
+
className: "fb-fieldset",
|
|
164
|
+
children: [/* @__PURE__ */ jsx("legend", {
|
|
165
|
+
className: "form-label",
|
|
166
|
+
children: basics.label
|
|
167
|
+
}), options.map((opt) => /* @__PURE__ */ jsxs("label", {
|
|
168
|
+
className: "form-check",
|
|
169
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
170
|
+
type: "radio",
|
|
171
|
+
name: field.id,
|
|
172
|
+
value: opt.value,
|
|
173
|
+
required: basics.required,
|
|
174
|
+
className: "form-radio"
|
|
175
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
176
|
+
className: "form-check-label",
|
|
177
|
+
children: opt.label
|
|
178
|
+
})]
|
|
179
|
+
}, opt.value))]
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function TextInputField({ field, type }) {
|
|
183
|
+
const basics = fieldBasics(field);
|
|
184
|
+
const inputType = textInputType(type);
|
|
185
|
+
return /* @__PURE__ */ jsx(LabelledField, {
|
|
186
|
+
basics,
|
|
187
|
+
children: /* @__PURE__ */ jsx("input", {
|
|
188
|
+
id: basics.inputId,
|
|
189
|
+
name: field.id,
|
|
190
|
+
type: inputType,
|
|
191
|
+
required: basics.required,
|
|
192
|
+
placeholder: field.placeholder,
|
|
193
|
+
...textInputConstraints(field, inputType),
|
|
194
|
+
className: "form-input"
|
|
195
|
+
})
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
function FormFieldControl({ field }) {
|
|
199
|
+
const type = String(field.type ?? "text");
|
|
200
|
+
switch (type) {
|
|
201
|
+
case "textarea": return /* @__PURE__ */ jsx(TextareaField, { field });
|
|
202
|
+
case "select": return /* @__PURE__ */ jsx(SelectField, { field });
|
|
203
|
+
case "radio": return /* @__PURE__ */ jsx(RadioField, { field });
|
|
204
|
+
case "checkbox":
|
|
205
|
+
case "consent": {
|
|
206
|
+
const basics = fieldBasics(field);
|
|
207
|
+
return /* @__PURE__ */ jsx(CheckboxChoice, {
|
|
208
|
+
name: field.id,
|
|
209
|
+
required: basics.required,
|
|
210
|
+
label: basics.label,
|
|
211
|
+
presentation: type === "consent" ? "tile" : "row"
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
default: return /* @__PURE__ */ jsx(TextInputField, {
|
|
215
|
+
field,
|
|
216
|
+
type
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
//#endregion
|
|
90
221
|
//#region ../blocks/src/system/runtime/nodes/form.client.tsx
|
|
91
222
|
const FormNodeClient = ({ render }) => {
|
|
92
223
|
const form = render.display.form;
|
|
@@ -100,107 +231,7 @@ const FormNodeClient = ({ render }) => {
|
|
|
100
231
|
children: "Missing or unknown form."
|
|
101
232
|
});
|
|
102
233
|
const groups = render.display.groups;
|
|
103
|
-
const renderField = (field) => {
|
|
104
|
-
const inputId = `f_${field.id}`;
|
|
105
|
-
const label = String(field.label ?? field.id);
|
|
106
|
-
const required = Boolean(field.required);
|
|
107
|
-
const type = String(field.type ?? "text");
|
|
108
|
-
if (type === "textarea") return /* @__PURE__ */ jsxs("div", {
|
|
109
|
-
className: "fb-field",
|
|
110
|
-
children: [/* @__PURE__ */ jsx("label", {
|
|
111
|
-
htmlFor: inputId,
|
|
112
|
-
className: "form-label",
|
|
113
|
-
children: label
|
|
114
|
-
}), /* @__PURE__ */ jsx("textarea", {
|
|
115
|
-
id: inputId,
|
|
116
|
-
name: field.id,
|
|
117
|
-
required,
|
|
118
|
-
placeholder: field.placeholder,
|
|
119
|
-
rows: field.rows,
|
|
120
|
-
className: "form-textarea"
|
|
121
|
-
})]
|
|
122
|
-
}, field.id);
|
|
123
|
-
if (type === "select") {
|
|
124
|
-
const options = field.options ?? [];
|
|
125
|
-
const multiple = Boolean(field.multiple);
|
|
126
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
127
|
-
className: "fb-field",
|
|
128
|
-
children: [/* @__PURE__ */ jsx("label", {
|
|
129
|
-
htmlFor: inputId,
|
|
130
|
-
className: "form-label",
|
|
131
|
-
children: label
|
|
132
|
-
}), /* @__PURE__ */ jsxs("select", {
|
|
133
|
-
id: inputId,
|
|
134
|
-
name: field.id,
|
|
135
|
-
multiple,
|
|
136
|
-
required,
|
|
137
|
-
className: "form-select",
|
|
138
|
-
children: [!multiple && /* @__PURE__ */ jsx("option", {
|
|
139
|
-
value: "",
|
|
140
|
-
children: "Select…"
|
|
141
|
-
}), options.map((opt) => /* @__PURE__ */ jsx("option", {
|
|
142
|
-
value: opt.value,
|
|
143
|
-
children: opt.label
|
|
144
|
-
}, opt.value))]
|
|
145
|
-
})]
|
|
146
|
-
}, field.id);
|
|
147
|
-
}
|
|
148
|
-
if (type === "radio") {
|
|
149
|
-
const options = field.options ?? [];
|
|
150
|
-
return /* @__PURE__ */ jsxs("fieldset", {
|
|
151
|
-
className: "fb-fieldset",
|
|
152
|
-
children: [/* @__PURE__ */ jsx("legend", {
|
|
153
|
-
className: "form-label",
|
|
154
|
-
children: label
|
|
155
|
-
}), options.map((opt) => /* @__PURE__ */ jsxs("label", {
|
|
156
|
-
className: "fb-inline form-label",
|
|
157
|
-
children: [/* @__PURE__ */ jsx("input", {
|
|
158
|
-
type: "radio",
|
|
159
|
-
name: field.id,
|
|
160
|
-
value: opt.value,
|
|
161
|
-
required,
|
|
162
|
-
className: "form-radio"
|
|
163
|
-
}), /* @__PURE__ */ jsx("span", { children: opt.label })]
|
|
164
|
-
}, opt.value))]
|
|
165
|
-
}, field.id);
|
|
166
|
-
}
|
|
167
|
-
if (type === "checkbox" || type === "consent") return /* @__PURE__ */ jsxs("label", {
|
|
168
|
-
className: "fb-inline form-label",
|
|
169
|
-
children: [/* @__PURE__ */ jsx("input", {
|
|
170
|
-
type: "checkbox",
|
|
171
|
-
name: field.id,
|
|
172
|
-
required,
|
|
173
|
-
className: "form-checkbox"
|
|
174
|
-
}), /* @__PURE__ */ jsx("span", { children: label })]
|
|
175
|
-
}, field.id);
|
|
176
|
-
const inputType = type === "email" || type === "url" || type === "tel" || type === "number" ? type : "text";
|
|
177
|
-
const extra = {};
|
|
178
|
-
if (inputType === "text" || inputType === "email" || inputType === "url" || inputType === "tel") {
|
|
179
|
-
if (typeof field.minLength === "number") extra.minLength = field.minLength;
|
|
180
|
-
if (typeof field.maxLength === "number") extra.maxLength = field.maxLength;
|
|
181
|
-
if (typeof field.pattern === "string" && field.pattern) extra.pattern = field.pattern;
|
|
182
|
-
}
|
|
183
|
-
if (inputType === "number") {
|
|
184
|
-
if (typeof field.min === "number") extra.min = field.min;
|
|
185
|
-
if (typeof field.max === "number") extra.max = field.max;
|
|
186
|
-
}
|
|
187
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
188
|
-
className: "fb-field",
|
|
189
|
-
children: [/* @__PURE__ */ jsx("label", {
|
|
190
|
-
htmlFor: inputId,
|
|
191
|
-
className: "form-label",
|
|
192
|
-
children: label
|
|
193
|
-
}), /* @__PURE__ */ jsx("input", {
|
|
194
|
-
id: inputId,
|
|
195
|
-
name: field.id,
|
|
196
|
-
type: inputType,
|
|
197
|
-
required,
|
|
198
|
-
placeholder: field.placeholder,
|
|
199
|
-
...extra,
|
|
200
|
-
className: "form-input"
|
|
201
|
-
})]
|
|
202
|
-
}, field.id);
|
|
203
|
-
};
|
|
234
|
+
const renderField = (field) => /* @__PURE__ */ jsx(FormFieldControl, { field }, field.id);
|
|
204
235
|
const handleSubmit = async (e) => {
|
|
205
236
|
e.preventDefault();
|
|
206
237
|
const formData = new FormData(e.currentTarget);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-
|
|
2
|
+
import { j as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-Dcgsncxb.mjs";
|
|
3
|
+
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-CE5KYT6z.mjs";
|
|
4
4
|
import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
|
|
5
|
-
import { n as useCommerceCart } from "./shop-commerce-store-
|
|
5
|
+
import { n as useCommerceCart } from "./shop-commerce-store-DtSfkKuX.mjs";
|
|
6
6
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
7
7
|
import * as React$1 from "react";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|