@riverbankcms/sdk 0.90.0 → 0.90.1
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/dist/{PreviewEditorSidebar-KVXNF3VW.mjs → PreviewEditorSidebar-FNFRVSIM.mjs} +2 -2
- package/dist/{PreviewEditorUI-J3JN5Z7T.mjs → PreviewEditorUI-3WXJFQXG.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-2UCIMKUB.mjs +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -0
- package/dist/_dts/api/src/event-listing-destination.d.ts +59 -0
- package/dist/_dts/api/src/index.d.ts +4 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +0 -1
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/settings/permissions.d.ts +273 -0
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +60 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +12 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/destination.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/core/src/event-pricing.d.ts +12 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +11 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-PMBB6MQ7.mjs → chunk-CR2VX432.mjs} +297 -117
- package/dist/{chunk-AEOYWPE4.mjs → chunk-FA6LVZ7C.mjs} +5 -5
- package/dist/{chunk-RQ3XZ4SJ.mjs → chunk-H6TT5ZXI.mjs} +1 -1
- package/dist/{chunk-GSPFFUVB.mjs → chunk-SYYJZPKU.mjs} +1 -1
- package/dist/cli/index.mjs +160 -103
- package/dist/client/{accordion-GXQNWQ6O.mjs → accordion-4K7VGZ3I.mjs} +2 -2
- package/dist/client/{bookingForm-STLUJ36H.mjs → bookingForm-3QXA3CIS.mjs} +5 -5
- package/dist/client/bookings.mjs +1154 -556
- package/dist/client/{carousel-CVRN6EPP.mjs → carousel-BEJKNGQ7.mjs} +3 -3
- package/dist/client/{cart-IYIBA5CL.mjs → cart-44BBM6XG.mjs} +6 -6
- package/dist/client/{checkout-O3BGM4GS.mjs → checkout-THMHEYKF.mjs} +6 -6
- package/dist/client/{chunk-25W2EQUN.mjs → chunk-3H5CLFKT.mjs} +8 -0
- package/dist/client/{chunk-MFPKS6QS.mjs → chunk-4COPESPO.mjs} +5 -5
- package/dist/client/{chunk-4RTFGHZN.mjs → chunk-5AJIMWKS.mjs} +6 -3
- package/dist/client/{chunk-6DPXDOIL.mjs → chunk-B4H6QMPY.mjs} +93 -22
- package/dist/client/{chunk-VFHZLZAC.mjs → chunk-DQIRKNZE.mjs} +1 -1
- package/dist/client/{chunk-7DH35FGA.mjs → chunk-EJBHK74Y.mjs} +1 -1
- package/dist/client/{chunk-DAS5CIER.mjs → chunk-JV7ZNAOU.mjs} +118 -20
- package/dist/client/{chunk-FHU6PFPM.mjs → chunk-KNTLBQ3N.mjs} +1 -1
- package/dist/client/{chunk-Z62JYS5O.mjs → chunk-PEDNDLPB.mjs} +2 -2
- package/dist/client/{chunk-NBFRJ5NB.mjs → chunk-SLY6UDAS.mjs} +2 -2
- package/dist/client/{chunk-D3ETC2SU.mjs → chunk-ZIAF2DA4.mjs} +1 -1
- package/dist/client/client.mjs +272 -83
- package/dist/client/{courseRegistration-2D3ACMJR.mjs → courseRegistration-URX7RCCK.mjs} +5 -5
- package/dist/client/{eventCalendar-QY4UZUFF.mjs → eventCalendar-GTENOQCE.mjs} +8 -8
- package/dist/client/{eventCombined-RRCDKJC2.mjs → eventCombined-EZVB72MF.mjs} +8 -8
- package/dist/client/{eventDetails-YO335BUT.mjs → eventDetails-CH4BJR5Z.mjs} +8 -8
- package/dist/client/{eventListing-PXA6GFQ3.mjs → eventListing-4BVOI5HS.mjs} +8 -8
- package/dist/client/{eventRegistration-2ZHEDDXO.mjs → eventRegistration-37LPIKIE.mjs} +8 -8
- package/dist/client/{form-ZS6KX4U2.mjs → form-FX3Y54YK.mjs} +2 -2
- package/dist/client/{headerSection-QK5SLIIB.mjs → headerSection-UOZZGVYL.mjs} +3 -3
- package/dist/client/hooks.mjs +86 -35
- package/dist/client/{locationMap-GFNIUD2X.mjs → locationMap-VSIPKV35.mjs} +3 -3
- package/dist/client/{newsletterForm-PGLTTCUG.mjs → newsletterForm-6FRJKNAF.mjs} +2 -2
- package/dist/client/{productDetail-OPBE5ZPI.mjs → productDetail-6AHMLXCO.mjs} +6 -6
- package/dist/client/{productList-NI72Q62Z.mjs → productList-M2CYIZVH.mjs} +6 -6
- package/dist/client/rendering/client.mjs +231 -42
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +273 -84
- package/dist/client/{shop-3ZQPEWYI.mjs → shop-AUOT6GEX.mjs} +6 -6
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-FSHXCWDS.mjs → sdk-runtime-6GPJNLU6.mjs} +4 -4
- package/dist/server/components.mjs +136 -58
- package/dist/server/config-validation.mjs +78 -27
- package/dist/server/config.mjs +78 -27
- package/dist/server/data.mjs +86 -35
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +157 -79
- package/dist/server/page-converter.mjs +72 -21
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +148 -70
- package/dist/server/rendering.mjs +152 -74
- package/dist/server/routing.mjs +121 -44
- package/dist/server/server.mjs +95 -44
- package/package.json +2 -2
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +0 -8
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { LeafletStaticMap } from './chunk-
|
|
3
|
-
import { resolveCoursePricingState, useWaitlistClaim, MagicLinkForm, formatCoursePriceAmount, formatCoursePriceDisplay } from './chunk-
|
|
2
|
+
import { LeafletStaticMap } from './chunk-ZIAF2DA4.mjs';
|
|
3
|
+
import { resolveCoursePricingState, useWaitlistClaim, MagicLinkForm, formatCoursePriceAmount, formatCoursePriceDisplay } from './chunk-PEDNDLPB.mjs';
|
|
4
4
|
import { CreditCard, Ticket, Star, Sparkles } from './chunk-6N7YRNYU.mjs';
|
|
5
|
-
import { usePolling, buildBookingPaymentSelectionViewModel } from './chunk-
|
|
6
|
-
import { SpinnerNode } from './chunk-
|
|
7
|
-
import { createBodyThemePortalRoot, TabBarFragment, useDiscountCodeUi, logoutPortal, consumeSearchParam, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, LoggedInAsUser, CheckIcon } from './chunk-
|
|
5
|
+
import { usePolling, buildBookingPaymentSelectionViewModel } from './chunk-5AJIMWKS.mjs';
|
|
6
|
+
import { SpinnerNode } from './chunk-KNTLBQ3N.mjs';
|
|
7
|
+
import { createBodyThemePortalRoot, TabBarFragment, useDiscountCodeUi, logoutPortal, consumeSearchParam, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, LoggedInAsUser, CheckIcon } from './chunk-SLY6UDAS.mjs';
|
|
8
8
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
9
9
|
import { ModalShell } from './chunk-WBQG7VJA.mjs';
|
|
10
10
|
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-HIHOQGIP.mjs';
|
|
11
11
|
import { useBlockApi, FeedbackMessage } from './chunk-WHZQDPBZ.mjs';
|
|
12
|
-
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, WIZARD_STEPS, getWizardStepsForContext, getStepNumber, formatEventPriceDisplay, resolveRuntimeEventPricing, formatEventPrice, formatEventDateParts, DateTimeTile, assertNever, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, toRegistrationEvents, isEventContentType, findPreSelectedEvent, resolveRegistrationTarget, findEventByOccurrenceId, resolveEventRequiresPayment, resolveDiscountContext } from './chunk-
|
|
13
|
-
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatCurrencyAmount, formatBookingDate, formatBookingTime } from './chunk-
|
|
12
|
+
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, WIZARD_STEPS, getWizardStepsForContext, getStepNumber, formatEventPriceDisplay, resolveRuntimeEventPricing, formatEventPrice, formatEventDateParts, resolveEventLinkProps, DateTimeTile, assertNever, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, toRegistrationEvents, isEventContentType, findPreSelectedEvent, resolveRegistrationTarget, findEventByOccurrenceId, resolveEventRequiresPayment, resolveDiscountContext } from './chunk-B4H6QMPY.mjs';
|
|
13
|
+
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatCurrencyAmount, formatBookingDate, formatBookingTime } from './chunk-3H5CLFKT.mjs';
|
|
14
14
|
import React9, { createContext, useId, useMemo, useReducer, useState, useRef, useEffect, useCallback, useContext } from 'react';
|
|
15
15
|
import { createPortal } from 'react-dom';
|
|
16
16
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1405,6 +1405,33 @@ function toEventDirectPaymentOption(option, mode) {
|
|
|
1405
1405
|
);
|
|
1406
1406
|
}
|
|
1407
1407
|
}
|
|
1408
|
+
function resolveEventRegistrationDirectPaymentSelection(input) {
|
|
1409
|
+
if (input.selection.method !== "stripe") {
|
|
1410
|
+
return { kind: "not-stripe" };
|
|
1411
|
+
}
|
|
1412
|
+
const fallbackOption = input.options[0];
|
|
1413
|
+
if (!fallbackOption) {
|
|
1414
|
+
return { kind: "unavailable" };
|
|
1415
|
+
}
|
|
1416
|
+
const requestedKind = input.selection.collectionOptionKind;
|
|
1417
|
+
const selectedOption = requestedKind == null ? input.options.find((option) => option.kind === "upfront") : input.options.find((option) => option.kind === requestedKind);
|
|
1418
|
+
if (selectedOption) {
|
|
1419
|
+
return {
|
|
1420
|
+
kind: "valid",
|
|
1421
|
+
selection: {
|
|
1422
|
+
method: "stripe",
|
|
1423
|
+
collectionOptionKind: selectedOption.kind
|
|
1424
|
+
}
|
|
1425
|
+
};
|
|
1426
|
+
}
|
|
1427
|
+
return {
|
|
1428
|
+
kind: "invalid",
|
|
1429
|
+
fallbackSelection: {
|
|
1430
|
+
method: "stripe",
|
|
1431
|
+
collectionOptionKind: fallbackOption.kind
|
|
1432
|
+
}
|
|
1433
|
+
};
|
|
1434
|
+
}
|
|
1408
1435
|
function PaymentCheckIcon() {
|
|
1409
1436
|
return /* @__PURE__ */ jsx("div", { className: "er-check", children: /* @__PURE__ */ jsx(CheckIcon, {}) });
|
|
1410
1437
|
}
|
|
@@ -1450,6 +1477,9 @@ function formatDirectPaymentOptionDetail(option) {
|
|
|
1450
1477
|
balanceDueBy ? `Balance due by: ${balanceDueBy.value}` : null
|
|
1451
1478
|
].filter((part) => Boolean(part)).join(" \xB7 ");
|
|
1452
1479
|
}
|
|
1480
|
+
function isDirectPaymentOptionSelected(option, selectionState) {
|
|
1481
|
+
return selectionState.kind === "valid" && selectionState.selection.collectionOptionKind === option.kind;
|
|
1482
|
+
}
|
|
1453
1483
|
var PaymentSelectionStep = ({
|
|
1454
1484
|
event,
|
|
1455
1485
|
occurrenceContext,
|
|
@@ -1466,8 +1496,28 @@ var PaymentSelectionStep = ({
|
|
|
1466
1496
|
}) => {
|
|
1467
1497
|
const occurrenceId = occurrenceContext?.id ?? event?.registrationOccurrenceId;
|
|
1468
1498
|
const selectedMethod = selectedSelection.method;
|
|
1499
|
+
const totalPrice = eligibility?.price ? eligibility.price * ticketsCount : 0;
|
|
1500
|
+
const canShowDirectPaymentOptions = Boolean(
|
|
1501
|
+
eligibility?.eligible && eligibility.canPayDirectly && eligibility.price
|
|
1502
|
+
);
|
|
1503
|
+
const directPaymentOptions = eligibility && canShowDirectPaymentOptions ? buildEventRegistrationPaymentOptionsViewModel({
|
|
1504
|
+
eventTitle: event?.title ?? "Event",
|
|
1505
|
+
paymentTerms: event?.paymentTerms,
|
|
1506
|
+
totalPriceCents: totalPrice,
|
|
1507
|
+
currency: eligibility.currency,
|
|
1508
|
+
startsAt: occurrenceContext?.startsAt ?? event?.startsAt
|
|
1509
|
+
}).options : [];
|
|
1510
|
+
const directPaymentSelectionState = resolveEventRegistrationDirectPaymentSelection({
|
|
1511
|
+
options: directPaymentOptions,
|
|
1512
|
+
selection: selectedSelection
|
|
1513
|
+
});
|
|
1514
|
+
const directPaymentFallbackSelection = directPaymentSelectionState.kind === "invalid" ? directPaymentSelectionState.fallbackSelection : null;
|
|
1515
|
+
const directPaymentFallbackKind = directPaymentFallbackSelection?.collectionOptionKind;
|
|
1469
1516
|
const canContinue = (() => {
|
|
1470
1517
|
if (!selectedMethod) return false;
|
|
1518
|
+
if (selectedMethod === "stripe") {
|
|
1519
|
+
return directPaymentSelectionState.kind === "valid";
|
|
1520
|
+
}
|
|
1471
1521
|
if (selectedMethod === "pass") return Boolean(selectedSelection.passId);
|
|
1472
1522
|
if (selectedMethod === "membership")
|
|
1473
1523
|
return Boolean(selectedSelection.membershipId);
|
|
@@ -1477,6 +1527,13 @@ var PaymentSelectionStep = ({
|
|
|
1477
1527
|
return Boolean(selectedSelection.bundleMembershipId);
|
|
1478
1528
|
return true;
|
|
1479
1529
|
})();
|
|
1530
|
+
useEffect(() => {
|
|
1531
|
+
if (!directPaymentFallbackKind) return;
|
|
1532
|
+
onSelectionChange({
|
|
1533
|
+
method: "stripe",
|
|
1534
|
+
collectionOptionKind: directPaymentFallbackKind
|
|
1535
|
+
});
|
|
1536
|
+
}, [directPaymentFallbackKind, onSelectionChange]);
|
|
1480
1537
|
const getButtonText = useCallback(() => {
|
|
1481
1538
|
if (selectedMethod === "stripe") return "Continue to Payment";
|
|
1482
1539
|
if (selectedMethod === "pass_bundle" || selectedMethod === "membership_bundle") {
|
|
@@ -1576,25 +1633,20 @@ var PaymentSelectionStep = ({
|
|
|
1576
1633
|
] }) })
|
|
1577
1634
|
] });
|
|
1578
1635
|
}
|
|
1579
|
-
const totalPrice = eligibility.price ? eligibility.price * ticketsCount : 0;
|
|
1580
|
-
const directPaymentOptions = buildEventRegistrationPaymentOptionsViewModel({
|
|
1581
|
-
eventTitle: event?.title ?? "Event",
|
|
1582
|
-
paymentTerms: event?.paymentTerms,
|
|
1583
|
-
totalPriceCents: totalPrice,
|
|
1584
|
-
currency: eligibility.currency,
|
|
1585
|
-
startsAt: occurrenceContext?.startsAt ?? event?.startsAt
|
|
1586
|
-
}).options;
|
|
1587
1636
|
const isMultiTicket = areEntitlementsDisabledForTicketCount(ticketsCount);
|
|
1588
1637
|
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
1589
1638
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Payment Options" }),
|
|
1590
1639
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-tiles", children: [
|
|
1591
|
-
|
|
1640
|
+
canShowDirectPaymentOptions && /* @__PURE__ */ jsx(Fragment, { children: directPaymentOptions.map((option) => /* @__PURE__ */ jsx(
|
|
1592
1641
|
PaymentTile,
|
|
1593
1642
|
{
|
|
1594
1643
|
icon: /* @__PURE__ */ jsx(CreditCard, { size: 24, "aria-hidden": "true" }),
|
|
1595
1644
|
label: option.label,
|
|
1596
1645
|
detail: formatDirectPaymentOptionDetail(option),
|
|
1597
|
-
selected:
|
|
1646
|
+
selected: isDirectPaymentOptionSelected(
|
|
1647
|
+
option,
|
|
1648
|
+
directPaymentSelectionState
|
|
1649
|
+
),
|
|
1598
1650
|
onClick: () => onSelectionChange({
|
|
1599
1651
|
method: "stripe",
|
|
1600
1652
|
collectionOptionKind: option.kind
|
|
@@ -2014,6 +2066,24 @@ function EventRegistrationWizardActions(props) {
|
|
|
2014
2066
|
function isProductMethod(method) {
|
|
2015
2067
|
return method !== null && ["pass", "membership", "pass_bundle", "membership_bundle"].includes(method);
|
|
2016
2068
|
}
|
|
2069
|
+
function getSummaryRow(option, label) {
|
|
2070
|
+
return option.summaryRows.find((row) => row.label === label)?.value ?? null;
|
|
2071
|
+
}
|
|
2072
|
+
function getSelectedDirectPaymentOption(input) {
|
|
2073
|
+
const summaryEvent = input.wizard.selectedEvent ?? input.wizard.preSelectedEvent;
|
|
2074
|
+
if (!summaryEvent || input.wizard.paymentSelection.method !== "stripe") {
|
|
2075
|
+
return null;
|
|
2076
|
+
}
|
|
2077
|
+
const options = buildEventRegistrationPaymentOptionsViewModel({
|
|
2078
|
+
eventTitle: summaryEvent.title,
|
|
2079
|
+
paymentTerms: summaryEvent.paymentTerms,
|
|
2080
|
+
totalPriceCents: input.totalCents,
|
|
2081
|
+
currency: input.currency,
|
|
2082
|
+
startsAt: input.wizard.occurrenceContext?.startsAt ?? summaryEvent.startsAt
|
|
2083
|
+
}).options;
|
|
2084
|
+
const requestedKind = input.wizard.paymentSelection.collectionOptionKind ?? "upfront";
|
|
2085
|
+
return options.find((option) => option.kind === requestedKind) ?? options.find((option) => option.kind === "upfront") ?? options[0] ?? null;
|
|
2086
|
+
}
|
|
2017
2087
|
function EventRegistrationSummaryBar(props) {
|
|
2018
2088
|
const { wizard } = props;
|
|
2019
2089
|
const summaryEvent = wizard.selectedEvent ?? wizard.preSelectedEvent;
|
|
@@ -2028,6 +2098,18 @@ function EventRegistrationSummaryBar(props) {
|
|
|
2028
2098
|
const autoAppliedDiscount = wizard.discountCode.trim().length > 0 ? null : wizard.autoAppliedDiscount;
|
|
2029
2099
|
const autoAppliedDiscountCents = Math.max(0, autoAppliedDiscount?.computedAmountCents ?? 0);
|
|
2030
2100
|
const discountedTotalCents = Math.max(0, subtotalCents - autoAppliedDiscountCents);
|
|
2101
|
+
const selectedDirectPaymentOption = getSelectedDirectPaymentOption({
|
|
2102
|
+
wizard,
|
|
2103
|
+
totalCents: discountedTotalCents,
|
|
2104
|
+
currency: summaryCurrency
|
|
2105
|
+
});
|
|
2106
|
+
const flexibleBalanceSummary = selectedDirectPaymentOption?.kind === "flexible_balance" ? {
|
|
2107
|
+
total: getSummaryRow(selectedDirectPaymentOption, "Total"),
|
|
2108
|
+
dueToday: getSummaryRow(selectedDirectPaymentOption, "Due today"),
|
|
2109
|
+
remainingBalance: getSummaryRow(selectedDirectPaymentOption, "Remaining balance"),
|
|
2110
|
+
balanceDueBy: getSummaryRow(selectedDirectPaymentOption, "Balance due by"),
|
|
2111
|
+
depositPolicy: getSummaryRow(selectedDirectPaymentOption, "Deposit policy")
|
|
2112
|
+
} : null;
|
|
2031
2113
|
if (!summaryTitle) return null;
|
|
2032
2114
|
const productMethod = isProductMethod(wizard.paymentSelection.method);
|
|
2033
2115
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -2071,6 +2153,22 @@ function EventRegistrationSummaryBar(props) {
|
|
|
2071
2153
|
summaryPrice > 0 && /* @__PURE__ */ jsx("div", { className: "er-summary-bar-pricing", children: productMethod ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2072
2154
|
/* @__PURE__ */ jsx("span", { className: "er-summary-bar-price er-summary-bar-price--struck", children: formatPrice(summaryPrice * wizard.ticketsCount, summaryCurrency) }),
|
|
2073
2155
|
/* @__PURE__ */ jsx("div", { className: "er-summary-bar-included", children: wizard.paymentSelection.method === "pass" || wizard.paymentSelection.method === "pass_bundle" ? "1 pass credit" : "Included in membership" })
|
|
2156
|
+
] }) : flexibleBalanceSummary ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2157
|
+
flexibleBalanceSummary.total ? /* @__PURE__ */ jsxs("div", { className: "er-summary-bar-product-detail", children: [
|
|
2158
|
+
"Total: ",
|
|
2159
|
+
flexibleBalanceSummary.total
|
|
2160
|
+
] }) : null,
|
|
2161
|
+
/* @__PURE__ */ jsx("div", { className: "er-summary-bar-price", children: flexibleBalanceSummary.dueToday ?? formatPrice(discountedTotalCents, summaryCurrency) }),
|
|
2162
|
+
/* @__PURE__ */ jsx("div", { className: "er-summary-bar-included", children: "Payable now" }),
|
|
2163
|
+
flexibleBalanceSummary.remainingBalance ? /* @__PURE__ */ jsxs("div", { className: "er-summary-bar-product-detail", children: [
|
|
2164
|
+
"Remaining balance: ",
|
|
2165
|
+
flexibleBalanceSummary.remainingBalance,
|
|
2166
|
+
flexibleBalanceSummary.balanceDueBy ? ` due by ${flexibleBalanceSummary.balanceDueBy}` : ""
|
|
2167
|
+
] }) : null,
|
|
2168
|
+
flexibleBalanceSummary.depositPolicy ? /* @__PURE__ */ jsxs("div", { className: "er-summary-bar-product-detail", children: [
|
|
2169
|
+
"Deposit: ",
|
|
2170
|
+
flexibleBalanceSummary.depositPolicy
|
|
2171
|
+
] }) : null
|
|
2074
2172
|
] }) : autoAppliedDiscount && autoAppliedDiscountCents > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2075
2173
|
/* @__PURE__ */ jsx("span", { className: "er-summary-bar-price er-summary-bar-price--struck", children: formatPrice(subtotalCents, summaryCurrency) }),
|
|
2076
2174
|
/* @__PURE__ */ jsx("div", { className: "er-summary-bar-price", children: formatPrice(discountedTotalCents, summaryCurrency) }),
|
|
@@ -3491,7 +3589,7 @@ function EventDetailsView({
|
|
|
3491
3589
|
"a",
|
|
3492
3590
|
{
|
|
3493
3591
|
className: "rb-tile rb-tile--interactive",
|
|
3494
|
-
|
|
3592
|
+
...resolveEventLinkProps(e),
|
|
3495
3593
|
children: /* @__PURE__ */ jsx(
|
|
3496
3594
|
DateTimeTile,
|
|
3497
3595
|
{
|
|
@@ -4848,7 +4946,7 @@ var AgendaEventCard = ({
|
|
|
4848
4946
|
showCapacity,
|
|
4849
4947
|
onClick
|
|
4850
4948
|
}) => {
|
|
4851
|
-
const
|
|
4949
|
+
const eventLinkProps = resolveEventLinkProps(event);
|
|
4852
4950
|
const categoryColor = event.eventCategory?.color || "rgb(var(--tb-accent))";
|
|
4853
4951
|
const price = formatEventPrice(event);
|
|
4854
4952
|
const { available, isFull } = getEventAvailability(event);
|
|
@@ -4909,7 +5007,7 @@ var AgendaEventCard = ({
|
|
|
4909
5007
|
}
|
|
4910
5008
|
);
|
|
4911
5009
|
}
|
|
4912
|
-
return /* @__PURE__ */ jsx("a", {
|
|
5010
|
+
return /* @__PURE__ */ jsx("a", { ...eventLinkProps, className: "event-agenda-card", children: cardContent });
|
|
4913
5011
|
};
|
|
4914
5012
|
var FULL_DAY_NAMES = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
4915
5013
|
function formatAgendaDayHeader(date) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useBlockApi } from './chunk-WHZQDPBZ.mjs';
|
|
3
|
-
import { themeButtonClassName, assertNever } from './chunk-
|
|
4
|
-
import { resolvePlanningDateInput, formatBookingPriceDisplay } from './chunk-
|
|
3
|
+
import { themeButtonClassName, assertNever } from './chunk-B4H6QMPY.mjs';
|
|
4
|
+
import { resolvePlanningDateInput, formatBookingPriceDisplay } from './chunk-3H5CLFKT.mjs';
|
|
5
5
|
import { useState, useReducer, useSyncExternalStore, useEffect } from 'react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { FeedbackMessage, discountAvailabilityHasDiscounts, getAutoAppliedDiscountPreview, discountAvailabilityAllowsManualEntry } from './chunk-WHZQDPBZ.mjs';
|
|
3
|
-
import { themeButtonClassName } from './chunk-
|
|
4
|
-
import { formatCurrencyAmount, clsx_default } from './chunk-
|
|
3
|
+
import { themeButtonClassName } from './chunk-B4H6QMPY.mjs';
|
|
4
|
+
import { formatCurrencyAmount, clsx_default } from './chunk-3H5CLFKT.mjs';
|
|
5
5
|
import { useReducer, useEffect, useId, useRef } from 'react';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
|