@riverbankcms/sdk 0.98.0 → 0.99.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/dist/{PreviewEditorSidebar-CG3SSJND.mjs → PreviewEditorSidebar-TPOKCCKY.mjs} +3 -3
- package/dist/{PreviewEditorUI-RHNGKAAU.mjs → PreviewEditorUI-Y347GLC2.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-OGTXRQ4M.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -36
- package/dist/_dts/api/src/billing.d.ts +2 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/endpoints.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/siteOperations.d.ts +65 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +151 -0
- package/dist/_dts/billing/src/subscriptions/store.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/components/booking/DatePicker.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/components/booking/TimeSlotSelector.d.ts +10 -4
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/{nodes/event-registration → shared/components}/SelectableOptionCard.d.ts +11 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +16 -5
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/utils/date-formatting.d.ts +17 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +274 -30
- package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +32 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +27 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +63 -0
- package/dist/_dts/sdk/src/client/index.d.ts +6 -0
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +6 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/prebuild/loader.d.ts +8 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +8 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +7 -7
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
- package/dist/_dts/sdk/src/routing/resolveRoute.d.ts +18 -0
- package/dist/_dts/sdk/src/test/apiClient.d.ts +17 -0
- package/dist/_dts/sdk/src/test/bunDom.setup.d.ts +1 -0
- package/dist/_dts/sdk/src/test/env.d.ts +4 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +3 -3
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/generateBaseCSS.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/contextualColors.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/index.d.ts +1 -0
- package/dist/{chunk-H24OU7WG.mjs → chunk-4HXF2QLH.mjs} +2 -2
- package/dist/{chunk-QPXE2OUZ.mjs → chunk-EMJIT3ZJ.mjs} +1 -1
- package/dist/{chunk-PKDPQHB5.mjs → chunk-PM7HGDHM.mjs} +2 -2
- package/dist/{chunk-DBRI3PQF.mjs → chunk-XO34WBBP.mjs} +1383 -1143
- package/dist/{chunk-6WDBXCPX.mjs → chunk-YGTTEVUM.mjs} +7 -7
- package/dist/{chunk-V2BYFSPW.mjs → chunk-YWTCCOSF.mjs} +8 -0
- package/dist/cli/index.mjs +1010 -921
- package/dist/client/{accordion-Q2BDNL53.mjs → accordion-QSUEYL4L.mjs} +2 -2
- package/dist/client/{bookingForm-ZMP4P7EK.mjs → bookingForm-QYGAHPDP.mjs} +364 -300
- package/dist/client/bookings.mjs +697 -411
- package/dist/client/{carousel-LW3UXPWO.mjs → carousel-SM2LEWAU.mjs} +3 -3
- package/dist/client/{cart-Z6D3KS6K.mjs → cart-3N3SFKNQ.mjs} +7 -7
- package/dist/client/{checkout-YMT2QJQM.mjs → checkout-YFAYPKPZ.mjs} +7 -7
- package/dist/client/{chunk-XNTHVZ25.mjs → chunk-5DLGREUB.mjs} +1 -1
- package/dist/client/{chunk-SK2BMD22.mjs → chunk-CLZ7NBSP.mjs} +147 -75
- package/dist/client/{chunk-R4XK3CKR.mjs → chunk-CYJ3MUFP.mjs} +6 -5
- package/dist/client/{chunk-JNE6UI6U.mjs → chunk-H3H3ODO7.mjs} +1 -1
- package/dist/client/{chunk-IEOECM7U.mjs → chunk-HPEQ4YWW.mjs} +28 -73
- package/dist/client/{chunk-PCHACQEB.mjs → chunk-IIUIKJ4K.mjs} +15 -7
- package/dist/client/{chunk-KDP7ZRZV.mjs → chunk-IOAHWAQG.mjs} +2 -0
- package/dist/client/{chunk-26ZBRXFR.mjs → chunk-JTKBF3W2.mjs} +3 -3
- package/dist/client/{chunk-OLAOAZEO.mjs → chunk-K7KTSACR.mjs} +1 -1
- package/dist/client/{chunk-ET2MDQQT.mjs → chunk-R32M5HFS.mjs} +6 -6
- package/dist/client/{chunk-DRRQ7QSL.mjs → chunk-WEVT46PX.mjs} +3 -3
- package/dist/client/{chunk-HBQEAOG4.mjs → chunk-ZU65LTI3.mjs} +1 -1
- package/dist/client/client.mjs +1875 -1581
- package/dist/client/{courseRegistration-DGKCMC77.mjs → courseRegistration-LYBE7VVK.mjs} +7 -7
- package/dist/client/{eventCalendar-74Z2NNFM.mjs → eventCalendar-FMTB75X6.mjs} +9 -9
- package/dist/client/{eventCombined-GK2ODOX2.mjs → eventCombined-E4LUCJXT.mjs} +9 -9
- package/dist/client/{eventDetails-MONAGT3N.mjs → eventDetails-GELSRR4Z.mjs} +9 -9
- package/dist/client/{eventListing-SKGAO6PS.mjs → eventListing-TB623B6R.mjs} +9 -9
- package/dist/client/{eventRegistration-6KISGXRD.mjs → eventRegistration-NRIKHXTI.mjs} +9 -9
- package/dist/client/{form-FXPRTXHI.mjs → form-Y4U4IAXE.mjs} +3 -3
- package/dist/client/{headerSection-7NAN5WNB.mjs → headerSection-QSOVV5P7.mjs} +3 -3
- package/dist/client/hooks.mjs +115 -21
- package/dist/client/{locationMap-UERN74U4.mjs → locationMap-QYCAHH7H.mjs} +3 -3
- package/dist/client/{newsletterForm-SGWXMJ7U.mjs → newsletterForm-NWHY5TBY.mjs} +3 -3
- package/dist/client/{productDetail-HN3HWZQZ.mjs → productDetail-FYDMU2CE.mjs} +7 -7
- package/dist/client/{productList-YT22Z5UR.mjs → productList-D76CGACQ.mjs} +7 -7
- package/dist/client/rendering/client.mjs +1209 -975
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1952 -1638
- package/dist/client/{shop-TKEDNWUS.mjs → shop-SOUACT5N.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +8 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +8 -0
- package/dist/{sdk-runtime-LWNYCQF2.mjs → sdk-runtime-XPVE3LBA.mjs} +6 -6
- package/dist/server/components.mjs +917 -765
- package/dist/server/config-validation.mjs +100 -19
- package/dist/server/config.mjs +100 -19
- package/dist/server/data.mjs +115 -21
- package/dist/server/index.mjs +59 -25
- package/dist/server/next.mjs +1017 -816
- package/dist/server/page-converter.mjs +92 -19
- package/dist/server/prebuild-loader.mjs +42 -23
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +932 -767
- package/dist/server/rendering.mjs +968 -776
- package/dist/server/routing.mjs +162 -36
- package/dist/server/server.mjs +156 -32
- package/dist/server/theme-bridge.mjs +597 -505
- package/dist/server/theme.mjs +5 -4
- package/dist/styles/index.css +499 -490
- package/package.json +6 -4
- package/dist/SdkPreviewModeRuntime-OV5PNJBB.mjs +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { unwrapResponse, ApiRequestError, ApiEnvelopeError, extractApiEnvelopeErrorDetails } from './chunk-
|
|
2
|
+
import { unwrapResponse, ApiRequestError, ApiEnvelopeError, extractApiEnvelopeErrorDetails } from './chunk-YWTCCOSF.mjs';
|
|
3
3
|
import { __commonJS, __export, __toESM } from './chunk-R7POPVJR.mjs';
|
|
4
4
|
import * as React61 from 'react';
|
|
5
5
|
import React61__default, { createContext, forwardRef, useContext, createElement, useRef, useMemo, useEffect, useState, useCallback, useImperativeHandle, useLayoutEffect, memo, createRef, Component as Component$1, useDebugValue, useId as useId$1, useSyncExternalStore, isValidElement, cloneElement, useReducer, startTransition } from 'react';
|
|
@@ -429,6 +429,13 @@ function assertNever3(value) {
|
|
|
429
429
|
// ../core/src/booking-date-time.ts
|
|
430
430
|
var DEFAULT_LOCALE = "en-US";
|
|
431
431
|
var FALLBACK_TIMEZONE = "UTC";
|
|
432
|
+
var DEFAULT_BOOKING_DATE_TIME_FORMAT = {
|
|
433
|
+
weekday: "short",
|
|
434
|
+
month: "short",
|
|
435
|
+
day: "numeric",
|
|
436
|
+
hour: "numeric",
|
|
437
|
+
minute: "2-digit"
|
|
438
|
+
};
|
|
432
439
|
var LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
|
|
433
440
|
function isValidTimeZone(timeZone) {
|
|
434
441
|
try {
|
|
@@ -631,13 +638,14 @@ function formatBookingTime(input, format2 = {
|
|
|
631
638
|
format: format2
|
|
632
639
|
});
|
|
633
640
|
}
|
|
634
|
-
function formatBookingDateTime(input, format2 = {
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
}) {
|
|
641
|
+
function formatBookingDateTime(input, format2 = DEFAULT_BOOKING_DATE_TIME_FORMAT) {
|
|
642
|
+
if (format2 === DEFAULT_BOOKING_DATE_TIME_FORMAT) {
|
|
643
|
+
return `${formatBookingDate(input, {
|
|
644
|
+
weekday: "short",
|
|
645
|
+
month: "short",
|
|
646
|
+
day: "numeric"
|
|
647
|
+
})}, ${formatBookingTime(input)}`;
|
|
648
|
+
}
|
|
641
649
|
return formatBookingInstant(input.startsAt, {
|
|
642
650
|
locale: input.locale,
|
|
643
651
|
timeZone: input.timeZone,
|
|
@@ -37427,6 +37435,79 @@ var TokenResolver = class {
|
|
|
37427
37435
|
}
|
|
37428
37436
|
};
|
|
37429
37437
|
|
|
37438
|
+
// ../theme-core/src/interactive/generateBaseCSS.ts
|
|
37439
|
+
var FONT_WEIGHT_MAP = {
|
|
37440
|
+
regular: 400,
|
|
37441
|
+
medium: 500,
|
|
37442
|
+
semibold: 600,
|
|
37443
|
+
bold: 700
|
|
37444
|
+
};
|
|
37445
|
+
function generateBaseInteractiveCSS(options) {
|
|
37446
|
+
const {
|
|
37447
|
+
typography,
|
|
37448
|
+
padding,
|
|
37449
|
+
borderRadius,
|
|
37450
|
+
includeTransition = true,
|
|
37451
|
+
includeFlexCenter = false,
|
|
37452
|
+
borderWidth
|
|
37453
|
+
} = options;
|
|
37454
|
+
const rules = [];
|
|
37455
|
+
if (typography.fontWeight !== void 0) {
|
|
37456
|
+
const weight = typeof typography.fontWeight === "number" ? typography.fontWeight : FONT_WEIGHT_MAP[typography.fontWeight];
|
|
37457
|
+
rules.push(`font-weight: ${weight};`);
|
|
37458
|
+
}
|
|
37459
|
+
if (typography.typography === "heading") {
|
|
37460
|
+
rules.push(`font-family: var(--font-heading);`);
|
|
37461
|
+
rules.push(`letter-spacing: var(--ls-heading);`);
|
|
37462
|
+
} else if (typography.typography === "body") {
|
|
37463
|
+
rules.push(`font-family: var(--font-body);`);
|
|
37464
|
+
}
|
|
37465
|
+
if (typography.italic) {
|
|
37466
|
+
rules.push(`font-style: italic;`);
|
|
37467
|
+
}
|
|
37468
|
+
if (typography.textTransform && typography.textTransform !== "none") {
|
|
37469
|
+
rules.push(`text-transform: ${typography.textTransform};`);
|
|
37470
|
+
}
|
|
37471
|
+
if (padding) {
|
|
37472
|
+
if (borderWidth && borderWidth !== "0px") {
|
|
37473
|
+
const paddingParts = padding.split(" ");
|
|
37474
|
+
const verticalPadding = paddingParts[0] || "0.5rem";
|
|
37475
|
+
const horizontalPadding = paddingParts[1] || paddingParts[0] || "1rem";
|
|
37476
|
+
rules.push(`padding-top: calc(${verticalPadding} - ${borderWidth} - 1px);`);
|
|
37477
|
+
rules.push(`padding-bottom: calc(${verticalPadding} - ${borderWidth} - 1px);`);
|
|
37478
|
+
rules.push(`padding-left: calc(${horizontalPadding} - ${borderWidth});`);
|
|
37479
|
+
rules.push(`padding-right: calc(${horizontalPadding} - ${borderWidth});`);
|
|
37480
|
+
} else {
|
|
37481
|
+
rules.push(`padding: ${padding};`);
|
|
37482
|
+
}
|
|
37483
|
+
}
|
|
37484
|
+
if (borderRadius) {
|
|
37485
|
+
rules.push(`border-radius: ${borderRadius};`);
|
|
37486
|
+
}
|
|
37487
|
+
if (includeTransition) {
|
|
37488
|
+
rules.push(`transition: all 200ms ease;`);
|
|
37489
|
+
}
|
|
37490
|
+
if (includeFlexCenter) {
|
|
37491
|
+
rules.push(`display: inline-flex;`);
|
|
37492
|
+
rules.push(`align-items: center;`);
|
|
37493
|
+
rules.push(`justify-content: center;`);
|
|
37494
|
+
rules.push(`cursor: pointer;`);
|
|
37495
|
+
}
|
|
37496
|
+
return rules;
|
|
37497
|
+
}
|
|
37498
|
+
function generateInteractiveChildInheritanceCSS(selector) {
|
|
37499
|
+
return `
|
|
37500
|
+
${selector} * {
|
|
37501
|
+
font-family: inherit;
|
|
37502
|
+
font-weight: inherit;
|
|
37503
|
+
font-style: inherit;
|
|
37504
|
+
letter-spacing: inherit;
|
|
37505
|
+
text-transform: inherit;
|
|
37506
|
+
color: inherit;
|
|
37507
|
+
}
|
|
37508
|
+
`;
|
|
37509
|
+
}
|
|
37510
|
+
|
|
37430
37511
|
// ../theme-core/src/buttons/effects/presets/background.ts
|
|
37431
37512
|
var darkenBackgroundEffect = {
|
|
37432
37513
|
id: "darken-background",
|
|
@@ -38908,7 +38989,9 @@ function resolveAliasSource(enabled) {
|
|
|
38908
38989
|
function variantChunks(variant, global, themeSizes, themeId, tokens, theme) {
|
|
38909
38990
|
const out = [];
|
|
38910
38991
|
const variantId = parseButtonVariantIdForCss(variant.id);
|
|
38911
|
-
|
|
38992
|
+
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}`;
|
|
38993
|
+
out.push(variantBaseRule(variant, selector, global, tokens, theme));
|
|
38994
|
+
out.push({ raw: generateInteractiveChildInheritanceCSS(selector) });
|
|
38912
38995
|
const hoverBg = variantHoverBackgroundRule(variant, variantId, global, themeId, tokens);
|
|
38913
38996
|
if (hoverBg) out.push(hoverBg);
|
|
38914
38997
|
out.push(variantFocusVisibleRule(variantId, themeId));
|
|
@@ -38925,8 +39008,7 @@ function parseButtonVariantIdForCss(value) {
|
|
|
38925
39008
|
}
|
|
38926
39009
|
return variantId;
|
|
38927
39010
|
}
|
|
38928
|
-
function variantBaseRule(variant,
|
|
38929
|
-
const selector = `:where([data-theme-scope="${themeId}"]) ${themeButtonSelector(variantId)}`;
|
|
39011
|
+
function variantBaseRule(variant, selector, global, tokens, theme) {
|
|
38930
39012
|
const decls = [];
|
|
38931
39013
|
decls.push(["font-weight", String(global.fontWeight)]);
|
|
38932
39014
|
decls.push(["font-family", resolveFontFamily(global)]);
|
|
@@ -39559,15 +39641,16 @@ var joyStamp = defineButtonPersonality({
|
|
|
39559
39641
|
// 700, matching the mockup's chunky button labels.
|
|
39560
39642
|
typography: "heading",
|
|
39561
39643
|
fontWeight: 700,
|
|
39644
|
+
fontSize: "text-lg",
|
|
39562
39645
|
borderWidth: 2,
|
|
39563
39646
|
hoverTransform: "none",
|
|
39564
39647
|
hoverColor: "none"
|
|
39565
39648
|
},
|
|
39566
39649
|
sizes: {
|
|
39567
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "text-
|
|
39568
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "text-
|
|
39569
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "text-
|
|
39570
|
-
xl: { padding: "1.25rem 2.75rem", fontSize: "text-
|
|
39650
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-base" },
|
|
39651
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-lg" },
|
|
39652
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-xl" },
|
|
39653
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-2xl" }
|
|
39571
39654
|
},
|
|
39572
39655
|
variants: [
|
|
39573
39656
|
{
|
|
@@ -40150,6 +40233,20 @@ function generateDefaultCardSystem(theme) {
|
|
|
40150
40233
|
};
|
|
40151
40234
|
}
|
|
40152
40235
|
|
|
40236
|
+
// ../theme-core/src/status/contextualColors.ts
|
|
40237
|
+
var STATUS_MUTED_COLOR_VAR = "--rb-status-muted-color";
|
|
40238
|
+
var DEFAULT_STATUS_MUTED_COLOR = "rgb(var(--tb-mutedText))";
|
|
40239
|
+
var SURFACE_MUTED_STATUS_COLOR = "color-mix(in oklab, currentColor, transparent 18%)";
|
|
40240
|
+
function statusMutedColorValue() {
|
|
40241
|
+
return `var(${STATUS_MUTED_COLOR_VAR}, ${DEFAULT_STATUS_MUTED_COLOR})`;
|
|
40242
|
+
}
|
|
40243
|
+
function statusMutedColorDeclaration() {
|
|
40244
|
+
return `color: ${statusMutedColorValue()};`;
|
|
40245
|
+
}
|
|
40246
|
+
function contextualMutedStatusColorDeclaration(value) {
|
|
40247
|
+
return `${STATUS_MUTED_COLOR_VAR}: ${value}`;
|
|
40248
|
+
}
|
|
40249
|
+
|
|
40153
40250
|
// ../theme-core/src/cards/generateCardCss.ts
|
|
40154
40251
|
var PER_CORNER_RADIUS_MAP = {
|
|
40155
40252
|
square: "0",
|
|
@@ -40223,6 +40320,7 @@ function generateVariantCSS(variant, themeId, tokens, theme) {
|
|
|
40223
40320
|
if (variant.foregroundToken) {
|
|
40224
40321
|
rules.push(`color: ${tokens.getColor(variant.foregroundToken)}`);
|
|
40225
40322
|
}
|
|
40323
|
+
rules.push(contextualMutedStatusColorDeclaration(SURFACE_MUTED_STATUS_COLOR));
|
|
40226
40324
|
if (variant.accentEdge) {
|
|
40227
40325
|
const side = ACCENT_EDGE_SIDE_MAP[variant.accentEdge.edge];
|
|
40228
40326
|
const width = ACCENT_EDGE_WIDTH_MAP[variant.accentEdge.width];
|
|
@@ -40475,7 +40573,7 @@ var LABEL_FONT_SIZE_MAP = {
|
|
|
40475
40573
|
base: "1rem"
|
|
40476
40574
|
// 16px
|
|
40477
40575
|
};
|
|
40478
|
-
var
|
|
40576
|
+
var FONT_WEIGHT_MAP2 = {
|
|
40479
40577
|
regular: "400",
|
|
40480
40578
|
medium: "500",
|
|
40481
40579
|
semibold: "600",
|
|
@@ -75290,14 +75388,27 @@ function BookingFormSSR({
|
|
|
75290
75388
|
return /* @__PURE__ */ jsxs(
|
|
75291
75389
|
"div",
|
|
75292
75390
|
{
|
|
75293
|
-
className: `booking-form-ssr ${className ?? ""}`.trim(),
|
|
75391
|
+
className: `rb-reg-surface booking-form-ssr ${display.state === "missing" ? "" : "ab-shell "}${className ?? ""}`.trim(),
|
|
75294
75392
|
...getIslandRootProps("booking-form", blockId),
|
|
75393
|
+
"aria-busy": display.state === "missing" ? void 0 : true,
|
|
75394
|
+
"aria-label": display.state === "missing" ? void 0 : "Loading booking form",
|
|
75395
|
+
role: display.state === "missing" ? void 0 : "status",
|
|
75295
75396
|
children: [
|
|
75296
75397
|
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
75297
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
75298
|
-
/* @__PURE__ */ jsx("
|
|
75299
|
-
|
|
75300
|
-
|
|
75398
|
+
display.state === "missing" ? /* @__PURE__ */ jsx("div", { className: "alert alert-error", role: "alert", children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: display.message }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
75399
|
+
/* @__PURE__ */ jsx("span", { className: "rb-sr-only", children: "Loading booking form..." }),
|
|
75400
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-reg-stack", "aria-hidden": "true", children: [
|
|
75401
|
+
/* @__PURE__ */ jsx("div", { className: "rb-reg-summary", children: /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
75402
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--md" }),
|
|
75403
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--sm" })
|
|
75404
|
+
] }) }),
|
|
75405
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
75406
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--lg" }),
|
|
75407
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--xs" })
|
|
75408
|
+
] }),
|
|
75409
|
+
/* @__PURE__ */ jsx("div", { className: "rb-wizard-actions", children: /* @__PURE__ */ jsx("div", { className: "ab-shell-button", children: display.submitLabel }) })
|
|
75410
|
+
] })
|
|
75411
|
+
] }),
|
|
75301
75412
|
children
|
|
75302
75413
|
]
|
|
75303
75414
|
}
|
|
@@ -77855,20 +77966,38 @@ function EventRegistrationShell({
|
|
|
77855
77966
|
"div",
|
|
77856
77967
|
{
|
|
77857
77968
|
id: EVENT_REGISTRATION_ANCHOR_ID,
|
|
77858
|
-
className: "er-container er-registration-shell",
|
|
77969
|
+
className: "rb-reg-surface er-container er-registration-shell",
|
|
77859
77970
|
"aria-busy": "true",
|
|
77860
77971
|
role: "status",
|
|
77861
77972
|
children: /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
|
|
77862
77973
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
|
|
77863
|
-
/* @__PURE__ */ jsx("div", { className: "er-steps-nav er-registration-shell__steps", "aria-hidden": "true", children: /* @__PURE__ */ jsx("ol", { className: "er-steps", children: display.stepLabels.map((label, index2) => {
|
|
77974
|
+
/* @__PURE__ */ jsx("div", { className: "rb-steps-nav er-steps-nav er-registration-shell__steps", "aria-hidden": "true", children: /* @__PURE__ */ jsx("ol", { className: "rb-steps er-steps", children: display.stepLabels.map((label, index2) => {
|
|
77864
77975
|
const isActive2 = index2 === 0;
|
|
77865
|
-
return /* @__PURE__ */ jsxs("li", { className: "er-step", children: [
|
|
77866
|
-
/* @__PURE__ */ jsx(
|
|
77867
|
-
|
|
77868
|
-
|
|
77976
|
+
return /* @__PURE__ */ jsxs("li", { className: "rb-step er-step", children: [
|
|
77977
|
+
/* @__PURE__ */ jsx(
|
|
77978
|
+
"span",
|
|
77979
|
+
{
|
|
77980
|
+
className: cx(
|
|
77981
|
+
"rb-step-circle er-step-circle",
|
|
77982
|
+
isActive2 && "rb-step-circle--active er-step-circle--active"
|
|
77983
|
+
),
|
|
77984
|
+
children: index2 + 1
|
|
77985
|
+
}
|
|
77986
|
+
),
|
|
77987
|
+
/* @__PURE__ */ jsx(
|
|
77988
|
+
"span",
|
|
77989
|
+
{
|
|
77990
|
+
className: cx(
|
|
77991
|
+
"rb-step-label er-step-label",
|
|
77992
|
+
isActive2 && "rb-step-label--active er-step-label--active"
|
|
77993
|
+
),
|
|
77994
|
+
children: label
|
|
77995
|
+
}
|
|
77996
|
+
),
|
|
77997
|
+
index2 < display.stepLabels.length - 1 ? /* @__PURE__ */ jsx("span", { className: "rb-step-connector er-step-connector" }) : null
|
|
77869
77998
|
] }, label);
|
|
77870
77999
|
}) }) }),
|
|
77871
|
-
/* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
78000
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
77872
78001
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
77873
78002
|
/* @__PURE__ */ jsx("p", { className: "er-registration-shell__eyebrow", children: "Registration" }),
|
|
77874
78003
|
/* @__PURE__ */ jsx("h3", { className: "er-title er-registration-shell__title", children: display.titleText }),
|
|
@@ -77876,20 +78005,20 @@ function EventRegistrationShell({
|
|
|
77876
78005
|
] }),
|
|
77877
78006
|
/* @__PURE__ */ jsxs("div", { className: "er-event-grid er-registration-shell__cards", "aria-hidden": "true", children: [
|
|
77878
78007
|
/* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
|
|
77879
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--lg" }),
|
|
77880
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--sm" })
|
|
78008
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--lg er-registration-shell__line er-registration-shell__line--lg" }),
|
|
78009
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--sm er-registration-shell__line er-registration-shell__line--sm" })
|
|
77881
78010
|
] }),
|
|
77882
78011
|
/* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
|
|
77883
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--md" }),
|
|
77884
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--xs" })
|
|
78012
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--md er-registration-shell__line er-registration-shell__line--md" }),
|
|
78013
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--xs er-registration-shell__line er-registration-shell__line--xs" })
|
|
77885
78014
|
] })
|
|
77886
78015
|
] })
|
|
77887
78016
|
] })
|
|
77888
78017
|
] }),
|
|
77889
78018
|
/* @__PURE__ */ jsx("div", { className: "er-payment-layout-footer", children: /* @__PURE__ */ jsxs("div", { className: "er-summary-bar er-registration-shell__summary", "aria-hidden": "true", children: [
|
|
77890
78019
|
/* @__PURE__ */ jsxs("div", { className: "er-summary-bar-info", children: [
|
|
77891
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--md" }),
|
|
77892
|
-
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--xs" })
|
|
78020
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--md er-registration-shell__line er-registration-shell__line--md" }),
|
|
78021
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-line rb-shell-line--xs er-registration-shell__line er-registration-shell__line--xs" })
|
|
77893
78022
|
] }),
|
|
77894
78023
|
/* @__PURE__ */ jsx("div", { className: "er-registration-shell__button-placeholder", children: display.summaryButtonText })
|
|
77895
78024
|
] }) })
|
|
@@ -77905,6 +78034,7 @@ function FeedbackMessage({
|
|
|
77905
78034
|
tone,
|
|
77906
78035
|
children,
|
|
77907
78036
|
className,
|
|
78037
|
+
id,
|
|
77908
78038
|
title,
|
|
77909
78039
|
titleClassName,
|
|
77910
78040
|
bodyClassName,
|
|
@@ -77916,6 +78046,7 @@ function FeedbackMessage({
|
|
|
77916
78046
|
return /* @__PURE__ */ jsxs(
|
|
77917
78047
|
"div",
|
|
77918
78048
|
{
|
|
78049
|
+
id,
|
|
77919
78050
|
className,
|
|
77920
78051
|
"data-feedback-tone": tone,
|
|
77921
78052
|
role,
|
|
@@ -80127,7 +80258,7 @@ function generateInputCss({
|
|
|
80127
80258
|
const labelSelector = `${rootSelector} .form-label`;
|
|
80128
80259
|
const labelRules = [];
|
|
80129
80260
|
labelRules.push(`color: ${rgbColorValue(inputSystem.label.textColorToken)}`);
|
|
80130
|
-
labelRules.push(`font-weight: ${
|
|
80261
|
+
labelRules.push(`font-weight: ${FONT_WEIGHT_MAP2[inputSystem.label.fontWeight]}`);
|
|
80131
80262
|
labelRules.push(`font-size: ${LABEL_FONT_SIZE_MAP[inputSystem.label.fontSize]}`);
|
|
80132
80263
|
if (inputSystem.label.textTransform && inputSystem.label.textTransform !== "none") {
|
|
80133
80264
|
labelRules.push(`text-transform: ${inputSystem.label.textTransform}`);
|
|
@@ -80368,67 +80499,6 @@ function generateDefaultInputSystem(theme) {
|
|
|
80368
80499
|
};
|
|
80369
80500
|
}
|
|
80370
80501
|
|
|
80371
|
-
// ../theme-core/src/interactive/generateBaseCSS.ts
|
|
80372
|
-
var FONT_WEIGHT_MAP2 = {
|
|
80373
|
-
regular: 400,
|
|
80374
|
-
medium: 500,
|
|
80375
|
-
semibold: 600,
|
|
80376
|
-
bold: 700
|
|
80377
|
-
};
|
|
80378
|
-
function generateBaseInteractiveCSS(options) {
|
|
80379
|
-
const {
|
|
80380
|
-
typography,
|
|
80381
|
-
padding,
|
|
80382
|
-
borderRadius,
|
|
80383
|
-
includeTransition = true,
|
|
80384
|
-
includeFlexCenter = false,
|
|
80385
|
-
borderWidth
|
|
80386
|
-
} = options;
|
|
80387
|
-
const rules = [];
|
|
80388
|
-
if (typography.fontWeight !== void 0) {
|
|
80389
|
-
const weight = typeof typography.fontWeight === "number" ? typography.fontWeight : FONT_WEIGHT_MAP2[typography.fontWeight];
|
|
80390
|
-
rules.push(`font-weight: ${weight};`);
|
|
80391
|
-
}
|
|
80392
|
-
if (typography.typography === "heading") {
|
|
80393
|
-
rules.push(`font-family: var(--font-heading);`);
|
|
80394
|
-
rules.push(`letter-spacing: var(--ls-heading);`);
|
|
80395
|
-
} else if (typography.typography === "body") {
|
|
80396
|
-
rules.push(`font-family: var(--font-body);`);
|
|
80397
|
-
}
|
|
80398
|
-
if (typography.italic) {
|
|
80399
|
-
rules.push(`font-style: italic;`);
|
|
80400
|
-
}
|
|
80401
|
-
if (typography.textTransform && typography.textTransform !== "none") {
|
|
80402
|
-
rules.push(`text-transform: ${typography.textTransform};`);
|
|
80403
|
-
}
|
|
80404
|
-
if (padding) {
|
|
80405
|
-
if (borderWidth && borderWidth !== "0px") {
|
|
80406
|
-
const paddingParts = padding.split(" ");
|
|
80407
|
-
const verticalPadding = paddingParts[0] || "0.5rem";
|
|
80408
|
-
const horizontalPadding = paddingParts[1] || paddingParts[0] || "1rem";
|
|
80409
|
-
rules.push(`padding-top: calc(${verticalPadding} - ${borderWidth} - 1px);`);
|
|
80410
|
-
rules.push(`padding-bottom: calc(${verticalPadding} - ${borderWidth} - 1px);`);
|
|
80411
|
-
rules.push(`padding-left: calc(${horizontalPadding} - ${borderWidth});`);
|
|
80412
|
-
rules.push(`padding-right: calc(${horizontalPadding} - ${borderWidth});`);
|
|
80413
|
-
} else {
|
|
80414
|
-
rules.push(`padding: ${padding};`);
|
|
80415
|
-
}
|
|
80416
|
-
}
|
|
80417
|
-
if (borderRadius) {
|
|
80418
|
-
rules.push(`border-radius: ${borderRadius};`);
|
|
80419
|
-
}
|
|
80420
|
-
if (includeTransition) {
|
|
80421
|
-
rules.push(`transition: all 200ms ease;`);
|
|
80422
|
-
}
|
|
80423
|
-
if (includeFlexCenter) {
|
|
80424
|
-
rules.push(`display: inline-flex;`);
|
|
80425
|
-
rules.push(`align-items: center;`);
|
|
80426
|
-
rules.push(`justify-content: center;`);
|
|
80427
|
-
rules.push(`cursor: pointer;`);
|
|
80428
|
-
}
|
|
80429
|
-
return rules;
|
|
80430
|
-
}
|
|
80431
|
-
|
|
80432
80502
|
// ../theme-core/src/navigation/generateNavLinkCSS.ts
|
|
80433
80503
|
function generateNavLinkCSS(options) {
|
|
80434
80504
|
const { themeId, tokens, theme, style: style2, className } = options;
|
|
@@ -80515,14 +80585,7 @@ ${activeSelector} {
|
|
|
80515
80585
|
}
|
|
80516
80586
|
`);
|
|
80517
80587
|
}
|
|
80518
|
-
cssChunks.push(
|
|
80519
|
-
${selector} * {
|
|
80520
|
-
font-family: inherit;
|
|
80521
|
-
font-weight: inherit;
|
|
80522
|
-
letter-spacing: inherit;
|
|
80523
|
-
color: inherit;
|
|
80524
|
-
}
|
|
80525
|
-
`);
|
|
80588
|
+
cssChunks.push(generateInteractiveChildInheritanceCSS(selector));
|
|
80526
80589
|
return cssChunks.join("");
|
|
80527
80590
|
}
|
|
80528
80591
|
function buildTextContrastShadow(input) {
|
|
@@ -81819,7 +81882,7 @@ ${root} .status-error { color: rgb(var(--tb-destructive)); }
|
|
|
81819
81882
|
${root} .status-success { color: rgb(var(--tb-success)); }
|
|
81820
81883
|
${root} .status-warning { color: rgb(var(--tb-warning)); }
|
|
81821
81884
|
${root} .status-info { color: rgb(var(--tb-info)); }
|
|
81822
|
-
${root} .status-muted {
|
|
81885
|
+
${root} .status-muted { ${statusMutedColorDeclaration()} }`);
|
|
81823
81886
|
cssBlocks.push(`/* Alert containers */
|
|
81824
81887
|
${root} .alert {
|
|
81825
81888
|
padding: 1rem;
|
|
@@ -82135,6 +82198,34 @@ ${root} {
|
|
|
82135
82198
|
/* Order summary */
|
|
82136
82199
|
--er-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
82137
82200
|
--er-summary-border: rgb(var(--tb-border));
|
|
82201
|
+
|
|
82202
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
82203
|
+
Route the shared --rb-reg-* contract through this block's documented
|
|
82204
|
+
Tier 3 vars so existing --er-* overrides keep working unchanged. */
|
|
82205
|
+
--rb-reg-radius: var(--er-radius);
|
|
82206
|
+
--rb-reg-border: var(--er-border);
|
|
82207
|
+
--rb-reg-border-hover: var(--er-border-hover);
|
|
82208
|
+
--rb-reg-border-selected: var(--er-border-selected);
|
|
82209
|
+
--rb-reg-bg-selected: var(--er-payment-bg-selected);
|
|
82210
|
+
--rb-reg-option-bg: var(--er-control-bg);
|
|
82211
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
82212
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
82213
|
+
--rb-reg-on-surface: var(--er-on-surface);
|
|
82214
|
+
--rb-reg-on-surface-muted: var(--er-on-surface-muted);
|
|
82215
|
+
--rb-reg-on-surface-subtle: var(--er-on-surface-subtle);
|
|
82216
|
+
--rb-reg-on-surface-faint: var(--er-on-surface-faint);
|
|
82217
|
+
--rb-reg-check-bg: var(--er-check-bg);
|
|
82218
|
+
--rb-reg-check-text: var(--er-check-text);
|
|
82219
|
+
--rb-reg-step-active: var(--er-step-active);
|
|
82220
|
+
--rb-reg-step-completed: var(--er-step-completed);
|
|
82221
|
+
--rb-reg-step-inactive: var(--er-step-inactive);
|
|
82222
|
+
--rb-reg-step-text: var(--er-step-text);
|
|
82223
|
+
--rb-reg-step-text-active: var(--er-step-text-active);
|
|
82224
|
+
--rb-reg-step-connector: var(--er-step-connector);
|
|
82225
|
+
--rb-reg-summary-bg: var(--er-surface-muted);
|
|
82226
|
+
--rb-reg-summary-border: var(--er-border);
|
|
82227
|
+
--rb-reg-focus-ring: var(--er-focus-ring);
|
|
82228
|
+
--rb-reg-shell-line: var(--er-shell-line);
|
|
82138
82229
|
}
|
|
82139
82230
|
`;
|
|
82140
82231
|
}
|
|
@@ -82267,25 +82358,40 @@ ${root} {
|
|
|
82267
82358
|
--ab-info-bg: rgba(var(--tb-info), 0.1);
|
|
82268
82359
|
--ab-info-text: rgb(var(--tb-info));
|
|
82269
82360
|
|
|
82270
|
-
/*
|
|
82361
|
+
/* Muted summary state */
|
|
82271
82362
|
--ab-muted-bg: rgba(var(--tb-text), 0.05);
|
|
82272
|
-
--ab-muted-text: rgba(var(--tb-text), 0.6);
|
|
82273
|
-
--ab-spinner-color: rgb(var(--tb-primary));
|
|
82274
82363
|
|
|
82275
|
-
/*
|
|
82276
|
-
--ab-input-border: rgb(var(--tb-border));
|
|
82364
|
+
/* Focus ring used by shared registration-surface controls */
|
|
82277
82365
|
--ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
82278
82366
|
|
|
82279
|
-
/*
|
|
82280
|
-
|
|
82281
|
-
|
|
82282
|
-
|
|
82283
|
-
--
|
|
82284
|
-
--
|
|
82285
|
-
|
|
82286
|
-
|
|
82287
|
-
--
|
|
82288
|
-
--
|
|
82367
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
82368
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
82369
|
+
(palette tokens where no --ab-* var exists) so --ab-* overrides keep
|
|
82370
|
+
working as the block adopts the shared classes. */
|
|
82371
|
+
--rb-reg-radius: var(--ab-card-radius, var(--rb-block-radius));
|
|
82372
|
+
--rb-reg-border: var(--ab-card-border);
|
|
82373
|
+
--rb-reg-border-hover: var(--ab-card-border-hover);
|
|
82374
|
+
--rb-reg-border-selected: var(--ab-card-border-selected);
|
|
82375
|
+
--rb-reg-bg-selected: var(--ab-card-bg-selected);
|
|
82376
|
+
--rb-reg-option-bg: transparent;
|
|
82377
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
82378
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
82379
|
+
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
82380
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
82381
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
82382
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
82383
|
+
--rb-reg-check-bg: var(--ab-check-bg);
|
|
82384
|
+
--rb-reg-check-text: var(--ab-check-text);
|
|
82385
|
+
--rb-reg-step-active: rgb(var(--tb-primary));
|
|
82386
|
+
--rb-reg-step-completed: rgb(var(--tb-success));
|
|
82387
|
+
--rb-reg-step-inactive: rgb(var(--tb-mutedText));
|
|
82388
|
+
--rb-reg-step-text: rgb(255 255 255);
|
|
82389
|
+
--rb-reg-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
82390
|
+
--rb-reg-step-connector: rgba(var(--tb-border), 0.5);
|
|
82391
|
+
--rb-reg-summary-bg: var(--ab-muted-bg);
|
|
82392
|
+
--rb-reg-summary-border: var(--ab-card-border);
|
|
82393
|
+
--rb-reg-focus-ring: var(--ab-input-focus-ring);
|
|
82394
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
82289
82395
|
}
|
|
82290
82396
|
`;
|
|
82291
82397
|
}
|
|
@@ -82576,6 +82682,35 @@ ${root} {
|
|
|
82576
82682
|
/* Summary */
|
|
82577
82683
|
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
82578
82684
|
--cr-summary-border: rgb(var(--tb-border));
|
|
82685
|
+
|
|
82686
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
82687
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
82688
|
+
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
82689
|
+
keep working unchanged. */
|
|
82690
|
+
--rb-reg-radius: var(--rb-block-radius);
|
|
82691
|
+
--rb-reg-border: var(--cr-border);
|
|
82692
|
+
--rb-reg-border-hover: var(--cr-border-hover);
|
|
82693
|
+
--rb-reg-border-selected: var(--cr-border-selected);
|
|
82694
|
+
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
82695
|
+
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
82696
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
82697
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
82698
|
+
--rb-reg-on-surface: var(--cr-on-surface);
|
|
82699
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
82700
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
82701
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
82702
|
+
--rb-reg-check-bg: var(--cr-check-bg);
|
|
82703
|
+
--rb-reg-check-text: var(--cr-check-text);
|
|
82704
|
+
--rb-reg-step-active: var(--cr-step-active);
|
|
82705
|
+
--rb-reg-step-completed: var(--cr-step-completed);
|
|
82706
|
+
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
82707
|
+
--rb-reg-step-text: var(--cr-step-text);
|
|
82708
|
+
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
82709
|
+
--rb-reg-step-connector: var(--cr-step-connector);
|
|
82710
|
+
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
82711
|
+
--rb-reg-summary-border: var(--cr-summary-border);
|
|
82712
|
+
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
82713
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
82579
82714
|
}
|
|
82580
82715
|
`;
|
|
82581
82716
|
}
|
|
@@ -83838,6 +83973,8 @@ var MemoBlockSection = React61.memo(
|
|
|
83838
83973
|
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
83839
83974
|
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
83840
83975
|
contentEntry: dataContext?.contentEntry ?? null,
|
|
83976
|
+
pageSurface: dataContext?.pageSurface ?? null,
|
|
83977
|
+
subject: dataContext?.subject ?? null,
|
|
83841
83978
|
supabaseUrl: dataContext?.supabaseUrl,
|
|
83842
83979
|
imageResolveContext: resolvedImageResolveContext,
|
|
83843
83980
|
blockId: block.id ?? null,
|
|
@@ -83966,6 +84103,8 @@ var MemoBlockSection = React61.memo(
|
|
|
83966
84103
|
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
83967
84104
|
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
83968
84105
|
contentEntry: dataContext?.contentEntry ?? null,
|
|
84106
|
+
pageSurface: dataContext?.pageSurface ?? null,
|
|
84107
|
+
subject: dataContext?.subject ?? null,
|
|
83969
84108
|
supabaseUrl: dataContext?.supabaseUrl,
|
|
83970
84109
|
imageResolveContext: resolvedImageResolveContext,
|
|
83971
84110
|
blockId: block.id ?? null,
|
|
@@ -83993,7 +84132,9 @@ var MemoBlockSection = React61.memo(
|
|
|
83993
84132
|
// Occurrence and content entry context for template pages
|
|
83994
84133
|
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
83995
84134
|
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
83996
|
-
contentEntry: dataContext?.contentEntry ?? null
|
|
84135
|
+
contentEntry: dataContext?.contentEntry ?? null,
|
|
84136
|
+
pageSurface: dataContext?.pageSurface ?? null,
|
|
84137
|
+
subject: dataContext?.subject ?? null
|
|
83997
84138
|
}
|
|
83998
84139
|
};
|
|
83999
84140
|
const blockBindings = block.bindings;
|
|
@@ -87390,13 +87531,36 @@ var containerResponsiveThemeCss = `/*
|
|
|
87390
87531
|
*/
|
|
87391
87532
|
|
|
87392
87533
|
/* =============================================================================
|
|
87393
|
-
* Shared: Registration
|
|
87394
|
-
* Used by event-registration and course-registration blocks.
|
|
87534
|
+
* Shared: Registration Surface (issue 1174)
|
|
87395
87535
|
*
|
|
87396
|
-
*
|
|
87397
|
-
*
|
|
87536
|
+
* Wizard-surface primitives shared by the event-registration,
|
|
87537
|
+
* course-registration and appointment-booking blocks: surface container,
|
|
87538
|
+
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
87539
|
+
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
87540
|
+
*
|
|
87541
|
+
* Uses:
|
|
87542
|
+
* - Tier 1 vars: --tb-* (from theme palette) as inline fallbacks
|
|
87543
|
+
* - Tier 2 vars: --rb-block-radius, --rb-block-transition (from theme scope)
|
|
87544
|
+
* - Shared vars: --rb-reg-* (mapped per block by the Tier 3 var generators;
|
|
87545
|
+
* canonical name list in blocks/registrationSurfaceVars.ts)
|
|
87546
|
+
*
|
|
87547
|
+
* Defaults intentionally match the event-registration (issue 1089) values; blocks
|
|
87548
|
+
* that need to preserve a different look override in their own block CSS,
|
|
87549
|
+
* which is imported after this file (cascade order is the override contract \u2014
|
|
87550
|
+
* all selectors here are zero-specificity \`:where()\`).
|
|
87551
|
+
*
|
|
87552
|
+
* Layout-only \`.rb-state-icon\` rules (formerly registration-shared.css) live
|
|
87553
|
+
* here too; block CSS provides the \`.rb-state-icon--{variant}\` colors.
|
|
87554
|
+
*
|
|
87555
|
+
* Naming: component-like primitives follow the existing bare \`rb-\` shared
|
|
87556
|
+
* precedent (\`.rb-state-icon\`, \`.rb-tile\`): \`.rb-option-card\`, \`.rb-step-*\`,
|
|
87557
|
+
* \`.rb-wizard-actions\`, \`.rb-on-surface\`, \`.rb-shell-*\`. Container/layout
|
|
87558
|
+
* pieces that would otherwise collide with the global \`.rb-*\` utility layer
|
|
87559
|
+
* are namespaced \`rb-reg-*\` (\`.rb-reg-surface\`, \`.rb-reg-stack\`, ...). All of
|
|
87560
|
+
* them are scoped to the three registration blocks either way.
|
|
87398
87561
|
* ============================================================================= */
|
|
87399
87562
|
|
|
87563
|
+
/* Terminal state icon (layout only \u2014 colors are per-block) */
|
|
87400
87564
|
:where(.theme-scope) .rb-state-icon {
|
|
87401
87565
|
width: 4rem;
|
|
87402
87566
|
height: 4rem;
|
|
@@ -87412,6 +87576,273 @@ var containerResponsiveThemeCss = `/*
|
|
|
87412
87576
|
height: 2rem;
|
|
87413
87577
|
}
|
|
87414
87578
|
|
|
87579
|
+
/* Surface container */
|
|
87580
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
87581
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
87582
|
+
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
87583
|
+
padding: clamp(1rem, 2vw, 1.5rem);
|
|
87584
|
+
background: var(--rb-reg-surface-bg, rgb(var(--tb-surface, 248 250 252)));
|
|
87585
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
87586
|
+
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
87587
|
+
width: 100%;
|
|
87588
|
+
max-width: 800px;
|
|
87589
|
+
margin-inline: 0;
|
|
87590
|
+
}
|
|
87591
|
+
|
|
87592
|
+
/* Selectable option card */
|
|
87593
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
87594
|
+
position: relative;
|
|
87595
|
+
display: flex;
|
|
87596
|
+
align-items: flex-start;
|
|
87597
|
+
gap: 0.75rem;
|
|
87598
|
+
padding: 1rem;
|
|
87599
|
+
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
87600
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
87601
|
+
background: var(--rb-reg-option-bg, transparent);
|
|
87602
|
+
color: inherit;
|
|
87603
|
+
cursor: pointer;
|
|
87604
|
+
text-align: left;
|
|
87605
|
+
transition: border-color var(--rb-block-transition, 150ms) ease,
|
|
87606
|
+
background-color var(--rb-block-transition, 150ms) ease,
|
|
87607
|
+
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
87608
|
+
}
|
|
87609
|
+
|
|
87610
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
87611
|
+
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
87612
|
+
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
87613
|
+
}
|
|
87614
|
+
|
|
87615
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
87616
|
+
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
87617
|
+
outline-offset: 2px;
|
|
87618
|
+
}
|
|
87619
|
+
|
|
87620
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
87621
|
+
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
87622
|
+
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
87623
|
+
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
87624
|
+
}
|
|
87625
|
+
|
|
87626
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
87627
|
+
cursor: not-allowed;
|
|
87628
|
+
opacity: 0.7;
|
|
87629
|
+
}
|
|
87630
|
+
|
|
87631
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
87632
|
+
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
87633
|
+
box-shadow: none;
|
|
87634
|
+
}
|
|
87635
|
+
|
|
87636
|
+
/* Check indicator */
|
|
87637
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
87638
|
+
flex-shrink: 0;
|
|
87639
|
+
width: 1.25rem;
|
|
87640
|
+
height: 1.25rem;
|
|
87641
|
+
border-radius: 50%;
|
|
87642
|
+
background: var(--rb-reg-check-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
87643
|
+
display: flex;
|
|
87644
|
+
align-items: center;
|
|
87645
|
+
justify-content: center;
|
|
87646
|
+
}
|
|
87647
|
+
|
|
87648
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
87649
|
+
width: 0.75rem;
|
|
87650
|
+
height: 0.75rem;
|
|
87651
|
+
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
87652
|
+
}
|
|
87653
|
+
|
|
87654
|
+
/* Step indicator */
|
|
87655
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
87656
|
+
margin-bottom: 1.5rem;
|
|
87657
|
+
}
|
|
87658
|
+
|
|
87659
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
87660
|
+
display: flex;
|
|
87661
|
+
align-items: center;
|
|
87662
|
+
justify-content: center;
|
|
87663
|
+
gap: 0.5rem;
|
|
87664
|
+
list-style: none;
|
|
87665
|
+
padding: 0;
|
|
87666
|
+
margin: 0;
|
|
87667
|
+
}
|
|
87668
|
+
|
|
87669
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
87670
|
+
display: flex;
|
|
87671
|
+
align-items: center;
|
|
87672
|
+
gap: 0.5rem;
|
|
87673
|
+
}
|
|
87674
|
+
|
|
87675
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
87676
|
+
width: 1.75rem;
|
|
87677
|
+
height: 1.75rem;
|
|
87678
|
+
border-radius: 50%;
|
|
87679
|
+
display: flex;
|
|
87680
|
+
align-items: center;
|
|
87681
|
+
justify-content: center;
|
|
87682
|
+
font-size: 0.75rem;
|
|
87683
|
+
font-weight: 600;
|
|
87684
|
+
background: var(--rb-reg-step-inactive, rgb(var(--tb-mutedText, 100 116 139)));
|
|
87685
|
+
color: var(--rb-reg-step-text, rgb(var(--tb-primaryForeground, 255 255 255)));
|
|
87686
|
+
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
87687
|
+
}
|
|
87688
|
+
|
|
87689
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
87690
|
+
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
87691
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
87692
|
+
}
|
|
87693
|
+
|
|
87694
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
87695
|
+
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
87696
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
87697
|
+
}
|
|
87698
|
+
|
|
87699
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
87700
|
+
width: 0.75rem;
|
|
87701
|
+
height: 0.75rem;
|
|
87702
|
+
}
|
|
87703
|
+
|
|
87704
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
87705
|
+
width: 2rem;
|
|
87706
|
+
height: 2px;
|
|
87707
|
+
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
87708
|
+
}
|
|
87709
|
+
|
|
87710
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
87711
|
+
font-size: 0.75rem;
|
|
87712
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
87713
|
+
display: none;
|
|
87714
|
+
}
|
|
87715
|
+
|
|
87716
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
87717
|
+
font-weight: 500;
|
|
87718
|
+
}
|
|
87719
|
+
|
|
87720
|
+
@container rb-site (min-width: 640px) {
|
|
87721
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
87722
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
87723
|
+
display: inline;
|
|
87724
|
+
}
|
|
87725
|
+
}
|
|
87726
|
+
}
|
|
87727
|
+
|
|
87728
|
+
/* Wizard actions row */
|
|
87729
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
87730
|
+
display: flex;
|
|
87731
|
+
justify-content: space-between;
|
|
87732
|
+
align-items: center;
|
|
87733
|
+
gap: 1rem;
|
|
87734
|
+
margin-top: 1.5rem;
|
|
87735
|
+
}
|
|
87736
|
+
|
|
87737
|
+
/* When there's only one action (no back button), push it to the right */
|
|
87738
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
87739
|
+
margin-inline-start: auto;
|
|
87740
|
+
}
|
|
87741
|
+
|
|
87742
|
+
/* On-surface text ramp */
|
|
87743
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
87744
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
87745
|
+
}
|
|
87746
|
+
|
|
87747
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
87748
|
+
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
87749
|
+
}
|
|
87750
|
+
|
|
87751
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
87752
|
+
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
87753
|
+
}
|
|
87754
|
+
|
|
87755
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
87756
|
+
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
87757
|
+
}
|
|
87758
|
+
|
|
87759
|
+
/* Layout stacks */
|
|
87760
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
87761
|
+
display: flex;
|
|
87762
|
+
flex-direction: column;
|
|
87763
|
+
gap: 1rem;
|
|
87764
|
+
}
|
|
87765
|
+
|
|
87766
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
87767
|
+
gap: 0.75rem;
|
|
87768
|
+
}
|
|
87769
|
+
|
|
87770
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
87771
|
+
display: flex;
|
|
87772
|
+
align-items: center;
|
|
87773
|
+
gap: 1rem;
|
|
87774
|
+
}
|
|
87775
|
+
|
|
87776
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
87777
|
+
justify-content: space-between;
|
|
87778
|
+
align-items: flex-start;
|
|
87779
|
+
}
|
|
87780
|
+
|
|
87781
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
87782
|
+
display: grid;
|
|
87783
|
+
gap: 0.75rem;
|
|
87784
|
+
}
|
|
87785
|
+
|
|
87786
|
+
/* Summary box */
|
|
87787
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
87788
|
+
padding: 1rem;
|
|
87789
|
+
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
87790
|
+
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
87791
|
+
background: var(--rb-reg-summary-bg, rgba(var(--tb-muted, 241 245 249), 0.42));
|
|
87792
|
+
}
|
|
87793
|
+
|
|
87794
|
+
/* Skeleton shell lines */
|
|
87795
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
87796
|
+
height: 0.75rem;
|
|
87797
|
+
border-radius: 9999px;
|
|
87798
|
+
background: linear-gradient(
|
|
87799
|
+
90deg,
|
|
87800
|
+
var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22)),
|
|
87801
|
+
rgba(var(--tb-primary, 17 24 39), 0.12),
|
|
87802
|
+
var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22))
|
|
87803
|
+
);
|
|
87804
|
+
}
|
|
87805
|
+
|
|
87806
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
87807
|
+
width: min(26rem, 82%);
|
|
87808
|
+
}
|
|
87809
|
+
|
|
87810
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
87811
|
+
width: min(19rem, 68%);
|
|
87812
|
+
}
|
|
87813
|
+
|
|
87814
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
87815
|
+
width: min(14rem, 52%);
|
|
87816
|
+
}
|
|
87817
|
+
|
|
87818
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
87819
|
+
width: min(10rem, 42%);
|
|
87820
|
+
}
|
|
87821
|
+
|
|
87822
|
+
/* Skeleton block (rectangular placeholder, pulses) */
|
|
87823
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
87824
|
+
height: 2.5rem;
|
|
87825
|
+
width: 100%;
|
|
87826
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
87827
|
+
background: var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22));
|
|
87828
|
+
animation: rb-reg-pulse 1.5s ease-in-out infinite;
|
|
87829
|
+
}
|
|
87830
|
+
|
|
87831
|
+
@keyframes rb-reg-pulse {
|
|
87832
|
+
0%, 100% {
|
|
87833
|
+
opacity: 1;
|
|
87834
|
+
}
|
|
87835
|
+
50% {
|
|
87836
|
+
opacity: 0.5;
|
|
87837
|
+
}
|
|
87838
|
+
}
|
|
87839
|
+
|
|
87840
|
+
@media (prefers-reduced-motion: reduce) {
|
|
87841
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
87842
|
+
animation: none;
|
|
87843
|
+
}
|
|
87844
|
+
}
|
|
87845
|
+
|
|
87415
87846
|
/* =============================================================================
|
|
87416
87847
|
* Block: Event Registration (pilot #76)
|
|
87417
87848
|
* Uses CSS vars: --er-* (Tier 3) and --rb-block-* (Tier 2)
|
|
@@ -87435,18 +87866,9 @@ var containerResponsiveThemeCss = `/*
|
|
|
87435
87866
|
--er-on-surface-disabled-detail: rgba(var(--tb-onSurface, var(--tb-text)), 0.68);
|
|
87436
87867
|
}
|
|
87437
87868
|
|
|
87438
|
-
/* Container
|
|
87439
|
-
|
|
87440
|
-
|
|
87441
|
-
border: 1px solid var(--er-border);
|
|
87442
|
-
padding: clamp(1rem, 2vw, 1.5rem);
|
|
87443
|
-
background: rgb(var(--tb-surface));
|
|
87444
|
-
color: var(--er-on-surface);
|
|
87445
|
-
transition: border-color var(--rb-block-transition) ease;
|
|
87446
|
-
width: 100%;
|
|
87447
|
-
max-width: 800px;
|
|
87448
|
-
margin-inline: 0;
|
|
87449
|
-
}
|
|
87869
|
+
/* Container: styled by the shared .rb-reg-surface (registration-surface.css);
|
|
87870
|
+
.er-container remains in markup as a hook and for the overlay/embedded
|
|
87871
|
+
variants below. */
|
|
87450
87872
|
|
|
87451
87873
|
/* SSR shell / required-island fallback */
|
|
87452
87874
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell {
|
|
@@ -87491,32 +87913,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
87491
87913
|
padding: 1rem;
|
|
87492
87914
|
}
|
|
87493
87915
|
|
|
87494
|
-
|
|
87495
|
-
|
|
87496
|
-
border-radius: 9999px;
|
|
87497
|
-
background: linear-gradient(
|
|
87498
|
-
90deg,
|
|
87499
|
-
var(--er-shell-line),
|
|
87500
|
-
rgba(var(--tb-primary), 0.12),
|
|
87501
|
-
var(--er-shell-line)
|
|
87502
|
-
);
|
|
87503
|
-
}
|
|
87504
|
-
|
|
87505
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--lg {
|
|
87506
|
-
width: min(26rem, 82%);
|
|
87507
|
-
}
|
|
87508
|
-
|
|
87509
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--md {
|
|
87510
|
-
width: min(19rem, 68%);
|
|
87511
|
-
}
|
|
87512
|
-
|
|
87513
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--sm {
|
|
87514
|
-
width: min(14rem, 52%);
|
|
87515
|
-
}
|
|
87516
|
-
|
|
87517
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--xs {
|
|
87518
|
-
width: min(10rem, 42%);
|
|
87519
|
-
}
|
|
87916
|
+
/* Shell skeleton lines: styled by the shared .rb-shell-line family
|
|
87917
|
+
(registration-surface.css); legacy classes remain in markup as hooks. */
|
|
87520
87918
|
|
|
87521
87919
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__summary {
|
|
87522
87920
|
align-items: center;
|
|
@@ -87593,13 +87991,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
87593
87991
|
color: var(--er-capacity-soldout-text);
|
|
87594
87992
|
}
|
|
87595
87993
|
|
|
87596
|
-
/* Selected event summary
|
|
87597
|
-
|
|
87598
|
-
padding: 1rem;
|
|
87599
|
-
border-radius: calc(var(--rb-block-radius) * 0.75);
|
|
87600
|
-
border: 1px solid var(--er-border);
|
|
87601
|
-
background: var(--er-surface-muted);
|
|
87602
|
-
}
|
|
87994
|
+
/* Selected event summary: superseded by the shared .rb-reg-summary
|
|
87995
|
+
(registration-surface.css); no markup emitted .er-event-summary anymore. */
|
|
87603
87996
|
|
|
87604
87997
|
/* Ticket counter */
|
|
87605
87998
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-ticket-counter-group {
|
|
@@ -87805,7 +88198,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
87805
88198
|
opacity: 1;
|
|
87806
88199
|
}
|
|
87807
88200
|
|
|
87808
|
-
/* State icon color variants (layout from registration-
|
|
88201
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
87809
88202
|
:where(.theme-scope) :where([data-block="event-registration"]) .rb-state-icon--success {
|
|
87810
88203
|
background: var(--er-success-bg);
|
|
87811
88204
|
color: var(--er-success-text);
|
|
@@ -87961,16 +88354,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
87961
88354
|
text-align: center;
|
|
87962
88355
|
}
|
|
87963
88356
|
|
|
87964
|
-
/* Layout
|
|
87965
|
-
|
|
87966
|
-
display: flex;
|
|
87967
|
-
flex-direction: column;
|
|
87968
|
-
gap: 1rem;
|
|
87969
|
-
}
|
|
87970
|
-
|
|
87971
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-stack--sm {
|
|
87972
|
-
gap: 0.75rem;
|
|
87973
|
-
}
|
|
88357
|
+
/* Layout stacks/rows: styled by the shared .rb-reg-stack / .rb-reg-row
|
|
88358
|
+
(registration-surface.css); legacy classes remain in markup as hooks. */
|
|
87974
88359
|
|
|
87975
88360
|
/* Event/date selection rows */
|
|
87976
88361
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-event-grid {
|
|
@@ -87979,17 +88364,6 @@ var containerResponsiveThemeCss = `/*
|
|
|
87979
88364
|
gap: 0;
|
|
87980
88365
|
}
|
|
87981
88366
|
|
|
87982
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-row {
|
|
87983
|
-
display: flex;
|
|
87984
|
-
align-items: center;
|
|
87985
|
-
gap: 1rem;
|
|
87986
|
-
}
|
|
87987
|
-
|
|
87988
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-row--between {
|
|
87989
|
-
justify-content: space-between;
|
|
87990
|
-
align-items: flex-start;
|
|
87991
|
-
}
|
|
87992
|
-
|
|
87993
88367
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-center {
|
|
87994
88368
|
text-align: center;
|
|
87995
88369
|
padding: 2rem;
|
|
@@ -88001,18 +88375,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
88001
88375
|
margin-bottom: 1rem;
|
|
88002
88376
|
}
|
|
88003
88377
|
|
|
88004
|
-
:
|
|
88005
|
-
|
|
88006
|
-
justify-content: space-between;
|
|
88007
|
-
align-items: center;
|
|
88008
|
-
gap: 1rem;
|
|
88009
|
-
margin-top: 1.5rem;
|
|
88010
|
-
}
|
|
88011
|
-
|
|
88012
|
-
/* When there's only one button (no back), push to the right */
|
|
88013
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-actions > :only-child {
|
|
88014
|
-
margin-inline-start: auto;
|
|
88015
|
-
}
|
|
88378
|
+
/* Actions row: styled by the shared .rb-wizard-actions (registration-surface.css);
|
|
88379
|
+
.er-actions remains in markup as a hook. */
|
|
88016
88380
|
|
|
88017
88381
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-button-with-spinner {
|
|
88018
88382
|
display: inline-flex;
|
|
@@ -88264,23 +88628,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
88264
88628
|
color: var(--er-on-surface-faint);
|
|
88265
88629
|
}
|
|
88266
88630
|
|
|
88267
|
-
/* Checkmark indicator
|
|
88268
|
-
|
|
88269
|
-
flex-shrink: 0;
|
|
88270
|
-
width: 1.25rem;
|
|
88271
|
-
height: 1.25rem;
|
|
88272
|
-
border-radius: 50%;
|
|
88273
|
-
background: var(--er-check-bg);
|
|
88274
|
-
display: flex;
|
|
88275
|
-
align-items: center;
|
|
88276
|
-
justify-content: center;
|
|
88277
|
-
}
|
|
88278
|
-
|
|
88279
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-check svg {
|
|
88280
|
-
width: 0.75rem;
|
|
88281
|
-
height: 0.75rem;
|
|
88282
|
-
color: var(--er-check-text);
|
|
88283
|
-
}
|
|
88631
|
+
/* Checkmark indicator: styled by the shared .rb-option-check
|
|
88632
|
+
(registration-surface.css); .er-check remains in markup as a hook. */
|
|
88284
88633
|
|
|
88285
88634
|
/* Payment summary */
|
|
88286
88635
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-payment-summary {
|
|
@@ -88328,78 +88677,12 @@ var containerResponsiveThemeCss = `/*
|
|
|
88328
88677
|
margin-bottom: 1.5rem;
|
|
88329
88678
|
}
|
|
88330
88679
|
|
|
88331
|
-
:
|
|
88332
|
-
|
|
88333
|
-
|
|
88334
|
-
|
|
88335
|
-
|
|
88336
|
-
|
|
88337
|
-
padding: 0;
|
|
88338
|
-
margin: 0;
|
|
88339
|
-
}
|
|
88340
|
-
|
|
88341
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step {
|
|
88342
|
-
display: flex;
|
|
88343
|
-
align-items: center;
|
|
88344
|
-
gap: 0.5rem;
|
|
88345
|
-
}
|
|
88346
|
-
|
|
88347
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle {
|
|
88348
|
-
width: 1.75rem;
|
|
88349
|
-
height: 1.75rem;
|
|
88350
|
-
border-radius: 50%;
|
|
88351
|
-
display: flex;
|
|
88352
|
-
align-items: center;
|
|
88353
|
-
justify-content: center;
|
|
88354
|
-
font-size: 0.75rem;
|
|
88355
|
-
font-weight: 600;
|
|
88356
|
-
background: var(--er-step-inactive);
|
|
88357
|
-
color: var(--er-step-text);
|
|
88358
|
-
transition: background-color var(--rb-block-transition) ease;
|
|
88359
|
-
}
|
|
88360
|
-
|
|
88361
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle--active {
|
|
88362
|
-
background: var(--er-step-active);
|
|
88363
|
-
color: var(--er-step-text-active);
|
|
88364
|
-
}
|
|
88365
|
-
|
|
88366
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle--completed {
|
|
88367
|
-
background: var(--er-step-completed);
|
|
88368
|
-
color: var(--er-step-text-active);
|
|
88369
|
-
}
|
|
88370
|
-
|
|
88371
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-check {
|
|
88372
|
-
width: 0.75rem;
|
|
88373
|
-
height: 0.75rem;
|
|
88374
|
-
}
|
|
88375
|
-
|
|
88376
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-connector {
|
|
88377
|
-
width: 2rem;
|
|
88378
|
-
height: 2px;
|
|
88379
|
-
background: var(--er-step-connector);
|
|
88380
|
-
}
|
|
88381
|
-
|
|
88382
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-connector--completed {
|
|
88383
|
-
background: var(--er-step-connector);
|
|
88384
|
-
}
|
|
88385
|
-
|
|
88386
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label {
|
|
88387
|
-
font-size: 0.75rem;
|
|
88388
|
-
color: var(--er-on-surface);
|
|
88389
|
-
display: none;
|
|
88390
|
-
}
|
|
88391
|
-
|
|
88392
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label--active {
|
|
88393
|
-
font-weight: 500;
|
|
88394
|
-
}
|
|
88395
|
-
|
|
88396
|
-
@container rb-site (min-width: 640px) {
|
|
88397
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
88398
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label {
|
|
88399
|
-
display: inline;
|
|
88400
|
-
}
|
|
88401
|
-
}
|
|
88402
|
-
}
|
|
88680
|
+
/* Step indicator internals: styled by the shared .rb-steps / .rb-step-*
|
|
88681
|
+
family (registration-surface.css) via the --rb-reg-step-* mappings in the
|
|
88682
|
+
event-registration var generator; er-* classes remain in markup as hooks.
|
|
88683
|
+
Note: .er-steps-nav above is intentionally retained \u2014 its source position
|
|
88684
|
+
keeps the wizard's 1.5rem step margin winning over the SSR shell's
|
|
88685
|
+
1.25rem .er-registration-shell__steps override. */
|
|
88403
88686
|
|
|
88404
88687
|
/* Sticky order summary */
|
|
88405
88688
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-summary {
|
|
@@ -90632,69 +90915,34 @@ var containerResponsiveThemeCss = `/*
|
|
|
90632
90915
|
|
|
90633
90916
|
/* =============================================================================
|
|
90634
90917
|
* Block: Appointment Booking
|
|
90918
|
+
*
|
|
90919
|
+
* Structural styling comes from the shared registration-surface layer
|
|
90920
|
+
* (registration-surface.css): surface container, option cards + check,
|
|
90921
|
+
* step indicator, wizard actions, on-surface text ramp, stacks, summary box
|
|
90922
|
+
* and skeleton shell. Colors flow through the --rb-reg-* contract, mapped
|
|
90923
|
+
* from this block's --ab-* Tier 3 vars by its var generator.
|
|
90924
|
+
*
|
|
90925
|
+
* Inputs use the theme-generated form-* classes; feedback boxes use the
|
|
90926
|
+
* theme-generated alert / alert-{tone} classes. Only genuinely
|
|
90927
|
+
* booking-specific rules live here.
|
|
90928
|
+
*
|
|
90635
90929
|
* Uses:
|
|
90636
|
-
* - Tier 1 vars: --tb
|
|
90637
|
-
* - Tier 2 vars: --rb-block-radius, --rb-block-transition (from theme scope)
|
|
90930
|
+
* - Tier 1 vars: --tb-* (from theme palette)
|
|
90638
90931
|
* - Tier 3 vars: --ab-* (from appointment-booking var generator)
|
|
90639
90932
|
* =============================================================================
|
|
90640
90933
|
*/
|
|
90641
90934
|
|
|
90642
|
-
/*
|
|
90643
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-container {
|
|
90644
|
-
width: 100%;
|
|
90645
|
-
}
|
|
90646
|
-
|
|
90647
|
-
/* Stack layout utilities */
|
|
90648
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack {
|
|
90649
|
-
display: flex;
|
|
90650
|
-
flex-direction: column;
|
|
90651
|
-
gap: 1.5rem;
|
|
90652
|
-
}
|
|
90653
|
-
|
|
90654
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack--sm {
|
|
90655
|
-
display: flex;
|
|
90656
|
-
flex-direction: column;
|
|
90657
|
-
gap: 0.75rem;
|
|
90658
|
-
}
|
|
90659
|
-
|
|
90660
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack--xs {
|
|
90661
|
-
display: flex;
|
|
90662
|
-
flex-direction: column;
|
|
90663
|
-
gap: 0.5rem;
|
|
90664
|
-
}
|
|
90665
|
-
|
|
90666
|
-
/* Row layout */
|
|
90667
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-row {
|
|
90668
|
-
display: flex;
|
|
90669
|
-
align-items: center;
|
|
90670
|
-
gap: 0.75rem;
|
|
90671
|
-
}
|
|
90672
|
-
|
|
90673
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-row--between {
|
|
90674
|
-
justify-content: space-between;
|
|
90675
|
-
}
|
|
90676
|
-
|
|
90677
|
-
/* Grid layout */
|
|
90678
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-grid {
|
|
90679
|
-
display: grid;
|
|
90680
|
-
gap: 0.75rem;
|
|
90681
|
-
}
|
|
90682
|
-
|
|
90683
|
-
/* Center layout */
|
|
90684
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-center {
|
|
90685
|
-
text-align: center;
|
|
90686
|
-
padding: 2rem;
|
|
90687
|
-
}
|
|
90688
|
-
|
|
90689
|
-
/* Typography */
|
|
90935
|
+
/* Typography helpers */
|
|
90690
90936
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-title {
|
|
90691
90937
|
font-size: 1.5rem;
|
|
90692
|
-
font-weight:
|
|
90938
|
+
font-weight: 600;
|
|
90939
|
+
line-height: 1.3;
|
|
90693
90940
|
}
|
|
90694
90941
|
|
|
90695
90942
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-subtitle {
|
|
90696
|
-
font-size: 0.
|
|
90697
|
-
font-weight:
|
|
90943
|
+
font-size: 0.9375rem;
|
|
90944
|
+
font-weight: 600;
|
|
90945
|
+
line-height: 1.3;
|
|
90698
90946
|
}
|
|
90699
90947
|
|
|
90700
90948
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text {
|
|
@@ -90705,211 +90953,111 @@ var containerResponsiveThemeCss = `/*
|
|
|
90705
90953
|
font-size: 0.75rem;
|
|
90706
90954
|
}
|
|
90707
90955
|
|
|
90708
|
-
|
|
90709
|
-
|
|
90710
|
-
|
|
90711
|
-
|
|
90712
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--faint {
|
|
90713
|
-
opacity: var(--ab-text-faint-opacity, 0.4);
|
|
90714
|
-
}
|
|
90715
|
-
|
|
90716
|
-
/* Selection cards (service, resource, time slot) */
|
|
90717
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card {
|
|
90718
|
-
position: relative;
|
|
90719
|
-
padding: 1rem;
|
|
90720
|
-
border: 2px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
90721
|
-
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
90722
|
-
text-align: left;
|
|
90723
|
-
background: transparent;
|
|
90724
|
-
cursor: pointer;
|
|
90725
|
-
transition: border-color var(--rb-block-transition, 150ms) ease, background-color var(--rb-block-transition, 150ms) ease;
|
|
90726
|
-
}
|
|
90727
|
-
|
|
90728
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card:hover {
|
|
90729
|
-
border-color: var(--ab-card-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
90730
|
-
}
|
|
90731
|
-
|
|
90732
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card--selected {
|
|
90733
|
-
border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
90734
|
-
background-color: var(--ab-card-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.05));
|
|
90735
|
-
}
|
|
90736
|
-
|
|
90737
|
-
/* Checkmark indicator */
|
|
90738
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check {
|
|
90739
|
-
flex-shrink: 0;
|
|
90740
|
-
width: 1.25rem;
|
|
90741
|
-
height: 1.25rem;
|
|
90742
|
-
border-radius: 50%;
|
|
90743
|
-
background-color: var(--ab-check-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
90744
|
-
display: flex;
|
|
90745
|
-
align-items: center;
|
|
90746
|
-
justify-content: center;
|
|
90747
|
-
}
|
|
90748
|
-
|
|
90749
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check svg {
|
|
90750
|
-
width: 0.75rem;
|
|
90751
|
-
height: 0.75rem;
|
|
90752
|
-
color: var(--ab-check-text, rgb(var(--tb-background, 255 255 255)));
|
|
90753
|
-
}
|
|
90754
|
-
|
|
90755
|
-
/* Info box (service summary) */
|
|
90756
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-info-box {
|
|
90757
|
-
padding: 1rem;
|
|
90758
|
-
border: 1px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
90759
|
-
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
90760
|
-
background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
90956
|
+
/* Centered state (loading / terminal panels) */
|
|
90957
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-center {
|
|
90958
|
+
text-align: center;
|
|
90959
|
+
padding: 2rem;
|
|
90761
90960
|
}
|
|
90762
90961
|
|
|
90763
|
-
/*
|
|
90764
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
90765
|
-
|
|
90766
|
-
|
|
90767
|
-
font-
|
|
90962
|
+
/* Terminal state title (below the state icon) */
|
|
90963
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-terminal-title {
|
|
90964
|
+
margin: 0.75rem 0 0.5rem 0;
|
|
90965
|
+
font-size: 1.125rem;
|
|
90966
|
+
font-weight: 700;
|
|
90768
90967
|
}
|
|
90769
90968
|
|
|
90770
|
-
|
|
90771
|
-
|
|
90969
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
90970
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--success {
|
|
90971
|
+
background: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
|
|
90772
90972
|
color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
|
|
90773
90973
|
}
|
|
90774
90974
|
|
|
90775
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .
|
|
90776
|
-
background
|
|
90975
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--error {
|
|
90976
|
+
background: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
|
|
90777
90977
|
color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
|
|
90778
90978
|
}
|
|
90779
90979
|
|
|
90780
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .
|
|
90781
|
-
background
|
|
90782
|
-
color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
|
|
90783
|
-
}
|
|
90784
|
-
|
|
90785
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--info {
|
|
90786
|
-
background-color: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
|
|
90980
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--info {
|
|
90981
|
+
background: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
|
|
90787
90982
|
color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
|
|
90788
90983
|
}
|
|
90789
90984
|
|
|
90790
|
-
|
|
90791
|
-
:
|
|
90792
|
-
|
|
90793
|
-
font-size: 0.875rem;
|
|
90794
|
-
font-weight: 500;
|
|
90795
|
-
margin-bottom: 0.5rem;
|
|
90985
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--warning {
|
|
90986
|
+
background: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
|
|
90987
|
+
color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
|
|
90796
90988
|
}
|
|
90797
90989
|
|
|
90798
|
-
|
|
90799
|
-
|
|
90800
|
-
|
|
90990
|
+
/* Payment option summary rows (label/value lines inside an option card) */
|
|
90991
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-option-rows {
|
|
90992
|
+
display: grid;
|
|
90993
|
+
gap: 0.125rem;
|
|
90801
90994
|
}
|
|
90802
90995
|
|
|
90803
|
-
|
|
90804
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
90805
|
-
:
|
|
90806
|
-
|
|
90807
|
-
|
|
90808
|
-
border: 1px solid var(--ab-input-border, rgb(var(--tb-border, 226 232 240)));
|
|
90809
|
-
border-radius: var(--ab-input-radius, var(--rb-input-radius, var(--radius-control, var(--rb-block-radius, 1rem))));
|
|
90810
|
-
background: transparent;
|
|
90811
|
-
font-size: 0.875rem;
|
|
90812
|
-
transition: border-color var(--rb-block-transition, 150ms) ease, box-shadow var(--rb-block-transition, 150ms) ease;
|
|
90996
|
+
/* Date/time pill grids (selection pills extend .rb-option-card) */
|
|
90997
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-grid {
|
|
90998
|
+
display: flex;
|
|
90999
|
+
flex-wrap: wrap;
|
|
91000
|
+
gap: 0.5rem;
|
|
90813
91001
|
}
|
|
90814
91002
|
|
|
90815
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
90816
|
-
|
|
90817
|
-
|
|
90818
|
-
|
|
90819
|
-
|
|
90820
|
-
|
|
91003
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-date-pill {
|
|
91004
|
+
flex-direction: column;
|
|
91005
|
+
align-items: center;
|
|
91006
|
+
gap: 0.125rem;
|
|
91007
|
+
padding: 0.5rem 0.875rem;
|
|
91008
|
+
min-width: 4.25rem;
|
|
91009
|
+
text-align: center;
|
|
90821
91010
|
}
|
|
90822
91011
|
|
|
90823
|
-
|
|
90824
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn {
|
|
90825
|
-
display: inline-flex;
|
|
91012
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-time-pill {
|
|
90826
91013
|
align-items: center;
|
|
90827
91014
|
justify-content: center;
|
|
90828
|
-
padding: 0.5rem
|
|
90829
|
-
|
|
91015
|
+
padding: 0.5rem 0.875rem;
|
|
91016
|
+
min-width: 5.5rem;
|
|
90830
91017
|
font-size: 0.875rem;
|
|
90831
91018
|
font-weight: 500;
|
|
90832
|
-
|
|
90833
|
-
transition: background-color var(--rb-block-transition, 150ms) ease, border-color var(--rb-block-transition, 150ms) ease;
|
|
90834
|
-
}
|
|
90835
|
-
|
|
90836
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary {
|
|
90837
|
-
flex: 1;
|
|
90838
|
-
background-color: var(--ab-btn-primary-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
90839
|
-
color: var(--ab-btn-primary-text, rgb(var(--tb-primaryForeground, 255 255 255)));
|
|
90840
|
-
border: none;
|
|
90841
|
-
}
|
|
90842
|
-
|
|
90843
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary:hover:not(:disabled) {
|
|
90844
|
-
background-color: var(--ab-btn-primary-hover, rgba(var(--tb-primary, 17 24 39), 0.9));
|
|
90845
|
-
}
|
|
90846
|
-
|
|
90847
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary {
|
|
90848
|
-
background: transparent;
|
|
90849
|
-
border: 1px solid var(--ab-btn-secondary-border, rgb(var(--tb-border, 226 232 240)));
|
|
90850
|
-
}
|
|
90851
|
-
|
|
90852
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary:hover:not(:disabled) {
|
|
90853
|
-
background-color: var(--ab-btn-secondary-hover, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
90854
|
-
}
|
|
90855
|
-
|
|
90856
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link {
|
|
90857
|
-
background: transparent;
|
|
90858
|
-
border: none;
|
|
90859
|
-
padding: 0;
|
|
90860
|
-
text-decoration: underline;
|
|
90861
|
-
}
|
|
90862
|
-
|
|
90863
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link:hover {
|
|
90864
|
-
text-decoration: none;
|
|
90865
|
-
}
|
|
90866
|
-
|
|
90867
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn:disabled {
|
|
90868
|
-
opacity: 0.5;
|
|
90869
|
-
cursor: not-allowed;
|
|
90870
|
-
}
|
|
90871
|
-
|
|
90872
|
-
/* Actions row */
|
|
90873
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-actions {
|
|
90874
|
-
display: flex;
|
|
90875
|
-
gap: 0.75rem;
|
|
90876
|
-
margin-top: 1.5rem;
|
|
91019
|
+
text-align: center;
|
|
90877
91020
|
}
|
|
90878
91021
|
|
|
90879
|
-
|
|
90880
|
-
|
|
90881
|
-
|
|
90882
|
-
|
|
90883
|
-
|
|
90884
|
-
|
|
90885
|
-
|
|
91022
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-caption {
|
|
91023
|
+
font-size: 0.6875rem;
|
|
91024
|
+
font-weight: 600;
|
|
91025
|
+
letter-spacing: 0;
|
|
91026
|
+
line-height: 1.2;
|
|
91027
|
+
text-transform: uppercase;
|
|
91028
|
+
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
90886
91029
|
}
|
|
90887
91030
|
|
|
90888
|
-
|
|
90889
|
-
|
|
90890
|
-
|
|
90891
|
-
|
|
90892
|
-
50% {
|
|
90893
|
-
opacity: 0.5;
|
|
90894
|
-
}
|
|
91031
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-value {
|
|
91032
|
+
font-size: 1.125rem;
|
|
91033
|
+
font-weight: 600;
|
|
91034
|
+
line-height: 1.2;
|
|
90895
91035
|
}
|
|
90896
91036
|
|
|
90897
|
-
/*
|
|
90898
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
90899
|
-
|
|
90900
|
-
flex-direction: column;
|
|
90901
|
-
gap: 0.5rem;
|
|
91037
|
+
/* SSR shell skeleton (mirrors the hydrated layout to reduce hydration jump) */
|
|
91038
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-shell {
|
|
91039
|
+
min-height: 18rem;
|
|
90902
91040
|
}
|
|
90903
91041
|
|
|
90904
|
-
|
|
90905
|
-
:
|
|
90906
|
-
|
|
91042
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-shell-button {
|
|
91043
|
+
display: inline-flex;
|
|
91044
|
+
min-height: 2.5rem;
|
|
91045
|
+
align-items: center;
|
|
91046
|
+
justify-content: center;
|
|
91047
|
+
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.6);
|
|
91048
|
+
background: rgb(var(--tb-primary, 17 24 39));
|
|
91049
|
+
color: rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255)));
|
|
91050
|
+
padding: 0.625rem 1rem;
|
|
91051
|
+
font-size: 0.875rem;
|
|
91052
|
+
font-weight: 600;
|
|
91053
|
+
line-height: 1.2;
|
|
91054
|
+
text-align: center;
|
|
91055
|
+
white-space: nowrap;
|
|
90907
91056
|
}
|
|
90908
91057
|
|
|
90909
|
-
/*
|
|
91058
|
+
/* Inline text-link button (e.g. "Load more dates") */
|
|
90910
91059
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-link {
|
|
90911
91060
|
display: inline;
|
|
90912
|
-
margin-left: 0.5rem;
|
|
90913
91061
|
color: rgb(var(--tb-primary, 17 24 39));
|
|
90914
91062
|
background: none;
|
|
90915
91063
|
border: none;
|
|
@@ -90923,91 +91071,9 @@ var containerResponsiveThemeCss = `/*
|
|
|
90923
91071
|
text-decoration: none;
|
|
90924
91072
|
}
|
|
90925
91073
|
|
|
90926
|
-
/*
|
|
90927
|
-
|
|
90928
|
-
|
|
90929
|
-
* Uses:
|
|
90930
|
-
* - Tier 1 vars: --tb-border, --tb-surface, --tb-success, --tb-destructive
|
|
90931
|
-
* - Tier 2 vars: --rb-block-radius
|
|
90932
|
-
* - Tier 3 vars: --fb-success-*, --fb-error-*, --fb-empty-*
|
|
90933
|
-
*
|
|
90934
|
-
* Note: Form input styling (form-input, form-select, etc.) is handled by
|
|
90935
|
-
* the input CSS generator. These styles are for form container/state only.
|
|
90936
|
-
* ============================================================================= */
|
|
90937
|
-
|
|
90938
|
-
/* Form container */
|
|
90939
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-form {
|
|
90940
|
-
display: flex;
|
|
90941
|
-
flex-direction: column;
|
|
90942
|
-
gap: 1rem;
|
|
90943
|
-
}
|
|
90944
|
-
|
|
90945
|
-
/* Two-column row (opt-in per field via schema layout) */
|
|
90946
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-row-2 {
|
|
90947
|
-
display: grid;
|
|
90948
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
90949
|
-
gap: 1rem;
|
|
90950
|
-
}
|
|
90951
|
-
|
|
90952
|
-
/* Field wrapper */
|
|
90953
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-field {
|
|
90954
|
-
display: flex;
|
|
90955
|
-
flex-direction: column;
|
|
90956
|
-
gap: 0.25rem;
|
|
90957
|
-
}
|
|
90958
|
-
|
|
90959
|
-
/* Fieldset (for radio groups) */
|
|
90960
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-fieldset {
|
|
90961
|
-
display: flex;
|
|
90962
|
-
flex-direction: column;
|
|
90963
|
-
gap: 0.5rem;
|
|
90964
|
-
border: none;
|
|
90965
|
-
padding: 0;
|
|
90966
|
-
margin: 0;
|
|
90967
|
-
}
|
|
90968
|
-
|
|
90969
|
-
/* Inline field (checkbox, radio with label) */
|
|
90970
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-inline {
|
|
90971
|
-
display: flex;
|
|
90972
|
-
align-items: center;
|
|
90973
|
-
gap: 0.5rem;
|
|
90974
|
-
}
|
|
90975
|
-
|
|
90976
|
-
/* Success state */
|
|
90977
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-success {
|
|
90978
|
-
background-color: var(--fb-success-bg);
|
|
90979
|
-
color: var(--fb-success-text);
|
|
90980
|
-
border: 1px solid var(--fb-success-border);
|
|
90981
|
-
border-radius: var(--rb-block-radius);
|
|
90982
|
-
padding: 1rem;
|
|
90983
|
-
font-size: 0.875rem;
|
|
90984
|
-
}
|
|
90985
|
-
|
|
90986
|
-
/* Error banner */
|
|
90987
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-error {
|
|
90988
|
-
background-color: var(--fb-error-bg);
|
|
90989
|
-
color: var(--fb-error-text);
|
|
90990
|
-
border: 1px solid var(--fb-error-border);
|
|
90991
|
-
border-radius: var(--rb-block-radius);
|
|
90992
|
-
padding: 0.75rem;
|
|
90993
|
-
font-size: 0.875rem;
|
|
90994
|
-
margin-bottom: 0.5rem;
|
|
90995
|
-
}
|
|
90996
|
-
|
|
90997
|
-
/* Empty state (no form data) */
|
|
90998
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-empty {
|
|
90999
|
-
background-color: var(--fb-empty-bg);
|
|
91000
|
-
color: var(--fb-empty-text);
|
|
91001
|
-
border: 1px dashed var(--fb-empty-border);
|
|
91002
|
-
border-radius: var(--rb-block-radius);
|
|
91003
|
-
padding: 1.5rem;
|
|
91004
|
-
font-size: 0.875rem;
|
|
91005
|
-
text-align: center;
|
|
91006
|
-
}
|
|
91007
|
-
|
|
91008
|
-
/* Form actions (submit button container) */
|
|
91009
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-actions {
|
|
91010
|
-
margin-top: 0.5rem;
|
|
91074
|
+
/* Altcha wrapper */
|
|
91075
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-altcha {
|
|
91076
|
+
margin-top: 1rem;
|
|
91011
91077
|
}
|
|
91012
91078
|
|
|
91013
91079
|
/* =============================================================================
|
|
@@ -91265,6 +91331,93 @@ var containerResponsiveThemeCss = `/*
|
|
|
91265
91331
|
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
91266
91332
|
}
|
|
91267
91333
|
|
|
91334
|
+
/* =============================================================================
|
|
91335
|
+
* Form Block (fb-*)
|
|
91336
|
+
*
|
|
91337
|
+
* Uses:
|
|
91338
|
+
* - Tier 1 vars: --tb-border, --tb-surface, --tb-success, --tb-destructive
|
|
91339
|
+
* - Tier 2 vars: --rb-block-radius
|
|
91340
|
+
* - Tier 3 vars: --fb-success-*, --fb-error-*, --fb-empty-*
|
|
91341
|
+
*
|
|
91342
|
+
* Note: Form input styling (form-input, form-select, etc.) is handled by
|
|
91343
|
+
* the input CSS generator. These styles are for form container/state only.
|
|
91344
|
+
* ============================================================================= */
|
|
91345
|
+
|
|
91346
|
+
/* Form container */
|
|
91347
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-form {
|
|
91348
|
+
display: flex;
|
|
91349
|
+
flex-direction: column;
|
|
91350
|
+
gap: 1rem;
|
|
91351
|
+
}
|
|
91352
|
+
|
|
91353
|
+
/* Two-column row (opt-in per field via schema layout) */
|
|
91354
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-row-2 {
|
|
91355
|
+
display: grid;
|
|
91356
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
91357
|
+
gap: 1rem;
|
|
91358
|
+
}
|
|
91359
|
+
|
|
91360
|
+
/* Field wrapper */
|
|
91361
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-field {
|
|
91362
|
+
display: flex;
|
|
91363
|
+
flex-direction: column;
|
|
91364
|
+
gap: 0.25rem;
|
|
91365
|
+
}
|
|
91366
|
+
|
|
91367
|
+
/* Fieldset (for radio groups) */
|
|
91368
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-fieldset {
|
|
91369
|
+
display: flex;
|
|
91370
|
+
flex-direction: column;
|
|
91371
|
+
gap: 0.5rem;
|
|
91372
|
+
border: none;
|
|
91373
|
+
padding: 0;
|
|
91374
|
+
margin: 0;
|
|
91375
|
+
}
|
|
91376
|
+
|
|
91377
|
+
/* Inline field (checkbox, radio with label) */
|
|
91378
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-inline {
|
|
91379
|
+
display: flex;
|
|
91380
|
+
align-items: center;
|
|
91381
|
+
gap: 0.5rem;
|
|
91382
|
+
}
|
|
91383
|
+
|
|
91384
|
+
/* Success state */
|
|
91385
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-success {
|
|
91386
|
+
background-color: var(--fb-success-bg);
|
|
91387
|
+
color: var(--fb-success-text);
|
|
91388
|
+
border: 1px solid var(--fb-success-border);
|
|
91389
|
+
border-radius: var(--rb-block-radius);
|
|
91390
|
+
padding: 1rem;
|
|
91391
|
+
font-size: 0.875rem;
|
|
91392
|
+
}
|
|
91393
|
+
|
|
91394
|
+
/* Error banner */
|
|
91395
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-error {
|
|
91396
|
+
background-color: var(--fb-error-bg);
|
|
91397
|
+
color: var(--fb-error-text);
|
|
91398
|
+
border: 1px solid var(--fb-error-border);
|
|
91399
|
+
border-radius: var(--rb-block-radius);
|
|
91400
|
+
padding: 0.75rem;
|
|
91401
|
+
font-size: 0.875rem;
|
|
91402
|
+
margin-bottom: 0.5rem;
|
|
91403
|
+
}
|
|
91404
|
+
|
|
91405
|
+
/* Empty state (no form data) */
|
|
91406
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-empty {
|
|
91407
|
+
background-color: var(--fb-empty-bg);
|
|
91408
|
+
color: var(--fb-empty-text);
|
|
91409
|
+
border: 1px dashed var(--fb-empty-border);
|
|
91410
|
+
border-radius: var(--rb-block-radius);
|
|
91411
|
+
padding: 1.5rem;
|
|
91412
|
+
font-size: 0.875rem;
|
|
91413
|
+
text-align: center;
|
|
91414
|
+
}
|
|
91415
|
+
|
|
91416
|
+
/* Form actions (submit button container) */
|
|
91417
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-actions {
|
|
91418
|
+
margin-top: 0.5rem;
|
|
91419
|
+
}
|
|
91420
|
+
|
|
91268
91421
|
/* =============================================================================
|
|
91269
91422
|
* Block-Level Override Utilities
|
|
91270
91423
|
*
|
|
@@ -92881,14 +93034,11 @@ var containerResponsiveThemeCss = `/*
|
|
|
92881
93034
|
--cr-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
92882
93035
|
}
|
|
92883
93036
|
|
|
92884
|
-
/* Container
|
|
93037
|
+
/* Container: base styling comes from the shared .rb-reg-surface
|
|
93038
|
+
(registration-surface.css); these overrides preserve course
|
|
93039
|
+
registration's pre-extraction look (fixed padding, centered). */
|
|
92885
93040
|
:where(.theme-scope) :where([data-block="course-registration"]) .cr-container {
|
|
92886
|
-
border-radius: var(--rb-block-radius);
|
|
92887
|
-
border: 1px solid var(--cr-border);
|
|
92888
93041
|
padding: 1.5rem;
|
|
92889
|
-
background: rgb(var(--tb-surface));
|
|
92890
|
-
color: var(--cr-on-surface);
|
|
92891
|
-
max-width: 50rem; /* 800px */
|
|
92892
93042
|
margin-inline: auto;
|
|
92893
93043
|
}
|
|
92894
93044
|
|
|
@@ -93565,7 +93715,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
93565
93715
|
padding: 2rem 1rem;
|
|
93566
93716
|
}
|
|
93567
93717
|
|
|
93568
|
-
/* State icon color variants (layout from registration-
|
|
93718
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
93569
93719
|
:where(.theme-scope) :where([data-block="course-registration"]) .rb-state-icon--success {
|
|
93570
93720
|
background: var(--cr-success-bg);
|
|
93571
93721
|
color: var(--cr-success-text);
|
|
@@ -128242,25 +128392,87 @@ function AltchaWidget({
|
|
|
128242
128392
|
function isSpamProtectionEnabled() {
|
|
128243
128393
|
return process.env.NEXT_PUBLIC_SPAM_PROTECTION_ENABLED === "true";
|
|
128244
128394
|
}
|
|
128395
|
+
function CheckIcon2({ className, strokeWidth = 2 }) {
|
|
128396
|
+
return /* @__PURE__ */ jsx(
|
|
128397
|
+
"svg",
|
|
128398
|
+
{
|
|
128399
|
+
fill: "none",
|
|
128400
|
+
strokeLinecap: "round",
|
|
128401
|
+
strokeLinejoin: "round",
|
|
128402
|
+
strokeWidth,
|
|
128403
|
+
viewBox: "0 0 24 24",
|
|
128404
|
+
stroke: "currentColor",
|
|
128405
|
+
className,
|
|
128406
|
+
width: "1em",
|
|
128407
|
+
height: "1em",
|
|
128408
|
+
"aria-hidden": "true",
|
|
128409
|
+
children: /* @__PURE__ */ jsx("path", { d: "M5 13l4 4L19 7" })
|
|
128410
|
+
}
|
|
128411
|
+
);
|
|
128412
|
+
}
|
|
128413
|
+
function StateIcon({ variant, children }) {
|
|
128414
|
+
return /* @__PURE__ */ jsx("div", { className: `rb-state-icon rb-state-icon--${variant}`, "aria-hidden": "true", children });
|
|
128415
|
+
}
|
|
128416
|
+
function joinClasses7(...parts) {
|
|
128417
|
+
return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
|
|
128418
|
+
}
|
|
128419
|
+
function TerminalPanel({
|
|
128420
|
+
tone,
|
|
128421
|
+
title,
|
|
128422
|
+
titleAs: Title = "h3",
|
|
128423
|
+
body,
|
|
128424
|
+
secondaryBody,
|
|
128425
|
+
icon: icon2,
|
|
128426
|
+
actions,
|
|
128427
|
+
className,
|
|
128428
|
+
titleClassName,
|
|
128429
|
+
bodyClassName,
|
|
128430
|
+
secondaryBodyClassName,
|
|
128431
|
+
iconClassName,
|
|
128432
|
+
actionsClassName,
|
|
128433
|
+
role,
|
|
128434
|
+
live
|
|
128435
|
+
}) {
|
|
128436
|
+
const resolvedRole = role ?? (tone === "error" ? "alert" : "status");
|
|
128437
|
+
const resolvedLive = live ?? (resolvedRole === "alert" ? "assertive" : "polite");
|
|
128438
|
+
return /* @__PURE__ */ jsxs(
|
|
128439
|
+
"div",
|
|
128440
|
+
{
|
|
128441
|
+
className,
|
|
128442
|
+
"data-terminal-panel": true,
|
|
128443
|
+
"data-terminal-tone": tone,
|
|
128444
|
+
role: resolvedRole,
|
|
128445
|
+
"aria-live": resolvedLive === "off" ? void 0 : resolvedLive,
|
|
128446
|
+
children: [
|
|
128447
|
+
icon2 ? /* @__PURE__ */ jsx("div", { className: joinClasses7(iconClassName), "data-terminal-icon": true, children: icon2 }) : null,
|
|
128448
|
+
/* @__PURE__ */ jsx(Title, { className: joinClasses7(titleClassName), "data-terminal-title": true, children: title }),
|
|
128449
|
+
body ? /* @__PURE__ */ jsx("div", { className: joinClasses7(bodyClassName), "data-terminal-body": true, children: body }) : null,
|
|
128450
|
+
actions ? /* @__PURE__ */ jsx("div", { className: joinClasses7(actionsClassName), "data-terminal-actions": true, children: actions }) : null,
|
|
128451
|
+
secondaryBody ? /* @__PURE__ */ jsx("div", { className: joinClasses7(secondaryBodyClassName), "data-terminal-secondary-body": true, children: secondaryBody }) : null
|
|
128452
|
+
]
|
|
128453
|
+
}
|
|
128454
|
+
);
|
|
128455
|
+
}
|
|
128245
128456
|
var SuccessMessage = ({
|
|
128246
128457
|
message: message2,
|
|
128247
128458
|
resourceName,
|
|
128248
128459
|
className
|
|
128249
128460
|
}) => {
|
|
128250
128461
|
return /* @__PURE__ */ jsx(
|
|
128251
|
-
|
|
128462
|
+
TerminalPanel,
|
|
128252
128463
|
{
|
|
128253
128464
|
tone: "success",
|
|
128254
|
-
|
|
128465
|
+
title: "Booking confirmed",
|
|
128466
|
+
icon: /* @__PURE__ */ jsx(StateIcon, { variant: "success", children: /* @__PURE__ */ jsx(CheckIcon2, { strokeWidth: 3 }) }),
|
|
128467
|
+
body: /* @__PURE__ */ jsx("p", { className: "ab-text", children: message2 }),
|
|
128468
|
+
secondaryBody: resourceName ? /* @__PURE__ */ jsxs("p", { className: "ab-text rb-on-surface--muted", children: [
|
|
128469
|
+
"Practitioner: ",
|
|
128470
|
+
resourceName
|
|
128471
|
+
] }) : null,
|
|
128472
|
+
className: ["ab-center", className ?? ""].join(" ").trim(),
|
|
128473
|
+
titleClassName: "ab-terminal-title",
|
|
128255
128474
|
role: "alert",
|
|
128256
|
-
live: "polite"
|
|
128257
|
-
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
128258
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text", children: message2 }),
|
|
128259
|
-
resourceName ? /* @__PURE__ */ jsxs("p", { className: "ab-text ab-text--muted", children: [
|
|
128260
|
-
"Practitioner: ",
|
|
128261
|
-
resourceName
|
|
128262
|
-
] }) : null
|
|
128263
|
-
] })
|
|
128475
|
+
live: "polite"
|
|
128264
128476
|
}
|
|
128265
128477
|
);
|
|
128266
128478
|
};
|
|
@@ -128324,9 +128536,30 @@ function formatDate2(dateStr) {
|
|
|
128324
128536
|
}
|
|
128325
128537
|
});
|
|
128326
128538
|
}
|
|
128327
|
-
function
|
|
128328
|
-
|
|
128539
|
+
function formatDatePillParts(dateStr) {
|
|
128540
|
+
const instant = `${dateStr}T00:00:00.000Z`;
|
|
128541
|
+
const partFormat = (format2) => formatBookingInstant(instant, {
|
|
128329
128542
|
timeZone: DEFAULT_BOOKING_TIME_ZONE,
|
|
128543
|
+
format: format2
|
|
128544
|
+
});
|
|
128545
|
+
return {
|
|
128546
|
+
weekday: partFormat({ weekday: "short" }),
|
|
128547
|
+
day: partFormat({ day: "numeric" }),
|
|
128548
|
+
month: partFormat({ month: "short" })
|
|
128549
|
+
};
|
|
128550
|
+
}
|
|
128551
|
+
function formatTimeShort(isoString, timeZone = DEFAULT_BOOKING_TIME_ZONE) {
|
|
128552
|
+
return formatBookingInstant(isoString, {
|
|
128553
|
+
timeZone,
|
|
128554
|
+
format: {
|
|
128555
|
+
hour: "numeric",
|
|
128556
|
+
minute: "2-digit"
|
|
128557
|
+
}
|
|
128558
|
+
});
|
|
128559
|
+
}
|
|
128560
|
+
function formatTime2(isoString, timeZone = DEFAULT_BOOKING_TIME_ZONE) {
|
|
128561
|
+
return formatBookingInstant(isoString, {
|
|
128562
|
+
timeZone,
|
|
128330
128563
|
format: {
|
|
128331
128564
|
hour: "numeric",
|
|
128332
128565
|
minute: "2-digit",
|
|
@@ -129456,6 +129689,24 @@ function toBookingSlotView(slot) {
|
|
|
129456
129689
|
function toBookingSlotViews(slots) {
|
|
129457
129690
|
return slots.map(toBookingSlotView);
|
|
129458
129691
|
}
|
|
129692
|
+
function deriveBookingSlotDisplayOptions(input) {
|
|
129693
|
+
const seenStartTimes = /* @__PURE__ */ new Set();
|
|
129694
|
+
const options = [];
|
|
129695
|
+
for (const slot of input.slots) {
|
|
129696
|
+
if (!input.hasSelectedResource) {
|
|
129697
|
+
if (seenStartTimes.has(slot.startAt)) continue;
|
|
129698
|
+
seenStartTimes.add(slot.startAt);
|
|
129699
|
+
}
|
|
129700
|
+
options.push({
|
|
129701
|
+
key: slot.key,
|
|
129702
|
+
startAt: slot.startAt,
|
|
129703
|
+
endAt: slot.endAt,
|
|
129704
|
+
resourceId: slot.resourceId,
|
|
129705
|
+
slot
|
|
129706
|
+
});
|
|
129707
|
+
}
|
|
129708
|
+
return options;
|
|
129709
|
+
}
|
|
129459
129710
|
function toBookingFormData(state) {
|
|
129460
129711
|
return {
|
|
129461
129712
|
...state.fieldValues,
|
|
@@ -130752,63 +131003,96 @@ function useAppointmentCheckoutVerificationWithDeps(config, deps) {
|
|
|
130752
131003
|
retry: polling.retry
|
|
130753
131004
|
};
|
|
130754
131005
|
}
|
|
131006
|
+
function DateFieldLabel({
|
|
131007
|
+
labelId,
|
|
131008
|
+
required
|
|
131009
|
+
}) {
|
|
131010
|
+
return /* @__PURE__ */ jsxs("span", { className: "form-label", id: labelId, children: [
|
|
131011
|
+
"Select Date",
|
|
131012
|
+
required && /* @__PURE__ */ jsx("span", { className: "required-marker", children: "*" })
|
|
131013
|
+
] });
|
|
131014
|
+
}
|
|
130755
131015
|
var DatePicker = ({
|
|
130756
131016
|
value,
|
|
130757
131017
|
onChange,
|
|
130758
131018
|
dateOptions,
|
|
130759
131019
|
required = true,
|
|
131020
|
+
ariaDescribedBy,
|
|
131021
|
+
ariaInvalid,
|
|
130760
131022
|
isLoading = false,
|
|
130761
131023
|
isEmpty = false,
|
|
130762
131024
|
hasMore = false,
|
|
130763
131025
|
onLoadMore
|
|
130764
131026
|
}) => {
|
|
131027
|
+
const generatedId = React61__default.useId();
|
|
131028
|
+
const labelId = `${generatedId}-date-label`;
|
|
131029
|
+
const gridRef = React61__default.useRef(null);
|
|
131030
|
+
const previousCountRef = React61__default.useRef(dateOptions.length);
|
|
131031
|
+
React61__default.useEffect(() => {
|
|
131032
|
+
const previousCount = previousCountRef.current;
|
|
131033
|
+
previousCountRef.current = dateOptions.length;
|
|
131034
|
+
if (previousCount === 0 || dateOptions.length <= previousCount) return;
|
|
131035
|
+
const pills = gridRef.current?.querySelectorAll(
|
|
131036
|
+
"button[aria-pressed]"
|
|
131037
|
+
);
|
|
131038
|
+
pills?.[previousCount]?.focus();
|
|
131039
|
+
}, [dateOptions.length]);
|
|
130765
131040
|
if (isLoading) {
|
|
130766
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
130767
|
-
/* @__PURE__ */
|
|
130768
|
-
|
|
130769
|
-
|
|
130770
|
-
] }),
|
|
130771
|
-
/* @__PURE__ */ jsx("div", { className: "ab-skeleton" }),
|
|
130772
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text ab-text--muted ab-text--sm", children: "Loading available dates..." })
|
|
131041
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131042
|
+
/* @__PURE__ */ jsx(DateFieldLabel, { labelId, required }),
|
|
131043
|
+
/* @__PURE__ */ jsx("div", { className: "rb-shell-block" }),
|
|
131044
|
+
/* @__PURE__ */ jsx("p", { className: "ab-text ab-text--sm rb-on-surface--muted", children: "Loading available dates..." })
|
|
130773
131045
|
] });
|
|
130774
131046
|
}
|
|
130775
131047
|
if (isEmpty) {
|
|
130776
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
130777
|
-
/* @__PURE__ */
|
|
130778
|
-
|
|
130779
|
-
required && /* @__PURE__ */ jsx("span", { className: "ab-required", children: "*" })
|
|
130780
|
-
] }),
|
|
130781
|
-
/* @__PURE__ */ jsx(FeedbackMessage, { tone: "warning", className: "ab-alert ab-alert--warning", role: "status", children: /* @__PURE__ */ jsxs("p", { className: "ab-text", children: [
|
|
131048
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131049
|
+
/* @__PURE__ */ jsx(DateFieldLabel, { labelId, required }),
|
|
131050
|
+
/* @__PURE__ */ jsx(FeedbackMessage, { tone: "warning", className: "alert alert-warning", role: "status", children: /* @__PURE__ */ jsxs("p", { className: "ab-text", children: [
|
|
130782
131051
|
"No available dates in this period.",
|
|
130783
131052
|
hasMore && onLoadMore && /* @__PURE__ */ jsx(
|
|
130784
131053
|
"button",
|
|
130785
131054
|
{
|
|
130786
131055
|
type: "button",
|
|
130787
131056
|
onClick: onLoadMore,
|
|
130788
|
-
className: "ab-link",
|
|
131057
|
+
className: "ab-link rb-ml-2",
|
|
130789
131058
|
children: "Check later dates"
|
|
130790
131059
|
}
|
|
130791
131060
|
)
|
|
130792
131061
|
] }) })
|
|
130793
131062
|
] });
|
|
130794
131063
|
}
|
|
130795
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
130796
|
-
/* @__PURE__ */
|
|
130797
|
-
|
|
130798
|
-
|
|
130799
|
-
] }),
|
|
130800
|
-
/* @__PURE__ */ jsxs(
|
|
130801
|
-
"select",
|
|
131064
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131065
|
+
/* @__PURE__ */ jsx(DateFieldLabel, { labelId, required }),
|
|
131066
|
+
/* @__PURE__ */ jsx(
|
|
131067
|
+
"div",
|
|
130802
131068
|
{
|
|
130803
|
-
|
|
130804
|
-
|
|
130805
|
-
|
|
130806
|
-
|
|
130807
|
-
|
|
130808
|
-
|
|
130809
|
-
|
|
130810
|
-
|
|
130811
|
-
|
|
131069
|
+
ref: gridRef,
|
|
131070
|
+
role: "group",
|
|
131071
|
+
"aria-labelledby": labelId,
|
|
131072
|
+
"aria-describedby": ariaDescribedBy,
|
|
131073
|
+
"aria-invalid": ariaInvalid || void 0,
|
|
131074
|
+
"aria-required": required || void 0,
|
|
131075
|
+
className: "ab-pill-grid",
|
|
131076
|
+
children: dateOptions.map((date) => {
|
|
131077
|
+
const isSelected = value === date;
|
|
131078
|
+
const parts = formatDatePillParts(date);
|
|
131079
|
+
return /* @__PURE__ */ jsxs(
|
|
131080
|
+
"button",
|
|
131081
|
+
{
|
|
131082
|
+
type: "button",
|
|
131083
|
+
onClick: () => onChange(isSelected ? "" : date),
|
|
131084
|
+
"aria-pressed": isSelected,
|
|
131085
|
+
"aria-label": formatDate2(date),
|
|
131086
|
+
className: `rb-option-card ab-date-pill${isSelected ? " rb-option-card--selected" : ""}`,
|
|
131087
|
+
children: [
|
|
131088
|
+
/* @__PURE__ */ jsx("span", { className: "ab-pill-caption", "aria-hidden": "true", children: parts.weekday }),
|
|
131089
|
+
/* @__PURE__ */ jsx("span", { className: "ab-pill-value", "aria-hidden": "true", children: parts.day }),
|
|
131090
|
+
/* @__PURE__ */ jsx("span", { className: "ab-pill-caption", "aria-hidden": "true", children: parts.month })
|
|
131091
|
+
]
|
|
131092
|
+
},
|
|
131093
|
+
date
|
|
131094
|
+
);
|
|
131095
|
+
})
|
|
130812
131096
|
}
|
|
130813
131097
|
),
|
|
130814
131098
|
hasMore && onLoadMore && /* @__PURE__ */ jsx(
|
|
@@ -130817,7 +131101,7 @@ var DatePicker = ({
|
|
|
130817
131101
|
type: "button",
|
|
130818
131102
|
onClick: onLoadMore,
|
|
130819
131103
|
className: "ab-link",
|
|
130820
|
-
children: "
|
|
131104
|
+
children: "More dates \u2192"
|
|
130821
131105
|
}
|
|
130822
131106
|
)
|
|
130823
131107
|
] });
|
|
@@ -130827,29 +131111,125 @@ var TimeSlotSelector = ({
|
|
|
130827
131111
|
onChange,
|
|
130828
131112
|
slots,
|
|
130829
131113
|
isLoading,
|
|
130830
|
-
|
|
131114
|
+
timezone,
|
|
131115
|
+
required = true,
|
|
131116
|
+
ariaDescribedBy,
|
|
131117
|
+
ariaInvalid
|
|
130831
131118
|
}) => {
|
|
130832
|
-
|
|
130833
|
-
|
|
131119
|
+
const generatedId = React61__default.useId();
|
|
131120
|
+
const labelId = `${generatedId}-time-label`;
|
|
131121
|
+
const groupRef = React61__default.useRef(null);
|
|
131122
|
+
const hadSlotsRef = React61__default.useRef(false);
|
|
131123
|
+
React61__default.useEffect(() => {
|
|
131124
|
+
const hasSlots = !isLoading && slots.length > 0;
|
|
131125
|
+
if (hasSlots && !hadSlotsRef.current) {
|
|
131126
|
+
groupRef.current?.scrollIntoView({ block: "nearest", behavior: "smooth" });
|
|
131127
|
+
}
|
|
131128
|
+
hadSlotsRef.current = hasSlots;
|
|
131129
|
+
}, [isLoading, slots.length]);
|
|
131130
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131131
|
+
/* @__PURE__ */ jsxs("span", { className: "form-label", id: labelId, children: [
|
|
130834
131132
|
"Select Time",
|
|
130835
|
-
required && /* @__PURE__ */ jsx("span", { className: "
|
|
131133
|
+
required && /* @__PURE__ */ jsx("span", { className: "required-marker", children: "*" })
|
|
130836
131134
|
] }),
|
|
130837
|
-
isLoading ? /* @__PURE__ */ jsx(
|
|
130838
|
-
"
|
|
131135
|
+
isLoading ? /* @__PURE__ */ jsx("div", { className: "rb-shell-block" }) : slots.length === 0 ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "alert alert-info", role: "status", children: "No available times for this date" }) : /* @__PURE__ */ jsx(
|
|
131136
|
+
"div",
|
|
130839
131137
|
{
|
|
130840
|
-
|
|
130841
|
-
|
|
130842
|
-
|
|
130843
|
-
|
|
130844
|
-
|
|
130845
|
-
|
|
130846
|
-
|
|
130847
|
-
|
|
130848
|
-
|
|
131138
|
+
ref: groupRef,
|
|
131139
|
+
role: "group",
|
|
131140
|
+
"aria-labelledby": labelId,
|
|
131141
|
+
"aria-describedby": ariaDescribedBy,
|
|
131142
|
+
"aria-invalid": ariaInvalid || void 0,
|
|
131143
|
+
"aria-required": required || void 0,
|
|
131144
|
+
className: "ab-pill-grid",
|
|
131145
|
+
children: slots.map((slot) => {
|
|
131146
|
+
const isSelected = value === slot.key;
|
|
131147
|
+
return /* @__PURE__ */ jsx(
|
|
131148
|
+
"button",
|
|
131149
|
+
{
|
|
131150
|
+
type: "button",
|
|
131151
|
+
onClick: () => onChange(isSelected ? "" : slot.key),
|
|
131152
|
+
"aria-pressed": isSelected,
|
|
131153
|
+
"aria-label": formatTime2(slot.startAt, timezone),
|
|
131154
|
+
className: `rb-option-card ab-time-pill${isSelected ? " rb-option-card--selected" : ""}`,
|
|
131155
|
+
children: formatTimeShort(slot.startAt, timezone)
|
|
131156
|
+
},
|
|
131157
|
+
slot.key
|
|
131158
|
+
);
|
|
131159
|
+
})
|
|
130849
131160
|
}
|
|
130850
131161
|
)
|
|
130851
131162
|
] });
|
|
130852
131163
|
};
|
|
131164
|
+
function buildClassChannels(slot, classPrefix, emitSharedClasses) {
|
|
131165
|
+
const classes = [];
|
|
131166
|
+
if (emitSharedClasses) classes.push(`rb-${slot}`);
|
|
131167
|
+
if (classPrefix) classes.push(`${classPrefix}-${slot}`);
|
|
131168
|
+
return classes;
|
|
131169
|
+
}
|
|
131170
|
+
function StepIndicator({
|
|
131171
|
+
currentStep,
|
|
131172
|
+
totalSteps,
|
|
131173
|
+
stepLabels,
|
|
131174
|
+
classPrefix,
|
|
131175
|
+
emitSharedClasses
|
|
131176
|
+
}) {
|
|
131177
|
+
const slotClass = (slot, modifier) => {
|
|
131178
|
+
const base2 = buildClassChannels(slot, classPrefix, emitSharedClasses);
|
|
131179
|
+
if (!modifier) return base2.join(" ");
|
|
131180
|
+
const modified = buildClassChannels(
|
|
131181
|
+
`${slot}--${modifier}`,
|
|
131182
|
+
classPrefix,
|
|
131183
|
+
emitSharedClasses
|
|
131184
|
+
);
|
|
131185
|
+
return [...base2, ...modified].join(" ");
|
|
131186
|
+
};
|
|
131187
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": "Registration progress", className: slotClass("steps-nav"), children: /* @__PURE__ */ jsx("ol", { className: slotClass("steps"), children: Array.from({ length: totalSteps }, (_2, i2) => {
|
|
131188
|
+
const stepNum = i2 + 1;
|
|
131189
|
+
const isActive2 = stepNum === currentStep;
|
|
131190
|
+
const isComplete = stepNum < currentStep;
|
|
131191
|
+
return /* @__PURE__ */ jsxs(
|
|
131192
|
+
"li",
|
|
131193
|
+
{
|
|
131194
|
+
className: slotClass("step"),
|
|
131195
|
+
"aria-current": isActive2 ? "step" : void 0,
|
|
131196
|
+
children: [
|
|
131197
|
+
/* @__PURE__ */ jsx(
|
|
131198
|
+
"div",
|
|
131199
|
+
{
|
|
131200
|
+
className: slotClass(
|
|
131201
|
+
"step-circle",
|
|
131202
|
+
isActive2 ? "active" : isComplete ? "completed" : void 0
|
|
131203
|
+
),
|
|
131204
|
+
children: isComplete ? /* @__PURE__ */ jsx(CheckIcon2, { className: slotClass("step-check"), strokeWidth: 3 }) : stepNum
|
|
131205
|
+
}
|
|
131206
|
+
),
|
|
131207
|
+
stepLabels?.[i2] && /* @__PURE__ */ jsx(
|
|
131208
|
+
"span",
|
|
131209
|
+
{
|
|
131210
|
+
className: slotClass(
|
|
131211
|
+
"step-label",
|
|
131212
|
+
isActive2 ? "active" : void 0
|
|
131213
|
+
),
|
|
131214
|
+
children: stepLabels[i2]
|
|
131215
|
+
}
|
|
131216
|
+
),
|
|
131217
|
+
stepNum < totalSteps && /* @__PURE__ */ jsx(
|
|
131218
|
+
"div",
|
|
131219
|
+
{
|
|
131220
|
+
className: slotClass(
|
|
131221
|
+
"step-connector",
|
|
131222
|
+
isComplete ? "completed" : void 0
|
|
131223
|
+
),
|
|
131224
|
+
"aria-hidden": "true"
|
|
131225
|
+
}
|
|
131226
|
+
)
|
|
131227
|
+
]
|
|
131228
|
+
},
|
|
131229
|
+
i2
|
|
131230
|
+
);
|
|
131231
|
+
}) }) });
|
|
131232
|
+
}
|
|
130853
131233
|
var BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES = {
|
|
130854
131234
|
"course-registration": {
|
|
130855
131235
|
root: "cr-discount",
|
|
@@ -131004,17 +131384,9 @@ function FieldValidationMessage({
|
|
|
131004
131384
|
}
|
|
131005
131385
|
);
|
|
131006
131386
|
}
|
|
131007
|
-
|
|
131008
|
-
|
|
131009
|
-
|
|
131010
|
-
flexDirection: "column",
|
|
131011
|
-
gap: "0.25rem",
|
|
131012
|
-
justifyContent: "flex-start",
|
|
131013
|
-
width: "100%"
|
|
131014
|
-
};
|
|
131015
|
-
var summaryStackStyle = {
|
|
131016
|
-
gap: "0.125rem"
|
|
131017
|
-
};
|
|
131387
|
+
function optionCardClassName(isSelected) {
|
|
131388
|
+
return `rb-option-card${isSelected ? " rb-option-card--selected" : ""}`;
|
|
131389
|
+
}
|
|
131018
131390
|
function formatBookingAmount(amount, currency) {
|
|
131019
131391
|
return formatCurrencyAmount(amount, currency, { decimals: "auto" });
|
|
131020
131392
|
}
|
|
@@ -131023,6 +131395,7 @@ function HeadlessBookingDefaultForm({
|
|
|
131023
131395
|
onSubmit
|
|
131024
131396
|
}) {
|
|
131025
131397
|
const currentStep = booking.currentStep;
|
|
131398
|
+
const errorSummaryId = React61__default.useId();
|
|
131026
131399
|
const currentStepIndex = currentStep?.visibleIndex ?? 0;
|
|
131027
131400
|
const isFirstStep = currentStepIndex === 0;
|
|
131028
131401
|
const isLastStep = currentStepIndex === booking.steps.length - 1;
|
|
@@ -131038,16 +131411,30 @@ function HeadlessBookingDefaultForm({
|
|
|
131038
131411
|
return /* @__PURE__ */ jsx("div", { className: "rb-text-center rb-py-12", children: /* @__PURE__ */ jsx("p", { className: "status-muted", children: "No steps available" }) });
|
|
131039
131412
|
}
|
|
131040
131413
|
return /* @__PURE__ */ jsxs("div", { className: "multi-step-form", children: [
|
|
131041
|
-
|
|
131042
|
-
|
|
131414
|
+
booking.steps.length > 1 ? /* @__PURE__ */ jsx(
|
|
131415
|
+
StepIndicator,
|
|
131416
|
+
{
|
|
131417
|
+
currentStep: currentStepIndex + 1,
|
|
131418
|
+
totalSteps: booking.steps.length,
|
|
131419
|
+
stepLabels: booking.steps.map((step) => step.label),
|
|
131420
|
+
emitSharedClasses: true
|
|
131421
|
+
}
|
|
131422
|
+
) : null,
|
|
131423
|
+
/* @__PURE__ */ jsx("div", { className: "step-content", children: /* @__PURE__ */ jsx(
|
|
131424
|
+
DefaultBookingStepContent,
|
|
131043
131425
|
{
|
|
131044
|
-
|
|
131045
|
-
|
|
131426
|
+
booking,
|
|
131427
|
+
errorSummaryId
|
|
131046
131428
|
}
|
|
131047
131429
|
) }),
|
|
131048
|
-
/* @__PURE__ */ jsx(
|
|
131049
|
-
|
|
131050
|
-
|
|
131430
|
+
/* @__PURE__ */ jsx(
|
|
131431
|
+
DefaultBookingErrorSummary,
|
|
131432
|
+
{
|
|
131433
|
+
errors: currentStep.errors,
|
|
131434
|
+
id: errorSummaryId
|
|
131435
|
+
}
|
|
131436
|
+
),
|
|
131437
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-wizard-actions", children: [
|
|
131051
131438
|
!isFirstStep ? /* @__PURE__ */ jsx(
|
|
131052
131439
|
"button",
|
|
131053
131440
|
{
|
|
@@ -131065,11 +131452,7 @@ function HeadlessBookingDefaultForm({
|
|
|
131065
131452
|
void handlePrimaryAction();
|
|
131066
131453
|
},
|
|
131067
131454
|
disabled: isSubmitting,
|
|
131068
|
-
className: themeButtonClassName({
|
|
131069
|
-
variant: "primary",
|
|
131070
|
-
size: "md",
|
|
131071
|
-
extraClassName: "rb-flex-1"
|
|
131072
|
-
}),
|
|
131455
|
+
className: themeButtonClassName({ variant: "primary", size: "md" }),
|
|
131073
131456
|
children: isSubmitting ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
131074
131457
|
/* @__PURE__ */ jsx(
|
|
131075
131458
|
SpinnerNode,
|
|
@@ -131090,44 +131473,9 @@ function HeadlessBookingDefaultForm({
|
|
|
131090
131473
|
/* @__PURE__ */ jsx(DefaultBookingAltcha, { booking })
|
|
131091
131474
|
] });
|
|
131092
131475
|
}
|
|
131093
|
-
function DefaultBookingProgress({
|
|
131094
|
-
steps,
|
|
131095
|
-
currentIndex
|
|
131096
|
-
}) {
|
|
131097
|
-
return /* @__PURE__ */ jsx("div", { className: "rb-flex rb-items-center rb-justify-between", children: steps.map((step, index2) => {
|
|
131098
|
-
const isActive2 = index2 === currentIndex;
|
|
131099
|
-
const isCompleted = index2 < currentIndex;
|
|
131100
|
-
const isLast = index2 === steps.length - 1;
|
|
131101
|
-
return /* @__PURE__ */ jsxs("div", { className: "rb-flex rb-items-center rb-flex-1", children: [
|
|
131102
|
-
/* @__PURE__ */ jsxs("div", { className: "rb-flex rb-items-center rb-gap-2 rb-cursor-default", children: [
|
|
131103
|
-
/* @__PURE__ */ jsx(
|
|
131104
|
-
"div",
|
|
131105
|
-
{
|
|
131106
|
-
className: `
|
|
131107
|
-
step-circle transition-theme-standard
|
|
131108
|
-
${isActive2 ? "step-circle-active" : ""}
|
|
131109
|
-
${isCompleted ? "step-circle-complete" : ""}
|
|
131110
|
-
`,
|
|
131111
|
-
children: isCompleted ? "\u2713" : index2 + 1
|
|
131112
|
-
}
|
|
131113
|
-
),
|
|
131114
|
-
/* @__PURE__ */ jsx(
|
|
131115
|
-
"span",
|
|
131116
|
-
{
|
|
131117
|
-
className: `
|
|
131118
|
-
rb-caption rb-hidden rb-sm-inline
|
|
131119
|
-
${isCompleted || !isActive2 ? "status-muted" : ""}
|
|
131120
|
-
`,
|
|
131121
|
-
children: step.label
|
|
131122
|
-
}
|
|
131123
|
-
)
|
|
131124
|
-
] }),
|
|
131125
|
-
!isLast ? /* @__PURE__ */ jsx("div", { className: "step-connector rb-ml-2 rb-mr-2 rb-hidden rb-sm-block" }) : null
|
|
131126
|
-
] }, step.id);
|
|
131127
|
-
}) });
|
|
131128
|
-
}
|
|
131129
131476
|
function DefaultBookingStepContent({
|
|
131130
|
-
booking
|
|
131477
|
+
booking,
|
|
131478
|
+
errorSummaryId
|
|
131131
131479
|
}) {
|
|
131132
131480
|
const stepId = booking.currentStep?.id;
|
|
131133
131481
|
if (!stepId) return null;
|
|
@@ -131135,7 +131483,13 @@ function DefaultBookingStepContent({
|
|
|
131135
131483
|
case "service-selection":
|
|
131136
131484
|
return /* @__PURE__ */ jsx(DefaultServiceSelectionStep, { booking });
|
|
131137
131485
|
case "datetime-selection":
|
|
131138
|
-
return /* @__PURE__ */ jsx(
|
|
131486
|
+
return /* @__PURE__ */ jsx(
|
|
131487
|
+
DefaultDateTimeSelectionStep,
|
|
131488
|
+
{
|
|
131489
|
+
booking,
|
|
131490
|
+
errorSummaryId
|
|
131491
|
+
}
|
|
131492
|
+
);
|
|
131139
131493
|
case "payment-selection":
|
|
131140
131494
|
return /* @__PURE__ */ jsx(HeadlessBookingPaymentSelectionStep, { booking });
|
|
131141
131495
|
case "custom-fields":
|
|
@@ -131154,32 +131508,33 @@ function DefaultServiceSelectionStep({
|
|
|
131154
131508
|
const showServiceSelect = booking.services.requiresSelection || services.length > 1;
|
|
131155
131509
|
const showResourceSelect = booking.resources.requiresSelection || resources.length > 1;
|
|
131156
131510
|
const allowAnyResource = !booking.resources.requiresSelection;
|
|
131157
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
131511
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack", children: [
|
|
131158
131512
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
131159
131513
|
/* @__PURE__ */ jsx("h2", { className: "ab-title", children: "Select Service" }),
|
|
131160
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text
|
|
131514
|
+
/* @__PURE__ */ jsx("p", { className: "ab-text rb-on-surface--muted", children: "Choose the service you'd like to book" })
|
|
131161
131515
|
] }),
|
|
131162
|
-
showServiceSelect ? /* @__PURE__ */ jsxs("div", { className: "
|
|
131163
|
-
/* @__PURE__ */ jsx("
|
|
131164
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
131516
|
+
showServiceSelect ? /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131517
|
+
/* @__PURE__ */ jsx("span", { className: "ab-subtitle", children: "Service" }),
|
|
131518
|
+
/* @__PURE__ */ jsx("div", { className: "rb-reg-grid", children: services.map((service) => {
|
|
131165
131519
|
const isSelected = selectedServiceId === service.id;
|
|
131166
|
-
return /* @__PURE__ */
|
|
131520
|
+
return /* @__PURE__ */ jsxs(
|
|
131167
131521
|
"button",
|
|
131168
131522
|
{
|
|
131169
131523
|
type: "button",
|
|
131170
131524
|
onClick: () => booking.actions.selectService(service.id),
|
|
131171
|
-
className:
|
|
131172
|
-
|
|
131173
|
-
|
|
131525
|
+
className: optionCardClassName(isSelected),
|
|
131526
|
+
"aria-pressed": isSelected,
|
|
131527
|
+
children: [
|
|
131528
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-flex-1", children: [
|
|
131174
131529
|
/* @__PURE__ */ jsx("div", { className: "ab-subtitle", children: service.title }),
|
|
131175
|
-
service.description ? /* @__PURE__ */ jsx("div", { className: "ab-text
|
|
131176
|
-
service.durationMinutes ? /* @__PURE__ */ jsxs("div", { className: "ab-text
|
|
131530
|
+
service.description ? /* @__PURE__ */ jsx("div", { className: "ab-text rb-on-surface--muted", children: service.description }) : null,
|
|
131531
|
+
service.durationMinutes ? /* @__PURE__ */ jsxs("div", { className: "ab-text rb-on-surface--muted", children: [
|
|
131177
131532
|
service.durationMinutes,
|
|
131178
131533
|
" minutes"
|
|
131179
131534
|
] }) : null
|
|
131180
131535
|
] }),
|
|
131181
131536
|
isSelected ? /* @__PURE__ */ jsx(SelectedCheck, {}) : null
|
|
131182
|
-
]
|
|
131537
|
+
]
|
|
131183
131538
|
},
|
|
131184
131539
|
service.id
|
|
131185
131540
|
);
|
|
@@ -131187,41 +131542,43 @@ function DefaultServiceSelectionStep({
|
|
|
131187
131542
|
] }) : null,
|
|
131188
131543
|
booking.resources.state.tag === "loading" ? /* @__PURE__ */ jsxs("div", { className: "ab-center", children: [
|
|
131189
131544
|
/* @__PURE__ */ jsx(SpinnerNode, { size: "md", srLabel: "Loading practitioners" }),
|
|
131190
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text
|
|
131545
|
+
/* @__PURE__ */ jsx("p", { className: "ab-text rb-on-surface--muted", children: "Loading practitioners..." })
|
|
131191
131546
|
] }) : null,
|
|
131192
|
-
booking.resources.state.tag === "error" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
131193
|
-
showResourceSelect && booking.resources.state.tag === "loaded" && resources.length === 0 ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
131194
|
-
showResourceSelect && booking.resources.state.tag !== "loading" && (allowAnyResource || resources.length > 0) ? /* @__PURE__ */ jsxs("div", { className: "
|
|
131195
|
-
/* @__PURE__ */ jsxs("
|
|
131547
|
+
booking.resources.state.tag === "error" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error", role: "alert", children: booking.resources.state.message }) : null,
|
|
131548
|
+
showResourceSelect && booking.resources.state.tag === "loaded" && resources.length === 0 ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error", role: "alert", children: "No practitioners are available for this service right now." }) : null,
|
|
131549
|
+
showResourceSelect && booking.resources.state.tag !== "loading" && (allowAnyResource || resources.length > 0) ? /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack rb-reg-stack--sm", children: [
|
|
131550
|
+
/* @__PURE__ */ jsxs("span", { className: "ab-subtitle", children: [
|
|
131196
131551
|
"Practitioner",
|
|
131197
131552
|
booking.resources.requiresSelection ? "" : " (Optional)"
|
|
131198
131553
|
] }),
|
|
131199
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text
|
|
131200
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
131201
|
-
allowAnyResource ? /* @__PURE__ */
|
|
131554
|
+
/* @__PURE__ */ jsx("p", { className: "ab-text rb-on-surface--muted", children: allowAnyResource ? 'Choose a specific practitioner or select "Any Available"' : "Choose the practitioner you'd like to book" }),
|
|
131555
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-reg-grid", children: [
|
|
131556
|
+
allowAnyResource ? /* @__PURE__ */ jsxs(
|
|
131202
131557
|
"button",
|
|
131203
131558
|
{
|
|
131204
131559
|
type: "button",
|
|
131205
131560
|
onClick: () => booking.actions.selectResource(null),
|
|
131206
|
-
className:
|
|
131207
|
-
|
|
131208
|
-
|
|
131561
|
+
className: optionCardClassName(!selectedResourceId),
|
|
131562
|
+
"aria-pressed": !selectedResourceId,
|
|
131563
|
+
children: [
|
|
131564
|
+
/* @__PURE__ */ jsx("div", { className: "rb-flex-1 ab-subtitle", children: "Any Available" }),
|
|
131209
131565
|
!selectedResourceId ? /* @__PURE__ */ jsx(SelectedCheck, {}) : null
|
|
131210
|
-
]
|
|
131566
|
+
]
|
|
131211
131567
|
}
|
|
131212
131568
|
) : null,
|
|
131213
131569
|
resources.map((resource) => {
|
|
131214
131570
|
const isSelected = selectedResourceId === resource.id;
|
|
131215
|
-
return /* @__PURE__ */
|
|
131571
|
+
return /* @__PURE__ */ jsxs(
|
|
131216
131572
|
"button",
|
|
131217
131573
|
{
|
|
131218
131574
|
type: "button",
|
|
131219
131575
|
onClick: () => booking.actions.selectResource(resource.id),
|
|
131220
|
-
className:
|
|
131221
|
-
|
|
131222
|
-
|
|
131576
|
+
className: optionCardClassName(isSelected),
|
|
131577
|
+
"aria-pressed": isSelected,
|
|
131578
|
+
children: [
|
|
131579
|
+
/* @__PURE__ */ jsx("div", { className: "rb-flex-1 ab-subtitle", children: resource.label }),
|
|
131223
131580
|
isSelected ? /* @__PURE__ */ jsx(SelectedCheck, {}) : null
|
|
131224
|
-
]
|
|
131581
|
+
]
|
|
131225
131582
|
},
|
|
131226
131583
|
resource.id
|
|
131227
131584
|
);
|
|
@@ -131231,27 +131588,30 @@ function DefaultServiceSelectionStep({
|
|
|
131231
131588
|
] });
|
|
131232
131589
|
}
|
|
131233
131590
|
function DefaultDateTimeSelectionStep({
|
|
131234
|
-
booking
|
|
131591
|
+
booking,
|
|
131592
|
+
errorSummaryId
|
|
131235
131593
|
}) {
|
|
131236
131594
|
const selectedDate = booking.availability.selectedDate ?? "";
|
|
131237
|
-
const
|
|
131595
|
+
const selectedSlotKey = booking.availability.selectedSlot?.key ?? "";
|
|
131238
131596
|
const singleService = booking.services.items.length === 1 ? booking.services.items[0] : void 0;
|
|
131239
|
-
const slots =
|
|
131597
|
+
const slots = deriveBookingSlotDisplayOptions({
|
|
131240
131598
|
slots: booking.availability.slots,
|
|
131241
131599
|
hasSelectedResource: Boolean(booking.resources.selectedResourceId)
|
|
131242
131600
|
});
|
|
131243
131601
|
const error = booking.availability.datesState.tag === "error" ? booking.availability.datesState.message : booking.availability.slotsState.tag === "error" ? booking.availability.slotsState.message : null;
|
|
131244
|
-
|
|
131245
|
-
|
|
131602
|
+
const hasValidationError = Boolean(booking.currentStep?.errors.formError);
|
|
131603
|
+
const validationDescribedBy = hasValidationError ? errorSummaryId : void 0;
|
|
131604
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack", children: [
|
|
131605
|
+
singleService ? /* @__PURE__ */ jsxs("div", { className: "rb-reg-summary", children: [
|
|
131246
131606
|
/* @__PURE__ */ jsx("h3", { className: "ab-subtitle", children: singleService.title }),
|
|
131247
|
-
singleService.description ? /* @__PURE__ */ jsx("p", { className: "ab-text
|
|
131248
|
-
singleService.durationMinutes ? /* @__PURE__ */ jsxs("p", { className: "ab-text
|
|
131607
|
+
singleService.description ? /* @__PURE__ */ jsx("p", { className: "ab-text rb-on-surface--muted", children: singleService.description }) : null,
|
|
131608
|
+
singleService.durationMinutes ? /* @__PURE__ */ jsxs("p", { className: "ab-text rb-on-surface--muted", children: [
|
|
131249
131609
|
"Duration: ",
|
|
131250
131610
|
singleService.durationMinutes,
|
|
131251
131611
|
" minutes"
|
|
131252
131612
|
] }) : null
|
|
131253
131613
|
] }) : null,
|
|
131254
|
-
error ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
131614
|
+
error ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error", role: "alert", children: error }) : null,
|
|
131255
131615
|
/* @__PURE__ */ jsx(
|
|
131256
131616
|
DatePicker,
|
|
131257
131617
|
{
|
|
@@ -131260,6 +131620,8 @@ function DefaultDateTimeSelectionStep({
|
|
|
131260
131620
|
dateOptions: [...booking.availability.availableDates],
|
|
131261
131621
|
isLoading: booking.availability.datesState.tag === "loading",
|
|
131262
131622
|
isEmpty: booking.availability.datesState.tag !== "loading" && booking.availability.availableDates.length === 0,
|
|
131623
|
+
ariaDescribedBy: validationDescribedBy,
|
|
131624
|
+
ariaInvalid: hasValidationError,
|
|
131263
131625
|
hasMore: booking.availability.hasMoreDates,
|
|
131264
131626
|
onLoadMore: booking.availability.loadMoreDates
|
|
131265
131627
|
}
|
|
@@ -131267,16 +131629,17 @@ function DefaultDateTimeSelectionStep({
|
|
|
131267
131629
|
selectedDate ? /* @__PURE__ */ jsx(
|
|
131268
131630
|
TimeSlotSelector,
|
|
131269
131631
|
{
|
|
131270
|
-
value:
|
|
131271
|
-
onChange: (
|
|
131632
|
+
value: selectedSlotKey,
|
|
131633
|
+
onChange: (slotKey) => {
|
|
131272
131634
|
booking.actions.selectSlot(
|
|
131273
|
-
|
|
131274
|
-
(slot) => slot.startAt === slotStartTime
|
|
131275
|
-
) ?? null
|
|
131635
|
+
slots.find((slot) => slot.key === slotKey)?.slot ?? null
|
|
131276
131636
|
);
|
|
131277
131637
|
},
|
|
131278
131638
|
slots,
|
|
131279
|
-
isLoading: booking.availability.slotsState.tag === "loading"
|
|
131639
|
+
isLoading: booking.availability.slotsState.tag === "loading",
|
|
131640
|
+
timezone: booking.availability.timezone,
|
|
131641
|
+
ariaDescribedBy: validationDescribedBy,
|
|
131642
|
+
ariaInvalid: hasValidationError
|
|
131280
131643
|
}
|
|
131281
131644
|
) : null
|
|
131282
131645
|
] });
|
|
@@ -131287,21 +131650,21 @@ function HeadlessBookingPaymentSelectionStep({
|
|
|
131287
131650
|
const service = booking.services.selected;
|
|
131288
131651
|
const viewModel = booking.payment.selection;
|
|
131289
131652
|
if (booking.payment.kind === "unsupported") {
|
|
131290
|
-
return /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
131653
|
+
return /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error", role: "alert", children: booking.payment.errorMessage });
|
|
131291
131654
|
}
|
|
131292
131655
|
if (!service || !viewModel) {
|
|
131293
|
-
return /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
131656
|
+
return /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error", role: "alert", children: "Payment options are unavailable for this service right now." });
|
|
131294
131657
|
}
|
|
131295
131658
|
const packageOptions = booking.payment.appointmentPackages.items;
|
|
131296
131659
|
const hasPackageOptions = packageOptions.length > 0;
|
|
131297
131660
|
const slidingScale = booking.payment.slidingScale;
|
|
131298
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
131299
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
131661
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack", children: [
|
|
131662
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-reg-summary", children: [
|
|
131300
131663
|
/* @__PURE__ */ jsx("h3", { className: "ab-subtitle", children: viewModel.sectionTitle }),
|
|
131301
|
-
/* @__PURE__ */ jsx("p", { className: "ab-text
|
|
131664
|
+
/* @__PURE__ */ jsx("p", { className: "ab-text rb-on-surface--muted", children: service.title })
|
|
131302
131665
|
] }),
|
|
131303
|
-
booking.payment.appointmentPackages.state.tag === "loading" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "
|
|
131304
|
-
booking.payment.appointmentPackages.state.tag === "error" ? /* @__PURE__ */ jsxs(FeedbackMessage, { tone: "info", className: "
|
|
131666
|
+
booking.payment.appointmentPackages.state.tag === "loading" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "alert alert-info", role: "status", children: "Checking package credits..." }) : null,
|
|
131667
|
+
booking.payment.appointmentPackages.state.tag === "error" ? /* @__PURE__ */ jsxs(FeedbackMessage, { tone: "info", className: "alert alert-info", role: "status", children: [
|
|
131305
131668
|
booking.payment.appointmentPackages.state.message,
|
|
131306
131669
|
" You can continue with the normal payment option."
|
|
131307
131670
|
] }) : null,
|
|
@@ -131327,47 +131690,47 @@ function HeadlessBookingPaymentSelectionStep({
|
|
|
131327
131690
|
}
|
|
131328
131691
|
)
|
|
131329
131692
|
] }) : null,
|
|
131330
|
-
/* @__PURE__ */ jsxs(
|
|
131331
|
-
|
|
131332
|
-
|
|
131333
|
-
|
|
131334
|
-
|
|
131335
|
-
|
|
131336
|
-
|
|
131337
|
-
|
|
131338
|
-
|
|
131339
|
-
|
|
131340
|
-
|
|
131341
|
-
style: paymentOptionLayoutStyle,
|
|
131342
|
-
onClick: () => booking.actions.selectAppointmentPackage(
|
|
131343
|
-
appointmentPackage.customerPassId
|
|
131344
|
-
),
|
|
131345
|
-
"aria-pressed": isSelected,
|
|
131346
|
-
children: /* @__PURE__ */ jsx(
|
|
131347
|
-
PaymentOptionContent,
|
|
131693
|
+
/* @__PURE__ */ jsxs(
|
|
131694
|
+
"div",
|
|
131695
|
+
{
|
|
131696
|
+
className: "rb-reg-stack rb-reg-stack--sm",
|
|
131697
|
+
role: "list",
|
|
131698
|
+
"aria-label": "Payment options",
|
|
131699
|
+
children: [
|
|
131700
|
+
packageOptions.map((appointmentPackage) => {
|
|
131701
|
+
const isSelected = booking.payment.selectedAppointmentPackageId === appointmentPackage.customerPassId;
|
|
131702
|
+
return /* @__PURE__ */ jsxs(
|
|
131703
|
+
"button",
|
|
131348
131704
|
{
|
|
131349
|
-
|
|
131350
|
-
|
|
131351
|
-
|
|
131352
|
-
|
|
131353
|
-
|
|
131354
|
-
|
|
131355
|
-
|
|
131356
|
-
|
|
131357
|
-
|
|
131358
|
-
|
|
131359
|
-
|
|
131360
|
-
|
|
131361
|
-
|
|
131362
|
-
|
|
131363
|
-
|
|
131364
|
-
|
|
131365
|
-
|
|
131366
|
-
|
|
131367
|
-
|
|
131368
|
-
|
|
131369
|
-
|
|
131370
|
-
|
|
131705
|
+
type: "button",
|
|
131706
|
+
className: optionCardClassName(isSelected),
|
|
131707
|
+
onClick: () => booking.actions.selectAppointmentPackage(
|
|
131708
|
+
appointmentPackage.customerPassId
|
|
131709
|
+
),
|
|
131710
|
+
"aria-pressed": isSelected,
|
|
131711
|
+
children: [
|
|
131712
|
+
/* @__PURE__ */ jsx(
|
|
131713
|
+
PaymentOptionContent,
|
|
131714
|
+
{
|
|
131715
|
+
id: appointmentPackage.customerPassId,
|
|
131716
|
+
title: appointmentPackage.passName,
|
|
131717
|
+
description: "Use 1 package credit",
|
|
131718
|
+
summaryRows: [{
|
|
131719
|
+
label: "Balance",
|
|
131720
|
+
value: `${appointmentPackage.creditsRemaining} of ${appointmentPackage.creditsTotal} credits remaining`
|
|
131721
|
+
}]
|
|
131722
|
+
}
|
|
131723
|
+
),
|
|
131724
|
+
isSelected ? /* @__PURE__ */ jsx(SelectedCheck, {}) : null
|
|
131725
|
+
]
|
|
131726
|
+
},
|
|
131727
|
+
appointmentPackage.customerPassId
|
|
131728
|
+
);
|
|
131729
|
+
}),
|
|
131730
|
+
viewModel.options.map((option) => {
|
|
131731
|
+
const isSelected = !booking.payment.selectedAppointmentPackageId && (booking.payment.selectedCollectionOptionKind === option.kind || viewModel.mode === "single_option");
|
|
131732
|
+
if (viewModel.mode === "single_option" && !hasPackageOptions) {
|
|
131733
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-reg-summary", children: /* @__PURE__ */ jsx(
|
|
131371
131734
|
PaymentOptionContent,
|
|
131372
131735
|
{
|
|
131373
131736
|
id: option.kind,
|
|
@@ -131376,37 +131739,35 @@ function HeadlessBookingPaymentSelectionStep({
|
|
|
131376
131739
|
summaryRows: option.summaryRows,
|
|
131377
131740
|
helperText: option.helperText
|
|
131378
131741
|
}
|
|
131379
|
-
)
|
|
131380
|
-
}
|
|
131381
|
-
|
|
131382
|
-
|
|
131383
|
-
}
|
|
131384
|
-
return /* @__PURE__ */ jsx(
|
|
131385
|
-
"button",
|
|
131386
|
-
{
|
|
131387
|
-
type: "button",
|
|
131388
|
-
className: themeButtonClassName({
|
|
131389
|
-
variant: isSelected ? "primary" : "outline",
|
|
131390
|
-
size: "md"
|
|
131391
|
-
}),
|
|
131392
|
-
style: paymentOptionLayoutStyle,
|
|
131393
|
-
onClick: () => booking.actions.selectPaymentOption(option.kind),
|
|
131394
|
-
"aria-pressed": isSelected,
|
|
131395
|
-
children: /* @__PURE__ */ jsx(
|
|
131396
|
-
PaymentOptionContent,
|
|
131742
|
+
) }, option.kind);
|
|
131743
|
+
}
|
|
131744
|
+
return /* @__PURE__ */ jsxs(
|
|
131745
|
+
"button",
|
|
131397
131746
|
{
|
|
131398
|
-
|
|
131399
|
-
|
|
131400
|
-
|
|
131401
|
-
|
|
131402
|
-
|
|
131403
|
-
|
|
131404
|
-
|
|
131405
|
-
|
|
131406
|
-
|
|
131407
|
-
|
|
131408
|
-
|
|
131409
|
-
|
|
131747
|
+
type: "button",
|
|
131748
|
+
className: optionCardClassName(isSelected),
|
|
131749
|
+
onClick: () => booking.actions.selectPaymentOption(option.kind),
|
|
131750
|
+
"aria-pressed": isSelected,
|
|
131751
|
+
children: [
|
|
131752
|
+
/* @__PURE__ */ jsx(
|
|
131753
|
+
PaymentOptionContent,
|
|
131754
|
+
{
|
|
131755
|
+
id: option.kind,
|
|
131756
|
+
title: option.title,
|
|
131757
|
+
description: option.description,
|
|
131758
|
+
summaryRows: option.summaryRows,
|
|
131759
|
+
helperText: option.helperText
|
|
131760
|
+
}
|
|
131761
|
+
),
|
|
131762
|
+
isSelected ? /* @__PURE__ */ jsx(SelectedCheck, {}) : null
|
|
131763
|
+
]
|
|
131764
|
+
},
|
|
131765
|
+
option.kind
|
|
131766
|
+
);
|
|
131767
|
+
})
|
|
131768
|
+
]
|
|
131769
|
+
}
|
|
131770
|
+
)
|
|
131410
131771
|
] });
|
|
131411
131772
|
}
|
|
131412
131773
|
function PaymentOptionContent({
|
|
@@ -131416,15 +131777,15 @@ function PaymentOptionContent({
|
|
|
131416
131777
|
summaryRows,
|
|
131417
131778
|
title
|
|
131418
131779
|
}) {
|
|
131419
|
-
return /* @__PURE__ */ jsxs(
|
|
131420
|
-
/* @__PURE__ */ jsx("
|
|
131421
|
-
/* @__PURE__ */ jsx("
|
|
131422
|
-
/* @__PURE__ */ jsx("div", { className: "ab-
|
|
131780
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-flex-1", children: [
|
|
131781
|
+
/* @__PURE__ */ jsx("div", { className: "ab-subtitle", children: title }),
|
|
131782
|
+
/* @__PURE__ */ jsx("div", { className: "ab-text rb-on-surface--muted", children: description }),
|
|
131783
|
+
/* @__PURE__ */ jsx("div", { className: "ab-option-rows", children: summaryRows.map((row) => /* @__PURE__ */ jsxs("span", { className: "ab-text rb-on-surface--muted", children: [
|
|
131423
131784
|
row.label,
|
|
131424
131785
|
": ",
|
|
131425
131786
|
row.value
|
|
131426
131787
|
] }, `${id}-${row.label}`)) }),
|
|
131427
|
-
helperText ? /* @__PURE__ */ jsx("
|
|
131788
|
+
helperText ? /* @__PURE__ */ jsx("div", { className: "ab-text rb-on-surface--muted", children: helperText }) : null
|
|
131428
131789
|
] });
|
|
131429
131790
|
}
|
|
131430
131791
|
function DefaultDynamicFields({
|
|
@@ -131696,7 +132057,7 @@ function DefaultBookingDiscount({
|
|
|
131696
132057
|
}
|
|
131697
132058
|
}
|
|
131698
132059
|
) : null,
|
|
131699
|
-
booking.discount.autoAppliedDiscount && booking.discount.code.trim().length === 0 ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "
|
|
132060
|
+
booking.discount.autoAppliedDiscount && booking.discount.code.trim().length === 0 ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "alert alert-info rb-mt-4", role: "status", children: /* @__PURE__ */ jsxs("p", { className: "ab-text", children: [
|
|
131700
132061
|
"Discount available: ",
|
|
131701
132062
|
booking.discount.autoAppliedDiscount.publicLabel,
|
|
131702
132063
|
" ",
|
|
@@ -131708,7 +132069,7 @@ function DefaultBookingFeedback({
|
|
|
131708
132069
|
booking
|
|
131709
132070
|
}) {
|
|
131710
132071
|
if (booking.feedback.kind !== "error") return null;
|
|
131711
|
-
return /* @__PURE__ */ jsxs(FeedbackMessage, { tone: "error", className: "
|
|
132072
|
+
return /* @__PURE__ */ jsxs(FeedbackMessage, { tone: "error", className: "alert alert-error rb-mt-4", role: "alert", children: [
|
|
131712
132073
|
/* @__PURE__ */ jsx("p", { className: "ab-text", children: booking.feedback.message }),
|
|
131713
132074
|
/* @__PURE__ */ jsx(
|
|
131714
132075
|
"button",
|
|
@@ -131734,43 +132095,26 @@ function DefaultBookingAltcha({
|
|
|
131734
132095
|
) });
|
|
131735
132096
|
}
|
|
131736
132097
|
function DefaultBookingErrorSummary({
|
|
131737
|
-
errors
|
|
132098
|
+
errors,
|
|
132099
|
+
id
|
|
131738
132100
|
}) {
|
|
131739
132101
|
if (!hasBookingValidationErrors(errors)) return null;
|
|
131740
|
-
return /* @__PURE__ */ jsxs(
|
|
131741
|
-
|
|
131742
|
-
Object.entries(errors.fieldErrors).map(([key, message2]) => /* @__PURE__ */ jsx("p", { className: "rb-caption", children: message2 }, key))
|
|
131743
|
-
] });
|
|
131744
|
-
}
|
|
131745
|
-
function SelectedCheck() {
|
|
131746
|
-
return /* @__PURE__ */ jsx("div", { className: "ab-check", children: /* @__PURE__ */ jsx(
|
|
131747
|
-
"svg",
|
|
132102
|
+
return /* @__PURE__ */ jsxs(
|
|
132103
|
+
FeedbackMessage,
|
|
131748
132104
|
{
|
|
131749
|
-
|
|
131750
|
-
|
|
131751
|
-
|
|
131752
|
-
|
|
131753
|
-
|
|
131754
|
-
|
|
131755
|
-
|
|
132105
|
+
tone: "error",
|
|
132106
|
+
className: "rb-mt-6 alert alert-error",
|
|
132107
|
+
id,
|
|
132108
|
+
role: "alert",
|
|
132109
|
+
children: [
|
|
132110
|
+
errors.formError ? /* @__PURE__ */ jsx("p", { className: "rb-caption", children: /* @__PURE__ */ jsx("strong", { children: errors.formError }) }) : null,
|
|
132111
|
+
Object.entries(errors.fieldErrors).map(([key, message2]) => /* @__PURE__ */ jsx("p", { className: "rb-caption", children: message2 }, key))
|
|
132112
|
+
]
|
|
131756
132113
|
}
|
|
131757
|
-
)
|
|
132114
|
+
);
|
|
131758
132115
|
}
|
|
131759
|
-
function
|
|
131760
|
-
|
|
131761
|
-
const visibleSlots = [];
|
|
131762
|
-
for (const slot of input.slots) {
|
|
131763
|
-
if (!input.hasSelectedResource) {
|
|
131764
|
-
if (seenStartTimes.has(slot.startAt)) continue;
|
|
131765
|
-
seenStartTimes.add(slot.startAt);
|
|
131766
|
-
}
|
|
131767
|
-
visibleSlots.push({
|
|
131768
|
-
startAt: slot.startAt,
|
|
131769
|
-
endAt: slot.endAt,
|
|
131770
|
-
resourceId: unsafeAsAppointmentResourceId(slot.resourceId)
|
|
131771
|
-
});
|
|
131772
|
-
}
|
|
131773
|
-
return visibleSlots;
|
|
132116
|
+
function SelectedCheck() {
|
|
132117
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-option-check", children: /* @__PURE__ */ jsx(CheckIcon2, {}) });
|
|
131774
132118
|
}
|
|
131775
132119
|
|
|
131776
132120
|
// ../blocks/src/system/runtime/shared/utils/checkoutUrls.ts
|
|
@@ -131913,24 +132257,6 @@ function getStepNumber2(step, wizardSteps) {
|
|
|
131913
132257
|
const index2 = wizardSteps.indexOf(step);
|
|
131914
132258
|
return index2 >= 0 ? index2 + 1 : 1;
|
|
131915
132259
|
}
|
|
131916
|
-
function CheckIcon2({ className, strokeWidth = 2 }) {
|
|
131917
|
-
return /* @__PURE__ */ jsx(
|
|
131918
|
-
"svg",
|
|
131919
|
-
{
|
|
131920
|
-
fill: "none",
|
|
131921
|
-
strokeLinecap: "round",
|
|
131922
|
-
strokeLinejoin: "round",
|
|
131923
|
-
strokeWidth,
|
|
131924
|
-
viewBox: "0 0 24 24",
|
|
131925
|
-
stroke: "currentColor",
|
|
131926
|
-
className,
|
|
131927
|
-
width: "1em",
|
|
131928
|
-
height: "1em",
|
|
131929
|
-
"aria-hidden": "true",
|
|
131930
|
-
children: /* @__PURE__ */ jsx("path", { d: "M5 13l4 4L19 7" })
|
|
131931
|
-
}
|
|
131932
|
-
);
|
|
131933
|
-
}
|
|
131934
132260
|
function ClockIcon2({ className, strokeWidth = 2 }) {
|
|
131935
132261
|
return /* @__PURE__ */ jsx(
|
|
131936
132262
|
"svg",
|
|
@@ -131972,7 +132298,7 @@ var alignmentClasses = {
|
|
|
131972
132298
|
end: "rb-justify-end",
|
|
131973
132299
|
between: "rb-justify-between"
|
|
131974
132300
|
};
|
|
131975
|
-
function
|
|
132301
|
+
function joinClasses8(...parts) {
|
|
131976
132302
|
return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
|
|
131977
132303
|
}
|
|
131978
132304
|
function ActionRow({
|
|
@@ -131983,7 +132309,7 @@ function ActionRow({
|
|
|
131983
132309
|
return /* @__PURE__ */ jsx(
|
|
131984
132310
|
"div",
|
|
131985
132311
|
{
|
|
131986
|
-
className:
|
|
132312
|
+
className: joinClasses8("rb-flex rb-flex-wrap rb-items-center rb-gap-2", alignmentClasses[align], className),
|
|
131987
132313
|
"data-action-row": true,
|
|
131988
132314
|
children
|
|
131989
132315
|
}
|
|
@@ -131999,9 +132325,6 @@ function LoggedInAsUser({ email, onLogout, classPrefix }) {
|
|
|
131999
132325
|
] })
|
|
132000
132326
|
] });
|
|
132001
132327
|
}
|
|
132002
|
-
function StateIcon({ variant, children }) {
|
|
132003
|
-
return /* @__PURE__ */ jsx("div", { className: `rb-state-icon rb-state-icon--${variant}`, "aria-hidden": "true", children });
|
|
132004
|
-
}
|
|
132005
132328
|
function MembershipHero({
|
|
132006
132329
|
membershipName,
|
|
132007
132330
|
classPrefix,
|
|
@@ -132199,89 +132522,51 @@ function TabBarFragment({
|
|
|
132199
132522
|
}
|
|
132200
132523
|
);
|
|
132201
132524
|
}
|
|
132202
|
-
function
|
|
132203
|
-
|
|
132204
|
-
|
|
132205
|
-
|
|
132206
|
-
|
|
132207
|
-
|
|
132208
|
-
|
|
132209
|
-
|
|
132210
|
-
|
|
132211
|
-
|
|
132212
|
-
|
|
132213
|
-
|
|
132214
|
-
|
|
132215
|
-
|
|
132216
|
-
|
|
132217
|
-
|
|
132218
|
-
|
|
132219
|
-
|
|
132220
|
-
|
|
132221
|
-
|
|
132222
|
-
const
|
|
132223
|
-
|
|
132525
|
+
function SelectableOptionCard(props2) {
|
|
132526
|
+
const {
|
|
132527
|
+
baseClassName,
|
|
132528
|
+
selectedClassName,
|
|
132529
|
+
disabledClassName,
|
|
132530
|
+
iconClassName,
|
|
132531
|
+
labelClassName,
|
|
132532
|
+
detailClassName,
|
|
132533
|
+
icon: icon2,
|
|
132534
|
+
label,
|
|
132535
|
+
detail,
|
|
132536
|
+
selected,
|
|
132537
|
+
disabled,
|
|
132538
|
+
tooltip,
|
|
132539
|
+
extraClassNames = [],
|
|
132540
|
+
onClick,
|
|
132541
|
+
renderCheck,
|
|
132542
|
+
renderDisabledTooltip
|
|
132543
|
+
} = props2;
|
|
132544
|
+
const isSelected = selected && !disabled;
|
|
132545
|
+
const className = [
|
|
132546
|
+
baseClassName,
|
|
132547
|
+
isSelected && selectedClassName,
|
|
132548
|
+
disabled && disabledClassName,
|
|
132549
|
+
...extraClassNames
|
|
132550
|
+
].filter(Boolean).join(" ");
|
|
132551
|
+
const showNativeTitle = Boolean(tooltip) && !(disabled && renderDisabledTooltip);
|
|
132224
132552
|
return /* @__PURE__ */ jsxs(
|
|
132225
|
-
"
|
|
132553
|
+
"button",
|
|
132226
132554
|
{
|
|
132555
|
+
type: "button",
|
|
132227
132556
|
className,
|
|
132228
|
-
|
|
132229
|
-
|
|
132230
|
-
|
|
132231
|
-
"aria-live": resolvedLive === "off" ? void 0 : resolvedLive,
|
|
132557
|
+
onClick: disabled ? void 0 : onClick,
|
|
132558
|
+
title: showNativeTitle ? tooltip : void 0,
|
|
132559
|
+
"aria-disabled": disabled || void 0,
|
|
132232
132560
|
children: [
|
|
132233
|
-
|
|
132234
|
-
/* @__PURE__ */ jsx(
|
|
132235
|
-
|
|
132236
|
-
|
|
132237
|
-
|
|
132561
|
+
/* @__PURE__ */ jsx("div", { className: iconClassName, children: icon2 }),
|
|
132562
|
+
/* @__PURE__ */ jsx("div", { className: labelClassName, children: label }),
|
|
132563
|
+
/* @__PURE__ */ jsx("div", { className: detailClassName, children: detail }),
|
|
132564
|
+
isSelected && renderCheck?.(),
|
|
132565
|
+
disabled && tooltip && renderDisabledTooltip?.(tooltip)
|
|
132238
132566
|
]
|
|
132239
132567
|
}
|
|
132240
132568
|
);
|
|
132241
132569
|
}
|
|
132242
|
-
function StepIndicator({
|
|
132243
|
-
currentStep,
|
|
132244
|
-
totalSteps,
|
|
132245
|
-
stepLabels,
|
|
132246
|
-
classPrefix
|
|
132247
|
-
}) {
|
|
132248
|
-
return /* @__PURE__ */ jsx("nav", { "aria-label": "Registration progress", className: `${classPrefix}-steps-nav`, children: /* @__PURE__ */ jsx("ol", { className: `${classPrefix}-steps`, children: Array.from({ length: totalSteps }, (_2, i2) => {
|
|
132249
|
-
const stepNum = i2 + 1;
|
|
132250
|
-
const isActive2 = stepNum === currentStep;
|
|
132251
|
-
const isComplete = stepNum < currentStep;
|
|
132252
|
-
return /* @__PURE__ */ jsxs(
|
|
132253
|
-
"li",
|
|
132254
|
-
{
|
|
132255
|
-
className: `${classPrefix}-step`,
|
|
132256
|
-
"aria-current": isActive2 ? "step" : void 0,
|
|
132257
|
-
children: [
|
|
132258
|
-
/* @__PURE__ */ jsx(
|
|
132259
|
-
"div",
|
|
132260
|
-
{
|
|
132261
|
-
className: `${classPrefix}-step-circle${isActive2 ? ` ${classPrefix}-step-circle--active` : ""}${isComplete ? ` ${classPrefix}-step-circle--completed` : ""}`,
|
|
132262
|
-
children: isComplete ? /* @__PURE__ */ jsx(CheckIcon2, { className: `${classPrefix}-step-check`, strokeWidth: 3 }) : stepNum
|
|
132263
|
-
}
|
|
132264
|
-
),
|
|
132265
|
-
stepLabels?.[i2] && /* @__PURE__ */ jsx(
|
|
132266
|
-
"span",
|
|
132267
|
-
{
|
|
132268
|
-
className: `${classPrefix}-step-label${isActive2 ? ` ${classPrefix}-step-label--active` : ""}`,
|
|
132269
|
-
children: stepLabels[i2]
|
|
132270
|
-
}
|
|
132271
|
-
),
|
|
132272
|
-
stepNum < totalSteps && /* @__PURE__ */ jsx(
|
|
132273
|
-
"div",
|
|
132274
|
-
{
|
|
132275
|
-
className: `${classPrefix}-step-connector${isComplete ? ` ${classPrefix}-step-connector--completed` : ""}`,
|
|
132276
|
-
"aria-hidden": "true"
|
|
132277
|
-
}
|
|
132278
|
-
)
|
|
132279
|
-
]
|
|
132280
|
-
},
|
|
132281
|
-
i2
|
|
132282
|
-
);
|
|
132283
|
-
}) }) });
|
|
132284
|
-
}
|
|
132285
132570
|
var PORTAL_REBOOK_QUERY_PARAM = "rebook";
|
|
132286
132571
|
var PORTAL_REBOOK_QUERY_VALUE = "1";
|
|
132287
132572
|
var REBOOK_COMPLETION_MODE_VERIFIED_CHECKOUT = "verified_checkout";
|
|
@@ -132306,6 +132591,14 @@ function appendRebookFlag(url, enabled) {
|
|
|
132306
132591
|
);
|
|
132307
132592
|
return nextUrl.toString();
|
|
132308
132593
|
}
|
|
132594
|
+
function BookingSurface({
|
|
132595
|
+
id,
|
|
132596
|
+
className,
|
|
132597
|
+
children
|
|
132598
|
+
}) {
|
|
132599
|
+
const classes = ["rb-reg-surface", className ?? ""].join(" ").trim();
|
|
132600
|
+
return /* @__PURE__ */ jsx("div", { id, className: classes, children });
|
|
132601
|
+
}
|
|
132309
132602
|
var BookingFormClient = ({
|
|
132310
132603
|
siteId: siteIdProp,
|
|
132311
132604
|
render
|
|
@@ -132403,7 +132696,7 @@ var BookingFormClient = ({
|
|
|
132403
132696
|
FeedbackMessage,
|
|
132404
132697
|
{
|
|
132405
132698
|
tone: "error",
|
|
132406
|
-
className: `
|
|
132699
|
+
className: `alert alert-error ${render.display.className ?? ""}`.trim(),
|
|
132407
132700
|
role: "alert",
|
|
132408
132701
|
children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: render.display.message ?? "Booking form not found. Please check your configuration." })
|
|
132409
132702
|
}
|
|
@@ -132425,28 +132718,20 @@ var BookingFormClient = ({
|
|
|
132425
132718
|
}
|
|
132426
132719
|
};
|
|
132427
132720
|
if (viewState.kind === "success") {
|
|
132428
|
-
return /* @__PURE__ */ jsx(
|
|
132721
|
+
return /* @__PURE__ */ jsx(BookingSurface, { id: bookingAnchorId, className: render.display.className, children: /* @__PURE__ */ jsx(
|
|
132429
132722
|
SuccessMessage,
|
|
132430
132723
|
{
|
|
132431
132724
|
message: getBookingSuccessMessage(render.display.successMessage),
|
|
132432
|
-
resourceName: viewState.resourceName
|
|
132433
|
-
className: render.display.className ?? void 0
|
|
132725
|
+
resourceName: viewState.resourceName
|
|
132434
132726
|
}
|
|
132435
|
-
);
|
|
132727
|
+
) });
|
|
132436
132728
|
}
|
|
132437
132729
|
if (viewState.kind === "verifying") {
|
|
132438
|
-
return /* @__PURE__ */ jsx(
|
|
132439
|
-
"div",
|
|
132440
|
-
{
|
|
132441
|
-
id: bookingAnchorId,
|
|
132442
|
-
className: render.display.className ?? void 0,
|
|
132443
|
-
children: /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "ab-alert ab-alert--info", role: "status", children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: viewState.message }) })
|
|
132444
|
-
}
|
|
132445
|
-
);
|
|
132730
|
+
return /* @__PURE__ */ jsx(BookingSurface, { id: bookingAnchorId, className: render.display.className, children: /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "alert alert-info", role: "status", children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: viewState.message }) }) });
|
|
132446
132731
|
}
|
|
132447
|
-
return /* @__PURE__ */ jsxs(
|
|
132448
|
-
render.hydration.noticeMessage ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "
|
|
132449
|
-
viewState.kind === "error" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "
|
|
132732
|
+
return /* @__PURE__ */ jsxs(BookingSurface, { id: bookingAnchorId, className: render.display.className, children: [
|
|
132733
|
+
render.hydration.noticeMessage ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "info", className: "alert alert-info rb-mb-4", role: "status", children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: render.hydration.noticeMessage }) }) : null,
|
|
132734
|
+
viewState.kind === "error" ? /* @__PURE__ */ jsx(FeedbackMessage, { tone: "error", className: "alert alert-error rb-mb-4", role: "alert", children: /* @__PURE__ */ jsx("p", { className: "ab-text", children: viewState.message }) }) : null,
|
|
132450
132735
|
/* @__PURE__ */ jsx(HeadlessBookingDefaultForm, { booking, onSubmit: handleComplete })
|
|
132451
132736
|
] });
|
|
132452
132737
|
};
|
|
@@ -132455,7 +132740,7 @@ function buildBookingFormNodeClientProps(props2) {
|
|
|
132455
132740
|
return buildBookingFormInteractiveIslandProps(props2);
|
|
132456
132741
|
}
|
|
132457
132742
|
function StepIndicator2(props2) {
|
|
132458
|
-
return /* @__PURE__ */ jsx(StepIndicator, { ...props2, classPrefix: "er" });
|
|
132743
|
+
return /* @__PURE__ */ jsx(StepIndicator, { ...props2, classPrefix: "er", emitSharedClasses: true });
|
|
132459
132744
|
}
|
|
132460
132745
|
|
|
132461
132746
|
// ../blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.ts
|
|
@@ -133298,7 +133583,7 @@ var EventSelectionStep = ({
|
|
|
133298
133583
|
}) => {
|
|
133299
133584
|
const selectionMode = getEventSelectionMode(events2);
|
|
133300
133585
|
const isDateSelection2 = selectionMode === "date";
|
|
133301
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
133586
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
133302
133587
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: isDateSelection2 ? "Choose a date" : "Select an event" }),
|
|
133303
133588
|
/* @__PURE__ */ jsx("div", { className: "er-event-grid", children: events2.map((event) => {
|
|
133304
133589
|
const isSelected = selectedEvent?.publicEventId === event.publicEventId;
|
|
@@ -133355,7 +133640,7 @@ function getEventAttendanceModeLabel(mode) {
|
|
|
133355
133640
|
function TicketCounter(props2) {
|
|
133356
133641
|
const { ticketsCount, maxAllowed, label, onTicketsChange } = props2;
|
|
133357
133642
|
const minAllowed = props2.minAllowed ?? 1;
|
|
133358
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-row er-counter", children: [
|
|
133643
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-row er-row er-counter", children: [
|
|
133359
133644
|
/* @__PURE__ */ jsx(
|
|
133360
133645
|
"button",
|
|
133361
133646
|
{
|
|
@@ -133580,7 +133865,7 @@ var TicketSelectionStep = ({
|
|
|
133580
133865
|
});
|
|
133581
133866
|
const eventAvailabilityLabel = !canJoinWaitlist && event?.availableSpots != null ? `${event.availableSpots} spots available` : null;
|
|
133582
133867
|
if (deliveryMode === "hybrid" && !selectedAttendanceMode) {
|
|
133583
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
133868
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
133584
133869
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "How will you attend?" }),
|
|
133585
133870
|
/* @__PURE__ */ jsx(
|
|
133586
133871
|
AttendanceModeTiles,
|
|
@@ -133594,12 +133879,12 @@ var TicketSelectionStep = ({
|
|
|
133594
133879
|
] });
|
|
133595
133880
|
}
|
|
133596
133881
|
if (isSoldOut && !canJoinWaitlist) {
|
|
133597
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
133882
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
133598
133883
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Sold Out" }),
|
|
133599
133884
|
/* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "Sorry you missed out! This event is fully booked." })
|
|
133600
133885
|
] });
|
|
133601
133886
|
}
|
|
133602
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
133887
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
133603
133888
|
deliveryMode === "hybrid" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
133604
133889
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "How will you attend?" }),
|
|
133605
133890
|
/* @__PURE__ */ jsx(
|
|
@@ -133793,7 +134078,7 @@ var AttendeeDetailsStep = ({
|
|
|
133793
134078
|
messageId: emailErrorId
|
|
133794
134079
|
});
|
|
133795
134080
|
const showGuestSection = requireGuestDetails && ticketsCount > 1 && onGuestsChange;
|
|
133796
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
134081
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
133797
134082
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Your Information" }),
|
|
133798
134083
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
133799
134084
|
/* @__PURE__ */ jsxs("div", { className: "er-field", children: [
|
|
@@ -133887,7 +134172,7 @@ var AttendeeDetailsStep = ({
|
|
|
133887
134172
|
var MembershipHero2 = ({
|
|
133888
134173
|
membershipName
|
|
133889
134174
|
}) => {
|
|
133890
|
-
return /* @__PURE__ */ jsx("div", { className: "er-stack", children: /* @__PURE__ */ jsxs("div", { className: "er-booking-mode-hero", children: [
|
|
134175
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-reg-stack er-stack", children: /* @__PURE__ */ jsxs("div", { className: "er-booking-mode-hero", children: [
|
|
133891
134176
|
/* @__PURE__ */ jsx("div", { className: "er-booking-mode-hero-icon", children: /* @__PURE__ */ jsx(Sparkles, { size: 20, fill: "currentColor", "aria-hidden": "true" }) }),
|
|
133892
134177
|
/* @__PURE__ */ jsxs("div", { className: "er-booking-mode-hero-content", children: [
|
|
133893
134178
|
/* @__PURE__ */ jsxs("h3", { className: "er-booking-mode-hero-title", children: [
|
|
@@ -133898,51 +134183,6 @@ var MembershipHero2 = ({
|
|
|
133898
134183
|
] })
|
|
133899
134184
|
] }) });
|
|
133900
134185
|
};
|
|
133901
|
-
function SelectableOptionCard(props2) {
|
|
133902
|
-
const {
|
|
133903
|
-
baseClassName,
|
|
133904
|
-
selectedClassName,
|
|
133905
|
-
disabledClassName,
|
|
133906
|
-
iconClassName,
|
|
133907
|
-
labelClassName,
|
|
133908
|
-
detailClassName,
|
|
133909
|
-
icon: icon2,
|
|
133910
|
-
label,
|
|
133911
|
-
detail,
|
|
133912
|
-
selected,
|
|
133913
|
-
disabled,
|
|
133914
|
-
tooltip,
|
|
133915
|
-
extraClassNames = [],
|
|
133916
|
-
onClick,
|
|
133917
|
-
renderCheck,
|
|
133918
|
-
renderDisabledTooltip
|
|
133919
|
-
} = props2;
|
|
133920
|
-
const isSelected = selected && !disabled;
|
|
133921
|
-
const className = [
|
|
133922
|
-
baseClassName,
|
|
133923
|
-
isSelected && selectedClassName,
|
|
133924
|
-
disabled && disabledClassName,
|
|
133925
|
-
...extraClassNames
|
|
133926
|
-
].filter(Boolean).join(" ");
|
|
133927
|
-
const showNativeTitle = Boolean(tooltip) && !(disabled && renderDisabledTooltip);
|
|
133928
|
-
return /* @__PURE__ */ jsxs(
|
|
133929
|
-
"button",
|
|
133930
|
-
{
|
|
133931
|
-
type: "button",
|
|
133932
|
-
className,
|
|
133933
|
-
onClick: disabled ? void 0 : onClick,
|
|
133934
|
-
title: showNativeTitle ? tooltip : void 0,
|
|
133935
|
-
"aria-disabled": disabled || void 0,
|
|
133936
|
-
children: [
|
|
133937
|
-
/* @__PURE__ */ jsx("div", { className: iconClassName, children: icon2 }),
|
|
133938
|
-
/* @__PURE__ */ jsx("div", { className: labelClassName, children: label }),
|
|
133939
|
-
/* @__PURE__ */ jsx("div", { className: detailClassName, children: detail }),
|
|
133940
|
-
isSelected && renderCheck?.(),
|
|
133941
|
-
disabled && tooltip && renderDisabledTooltip?.(tooltip)
|
|
133942
|
-
]
|
|
133943
|
-
}
|
|
133944
|
-
);
|
|
133945
|
-
}
|
|
133946
134186
|
|
|
133947
134187
|
// ../blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.ts
|
|
133948
134188
|
var DEFAULT_EVENT_DIRECT_PAYMENT_OPTION = {
|
|
@@ -134024,7 +134264,7 @@ function resolveEventRegistrationDirectPaymentSelection(input) {
|
|
|
134024
134264
|
};
|
|
134025
134265
|
}
|
|
134026
134266
|
function PaymentCheckIcon() {
|
|
134027
|
-
return /* @__PURE__ */ jsx("div", { className: "er-check", children: /* @__PURE__ */ jsx(CheckIcon2, {}) });
|
|
134267
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-option-check er-check", children: /* @__PURE__ */ jsx(CheckIcon2, {}) });
|
|
134028
134268
|
}
|
|
134029
134269
|
function PaymentTile({
|
|
134030
134270
|
icon: icon2,
|
|
@@ -134161,25 +134401,25 @@ var PaymentSelectionStep = ({
|
|
|
134161
134401
|
getButtonText
|
|
134162
134402
|
]);
|
|
134163
134403
|
if (eligibilityLoading) {
|
|
134164
|
-
return /* @__PURE__ */ jsx("div", { className: "er-stack", children: /* @__PURE__ */ jsxs("div", { className: "er-center", children: [
|
|
134404
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-reg-stack er-stack", children: /* @__PURE__ */ jsxs("div", { className: "er-center", children: [
|
|
134165
134405
|
/* @__PURE__ */ jsx(SpinnerNode, { size: "lg", srLabel: "Checking payment options" }),
|
|
134166
134406
|
/* @__PURE__ */ jsx("p", { className: "er-text--muted", children: "Checking payment options..." })
|
|
134167
134407
|
] }) });
|
|
134168
134408
|
}
|
|
134169
134409
|
if (eligibilityError) {
|
|
134170
|
-
return /* @__PURE__ */ jsx("div", { className: "er-stack", children: /* @__PURE__ */ jsx("div", { className: "er-center", children: /* @__PURE__ */ jsx("p", { className: "er-text er-text--error", children: eligibilityError }) }) });
|
|
134410
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-reg-stack er-stack", children: /* @__PURE__ */ jsx("div", { className: "er-center", children: /* @__PURE__ */ jsx("p", { className: "er-text er-text--error", children: eligibilityError }) }) });
|
|
134171
134411
|
}
|
|
134172
134412
|
if (!eligibility) {
|
|
134173
134413
|
const missing = [];
|
|
134174
134414
|
if (!occurrenceId) missing.push("occurrenceId");
|
|
134175
134415
|
if (!email) missing.push("email");
|
|
134176
|
-
return /* @__PURE__ */ jsx("div", { className: "er-stack", children: /* @__PURE__ */ jsx("div", { className: "er-center", children: /* @__PURE__ */ jsxs("p", { className: "er-text er-text--error", children: [
|
|
134416
|
+
return /* @__PURE__ */ jsx("div", { className: "rb-reg-stack er-stack", children: /* @__PURE__ */ jsx("div", { className: "er-center", children: /* @__PURE__ */ jsxs("p", { className: "er-text er-text--error", children: [
|
|
134177
134417
|
"Unable to determine payment options",
|
|
134178
134418
|
missing.length > 0 && ` (missing: ${missing.join(", ")})`
|
|
134179
134419
|
] }) }) });
|
|
134180
134420
|
}
|
|
134181
134421
|
if (eligibility.isFree) {
|
|
134182
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
134422
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
134183
134423
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Payment" }),
|
|
134184
134424
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-summary", children: [
|
|
134185
134425
|
/* @__PURE__ */ jsx("p", { className: "er-text er-text--success", children: "This event is free!" }),
|
|
@@ -134193,13 +134433,13 @@ var PaymentSelectionStep = ({
|
|
|
134193
134433
|
}
|
|
134194
134434
|
if (!eligibility.eligible) {
|
|
134195
134435
|
if (eligibility.isFull && !eligibility.canJoinWaitlist) {
|
|
134196
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
134436
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
134197
134437
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Sold Out" }),
|
|
134198
134438
|
/* @__PURE__ */ jsx("div", { className: "er-center", children: /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "This event is fully booked and there is no waitlist available for this booking." }) })
|
|
134199
134439
|
] });
|
|
134200
134440
|
}
|
|
134201
134441
|
const shouldPromptLogin = !isAuthenticated && (eligibility.requiresAuthForPasses || eligibility.requiresAuthForMemberships);
|
|
134202
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
134442
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
134203
134443
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: shouldPromptLogin ? "Log In Required" : "Payment Required" }),
|
|
134204
134444
|
/* @__PURE__ */ jsx("div", { className: "er-center", children: shouldPromptLogin ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
134205
134445
|
/* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "Have a pass or membership? Log in to use it." }),
|
|
@@ -134225,7 +134465,7 @@ var PaymentSelectionStep = ({
|
|
|
134225
134465
|
] });
|
|
134226
134466
|
}
|
|
134227
134467
|
const isMultiTicket = areEntitlementsDisabledForTicketCount(ticketsCount);
|
|
134228
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
134468
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-reg-stack er-stack", children: [
|
|
134229
134469
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Payment Options" }),
|
|
134230
134470
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-tiles", children: [
|
|
134231
134471
|
canShowDirectPaymentOptions && /* @__PURE__ */ jsx(Fragment, { children: directPaymentOptions.map((option) => /* @__PURE__ */ jsx(
|
|
@@ -134600,7 +134840,7 @@ function EventRegistrationWizardActions(props2) {
|
|
|
134600
134840
|
const ticketTypeSelectionBlocked = wizard.ticketTypeSelectionRequired && !wizard.hasValidTicketSelection;
|
|
134601
134841
|
const isContinueDisabled = isWaitingForEligibility || isCheckingExistingRegistration || hasExistingRegistration || isSoldOutWithoutWaitlist || ticketTypeSelectionBlocked;
|
|
134602
134842
|
const continueLabel = isCheckingExistingRegistration ? "Checking registration..." : hasExistingRegistration ? "Already registered" : isSoldOutWithoutWaitlist ? "Sold out" : ticketTypeSelectionBlocked ? "Choose a ticket" : "Continue";
|
|
134603
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-actions", children: [
|
|
134843
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-wizard-actions er-actions", children: [
|
|
134604
134844
|
!wizard.hasPreSelectedContext && /* @__PURE__ */ jsx("button", { type: "button", onClick: () => wizard.setStep("select-event"), className: "er-back-btn", children: "\u2190 Back" }),
|
|
134605
134845
|
/* @__PURE__ */ jsx(
|
|
134606
134846
|
"button",
|
|
@@ -134622,7 +134862,7 @@ function EventRegistrationWizardActions(props2) {
|
|
|
134622
134862
|
const isSoldOut = !hasWaitlistClaim && wizard.eligibility?.isFull === true && wizard.eligibility.canJoinWaitlist !== true;
|
|
134623
134863
|
const isContinueDisabled = isCheckingEligibility || isSoldOut;
|
|
134624
134864
|
const continueLabel = isCheckingEligibility ? "Checking availability..." : getDetailsButtonText();
|
|
134625
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-actions", children: [
|
|
134865
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-wizard-actions er-actions", children: [
|
|
134626
134866
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => wizard.setStep(prevStepForDetails), className: "er-back-btn", children: "\u2190 Back" }),
|
|
134627
134867
|
/* @__PURE__ */ jsx(
|
|
134628
134868
|
"button",
|
|
@@ -134641,7 +134881,7 @@ function EventRegistrationWizardActions(props2) {
|
|
|
134641
134881
|
const handlePaymentContinue = () => {
|
|
134642
134882
|
void wizard.handlePaymentSelect();
|
|
134643
134883
|
};
|
|
134644
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-actions", children: [
|
|
134884
|
+
return /* @__PURE__ */ jsxs("div", { className: "rb-wizard-actions er-actions", children: [
|
|
134645
134885
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => wizard.setStep("enter-details"), className: "er-back-btn", children: "\u2190 Back" }),
|
|
134646
134886
|
status === "ready" && /* @__PURE__ */ jsx(
|
|
134647
134887
|
"button",
|
|
@@ -136136,7 +136376,7 @@ function EventRegistrationWizard(props2) {
|
|
|
136136
136376
|
description: wizard.waitlistClaim.loginMessage ?? "Log in to continue with your waitlist claim."
|
|
136137
136377
|
} : EVENT_PORTAL_AUTH_COPY.membership;
|
|
136138
136378
|
const showPortalAuthPrompt = waitlistClaimRequiresPortalLogin || wizard.step === "select-tickets" && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking" && hasPassOrMembershipProducts && summaryEventPricingType !== "free";
|
|
136139
|
-
const renderRegistrationSurface = (variant) => /* @__PURE__ */ jsxs("div", { className: `er-container${variant === "overlay" ? " er-container--overlay" : ""}`, children: [
|
|
136379
|
+
const renderRegistrationSurface = (variant) => /* @__PURE__ */ jsxs("div", { className: `rb-reg-surface er-container${variant === "overlay" ? " er-container--overlay" : ""}`, children: [
|
|
136140
136380
|
isWizardStep && /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
|
|
136141
136381
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
|
|
136142
136382
|
totalSteps > 1 && /* @__PURE__ */ jsx(StepIndicator2, { currentStep: currentStepNumber, totalSteps, stepLabels }),
|
|
@@ -137751,7 +137991,7 @@ function CourseRegistrationWizard(props2) {
|
|
|
137751
137991
|
id: COURSE_REGISTRATION_ANCHOR_ID,
|
|
137752
137992
|
className: `course-registration ${className || ""}`,
|
|
137753
137993
|
"data-block": "course-registration",
|
|
137754
|
-
children: /* @__PURE__ */ jsx("div", { className: "cr-container", children: /* @__PURE__ */ jsxs(
|
|
137994
|
+
children: /* @__PURE__ */ jsx("div", { className: "rb-reg-surface cr-container", children: /* @__PURE__ */ jsxs(
|
|
137755
137995
|
"div",
|
|
137756
137996
|
{
|
|
137757
137997
|
className: `cr-layout${showSidebarLayout ? " cr-layout--with-sidebar" : ""}`,
|
|
@@ -145406,7 +145646,7 @@ function resolveStoragePathUrl(media2, options) {
|
|
|
145406
145646
|
height: getNumber(media2.height)
|
|
145407
145647
|
};
|
|
145408
145648
|
try {
|
|
145409
|
-
return resolveImageUrlWithContext(
|
|
145649
|
+
return (options?.resolveImageUrl ?? resolveImageUrlWithContext)(
|
|
145410
145650
|
mediaValue,
|
|
145411
145651
|
{
|
|
145412
145652
|
width: 320,
|
|
@@ -145447,7 +145687,7 @@ function resolveIdentifierUrl(media2, options) {
|
|
|
145447
145687
|
height: getNumber(media2.height)
|
|
145448
145688
|
};
|
|
145449
145689
|
try {
|
|
145450
|
-
return resolveImageUrlWithContext(
|
|
145690
|
+
return (options?.resolveImageUrl ?? resolveImageUrlWithContext)(
|
|
145451
145691
|
mediaValue,
|
|
145452
145692
|
{
|
|
145453
145693
|
width: 320,
|
|
@@ -164798,7 +165038,7 @@ function findDiffEnd(a2, b2, posA, posB) {
|
|
|
164798
165038
|
posB -= size4;
|
|
164799
165039
|
}
|
|
164800
165040
|
}
|
|
164801
|
-
var
|
|
165041
|
+
var Fragment53 = class _Fragment {
|
|
164802
165042
|
/**
|
|
164803
165043
|
@internal
|
|
164804
165044
|
*/
|
|
@@ -165090,7 +165330,7 @@ var Fragment54 = class _Fragment {
|
|
|
165090
165330
|
throw new RangeError("Can not convert " + nodes + " to a Fragment" + (nodes.nodesBetween ? " (looks like multiple versions of prosemirror-model were loaded)" : ""));
|
|
165091
165331
|
}
|
|
165092
165332
|
};
|
|
165093
|
-
|
|
165333
|
+
Fragment53.empty = new Fragment53([], 0);
|
|
165094
165334
|
var found = { index: 0, offset: 0 };
|
|
165095
165335
|
function retIndex(index2, offset4) {
|
|
165096
165336
|
found.index = index2;
|
|
@@ -165315,7 +165555,7 @@ var Slice2 = class _Slice {
|
|
|
165315
165555
|
let openStart = json.openStart || 0, openEnd = json.openEnd || 0;
|
|
165316
165556
|
if (typeof openStart != "number" || typeof openEnd != "number")
|
|
165317
165557
|
throw new RangeError("Invalid input for Slice.fromJSON");
|
|
165318
|
-
return new _Slice(
|
|
165558
|
+
return new _Slice(Fragment53.fromJSON(schema, json.content), openStart, openEnd);
|
|
165319
165559
|
}
|
|
165320
165560
|
/**
|
|
165321
165561
|
Create a slice from a fragment by taking the maximum possible
|
|
@@ -165330,7 +165570,7 @@ var Slice2 = class _Slice {
|
|
|
165330
165570
|
return new _Slice(fragment, openStart, openEnd);
|
|
165331
165571
|
}
|
|
165332
165572
|
};
|
|
165333
|
-
Slice2.empty = new Slice2(
|
|
165573
|
+
Slice2.empty = new Slice2(Fragment53.empty, 0, 0);
|
|
165334
165574
|
function removeRange(content, from2, to) {
|
|
165335
165575
|
let { index: index2, offset: offset4 } = content.findIndex(from2), child = content.maybeChild(index2);
|
|
165336
165576
|
let { index: indexTo, offset: offsetTo } = content.findIndex(to);
|
|
@@ -165428,7 +165668,7 @@ function replaceThreeWay($from, $start, $end, $to, depth) {
|
|
|
165428
165668
|
addNode(close(openEnd, replaceTwoWay($end, $to, depth + 1)), content);
|
|
165429
165669
|
}
|
|
165430
165670
|
addRange($to, null, depth, content);
|
|
165431
|
-
return new
|
|
165671
|
+
return new Fragment53(content);
|
|
165432
165672
|
}
|
|
165433
165673
|
function replaceTwoWay($from, $to, depth) {
|
|
165434
165674
|
let content = [];
|
|
@@ -165438,13 +165678,13 @@ function replaceTwoWay($from, $to, depth) {
|
|
|
165438
165678
|
addNode(close(type, replaceTwoWay($from, $to, depth + 1)), content);
|
|
165439
165679
|
}
|
|
165440
165680
|
addRange($to, null, depth, content);
|
|
165441
|
-
return new
|
|
165681
|
+
return new Fragment53(content);
|
|
165442
165682
|
}
|
|
165443
165683
|
function prepareSliceForReplace(slice2, $along) {
|
|
165444
165684
|
let extra = $along.depth - slice2.openStart, parent = $along.node(extra);
|
|
165445
165685
|
let node = parent.copy(slice2.content);
|
|
165446
165686
|
for (let i2 = extra - 1; i2 >= 0; i2--)
|
|
165447
|
-
node = $along.node(i2).copy(
|
|
165687
|
+
node = $along.node(i2).copy(Fragment53.from(node));
|
|
165448
165688
|
return {
|
|
165449
165689
|
start: node.resolveNoCache(slice2.openStart + extra),
|
|
165450
165690
|
end: node.resolveNoCache(node.content.size - slice2.openEnd - extra)
|
|
@@ -165783,7 +166023,7 @@ var Node2 = class _Node {
|
|
|
165783
166023
|
this.type = type;
|
|
165784
166024
|
this.attrs = attrs;
|
|
165785
166025
|
this.marks = marks;
|
|
165786
|
-
this.content = content ||
|
|
166026
|
+
this.content = content || Fragment53.empty;
|
|
165787
166027
|
}
|
|
165788
166028
|
/**
|
|
165789
166029
|
The array of this node's child nodes.
|
|
@@ -166088,7 +166328,7 @@ var Node2 = class _Node {
|
|
|
166088
166328
|
can optionally pass `start` and `end` indices into the
|
|
166089
166329
|
replacement fragment.
|
|
166090
166330
|
*/
|
|
166091
|
-
canReplace(from2, to, replacement =
|
|
166331
|
+
canReplace(from2, to, replacement = Fragment53.empty, start = 0, end = replacement.childCount) {
|
|
166092
166332
|
let one = this.contentMatchAt(from2).matchFragment(replacement, start, end);
|
|
166093
166333
|
let two = one && one.matchFragment(this.content, to);
|
|
166094
166334
|
if (!two || !two.validEnd)
|
|
@@ -166170,7 +166410,7 @@ var Node2 = class _Node {
|
|
|
166170
166410
|
throw new RangeError("Invalid text node in JSON");
|
|
166171
166411
|
return schema.text(json.text, marks);
|
|
166172
166412
|
}
|
|
166173
|
-
let content =
|
|
166413
|
+
let content = Fragment53.fromJSON(schema, json.content);
|
|
166174
166414
|
let node = schema.nodeType(json.type).create(json.attrs, content, marks);
|
|
166175
166415
|
node.type.checkAttrs(node.attrs);
|
|
166176
166416
|
return node;
|
|
@@ -166312,7 +166552,7 @@ var ContentMatch = class _ContentMatch {
|
|
|
166312
166552
|
function search(match2, types) {
|
|
166313
166553
|
let finished = match2.matchFragment(after, startIndex);
|
|
166314
166554
|
if (finished && (!toEnd || finished.validEnd))
|
|
166315
|
-
return
|
|
166555
|
+
return Fragment53.from(types.map((tp) => tp.createAndFill()));
|
|
166316
166556
|
for (let i2 = 0; i2 < match2.next.length; i2++) {
|
|
166317
166557
|
let { type, next } = match2.next[i2];
|
|
166318
166558
|
if (!(type.isText || type.hasRequiredAttrs()) && seen.indexOf(next) == -1) {
|
|
@@ -166764,7 +167004,7 @@ var NodeType = class _NodeType {
|
|
|
166764
167004
|
create(attrs = null, content, marks) {
|
|
166765
167005
|
if (this.isText)
|
|
166766
167006
|
throw new Error("NodeType.create can't construct text nodes");
|
|
166767
|
-
return new Node2(this, this.computeAttrs(attrs),
|
|
167007
|
+
return new Node2(this, this.computeAttrs(attrs), Fragment53.from(content), Mark.setFrom(marks));
|
|
166768
167008
|
}
|
|
166769
167009
|
/**
|
|
166770
167010
|
Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but check the given content
|
|
@@ -166772,7 +167012,7 @@ var NodeType = class _NodeType {
|
|
|
166772
167012
|
if it doesn't match.
|
|
166773
167013
|
*/
|
|
166774
167014
|
createChecked(attrs = null, content, marks) {
|
|
166775
|
-
content =
|
|
167015
|
+
content = Fragment53.from(content);
|
|
166776
167016
|
this.checkContent(content);
|
|
166777
167017
|
return new Node2(this, this.computeAttrs(attrs), content, Mark.setFrom(marks));
|
|
166778
167018
|
}
|
|
@@ -166786,7 +167026,7 @@ var NodeType = class _NodeType {
|
|
|
166786
167026
|
*/
|
|
166787
167027
|
createAndFill(attrs = null, content, marks) {
|
|
166788
167028
|
attrs = this.computeAttrs(attrs);
|
|
166789
|
-
content =
|
|
167029
|
+
content = Fragment53.from(content);
|
|
166790
167030
|
if (content.size) {
|
|
166791
167031
|
let before = this.contentMatch.fillBefore(content);
|
|
166792
167032
|
if (!before)
|
|
@@ -166794,7 +167034,7 @@ var NodeType = class _NodeType {
|
|
|
166794
167034
|
content = before.append(content);
|
|
166795
167035
|
}
|
|
166796
167036
|
let matched = this.contentMatch.matchFragment(content);
|
|
166797
|
-
let after = matched && matched.fillBefore(
|
|
167037
|
+
let after = matched && matched.fillBefore(Fragment53.empty, true);
|
|
166798
167038
|
if (!after)
|
|
166799
167039
|
return null;
|
|
166800
167040
|
return new Node2(this, attrs, content.append(after), Mark.setFrom(marks));
|
|
@@ -167258,7 +167498,7 @@ var NodeContext = class {
|
|
|
167258
167498
|
if (!this.match) {
|
|
167259
167499
|
if (!this.type)
|
|
167260
167500
|
return [];
|
|
167261
|
-
let fill = this.type.contentMatch.fillBefore(
|
|
167501
|
+
let fill = this.type.contentMatch.fillBefore(Fragment53.from(node));
|
|
167262
167502
|
if (fill) {
|
|
167263
167503
|
this.match = this.type.contentMatch.matchFragment(fill);
|
|
167264
167504
|
} else {
|
|
@@ -167284,9 +167524,9 @@ var NodeContext = class {
|
|
|
167284
167524
|
this.content[this.content.length - 1] = text2.withText(text2.text.slice(0, text2.text.length - m2[0].length));
|
|
167285
167525
|
}
|
|
167286
167526
|
}
|
|
167287
|
-
let content =
|
|
167527
|
+
let content = Fragment53.from(this.content);
|
|
167288
167528
|
if (!openEnd && this.match)
|
|
167289
|
-
content = content.append(this.match.fillBefore(
|
|
167529
|
+
content = content.append(this.match.fillBefore(Fragment53.empty, true));
|
|
167290
167530
|
return this.type ? this.type.create(this.attrs, content, this.marks) : content;
|
|
167291
167531
|
}
|
|
167292
167532
|
inlineContext(node) {
|
|
@@ -168302,7 +168542,7 @@ function mapFragment(fragment, f2, parent) {
|
|
|
168302
168542
|
child = f2(child, parent, i2);
|
|
168303
168543
|
mapped.push(child);
|
|
168304
168544
|
}
|
|
168305
|
-
return
|
|
168545
|
+
return Fragment53.fromArray(mapped);
|
|
168306
168546
|
}
|
|
168307
168547
|
var AddMarkStep = class _AddMarkStep extends Step {
|
|
168308
168548
|
/**
|
|
@@ -168419,7 +168659,7 @@ var AddNodeMarkStep = class _AddNodeMarkStep extends Step {
|
|
|
168419
168659
|
if (!node)
|
|
168420
168660
|
return StepResult.fail("No node at mark step's position");
|
|
168421
168661
|
let updated = node.type.create(node.attrs, null, this.mark.addToSet(node.marks));
|
|
168422
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(
|
|
168662
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(Fragment53.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
168423
168663
|
}
|
|
168424
168664
|
invert(doc3) {
|
|
168425
168665
|
let node = doc3.nodeAt(this.pos);
|
|
@@ -168465,7 +168705,7 @@ var RemoveNodeMarkStep = class _RemoveNodeMarkStep extends Step {
|
|
|
168465
168705
|
if (!node)
|
|
168466
168706
|
return StepResult.fail("No node at mark step's position");
|
|
168467
168707
|
let updated = node.type.create(node.attrs, null, this.mark.removeFromSet(node.marks));
|
|
168468
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(
|
|
168708
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(Fragment53.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
168469
168709
|
}
|
|
168470
168710
|
invert(doc3) {
|
|
168471
168711
|
let node = doc3.nodeAt(this.pos);
|
|
@@ -168730,7 +168970,7 @@ function clearIncompatible(tr2, pos, parentType, match2 = parentType.contentMatc
|
|
|
168730
168970
|
let m2, newline = /\r?\n|\r/g, slice2;
|
|
168731
168971
|
while (m2 = newline.exec(child.text)) {
|
|
168732
168972
|
if (!slice2)
|
|
168733
|
-
slice2 = new Slice2(
|
|
168973
|
+
slice2 = new Slice2(Fragment53.from(parentType.schema.text(" ", parentType.allowedMarks(child.marks))), 0, 0);
|
|
168734
168974
|
replSteps.push(new ReplaceStep(cur + m2.index, cur + m2.index + m2[0].length, slice2));
|
|
168735
168975
|
}
|
|
168736
168976
|
}
|
|
@@ -168738,7 +168978,7 @@ function clearIncompatible(tr2, pos, parentType, match2 = parentType.contentMatc
|
|
|
168738
168978
|
cur = end;
|
|
168739
168979
|
}
|
|
168740
168980
|
if (!match2.validEnd) {
|
|
168741
|
-
let fill = match2.fillBefore(
|
|
168981
|
+
let fill = match2.fillBefore(Fragment53.empty, true);
|
|
168742
168982
|
tr2.replace(cur, cur, new Slice2(fill, 0, 0));
|
|
168743
168983
|
}
|
|
168744
168984
|
for (let i2 = replSteps.length - 1; i2 >= 0; i2--)
|
|
@@ -168764,20 +169004,20 @@ function lift(tr2, range, target) {
|
|
|
168764
169004
|
let { $from, $to, depth } = range;
|
|
168765
169005
|
let gapStart = $from.before(depth + 1), gapEnd = $to.after(depth + 1);
|
|
168766
169006
|
let start = gapStart, end = gapEnd;
|
|
168767
|
-
let before =
|
|
169007
|
+
let before = Fragment53.empty, openStart = 0;
|
|
168768
169008
|
for (let d2 = depth, splitting = false; d2 > target; d2--)
|
|
168769
169009
|
if (splitting || $from.index(d2) > 0) {
|
|
168770
169010
|
splitting = true;
|
|
168771
|
-
before =
|
|
169011
|
+
before = Fragment53.from($from.node(d2).copy(before));
|
|
168772
169012
|
openStart++;
|
|
168773
169013
|
} else {
|
|
168774
169014
|
start--;
|
|
168775
169015
|
}
|
|
168776
|
-
let after =
|
|
169016
|
+
let after = Fragment53.empty, openEnd = 0;
|
|
168777
169017
|
for (let d2 = depth, splitting = false; d2 > target; d2--)
|
|
168778
169018
|
if (splitting || $to.after(d2 + 1) < $to.end(d2)) {
|
|
168779
169019
|
splitting = true;
|
|
168780
|
-
after =
|
|
169020
|
+
after = Fragment53.from($to.node(d2).copy(after));
|
|
168781
169021
|
openEnd++;
|
|
168782
169022
|
} else {
|
|
168783
169023
|
end++;
|
|
@@ -168817,14 +169057,14 @@ function findWrappingInside(range, type) {
|
|
|
168817
169057
|
return inside;
|
|
168818
169058
|
}
|
|
168819
169059
|
function wrap(tr2, range, wrappers) {
|
|
168820
|
-
let content =
|
|
169060
|
+
let content = Fragment53.empty;
|
|
168821
169061
|
for (let i2 = wrappers.length - 1; i2 >= 0; i2--) {
|
|
168822
169062
|
if (content.size) {
|
|
168823
169063
|
let match2 = wrappers[i2].type.contentMatch.matchFragment(content);
|
|
168824
169064
|
if (!match2 || !match2.validEnd)
|
|
168825
169065
|
throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper");
|
|
168826
169066
|
}
|
|
168827
|
-
content =
|
|
169067
|
+
content = Fragment53.from(wrappers[i2].type.create(wrappers[i2].attrs, content));
|
|
168828
169068
|
}
|
|
168829
169069
|
let start = range.start, end = range.end;
|
|
168830
169070
|
tr2.step(new ReplaceAroundStep(start, end, start, end, new Slice2(content, 0, 0), wrappers.length, true));
|
|
@@ -168849,7 +169089,7 @@ function setBlockType(tr2, from2, to, type, attrs) {
|
|
|
168849
169089
|
clearIncompatible(tr2, tr2.mapping.slice(mapFrom).map(pos, 1), type, void 0, convertNewlines === null);
|
|
168850
169090
|
let mapping = tr2.mapping.slice(mapFrom);
|
|
168851
169091
|
let startM = mapping.map(pos, 1), endM = mapping.map(pos + node.nodeSize, 1);
|
|
168852
|
-
tr2.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice2(
|
|
169092
|
+
tr2.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice2(Fragment53.from(type.create(attrsHere, null, node.marks)), 0, 0), 1, true));
|
|
168853
169093
|
if (convertNewlines === true)
|
|
168854
169094
|
replaceNewlines(tr2, node, pos, mapFrom);
|
|
168855
169095
|
return false;
|
|
@@ -168890,7 +169130,7 @@ function setNodeMarkup(tr2, pos, type, attrs, marks) {
|
|
|
168890
169130
|
return tr2.replaceWith(pos, pos + node.nodeSize, newNode);
|
|
168891
169131
|
if (!type.validContent(node.content))
|
|
168892
169132
|
throw new RangeError("Invalid content for node type " + type.name);
|
|
168893
|
-
tr2.step(new ReplaceAroundStep(pos, pos + node.nodeSize, pos + 1, pos + node.nodeSize - 1, new Slice2(
|
|
169133
|
+
tr2.step(new ReplaceAroundStep(pos, pos + node.nodeSize, pos + 1, pos + node.nodeSize - 1, new Slice2(Fragment53.from(newNode), 0, 0), 1, true));
|
|
168894
169134
|
}
|
|
168895
169135
|
function canSplit(doc3, pos, depth = 1, typesAfter) {
|
|
168896
169136
|
let $pos = doc3.resolve(pos), base2 = $pos.depth - depth;
|
|
@@ -168914,11 +169154,11 @@ function canSplit(doc3, pos, depth = 1, typesAfter) {
|
|
|
168914
169154
|
return $pos.node(base2).canReplaceWith(index2, index2, baseType ? baseType.type : $pos.node(base2 + 1).type);
|
|
168915
169155
|
}
|
|
168916
169156
|
function split(tr2, pos, depth = 1, typesAfter) {
|
|
168917
|
-
let $pos = tr2.doc.resolve(pos), before =
|
|
169157
|
+
let $pos = tr2.doc.resolve(pos), before = Fragment53.empty, after = Fragment53.empty;
|
|
168918
169158
|
for (let d2 = $pos.depth, e3 = $pos.depth - depth, i2 = depth - 1; d2 > e3; d2--, i2--) {
|
|
168919
|
-
before =
|
|
169159
|
+
before = Fragment53.from($pos.node(d2).copy(before));
|
|
168920
169160
|
let typeAfter = typesAfter && typesAfter[i2];
|
|
168921
|
-
after =
|
|
169161
|
+
after = Fragment53.from(typeAfter ? typeAfter.type.create(typeAfter.attrs, after) : $pos.node(d2).copy(after));
|
|
168922
169162
|
}
|
|
168923
169163
|
tr2.step(new ReplaceStep(pos, pos, new Slice2(before.append(after), depth, depth), true));
|
|
168924
169164
|
}
|
|
@@ -169057,7 +169297,7 @@ var Fitter = class {
|
|
|
169057
169297
|
this.$to = $to;
|
|
169058
169298
|
this.unplaced = unplaced;
|
|
169059
169299
|
this.frontier = [];
|
|
169060
|
-
this.placed =
|
|
169300
|
+
this.placed = Fragment53.empty;
|
|
169061
169301
|
for (let i2 = 0; i2 <= $from.depth; i2++) {
|
|
169062
169302
|
let node = $from.node(i2);
|
|
169063
169303
|
this.frontier.push({
|
|
@@ -169066,7 +169306,7 @@ var Fitter = class {
|
|
|
169066
169306
|
});
|
|
169067
169307
|
}
|
|
169068
169308
|
for (let i2 = $from.depth; i2 > 0; i2--)
|
|
169069
|
-
this.placed =
|
|
169309
|
+
this.placed = Fragment53.from($from.node(i2).copy(this.placed));
|
|
169070
169310
|
}
|
|
169071
169311
|
get depth() {
|
|
169072
169312
|
return this.frontier.length - 1;
|
|
@@ -169123,7 +169363,7 @@ var Fitter = class {
|
|
|
169123
169363
|
let first2 = fragment.firstChild;
|
|
169124
169364
|
for (let frontierDepth = this.depth; frontierDepth >= 0; frontierDepth--) {
|
|
169125
169365
|
let { type, match: match2 } = this.frontier[frontierDepth], wrap2, inject = null;
|
|
169126
|
-
if (pass == 1 && (first2 ? match2.matchType(first2.type) || (inject = match2.fillBefore(
|
|
169366
|
+
if (pass == 1 && (first2 ? match2.matchType(first2.type) || (inject = match2.fillBefore(Fragment53.from(first2), false)) : parent && type.compatibleContent(parent.type)))
|
|
169127
169367
|
return { sliceDepth, frontierDepth, parent, inject };
|
|
169128
169368
|
else if (pass == 2 && first2 && (wrap2 = match2.findWrapping(first2.type)))
|
|
169129
169369
|
return { sliceDepth, frontierDepth, parent, wrap: wrap2 };
|
|
@@ -169183,7 +169423,7 @@ var Fitter = class {
|
|
|
169183
169423
|
let toEnd = taken == fragment.childCount;
|
|
169184
169424
|
if (!toEnd)
|
|
169185
169425
|
openEndCount = -1;
|
|
169186
|
-
this.placed = addToFragment(this.placed, frontierDepth,
|
|
169426
|
+
this.placed = addToFragment(this.placed, frontierDepth, Fragment53.from(add2));
|
|
169187
169427
|
this.frontier[frontierDepth].match = match2;
|
|
169188
169428
|
if (toEnd && openEndCount < 0 && parent && parent.type == this.frontier[this.depth].type && this.frontier.length > 1)
|
|
169189
169429
|
this.closeFrontierNode();
|
|
@@ -169239,12 +169479,12 @@ var Fitter = class {
|
|
|
169239
169479
|
openFrontierNode(type, attrs = null, content) {
|
|
169240
169480
|
let top = this.frontier[this.depth];
|
|
169241
169481
|
top.match = top.match.matchType(type);
|
|
169242
|
-
this.placed = addToFragment(this.placed, this.depth,
|
|
169482
|
+
this.placed = addToFragment(this.placed, this.depth, Fragment53.from(type.create(attrs, content)));
|
|
169243
169483
|
this.frontier.push({ type, match: type.contentMatch });
|
|
169244
169484
|
}
|
|
169245
169485
|
closeFrontierNode() {
|
|
169246
169486
|
let open = this.frontier.pop();
|
|
169247
|
-
let add2 = open.match.fillBefore(
|
|
169487
|
+
let add2 = open.match.fillBefore(Fragment53.empty, true);
|
|
169248
169488
|
if (add2.childCount)
|
|
169249
169489
|
this.placed = addToFragment(this.placed, this.frontier.length, add2);
|
|
169250
169490
|
}
|
|
@@ -169273,7 +169513,7 @@ function closeNodeStart(node, openStart, openEnd) {
|
|
|
169273
169513
|
if (openStart > 0) {
|
|
169274
169514
|
frag = node.type.contentMatch.fillBefore(frag).append(frag);
|
|
169275
169515
|
if (openEnd <= 0)
|
|
169276
|
-
frag = frag.append(node.type.contentMatch.matchFragment(frag).fillBefore(
|
|
169516
|
+
frag = frag.append(node.type.contentMatch.matchFragment(frag).fillBefore(Fragment53.empty, true));
|
|
169277
169517
|
}
|
|
169278
169518
|
return node.copy(frag);
|
|
169279
169519
|
}
|
|
@@ -169365,7 +169605,7 @@ function closeFragment(fragment, depth, oldOpen, newOpen, parent) {
|
|
|
169365
169605
|
if (depth > newOpen) {
|
|
169366
169606
|
let match2 = parent.contentMatchAt(0);
|
|
169367
169607
|
let start = match2.fillBefore(fragment).append(fragment);
|
|
169368
|
-
fragment = start.append(match2.matchFragment(start).fillBefore(
|
|
169608
|
+
fragment = start.append(match2.matchFragment(start).fillBefore(Fragment53.empty, true));
|
|
169369
169609
|
}
|
|
169370
169610
|
return fragment;
|
|
169371
169611
|
}
|
|
@@ -169375,7 +169615,7 @@ function replaceRangeWith(tr2, from2, to, node) {
|
|
|
169375
169615
|
if (point != null)
|
|
169376
169616
|
from2 = to = point;
|
|
169377
169617
|
}
|
|
169378
|
-
tr2.replaceRange(from2, to, new Slice2(
|
|
169618
|
+
tr2.replaceRange(from2, to, new Slice2(Fragment53.from(node), 0, 0));
|
|
169379
169619
|
}
|
|
169380
169620
|
function deleteRange(tr2, from2, to) {
|
|
169381
169621
|
let $from = tr2.doc.resolve(from2), $to = tr2.doc.resolve(to);
|
|
@@ -169423,7 +169663,7 @@ var AttrStep = class _AttrStep extends Step {
|
|
|
169423
169663
|
attrs[name] = node.attrs[name];
|
|
169424
169664
|
attrs[this.attr] = this.value;
|
|
169425
169665
|
let updated = node.type.create(attrs, null, node.marks);
|
|
169426
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(
|
|
169666
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice2(Fragment53.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
169427
169667
|
}
|
|
169428
169668
|
getMap() {
|
|
169429
169669
|
return StepMap.empty;
|
|
@@ -169558,7 +169798,7 @@ var Transform = class {
|
|
|
169558
169798
|
fragment, node, or array of nodes.
|
|
169559
169799
|
*/
|
|
169560
169800
|
replaceWith(from2, to, content) {
|
|
169561
|
-
return this.replace(from2, to, new Slice2(
|
|
169801
|
+
return this.replace(from2, to, new Slice2(Fragment53.from(content), 0, 0));
|
|
169562
169802
|
}
|
|
169563
169803
|
/**
|
|
169564
169804
|
Delete the content between the given positions.
|
|
@@ -170060,7 +170300,7 @@ var NodeSelection = class _NodeSelection extends Selection {
|
|
|
170060
170300
|
return new _NodeSelection($pos);
|
|
170061
170301
|
}
|
|
170062
170302
|
content() {
|
|
170063
|
-
return new Slice2(
|
|
170303
|
+
return new Slice2(Fragment53.from(this.node), 0, 0);
|
|
170064
170304
|
}
|
|
170065
170305
|
eq(other) {
|
|
170066
170306
|
return other instanceof _NodeSelection && other.anchor == this.anchor;
|
|
@@ -171882,7 +172122,7 @@ var NodeViewDesc = class _NodeViewDesc extends ViewDesc {
|
|
|
171882
172122
|
}
|
|
171883
172123
|
}
|
|
171884
172124
|
if (!rule2.contentElement)
|
|
171885
|
-
rule2.getContent = () =>
|
|
172125
|
+
rule2.getContent = () => Fragment53.empty;
|
|
171886
172126
|
}
|
|
171887
172127
|
return rule2;
|
|
171888
172128
|
}
|
|
@@ -173194,7 +173434,7 @@ function parseFromClipboard(view, text2, html, plainText, $context) {
|
|
|
173194
173434
|
text2 = f2(text2, inCode || plainText, view);
|
|
173195
173435
|
});
|
|
173196
173436
|
if (inCode) {
|
|
173197
|
-
slice2 = new Slice2(
|
|
173437
|
+
slice2 = new Slice2(Fragment53.from(view.state.schema.text(text2.replace(/\r\n?/g, "\n"))), 0, 0);
|
|
173198
173438
|
view.someProp("transformPasted", (f2) => {
|
|
173199
173439
|
slice2 = f2(slice2, view, true);
|
|
173200
173440
|
});
|
|
@@ -173288,13 +173528,13 @@ function normalizeSiblings(fragment, $context) {
|
|
|
173288
173528
|
}
|
|
173289
173529
|
});
|
|
173290
173530
|
if (result)
|
|
173291
|
-
return
|
|
173531
|
+
return Fragment53.from(result);
|
|
173292
173532
|
}
|
|
173293
173533
|
return fragment;
|
|
173294
173534
|
}
|
|
173295
173535
|
function withWrappers(node, wrap2, from2 = 0) {
|
|
173296
173536
|
for (let i2 = wrap2.length - 1; i2 >= from2; i2--)
|
|
173297
|
-
node = wrap2[i2].create(null,
|
|
173537
|
+
node = wrap2[i2].create(null, Fragment53.from(node));
|
|
173298
173538
|
return node;
|
|
173299
173539
|
}
|
|
173300
173540
|
function addToSibling(wrap2, lastWrap, node, sibling, depth) {
|
|
@@ -173304,14 +173544,14 @@ function addToSibling(wrap2, lastWrap, node, sibling, depth) {
|
|
|
173304
173544
|
return sibling.copy(sibling.content.replaceChild(sibling.childCount - 1, inner));
|
|
173305
173545
|
let match2 = sibling.contentMatchAt(sibling.childCount);
|
|
173306
173546
|
if (match2.matchType(depth == wrap2.length - 1 ? node.type : wrap2[depth + 1]))
|
|
173307
|
-
return sibling.copy(sibling.content.append(
|
|
173547
|
+
return sibling.copy(sibling.content.append(Fragment53.from(withWrappers(node, wrap2, depth + 1))));
|
|
173308
173548
|
}
|
|
173309
173549
|
}
|
|
173310
173550
|
function closeRight(node, depth) {
|
|
173311
173551
|
if (depth == 0)
|
|
173312
173552
|
return node;
|
|
173313
173553
|
let fragment = node.content.replaceChild(node.childCount - 1, closeRight(node.lastChild, depth - 1));
|
|
173314
|
-
let fill = node.contentMatchAt(node.childCount).fillBefore(
|
|
173554
|
+
let fill = node.contentMatchAt(node.childCount).fillBefore(Fragment53.empty, true);
|
|
173315
173555
|
return node.copy(fragment.append(fill));
|
|
173316
173556
|
}
|
|
173317
173557
|
function closeRange(fragment, side, from2, to, depth, openEnd) {
|
|
@@ -173321,7 +173561,7 @@ function closeRange(fragment, side, from2, to, depth, openEnd) {
|
|
|
173321
173561
|
if (depth < to - 1)
|
|
173322
173562
|
inner = closeRange(inner, side, from2, to, depth + 1, openEnd);
|
|
173323
173563
|
if (depth >= from2)
|
|
173324
|
-
inner = side < 0 ? node.contentMatchAt(0).fillBefore(inner, openEnd <= depth).append(inner) : inner.append(node.contentMatchAt(node.childCount).fillBefore(
|
|
173564
|
+
inner = side < 0 ? node.contentMatchAt(0).fillBefore(inner, openEnd <= depth).append(inner) : inner.append(node.contentMatchAt(node.childCount).fillBefore(Fragment53.empty, true));
|
|
173325
173565
|
return fragment.replaceChild(side < 0 ? 0 : fragment.childCount - 1, node.copy(inner));
|
|
173326
173566
|
}
|
|
173327
173567
|
function closeSlice(slice2, openStart, openEnd) {
|
|
@@ -173391,7 +173631,7 @@ function addContext(slice2, context) {
|
|
|
173391
173631
|
let type = schema.nodes[array[i2]];
|
|
173392
173632
|
if (!type || type.hasRequiredAttrs())
|
|
173393
173633
|
break;
|
|
173394
|
-
content =
|
|
173634
|
+
content = Fragment53.from(type.create(array[i2 + 1], content));
|
|
173395
173635
|
openStart++;
|
|
173396
173636
|
openEnd++;
|
|
173397
173637
|
}
|
|
@@ -175250,7 +175490,7 @@ function isMarkChange(cur, prev) {
|
|
|
175250
175490
|
let updated = [];
|
|
175251
175491
|
for (let i2 = 0; i2 < prev.childCount; i2++)
|
|
175252
175492
|
updated.push(update(prev.child(i2)));
|
|
175253
|
-
if (
|
|
175493
|
+
if (Fragment53.from(updated).eq(cur))
|
|
175254
175494
|
return { mark, type };
|
|
175255
175495
|
}
|
|
175256
175496
|
function looksLikeBackspace(old, start, end, $newStart, $newEnd) {
|
|
@@ -176400,10 +176640,10 @@ function deleteBarrier(state, $cut, dispatch, dir) {
|
|
|
176400
176640
|
let canDelAfter = !isolated && $cut.parent.canReplace($cut.index(), $cut.index() + 1);
|
|
176401
176641
|
if (canDelAfter && (conn = (match2 = before.contentMatchAt(before.childCount)).findWrapping(after.type)) && match2.matchType(conn[0] || after.type).validEnd) {
|
|
176402
176642
|
if (dispatch) {
|
|
176403
|
-
let end = $cut.pos + after.nodeSize, wrap2 =
|
|
176643
|
+
let end = $cut.pos + after.nodeSize, wrap2 = Fragment53.empty;
|
|
176404
176644
|
for (let i2 = conn.length - 1; i2 >= 0; i2--)
|
|
176405
|
-
wrap2 =
|
|
176406
|
-
wrap2 =
|
|
176645
|
+
wrap2 = Fragment53.from(conn[i2].create(null, wrap2));
|
|
176646
|
+
wrap2 = Fragment53.from(before.copy(wrap2));
|
|
176407
176647
|
let tr2 = state.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice2(wrap2, 1, 0), conn.length, true));
|
|
176408
176648
|
let $joinAt = tr2.doc.resolve(end + 2 * conn.length);
|
|
176409
176649
|
if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type && canJoin(tr2.doc, $joinAt.pos))
|
|
@@ -176432,9 +176672,9 @@ function deleteBarrier(state, $cut, dispatch, dir) {
|
|
|
176432
176672
|
afterDepth++;
|
|
176433
176673
|
if (at.canReplace(at.childCount, at.childCount, afterText.content)) {
|
|
176434
176674
|
if (dispatch) {
|
|
176435
|
-
let end =
|
|
176675
|
+
let end = Fragment53.empty;
|
|
176436
176676
|
for (let i2 = wrap2.length - 1; i2 >= 0; i2--)
|
|
176437
|
-
end =
|
|
176677
|
+
end = Fragment53.from(wrap2[i2].copy(end));
|
|
176438
176678
|
let tr2 = state.tr.step(new ReplaceAroundStep($cut.pos - wrap2.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new Slice2(end, wrap2.length, 0), 0, true));
|
|
176439
176679
|
dispatch(tr2.scrollIntoView());
|
|
176440
176680
|
}
|
|
@@ -176551,9 +176791,9 @@ function wrapRangeInList(tr2, range, listType, attrs = null) {
|
|
|
176551
176791
|
return true;
|
|
176552
176792
|
}
|
|
176553
176793
|
function doWrapInList(tr2, range, wrappers, joinBefore, listType) {
|
|
176554
|
-
let content =
|
|
176794
|
+
let content = Fragment53.empty;
|
|
176555
176795
|
for (let i2 = wrappers.length - 1; i2 >= 0; i2--)
|
|
176556
|
-
content =
|
|
176796
|
+
content = Fragment53.from(wrappers[i2].type.create(wrappers[i2].attrs, content));
|
|
176557
176797
|
tr2.step(new ReplaceAroundStep(range.start - (joinBefore ? 2 : 0), range.end, range.start, range.end, new Slice2(content, 0, 0), wrappers.length, true));
|
|
176558
176798
|
let found2 = 0;
|
|
176559
176799
|
for (let i2 = 0; i2 < wrappers.length; i2++)
|
|
@@ -176587,7 +176827,7 @@ function liftListItem(itemType) {
|
|
|
176587
176827
|
function liftToOuterList(state, dispatch, itemType, range) {
|
|
176588
176828
|
let tr2 = state.tr, end = range.end, endOfList = range.$to.end(range.depth);
|
|
176589
176829
|
if (end < endOfList) {
|
|
176590
|
-
tr2.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice2(
|
|
176830
|
+
tr2.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice2(Fragment53.from(itemType.create(null, range.parent.copy())), 1, 0), 1, true));
|
|
176591
176831
|
range = new NodeRange(tr2.doc.resolve(range.$from.pos), tr2.doc.resolve(endOfList), range.depth);
|
|
176592
176832
|
}
|
|
176593
176833
|
const target = liftTarget(range);
|
|
@@ -176611,10 +176851,10 @@ function liftOutOfList(state, dispatch, range) {
|
|
|
176611
176851
|
return false;
|
|
176612
176852
|
let atStart = range.startIndex == 0, atEnd = range.endIndex == list.childCount;
|
|
176613
176853
|
let parent = $start.node(-1), indexBefore = $start.index(-1);
|
|
176614
|
-
if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ?
|
|
176854
|
+
if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ? Fragment53.empty : Fragment53.from(list))))
|
|
176615
176855
|
return false;
|
|
176616
176856
|
let start = $start.pos, end = start + item.nodeSize;
|
|
176617
|
-
tr2.step(new ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new Slice2((atStart ?
|
|
176857
|
+
tr2.step(new ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new Slice2((atStart ? Fragment53.empty : Fragment53.from(list.copy(Fragment53.empty))).append(atEnd ? Fragment53.empty : Fragment53.from(list.copy(Fragment53.empty))), atStart ? 0 : 1, atEnd ? 0 : 1), atStart ? 0 : 1));
|
|
176618
176858
|
dispatch(tr2.scrollIntoView());
|
|
176619
176859
|
return true;
|
|
176620
176860
|
}
|
|
@@ -176632,8 +176872,8 @@ function sinkListItem(itemType) {
|
|
|
176632
176872
|
return false;
|
|
176633
176873
|
if (dispatch) {
|
|
176634
176874
|
let nestedBefore = nodeBefore.lastChild && nodeBefore.lastChild.type == parent.type;
|
|
176635
|
-
let inner =
|
|
176636
|
-
let slice2 = new Slice2(
|
|
176875
|
+
let inner = Fragment53.from(nestedBefore ? itemType.create() : null);
|
|
176876
|
+
let slice2 = new Slice2(Fragment53.from(itemType.create(null, Fragment53.from(parent.type.create(null, inner)))), nestedBefore ? 3 : 1, 0);
|
|
176637
176877
|
let before = range.start, after = range.end;
|
|
176638
176878
|
dispatch(state.tr.step(new ReplaceAroundStep(before - (nestedBefore ? 3 : 1), after, before, after, slice2, 1, true)).scrollIntoView());
|
|
176639
176879
|
}
|
|
@@ -177264,7 +177504,7 @@ function inputRulesPlugin(props2) {
|
|
|
177264
177504
|
if (typeof text2 === "string") {
|
|
177265
177505
|
text2 = text2;
|
|
177266
177506
|
} else {
|
|
177267
|
-
text2 = getHTMLFromFragment(
|
|
177507
|
+
text2 = getHTMLFromFragment(Fragment53.from(text2), state.schema);
|
|
177268
177508
|
}
|
|
177269
177509
|
const { from: from2 } = simulatedInputMeta;
|
|
177270
177510
|
const to = from2 + text2.length;
|
|
@@ -177623,7 +177863,7 @@ function pasteRulesPlugin(props2) {
|
|
|
177623
177863
|
if (typeof text2 === "string") {
|
|
177624
177864
|
text2 = text2;
|
|
177625
177865
|
} else {
|
|
177626
|
-
text2 = getHTMLFromFragment(
|
|
177866
|
+
text2 = getHTMLFromFragment(Fragment53.from(text2), state.schema);
|
|
177627
177867
|
}
|
|
177628
177868
|
const { from: from3 } = simulatedPasteMeta;
|
|
177629
177869
|
const to2 = from3 + text2.length;
|
|
@@ -178324,7 +178564,7 @@ function elementFromString(value) {
|
|
|
178324
178564
|
return removeWhitespaces(html);
|
|
178325
178565
|
}
|
|
178326
178566
|
function createNodeFromContent(content, schema, options) {
|
|
178327
|
-
if (content instanceof Node2 || content instanceof
|
|
178567
|
+
if (content instanceof Node2 || content instanceof Fragment53) {
|
|
178328
178568
|
return content;
|
|
178329
178569
|
}
|
|
178330
178570
|
options = {
|
|
@@ -178338,7 +178578,7 @@ function createNodeFromContent(content, schema, options) {
|
|
|
178338
178578
|
try {
|
|
178339
178579
|
const isArrayContent = Array.isArray(content) && content.length > 0;
|
|
178340
178580
|
if (isArrayContent) {
|
|
178341
|
-
return
|
|
178581
|
+
return Fragment53.fromArray(content.map((item) => schema.nodeFromJSON(item)));
|
|
178342
178582
|
}
|
|
178343
178583
|
const node = schema.nodeFromJSON(content);
|
|
178344
178584
|
if (options.errorOnInvalidContent) {
|
|
@@ -178483,7 +178723,7 @@ var insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, editor
|
|
|
178483
178723
|
if (isOnlyTextContent) {
|
|
178484
178724
|
if (Array.isArray(value)) {
|
|
178485
178725
|
newContent = value.map((v2) => v2.text || "").join("");
|
|
178486
|
-
} else if (value instanceof
|
|
178726
|
+
} else if (value instanceof Fragment53) {
|
|
178487
178727
|
let text2 = "";
|
|
178488
178728
|
value.forEach((node) => {
|
|
178489
178729
|
if (node.text) {
|
|
@@ -179282,10 +179522,10 @@ var splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr: tr2, state, dispa
|
|
|
179282
179522
|
return false;
|
|
179283
179523
|
}
|
|
179284
179524
|
if (dispatch) {
|
|
179285
|
-
let wrap2 =
|
|
179525
|
+
let wrap2 = Fragment53.empty;
|
|
179286
179526
|
const depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3;
|
|
179287
179527
|
for (let d2 = $from.depth - depthBefore; d2 >= $from.depth - 3; d2 -= 1) {
|
|
179288
|
-
wrap2 =
|
|
179528
|
+
wrap2 = Fragment53.from($from.node(d2).copy(wrap2));
|
|
179289
179529
|
}
|
|
179290
179530
|
const depthAfter = $from.indexAfter(-1) < $from.node(-2).childCount ? 1 : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3;
|
|
179291
179531
|
const newNextTypeAttributes2 = {
|
|
@@ -179293,7 +179533,7 @@ var splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr: tr2, state, dispa
|
|
|
179293
179533
|
...overrideAttrs
|
|
179294
179534
|
};
|
|
179295
179535
|
const nextType2 = ((_a = type.contentMatch.defaultType) === null || _a === void 0 ? void 0 : _a.createAndFill(newNextTypeAttributes2)) || void 0;
|
|
179296
|
-
wrap2 = wrap2.append(
|
|
179536
|
+
wrap2 = wrap2.append(Fragment53.from(type.createAndFill(null, nextType2) || void 0));
|
|
179297
179537
|
const start = $from.before($from.depth - (depthBefore - 1));
|
|
179298
179538
|
tr2.replace(start, $from.after(-depthAfter), new Slice2(wrap2, 4 - depthBefore, 0));
|
|
179299
179539
|
let sel = -1;
|
|
@@ -181594,9 +181834,9 @@ function beforeinput(view, event) {
|
|
|
181594
181834
|
let insert2 = $from.parent.contentMatchAt($from.index()).findWrapping(view.state.schema.nodes.text);
|
|
181595
181835
|
if (!insert2)
|
|
181596
181836
|
return false;
|
|
181597
|
-
let frag =
|
|
181837
|
+
let frag = Fragment53.empty;
|
|
181598
181838
|
for (let i2 = insert2.length - 1; i2 >= 0; i2--)
|
|
181599
|
-
frag =
|
|
181839
|
+
frag = Fragment53.from(insert2[i2].createAndFill(null, frag));
|
|
181600
181840
|
let tr2 = view.state.tr.replace($from.pos, $from.pos, new Slice2(frag, 0, 0));
|
|
181601
181841
|
tr2.setSelection(TextSelection.near(tr2.doc.resolve($from.pos + 1)));
|
|
181602
181842
|
view.dispatch(tr2);
|