@riverbankcms/sdk 0.139.0 → 0.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
- package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +22 -8
- package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +2053 -1110
- package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
- package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
- package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/authSubmission.d.ts +46 -0
- package/dist/_dts/api/src/billing.d.ts +8 -4
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
- package/dist/_dts/api/src/blocks.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
- package/dist/_dts/api/src/communications.d.ts +0 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -3
- package/dist/_dts/api/src/endpoints.d.ts +93 -64
- package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
- package/dist/_dts/api/src/footerSettings.d.ts +9 -6
- package/dist/_dts/api/src/index.d.ts +5 -6
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +1 -1
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
- package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
- package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
- package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
- package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -5
- package/dist/_dts/api/src/siteOnboarding.d.ts +2 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/siteSettings.d.ts +20 -7
- package/dist/_dts/api/src/types.d.ts +77 -77
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/billing/src/plans/types.d.ts +3 -0
- package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
- package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
- package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
- 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 +7 -3
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +30 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
- package/dist/_dts/core/src/branded.d.ts +0 -8
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
- package/dist/_dts/core/src/participants.d.ts +2 -29
- package/dist/_dts/core/src/public-experience.d.ts +4 -0
- package/dist/_dts/core/src/public-profile.d.ts +27 -1
- package/dist/_dts/core/src/site-route-target.d.ts +9 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +293 -606
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
- package/dist/_dts/theme-core/src/schema.d.ts +84 -84
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
- package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
- package/dist/_dts/ui/src/pending-button.d.ts +10 -0
- package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
- package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
- package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-LTfR1Aby.mjs} +6 -6
- package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
- package/dist/client/{accordion-FxF_ta47.mjs → accordion-6HiIFxNL.mjs} +1 -1
- package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-Dlmid43H.mjs} +7 -7
- package/dist/client/bookings.mjs +325 -140
- package/dist/client/{carousel-vng7fFT5.mjs → carousel-DmkZRRq_.mjs} +2 -2
- package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
- package/dist/client/{cart-DEPDsjNk.mjs → cart-CIC24330.mjs} +3 -3
- package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D1Zw9imo.mjs} +3 -3
- package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
- package/dist/client/client.mjs +1717 -882
- package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
- package/dist/client/{context-DvU_WUmd.mjs → context-Cy1OayHx.mjs} +6 -19
- package/dist/client/{dates-wnPMiRl5.mjs → dates-aDcfoLHr.mjs} +2 -2
- package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-FQxMPAjf.mjs} +8 -8
- package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
- package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
- package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-B3XxBf3i.mjs} +3 -3
- package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-I6EaokFD.mjs} +500 -152
- package/dist/client/{form-CBKXN5In.mjs → form-BbWckVWY.mjs} +3 -3
- package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
- package/dist/client/hooks.mjs +445 -180
- package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-CLCShvlG.mjs} +3 -3
- package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
- package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-Briukxzi.mjs} +130 -87
- package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-Copadu-2.mjs} +1 -1
- package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-oujlRd-r.mjs} +3 -3
- package/dist/client/{productList-FM0cbUzj.mjs → productList-BRiIRUcd.mjs} +3 -3
- package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-CB2KS_ko.mjs} +130 -24
- package/dist/client/rendering/client.mjs +911 -400
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1696 -818
- package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
- package/dist/client/{shop-BIcjvy5a.mjs → shop-Vn6yNFED.mjs} +6 -6
- package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
- package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
- package/dist/client/{shopShared-DowkXevB.mjs → shopShared-COIeK77T.mjs} +4 -4
- package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-DzIUcS9n.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +119 -64
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +119 -64
- package/dist/preview-next/middleware.mjs +119 -64
- package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
- package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
- package/dist/{separator-UGtpag4Z.mjs → separator-DKDRJ1oH.mjs} +1 -1
- package/dist/server/components.mjs +787 -323
- package/dist/server/config-validation.mjs +328 -79
- package/dist/server/config.mjs +332 -83
- package/dist/server/data.mjs +441 -180
- package/dist/server/index.mjs +126 -66
- package/dist/server/next.mjs +1031 -595
- package/dist/server/page-converter.mjs +183 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1068 -592
- package/dist/server/rendering.mjs +802 -324
- package/dist/server/routing.mjs +506 -214
- package/dist/server/server.mjs +468 -244
- package/dist/server/theme-bridge.mjs +433 -100
- package/dist/server/theme.mjs +8 -2
- package/dist/styles/index.css +237 -43
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
|
@@ -1634,6 +1634,55 @@ function interpolateHex(startHex, endHex, position) {
|
|
|
1634
1634
|
const channel = (from, to) => Math.round(from + (to - from) * position).toString(16).padStart(2, "0");
|
|
1635
1635
|
return `#${channel(start.r, end.r)}${channel(start.g, end.g)}${channel(start.b, end.b)}`;
|
|
1636
1636
|
}
|
|
1637
|
+
//#endregion
|
|
1638
|
+
//#region ../theme-core/src/utils/colorStyles.ts
|
|
1639
|
+
const COLOR_VAR_PREFIX = "--tb-";
|
|
1640
|
+
function parseToken(source) {
|
|
1641
|
+
const parts = parseColorTokenParts(source);
|
|
1642
|
+
if (parts.kind === "raw") return {
|
|
1643
|
+
token: source,
|
|
1644
|
+
raw: parts.value
|
|
1645
|
+
};
|
|
1646
|
+
if (parts.kind === "invalid") return { token: source };
|
|
1647
|
+
return {
|
|
1648
|
+
token: parts.token,
|
|
1649
|
+
opacityPercent: parts.opacityPercent === null ? void 0 : parts.opacityPercent
|
|
1650
|
+
};
|
|
1651
|
+
}
|
|
1652
|
+
/**
|
|
1653
|
+
* Converts a theme color token to a CSS rgb value.
|
|
1654
|
+
* This is the primary function for applying theme colors to CSS properties.
|
|
1655
|
+
*
|
|
1656
|
+
* @param token - Theme color token (semantic, with opacity, or raw)
|
|
1657
|
+
* @returns CSS color value (rgb with optional alpha, or raw CSS value)
|
|
1658
|
+
*
|
|
1659
|
+
* @example
|
|
1660
|
+
* rgbColorValue('primary') // => 'rgb(var(--tb-primary))'
|
|
1661
|
+
* rgbColorValue('surface/95') // => 'rgb(var(--tb-surface) / 0.95)'
|
|
1662
|
+
* rgbColorValue('raw:transparent') // => 'transparent'
|
|
1663
|
+
*/
|
|
1664
|
+
function rgbColorValue(token) {
|
|
1665
|
+
const { token: baseToken, opacityPercent, raw } = parseToken(token);
|
|
1666
|
+
if (raw) return raw;
|
|
1667
|
+
const cssVar = `${COLOR_VAR_PREFIX}${baseToken}`;
|
|
1668
|
+
if (opacityPercent === void 0) return `rgb(var(${cssVar}))`;
|
|
1669
|
+
return `rgb(var(${cssVar}) / ${opacityPercent / 100})`;
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* Converts a theme color token to a CSS variable reference.
|
|
1673
|
+
* Note: This returns the base variable without rgb() wrapper, ignoring opacity.
|
|
1674
|
+
*
|
|
1675
|
+
* @param token - Theme color token
|
|
1676
|
+
* @returns CSS variable reference
|
|
1677
|
+
*
|
|
1678
|
+
* @example
|
|
1679
|
+
* cssVarValue('primary') // => 'var(--tb-primary)'
|
|
1680
|
+
* cssVarValue('surface/95') // => 'var(--tb-surface)' (opacity ignored)
|
|
1681
|
+
*/
|
|
1682
|
+
function cssVarValue(token) {
|
|
1683
|
+
const { token: baseToken } = parseToken(token);
|
|
1684
|
+
return `var(${COLOR_VAR_PREFIX}${baseToken})`;
|
|
1685
|
+
}
|
|
1637
1686
|
shadeBackgroundEffect({
|
|
1638
1687
|
id: "darken-background",
|
|
1639
1688
|
name: "Darken on Hover",
|
|
@@ -1688,55 +1737,6 @@ function shadeBackgroundEffect(config) {
|
|
|
1688
1737
|
};
|
|
1689
1738
|
}
|
|
1690
1739
|
//#endregion
|
|
1691
|
-
//#region ../theme-core/src/utils/colorStyles.ts
|
|
1692
|
-
const COLOR_VAR_PREFIX = "--tb-";
|
|
1693
|
-
function parseToken(source) {
|
|
1694
|
-
const parts = parseColorTokenParts(source);
|
|
1695
|
-
if (parts.kind === "raw") return {
|
|
1696
|
-
token: source,
|
|
1697
|
-
raw: parts.value
|
|
1698
|
-
};
|
|
1699
|
-
if (parts.kind === "invalid") return { token: source };
|
|
1700
|
-
return {
|
|
1701
|
-
token: parts.token,
|
|
1702
|
-
opacityPercent: parts.opacityPercent === null ? void 0 : parts.opacityPercent
|
|
1703
|
-
};
|
|
1704
|
-
}
|
|
1705
|
-
/**
|
|
1706
|
-
* Converts a theme color token to a CSS rgb value.
|
|
1707
|
-
* This is the primary function for applying theme colors to CSS properties.
|
|
1708
|
-
*
|
|
1709
|
-
* @param token - Theme color token (semantic, with opacity, or raw)
|
|
1710
|
-
* @returns CSS color value (rgb with optional alpha, or raw CSS value)
|
|
1711
|
-
*
|
|
1712
|
-
* @example
|
|
1713
|
-
* rgbColorValue('primary') // => 'rgb(var(--tb-primary))'
|
|
1714
|
-
* rgbColorValue('surface/95') // => 'rgb(var(--tb-surface) / 0.95)'
|
|
1715
|
-
* rgbColorValue('raw:transparent') // => 'transparent'
|
|
1716
|
-
*/
|
|
1717
|
-
function rgbColorValue(token) {
|
|
1718
|
-
const { token: baseToken, opacityPercent, raw } = parseToken(token);
|
|
1719
|
-
if (raw) return raw;
|
|
1720
|
-
const cssVar = `${COLOR_VAR_PREFIX}${baseToken}`;
|
|
1721
|
-
if (opacityPercent === void 0) return `rgb(var(${cssVar}))`;
|
|
1722
|
-
return `rgb(var(${cssVar}) / ${opacityPercent / 100})`;
|
|
1723
|
-
}
|
|
1724
|
-
/**
|
|
1725
|
-
* Converts a theme color token to a CSS variable reference.
|
|
1726
|
-
* Note: This returns the base variable without rgb() wrapper, ignoring opacity.
|
|
1727
|
-
*
|
|
1728
|
-
* @param token - Theme color token
|
|
1729
|
-
* @returns CSS variable reference
|
|
1730
|
-
*
|
|
1731
|
-
* @example
|
|
1732
|
-
* cssVarValue('primary') // => 'var(--tb-primary)'
|
|
1733
|
-
* cssVarValue('surface/95') // => 'var(--tb-surface)' (opacity ignored)
|
|
1734
|
-
*/
|
|
1735
|
-
function cssVarValue(token) {
|
|
1736
|
-
const { token: baseToken } = parseToken(token);
|
|
1737
|
-
return `var(${COLOR_VAR_PREFIX}${baseToken})`;
|
|
1738
|
-
}
|
|
1739
|
-
//#endregion
|
|
1740
1740
|
//#region ../theme-core/src/utils/tokenOrColor.ts
|
|
1741
1741
|
/**
|
|
1742
1742
|
* Runtime color-reference fields intentionally accept any string, including
|
|
@@ -5076,8 +5076,14 @@ const headerInteractionPillPaletteValues = [
|
|
|
5076
5076
|
"accent"
|
|
5077
5077
|
];
|
|
5078
5078
|
/**
|
|
5079
|
-
* "No pill":
|
|
5080
|
-
*
|
|
5079
|
+
* "No pill": a colour change on hover rather than a filled background.
|
|
5080
|
+
*
|
|
5081
|
+
* The palette step writes nothing (#1318 Phase 4c decision 2), but on a
|
|
5082
|
+
* foreground-adaptive style that is not the end of the story: the hover colour
|
|
5083
|
+
* is derived from the resolved opening foreground at render time, paired with
|
|
5084
|
+
* the resting colour, so `quiet` resolves to a definite colour rather than to
|
|
5085
|
+
* whatever brand token the recipe happened to name. See
|
|
5086
|
+
* `applyOpeningForeground`.
|
|
5081
5087
|
*
|
|
5082
5088
|
* It exists because "a colour change on hover, no filled background" was not
|
|
5083
5089
|
* expressible in the vocabulary, and it is what
|
|
@@ -10921,6 +10927,132 @@ ${root} .step-connector {
|
|
|
10921
10927
|
return cssBlocks.join("\n\n");
|
|
10922
10928
|
}
|
|
10923
10929
|
//#endregion
|
|
10930
|
+
//#region ../theme-core/src/typography/generateTypographyCss.ts
|
|
10931
|
+
function globalHeadingColorFallback(level) {
|
|
10932
|
+
return `var(--hc-h${level}, var(--hc-heading, ${DEFAULT_SURFACE_TEXT_COLOR}))`;
|
|
10933
|
+
}
|
|
10934
|
+
/**
|
|
10935
|
+
* Generate typography CSS for heading elements.
|
|
10936
|
+
*
|
|
10937
|
+
* Creates scoped CSS that:
|
|
10938
|
+
* - Applies font-size, font-weight, letter-spacing, line-height to h1-h6
|
|
10939
|
+
* - Uses clamp() for fluid responsive sizing
|
|
10940
|
+
* - Provides variant classes (.heading-display, .heading-compact)
|
|
10941
|
+
*
|
|
10942
|
+
* Selectors use :where() for zero specificity, allowing site styles to override easily.
|
|
10943
|
+
*/
|
|
10944
|
+
function generateTypographyCss({ themeId }) {
|
|
10945
|
+
const root = `:where([data-theme-scope="${themeId}"])`;
|
|
10946
|
+
const cssBlocks = [];
|
|
10947
|
+
cssBlocks.push(`/* Base heading styles */
|
|
10948
|
+
${root} :where(h1, h2, h3, h4, h5, h6) {
|
|
10949
|
+
font-family: var(--font-heading);
|
|
10950
|
+
font-style: var(--fi-heading, normal);
|
|
10951
|
+
text-transform: var(--tt-heading, none);
|
|
10952
|
+
font-variant: var(--fv-heading, normal);
|
|
10953
|
+
margin: 0;
|
|
10954
|
+
}`);
|
|
10955
|
+
cssBlocks.push(`/* Heading level styles with fluid typography */
|
|
10956
|
+
${root} :where(h1) {
|
|
10957
|
+
font-size: var(--fs-h1-fluid, var(--fs-h1));
|
|
10958
|
+
font-weight: var(--fw-h1, var(--font-weight-heading));
|
|
10959
|
+
font-style: var(--fi-h1, var(--fi-heading, normal));
|
|
10960
|
+
letter-spacing: var(--ls-h1, var(--ls-heading));
|
|
10961
|
+
line-height: var(--lh-h1, var(--lh-heading));
|
|
10962
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(1))};
|
|
10963
|
+
}
|
|
10964
|
+
|
|
10965
|
+
${root} :where(h2) {
|
|
10966
|
+
font-size: var(--fs-h2-fluid, var(--fs-h2));
|
|
10967
|
+
font-weight: var(--fw-h2, var(--font-weight-heading));
|
|
10968
|
+
font-style: var(--fi-h2, var(--fi-heading, normal));
|
|
10969
|
+
letter-spacing: var(--ls-h2, var(--ls-heading));
|
|
10970
|
+
line-height: var(--lh-h2, var(--lh-heading));
|
|
10971
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(2))};
|
|
10972
|
+
}
|
|
10973
|
+
|
|
10974
|
+
${root} :where(h3) {
|
|
10975
|
+
font-size: var(--fs-h3-fluid, var(--fs-h3));
|
|
10976
|
+
font-weight: var(--fw-h3, var(--font-weight-heading));
|
|
10977
|
+
font-style: var(--fi-h3, var(--fi-heading, normal));
|
|
10978
|
+
letter-spacing: var(--ls-h3, var(--ls-heading));
|
|
10979
|
+
line-height: var(--lh-h3, var(--lh-heading));
|
|
10980
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(3))};
|
|
10981
|
+
}
|
|
10982
|
+
|
|
10983
|
+
${root} :where(h4) {
|
|
10984
|
+
font-size: var(--fs-h4-fluid, var(--fs-h4, var(--fs-h3)));
|
|
10985
|
+
font-weight: var(--fw-h4, var(--font-weight-heading));
|
|
10986
|
+
font-style: var(--fi-h4, var(--fi-heading, normal));
|
|
10987
|
+
letter-spacing: var(--ls-h4, var(--ls-heading));
|
|
10988
|
+
line-height: var(--lh-h4, var(--lh-heading));
|
|
10989
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(4))};
|
|
10990
|
+
}
|
|
10991
|
+
|
|
10992
|
+
${root} :where(h5) {
|
|
10993
|
+
font-size: var(--fs-h5-fluid, var(--fs-h5, var(--fs-body)));
|
|
10994
|
+
font-weight: var(--fw-h5, var(--font-weight-heading));
|
|
10995
|
+
font-style: var(--fi-h5, var(--fi-heading, normal));
|
|
10996
|
+
letter-spacing: var(--ls-h5, var(--ls-heading));
|
|
10997
|
+
line-height: var(--lh-h5, var(--lh-heading));
|
|
10998
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(5))};
|
|
10999
|
+
}
|
|
11000
|
+
|
|
11001
|
+
${root} :where(h6) {
|
|
11002
|
+
font-size: var(--fs-h6-fluid, var(--fs-h6, var(--fs-body)));
|
|
11003
|
+
font-weight: var(--fw-h6, var(--font-weight-heading));
|
|
11004
|
+
font-style: var(--fi-h6, var(--fi-heading, normal));
|
|
11005
|
+
letter-spacing: var(--ls-h6, var(--ls-heading));
|
|
11006
|
+
line-height: var(--lh-h6, var(--lh-heading));
|
|
11007
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(6))};
|
|
11008
|
+
}`);
|
|
11009
|
+
cssBlocks.push(`/* Display variant for hero/splash headings */
|
|
11010
|
+
${root} :where(.heading-display) {
|
|
11011
|
+
font-size: var(--fs-display-fluid, var(--fs-display));
|
|
11012
|
+
}
|
|
11013
|
+
|
|
11014
|
+
${root} :where(h1.heading-display) {
|
|
11015
|
+
font-size: var(--fs-h1-display-fluid, var(--fs-h1-display, calc(var(--fs-h1) * 1.5)));
|
|
11016
|
+
}
|
|
11017
|
+
|
|
11018
|
+
${root} :where(h2.heading-display) {
|
|
11019
|
+
font-size: var(--fs-h2-display-fluid, var(--fs-h2-display, calc(var(--fs-h2) * 1.35)));
|
|
11020
|
+
}`);
|
|
11021
|
+
cssBlocks.push(`/* Compact variant for cards/sidebars */
|
|
11022
|
+
${root} :where(.heading-compact) {
|
|
11023
|
+
font-size: var(--fs-compact);
|
|
11024
|
+
}
|
|
11025
|
+
|
|
11026
|
+
${root} :where(h1.heading-compact) {
|
|
11027
|
+
font-size: calc(var(--fs-h1) * 0.75);
|
|
11028
|
+
}
|
|
11029
|
+
|
|
11030
|
+
${root} :where(h2.heading-compact) {
|
|
11031
|
+
font-size: calc(var(--fs-h2) * 0.8);
|
|
11032
|
+
}
|
|
11033
|
+
|
|
11034
|
+
${root} :where(h3.heading-compact) {
|
|
11035
|
+
font-size: calc(var(--fs-h3) * 0.85);
|
|
11036
|
+
}`);
|
|
11037
|
+
cssBlocks.push(`/* Body text base styles */
|
|
11038
|
+
${root} {
|
|
11039
|
+
font-family: var(--font-body);
|
|
11040
|
+
font-weight: var(--font-weight-body);
|
|
11041
|
+
font-size: var(--fs-body);
|
|
11042
|
+
letter-spacing: var(--ls-body);
|
|
11043
|
+
line-height: var(--lh-body);
|
|
11044
|
+
}
|
|
11045
|
+
|
|
11046
|
+
${root} :where(p, li, td, th, label, span) {
|
|
11047
|
+
font-family: var(--font-body);
|
|
11048
|
+
font-weight: var(--font-weight-body);
|
|
11049
|
+
letter-spacing: var(--ls-body);
|
|
11050
|
+
font-size: inherit;
|
|
11051
|
+
line-height: inherit;
|
|
11052
|
+
}`);
|
|
11053
|
+
return `@layer rb-theme {\n${cssBlocks.join("\n\n")}\n}`;
|
|
11054
|
+
}
|
|
11055
|
+
//#endregion
|
|
10924
11056
|
//#region ../theme-core/src/blocks/vars/event-registration.ts
|
|
10925
11057
|
/**
|
|
10926
11058
|
* Generate CSS variables for the event-registration block.
|
|
@@ -21382,7 +21514,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21382
21514
|
text-align: left;
|
|
21383
21515
|
}
|
|
21384
21516
|
|
|
21385
|
-
:where(.theme-scope)
|
|
21517
|
+
:where(.theme-scope)
|
|
21518
|
+
:where([data-block="customer-portal"])
|
|
21519
|
+
.cp-login__subtitle {
|
|
21386
21520
|
color: var(--cp-muted);
|
|
21387
21521
|
font-size: 0.9375rem;
|
|
21388
21522
|
text-align: left;
|
|
@@ -21409,7 +21543,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21409
21543
|
text-align: left;
|
|
21410
21544
|
}
|
|
21411
21545
|
|
|
21412
|
-
:where(.theme-scope)
|
|
21546
|
+
:where(.theme-scope)
|
|
21547
|
+
:where([data-block="customer-portal"])
|
|
21548
|
+
.cp-login__reset-link {
|
|
21413
21549
|
appearance: none;
|
|
21414
21550
|
background: none;
|
|
21415
21551
|
border: 0;
|
|
@@ -21423,11 +21559,15 @@ const containerResponsiveThemeCss = `/*
|
|
|
21423
21559
|
text-underline-offset: 0.15em;
|
|
21424
21560
|
}
|
|
21425
21561
|
|
|
21426
|
-
:where(.theme-scope)
|
|
21562
|
+
:where(.theme-scope)
|
|
21563
|
+
:where([data-block="customer-portal"])
|
|
21564
|
+
.cp-login__reset-link:hover {
|
|
21427
21565
|
color: var(--cp-text);
|
|
21428
21566
|
}
|
|
21429
21567
|
|
|
21430
|
-
:where(.theme-scope)
|
|
21568
|
+
:where(.theme-scope)
|
|
21569
|
+
:where([data-block="customer-portal"])
|
|
21570
|
+
.cp-login__reset-link:focus-visible {
|
|
21431
21571
|
outline: 2px solid currentColor;
|
|
21432
21572
|
outline-offset: 3px;
|
|
21433
21573
|
}
|
|
@@ -21472,7 +21612,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21472
21612
|
border-bottom: none;
|
|
21473
21613
|
}
|
|
21474
21614
|
|
|
21475
|
-
:where(.theme-scope)
|
|
21615
|
+
:where(.theme-scope)
|
|
21616
|
+
:where([data-block="customer-portal"])
|
|
21617
|
+
.cp-header__welcome {
|
|
21476
21618
|
font-size: 1.125rem;
|
|
21477
21619
|
font-weight: 500;
|
|
21478
21620
|
}
|
|
@@ -21488,8 +21630,14 @@ const containerResponsiveThemeCss = `/*
|
|
|
21488
21630
|
}
|
|
21489
21631
|
|
|
21490
21632
|
@keyframes cp-fade-in {
|
|
21491
|
-
from {
|
|
21492
|
-
|
|
21633
|
+
from {
|
|
21634
|
+
opacity: 0;
|
|
21635
|
+
transform: translateY(4px);
|
|
21636
|
+
}
|
|
21637
|
+
to {
|
|
21638
|
+
opacity: 1;
|
|
21639
|
+
transform: translateY(0);
|
|
21640
|
+
}
|
|
21493
21641
|
}
|
|
21494
21642
|
|
|
21495
21643
|
/* Empty state */
|
|
@@ -21578,6 +21726,77 @@ const containerResponsiveThemeCss = `/*
|
|
|
21578
21726
|
margin-top: 1rem;
|
|
21579
21727
|
}
|
|
21580
21728
|
|
|
21729
|
+
/* Event waitlists */
|
|
21730
|
+
:where(.theme-scope) :where([data-block="customer-portal"]) .cp-waitlist-list {
|
|
21731
|
+
display: grid;
|
|
21732
|
+
gap: 1rem;
|
|
21733
|
+
}
|
|
21734
|
+
|
|
21735
|
+
:where(.theme-scope)
|
|
21736
|
+
:where([data-block="customer-portal"])
|
|
21737
|
+
.cp-waitlists
|
|
21738
|
+
> .cp-alert {
|
|
21739
|
+
margin-bottom: 1rem;
|
|
21740
|
+
}
|
|
21741
|
+
|
|
21742
|
+
:where(.theme-scope) :where([data-block="customer-portal"]) .cp-waitlist-card {
|
|
21743
|
+
transition:
|
|
21744
|
+
border-color 180ms ease,
|
|
21745
|
+
box-shadow 180ms ease;
|
|
21746
|
+
}
|
|
21747
|
+
|
|
21748
|
+
:where(.theme-scope)
|
|
21749
|
+
:where([data-block="customer-portal"])
|
|
21750
|
+
.cp-waitlist-card--focused {
|
|
21751
|
+
border-color: var(--cp-primary);
|
|
21752
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-primary) 22%, transparent);
|
|
21753
|
+
}
|
|
21754
|
+
|
|
21755
|
+
:where(.theme-scope)
|
|
21756
|
+
:where([data-block="customer-portal"])
|
|
21757
|
+
.cp-waitlist-card__summary,
|
|
21758
|
+
:where(.theme-scope)
|
|
21759
|
+
:where([data-block="customer-portal"])
|
|
21760
|
+
.cp-waitlist-card__position {
|
|
21761
|
+
font-weight: 600;
|
|
21762
|
+
}
|
|
21763
|
+
|
|
21764
|
+
:where(.theme-scope)
|
|
21765
|
+
:where([data-block="customer-portal"])
|
|
21766
|
+
.cp-waitlist-card
|
|
21767
|
+
.cp-card-body
|
|
21768
|
+
p {
|
|
21769
|
+
margin: 0.4rem 0;
|
|
21770
|
+
}
|
|
21771
|
+
|
|
21772
|
+
@container rb-site (max-width: 640px) {
|
|
21773
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
21774
|
+
:where(.theme-scope)
|
|
21775
|
+
:where([data-block="customer-portal"])
|
|
21776
|
+
.cp-waitlist-card
|
|
21777
|
+
.cp-card-header {
|
|
21778
|
+
flex-direction: column-reverse;
|
|
21779
|
+
}
|
|
21780
|
+
|
|
21781
|
+
:where(.theme-scope)
|
|
21782
|
+
:where([data-block="customer-portal"])
|
|
21783
|
+
.cp-waitlist-card
|
|
21784
|
+
.cp-card-actions {
|
|
21785
|
+
align-items: stretch;
|
|
21786
|
+
flex-direction: column;
|
|
21787
|
+
}
|
|
21788
|
+
|
|
21789
|
+
:where(.theme-scope)
|
|
21790
|
+
:where([data-block="customer-portal"])
|
|
21791
|
+
.cp-waitlist-card
|
|
21792
|
+
.cp-card-actions
|
|
21793
|
+
> * {
|
|
21794
|
+
justify-content: center;
|
|
21795
|
+
text-align: center;
|
|
21796
|
+
}
|
|
21797
|
+
}
|
|
21798
|
+
}
|
|
21799
|
+
|
|
21581
21800
|
/* Badge */
|
|
21582
21801
|
:where(.theme-scope) :where([data-block="customer-portal"]) .cp-badge {
|
|
21583
21802
|
display: inline-flex;
|
|
@@ -21714,11 +21933,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
21714
21933
|
background: rgba(var(--tb-border), 0.2);
|
|
21715
21934
|
}
|
|
21716
21935
|
|
|
21717
|
-
:where(.theme-scope)
|
|
21936
|
+
:where(.theme-scope)
|
|
21937
|
+
:where([data-block="customer-portal"])
|
|
21938
|
+
.cp-table
|
|
21939
|
+
tbody
|
|
21940
|
+
tr:last-child
|
|
21941
|
+
td {
|
|
21718
21942
|
border-bottom: none;
|
|
21719
21943
|
}
|
|
21720
21944
|
|
|
21721
|
-
:where(.theme-scope)
|
|
21945
|
+
:where(.theme-scope)
|
|
21946
|
+
:where([data-block="customer-portal"])
|
|
21947
|
+
:is(.cp-row--past, .cp-row--muted) {
|
|
21722
21948
|
opacity: 0.65;
|
|
21723
21949
|
}
|
|
21724
21950
|
|
|
@@ -21731,7 +21957,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21731
21957
|
line-height: 1.2;
|
|
21732
21958
|
}
|
|
21733
21959
|
|
|
21734
|
-
:where(.theme-scope)
|
|
21960
|
+
:where(.theme-scope)
|
|
21961
|
+
:where([data-block="customer-portal"])
|
|
21962
|
+
.cp-row-title__badges {
|
|
21735
21963
|
margin-left: auto;
|
|
21736
21964
|
display: flex;
|
|
21737
21965
|
flex-wrap: wrap;
|
|
@@ -21739,7 +21967,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21739
21967
|
gap: 0.375rem;
|
|
21740
21968
|
}
|
|
21741
21969
|
|
|
21742
|
-
:where(.theme-scope)
|
|
21970
|
+
:where(.theme-scope)
|
|
21971
|
+
:where([data-block="customer-portal"])
|
|
21972
|
+
.cp-row-title__text {
|
|
21743
21973
|
min-width: 0;
|
|
21744
21974
|
}
|
|
21745
21975
|
|
|
@@ -21759,12 +21989,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
21759
21989
|
line-height: 1.35;
|
|
21760
21990
|
}
|
|
21761
21991
|
|
|
21762
|
-
:where(.theme-scope)
|
|
21992
|
+
:where(.theme-scope)
|
|
21993
|
+
:where([data-block="customer-portal"])
|
|
21994
|
+
.cp-row-note--success {
|
|
21763
21995
|
border-left-color: rgb(var(--tb-success));
|
|
21764
21996
|
color: rgb(var(--tb-success));
|
|
21765
21997
|
}
|
|
21766
21998
|
|
|
21767
|
-
:where(.theme-scope)
|
|
21999
|
+
:where(.theme-scope)
|
|
22000
|
+
:where([data-block="customer-portal"])
|
|
22001
|
+
.cp-row-note--error {
|
|
21768
22002
|
border-left-color: rgb(var(--tb-destructive));
|
|
21769
22003
|
color: rgb(var(--tb-destructive));
|
|
21770
22004
|
}
|
|
@@ -21783,16 +22017,23 @@ const containerResponsiveThemeCss = `/*
|
|
|
21783
22017
|
white-space: nowrap;
|
|
21784
22018
|
}
|
|
21785
22019
|
|
|
21786
|
-
:where(.theme-scope)
|
|
22020
|
+
:where(.theme-scope)
|
|
22021
|
+
:where([data-block="customer-portal"])
|
|
22022
|
+
.cp-col-actions
|
|
22023
|
+
.btn-sm {
|
|
21787
22024
|
white-space: nowrap;
|
|
21788
22025
|
}
|
|
21789
22026
|
|
|
21790
|
-
:where(.theme-scope)
|
|
22027
|
+
:where(.theme-scope)
|
|
22028
|
+
:where([data-block="customer-portal"])
|
|
22029
|
+
.cp-row-title__link {
|
|
21791
22030
|
color: inherit;
|
|
21792
22031
|
text-decoration: none;
|
|
21793
22032
|
}
|
|
21794
22033
|
|
|
21795
|
-
:where(.theme-scope)
|
|
22034
|
+
:where(.theme-scope)
|
|
22035
|
+
:where([data-block="customer-portal"])
|
|
22036
|
+
.cp-row-title__link:hover {
|
|
21796
22037
|
text-decoration: underline;
|
|
21797
22038
|
text-decoration-thickness: 2px;
|
|
21798
22039
|
text-underline-offset: 2px;
|
|
@@ -21814,7 +22055,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21814
22055
|
}
|
|
21815
22056
|
|
|
21816
22057
|
/* Profile actions */
|
|
21817
|
-
:where(.theme-scope)
|
|
22058
|
+
:where(.theme-scope)
|
|
22059
|
+
:where([data-block="customer-portal"])
|
|
22060
|
+
.cp-profile__actions {
|
|
21818
22061
|
display: flex;
|
|
21819
22062
|
gap: 0.75rem;
|
|
21820
22063
|
margin-top: 1rem;
|
|
@@ -21881,28 +22124,39 @@ const containerResponsiveThemeCss = `/*
|
|
|
21881
22124
|
gap: 0.375rem;
|
|
21882
22125
|
}
|
|
21883
22126
|
|
|
21884
|
-
:where(.theme-scope)
|
|
22127
|
+
:where(.theme-scope)
|
|
22128
|
+
:where([data-block="customer-portal"])
|
|
22129
|
+
.cp-guest-edit-row__index {
|
|
21885
22130
|
font-size: 0.75rem;
|
|
21886
22131
|
font-weight: 500;
|
|
21887
22132
|
color: var(--cp-muted);
|
|
21888
22133
|
}
|
|
21889
22134
|
|
|
21890
|
-
:where(.theme-scope)
|
|
22135
|
+
:where(.theme-scope)
|
|
22136
|
+
:where([data-block="customer-portal"])
|
|
22137
|
+
.cp-guest-edit-row__fields {
|
|
21891
22138
|
display: flex;
|
|
21892
22139
|
gap: 0.5rem;
|
|
21893
22140
|
}
|
|
21894
22141
|
|
|
21895
|
-
:where(.theme-scope)
|
|
22142
|
+
:where(.theme-scope)
|
|
22143
|
+
:where([data-block="customer-portal"])
|
|
22144
|
+
.cp-guest-edit-row__fields
|
|
22145
|
+
input {
|
|
21896
22146
|
flex: 1;
|
|
21897
22147
|
min-width: 0;
|
|
21898
22148
|
}
|
|
21899
22149
|
|
|
21900
|
-
:where(.theme-scope)
|
|
22150
|
+
:where(.theme-scope)
|
|
22151
|
+
:where([data-block="customer-portal"])
|
|
22152
|
+
.cp-guest-edit-row__error {
|
|
21901
22153
|
font-size: 0.75rem;
|
|
21902
22154
|
color: var(--cp-error);
|
|
21903
22155
|
}
|
|
21904
22156
|
|
|
21905
|
-
:where(.theme-scope)
|
|
22157
|
+
:where(.theme-scope)
|
|
22158
|
+
:where([data-block="customer-portal"])
|
|
22159
|
+
.cp-guests__actions {
|
|
21906
22160
|
display: flex;
|
|
21907
22161
|
gap: 0.5rem;
|
|
21908
22162
|
margin-top: 0.5rem;
|
|
@@ -21916,13 +22170,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
21916
22170
|
}
|
|
21917
22171
|
|
|
21918
22172
|
/* In the actions modal, tiles sit on a surface modal, so use "background" for contrast. */
|
|
21919
|
-
:where(.theme-scope)
|
|
22173
|
+
:where(.theme-scope)
|
|
22174
|
+
:where([data-block="customer-portal"])
|
|
22175
|
+
.cp-actions-list
|
|
22176
|
+
:where(.rb-tile) {
|
|
21920
22177
|
--rb-event-tile-bg: rgb(var(--tb-background));
|
|
21921
22178
|
--rb-event-tile-border: rgb(var(--tb-border));
|
|
21922
22179
|
}
|
|
21923
22180
|
|
|
21924
22181
|
/* Actions trigger: icon-only kebab button */
|
|
21925
|
-
:where(.theme-scope)
|
|
22182
|
+
:where(.theme-scope)
|
|
22183
|
+
:where([data-block="customer-portal"])
|
|
22184
|
+
.cp-actions-trigger.btn-sm {
|
|
21926
22185
|
padding: 0.35rem !important;
|
|
21927
22186
|
line-height: 1 !important;
|
|
21928
22187
|
min-width: 32px;
|
|
@@ -21946,17 +22205,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
21946
22205
|
gap: 0.25rem;
|
|
21947
22206
|
}
|
|
21948
22207
|
|
|
21949
|
-
:where(.theme-scope)
|
|
22208
|
+
:where(.theme-scope)
|
|
22209
|
+
:where([data-block="customer-portal"])
|
|
22210
|
+
.cp-action-tile__title {
|
|
21950
22211
|
font-weight: 600;
|
|
21951
22212
|
font-size: 0.9375rem;
|
|
21952
22213
|
}
|
|
21953
22214
|
|
|
21954
|
-
:where(.theme-scope)
|
|
22215
|
+
:where(.theme-scope)
|
|
22216
|
+
:where([data-block="customer-portal"])
|
|
22217
|
+
.cp-action-tile__desc {
|
|
21955
22218
|
font-size: 0.875rem;
|
|
21956
22219
|
line-height: 1.35;
|
|
21957
22220
|
}
|
|
21958
22221
|
|
|
21959
|
-
:where(.theme-scope)
|
|
22222
|
+
:where(.theme-scope)
|
|
22223
|
+
:where([data-block="customer-portal"])
|
|
22224
|
+
.cp-action-tile--danger
|
|
22225
|
+
.cp-action-tile__title {
|
|
21960
22226
|
color: rgb(var(--tb-destructive));
|
|
21961
22227
|
}
|
|
21962
22228
|
|
|
@@ -21978,7 +22244,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
21978
22244
|
text-decoration: underline;
|
|
21979
22245
|
}
|
|
21980
22246
|
|
|
21981
|
-
:where(.theme-scope)
|
|
22247
|
+
:where(.theme-scope)
|
|
22248
|
+
:where([data-block="customer-portal"])
|
|
22249
|
+
.cp-btn--link:hover {
|
|
21982
22250
|
color: var(--cp-primary-hover);
|
|
21983
22251
|
}
|
|
21984
22252
|
|
|
@@ -22017,34 +22285,48 @@ const containerResponsiveThemeCss = `/*
|
|
|
22017
22285
|
margin-top: 0.75rem;
|
|
22018
22286
|
}
|
|
22019
22287
|
|
|
22020
|
-
:where(.theme-scope)
|
|
22288
|
+
:where(.theme-scope)
|
|
22289
|
+
:where([data-block="customer-portal"])
|
|
22290
|
+
.cp-cancel-confirm__title {
|
|
22021
22291
|
font-weight: 600;
|
|
22022
22292
|
margin-bottom: 0.5rem;
|
|
22023
22293
|
}
|
|
22024
22294
|
|
|
22025
|
-
:where(.theme-scope)
|
|
22295
|
+
:where(.theme-scope)
|
|
22296
|
+
:where([data-block="customer-portal"])
|
|
22297
|
+
.cp-cancel-confirm__message {
|
|
22026
22298
|
margin-bottom: 0.25rem;
|
|
22027
22299
|
}
|
|
22028
22300
|
|
|
22029
|
-
:where(.theme-scope)
|
|
22301
|
+
:where(.theme-scope)
|
|
22302
|
+
:where([data-block="customer-portal"])
|
|
22303
|
+
.cp-cancel-confirm__warning {
|
|
22030
22304
|
margin-bottom: 0.75rem;
|
|
22031
22305
|
}
|
|
22032
22306
|
|
|
22033
|
-
:where(.theme-scope)
|
|
22307
|
+
:where(.theme-scope)
|
|
22308
|
+
:where([data-block="customer-portal"])
|
|
22309
|
+
.cp-cancel-confirm__actions {
|
|
22034
22310
|
display: flex;
|
|
22035
22311
|
gap: 0.75rem;
|
|
22036
22312
|
}
|
|
22037
22313
|
|
|
22038
22314
|
/* Membership actions */
|
|
22039
|
-
:where(.theme-scope)
|
|
22315
|
+
:where(.theme-scope)
|
|
22316
|
+
:where([data-block="customer-portal"])
|
|
22317
|
+
.cp-membership-actions {
|
|
22040
22318
|
margin-top: 0.75rem;
|
|
22041
22319
|
}
|
|
22042
22320
|
|
|
22043
|
-
:where(.theme-scope)
|
|
22321
|
+
:where(.theme-scope)
|
|
22322
|
+
:where([data-block="customer-portal"])
|
|
22323
|
+
.cp-section-actions {
|
|
22044
22324
|
margin-top: 1rem;
|
|
22045
22325
|
}
|
|
22046
22326
|
|
|
22047
|
-
:where(.theme-scope)
|
|
22327
|
+
:where(.theme-scope)
|
|
22328
|
+
:where([data-block="customer-portal"])
|
|
22329
|
+
.cp-card-subtitle--spaced {
|
|
22048
22330
|
margin-top: 0.75rem;
|
|
22049
22331
|
}
|
|
22050
22332
|
|
|
@@ -22068,9 +22350,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
22068
22350
|
display: none;
|
|
22069
22351
|
}
|
|
22070
22352
|
|
|
22071
|
-
:where(.theme-scope)
|
|
22072
|
-
|
|
22073
|
-
|
|
22353
|
+
:where(.theme-scope)
|
|
22354
|
+
:where([data-block="customer-portal"])
|
|
22355
|
+
.cp-table
|
|
22356
|
+
:is(th, td).cp-col-guests,
|
|
22357
|
+
:where(.theme-scope)
|
|
22358
|
+
:where([data-block="customer-portal"])
|
|
22359
|
+
.cp-table
|
|
22360
|
+
:is(th, td).cp-col-tickets,
|
|
22361
|
+
:where(.theme-scope)
|
|
22362
|
+
:where([data-block="customer-portal"])
|
|
22363
|
+
.cp-table
|
|
22364
|
+
:is(th, td).cp-col-actions {
|
|
22074
22365
|
display: none;
|
|
22075
22366
|
}
|
|
22076
22367
|
|
|
@@ -22079,24 +22370,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
22079
22370
|
}
|
|
22080
22371
|
|
|
22081
22372
|
/* Make the cell a positioning context for the kebab */
|
|
22082
|
-
:where(.theme-scope)
|
|
22373
|
+
:where(.theme-scope)
|
|
22374
|
+
:where([data-block="customer-portal"])
|
|
22375
|
+
.cp-row
|
|
22376
|
+
> td:first-child {
|
|
22083
22377
|
position: relative;
|
|
22084
22378
|
padding-right: 2.5rem;
|
|
22085
22379
|
}
|
|
22086
22380
|
|
|
22087
22381
|
/* Position kebab in top-right of the cell */
|
|
22088
|
-
:where(.theme-scope)
|
|
22382
|
+
:where(.theme-scope)
|
|
22383
|
+
:where([data-block="customer-portal"])
|
|
22384
|
+
.cp-row-mobile-actions {
|
|
22089
22385
|
position: absolute;
|
|
22090
22386
|
top: 0.5rem;
|
|
22091
22387
|
right: 0.5rem;
|
|
22092
22388
|
margin-top: 0;
|
|
22093
22389
|
}
|
|
22094
22390
|
|
|
22095
|
-
:where(.theme-scope)
|
|
22391
|
+
:where(.theme-scope)
|
|
22392
|
+
:where([data-block="customer-portal"])
|
|
22393
|
+
.cp-row-mobile-actions
|
|
22394
|
+
.btn-sm {
|
|
22096
22395
|
width: auto;
|
|
22097
22396
|
}
|
|
22098
22397
|
|
|
22099
|
-
:where(.theme-scope)
|
|
22398
|
+
:where(.theme-scope)
|
|
22399
|
+
:where([data-block="customer-portal"])
|
|
22400
|
+
.cp-profile__edit {
|
|
22100
22401
|
align-self: stretch;
|
|
22101
22402
|
}
|
|
22102
22403
|
}
|
|
@@ -22544,6 +22845,30 @@ const containerResponsiveThemeCss = `/*
|
|
|
22544
22845
|
gap: 0.25rem;
|
|
22545
22846
|
}
|
|
22546
22847
|
|
|
22848
|
+
/* Topic choices (visitor picks what to hear about). Same treatment as the
|
|
22849
|
+
form block's .fb-fieldset / .fb-inline, defined here because the newsletter
|
|
22850
|
+
form also renders inside contact-newsletter and the site footer. */
|
|
22851
|
+
:where(.theme-scope) .newsletter-topics {
|
|
22852
|
+
display: flex;
|
|
22853
|
+
flex-direction: column;
|
|
22854
|
+
gap: 0.5rem;
|
|
22855
|
+
border: none;
|
|
22856
|
+
padding: 0;
|
|
22857
|
+
margin: 0;
|
|
22858
|
+
min-width: 0;
|
|
22859
|
+
}
|
|
22860
|
+
|
|
22861
|
+
:where(.theme-scope) .newsletter-topics > legend {
|
|
22862
|
+
padding: 0;
|
|
22863
|
+
margin-bottom: 0.25rem;
|
|
22864
|
+
}
|
|
22865
|
+
|
|
22866
|
+
:where(.theme-scope) .newsletter-topic-choice {
|
|
22867
|
+
display: flex;
|
|
22868
|
+
align-items: center;
|
|
22869
|
+
gap: 0.5rem;
|
|
22870
|
+
}
|
|
22871
|
+
|
|
22547
22872
|
/* Required indicator */
|
|
22548
22873
|
:where(.theme-scope) .newsletter-required {
|
|
22549
22874
|
color: rgb(var(--tb-primary));
|
|
@@ -22593,6 +22918,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
22593
22918
|
flex-shrink: 0;
|
|
22594
22919
|
}
|
|
22595
22920
|
|
|
22921
|
+
:where(.theme-scope) .newsletter-inline .newsletter-topics {
|
|
22922
|
+
flex-basis: 100%;
|
|
22923
|
+
}
|
|
22924
|
+
|
|
22596
22925
|
/* Mobile fallback for inline variant */
|
|
22597
22926
|
@container rb-site (max-width: 640px) {
|
|
22598
22927
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
@@ -25199,19 +25528,21 @@ function normalizeTokenValue(value) {
|
|
|
25199
25528
|
if (trimmedValue.startsWith("#")) return hexToRgbChannels(trimmedValue);
|
|
25200
25529
|
return trimmedValue;
|
|
25201
25530
|
}
|
|
25202
|
-
function
|
|
25531
|
+
function buildThemeRuntimeFromBridge(config) {
|
|
25203
25532
|
validateThemeBridgeConfig(config);
|
|
25533
|
+
return buildBridgeCssVars(config);
|
|
25534
|
+
}
|
|
25535
|
+
function buildThemeBridgeRuntime(config) {
|
|
25536
|
+
const cssVars = buildThemeRuntimeFromBridge(config);
|
|
25204
25537
|
const themeId = "sdk";
|
|
25205
25538
|
const corners = config.corners ?? "rounded";
|
|
25206
|
-
const shadows = config.shadows ?? "medium";
|
|
25207
|
-
const cssVars = buildBridgeCssVars(config);
|
|
25208
25539
|
const generatorTheme = buildBridgeGeneratorTheme(corners);
|
|
25209
25540
|
return {
|
|
25210
25541
|
themeId,
|
|
25211
25542
|
cssVars,
|
|
25212
|
-
buttonCss: shouldGenerateComponent(config.components?.buttons) ? generateButtonsCss(config, corners, shadows) : void 0,
|
|
25213
|
-
cardCss: generateCardsCss(config, corners, shadows),
|
|
25214
|
-
inputCss: shouldGenerateComponent(config.components?.inputs) ? generateInputsCss(corners, shadows) : void 0,
|
|
25543
|
+
buttonCss: shouldGenerateComponent(config.components?.buttons) ? generateButtonsCss(config, corners, config.shadows ?? "medium") : void 0,
|
|
25544
|
+
cardCss: generateCardsCss(config, corners, config.shadows ?? "medium"),
|
|
25545
|
+
inputCss: shouldGenerateComponent(config.components?.inputs) ? generateInputsCss(corners, config.shadows ?? "medium") : void 0,
|
|
25215
25546
|
statusCss: generateStatusCss({
|
|
25216
25547
|
themeId,
|
|
25217
25548
|
theme: generatorTheme
|
|
@@ -25220,6 +25551,7 @@ function buildThemeBridgeRuntime(config) {
|
|
|
25220
25551
|
themeId,
|
|
25221
25552
|
theme: generatorTheme
|
|
25222
25553
|
}),
|
|
25554
|
+
typographyCss: generateTypographyCss({ themeId }),
|
|
25223
25555
|
blockVarsCss: generateAllBlockVarsCss({
|
|
25224
25556
|
themeId,
|
|
25225
25557
|
theme: generatorTheme
|
|
@@ -25478,7 +25810,7 @@ function shouldGenerateComponent(value) {
|
|
|
25478
25810
|
function generateButtonsCss(config, corners, shadows) {
|
|
25479
25811
|
let variants = getDefaultButtonVariants();
|
|
25480
25812
|
const buttonConfig = config.components?.buttons;
|
|
25481
|
-
if (
|
|
25813
|
+
if (typeof buttonConfig === "object" && buttonConfig.variants) {
|
|
25482
25814
|
const requestedIds = new Set(buttonConfig.variants);
|
|
25483
25815
|
variants = variants.filter((variant) => requestedIds.has(variant.id));
|
|
25484
25816
|
}
|
|
@@ -25666,6 +25998,7 @@ function ThemeBridgeProvider({ config, children, className = "" }) {
|
|
|
25666
25998
|
inputCss: runtime.inputCss,
|
|
25667
25999
|
statusCss: runtime.statusCss,
|
|
25668
26000
|
progressCss: runtime.progressCss,
|
|
26001
|
+
typographyCss: runtime.typographyCss,
|
|
25669
26002
|
blockVarsCss: runtime.blockVarsCss,
|
|
25670
26003
|
customCss: runtime.customCss,
|
|
25671
26004
|
children
|