@riverbankcms/sdk 0.135.1 → 0.137.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 +114 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-D4p_5TdY.mjs → PreviewEditorSidebar-Bn6cONPa.mjs} +8 -8
- package/dist/{PreviewEditorUI-D0cRoTX1.mjs → PreviewEditorUI-LAwXZPSx.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-ztQUdsNo.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BKLtM3Nz.mjs → SdkPreviewModeRuntime-BbbGsI_v.mjs} +621 -238
- package/dist/{SiteChromeCustomizeContext-61X2m7QV.mjs → SiteChromeCustomizeContext-BbkNSt5a.mjs} +5041 -2407
- package/dist/_dts/ai/src/contracts/proposals.d.ts +18 -850
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +412 -2316
- package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
- package/dist/_dts/api/src/accessAdmin.d.ts +1 -9
- package/dist/_dts/api/src/accountApi.d.ts +49 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +7 -4
- package/dist/_dts/api/src/domainConnection.d.ts +41 -0
- package/dist/_dts/api/src/endpoints.d.ts +201 -181
- package/dist/_dts/api/src/index.d.ts +5 -3
- package/dist/_dts/api/src/media.d.ts +19 -2
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sdkBlockContentAdmission.d.ts +5 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -15
- package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
- package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +61 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +21 -436
- package/dist/_dts/api/src/siteInfrastructure.d.ts +17 -23
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +7 -21
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +27 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -3
- package/dist/_dts/block-form/src/utils/slug.d.ts +6 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +13 -7
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -0
- package/dist/_dts/blocks/src/definitions.d.ts +14 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -3
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +49 -0
- package/dist/_dts/blocks/src/pageRendererBlockSupport.d.ts +75 -0
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +2 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +78 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +2 -18
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +103 -16
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- 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 +19 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +47 -21
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +38 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +8 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarNavigationChevron.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalContext.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +31 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -1
- package/dist/_dts/calendar/src/grid.d.ts +24 -66
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/calendar/src/timetable.d.ts +5 -9
- package/dist/_dts/commerce/src/purchase/allocation.d.ts +11 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +3 -0
- package/dist/_dts/commerce/src/purchase/settlement.d.ts +33 -0
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -0
- package/dist/_dts/core/src/slug.d.ts +20 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +8 -40
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
- package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +10 -6
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +17 -0
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +9 -3
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +7 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +25 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -810
- package/dist/_dts/theme-core/src/schema.d.ts +460 -1285
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +223 -1
- package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
- package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -38
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +10 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +8 -5
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
- package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +465 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +168 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
- package/dist/client/{BookingConsentAgreement-Bz9znbpn.mjs → BookingConsentAgreement--_fUCZe-.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-35Ru8yB9.mjs → DiscountCodeDisclosure-BMipSoDJ.mjs} +1 -1
- package/dist/client/{EventCombined.client-BKB0ZxRR.mjs → EventCombined.client-CwJOxn7A.mjs} +274 -278
- package/dist/client/{EventListing.client-Dx8I21ok.mjs → EventListing.client-eVwiylPW.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CEWx-Bhe.mjs → LeafletStaticMap-IKenna5u.mjs} +1 -1
- package/dist/client/{accordion-KIDsKTwS.mjs → accordion-MGAO3PuE.mjs} +1 -1
- package/dist/client/{bookingForm-D96Rmp-5.mjs → bookingForm-CudlQPUu.mjs} +5 -5
- package/dist/client/bookings.mjs +476 -98
- package/dist/client/capacity-BW00PO7s.mjs +271 -0
- package/dist/client/{carousel-YwUgyL66.mjs → carousel-BrbGJ2Jl.mjs} +1 -1
- package/dist/client/{cart-BbwuNrUT.mjs → cart-Bq5eU0xZ.mjs} +3 -3
- package/dist/client/{checkout-hp1ucmEY.mjs → checkout-BAFVRdrK.mjs} +3 -3
- package/dist/client/client.mjs +4641 -2721
- package/dist/client/{context-DljQn8L5.mjs → context-DCkiHVdD.mjs} +20 -5
- package/dist/client/dates-2RPXHQy4.mjs +264 -0
- package/dist/client/{eventCalendar-DU4iNLpo.mjs → eventCalendar-B0O-hPF7.mjs} +261 -126
- package/dist/client/{eventCombined-CZuupW8m.mjs → eventCombined-DCkDaoDI.mjs} +3 -3
- package/dist/client/{eventDetails-DPQWwCIi.mjs → eventDetails-D8GG2dnD.mjs} +7 -4
- package/dist/client/{eventListing-C7oMidwS.mjs → eventListing-3ssV_bxz.mjs} +3 -3
- package/dist/client/{eventRegistration-zEiunlUs.mjs → eventRegistration-bPQo3kVw.mjs} +610 -313
- package/dist/client/{form-D2KIyCVJ.mjs → form-qMv8RDkk.mjs} +2 -2
- package/dist/client/{headerSection-CK5uChUK.mjs → headerSection-CH0Sc5hX.mjs} +2 -2
- package/dist/client/hooks.mjs +2514 -308
- package/dist/client/{locationMap-DLQNH1ln.mjs → locationMap-0_xlBnNI.mjs} +2 -2
- package/dist/client/{newsletterForm-ZuhIG7fZ.mjs → newsletterForm-NUW7m9RI.mjs} +2 -2
- package/dist/client/{productDetail-7hIcGeae.mjs → productDetail-FBEOM7jW.mjs} +3 -3
- package/dist/client/{productList-T4Cii1ot.mjs → productList-R0OSGhnn.mjs} +3 -3
- package/dist/client/{propsDecoder-mB0aC_Fi.mjs → propsDecoder-pYvx_Srl.mjs} +179 -401
- package/dist/client/rendering/client.mjs +3496 -2223
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +4400 -2510
- package/dist/client/{scrollToBlock-Du5mHgvL.mjs → scrollToBlock-ByQv96M2.mjs} +1 -1
- package/dist/client/{shop-B5zAcKZn.mjs → shop-RUG9DmRE.mjs} +6 -6
- package/dist/client/{shop-commerce-BKBZB6l5.mjs → shop-commerce-B76Jz23B.mjs} +5 -5
- package/dist/client/{shop-commerce-store-Cq4qlNtQ.mjs → shop-commerce-store-QuQNdDsD.mjs} +1 -1
- package/dist/client/{shopShared-DYGzEs9D.mjs → shopShared-vXU1omwJ.mjs} +3 -3
- package/dist/client/{useEventFilters-Bphkda8m.mjs → useEventFilters-ByuU6HLA.mjs} +33 -18
- package/dist/preview-next/before-render.mjs +86 -51
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +86 -51
- package/dist/preview-next/middleware.mjs +86 -51
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-L_cKW8Sb.mjs} +86 -51
- package/dist/{sdk-runtime-BbIC8G4J.mjs → sdk-runtime-sUMr5d70.mjs} +2 -2
- package/dist/{separator-CadhAtI7.mjs → separator-BIHkie5i.mjs} +1 -1
- package/dist/server/components.mjs +4397 -2960
- package/dist/server/config-validation.mjs +354 -145
- package/dist/server/config.mjs +354 -145
- package/dist/server/data.mjs +354 -144
- package/dist/server/index.mjs +201 -55
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +4046 -2611
- package/dist/server/page-converter.mjs +225 -122
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4105 -2636
- package/dist/server/rendering.mjs +4522 -3087
- package/dist/server/routing.mjs +3289 -1637
- package/dist/server/server.mjs +23175 -21079
- package/dist/server/theme-bridge.mjs +708 -272
- package/dist/server/theme.mjs +29 -25
- package/dist/styles/index.css +624 -181
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
- /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
|
@@ -4348,6 +4348,11 @@ const gradientConfigSchema = z.object({
|
|
|
4348
4348
|
position: z.string().optional(),
|
|
4349
4349
|
stops: z.array(gradientStopSchema).min(2)
|
|
4350
4350
|
});
|
|
4351
|
+
const gradientsSchema = z.object({
|
|
4352
|
+
button: z.string().min(1).nullable().optional(),
|
|
4353
|
+
hero: z.string().min(1).nullable().optional(),
|
|
4354
|
+
background: z.string().min(1).nullable().optional()
|
|
4355
|
+
});
|
|
4351
4356
|
//#endregion
|
|
4352
4357
|
//#region ../theme-core/src/interactive/baseSchema.ts
|
|
4353
4358
|
/**
|
|
@@ -5006,12 +5011,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
5006
5011
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
5007
5012
|
* would leak straight into a public type.
|
|
5008
5013
|
*
|
|
5009
|
-
*
|
|
5010
|
-
*
|
|
5011
|
-
* `apps/dashboard/src/server/services/sites/runtimeSiteResponse.ts` returns the
|
|
5012
|
-
* raw database JSON asserted as `Theme` with no parse, so a theme still
|
|
5013
|
-
* carrying a legacy spelling reaches the theme editor un-aliased. That gap
|
|
5014
|
-
* predates this alias and is harmless while persisted usage is zero.
|
|
5014
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
5015
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
5015
5016
|
*/
|
|
5016
5017
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
5017
5018
|
const BREAKPOINT_LG = 1024;
|
|
@@ -5063,11 +5064,30 @@ const headerContainerSchema = z.object({
|
|
|
5063
5064
|
tint: z.string().nullable().optional(),
|
|
5064
5065
|
opacity: z.number().min(0).max(1).default(.12)
|
|
5065
5066
|
}).optional();
|
|
5066
|
-
|
|
5067
|
+
//#endregion
|
|
5068
|
+
//#region ../theme-core/src/header/interactionPalette.ts
|
|
5069
|
+
/**
|
|
5070
|
+
* The palettes that fill the nav link with a colour on hover and focus. Each
|
|
5071
|
+
* one names a background/foreground token pair.
|
|
5072
|
+
*/
|
|
5073
|
+
const headerInteractionPillPaletteValues = [
|
|
5067
5074
|
"primary",
|
|
5068
5075
|
"secondary",
|
|
5069
5076
|
"accent"
|
|
5070
|
-
]
|
|
5077
|
+
];
|
|
5078
|
+
/**
|
|
5079
|
+
* "No pill": the nav link keeps whatever hover treatment its recipe compiled,
|
|
5080
|
+
* and the palette step writes nothing at all (#1318 Phase 4c decision 2).
|
|
5081
|
+
*
|
|
5082
|
+
* It exists because "a colour change on hover, no filled background" was not
|
|
5083
|
+
* expressible in the vocabulary, and it is what
|
|
5084
|
+
* `anna-raven-therapy-and-yoga` and `kirtan-lucy` have rendered since before
|
|
5085
|
+
* the palette existed. Without it those two rows can only be classified as a
|
|
5086
|
+
* conscious visual change.
|
|
5087
|
+
*/
|
|
5088
|
+
const headerInteractionQuietPalette = "quiet";
|
|
5089
|
+
const headerInteractionPaletteValues = [...headerInteractionPillPaletteValues, headerInteractionQuietPalette];
|
|
5090
|
+
const headerInteractionPaletteSchema = z.enum(headerInteractionPaletteValues);
|
|
5071
5091
|
//#endregion
|
|
5072
5092
|
//#region ../theme-core/src/boxBackgroundSchema.ts
|
|
5073
5093
|
const boxBackgroundOverlaySchema = z.preprocess(normalizeAuthoringOpacity, z.discriminatedUnion("type", [
|
|
@@ -5470,7 +5490,6 @@ const navFontWeight = z.enum([
|
|
|
5470
5490
|
"bold"
|
|
5471
5491
|
]);
|
|
5472
5492
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
5473
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
5474
5493
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
5475
5494
|
"bottom",
|
|
5476
5495
|
"top",
|
|
@@ -5499,12 +5518,6 @@ const headerLogoTextSchema = z.object({
|
|
|
5499
5518
|
]).optional(),
|
|
5500
5519
|
hideOnShrink: z.boolean().optional()
|
|
5501
5520
|
}).optional();
|
|
5502
|
-
const navEffectsSchema = z.object({
|
|
5503
|
-
underlineGradient: z.boolean().default(false),
|
|
5504
|
-
glow: z.boolean().default(false),
|
|
5505
|
-
glowColor: z.string().optional(),
|
|
5506
|
-
neumorphic: z.boolean().default(false)
|
|
5507
|
-
}).optional();
|
|
5508
5521
|
const dropdownStyleSchema = z.object({
|
|
5509
5522
|
background: themeColorTokenSchema.default("surface"),
|
|
5510
5523
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -5595,10 +5608,8 @@ const headerSchema = z.object({
|
|
|
5595
5608
|
variant: headerVariantWithLegacyAliasSchema,
|
|
5596
5609
|
positioning: headerPositioning,
|
|
5597
5610
|
shrinkOnScroll: z.boolean(),
|
|
5598
|
-
maxWidth: headerMaxWidth,
|
|
5599
|
-
barFrame: headerBarFrame.optional(),
|
|
5611
|
+
maxWidth: headerMaxWidth.default("container"),
|
|
5600
5612
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
5601
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
5602
5613
|
background: headerBackgroundSchema.default({
|
|
5603
5614
|
type: "color",
|
|
5604
5615
|
color: "surface"
|
|
@@ -5610,13 +5621,11 @@ const headerSchema = z.object({
|
|
|
5610
5621
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
5611
5622
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
5612
5623
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
5613
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
5614
5624
|
container: headerContainerSchema,
|
|
5615
5625
|
border: headerBorderSchema,
|
|
5616
5626
|
shadow: componentShadowSchema.optional(),
|
|
5617
5627
|
logo: logoStyleSchema,
|
|
5618
5628
|
logoText: headerLogoTextSchema,
|
|
5619
|
-
navEffects: navEffectsSchema,
|
|
5620
5629
|
navContainer: navContainerSchema,
|
|
5621
5630
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
5622
5631
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -5798,11 +5807,6 @@ const bodyTextSchema = z.object({ intro: z.object({
|
|
|
5798
5807
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
5799
5808
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
5800
5809
|
}).optional() }).optional();
|
|
5801
|
-
const gradientsSchema = z.object({
|
|
5802
|
-
button: z.string().min(1).nullable().optional(),
|
|
5803
|
-
hero: z.string().min(1).nullable().optional(),
|
|
5804
|
-
background: z.string().min(1).nullable().optional()
|
|
5805
|
-
});
|
|
5806
5810
|
/**
|
|
5807
5811
|
* Testimonial quote-mark treatment, owned by the site style (analogous to the
|
|
5808
5812
|
* accordion icon). `style` is the coarse selector; the optional fields fine-tune
|
|
@@ -8011,38 +8015,6 @@ function asHeaderStyleId(value) {
|
|
|
8011
8015
|
return value;
|
|
8012
8016
|
}
|
|
8013
8017
|
//#endregion
|
|
8014
|
-
//#region ../theme-core/src/site-styles/lookOptionGroups.ts
|
|
8015
|
-
function defineLookOptionGroup(group) {
|
|
8016
|
-
defaultOption(group);
|
|
8017
|
-
return group;
|
|
8018
|
-
}
|
|
8019
|
-
function defaultOption(group) {
|
|
8020
|
-
const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
|
|
8021
|
-
if (option) return option;
|
|
8022
|
-
throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
|
|
8023
|
-
}
|
|
8024
|
-
//#endregion
|
|
8025
|
-
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
8026
|
-
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
8027
|
-
id: "interaction-palette",
|
|
8028
|
-
label: "Hover colour",
|
|
8029
|
-
defaultOptionId: "accent",
|
|
8030
|
-
options: [
|
|
8031
|
-
{
|
|
8032
|
-
id: "accent",
|
|
8033
|
-
label: "Accent"
|
|
8034
|
-
},
|
|
8035
|
-
{
|
|
8036
|
-
id: "primary",
|
|
8037
|
-
label: "Primary"
|
|
8038
|
-
},
|
|
8039
|
-
{
|
|
8040
|
-
id: "secondary",
|
|
8041
|
-
label: "Secondary"
|
|
8042
|
-
}
|
|
8043
|
-
]
|
|
8044
|
-
});
|
|
8045
|
-
//#endregion
|
|
8046
8018
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
8047
8019
|
const titleOnlyLogoAccommodation = {
|
|
8048
8020
|
pattern: "title-only",
|
|
@@ -8162,6 +8134,12 @@ const overlayLogoAccommodations = [
|
|
|
8162
8134
|
inlineMarkWithTitleLogoAccommodation,
|
|
8163
8135
|
unbackedOverlayLogoAccommodation
|
|
8164
8136
|
];
|
|
8137
|
+
const allCuratedLogoAccommodations = [
|
|
8138
|
+
...inlineClassicLogoAccommodations,
|
|
8139
|
+
...centeredLogoAccommodations,
|
|
8140
|
+
...overlayLogoAccommodations
|
|
8141
|
+
];
|
|
8142
|
+
new Set(allCuratedLogoAccommodations.filter((option) => option.providesBacking === true).map((option) => option.pattern));
|
|
8165
8143
|
const headerLayoutCatalog = defineExactCatalog()([
|
|
8166
8144
|
{
|
|
8167
8145
|
id: asHeaderLayoutId("classic"),
|
|
@@ -8202,43 +8180,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
8202
8180
|
id: asHeaderStyleId("minimal"),
|
|
8203
8181
|
label: "Minimal",
|
|
8204
8182
|
description: "Quiet surface with simple color-change navigation.",
|
|
8205
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8206
|
-
navTypography: "plain"
|
|
8183
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8207
8184
|
},
|
|
8208
8185
|
{
|
|
8209
8186
|
id: asHeaderStyleId("fine-line"),
|
|
8210
8187
|
label: "Seamless",
|
|
8211
8188
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
8212
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8213
|
-
navTypography: "plain"
|
|
8189
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8214
8190
|
},
|
|
8215
8191
|
{
|
|
8216
8192
|
id: asHeaderStyleId("soft-bar"),
|
|
8217
8193
|
label: "Soft Bar",
|
|
8218
8194
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
8219
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8220
|
-
navTypography: "plain"
|
|
8195
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8221
8196
|
},
|
|
8222
8197
|
{
|
|
8223
8198
|
id: asHeaderStyleId("pill-nav"),
|
|
8224
8199
|
label: "Pill Nav",
|
|
8225
8200
|
description: "A calm pill navigation rail over a neutral header.",
|
|
8226
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8227
|
-
navTypography: "plain"
|
|
8201
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8228
8202
|
},
|
|
8229
8203
|
{
|
|
8230
8204
|
id: asHeaderStyleId("brand-bar"),
|
|
8231
8205
|
label: "Brand Bar",
|
|
8232
8206
|
description: "Solid brand surface with high-contrast navigation.",
|
|
8233
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8234
|
-
navTypography: "brand-caps"
|
|
8207
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8235
8208
|
},
|
|
8236
8209
|
{
|
|
8237
8210
|
id: asHeaderStyleId("brand-underline"),
|
|
8238
8211
|
label: "Brand Underline",
|
|
8239
8212
|
description: "Brand surface with underline-grow navigation.",
|
|
8240
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8241
|
-
navTypography: "brand-caps"
|
|
8213
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8242
8214
|
},
|
|
8243
8215
|
{
|
|
8244
8216
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -8248,74 +8220,94 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
8248
8220
|
"classic",
|
|
8249
8221
|
"centered",
|
|
8250
8222
|
"floating"
|
|
8251
|
-
])
|
|
8252
|
-
navTypography: "brand-caps"
|
|
8223
|
+
])
|
|
8253
8224
|
},
|
|
8254
8225
|
{
|
|
8255
8226
|
id: asHeaderStyleId("brand-capsule"),
|
|
8256
8227
|
label: "Brand Capsule",
|
|
8257
8228
|
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
8258
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8259
|
-
navTypography: "quiet-caps"
|
|
8229
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8260
8230
|
},
|
|
8261
8231
|
{
|
|
8262
8232
|
id: asHeaderStyleId("serif-line"),
|
|
8263
8233
|
label: "Serif Line",
|
|
8264
8234
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
8265
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8266
|
-
navTypography: "heading"
|
|
8235
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8267
8236
|
},
|
|
8268
8237
|
{
|
|
8269
8238
|
id: asHeaderStyleId("flat-tabs"),
|
|
8270
8239
|
label: "Flat Tabs",
|
|
8271
8240
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
8272
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8273
|
-
navTypography: "quiet-caps"
|
|
8241
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8274
8242
|
},
|
|
8275
8243
|
{
|
|
8276
8244
|
id: asHeaderStyleId("glass"),
|
|
8277
8245
|
label: "Glass",
|
|
8278
8246
|
description: "Translucent chrome with frosted navigation backing.",
|
|
8279
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8280
|
-
navTypography: "plain"
|
|
8247
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8281
8248
|
},
|
|
8282
8249
|
{
|
|
8283
8250
|
id: asHeaderStyleId("minimal-surface"),
|
|
8284
8251
|
label: "Clear Split",
|
|
8285
8252
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
8286
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8287
|
-
navTypography: "plain",
|
|
8288
|
-
openingForegroundTarget: "all",
|
|
8289
|
-
scrollTreatment: "contrast-glass",
|
|
8290
|
-
interactionPalette: clearSplitInteractionPalette
|
|
8253
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8291
8254
|
},
|
|
8292
8255
|
{
|
|
8293
8256
|
id: asHeaderStyleId("soft-shell"),
|
|
8294
8257
|
label: "Soft Shell",
|
|
8295
8258
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
8296
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8297
|
-
navTypography: "plain"
|
|
8259
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8298
8260
|
},
|
|
8299
8261
|
{
|
|
8300
8262
|
id: asHeaderStyleId("split-glass"),
|
|
8301
8263
|
label: "Split Glass",
|
|
8302
8264
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
8303
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8304
|
-
navTypography: "quiet-caps",
|
|
8305
|
-
openingForegroundTarget: "brand-only"
|
|
8265
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8306
8266
|
},
|
|
8307
8267
|
{
|
|
8308
8268
|
id: asHeaderStyleId("split-pill"),
|
|
8309
8269
|
label: "Split Pill",
|
|
8310
8270
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
8311
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8312
|
-
navTypography: "heading",
|
|
8313
|
-
openingForegroundTarget: "brand-only"
|
|
8271
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8314
8272
|
}
|
|
8315
8273
|
]);
|
|
8316
8274
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
8317
8275
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
8318
8276
|
//#endregion
|
|
8277
|
+
//#region ../theme-core/src/site-styles/lookOptionGroups.ts
|
|
8278
|
+
function defineLookOptionGroup(group) {
|
|
8279
|
+
defaultOption(group);
|
|
8280
|
+
return group;
|
|
8281
|
+
}
|
|
8282
|
+
function defaultOption(group) {
|
|
8283
|
+
const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
|
|
8284
|
+
if (option) return option;
|
|
8285
|
+
throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
|
|
8286
|
+
}
|
|
8287
|
+
defineLookOptionGroup({
|
|
8288
|
+
id: "interaction-palette",
|
|
8289
|
+
label: "Hover colour",
|
|
8290
|
+
defaultOptionId: "accent",
|
|
8291
|
+
options: [
|
|
8292
|
+
{
|
|
8293
|
+
id: "accent",
|
|
8294
|
+
label: "Accent"
|
|
8295
|
+
},
|
|
8296
|
+
{
|
|
8297
|
+
id: "primary",
|
|
8298
|
+
label: "Primary"
|
|
8299
|
+
},
|
|
8300
|
+
{
|
|
8301
|
+
id: "secondary",
|
|
8302
|
+
label: "Secondary"
|
|
8303
|
+
},
|
|
8304
|
+
{
|
|
8305
|
+
id: headerInteractionQuietPalette,
|
|
8306
|
+
label: "Text only"
|
|
8307
|
+
}
|
|
8308
|
+
]
|
|
8309
|
+
});
|
|
8310
|
+
//#endregion
|
|
8319
8311
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
8320
8312
|
function asFooterLookId(value) {
|
|
8321
8313
|
return value;
|
|
@@ -18178,31 +18170,37 @@ const containerResponsiveThemeCss = `/*
|
|
|
18178
18170
|
*/
|
|
18179
18171
|
|
|
18180
18172
|
/* Main container */
|
|
18181
|
-
:where(.theme-scope) :where([data-block=
|
|
18173
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar {
|
|
18182
18174
|
width: 100%;
|
|
18183
18175
|
}
|
|
18184
18176
|
|
|
18185
|
-
:where(.theme-scope)
|
|
18177
|
+
:where(.theme-scope)
|
|
18178
|
+
:where([data-block='event-calendar'])
|
|
18179
|
+
.event-calendar-container {
|
|
18186
18180
|
border: 1px solid var(--ec-border);
|
|
18187
18181
|
border-radius: var(--rb-block-radius);
|
|
18188
18182
|
overflow: hidden;
|
|
18189
18183
|
}
|
|
18190
18184
|
|
|
18191
18185
|
/* Calendar navigation */
|
|
18192
|
-
:where(.theme-scope)
|
|
18186
|
+
:where(.theme-scope)
|
|
18187
|
+
:where([data-block='event-calendar'])
|
|
18188
|
+
.event-calendar-header {
|
|
18193
18189
|
display: flex;
|
|
18194
18190
|
align-items: center;
|
|
18195
18191
|
justify-content: space-between;
|
|
18196
18192
|
margin-bottom: 1rem;
|
|
18197
18193
|
}
|
|
18198
18194
|
|
|
18199
|
-
:where(.theme-scope) :where([data-block=
|
|
18195
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar-nav {
|
|
18200
18196
|
display: flex;
|
|
18201
18197
|
align-items: center;
|
|
18202
18198
|
gap: 0.5rem;
|
|
18203
18199
|
}
|
|
18204
18200
|
|
|
18205
|
-
:where(.theme-scope)
|
|
18201
|
+
:where(.theme-scope)
|
|
18202
|
+
:where([data-block='event-calendar'])
|
|
18203
|
+
.event-calendar-nav-btn {
|
|
18206
18204
|
display: flex;
|
|
18207
18205
|
align-items: center;
|
|
18208
18206
|
justify-content: center;
|
|
@@ -18217,11 +18215,15 @@ const containerResponsiveThemeCss = `/*
|
|
|
18217
18215
|
transition: background-color var(--rb-block-transition) ease;
|
|
18218
18216
|
}
|
|
18219
18217
|
|
|
18220
|
-
:where(.theme-scope)
|
|
18218
|
+
:where(.theme-scope)
|
|
18219
|
+
:where([data-block='event-calendar'])
|
|
18220
|
+
.event-calendar-nav-btn:hover {
|
|
18221
18221
|
background-color: var(--ec-nav-hover-bg);
|
|
18222
18222
|
}
|
|
18223
18223
|
|
|
18224
|
-
:where(.theme-scope)
|
|
18224
|
+
:where(.theme-scope)
|
|
18225
|
+
:where([data-block='event-calendar'])
|
|
18226
|
+
.event-calendar-title {
|
|
18225
18227
|
font-size: 1.125rem;
|
|
18226
18228
|
font-weight: 600;
|
|
18227
18229
|
min-width: 200px;
|
|
@@ -18229,13 +18231,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18229
18231
|
}
|
|
18230
18232
|
|
|
18231
18233
|
/* Day headers */
|
|
18232
|
-
:where(.theme-scope)
|
|
18234
|
+
:where(.theme-scope)
|
|
18235
|
+
:where([data-block='event-calendar'])
|
|
18236
|
+
.event-calendar-day-headers {
|
|
18233
18237
|
display: grid;
|
|
18234
18238
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
18235
18239
|
background-color: var(--ec-header-bg);
|
|
18236
18240
|
}
|
|
18237
18241
|
|
|
18238
|
-
:where(.theme-scope)
|
|
18242
|
+
:where(.theme-scope)
|
|
18243
|
+
:where([data-block='event-calendar'])
|
|
18244
|
+
.event-calendar-day-header {
|
|
18239
18245
|
text-align: center;
|
|
18240
18246
|
padding: 0.5rem;
|
|
18241
18247
|
font-size: 0.875rem;
|
|
@@ -18245,33 +18251,43 @@ const containerResponsiveThemeCss = `/*
|
|
|
18245
18251
|
}
|
|
18246
18252
|
|
|
18247
18253
|
/* Calendar grid */
|
|
18248
|
-
:where(.theme-scope)
|
|
18254
|
+
:where(.theme-scope)
|
|
18255
|
+
:where([data-block='event-calendar'])
|
|
18256
|
+
.event-calendar-grid {
|
|
18249
18257
|
display: grid;
|
|
18250
18258
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
18251
18259
|
}
|
|
18252
18260
|
|
|
18253
18261
|
/* Day cells */
|
|
18254
|
-
:where(.theme-scope) :where([data-block=
|
|
18262
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar-day {
|
|
18255
18263
|
min-height: 100px;
|
|
18256
18264
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18257
18265
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18258
18266
|
padding: 0.25rem;
|
|
18259
18267
|
}
|
|
18260
18268
|
|
|
18261
|
-
:where(.theme-scope)
|
|
18269
|
+
:where(.theme-scope)
|
|
18270
|
+
:where([data-block='event-calendar'])
|
|
18271
|
+
.event-calendar-day:nth-child(7n) {
|
|
18262
18272
|
border-right: none;
|
|
18263
18273
|
}
|
|
18264
18274
|
|
|
18265
|
-
:where(.theme-scope)
|
|
18275
|
+
:where(.theme-scope)
|
|
18276
|
+
:where([data-block='event-calendar'])
|
|
18277
|
+
.event-calendar-day--today {
|
|
18266
18278
|
background-color: var(--ec-today-bg);
|
|
18267
18279
|
}
|
|
18268
18280
|
|
|
18269
|
-
:where(.theme-scope)
|
|
18281
|
+
:where(.theme-scope)
|
|
18282
|
+
:where([data-block='event-calendar'])
|
|
18283
|
+
.event-calendar-day--other-month {
|
|
18270
18284
|
opacity: var(--ec-other-month-opacity);
|
|
18271
18285
|
}
|
|
18272
18286
|
|
|
18273
18287
|
/* Day number */
|
|
18274
|
-
:where(.theme-scope)
|
|
18288
|
+
:where(.theme-scope)
|
|
18289
|
+
:where([data-block='event-calendar'])
|
|
18290
|
+
.event-calendar-day-number {
|
|
18275
18291
|
font-size: 0.875rem;
|
|
18276
18292
|
font-weight: 500;
|
|
18277
18293
|
margin-bottom: 0.25rem;
|
|
@@ -18279,21 +18295,28 @@ const containerResponsiveThemeCss = `/*
|
|
|
18279
18295
|
opacity: var(--ec-day-number-opacity);
|
|
18280
18296
|
}
|
|
18281
18297
|
|
|
18282
|
-
:where(.theme-scope)
|
|
18298
|
+
:where(.theme-scope)
|
|
18299
|
+
:where([data-block='event-calendar'])
|
|
18300
|
+
.event-calendar-day--today
|
|
18301
|
+
.event-calendar-day-number {
|
|
18283
18302
|
font-weight: 700;
|
|
18284
18303
|
opacity: 1;
|
|
18285
18304
|
color: var(--ec-today-text);
|
|
18286
18305
|
}
|
|
18287
18306
|
|
|
18288
18307
|
/* Events list */
|
|
18289
|
-
:where(.theme-scope)
|
|
18308
|
+
:where(.theme-scope)
|
|
18309
|
+
:where([data-block='event-calendar'])
|
|
18310
|
+
.event-calendar-events {
|
|
18290
18311
|
display: flex;
|
|
18291
18312
|
flex-direction: column;
|
|
18292
18313
|
gap: 0.25rem;
|
|
18293
18314
|
}
|
|
18294
18315
|
|
|
18295
18316
|
/* Event item - solid primary background */
|
|
18296
|
-
:where(.theme-scope)
|
|
18317
|
+
:where(.theme-scope)
|
|
18318
|
+
:where([data-block='event-calendar'])
|
|
18319
|
+
.event-calendar-event {
|
|
18297
18320
|
display: flex;
|
|
18298
18321
|
align-items: center;
|
|
18299
18322
|
gap: 0.375rem;
|
|
@@ -18314,24 +18337,32 @@ const containerResponsiveThemeCss = `/*
|
|
|
18314
18337
|
transform var(--rb-block-transition) ease;
|
|
18315
18338
|
}
|
|
18316
18339
|
|
|
18317
|
-
:where(.theme-scope)
|
|
18340
|
+
:where(.theme-scope)
|
|
18341
|
+
:where([data-block='event-calendar'])
|
|
18342
|
+
.event-calendar-event:hover {
|
|
18318
18343
|
background-color: var(--ec-event-solid-hover-bg);
|
|
18319
18344
|
transform: translateY(-1px);
|
|
18320
18345
|
}
|
|
18321
18346
|
|
|
18322
|
-
:where(.theme-scope)
|
|
18347
|
+
:where(.theme-scope)
|
|
18348
|
+
:where([data-block='event-calendar'])
|
|
18349
|
+
.event-calendar-event:focus-visible {
|
|
18323
18350
|
outline: 2px solid var(--ec-event-solid-bg);
|
|
18324
18351
|
outline-offset: 2px;
|
|
18325
18352
|
}
|
|
18326
18353
|
|
|
18327
|
-
:where(.theme-scope)
|
|
18354
|
+
:where(.theme-scope)
|
|
18355
|
+
:where([data-block='event-calendar'])
|
|
18356
|
+
.event-calendar-event-time {
|
|
18328
18357
|
flex-shrink: 0;
|
|
18329
18358
|
white-space: nowrap;
|
|
18330
18359
|
font-weight: 600;
|
|
18331
18360
|
opacity: 0.9;
|
|
18332
18361
|
}
|
|
18333
18362
|
|
|
18334
|
-
:where(.theme-scope)
|
|
18363
|
+
:where(.theme-scope)
|
|
18364
|
+
:where([data-block='event-calendar'])
|
|
18365
|
+
.event-calendar-event-title {
|
|
18335
18366
|
min-width: 0;
|
|
18336
18367
|
overflow: hidden;
|
|
18337
18368
|
text-overflow: ellipsis;
|
|
@@ -18339,7 +18370,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18339
18370
|
}
|
|
18340
18371
|
|
|
18341
18372
|
/* More indicator - clickable button style */
|
|
18342
|
-
:where(.theme-scope)
|
|
18373
|
+
:where(.theme-scope)
|
|
18374
|
+
:where([data-block='event-calendar'])
|
|
18375
|
+
.event-calendar-more {
|
|
18343
18376
|
font-size: 0.75rem;
|
|
18344
18377
|
padding: 0.25rem 0.5rem;
|
|
18345
18378
|
color: rgb(var(--tb-primary));
|
|
@@ -18351,16 +18384,22 @@ const containerResponsiveThemeCss = `/*
|
|
|
18351
18384
|
transition: background-color var(--rb-block-transition) ease;
|
|
18352
18385
|
}
|
|
18353
18386
|
|
|
18354
|
-
:where(.theme-scope)
|
|
18387
|
+
:where(.theme-scope)
|
|
18388
|
+
:where([data-block='event-calendar'])
|
|
18389
|
+
.event-calendar-more:hover {
|
|
18355
18390
|
background-color: rgba(var(--tb-primary), 0.1);
|
|
18356
18391
|
}
|
|
18357
18392
|
|
|
18358
|
-
:where(.theme-scope)
|
|
18393
|
+
:where(.theme-scope)
|
|
18394
|
+
:where([data-block='event-calendar'])
|
|
18395
|
+
.event-calendar-more:focus-visible {
|
|
18359
18396
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18360
18397
|
outline-offset: 2px;
|
|
18361
18398
|
}
|
|
18362
18399
|
|
|
18363
|
-
:where(.theme-scope)
|
|
18400
|
+
:where(.theme-scope)
|
|
18401
|
+
:where([data-block='event-calendar'])
|
|
18402
|
+
.event-calendar-empty {
|
|
18364
18403
|
text-align: center;
|
|
18365
18404
|
font-size: 0.875rem;
|
|
18366
18405
|
opacity: var(--ec-empty-opacity);
|
|
@@ -18368,21 +18407,21 @@ const containerResponsiveThemeCss = `/*
|
|
|
18368
18407
|
}
|
|
18369
18408
|
|
|
18370
18409
|
/* Filters container */
|
|
18371
|
-
:where(.theme-scope) :where([data-block=
|
|
18410
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filters {
|
|
18372
18411
|
display: flex;
|
|
18373
18412
|
flex-wrap: wrap;
|
|
18374
18413
|
gap: 1rem;
|
|
18375
18414
|
margin-bottom: 1.5rem;
|
|
18376
18415
|
}
|
|
18377
18416
|
|
|
18378
|
-
:where(.theme-scope) :where([data-block=
|
|
18417
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filter {
|
|
18379
18418
|
display: flex;
|
|
18380
18419
|
flex-direction: column;
|
|
18381
18420
|
gap: 0.375rem;
|
|
18382
18421
|
min-width: 180px;
|
|
18383
18422
|
}
|
|
18384
18423
|
|
|
18385
|
-
:where(.theme-scope) :where([data-block=
|
|
18424
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filter-label {
|
|
18386
18425
|
font-size: 0.75rem;
|
|
18387
18426
|
font-weight: 500;
|
|
18388
18427
|
text-transform: uppercase;
|
|
@@ -18391,19 +18430,23 @@ const containerResponsiveThemeCss = `/*
|
|
|
18391
18430
|
}
|
|
18392
18431
|
|
|
18393
18432
|
/* Event filter select inherits base styling from .form-select, only block-specific overrides here */
|
|
18394
|
-
:where(.theme-scope)
|
|
18433
|
+
:where(.theme-scope)
|
|
18434
|
+
:where([data-block='event-calendar'])
|
|
18435
|
+
.event-filter-select {
|
|
18395
18436
|
/* Use theme input radius instead of block radius for consistency with other form inputs */
|
|
18396
18437
|
border-radius: var(--rb-input-radius, var(--rb-block-radius));
|
|
18397
18438
|
}
|
|
18398
18439
|
|
|
18399
18440
|
/* Category filter buttons */
|
|
18400
|
-
:where(.theme-scope)
|
|
18441
|
+
:where(.theme-scope)
|
|
18442
|
+
:where([data-block='event-calendar'])
|
|
18443
|
+
.event-category-buttons {
|
|
18401
18444
|
display: flex;
|
|
18402
18445
|
flex-wrap: wrap;
|
|
18403
18446
|
gap: 0.5rem;
|
|
18404
18447
|
}
|
|
18405
18448
|
|
|
18406
|
-
:where(.theme-scope) :where([data-block=
|
|
18449
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-category-btn {
|
|
18407
18450
|
padding: 0.5rem 1rem;
|
|
18408
18451
|
font-size: 0.875rem;
|
|
18409
18452
|
font-weight: 500;
|
|
@@ -18415,50 +18458,66 @@ const containerResponsiveThemeCss = `/*
|
|
|
18415
18458
|
transition: all var(--rb-block-transition) ease;
|
|
18416
18459
|
}
|
|
18417
18460
|
|
|
18418
|
-
:where(.theme-scope)
|
|
18461
|
+
:where(.theme-scope)
|
|
18462
|
+
:where([data-block='event-calendar'])
|
|
18463
|
+
.event-category-btn:hover:not(:disabled) {
|
|
18419
18464
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18420
18465
|
}
|
|
18421
18466
|
|
|
18422
|
-
:where(.theme-scope)
|
|
18467
|
+
:where(.theme-scope)
|
|
18468
|
+
:where([data-block='event-calendar'])
|
|
18469
|
+
.event-category-btn:focus-visible {
|
|
18423
18470
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18424
18471
|
outline-offset: 2px;
|
|
18425
18472
|
}
|
|
18426
18473
|
|
|
18427
|
-
:where(.theme-scope)
|
|
18474
|
+
:where(.theme-scope)
|
|
18475
|
+
:where([data-block='event-calendar'])
|
|
18476
|
+
.event-category-btn--active {
|
|
18428
18477
|
background-color: rgb(var(--tb-primary));
|
|
18429
18478
|
border-color: rgb(var(--tb-primary));
|
|
18430
18479
|
color: var(--ec-event-solid-text);
|
|
18431
18480
|
}
|
|
18432
18481
|
|
|
18433
|
-
:where(.theme-scope)
|
|
18482
|
+
:where(.theme-scope)
|
|
18483
|
+
:where([data-block='event-calendar'])
|
|
18484
|
+
.event-category-btn:disabled {
|
|
18434
18485
|
opacity: 0.5;
|
|
18435
18486
|
cursor: not-allowed;
|
|
18436
18487
|
}
|
|
18437
18488
|
|
|
18438
18489
|
/* Allow category filter to be wider for button group */
|
|
18439
|
-
:where(.theme-scope)
|
|
18490
|
+
:where(.theme-scope)
|
|
18491
|
+
:where([data-block='event-calendar'])
|
|
18492
|
+
.event-filter:has(.event-category-buttons) {
|
|
18440
18493
|
min-width: auto;
|
|
18441
18494
|
flex: 1 1 auto;
|
|
18442
18495
|
}
|
|
18443
18496
|
|
|
18444
18497
|
/* Combined mode container */
|
|
18445
|
-
:where(.theme-scope) :where([data-block=
|
|
18498
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-combined {
|
|
18446
18499
|
width: 100%;
|
|
18447
18500
|
}
|
|
18448
18501
|
|
|
18449
|
-
:where(.theme-scope)
|
|
18502
|
+
:where(.theme-scope)
|
|
18503
|
+
:where([data-block='event-calendar'])
|
|
18504
|
+
.event-combined-content {
|
|
18450
18505
|
display: flex;
|
|
18451
18506
|
flex-direction: column;
|
|
18452
18507
|
}
|
|
18453
18508
|
|
|
18454
18509
|
/* Calendar view toggle (Month/Week) in Combined mode */
|
|
18455
|
-
:where(.theme-scope)
|
|
18510
|
+
:where(.theme-scope)
|
|
18511
|
+
:where([data-block='event-calendar'])
|
|
18512
|
+
.event-calendar-view-toggle {
|
|
18456
18513
|
display: flex;
|
|
18457
18514
|
gap: 0.25rem;
|
|
18458
18515
|
margin-bottom: 1rem;
|
|
18459
18516
|
}
|
|
18460
18517
|
|
|
18461
|
-
:where(.theme-scope)
|
|
18518
|
+
:where(.theme-scope)
|
|
18519
|
+
:where([data-block='event-calendar'])
|
|
18520
|
+
.event-calendar-view-btn {
|
|
18462
18521
|
padding: 0.5rem 1rem;
|
|
18463
18522
|
font-size: 0.875rem;
|
|
18464
18523
|
font-weight: 500;
|
|
@@ -18471,12 +18530,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
18471
18530
|
transition: all var(--rb-block-transition) ease;
|
|
18472
18531
|
}
|
|
18473
18532
|
|
|
18474
|
-
:where(.theme-scope)
|
|
18533
|
+
:where(.theme-scope)
|
|
18534
|
+
:where([data-block='event-calendar'])
|
|
18535
|
+
.event-calendar-view-btn:hover {
|
|
18475
18536
|
opacity: 1;
|
|
18476
18537
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18477
18538
|
}
|
|
18478
18539
|
|
|
18479
|
-
:where(.theme-scope)
|
|
18540
|
+
:where(.theme-scope)
|
|
18541
|
+
:where([data-block='event-calendar'])
|
|
18542
|
+
.event-calendar-view-btn--active {
|
|
18480
18543
|
opacity: 1;
|
|
18481
18544
|
background-color: rgb(var(--tb-primary));
|
|
18482
18545
|
border-color: rgb(var(--tb-primary));
|
|
@@ -18489,29 +18552,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
18489
18552
|
* ----------------------------------------------------------------------------- */
|
|
18490
18553
|
|
|
18491
18554
|
/* Agenda week container */
|
|
18492
|
-
:where(.theme-scope) :where([data-block=
|
|
18555
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-week {
|
|
18493
18556
|
display: flex;
|
|
18494
18557
|
flex-direction: column;
|
|
18495
18558
|
gap: 0;
|
|
18496
18559
|
}
|
|
18497
18560
|
|
|
18498
18561
|
/* Individual day section */
|
|
18499
|
-
:where(.theme-scope) :where([data-block=
|
|
18562
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-day {
|
|
18500
18563
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18501
18564
|
}
|
|
18502
18565
|
|
|
18503
|
-
:where(.theme-scope)
|
|
18566
|
+
:where(.theme-scope)
|
|
18567
|
+
:where([data-block='event-calendar'])
|
|
18568
|
+
.event-agenda-day:last-child {
|
|
18504
18569
|
border-bottom: none;
|
|
18505
18570
|
}
|
|
18506
18571
|
|
|
18507
18572
|
/* Day header */
|
|
18508
|
-
:where(.theme-scope)
|
|
18573
|
+
:where(.theme-scope)
|
|
18574
|
+
:where([data-block='event-calendar'])
|
|
18575
|
+
.event-agenda-day-header {
|
|
18509
18576
|
padding: 0.75rem 0;
|
|
18510
18577
|
background-color: var(--ec-header-bg);
|
|
18511
18578
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18512
18579
|
}
|
|
18513
18580
|
|
|
18514
|
-
:where(.theme-scope)
|
|
18581
|
+
:where(.theme-scope)
|
|
18582
|
+
:where([data-block='event-calendar'])
|
|
18583
|
+
.event-agenda-day-title {
|
|
18515
18584
|
font-size: 0.875rem;
|
|
18516
18585
|
font-weight: 600;
|
|
18517
18586
|
margin: 0;
|
|
@@ -18521,7 +18590,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18521
18590
|
}
|
|
18522
18591
|
|
|
18523
18592
|
/* Today badge */
|
|
18524
|
-
:where(.theme-scope)
|
|
18593
|
+
:where(.theme-scope)
|
|
18594
|
+
:where([data-block='event-calendar'])
|
|
18595
|
+
.event-agenda-day-today-badge {
|
|
18525
18596
|
display: inline-flex;
|
|
18526
18597
|
align-items: center;
|
|
18527
18598
|
padding: 0.125rem 0.5rem;
|
|
@@ -18535,24 +18606,33 @@ const containerResponsiveThemeCss = `/*
|
|
|
18535
18606
|
}
|
|
18536
18607
|
|
|
18537
18608
|
/* Today highlight for entire day section */
|
|
18538
|
-
:where(.theme-scope)
|
|
18609
|
+
:where(.theme-scope)
|
|
18610
|
+
:where([data-block='event-calendar'])
|
|
18611
|
+
.event-agenda-day--today
|
|
18612
|
+
.event-agenda-day-header {
|
|
18539
18613
|
background-color: var(--ec-today-bg);
|
|
18540
18614
|
}
|
|
18541
18615
|
|
|
18542
18616
|
/* Day content area */
|
|
18543
|
-
:where(.theme-scope)
|
|
18617
|
+
:where(.theme-scope)
|
|
18618
|
+
:where([data-block='event-calendar'])
|
|
18619
|
+
.event-agenda-day-content {
|
|
18544
18620
|
padding: 0.75rem 0;
|
|
18545
18621
|
}
|
|
18546
18622
|
|
|
18547
18623
|
/* Events list within a day */
|
|
18548
|
-
:where(.theme-scope)
|
|
18624
|
+
:where(.theme-scope)
|
|
18625
|
+
:where([data-block='event-calendar'])
|
|
18626
|
+
.event-agenda-day-events {
|
|
18549
18627
|
display: flex;
|
|
18550
18628
|
flex-direction: column;
|
|
18551
18629
|
gap: 0.5rem;
|
|
18552
18630
|
}
|
|
18553
18631
|
|
|
18554
18632
|
/* Empty day message */
|
|
18555
|
-
:where(.theme-scope)
|
|
18633
|
+
:where(.theme-scope)
|
|
18634
|
+
:where([data-block='event-calendar'])
|
|
18635
|
+
.event-agenda-day-empty {
|
|
18556
18636
|
font-size: 0.875rem;
|
|
18557
18637
|
opacity: var(--ec-empty-opacity);
|
|
18558
18638
|
margin: 0;
|
|
@@ -18564,7 +18644,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
18564
18644
|
* Rich event card for agenda view
|
|
18565
18645
|
* ----------------------------------------------------------------------------- */
|
|
18566
18646
|
|
|
18567
|
-
:where(.theme-scope) :where([data-block=
|
|
18647
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-card {
|
|
18568
18648
|
display: flex;
|
|
18569
18649
|
align-items: flex-start;
|
|
18570
18650
|
gap: 0.75rem;
|
|
@@ -18577,13 +18657,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18577
18657
|
transition: all var(--rb-block-transition) ease;
|
|
18578
18658
|
}
|
|
18579
18659
|
|
|
18580
|
-
:where(.theme-scope)
|
|
18660
|
+
:where(.theme-scope)
|
|
18661
|
+
:where([data-block='event-calendar'])
|
|
18662
|
+
.event-agenda-card:hover {
|
|
18581
18663
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18582
18664
|
background-color: var(--ec-event-bg);
|
|
18583
18665
|
}
|
|
18584
18666
|
|
|
18585
18667
|
/* Category color indicator */
|
|
18586
|
-
:where(.theme-scope)
|
|
18668
|
+
:where(.theme-scope)
|
|
18669
|
+
:where([data-block='event-calendar'])
|
|
18670
|
+
.event-agenda-card-indicator {
|
|
18587
18671
|
flex-shrink: 0;
|
|
18588
18672
|
width: 4px;
|
|
18589
18673
|
align-self: stretch;
|
|
@@ -18592,7 +18676,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18592
18676
|
}
|
|
18593
18677
|
|
|
18594
18678
|
/* Card content wrapper */
|
|
18595
|
-
:where(.theme-scope)
|
|
18679
|
+
:where(.theme-scope)
|
|
18680
|
+
:where([data-block='event-calendar'])
|
|
18681
|
+
.event-agenda-card-content {
|
|
18596
18682
|
flex: 1;
|
|
18597
18683
|
min-width: 0;
|
|
18598
18684
|
display: flex;
|
|
@@ -18601,28 +18687,36 @@ const containerResponsiveThemeCss = `/*
|
|
|
18601
18687
|
}
|
|
18602
18688
|
|
|
18603
18689
|
/* Header row: time + title */
|
|
18604
|
-
:where(.theme-scope)
|
|
18690
|
+
:where(.theme-scope)
|
|
18691
|
+
:where([data-block='event-calendar'])
|
|
18692
|
+
.event-agenda-card-header {
|
|
18605
18693
|
display: flex;
|
|
18606
18694
|
align-items: baseline;
|
|
18607
18695
|
gap: 0.5rem;
|
|
18608
18696
|
flex-wrap: wrap;
|
|
18609
18697
|
}
|
|
18610
18698
|
|
|
18611
|
-
:where(.theme-scope)
|
|
18699
|
+
:where(.theme-scope)
|
|
18700
|
+
:where([data-block='event-calendar'])
|
|
18701
|
+
.event-agenda-card-time {
|
|
18612
18702
|
font-size: 0.75rem;
|
|
18613
18703
|
font-weight: 600;
|
|
18614
18704
|
opacity: var(--ec-time-opacity);
|
|
18615
18705
|
white-space: nowrap;
|
|
18616
18706
|
}
|
|
18617
18707
|
|
|
18618
|
-
:where(.theme-scope)
|
|
18708
|
+
:where(.theme-scope)
|
|
18709
|
+
:where([data-block='event-calendar'])
|
|
18710
|
+
.event-agenda-card-title {
|
|
18619
18711
|
font-size: 0.875rem;
|
|
18620
18712
|
font-weight: 500;
|
|
18621
18713
|
line-height: 1.3;
|
|
18622
18714
|
}
|
|
18623
18715
|
|
|
18624
18716
|
/* Details row: venue, price, capacity */
|
|
18625
|
-
:where(.theme-scope)
|
|
18717
|
+
:where(.theme-scope)
|
|
18718
|
+
:where([data-block='event-calendar'])
|
|
18719
|
+
.event-agenda-card-details {
|
|
18626
18720
|
display: flex;
|
|
18627
18721
|
align-items: center;
|
|
18628
18722
|
gap: 0.75rem;
|
|
@@ -18631,26 +18725,36 @@ const containerResponsiveThemeCss = `/*
|
|
|
18631
18725
|
opacity: 0.7;
|
|
18632
18726
|
}
|
|
18633
18727
|
|
|
18634
|
-
:where(.theme-scope)
|
|
18728
|
+
:where(.theme-scope)
|
|
18729
|
+
:where([data-block='event-calendar'])
|
|
18730
|
+
.event-agenda-card-venue {
|
|
18635
18731
|
display: inline-flex;
|
|
18636
18732
|
align-items: center;
|
|
18637
18733
|
gap: 0.25rem;
|
|
18638
18734
|
}
|
|
18639
18735
|
|
|
18640
|
-
:where(.theme-scope)
|
|
18736
|
+
:where(.theme-scope)
|
|
18737
|
+
:where([data-block='event-calendar'])
|
|
18738
|
+
.event-agenda-card-icon {
|
|
18641
18739
|
flex-shrink: 0;
|
|
18642
18740
|
opacity: 0.7;
|
|
18643
18741
|
}
|
|
18644
18742
|
|
|
18645
|
-
:where(.theme-scope)
|
|
18743
|
+
:where(.theme-scope)
|
|
18744
|
+
:where([data-block='event-calendar'])
|
|
18745
|
+
.event-agenda-card-price {
|
|
18646
18746
|
font-weight: 500;
|
|
18647
18747
|
}
|
|
18648
18748
|
|
|
18649
|
-
:where(.theme-scope)
|
|
18749
|
+
:where(.theme-scope)
|
|
18750
|
+
:where([data-block='event-calendar'])
|
|
18751
|
+
.event-agenda-card-capacity {
|
|
18650
18752
|
font-weight: 500;
|
|
18651
18753
|
}
|
|
18652
18754
|
|
|
18653
|
-
:where(.theme-scope)
|
|
18755
|
+
:where(.theme-scope)
|
|
18756
|
+
:where([data-block='event-calendar'])
|
|
18757
|
+
.event-agenda-card-capacity--full {
|
|
18654
18758
|
color: rgb(var(--tb-error, 239 68 68));
|
|
18655
18759
|
opacity: 1;
|
|
18656
18760
|
}
|
|
@@ -18660,20 +18764,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
18660
18764
|
* Time-grid layout for recurring class schedules
|
|
18661
18765
|
* ----------------------------------------------------------------------------- */
|
|
18662
18766
|
|
|
18663
|
-
:where(.theme-scope) :where([data-block=
|
|
18767
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-timetable {
|
|
18664
18768
|
display: flex;
|
|
18665
18769
|
flex-direction: column;
|
|
18666
18770
|
gap: 0.75rem;
|
|
18667
18771
|
}
|
|
18668
18772
|
|
|
18669
|
-
:where(.theme-scope)
|
|
18773
|
+
:where(.theme-scope)
|
|
18774
|
+
:where([data-block='event-calendar'])
|
|
18775
|
+
.event-timetable-day-selector {
|
|
18670
18776
|
display: none;
|
|
18671
18777
|
gap: 0.375rem;
|
|
18672
18778
|
overflow-x: auto;
|
|
18673
18779
|
padding-bottom: 0.125rem;
|
|
18674
18780
|
}
|
|
18675
18781
|
|
|
18676
|
-
:where(.theme-scope)
|
|
18782
|
+
:where(.theme-scope)
|
|
18783
|
+
:where([data-block='event-calendar'])
|
|
18784
|
+
.event-timetable-day-tab {
|
|
18677
18785
|
flex: 0 0 auto;
|
|
18678
18786
|
padding: 0.5rem 0.75rem;
|
|
18679
18787
|
border: 1px solid var(--ec-border);
|
|
@@ -18688,35 +18796,49 @@ const containerResponsiveThemeCss = `/*
|
|
|
18688
18796
|
border-color var(--rb-block-transition) ease;
|
|
18689
18797
|
}
|
|
18690
18798
|
|
|
18691
|
-
:where(.theme-scope)
|
|
18799
|
+
:where(.theme-scope)
|
|
18800
|
+
:where([data-block='event-calendar'])
|
|
18801
|
+
.event-timetable-day-tab--active {
|
|
18692
18802
|
background-color: rgb(var(--tb-primary));
|
|
18693
18803
|
border-color: rgb(var(--tb-primary));
|
|
18694
18804
|
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
18695
18805
|
}
|
|
18696
18806
|
|
|
18697
|
-
:where(.theme-scope)
|
|
18807
|
+
:where(.theme-scope)
|
|
18808
|
+
:where([data-block='event-calendar'])
|
|
18809
|
+
.event-timetable-container {
|
|
18698
18810
|
border: 1px solid var(--ec-border);
|
|
18699
18811
|
border-radius: var(--rb-block-radius);
|
|
18700
18812
|
overflow-x: auto;
|
|
18701
18813
|
overflow-y: hidden;
|
|
18702
18814
|
}
|
|
18703
18815
|
|
|
18704
|
-
:where(.theme-scope)
|
|
18816
|
+
:where(.theme-scope)
|
|
18817
|
+
:where([data-block='event-calendar'])
|
|
18818
|
+
.event-timetable-grid {
|
|
18705
18819
|
display: grid;
|
|
18706
18820
|
grid-template-columns: 4.5rem repeat(7, minmax(8rem, 1fr));
|
|
18707
18821
|
min-width: 62rem;
|
|
18708
18822
|
}
|
|
18709
18823
|
|
|
18710
|
-
:where(.theme-scope)
|
|
18711
|
-
:where(
|
|
18824
|
+
:where(.theme-scope)
|
|
18825
|
+
:where([data-block='event-calendar'])
|
|
18826
|
+
.event-timetable-time-rail,
|
|
18827
|
+
:where(.theme-scope)
|
|
18828
|
+
:where([data-block='event-calendar'])
|
|
18829
|
+
.event-timetable-day {
|
|
18712
18830
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18713
18831
|
}
|
|
18714
18832
|
|
|
18715
|
-
:where(.theme-scope)
|
|
18833
|
+
:where(.theme-scope)
|
|
18834
|
+
:where([data-block='event-calendar'])
|
|
18835
|
+
.event-timetable-day:last-child {
|
|
18716
18836
|
border-right: none;
|
|
18717
18837
|
}
|
|
18718
18838
|
|
|
18719
|
-
:where(.theme-scope)
|
|
18839
|
+
:where(.theme-scope)
|
|
18840
|
+
:where([data-block='event-calendar'])
|
|
18841
|
+
.event-timetable-day-heading {
|
|
18720
18842
|
min-height: 3.25rem;
|
|
18721
18843
|
margin: 0;
|
|
18722
18844
|
padding: 0.75rem 0.5rem;
|
|
@@ -18731,12 +18853,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18731
18853
|
font-weight: 600;
|
|
18732
18854
|
}
|
|
18733
18855
|
|
|
18734
|
-
:where(.theme-scope)
|
|
18856
|
+
:where(.theme-scope)
|
|
18857
|
+
:where([data-block='event-calendar'])
|
|
18858
|
+
.event-timetable-day--today
|
|
18859
|
+
.event-timetable-day-heading {
|
|
18735
18860
|
background-color: var(--ec-today-bg);
|
|
18736
18861
|
color: var(--ec-today-text);
|
|
18737
18862
|
}
|
|
18738
18863
|
|
|
18739
|
-
:where(.theme-scope)
|
|
18864
|
+
:where(.theme-scope)
|
|
18865
|
+
:where([data-block='event-calendar'])
|
|
18866
|
+
.event-timetable-today-badge {
|
|
18740
18867
|
padding: 0.125rem 0.375rem;
|
|
18741
18868
|
border-radius: var(--rb-button-radius);
|
|
18742
18869
|
background-color: rgb(var(--tb-primary));
|
|
@@ -18746,17 +18873,29 @@ const containerResponsiveThemeCss = `/*
|
|
|
18746
18873
|
text-transform: uppercase;
|
|
18747
18874
|
}
|
|
18748
18875
|
|
|
18749
|
-
:where(.theme-scope)
|
|
18750
|
-
:where(
|
|
18876
|
+
:where(.theme-scope)
|
|
18877
|
+
:where([data-block='event-calendar'])
|
|
18878
|
+
.event-timetable-time-body,
|
|
18879
|
+
:where(.theme-scope)
|
|
18880
|
+
:where([data-block='event-calendar'])
|
|
18881
|
+
.event-timetable-day-body {
|
|
18751
18882
|
position: relative;
|
|
18752
|
-
height: clamp(
|
|
18883
|
+
height: clamp(
|
|
18884
|
+
34rem,
|
|
18885
|
+
calc(var(--event-timetable-range-minutes, 900) * 0.055rem),
|
|
18886
|
+
56rem
|
|
18887
|
+
);
|
|
18753
18888
|
}
|
|
18754
18889
|
|
|
18755
|
-
:where(.theme-scope)
|
|
18890
|
+
:where(.theme-scope)
|
|
18891
|
+
:where([data-block='event-calendar'])
|
|
18892
|
+
.event-timetable-time-body {
|
|
18756
18893
|
background-color: var(--ec-header-bg);
|
|
18757
18894
|
}
|
|
18758
18895
|
|
|
18759
|
-
:where(.theme-scope)
|
|
18896
|
+
:where(.theme-scope)
|
|
18897
|
+
:where([data-block='event-calendar'])
|
|
18898
|
+
.event-timetable-time-label {
|
|
18760
18899
|
position: absolute;
|
|
18761
18900
|
left: 0.625rem;
|
|
18762
18901
|
transform: translateY(-50%);
|
|
@@ -18765,14 +18904,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
18765
18904
|
white-space: nowrap;
|
|
18766
18905
|
}
|
|
18767
18906
|
|
|
18768
|
-
:where(.theme-scope)
|
|
18907
|
+
:where(.theme-scope)
|
|
18908
|
+
:where([data-block='event-calendar'])
|
|
18909
|
+
.event-timetable-hour-line {
|
|
18769
18910
|
position: absolute;
|
|
18770
18911
|
left: 0;
|
|
18771
18912
|
right: 0;
|
|
18772
18913
|
border-top: 1px solid var(--ec-border-subtle);
|
|
18773
18914
|
}
|
|
18774
18915
|
|
|
18775
|
-
:where(.theme-scope)
|
|
18916
|
+
:where(.theme-scope)
|
|
18917
|
+
:where([data-block='event-calendar'])
|
|
18918
|
+
.event-timetable-event {
|
|
18776
18919
|
position: absolute;
|
|
18777
18920
|
min-height: 2.75rem;
|
|
18778
18921
|
padding: 0.375rem 0.5rem;
|
|
@@ -18792,21 +18935,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
18792
18935
|
transform var(--rb-block-transition) ease;
|
|
18793
18936
|
}
|
|
18794
18937
|
|
|
18795
|
-
:where(.theme-scope)
|
|
18938
|
+
:where(.theme-scope)
|
|
18939
|
+
:where([data-block='event-calendar'])
|
|
18940
|
+
.event-timetable-event:hover {
|
|
18796
18941
|
box-shadow: 0 4px 12px rgba(var(--tb-text), 0.12);
|
|
18797
18942
|
transform: translateY(-1px);
|
|
18798
18943
|
}
|
|
18799
18944
|
|
|
18800
|
-
:where(.theme-scope)
|
|
18945
|
+
:where(.theme-scope)
|
|
18946
|
+
:where([data-block='event-calendar'])
|
|
18947
|
+
.event-timetable-event:focus-visible {
|
|
18801
18948
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18802
18949
|
outline-offset: 2px;
|
|
18803
18950
|
}
|
|
18804
18951
|
|
|
18805
|
-
:where(.theme-scope)
|
|
18806
|
-
:where(
|
|
18807
|
-
|
|
18808
|
-
:where(.theme-scope)
|
|
18809
|
-
:where(
|
|
18952
|
+
:where(.theme-scope)
|
|
18953
|
+
:where([data-block='event-calendar'])
|
|
18954
|
+
.event-timetable-event-time,
|
|
18955
|
+
:where(.theme-scope)
|
|
18956
|
+
:where([data-block='event-calendar'])
|
|
18957
|
+
.event-timetable-event-title,
|
|
18958
|
+
:where(.theme-scope)
|
|
18959
|
+
:where([data-block='event-calendar'])
|
|
18960
|
+
.event-timetable-event-teacher,
|
|
18961
|
+
:where(.theme-scope)
|
|
18962
|
+
:where([data-block='event-calendar'])
|
|
18963
|
+
.event-timetable-event-meta,
|
|
18964
|
+
:where(.theme-scope)
|
|
18965
|
+
:where([data-block='event-calendar'])
|
|
18966
|
+
.event-timetable-event-capacity {
|
|
18810
18967
|
display: block;
|
|
18811
18968
|
min-width: 0;
|
|
18812
18969
|
overflow: hidden;
|
|
@@ -18814,36 +18971,50 @@ const containerResponsiveThemeCss = `/*
|
|
|
18814
18971
|
white-space: nowrap;
|
|
18815
18972
|
}
|
|
18816
18973
|
|
|
18817
|
-
:where(.theme-scope)
|
|
18974
|
+
:where(.theme-scope)
|
|
18975
|
+
:where([data-block='event-calendar'])
|
|
18976
|
+
.event-timetable-event-time {
|
|
18818
18977
|
font-size: 0.6875rem;
|
|
18819
18978
|
font-weight: 700;
|
|
18820
18979
|
opacity: var(--ec-time-opacity);
|
|
18821
18980
|
}
|
|
18822
18981
|
|
|
18823
|
-
:where(.theme-scope)
|
|
18982
|
+
:where(.theme-scope)
|
|
18983
|
+
:where([data-block='event-calendar'])
|
|
18984
|
+
.event-timetable-event-title {
|
|
18824
18985
|
font-size: 0.8125rem;
|
|
18825
18986
|
font-weight: 700;
|
|
18826
18987
|
line-height: 1.25;
|
|
18827
18988
|
}
|
|
18828
18989
|
|
|
18829
|
-
:where(.theme-scope)
|
|
18830
|
-
:where(
|
|
18990
|
+
:where(.theme-scope)
|
|
18991
|
+
:where([data-block='event-calendar'])
|
|
18992
|
+
.event-timetable-event-teacher,
|
|
18993
|
+
:where(.theme-scope)
|
|
18994
|
+
:where([data-block='event-calendar'])
|
|
18995
|
+
.event-timetable-event-meta {
|
|
18831
18996
|
font-size: 0.6875rem;
|
|
18832
18997
|
opacity: 0.72;
|
|
18833
18998
|
}
|
|
18834
18999
|
|
|
18835
|
-
:where(.theme-scope)
|
|
19000
|
+
:where(.theme-scope)
|
|
19001
|
+
:where([data-block='event-calendar'])
|
|
19002
|
+
.event-timetable-event-capacity {
|
|
18836
19003
|
font-size: 0.6875rem;
|
|
18837
19004
|
font-weight: 600;
|
|
18838
19005
|
opacity: 0.85;
|
|
18839
19006
|
}
|
|
18840
19007
|
|
|
18841
|
-
:where(.theme-scope)
|
|
19008
|
+
:where(.theme-scope)
|
|
19009
|
+
:where([data-block='event-calendar'])
|
|
19010
|
+
.event-timetable-event-capacity--full {
|
|
18842
19011
|
color: rgb(var(--tb-danger, 220 38 38));
|
|
18843
19012
|
opacity: 1;
|
|
18844
19013
|
}
|
|
18845
19014
|
|
|
18846
|
-
:where(.theme-scope)
|
|
19015
|
+
:where(.theme-scope)
|
|
19016
|
+
:where([data-block='event-calendar'])
|
|
19017
|
+
.event-timetable-day-empty {
|
|
18847
19018
|
margin: 0;
|
|
18848
19019
|
padding: 1rem 0.5rem;
|
|
18849
19020
|
text-align: center;
|
|
@@ -18851,7 +19022,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18851
19022
|
opacity: var(--ec-empty-opacity);
|
|
18852
19023
|
}
|
|
18853
19024
|
|
|
18854
|
-
:where(.theme-scope)
|
|
19025
|
+
:where(.theme-scope)
|
|
19026
|
+
:where([data-block='event-calendar'])
|
|
19027
|
+
.event-timetable-empty {
|
|
18855
19028
|
margin: 0.25rem 0 0;
|
|
18856
19029
|
text-align: center;
|
|
18857
19030
|
font-size: 0.875rem;
|
|
@@ -18860,32 +19033,46 @@ const containerResponsiveThemeCss = `/*
|
|
|
18860
19033
|
|
|
18861
19034
|
@container rb-site (max-width: 767px) {
|
|
18862
19035
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
18863
|
-
:where(.theme-scope)
|
|
19036
|
+
:where(.theme-scope)
|
|
19037
|
+
:where([data-block='event-calendar'])
|
|
19038
|
+
.event-timetable-day-selector {
|
|
18864
19039
|
display: flex;
|
|
18865
19040
|
}
|
|
18866
19041
|
|
|
18867
|
-
:where(.theme-scope)
|
|
19042
|
+
:where(.theme-scope)
|
|
19043
|
+
:where([data-block='event-calendar'])
|
|
19044
|
+
.event-timetable-container {
|
|
18868
19045
|
overflow: hidden;
|
|
18869
19046
|
}
|
|
18870
19047
|
|
|
18871
|
-
:where(.theme-scope)
|
|
19048
|
+
:where(.theme-scope)
|
|
19049
|
+
:where([data-block='event-calendar'])
|
|
19050
|
+
.event-timetable-grid {
|
|
18872
19051
|
grid-template-columns: 4rem minmax(0, 1fr);
|
|
18873
19052
|
min-width: 0;
|
|
18874
19053
|
}
|
|
18875
19054
|
|
|
18876
|
-
:where(.theme-scope)
|
|
19055
|
+
:where(.theme-scope)
|
|
19056
|
+
:where([data-block='event-calendar'])
|
|
19057
|
+
.event-timetable-day[data-selected='false'] {
|
|
18877
19058
|
display: none;
|
|
18878
19059
|
}
|
|
18879
19060
|
|
|
18880
|
-
:where(.theme-scope)
|
|
19061
|
+
:where(.theme-scope)
|
|
19062
|
+
:where([data-block='event-calendar'])
|
|
19063
|
+
.event-timetable-day {
|
|
18881
19064
|
border-right: none;
|
|
18882
19065
|
}
|
|
18883
19066
|
|
|
18884
|
-
:where(.theme-scope)
|
|
19067
|
+
:where(.theme-scope)
|
|
19068
|
+
:where([data-block='event-calendar'])
|
|
19069
|
+
.event-timetable-time-rail {
|
|
18885
19070
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18886
19071
|
}
|
|
18887
19072
|
|
|
18888
|
-
:where(.theme-scope)
|
|
19073
|
+
:where(.theme-scope)
|
|
19074
|
+
:where([data-block='event-calendar'])
|
|
19075
|
+
.event-timetable-day-heading {
|
|
18889
19076
|
justify-content: flex-start;
|
|
18890
19077
|
padding-inline: 0.75rem;
|
|
18891
19078
|
}
|
|
@@ -18898,7 +19085,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
18898
19085
|
* three-state availability (available / filling / waitlist), and a footer CTA.
|
|
18899
19086
|
* ----------------------------------------------------------------------------- */
|
|
18900
19087
|
|
|
18901
|
-
:where(.theme-scope) :where([data-block=
|
|
19088
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-week-board {
|
|
18902
19089
|
/* Status accent tokens — map the three availability states onto theme colours.
|
|
18903
19090
|
* available -> secondary, filling -> accent, waitlist -> muted text. */
|
|
18904
19091
|
--ec-status-available: rgb(var(--tb-secondary));
|
|
@@ -18915,17 +19102,20 @@ const containerResponsiveThemeCss = `/*
|
|
|
18915
19102
|
|
|
18916
19103
|
/* Opt-in raised look: a soft drop shadow so the board lifts off the page.
|
|
18917
19104
|
* Generic default (no [data-elevated]) stays flat. */
|
|
18918
|
-
:where(.theme-scope)
|
|
19105
|
+
:where(.theme-scope)
|
|
19106
|
+
:where([data-block='event-calendar'])
|
|
19107
|
+
.event-week-board[data-elevated] {
|
|
18919
19108
|
box-shadow: 0 14px 34px -24px rgba(var(--tb-text), 0.35);
|
|
18920
19109
|
}
|
|
18921
19110
|
|
|
18922
|
-
/* Top bar: title + legend */
|
|
18923
|
-
:where(.theme-scope)
|
|
18924
|
-
|
|
19111
|
+
/* Top bar: authored title + week navigation + legend */
|
|
19112
|
+
:where(.theme-scope)
|
|
19113
|
+
:where([data-block='event-calendar'])
|
|
19114
|
+
.event-week-board-top {
|
|
19115
|
+
display: grid;
|
|
19116
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
18925
19117
|
align-items: center;
|
|
18926
|
-
justify-content: space-between;
|
|
18927
19118
|
gap: 1rem;
|
|
18928
|
-
flex-wrap: wrap;
|
|
18929
19119
|
padding: 1.1rem 1.5rem;
|
|
18930
19120
|
/* surfaceAlt gives the header/footer a legible tint against the white day-grid
|
|
18931
19121
|
* body — the faint \`--ec-header-bg\` (5% text) is invisible on light palettes. */
|
|
@@ -18933,7 +19123,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
18933
19123
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18934
19124
|
}
|
|
18935
19125
|
|
|
18936
|
-
:where(.theme-scope)
|
|
19126
|
+
:where(.theme-scope)
|
|
19127
|
+
:where([data-block='event-calendar'])
|
|
19128
|
+
.event-week-board-title {
|
|
19129
|
+
grid-column: 1;
|
|
18937
19130
|
font-size: 0.8125rem;
|
|
18938
19131
|
font-weight: 600;
|
|
18939
19132
|
letter-spacing: 0.12em;
|
|
@@ -18941,7 +19134,67 @@ const containerResponsiveThemeCss = `/*
|
|
|
18941
19134
|
color: rgb(var(--tb-primary));
|
|
18942
19135
|
}
|
|
18943
19136
|
|
|
18944
|
-
:where(.theme-scope)
|
|
19137
|
+
:where(.theme-scope)
|
|
19138
|
+
:where([data-block='event-calendar'])
|
|
19139
|
+
.event-week-board-navigation {
|
|
19140
|
+
grid-column: 2;
|
|
19141
|
+
display: flex;
|
|
19142
|
+
align-items: center;
|
|
19143
|
+
justify-content: center;
|
|
19144
|
+
gap: 0.65rem;
|
|
19145
|
+
}
|
|
19146
|
+
|
|
19147
|
+
:where(.theme-scope)
|
|
19148
|
+
:where([data-block='event-calendar'])
|
|
19149
|
+
.event-week-board-nav-button {
|
|
19150
|
+
display: inline-flex;
|
|
19151
|
+
align-items: center;
|
|
19152
|
+
justify-content: center;
|
|
19153
|
+
width: 2.25rem;
|
|
19154
|
+
height: 2.25rem;
|
|
19155
|
+
padding: 0;
|
|
19156
|
+
border: 1px solid var(--ec-border);
|
|
19157
|
+
border-radius: 999px;
|
|
19158
|
+
background: transparent;
|
|
19159
|
+
color: inherit;
|
|
19160
|
+
cursor: pointer;
|
|
19161
|
+
}
|
|
19162
|
+
|
|
19163
|
+
:where(.theme-scope)
|
|
19164
|
+
:where([data-block='event-calendar'])
|
|
19165
|
+
.event-week-board-nav-button:hover {
|
|
19166
|
+
background-color: var(--ec-hover-bg);
|
|
19167
|
+
}
|
|
19168
|
+
|
|
19169
|
+
:where(.theme-scope)
|
|
19170
|
+
:where([data-block='event-calendar'])
|
|
19171
|
+
.event-week-board-nav-button:focus-visible {
|
|
19172
|
+
outline: 2px solid rgb(var(--tb-primary));
|
|
19173
|
+
outline-offset: 2px;
|
|
19174
|
+
}
|
|
19175
|
+
|
|
19176
|
+
:where(.theme-scope)
|
|
19177
|
+
:where([data-block='event-calendar'])
|
|
19178
|
+
.event-week-board-range {
|
|
19179
|
+
min-width: 12rem;
|
|
19180
|
+
margin: 0;
|
|
19181
|
+
text-align: center;
|
|
19182
|
+
font-size: 0.875rem;
|
|
19183
|
+
font-weight: 600;
|
|
19184
|
+
}
|
|
19185
|
+
|
|
19186
|
+
:where(.theme-scope)
|
|
19187
|
+
:where([data-block='event-calendar'])
|
|
19188
|
+
.event-week-board-loading {
|
|
19189
|
+
font-weight: 400;
|
|
19190
|
+
opacity: 0.65;
|
|
19191
|
+
}
|
|
19192
|
+
|
|
19193
|
+
:where(.theme-scope)
|
|
19194
|
+
:where([data-block='event-calendar'])
|
|
19195
|
+
.event-week-board-legend {
|
|
19196
|
+
grid-column: 3;
|
|
19197
|
+
justify-self: end;
|
|
18945
19198
|
display: flex;
|
|
18946
19199
|
align-items: center;
|
|
18947
19200
|
gap: 1.1rem;
|
|
@@ -18951,38 +19204,72 @@ const containerResponsiveThemeCss = `/*
|
|
|
18951
19204
|
opacity: 0.75;
|
|
18952
19205
|
}
|
|
18953
19206
|
|
|
18954
|
-
:where(.theme-scope)
|
|
19207
|
+
:where(.theme-scope)
|
|
19208
|
+
:where([data-block='event-calendar'])
|
|
19209
|
+
.event-week-board-error {
|
|
19210
|
+
display: flex;
|
|
19211
|
+
align-items: center;
|
|
19212
|
+
justify-content: center;
|
|
19213
|
+
gap: 0.75rem;
|
|
19214
|
+
padding: 0.75rem 1.5rem;
|
|
19215
|
+
border-bottom: 1px solid var(--ec-border-subtle);
|
|
19216
|
+
color: rgb(var(--tb-error, var(--tb-text)));
|
|
19217
|
+
}
|
|
19218
|
+
|
|
19219
|
+
:where(.theme-scope)
|
|
19220
|
+
:where([data-block='event-calendar'])
|
|
19221
|
+
.event-week-board-error
|
|
19222
|
+
p {
|
|
19223
|
+
margin: 0;
|
|
19224
|
+
font-size: 0.8125rem;
|
|
19225
|
+
}
|
|
19226
|
+
|
|
19227
|
+
:where(.theme-scope)
|
|
19228
|
+
:where([data-block='event-calendar'])
|
|
19229
|
+
.event-week-board-legend-item {
|
|
18955
19230
|
display: inline-flex;
|
|
18956
19231
|
align-items: center;
|
|
18957
19232
|
gap: 0.4rem;
|
|
18958
19233
|
}
|
|
18959
19234
|
|
|
18960
|
-
:where(.theme-scope)
|
|
19235
|
+
:where(.theme-scope)
|
|
19236
|
+
:where([data-block='event-calendar'])
|
|
19237
|
+
.event-week-board-legend-dot {
|
|
18961
19238
|
width: 0.55rem;
|
|
18962
19239
|
height: 0.55rem;
|
|
18963
19240
|
border-radius: 50%;
|
|
18964
19241
|
display: inline-block;
|
|
18965
19242
|
}
|
|
18966
19243
|
|
|
18967
|
-
:where(.theme-scope)
|
|
19244
|
+
:where(.theme-scope)
|
|
19245
|
+
:where([data-block='event-calendar'])
|
|
19246
|
+
.event-week-board-legend-dot[data-status='available'] {
|
|
18968
19247
|
background-color: var(--ec-status-available);
|
|
18969
19248
|
}
|
|
18970
19249
|
|
|
18971
|
-
:where(.theme-scope)
|
|
19250
|
+
:where(.theme-scope)
|
|
19251
|
+
:where([data-block='event-calendar'])
|
|
19252
|
+
.event-week-board-legend-dot[data-status='filling'] {
|
|
18972
19253
|
background-color: var(--ec-status-filling);
|
|
18973
19254
|
}
|
|
18974
19255
|
|
|
18975
|
-
:where(.theme-scope)
|
|
19256
|
+
:where(.theme-scope)
|
|
19257
|
+
:where([data-block='event-calendar'])
|
|
19258
|
+
.event-week-board-legend-dot[data-status='waitlist'] {
|
|
18976
19259
|
background-color: var(--ec-status-waitlist);
|
|
18977
19260
|
}
|
|
18978
19261
|
|
|
18979
19262
|
/* Day columns grid */
|
|
18980
|
-
:where(.theme-scope)
|
|
19263
|
+
:where(.theme-scope)
|
|
19264
|
+
:where([data-block='event-calendar'])
|
|
19265
|
+
.event-week-board-grid {
|
|
18981
19266
|
display: grid;
|
|
18982
19267
|
grid-template-columns: repeat(var(--event-week-board-cols), minmax(0, 1fr));
|
|
18983
19268
|
}
|
|
18984
19269
|
|
|
18985
|
-
:where(.theme-scope)
|
|
19270
|
+
:where(.theme-scope)
|
|
19271
|
+
:where([data-block='event-calendar'])
|
|
19272
|
+
.event-week-board-day {
|
|
18986
19273
|
display: flex;
|
|
18987
19274
|
flex-direction: column;
|
|
18988
19275
|
min-height: 15rem;
|
|
@@ -18992,11 +19279,15 @@ const containerResponsiveThemeCss = `/*
|
|
|
18992
19279
|
border-right: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
18993
19280
|
}
|
|
18994
19281
|
|
|
18995
|
-
:where(.theme-scope)
|
|
19282
|
+
:where(.theme-scope)
|
|
19283
|
+
:where([data-block='event-calendar'])
|
|
19284
|
+
.event-week-board-day:last-child {
|
|
18996
19285
|
border-right: none;
|
|
18997
19286
|
}
|
|
18998
19287
|
|
|
18999
|
-
:where(.theme-scope)
|
|
19288
|
+
:where(.theme-scope)
|
|
19289
|
+
:where([data-block='event-calendar'])
|
|
19290
|
+
.event-week-board-day-head {
|
|
19000
19291
|
display: flex;
|
|
19001
19292
|
align-items: baseline;
|
|
19002
19293
|
gap: 0.4rem;
|
|
@@ -19005,11 +19296,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
19005
19296
|
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
19006
19297
|
}
|
|
19007
19298
|
|
|
19008
|
-
:where(.theme-scope)
|
|
19299
|
+
:where(.theme-scope)
|
|
19300
|
+
:where([data-block='event-calendar'])
|
|
19301
|
+
.event-week-board-day--today
|
|
19302
|
+
.event-week-board-day-head {
|
|
19009
19303
|
background-color: var(--ec-today-bg);
|
|
19010
19304
|
}
|
|
19011
19305
|
|
|
19012
|
-
:where(.theme-scope)
|
|
19306
|
+
:where(.theme-scope)
|
|
19307
|
+
:where([data-block='event-calendar'])
|
|
19308
|
+
.event-week-board-day-abbr {
|
|
19013
19309
|
font-size: 0.6875rem;
|
|
19014
19310
|
font-weight: 600;
|
|
19015
19311
|
letter-spacing: 0.1em;
|
|
@@ -19017,18 +19313,25 @@ const containerResponsiveThemeCss = `/*
|
|
|
19017
19313
|
opacity: 0.65;
|
|
19018
19314
|
}
|
|
19019
19315
|
|
|
19020
|
-
:where(.theme-scope)
|
|
19316
|
+
:where(.theme-scope)
|
|
19317
|
+
:where([data-block='event-calendar'])
|
|
19318
|
+
.event-week-board-day--today
|
|
19319
|
+
.event-week-board-day-abbr {
|
|
19021
19320
|
opacity: 1;
|
|
19022
19321
|
color: var(--ec-today-text);
|
|
19023
19322
|
}
|
|
19024
19323
|
|
|
19025
|
-
:where(.theme-scope)
|
|
19324
|
+
:where(.theme-scope)
|
|
19325
|
+
:where([data-block='event-calendar'])
|
|
19326
|
+
.event-week-board-day-num {
|
|
19026
19327
|
font-size: 0.8125rem;
|
|
19027
19328
|
font-weight: 600;
|
|
19028
19329
|
opacity: 0.5;
|
|
19029
19330
|
}
|
|
19030
19331
|
|
|
19031
|
-
:where(.theme-scope)
|
|
19332
|
+
:where(.theme-scope)
|
|
19333
|
+
:where([data-block='event-calendar'])
|
|
19334
|
+
.event-week-board-day-body {
|
|
19032
19335
|
display: flex;
|
|
19033
19336
|
flex-direction: column;
|
|
19034
19337
|
gap: 0.65rem;
|
|
@@ -19037,7 +19340,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19037
19340
|
}
|
|
19038
19341
|
|
|
19039
19342
|
/* Class card */
|
|
19040
|
-
:where(.theme-scope)
|
|
19343
|
+
:where(.theme-scope)
|
|
19344
|
+
:where([data-block='event-calendar'])
|
|
19345
|
+
.event-week-board-card {
|
|
19041
19346
|
display: flex;
|
|
19042
19347
|
flex-direction: column;
|
|
19043
19348
|
gap: 0.45rem;
|
|
@@ -19057,40 +19362,54 @@ const containerResponsiveThemeCss = `/*
|
|
|
19057
19362
|
border-color var(--rb-block-transition) ease;
|
|
19058
19363
|
}
|
|
19059
19364
|
|
|
19060
|
-
:where(.theme-scope)
|
|
19365
|
+
:where(.theme-scope)
|
|
19366
|
+
:where([data-block='event-calendar'])
|
|
19367
|
+
.event-week-board-card[data-status='filling'] {
|
|
19061
19368
|
border-left-color: var(--ec-status-filling);
|
|
19062
19369
|
}
|
|
19063
19370
|
|
|
19064
|
-
:where(.theme-scope)
|
|
19371
|
+
:where(.theme-scope)
|
|
19372
|
+
:where([data-block='event-calendar'])
|
|
19373
|
+
.event-week-board-card[data-status='waitlist'] {
|
|
19065
19374
|
border-left-color: var(--ec-status-waitlist);
|
|
19066
19375
|
}
|
|
19067
19376
|
|
|
19068
|
-
:where(.theme-scope)
|
|
19377
|
+
:where(.theme-scope)
|
|
19378
|
+
:where([data-block='event-calendar'])
|
|
19379
|
+
.event-week-board-card:hover {
|
|
19069
19380
|
transform: translateY(-2px);
|
|
19070
19381
|
box-shadow: 0 6px 16px -8px rgba(var(--tb-text), 0.28);
|
|
19071
19382
|
border-color: rgba(var(--tb-primary), 0.4);
|
|
19072
19383
|
}
|
|
19073
19384
|
|
|
19074
|
-
:where(.theme-scope)
|
|
19385
|
+
:where(.theme-scope)
|
|
19386
|
+
:where([data-block='event-calendar'])
|
|
19387
|
+
.event-week-board-card:focus-visible {
|
|
19075
19388
|
outline: 2px solid rgb(var(--tb-primary));
|
|
19076
19389
|
outline-offset: 2px;
|
|
19077
19390
|
}
|
|
19078
19391
|
|
|
19079
|
-
:where(.theme-scope)
|
|
19392
|
+
:where(.theme-scope)
|
|
19393
|
+
:where([data-block='event-calendar'])
|
|
19394
|
+
.event-week-board-card-title {
|
|
19080
19395
|
font-family: var(--font-heading, inherit);
|
|
19081
19396
|
font-size: 0.9375rem;
|
|
19082
19397
|
font-weight: 600;
|
|
19083
19398
|
line-height: 1.2;
|
|
19084
19399
|
}
|
|
19085
19400
|
|
|
19086
|
-
:where(.theme-scope)
|
|
19401
|
+
:where(.theme-scope)
|
|
19402
|
+
:where([data-block='event-calendar'])
|
|
19403
|
+
.event-week-board-card-time {
|
|
19087
19404
|
font-size: 0.75rem;
|
|
19088
19405
|
letter-spacing: 0.01em;
|
|
19089
19406
|
opacity: 0.7;
|
|
19090
19407
|
}
|
|
19091
19408
|
|
|
19092
19409
|
/* Capacity pill */
|
|
19093
|
-
:where(.theme-scope)
|
|
19410
|
+
:where(.theme-scope)
|
|
19411
|
+
:where([data-block='event-calendar'])
|
|
19412
|
+
.event-week-board-card-pill {
|
|
19094
19413
|
align-self: flex-start;
|
|
19095
19414
|
display: inline-flex;
|
|
19096
19415
|
align-items: center;
|
|
@@ -19108,20 +19427,26 @@ const containerResponsiveThemeCss = `/*
|
|
|
19108
19427
|
border-color: var(--ec-border);
|
|
19109
19428
|
}
|
|
19110
19429
|
|
|
19111
|
-
:where(.theme-scope)
|
|
19430
|
+
:where(.theme-scope)
|
|
19431
|
+
:where([data-block='event-calendar'])
|
|
19432
|
+
.event-week-board-card-pill[data-status='filling'] {
|
|
19112
19433
|
background-color: rgba(var(--tb-accent), 0.14);
|
|
19113
19434
|
color: var(--ec-status-filling);
|
|
19114
19435
|
border-color: rgba(var(--tb-accent), 0.32);
|
|
19115
19436
|
}
|
|
19116
19437
|
|
|
19117
|
-
:where(.theme-scope)
|
|
19438
|
+
:where(.theme-scope)
|
|
19439
|
+
:where([data-block='event-calendar'])
|
|
19440
|
+
.event-week-board-card-pill[data-status='waitlist'] {
|
|
19118
19441
|
background-color: transparent;
|
|
19119
19442
|
color: rgba(var(--tb-text), 0.6);
|
|
19120
19443
|
border-color: var(--ec-border);
|
|
19121
19444
|
}
|
|
19122
19445
|
|
|
19123
19446
|
/* Footer */
|
|
19124
|
-
:where(.theme-scope)
|
|
19447
|
+
:where(.theme-scope)
|
|
19448
|
+
:where([data-block='event-calendar'])
|
|
19449
|
+
.event-week-board-foot {
|
|
19125
19450
|
display: flex;
|
|
19126
19451
|
align-items: center;
|
|
19127
19452
|
justify-content: space-between;
|
|
@@ -19133,7 +19458,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19133
19458
|
border-top: 1px solid var(--ec-border-subtle);
|
|
19134
19459
|
}
|
|
19135
19460
|
|
|
19136
|
-
:where(.theme-scope)
|
|
19461
|
+
:where(.theme-scope)
|
|
19462
|
+
:where([data-block='event-calendar'])
|
|
19463
|
+
.event-week-board-foot-note {
|
|
19137
19464
|
margin: 0;
|
|
19138
19465
|
font-size: 0.875rem;
|
|
19139
19466
|
opacity: 0.75;
|
|
@@ -19142,36 +19469,69 @@ const containerResponsiveThemeCss = `/*
|
|
|
19142
19469
|
/* Responsive: collapse day columns to a stacked list on narrow viewports */
|
|
19143
19470
|
@container rb-site (max-width: 1023px) {
|
|
19144
19471
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19145
|
-
:where(.theme-scope)
|
|
19472
|
+
:where(.theme-scope)
|
|
19473
|
+
:where([data-block='event-calendar'])
|
|
19474
|
+
.event-week-board-top {
|
|
19146
19475
|
grid-template-columns: 1fr;
|
|
19147
19476
|
}
|
|
19148
19477
|
|
|
19149
|
-
:where(.theme-scope)
|
|
19478
|
+
:where(.theme-scope)
|
|
19479
|
+
:where([data-block='event-calendar'])
|
|
19480
|
+
.event-week-board-title,
|
|
19481
|
+
:where(.theme-scope)
|
|
19482
|
+
:where([data-block='event-calendar'])
|
|
19483
|
+
.event-week-board-navigation,
|
|
19484
|
+
:where(.theme-scope)
|
|
19485
|
+
:where([data-block='event-calendar'])
|
|
19486
|
+
.event-week-board-legend {
|
|
19487
|
+
grid-column: 1;
|
|
19488
|
+
justify-self: center;
|
|
19489
|
+
}
|
|
19490
|
+
|
|
19491
|
+
:where(.theme-scope)
|
|
19492
|
+
:where([data-block='event-calendar'])
|
|
19493
|
+
.event-week-board-grid {
|
|
19494
|
+
grid-template-columns: 1fr;
|
|
19495
|
+
}
|
|
19496
|
+
|
|
19497
|
+
:where(.theme-scope)
|
|
19498
|
+
:where([data-block='event-calendar'])
|
|
19499
|
+
.event-week-board-day {
|
|
19150
19500
|
min-height: 0;
|
|
19151
19501
|
border-right: none;
|
|
19152
19502
|
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
19153
19503
|
}
|
|
19154
19504
|
|
|
19155
|
-
:where(.theme-scope)
|
|
19505
|
+
:where(.theme-scope)
|
|
19506
|
+
:where([data-block='event-calendar'])
|
|
19507
|
+
.event-week-board-day:last-child {
|
|
19156
19508
|
border-bottom: none;
|
|
19157
19509
|
}
|
|
19158
19510
|
|
|
19159
|
-
:where(.theme-scope)
|
|
19511
|
+
:where(.theme-scope)
|
|
19512
|
+
:where([data-block='event-calendar'])
|
|
19513
|
+
.event-week-board-day--empty {
|
|
19160
19514
|
display: none;
|
|
19161
19515
|
}
|
|
19162
19516
|
|
|
19163
|
-
:where(.theme-scope)
|
|
19517
|
+
:where(.theme-scope)
|
|
19518
|
+
:where([data-block='event-calendar'])
|
|
19519
|
+
.event-week-board-day-head {
|
|
19164
19520
|
border-bottom: none;
|
|
19165
19521
|
padding-bottom: 0.25rem;
|
|
19166
19522
|
}
|
|
19167
19523
|
|
|
19168
|
-
:where(.theme-scope)
|
|
19524
|
+
:where(.theme-scope)
|
|
19525
|
+
:where([data-block='event-calendar'])
|
|
19526
|
+
.event-week-board-day-body {
|
|
19169
19527
|
flex-direction: row;
|
|
19170
19528
|
flex-wrap: wrap;
|
|
19171
19529
|
padding-top: 0.35rem;
|
|
19172
19530
|
}
|
|
19173
19531
|
|
|
19174
|
-
:where(.theme-scope)
|
|
19532
|
+
:where(.theme-scope)
|
|
19533
|
+
:where([data-block='event-calendar'])
|
|
19534
|
+
.event-week-board-card {
|
|
19175
19535
|
flex: 1 1 14rem;
|
|
19176
19536
|
}
|
|
19177
19537
|
}
|
|
@@ -19179,11 +19539,37 @@ const containerResponsiveThemeCss = `/*
|
|
|
19179
19539
|
|
|
19180
19540
|
@container rb-site (max-width: 639px) {
|
|
19181
19541
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19182
|
-
:where(.theme-scope)
|
|
19542
|
+
:where(.theme-scope)
|
|
19543
|
+
:where([data-block='event-calendar'])
|
|
19544
|
+
.event-week-board-navigation {
|
|
19545
|
+
display: grid;
|
|
19546
|
+
grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
|
|
19547
|
+
width: 100%;
|
|
19548
|
+
}
|
|
19549
|
+
|
|
19550
|
+
:where(.theme-scope)
|
|
19551
|
+
:where([data-block='event-calendar'])
|
|
19552
|
+
.event-week-board-navigation
|
|
19553
|
+
> :last-child {
|
|
19554
|
+
grid-column: 1 / -1;
|
|
19555
|
+
justify-self: center;
|
|
19556
|
+
}
|
|
19557
|
+
|
|
19558
|
+
:where(.theme-scope)
|
|
19559
|
+
:where([data-block='event-calendar'])
|
|
19560
|
+
.event-week-board-range {
|
|
19561
|
+
min-width: 0;
|
|
19562
|
+
}
|
|
19563
|
+
|
|
19564
|
+
:where(.theme-scope)
|
|
19565
|
+
:where([data-block='event-calendar'])
|
|
19566
|
+
.event-week-board-legend {
|
|
19183
19567
|
display: none;
|
|
19184
19568
|
}
|
|
19185
19569
|
|
|
19186
|
-
:where(.theme-scope)
|
|
19570
|
+
:where(.theme-scope)
|
|
19571
|
+
:where([data-block='event-calendar'])
|
|
19572
|
+
.event-week-board-card {
|
|
19187
19573
|
flex: 1 1 100%;
|
|
19188
19574
|
}
|
|
19189
19575
|
}
|
|
@@ -19200,8 +19586,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19200
19586
|
* Opt-in only: the band paints when the board root carries [data-banded];
|
|
19201
19587
|
* the generic default is bandless.
|
|
19202
19588
|
* ----------------------------------------------------------------------------- */
|
|
19203
|
-
:where(.theme-scope)
|
|
19204
|
-
|
|
19589
|
+
:where(.theme-scope)
|
|
19590
|
+
[data-slot='section']:has(.event-calendar--week-board[data-banded])::before {
|
|
19591
|
+
content: '';
|
|
19205
19592
|
position: absolute;
|
|
19206
19593
|
inset: 0;
|
|
19207
19594
|
z-index: -9;
|
|
@@ -19255,7 +19642,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
19255
19642
|
* ----------------------------------------------------------------------------- */
|
|
19256
19643
|
|
|
19257
19644
|
/* Modal overlay */
|
|
19258
|
-
:where(.theme-scope) :where([data-block=
|
|
19645
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-overlay {
|
|
19259
19646
|
position: fixed;
|
|
19260
19647
|
inset: 0;
|
|
19261
19648
|
background: var(--ec-modal-overlay-bg);
|
|
@@ -19269,12 +19656,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
19269
19656
|
}
|
|
19270
19657
|
|
|
19271
19658
|
@keyframes ec-modal-fade-in {
|
|
19272
|
-
from {
|
|
19273
|
-
|
|
19659
|
+
from {
|
|
19660
|
+
opacity: 0;
|
|
19661
|
+
}
|
|
19662
|
+
to {
|
|
19663
|
+
opacity: 1;
|
|
19664
|
+
}
|
|
19274
19665
|
}
|
|
19275
19666
|
|
|
19276
19667
|
/* Modal dialog */
|
|
19277
|
-
:where(.theme-scope) :where([data-block=
|
|
19668
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal {
|
|
19278
19669
|
position: relative;
|
|
19279
19670
|
background: var(--ec-modal-bg);
|
|
19280
19671
|
border-radius: var(--rb-block-radius);
|
|
@@ -19298,17 +19689,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
19298
19689
|
}
|
|
19299
19690
|
|
|
19300
19691
|
/* Event modal - constrained width for card */
|
|
19301
|
-
:where(.theme-scope) :where([data-block=
|
|
19692
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal--event {
|
|
19302
19693
|
max-width: 26rem;
|
|
19303
19694
|
}
|
|
19304
19695
|
|
|
19305
19696
|
/* Day modal */
|
|
19306
|
-
:where(.theme-scope) :where([data-block=
|
|
19697
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal--day {
|
|
19307
19698
|
max-width: 28rem;
|
|
19308
19699
|
}
|
|
19309
19700
|
|
|
19310
19701
|
/* Close button */
|
|
19311
|
-
:where(.theme-scope) :where([data-block=
|
|
19702
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-close {
|
|
19312
19703
|
position: absolute;
|
|
19313
19704
|
top: 0.75rem;
|
|
19314
19705
|
right: 0.75rem;
|
|
@@ -19329,31 +19720,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
19329
19720
|
z-index: 10;
|
|
19330
19721
|
}
|
|
19331
19722
|
|
|
19332
|
-
:where(.theme-scope)
|
|
19723
|
+
:where(.theme-scope)
|
|
19724
|
+
:where([data-block='event-calendar'])
|
|
19725
|
+
.ec-modal-close:hover {
|
|
19333
19726
|
opacity: 1;
|
|
19334
19727
|
background-color: rgba(var(--tb-text), 0.1);
|
|
19335
19728
|
}
|
|
19336
19729
|
|
|
19337
|
-
:where(.theme-scope)
|
|
19730
|
+
:where(.theme-scope)
|
|
19731
|
+
:where([data-block='event-calendar'])
|
|
19732
|
+
.ec-modal-close:focus-visible {
|
|
19338
19733
|
outline: 2px solid rgb(var(--tb-primary));
|
|
19339
19734
|
outline-offset: 2px;
|
|
19340
19735
|
}
|
|
19341
19736
|
|
|
19342
19737
|
/* Modal header (for day modal) */
|
|
19343
|
-
:where(.theme-scope) :where([data-block=
|
|
19738
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-header {
|
|
19344
19739
|
padding: 1.5rem 1.5rem 1rem;
|
|
19345
19740
|
padding-right: 3rem; /* Space for close button */
|
|
19346
19741
|
border-bottom: 1px solid var(--ec-border);
|
|
19347
19742
|
}
|
|
19348
19743
|
|
|
19349
|
-
:where(.theme-scope) :where([data-block=
|
|
19744
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-title {
|
|
19350
19745
|
font-size: 1.125rem;
|
|
19351
19746
|
font-weight: 600;
|
|
19352
19747
|
color: var(--ec-text);
|
|
19353
19748
|
margin: 0;
|
|
19354
19749
|
}
|
|
19355
19750
|
|
|
19356
|
-
:where(.theme-scope) :where([data-block=
|
|
19751
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-subtitle {
|
|
19357
19752
|
font-size: 0.875rem;
|
|
19358
19753
|
color: var(--ec-text);
|
|
19359
19754
|
opacity: 0.7;
|
|
@@ -19361,17 +19756,20 @@ const containerResponsiveThemeCss = `/*
|
|
|
19361
19756
|
}
|
|
19362
19757
|
|
|
19363
19758
|
/* Modal content */
|
|
19364
|
-
:where(.theme-scope) :where([data-block=
|
|
19759
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-content {
|
|
19365
19760
|
padding: 1rem;
|
|
19366
19761
|
}
|
|
19367
19762
|
|
|
19368
19763
|
/* Event modal: tighter padding for card */
|
|
19369
|
-
:where(.theme-scope)
|
|
19764
|
+
:where(.theme-scope)
|
|
19765
|
+
:where([data-block='event-calendar'])
|
|
19766
|
+
.ec-modal--event
|
|
19767
|
+
.ec-modal-content {
|
|
19370
19768
|
padding: 0.5rem;
|
|
19371
19769
|
}
|
|
19372
19770
|
|
|
19373
19771
|
/* Day events list */
|
|
19374
|
-
:where(.theme-scope) :where([data-block=
|
|
19772
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-day-events-list {
|
|
19375
19773
|
display: flex;
|
|
19376
19774
|
flex-direction: column;
|
|
19377
19775
|
gap: 0.5rem;
|
|
@@ -19379,7 +19777,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19379
19777
|
}
|
|
19380
19778
|
|
|
19381
19779
|
/* AgendaEventCard in button mode inherits most styles, just needs cursor */
|
|
19382
|
-
:where(.theme-scope)
|
|
19780
|
+
:where(.theme-scope)
|
|
19781
|
+
:where([data-block='event-calendar'])
|
|
19782
|
+
button.event-agenda-card {
|
|
19383
19783
|
cursor: pointer;
|
|
19384
19784
|
text-align: left;
|
|
19385
19785
|
font-family: inherit;
|
|
@@ -19388,7 +19788,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19388
19788
|
/* Responsive adjustments */
|
|
19389
19789
|
@container rb-site (max-width: 640px) {
|
|
19390
19790
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19391
|
-
:where(.theme-scope)
|
|
19791
|
+
:where(.theme-scope)
|
|
19792
|
+
:where([data-block='event-calendar'])
|
|
19793
|
+
.event-calendar-container {
|
|
19392
19794
|
margin-left: -1.5rem;
|
|
19393
19795
|
margin-right: -1.5rem;
|
|
19394
19796
|
border-left: none;
|
|
@@ -19396,28 +19798,38 @@ const containerResponsiveThemeCss = `/*
|
|
|
19396
19798
|
border-radius: 0;
|
|
19397
19799
|
}
|
|
19398
19800
|
|
|
19399
|
-
:where(.theme-scope)
|
|
19801
|
+
:where(.theme-scope)
|
|
19802
|
+
:where([data-block='event-calendar'])
|
|
19803
|
+
.event-calendar-day-header {
|
|
19400
19804
|
font-size: 0.75rem;
|
|
19401
19805
|
padding: 0.375rem 0.125rem;
|
|
19402
19806
|
}
|
|
19403
19807
|
|
|
19404
|
-
:where(.theme-scope)
|
|
19808
|
+
:where(.theme-scope)
|
|
19809
|
+
:where([data-block='event-calendar'])
|
|
19810
|
+
.event-calendar-day {
|
|
19405
19811
|
min-height: 88px;
|
|
19406
19812
|
padding: 0.125rem;
|
|
19407
19813
|
}
|
|
19408
19814
|
|
|
19409
|
-
:where(.theme-scope)
|
|
19815
|
+
:where(.theme-scope)
|
|
19816
|
+
:where([data-block='event-calendar'])
|
|
19817
|
+
.event-calendar-title {
|
|
19410
19818
|
font-size: 0.9375rem;
|
|
19411
19819
|
min-width: 0;
|
|
19412
19820
|
}
|
|
19413
19821
|
|
|
19414
|
-
:where(.theme-scope)
|
|
19822
|
+
:where(.theme-scope)
|
|
19823
|
+
:where([data-block='event-calendar'])
|
|
19824
|
+
.event-calendar-day-number {
|
|
19415
19825
|
font-size: 0.75rem;
|
|
19416
19826
|
margin-bottom: 0.125rem;
|
|
19417
19827
|
padding: 0 0.125rem;
|
|
19418
19828
|
}
|
|
19419
19829
|
|
|
19420
|
-
:where(.theme-scope)
|
|
19830
|
+
:where(.theme-scope)
|
|
19831
|
+
:where([data-block='event-calendar'])
|
|
19832
|
+
.event-calendar-event {
|
|
19421
19833
|
justify-content: center;
|
|
19422
19834
|
gap: 0.25rem;
|
|
19423
19835
|
padding: 0.1875rem 0.25rem;
|
|
@@ -19425,25 +19837,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
19425
19837
|
border-radius: calc(var(--rb-block-radius) / 3);
|
|
19426
19838
|
}
|
|
19427
19839
|
|
|
19428
|
-
:where(.theme-scope)
|
|
19840
|
+
:where(.theme-scope)
|
|
19841
|
+
:where([data-block='event-calendar'])
|
|
19842
|
+
.event-calendar-event-time {
|
|
19429
19843
|
text-align: center;
|
|
19430
19844
|
font-size: 0.625rem;
|
|
19431
19845
|
}
|
|
19432
19846
|
|
|
19433
|
-
:where(.theme-scope)
|
|
19847
|
+
:where(.theme-scope)
|
|
19848
|
+
:where([data-block='event-calendar'])
|
|
19849
|
+
.event-calendar-event-title {
|
|
19434
19850
|
display: none;
|
|
19435
19851
|
}
|
|
19436
19852
|
|
|
19437
|
-
:where(.theme-scope)
|
|
19853
|
+
:where(.theme-scope)
|
|
19854
|
+
:where([data-block='event-calendar'])
|
|
19855
|
+
.event-calendar-more {
|
|
19438
19856
|
padding: 0.125rem 0.25rem;
|
|
19439
19857
|
font-size: 0.6875rem;
|
|
19440
19858
|
}
|
|
19441
19859
|
|
|
19442
|
-
:where(.theme-scope)
|
|
19860
|
+
:where(.theme-scope)
|
|
19861
|
+
:where([data-block='event-calendar'])
|
|
19862
|
+
.event-calendar-header
|
|
19863
|
+
> button {
|
|
19443
19864
|
margin-right: 0.25rem;
|
|
19444
19865
|
}
|
|
19445
19866
|
|
|
19446
|
-
:where(.theme-scope) :where([data-block=
|
|
19867
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal {
|
|
19447
19868
|
max-width: 100%;
|
|
19448
19869
|
max-height: 85vh;
|
|
19449
19870
|
margin: 0 0.5rem;
|
|
@@ -20077,6 +20498,21 @@ const containerResponsiveThemeCss = `/*
|
|
|
20077
20498
|
outline-offset: 2px;
|
|
20078
20499
|
}
|
|
20079
20500
|
|
|
20501
|
+
/* Event titles always link to the event page, so a card or row whose CTA is
|
|
20502
|
+
hidden (sold out, closed) is never a dead end (issue 1372). The link inherits
|
|
20503
|
+
the heading's colour and only reveals itself on hover or keyboard focus.
|
|
20504
|
+
Shared by EventCard, EventCompactRow and the offerings-preview course cards via \`.event-title-link\`. */
|
|
20505
|
+
:where(.theme-scope) .event-title-link {
|
|
20506
|
+
color: inherit;
|
|
20507
|
+
text-decoration: none;
|
|
20508
|
+
}
|
|
20509
|
+
|
|
20510
|
+
:where(.theme-scope) .event-title-link:hover,
|
|
20511
|
+
:where(.theme-scope) .event-title-link:focus-visible {
|
|
20512
|
+
text-decoration: underline;
|
|
20513
|
+
text-underline-offset: 0.12em;
|
|
20514
|
+
}
|
|
20515
|
+
|
|
20080
20516
|
/* =============================================================================
|
|
20081
20517
|
* Block: Carousel Navigation (Phase 3 client component migration)
|
|
20082
20518
|
* =============================================================================
|