@riverbankcms/sdk 0.82.0 → 0.84.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 +16 -0
- package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-HML67UDA.mjs} +330 -11
- package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-I4BQUU6K.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +200 -0
- package/dist/_dts/api/src/blocks.d.ts +36 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +40 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
- package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +22 -36
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
- package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
- package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +11 -0
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -7
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2534 -151
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
- package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
- package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +35 -161
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +303 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +26 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
- package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
- package/dist/_dts/theme-core/src/schema.d.ts +30 -25
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
- package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
- package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
- package/dist/{chunk-G35HOQEN.mjs → chunk-5E33VO6J.mjs} +132 -46
- package/dist/{chunk-HKB6XVIP.mjs → chunk-6X2OVO3S.mjs} +2 -2
- package/dist/{chunk-6FWNF3DJ.mjs → chunk-HFMGVJCE.mjs} +158 -20
- package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
- package/dist/{chunk-XQR6THQJ.mjs → chunk-MSHZO4SL.mjs} +3193 -1216
- package/dist/cli/index.mjs +2635 -575
- package/dist/cli/init-docs/content/getting-started.md +2 -0
- package/dist/cli/init-docs/content/workflow-templates.md +93 -2
- package/dist/client/{accordion-G34C45TW.mjs → accordion-ESY65T56.mjs} +2 -2
- package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-JRFNZUHD.mjs} +5 -5
- package/dist/client/bookings.mjs +3539 -269
- package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-CPR5VWIP.mjs} +3 -3
- package/dist/client/{cart-Q6S6LZUO.mjs → cart-ZUX5BA7O.mjs} +6 -6
- package/dist/client/{checkout-5QJLDE4I.mjs → checkout-RULGBADZ.mjs} +6 -6
- package/dist/client/{chunk-CHAB5ACD.mjs → chunk-52I7BGEK.mjs} +2 -2
- package/dist/client/{chunk-CSZGLBYR.mjs → chunk-5ZEAZ33K.mjs} +1 -1
- package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-BT6AEIKN.mjs} +1 -1
- package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-HXPWP5EN.mjs} +268 -15
- package/dist/client/{chunk-5PQH4Y75.mjs → chunk-JWEYB4V6.mjs} +2 -2
- package/dist/client/{chunk-EQKYMX4N.mjs → chunk-RDJFCPY3.mjs} +158 -51
- package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
- package/dist/client/{chunk-WJFHDTYF.mjs → chunk-URQCZD5W.mjs} +5 -5
- package/dist/client/{chunk-U2EW7RSR.mjs → chunk-Z5OBQ5I4.mjs} +1 -1
- package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
- package/dist/client/client.mjs +2391 -673
- package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-QTUDC35T.mjs} +5 -5
- package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-Q7NS4XLD.mjs} +7 -7
- package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-QAO7VUO5.mjs} +7 -7
- package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-WTNNU6Q3.mjs} +7 -7
- package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-5TA2ELDT.mjs} +7 -7
- package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-M6USZGRF.mjs} +7 -7
- package/dist/client/{form-BOWN7ZNQ.mjs → form-DGVGXLMH.mjs} +2 -2
- package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-O2AGMPCU.mjs} +3 -3
- package/dist/client/hooks.mjs +1636 -385
- package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-EJRNRIKJ.mjs} +2 -2
- package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-7NTC2DTR.mjs} +2 -2
- package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-HH4LP53D.mjs} +6 -6
- package/dist/client/{productList-AZOLOZKM.mjs → productList-YVHYM2AF.mjs} +6 -6
- package/dist/client/rendering/client.mjs +2303 -1068
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2587 -796
- package/dist/client/{shop-ZDLO7IIG.mjs → shop-UIFX7XRK.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +40 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +40 -0
- package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-ZENAOYMN.mjs} +6 -6
- package/dist/server/components.mjs +2028 -457
- package/dist/server/config-validation.mjs +1629 -377
- package/dist/server/config.mjs +1629 -377
- package/dist/server/data.mjs +1636 -385
- package/dist/server/index.mjs +42 -1
- package/dist/server/next.mjs +2215 -571
- package/dist/server/page-converter.mjs +2068 -884
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2040 -469
- package/dist/server/rendering.mjs +2119 -475
- package/dist/server/routing.mjs +1711 -419
- package/dist/server/server.mjs +1718 -394
- package/dist/server/theme-bridge.mjs +1180 -101
- package/dist/server/theme.mjs +92 -1
- package/dist/styles/index.css +292 -36
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { LeafletStaticMap } from './chunk-XSV6KW4D.mjs';
|
|
3
|
-
import { MagicLinkForm, useWaitlistClaim } from './chunk-
|
|
4
|
-
import { usePolling } from './chunk-
|
|
5
|
-
import { SpinnerNode } from './chunk-
|
|
3
|
+
import { MagicLinkForm, useWaitlistClaim } from './chunk-BT6AEIKN.mjs';
|
|
4
|
+
import { usePolling } from './chunk-5ZEAZ33K.mjs';
|
|
5
|
+
import { SpinnerNode } from './chunk-SYIJ5JO2.mjs';
|
|
6
6
|
import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
|
|
7
|
-
import { createBodyThemePortalRoot, TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-
|
|
7
|
+
import { createBodyThemePortalRoot, TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-52I7BGEK.mjs';
|
|
8
8
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
9
9
|
import { ModalShell } from './chunk-DVNUDUVT.mjs';
|
|
10
10
|
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-GFSQNTRW.mjs';
|
|
11
11
|
import { useBlockApi, FeedbackMessage } from './chunk-UDNSI5PY.mjs';
|
|
12
|
-
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventPrice, formatEventDateParts, DateTimeTile, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceAmount, formatCoursePriceDisplay, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, CreditCard, Ticket, Star, Sparkles, assertNever11 } from './chunk-
|
|
13
|
-
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, 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, resolveCoursePricingState, resolveRuntimeEventPricing, formatEventPrice, formatEventDateParts, DateTimeTile, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceAmount, formatCoursePriceDisplay, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, CreditCard, Ticket, Star, Sparkles, assertNever11 } from './chunk-HXPWP5EN.mjs';
|
|
13
|
+
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatBookingDate, formatBookingTime } from './chunk-ZE5G642V.mjs';
|
|
14
14
|
import React9, { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
|
|
15
15
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
16
16
|
|
|
@@ -190,6 +190,81 @@ function requiresPaymentStep(params) {
|
|
|
190
190
|
return !isEntitlementSelection(params.paymentSelection);
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
+
// ../blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.ts
|
|
194
|
+
var DEFAULT_EVENT_REGISTRATION_MAX_TICKETS = 5;
|
|
195
|
+
function getRegistrableStatuses(isPreview) {
|
|
196
|
+
return isPreview ? ["active", "draft"] : ["active"];
|
|
197
|
+
}
|
|
198
|
+
function normalizeEventRegistrationMaxTickets(value) {
|
|
199
|
+
if (typeof value === "number" && Number.isFinite(value) && value > 0) {
|
|
200
|
+
return Math.floor(value);
|
|
201
|
+
}
|
|
202
|
+
if (typeof value === "string") {
|
|
203
|
+
const parsed = Number.parseInt(value, 10);
|
|
204
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_EVENT_REGISTRATION_MAX_TICKETS;
|
|
205
|
+
}
|
|
206
|
+
return DEFAULT_EVENT_REGISTRATION_MAX_TICKETS;
|
|
207
|
+
}
|
|
208
|
+
function resolveEventRegistrationSubmitPlan(input) {
|
|
209
|
+
const selection = input.paymentSelection.method ? input.paymentSelection : void 0;
|
|
210
|
+
if (input.canJoinWaitlist) {
|
|
211
|
+
return { ok: true, args: withOptionalSelection({ method: "free" }, selection) };
|
|
212
|
+
}
|
|
213
|
+
switch (input.paymentSelection.method) {
|
|
214
|
+
case "pass":
|
|
215
|
+
return input.paymentSelection.passId ? {
|
|
216
|
+
ok: true,
|
|
217
|
+
args: withOptionalSelection(
|
|
218
|
+
{ method: "pass", passId: input.paymentSelection.passId },
|
|
219
|
+
selection
|
|
220
|
+
)
|
|
221
|
+
} : missingPaymentSelection();
|
|
222
|
+
case "membership":
|
|
223
|
+
return input.paymentSelection.membershipId ? {
|
|
224
|
+
ok: true,
|
|
225
|
+
args: withOptionalSelection(
|
|
226
|
+
{ method: "membership", membershipId: input.paymentSelection.membershipId },
|
|
227
|
+
selection
|
|
228
|
+
)
|
|
229
|
+
} : missingPaymentSelection();
|
|
230
|
+
case "free":
|
|
231
|
+
return { ok: true, args: withOptionalSelection({ method: "free" }, selection) };
|
|
232
|
+
case null:
|
|
233
|
+
return input.eventRequiresPayment ? missingPaymentSelection() : { ok: true, args: { method: "free" } };
|
|
234
|
+
case "pass_bundle":
|
|
235
|
+
return input.paymentSelection.bundlePassId ? {
|
|
236
|
+
ok: true,
|
|
237
|
+
args: withOptionalSelection(
|
|
238
|
+
{ method: "pass_bundle", passId: input.paymentSelection.bundlePassId },
|
|
239
|
+
selection
|
|
240
|
+
)
|
|
241
|
+
} : missingPaymentSelection();
|
|
242
|
+
case "membership_bundle":
|
|
243
|
+
return input.paymentSelection.bundleMembershipId ? {
|
|
244
|
+
ok: true,
|
|
245
|
+
args: withOptionalSelection(
|
|
246
|
+
{
|
|
247
|
+
method: "membership_bundle",
|
|
248
|
+
membershipId: input.paymentSelection.bundleMembershipId
|
|
249
|
+
},
|
|
250
|
+
selection
|
|
251
|
+
)
|
|
252
|
+
} : missingPaymentSelection();
|
|
253
|
+
case "stripe":
|
|
254
|
+
return { ok: true, args: withOptionalSelection({ method: "stripe" }, selection) };
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
function withOptionalSelection(args, selection) {
|
|
258
|
+
return selection ? { ...args, selection } : args;
|
|
259
|
+
}
|
|
260
|
+
function missingPaymentSelection() {
|
|
261
|
+
return {
|
|
262
|
+
ok: false,
|
|
263
|
+
reason: "payment-selection-required",
|
|
264
|
+
message: "Select a payment option to continue."
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
193
268
|
// ../blocks/src/system/runtime/nodes/event-registration/utils.ts
|
|
194
269
|
var DEFAULT_EVENT_CURRENCY = "usd";
|
|
195
270
|
function formatDate2(isoTimestamp, options) {
|
|
@@ -281,7 +356,7 @@ function getTicketTypeAvailabilityLabel(ticketType) {
|
|
|
281
356
|
}
|
|
282
357
|
function getVisibleTicketTypes(input) {
|
|
283
358
|
const eligibilityTicketTypes = input.eligibility?.ticketTypes;
|
|
284
|
-
const eventTicketTypes = input.event ? publicEventTicketTypes(input.event
|
|
359
|
+
const eventTicketTypes = input.event ? publicEventTicketTypes(resolveRuntimeEventPricing(input.event)) : [];
|
|
285
360
|
const source = eligibilityTicketTypes && eligibilityTicketTypes.length > 0 ? eligibilityTicketTypes : eventTicketTypes;
|
|
286
361
|
return source.filter(
|
|
287
362
|
(ticketType) => ticketType.isActive && (!input.selectedAttendanceMode || (ticketType.attendanceScope ?? "both") === "both" || (ticketType.attendanceScope ?? "both") === input.selectedAttendanceMode)
|
|
@@ -848,8 +923,9 @@ var TicketSelectionStep = ({
|
|
|
848
923
|
const waitlistEnabled = selectedModeAvailability?.waitlistEnabled ?? event?.waitlistEnabled ?? false;
|
|
849
924
|
const isSoldOut = availableSpots === 0;
|
|
850
925
|
const canJoinWaitlist = isSoldOut && waitlistEnabled === true;
|
|
851
|
-
const
|
|
852
|
-
const
|
|
926
|
+
const eventPricing = event ? resolveRuntimeEventPricing(event) : null;
|
|
927
|
+
const eventPricingMode = eventPricing ? publicEventPricingMode(eventPricing) : void 0;
|
|
928
|
+
const eventPricingCurrency = eventPricing ? publicEventPricingCurrency(eventPricing) : null;
|
|
853
929
|
const usesTicketTypes = eventPricingMode === "ticket_types" && !canJoinWaitlist;
|
|
854
930
|
const visibleTicketTypes = usesTicketTypes ? getVisibleTicketTypes({
|
|
855
931
|
event,
|
|
@@ -1796,18 +1872,8 @@ function EventRegistrationWizardActions(props) {
|
|
|
1796
1872
|
}
|
|
1797
1873
|
case "select-payment": {
|
|
1798
1874
|
const { status, canContinue, buttonText } = wizard.paymentStepState;
|
|
1799
|
-
const selection = wizard.paymentSelection;
|
|
1800
1875
|
const handlePaymentContinue = () => {
|
|
1801
|
-
|
|
1802
|
-
if (selection.method === "free") {
|
|
1803
|
-
void wizard.handlePaymentSelect("free");
|
|
1804
|
-
return;
|
|
1805
|
-
}
|
|
1806
|
-
void wizard.handlePaymentSelect(
|
|
1807
|
-
selection.method,
|
|
1808
|
-
selection.passId ?? selection.bundlePassId,
|
|
1809
|
-
selection.membershipId ?? selection.bundleMembershipId
|
|
1810
|
-
);
|
|
1876
|
+
void wizard.handlePaymentSelect();
|
|
1811
1877
|
};
|
|
1812
1878
|
return /* @__PURE__ */ jsxs("div", { className: "er-actions", children: [
|
|
1813
1879
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => wizard.setStep("enter-details"), className: "er-back-btn", children: "\u2190 Back" }),
|
|
@@ -2025,9 +2091,15 @@ function useEventRegistrationStripeReturn(options) {
|
|
|
2025
2091
|
|
|
2026
2092
|
// ../blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.ts
|
|
2027
2093
|
function useEventRegistrationSubmit(options) {
|
|
2028
|
-
return async (method, passId, membershipId, selection) => {
|
|
2094
|
+
return async (method, passId, membershipId, selection, submitOptions) => {
|
|
2029
2095
|
const submitOccurrenceId = options.registrationTarget?.occurrenceId;
|
|
2030
|
-
if (!submitOccurrenceId)
|
|
2096
|
+
if (!submitOccurrenceId) {
|
|
2097
|
+
return {
|
|
2098
|
+
ok: false,
|
|
2099
|
+
reason: "missing-target",
|
|
2100
|
+
message: "Select an event to continue."
|
|
2101
|
+
};
|
|
2102
|
+
}
|
|
2031
2103
|
options.setStep("submitting");
|
|
2032
2104
|
try {
|
|
2033
2105
|
const isBundle = method === "pass_bundle" || method === "membership_bundle";
|
|
@@ -2095,7 +2167,7 @@ function useEventRegistrationSubmit(options) {
|
|
|
2095
2167
|
if (checkoutResult.bypassed) {
|
|
2096
2168
|
options.setRegistrationResult({ status: "confirmed" });
|
|
2097
2169
|
options.setStep("success");
|
|
2098
|
-
return;
|
|
2170
|
+
return { ok: true, outcome: { kind: "completed" } };
|
|
2099
2171
|
}
|
|
2100
2172
|
if (!checkoutResult.checkoutUrl) {
|
|
2101
2173
|
throw new Error("Checkout URL missing");
|
|
@@ -2112,8 +2184,17 @@ function useEventRegistrationSubmit(options) {
|
|
|
2112
2184
|
paymentSelection: selectionSnapshot
|
|
2113
2185
|
});
|
|
2114
2186
|
}
|
|
2187
|
+
if (submitOptions?.redirect === "manual") {
|
|
2188
|
+
return {
|
|
2189
|
+
ok: true,
|
|
2190
|
+
outcome: {
|
|
2191
|
+
kind: "checkout_redirect",
|
|
2192
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
2193
|
+
}
|
|
2194
|
+
};
|
|
2195
|
+
}
|
|
2115
2196
|
window.location.href = checkoutResult.checkoutUrl;
|
|
2116
|
-
return;
|
|
2197
|
+
return { ok: true, outcome: { kind: "checkout_redirect", checkoutUrl: checkoutResult.checkoutUrl } };
|
|
2117
2198
|
}
|
|
2118
2199
|
if (result.alreadyRegistered) {
|
|
2119
2200
|
const title = result.status === "waitlist" ? "Already waitlisted" : "Already registered";
|
|
@@ -2135,9 +2216,16 @@ function useEventRegistrationSubmit(options) {
|
|
|
2135
2216
|
options.setRegistrationResult({ status: result.status });
|
|
2136
2217
|
}
|
|
2137
2218
|
options.setStep("success");
|
|
2219
|
+
return { ok: true, outcome: { kind: "completed" } };
|
|
2138
2220
|
} catch (error) {
|
|
2139
|
-
|
|
2221
|
+
const message = error instanceof Error ? error.message : "Registration failed";
|
|
2222
|
+
options.setErrorMessage(message);
|
|
2140
2223
|
options.setStep("error");
|
|
2224
|
+
return {
|
|
2225
|
+
ok: false,
|
|
2226
|
+
reason: "submission-failed",
|
|
2227
|
+
message
|
|
2228
|
+
};
|
|
2141
2229
|
}
|
|
2142
2230
|
};
|
|
2143
2231
|
}
|
|
@@ -2185,7 +2273,7 @@ function resolveEventRequiresPayment(input) {
|
|
|
2185
2273
|
if (!input.event) {
|
|
2186
2274
|
return false;
|
|
2187
2275
|
}
|
|
2188
|
-
return publicEventPricingType(input.event
|
|
2276
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
2189
2277
|
}
|
|
2190
2278
|
function resolveDiscountContext(input) {
|
|
2191
2279
|
const selection = input.paymentSelection.method ? input.paymentSelection : null;
|
|
@@ -2216,6 +2304,7 @@ function resolveDiscountContext(input) {
|
|
|
2216
2304
|
function toRegistrationEvent(event) {
|
|
2217
2305
|
return {
|
|
2218
2306
|
...event,
|
|
2307
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
2219
2308
|
publicEventId: event.id,
|
|
2220
2309
|
registrationOccurrenceId: event.occurrenceId
|
|
2221
2310
|
};
|
|
@@ -2442,7 +2531,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2442
2531
|
);
|
|
2443
2532
|
const ticketTypeSelectionRequired = useMemo(() => {
|
|
2444
2533
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2445
|
-
if (!event || publicEventPricingMode(event
|
|
2534
|
+
if (!event || publicEventPricingMode(resolveRuntimeEventPricing(event)) !== "ticket_types") {
|
|
2446
2535
|
return false;
|
|
2447
2536
|
}
|
|
2448
2537
|
if ((event.deliveryMode ?? "in_person") === "hybrid" && !selectedAttendanceMode) {
|
|
@@ -2457,7 +2546,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2457
2546
|
);
|
|
2458
2547
|
useEffect(() => {
|
|
2459
2548
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2460
|
-
if (!event || publicEventPricingMode(event
|
|
2549
|
+
if (!event || publicEventPricingMode(resolveRuntimeEventPricing(event)) !== "ticket_types") {
|
|
2461
2550
|
if (selectedTicketTypeId !== null) {
|
|
2462
2551
|
setSelectedTicketTypeId(null);
|
|
2463
2552
|
}
|
|
@@ -2530,30 +2619,45 @@ function useEventRegistrationWizard(options) {
|
|
|
2530
2619
|
setStep("error");
|
|
2531
2620
|
return;
|
|
2532
2621
|
}
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
}
|
|
2537
|
-
if (paymentSelection.method === "pass" && paymentSelection.passId) {
|
|
2538
|
-
await handleSubmit("pass", paymentSelection.passId, void 0, paymentSelection);
|
|
2622
|
+
const shouldCollectPayment = !eligibility?.canJoinWaitlist && requiresPaymentStep({ eventRequiresPayment, paymentSelection });
|
|
2623
|
+
if (shouldCollectPayment) {
|
|
2624
|
+
setStep("select-payment");
|
|
2539
2625
|
return;
|
|
2540
2626
|
}
|
|
2541
|
-
|
|
2542
|
-
|
|
2627
|
+
const submitPlan = resolveEventRegistrationSubmitPlan({
|
|
2628
|
+
paymentSelection,
|
|
2629
|
+
eventRequiresPayment,
|
|
2630
|
+
canJoinWaitlist: eligibility?.canJoinWaitlist
|
|
2631
|
+
});
|
|
2632
|
+
if (!submitPlan.ok) {
|
|
2633
|
+
setErrorMessage(submitPlan.message);
|
|
2634
|
+
setStep("error");
|
|
2543
2635
|
return;
|
|
2544
2636
|
}
|
|
2545
|
-
|
|
2546
|
-
|
|
2637
|
+
await handleSubmit(
|
|
2638
|
+
submitPlan.args.method,
|
|
2639
|
+
submitPlan.args.passId,
|
|
2640
|
+
submitPlan.args.membershipId,
|
|
2641
|
+
submitPlan.args.selection
|
|
2642
|
+
);
|
|
2643
|
+
};
|
|
2644
|
+
const handlePaymentSelect = async () => {
|
|
2645
|
+
const submitPlan = resolveEventRegistrationSubmitPlan({
|
|
2646
|
+
paymentSelection,
|
|
2647
|
+
eventRequiresPayment,
|
|
2648
|
+
canJoinWaitlist: eligibility?.canJoinWaitlist
|
|
2649
|
+
});
|
|
2650
|
+
if (!submitPlan.ok) {
|
|
2651
|
+
setErrorMessage(submitPlan.message);
|
|
2652
|
+
setStep("error");
|
|
2547
2653
|
return;
|
|
2548
2654
|
}
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
const handlePaymentSelect = async (method, passId, membershipId) => {
|
|
2556
|
-
await handleSubmit(method, passId, membershipId, paymentSelection.method ? paymentSelection : void 0);
|
|
2655
|
+
await handleSubmit(
|
|
2656
|
+
submitPlan.args.method,
|
|
2657
|
+
submitPlan.args.passId,
|
|
2658
|
+
submitPlan.args.membershipId,
|
|
2659
|
+
submitPlan.args.selection
|
|
2660
|
+
);
|
|
2557
2661
|
};
|
|
2558
2662
|
const handleUseCardInsteadOfPass = () => {
|
|
2559
2663
|
dispatchFlow({ type: "use-card-instead-of-pass" });
|
|
@@ -2577,7 +2681,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2577
2681
|
const discountSubtotalCents = useMemo(() => {
|
|
2578
2682
|
if (discountContext?.type !== "event") return void 0;
|
|
2579
2683
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2580
|
-
const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? (event ? publicEventScalarPrice(event
|
|
2684
|
+
const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? (event ? publicEventScalarPrice(resolveRuntimeEventPricing(event)) : null) ?? 0;
|
|
2581
2685
|
return Math.max(0, eventPriceCents * ticketsCount);
|
|
2582
2686
|
}, [discountContext, selectedTicketType, eligibility, selectedEvent, preSelectedEvent, ticketsCount]);
|
|
2583
2687
|
const discountUi = useDiscountCodeUi({ api, discountContext, subtotalCents: discountSubtotalCents });
|
|
@@ -2665,6 +2769,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2665
2769
|
altchaSolution,
|
|
2666
2770
|
setAltchaSolution,
|
|
2667
2771
|
portalAuthState,
|
|
2772
|
+
portalProfile,
|
|
2668
2773
|
showMagicLinkModal,
|
|
2669
2774
|
setShowMagicLinkModal,
|
|
2670
2775
|
handleLogout,
|
|
@@ -2679,6 +2784,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2679
2784
|
eligibilityError,
|
|
2680
2785
|
existingRegistration: existingRegistrationResult.registration,
|
|
2681
2786
|
existingRegistrationLoading: existingRegistrationResult.isLoading,
|
|
2787
|
+
existingRegistrationState: existingRegistrationResult.state,
|
|
2682
2788
|
hasEligibility,
|
|
2683
2789
|
hasMembershipEligibility,
|
|
2684
2790
|
requireGuestDetails,
|
|
@@ -2737,7 +2843,7 @@ function EventRegistrationWizard(props) {
|
|
|
2737
2843
|
spamProtectionEnabled,
|
|
2738
2844
|
supportEmail
|
|
2739
2845
|
} = props;
|
|
2740
|
-
const maxTicketsNum =
|
|
2846
|
+
const maxTicketsNum = normalizeEventRegistrationMaxTickets(maxTickets);
|
|
2741
2847
|
const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
2742
2848
|
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
2743
2849
|
const wizard = useEventRegistrationWizard({
|
|
@@ -2750,7 +2856,7 @@ function EventRegistrationWizard(props) {
|
|
|
2750
2856
|
if (wizard.scopedEvents.length === 0 && !wizard.occurrenceContext) {
|
|
2751
2857
|
return /* @__PURE__ */ jsx("div", { id: EVENT_REGISTRATION_ANCHOR_ID, className: `event-registration ${className || ""}`, "data-block": "event-registration", children: /* @__PURE__ */ jsx("div", { className: "er-empty", children: /* @__PURE__ */ jsx("p", { className: "er-empty__text", children: "No events available for registration." }) }) });
|
|
2752
2858
|
}
|
|
2753
|
-
const allowedStatuses = wizard.api.config.isPreview
|
|
2859
|
+
const allowedStatuses = getRegistrableStatuses(wizard.api.config.isPreview);
|
|
2754
2860
|
const hasRegistrableEvents = wizard.scopedEvents.some((event) => !event.status || allowedStatuses.includes(event.status));
|
|
2755
2861
|
if (!hasRegistrableEvents && !wizard.occurrenceContext) {
|
|
2756
2862
|
return /* @__PURE__ */ jsx("div", { id: EVENT_REGISTRATION_ANCHOR_ID, className: `event-registration ${className || ""}`, "data-block": "event-registration", children: /* @__PURE__ */ jsx("div", { className: "er-empty", children: /* @__PURE__ */ jsx("p", { className: "er-empty__text", children: "Registration is not currently available for this event." }) }) });
|
|
@@ -3085,8 +3191,9 @@ function EventDetailsView({
|
|
|
3085
3191
|
priceCents: selected.course.priceCents,
|
|
3086
3192
|
currency: selected.course.currency
|
|
3087
3193
|
}) : null;
|
|
3088
|
-
const
|
|
3089
|
-
const
|
|
3194
|
+
const eventPricing = resolveRuntimeEventPricing(selected);
|
|
3195
|
+
const eventPricingType = publicEventPricingType(eventPricing);
|
|
3196
|
+
const eventPricingCurrency = publicEventPricingCurrency(eventPricing) ?? "USD";
|
|
3090
3197
|
const isPaid = eventPricingType === "paid";
|
|
3091
3198
|
const shouldShowCoursePricing = showCost && !isDropIn && coursePricing !== null;
|
|
3092
3199
|
const shouldShowEventCost = showCost && isPaid && !isDropIn && coursePricing === null;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { addPassToCommerceCart, useCommerceCart } from './chunk-
|
|
3
|
-
import { CarouselNodeClient } from './chunk-
|
|
2
|
+
import { addPassToCommerceCart, useCommerceCart } from './chunk-Z5OBQ5I4.mjs';
|
|
3
|
+
import { CarouselNodeClient } from './chunk-JWEYB4V6.mjs';
|
|
4
4
|
import { isRecord } from './chunk-I2MMZO53.mjs';
|
|
5
5
|
import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
|
|
6
6
|
import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
|
|
7
|
-
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-
|
|
7
|
+
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, DiscountCodeDisclosure, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-52I7BGEK.mjs';
|
|
8
8
|
import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-DVNUDUVT.mjs';
|
|
9
9
|
import { useBlockApi, FeedbackMessage, BlockApiProvider } from './chunk-UDNSI5PY.mjs';
|
|
10
10
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever11, reportWorkflowError, clearWorkflowFeedback } from './chunk-
|
|
12
|
-
import { assertNever, ok, err, getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-
|
|
11
|
+
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, deriveCommerceCheckoutState, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever11, reportWorkflowError, clearWorkflowFeedback } from './chunk-HXPWP5EN.mjs';
|
|
12
|
+
import { assertNever, ok, err, getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-ZE5G642V.mjs';
|
|
13
13
|
import * as React3 from 'react';
|
|
14
14
|
import React3__default, { useState, useRef, useCallback, useEffect } from 'react';
|
|
15
15
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-
|
|
1
|
+
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-HXPWP5EN.mjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -1320,7 +1320,7 @@ function rgbColorValue(token) {
|
|
|
1320
1320
|
if (alpha === void 0) {
|
|
1321
1321
|
return `rgb(var(${cssVar}))`;
|
|
1322
1322
|
}
|
|
1323
|
-
return `
|
|
1323
|
+
return `rgb(var(${cssVar}) / ${alpha})`;
|
|
1324
1324
|
}
|
|
1325
1325
|
function backgroundColorStyle(token) {
|
|
1326
1326
|
return { backgroundColor: rgbColorValue(token) };
|