@riverbankcms/sdk 0.135.1 → 0.136.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 +13 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-D4p_5TdY.mjs → PreviewEditorSidebar-BU5ZlhQR.mjs} +4 -4
- package/dist/{PreviewEditorUI-D0cRoTX1.mjs → PreviewEditorUI-9XkHL-bC.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-wbEpXryy.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BKLtM3Nz.mjs → SdkPreviewModeRuntime-CnWmj-2B.mjs} +50 -99
- package/dist/{SiteChromeCustomizeContext-61X2m7QV.mjs → SiteChromeCustomizeContext-B6d5zkog.mjs} +2299 -1149
- package/dist/_dts/ai/src/contracts/proposals.d.ts +8 -554
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +401 -2312
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -0
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -0
- 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/sdkThemeWire.d.ts +6 -432
- 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 +12 -6
- 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 +40 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- 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 +2 -1
- 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 +44 -18
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -3
- 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/useEventRegistrationStripeReturn.d.ts +1 -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/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/WeekAgendaView.d.ts +3 -0
- 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/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -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/index.d.ts +2 -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/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- 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/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +6 -807
- package/dist/_dts/theme-core/src/schema.d.ts +452 -1278
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +213 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +0 -29
- 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/headerStyleCompiler.d.ts +16 -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 +161 -0
- package/dist/client/{BookingConsentAgreement-Bz9znbpn.mjs → BookingConsentAgreement-DCch21a6.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-35Ru8yB9.mjs → DiscountCodeDisclosure-DIj1T59K.mjs} +1 -1
- package/dist/client/{EventCombined.client-BKB0ZxRR.mjs → EventCombined.client-BWVNlXTx.mjs} +226 -206
- package/dist/client/{EventListing.client-Dx8I21ok.mjs → EventListing.client-DVFCDe3i.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CEWx-Bhe.mjs → LeafletStaticMap-BY5mIHw9.mjs} +1 -1
- package/dist/client/{accordion-KIDsKTwS.mjs → accordion-CK29E8rG.mjs} +1 -1
- package/dist/client/{bookingForm-D96Rmp-5.mjs → bookingForm-DFvnet-N.mjs} +5 -5
- package/dist/client/bookings.mjs +86 -47
- package/dist/client/{carousel-YwUgyL66.mjs → carousel-BVU5NQlb.mjs} +1 -1
- package/dist/client/{cart-BbwuNrUT.mjs → cart-BNItcZVa.mjs} +3 -3
- package/dist/client/{checkout-hp1ucmEY.mjs → checkout-Bu6iCdkP.mjs} +3 -3
- package/dist/client/client.mjs +1950 -1031
- package/dist/client/{context-DljQn8L5.mjs → context-BImarOAq.mjs} +12 -0
- package/dist/client/{eventCalendar-DU4iNLpo.mjs → eventCalendar-DS2h-UXD.mjs} +256 -114
- package/dist/client/{eventCombined-CZuupW8m.mjs → eventCombined-Drt4Oq9p.mjs} +3 -3
- package/dist/client/{eventDetails-DPQWwCIi.mjs → eventDetails-Bl2vWgTX.mjs} +4 -3
- package/dist/client/{eventListing-C7oMidwS.mjs → eventListing-CS7PHY7v.mjs} +3 -3
- package/dist/client/{eventRegistration-zEiunlUs.mjs → eventRegistration-D-j8eNy2.mjs} +85 -41
- package/dist/client/{form-D2KIyCVJ.mjs → form-RMpoLTyr.mjs} +2 -2
- package/dist/client/{headerSection-CK5uChUK.mjs → headerSection-BYE3Lb3k.mjs} +2 -2
- package/dist/client/hooks.mjs +2225 -276
- package/dist/client/{locationMap-DLQNH1ln.mjs → locationMap-BxSr7Kkh.mjs} +2 -2
- package/dist/client/{newsletterForm-ZuhIG7fZ.mjs → newsletterForm-DerbXwFC.mjs} +2 -2
- package/dist/client/{productDetail-7hIcGeae.mjs → productDetail-4SZCLhAf.mjs} +3 -3
- package/dist/client/{productList-T4Cii1ot.mjs → productList-D7AP4GNq.mjs} +3 -3
- package/dist/client/{propsDecoder-mB0aC_Fi.mjs → propsDecoder-pzBeCh14.mjs} +94 -24
- package/dist/client/rendering/client.mjs +758 -464
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +2126 -1244
- package/dist/client/{scrollToBlock-Du5mHgvL.mjs → scrollToBlock-CduAKf8T.mjs} +1 -1
- package/dist/client/{shop-B5zAcKZn.mjs → shop-Cp5p_kGe.mjs} +6 -6
- package/dist/client/{shop-commerce-BKBZB6l5.mjs → shop-commerce-DicXYaYX.mjs} +5 -5
- package/dist/client/{shop-commerce-store-Cq4qlNtQ.mjs → shop-commerce-store-CGWnpY4K.mjs} +1 -1
- package/dist/client/{shopShared-DYGzEs9D.mjs → shopShared-BDf9ljkm.mjs} +3 -3
- package/dist/client/{useEventFilters-Bphkda8m.mjs → useEventFilters-DeeyGYuk.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +7 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-DbqBol0V.mjs} +7 -0
- package/dist/{sdk-runtime-BbIC8G4J.mjs → sdk-runtime-19MO27F0.mjs} +2 -2
- package/dist/{separator-CadhAtI7.mjs → separator-DaPLtJ1f.mjs} +1 -1
- package/dist/server/components.mjs +1527 -893
- package/dist/server/config-validation.mjs +65 -113
- package/dist/server/config.mjs +65 -113
- package/dist/server/data.mjs +65 -112
- package/dist/server/index.mjs +122 -4
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +1432 -708
- package/dist/server/page-converter.mjs +58 -91
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1682 -915
- package/dist/server/rendering.mjs +1694 -1020
- package/dist/server/routing.mjs +3230 -1843
- package/dist/server/server.mjs +21710 -19779
- package/dist/server/theme-bridge.mjs +656 -264
- package/dist/server/theme.mjs +2 -17
- package/dist/styles/index.css +609 -181
- package/package.json +1 -1
|
@@ -5006,12 +5006,8 @@ const legacyHeaderVariantValues = Object.keys(legacyHeaderVariants);
|
|
|
5006
5006
|
* `@riverbankcms/api` is `z.input<typeof themeSchema>`, so a widened input here
|
|
5007
5007
|
* would leak straight into a public type.
|
|
5008
5008
|
*
|
|
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.
|
|
5009
|
+
* Persisted runtime themes are admitted through `parseThemeForPersistence`
|
|
5010
|
+
* before reaching consumers, so legacy spellings normalize at that boundary.
|
|
5015
5011
|
*/
|
|
5016
5012
|
const headerVariantWithLegacyAliasSchema = z.enum([...headerVariantValues, ...legacyHeaderVariantValues]).transform((value) => value in legacyHeaderVariants ? legacyHeaderVariants[value] : value);
|
|
5017
5013
|
const BREAKPOINT_LG = 1024;
|
|
@@ -5470,7 +5466,6 @@ const navFontWeight = z.enum([
|
|
|
5470
5466
|
"bold"
|
|
5471
5467
|
]);
|
|
5472
5468
|
const headerMaxWidth = z.enum(["container", "full"]);
|
|
5473
|
-
const headerBarFrame = z.enum(["full-bleed", "inset-shell"]);
|
|
5474
5469
|
const headerBorderSchema = componentBorderSchema.extend({ position: z.enum([
|
|
5475
5470
|
"bottom",
|
|
5476
5471
|
"top",
|
|
@@ -5499,12 +5494,6 @@ const headerLogoTextSchema = z.object({
|
|
|
5499
5494
|
]).optional(),
|
|
5500
5495
|
hideOnShrink: z.boolean().optional()
|
|
5501
5496
|
}).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
5497
|
const dropdownStyleSchema = z.object({
|
|
5509
5498
|
background: themeColorTokenSchema.default("surface"),
|
|
5510
5499
|
textColor: themeColorTokenSchema.default("text"),
|
|
@@ -5596,9 +5585,7 @@ const headerSchema = z.object({
|
|
|
5596
5585
|
positioning: headerPositioning,
|
|
5597
5586
|
shrinkOnScroll: z.boolean(),
|
|
5598
5587
|
maxWidth: headerMaxWidth,
|
|
5599
|
-
barFrame: headerBarFrame.optional(),
|
|
5600
5588
|
scrollTreatment: headerScrollTreatmentSchema,
|
|
5601
|
-
logoOverride: mediaSchema.nullable().optional(),
|
|
5602
5589
|
background: headerBackgroundSchema.default({
|
|
5603
5590
|
type: "color",
|
|
5604
5591
|
color: "surface"
|
|
@@ -5610,13 +5597,11 @@ const headerSchema = z.object({
|
|
|
5610
5597
|
navFontRole: z.enum(["body", "heading"]).optional(),
|
|
5611
5598
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
5612
5599
|
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
5613
|
-
navPlacement: z.enum(["end", "center"]).optional(),
|
|
5614
5600
|
container: headerContainerSchema,
|
|
5615
5601
|
border: headerBorderSchema,
|
|
5616
5602
|
shadow: componentShadowSchema.optional(),
|
|
5617
5603
|
logo: logoStyleSchema,
|
|
5618
5604
|
logoText: headerLogoTextSchema,
|
|
5619
|
-
navEffects: navEffectsSchema,
|
|
5620
5605
|
navContainer: navContainerSchema,
|
|
5621
5606
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
5622
5607
|
ctaGap: headerCtaGapSchema.optional(),
|
|
@@ -8011,38 +7996,6 @@ function asHeaderStyleId(value) {
|
|
|
8011
7996
|
return value;
|
|
8012
7997
|
}
|
|
8013
7998
|
//#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
7999
|
//#region ../theme-core/src/site-styles/headerLayoutCatalog.ts
|
|
8047
8000
|
const titleOnlyLogoAccommodation = {
|
|
8048
8001
|
pattern: "title-only",
|
|
@@ -8202,43 +8155,37 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
8202
8155
|
id: asHeaderStyleId("minimal"),
|
|
8203
8156
|
label: "Minimal",
|
|
8204
8157
|
description: "Quiet surface with simple color-change navigation.",
|
|
8205
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8206
|
-
navTypography: "plain"
|
|
8158
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8207
8159
|
},
|
|
8208
8160
|
{
|
|
8209
8161
|
id: asHeaderStyleId("fine-line"),
|
|
8210
8162
|
label: "Seamless",
|
|
8211
8163
|
description: "Borderless surface with underline hover for a quieter page transition.",
|
|
8212
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8213
|
-
navTypography: "plain"
|
|
8164
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8214
8165
|
},
|
|
8215
8166
|
{
|
|
8216
8167
|
id: asHeaderStyleId("soft-bar"),
|
|
8217
8168
|
label: "Soft Bar",
|
|
8218
8169
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
8219
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8220
|
-
navTypography: "plain"
|
|
8170
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8221
8171
|
},
|
|
8222
8172
|
{
|
|
8223
8173
|
id: asHeaderStyleId("pill-nav"),
|
|
8224
8174
|
label: "Pill Nav",
|
|
8225
8175
|
description: "A calm pill navigation rail over a neutral header.",
|
|
8226
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8227
|
-
navTypography: "plain"
|
|
8176
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8228
8177
|
},
|
|
8229
8178
|
{
|
|
8230
8179
|
id: asHeaderStyleId("brand-bar"),
|
|
8231
8180
|
label: "Brand Bar",
|
|
8232
8181
|
description: "Solid brand surface with high-contrast navigation.",
|
|
8233
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8234
|
-
navTypography: "brand-caps"
|
|
8182
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8235
8183
|
},
|
|
8236
8184
|
{
|
|
8237
8185
|
id: asHeaderStyleId("brand-underline"),
|
|
8238
8186
|
label: "Brand Underline",
|
|
8239
8187
|
description: "Brand surface with underline-grow navigation.",
|
|
8240
|
-
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8241
|
-
navTypography: "brand-caps"
|
|
8188
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8242
8189
|
},
|
|
8243
8190
|
{
|
|
8244
8191
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -8248,74 +8195,90 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
8248
8195
|
"classic",
|
|
8249
8196
|
"centered",
|
|
8250
8197
|
"floating"
|
|
8251
|
-
])
|
|
8252
|
-
navTypography: "brand-caps"
|
|
8198
|
+
])
|
|
8253
8199
|
},
|
|
8254
8200
|
{
|
|
8255
8201
|
id: asHeaderStyleId("brand-capsule"),
|
|
8256
8202
|
label: "Brand Capsule",
|
|
8257
8203
|
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"
|
|
8204
|
+
supportedLayoutIds: supportedLayouts(["classic"])
|
|
8260
8205
|
},
|
|
8261
8206
|
{
|
|
8262
8207
|
id: asHeaderStyleId("serif-line"),
|
|
8263
8208
|
label: "Serif Line",
|
|
8264
8209
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
8265
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8266
|
-
navTypography: "heading"
|
|
8210
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8267
8211
|
},
|
|
8268
8212
|
{
|
|
8269
8213
|
id: asHeaderStyleId("flat-tabs"),
|
|
8270
8214
|
label: "Flat Tabs",
|
|
8271
8215
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
8272
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8273
|
-
navTypography: "quiet-caps"
|
|
8216
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"])
|
|
8274
8217
|
},
|
|
8275
8218
|
{
|
|
8276
8219
|
id: asHeaderStyleId("glass"),
|
|
8277
8220
|
label: "Glass",
|
|
8278
8221
|
description: "Translucent chrome with frosted navigation backing.",
|
|
8279
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8280
|
-
navTypography: "plain"
|
|
8222
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8281
8223
|
},
|
|
8282
8224
|
{
|
|
8283
8225
|
id: asHeaderStyleId("minimal-surface"),
|
|
8284
8226
|
label: "Clear Split",
|
|
8285
8227
|
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
|
|
8228
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8291
8229
|
},
|
|
8292
8230
|
{
|
|
8293
8231
|
id: asHeaderStyleId("soft-shell"),
|
|
8294
8232
|
label: "Soft Shell",
|
|
8295
8233
|
description: "Floating rounded shell with soft pill navigation states.",
|
|
8296
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8297
|
-
navTypography: "plain"
|
|
8234
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8298
8235
|
},
|
|
8299
8236
|
{
|
|
8300
8237
|
id: asHeaderStyleId("split-glass"),
|
|
8301
8238
|
label: "Split Glass",
|
|
8302
8239
|
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
8303
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8304
|
-
navTypography: "quiet-caps",
|
|
8305
|
-
openingForegroundTarget: "brand-only"
|
|
8240
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8306
8241
|
},
|
|
8307
8242
|
{
|
|
8308
8243
|
id: asHeaderStyleId("split-pill"),
|
|
8309
8244
|
label: "Split Pill",
|
|
8310
8245
|
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
8311
|
-
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8312
|
-
navTypography: "heading",
|
|
8313
|
-
openingForegroundTarget: "brand-only"
|
|
8246
|
+
supportedLayoutIds: supportedLayouts(["floating"])
|
|
8314
8247
|
}
|
|
8315
8248
|
]);
|
|
8316
8249
|
new Map(headerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
8317
8250
|
new Map(headerStyleCatalog.map((style) => [style.id, style]));
|
|
8318
8251
|
//#endregion
|
|
8252
|
+
//#region ../theme-core/src/site-styles/lookOptionGroups.ts
|
|
8253
|
+
function defineLookOptionGroup(group) {
|
|
8254
|
+
defaultOption(group);
|
|
8255
|
+
return group;
|
|
8256
|
+
}
|
|
8257
|
+
function defaultOption(group) {
|
|
8258
|
+
const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
|
|
8259
|
+
if (option) return option;
|
|
8260
|
+
throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
|
|
8261
|
+
}
|
|
8262
|
+
defineLookOptionGroup({
|
|
8263
|
+
id: "interaction-palette",
|
|
8264
|
+
label: "Hover colour",
|
|
8265
|
+
defaultOptionId: "accent",
|
|
8266
|
+
options: [
|
|
8267
|
+
{
|
|
8268
|
+
id: "accent",
|
|
8269
|
+
label: "Accent"
|
|
8270
|
+
},
|
|
8271
|
+
{
|
|
8272
|
+
id: "primary",
|
|
8273
|
+
label: "Primary"
|
|
8274
|
+
},
|
|
8275
|
+
{
|
|
8276
|
+
id: "secondary",
|
|
8277
|
+
label: "Secondary"
|
|
8278
|
+
}
|
|
8279
|
+
]
|
|
8280
|
+
});
|
|
8281
|
+
//#endregion
|
|
8319
8282
|
//#region ../theme-core/src/site-styles/footerLooks.ts
|
|
8320
8283
|
function asFooterLookId(value) {
|
|
8321
8284
|
return value;
|
|
@@ -18178,31 +18141,37 @@ const containerResponsiveThemeCss = `/*
|
|
|
18178
18141
|
*/
|
|
18179
18142
|
|
|
18180
18143
|
/* Main container */
|
|
18181
|
-
:where(.theme-scope) :where([data-block=
|
|
18144
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar {
|
|
18182
18145
|
width: 100%;
|
|
18183
18146
|
}
|
|
18184
18147
|
|
|
18185
|
-
:where(.theme-scope)
|
|
18148
|
+
:where(.theme-scope)
|
|
18149
|
+
:where([data-block='event-calendar'])
|
|
18150
|
+
.event-calendar-container {
|
|
18186
18151
|
border: 1px solid var(--ec-border);
|
|
18187
18152
|
border-radius: var(--rb-block-radius);
|
|
18188
18153
|
overflow: hidden;
|
|
18189
18154
|
}
|
|
18190
18155
|
|
|
18191
18156
|
/* Calendar navigation */
|
|
18192
|
-
:where(.theme-scope)
|
|
18157
|
+
:where(.theme-scope)
|
|
18158
|
+
:where([data-block='event-calendar'])
|
|
18159
|
+
.event-calendar-header {
|
|
18193
18160
|
display: flex;
|
|
18194
18161
|
align-items: center;
|
|
18195
18162
|
justify-content: space-between;
|
|
18196
18163
|
margin-bottom: 1rem;
|
|
18197
18164
|
}
|
|
18198
18165
|
|
|
18199
|
-
:where(.theme-scope) :where([data-block=
|
|
18166
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar-nav {
|
|
18200
18167
|
display: flex;
|
|
18201
18168
|
align-items: center;
|
|
18202
18169
|
gap: 0.5rem;
|
|
18203
18170
|
}
|
|
18204
18171
|
|
|
18205
|
-
:where(.theme-scope)
|
|
18172
|
+
:where(.theme-scope)
|
|
18173
|
+
:where([data-block='event-calendar'])
|
|
18174
|
+
.event-calendar-nav-btn {
|
|
18206
18175
|
display: flex;
|
|
18207
18176
|
align-items: center;
|
|
18208
18177
|
justify-content: center;
|
|
@@ -18217,11 +18186,15 @@ const containerResponsiveThemeCss = `/*
|
|
|
18217
18186
|
transition: background-color var(--rb-block-transition) ease;
|
|
18218
18187
|
}
|
|
18219
18188
|
|
|
18220
|
-
:where(.theme-scope)
|
|
18189
|
+
:where(.theme-scope)
|
|
18190
|
+
:where([data-block='event-calendar'])
|
|
18191
|
+
.event-calendar-nav-btn:hover {
|
|
18221
18192
|
background-color: var(--ec-nav-hover-bg);
|
|
18222
18193
|
}
|
|
18223
18194
|
|
|
18224
|
-
:where(.theme-scope)
|
|
18195
|
+
:where(.theme-scope)
|
|
18196
|
+
:where([data-block='event-calendar'])
|
|
18197
|
+
.event-calendar-title {
|
|
18225
18198
|
font-size: 1.125rem;
|
|
18226
18199
|
font-weight: 600;
|
|
18227
18200
|
min-width: 200px;
|
|
@@ -18229,13 +18202,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18229
18202
|
}
|
|
18230
18203
|
|
|
18231
18204
|
/* Day headers */
|
|
18232
|
-
:where(.theme-scope)
|
|
18205
|
+
:where(.theme-scope)
|
|
18206
|
+
:where([data-block='event-calendar'])
|
|
18207
|
+
.event-calendar-day-headers {
|
|
18233
18208
|
display: grid;
|
|
18234
18209
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
18235
18210
|
background-color: var(--ec-header-bg);
|
|
18236
18211
|
}
|
|
18237
18212
|
|
|
18238
|
-
:where(.theme-scope)
|
|
18213
|
+
:where(.theme-scope)
|
|
18214
|
+
:where([data-block='event-calendar'])
|
|
18215
|
+
.event-calendar-day-header {
|
|
18239
18216
|
text-align: center;
|
|
18240
18217
|
padding: 0.5rem;
|
|
18241
18218
|
font-size: 0.875rem;
|
|
@@ -18245,33 +18222,43 @@ const containerResponsiveThemeCss = `/*
|
|
|
18245
18222
|
}
|
|
18246
18223
|
|
|
18247
18224
|
/* Calendar grid */
|
|
18248
|
-
:where(.theme-scope)
|
|
18225
|
+
:where(.theme-scope)
|
|
18226
|
+
:where([data-block='event-calendar'])
|
|
18227
|
+
.event-calendar-grid {
|
|
18249
18228
|
display: grid;
|
|
18250
18229
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
18251
18230
|
}
|
|
18252
18231
|
|
|
18253
18232
|
/* Day cells */
|
|
18254
|
-
:where(.theme-scope) :where([data-block=
|
|
18233
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-calendar-day {
|
|
18255
18234
|
min-height: 100px;
|
|
18256
18235
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18257
18236
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18258
18237
|
padding: 0.25rem;
|
|
18259
18238
|
}
|
|
18260
18239
|
|
|
18261
|
-
:where(.theme-scope)
|
|
18240
|
+
:where(.theme-scope)
|
|
18241
|
+
:where([data-block='event-calendar'])
|
|
18242
|
+
.event-calendar-day:nth-child(7n) {
|
|
18262
18243
|
border-right: none;
|
|
18263
18244
|
}
|
|
18264
18245
|
|
|
18265
|
-
:where(.theme-scope)
|
|
18246
|
+
:where(.theme-scope)
|
|
18247
|
+
:where([data-block='event-calendar'])
|
|
18248
|
+
.event-calendar-day--today {
|
|
18266
18249
|
background-color: var(--ec-today-bg);
|
|
18267
18250
|
}
|
|
18268
18251
|
|
|
18269
|
-
:where(.theme-scope)
|
|
18252
|
+
:where(.theme-scope)
|
|
18253
|
+
:where([data-block='event-calendar'])
|
|
18254
|
+
.event-calendar-day--other-month {
|
|
18270
18255
|
opacity: var(--ec-other-month-opacity);
|
|
18271
18256
|
}
|
|
18272
18257
|
|
|
18273
18258
|
/* Day number */
|
|
18274
|
-
:where(.theme-scope)
|
|
18259
|
+
:where(.theme-scope)
|
|
18260
|
+
:where([data-block='event-calendar'])
|
|
18261
|
+
.event-calendar-day-number {
|
|
18275
18262
|
font-size: 0.875rem;
|
|
18276
18263
|
font-weight: 500;
|
|
18277
18264
|
margin-bottom: 0.25rem;
|
|
@@ -18279,21 +18266,28 @@ const containerResponsiveThemeCss = `/*
|
|
|
18279
18266
|
opacity: var(--ec-day-number-opacity);
|
|
18280
18267
|
}
|
|
18281
18268
|
|
|
18282
|
-
:where(.theme-scope)
|
|
18269
|
+
:where(.theme-scope)
|
|
18270
|
+
:where([data-block='event-calendar'])
|
|
18271
|
+
.event-calendar-day--today
|
|
18272
|
+
.event-calendar-day-number {
|
|
18283
18273
|
font-weight: 700;
|
|
18284
18274
|
opacity: 1;
|
|
18285
18275
|
color: var(--ec-today-text);
|
|
18286
18276
|
}
|
|
18287
18277
|
|
|
18288
18278
|
/* Events list */
|
|
18289
|
-
:where(.theme-scope)
|
|
18279
|
+
:where(.theme-scope)
|
|
18280
|
+
:where([data-block='event-calendar'])
|
|
18281
|
+
.event-calendar-events {
|
|
18290
18282
|
display: flex;
|
|
18291
18283
|
flex-direction: column;
|
|
18292
18284
|
gap: 0.25rem;
|
|
18293
18285
|
}
|
|
18294
18286
|
|
|
18295
18287
|
/* Event item - solid primary background */
|
|
18296
|
-
:where(.theme-scope)
|
|
18288
|
+
:where(.theme-scope)
|
|
18289
|
+
:where([data-block='event-calendar'])
|
|
18290
|
+
.event-calendar-event {
|
|
18297
18291
|
display: flex;
|
|
18298
18292
|
align-items: center;
|
|
18299
18293
|
gap: 0.375rem;
|
|
@@ -18314,24 +18308,32 @@ const containerResponsiveThemeCss = `/*
|
|
|
18314
18308
|
transform var(--rb-block-transition) ease;
|
|
18315
18309
|
}
|
|
18316
18310
|
|
|
18317
|
-
:where(.theme-scope)
|
|
18311
|
+
:where(.theme-scope)
|
|
18312
|
+
:where([data-block='event-calendar'])
|
|
18313
|
+
.event-calendar-event:hover {
|
|
18318
18314
|
background-color: var(--ec-event-solid-hover-bg);
|
|
18319
18315
|
transform: translateY(-1px);
|
|
18320
18316
|
}
|
|
18321
18317
|
|
|
18322
|
-
:where(.theme-scope)
|
|
18318
|
+
:where(.theme-scope)
|
|
18319
|
+
:where([data-block='event-calendar'])
|
|
18320
|
+
.event-calendar-event:focus-visible {
|
|
18323
18321
|
outline: 2px solid var(--ec-event-solid-bg);
|
|
18324
18322
|
outline-offset: 2px;
|
|
18325
18323
|
}
|
|
18326
18324
|
|
|
18327
|
-
:where(.theme-scope)
|
|
18325
|
+
:where(.theme-scope)
|
|
18326
|
+
:where([data-block='event-calendar'])
|
|
18327
|
+
.event-calendar-event-time {
|
|
18328
18328
|
flex-shrink: 0;
|
|
18329
18329
|
white-space: nowrap;
|
|
18330
18330
|
font-weight: 600;
|
|
18331
18331
|
opacity: 0.9;
|
|
18332
18332
|
}
|
|
18333
18333
|
|
|
18334
|
-
:where(.theme-scope)
|
|
18334
|
+
:where(.theme-scope)
|
|
18335
|
+
:where([data-block='event-calendar'])
|
|
18336
|
+
.event-calendar-event-title {
|
|
18335
18337
|
min-width: 0;
|
|
18336
18338
|
overflow: hidden;
|
|
18337
18339
|
text-overflow: ellipsis;
|
|
@@ -18339,7 +18341,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18339
18341
|
}
|
|
18340
18342
|
|
|
18341
18343
|
/* More indicator - clickable button style */
|
|
18342
|
-
:where(.theme-scope)
|
|
18344
|
+
:where(.theme-scope)
|
|
18345
|
+
:where([data-block='event-calendar'])
|
|
18346
|
+
.event-calendar-more {
|
|
18343
18347
|
font-size: 0.75rem;
|
|
18344
18348
|
padding: 0.25rem 0.5rem;
|
|
18345
18349
|
color: rgb(var(--tb-primary));
|
|
@@ -18351,16 +18355,22 @@ const containerResponsiveThemeCss = `/*
|
|
|
18351
18355
|
transition: background-color var(--rb-block-transition) ease;
|
|
18352
18356
|
}
|
|
18353
18357
|
|
|
18354
|
-
:where(.theme-scope)
|
|
18358
|
+
:where(.theme-scope)
|
|
18359
|
+
:where([data-block='event-calendar'])
|
|
18360
|
+
.event-calendar-more:hover {
|
|
18355
18361
|
background-color: rgba(var(--tb-primary), 0.1);
|
|
18356
18362
|
}
|
|
18357
18363
|
|
|
18358
|
-
:where(.theme-scope)
|
|
18364
|
+
:where(.theme-scope)
|
|
18365
|
+
:where([data-block='event-calendar'])
|
|
18366
|
+
.event-calendar-more:focus-visible {
|
|
18359
18367
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18360
18368
|
outline-offset: 2px;
|
|
18361
18369
|
}
|
|
18362
18370
|
|
|
18363
|
-
:where(.theme-scope)
|
|
18371
|
+
:where(.theme-scope)
|
|
18372
|
+
:where([data-block='event-calendar'])
|
|
18373
|
+
.event-calendar-empty {
|
|
18364
18374
|
text-align: center;
|
|
18365
18375
|
font-size: 0.875rem;
|
|
18366
18376
|
opacity: var(--ec-empty-opacity);
|
|
@@ -18368,21 +18378,21 @@ const containerResponsiveThemeCss = `/*
|
|
|
18368
18378
|
}
|
|
18369
18379
|
|
|
18370
18380
|
/* Filters container */
|
|
18371
|
-
:where(.theme-scope) :where([data-block=
|
|
18381
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filters {
|
|
18372
18382
|
display: flex;
|
|
18373
18383
|
flex-wrap: wrap;
|
|
18374
18384
|
gap: 1rem;
|
|
18375
18385
|
margin-bottom: 1.5rem;
|
|
18376
18386
|
}
|
|
18377
18387
|
|
|
18378
|
-
:where(.theme-scope) :where([data-block=
|
|
18388
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filter {
|
|
18379
18389
|
display: flex;
|
|
18380
18390
|
flex-direction: column;
|
|
18381
18391
|
gap: 0.375rem;
|
|
18382
18392
|
min-width: 180px;
|
|
18383
18393
|
}
|
|
18384
18394
|
|
|
18385
|
-
:where(.theme-scope) :where([data-block=
|
|
18395
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-filter-label {
|
|
18386
18396
|
font-size: 0.75rem;
|
|
18387
18397
|
font-weight: 500;
|
|
18388
18398
|
text-transform: uppercase;
|
|
@@ -18391,19 +18401,23 @@ const containerResponsiveThemeCss = `/*
|
|
|
18391
18401
|
}
|
|
18392
18402
|
|
|
18393
18403
|
/* Event filter select inherits base styling from .form-select, only block-specific overrides here */
|
|
18394
|
-
:where(.theme-scope)
|
|
18404
|
+
:where(.theme-scope)
|
|
18405
|
+
:where([data-block='event-calendar'])
|
|
18406
|
+
.event-filter-select {
|
|
18395
18407
|
/* Use theme input radius instead of block radius for consistency with other form inputs */
|
|
18396
18408
|
border-radius: var(--rb-input-radius, var(--rb-block-radius));
|
|
18397
18409
|
}
|
|
18398
18410
|
|
|
18399
18411
|
/* Category filter buttons */
|
|
18400
|
-
:where(.theme-scope)
|
|
18412
|
+
:where(.theme-scope)
|
|
18413
|
+
:where([data-block='event-calendar'])
|
|
18414
|
+
.event-category-buttons {
|
|
18401
18415
|
display: flex;
|
|
18402
18416
|
flex-wrap: wrap;
|
|
18403
18417
|
gap: 0.5rem;
|
|
18404
18418
|
}
|
|
18405
18419
|
|
|
18406
|
-
:where(.theme-scope) :where([data-block=
|
|
18420
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-category-btn {
|
|
18407
18421
|
padding: 0.5rem 1rem;
|
|
18408
18422
|
font-size: 0.875rem;
|
|
18409
18423
|
font-weight: 500;
|
|
@@ -18415,50 +18429,66 @@ const containerResponsiveThemeCss = `/*
|
|
|
18415
18429
|
transition: all var(--rb-block-transition) ease;
|
|
18416
18430
|
}
|
|
18417
18431
|
|
|
18418
|
-
:where(.theme-scope)
|
|
18432
|
+
:where(.theme-scope)
|
|
18433
|
+
:where([data-block='event-calendar'])
|
|
18434
|
+
.event-category-btn:hover:not(:disabled) {
|
|
18419
18435
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18420
18436
|
}
|
|
18421
18437
|
|
|
18422
|
-
:where(.theme-scope)
|
|
18438
|
+
:where(.theme-scope)
|
|
18439
|
+
:where([data-block='event-calendar'])
|
|
18440
|
+
.event-category-btn:focus-visible {
|
|
18423
18441
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18424
18442
|
outline-offset: 2px;
|
|
18425
18443
|
}
|
|
18426
18444
|
|
|
18427
|
-
:where(.theme-scope)
|
|
18445
|
+
:where(.theme-scope)
|
|
18446
|
+
:where([data-block='event-calendar'])
|
|
18447
|
+
.event-category-btn--active {
|
|
18428
18448
|
background-color: rgb(var(--tb-primary));
|
|
18429
18449
|
border-color: rgb(var(--tb-primary));
|
|
18430
18450
|
color: var(--ec-event-solid-text);
|
|
18431
18451
|
}
|
|
18432
18452
|
|
|
18433
|
-
:where(.theme-scope)
|
|
18453
|
+
:where(.theme-scope)
|
|
18454
|
+
:where([data-block='event-calendar'])
|
|
18455
|
+
.event-category-btn:disabled {
|
|
18434
18456
|
opacity: 0.5;
|
|
18435
18457
|
cursor: not-allowed;
|
|
18436
18458
|
}
|
|
18437
18459
|
|
|
18438
18460
|
/* Allow category filter to be wider for button group */
|
|
18439
|
-
:where(.theme-scope)
|
|
18461
|
+
:where(.theme-scope)
|
|
18462
|
+
:where([data-block='event-calendar'])
|
|
18463
|
+
.event-filter:has(.event-category-buttons) {
|
|
18440
18464
|
min-width: auto;
|
|
18441
18465
|
flex: 1 1 auto;
|
|
18442
18466
|
}
|
|
18443
18467
|
|
|
18444
18468
|
/* Combined mode container */
|
|
18445
|
-
:where(.theme-scope) :where([data-block=
|
|
18469
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-combined {
|
|
18446
18470
|
width: 100%;
|
|
18447
18471
|
}
|
|
18448
18472
|
|
|
18449
|
-
:where(.theme-scope)
|
|
18473
|
+
:where(.theme-scope)
|
|
18474
|
+
:where([data-block='event-calendar'])
|
|
18475
|
+
.event-combined-content {
|
|
18450
18476
|
display: flex;
|
|
18451
18477
|
flex-direction: column;
|
|
18452
18478
|
}
|
|
18453
18479
|
|
|
18454
18480
|
/* Calendar view toggle (Month/Week) in Combined mode */
|
|
18455
|
-
:where(.theme-scope)
|
|
18481
|
+
:where(.theme-scope)
|
|
18482
|
+
:where([data-block='event-calendar'])
|
|
18483
|
+
.event-calendar-view-toggle {
|
|
18456
18484
|
display: flex;
|
|
18457
18485
|
gap: 0.25rem;
|
|
18458
18486
|
margin-bottom: 1rem;
|
|
18459
18487
|
}
|
|
18460
18488
|
|
|
18461
|
-
:where(.theme-scope)
|
|
18489
|
+
:where(.theme-scope)
|
|
18490
|
+
:where([data-block='event-calendar'])
|
|
18491
|
+
.event-calendar-view-btn {
|
|
18462
18492
|
padding: 0.5rem 1rem;
|
|
18463
18493
|
font-size: 0.875rem;
|
|
18464
18494
|
font-weight: 500;
|
|
@@ -18471,12 +18501,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
18471
18501
|
transition: all var(--rb-block-transition) ease;
|
|
18472
18502
|
}
|
|
18473
18503
|
|
|
18474
|
-
:where(.theme-scope)
|
|
18504
|
+
:where(.theme-scope)
|
|
18505
|
+
:where([data-block='event-calendar'])
|
|
18506
|
+
.event-calendar-view-btn:hover {
|
|
18475
18507
|
opacity: 1;
|
|
18476
18508
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18477
18509
|
}
|
|
18478
18510
|
|
|
18479
|
-
:where(.theme-scope)
|
|
18511
|
+
:where(.theme-scope)
|
|
18512
|
+
:where([data-block='event-calendar'])
|
|
18513
|
+
.event-calendar-view-btn--active {
|
|
18480
18514
|
opacity: 1;
|
|
18481
18515
|
background-color: rgb(var(--tb-primary));
|
|
18482
18516
|
border-color: rgb(var(--tb-primary));
|
|
@@ -18489,29 +18523,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
18489
18523
|
* ----------------------------------------------------------------------------- */
|
|
18490
18524
|
|
|
18491
18525
|
/* Agenda week container */
|
|
18492
|
-
:where(.theme-scope) :where([data-block=
|
|
18526
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-week {
|
|
18493
18527
|
display: flex;
|
|
18494
18528
|
flex-direction: column;
|
|
18495
18529
|
gap: 0;
|
|
18496
18530
|
}
|
|
18497
18531
|
|
|
18498
18532
|
/* Individual day section */
|
|
18499
|
-
:where(.theme-scope) :where([data-block=
|
|
18533
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-day {
|
|
18500
18534
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18501
18535
|
}
|
|
18502
18536
|
|
|
18503
|
-
:where(.theme-scope)
|
|
18537
|
+
:where(.theme-scope)
|
|
18538
|
+
:where([data-block='event-calendar'])
|
|
18539
|
+
.event-agenda-day:last-child {
|
|
18504
18540
|
border-bottom: none;
|
|
18505
18541
|
}
|
|
18506
18542
|
|
|
18507
18543
|
/* Day header */
|
|
18508
|
-
:where(.theme-scope)
|
|
18544
|
+
:where(.theme-scope)
|
|
18545
|
+
:where([data-block='event-calendar'])
|
|
18546
|
+
.event-agenda-day-header {
|
|
18509
18547
|
padding: 0.75rem 0;
|
|
18510
18548
|
background-color: var(--ec-header-bg);
|
|
18511
18549
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18512
18550
|
}
|
|
18513
18551
|
|
|
18514
|
-
:where(.theme-scope)
|
|
18552
|
+
:where(.theme-scope)
|
|
18553
|
+
:where([data-block='event-calendar'])
|
|
18554
|
+
.event-agenda-day-title {
|
|
18515
18555
|
font-size: 0.875rem;
|
|
18516
18556
|
font-weight: 600;
|
|
18517
18557
|
margin: 0;
|
|
@@ -18521,7 +18561,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18521
18561
|
}
|
|
18522
18562
|
|
|
18523
18563
|
/* Today badge */
|
|
18524
|
-
:where(.theme-scope)
|
|
18564
|
+
:where(.theme-scope)
|
|
18565
|
+
:where([data-block='event-calendar'])
|
|
18566
|
+
.event-agenda-day-today-badge {
|
|
18525
18567
|
display: inline-flex;
|
|
18526
18568
|
align-items: center;
|
|
18527
18569
|
padding: 0.125rem 0.5rem;
|
|
@@ -18535,24 +18577,33 @@ const containerResponsiveThemeCss = `/*
|
|
|
18535
18577
|
}
|
|
18536
18578
|
|
|
18537
18579
|
/* Today highlight for entire day section */
|
|
18538
|
-
:where(.theme-scope)
|
|
18580
|
+
:where(.theme-scope)
|
|
18581
|
+
:where([data-block='event-calendar'])
|
|
18582
|
+
.event-agenda-day--today
|
|
18583
|
+
.event-agenda-day-header {
|
|
18539
18584
|
background-color: var(--ec-today-bg);
|
|
18540
18585
|
}
|
|
18541
18586
|
|
|
18542
18587
|
/* Day content area */
|
|
18543
|
-
:where(.theme-scope)
|
|
18588
|
+
:where(.theme-scope)
|
|
18589
|
+
:where([data-block='event-calendar'])
|
|
18590
|
+
.event-agenda-day-content {
|
|
18544
18591
|
padding: 0.75rem 0;
|
|
18545
18592
|
}
|
|
18546
18593
|
|
|
18547
18594
|
/* Events list within a day */
|
|
18548
|
-
:where(.theme-scope)
|
|
18595
|
+
:where(.theme-scope)
|
|
18596
|
+
:where([data-block='event-calendar'])
|
|
18597
|
+
.event-agenda-day-events {
|
|
18549
18598
|
display: flex;
|
|
18550
18599
|
flex-direction: column;
|
|
18551
18600
|
gap: 0.5rem;
|
|
18552
18601
|
}
|
|
18553
18602
|
|
|
18554
18603
|
/* Empty day message */
|
|
18555
|
-
:where(.theme-scope)
|
|
18604
|
+
:where(.theme-scope)
|
|
18605
|
+
:where([data-block='event-calendar'])
|
|
18606
|
+
.event-agenda-day-empty {
|
|
18556
18607
|
font-size: 0.875rem;
|
|
18557
18608
|
opacity: var(--ec-empty-opacity);
|
|
18558
18609
|
margin: 0;
|
|
@@ -18564,7 +18615,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
18564
18615
|
* Rich event card for agenda view
|
|
18565
18616
|
* ----------------------------------------------------------------------------- */
|
|
18566
18617
|
|
|
18567
|
-
:where(.theme-scope) :where([data-block=
|
|
18618
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-agenda-card {
|
|
18568
18619
|
display: flex;
|
|
18569
18620
|
align-items: flex-start;
|
|
18570
18621
|
gap: 0.75rem;
|
|
@@ -18577,13 +18628,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18577
18628
|
transition: all var(--rb-block-transition) ease;
|
|
18578
18629
|
}
|
|
18579
18630
|
|
|
18580
|
-
:where(.theme-scope)
|
|
18631
|
+
:where(.theme-scope)
|
|
18632
|
+
:where([data-block='event-calendar'])
|
|
18633
|
+
.event-agenda-card:hover {
|
|
18581
18634
|
border-color: rgba(var(--tb-primary), 0.5);
|
|
18582
18635
|
background-color: var(--ec-event-bg);
|
|
18583
18636
|
}
|
|
18584
18637
|
|
|
18585
18638
|
/* Category color indicator */
|
|
18586
|
-
:where(.theme-scope)
|
|
18639
|
+
:where(.theme-scope)
|
|
18640
|
+
:where([data-block='event-calendar'])
|
|
18641
|
+
.event-agenda-card-indicator {
|
|
18587
18642
|
flex-shrink: 0;
|
|
18588
18643
|
width: 4px;
|
|
18589
18644
|
align-self: stretch;
|
|
@@ -18592,7 +18647,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18592
18647
|
}
|
|
18593
18648
|
|
|
18594
18649
|
/* Card content wrapper */
|
|
18595
|
-
:where(.theme-scope)
|
|
18650
|
+
:where(.theme-scope)
|
|
18651
|
+
:where([data-block='event-calendar'])
|
|
18652
|
+
.event-agenda-card-content {
|
|
18596
18653
|
flex: 1;
|
|
18597
18654
|
min-width: 0;
|
|
18598
18655
|
display: flex;
|
|
@@ -18601,28 +18658,36 @@ const containerResponsiveThemeCss = `/*
|
|
|
18601
18658
|
}
|
|
18602
18659
|
|
|
18603
18660
|
/* Header row: time + title */
|
|
18604
|
-
:where(.theme-scope)
|
|
18661
|
+
:where(.theme-scope)
|
|
18662
|
+
:where([data-block='event-calendar'])
|
|
18663
|
+
.event-agenda-card-header {
|
|
18605
18664
|
display: flex;
|
|
18606
18665
|
align-items: baseline;
|
|
18607
18666
|
gap: 0.5rem;
|
|
18608
18667
|
flex-wrap: wrap;
|
|
18609
18668
|
}
|
|
18610
18669
|
|
|
18611
|
-
:where(.theme-scope)
|
|
18670
|
+
:where(.theme-scope)
|
|
18671
|
+
:where([data-block='event-calendar'])
|
|
18672
|
+
.event-agenda-card-time {
|
|
18612
18673
|
font-size: 0.75rem;
|
|
18613
18674
|
font-weight: 600;
|
|
18614
18675
|
opacity: var(--ec-time-opacity);
|
|
18615
18676
|
white-space: nowrap;
|
|
18616
18677
|
}
|
|
18617
18678
|
|
|
18618
|
-
:where(.theme-scope)
|
|
18679
|
+
:where(.theme-scope)
|
|
18680
|
+
:where([data-block='event-calendar'])
|
|
18681
|
+
.event-agenda-card-title {
|
|
18619
18682
|
font-size: 0.875rem;
|
|
18620
18683
|
font-weight: 500;
|
|
18621
18684
|
line-height: 1.3;
|
|
18622
18685
|
}
|
|
18623
18686
|
|
|
18624
18687
|
/* Details row: venue, price, capacity */
|
|
18625
|
-
:where(.theme-scope)
|
|
18688
|
+
:where(.theme-scope)
|
|
18689
|
+
:where([data-block='event-calendar'])
|
|
18690
|
+
.event-agenda-card-details {
|
|
18626
18691
|
display: flex;
|
|
18627
18692
|
align-items: center;
|
|
18628
18693
|
gap: 0.75rem;
|
|
@@ -18631,26 +18696,36 @@ const containerResponsiveThemeCss = `/*
|
|
|
18631
18696
|
opacity: 0.7;
|
|
18632
18697
|
}
|
|
18633
18698
|
|
|
18634
|
-
:where(.theme-scope)
|
|
18699
|
+
:where(.theme-scope)
|
|
18700
|
+
:where([data-block='event-calendar'])
|
|
18701
|
+
.event-agenda-card-venue {
|
|
18635
18702
|
display: inline-flex;
|
|
18636
18703
|
align-items: center;
|
|
18637
18704
|
gap: 0.25rem;
|
|
18638
18705
|
}
|
|
18639
18706
|
|
|
18640
|
-
:where(.theme-scope)
|
|
18707
|
+
:where(.theme-scope)
|
|
18708
|
+
:where([data-block='event-calendar'])
|
|
18709
|
+
.event-agenda-card-icon {
|
|
18641
18710
|
flex-shrink: 0;
|
|
18642
18711
|
opacity: 0.7;
|
|
18643
18712
|
}
|
|
18644
18713
|
|
|
18645
|
-
:where(.theme-scope)
|
|
18714
|
+
:where(.theme-scope)
|
|
18715
|
+
:where([data-block='event-calendar'])
|
|
18716
|
+
.event-agenda-card-price {
|
|
18646
18717
|
font-weight: 500;
|
|
18647
18718
|
}
|
|
18648
18719
|
|
|
18649
|
-
:where(.theme-scope)
|
|
18720
|
+
:where(.theme-scope)
|
|
18721
|
+
:where([data-block='event-calendar'])
|
|
18722
|
+
.event-agenda-card-capacity {
|
|
18650
18723
|
font-weight: 500;
|
|
18651
18724
|
}
|
|
18652
18725
|
|
|
18653
|
-
:where(.theme-scope)
|
|
18726
|
+
:where(.theme-scope)
|
|
18727
|
+
:where([data-block='event-calendar'])
|
|
18728
|
+
.event-agenda-card-capacity--full {
|
|
18654
18729
|
color: rgb(var(--tb-error, 239 68 68));
|
|
18655
18730
|
opacity: 1;
|
|
18656
18731
|
}
|
|
@@ -18660,20 +18735,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
18660
18735
|
* Time-grid layout for recurring class schedules
|
|
18661
18736
|
* ----------------------------------------------------------------------------- */
|
|
18662
18737
|
|
|
18663
|
-
:where(.theme-scope) :where([data-block=
|
|
18738
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-timetable {
|
|
18664
18739
|
display: flex;
|
|
18665
18740
|
flex-direction: column;
|
|
18666
18741
|
gap: 0.75rem;
|
|
18667
18742
|
}
|
|
18668
18743
|
|
|
18669
|
-
:where(.theme-scope)
|
|
18744
|
+
:where(.theme-scope)
|
|
18745
|
+
:where([data-block='event-calendar'])
|
|
18746
|
+
.event-timetable-day-selector {
|
|
18670
18747
|
display: none;
|
|
18671
18748
|
gap: 0.375rem;
|
|
18672
18749
|
overflow-x: auto;
|
|
18673
18750
|
padding-bottom: 0.125rem;
|
|
18674
18751
|
}
|
|
18675
18752
|
|
|
18676
|
-
:where(.theme-scope)
|
|
18753
|
+
:where(.theme-scope)
|
|
18754
|
+
:where([data-block='event-calendar'])
|
|
18755
|
+
.event-timetable-day-tab {
|
|
18677
18756
|
flex: 0 0 auto;
|
|
18678
18757
|
padding: 0.5rem 0.75rem;
|
|
18679
18758
|
border: 1px solid var(--ec-border);
|
|
@@ -18688,35 +18767,49 @@ const containerResponsiveThemeCss = `/*
|
|
|
18688
18767
|
border-color var(--rb-block-transition) ease;
|
|
18689
18768
|
}
|
|
18690
18769
|
|
|
18691
|
-
:where(.theme-scope)
|
|
18770
|
+
:where(.theme-scope)
|
|
18771
|
+
:where([data-block='event-calendar'])
|
|
18772
|
+
.event-timetable-day-tab--active {
|
|
18692
18773
|
background-color: rgb(var(--tb-primary));
|
|
18693
18774
|
border-color: rgb(var(--tb-primary));
|
|
18694
18775
|
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
18695
18776
|
}
|
|
18696
18777
|
|
|
18697
|
-
:where(.theme-scope)
|
|
18778
|
+
:where(.theme-scope)
|
|
18779
|
+
:where([data-block='event-calendar'])
|
|
18780
|
+
.event-timetable-container {
|
|
18698
18781
|
border: 1px solid var(--ec-border);
|
|
18699
18782
|
border-radius: var(--rb-block-radius);
|
|
18700
18783
|
overflow-x: auto;
|
|
18701
18784
|
overflow-y: hidden;
|
|
18702
18785
|
}
|
|
18703
18786
|
|
|
18704
|
-
:where(.theme-scope)
|
|
18787
|
+
:where(.theme-scope)
|
|
18788
|
+
:where([data-block='event-calendar'])
|
|
18789
|
+
.event-timetable-grid {
|
|
18705
18790
|
display: grid;
|
|
18706
18791
|
grid-template-columns: 4.5rem repeat(7, minmax(8rem, 1fr));
|
|
18707
18792
|
min-width: 62rem;
|
|
18708
18793
|
}
|
|
18709
18794
|
|
|
18710
|
-
:where(.theme-scope)
|
|
18711
|
-
:where(
|
|
18795
|
+
:where(.theme-scope)
|
|
18796
|
+
:where([data-block='event-calendar'])
|
|
18797
|
+
.event-timetable-time-rail,
|
|
18798
|
+
:where(.theme-scope)
|
|
18799
|
+
:where([data-block='event-calendar'])
|
|
18800
|
+
.event-timetable-day {
|
|
18712
18801
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18713
18802
|
}
|
|
18714
18803
|
|
|
18715
|
-
:where(.theme-scope)
|
|
18804
|
+
:where(.theme-scope)
|
|
18805
|
+
:where([data-block='event-calendar'])
|
|
18806
|
+
.event-timetable-day:last-child {
|
|
18716
18807
|
border-right: none;
|
|
18717
18808
|
}
|
|
18718
18809
|
|
|
18719
|
-
:where(.theme-scope)
|
|
18810
|
+
:where(.theme-scope)
|
|
18811
|
+
:where([data-block='event-calendar'])
|
|
18812
|
+
.event-timetable-day-heading {
|
|
18720
18813
|
min-height: 3.25rem;
|
|
18721
18814
|
margin: 0;
|
|
18722
18815
|
padding: 0.75rem 0.5rem;
|
|
@@ -18731,12 +18824,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
18731
18824
|
font-weight: 600;
|
|
18732
18825
|
}
|
|
18733
18826
|
|
|
18734
|
-
:where(.theme-scope)
|
|
18827
|
+
:where(.theme-scope)
|
|
18828
|
+
:where([data-block='event-calendar'])
|
|
18829
|
+
.event-timetable-day--today
|
|
18830
|
+
.event-timetable-day-heading {
|
|
18735
18831
|
background-color: var(--ec-today-bg);
|
|
18736
18832
|
color: var(--ec-today-text);
|
|
18737
18833
|
}
|
|
18738
18834
|
|
|
18739
|
-
:where(.theme-scope)
|
|
18835
|
+
:where(.theme-scope)
|
|
18836
|
+
:where([data-block='event-calendar'])
|
|
18837
|
+
.event-timetable-today-badge {
|
|
18740
18838
|
padding: 0.125rem 0.375rem;
|
|
18741
18839
|
border-radius: var(--rb-button-radius);
|
|
18742
18840
|
background-color: rgb(var(--tb-primary));
|
|
@@ -18746,17 +18844,29 @@ const containerResponsiveThemeCss = `/*
|
|
|
18746
18844
|
text-transform: uppercase;
|
|
18747
18845
|
}
|
|
18748
18846
|
|
|
18749
|
-
:where(.theme-scope)
|
|
18750
|
-
:where(
|
|
18847
|
+
:where(.theme-scope)
|
|
18848
|
+
:where([data-block='event-calendar'])
|
|
18849
|
+
.event-timetable-time-body,
|
|
18850
|
+
:where(.theme-scope)
|
|
18851
|
+
:where([data-block='event-calendar'])
|
|
18852
|
+
.event-timetable-day-body {
|
|
18751
18853
|
position: relative;
|
|
18752
|
-
height: clamp(
|
|
18854
|
+
height: clamp(
|
|
18855
|
+
34rem,
|
|
18856
|
+
calc(var(--event-timetable-range-minutes, 900) * 0.055rem),
|
|
18857
|
+
56rem
|
|
18858
|
+
);
|
|
18753
18859
|
}
|
|
18754
18860
|
|
|
18755
|
-
:where(.theme-scope)
|
|
18861
|
+
:where(.theme-scope)
|
|
18862
|
+
:where([data-block='event-calendar'])
|
|
18863
|
+
.event-timetable-time-body {
|
|
18756
18864
|
background-color: var(--ec-header-bg);
|
|
18757
18865
|
}
|
|
18758
18866
|
|
|
18759
|
-
:where(.theme-scope)
|
|
18867
|
+
:where(.theme-scope)
|
|
18868
|
+
:where([data-block='event-calendar'])
|
|
18869
|
+
.event-timetable-time-label {
|
|
18760
18870
|
position: absolute;
|
|
18761
18871
|
left: 0.625rem;
|
|
18762
18872
|
transform: translateY(-50%);
|
|
@@ -18765,14 +18875,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
18765
18875
|
white-space: nowrap;
|
|
18766
18876
|
}
|
|
18767
18877
|
|
|
18768
|
-
:where(.theme-scope)
|
|
18878
|
+
:where(.theme-scope)
|
|
18879
|
+
:where([data-block='event-calendar'])
|
|
18880
|
+
.event-timetable-hour-line {
|
|
18769
18881
|
position: absolute;
|
|
18770
18882
|
left: 0;
|
|
18771
18883
|
right: 0;
|
|
18772
18884
|
border-top: 1px solid var(--ec-border-subtle);
|
|
18773
18885
|
}
|
|
18774
18886
|
|
|
18775
|
-
:where(.theme-scope)
|
|
18887
|
+
:where(.theme-scope)
|
|
18888
|
+
:where([data-block='event-calendar'])
|
|
18889
|
+
.event-timetable-event {
|
|
18776
18890
|
position: absolute;
|
|
18777
18891
|
min-height: 2.75rem;
|
|
18778
18892
|
padding: 0.375rem 0.5rem;
|
|
@@ -18792,21 +18906,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
18792
18906
|
transform var(--rb-block-transition) ease;
|
|
18793
18907
|
}
|
|
18794
18908
|
|
|
18795
|
-
:where(.theme-scope)
|
|
18909
|
+
:where(.theme-scope)
|
|
18910
|
+
:where([data-block='event-calendar'])
|
|
18911
|
+
.event-timetable-event:hover {
|
|
18796
18912
|
box-shadow: 0 4px 12px rgba(var(--tb-text), 0.12);
|
|
18797
18913
|
transform: translateY(-1px);
|
|
18798
18914
|
}
|
|
18799
18915
|
|
|
18800
|
-
:where(.theme-scope)
|
|
18916
|
+
:where(.theme-scope)
|
|
18917
|
+
:where([data-block='event-calendar'])
|
|
18918
|
+
.event-timetable-event:focus-visible {
|
|
18801
18919
|
outline: 2px solid rgb(var(--tb-primary));
|
|
18802
18920
|
outline-offset: 2px;
|
|
18803
18921
|
}
|
|
18804
18922
|
|
|
18805
|
-
:where(.theme-scope)
|
|
18806
|
-
:where(
|
|
18807
|
-
|
|
18808
|
-
:where(.theme-scope)
|
|
18809
|
-
:where(
|
|
18923
|
+
:where(.theme-scope)
|
|
18924
|
+
:where([data-block='event-calendar'])
|
|
18925
|
+
.event-timetable-event-time,
|
|
18926
|
+
:where(.theme-scope)
|
|
18927
|
+
:where([data-block='event-calendar'])
|
|
18928
|
+
.event-timetable-event-title,
|
|
18929
|
+
:where(.theme-scope)
|
|
18930
|
+
:where([data-block='event-calendar'])
|
|
18931
|
+
.event-timetable-event-teacher,
|
|
18932
|
+
:where(.theme-scope)
|
|
18933
|
+
:where([data-block='event-calendar'])
|
|
18934
|
+
.event-timetable-event-meta,
|
|
18935
|
+
:where(.theme-scope)
|
|
18936
|
+
:where([data-block='event-calendar'])
|
|
18937
|
+
.event-timetable-event-capacity {
|
|
18810
18938
|
display: block;
|
|
18811
18939
|
min-width: 0;
|
|
18812
18940
|
overflow: hidden;
|
|
@@ -18814,36 +18942,50 @@ const containerResponsiveThemeCss = `/*
|
|
|
18814
18942
|
white-space: nowrap;
|
|
18815
18943
|
}
|
|
18816
18944
|
|
|
18817
|
-
:where(.theme-scope)
|
|
18945
|
+
:where(.theme-scope)
|
|
18946
|
+
:where([data-block='event-calendar'])
|
|
18947
|
+
.event-timetable-event-time {
|
|
18818
18948
|
font-size: 0.6875rem;
|
|
18819
18949
|
font-weight: 700;
|
|
18820
18950
|
opacity: var(--ec-time-opacity);
|
|
18821
18951
|
}
|
|
18822
18952
|
|
|
18823
|
-
:where(.theme-scope)
|
|
18953
|
+
:where(.theme-scope)
|
|
18954
|
+
:where([data-block='event-calendar'])
|
|
18955
|
+
.event-timetable-event-title {
|
|
18824
18956
|
font-size: 0.8125rem;
|
|
18825
18957
|
font-weight: 700;
|
|
18826
18958
|
line-height: 1.25;
|
|
18827
18959
|
}
|
|
18828
18960
|
|
|
18829
|
-
:where(.theme-scope)
|
|
18830
|
-
:where(
|
|
18961
|
+
:where(.theme-scope)
|
|
18962
|
+
:where([data-block='event-calendar'])
|
|
18963
|
+
.event-timetable-event-teacher,
|
|
18964
|
+
:where(.theme-scope)
|
|
18965
|
+
:where([data-block='event-calendar'])
|
|
18966
|
+
.event-timetable-event-meta {
|
|
18831
18967
|
font-size: 0.6875rem;
|
|
18832
18968
|
opacity: 0.72;
|
|
18833
18969
|
}
|
|
18834
18970
|
|
|
18835
|
-
:where(.theme-scope)
|
|
18971
|
+
:where(.theme-scope)
|
|
18972
|
+
:where([data-block='event-calendar'])
|
|
18973
|
+
.event-timetable-event-capacity {
|
|
18836
18974
|
font-size: 0.6875rem;
|
|
18837
18975
|
font-weight: 600;
|
|
18838
18976
|
opacity: 0.85;
|
|
18839
18977
|
}
|
|
18840
18978
|
|
|
18841
|
-
:where(.theme-scope)
|
|
18979
|
+
:where(.theme-scope)
|
|
18980
|
+
:where([data-block='event-calendar'])
|
|
18981
|
+
.event-timetable-event-capacity--full {
|
|
18842
18982
|
color: rgb(var(--tb-danger, 220 38 38));
|
|
18843
18983
|
opacity: 1;
|
|
18844
18984
|
}
|
|
18845
18985
|
|
|
18846
|
-
:where(.theme-scope)
|
|
18986
|
+
:where(.theme-scope)
|
|
18987
|
+
:where([data-block='event-calendar'])
|
|
18988
|
+
.event-timetable-day-empty {
|
|
18847
18989
|
margin: 0;
|
|
18848
18990
|
padding: 1rem 0.5rem;
|
|
18849
18991
|
text-align: center;
|
|
@@ -18851,7 +18993,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
18851
18993
|
opacity: var(--ec-empty-opacity);
|
|
18852
18994
|
}
|
|
18853
18995
|
|
|
18854
|
-
:where(.theme-scope)
|
|
18996
|
+
:where(.theme-scope)
|
|
18997
|
+
:where([data-block='event-calendar'])
|
|
18998
|
+
.event-timetable-empty {
|
|
18855
18999
|
margin: 0.25rem 0 0;
|
|
18856
19000
|
text-align: center;
|
|
18857
19001
|
font-size: 0.875rem;
|
|
@@ -18860,32 +19004,46 @@ const containerResponsiveThemeCss = `/*
|
|
|
18860
19004
|
|
|
18861
19005
|
@container rb-site (max-width: 767px) {
|
|
18862
19006
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
18863
|
-
:where(.theme-scope)
|
|
19007
|
+
:where(.theme-scope)
|
|
19008
|
+
:where([data-block='event-calendar'])
|
|
19009
|
+
.event-timetable-day-selector {
|
|
18864
19010
|
display: flex;
|
|
18865
19011
|
}
|
|
18866
19012
|
|
|
18867
|
-
:where(.theme-scope)
|
|
19013
|
+
:where(.theme-scope)
|
|
19014
|
+
:where([data-block='event-calendar'])
|
|
19015
|
+
.event-timetable-container {
|
|
18868
19016
|
overflow: hidden;
|
|
18869
19017
|
}
|
|
18870
19018
|
|
|
18871
|
-
:where(.theme-scope)
|
|
19019
|
+
:where(.theme-scope)
|
|
19020
|
+
:where([data-block='event-calendar'])
|
|
19021
|
+
.event-timetable-grid {
|
|
18872
19022
|
grid-template-columns: 4rem minmax(0, 1fr);
|
|
18873
19023
|
min-width: 0;
|
|
18874
19024
|
}
|
|
18875
19025
|
|
|
18876
|
-
:where(.theme-scope)
|
|
19026
|
+
:where(.theme-scope)
|
|
19027
|
+
:where([data-block='event-calendar'])
|
|
19028
|
+
.event-timetable-day[data-selected='false'] {
|
|
18877
19029
|
display: none;
|
|
18878
19030
|
}
|
|
18879
19031
|
|
|
18880
|
-
:where(.theme-scope)
|
|
19032
|
+
:where(.theme-scope)
|
|
19033
|
+
:where([data-block='event-calendar'])
|
|
19034
|
+
.event-timetable-day {
|
|
18881
19035
|
border-right: none;
|
|
18882
19036
|
}
|
|
18883
19037
|
|
|
18884
|
-
:where(.theme-scope)
|
|
19038
|
+
:where(.theme-scope)
|
|
19039
|
+
:where([data-block='event-calendar'])
|
|
19040
|
+
.event-timetable-time-rail {
|
|
18885
19041
|
border-right: 1px solid var(--ec-border-subtle);
|
|
18886
19042
|
}
|
|
18887
19043
|
|
|
18888
|
-
:where(.theme-scope)
|
|
19044
|
+
:where(.theme-scope)
|
|
19045
|
+
:where([data-block='event-calendar'])
|
|
19046
|
+
.event-timetable-day-heading {
|
|
18889
19047
|
justify-content: flex-start;
|
|
18890
19048
|
padding-inline: 0.75rem;
|
|
18891
19049
|
}
|
|
@@ -18898,7 +19056,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
18898
19056
|
* three-state availability (available / filling / waitlist), and a footer CTA.
|
|
18899
19057
|
* ----------------------------------------------------------------------------- */
|
|
18900
19058
|
|
|
18901
|
-
:where(.theme-scope) :where([data-block=
|
|
19059
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .event-week-board {
|
|
18902
19060
|
/* Status accent tokens — map the three availability states onto theme colours.
|
|
18903
19061
|
* available -> secondary, filling -> accent, waitlist -> muted text. */
|
|
18904
19062
|
--ec-status-available: rgb(var(--tb-secondary));
|
|
@@ -18915,17 +19073,20 @@ const containerResponsiveThemeCss = `/*
|
|
|
18915
19073
|
|
|
18916
19074
|
/* Opt-in raised look: a soft drop shadow so the board lifts off the page.
|
|
18917
19075
|
* Generic default (no [data-elevated]) stays flat. */
|
|
18918
|
-
:where(.theme-scope)
|
|
19076
|
+
:where(.theme-scope)
|
|
19077
|
+
:where([data-block='event-calendar'])
|
|
19078
|
+
.event-week-board[data-elevated] {
|
|
18919
19079
|
box-shadow: 0 14px 34px -24px rgba(var(--tb-text), 0.35);
|
|
18920
19080
|
}
|
|
18921
19081
|
|
|
18922
|
-
/* Top bar: title + legend */
|
|
18923
|
-
:where(.theme-scope)
|
|
18924
|
-
|
|
19082
|
+
/* Top bar: authored title + week navigation + legend */
|
|
19083
|
+
:where(.theme-scope)
|
|
19084
|
+
:where([data-block='event-calendar'])
|
|
19085
|
+
.event-week-board-top {
|
|
19086
|
+
display: grid;
|
|
19087
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
18925
19088
|
align-items: center;
|
|
18926
|
-
justify-content: space-between;
|
|
18927
19089
|
gap: 1rem;
|
|
18928
|
-
flex-wrap: wrap;
|
|
18929
19090
|
padding: 1.1rem 1.5rem;
|
|
18930
19091
|
/* surfaceAlt gives the header/footer a legible tint against the white day-grid
|
|
18931
19092
|
* body — the faint \`--ec-header-bg\` (5% text) is invisible on light palettes. */
|
|
@@ -18933,7 +19094,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
18933
19094
|
border-bottom: 1px solid var(--ec-border-subtle);
|
|
18934
19095
|
}
|
|
18935
19096
|
|
|
18936
|
-
:where(.theme-scope)
|
|
19097
|
+
:where(.theme-scope)
|
|
19098
|
+
:where([data-block='event-calendar'])
|
|
19099
|
+
.event-week-board-title {
|
|
19100
|
+
grid-column: 1;
|
|
18937
19101
|
font-size: 0.8125rem;
|
|
18938
19102
|
font-weight: 600;
|
|
18939
19103
|
letter-spacing: 0.12em;
|
|
@@ -18941,7 +19105,67 @@ const containerResponsiveThemeCss = `/*
|
|
|
18941
19105
|
color: rgb(var(--tb-primary));
|
|
18942
19106
|
}
|
|
18943
19107
|
|
|
18944
|
-
:where(.theme-scope)
|
|
19108
|
+
:where(.theme-scope)
|
|
19109
|
+
:where([data-block='event-calendar'])
|
|
19110
|
+
.event-week-board-navigation {
|
|
19111
|
+
grid-column: 2;
|
|
19112
|
+
display: flex;
|
|
19113
|
+
align-items: center;
|
|
19114
|
+
justify-content: center;
|
|
19115
|
+
gap: 0.65rem;
|
|
19116
|
+
}
|
|
19117
|
+
|
|
19118
|
+
:where(.theme-scope)
|
|
19119
|
+
:where([data-block='event-calendar'])
|
|
19120
|
+
.event-week-board-nav-button {
|
|
19121
|
+
display: inline-flex;
|
|
19122
|
+
align-items: center;
|
|
19123
|
+
justify-content: center;
|
|
19124
|
+
width: 2.25rem;
|
|
19125
|
+
height: 2.25rem;
|
|
19126
|
+
padding: 0;
|
|
19127
|
+
border: 1px solid var(--ec-border);
|
|
19128
|
+
border-radius: 999px;
|
|
19129
|
+
background: transparent;
|
|
19130
|
+
color: inherit;
|
|
19131
|
+
cursor: pointer;
|
|
19132
|
+
}
|
|
19133
|
+
|
|
19134
|
+
:where(.theme-scope)
|
|
19135
|
+
:where([data-block='event-calendar'])
|
|
19136
|
+
.event-week-board-nav-button:hover {
|
|
19137
|
+
background-color: var(--ec-hover-bg);
|
|
19138
|
+
}
|
|
19139
|
+
|
|
19140
|
+
:where(.theme-scope)
|
|
19141
|
+
:where([data-block='event-calendar'])
|
|
19142
|
+
.event-week-board-nav-button:focus-visible {
|
|
19143
|
+
outline: 2px solid rgb(var(--tb-primary));
|
|
19144
|
+
outline-offset: 2px;
|
|
19145
|
+
}
|
|
19146
|
+
|
|
19147
|
+
:where(.theme-scope)
|
|
19148
|
+
:where([data-block='event-calendar'])
|
|
19149
|
+
.event-week-board-range {
|
|
19150
|
+
min-width: 12rem;
|
|
19151
|
+
margin: 0;
|
|
19152
|
+
text-align: center;
|
|
19153
|
+
font-size: 0.875rem;
|
|
19154
|
+
font-weight: 600;
|
|
19155
|
+
}
|
|
19156
|
+
|
|
19157
|
+
:where(.theme-scope)
|
|
19158
|
+
:where([data-block='event-calendar'])
|
|
19159
|
+
.event-week-board-loading {
|
|
19160
|
+
font-weight: 400;
|
|
19161
|
+
opacity: 0.65;
|
|
19162
|
+
}
|
|
19163
|
+
|
|
19164
|
+
:where(.theme-scope)
|
|
19165
|
+
:where([data-block='event-calendar'])
|
|
19166
|
+
.event-week-board-legend {
|
|
19167
|
+
grid-column: 3;
|
|
19168
|
+
justify-self: end;
|
|
18945
19169
|
display: flex;
|
|
18946
19170
|
align-items: center;
|
|
18947
19171
|
gap: 1.1rem;
|
|
@@ -18951,38 +19175,72 @@ const containerResponsiveThemeCss = `/*
|
|
|
18951
19175
|
opacity: 0.75;
|
|
18952
19176
|
}
|
|
18953
19177
|
|
|
18954
|
-
:where(.theme-scope)
|
|
19178
|
+
:where(.theme-scope)
|
|
19179
|
+
:where([data-block='event-calendar'])
|
|
19180
|
+
.event-week-board-error {
|
|
19181
|
+
display: flex;
|
|
19182
|
+
align-items: center;
|
|
19183
|
+
justify-content: center;
|
|
19184
|
+
gap: 0.75rem;
|
|
19185
|
+
padding: 0.75rem 1.5rem;
|
|
19186
|
+
border-bottom: 1px solid var(--ec-border-subtle);
|
|
19187
|
+
color: rgb(var(--tb-error, var(--tb-text)));
|
|
19188
|
+
}
|
|
19189
|
+
|
|
19190
|
+
:where(.theme-scope)
|
|
19191
|
+
:where([data-block='event-calendar'])
|
|
19192
|
+
.event-week-board-error
|
|
19193
|
+
p {
|
|
19194
|
+
margin: 0;
|
|
19195
|
+
font-size: 0.8125rem;
|
|
19196
|
+
}
|
|
19197
|
+
|
|
19198
|
+
:where(.theme-scope)
|
|
19199
|
+
:where([data-block='event-calendar'])
|
|
19200
|
+
.event-week-board-legend-item {
|
|
18955
19201
|
display: inline-flex;
|
|
18956
19202
|
align-items: center;
|
|
18957
19203
|
gap: 0.4rem;
|
|
18958
19204
|
}
|
|
18959
19205
|
|
|
18960
|
-
:where(.theme-scope)
|
|
19206
|
+
:where(.theme-scope)
|
|
19207
|
+
:where([data-block='event-calendar'])
|
|
19208
|
+
.event-week-board-legend-dot {
|
|
18961
19209
|
width: 0.55rem;
|
|
18962
19210
|
height: 0.55rem;
|
|
18963
19211
|
border-radius: 50%;
|
|
18964
19212
|
display: inline-block;
|
|
18965
19213
|
}
|
|
18966
19214
|
|
|
18967
|
-
:where(.theme-scope)
|
|
19215
|
+
:where(.theme-scope)
|
|
19216
|
+
:where([data-block='event-calendar'])
|
|
19217
|
+
.event-week-board-legend-dot[data-status='available'] {
|
|
18968
19218
|
background-color: var(--ec-status-available);
|
|
18969
19219
|
}
|
|
18970
19220
|
|
|
18971
|
-
:where(.theme-scope)
|
|
19221
|
+
:where(.theme-scope)
|
|
19222
|
+
:where([data-block='event-calendar'])
|
|
19223
|
+
.event-week-board-legend-dot[data-status='filling'] {
|
|
18972
19224
|
background-color: var(--ec-status-filling);
|
|
18973
19225
|
}
|
|
18974
19226
|
|
|
18975
|
-
:where(.theme-scope)
|
|
19227
|
+
:where(.theme-scope)
|
|
19228
|
+
:where([data-block='event-calendar'])
|
|
19229
|
+
.event-week-board-legend-dot[data-status='waitlist'] {
|
|
18976
19230
|
background-color: var(--ec-status-waitlist);
|
|
18977
19231
|
}
|
|
18978
19232
|
|
|
18979
19233
|
/* Day columns grid */
|
|
18980
|
-
:where(.theme-scope)
|
|
19234
|
+
:where(.theme-scope)
|
|
19235
|
+
:where([data-block='event-calendar'])
|
|
19236
|
+
.event-week-board-grid {
|
|
18981
19237
|
display: grid;
|
|
18982
19238
|
grid-template-columns: repeat(var(--event-week-board-cols), minmax(0, 1fr));
|
|
18983
19239
|
}
|
|
18984
19240
|
|
|
18985
|
-
:where(.theme-scope)
|
|
19241
|
+
:where(.theme-scope)
|
|
19242
|
+
:where([data-block='event-calendar'])
|
|
19243
|
+
.event-week-board-day {
|
|
18986
19244
|
display: flex;
|
|
18987
19245
|
flex-direction: column;
|
|
18988
19246
|
min-height: 15rem;
|
|
@@ -18992,11 +19250,15 @@ const containerResponsiveThemeCss = `/*
|
|
|
18992
19250
|
border-right: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
18993
19251
|
}
|
|
18994
19252
|
|
|
18995
|
-
:where(.theme-scope)
|
|
19253
|
+
:where(.theme-scope)
|
|
19254
|
+
:where([data-block='event-calendar'])
|
|
19255
|
+
.event-week-board-day:last-child {
|
|
18996
19256
|
border-right: none;
|
|
18997
19257
|
}
|
|
18998
19258
|
|
|
18999
|
-
:where(.theme-scope)
|
|
19259
|
+
:where(.theme-scope)
|
|
19260
|
+
:where([data-block='event-calendar'])
|
|
19261
|
+
.event-week-board-day-head {
|
|
19000
19262
|
display: flex;
|
|
19001
19263
|
align-items: baseline;
|
|
19002
19264
|
gap: 0.4rem;
|
|
@@ -19005,11 +19267,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
19005
19267
|
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
19006
19268
|
}
|
|
19007
19269
|
|
|
19008
|
-
:where(.theme-scope)
|
|
19270
|
+
:where(.theme-scope)
|
|
19271
|
+
:where([data-block='event-calendar'])
|
|
19272
|
+
.event-week-board-day--today
|
|
19273
|
+
.event-week-board-day-head {
|
|
19009
19274
|
background-color: var(--ec-today-bg);
|
|
19010
19275
|
}
|
|
19011
19276
|
|
|
19012
|
-
:where(.theme-scope)
|
|
19277
|
+
:where(.theme-scope)
|
|
19278
|
+
:where([data-block='event-calendar'])
|
|
19279
|
+
.event-week-board-day-abbr {
|
|
19013
19280
|
font-size: 0.6875rem;
|
|
19014
19281
|
font-weight: 600;
|
|
19015
19282
|
letter-spacing: 0.1em;
|
|
@@ -19017,18 +19284,25 @@ const containerResponsiveThemeCss = `/*
|
|
|
19017
19284
|
opacity: 0.65;
|
|
19018
19285
|
}
|
|
19019
19286
|
|
|
19020
|
-
:where(.theme-scope)
|
|
19287
|
+
:where(.theme-scope)
|
|
19288
|
+
:where([data-block='event-calendar'])
|
|
19289
|
+
.event-week-board-day--today
|
|
19290
|
+
.event-week-board-day-abbr {
|
|
19021
19291
|
opacity: 1;
|
|
19022
19292
|
color: var(--ec-today-text);
|
|
19023
19293
|
}
|
|
19024
19294
|
|
|
19025
|
-
:where(.theme-scope)
|
|
19295
|
+
:where(.theme-scope)
|
|
19296
|
+
:where([data-block='event-calendar'])
|
|
19297
|
+
.event-week-board-day-num {
|
|
19026
19298
|
font-size: 0.8125rem;
|
|
19027
19299
|
font-weight: 600;
|
|
19028
19300
|
opacity: 0.5;
|
|
19029
19301
|
}
|
|
19030
19302
|
|
|
19031
|
-
:where(.theme-scope)
|
|
19303
|
+
:where(.theme-scope)
|
|
19304
|
+
:where([data-block='event-calendar'])
|
|
19305
|
+
.event-week-board-day-body {
|
|
19032
19306
|
display: flex;
|
|
19033
19307
|
flex-direction: column;
|
|
19034
19308
|
gap: 0.65rem;
|
|
@@ -19037,7 +19311,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19037
19311
|
}
|
|
19038
19312
|
|
|
19039
19313
|
/* Class card */
|
|
19040
|
-
:where(.theme-scope)
|
|
19314
|
+
:where(.theme-scope)
|
|
19315
|
+
:where([data-block='event-calendar'])
|
|
19316
|
+
.event-week-board-card {
|
|
19041
19317
|
display: flex;
|
|
19042
19318
|
flex-direction: column;
|
|
19043
19319
|
gap: 0.45rem;
|
|
@@ -19057,40 +19333,54 @@ const containerResponsiveThemeCss = `/*
|
|
|
19057
19333
|
border-color var(--rb-block-transition) ease;
|
|
19058
19334
|
}
|
|
19059
19335
|
|
|
19060
|
-
:where(.theme-scope)
|
|
19336
|
+
:where(.theme-scope)
|
|
19337
|
+
:where([data-block='event-calendar'])
|
|
19338
|
+
.event-week-board-card[data-status='filling'] {
|
|
19061
19339
|
border-left-color: var(--ec-status-filling);
|
|
19062
19340
|
}
|
|
19063
19341
|
|
|
19064
|
-
:where(.theme-scope)
|
|
19342
|
+
:where(.theme-scope)
|
|
19343
|
+
:where([data-block='event-calendar'])
|
|
19344
|
+
.event-week-board-card[data-status='waitlist'] {
|
|
19065
19345
|
border-left-color: var(--ec-status-waitlist);
|
|
19066
19346
|
}
|
|
19067
19347
|
|
|
19068
|
-
:where(.theme-scope)
|
|
19348
|
+
:where(.theme-scope)
|
|
19349
|
+
:where([data-block='event-calendar'])
|
|
19350
|
+
.event-week-board-card:hover {
|
|
19069
19351
|
transform: translateY(-2px);
|
|
19070
19352
|
box-shadow: 0 6px 16px -8px rgba(var(--tb-text), 0.28);
|
|
19071
19353
|
border-color: rgba(var(--tb-primary), 0.4);
|
|
19072
19354
|
}
|
|
19073
19355
|
|
|
19074
|
-
:where(.theme-scope)
|
|
19356
|
+
:where(.theme-scope)
|
|
19357
|
+
:where([data-block='event-calendar'])
|
|
19358
|
+
.event-week-board-card:focus-visible {
|
|
19075
19359
|
outline: 2px solid rgb(var(--tb-primary));
|
|
19076
19360
|
outline-offset: 2px;
|
|
19077
19361
|
}
|
|
19078
19362
|
|
|
19079
|
-
:where(.theme-scope)
|
|
19363
|
+
:where(.theme-scope)
|
|
19364
|
+
:where([data-block='event-calendar'])
|
|
19365
|
+
.event-week-board-card-title {
|
|
19080
19366
|
font-family: var(--font-heading, inherit);
|
|
19081
19367
|
font-size: 0.9375rem;
|
|
19082
19368
|
font-weight: 600;
|
|
19083
19369
|
line-height: 1.2;
|
|
19084
19370
|
}
|
|
19085
19371
|
|
|
19086
|
-
:where(.theme-scope)
|
|
19372
|
+
:where(.theme-scope)
|
|
19373
|
+
:where([data-block='event-calendar'])
|
|
19374
|
+
.event-week-board-card-time {
|
|
19087
19375
|
font-size: 0.75rem;
|
|
19088
19376
|
letter-spacing: 0.01em;
|
|
19089
19377
|
opacity: 0.7;
|
|
19090
19378
|
}
|
|
19091
19379
|
|
|
19092
19380
|
/* Capacity pill */
|
|
19093
|
-
:where(.theme-scope)
|
|
19381
|
+
:where(.theme-scope)
|
|
19382
|
+
:where([data-block='event-calendar'])
|
|
19383
|
+
.event-week-board-card-pill {
|
|
19094
19384
|
align-self: flex-start;
|
|
19095
19385
|
display: inline-flex;
|
|
19096
19386
|
align-items: center;
|
|
@@ -19108,20 +19398,26 @@ const containerResponsiveThemeCss = `/*
|
|
|
19108
19398
|
border-color: var(--ec-border);
|
|
19109
19399
|
}
|
|
19110
19400
|
|
|
19111
|
-
:where(.theme-scope)
|
|
19401
|
+
:where(.theme-scope)
|
|
19402
|
+
:where([data-block='event-calendar'])
|
|
19403
|
+
.event-week-board-card-pill[data-status='filling'] {
|
|
19112
19404
|
background-color: rgba(var(--tb-accent), 0.14);
|
|
19113
19405
|
color: var(--ec-status-filling);
|
|
19114
19406
|
border-color: rgba(var(--tb-accent), 0.32);
|
|
19115
19407
|
}
|
|
19116
19408
|
|
|
19117
|
-
:where(.theme-scope)
|
|
19409
|
+
:where(.theme-scope)
|
|
19410
|
+
:where([data-block='event-calendar'])
|
|
19411
|
+
.event-week-board-card-pill[data-status='waitlist'] {
|
|
19118
19412
|
background-color: transparent;
|
|
19119
19413
|
color: rgba(var(--tb-text), 0.6);
|
|
19120
19414
|
border-color: var(--ec-border);
|
|
19121
19415
|
}
|
|
19122
19416
|
|
|
19123
19417
|
/* Footer */
|
|
19124
|
-
:where(.theme-scope)
|
|
19418
|
+
:where(.theme-scope)
|
|
19419
|
+
:where([data-block='event-calendar'])
|
|
19420
|
+
.event-week-board-foot {
|
|
19125
19421
|
display: flex;
|
|
19126
19422
|
align-items: center;
|
|
19127
19423
|
justify-content: space-between;
|
|
@@ -19133,7 +19429,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19133
19429
|
border-top: 1px solid var(--ec-border-subtle);
|
|
19134
19430
|
}
|
|
19135
19431
|
|
|
19136
|
-
:where(.theme-scope)
|
|
19432
|
+
:where(.theme-scope)
|
|
19433
|
+
:where([data-block='event-calendar'])
|
|
19434
|
+
.event-week-board-foot-note {
|
|
19137
19435
|
margin: 0;
|
|
19138
19436
|
font-size: 0.875rem;
|
|
19139
19437
|
opacity: 0.75;
|
|
@@ -19142,36 +19440,69 @@ const containerResponsiveThemeCss = `/*
|
|
|
19142
19440
|
/* Responsive: collapse day columns to a stacked list on narrow viewports */
|
|
19143
19441
|
@container rb-site (max-width: 1023px) {
|
|
19144
19442
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19145
|
-
:where(.theme-scope)
|
|
19443
|
+
:where(.theme-scope)
|
|
19444
|
+
:where([data-block='event-calendar'])
|
|
19445
|
+
.event-week-board-top {
|
|
19146
19446
|
grid-template-columns: 1fr;
|
|
19147
19447
|
}
|
|
19148
19448
|
|
|
19149
|
-
:where(.theme-scope)
|
|
19449
|
+
:where(.theme-scope)
|
|
19450
|
+
:where([data-block='event-calendar'])
|
|
19451
|
+
.event-week-board-title,
|
|
19452
|
+
:where(.theme-scope)
|
|
19453
|
+
:where([data-block='event-calendar'])
|
|
19454
|
+
.event-week-board-navigation,
|
|
19455
|
+
:where(.theme-scope)
|
|
19456
|
+
:where([data-block='event-calendar'])
|
|
19457
|
+
.event-week-board-legend {
|
|
19458
|
+
grid-column: 1;
|
|
19459
|
+
justify-self: center;
|
|
19460
|
+
}
|
|
19461
|
+
|
|
19462
|
+
:where(.theme-scope)
|
|
19463
|
+
:where([data-block='event-calendar'])
|
|
19464
|
+
.event-week-board-grid {
|
|
19465
|
+
grid-template-columns: 1fr;
|
|
19466
|
+
}
|
|
19467
|
+
|
|
19468
|
+
:where(.theme-scope)
|
|
19469
|
+
:where([data-block='event-calendar'])
|
|
19470
|
+
.event-week-board-day {
|
|
19150
19471
|
min-height: 0;
|
|
19151
19472
|
border-right: none;
|
|
19152
19473
|
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
19153
19474
|
}
|
|
19154
19475
|
|
|
19155
|
-
:where(.theme-scope)
|
|
19476
|
+
:where(.theme-scope)
|
|
19477
|
+
:where([data-block='event-calendar'])
|
|
19478
|
+
.event-week-board-day:last-child {
|
|
19156
19479
|
border-bottom: none;
|
|
19157
19480
|
}
|
|
19158
19481
|
|
|
19159
|
-
:where(.theme-scope)
|
|
19482
|
+
:where(.theme-scope)
|
|
19483
|
+
:where([data-block='event-calendar'])
|
|
19484
|
+
.event-week-board-day--empty {
|
|
19160
19485
|
display: none;
|
|
19161
19486
|
}
|
|
19162
19487
|
|
|
19163
|
-
:where(.theme-scope)
|
|
19488
|
+
:where(.theme-scope)
|
|
19489
|
+
:where([data-block='event-calendar'])
|
|
19490
|
+
.event-week-board-day-head {
|
|
19164
19491
|
border-bottom: none;
|
|
19165
19492
|
padding-bottom: 0.25rem;
|
|
19166
19493
|
}
|
|
19167
19494
|
|
|
19168
|
-
:where(.theme-scope)
|
|
19495
|
+
:where(.theme-scope)
|
|
19496
|
+
:where([data-block='event-calendar'])
|
|
19497
|
+
.event-week-board-day-body {
|
|
19169
19498
|
flex-direction: row;
|
|
19170
19499
|
flex-wrap: wrap;
|
|
19171
19500
|
padding-top: 0.35rem;
|
|
19172
19501
|
}
|
|
19173
19502
|
|
|
19174
|
-
:where(.theme-scope)
|
|
19503
|
+
:where(.theme-scope)
|
|
19504
|
+
:where([data-block='event-calendar'])
|
|
19505
|
+
.event-week-board-card {
|
|
19175
19506
|
flex: 1 1 14rem;
|
|
19176
19507
|
}
|
|
19177
19508
|
}
|
|
@@ -19179,11 +19510,37 @@ const containerResponsiveThemeCss = `/*
|
|
|
19179
19510
|
|
|
19180
19511
|
@container rb-site (max-width: 639px) {
|
|
19181
19512
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19182
|
-
:where(.theme-scope)
|
|
19513
|
+
:where(.theme-scope)
|
|
19514
|
+
:where([data-block='event-calendar'])
|
|
19515
|
+
.event-week-board-navigation {
|
|
19516
|
+
display: grid;
|
|
19517
|
+
grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
|
|
19518
|
+
width: 100%;
|
|
19519
|
+
}
|
|
19520
|
+
|
|
19521
|
+
:where(.theme-scope)
|
|
19522
|
+
:where([data-block='event-calendar'])
|
|
19523
|
+
.event-week-board-navigation
|
|
19524
|
+
> :last-child {
|
|
19525
|
+
grid-column: 1 / -1;
|
|
19526
|
+
justify-self: center;
|
|
19527
|
+
}
|
|
19528
|
+
|
|
19529
|
+
:where(.theme-scope)
|
|
19530
|
+
:where([data-block='event-calendar'])
|
|
19531
|
+
.event-week-board-range {
|
|
19532
|
+
min-width: 0;
|
|
19533
|
+
}
|
|
19534
|
+
|
|
19535
|
+
:where(.theme-scope)
|
|
19536
|
+
:where([data-block='event-calendar'])
|
|
19537
|
+
.event-week-board-legend {
|
|
19183
19538
|
display: none;
|
|
19184
19539
|
}
|
|
19185
19540
|
|
|
19186
|
-
:where(.theme-scope)
|
|
19541
|
+
:where(.theme-scope)
|
|
19542
|
+
:where([data-block='event-calendar'])
|
|
19543
|
+
.event-week-board-card {
|
|
19187
19544
|
flex: 1 1 100%;
|
|
19188
19545
|
}
|
|
19189
19546
|
}
|
|
@@ -19200,8 +19557,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19200
19557
|
* Opt-in only: the band paints when the board root carries [data-banded];
|
|
19201
19558
|
* the generic default is bandless.
|
|
19202
19559
|
* ----------------------------------------------------------------------------- */
|
|
19203
|
-
:where(.theme-scope)
|
|
19204
|
-
|
|
19560
|
+
:where(.theme-scope)
|
|
19561
|
+
[data-slot='section']:has(.event-calendar--week-board[data-banded])::before {
|
|
19562
|
+
content: '';
|
|
19205
19563
|
position: absolute;
|
|
19206
19564
|
inset: 0;
|
|
19207
19565
|
z-index: -9;
|
|
@@ -19255,7 +19613,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
19255
19613
|
* ----------------------------------------------------------------------------- */
|
|
19256
19614
|
|
|
19257
19615
|
/* Modal overlay */
|
|
19258
|
-
:where(.theme-scope) :where([data-block=
|
|
19616
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-overlay {
|
|
19259
19617
|
position: fixed;
|
|
19260
19618
|
inset: 0;
|
|
19261
19619
|
background: var(--ec-modal-overlay-bg);
|
|
@@ -19269,12 +19627,16 @@ const containerResponsiveThemeCss = `/*
|
|
|
19269
19627
|
}
|
|
19270
19628
|
|
|
19271
19629
|
@keyframes ec-modal-fade-in {
|
|
19272
|
-
from {
|
|
19273
|
-
|
|
19630
|
+
from {
|
|
19631
|
+
opacity: 0;
|
|
19632
|
+
}
|
|
19633
|
+
to {
|
|
19634
|
+
opacity: 1;
|
|
19635
|
+
}
|
|
19274
19636
|
}
|
|
19275
19637
|
|
|
19276
19638
|
/* Modal dialog */
|
|
19277
|
-
:where(.theme-scope) :where([data-block=
|
|
19639
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal {
|
|
19278
19640
|
position: relative;
|
|
19279
19641
|
background: var(--ec-modal-bg);
|
|
19280
19642
|
border-radius: var(--rb-block-radius);
|
|
@@ -19298,17 +19660,17 @@ const containerResponsiveThemeCss = `/*
|
|
|
19298
19660
|
}
|
|
19299
19661
|
|
|
19300
19662
|
/* Event modal - constrained width for card */
|
|
19301
|
-
:where(.theme-scope) :where([data-block=
|
|
19663
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal--event {
|
|
19302
19664
|
max-width: 26rem;
|
|
19303
19665
|
}
|
|
19304
19666
|
|
|
19305
19667
|
/* Day modal */
|
|
19306
|
-
:where(.theme-scope) :where([data-block=
|
|
19668
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal--day {
|
|
19307
19669
|
max-width: 28rem;
|
|
19308
19670
|
}
|
|
19309
19671
|
|
|
19310
19672
|
/* Close button */
|
|
19311
|
-
:where(.theme-scope) :where([data-block=
|
|
19673
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-close {
|
|
19312
19674
|
position: absolute;
|
|
19313
19675
|
top: 0.75rem;
|
|
19314
19676
|
right: 0.75rem;
|
|
@@ -19329,31 +19691,35 @@ const containerResponsiveThemeCss = `/*
|
|
|
19329
19691
|
z-index: 10;
|
|
19330
19692
|
}
|
|
19331
19693
|
|
|
19332
|
-
:where(.theme-scope)
|
|
19694
|
+
:where(.theme-scope)
|
|
19695
|
+
:where([data-block='event-calendar'])
|
|
19696
|
+
.ec-modal-close:hover {
|
|
19333
19697
|
opacity: 1;
|
|
19334
19698
|
background-color: rgba(var(--tb-text), 0.1);
|
|
19335
19699
|
}
|
|
19336
19700
|
|
|
19337
|
-
:where(.theme-scope)
|
|
19701
|
+
:where(.theme-scope)
|
|
19702
|
+
:where([data-block='event-calendar'])
|
|
19703
|
+
.ec-modal-close:focus-visible {
|
|
19338
19704
|
outline: 2px solid rgb(var(--tb-primary));
|
|
19339
19705
|
outline-offset: 2px;
|
|
19340
19706
|
}
|
|
19341
19707
|
|
|
19342
19708
|
/* Modal header (for day modal) */
|
|
19343
|
-
:where(.theme-scope) :where([data-block=
|
|
19709
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-header {
|
|
19344
19710
|
padding: 1.5rem 1.5rem 1rem;
|
|
19345
19711
|
padding-right: 3rem; /* Space for close button */
|
|
19346
19712
|
border-bottom: 1px solid var(--ec-border);
|
|
19347
19713
|
}
|
|
19348
19714
|
|
|
19349
|
-
:where(.theme-scope) :where([data-block=
|
|
19715
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-title {
|
|
19350
19716
|
font-size: 1.125rem;
|
|
19351
19717
|
font-weight: 600;
|
|
19352
19718
|
color: var(--ec-text);
|
|
19353
19719
|
margin: 0;
|
|
19354
19720
|
}
|
|
19355
19721
|
|
|
19356
|
-
:where(.theme-scope) :where([data-block=
|
|
19722
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-subtitle {
|
|
19357
19723
|
font-size: 0.875rem;
|
|
19358
19724
|
color: var(--ec-text);
|
|
19359
19725
|
opacity: 0.7;
|
|
@@ -19361,17 +19727,20 @@ const containerResponsiveThemeCss = `/*
|
|
|
19361
19727
|
}
|
|
19362
19728
|
|
|
19363
19729
|
/* Modal content */
|
|
19364
|
-
:where(.theme-scope) :where([data-block=
|
|
19730
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal-content {
|
|
19365
19731
|
padding: 1rem;
|
|
19366
19732
|
}
|
|
19367
19733
|
|
|
19368
19734
|
/* Event modal: tighter padding for card */
|
|
19369
|
-
:where(.theme-scope)
|
|
19735
|
+
:where(.theme-scope)
|
|
19736
|
+
:where([data-block='event-calendar'])
|
|
19737
|
+
.ec-modal--event
|
|
19738
|
+
.ec-modal-content {
|
|
19370
19739
|
padding: 0.5rem;
|
|
19371
19740
|
}
|
|
19372
19741
|
|
|
19373
19742
|
/* Day events list */
|
|
19374
|
-
:where(.theme-scope) :where([data-block=
|
|
19743
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-day-events-list {
|
|
19375
19744
|
display: flex;
|
|
19376
19745
|
flex-direction: column;
|
|
19377
19746
|
gap: 0.5rem;
|
|
@@ -19379,7 +19748,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19379
19748
|
}
|
|
19380
19749
|
|
|
19381
19750
|
/* AgendaEventCard in button mode inherits most styles, just needs cursor */
|
|
19382
|
-
:where(.theme-scope)
|
|
19751
|
+
:where(.theme-scope)
|
|
19752
|
+
:where([data-block='event-calendar'])
|
|
19753
|
+
button.event-agenda-card {
|
|
19383
19754
|
cursor: pointer;
|
|
19384
19755
|
text-align: left;
|
|
19385
19756
|
font-family: inherit;
|
|
@@ -19388,7 +19759,9 @@ const containerResponsiveThemeCss = `/*
|
|
|
19388
19759
|
/* Responsive adjustments */
|
|
19389
19760
|
@container rb-site (max-width: 640px) {
|
|
19390
19761
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
19391
|
-
:where(.theme-scope)
|
|
19762
|
+
:where(.theme-scope)
|
|
19763
|
+
:where([data-block='event-calendar'])
|
|
19764
|
+
.event-calendar-container {
|
|
19392
19765
|
margin-left: -1.5rem;
|
|
19393
19766
|
margin-right: -1.5rem;
|
|
19394
19767
|
border-left: none;
|
|
@@ -19396,28 +19769,38 @@ const containerResponsiveThemeCss = `/*
|
|
|
19396
19769
|
border-radius: 0;
|
|
19397
19770
|
}
|
|
19398
19771
|
|
|
19399
|
-
:where(.theme-scope)
|
|
19772
|
+
:where(.theme-scope)
|
|
19773
|
+
:where([data-block='event-calendar'])
|
|
19774
|
+
.event-calendar-day-header {
|
|
19400
19775
|
font-size: 0.75rem;
|
|
19401
19776
|
padding: 0.375rem 0.125rem;
|
|
19402
19777
|
}
|
|
19403
19778
|
|
|
19404
|
-
:where(.theme-scope)
|
|
19779
|
+
:where(.theme-scope)
|
|
19780
|
+
:where([data-block='event-calendar'])
|
|
19781
|
+
.event-calendar-day {
|
|
19405
19782
|
min-height: 88px;
|
|
19406
19783
|
padding: 0.125rem;
|
|
19407
19784
|
}
|
|
19408
19785
|
|
|
19409
|
-
:where(.theme-scope)
|
|
19786
|
+
:where(.theme-scope)
|
|
19787
|
+
:where([data-block='event-calendar'])
|
|
19788
|
+
.event-calendar-title {
|
|
19410
19789
|
font-size: 0.9375rem;
|
|
19411
19790
|
min-width: 0;
|
|
19412
19791
|
}
|
|
19413
19792
|
|
|
19414
|
-
:where(.theme-scope)
|
|
19793
|
+
:where(.theme-scope)
|
|
19794
|
+
:where([data-block='event-calendar'])
|
|
19795
|
+
.event-calendar-day-number {
|
|
19415
19796
|
font-size: 0.75rem;
|
|
19416
19797
|
margin-bottom: 0.125rem;
|
|
19417
19798
|
padding: 0 0.125rem;
|
|
19418
19799
|
}
|
|
19419
19800
|
|
|
19420
|
-
:where(.theme-scope)
|
|
19801
|
+
:where(.theme-scope)
|
|
19802
|
+
:where([data-block='event-calendar'])
|
|
19803
|
+
.event-calendar-event {
|
|
19421
19804
|
justify-content: center;
|
|
19422
19805
|
gap: 0.25rem;
|
|
19423
19806
|
padding: 0.1875rem 0.25rem;
|
|
@@ -19425,25 +19808,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
19425
19808
|
border-radius: calc(var(--rb-block-radius) / 3);
|
|
19426
19809
|
}
|
|
19427
19810
|
|
|
19428
|
-
:where(.theme-scope)
|
|
19811
|
+
:where(.theme-scope)
|
|
19812
|
+
:where([data-block='event-calendar'])
|
|
19813
|
+
.event-calendar-event-time {
|
|
19429
19814
|
text-align: center;
|
|
19430
19815
|
font-size: 0.625rem;
|
|
19431
19816
|
}
|
|
19432
19817
|
|
|
19433
|
-
:where(.theme-scope)
|
|
19818
|
+
:where(.theme-scope)
|
|
19819
|
+
:where([data-block='event-calendar'])
|
|
19820
|
+
.event-calendar-event-title {
|
|
19434
19821
|
display: none;
|
|
19435
19822
|
}
|
|
19436
19823
|
|
|
19437
|
-
:where(.theme-scope)
|
|
19824
|
+
:where(.theme-scope)
|
|
19825
|
+
:where([data-block='event-calendar'])
|
|
19826
|
+
.event-calendar-more {
|
|
19438
19827
|
padding: 0.125rem 0.25rem;
|
|
19439
19828
|
font-size: 0.6875rem;
|
|
19440
19829
|
}
|
|
19441
19830
|
|
|
19442
|
-
:where(.theme-scope)
|
|
19831
|
+
:where(.theme-scope)
|
|
19832
|
+
:where([data-block='event-calendar'])
|
|
19833
|
+
.event-calendar-header
|
|
19834
|
+
> button {
|
|
19443
19835
|
margin-right: 0.25rem;
|
|
19444
19836
|
}
|
|
19445
19837
|
|
|
19446
|
-
:where(.theme-scope) :where([data-block=
|
|
19838
|
+
:where(.theme-scope) :where([data-block='event-calendar']) .ec-modal {
|
|
19447
19839
|
max-width: 100%;
|
|
19448
19840
|
max-height: 85vh;
|
|
19449
19841
|
margin: 0 0.5rem;
|