@riverbankcms/sdk 0.149.0 → 0.150.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/EventEmbeddedCheckoutStep-D00Kc8Zj.mjs +285 -0
- package/dist/{PreviewEditorSidebar-DBKln68M.mjs → PreviewEditorSidebar-7ZhmmnBB.mjs} +3 -3
- package/dist/{PreviewEditorUI-DpRX4Mum.mjs → PreviewEditorUI-BIJucTRd.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-DJPmPY-r.mjs → SdkPreviewModeRuntime-tj45gmCX.mjs} +4 -3
- package/dist/{SiteChromeCustomizeContext-JYA0cJ_Z.mjs → SiteChromeCustomizeContext-BFOt0ss-.mjs} +4454 -4059
- package/dist/_dts/ai/src/contracts/proposals.d.ts +660 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +510 -0
- package/dist/_dts/api/src/billing.d.ts +2 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
- package/dist/_dts/api/src/footerCompositionContracts.d.ts +9 -0
- package/dist/_dts/api/src/footerSettings.d.ts +3 -3
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/navigation/bookingPortalLink.d.ts +13 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +9 -173
- package/dist/_dts/api/src/sdkThemeWire.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
- package/dist/_dts/api/src/siteSettings.d.ts +2 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +2 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +30 -3
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +10 -1
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +38 -18
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/FullyBookedStep.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +15 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentLocation.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +72 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +66 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +13 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +11 -52
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +19 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -42
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +7 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +90 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useGuestRegistrationRecovery.d.ts +30 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +24 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useRegistrationAdmission.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/stripe/browserStripe.d.ts +8 -0
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/checkoutCopy.d.ts +10 -0
- package/dist/_dts/commerce/src/purchase/checkoutPresentation.d.ts +49 -0
- package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +4 -4
- package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +5 -1
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +9 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +9 -2
- package/dist/_dts/commerce/src/purchase/types.d.ts +5 -6
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +3 -2
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +6 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +7 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/patch/index.d.ts +30 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +30 -1
- package/dist/_dts/sdk/src/bookings/index.d.ts +2 -1
- package/dist/_dts/sdk/src/bookings/types.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +147 -0
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +22 -0
- package/dist/_dts/theme-core/src/cards/roles.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +198 -0
- package/dist/_dts/theme-core/src/palette/utils/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/palette/utils/scrimContrast.d.ts +22 -0
- package/dist/_dts/theme-core/src/runtime/bridgeColourTokens.d.ts +10 -0
- package/dist/_dts/theme-core/src/schema.d.ts +330 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +0 -51
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +0 -51
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +11 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +7 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +7 -1
- package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +12 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +7 -4
- package/dist/_dts/theme-core/src/site-styles/sectionSurfaceBackgrounds.d.ts +65 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +17 -0
- package/dist/_dts/theme-core/src/surfaces/opaqueSurface.d.ts +43 -0
- package/dist/client/{BookingMailingListNote-Cr3EeTP5.mjs → BookingMailingListNote-CYHOufsI.mjs} +10 -440
- package/dist/client/{CheckboxChoice-B33MqoUo.mjs → CheckboxChoice-M-3HycLw.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-BFGB1Fay.mjs → DemoBookingPortalAccess-Cvr9O_ca.mjs} +2 -2
- package/dist/client/{EventCombined.client-DKYV0_ft.mjs → EventCombined.client-m5UZIobP.mjs} +7 -7
- package/dist/client/EventEmbeddedCheckoutStep-DL6zFAkA.mjs +289 -0
- package/dist/client/{EventListing.client-B9UIcEYc.mjs → EventListing.client-DeMfCM04.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CFLPkP0K.mjs → LeafletStaticMap-CvZ3gOdD.mjs} +1 -1
- package/dist/client/{checkoutUrls-CXhko2Rv.mjs → RichText-BtfNvQV6.mjs} +2 -29
- package/dist/client/{TerminalPanel-JjmgxEsR.mjs → TerminalPanel-CUCNEwlH.mjs} +2 -18
- package/dist/client/{ThemedButton-CKV1Jh2m.mjs → ThemedButton-C7WhXuRl.mjs} +2 -2
- package/dist/client/{accordion-DXWIfT3T.mjs → accordion-cQm5mjqs.mjs} +1 -1
- package/dist/client/{bookingForm-CjZgHNvv.mjs → bookingForm-BVPJE5RQ.mjs} +11 -10
- package/dist/client/bookings.mjs +2668 -1134
- package/dist/client/{carousel-DSLikmvZ.mjs → carousel-3vgnY7LC.mjs} +2 -2
- package/dist/client/{carousel.client-A2lG-9od.mjs → carousel.client-CISsdZvg.mjs} +1 -1
- package/dist/client/{cart-HDjWReFt.mjs → cart-BGK4oOjm.mjs} +3 -3
- package/dist/client/{checkout-CUvRZA3W.mjs → checkout-GsBLUNJD.mjs} +3 -3
- package/dist/client/checkoutUrls-ChxwaNtO.mjs +28 -0
- package/dist/client/client.mjs +3042 -1868
- package/dist/client/{colorStyles-j5U9v5JA.mjs → colorStyles-D-32xHZh.mjs} +2 -30
- package/dist/client/{context-DFmaZa-Q.mjs → context-D_8s12Fp.mjs} +1 -1
- package/dist/client/{dates-BBep1JnF.mjs → dates-DeJQbQ9T.mjs} +2 -2
- package/dist/client/{eventCalendar-zEobhxo4.mjs → eventCalendar-cmucD4NR.mjs} +10 -10
- package/dist/client/{eventCombined-Dp7bz5k-.mjs → eventCombined-ku3E9FTl.mjs} +4 -4
- package/dist/client/{eventDetails-FE-zqTt7.mjs → eventDetails-CyKZ61sF.mjs} +5 -5
- package/dist/client/{eventListing-BMt5snal.mjs → eventListing-B7yxGIhX.mjs} +4 -4
- package/dist/client/{eventRegistration-O6ZxHfOb.mjs → eventRegistration-BoXfSFgZ.mjs} +1403 -857
- package/dist/client/{form-DFa1D8vt.mjs → form-CNQOWhJo.mjs} +5 -5
- package/dist/client/{headerSection-CmjHLR-N.mjs → headerSection-DahaBJGQ.mjs} +3 -3
- package/dist/client/hooks.mjs +123 -64
- package/dist/client/{locationMap-BXKP_lGh.mjs → locationMap-BoDjqYlW.mjs} +4 -4
- package/dist/client/{media-Cl38iOMI.mjs → media-BFY0y2rb.mjs} +2 -1
- package/dist/client/{newsletterForm-CU-HmxGx.mjs → newsletterForm-DtzXDklw.mjs} +4 -4
- package/dist/client/{pricing-KEAEsibq.mjs → pricing-DXEh2Lhh.mjs} +1 -1
- package/dist/client/{productDetail-Ckp7MGnt.mjs → productDetail-D7cPa-00.mjs} +3 -3
- package/dist/client/{productList-D91V0sYa.mjs → productList-D1XMap66.mjs} +3 -3
- package/dist/client/{propsDecoder-DZd6RJeA.mjs → propsDecoder-DiIeBopB.mjs} +758 -245
- package/dist/client/rendering/client.mjs +4381 -2892
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3026 -1852
- package/dist/client/result-DRW7JWXz.mjs +30 -0
- package/dist/client/{routeIslandApiConfig-E1EkhhYY.mjs → routeIslandApiConfig-wzR4lKAY.mjs} +1 -1
- package/dist/client/scrollToBlock-C86BYkyV.mjs +17 -0
- package/dist/client/{shop-4F2jLQPI.mjs → shop-CYT5P-S5.mjs} +8 -8
- package/dist/client/{shop-commerce-store-vicweP2K.mjs → shop-commerce-store-wKhsJQxI.mjs} +1 -1
- package/dist/client/{shop-commerce-BbfCJjB3.mjs → shop-commerce-ypBu_dx4.mjs} +9 -9
- package/dist/client/{shopShared-DlONJt0T.mjs → shopShared-DFGhYrf2.mjs} +52 -6
- package/dist/client/{useEventFilters-COYyL3m7.mjs → useEventFilters-blSbN5o7.mjs} +8 -8
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-CwvFFjB-.mjs → sdk-runtime-2p8uQk1V.mjs} +1 -1
- package/dist/{separator-ByL72zUT.mjs → separator-Cvvzk0Oo.mjs} +1 -1
- package/dist/server/components.mjs +4066 -3765
- package/dist/server/config-validation.mjs +185 -126
- package/dist/server/config.mjs +185 -126
- package/dist/server/data.mjs +123 -64
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +615 -314
- package/dist/server/page-converter.mjs +100 -56
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4041 -3751
- package/dist/server/rendering.mjs +4069 -3768
- package/dist/server/routing.mjs +149 -72
- package/dist/server/server.mjs +124 -65
- package/dist/server/theme-bridge.mjs +1122 -310
- package/dist/server/theme.mjs +126 -116
- package/dist/spinner-CDo6AkDz.mjs +658 -0
- package/dist/styles/index.css +75 -212
- package/package.json +1 -1
- package/dist/_dts/billing/src/checkout/platform.d.ts +0 -77
- package/dist/_dts/billing/src/config/env.d.ts +0 -29
- package/dist/_dts/billing/src/stripe/client.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +0 -63
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +0 -9
- package/dist/client/urlParams-D71VXFGx.mjs +0 -47
package/dist/server/next.mjs
CHANGED
|
@@ -1136,6 +1136,13 @@ const parseEventSeriesId = (value) => parseUuidBrand$1(value, unsafeAsEventSerie
|
|
|
1136
1136
|
function assertNever$20(value, message = "Unexpected variant") {
|
|
1137
1137
|
throw new Error(`${message}: ${String(value)}`);
|
|
1138
1138
|
}
|
|
1139
|
+
//#endregion
|
|
1140
|
+
//#region ../core/src/currency-format.ts
|
|
1141
|
+
const CURRENCY_CODE_INPUT_PATTERN = /^[A-Za-z]{3}$/;
|
|
1142
|
+
/** Parse + normalize a currency code, or return null if it isn't a 3-letter code. */
|
|
1143
|
+
function parseCurrencyCode(value) {
|
|
1144
|
+
return CURRENCY_CODE_INPUT_PATTERN.test(value) ? value.toUpperCase() : null;
|
|
1145
|
+
}
|
|
1139
1146
|
const CURRENCY_LOCALE_BY_CODE = {
|
|
1140
1147
|
USD: "en-US",
|
|
1141
1148
|
GBP: "en-GB",
|
|
@@ -1196,6 +1203,16 @@ function formatCurrencyMajorUnits(amount, currency, options) {
|
|
|
1196
1203
|
return `${amount.toFixed(2)} ${currencyCode}`;
|
|
1197
1204
|
}
|
|
1198
1205
|
}
|
|
1206
|
+
function unsafeAsNonNegativeCents(value) {
|
|
1207
|
+
return value;
|
|
1208
|
+
}
|
|
1209
|
+
/**
|
|
1210
|
+
* Normalizes a derived amount to non-negative whole cents. This intentionally
|
|
1211
|
+
* clamps negatives to zero; use parseNonNegativeCents for validation.
|
|
1212
|
+
*/
|
|
1213
|
+
function toNonNegativeCents(value) {
|
|
1214
|
+
return unsafeAsNonNegativeCents(Math.max(0, Math.trunc(value)));
|
|
1215
|
+
}
|
|
1199
1216
|
/** Default clock for production callers that do not inject time explicitly. */
|
|
1200
1217
|
const systemPlanningClock = { now: () => Date.now() };
|
|
1201
1218
|
/** Resolve current time as a Date from an explicit Date, injected clock, or system clock. */
|
|
@@ -5737,10 +5754,10 @@ function resolveOpaqueSurfaceHex(reference, palette, underlayReference) {
|
|
|
5737
5754
|
const parts = parseColorTokenParts(reference);
|
|
5738
5755
|
if (parts.kind === "token" && parts.opacityPercent !== null) {
|
|
5739
5756
|
const foregroundHex = normalizePaletteHex(palette[parts.token] ?? "");
|
|
5740
|
-
return foregroundHex ? compositeHex$
|
|
5757
|
+
return foregroundHex ? compositeHex$2(foregroundHex, underlayHex, parts.opacityPercent / 100) : null;
|
|
5741
5758
|
}
|
|
5742
5759
|
const rgba = parseRgba(parts.kind === "raw" ? parts.value : reference);
|
|
5743
|
-
return rgba ? compositeHex$
|
|
5760
|
+
return rgba ? compositeHex$2(rgbToHex$1(rgba.r, rgba.g, rgba.b), underlayHex, rgba.alpha) : null;
|
|
5744
5761
|
}
|
|
5745
5762
|
/** Resolve a colour reference only when it is already fully opaque. */
|
|
5746
5763
|
function resolveConcreteColorHex(reference, palette) {
|
|
@@ -5756,7 +5773,7 @@ function resolveConcreteColorHex(reference, palette) {
|
|
|
5756
5773
|
if (literal.toLowerCase() === "white") return "#ffffff";
|
|
5757
5774
|
return normalizePaletteHex(literal);
|
|
5758
5775
|
}
|
|
5759
|
-
function compositeHex$
|
|
5776
|
+
function compositeHex$2(foregroundHex, underlayHex, alpha) {
|
|
5760
5777
|
const foreground = hexToRgb$1(foregroundHex);
|
|
5761
5778
|
const underlay = hexToRgb$1(underlayHex);
|
|
5762
5779
|
const channel = (foregroundValue, underlayValue) => Math.round(foregroundValue * alpha + underlayValue * (1 - alpha));
|
|
@@ -7839,6 +7856,35 @@ function fallbackBackground(fallbackToken, palette) {
|
|
|
7839
7856
|
reason: "unresolvable-colour"
|
|
7840
7857
|
};
|
|
7841
7858
|
}
|
|
7859
|
+
/**
|
|
7860
|
+
* The complete button context a surface publishes: `--rb-action-*` variables
|
|
7861
|
+
* for every role, resolved against the surface when its colour is provable,
|
|
7862
|
+
* and an explicit reset when it is not (image, gradient, composited), so a
|
|
7863
|
+
* nested surface never inherits a context resolved for an outer band.
|
|
7864
|
+
* A surface with no background of its own publishes nothing and inherits.
|
|
7865
|
+
*
|
|
7866
|
+
* Sections (through the blocks background transforms), card roles and opaque
|
|
7867
|
+
* block panels all publish through this one function.
|
|
7868
|
+
*/
|
|
7869
|
+
function surfaceButtonContextStyles(input) {
|
|
7870
|
+
if (!input.buttonSystem) return {};
|
|
7871
|
+
const context = deriveButtonSurfaceContext(input.surface, input.palette, input.fallbackToken);
|
|
7872
|
+
if (context.kind !== "known-solid") return context.reason === "missing-background" ? {} : contextualButtonSurfaceResetStyles();
|
|
7873
|
+
return knownSurfaceButtonContextStyles({
|
|
7874
|
+
surface: context.surface,
|
|
7875
|
+
palette: input.palette,
|
|
7876
|
+
buttonSystem: input.buttonSystem
|
|
7877
|
+
});
|
|
7878
|
+
}
|
|
7879
|
+
/** Every role's contextual styles against one proven solid surface. */
|
|
7880
|
+
function knownSurfaceButtonContextStyles(input) {
|
|
7881
|
+
return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
|
|
7882
|
+
role,
|
|
7883
|
+
buttonSystem: input.buttonSystem,
|
|
7884
|
+
palette: input.palette,
|
|
7885
|
+
surface: input.surface
|
|
7886
|
+
})))));
|
|
7887
|
+
}
|
|
7842
7888
|
function resolveContextualButtonRole(input) {
|
|
7843
7889
|
const requested = findVariant(input.buttonSystem, input.role);
|
|
7844
7890
|
if (!requested) return {
|
|
@@ -10816,6 +10862,57 @@ function resolveCardRole(theme, cardSystem, role) {
|
|
|
10816
10862
|
}
|
|
10817
10863
|
}
|
|
10818
10864
|
//#endregion
|
|
10865
|
+
//#region ../theme-core/src/surfaces/opaqueSurface.ts
|
|
10866
|
+
function opaqueSurfaceContextFromTheme(theme) {
|
|
10867
|
+
return {
|
|
10868
|
+
palette: expandPalette(theme.palette),
|
|
10869
|
+
buttonSystem: theme.buttons,
|
|
10870
|
+
linkHoverToken: theme.typography.proseLinkStyle?.hoverColorToken
|
|
10871
|
+
};
|
|
10872
|
+
}
|
|
10873
|
+
/**
|
|
10874
|
+
* The declarations that make an element own its surface: `color`, every
|
|
10875
|
+
* `--rb-surface-*` role and every `--rb-action-*` variable. Card roles and
|
|
10876
|
+
* opaque block panels both publish through this, so a nested surface can never
|
|
10877
|
+
* inherit a band's light text or its band-resolved buttons.
|
|
10878
|
+
*/
|
|
10879
|
+
function opaqueSurfaceDeclarations(paint, context) {
|
|
10880
|
+
if (paint.kind === "transparent") return inheritedSurfaceDeclarations();
|
|
10881
|
+
const textToken = paint.foregroundToken ?? "text";
|
|
10882
|
+
const foreground = resolveSurfaceForeground(paint.kind === "solid" ? {
|
|
10883
|
+
type: "color",
|
|
10884
|
+
color: paint.token,
|
|
10885
|
+
textColor: textToken
|
|
10886
|
+
} : {
|
|
10887
|
+
type: "gradient",
|
|
10888
|
+
textColor: textToken
|
|
10889
|
+
}, context.palette, { linkHover: context.linkHoverToken });
|
|
10890
|
+
const buttonContext = context.buttonSystem ? surfaceButtonContextStyles({
|
|
10891
|
+
surface: paint.kind === "solid" ? {
|
|
10892
|
+
kind: "solid",
|
|
10893
|
+
color: paint.token,
|
|
10894
|
+
foreground: foreground.kind === "known" ? foreground.roles.link : void 0,
|
|
10895
|
+
composited: false
|
|
10896
|
+
} : { kind: "gradient" },
|
|
10897
|
+
palette: context.palette,
|
|
10898
|
+
buttonSystem: context.buttonSystem
|
|
10899
|
+
}) : contextualButtonSurfaceResetStyles();
|
|
10900
|
+
return [...surfaceForegroundDeclarations(foreground.kind === "known" ? surfaceForegroundInputFromResolved(foreground, rgbColorValue) : { text: colorValue(textToken) }), ...Object.entries(buttonContext).map(([property, value]) => `${property}: ${value};`)];
|
|
10901
|
+
}
|
|
10902
|
+
function colorValue(token) {
|
|
10903
|
+
const parsed = parseThemeColorToken(token);
|
|
10904
|
+
return parsed ? rgbColorValue(parsed) : token;
|
|
10905
|
+
}
|
|
10906
|
+
/** Every property a surface publishes, set to `inherit`. */
|
|
10907
|
+
function inheritedSurfaceDeclarations() {
|
|
10908
|
+
return [
|
|
10909
|
+
"color",
|
|
10910
|
+
...Object.values(SURFACE_FOREGROUND_CSS_VARS),
|
|
10911
|
+
"--rb-surface-link-hover-decoration",
|
|
10912
|
+
...Object.keys(contextualButtonSurfaceResetStyles())
|
|
10913
|
+
].map((property) => `${property}: inherit;`);
|
|
10914
|
+
}
|
|
10915
|
+
//#endregion
|
|
10819
10916
|
//#region ../theme-core/src/utils/cssDeclarations.ts
|
|
10820
10917
|
/** Render CSS declarations whether callers provide terminators or fragments. */
|
|
10821
10918
|
function renderCssDeclarations(declarations) {
|
|
@@ -10950,15 +11047,18 @@ function generateVariantCSS(variant, themeId, cardClasses, tokens, theme, palett
|
|
|
10950
11047
|
}
|
|
10951
11048
|
function cardSurfaceRules(variant, tokens, theme, palette) {
|
|
10952
11049
|
if (variant.background.type === "transparent") return ["background: transparent"];
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
11050
|
+
return [cardBackgroundRule(variant.background, tokens), ...opaqueSurfaceDeclarations(variant.background.type === "solid" ? {
|
|
11051
|
+
kind: "solid",
|
|
11052
|
+
token: variant.background.colorToken,
|
|
11053
|
+
foregroundToken: variant.foregroundToken
|
|
10957
11054
|
} : {
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
},
|
|
10961
|
-
|
|
11055
|
+
kind: "gradient",
|
|
11056
|
+
foregroundToken: variant.foregroundToken
|
|
11057
|
+
}, {
|
|
11058
|
+
palette,
|
|
11059
|
+
buttonSystem: theme.buttons,
|
|
11060
|
+
linkHoverToken: theme.typography.proseLinkStyle?.hoverColorToken
|
|
11061
|
+
})];
|
|
10962
11062
|
}
|
|
10963
11063
|
function cardBackgroundRule(background, tokens) {
|
|
10964
11064
|
if (background.type === "solid") return `background: ${tokens.getColor(background.colorToken)}`;
|
|
@@ -11957,6 +12057,18 @@ function brandNonEmptyString(value, label) {
|
|
|
11957
12057
|
if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
|
|
11958
12058
|
return value;
|
|
11959
12059
|
}
|
|
12060
|
+
/**
|
|
12061
|
+
* What a block's own section background field admits, read from its manifest.
|
|
12062
|
+
* A site style's surface rule may paint a gradient or a photo; a block whose
|
|
12063
|
+
* `_sectionStyles.background` refuses that paint would be dropped at render
|
|
12064
|
+
* admission, so the runtime compiler paints the surface's colour equivalent
|
|
12065
|
+
* instead (see `compileSectionBackground`).
|
|
12066
|
+
*/
|
|
12067
|
+
const sectionBackgroundPaintValues = [
|
|
12068
|
+
"color",
|
|
12069
|
+
"gradient",
|
|
12070
|
+
"image"
|
|
12071
|
+
];
|
|
11960
12072
|
const plainFrame = { kind: "plain" };
|
|
11961
12073
|
function panelFrame(treatment) {
|
|
11962
12074
|
return {
|
|
@@ -12043,6 +12155,7 @@ function defineBlockDesignCapability(capability) {
|
|
|
12043
12155
|
...capability,
|
|
12044
12156
|
kind: "designed",
|
|
12045
12157
|
looks: capability.looks ?? "not-applicable",
|
|
12158
|
+
sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
|
|
12046
12159
|
sectionHeights: capability.sectionHeights ?? ["default"],
|
|
12047
12160
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
12048
12161
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
@@ -12055,6 +12168,10 @@ function defineBlockDesignCapability(capability) {
|
|
|
12055
12168
|
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
12056
12169
|
};
|
|
12057
12170
|
}
|
|
12171
|
+
/** Absent means the block admits every section background paint. */
|
|
12172
|
+
function admittedSectionBackgroundPaints(paints) {
|
|
12173
|
+
return paints ?? sectionBackgroundPaintValues;
|
|
12174
|
+
}
|
|
12058
12175
|
//#endregion
|
|
12059
12176
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
12060
12177
|
const logoTextConfidenceValues = [
|
|
@@ -12480,12 +12597,22 @@ const mediaPresentationSchema = commonSchema.extend({
|
|
|
12480
12597
|
const boxBackgroundSchema = z$1.discriminatedUnion("type", [
|
|
12481
12598
|
commonSchema.extend({
|
|
12482
12599
|
type: z$1.literal("color"),
|
|
12483
|
-
color: tokenOrCssColorValueSchema.nullable().optional()
|
|
12600
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
12601
|
+
/**
|
|
12602
|
+
* Compiler-owned. The scrim a site-style colour surface lays over media
|
|
12603
|
+
* that replaces it (a Look's band meeting an authored photo), sized so the
|
|
12604
|
+
* surface's foreground stays legible over any pixel. A colour background
|
|
12605
|
+
* never draws it itself; `resolveSectionBackground` moves it onto the
|
|
12606
|
+
* merged media background as its overlay.
|
|
12607
|
+
*/
|
|
12608
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
12484
12609
|
}),
|
|
12485
12610
|
commonSchema.extend({
|
|
12486
12611
|
type: z$1.literal("gradient"),
|
|
12487
12612
|
gradient: z$1.string().nullable().optional(),
|
|
12488
|
-
gradientPresetId: z$1.string().min(1).nullable().optional()
|
|
12613
|
+
gradientPresetId: z$1.string().min(1).nullable().optional(),
|
|
12614
|
+
/** Compiler-owned; see the colour branch. */
|
|
12615
|
+
mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
|
|
12489
12616
|
}),
|
|
12490
12617
|
mediaPresentationSchema.extend({
|
|
12491
12618
|
type: z$1.literal("image"),
|
|
@@ -13260,7 +13387,7 @@ function isRecord$27(value) {
|
|
|
13260
13387
|
* callsites even though arrays pass at runtime. Follow-up cleanup should replace
|
|
13261
13388
|
* this API with a more precise predicate type and migrate consumers.
|
|
13262
13389
|
*/
|
|
13263
|
-
function isObjectRecord$
|
|
13390
|
+
function isObjectRecord$3(value) {
|
|
13264
13391
|
return typeof value === "object" && value !== null;
|
|
13265
13392
|
}
|
|
13266
13393
|
//#endregion
|
|
@@ -15275,6 +15402,17 @@ function defineBlockAppearancePreset(preset) {
|
|
|
15275
15402
|
* (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
|
|
15276
15403
|
* composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
|
|
15277
15404
|
* in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
|
|
15405
|
+
*
|
|
15406
|
+
* A Look asking for the `alternative` or `open` role is offered only where the
|
|
15407
|
+
* site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
|
|
15408
|
+
* that differ only in role are distinct wherever both are offered.
|
|
15409
|
+
*
|
|
15410
|
+
* Retiring a Look is removing its entry. A stored pin to a retired id reads as
|
|
15411
|
+
* an unsupported pin in the page design editor model and renders the block's
|
|
15412
|
+
* auto Look, the same path an unavailable Look takes. Duplicates retired in
|
|
15413
|
+
* the 2026-09 Look audit: `feature-cards-soft-panels`,
|
|
15414
|
+
* `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
|
|
15415
|
+
* `testimonials-default-cards`.
|
|
15278
15416
|
*/
|
|
15279
15417
|
const brandScrimOptionGroups = [{
|
|
15280
15418
|
id: "image-surface-treatment",
|
|
@@ -15659,16 +15797,6 @@ defineBlockAppearancePreset({
|
|
|
15659
15797
|
treatment: "framed-programme"
|
|
15660
15798
|
}
|
|
15661
15799
|
}
|
|
15662
|
-
}), defineBlockAppearancePreset({
|
|
15663
|
-
id: "feature-cards-soft-panels",
|
|
15664
|
-
target: "feature-cards",
|
|
15665
|
-
label: "Soft tinted panels",
|
|
15666
|
-
blockKinds: ["block.feature-cards"],
|
|
15667
|
-
design: {
|
|
15668
|
-
sectionSurface: "base",
|
|
15669
|
-
contentFrame: plainFrame,
|
|
15670
|
-
cardRole: "alternative"
|
|
15671
|
-
}
|
|
15672
15800
|
}), defineBlockAppearancePreset({
|
|
15673
15801
|
id: "feature-cards-editorial-diptych",
|
|
15674
15802
|
target: "feature-cards",
|
|
@@ -15680,27 +15808,6 @@ defineBlockAppearancePreset({
|
|
|
15680
15808
|
contentFrame: plainFrame,
|
|
15681
15809
|
cardRole: "default"
|
|
15682
15810
|
}
|
|
15683
|
-
}), defineBlockAppearancePreset({
|
|
15684
|
-
id: "feature-cards-editorial-pathways",
|
|
15685
|
-
target: "feature-cards",
|
|
15686
|
-
label: "Editorial pathways",
|
|
15687
|
-
blockKinds: ["block.feature-cards"],
|
|
15688
|
-
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
15689
|
-
design: {
|
|
15690
|
-
sectionSurface: "base",
|
|
15691
|
-
contentFrame: plainFrame,
|
|
15692
|
-
cardRole: "default"
|
|
15693
|
-
}
|
|
15694
|
-
}), defineBlockAppearancePreset({
|
|
15695
|
-
id: "feature-cards-photo-tiles",
|
|
15696
|
-
target: "feature-cards",
|
|
15697
|
-
label: "Photo tiles",
|
|
15698
|
-
blockKinds: ["block.feature-cards"],
|
|
15699
|
-
design: {
|
|
15700
|
-
sectionSurface: "base",
|
|
15701
|
-
contentFrame: plainFrame,
|
|
15702
|
-
cardRole: "default"
|
|
15703
|
-
}
|
|
15704
15811
|
}), defineBlockAppearancePreset({
|
|
15705
15812
|
id: "events-lined-panel",
|
|
15706
15813
|
target: "events",
|
|
@@ -15789,16 +15896,6 @@ defineBlockAppearancePreset({
|
|
|
15789
15896
|
contentFrame: panelFrame("raised"),
|
|
15790
15897
|
cardRole: "default"
|
|
15791
15898
|
}
|
|
15792
|
-
}), defineBlockAppearancePreset({
|
|
15793
|
-
id: "testimonials-default-cards",
|
|
15794
|
-
target: "testimonials",
|
|
15795
|
-
label: "Default cards",
|
|
15796
|
-
blockKinds: ["block.testimonials"],
|
|
15797
|
-
design: {
|
|
15798
|
-
sectionSurface: "base",
|
|
15799
|
-
contentFrame: plainFrame,
|
|
15800
|
-
cardRole: "default"
|
|
15801
|
-
}
|
|
15802
15899
|
}), defineBlockAppearancePreset({
|
|
15803
15900
|
id: "testimonials-statement-cards",
|
|
15804
15901
|
target: "testimonials",
|
|
@@ -19685,6 +19782,17 @@ asLayoutVariantKey("classic");
|
|
|
19685
19782
|
asLayoutVariantKey("micro");
|
|
19686
19783
|
asBoundaryOptionId("break:wave");
|
|
19687
19784
|
//#endregion
|
|
19785
|
+
//#region ../theme-core/src/palette/utils/scrimContrast.ts
|
|
19786
|
+
const WHITE = "#ffffff";
|
|
19787
|
+
const BLACK = "#000000";
|
|
19788
|
+
/** `top` at `alpha` over opaque `bottom`, blended as CSS paints an overlay. */
|
|
19789
|
+
function compositeHex(topHex, alpha, bottomHex) {
|
|
19790
|
+
const top = hexToRgb$1(topHex);
|
|
19791
|
+
const bottom = hexToRgb$1(bottomHex);
|
|
19792
|
+
const mix = (a, b) => Math.round(alpha * a + (1 - alpha) * b);
|
|
19793
|
+
return rgbToHex$1(mix(top.r, bottom.r), mix(top.g, bottom.g), mix(top.b, bottom.b));
|
|
19794
|
+
}
|
|
19795
|
+
//#endregion
|
|
19688
19796
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
19689
19797
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
19690
19798
|
return {
|
|
@@ -20808,9 +20916,7 @@ const curatedSiteStyles = [
|
|
|
20808
20916
|
recommendedAppearancePresetIds: [
|
|
20809
20917
|
"hero-split-editorial",
|
|
20810
20918
|
"intro-portrait-bio",
|
|
20811
|
-
"feature-cards-
|
|
20812
|
-
"feature-cards-editorial-columns",
|
|
20813
|
-
"feature-cards-photo-tiles",
|
|
20919
|
+
"feature-cards-bold-colors",
|
|
20814
20920
|
"testimonials-non-carded",
|
|
20815
20921
|
"faq-contained-help",
|
|
20816
20922
|
"contact-form-panel"
|
|
@@ -21454,8 +21560,7 @@ const curatedSiteStyles = [
|
|
|
21454
21560
|
"intro-portrait-bio",
|
|
21455
21561
|
"feature-cards-editorial-columns",
|
|
21456
21562
|
"feature-cards-editorial-diptych",
|
|
21457
|
-
"feature-cards-
|
|
21458
|
-
"feature-cards-soft-panels",
|
|
21563
|
+
"feature-cards-bold-colors",
|
|
21459
21564
|
"events-lined-panel",
|
|
21460
21565
|
"testimonials-non-carded",
|
|
21461
21566
|
"faq-base-accordion",
|
|
@@ -22515,7 +22620,7 @@ function generateHeaderCss(options) {
|
|
|
22515
22620
|
}));
|
|
22516
22621
|
cssChunks.push(generateLogoTextBehaviorStyles(header.logoText, themeId));
|
|
22517
22622
|
cssChunks.push(generateHeaderNavLinkStyles(header, themeId, tokens, theme, headerContrastTreatment, headerNavTextSize));
|
|
22518
|
-
cssChunks.push(generateDropdownContainerStyles(header, themeId, tokens));
|
|
22623
|
+
cssChunks.push(generateDropdownContainerStyles(header, themeId, tokens, theme));
|
|
22519
22624
|
cssChunks.push(generateDropdownLinkStyles(header, themeId, tokens, theme));
|
|
22520
22625
|
cssChunks.push(generateDropdownCaretStyles(themeId));
|
|
22521
22626
|
cssChunks.push(generateDropdownTriggerOverrides(header, themeId));
|
|
@@ -22602,15 +22707,14 @@ function generateLogoTextBehaviorStyles(logoText, themeId) {
|
|
|
22602
22707
|
/**
|
|
22603
22708
|
* Generate dropdown menu container styles
|
|
22604
22709
|
*/
|
|
22605
|
-
function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
22710
|
+
function generateDropdownContainerStyles(header, themeId, tokens, theme) {
|
|
22606
22711
|
const selector = `:where([data-theme-scope="${themeId}"]) .nav-dropdown-menu`;
|
|
22607
22712
|
const rules = [];
|
|
22608
22713
|
const dropdownStyle = header.dropdownStyle;
|
|
22609
22714
|
rules.push(...NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES);
|
|
22610
|
-
const
|
|
22611
|
-
rules.push(`background-color: ${tokens.getColor(
|
|
22612
|
-
|
|
22613
|
-
rules.push(`color: ${tokens.getColor(textToken)};`);
|
|
22715
|
+
const surface = resolveDropdownSurface(header, theme);
|
|
22716
|
+
rules.push(`background-color: ${tokens.getColor(surface.backgroundToken)};`);
|
|
22717
|
+
rules.push(...surface.declarations(tokens));
|
|
22614
22718
|
const borderToken = dropdownStyle?.borderColor;
|
|
22615
22719
|
if (borderToken === null) rules.push(`border: none;`);
|
|
22616
22720
|
else rules.push(`border: 1px solid ${tokens.getColor(borderToken ?? "border")};`);
|
|
@@ -22628,7 +22732,7 @@ function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
|
22628
22732
|
}
|
|
22629
22733
|
function generateDropdownLinkStyles(header, themeId, tokens, theme) {
|
|
22630
22734
|
const configuredDropdownStyle = header.dropdownStyle;
|
|
22631
|
-
const textColorToken =
|
|
22735
|
+
const textColorToken = resolveDropdownSurface(header, theme).textToken;
|
|
22632
22736
|
const hoverBgToken = configuredDropdownStyle?.hoverBackground ?? textColorToken;
|
|
22633
22737
|
const hoverEffects = {
|
|
22634
22738
|
hover: hoverBgToken === null ? [] : [{
|
|
@@ -22717,21 +22821,35 @@ ${`:where([data-theme-scope="${themeId}"]) .nav-dropdown-trigger.header-nav-link
|
|
|
22717
22821
|
`.trim();
|
|
22718
22822
|
}
|
|
22719
22823
|
/**
|
|
22824
|
+
* The dropdown menu and mobile panel share one surface: `dropdownStyle`'s
|
|
22825
|
+
* background, with the text candidate (the dropdown's own colour, then the
|
|
22826
|
+
* header's nav colour) validated against it through the surface contract. The
|
|
22827
|
+
* nav colour is chosen for the header bar, which can be dark or transparent,
|
|
22828
|
+
* so it only carries over when it is legible on the menu too.
|
|
22829
|
+
*/
|
|
22830
|
+
function resolveDropdownSurface(header, theme) {
|
|
22831
|
+
const backgroundToken = header.dropdownStyle?.background ?? "surface";
|
|
22832
|
+
const candidate = header.dropdownStyle?.textColor ?? ((header.navColor ?? header.textColor)?.trim() || "text");
|
|
22833
|
+
const foreground = resolveSurfaceForeground({
|
|
22834
|
+
type: "color",
|
|
22835
|
+
color: backgroundToken,
|
|
22836
|
+
textColor: candidate
|
|
22837
|
+
}, expandPalette(theme.palette));
|
|
22838
|
+
return {
|
|
22839
|
+
backgroundToken,
|
|
22840
|
+
textToken: foreground.kind === "known" ? foreground.roles.text : candidate,
|
|
22841
|
+
declarations: (tokens) => foreground.kind === "known" ? surfaceForegroundDeclarations(surfaceForegroundInputFromResolved(foreground, (token) => tokens.getColor(token))) : [`color: ${tokens.getColor(candidate)};`]
|
|
22842
|
+
};
|
|
22843
|
+
}
|
|
22844
|
+
/**
|
|
22720
22845
|
* Generate mobile navigation panel styles
|
|
22721
22846
|
* Uses the same dropdownStyle settings as the desktop dropdown menus
|
|
22722
22847
|
*/
|
|
22723
22848
|
function generateMobilePanelStyles(header, themeId, tokens, theme) {
|
|
22724
22849
|
const selector = `:where([data-theme-scope="${themeId}"]) .nav-mobile-panel`;
|
|
22725
22850
|
const selfSelector = `:where(.nav-mobile-panel[data-theme-scope="${themeId}"])`;
|
|
22726
|
-
const
|
|
22727
|
-
const
|
|
22728
|
-
const textToken = dropdownStyle?.textColor ?? "text";
|
|
22729
|
-
const foreground = resolveSurfaceForeground({
|
|
22730
|
-
type: "color",
|
|
22731
|
-
color: bgToken,
|
|
22732
|
-
textColor: textToken
|
|
22733
|
-
}, expandPalette(theme.palette));
|
|
22734
|
-
const body = renderCssDeclarations([`background-color: ${tokens.getColor(bgToken)};`, ...foreground.kind === "known" ? surfaceForegroundDeclarations(surfaceForegroundInputFromResolved(foreground, (token) => tokens.getColor(token))) : [`color: ${tokens.getColor(textToken)};`]]);
|
|
22851
|
+
const surface = resolveDropdownSurface(header, theme);
|
|
22852
|
+
const body = renderCssDeclarations([`background-color: ${tokens.getColor(surface.backgroundToken)};`, ...surface.declarations(tokens)]);
|
|
22735
22853
|
return `\n${selector} {\n ${body}\n}\n\n${selfSelector} {\n ${body}\n}\n`;
|
|
22736
22854
|
}
|
|
22737
22855
|
/**
|
|
@@ -23044,15 +23162,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
|
|
|
23044
23162
|
if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
|
|
23045
23163
|
const cached = surfaceCache.get(cacheKey);
|
|
23046
23164
|
if (cached) return cached;
|
|
23047
|
-
const styles =
|
|
23048
|
-
|
|
23049
|
-
|
|
23050
|
-
|
|
23051
|
-
|
|
23052
|
-
surface: surface.surface
|
|
23053
|
-
});
|
|
23054
|
-
return Object.entries(contextualButtonSurfaceStyles(resolution));
|
|
23055
|
-
}));
|
|
23165
|
+
const styles = knownSurfaceButtonContextStyles({
|
|
23166
|
+
surface: surface.surface,
|
|
23167
|
+
palette,
|
|
23168
|
+
buttonSystem
|
|
23169
|
+
});
|
|
23056
23170
|
surfaceCache.set(cacheKey, styles);
|
|
23057
23171
|
return styles;
|
|
23058
23172
|
}
|
|
@@ -29137,6 +29251,94 @@ function deepEqualJsonValue(left, right) {
|
|
|
29137
29251
|
return false;
|
|
29138
29252
|
}
|
|
29139
29253
|
//#endregion
|
|
29254
|
+
//#region ../commerce/src/purchase/checkoutSessionMetadata.ts
|
|
29255
|
+
const datedOfferingSharedEngineMetadataShape = {
|
|
29256
|
+
datedOfferingEngineContractVersion: z$1.literal("shared_v1"),
|
|
29257
|
+
datedOfferingEngineRouteKind: z$1.literal("shared_whole_series_registration"),
|
|
29258
|
+
datedOfferingCapacityHoldId: z$1.string().uuid(),
|
|
29259
|
+
datedOfferingCapacityHoldAuditRef: z$1.string().uuid(),
|
|
29260
|
+
customerId: z$1.string().uuid(),
|
|
29261
|
+
eventSeriesId: z$1.string().uuid()
|
|
29262
|
+
};
|
|
29263
|
+
z$1.object(datedOfferingSharedEngineMetadataShape);
|
|
29264
|
+
const orderCheckoutSessionMetadataBaseShape = {
|
|
29265
|
+
type: z$1.literal("order"),
|
|
29266
|
+
site_id: z$1.string().uuid(),
|
|
29267
|
+
order_id: z$1.string().uuid().optional(),
|
|
29268
|
+
customer_email: z$1.string().email().optional(),
|
|
29269
|
+
customer_name: z$1.string().optional(),
|
|
29270
|
+
product_id: z$1.string().uuid().optional(),
|
|
29271
|
+
attendee_id: z$1.string().uuid().optional(),
|
|
29272
|
+
occurrence_id: z$1.string().uuid().optional(),
|
|
29273
|
+
tickets_count: z$1.string().optional(),
|
|
29274
|
+
notes: z$1.string().optional(),
|
|
29275
|
+
discount_redemption_id: z$1.string().uuid().optional(),
|
|
29276
|
+
discount_code_id: z$1.string().uuid().optional(),
|
|
29277
|
+
discount_code: z$1.string().optional(),
|
|
29278
|
+
discount_public_label: z$1.string().optional(),
|
|
29279
|
+
credit_reservation_id: z$1.string().uuid().optional(),
|
|
29280
|
+
credit_reserved_cents: z$1.string().optional(),
|
|
29281
|
+
discount_code_amount_cents: z$1.string().optional(),
|
|
29282
|
+
order_payment_reason: z$1.enum([
|
|
29283
|
+
"instalment_payoff",
|
|
29284
|
+
"flexible_balance_initial",
|
|
29285
|
+
"flexible_balance_paydown"
|
|
29286
|
+
]).optional(),
|
|
29287
|
+
order_payment_plan_id: z$1.string().uuid().optional(),
|
|
29288
|
+
order_flexible_balance_contract_id: z$1.string().uuid().optional()
|
|
29289
|
+
};
|
|
29290
|
+
const absentDatedOfferingSharedEngineMetadataShape = {
|
|
29291
|
+
datedOfferingEngineContractVersion: z$1.never().optional(),
|
|
29292
|
+
datedOfferingEngineRouteKind: z$1.never().optional(),
|
|
29293
|
+
datedOfferingCapacityHoldId: z$1.never().optional(),
|
|
29294
|
+
datedOfferingCapacityHoldAuditRef: z$1.never().optional(),
|
|
29295
|
+
customerId: z$1.never().optional(),
|
|
29296
|
+
eventSeriesId: z$1.never().optional()
|
|
29297
|
+
};
|
|
29298
|
+
const LegacyOrderCheckoutSessionMetadataSchema = z$1.object({
|
|
29299
|
+
...orderCheckoutSessionMetadataBaseShape,
|
|
29300
|
+
...absentDatedOfferingSharedEngineMetadataShape
|
|
29301
|
+
});
|
|
29302
|
+
const SharedDatedOfferingOrderCheckoutSessionMetadataSchema = z$1.object({
|
|
29303
|
+
...orderCheckoutSessionMetadataBaseShape,
|
|
29304
|
+
...datedOfferingSharedEngineMetadataShape
|
|
29305
|
+
});
|
|
29306
|
+
z$1.union([SharedDatedOfferingOrderCheckoutSessionMetadataSchema, LegacyOrderCheckoutSessionMetadataSchema]);
|
|
29307
|
+
//#endregion
|
|
29308
|
+
//#region ../commerce/src/purchase/stripeCommissionMetadata.ts
|
|
29309
|
+
/** Reasons are payment evidence, not an independent pricing policy. */
|
|
29310
|
+
const STRIPE_COMMISSION_FREE_REASONS = [
|
|
29311
|
+
"managed_billing",
|
|
29312
|
+
"no_commission_plan",
|
|
29313
|
+
"billing_evidence_invalid",
|
|
29314
|
+
"fee_rounds_to_zero",
|
|
29315
|
+
"payment_not_stripe"
|
|
29316
|
+
];
|
|
29317
|
+
const historicalContext = {
|
|
29318
|
+
currency: z$1.string().refine((value) => parseCurrencyCode(value) !== null).optional(),
|
|
29319
|
+
sourcePlanId: z$1.string().trim().min(1).optional()
|
|
29320
|
+
};
|
|
29321
|
+
const percentSchema = z$1.number().finite().min(0).max(100);
|
|
29322
|
+
z$1.discriminatedUnion("kind", [
|
|
29323
|
+
z$1.object({
|
|
29324
|
+
kind: z$1.literal("commission_free"),
|
|
29325
|
+
reason: z$1.enum(STRIPE_COMMISSION_FREE_REASONS),
|
|
29326
|
+
...historicalContext
|
|
29327
|
+
}),
|
|
29328
|
+
z$1.object({
|
|
29329
|
+
kind: z$1.literal("application_fee_amount"),
|
|
29330
|
+
amountCents: z$1.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
29331
|
+
percent: percentSchema,
|
|
29332
|
+
...historicalContext
|
|
29333
|
+
}),
|
|
29334
|
+
z$1.object({
|
|
29335
|
+
kind: z$1.literal("application_fee_percent"),
|
|
29336
|
+
percent: percentSchema,
|
|
29337
|
+
...historicalContext
|
|
29338
|
+
})
|
|
29339
|
+
]);
|
|
29340
|
+
toNonNegativeCents(0);
|
|
29341
|
+
//#endregion
|
|
29140
29342
|
//#region ../blocks/src/system/runtime/nodes/booking-form.state.ts
|
|
29141
29343
|
function toTrimmedString(value) {
|
|
29142
29344
|
const trimmed = value?.trim();
|
|
@@ -34095,14 +34297,18 @@ function buildEventCombinedInteractiveIslandProps(props) {
|
|
|
34095
34297
|
* @param needsPaymentStep - Whether user must complete payment method selection
|
|
34096
34298
|
* @returns Array of wizard steps to display
|
|
34097
34299
|
*/
|
|
34098
|
-
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
34300
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
|
|
34099
34301
|
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
|
|
34100
34302
|
"select-event",
|
|
34101
34303
|
"select-tickets",
|
|
34102
34304
|
"enter-details"
|
|
34103
34305
|
];
|
|
34104
34306
|
if (!needsPaymentStep) return baseSteps;
|
|
34105
|
-
return [
|
|
34307
|
+
return paymentActive ? [
|
|
34308
|
+
...baseSteps,
|
|
34309
|
+
"select-payment",
|
|
34310
|
+
"payment"
|
|
34311
|
+
] : [...baseSteps, "select-payment"];
|
|
34106
34312
|
}
|
|
34107
34313
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
34108
34314
|
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
@@ -34219,6 +34425,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
34219
34425
|
"Date",
|
|
34220
34426
|
"Tickets",
|
|
34221
34427
|
"Details",
|
|
34428
|
+
"Payment options",
|
|
34222
34429
|
"Payment"
|
|
34223
34430
|
];
|
|
34224
34431
|
const eventRegistrationPublicEventSchema = z$1.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
@@ -34361,12 +34568,13 @@ function shellLabelForRegistrationStep(step, events) {
|
|
|
34361
34568
|
switch (step) {
|
|
34362
34569
|
case "select-event": return isDateSelection(events) ? "Date" : "Event";
|
|
34363
34570
|
case "select-tickets": return "Tickets";
|
|
34571
|
+
case "fully-booked":
|
|
34364
34572
|
case "enter-details": return "Details";
|
|
34365
|
-
case "select-payment": return "Payment";
|
|
34573
|
+
case "select-payment": return "Payment options";
|
|
34574
|
+
case "payment": return "Payment";
|
|
34366
34575
|
case "error":
|
|
34367
34576
|
case "success":
|
|
34368
34577
|
case "submitting":
|
|
34369
|
-
case "redirecting":
|
|
34370
34578
|
case "verifying-payment":
|
|
34371
34579
|
case "verifying-timeout":
|
|
34372
34580
|
case "payment-status":
|
|
@@ -34378,7 +34586,7 @@ function isDateSelection(events) {
|
|
|
34378
34586
|
return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
|
|
34379
34587
|
}
|
|
34380
34588
|
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
34381
|
-
if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
|
|
34589
|
+
if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
|
|
34382
34590
|
if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
|
|
34383
34591
|
return "Preparing dates, tickets, and booking details.";
|
|
34384
34592
|
}
|
|
@@ -46355,6 +46563,16 @@ const defaultTransforms = createTransformRegistry([
|
|
|
46355
46563
|
return resolveCalendarReadProfile(asPartialObject(value) ?? {});
|
|
46356
46564
|
}
|
|
46357
46565
|
},
|
|
46566
|
+
{
|
|
46567
|
+
id: "events.calendarBanded",
|
|
46568
|
+
kind: "formatter",
|
|
46569
|
+
summary: "Paint the week-board band only on a section with no background of its own",
|
|
46570
|
+
run(value) {
|
|
46571
|
+
const content = asPartialObject(value) ?? {};
|
|
46572
|
+
const sectionStyles = asPartialObject(content._sectionStyles);
|
|
46573
|
+
return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
|
|
46574
|
+
}
|
|
46575
|
+
},
|
|
46358
46576
|
...formattingTransforms,
|
|
46359
46577
|
...layoutTransforms,
|
|
46360
46578
|
...chromeLogoTransforms,
|
|
@@ -48142,11 +48360,18 @@ function AppointmentServicesNode({ sectionHeading, categoryId, services, pathnam
|
|
|
48142
48360
|
* card drawn exactly once after hydration, because the client wizard renders its
|
|
48143
48361
|
* own `.rb-reg-surface`, and leaves no stale loading state on the mounted form.
|
|
48144
48362
|
* `event-registration.server.tsx` follows the same shape.
|
|
48363
|
+
*
|
|
48364
|
+
* The root also carries `data-block="appointment-booking"`, because the
|
|
48365
|
+
* appointment-booking and registration-surface styles and the block's Tier 3
|
|
48366
|
+
* vars are all scoped under that attribute. On a page the block wrapper
|
|
48367
|
+
* already provides it, but the system service destination and /book render
|
|
48368
|
+
* this form on its own, so without it those routes lose every booking style.
|
|
48145
48369
|
*/
|
|
48146
48370
|
function BookingFormSSR({ blockId, children, ...sourceProps }) {
|
|
48147
48371
|
const islandProps = buildBookingFormInteractiveIslandProps(sourceProps);
|
|
48148
48372
|
const display = islandProps.render.display;
|
|
48149
48373
|
return /* @__PURE__ */ jsxs("div", {
|
|
48374
|
+
"data-block": "appointment-booking",
|
|
48150
48375
|
...getIslandRootProps("booking-form", blockId),
|
|
48151
48376
|
children: [
|
|
48152
48377
|
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
@@ -51329,7 +51554,8 @@ const eventCalendarLayout = [styledSection({
|
|
|
51329
51554
|
fallback: false
|
|
51330
51555
|
} },
|
|
51331
51556
|
banded: { $bind: {
|
|
51332
|
-
from: "content
|
|
51557
|
+
from: "content",
|
|
51558
|
+
transforms: [{ id: "events.calendarBanded" }],
|
|
51333
51559
|
fallback: false
|
|
51334
51560
|
} }
|
|
51335
51561
|
}))]
|
|
@@ -56641,6 +56867,172 @@ function generateShadowCssVars(theme) {
|
|
|
56641
56867
|
};
|
|
56642
56868
|
}
|
|
56643
56869
|
//#endregion
|
|
56870
|
+
//#region ../theme-core/src/blocks/opaquePanels.ts
|
|
56871
|
+
/**
|
|
56872
|
+
* Every element in `blocks-static/` CSS that paints its own background behind
|
|
56873
|
+
* text or buttons, with the palette token it paints.
|
|
56874
|
+
*
|
|
56875
|
+
* The CSS owns layout and the paint itself; this registry owns what the paint
|
|
56876
|
+
* implies. `generateOpaquePanelCss` publishes each panel's foreground contract
|
|
56877
|
+
* and button context from the theme, exactly as card roles and section
|
|
56878
|
+
* backgrounds do, so a white panel inside a dark band never inherits the band's
|
|
56879
|
+
* light text or its band-resolved buttons. `opaquePanels.test.ts` scans the
|
|
56880
|
+
* static CSS and fails when a rule paints a surface token without an entry
|
|
56881
|
+
* here, or when a registered rule declares the contract by hand.
|
|
56882
|
+
*
|
|
56883
|
+
* Selectors are written without the theme-scope prefix; the generator adds it.
|
|
56884
|
+
* A `transparent` entry is a treatment that turns a surface-owning class into
|
|
56885
|
+
* a boxless row, so it hands the surrounding surface's contract back.
|
|
56886
|
+
*/
|
|
56887
|
+
const opaquePanels = [
|
|
56888
|
+
{
|
|
56889
|
+
selector: ":where([data-block=\"event-registration\"], [data-block=\"appointment-booking\"]) .rb-reg-surface",
|
|
56890
|
+
paint: {
|
|
56891
|
+
kind: "solid",
|
|
56892
|
+
token: "surface"
|
|
56893
|
+
}
|
|
56894
|
+
},
|
|
56895
|
+
{
|
|
56896
|
+
selector: ":where([data-block='event-registration']) .er-booking-teaser",
|
|
56897
|
+
paint: {
|
|
56898
|
+
kind: "solid",
|
|
56899
|
+
token: "surface"
|
|
56900
|
+
}
|
|
56901
|
+
},
|
|
56902
|
+
{
|
|
56903
|
+
selector: ":where([data-block='event-registration']) .er-booking-bar",
|
|
56904
|
+
paint: {
|
|
56905
|
+
kind: "solid",
|
|
56906
|
+
token: "background"
|
|
56907
|
+
}
|
|
56908
|
+
},
|
|
56909
|
+
{
|
|
56910
|
+
selector: ":where([data-block='event-registration']) .er-modal",
|
|
56911
|
+
paint: {
|
|
56912
|
+
kind: "solid",
|
|
56913
|
+
token: "background"
|
|
56914
|
+
}
|
|
56915
|
+
},
|
|
56916
|
+
{
|
|
56917
|
+
selector: ":where([data-block='event-registration']) .er-booking-overlay__panel",
|
|
56918
|
+
paint: {
|
|
56919
|
+
kind: "solid",
|
|
56920
|
+
token: "background"
|
|
56921
|
+
}
|
|
56922
|
+
},
|
|
56923
|
+
{
|
|
56924
|
+
selector: ":where([data-block='event-calendar']) .event-agenda-card",
|
|
56925
|
+
paint: {
|
|
56926
|
+
kind: "solid",
|
|
56927
|
+
token: "surface"
|
|
56928
|
+
}
|
|
56929
|
+
},
|
|
56930
|
+
{
|
|
56931
|
+
selector: ":where([data-block='event-calendar']) .event-timetable-event",
|
|
56932
|
+
paint: {
|
|
56933
|
+
kind: "solid",
|
|
56934
|
+
token: "surface"
|
|
56935
|
+
}
|
|
56936
|
+
},
|
|
56937
|
+
{
|
|
56938
|
+
selector: ":where([data-block='event-calendar']) .event-week-board",
|
|
56939
|
+
paint: {
|
|
56940
|
+
kind: "solid",
|
|
56941
|
+
token: "surface"
|
|
56942
|
+
}
|
|
56943
|
+
},
|
|
56944
|
+
{
|
|
56945
|
+
selector: ":where([data-block='event-calendar']) .event-week-board-top",
|
|
56946
|
+
paint: {
|
|
56947
|
+
kind: "solid",
|
|
56948
|
+
token: "surfaceAlt"
|
|
56949
|
+
}
|
|
56950
|
+
},
|
|
56951
|
+
{
|
|
56952
|
+
selector: ":where([data-block='event-calendar']) .event-week-board-foot",
|
|
56953
|
+
paint: {
|
|
56954
|
+
kind: "solid",
|
|
56955
|
+
token: "surfaceAlt"
|
|
56956
|
+
}
|
|
56957
|
+
},
|
|
56958
|
+
{
|
|
56959
|
+
selector: ":where([data-block='event-calendar']) .ec-modal",
|
|
56960
|
+
paint: {
|
|
56961
|
+
kind: "solid",
|
|
56962
|
+
token: "surface"
|
|
56963
|
+
}
|
|
56964
|
+
},
|
|
56965
|
+
{
|
|
56966
|
+
selector: ".event-listing-compact-container",
|
|
56967
|
+
paint: {
|
|
56968
|
+
kind: "solid",
|
|
56969
|
+
token: "surface"
|
|
56970
|
+
}
|
|
56971
|
+
},
|
|
56972
|
+
{
|
|
56973
|
+
selector: ".shop__card",
|
|
56974
|
+
paint: {
|
|
56975
|
+
kind: "solid",
|
|
56976
|
+
token: "surface"
|
|
56977
|
+
}
|
|
56978
|
+
},
|
|
56979
|
+
{
|
|
56980
|
+
selector: ".shop--register .shop__card",
|
|
56981
|
+
paint: { kind: "transparent" }
|
|
56982
|
+
},
|
|
56983
|
+
{
|
|
56984
|
+
selector: ":where([data-block=\"shop\"]) .shop__return",
|
|
56985
|
+
paint: {
|
|
56986
|
+
kind: "solid",
|
|
56987
|
+
token: "surface"
|
|
56988
|
+
}
|
|
56989
|
+
},
|
|
56990
|
+
{
|
|
56991
|
+
selector: "[data-block=\"feature-cards\"][data-block-composition=\"asymmetric-emphasis\"] .rb-feature-card:nth-child(even)",
|
|
56992
|
+
paint: {
|
|
56993
|
+
kind: "solid",
|
|
56994
|
+
token: "secondary"
|
|
56995
|
+
}
|
|
56996
|
+
},
|
|
56997
|
+
{
|
|
56998
|
+
selector: ".rb-feature-cards-grid--editorial-diptych .rb-feature-card[data-surface-role=\"panel\"]",
|
|
56999
|
+
paint: {
|
|
57000
|
+
kind: "solid",
|
|
57001
|
+
token: "primary"
|
|
57002
|
+
}
|
|
57003
|
+
},
|
|
57004
|
+
{
|
|
57005
|
+
selector: ":is(.rb-event-list-treatment-ruled-register, .rb-event-list-treatment-editorial-register, .rb-event-list-treatment-dense-index) .event-card.event-card",
|
|
57006
|
+
paint: { kind: "transparent" }
|
|
57007
|
+
},
|
|
57008
|
+
{
|
|
57009
|
+
selector: ".feedback-callout",
|
|
57010
|
+
paint: {
|
|
57011
|
+
kind: "solid",
|
|
57012
|
+
token: "surface"
|
|
57013
|
+
}
|
|
57014
|
+
},
|
|
57015
|
+
{
|
|
57016
|
+
selector: "[data-block=\"gifting\"] .gifting-feedback",
|
|
57017
|
+
paint: {
|
|
57018
|
+
kind: "solid",
|
|
57019
|
+
token: "surface"
|
|
57020
|
+
}
|
|
57021
|
+
}
|
|
57022
|
+
];
|
|
57023
|
+
/**
|
|
57024
|
+
* Publishes every registered panel's surface contract. Emitted after the card
|
|
57025
|
+
* CSS in both the theme runtime and the SDK theme bridge, so a composition
|
|
57026
|
+
* that recolours a card role (the feature-card diptych panel) or a treatment
|
|
57027
|
+
* that empties one (the event registers) wins over the role's own contract.
|
|
57028
|
+
*/
|
|
57029
|
+
function generateOpaquePanelCss(input) {
|
|
57030
|
+
return opaquePanels.map((panel) => {
|
|
57031
|
+
const declarations = opaqueSurfaceDeclarations(panel.paint, input.surface);
|
|
57032
|
+
return `:where([data-theme-scope="${input.themeId}"]) ${panel.selector} {\n ${renderCssDeclarations(declarations)}\n}`;
|
|
57033
|
+
}).join("\n\n");
|
|
57034
|
+
}
|
|
57035
|
+
//#endregion
|
|
56644
57036
|
//#region ../theme-core/src/styles/border.ts
|
|
56645
57037
|
/**
|
|
56646
57038
|
* Border width mapping from Tailwind class names to px values
|
|
@@ -58024,7 +58416,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
|
|
|
58024
58416
|
--er-step-inactive: rgb(var(--tb-mutedText));
|
|
58025
58417
|
--er-step-completed: rgb(var(--tb-success));
|
|
58026
58418
|
--er-step-text: rgb(255 255 255);
|
|
58027
|
-
--er-step-text-active: rgb(var(--tb-
|
|
58419
|
+
--er-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
|
|
58028
58420
|
--er-step-connector: rgba(var(--tb-border), 0.5);
|
|
58029
58421
|
|
|
58030
58422
|
/* Step title */
|
|
@@ -58068,7 +58460,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
|
|
|
58068
58460
|
|
|
58069
58461
|
/* Checkmark indicator */
|
|
58070
58462
|
--er-check-bg: rgb(var(--tb-primary));
|
|
58071
|
-
--er-check-text: rgb(var(--tb-
|
|
58463
|
+
--er-check-text: rgb(var(--tb-onPrimary, 255 255 255));
|
|
58072
58464
|
|
|
58073
58465
|
/* Order summary */
|
|
58074
58466
|
--er-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
@@ -58280,7 +58672,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="appointment-booki
|
|
|
58280
58672
|
--rb-reg-step-completed: rgb(var(--tb-success));
|
|
58281
58673
|
--rb-reg-step-inactive: rgb(var(--tb-mutedText));
|
|
58282
58674
|
--rb-reg-step-text: rgb(255 255 255);
|
|
58283
|
-
--rb-reg-step-text-active: rgb(var(--tb-
|
|
58675
|
+
--rb-reg-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
|
|
58284
58676
|
--rb-reg-step-connector: rgba(var(--tb-border), 0.5);
|
|
58285
58677
|
--rb-reg-summary-bg: var(--ab-muted-bg);
|
|
58286
58678
|
--rb-reg-summary-border: var(--ab-card-border);
|
|
@@ -59032,11 +59424,14 @@ function buildThemeRuntime$1(theme, options) {
|
|
|
59032
59424
|
themeId,
|
|
59033
59425
|
theme
|
|
59034
59426
|
});
|
|
59035
|
-
const cardCss = generateCardCss({
|
|
59427
|
+
const cardCss = [generateCardCss({
|
|
59036
59428
|
themeId,
|
|
59037
59429
|
theme,
|
|
59038
59430
|
cardSystem: theme.cards
|
|
59039
|
-
})
|
|
59431
|
+
}), generateOpaquePanelCss({
|
|
59432
|
+
themeId,
|
|
59433
|
+
surface: opaqueSurfaceContextFromTheme(theme)
|
|
59434
|
+
})].join("\n\n");
|
|
59040
59435
|
const accordionCss = generateAccordionCss({
|
|
59041
59436
|
themeId,
|
|
59042
59437
|
theme,
|
|
@@ -61019,6 +61414,34 @@ function withLookCapability(declaration) {
|
|
|
61019
61414
|
}
|
|
61020
61415
|
};
|
|
61021
61416
|
}
|
|
61417
|
+
/**
|
|
61418
|
+
* The section background paints a block's own `_sectionStyles.background`
|
|
61419
|
+
* field admits, read from its manifest so the design capability cannot drift
|
|
61420
|
+
* from what render admission accepts. A block without the field admits none.
|
|
61421
|
+
*/
|
|
61422
|
+
function sectionBackgroundPaintsOfFields(fields) {
|
|
61423
|
+
const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
|
|
61424
|
+
if (!sectionStyles || sectionStyles.type !== "modal") return [];
|
|
61425
|
+
const background = sectionStyles.schema.fields.find((field) => field.id === "background");
|
|
61426
|
+
if (!background || background.type !== "tabGroup") return [];
|
|
61427
|
+
const tabIds = new Set(background.tabs.map((tab) => tab.id));
|
|
61428
|
+
return [
|
|
61429
|
+
"color",
|
|
61430
|
+
"gradient",
|
|
61431
|
+
"image"
|
|
61432
|
+
].filter((paint) => tabIds.has(paint));
|
|
61433
|
+
}
|
|
61434
|
+
/** Pins a designed capability's section background paints to the block's manifest. */
|
|
61435
|
+
function withManifestSectionBackgroundPaints(declaration, fields) {
|
|
61436
|
+
if (declaration.kind !== "capability") return declaration;
|
|
61437
|
+
return {
|
|
61438
|
+
kind: "capability",
|
|
61439
|
+
capability: {
|
|
61440
|
+
...declaration.capability,
|
|
61441
|
+
sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
|
|
61442
|
+
}
|
|
61443
|
+
};
|
|
61444
|
+
}
|
|
61022
61445
|
function declareNoBlockDesignCapability(reason) {
|
|
61023
61446
|
return {
|
|
61024
61447
|
kind: "none",
|
|
@@ -62803,6 +63226,20 @@ const footerEngagement = stack({
|
|
|
62803
63226
|
...footerSpamProtectionBinding
|
|
62804
63227
|
}), [], when("module.engagement.kind", { equals: "mailing-list" }))
|
|
62805
63228
|
], when("module.kind", { equals: "engagement" }));
|
|
63229
|
+
const platformAttribution = el("div", {
|
|
63230
|
+
className: "rb-caption",
|
|
63231
|
+
"data-site-attribution": "macadamia"
|
|
63232
|
+
}, [
|
|
63233
|
+
text({ as: "span" }, bind("module.lead")),
|
|
63234
|
+
text({
|
|
63235
|
+
as: "span",
|
|
63236
|
+
value: " "
|
|
63237
|
+
}),
|
|
63238
|
+
link({
|
|
63239
|
+
href: { $bind: { from: "module.link.href" } },
|
|
63240
|
+
className: "footer-nav-link rb-caption transition-theme-standard"
|
|
63241
|
+
}, [text({ as: "span" }, bind("module.link.label"))])
|
|
63242
|
+
], when("module.kind", { equals: "attribution" }));
|
|
62806
63243
|
const footerGroup = stack({
|
|
62807
63244
|
gap: "md",
|
|
62808
63245
|
align: "stretch",
|
|
@@ -62832,6 +63269,7 @@ const footerGroup = stack({
|
|
|
62832
63269
|
hours,
|
|
62833
63270
|
socials,
|
|
62834
63271
|
footerEngagement,
|
|
63272
|
+
platformAttribution,
|
|
62835
63273
|
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
62836
63274
|
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
62837
63275
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
@@ -68076,7 +68514,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
|
|
|
68076
68514
|
if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
|
|
68077
68515
|
return {
|
|
68078
68516
|
...definition,
|
|
68079
|
-
designCapability,
|
|
68517
|
+
designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
|
|
68080
68518
|
designMetadata,
|
|
68081
68519
|
manifest: {
|
|
68082
68520
|
...definition.manifest,
|
|
@@ -69236,7 +69674,7 @@ function getBlockOverride(blockKind, overrides) {
|
|
|
69236
69674
|
*/
|
|
69237
69675
|
function getRenderableContent(block, previewStage = "published") {
|
|
69238
69676
|
const source = previewStage === "preview" && block.draftContent ? block.draftContent : block.content ?? {};
|
|
69239
|
-
return isObjectRecord$
|
|
69677
|
+
return isObjectRecord$3(source) ? stripStaleTransitionStyleGroup(source) : {};
|
|
69240
69678
|
}
|
|
69241
69679
|
//#endregion
|
|
69242
69680
|
//#region ../blocks/src/system/manifest/hydrateLinks.ts
|
|
@@ -74599,140 +75037,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
74599
75037
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
74600
75038
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
74601
75039
|
background: var(--rb-reg-surface-bg, rgb(var(--tb-surface, 248 250 252)));
|
|
74602
|
-
|
|
74603
|
-
|
|
74604
|
-
|
|
74605
|
-
|
|
74606
|
-
|
|
74607
|
-
--rb-surface-link-hover-decoration: underline;
|
|
74608
|
-
--rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
|
|
75040
|
+
/* The panel paints its own surface, so it owns its foreground and its
|
|
75041
|
+
* button context. Both are published from the theme by the opaque-panel
|
|
75042
|
+
* registry (theme-core/src/blocks/opaquePanels.ts): an enclosing brand band
|
|
75043
|
+
* would otherwise hand its light text and band-resolved buttons (on Anna's
|
|
75044
|
+
* therapy page, a white-on-white Continue) to this light panel. */
|
|
74609
75045
|
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
74610
75046
|
width: 100%;
|
|
74611
75047
|
max-width: 800px;
|
|
74612
75048
|
margin-inline: 0;
|
|
74613
75049
|
}
|
|
74614
75050
|
|
|
74615
|
-
/* The panel paints its own opaque surface, so it also has to break the button
|
|
74616
|
-
* colour contract it inherits. An enclosing section that sits on a brand band
|
|
74617
|
-
* publishes \`--rb-action-*\` variables resolved against *that* band — on Anna's
|
|
74618
|
-
* therapy page a ghost primary: transparent background, white label. Those
|
|
74619
|
-
* variables inherit, so without this reset a Continue button inside the light
|
|
74620
|
-
* form panel renders white-on-white and only appears on hover.
|
|
74621
|
-
*
|
|
74622
|
-
* Resetting to \`initial\` sends each button back to the generated fallback in
|
|
74623
|
-
* its own rule (\`var(--rb-action-…, rgb(var(--tb-primary)))\`), which is the
|
|
74624
|
-
* theme's standard button resolved against a normal surface — correct here,
|
|
74625
|
-
* because this panel *is* a normal surface.
|
|
74626
|
-
*
|
|
74627
|
-
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
74628
|
-
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
74629
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
74630
|
-
--rb-action-primary-base-background-color: initial;
|
|
74631
|
-
--rb-action-primary-base-background-image: initial;
|
|
74632
|
-
--rb-action-primary-base-color: initial;
|
|
74633
|
-
--rb-action-primary-hover-background-color: initial;
|
|
74634
|
-
--rb-action-primary-hover-background-image: initial;
|
|
74635
|
-
--rb-action-primary-hover-color: initial;
|
|
74636
|
-
--rb-action-primary-focus-background-color: initial;
|
|
74637
|
-
--rb-action-primary-focus-background-image: initial;
|
|
74638
|
-
--rb-action-primary-focus-color: initial;
|
|
74639
|
-
--rb-action-primary-active-background-color: initial;
|
|
74640
|
-
--rb-action-primary-active-background-image: initial;
|
|
74641
|
-
--rb-action-primary-active-color: initial;
|
|
74642
|
-
--rb-action-primary-disabled-background-color: initial;
|
|
74643
|
-
--rb-action-primary-disabled-background-image: initial;
|
|
74644
|
-
--rb-action-primary-disabled-color: initial;
|
|
74645
|
-
--rb-action-primary-base-outline: initial;
|
|
74646
|
-
--rb-action-primary-base-outline-offset: initial;
|
|
74647
|
-
--rb-action-primary-focus-outline: initial;
|
|
74648
|
-
--rb-action-primary-focus-outline-offset: initial;
|
|
74649
|
-
--rb-action-primary-focus-box-shadow: initial;
|
|
74650
|
-
|
|
74651
|
-
--rb-action-secondary-base-background-color: initial;
|
|
74652
|
-
--rb-action-secondary-base-background-image: initial;
|
|
74653
|
-
--rb-action-secondary-base-color: initial;
|
|
74654
|
-
--rb-action-secondary-hover-background-color: initial;
|
|
74655
|
-
--rb-action-secondary-hover-background-image: initial;
|
|
74656
|
-
--rb-action-secondary-hover-color: initial;
|
|
74657
|
-
--rb-action-secondary-focus-background-color: initial;
|
|
74658
|
-
--rb-action-secondary-focus-background-image: initial;
|
|
74659
|
-
--rb-action-secondary-focus-color: initial;
|
|
74660
|
-
--rb-action-secondary-active-background-color: initial;
|
|
74661
|
-
--rb-action-secondary-active-background-image: initial;
|
|
74662
|
-
--rb-action-secondary-active-color: initial;
|
|
74663
|
-
--rb-action-secondary-disabled-background-color: initial;
|
|
74664
|
-
--rb-action-secondary-disabled-background-image: initial;
|
|
74665
|
-
--rb-action-secondary-disabled-color: initial;
|
|
74666
|
-
--rb-action-secondary-base-outline: initial;
|
|
74667
|
-
--rb-action-secondary-base-outline-offset: initial;
|
|
74668
|
-
--rb-action-secondary-focus-outline: initial;
|
|
74669
|
-
--rb-action-secondary-focus-outline-offset: initial;
|
|
74670
|
-
--rb-action-secondary-focus-box-shadow: initial;
|
|
74671
|
-
|
|
74672
|
-
--rb-action-outline-base-background-color: initial;
|
|
74673
|
-
--rb-action-outline-base-background-image: initial;
|
|
74674
|
-
--rb-action-outline-base-color: initial;
|
|
74675
|
-
--rb-action-outline-hover-background-color: initial;
|
|
74676
|
-
--rb-action-outline-hover-background-image: initial;
|
|
74677
|
-
--rb-action-outline-hover-color: initial;
|
|
74678
|
-
--rb-action-outline-focus-background-color: initial;
|
|
74679
|
-
--rb-action-outline-focus-background-image: initial;
|
|
74680
|
-
--rb-action-outline-focus-color: initial;
|
|
74681
|
-
--rb-action-outline-active-background-color: initial;
|
|
74682
|
-
--rb-action-outline-active-background-image: initial;
|
|
74683
|
-
--rb-action-outline-active-color: initial;
|
|
74684
|
-
--rb-action-outline-disabled-background-color: initial;
|
|
74685
|
-
--rb-action-outline-disabled-background-image: initial;
|
|
74686
|
-
--rb-action-outline-disabled-color: initial;
|
|
74687
|
-
--rb-action-outline-base-outline: initial;
|
|
74688
|
-
--rb-action-outline-base-outline-offset: initial;
|
|
74689
|
-
--rb-action-outline-focus-outline: initial;
|
|
74690
|
-
--rb-action-outline-focus-outline-offset: initial;
|
|
74691
|
-
--rb-action-outline-focus-box-shadow: initial;
|
|
74692
|
-
|
|
74693
|
-
--rb-action-ghost-base-background-color: initial;
|
|
74694
|
-
--rb-action-ghost-base-background-image: initial;
|
|
74695
|
-
--rb-action-ghost-base-color: initial;
|
|
74696
|
-
--rb-action-ghost-hover-background-color: initial;
|
|
74697
|
-
--rb-action-ghost-hover-background-image: initial;
|
|
74698
|
-
--rb-action-ghost-hover-color: initial;
|
|
74699
|
-
--rb-action-ghost-focus-background-color: initial;
|
|
74700
|
-
--rb-action-ghost-focus-background-image: initial;
|
|
74701
|
-
--rb-action-ghost-focus-color: initial;
|
|
74702
|
-
--rb-action-ghost-active-background-color: initial;
|
|
74703
|
-
--rb-action-ghost-active-background-image: initial;
|
|
74704
|
-
--rb-action-ghost-active-color: initial;
|
|
74705
|
-
--rb-action-ghost-disabled-background-color: initial;
|
|
74706
|
-
--rb-action-ghost-disabled-background-image: initial;
|
|
74707
|
-
--rb-action-ghost-disabled-color: initial;
|
|
74708
|
-
--rb-action-ghost-base-outline: initial;
|
|
74709
|
-
--rb-action-ghost-base-outline-offset: initial;
|
|
74710
|
-
--rb-action-ghost-focus-outline: initial;
|
|
74711
|
-
--rb-action-ghost-focus-outline-offset: initial;
|
|
74712
|
-
--rb-action-ghost-focus-box-shadow: initial;
|
|
74713
|
-
|
|
74714
|
-
--rb-action-accent-base-background-color: initial;
|
|
74715
|
-
--rb-action-accent-base-background-image: initial;
|
|
74716
|
-
--rb-action-accent-base-color: initial;
|
|
74717
|
-
--rb-action-accent-hover-background-color: initial;
|
|
74718
|
-
--rb-action-accent-hover-background-image: initial;
|
|
74719
|
-
--rb-action-accent-hover-color: initial;
|
|
74720
|
-
--rb-action-accent-focus-background-color: initial;
|
|
74721
|
-
--rb-action-accent-focus-background-image: initial;
|
|
74722
|
-
--rb-action-accent-focus-color: initial;
|
|
74723
|
-
--rb-action-accent-active-background-color: initial;
|
|
74724
|
-
--rb-action-accent-active-background-image: initial;
|
|
74725
|
-
--rb-action-accent-active-color: initial;
|
|
74726
|
-
--rb-action-accent-disabled-background-color: initial;
|
|
74727
|
-
--rb-action-accent-disabled-background-image: initial;
|
|
74728
|
-
--rb-action-accent-disabled-color: initial;
|
|
74729
|
-
--rb-action-accent-base-outline: initial;
|
|
74730
|
-
--rb-action-accent-base-outline-offset: initial;
|
|
74731
|
-
--rb-action-accent-focus-outline: initial;
|
|
74732
|
-
--rb-action-accent-focus-outline-offset: initial;
|
|
74733
|
-
--rb-action-accent-focus-box-shadow: initial;
|
|
74734
|
-
}
|
|
74735
|
-
|
|
74736
75051
|
/* Selectable option card */
|
|
74737
75052
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
74738
75053
|
position: relative;
|
|
@@ -74792,7 +75107,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
74792
75107
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
74793
75108
|
width: 0.75rem;
|
|
74794
75109
|
height: 0.75rem;
|
|
74795
|
-
color: var(--rb-reg-check-text, rgb(var(--tb-
|
|
75110
|
+
color: var(--rb-reg-check-text, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74796
75111
|
}
|
|
74797
75112
|
|
|
74798
75113
|
/* Step indicator */
|
|
@@ -74832,12 +75147,12 @@ const containerResponsiveThemeCss = `/*
|
|
|
74832
75147
|
|
|
74833
75148
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
74834
75149
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
74835
|
-
color: var(--rb-reg-step-text-active, rgb(var(--tb-
|
|
75150
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74836
75151
|
}
|
|
74837
75152
|
|
|
74838
75153
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
74839
75154
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
74840
|
-
color: var(--rb-reg-step-text-active, rgb(var(--tb-
|
|
75155
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
|
|
74841
75156
|
}
|
|
74842
75157
|
|
|
74843
75158
|
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
@@ -75096,7 +75411,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
75096
75411
|
justify-content: center;
|
|
75097
75412
|
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
75098
75413
|
background: rgb(var(--tb-primary));
|
|
75099
|
-
color: rgb(var(--tb-
|
|
75414
|
+
color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255)));
|
|
75100
75415
|
padding: 0.625rem 1rem;
|
|
75101
75416
|
font-size: 0.875rem;
|
|
75102
75417
|
font-weight: 600;
|
|
@@ -77071,7 +77386,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77071
77386
|
:where(.theme-scope) :where([data-block='event-registration']) .er-modal-btn {
|
|
77072
77387
|
padding: 0.75rem 1.5rem;
|
|
77073
77388
|
background: rgb(var(--tb-primary));
|
|
77074
|
-
color: rgb(var(--tb-
|
|
77389
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
77075
77390
|
border: none;
|
|
77076
77391
|
border-radius: var(--rb-block-radius);
|
|
77077
77392
|
font-weight: 500;
|
|
@@ -77119,7 +77434,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77119
77434
|
border: 1px solid var(--er-border);
|
|
77120
77435
|
border-radius: var(--rb-block-radius);
|
|
77121
77436
|
background: var(--er-event-card-bg);
|
|
77122
|
-
|
|
77437
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
77123
77438
|
}
|
|
77124
77439
|
|
|
77125
77440
|
:where(.theme-scope)
|
|
@@ -77270,7 +77585,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
77270
77585
|
min-height: 0;
|
|
77271
77586
|
overflow: hidden;
|
|
77272
77587
|
background: rgb(var(--tb-background));
|
|
77273
|
-
|
|
77588
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
77274
77589
|
}
|
|
77275
77590
|
|
|
77276
77591
|
:where(.theme-scope)
|
|
@@ -78037,7 +78352,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78037
78352
|
.event-category-btn--active {
|
|
78038
78353
|
background-color: rgb(var(--tb-primary));
|
|
78039
78354
|
border-color: rgb(var(--tb-primary));
|
|
78040
|
-
color: var(--
|
|
78355
|
+
color: rgb(var(--tb-onPrimary));
|
|
78041
78356
|
}
|
|
78042
78357
|
|
|
78043
78358
|
:where(.theme-scope)
|
|
@@ -78104,7 +78419,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78104
78419
|
opacity: 1;
|
|
78105
78420
|
background-color: rgb(var(--tb-primary));
|
|
78106
78421
|
border-color: rgb(var(--tb-primary));
|
|
78107
|
-
color: rgb(var(--tb-
|
|
78422
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78108
78423
|
}
|
|
78109
78424
|
|
|
78110
78425
|
/* -----------------------------------------------------------------------------
|
|
@@ -78162,7 +78477,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78162
78477
|
text-transform: uppercase;
|
|
78163
78478
|
letter-spacing: 0.05em;
|
|
78164
78479
|
background-color: rgb(var(--tb-primary));
|
|
78165
|
-
color: rgb(var(--tb-
|
|
78480
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78166
78481
|
border-radius: var(--rb-button-radius);
|
|
78167
78482
|
}
|
|
78168
78483
|
|
|
@@ -78204,7 +78519,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
78204
78519
|
border: 1px solid var(--ec-border-subtle);
|
|
78205
78520
|
border-radius: var(--rb-block-radius);
|
|
78206
78521
|
text-decoration: none;
|
|
78207
|
-
|
|
78522
|
+
/* Paints its own surface: its foreground and button context come from the
|
|
78523
|
+
* opaque-panel registry (theme-core/src/blocks/opaquePanels.ts). */
|
|
78208
78524
|
transition: all var(--rb-block-transition) ease;
|
|
78209
78525
|
}
|
|
78210
78526
|
|
|
@@ -78538,7 +78854,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78538
78854
|
.event-timetable-day-tab--active {
|
|
78539
78855
|
background-color: rgb(var(--tb-primary));
|
|
78540
78856
|
border-color: rgb(var(--tb-primary));
|
|
78541
|
-
color: rgb(var(--tb-
|
|
78857
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78542
78858
|
}
|
|
78543
78859
|
|
|
78544
78860
|
:where(.theme-scope)
|
|
@@ -78604,7 +78920,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
78604
78920
|
padding: 0.125rem 0.375rem;
|
|
78605
78921
|
border-radius: var(--rb-button-radius);
|
|
78606
78922
|
background-color: rgb(var(--tb-primary));
|
|
78607
|
-
color: rgb(var(--tb-
|
|
78923
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
78608
78924
|
font-size: 0.625rem;
|
|
78609
78925
|
font-weight: 700;
|
|
78610
78926
|
text-transform: uppercase;
|
|
@@ -78660,7 +78976,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
78660
78976
|
border-left-width: 4px;
|
|
78661
78977
|
border-radius: calc(var(--rb-block-radius) / 1.5);
|
|
78662
78978
|
background-color: var(--ec-surface);
|
|
78663
|
-
color: var(--ec-text);
|
|
78664
78979
|
box-shadow: 0 1px 2px rgba(var(--tb-text), 0.08);
|
|
78665
78980
|
cursor: pointer;
|
|
78666
78981
|
font: inherit;
|
|
@@ -78833,7 +79148,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
78833
79148
|
border: 1px solid var(--ec-border);
|
|
78834
79149
|
border-radius: var(--rb-block-radius);
|
|
78835
79150
|
background-color: var(--ec-surface);
|
|
78836
|
-
color: var(--ec-text);
|
|
78837
79151
|
overflow: hidden;
|
|
78838
79152
|
}
|
|
78839
79153
|
|
|
@@ -79783,7 +80097,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
79783
80097
|
justify-content: center;
|
|
79784
80098
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.6);
|
|
79785
80099
|
background: rgb(var(--tb-primary, 17 24 39));
|
|
79786
|
-
color: rgb(var(--tb-
|
|
80100
|
+
color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255)));
|
|
79787
80101
|
padding: 0.625rem 1rem;
|
|
79788
80102
|
font-size: 0.875rem;
|
|
79789
80103
|
font-weight: 600;
|
|
@@ -80221,7 +80535,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
80221
80535
|
|
|
80222
80536
|
:where(.theme-scope) .event-reset-filters-btn:hover {
|
|
80223
80537
|
background-color: rgb(var(--tb-primary));
|
|
80224
|
-
color: rgb(var(--tb-
|
|
80538
|
+
color: rgb(var(--tb-onPrimary, 255 255 255));
|
|
80225
80539
|
}
|
|
80226
80540
|
|
|
80227
80541
|
:where(.theme-scope) .event-reset-filters-btn:focus-visible {
|
|
@@ -80579,14 +80893,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80579
80893
|
border: 0;
|
|
80580
80894
|
border-bottom: 1px solid color-mix(in oklab, currentColor, transparent 78%);
|
|
80581
80895
|
border-radius: 0;
|
|
80896
|
+
/* Boxless row: the opaque-panel registry hands the band's contract back. */
|
|
80582
80897
|
background: transparent;
|
|
80583
|
-
color: inherit;
|
|
80584
|
-
--rb-surface-text-color: inherit;
|
|
80585
|
-
--rb-surface-heading-color: inherit;
|
|
80586
|
-
--rb-surface-link-color: inherit;
|
|
80587
|
-
--rb-surface-link-hover-color: inherit;
|
|
80588
|
-
--rb-surface-link-hover-decoration: inherit;
|
|
80589
|
-
--rb-surface-supporting-color: inherit;
|
|
80590
80898
|
}
|
|
80591
80899
|
|
|
80592
80900
|
:where(.theme-scope) .shop--register .shop__card-header {
|
|
@@ -80678,14 +80986,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80678
80986
|
|
|
80679
80987
|
/* Product card */
|
|
80680
80988
|
:where(.theme-scope) .shop__card {
|
|
80989
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
80681
80990
|
background: rgb(var(--tb-surface));
|
|
80682
|
-
color: rgb(var(--tb-text, 17 24 39));
|
|
80683
|
-
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
80684
|
-
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
80685
|
-
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
80686
|
-
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
80687
|
-
--rb-surface-link-hover-decoration: initial;
|
|
80688
|
-
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
80689
80991
|
border: 1px solid rgb(var(--tb-border));
|
|
80690
80992
|
border-radius: var(--shop-card-radius);
|
|
80691
80993
|
padding: 1.5rem;
|
|
@@ -80846,14 +81148,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
80846
81148
|
margin-bottom: 1.25rem;
|
|
80847
81149
|
border: 1px solid rgb(var(--tb-border));
|
|
80848
81150
|
border-radius: var(--shop-card-radius);
|
|
81151
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
80849
81152
|
background: rgb(var(--tb-surface));
|
|
80850
|
-
color: rgb(var(--tb-text, 17 24 39));
|
|
80851
|
-
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
80852
|
-
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
80853
|
-
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
80854
|
-
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
80855
|
-
--rb-surface-link-hover-decoration: initial;
|
|
80856
|
-
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
80857
81153
|
}
|
|
80858
81154
|
|
|
80859
81155
|
:where(.theme-scope) :where([data-block="shop"]) .rb-state-icon--success {
|
|
@@ -82796,8 +83092,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
82796
83092
|
border-radius: 9999px;
|
|
82797
83093
|
}
|
|
82798
83094
|
|
|
83095
|
+
/* The callout is its own opaque surface: tones tint over the theme surface,
|
|
83096
|
+
* not over whatever band the callout sits on, so its foreground and button
|
|
83097
|
+
* context (theme-core/src/blocks/opaquePanels.ts) hold on any section. */
|
|
82799
83098
|
:where(.theme-scope) .feedback-callout {
|
|
82800
|
-
background:
|
|
83099
|
+
background: rgb(var(--tb-surface, 248 250 252));
|
|
82801
83100
|
border-color: rgba(var(--tb-border, 226 232 240), 0.72);
|
|
82802
83101
|
--rb-feedback-callout-bg-opacity: 0.1;
|
|
82803
83102
|
--rb-feedback-callout-border-opacity: 0.24;
|
|
@@ -82805,25 +83104,33 @@ const containerResponsiveThemeCss = `/*
|
|
|
82805
83104
|
|
|
82806
83105
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="info"] {
|
|
82807
83106
|
--rb-feedback-callout-bg-opacity: 0.08;
|
|
82808
|
-
background:
|
|
83107
|
+
background:
|
|
83108
|
+
linear-gradient(rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity))),
|
|
83109
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82809
83110
|
border-color: rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-border-opacity));
|
|
82810
83111
|
}
|
|
82811
83112
|
|
|
82812
83113
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="success"] {
|
|
82813
|
-
background:
|
|
83114
|
+
background:
|
|
83115
|
+
linear-gradient(rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity))),
|
|
83116
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82814
83117
|
border-color: rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-border-opacity));
|
|
82815
83118
|
}
|
|
82816
83119
|
|
|
82817
83120
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="warning"] {
|
|
82818
83121
|
--rb-feedback-callout-bg-opacity: 0.12;
|
|
82819
83122
|
--rb-feedback-callout-border-opacity: 0.28;
|
|
82820
|
-
background:
|
|
83123
|
+
background:
|
|
83124
|
+
linear-gradient(rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity))),
|
|
83125
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82821
83126
|
border-color: rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-border-opacity));
|
|
82822
83127
|
}
|
|
82823
83128
|
|
|
82824
83129
|
:where(.theme-scope) .feedback-callout[data-feedback-tone="error"] {
|
|
82825
83130
|
--rb-feedback-callout-border-opacity: 0.26;
|
|
82826
|
-
background:
|
|
83131
|
+
background:
|
|
83132
|
+
linear-gradient(rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity))),
|
|
83133
|
+
rgb(var(--tb-surface, 248 250 252));
|
|
82827
83134
|
border-color: rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-border-opacity));
|
|
82828
83135
|
}
|
|
82829
83136
|
|
|
@@ -83297,26 +83604,30 @@ const containerResponsiveThemeCss = `/*
|
|
|
83297
83604
|
border: 1px solid rgb(var(--tb-text, 17 24 39) / 0.12);
|
|
83298
83605
|
border-radius: 1rem;
|
|
83299
83606
|
padding: 0.875rem 1rem;
|
|
83300
|
-
|
|
83301
|
-
|
|
83607
|
+
/* Opaque surface; foreground and button context come from the opaque-panel
|
|
83608
|
+
* registry (theme-core/src/blocks/opaquePanels.ts). Tones tint over it. */
|
|
83609
|
+
background: rgb(var(--tb-surface, 255 255 255));
|
|
83302
83610
|
}
|
|
83303
83611
|
|
|
83304
83612
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="success"] {
|
|
83305
83613
|
border-color: rgba(var(--tb-success, 34 197 94), 0.3);
|
|
83306
|
-
background:
|
|
83307
|
-
|
|
83614
|
+
background:
|
|
83615
|
+
linear-gradient(rgba(var(--tb-success, 34 197 94), 0.1), rgba(var(--tb-success, 34 197 94), 0.1)),
|
|
83616
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83308
83617
|
}
|
|
83309
83618
|
|
|
83310
83619
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="warning"] {
|
|
83311
83620
|
border-color: rgba(var(--tb-warning, 245 158 11), 0.35);
|
|
83312
|
-
background:
|
|
83313
|
-
|
|
83621
|
+
background:
|
|
83622
|
+
linear-gradient(rgba(var(--tb-warning, 245 158 11), 0.12), rgba(var(--tb-warning, 245 158 11), 0.12)),
|
|
83623
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83314
83624
|
}
|
|
83315
83625
|
|
|
83316
83626
|
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="error"] {
|
|
83317
83627
|
border-color: rgba(var(--tb-destructive, 239 68 68), 0.3);
|
|
83318
|
-
background:
|
|
83319
|
-
|
|
83628
|
+
background:
|
|
83629
|
+
linear-gradient(rgba(var(--tb-destructive, 239 68 68), 0.1), rgba(var(--tb-destructive, 239 68 68), 0.1)),
|
|
83630
|
+
rgb(var(--tb-surface, 255 255 255));
|
|
83320
83631
|
}
|
|
83321
83632
|
|
|
83322
83633
|
/* =============================================================================
|
|
@@ -83696,10 +84007,14 @@ const containerResponsiveThemeCss = `/*
|
|
|
83696
84007
|
* These treatments retain the event list's content and structural layout.
|
|
83697
84008
|
* Their contrast relationships come exclusively from the active semantic
|
|
83698
84009
|
* section surface and named palette tokens.
|
|
84010
|
+
*
|
|
84011
|
+
* The treatment list is \`:is()\`, not \`:where()\`, so each rule outranks the card
|
|
84012
|
+
* role (\`.card-role-x.card-role-x\`) the event card also carries: the rows must
|
|
84013
|
+
* stay boxless whichever stylesheet the page loads last.
|
|
83699
84014
|
* ============================================================================= */
|
|
83700
84015
|
|
|
83701
84016
|
:where(.theme-scope)
|
|
83702
|
-
:
|
|
84017
|
+
:is(
|
|
83703
84018
|
.rb-event-list-treatment-ruled-register,
|
|
83704
84019
|
.rb-event-list-treatment-editorial-register,
|
|
83705
84020
|
.rb-event-list-treatment-dense-index
|
|
@@ -83711,12 +84026,12 @@ const containerResponsiveThemeCss = `/*
|
|
|
83711
84026
|
border-radius: 0;
|
|
83712
84027
|
background: transparent;
|
|
83713
84028
|
box-shadow: none;
|
|
83714
|
-
|
|
84029
|
+
/* Boxless row: the opaque-panel registry hands the band's contract back. */
|
|
83715
84030
|
}
|
|
83716
84031
|
|
|
83717
84032
|
/* Register treatments intentionally prioritise schedule data over imagery. */
|
|
83718
84033
|
:where(.theme-scope)
|
|
83719
|
-
:
|
|
84034
|
+
:is(
|
|
83720
84035
|
.rb-event-list-treatment-ruled-register,
|
|
83721
84036
|
.rb-event-list-treatment-editorial-register,
|
|
83722
84037
|
.rb-event-list-treatment-dense-index
|
|
@@ -83727,7 +84042,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83727
84042
|
}
|
|
83728
84043
|
|
|
83729
84044
|
:where(.theme-scope)
|
|
83730
|
-
:
|
|
84045
|
+
:is(
|
|
83731
84046
|
.rb-event-list-treatment-ruled-register,
|
|
83732
84047
|
.rb-event-list-treatment-editorial-register,
|
|
83733
84048
|
.rb-event-list-treatment-dense-index
|
|
@@ -83739,7 +84054,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83739
84054
|
}
|
|
83740
84055
|
|
|
83741
84056
|
:where(.theme-scope)
|
|
83742
|
-
:
|
|
84057
|
+
:is(
|
|
83743
84058
|
.rb-event-list-treatment-ruled-register,
|
|
83744
84059
|
.rb-event-list-treatment-editorial-register,
|
|
83745
84060
|
.rb-event-list-treatment-dense-index
|
|
@@ -83751,7 +84066,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83751
84066
|
}
|
|
83752
84067
|
|
|
83753
84068
|
:where(.theme-scope)
|
|
83754
|
-
:
|
|
84069
|
+
:is(
|
|
83755
84070
|
.rb-event-list-treatment-ruled-register,
|
|
83756
84071
|
.rb-event-list-treatment-editorial-register,
|
|
83757
84072
|
.rb-event-list-treatment-dense-index
|
|
@@ -83763,7 +84078,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83763
84078
|
}
|
|
83764
84079
|
|
|
83765
84080
|
:where(.theme-scope)
|
|
83766
|
-
:
|
|
84081
|
+
:is(
|
|
83767
84082
|
.rb-event-list-treatment-ruled-register,
|
|
83768
84083
|
.rb-event-list-treatment-editorial-register,
|
|
83769
84084
|
.rb-event-list-treatment-dense-index
|
|
@@ -83861,7 +84176,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83861
84176
|
@container rb-site (min-width: 768px) {
|
|
83862
84177
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
83863
84178
|
:where(.theme-scope)
|
|
83864
|
-
:
|
|
84179
|
+
:is(
|
|
83865
84180
|
.rb-event-list-treatment-ruled-register,
|
|
83866
84181
|
.rb-event-list-treatment-editorial-register,
|
|
83867
84182
|
.rb-event-list-treatment-dense-index
|
|
@@ -83871,7 +84186,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83871
84186
|
}
|
|
83872
84187
|
|
|
83873
84188
|
:where(.theme-scope)
|
|
83874
|
-
:
|
|
84189
|
+
:is(
|
|
83875
84190
|
.rb-event-list-treatment-ruled-register,
|
|
83876
84191
|
.rb-event-list-treatment-editorial-register,
|
|
83877
84192
|
.rb-event-list-treatment-dense-index
|
|
@@ -83886,7 +84201,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83886
84201
|
}
|
|
83887
84202
|
|
|
83888
84203
|
:where(.theme-scope)
|
|
83889
|
-
:
|
|
84204
|
+
:is(
|
|
83890
84205
|
.rb-event-list-treatment-ruled-register,
|
|
83891
84206
|
.rb-event-list-treatment-editorial-register,
|
|
83892
84207
|
.rb-event-list-treatment-dense-index
|
|
@@ -83897,7 +84212,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83897
84212
|
}
|
|
83898
84213
|
|
|
83899
84214
|
:where(.theme-scope)
|
|
83900
|
-
:
|
|
84215
|
+
:is(
|
|
83901
84216
|
.rb-event-list-treatment-ruled-register,
|
|
83902
84217
|
.rb-event-list-treatment-editorial-register,
|
|
83903
84218
|
.rb-event-list-treatment-dense-index
|
|
@@ -83910,7 +84225,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83910
84225
|
}
|
|
83911
84226
|
|
|
83912
84227
|
:where(.theme-scope)
|
|
83913
|
-
:
|
|
84228
|
+
:is(
|
|
83914
84229
|
.rb-event-list-treatment-ruled-register,
|
|
83915
84230
|
.rb-event-list-treatment-editorial-register,
|
|
83916
84231
|
.rb-event-list-treatment-dense-index
|
|
@@ -83922,7 +84237,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83922
84237
|
}
|
|
83923
84238
|
|
|
83924
84239
|
:where(.theme-scope)
|
|
83925
|
-
:
|
|
84240
|
+
:is(
|
|
83926
84241
|
.rb-event-list-treatment-ruled-register,
|
|
83927
84242
|
.rb-event-list-treatment-editorial-register,
|
|
83928
84243
|
.rb-event-list-treatment-dense-index
|
|
@@ -83933,7 +84248,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83933
84248
|
}
|
|
83934
84249
|
|
|
83935
84250
|
:where(.theme-scope)
|
|
83936
|
-
:
|
|
84251
|
+
:is(
|
|
83937
84252
|
.rb-event-list-treatment-ruled-register,
|
|
83938
84253
|
.rb-event-list-treatment-editorial-register,
|
|
83939
84254
|
.rb-event-list-treatment-dense-index
|
|
@@ -83941,7 +84256,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83941
84256
|
.event-card.event-card.event-card--horizontal
|
|
83942
84257
|
.card-content > .card-body,
|
|
83943
84258
|
:where(.theme-scope)
|
|
83944
|
-
:
|
|
84259
|
+
:is(
|
|
83945
84260
|
.rb-event-list-treatment-ruled-register,
|
|
83946
84261
|
.rb-event-list-treatment-editorial-register,
|
|
83947
84262
|
.rb-event-list-treatment-dense-index
|
|
@@ -83952,7 +84267,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
83952
84267
|
}
|
|
83953
84268
|
|
|
83954
84269
|
:where(.theme-scope)
|
|
83955
|
-
:
|
|
84270
|
+
:is(
|
|
83956
84271
|
.rb-event-list-treatment-ruled-register,
|
|
83957
84272
|
.rb-event-list-treatment-editorial-register,
|
|
83958
84273
|
.rb-event-list-treatment-dense-index
|
|
@@ -84003,13 +84318,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
84003
84318
|
padding: clamp(1.125rem, 2.5vw, 1.875rem);
|
|
84004
84319
|
border-radius: calc(var(--rb-block-radius, 0.75rem) * 1.5);
|
|
84005
84320
|
background: rgb(var(--tb-secondary));
|
|
84006
|
-
|
|
84007
|
-
--rb-surface-text-color: rgb(var(--tb-onSecondary));
|
|
84008
|
-
--rb-surface-heading-color: rgb(var(--tb-onSecondary));
|
|
84009
|
-
--rb-surface-link-color: rgb(var(--tb-onSecondary));
|
|
84010
|
-
--rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
|
|
84011
|
-
--rb-surface-link-hover-decoration: underline;
|
|
84012
|
-
--rb-surface-supporting-color: rgb(var(--tb-onSecondary));
|
|
84321
|
+
/* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
|
|
84013
84322
|
}
|
|
84014
84323
|
|
|
84015
84324
|
:where(.theme-scope)
|
|
@@ -84134,16 +84443,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
84134
84443
|
}
|
|
84135
84444
|
|
|
84136
84445
|
/* Diptych filled panel: a composition over the \`alternative\` role's surface.
|
|
84137
|
-
|
|
84138
|
-
|
|
84139
|
-
color: rgb(var(--tb-onPrimary));
|
|
84140
|
-
--rb-surface-text-color: rgb(var(--tb-onPrimary));
|
|
84141
|
-
--rb-surface-heading-color: rgb(var(--tb-onPrimary));
|
|
84142
|
-
--rb-surface-link-color: rgb(var(--tb-onPrimary));
|
|
84143
|
-
--rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
|
|
84144
|
-
--rb-surface-link-hover-decoration: underline;
|
|
84145
|
-
--rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
|
|
84146
|
-
}
|
|
84446
|
+
It paints primary (below); its foreground and button context for that paint
|
|
84447
|
+
come from theme-core/src/blocks/opaquePanels.ts. */
|
|
84147
84448
|
|
|
84148
84449
|
:where(.theme-scope) .rb-feature-cards-grid--editorial-diptych .rb-feature-card[data-surface-role="panel"] > .rb-bg-surface {
|
|
84149
84450
|
background: rgb(var(--tb-primary));
|
|
@@ -84903,10 +85204,10 @@ function normalizeDataLoaders(def) {
|
|
|
84903
85204
|
*/
|
|
84904
85205
|
function normalizeContent(block) {
|
|
84905
85206
|
const source = block.draftContent ?? block.content ?? block.publishedContent ?? {};
|
|
84906
|
-
if (!isObjectRecord$
|
|
85207
|
+
if (!isObjectRecord$3(source)) return {};
|
|
84907
85208
|
if ("data" in source) {
|
|
84908
85209
|
const data = source.data;
|
|
84909
|
-
if (isObjectRecord$
|
|
85210
|
+
if (isObjectRecord$3(data)) return data;
|
|
84910
85211
|
if (data === null || data === void 0) return {};
|
|
84911
85212
|
}
|
|
84912
85213
|
return source;
|
|
@@ -85142,7 +85443,7 @@ function stableNormalize(value) {
|
|
|
85142
85443
|
//#endregion
|
|
85143
85444
|
//#region ../blocks/src/system/data/normalizeLoaderParams.ts
|
|
85144
85445
|
function toStringParams(value) {
|
|
85145
|
-
if (!isObjectRecord$
|
|
85446
|
+
if (!isObjectRecord$3(value)) return {};
|
|
85146
85447
|
const out = {};
|
|
85147
85448
|
for (const [k, v] of Object.entries(value)) if (typeof v === "string") out[k] = v;
|
|
85148
85449
|
return out;
|
|
@@ -91764,7 +92065,7 @@ var CircuitOpenError = class extends Error {
|
|
|
91764
92065
|
* 1. This constant
|
|
91765
92066
|
* 2. The "version" field in package.json
|
|
91766
92067
|
*/
|
|
91767
|
-
const SDK_VERSION = "0.
|
|
92068
|
+
const SDK_VERSION = "0.150.0";
|
|
91768
92069
|
//#endregion
|
|
91769
92070
|
//#region src/next/content-load-failure.ts
|
|
91770
92071
|
const SdkContentLoadError = RiverbankContentLoadError;
|