@riverbankcms/sdk 0.145.0 → 0.147.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/CHANGELOG.md +29 -0
- package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
- package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
- package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
- package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +1 -0
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +20 -4
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
- package/dist/_dts/api/src/endpoints.d.ts +816 -655
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +9 -2
- 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/launchReadiness.d.ts +19 -6
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
- package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +7 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -7
- package/dist/_dts/core/src/index.d.ts +2 -1
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
- package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
- package/dist/_dts/core/src/participants.d.ts +0 -38
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +9 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
- package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
- package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
- package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
- package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
- package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
- package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
- package/dist/_dts/ui/src/badge.d.ts +2 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
- package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
- package/dist/_dts/ui/src/combobox.d.ts +26 -1
- package/dist/_dts/ui/src/date-picker.d.ts +5 -8
- package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
- package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
- package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
- package/dist/_dts/ui/src/index.d.ts +4 -1
- package/dist/_dts/ui/src/native-select.d.ts +8 -0
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/_dts/ui/src/popover.d.ts +7 -1
- package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
- package/dist/_dts/ui/src/surface.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
- package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
- package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
- package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
- package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
- package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
- package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
- package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
- package/dist/client/bookings.mjs +415 -234
- package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
- package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
- package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
- package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
- package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
- package/dist/client/client.mjs +3721 -2220
- package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
- package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
- package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
- package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
- package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
- package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
- package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
- package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
- package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
- package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
- package/dist/client/hooks.mjs +1148 -179
- package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
- package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
- package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
- package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
- package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
- package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
- package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
- package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
- package/dist/client/rendering/client.mjs +1441 -826
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3652 -2005
- package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
- package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
- package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
- package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
- package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
- package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +490 -153
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +64 -2
- package/dist/preview-next/editor-chrome.css +7 -4
- package/dist/preview-next/keepAlive.mjs +450 -153
- package/dist/preview-next/middleware.mjs +451 -153
- package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
- package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
- package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
- package/dist/server/components.mjs +4957 -3509
- package/dist/server/config-validation.mjs +1115 -189
- package/dist/server/config.mjs +1115 -189
- package/dist/server/data.mjs +1113 -188
- package/dist/server/index.mjs +492 -154
- package/dist/server/navigation.mjs +13 -2
- package/dist/server/next.mjs +4798 -3462
- package/dist/server/page-converter.mjs +143 -89
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3862 -2414
- package/dist/server/rendering.mjs +5648 -4154
- package/dist/server/routing.mjs +1223 -329
- package/dist/server/server.mjs +1172 -314
- package/dist/server/theme-bridge.mjs +533 -128
- package/dist/server/theme.mjs +5 -1
- package/dist/styles/index.css +218 -69
- package/package.json +1 -1
- package/dist/_dts/core/src/participant-identity.d.ts +0 -135
|
@@ -902,26 +902,21 @@ function isOnColorBackgroundCandidateToken(token) {
|
|
|
902
902
|
return BACKGROUND_ROLE_NAMES.has(role);
|
|
903
903
|
}
|
|
904
904
|
//#endregion
|
|
905
|
-
//#region ../theme-core/src/surfaces/foregroundRoles.ts
|
|
906
|
-
const SURFACE_FOREGROUND_ROLES = [
|
|
907
|
-
"text",
|
|
908
|
-
"heading",
|
|
909
|
-
"link",
|
|
910
|
-
"supporting"
|
|
911
|
-
];
|
|
912
|
-
//#endregion
|
|
913
905
|
//#region ../theme-core/src/surfaces/foregroundContract.ts
|
|
914
906
|
const SURFACE_FOREGROUND_CSS_VARS = {
|
|
915
907
|
text: "--rb-surface-text-color",
|
|
916
908
|
heading: "--rb-surface-heading-color",
|
|
917
909
|
link: "--rb-surface-link-color",
|
|
910
|
+
linkHover: "--rb-surface-link-hover-color",
|
|
918
911
|
supporting: "--rb-surface-supporting-color"
|
|
919
912
|
};
|
|
920
913
|
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
914
|
+
const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
|
|
921
915
|
const DEFAULT_ROLE_FALLBACKS = {
|
|
922
916
|
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
923
917
|
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
924
|
-
link:
|
|
918
|
+
link: DEFAULT_SURFACE_LINK_COLOR,
|
|
919
|
+
linkHover: DEFAULT_SURFACE_LINK_COLOR,
|
|
925
920
|
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
926
921
|
};
|
|
927
922
|
function requireSurfaceColorValue(role, value) {
|
|
@@ -931,10 +926,12 @@ function requireSurfaceColorValue(role, value) {
|
|
|
931
926
|
}
|
|
932
927
|
function completeSurfaceForegrounds(input) {
|
|
933
928
|
const text = requireSurfaceColorValue("text", input.text);
|
|
929
|
+
const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
|
|
934
930
|
return {
|
|
935
931
|
text,
|
|
936
932
|
heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
|
|
937
|
-
link
|
|
933
|
+
link,
|
|
934
|
+
linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
|
|
938
935
|
supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
|
|
939
936
|
};
|
|
940
937
|
}
|
|
@@ -942,15 +939,30 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
|
|
|
942
939
|
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
943
940
|
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
944
941
|
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
942
|
+
if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
|
|
945
943
|
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
946
944
|
}
|
|
947
945
|
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
948
946
|
if (!Number.isFinite(opacityPercent) || opacityPercent < 0 || opacityPercent > 100) throw new RangeError("Surface foreground opacity must be between 0 and 100.");
|
|
949
947
|
return `color-mix(in srgb, ${surfaceForegroundValue(role)} ${opacityPercent}%, transparent)`;
|
|
950
948
|
}
|
|
951
|
-
function
|
|
949
|
+
function surfaceForegroundStyle(input) {
|
|
952
950
|
const foregrounds = completeSurfaceForegrounds(input);
|
|
953
|
-
return
|
|
951
|
+
return {
|
|
952
|
+
color: foregrounds.text,
|
|
953
|
+
[SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
|
|
954
|
+
[SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
|
|
955
|
+
[SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
|
|
956
|
+
[SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
|
|
957
|
+
[SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
|
|
958
|
+
"--rb-surface-link-hover-decoration": hoverDecoration(input)
|
|
959
|
+
};
|
|
960
|
+
}
|
|
961
|
+
function surfaceForegroundDeclarations(input) {
|
|
962
|
+
return Object.entries(surfaceForegroundStyle(input)).map(([property, value]) => `${property}: ${value};`);
|
|
963
|
+
}
|
|
964
|
+
function hoverDecoration(input) {
|
|
965
|
+
return input.hoverDecoration ?? "underline";
|
|
954
966
|
}
|
|
955
967
|
//#endregion
|
|
956
968
|
//#region ../theme-core/src/buttons/constants.ts
|
|
@@ -3902,6 +3914,12 @@ function cardDecorationPseudoRules(containerSelectors, decorations, resolveColor
|
|
|
3902
3914
|
});
|
|
3903
3915
|
}
|
|
3904
3916
|
//#endregion
|
|
3917
|
+
//#region ../theme-core/src/utils/cssDeclarations.ts
|
|
3918
|
+
/** Render CSS declarations whether callers provide terminators or fragments. */
|
|
3919
|
+
function renderCssDeclarations(declarations) {
|
|
3920
|
+
return declarations.map((declaration) => declaration.endsWith(";") ? declaration : `${declaration};`).join("\n ");
|
|
3921
|
+
}
|
|
3922
|
+
//#endregion
|
|
3905
3923
|
//#region ../theme-core/src/cards/core.ts
|
|
3906
3924
|
/**
|
|
3907
3925
|
* Core Card CSS Generator
|
|
@@ -4004,6 +4022,9 @@ function generateCardCoreCss(scopeId, variants, settings, scope = "all") {
|
|
|
4004
4022
|
* A variant's background and, when it owns one, the complete foreground
|
|
4005
4023
|
* contract that goes with it. Opaque cards are surface providers; transparent
|
|
4006
4024
|
* variants inherit the nearest outer surface atomically and declare nothing.
|
|
4025
|
+
* The SDK bridge has token references but no resolved palette or global prose
|
|
4026
|
+
* preference. It therefore publishes the conservative resting hover plus
|
|
4027
|
+
* underline through the shared contract instead of claiming measured contrast.
|
|
4007
4028
|
*/
|
|
4008
4029
|
function cardSurfaceDeclarations(variant) {
|
|
4009
4030
|
if (variant.background === "solid" && variant.backgroundToken) return [`background: rgb(var(--tb-${variant.backgroundToken}))`, ...surfaceForegroundDeclarations({ text: `rgb(var(--tb-${variant.foregroundToken ?? "text"}))` })];
|
|
@@ -4039,7 +4060,7 @@ function generateVariantCss$1(scopeId, variant, settings, scope = "all") {
|
|
|
4039
4060
|
const mediaRules = mediaCornerRules(variant.cornerRadii, settings.corners);
|
|
4040
4061
|
const contentRules = [`padding: ${SPACING_MAP[variant.spacing]}`];
|
|
4041
4062
|
return [
|
|
4042
|
-
`${containerSelector} {\n ${containerRules
|
|
4063
|
+
`${containerSelector} {\n ${renderCssDeclarations(containerRules)}\n}`,
|
|
4043
4064
|
...cardDecorationPseudoRules(containerSelectors, decorations, coreColor),
|
|
4044
4065
|
`${fallbackBackgroundSelector} {\n background: transparent;\n}`,
|
|
4045
4066
|
`${mediaSelector} {\n ${mediaRules.join(";\n ")};\n}`,
|
|
@@ -11911,6 +11932,270 @@ const curatedSiteStyles = [
|
|
|
11911
11932
|
];
|
|
11912
11933
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
11913
11934
|
//#endregion
|
|
11935
|
+
//#region ../theme-core/src/inputs/checkable.ts
|
|
11936
|
+
/**
|
|
11937
|
+
* Checkbox and radio CSS shared by the full theme generator and the SDK
|
|
11938
|
+
* theme bridge, so both render the same customer-facing controls.
|
|
11939
|
+
*
|
|
11940
|
+
* Emits:
|
|
11941
|
+
* - .form-checkbox / .form-radio: the controls themselves. The tick and dot
|
|
11942
|
+
* are drawn with ::before so their colour comes from theme tokens rather
|
|
11943
|
+
* than a baked-in SVG.
|
|
11944
|
+
* - .form-check: a label row holding a control and its text. The control
|
|
11945
|
+
* lines up with the first line of text, so long labels wrap cleanly.
|
|
11946
|
+
* - .form-check--tile: a bordered, fully clickable panel for agreements
|
|
11947
|
+
* (booking consent, consent fields) that tints when ticked.
|
|
11948
|
+
*/
|
|
11949
|
+
const CHECKABLE_SIZE = "1.375rem";
|
|
11950
|
+
/** Never fully round: a round checkbox reads as a radio. */
|
|
11951
|
+
const CHECKBOX_RADIUS = {
|
|
11952
|
+
square: "0",
|
|
11953
|
+
soft: "0.25rem",
|
|
11954
|
+
rounded: "0.375rem",
|
|
11955
|
+
pill: "0.375rem"
|
|
11956
|
+
};
|
|
11957
|
+
/** Tiles hold wrapping text, so pill themes get a generous radius, not a capsule. */
|
|
11958
|
+
const TILE_RADIUS = {
|
|
11959
|
+
square: "0",
|
|
11960
|
+
soft: "0.5rem",
|
|
11961
|
+
rounded: "0.75rem",
|
|
11962
|
+
pill: "1rem"
|
|
11963
|
+
};
|
|
11964
|
+
const ON_ACCENT_TOKENS = {
|
|
11965
|
+
primary: "onPrimary",
|
|
11966
|
+
secondary: "onSecondary",
|
|
11967
|
+
accent: "onAccent"
|
|
11968
|
+
};
|
|
11969
|
+
/**
|
|
11970
|
+
* Colour for the tick/dot drawn on top of the accent fill. Uses the palette's
|
|
11971
|
+
* matching "on" token where there is one, falling back to white.
|
|
11972
|
+
*/
|
|
11973
|
+
/** The accent at full strength: `primary/70` becomes `primary`. */
|
|
11974
|
+
function solidAccentToken(accentToken) {
|
|
11975
|
+
const parsed = parseColorTokenParts(accentToken);
|
|
11976
|
+
return parsed.kind === "token" ? parsed.token : accentToken;
|
|
11977
|
+
}
|
|
11978
|
+
function checkableMarkColor(accentToken) {
|
|
11979
|
+
const parsed = parseColorTokenParts(accentToken);
|
|
11980
|
+
const onToken = parsed.kind === "token" ? ON_ACCENT_TOKENS[parsed.token] : void 0;
|
|
11981
|
+
return onToken ? `rgb(var(--tb-${onToken}, 255 255 255))` : "rgb(255 255 255)";
|
|
11982
|
+
}
|
|
11983
|
+
function checkableSelectors(root) {
|
|
11984
|
+
return {
|
|
11985
|
+
checkbox: `${root} .form-checkbox`,
|
|
11986
|
+
radio: `${root} .form-radio`,
|
|
11987
|
+
check: `${root} .form-check`,
|
|
11988
|
+
tile: `${root} .form-check--tile`
|
|
11989
|
+
};
|
|
11990
|
+
}
|
|
11991
|
+
/** The box and circle themselves, unchecked. */
|
|
11992
|
+
function controlBaseCss(sel, input) {
|
|
11993
|
+
const border = input.borderWidth === "0" ? "1px" : input.borderWidth;
|
|
11994
|
+
return [
|
|
11995
|
+
`${sel.checkbox},
|
|
11996
|
+
${sel.radio} {
|
|
11997
|
+
appearance: none;
|
|
11998
|
+
display: inline-grid;
|
|
11999
|
+
place-content: center;
|
|
12000
|
+
width: ${CHECKABLE_SIZE};
|
|
12001
|
+
height: ${CHECKABLE_SIZE};
|
|
12002
|
+
margin: 0;
|
|
12003
|
+
flex-shrink: 0;
|
|
12004
|
+
border: ${border} solid ${input.borderColor};
|
|
12005
|
+
background-color: ${input.background};
|
|
12006
|
+
color: inherit;
|
|
12007
|
+
cursor: pointer;
|
|
12008
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
|
12009
|
+
}`,
|
|
12010
|
+
`${sel.checkbox} {
|
|
12011
|
+
border-radius: ${CHECKBOX_RADIUS[input.corners]};
|
|
12012
|
+
}`,
|
|
12013
|
+
`${sel.radio} {
|
|
12014
|
+
border-radius: 9999px;
|
|
12015
|
+
}`
|
|
12016
|
+
];
|
|
12017
|
+
}
|
|
12018
|
+
/** The tick and dot, drawn with ::before so their colour is a theme token. */
|
|
12019
|
+
function controlMarkCss(sel, accentToken) {
|
|
12020
|
+
return [
|
|
12021
|
+
`${sel.checkbox}::before,
|
|
12022
|
+
${sel.radio}::before {
|
|
12023
|
+
content: "";
|
|
12024
|
+
background-color: ${checkableMarkColor(accentToken)};
|
|
12025
|
+
transform: scale(0);
|
|
12026
|
+
transition: transform 0.12s ease;
|
|
12027
|
+
}`,
|
|
12028
|
+
`${sel.checkbox}::before {
|
|
12029
|
+
width: 0.75rem;
|
|
12030
|
+
height: 0.75rem;
|
|
12031
|
+
clip-path: polygon(14% 52%, 0 67%, 38% 100%, 100% 22%, 85% 8%, 37% 70%);
|
|
12032
|
+
}`,
|
|
12033
|
+
`${sel.radio}::before {
|
|
12034
|
+
width: 0.5rem;
|
|
12035
|
+
height: 0.5rem;
|
|
12036
|
+
border-radius: 9999px;
|
|
12037
|
+
}`
|
|
12038
|
+
];
|
|
12039
|
+
}
|
|
12040
|
+
function controlStateCss(sel, input) {
|
|
12041
|
+
const accent = rgbColorValue(solidAccentToken(input.accentToken));
|
|
12042
|
+
return [
|
|
12043
|
+
`${sel.checkbox}:hover,
|
|
12044
|
+
${sel.radio}:hover,
|
|
12045
|
+
${sel.check}:hover > .form-checkbox,
|
|
12046
|
+
${sel.check}:hover > .form-radio {
|
|
12047
|
+
border-color: ${accent};
|
|
12048
|
+
}`,
|
|
12049
|
+
`${sel.checkbox}:checked,
|
|
12050
|
+
${sel.radio}:checked {
|
|
12051
|
+
background-color: ${accent};
|
|
12052
|
+
border-color: ${accent};
|
|
12053
|
+
}`,
|
|
12054
|
+
`${sel.checkbox}:checked::before,
|
|
12055
|
+
${sel.radio}:checked::before {
|
|
12056
|
+
transform: scale(1);
|
|
12057
|
+
}`,
|
|
12058
|
+
`${sel.checkbox}:focus-visible,
|
|
12059
|
+
${sel.radio}:focus-visible {
|
|
12060
|
+
outline: 2px solid ${accent};
|
|
12061
|
+
outline-offset: 2px;
|
|
12062
|
+
}`,
|
|
12063
|
+
`${sel.checkbox}:disabled,
|
|
12064
|
+
${sel.radio}:disabled {
|
|
12065
|
+
opacity: 0.5;
|
|
12066
|
+
cursor: not-allowed;
|
|
12067
|
+
}`
|
|
12068
|
+
];
|
|
12069
|
+
}
|
|
12070
|
+
/** Label row: control lined up with the first line of wrapping text. */
|
|
12071
|
+
function checkRowCss(sel) {
|
|
12072
|
+
return [
|
|
12073
|
+
`${sel.check} {
|
|
12074
|
+
display: flex;
|
|
12075
|
+
align-items: flex-start;
|
|
12076
|
+
gap: 0.75rem;
|
|
12077
|
+
line-height: 1.5;
|
|
12078
|
+
cursor: pointer;
|
|
12079
|
+
}`,
|
|
12080
|
+
`${sel.check} > .form-checkbox,
|
|
12081
|
+
${sel.check} > .form-radio {
|
|
12082
|
+
margin-top: 0.0625rem;
|
|
12083
|
+
margin-top: max(0px, calc((1lh - ${CHECKABLE_SIZE}) / 2));
|
|
12084
|
+
}`,
|
|
12085
|
+
`${sel.check}:has(> :disabled) {
|
|
12086
|
+
cursor: not-allowed;
|
|
12087
|
+
}`
|
|
12088
|
+
];
|
|
12089
|
+
}
|
|
12090
|
+
function agreementTileCss(sel, input) {
|
|
12091
|
+
const accent = rgbColorValue(solidAccentToken(input.accentToken));
|
|
12092
|
+
return [
|
|
12093
|
+
`${sel.tile} {
|
|
12094
|
+
padding: 0.875rem 1rem;
|
|
12095
|
+
border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
|
|
12096
|
+
border-radius: ${TILE_RADIUS[input.corners]};
|
|
12097
|
+
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
12098
|
+
}`,
|
|
12099
|
+
`${sel.tile}:hover {
|
|
12100
|
+
border-color: color-mix(in srgb, ${accent} 55%, transparent);
|
|
12101
|
+
}`,
|
|
12102
|
+
`${sel.tile}:has(> .form-checkbox:checked) {
|
|
12103
|
+
border-color: ${accent};
|
|
12104
|
+
background-color: color-mix(in srgb, ${accent} 7%, transparent);
|
|
12105
|
+
}`,
|
|
12106
|
+
`${sel.tile}:has(> .form-checkbox[aria-invalid="true"]) {
|
|
12107
|
+
border-color: ${input.errorColor};
|
|
12108
|
+
}`
|
|
12109
|
+
];
|
|
12110
|
+
}
|
|
12111
|
+
function checkableMediaCss(sel) {
|
|
12112
|
+
return [`@media (prefers-reduced-motion: reduce) {
|
|
12113
|
+
${sel.checkbox}, ${sel.radio}, ${sel.checkbox}::before, ${sel.radio}::before, ${sel.tile} {
|
|
12114
|
+
transition: none;
|
|
12115
|
+
}
|
|
12116
|
+
}`, `@media (forced-colors: active) {
|
|
12117
|
+
${sel.checkbox}::before,
|
|
12118
|
+
${sel.radio}::before {
|
|
12119
|
+
background-color: CanvasText;
|
|
12120
|
+
}
|
|
12121
|
+
}`];
|
|
12122
|
+
}
|
|
12123
|
+
/**
|
|
12124
|
+
* Exposes the accent and mark colours so other choice controls (newsletter
|
|
12125
|
+
* topic chips) match the checkboxes without re-deriving the theme tokens.
|
|
12126
|
+
*/
|
|
12127
|
+
function checkableVarsCss(input) {
|
|
12128
|
+
return [`${input.root} {
|
|
12129
|
+
--rb-check-accent: ${rgbColorValue(solidAccentToken(input.accentToken))};
|
|
12130
|
+
--rb-check-mark: ${checkableMarkColor(input.accentToken)};
|
|
12131
|
+
}`];
|
|
12132
|
+
}
|
|
12133
|
+
function generateCheckableCss(input) {
|
|
12134
|
+
const sel = checkableSelectors(input.root);
|
|
12135
|
+
return [
|
|
12136
|
+
...checkableVarsCss(input),
|
|
12137
|
+
...controlBaseCss(sel, input),
|
|
12138
|
+
...controlMarkCss(sel, input.accentToken),
|
|
12139
|
+
...controlStateCss(sel, input),
|
|
12140
|
+
...checkRowCss(sel),
|
|
12141
|
+
...agreementTileCss(sel, input),
|
|
12142
|
+
...checkableMediaCss(sel)
|
|
12143
|
+
].join("\n\n");
|
|
12144
|
+
}
|
|
12145
|
+
//#endregion
|
|
12146
|
+
//#region ../theme-core/src/inputs/inputGroup.ts
|
|
12147
|
+
/**
|
|
12148
|
+
* Input group: a field and an action (usually a themed button) sharing one
|
|
12149
|
+
* input-styled shell, e.g. the newsletter email + Sign up row.
|
|
12150
|
+
*
|
|
12151
|
+
* The shell `.form-input-group` takes the theme's `.form-input` rules (the
|
|
12152
|
+
* generators add it to that selector list, plus focus and error), so it
|
|
12153
|
+
* follows the site's input background, border, corners and shadow. This file
|
|
12154
|
+
* only adds the layout overrides and the borderless inner field.
|
|
12155
|
+
*/
|
|
12156
|
+
const INPUT_GROUP_SELECTOR = ".form-input-group";
|
|
12157
|
+
/** Shell focus ring follows the field only, not the button beside it. */
|
|
12158
|
+
const INPUT_GROUP_FOCUS_SELECTOR = ".form-input-group:has(> .form-input-group-field:focus-visible)";
|
|
12159
|
+
const INPUT_GROUP_ERROR_SELECTOR = ".form-input-group:has(> .form-input-group-field[aria-invalid=\"true\"])";
|
|
12160
|
+
const GROUP_INSET = "0.25rem";
|
|
12161
|
+
/**
|
|
12162
|
+
* @param root - scoped root selector
|
|
12163
|
+
* @param padding - the theme's input padding shorthand (`block inline`), so the
|
|
12164
|
+
* inner field's text sits where a plain input's text would.
|
|
12165
|
+
*/
|
|
12166
|
+
function generateInputGroupCss(root, padding) {
|
|
12167
|
+
const [block = padding, inline = block] = padding.trim().split(/\s+/);
|
|
12168
|
+
return `${root} .form-input-group {
|
|
12169
|
+
display: flex;
|
|
12170
|
+
align-items: stretch;
|
|
12171
|
+
gap: ${GROUP_INSET};
|
|
12172
|
+
padding: ${GROUP_INSET};
|
|
12173
|
+
}
|
|
12174
|
+
|
|
12175
|
+
${root} .form-input-group-field {
|
|
12176
|
+
flex: 1 1 auto;
|
|
12177
|
+
min-width: 0;
|
|
12178
|
+
margin: 0;
|
|
12179
|
+
border: 0;
|
|
12180
|
+
border-radius: 0;
|
|
12181
|
+
background: transparent;
|
|
12182
|
+
box-shadow: none;
|
|
12183
|
+
outline: none;
|
|
12184
|
+
color: inherit;
|
|
12185
|
+
font: inherit;
|
|
12186
|
+
padding: calc(${block} - ${GROUP_INSET}) calc(${inline} - ${GROUP_INSET});
|
|
12187
|
+
}
|
|
12188
|
+
|
|
12189
|
+
${root} .form-input-group-field::placeholder {
|
|
12190
|
+
color: inherit;
|
|
12191
|
+
opacity: 0.6;
|
|
12192
|
+
}
|
|
12193
|
+
|
|
12194
|
+
${root} .form-input-group > :not(.form-input-group-field) {
|
|
12195
|
+
flex-shrink: 0;
|
|
12196
|
+
}`;
|
|
12197
|
+
}
|
|
12198
|
+
//#endregion
|
|
11914
12199
|
//#region ../theme-core/src/status/generateStatusCss.ts
|
|
11915
12200
|
/**
|
|
11916
12201
|
* Corner radius map - derives alert border-radius from theme.corners
|
|
@@ -13213,6 +13498,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
13213
13498
|
.rb-h-4 {
|
|
13214
13499
|
height: 1rem;
|
|
13215
13500
|
}
|
|
13501
|
+
.rb-h-5 {
|
|
13502
|
+
height: 1.25rem;
|
|
13503
|
+
}
|
|
13216
13504
|
.rb-h-8 {
|
|
13217
13505
|
height: 2rem;
|
|
13218
13506
|
}
|
|
@@ -14763,6 +15051,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
14763
15051
|
--rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
|
|
14764
15052
|
--rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
14765
15053
|
--rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
15054
|
+
--rb-surface-link-hover-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
15055
|
+
--rb-surface-link-hover-decoration: underline;
|
|
14766
15056
|
--rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
14767
15057
|
border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
|
|
14768
15058
|
border-radius: var(--rb-modal-radius, var(--radius-card));
|
|
@@ -15192,14 +15482,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
15192
15482
|
|
|
15193
15483
|
:where(.theme-scope) .rb-prose a:hover {
|
|
15194
15484
|
color: var(
|
|
15195
|
-
--rb-
|
|
15196
|
-
var(--rb-prose-effective-link-color)
|
|
15485
|
+
--rb-surface-link-hover-color,
|
|
15486
|
+
var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
|
|
15487
|
+
);
|
|
15488
|
+
text-decoration-line: var(
|
|
15489
|
+
--rb-surface-link-hover-decoration,
|
|
15490
|
+
var(--rb-prose-link-decoration-line, underline)
|
|
15197
15491
|
);
|
|
15198
15492
|
text-decoration-color: var(
|
|
15199
15493
|
--rb-prose-link-hover-decoration-color,
|
|
15200
15494
|
var(
|
|
15201
|
-
--rb-
|
|
15202
|
-
var(--rb-prose-effective-link-color)
|
|
15495
|
+
--rb-surface-link-hover-color,
|
|
15496
|
+
var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
|
|
15203
15497
|
)
|
|
15204
15498
|
);
|
|
15205
15499
|
}
|
|
@@ -16243,6 +16537,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
16243
16537
|
--rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
16244
16538
|
--rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
16245
16539
|
--rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
16540
|
+
--rb-surface-link-hover-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
16541
|
+
--rb-surface-link-hover-decoration: underline;
|
|
16246
16542
|
--rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
16247
16543
|
border: 1px solid rgb(var(--tb-border));
|
|
16248
16544
|
border-radius: var(--radius-card);
|
|
@@ -16390,6 +16686,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
16390
16686
|
--rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
16391
16687
|
--rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
16392
16688
|
--rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
16689
|
+
--rb-surface-link-hover-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
16690
|
+
--rb-surface-link-hover-decoration: underline;
|
|
16393
16691
|
--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)))));
|
|
16394
16692
|
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
16395
16693
|
width: 100%;
|
|
@@ -17178,6 +17476,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
17178
17476
|
margin-bottom: 0.25rem;
|
|
17179
17477
|
}
|
|
17180
17478
|
|
|
17479
|
+
:where(.theme-scope) :where([data-block='event-registration']) .er-consent-check {
|
|
17480
|
+
margin-top: 0.75rem;
|
|
17481
|
+
}
|
|
17482
|
+
|
|
17181
17483
|
:where(.theme-scope) :where([data-block='event-registration']) .er-required {
|
|
17182
17484
|
color: var(--er-required);
|
|
17183
17485
|
}
|
|
@@ -21897,13 +22199,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
21897
22199
|
margin: 0;
|
|
21898
22200
|
}
|
|
21899
22201
|
|
|
21900
|
-
/* Inline field (checkbox, radio with label) */
|
|
21901
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-inline {
|
|
21902
|
-
display: flex;
|
|
21903
|
-
align-items: center;
|
|
21904
|
-
gap: 0.5rem;
|
|
21905
|
-
}
|
|
21906
|
-
|
|
21907
22202
|
/* Success state */
|
|
21908
22203
|
:where(.theme-scope) :where([data-block="form"]) .fb-success {
|
|
21909
22204
|
background-color: var(--fb-success-bg);
|
|
@@ -22372,6 +22667,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22372
22667
|
--rb-surface-text-color: inherit;
|
|
22373
22668
|
--rb-surface-heading-color: inherit;
|
|
22374
22669
|
--rb-surface-link-color: inherit;
|
|
22670
|
+
--rb-surface-link-hover-color: inherit;
|
|
22671
|
+
--rb-surface-link-hover-decoration: inherit;
|
|
22375
22672
|
--rb-surface-supporting-color: inherit;
|
|
22376
22673
|
}
|
|
22377
22674
|
|
|
@@ -22469,6 +22766,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22469
22766
|
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
22470
22767
|
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
22471
22768
|
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
22769
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
22770
|
+
--rb-surface-link-hover-decoration: initial;
|
|
22472
22771
|
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
22473
22772
|
border: 1px solid rgb(var(--tb-border));
|
|
22474
22773
|
border-radius: var(--shop-card-radius);
|
|
@@ -22635,6 +22934,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22635
22934
|
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
22636
22935
|
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
22637
22936
|
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
22937
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
|
|
22938
|
+
--rb-surface-link-hover-decoration: initial;
|
|
22638
22939
|
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
22639
22940
|
}
|
|
22640
22941
|
|
|
@@ -22712,6 +23013,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22712
23013
|
--rb-surface-text-color: var(--cp-text);
|
|
22713
23014
|
--rb-surface-heading-color: var(--cp-text);
|
|
22714
23015
|
--rb-surface-link-color: var(--cp-primary);
|
|
23016
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
|
|
23017
|
+
--rb-surface-link-hover-decoration: initial;
|
|
22715
23018
|
--rb-surface-supporting-color: var(--cp-muted);
|
|
22716
23019
|
border: 1px solid var(--cp-card-border);
|
|
22717
23020
|
border-radius: var(--cp-card-radius);
|
|
@@ -22861,6 +23164,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22861
23164
|
--rb-surface-text-color: var(--cp-text);
|
|
22862
23165
|
--rb-surface-heading-color: var(--cp-text);
|
|
22863
23166
|
--rb-surface-link-color: var(--cp-primary);
|
|
23167
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
|
|
23168
|
+
--rb-surface-link-hover-decoration: initial;
|
|
22864
23169
|
--rb-surface-supporting-color: var(--cp-muted);
|
|
22865
23170
|
border: 1px dashed var(--cp-card-border);
|
|
22866
23171
|
border-radius: var(--cp-card-radius);
|
|
@@ -22878,6 +23183,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
22878
23183
|
--rb-surface-text-color: var(--cp-text);
|
|
22879
23184
|
--rb-surface-heading-color: var(--cp-text);
|
|
22880
23185
|
--rb-surface-link-color: var(--cp-primary);
|
|
23186
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
|
|
23187
|
+
--rb-surface-link-hover-decoration: initial;
|
|
22881
23188
|
--rb-surface-supporting-color: var(--cp-muted);
|
|
22882
23189
|
border: 1px solid var(--cp-card-border);
|
|
22883
23190
|
border-radius: var(--cp-card-radius);
|
|
@@ -23118,6 +23425,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
23118
23425
|
--rb-surface-text-color: var(--cp-text);
|
|
23119
23426
|
--rb-surface-heading-color: var(--cp-text);
|
|
23120
23427
|
--rb-surface-link-color: var(--cp-primary);
|
|
23428
|
+
--rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
|
|
23429
|
+
--rb-surface-link-hover-decoration: initial;
|
|
23121
23430
|
--rb-surface-supporting-color: var(--cp-muted);
|
|
23122
23431
|
border: 1px solid var(--cp-card-border);
|
|
23123
23432
|
border-radius: var(--cp-card-radius);
|
|
@@ -24020,9 +24329,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
24020
24329
|
*/
|
|
24021
24330
|
|
|
24022
24331
|
/* Newsletter copy styling */
|
|
24332
|
+
/* Size only: weight, family and colour come from the theme's heading styles */
|
|
24023
24333
|
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
24024
|
-
font-size: 1.5rem;
|
|
24025
|
-
|
|
24334
|
+
font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem);
|
|
24335
|
+
line-height: 1.15;
|
|
24336
|
+
text-wrap: balance;
|
|
24026
24337
|
}
|
|
24027
24338
|
|
|
24028
24339
|
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
@@ -24046,37 +24357,150 @@ const containerResponsiveThemeCss = `/*
|
|
|
24046
24357
|
gap: var(--rb-gap-sm, 0.75rem);
|
|
24047
24358
|
}
|
|
24048
24359
|
|
|
24049
|
-
/*
|
|
24360
|
+
/* Extra preset fields (name, company...). Labels are visually hidden, so
|
|
24361
|
+
these sit in a row above the email entry. */
|
|
24362
|
+
:where(.theme-scope) .newsletter-extra-fields {
|
|
24363
|
+
display: grid;
|
|
24364
|
+
grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
|
|
24365
|
+
gap: 0.5rem;
|
|
24366
|
+
}
|
|
24367
|
+
|
|
24050
24368
|
:where(.theme-scope) .newsletter-field {
|
|
24051
24369
|
display: flex;
|
|
24052
24370
|
flex-direction: column;
|
|
24053
24371
|
gap: 0.25rem;
|
|
24372
|
+
text-align: left;
|
|
24054
24373
|
}
|
|
24055
24374
|
|
|
24056
|
-
/*
|
|
24057
|
-
|
|
24058
|
-
|
|
24059
|
-
:where(.theme-scope) .newsletter-
|
|
24375
|
+
/* Email entry: the email field and the themed submit button share one shell.
|
|
24376
|
+
The shell's look (background, border, corners, focus ring) comes from the
|
|
24377
|
+
theme's input system via .form-input-group; this only handles layout. */
|
|
24378
|
+
:where(.theme-scope) .newsletter-entry {
|
|
24379
|
+
container-type: inline-size;
|
|
24060
24380
|
display: flex;
|
|
24061
24381
|
flex-direction: column;
|
|
24062
|
-
gap: 0.
|
|
24382
|
+
gap: 0.375rem;
|
|
24383
|
+
text-align: left;
|
|
24384
|
+
}
|
|
24385
|
+
|
|
24386
|
+
:where(.theme-scope) .newsletter-entry-group > button {
|
|
24387
|
+
white-space: nowrap;
|
|
24388
|
+
}
|
|
24389
|
+
|
|
24390
|
+
/* Too narrow for field and button side by side (phones, footer columns):
|
|
24391
|
+
stack them inside the shell and keep pill themes from turning the taller
|
|
24392
|
+
shell into a capsule. */
|
|
24393
|
+
@container (max-width: 22rem) {
|
|
24394
|
+
:where(.theme-scope) .newsletter-entry .newsletter-entry-group {
|
|
24395
|
+
flex-direction: column;
|
|
24396
|
+
border-radius: min(var(--rb-input-radius, 0.5rem), 1rem);
|
|
24397
|
+
}
|
|
24398
|
+
|
|
24399
|
+
:where(.theme-scope) .newsletter-entry .newsletter-entry-group > button {
|
|
24400
|
+
width: 100%;
|
|
24401
|
+
justify-content: center;
|
|
24402
|
+
}
|
|
24403
|
+
}
|
|
24404
|
+
|
|
24405
|
+
/* Topic choices (visitor picks what to hear about) as toggle chips. Each chip
|
|
24406
|
+
is a real checkbox underneath; the chip is its visible face. */
|
|
24407
|
+
:where(.theme-scope) .newsletter-topics {
|
|
24063
24408
|
border: none;
|
|
24064
24409
|
padding: 0;
|
|
24065
24410
|
margin: 0;
|
|
24066
24411
|
min-width: 0;
|
|
24067
24412
|
}
|
|
24068
24413
|
|
|
24069
|
-
:where(.theme-scope) .newsletter-topics
|
|
24414
|
+
:where(.theme-scope) .newsletter-topics-legend {
|
|
24070
24415
|
padding: 0;
|
|
24071
|
-
margin-bottom: 0.
|
|
24416
|
+
margin-bottom: 0.625rem;
|
|
24417
|
+
font-size: 0.9375rem;
|
|
24418
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
24072
24419
|
}
|
|
24073
24420
|
|
|
24074
|
-
:where(.theme-scope) .newsletter-topic-
|
|
24421
|
+
:where(.theme-scope) .newsletter-topic-chips {
|
|
24075
24422
|
display: flex;
|
|
24076
|
-
|
|
24423
|
+
flex-wrap: wrap;
|
|
24077
24424
|
gap: 0.5rem;
|
|
24078
24425
|
}
|
|
24079
24426
|
|
|
24427
|
+
:where(.theme-scope) .newsletter-stacked .newsletter-topics-legend {
|
|
24428
|
+
width: 100%;
|
|
24429
|
+
}
|
|
24430
|
+
|
|
24431
|
+
:where(.theme-scope) .newsletter-stacked .newsletter-topic-chips {
|
|
24432
|
+
justify-content: center;
|
|
24433
|
+
}
|
|
24434
|
+
|
|
24435
|
+
:where(.theme-scope) .newsletter-topic-chip {
|
|
24436
|
+
position: relative;
|
|
24437
|
+
display: inline-flex;
|
|
24438
|
+
}
|
|
24439
|
+
|
|
24440
|
+
:where(.theme-scope) .newsletter-topic-chip > input {
|
|
24441
|
+
position: absolute;
|
|
24442
|
+
inset: 0;
|
|
24443
|
+
width: 100%;
|
|
24444
|
+
height: 100%;
|
|
24445
|
+
margin: 0;
|
|
24446
|
+
opacity: 0;
|
|
24447
|
+
cursor: pointer;
|
|
24448
|
+
}
|
|
24449
|
+
|
|
24450
|
+
:where(.theme-scope) .newsletter-topic-chip > span {
|
|
24451
|
+
display: inline-flex;
|
|
24452
|
+
align-items: center;
|
|
24453
|
+
gap: 0.375rem;
|
|
24454
|
+
padding: 0.4375rem 0.9375rem;
|
|
24455
|
+
border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
|
|
24456
|
+
border-radius: var(--rb-button-radius, var(--rb-input-radius, 9999px));
|
|
24457
|
+
font-size: 0.9375rem;
|
|
24458
|
+
line-height: 1.3;
|
|
24459
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
24460
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
|
|
24461
|
+
}
|
|
24462
|
+
|
|
24463
|
+
/* Tick that grows in when the chip is on */
|
|
24464
|
+
:where(.theme-scope) .newsletter-topic-chip > span::before {
|
|
24465
|
+
content: "";
|
|
24466
|
+
width: 0;
|
|
24467
|
+
height: 0.7em;
|
|
24468
|
+
background-color: currentColor;
|
|
24469
|
+
clip-path: polygon(14% 52%, 0 67%, 38% 100%, 100% 22%, 85% 8%, 37% 70%);
|
|
24470
|
+
transition: width 0.15s ease;
|
|
24471
|
+
}
|
|
24472
|
+
|
|
24473
|
+
:where(.theme-scope) .newsletter-topic-chip:hover > span {
|
|
24474
|
+
border-color: currentColor;
|
|
24475
|
+
}
|
|
24476
|
+
|
|
24477
|
+
/* Same accent and mark colours as the theme's checkboxes */
|
|
24478
|
+
:where(.theme-scope) .newsletter-topic-chip > input:checked + span {
|
|
24479
|
+
background-color: var(--rb-check-accent, rgb(var(--tb-primary)));
|
|
24480
|
+
border-color: var(--rb-check-accent, rgb(var(--tb-primary)));
|
|
24481
|
+
color: var(--rb-check-mark, rgb(var(--tb-onPrimary, 255 255 255)));
|
|
24482
|
+
}
|
|
24483
|
+
|
|
24484
|
+
:where(.theme-scope) .newsletter-topic-chip > input:checked + span::before {
|
|
24485
|
+
width: 0.7em;
|
|
24486
|
+
}
|
|
24487
|
+
|
|
24488
|
+
:where(.theme-scope) .newsletter-topic-chip > input:focus-visible + span {
|
|
24489
|
+
outline: 2px solid var(--rb-check-accent, rgb(var(--tb-primary)));
|
|
24490
|
+
outline-offset: 2px;
|
|
24491
|
+
}
|
|
24492
|
+
|
|
24493
|
+
:where(.theme-scope) .newsletter-topic-chip > input:disabled + span {
|
|
24494
|
+
opacity: 0.6;
|
|
24495
|
+
}
|
|
24496
|
+
|
|
24497
|
+
@media (prefers-reduced-motion: reduce) {
|
|
24498
|
+
:where(.theme-scope) .newsletter-topic-chip > span,
|
|
24499
|
+
:where(.theme-scope) .newsletter-topic-chip > span::before {
|
|
24500
|
+
transition: none;
|
|
24501
|
+
}
|
|
24502
|
+
}
|
|
24503
|
+
|
|
24080
24504
|
/* Error panel and field notes. The form block scopes these to its own
|
|
24081
24505
|
data-block, so the newsletter form (which also renders in the footer)
|
|
24082
24506
|
needs its own copy of the treatment. */
|
|
@@ -24094,13 +24518,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
24094
24518
|
color: var(--fb-error-text);
|
|
24095
24519
|
}
|
|
24096
24520
|
|
|
24097
|
-
/*
|
|
24098
|
-
:where(.theme-scope) .newsletter-required {
|
|
24099
|
-
color: rgb(var(--tb-primary));
|
|
24100
|
-
margin-left: 0.125rem;
|
|
24101
|
-
}
|
|
24102
|
-
|
|
24103
|
-
/* Submit button container */
|
|
24521
|
+
/* Submit button container (only when a preset has no email field) */
|
|
24104
24522
|
:where(.theme-scope) .newsletter-submit {
|
|
24105
24523
|
margin-top: 0.5rem;
|
|
24106
24524
|
}
|
|
@@ -24112,52 +24530,29 @@ const containerResponsiveThemeCss = `/*
|
|
|
24112
24530
|
justify-content: center;
|
|
24113
24531
|
}
|
|
24114
24532
|
|
|
24115
|
-
/* Privacy note */
|
|
24533
|
+
/* Privacy note: quieter than the intro so the entry row leads */
|
|
24116
24534
|
:where(.theme-scope) .newsletter-privacy-note {
|
|
24117
24535
|
margin-top: 0.75rem;
|
|
24118
|
-
font-size:
|
|
24119
|
-
line-height: 1.
|
|
24120
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
24536
|
+
font-size: 0.8125rem;
|
|
24537
|
+
line-height: 1.5;
|
|
24538
|
+
color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))));
|
|
24539
|
+
opacity: 0.85;
|
|
24121
24540
|
text-align: center;
|
|
24122
24541
|
}
|
|
24123
24542
|
|
|
24124
24543
|
/* =============================================================================
|
|
24125
|
-
* Inline Variant -
|
|
24544
|
+
* Inline Variant - left-aligned, wider entry row
|
|
24126
24545
|
* =============================================================================
|
|
24127
24546
|
*/
|
|
24128
24547
|
|
|
24129
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form
|
|
24130
|
-
|
|
24131
|
-
|
|
24132
|
-
|
|
24133
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
24134
|
-
}
|
|
24135
|
-
|
|
24136
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
24137
|
-
flex: 1 1 auto;
|
|
24138
|
-
min-width: 10rem;
|
|
24139
|
-
}
|
|
24140
|
-
|
|
24141
|
-
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
24142
|
-
margin-top: 0;
|
|
24143
|
-
flex-shrink: 0;
|
|
24144
|
-
}
|
|
24145
|
-
|
|
24146
|
-
:where(.theme-scope) .newsletter-inline .newsletter-topics {
|
|
24147
|
-
flex-basis: 100%;
|
|
24548
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form {
|
|
24549
|
+
max-width: 40rem;
|
|
24550
|
+
margin-left: 0;
|
|
24551
|
+
margin-right: 0;
|
|
24148
24552
|
}
|
|
24149
24553
|
|
|
24150
|
-
|
|
24151
|
-
|
|
24152
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
24153
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
24154
|
-
flex-direction: column;
|
|
24155
|
-
}
|
|
24156
|
-
|
|
24157
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
24158
|
-
min-width: 100%;
|
|
24159
|
-
}
|
|
24160
|
-
}
|
|
24554
|
+
:where(.theme-scope) .newsletter-inline .newsletter-privacy-note {
|
|
24555
|
+
text-align: left;
|
|
24161
24556
|
}
|
|
24162
24557
|
|
|
24163
24558
|
/* =============================================================================
|
|
@@ -24295,12 +24690,6 @@ const containerResponsiveThemeCss = `/*
|
|
|
24295
24690
|
margin: 0;
|
|
24296
24691
|
}
|
|
24297
24692
|
|
|
24298
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
24299
|
-
display: flex;
|
|
24300
|
-
align-items: center;
|
|
24301
|
-
gap: 0.5rem;
|
|
24302
|
-
}
|
|
24303
|
-
|
|
24304
24693
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
24305
24694
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
24306
24695
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
@@ -25701,6 +26090,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
25701
26090
|
--rb-surface-text-color: rgb(var(--tb-onSecondary));
|
|
25702
26091
|
--rb-surface-heading-color: rgb(var(--tb-onSecondary));
|
|
25703
26092
|
--rb-surface-link-color: rgb(var(--tb-onSecondary));
|
|
26093
|
+
--rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
|
|
26094
|
+
--rb-surface-link-hover-decoration: underline;
|
|
25704
26095
|
--rb-surface-supporting-color: rgb(var(--tb-onSecondary));
|
|
25705
26096
|
}
|
|
25706
26097
|
|
|
@@ -25832,6 +26223,8 @@ const containerResponsiveThemeCss = `/*
|
|
|
25832
26223
|
--rb-surface-text-color: rgb(var(--tb-onPrimary));
|
|
25833
26224
|
--rb-surface-heading-color: rgb(var(--tb-onPrimary));
|
|
25834
26225
|
--rb-surface-link-color: rgb(var(--tb-onPrimary));
|
|
26226
|
+
--rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
|
|
26227
|
+
--rb-surface-link-hover-decoration: underline;
|
|
25835
26228
|
--rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
|
|
25836
26229
|
}
|
|
25837
26230
|
|
|
@@ -26197,6 +26590,44 @@ const containerResponsiveThemeCss = `/*
|
|
|
26197
26590
|
flex: 0 0 auto;
|
|
26198
26591
|
}
|
|
26199
26592
|
}
|
|
26593
|
+
}
|
|
26594
|
+
|
|
26595
|
+
/* =============================================================================
|
|
26596
|
+
* Site footer: social links
|
|
26597
|
+
*
|
|
26598
|
+
* Icon links get a 40px tap target with a hairline ring drawn from the link's
|
|
26599
|
+
* own colour, so it follows the footer's text colour on any surface. Links
|
|
26600
|
+
* without an icon (unknown platforms) stay plain text.
|
|
26601
|
+
* =============================================================================
|
|
26602
|
+
*/
|
|
26603
|
+
|
|
26604
|
+
:where(.theme-scope) .rb-footer-socials {
|
|
26605
|
+
display: flex;
|
|
26606
|
+
flex-wrap: wrap;
|
|
26607
|
+
align-items: center;
|
|
26608
|
+
gap: 0.75rem 1.25rem;
|
|
26609
|
+
}
|
|
26610
|
+
|
|
26611
|
+
:where(.theme-scope) .rb-footer-social-link:has(> .rb-footer-social-icon) {
|
|
26612
|
+
display: inline-grid;
|
|
26613
|
+
place-items: center;
|
|
26614
|
+
width: 2.5rem;
|
|
26615
|
+
height: 2.5rem;
|
|
26616
|
+
border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
|
|
26617
|
+
border-radius: 9999px;
|
|
26618
|
+
}
|
|
26619
|
+
|
|
26620
|
+
:where(.theme-scope) .rb-footer-socials:has(.rb-footer-social-icon) {
|
|
26621
|
+
gap: 0.5rem;
|
|
26622
|
+
}
|
|
26623
|
+
|
|
26624
|
+
:where(.theme-scope) .rb-footer-social-link:has(> .rb-footer-social-icon):hover {
|
|
26625
|
+
border-color: currentColor;
|
|
26626
|
+
}
|
|
26627
|
+
|
|
26628
|
+
:where(.theme-scope) .rb-footer-social-icon {
|
|
26629
|
+
width: 1.5rem;
|
|
26630
|
+
height: 1.5rem;
|
|
26200
26631
|
}`;
|
|
26201
26632
|
//#endregion
|
|
26202
26633
|
//#region ../theme-core/src/ThemeScopeCore.tsx
|
|
@@ -26446,6 +26877,7 @@ const BORDER_WIDTH_MAP = {
|
|
|
26446
26877
|
medium: "2px",
|
|
26447
26878
|
thick: "4px"
|
|
26448
26879
|
};
|
|
26880
|
+
const INPUT_PADDING = "0.5rem 0.75rem";
|
|
26449
26881
|
const SHADOW_VALUES = {
|
|
26450
26882
|
none: "none",
|
|
26451
26883
|
low: "0 1px 2px rgba(0,0,0,0.04)",
|
|
@@ -26479,16 +26911,18 @@ function generateInputCoreCss(scopeId, settings) {
|
|
|
26479
26911
|
color: rgb(var(--tb-${settings.textToken}));
|
|
26480
26912
|
border: ${borderWidth} solid rgb(var(--tb-${settings.borderToken}));
|
|
26481
26913
|
border-radius: ${borderRadius};
|
|
26482
|
-
padding:
|
|
26914
|
+
padding: ${INPUT_PADDING};
|
|
26483
26915
|
font-size: 1rem;
|
|
26484
26916
|
width: 100%;
|
|
26485
26917
|
outline: none;
|
|
26486
26918
|
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
26487
26919
|
${settings.shadow !== "none" ? `box-shadow: ${SHADOW_VALUES[settings.shadow]};` : ""}
|
|
26488
26920
|
`.trim();
|
|
26489
|
-
cssBlocks.push(`${root} .form-input
|
|
26921
|
+
cssBlocks.push(`${root} .form-input,
|
|
26922
|
+
${root} ${INPUT_GROUP_SELECTOR} {
|
|
26490
26923
|
${sharedInputRules}
|
|
26491
26924
|
}`);
|
|
26925
|
+
cssBlocks.push(generateInputGroupCss(root, INPUT_PADDING));
|
|
26492
26926
|
cssBlocks.push(`${root} .form-textarea {
|
|
26493
26927
|
${sharedInputRules}
|
|
26494
26928
|
resize: vertical;
|
|
@@ -26505,14 +26939,16 @@ function generateInputCoreCss(scopeId, settings) {
|
|
|
26505
26939
|
}`);
|
|
26506
26940
|
cssBlocks.push(`${root} .form-input:focus-visible,
|
|
26507
26941
|
${root} .form-textarea:focus-visible,
|
|
26508
|
-
${root} .form-select:focus-visible
|
|
26942
|
+
${root} .form-select:focus-visible,
|
|
26943
|
+
${root} ${INPUT_GROUP_FOCUS_SELECTOR} {
|
|
26509
26944
|
outline: none;
|
|
26510
26945
|
box-shadow: 0 0 0 ${settings.focusRingWidth}px rgb(var(--tb-${settings.focusRingToken}));
|
|
26511
26946
|
border-color: rgb(var(--tb-${settings.focusRingToken}));
|
|
26512
26947
|
}`);
|
|
26513
26948
|
cssBlocks.push(`${root} .form-input[aria-invalid="true"],
|
|
26514
26949
|
${root} .form-textarea[aria-invalid="true"],
|
|
26515
|
-
${root} .form-select[aria-invalid="true"]
|
|
26950
|
+
${root} .form-select[aria-invalid="true"],
|
|
26951
|
+
${root} ${INPUT_GROUP_ERROR_SELECTOR} {
|
|
26516
26952
|
border-color: rgb(var(--tb-${settings.errorBorderToken}));
|
|
26517
26953
|
color: rgb(var(--tb-${settings.errorTextToken}));
|
|
26518
26954
|
}`);
|
|
@@ -26524,46 +26960,15 @@ ${root} .form-select:disabled {
|
|
|
26524
26960
|
opacity: 0.6;
|
|
26525
26961
|
cursor: not-allowed;
|
|
26526
26962
|
}`);
|
|
26527
|
-
cssBlocks.push(
|
|
26528
|
-
|
|
26529
|
-
|
|
26530
|
-
|
|
26531
|
-
|
|
26532
|
-
|
|
26533
|
-
|
|
26534
|
-
|
|
26535
|
-
|
|
26536
|
-
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
26537
|
-
}`);
|
|
26538
|
-
cssBlocks.push(`${root} .form-radio {
|
|
26539
|
-
appearance: none;
|
|
26540
|
-
width: 1.125rem;
|
|
26541
|
-
height: 1.125rem;
|
|
26542
|
-
flex-shrink: 0;
|
|
26543
|
-
border: ${borderWidth} solid rgb(var(--tb-${settings.borderToken}));
|
|
26544
|
-
border-radius: 9999px;
|
|
26545
|
-
background-color: rgb(var(--tb-${settings.backgroundToken}));
|
|
26546
|
-
cursor: pointer;
|
|
26547
|
-
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
26548
|
-
}`);
|
|
26549
|
-
cssBlocks.push(`${root} .form-checkbox:checked {
|
|
26550
|
-
background-color: rgb(var(--tb-${settings.focusRingToken}));
|
|
26551
|
-
border-color: rgb(var(--tb-${settings.focusRingToken}));
|
|
26552
|
-
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
|
|
26553
|
-
background-size: 100% 100%;
|
|
26554
|
-
background-position: center;
|
|
26555
|
-
background-repeat: no-repeat;
|
|
26556
|
-
}`);
|
|
26557
|
-
cssBlocks.push(`${root} .form-radio:checked {
|
|
26558
|
-
background-color: rgb(var(--tb-${settings.focusRingToken}));
|
|
26559
|
-
border-color: rgb(var(--tb-${settings.focusRingToken}));
|
|
26560
|
-
background-image: radial-gradient(circle, white 40%, transparent 40%);
|
|
26561
|
-
}`);
|
|
26562
|
-
cssBlocks.push(`${root} .form-checkbox:focus-visible,
|
|
26563
|
-
${root} .form-radio:focus-visible {
|
|
26564
|
-
outline: none;
|
|
26565
|
-
box-shadow: 0 0 0 ${settings.focusRingWidth}px rgb(var(--tb-${settings.focusRingToken}));
|
|
26566
|
-
}`);
|
|
26963
|
+
cssBlocks.push(generateCheckableCss({
|
|
26964
|
+
root,
|
|
26965
|
+
borderWidth,
|
|
26966
|
+
borderColor: `rgb(var(--tb-${settings.borderToken}))`,
|
|
26967
|
+
background: `rgb(var(--tb-${settings.backgroundToken}))`,
|
|
26968
|
+
corners: settings.corners,
|
|
26969
|
+
accentToken: settings.focusRingToken,
|
|
26970
|
+
errorColor: `rgb(var(--tb-${settings.errorBorderToken}))`
|
|
26971
|
+
}));
|
|
26567
26972
|
return cssBlocks.join("\n\n");
|
|
26568
26973
|
}
|
|
26569
26974
|
/**
|