@riverbankcms/sdk 0.104.0 → 0.104.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-ywqcYjTB.mjs → PreviewEditorSidebar-CBMhU9p_.mjs} +3 -3
- package/dist/{PreviewEditorUI-DApUNF6g.mjs → PreviewEditorUI-C5KEw4M8.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-DmHCcIMO.mjs → SdkPreviewModeRuntime-Iq12HjL7.mjs} +1147 -180
- package/dist/{SiteChromeCustomizeContext-BV9GU-3C.mjs → SiteChromeCustomizeContext-Cx0NMdyv.mjs} +1818 -951
- package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -0
- package/dist/_dts/api/src/bookingVerticals.d.ts +64 -1
- package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +12 -8
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +11 -1
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/constants/events.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +12 -0
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +33 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +77 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -40
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +14 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +11 -0
- package/dist/_dts/core/src/branded.d.ts +5 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +18 -0
- package/dist/_dts/editor/src/index.d.ts +3 -1
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +14 -6
- package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +23 -4
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +6 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/paste.d.ts +10 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +29 -0
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +6 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +20 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +34 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +27 -3
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +51 -15
- package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +13 -0
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +44 -0
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +23 -6
- package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +13 -2
- package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -9
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +17 -2
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +3 -4
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +1 -0
- package/dist/_dts/theme-core/src/schema.d.ts +108 -26
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +50 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +56 -1
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/_dts/theme-core/src/status/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +19 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +9 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +2 -0
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/cli/index.mjs +1567 -470
- package/dist/client/{DiscountCodeDisclosure-Dit2aItR.mjs → DiscountCodeDisclosure-BXM73_E5.mjs} +1 -1
- package/dist/client/{EventCombined.client-BnREyCjf.mjs → EventCombined.client-DT5elP7j.mjs} +4 -4
- package/dist/client/{EventListing.client-0uHld51x.mjs → EventListing.client-pTYGfV9C.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DJcvSfmj.mjs → LeafletStaticMap-dQrhlUe3.mjs} +1 -1
- package/dist/client/{MagicLinkForm-EAsIktfw.mjs → MagicLinkForm-u6Dul4j5.mjs} +2 -2
- package/dist/client/{StepIndicator-CRR17tYI.mjs → StepIndicator-nWqineJ2.mjs} +2 -2
- package/dist/client/{accordion-B47HIuuH.mjs → accordion-CSJcTUyH.mjs} +1 -1
- package/dist/client/{bookingForm-I1E-8F9P.mjs → bookingForm-C73wOuVa.mjs} +6 -6
- package/dist/client/bookings.mjs +137 -1
- package/dist/client/{buttons-BbPn8OKA.mjs → buttons-DfYyqt8C.mjs} +138 -2
- package/dist/client/{carousel-OlM7SyBs.mjs → carousel-fMBb0JSc.mjs} +1 -1
- package/dist/client/{cart-BKpG5jz6.mjs → cart-BtaCwT3S.mjs} +3 -3
- package/dist/client/{checkout-Dmmr6qoU.mjs → checkout-DkTwZSnh.mjs} +3 -3
- package/dist/client/client.mjs +2336 -544
- package/dist/client/{colorStyles-DuW4Fjqd.mjs → colorStyles-Wyl6JujD.mjs} +45 -4
- package/dist/client/{courseRegistration-CflZiqGk.mjs → courseRegistration-DnLmapJu.mjs} +7 -7
- package/dist/client/{eventCalendar-BvoLWcp-.mjs → eventCalendar-BvLOc9KY.mjs} +165 -5
- package/dist/client/{eventCombined-DsrO8t_t.mjs → eventCombined-kShgJPQr.mjs} +2 -2
- package/dist/client/{eventDetails-C3hxgcJm.mjs → eventDetails-C5NTM0Vo.mjs} +3 -3
- package/dist/client/{eventListing-C-hb237X.mjs → eventListing-B82ZdKP6.mjs} +2 -2
- package/dist/client/{eventRegistration-B0gyzDGi.mjs → eventRegistration-qJVFqBWo.mjs} +7 -7
- package/dist/client/{form-C_RUi6oJ.mjs → form-BvAcKiuu.mjs} +2 -2
- package/dist/client/{headerSection-IKQiD2U0.mjs → headerSection-NvAiEHAg.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -337
- package/dist/client/{locationMap-8ZBrMzRJ.mjs → locationMap-D0j52xfI.mjs} +3 -3
- package/dist/client/{media-CZJKL7fi.mjs → media-BCW_g2cQ.mjs} +1 -1
- package/dist/client/{newsletterForm-CYk3ucwj.mjs → newsletterForm-B8_i93qH.mjs} +2 -2
- package/dist/client/{pricing-B5GmvfIH.mjs → pricing-DIYnyHOk.mjs} +1 -1
- package/dist/client/{productDetail-BjS2Dqzo.mjs → productDetail-w0eAHkuQ.mjs} +3 -3
- package/dist/client/{productList-BOHvC8My.mjs → productList-Vsguq5Xt.mjs} +3 -3
- package/dist/client/{propsDecoder-WS6UEJwZ.mjs → propsDecoder-CD2pJ1WB.mjs} +37 -2
- package/dist/client/rendering/client.mjs +1723 -762
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2312 -520
- package/dist/client/{shop-CON03-wN.mjs → shop-Dgxs-Q8F.mjs} +6 -6
- package/dist/client/{shop-commerce-DlqrFgH8.mjs → shop-commerce-DJAhsTaT.mjs} +6 -6
- package/dist/client/{shop-commerce-store-l74-Kne6.mjs → shop-commerce-store-CfCXltXW.mjs} +1 -1
- package/dist/client/{shopShared-CQheEXSg.mjs → shopShared-CmDcPXUt.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-v6OluyWl.mjs → useDiscountCodeUi-CirrT2bM.mjs} +1 -1
- package/dist/client/{useEventFilters-BqSTcNOf.mjs → useEventFilters-CNZxlCcO.mjs} +5 -5
- package/dist/client/{usePolling-DMfADjIF.mjs → usePolling-Baks_iBI.mjs} +2 -2
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-DWb08Xaz.mjs → sdk-runtime-BfNiFeNJ.mjs} +1 -1
- package/dist/{separator--6yjc914.mjs → separator-BhAR_Xmf.mjs} +1 -1
- package/dist/server/components.mjs +2301 -531
- package/dist/server/config-validation.mjs +1028 -337
- package/dist/server/config.mjs +1028 -337
- package/dist/server/data.mjs +1023 -337
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +2304 -534
- package/dist/server/page-converter.mjs +1018 -324
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2286 -521
- package/dist/server/rendering.mjs +2301 -531
- package/dist/server/routing.mjs +1100 -338
- package/dist/server/server.mjs +1024 -338
- package/dist/server/theme-bridge.mjs +1240 -77
- package/dist/server/theme.mjs +165 -5
- package/dist/styles/index.css +617 -34
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +0 -2
- package/dist/_dts/theme-core/src/status/contextualColors.d.ts +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { $ as PreviewRichTextEditor, $a as previewStageSchema, $c as rgbColorValue, $d as Copy, $l as createCollapsibleScope, $n as buildEventCalendarListingRender, $r as ctaCopyFragment, $s as MailIcon, $t as deleteEntrySlotBlock, $u as formatCurrencyAmount, Aa as normalizeOfferingsPreviewGroupOrder, Ac as isRotationDimensionSwap, Ad as Pencil, Ai as getCuratedSiteStyle, Al as Input, An as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ao as formatDate$3, Ar as formatCommercePrice, As as resolveIconPickerPreset, At as createRoutingHelpers, Au as clsx, Ba as eventPageSizeSchema, Bd as ImageOff, Bi as NAV_LINK_LETTER_SPACING_MAP, Bl as Dialog, Bn as isInternalResolvedLinkValue, Bo as resolveEventCta, Br as augmentManifestWithStyleGroups, Bs as ChevronLeftIcon, Bt as ManifestForm, Bu as formatBookingTime, Cc as resolveImageUrlWithContext, Cd as Sparkles, Ci as retargetCompiledBoundaryRuntimeForContentAdjacency, Cl as SelectTrigger, Cn as isSupportedLoaderEndpoint, Co as resolveOnColorForThemeToken, Cr as buildProductDetailInteractiveIslandProps, Cs as getGeneratedBlockIconStyleState, Ct as pushHistoryEntry, Cu as createContextScope, Da as buildOfferingsPreviewRenderStates, Dc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Dd as RotateCcw, Di as resolveVisiblePromotedFieldPathsForEditorBlock, Dl as Popover, Dn as listBlockDescriptors, Do as buildGoogleMapsDirectionsUrl, Dr as buildCartDisplay, Ds as parseGeneratedIconSetId, Dt as recordsEqual, Du as cva, Ea as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Ec as setContextResolveImageUrlContext, Ed as Search, Ei as planPageDesignLayoutLookCompatibility, El as Badge, En as getBlockDefinition, Eo as featuresFromHex, Er as getShopDisplayForItems, Es as parseGeneratedIconAssetId, Et as unsafeAsLinkedContentEntryId, Eu as Button, Fa as resolveOfferingsPreviewGroups, Fc as asRecord, Fi as getComponentBorderWidthPx, Fl as Content$1, Fn as mediaTransforms, Fo as formatEventTeacherLine, Fr as deriveCommerceCheckoutState, Fs as ArrowLeftIcon, Ft as PaletteProvider, Fu as unsafeAsEditorBlockValues, G as beginAutosaveBatch, Ga as normalizeCsvString, Gc as generateBaseInteractiveCSS, Gd as FilePlay, Gi as INPUT_FONT_SIZE_MAP, Gl as DialogHeader, Gn as productDetailBlockDefinition, Go as resolveRuntimeEventPricing, Gr as faqHeadingFragment, Gs as ClockIcon$1, Gt as createStoreBackend, Gu as toBookingTimeZone, Ha as resolveEventCalendarListPageSize, Hc as generateButtonCss, Hd as File, Hi as NAV_LINK_PADDING_X_MAP, Hl as DialogContent, Hn as useImageResolveContextOptional, Ho as getEventAvailability, Hr as headingFragment, Hs as ChevronUpIcon, Hu as getBookingLocalDateKey, Ia as isSemanticSpacing, Ic as getDirectImageUrlForMediaAsset, Id as LoaderCircle, Ii as getComponentShadowVar, Il as List, In as layoutTransforms, Io as formatTime$3, Ir as parseStoredCommerceCartState, Is as ArrowRightIcon, It as usePalette, Iu as addLocalScheduleDays, J as enqueueTransaction, Ja as columnOptionSchema, Jc as parseThemeButtonVariantId, Jl as CollapsibleContent, Jn as eventListingBlockDefinition, Jo as createInteractiveIslandCodec, Jr as footerBottomTextFragment, Js as FileArchiveIcon, Jt as applyPageDesignEditorAction, Ju as publicEventPricingCurrency, K as confirmAutosaveBatch, Ka as normalizeOptionalId, Kc as generateInteractiveChildInheritanceCSS, Kd as FileHeadphone, Ki as INPUT_SPACING_MAP, Kl as DialogTitle, Kn as newsletterSignupBlockDefinition, Ko as blockBookingPaymentTermsSchema, Kr as blogFeaturedPostFragment, Ks as DownloadIcon, Kt as listContentTypes, Ku as toScheduledBookingDateTime, La as resolveSpacing, Lc as getImageUrl, Ld as Image, Li as parseBlockCustomCssRules, Ll as Root2$1, Ln as uiTransforms, Lo as getCardOrientation, Lr as productItemKey, Ls as CalendarIcon$1, Lt as recoveryConflictCopy, Lu as formatBookingDate, Ma as resolveOfferingsPreviewCoursePath, Mc as formatAspectRatioToken, Mi as isThemeV2NormalEditorRawStyleFieldName, Ml as TabsContent, Mn as planSiteOverlayHeaderClearance, Mo as formatEventDateParts, Mr as EMPTY_COMMERCE_CART_STATE, Ms as getSemanticIconComponent, Mu as createEditorRemoveBlockCommand, Na as resolveOfferingsPreviewGroupCta, Nc as parseAspectRatioValue, Ni as isThemeV2NormalEditorRawStylePath, Nl as TabsList, Nn as visibleHeaderClearancePx, No as formatEventPrice, Nr as buildPassCartItem, Ns as isSemanticIconId, Nu as createEditorReorderBlocksCommand, Oa as inferLegacyOfferingsPreviewGroupOrder, Oc as resolveMediaSlotContract, Ol as PopoverContent, On as siteFooterManifest, Oo as normalizeLocationMapProps, Or as buildProductCardDisplay, Os as parseSiteIconStyleGuideVersionId, Ou as useComposedRefs, Pa as resolveOfferingsPreviewGroupOrderEntries, Pc as resolveMediaTransformForAspect, Pd as Minus, Pi as pageDesignEditorBackgroundOverrideOwner, Pl as TabsTrigger, Pn as contentTransforms, Po as formatEventPriceDisplay, Pr as buildProductCartItem, Ps as ArrowDownIcon, Pu as unsafeAsEditorBlockId, Q as resolvePreviewSidebarTab, Qa as filterAutoShowSchema, Qc as mergeStyles, Qd as CreditCard, Ql as Trigger, Qn as buildEventCalendarListingDisplay, Qo as defineProgressiveBlockRuntime, Qr as testimonialsHeadingFragment, Qs as InfoIcon, Qt as deleteBlock, Qu as publicEventTicketTypes, Ra as buildEventRuntimeFilters, Rc as getAtPath, Rd as ImageUp, Ri as parseCustomCssRules, Rl as Trigger$1, Rn as formattingTransforms, Ro as getContainerClass, Rr as reduceCommerceCart, Rs as CheckIcon$1, Rt as unfinishedBlockCopy, Ru as formatBookingDateTime, Sa as ctaButton, Sc as renderVideo, Sd as Star, Si as compileEditorModelRuntime, Sl as SelectItem, Sn as useUniqueId, So as isCssColorLiteral, Sr as buildCheckoutInteractiveIslandProps, Ss as getBlockIconSemanticId, St as createHistoryState, Su as useControllableState, Tc as resolveMediaStorageUrl, Td as Settings, Ti as normalEditorCuratedPromotedFieldPaths, Tl as Label, Tn as GRADIENT_PRESETS, To as getTextColorForBackground, Tr as buildShopInteractiveIslandProps, Ts as resolveBlockIconRenderValue, Tt as undoHistory, Tu as Primitive, Ua as resolveEventListPaginationAction, Uc as generateEffectsCSS, Ud as FileText, Ui as NAV_LINK_TEXT_SIZE_MAP, Ul as DialogDescription, Un as shopBlockDefinition, Uo as getLocalDateKey, Ur as cardFragment, Us as CircleMinusIcon, Ut as FormRenderer, Uu as parseBookingLocalDate, Va as getEventRuntimeFiltersKey, Vd as GripVertical, Vi as NAV_LINK_PADDING_MAP, Vl as DialogClose, Vn as ImageResolveContextProvider, Vo as resolveEventLinkProps, Vr as richTextFragment, Vs as ChevronRightIcon, Vt as createManifestFormAdapter, Vu as formatLocalScheduleDate, Wa as normalizeCsvIds, Wc as generateShadowValue$1, Wd as FileSpreadsheet, Wi as FONT_WEIGHT_MAP, Wl as DialogFooter, Wn as productListBlockDefinition, Wo as getLocalMinuteOfDay, Wr as faqAccordionFragment, Ws as CirclePlusIcon, Wt as evaluateVisibility, Wu as resolveBookingTimeZoneId, X as rejectAutosaveBatch, Xa as eventCalendarDefaultViewSchema, Xc as backgroundColorStyle, Xd as EllipsisVertical, Xl as Content, Xn as eventCalendarBlockDefinition, Xo as createZodCodec, Xr as formCopyFragment, Xs as FileSpreadsheetIcon, Xt as createBlock, Xu as publicEventPricingType, Y as idleEditorTransactionQueueState, Ya as eventButtonVariantSchema, Yc as themeButtonClassName, Yd as EyeOff, Yn as buildEventListingInteractiveIslandProps, Yo as defineInteractiveIslandMetaKeys, Yr as formEmbedFragment, Ys as FileAudioIcon, Yt as getPageDesignEditorState, Yu as publicEventPricingMode, Za as eventLayoutSchema, Zc as borderColorStyle, Zd as Crop, Zl as Root, Zn as buildEventCalendarInteractiveIslandProps, Zo as defineClientOwnedBlockRuntime, Zr as testimonialsCarouselFragment, Zs as FileTextIcon, Zt as createEntrySlotBlock, Zu as publicEventScalarPrice, _c as MediaPlaceholder, _f as __toESM, _i as mergeHeaderNavTypographyPreference, _l as TooltipProvider, _n as useSensors, _o as generateCardCss, _r as courseRegistrationBlockDefinition, _s as resolveFeatureCardGeneratedIconSizePx, _t as useEditorUiStore, _u as __spreadArray, aa as sectionTransitionFamilyForBoundaryOptionId, ac as ShoppingCartIcon, ad as unsafeAsAppointmentServiceId, af as ChevronsUpDown, ai as PUBLIC_FILE_FIELD_KINDS, al as isNonEmptyValue, an as DEFAULT_LAUNCH_READINESS_INPUT, ao as bindingSchema, ar as findEventByOccurrenceId, as as assertNever$6, at as getRichTextImagePositionFromTarget, au as DropdownMenu, ba as createTransformRegistry, bc as getCurrentResolveImageUrlContext, bd as Ticket, bi as PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, bl as Select, bn as useCombinedRefs, bo as normalizeBoxStylesCardVariant, br as cartBlockDefinition, bs as toFeatureCardIconSuggestionInputs, bt as canRedoHistory, bu as useDirection, ca as backgroundAppearanceColorTokenNames, cc as createRichTextDocFromMarkdown, cd as unsafeAsMediaAssetId, cf as ChevronLeft, ci as MQ_MD_DOWN, cl as useSdkConfig, cn as DndContext, co as eventSurfaceScopeValues, cr as resolveEventRequiresPayment, cs as ACCORDION_TRIGGER_FONT_SCALE, ct as EditorProvider, da as parseBackgroundAppearanceColorToken, dc as isRecord$20, dd as unsafeAsPositiveSeconds, df as Box, di as MQ_TABLET_ONLY, dl as mapOptionValueForSelect, dn as closestCenter, do as normalizeEventScheduleScope, dr as getStepNumber$1, ds as ICON_SIZE_PX, dt as useUISelector, du as __assign, ec as MapPinIcon$1, ed as assertNever$5, ef as Clock3, ei as heroCtaRowFragment, el as textColorStyle, eo as weekStartSchema, er as formBlockDefinition, es as composeHeaderSectionWrapperClassName, et as PreviewInlineTextEditor, eu as Card, fa as defaultThemeTokens, fc as coerceInlineTextWithFallback, fd as err$2, ff as ArrowUp, fi as BACKGROUND_POSITION_PRESET_VALUES, fl as unmapValueFromSelect, fn as getClientRect, fo as normalizeEventStaffMemberId, fr as getWizardStepsForContext$1, fs as PUBLIC_DOWNLOAD_MEDIA_TYPES, ft as EditableBlockProvider, fu as __awaiter, g as PreviewDesignCoordinatorProvider, gc as ImagePresets, gd as Upload, gf as __exportAll, gi as resolveBackgroundColorValue, gl as TooltipContent, gn as useSensor, go as publicEventSchema, gr as buildGiftingInteractiveIslandProps, gs as getFeatureCardIconCompletion, gu as __rest, hc as parseInlineTextFromUnknown, hd as X, hf as __commonJSMin, hi as resolveSectionForegroundStyles, hl as Tooltip, hn as useDroppable, ho as normalizeEventVenueId, hr as giftingBlockDefinition, hs as createFeatureCardIconKey, ht as useEntryEditorController, hu as __read, i as usePreviewDesignHistoryOrder, ia as sectionTransitionFamilies, ic as PlusIcon, id as unsafeAsAppointmentResourceId, if as CircleAlert, ii as defineFragment, il as isHeaderField, in as decodePublicProductCategorySelectorQuery, io as when, ir as toRegistrationEvents, is as asDesignBlockId, it as RichTextEditorSurface, ja as normalizeOfferingsPreviewItemLimit, jc as normalizeRightAngle, ji as surfaceResolutionContextFromTheme, jl as Tabs, jn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, jo as formatEventCompactDateRail, jr as formatInterval, js as SEMANTIC_ICON_DEFINITIONS, jt as createSnapshotFromPageRecord, ju as createEditorInsertBlockCommand, ka as isOfferingsPreviewSourceKey, kc as attachRenderableMediaAssetFields, kd as Plus, ki as designRuntimeRulesForTheme, kl as PopoverTrigger, kn as siteHeaderManifest, ko as toLocationMapHydrationProps, kr as buildProductDetailDisplay, ks as isIconPickerPreset, kt as useDebouncedLatestSave, ku as cn$1, la as backgroundAppearanceQuickColorTokenNames, lc as unwrapRichTextRoot, ld as unsafeAsPassId, lf as ChevronDown, li as MQ_SM_DOWN, ll as hasEmptyOption, ln as KeyboardCode, lo as normalizeEventBlockKind, lr as resolveRegistrationTarget, ls as ACCORDION_TRIGGER_LETTER_SPACING, lt as useEditor, lu as DropdownMenuSeparator, mc as isInlineTextEmpty, md as lucide_react_exports, mf as Archive, mi as boxStylesTransforms, ml as useField, mn as useDraggable, mo as normalizeEventSurfaceScope, mr as resolveEventRegistrationScopedEvents, ms as FEATURE_CARD_ICON_TREATMENTS, mu as __generator, n as useSiteChromeCustomizeOptional, na as boundaryRuntimeMetricsForTransition, nc as PhoneIcon, nd as parseMediaAssetId, nf as CircleMinus, ni as heroCopyFragment, nl as getFieldIntent, nn as reorderBlocks, no as eventCalendarListLayoutOptions, nr as eventRegistrationBlockDefinition, ns as splitPositioningClasses, nt as useRichTextEditor, nu as CardHeader, oa as sectionTransitionVariantForBoundaryOptionId, oc as UploadIcon, od as unsafeAsCustomerPassId, of as ChevronUp, oi as siteOptionSources, ol as useBlockContext, on as deriveLaunchReadiness, oo as eventBlockKindValues, or as findPreSelectedEvent, os as ACCORDION_OPEN_ACCENT_THICKNESS, ot as insertOrReplaceRichTextImage, ou as DropdownMenuContent, pc as inlineTextToPlainText, pd as ok$3, pf as ArrowDown, pi as getAnchorClasses, pl as FieldFrame, pn as useDndContext, po as normalizeEventSurfacePresetsCsv, pr as normalizeEventRegistrationPageSurfaceSubject, ps as mediaSchema, pt as EntryControllerProvider, pu as __extends, q as deriveTransactionCapabilities, qa as calendarTabViewsSchema, qc as TokenResolver, qd as FileArchive, qi as LABEL_FONT_SIZE_MAP, ql as Collapsible, qn as buildNewsletterFormInteractiveIslandProps, qo as buildInteractiveIslandProps, qr as singleButtonFragment, qs as ExternalLinkIcon, qt as toRoutableLinkPayload, qu as formatBookingPriceDisplay, r as PreviewDesignHistoryOrderProvider, ra as defaultSectionTransitionVariantForFamily, rc as PlayIcon, rd as parseSiteId, rf as CircleCheck, ri as bodyCopyFragment, rl as getModalConfig, rn as reorderEntrySlotBlocks, ro as el, rr as buildEventRegistrationInteractiveIslandProps, rs as planSiteChromePlacement, rt as EMPTY_DOC, ru as CardTitle, sa as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, sc as XIcon, sd as unsafeAsFormId, sf as ChevronRight, si as MQ_LG_UP, sl as SdkConfigProvider, sn as AMBIENT_BACKGROUND_ROLES$1, so as eventScheduleScopeValues, sr as resolveDiscountContext, ss as ACCORDION_SPACING_MAP, st as InlineTextEditor, su as DropdownMenuItem, t as SiteChromeCustomizeProvider, tc as MinusIcon, td as expectParsedBrandedId, tf as CirclePlus, ti as ctaRowFragment, tl as useBackendWatch, tn as mutateBlockContent, to as eventCalendarListLayoutCompatibleDisplayModeValues, tr as buildFormInteractiveIslandProps, ts as markEditableSurfaceForwarding, tt as PreviewTextEditor, tu as CardContent, ua as foregroundTokenForBackgroundAppearanceColorToken, uc as isObjectRecord, ud as unsafeAsPositiveByteCount$1, uf as Check, ui as MQ_SM_UP, ul as mapCurrentValueForSelect, un as PointerSensor, uo as normalizeEventCategoryIdsCsv, ur as WIZARD_STEPS$1, us as ICON_CONFIG, uu as DropdownMenuTrigger, v as PreviewThemeOverlayProvider, va as expandPalette, vc as buildResolveImageUrlContext, vi as readHeaderNavFontSizePreference, vl as TooltipTrigger, vn as CSS, vo as statusMutedColorDeclaration, vr as buildCourseRegistrationInteractiveIslandProps, vs as shouldReserveFeatureCardIconZone, vt as useEditorUiStoreInstance, vu as __spreadArrays, wc as resolveMediaNodeResponsiveImage, wi as retargetCompiledRuntimeFieldsForContentAdjacency, wl as SelectValue, wn as gradientToCss, wo as resolveTokenOrCssColorValue, wr as buildProductListInteractiveIslandProps, ws as parseBlockIconValue, wt as redoHistory, wu as composeEventHandlers, xa as runTransforms, xc as renderAudio, xi as applyCompiledRuntimeFieldsToContent, xl as SelectContent, xn as useIsomorphicLayoutEffect, xo as normalizeCardVariantRole, xr as buildCartInteractiveIslandProps, xs as buildGeneratedBlockIconRenderAssetLookupFromUnknown, xt as canUndoHistory, xu as createCollection, y as usePreviewThemeOverlay, ya as generateCssVars, yc as computeMediaTransformStyle, yd as Trash2, yi as formatSiteChromeBackgroundTokenLabel, yl as Textarea, yn as isKeyboardEvent, yo as generateShadowValue, yr as checkoutBlockDefinition, ys as suggestSemanticIconForFeatureCard, yt as useOptionalEditorUiStoreInstance, yu as useId$1, za as eventListPaginationActionSchema, zc as siblingPath$1, zd as ImagePlus, zi as NAV_LINK_BORDER_RADIUS_MAP, zl as ScrollableDialogContent, zn as createManifestValidator, zo as groupEventsByDate, zr as augmentManifest, zs as ChevronDownIcon, zt as validateBlockManifestIssues, zu as formatBookingInstant } from "./SiteChromeCustomizeContext-BV9GU-3C.mjs";
|
|
2
|
+
import { $ as PreviewRichTextEditor, $a as previewStageSchema, $c as cssVarValue, $l as CollapsibleContent, $n as buildEventCalendarListingRender, $r as ctaCopyFragment, $s as ClockIcon$1, $t as deleteEntrySlotBlock, $u as publicEventPricingCurrency, Aa as normalizeOfferingsPreviewGroupOrder, Ac as isRotationDimensionSwap, Ad as Settings, Ai as getCuratedSiteStyle, Al as Label, An as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ao as formatEventCompactDateRail, Ar as formatCommercePrice, As as unwrapRichTextRoot, At as createRoutingHelpers, Au as Primitive, Ba as eventPageSizeSchema, Bi as NAV_LINK_LETTER_SPACING_MAP, Bl as Content$1, Bn as isInternalResolvedLinkValue, Bo as resolveEventLinkProps, Br as augmentManifestWithStyleGroups, Bs as getSemanticIconComponent, Bt as ManifestForm, Bu as unsafeAsEditorBlockValues, Cc as resolveImageUrlWithContext, Ci as retargetCompiledBoundaryRuntimeForContentAdjacency, Cl as TooltipTrigger, Cn as isSupportedLoaderEndpoint, Co as resolveTokenOrCssColorValue, Cr as buildProductDetailInteractiveIslandProps, Cs as getGeneratedBlockIconStyleState, Ct as pushHistoryEntry, Cu as __spreadArrays, Da as buildOfferingsPreviewRenderStates, Dc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Dd as Star, Di as resolveVisiblePromotedFieldPathsForEditorBlock, Dl as SelectItem, Dn as listBlockDescriptors, Do as normalizeLocationMapProps, Dr as buildCartDisplay, Ds as parseGeneratedIconSetId, Dt as recordsEqual, Du as useControllableState, Ea as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Ec as setContextResolveImageUrlContext, Ei as planPageDesignLayoutLookCompatibility, El as SelectContent, En as getBlockDefinition, Eo as buildGoogleMapsDirectionsUrl, Er as getShopDisplayForItems, Es as parseGeneratedIconAssetId, Et as unsafeAsLinkedContentEntryId, Eu as createCollection, Fa as resolveOfferingsPreviewGroups, Fc as asRecord, Fd as Pencil, Fi as getComponentBorderWidthPx, Fl as Input, Fn as mediaTransforms, Fo as formatTime$3, Fr as deriveCommerceCheckoutState, Fs as isInlineTextEmpty, Ft as PaletteProvider, Fu as clsx, G as beginAutosaveBatch, Ga as normalizeCsvString, Gc as generateShadowValue$1, Gd as ImageOff, Gi as INPUT_FONT_SIZE_MAP, Gl as Dialog, Gn as productDetailBlockDefinition, Go as resolveRuntimeEventPricing, Gr as faqHeadingFragment, Gs as CalendarIcon$1, Gt as createStoreBackend, Gu as formatBookingTime, Ha as resolveEventCalendarListPageSize, Hc as AFFORDANCE_SUPPRESS_CLASS, Hd as Image, Hi as NAV_LINK_PADDING_X_MAP, Hl as Root2$1, Hn as useImageResolveContextOptional, Ho as getEventAvailabilityStatus, Hr as headingFragment, Hs as ArrowDownIcon, Hu as formatBookingDate, Ia as isSemanticSpacing, Ic as getDirectImageUrlForMediaAsset, Ii as getComponentShadowVar, Il as Tabs, In as layoutTransforms, Io as getCardOrientation, Ir as parseStoredCommerceCartState, Is as parseInlineTextFromUnknown, It as usePalette, Iu as createEditorInsertBlockCommand, J as enqueueTransaction, Ja as columnOptionSchema, Jc as TokenResolver, Jd as FileText, Jl as DialogDescription, Jn as eventListingBlockDefinition, Jo as createInteractiveIslandCodec, Jr as footerBottomTextFragment, Js as ChevronLeftIcon, Jt as applyPageDesignEditorAction, Ju as parseBookingLocalDate, K as confirmAutosaveBatch, Ka as normalizeOptionalId, Kc as generateBaseInteractiveCSS, Kd as GripVertical, Ki as INPUT_SPACING_MAP, Kl as DialogClose, Kn as newsletterSignupBlockDefinition, Ko as blockBookingPaymentTermsSchema, Kr as blogFeaturedPostFragment, Ks as CheckIcon$1, Kt as listContentTypes, Ku as formatLocalScheduleDate, La as resolveSpacing, Lc as getImageUrl, Li as parseBlockCustomCssRules, Ll as TabsContent, Ln as uiTransforms, Lo as getContainerClass, Lr as productItemKey, Ls as isIconPickerPreset, Lt as recoveryConflictCopy, Lu as createEditorRemoveBlockCommand, Ma as resolveOfferingsPreviewCoursePath, Mc as formatAspectRatioToken, Md as RotateCcw, Mi as isThemeV2NormalEditorRawStyleFieldName, Ml as Popover, Mn as planSiteOverlayHeaderClearance, Mo as formatEventPrice, Mr as EMPTY_COMMERCE_CART_STATE, Ms as isRecord$20, Mu as cva, Na as resolveOfferingsPreviewGroupCta, Nc as parseAspectRatioValue, Ni as isThemeV2NormalEditorRawStylePath, Nl as PopoverContent, Nn as visibleHeaderClearancePx, No as formatEventPriceDisplay, Nr as buildPassCartItem, Ns as coerceInlineTextWithFallback, Nu as useComposedRefs, Oa as inferLegacyOfferingsPreviewGroupOrder, Oc as resolveMediaSlotContract, Od as Sparkles, Ol as SelectTrigger, On as siteFooterManifest, Oo as toLocationMapHydrationProps, Or as buildProductCardDisplay, Os as parseSiteIconStyleGuideVersionId, Ou as createContextScope, Pa as resolveOfferingsPreviewGroupOrderEntries, Pc as resolveMediaTransformForAspect, Pd as Plus, Pi as pageDesignEditorBackgroundOverrideOwner, Pl as PopoverTrigger, Pn as contentTransforms, Po as formatEventTeacherLine, Pr as buildProductCartItem, Ps as inlineTextToPlainText, Pu as cn$1, Q as resolvePreviewSidebarTab, Qa as filterAutoShowSchema, Qc as borderColorStyle, Qd as FileArchive, Ql as Collapsible, Qn as buildEventCalendarListingDisplay, Qo as defineProgressiveBlockRuntime, Qr as testimonialsHeadingFragment, Qs as CirclePlusIcon, Qt as deleteBlock, Qu as formatBookingPriceDisplay, Ra as buildEventRuntimeFilters, Rc as getAtPath, Ri as parseCustomCssRules, Rl as TabsList, Rn as formattingTransforms, Ro as groupEventsByDate, Rr as reduceCommerceCart, Rs as resolveIconPickerPreset, Rt as unfinishedBlockCopy, Ru as createEditorReorderBlocksCommand, Sa as ctaButton, Sc as renderVideo, Sf as __toESM, Si as compileEditorModelRuntime, Sl as TooltipProvider, Sn as useUniqueId, So as resolveOnColorForThemeToken, Sr as buildCheckoutInteractiveIslandProps, Ss as getBlockIconSemanticId, St as createHistoryState, Su as __spreadArray, Tc as resolveMediaStorageUrl, Td as Ticket, Ti as normalEditorCuratedPromotedFieldPaths, Tl as Select, Tn as GRADIENT_PRESETS, To as featuresFromHex, Tr as buildShopInteractiveIslandProps, Ts as resolveBlockIconRenderValue, Tt as undoHistory, Tu as useDirection, Ua as resolveEventListPaginationAction, Uc as generateButtonCss, Ud as ImageUp, Ui as NAV_LINK_TEXT_SIZE_MAP, Ul as Trigger$1, Un as shopBlockDefinition, Uo as getLocalDateKey, Ur as cardFragment, Us as ArrowLeftIcon, Ut as FormRenderer, Uu as formatBookingDateTime, Va as getEventRuntimeFiltersKey, Vd as LoaderCircle, Vi as NAV_LINK_PADDING_MAP, Vl as List, Vn as ImageResolveContextProvider, Vo as getEventAvailability, Vr as richTextFragment, Vs as isSemanticIconId, Vt as createManifestFormAdapter, Vu as addLocalScheduleDays, Wa as normalizeCsvIds, Wc as generateEffectsCSS, Wd as ImagePlus, Wi as FONT_WEIGHT_MAP, Wl as ScrollableDialogContent, Wn as productListBlockDefinition, Wo as getLocalMinuteOfDay, Wr as faqAccordionFragment, Ws as ArrowRightIcon, Wt as evaluateVisibility, Wu as formatBookingInstant, X as rejectAutosaveBatch, Xa as eventCalendarDefaultViewSchema, Xc as themeButtonClassName, Xd as FilePlay, Xl as DialogHeader, Xn as eventCalendarBlockDefinition, Xo as createZodCodec, Xr as formCopyFragment, Xs as ChevronUpIcon, Xt as createBlock, Xu as toBookingTimeZone, Y as idleEditorTransactionQueueState, Ya as eventButtonVariantSchema, Yc as parseThemeButtonVariantId, Yd as FileSpreadsheet, Yl as DialogFooter, Yn as buildEventListingInteractiveIslandProps, Yo as defineInteractiveIslandMetaKeys, Yr as formEmbedFragment, Ys as ChevronRightIcon, Yt as getPageDesignEditorState, Yu as resolveBookingTimeZoneId, Za as eventLayoutSchema, Zc as backgroundColorStyle, Zd as FileHeadphone, Zl as DialogTitle, Zn as buildEventCalendarInteractiveIslandProps, Zo as defineClientOwnedBlockRuntime, Zr as testimonialsCarouselFragment, Zs as CircleMinusIcon, Zt as createEntrySlotBlock, Zu as toScheduledBookingDateTime, _c as MediaPlaceholder, _d as err$2, _f as ArrowUp, _i as mergeHeaderNavTypographyPreference, _l as unmapValueFromSelect, _n as useSensors, _o as generateCardCss, _r as courseRegistrationBlockDefinition, _s as resolveFeatureCardGeneratedIconSizePx, _t as useEditorUiStore, _u as __awaiter, aa as sectionTransitionFamilyForBoundaryOptionId, ac as FileTextIcon, ad as assertNever$5, af as Clock3, ai as PUBLIC_FILE_FIELD_KINDS, al as surfaceForegroundValue, an as DEFAULT_LAUNCH_READINESS_INPUT, ao as bindingSchema, ar as findEventByOccurrenceId, as as assertNever$6, at as getRichTextImagePositionFromTarget, au as Card, ba as createTransformRegistry, bc as getCurrentResolveImageUrlContext, bd as X, bf as __commonJSMin, bi as PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, bl as Tooltip, bn as useCombinedRefs, bo as normalizeCardVariantRole, br as cartBlockDefinition, bs as toFeatureCardIconSuggestionInputs, bt as canRedoHistory, bu as __read, ca as backgroundAppearanceColorTokenNames, cc as MapPinIcon$1, cd as parseSiteId, cf as CircleCheck, ci as MQ_MD_DOWN, cl as getModalConfig, cn as DndContext, co as eventSurfaceScopeValues, cr as resolveEventRequiresPayment, cs as ACCORDION_TRIGGER_FONT_SCALE, ct as EditorProvider, cu as CardTitle, da as parseBackgroundAppearanceColorToken, dc as PlayIcon, dd as unsafeAsCustomerPassId, df as ChevronUp, di as MQ_TABLET_ONLY, dl as useBlockContext, dn as closestCenter, do as normalizeEventScheduleScope, dr as getStepNumber$1, ds as ICON_SIZE_PX, dt as useUISelector, du as DropdownMenuContent, ec as DownloadIcon, ed as publicEventPricingMode, ef as EyeOff, ei as heroCtaRowFragment, el as mergeStyles, eo as weekStartSchema, er as formBlockDefinition, es as composeHeaderSectionWrapperClassName, et as PreviewInlineTextEditor, fa as defaultThemeTokens, fc as PlusIcon, fd as unsafeAsFormId, ff as ChevronRight, fi as BACKGROUND_POSITION_PRESET_VALUES, fl as SdkConfigProvider, fn as getClientRect, fo as normalizeEventStaffMemberId, fr as getWizardStepsForContext$1, fs as PUBLIC_DOWNLOAD_MEDIA_TYPES, ft as EditableBlockProvider, fu as DropdownMenuItem, g as PreviewDesignCoordinatorProvider, gc as ImagePresets, gd as unsafeAsPositiveSeconds, gf as Box, gi as resolveBackgroundColorValue, gl as mapOptionValueForSelect, gn as useSensor, go as publicEventSchema, gr as buildGiftingInteractiveIslandProps, gs as getFeatureCardIconCompletion, gu as __assign, hc as XIcon, hd as unsafeAsPositiveByteCount$1, hf as Check, hi as resolveSurfaceForegroundStyles, hl as mapCurrentValueForSelect, hn as useDroppable, ho as normalizeEventVenueId, hr as giftingBlockDefinition, hs as createFeatureCardIconKey, ht as useEntryEditorController, hu as DropdownMenuTrigger, i as usePreviewDesignHistoryOrder, ia as sectionTransitionFamilies, ic as FileSpreadsheetIcon, id as formatCurrencyAmount, if as Copy, ii as defineFragment, il as surfaceForegroundDeclarations, in as decodePublicProductCategorySelectorQuery, io as when, ir as toRegistrationEvents, is as asDesignBlockId, it as RichTextEditorSurface, iu as createCollapsibleScope, ja as normalizeOfferingsPreviewItemLimit, jc as normalizeRightAngle, jd as Search, ji as surfaceResolutionContextFromTheme, jl as Badge, jn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, jo as formatEventDateParts, jr as formatInterval, js as isObjectRecord, jt as createSnapshotFromPageRecord, ju as Button, ka as isOfferingsPreviewSourceKey, kc as attachRenderableMediaAssetFields, ki as designRuntimeRulesForTheme, kl as SelectValue, kn as siteHeaderManifest, ko as formatDate$3, kr as buildProductDetailDisplay, ks as createRichTextDocFromMarkdown, kt as useDebouncedLatestSave, ku as composeEventHandlers, la as backgroundAppearanceQuickColorTokenNames, lc as MinusIcon, ld as unsafeAsAppointmentResourceId, lf as CircleAlert, li as MQ_SM_DOWN, ll as isHeaderField, ln as KeyboardCode, lo as normalizeEventBlockKind, lr as resolveRegistrationTarget, ls as ACCORDION_TRIGGER_LETTER_SPACING, lt as useEditor, mc as UploadIcon, md as unsafeAsPassId, mf as ChevronDown, mi as boxStylesTransforms, ml as hasEmptyOption, mn as useDraggable, mo as normalizeEventSurfaceScope, mr as resolveEventRegistrationScopedEvents, ms as FEATURE_CARD_ICON_TREATMENTS, mu as DropdownMenuSeparator, n as useSiteChromeCustomizeOptional, na as boundaryRuntimeMetricsForTransition, nc as FileArchiveIcon, nd as publicEventScalarPrice, nf as Crop, ni as heroCopyFragment, nl as textColorStyle, nn as reorderBlocks, no as eventCalendarListLayoutOptions, nr as eventRegistrationBlockDefinition, ns as splitPositioningClasses, nt as useRichTextEditor, nu as Root, oa as sectionTransitionVariantForBoundaryOptionId, oc as InfoIcon, od as expectParsedBrandedId, of as CirclePlus, oi as siteOptionSources, ol as useBackendWatch, on as deriveLaunchReadiness, oo as eventBlockKindValues, or as findPreSelectedEvent, os as ACCORDION_OPEN_ACCENT_THICKNESS, ot as insertOrReplaceRichTextImage, ou as CardContent, pc as ShoppingCartIcon, pd as unsafeAsMediaAssetId, pf as ChevronLeft, pi as getAnchorClasses, pl as useSdkConfig, pn as useDndContext, po as normalizeEventSurfacePresetsCsv, pr as normalizeEventRegistrationPageSurfaceSubject, ps as mediaSchema, pt as EntryControllerProvider, q as deriveTransactionCapabilities, qa as calendarTabViewsSchema, qc as generateInteractiveChildInheritanceCSS, qd as File, qi as LABEL_FONT_SIZE_MAP, ql as DialogContent, qn as buildNewsletterFormInteractiveIslandProps, qo as buildInteractiveIslandProps, qr as singleButtonFragment, qs as ChevronDownIcon, qt as toRoutableLinkPayload, qu as getBookingLocalDateKey, r as PreviewDesignHistoryOrderProvider, ra as defaultSectionTransitionVariantForFamily, rc as FileAudioIcon, rd as publicEventTicketTypes, rf as CreditCard, ri as bodyCopyFragment, rl as DEFAULT_SURFACE_TEXT_COLOR, rn as reorderEntrySlotBlocks, ro as el, rr as buildEventRegistrationInteractiveIslandProps, rs as planSiteChromePlacement, rt as EMPTY_DOC, ru as Trigger, sa as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, sc as MailIcon, sd as parseMediaAssetId, sf as CircleMinus, si as MQ_LG_UP, sl as getFieldIntent, sn as AMBIENT_BACKGROUND_ROLES$1, so as eventScheduleScopeValues, sr as resolveDiscountContext, ss as ACCORDION_SPACING_MAP, st as InlineTextEditor, su as CardHeader, t as SiteChromeCustomizeProvider, tc as ExternalLinkIcon, td as publicEventPricingType, tf as EllipsisVertical, ti as ctaRowFragment, tl as rgbColorValue, tn as mutateBlockContent, to as eventCalendarListLayoutCompatibleDisplayModeValues, tr as buildFormInteractiveIslandProps, ts as markEditableSurfaceForwarding, tt as PreviewTextEditor, tu as Content, ua as foregroundTokenForBackgroundAppearanceColorToken, uc as PhoneIcon, ud as unsafeAsAppointmentServiceId, uf as ChevronsUpDown, ui as MQ_SM_UP, ul as isNonEmptyValue, un as PointerSensor, uo as normalizeEventCategoryIdsCsv, ur as WIZARD_STEPS$1, us as ICON_CONFIG, uu as DropdownMenu, v as PreviewThemeOverlayProvider, va as expandPalette, vc as buildResolveImageUrlContext, vd as ok$3, vf as ArrowDown, vi as readHeaderNavFontSizePreference, vl as FieldFrame, vn as CSS, vo as generateShadowValue, vr as buildCourseRegistrationInteractiveIslandProps, vs as shouldReserveFeatureCardIconZone, vt as useEditorUiStoreInstance, vu as __extends, wc as resolveMediaNodeResponsiveImage, wd as Trash2, wi as retargetCompiledRuntimeFieldsForContentAdjacency, wl as Textarea, wn as gradientToCss, wo as getTextColorForBackground, wr as buildProductListInteractiveIslandProps, ws as parseBlockIconValue, wt as redoHistory, wu as useId$1, xa as runTransforms, xc as renderAudio, xd as Upload, xf as __exportAll, xi as applyCompiledRuntimeFieldsToContent, xl as TooltipContent, xn as useIsomorphicLayoutEffect, xo as isCssColorLiteral, xr as buildCartInteractiveIslandProps, xs as buildGeneratedBlockIconRenderAssetLookupFromUnknown, xt as canUndoHistory, xu as __rest, y as usePreviewThemeOverlay, ya as generateCssVars, yc as computeMediaTransformStyle, yd as lucide_react_exports, yf as Archive, yi as formatSiteChromeBackgroundTokenLabel, yl as useField, yn as isKeyboardEvent, yo as normalizeBoxStylesCardVariant, yr as checkoutBlockDefinition, ys as suggestSemanticIconForFeatureCard, yt as useOptionalEditorUiStoreInstance, yu as __generator, za as eventListPaginationActionSchema, zc as siblingPath$1, zd as Minus, zi as NAV_LINK_BORDER_RADIUS_MAP, zl as TabsTrigger, zn as createManifestValidator, zo as resolveEventCta, zr as augmentManifest, zs as SEMANTIC_ICON_DEFINITIONS, zt as validateBlockManifestIssues, zu as unsafeAsEditorBlockId } from "./SiteChromeCustomizeContext-Cx0NMdyv.mjs";
|
|
3
3
|
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-CStABBUh.mjs";
|
|
4
4
|
import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, l as ApiEnvelopeError, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-CfquDtTh.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
@@ -2033,21 +2033,53 @@ function Inline({ as: Comp = "div", gap = "md", align = "center", justify = "sta
|
|
|
2033
2033
|
}
|
|
2034
2034
|
//#endregion
|
|
2035
2035
|
//#region ../blocks/src/primitives/layout/Grid.tsx
|
|
2036
|
+
/** Utility class for a numeric column COUNT at a given breakpoint. */
|
|
2037
|
+
const COL_COUNT_CLASS = {
|
|
2038
|
+
base: (n) => `rb-grid-cols-${n}`,
|
|
2039
|
+
sm: (n) => `rb-sm-grid-cols-${n}`,
|
|
2040
|
+
md: (n) => `rb-md-grid-cols-${n}`,
|
|
2041
|
+
lg: (n) => `rb-lg-grid-cols-${n}`,
|
|
2042
|
+
xl: (n) => `rb-xl-grid-cols-${n}`
|
|
2043
|
+
};
|
|
2044
|
+
/** Inline custom property read by the `.rb-grid-tracks` utility per breakpoint. */
|
|
2045
|
+
const TRACK_VAR = {
|
|
2046
|
+
base: "--rb-gtc-base",
|
|
2047
|
+
sm: "--rb-gtc-sm",
|
|
2048
|
+
md: "--rb-gtc-md",
|
|
2049
|
+
lg: "--rb-gtc-lg",
|
|
2050
|
+
xl: "--rb-gtc-xl"
|
|
2051
|
+
};
|
|
2052
|
+
const GRID_BREAKPOINTS = [
|
|
2053
|
+
"base",
|
|
2054
|
+
"sm",
|
|
2055
|
+
"md",
|
|
2056
|
+
"lg",
|
|
2057
|
+
"xl"
|
|
2058
|
+
];
|
|
2036
2059
|
function Grid({ as: Comp = "div", cols = {
|
|
2037
2060
|
base: 1,
|
|
2038
2061
|
md: 2
|
|
2039
|
-
}, gap = "md", className, children, "data-slot": dataSlot, ...rest }) {
|
|
2040
|
-
const colsObj = typeof cols === "number" ? { base: cols } : cols;
|
|
2041
|
-
const colClasses = [
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2062
|
+
}, gap = "md", className, style, children, "data-slot": dataSlot, ...rest }) {
|
|
2063
|
+
const colsObj = typeof cols === "number" || typeof cols === "string" ? { base: cols } : cols;
|
|
2064
|
+
const colClasses = [];
|
|
2065
|
+
const trackVars = {};
|
|
2066
|
+
let hasTracks = false;
|
|
2067
|
+
for (const bp of GRID_BREAKPOINTS) {
|
|
2068
|
+
const value = colsObj[bp];
|
|
2069
|
+
if (value == null) continue;
|
|
2070
|
+
if (typeof value === "string") {
|
|
2071
|
+
trackVars[TRACK_VAR[bp]] = value;
|
|
2072
|
+
hasTracks = true;
|
|
2073
|
+
} else colClasses.push(COL_COUNT_CLASS[bp](value));
|
|
2074
|
+
}
|
|
2075
|
+
const mergedStyle = hasTracks ? {
|
|
2076
|
+
...trackVars,
|
|
2077
|
+
...style
|
|
2078
|
+
} : style;
|
|
2048
2079
|
return /* @__PURE__ */ jsx(Comp, {
|
|
2049
2080
|
...rest,
|
|
2050
|
-
|
|
2081
|
+
style: mergedStyle,
|
|
2082
|
+
className: clsx("rb-grid", hasTracks && "rb-grid-tracks", colClasses, {
|
|
2051
2083
|
"rb-gap-0": gap === "none",
|
|
2052
2084
|
"rb-gap-1": gap === "xs",
|
|
2053
2085
|
"rb-gap-2": gap === "sm",
|
|
@@ -2513,119 +2545,6 @@ function Text$1({ as: Comp = "span", children, className = "", path, maxLength:
|
|
|
2513
2545
|
});
|
|
2514
2546
|
}
|
|
2515
2547
|
//#endregion
|
|
2516
|
-
//#region ../blocks/src/system/runtime/nodes/richText-coerce.ts
|
|
2517
|
-
function coerceRichTextDoc(value) {
|
|
2518
|
-
const raw = unwrapRichTextRoot(value);
|
|
2519
|
-
if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
|
|
2520
|
-
if (isRecord$20(raw) && typeof raw.type === "string") return raw;
|
|
2521
|
-
return null;
|
|
2522
|
-
}
|
|
2523
|
-
//#endregion
|
|
2524
|
-
//#region ../blocks/src/system/runtime/nodes/renderInlineText.tsx
|
|
2525
|
-
function renderInlineText(value) {
|
|
2526
|
-
return value.map((run, index) => renderRun(run, index));
|
|
2527
|
-
}
|
|
2528
|
-
function renderRun(run, key) {
|
|
2529
|
-
return (run.marks ?? []).reduceRight((child, mark, index) => renderMark(mark, `${String(key)}-${index}`, child), run.text);
|
|
2530
|
-
}
|
|
2531
|
-
function renderMark(mark, key, child) {
|
|
2532
|
-
switch (mark.kind) {
|
|
2533
|
-
case "strong": return /* @__PURE__ */ jsx("strong", { children: child }, key);
|
|
2534
|
-
case "emphasis": return /* @__PURE__ */ jsx("em", { children: child }, key);
|
|
2535
|
-
case "accent": return /* @__PURE__ */ jsx("span", {
|
|
2536
|
-
className: `rb-inline-text-accent rb-inline-text-accent-${mark.tone}`,
|
|
2537
|
-
children: child
|
|
2538
|
-
}, key);
|
|
2539
|
-
case "highlight": return /* @__PURE__ */ jsx("span", {
|
|
2540
|
-
className: `rb-inline-text-highlight rb-inline-text-highlight-${mark.tone}`,
|
|
2541
|
-
children: child
|
|
2542
|
-
}, key);
|
|
2543
|
-
}
|
|
2544
|
-
}
|
|
2545
|
-
//#endregion
|
|
2546
|
-
//#region ../blocks/src/system/runtime/nodes/basic.tsx
|
|
2547
|
-
const TextNode = ({ value, children, blockId: _blockId, blockKind: _blockKind, blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, inlineTextFallbackPath, ...rest }) => {
|
|
2548
|
-
const inlineText = parseInlineTextFromUnknown(value);
|
|
2549
|
-
if (inlineText.ok && !isInlineTextEmpty(inlineText.value)) return /* @__PURE__ */ jsx(Text$1, {
|
|
2550
|
-
...rest,
|
|
2551
|
-
children: renderInlineText(inlineText.value)
|
|
2552
|
-
});
|
|
2553
|
-
const fallbackValue = inlineTextFallbackPath ? readStringPath$1(blockContent, inlineTextFallbackPath) : null;
|
|
2554
|
-
return /* @__PURE__ */ jsx(Text$1, {
|
|
2555
|
-
...rest,
|
|
2556
|
-
children: fallbackValue ?? textNodeContent(value) ?? children
|
|
2557
|
-
});
|
|
2558
|
-
};
|
|
2559
|
-
function textNodeContent(value) {
|
|
2560
|
-
if (value === null || value === void 0) return null;
|
|
2561
|
-
if (typeof value === "string" || typeof value === "number") return value;
|
|
2562
|
-
return null;
|
|
2563
|
-
}
|
|
2564
|
-
function readStringPath$1(source, path) {
|
|
2565
|
-
const value = getAtPath(source, path);
|
|
2566
|
-
return typeof value === "string" ? value : null;
|
|
2567
|
-
}
|
|
2568
|
-
const RichTextNode = ({ value, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
|
|
2569
|
-
return /* @__PURE__ */ jsx(RichText$1, {
|
|
2570
|
-
doc: coerceRichTextDoc(value) ?? void 0,
|
|
2571
|
-
...rest
|
|
2572
|
-
});
|
|
2573
|
-
};
|
|
2574
|
-
const ButtonNode = ({ value, children, href, variantId = "primary", size = "md", disabled, type = "button", target, rel, linkRequired = false, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, className, ...rest }) => {
|
|
2575
|
-
const content = value ?? children;
|
|
2576
|
-
if (!content) {
|
|
2577
|
-
console.warn("[ButtonNode] No content to render - value and children are both empty");
|
|
2578
|
-
return null;
|
|
2579
|
-
}
|
|
2580
|
-
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
2581
|
-
if (linkRequired && resolvedHref.length === 0) {
|
|
2582
|
-
console.warn("[ButtonNode] Missing href for link-required button");
|
|
2583
|
-
return null;
|
|
2584
|
-
}
|
|
2585
|
-
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
2586
|
-
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
2587
|
-
variant: resolvedVariantId,
|
|
2588
|
-
size,
|
|
2589
|
-
extraClassName: className
|
|
2590
|
-
}) : className;
|
|
2591
|
-
if (resolvedHref) return /* @__PURE__ */ jsx("a", {
|
|
2592
|
-
href: resolvedHref,
|
|
2593
|
-
target,
|
|
2594
|
-
rel,
|
|
2595
|
-
className: combinedClassName,
|
|
2596
|
-
...rest,
|
|
2597
|
-
children: content
|
|
2598
|
-
});
|
|
2599
|
-
return /* @__PURE__ */ jsx("button", {
|
|
2600
|
-
type,
|
|
2601
|
-
disabled,
|
|
2602
|
-
className: combinedClassName,
|
|
2603
|
-
...rest,
|
|
2604
|
-
children: content
|
|
2605
|
-
});
|
|
2606
|
-
};
|
|
2607
|
-
const LinkNode = ({ href, children, className, target, rel, linkRequired = false, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
|
|
2608
|
-
if (!children) return null;
|
|
2609
|
-
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
2610
|
-
if (resolvedHref.length === 0) {
|
|
2611
|
-
if (linkRequired && true) console.warn("[LinkNode] Missing href for link-required link");
|
|
2612
|
-
if (linkRequired) return null;
|
|
2613
|
-
return /* @__PURE__ */ jsx("span", {
|
|
2614
|
-
className,
|
|
2615
|
-
...rest,
|
|
2616
|
-
children
|
|
2617
|
-
});
|
|
2618
|
-
}
|
|
2619
|
-
return /* @__PURE__ */ jsx("a", {
|
|
2620
|
-
href: resolvedHref,
|
|
2621
|
-
className,
|
|
2622
|
-
target,
|
|
2623
|
-
rel,
|
|
2624
|
-
...rest,
|
|
2625
|
-
children
|
|
2626
|
-
});
|
|
2627
|
-
};
|
|
2628
|
-
//#endregion
|
|
2629
2548
|
//#region ../blocks/src/system/icons/cta.ts
|
|
2630
2549
|
/**
|
|
2631
2550
|
* Curated icon set for CTA/button icons.
|
|
@@ -2733,6 +2652,171 @@ function getIconComponent(name) {
|
|
|
2733
2652
|
return getCtaIconComponent(name) ?? getSemanticIconComponent(name);
|
|
2734
2653
|
}
|
|
2735
2654
|
//#endregion
|
|
2655
|
+
//#region ../blocks/src/system/runtime/nodes/buttonAffordance.ts
|
|
2656
|
+
function normalize(value) {
|
|
2657
|
+
const trimmed = typeof value === "string" ? value.trim() : "";
|
|
2658
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
2659
|
+
}
|
|
2660
|
+
/**
|
|
2661
|
+
* Resolve the trailing affordance a button should render. Node overrides
|
|
2662
|
+
* personality; returns `null` when nothing is configured.
|
|
2663
|
+
*/
|
|
2664
|
+
function resolveButtonAffordance(input) {
|
|
2665
|
+
const nodeIcon = normalize(input.trailingIcon);
|
|
2666
|
+
if (nodeIcon) {
|
|
2667
|
+
const colorToken = normalize(input.trailingIconColorToken);
|
|
2668
|
+
return {
|
|
2669
|
+
iconId: nodeIcon,
|
|
2670
|
+
source: "node",
|
|
2671
|
+
...colorToken ? { colorToken } : {}
|
|
2672
|
+
};
|
|
2673
|
+
}
|
|
2674
|
+
const personality = input.personalityAffordance;
|
|
2675
|
+
const personalityIcon = normalize(personality?.iconId);
|
|
2676
|
+
if (personality && personalityIcon) {
|
|
2677
|
+
const colorToken = normalize(personality.colorToken);
|
|
2678
|
+
return {
|
|
2679
|
+
iconId: personalityIcon,
|
|
2680
|
+
source: "personality",
|
|
2681
|
+
...colorToken ? { colorToken } : {}
|
|
2682
|
+
};
|
|
2683
|
+
}
|
|
2684
|
+
return null;
|
|
2685
|
+
}
|
|
2686
|
+
//#endregion
|
|
2687
|
+
//#region ../blocks/src/system/runtime/nodes/richText-coerce.ts
|
|
2688
|
+
function coerceRichTextDoc(value) {
|
|
2689
|
+
const raw = unwrapRichTextRoot(value);
|
|
2690
|
+
if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
|
|
2691
|
+
if (isRecord$20(raw) && typeof raw.type === "string") return raw;
|
|
2692
|
+
return null;
|
|
2693
|
+
}
|
|
2694
|
+
//#endregion
|
|
2695
|
+
//#region ../blocks/src/system/runtime/nodes/renderInlineText.tsx
|
|
2696
|
+
function renderInlineText(value) {
|
|
2697
|
+
return value.map((run, index) => renderRun(run, index));
|
|
2698
|
+
}
|
|
2699
|
+
function renderRun(run, key) {
|
|
2700
|
+
return (run.marks ?? []).reduceRight((child, mark, index) => renderMark(mark, `${String(key)}-${index}`, child), run.text);
|
|
2701
|
+
}
|
|
2702
|
+
function renderMark(mark, key, child) {
|
|
2703
|
+
switch (mark.kind) {
|
|
2704
|
+
case "strong": return /* @__PURE__ */ jsx("strong", { children: child }, key);
|
|
2705
|
+
case "emphasis": return /* @__PURE__ */ jsx("em", { children: child }, key);
|
|
2706
|
+
case "accent": return /* @__PURE__ */ jsx("span", {
|
|
2707
|
+
className: `rb-inline-text-accent rb-inline-text-accent-${mark.tone}`,
|
|
2708
|
+
children: child
|
|
2709
|
+
}, key);
|
|
2710
|
+
case "highlight": return /* @__PURE__ */ jsx("span", {
|
|
2711
|
+
className: `rb-inline-text-highlight rb-inline-text-highlight-${mark.tone}`,
|
|
2712
|
+
children: child
|
|
2713
|
+
}, key);
|
|
2714
|
+
}
|
|
2715
|
+
}
|
|
2716
|
+
//#endregion
|
|
2717
|
+
//#region ../blocks/src/system/runtime/nodes/basic.tsx
|
|
2718
|
+
const TextNode = ({ value, children, blockId: _blockId, blockKind: _blockKind, blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, inlineTextFallbackPath, ...rest }) => {
|
|
2719
|
+
const inlineText = parseInlineTextFromUnknown(value);
|
|
2720
|
+
if (inlineText.ok && !isInlineTextEmpty(inlineText.value)) return /* @__PURE__ */ jsx(Text$1, {
|
|
2721
|
+
...rest,
|
|
2722
|
+
children: renderInlineText(inlineText.value)
|
|
2723
|
+
});
|
|
2724
|
+
const fallbackValue = inlineTextFallbackPath ? readStringPath$1(blockContent, inlineTextFallbackPath) : null;
|
|
2725
|
+
return /* @__PURE__ */ jsx(Text$1, {
|
|
2726
|
+
...rest,
|
|
2727
|
+
children: fallbackValue ?? textNodeContent(value) ?? children
|
|
2728
|
+
});
|
|
2729
|
+
};
|
|
2730
|
+
function textNodeContent(value) {
|
|
2731
|
+
if (value === null || value === void 0) return null;
|
|
2732
|
+
if (typeof value === "string" || typeof value === "number") return value;
|
|
2733
|
+
return null;
|
|
2734
|
+
}
|
|
2735
|
+
function readStringPath$1(source, path) {
|
|
2736
|
+
const value = getAtPath(source, path);
|
|
2737
|
+
return typeof value === "string" ? value : null;
|
|
2738
|
+
}
|
|
2739
|
+
const RichTextNode = ({ value, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
|
|
2740
|
+
return /* @__PURE__ */ jsx(RichText$1, {
|
|
2741
|
+
doc: coerceRichTextDoc(value) ?? void 0,
|
|
2742
|
+
...rest
|
|
2743
|
+
});
|
|
2744
|
+
};
|
|
2745
|
+
/**
|
|
2746
|
+
* Render the resolved trailing affordance icon. Colour is applied via a theme
|
|
2747
|
+
* CSS var so it recolours with the palette; the icon stroke uses `currentColor`.
|
|
2748
|
+
*/
|
|
2749
|
+
function renderTrailingAffordanceIcon(affordance) {
|
|
2750
|
+
if (!affordance) return null;
|
|
2751
|
+
const Icon = getIconComponent(affordance.iconId);
|
|
2752
|
+
if (!Icon) return null;
|
|
2753
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
2754
|
+
"aria-hidden": true,
|
|
2755
|
+
className: "rb-ml-2 rb-h-4 rb-w-4 rb-inline-block",
|
|
2756
|
+
style: affordance.colorToken ? { color: `rgb(var(--tb-${affordance.colorToken}))` } : void 0
|
|
2757
|
+
});
|
|
2758
|
+
}
|
|
2759
|
+
const ButtonNode = ({ value, children, href, variantId = "primary", size = "md", disabled, type = "button", target, rel, linkRequired = false, trailingIcon, trailingIconColorToken, personalityAffordance, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, className, ...rest }) => {
|
|
2760
|
+
const content = value ?? children;
|
|
2761
|
+
if (!content) {
|
|
2762
|
+
console.warn("[ButtonNode] No content to render - value and children are both empty");
|
|
2763
|
+
return null;
|
|
2764
|
+
}
|
|
2765
|
+
const affordanceIcon = renderTrailingAffordanceIcon(resolveButtonAffordance({
|
|
2766
|
+
trailingIcon,
|
|
2767
|
+
trailingIconColorToken,
|
|
2768
|
+
personalityAffordance
|
|
2769
|
+
}));
|
|
2770
|
+
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
2771
|
+
if (linkRequired && resolvedHref.length === 0) {
|
|
2772
|
+
console.warn("[ButtonNode] Missing href for link-required button");
|
|
2773
|
+
return null;
|
|
2774
|
+
}
|
|
2775
|
+
const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
|
|
2776
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
2777
|
+
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
2778
|
+
variant: resolvedVariantId,
|
|
2779
|
+
size,
|
|
2780
|
+
extraClassName
|
|
2781
|
+
}) : extraClassName;
|
|
2782
|
+
if (resolvedHref) return /* @__PURE__ */ jsxs("a", {
|
|
2783
|
+
href: resolvedHref,
|
|
2784
|
+
target,
|
|
2785
|
+
rel,
|
|
2786
|
+
className: combinedClassName,
|
|
2787
|
+
...rest,
|
|
2788
|
+
children: [content, affordanceIcon]
|
|
2789
|
+
});
|
|
2790
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
2791
|
+
type,
|
|
2792
|
+
disabled,
|
|
2793
|
+
className: combinedClassName,
|
|
2794
|
+
...rest,
|
|
2795
|
+
children: [content, affordanceIcon]
|
|
2796
|
+
});
|
|
2797
|
+
};
|
|
2798
|
+
const LinkNode = ({ href, children, className, target, rel, linkRequired = false, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
|
|
2799
|
+
if (!children) return null;
|
|
2800
|
+
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
2801
|
+
if (resolvedHref.length === 0) {
|
|
2802
|
+
if (linkRequired && true) console.warn("[LinkNode] Missing href for link-required link");
|
|
2803
|
+
if (linkRequired) return null;
|
|
2804
|
+
return /* @__PURE__ */ jsx("span", {
|
|
2805
|
+
className,
|
|
2806
|
+
...rest,
|
|
2807
|
+
children
|
|
2808
|
+
});
|
|
2809
|
+
}
|
|
2810
|
+
return /* @__PURE__ */ jsx("a", {
|
|
2811
|
+
href: resolvedHref,
|
|
2812
|
+
className,
|
|
2813
|
+
target,
|
|
2814
|
+
rel,
|
|
2815
|
+
...rest,
|
|
2816
|
+
children
|
|
2817
|
+
});
|
|
2818
|
+
};
|
|
2819
|
+
//#endregion
|
|
2736
2820
|
//#region ../blocks/src/system/runtime/nodes/icon.tsx
|
|
2737
2821
|
const IconNode = ({ value, title, className, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
|
|
2738
2822
|
const parsedValue = parseBlockIconValue(value);
|
|
@@ -3526,6 +3610,77 @@ function SpinnerNode({ className, size = "md", color, strokeWidth = 3, srLabel,
|
|
|
3526
3610
|
}) : null]
|
|
3527
3611
|
});
|
|
3528
3612
|
}
|
|
3613
|
+
//#endregion
|
|
3614
|
+
//#region ../blocks/src/system/runtime/nodes/svg.tsx
|
|
3615
|
+
/**
|
|
3616
|
+
* Turn paint props into a CSS style object. Colour values pass through as-is so
|
|
3617
|
+
* they may reference theme tokens via `var()`, which only resolves in a CSS
|
|
3618
|
+
* property context (not in a bare presentation attribute).
|
|
3619
|
+
*/
|
|
3620
|
+
function paintStyle(shape) {
|
|
3621
|
+
const style = {};
|
|
3622
|
+
if (shape.fill !== void 0) style.fill = shape.fill;
|
|
3623
|
+
if (shape.stroke !== void 0) style.stroke = shape.stroke;
|
|
3624
|
+
if (shape.strokeWidth !== void 0) style.strokeWidth = shape.strokeWidth;
|
|
3625
|
+
if (shape.fillOpacity !== void 0) style.fillOpacity = shape.fillOpacity;
|
|
3626
|
+
if (shape.strokeOpacity !== void 0) style.strokeOpacity = shape.strokeOpacity;
|
|
3627
|
+
if (shape.strokeLinecap !== void 0) style.strokeLinecap = shape.strokeLinecap;
|
|
3628
|
+
if (shape.strokeLinejoin !== void 0) style.strokeLinejoin = shape.strokeLinejoin;
|
|
3629
|
+
if (shape.strokeDasharray !== void 0) style.strokeDasharray = shape.strokeDasharray;
|
|
3630
|
+
return style;
|
|
3631
|
+
}
|
|
3632
|
+
function renderShape(shape, key) {
|
|
3633
|
+
const style = paintStyle(shape);
|
|
3634
|
+
switch (shape.kind) {
|
|
3635
|
+
case "path": return /* @__PURE__ */ jsx("path", {
|
|
3636
|
+
d: shape.d,
|
|
3637
|
+
style
|
|
3638
|
+
}, key);
|
|
3639
|
+
case "ellipse": return /* @__PURE__ */ jsx("ellipse", {
|
|
3640
|
+
cx: shape.cx,
|
|
3641
|
+
cy: shape.cy,
|
|
3642
|
+
rx: shape.rx,
|
|
3643
|
+
ry: shape.ry,
|
|
3644
|
+
style
|
|
3645
|
+
}, key);
|
|
3646
|
+
case "circle": return /* @__PURE__ */ jsx("circle", {
|
|
3647
|
+
cx: shape.cx,
|
|
3648
|
+
cy: shape.cy,
|
|
3649
|
+
r: shape.r,
|
|
3650
|
+
style
|
|
3651
|
+
}, key);
|
|
3652
|
+
case "rect": return /* @__PURE__ */ jsx("rect", {
|
|
3653
|
+
x: shape.x,
|
|
3654
|
+
y: shape.y,
|
|
3655
|
+
width: shape.width,
|
|
3656
|
+
height: shape.height,
|
|
3657
|
+
rx: shape.rx,
|
|
3658
|
+
ry: shape.ry,
|
|
3659
|
+
style
|
|
3660
|
+
}, key);
|
|
3661
|
+
case "line": return /* @__PURE__ */ jsx("line", {
|
|
3662
|
+
x1: shape.x1,
|
|
3663
|
+
y1: shape.y1,
|
|
3664
|
+
x2: shape.x2,
|
|
3665
|
+
y2: shape.y2,
|
|
3666
|
+
style
|
|
3667
|
+
}, key);
|
|
3668
|
+
default: return null;
|
|
3669
|
+
}
|
|
3670
|
+
}
|
|
3671
|
+
const SvgNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, viewBox, width, height, className, style, ariaHidden = true, shapes }) => {
|
|
3672
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
3673
|
+
viewBox,
|
|
3674
|
+
width,
|
|
3675
|
+
height,
|
|
3676
|
+
className,
|
|
3677
|
+
style,
|
|
3678
|
+
"aria-hidden": ariaHidden,
|
|
3679
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3680
|
+
fill: "none",
|
|
3681
|
+
children: (Array.isArray(shapes) ? shapes : []).map((shape, index) => renderShape(shape, index))
|
|
3682
|
+
});
|
|
3683
|
+
};
|
|
3529
3684
|
function clearWorkflowFeedback(state) {
|
|
3530
3685
|
return {
|
|
3531
3686
|
...state,
|
|
@@ -7803,6 +7958,154 @@ const WeekAgendaView = ({ days, events, showCapacity, emptyMessage = "No events
|
|
|
7803
7958
|
});
|
|
7804
7959
|
};
|
|
7805
7960
|
//#endregion
|
|
7961
|
+
//#region ../blocks/src/system/runtime/nodes/events/shared/WeekBoardView.tsx
|
|
7962
|
+
const SHORT_DAY_NAMES = [
|
|
7963
|
+
"Sun",
|
|
7964
|
+
"Mon",
|
|
7965
|
+
"Tue",
|
|
7966
|
+
"Wed",
|
|
7967
|
+
"Thu",
|
|
7968
|
+
"Fri",
|
|
7969
|
+
"Sat"
|
|
7970
|
+
];
|
|
7971
|
+
const LEGEND_ITEMS = [
|
|
7972
|
+
{
|
|
7973
|
+
status: "available",
|
|
7974
|
+
label: "Places available"
|
|
7975
|
+
},
|
|
7976
|
+
{
|
|
7977
|
+
status: "filling",
|
|
7978
|
+
label: "Filling up"
|
|
7979
|
+
},
|
|
7980
|
+
{
|
|
7981
|
+
status: "waitlist",
|
|
7982
|
+
label: "Waitlist"
|
|
7983
|
+
}
|
|
7984
|
+
];
|
|
7985
|
+
/**
|
|
7986
|
+
* Format an event's start–end as a compact range, merging the shared meridiem.
|
|
7987
|
+
* "6:00 PM" + "7:00 PM" -> "6:00 – 7:00 PM"; "9:30 AM" + "10:15 AM" -> "9:30 – 10:15 AM".
|
|
7988
|
+
*/
|
|
7989
|
+
function formatCompactTimeRange(event) {
|
|
7990
|
+
const timeZone = event.timeZone ?? null;
|
|
7991
|
+
const start = formatTime$3(event.startsAt, { timeZone });
|
|
7992
|
+
const end = formatTime$3(event.endsAt, { timeZone });
|
|
7993
|
+
const startMeridiem = start.slice(-2);
|
|
7994
|
+
const endMeridiem = end.slice(-2);
|
|
7995
|
+
if ((startMeridiem === "AM" || startMeridiem === "PM") && startMeridiem === endMeridiem) return `${start.slice(0, -3).trim()} – ${end}`;
|
|
7996
|
+
return `${start} – ${end}`;
|
|
7997
|
+
}
|
|
7998
|
+
const WeekBoardCard = ({ event, showCapacity }) => {
|
|
7999
|
+
const linkProps = resolveEventLinkProps(event);
|
|
8000
|
+
const { status, label } = getEventAvailabilityStatus(event);
|
|
8001
|
+
const pill = showCapacity ? label : null;
|
|
8002
|
+
return /* @__PURE__ */ jsxs("a", {
|
|
8003
|
+
...linkProps,
|
|
8004
|
+
className: "event-week-board-card",
|
|
8005
|
+
"data-status": status,
|
|
8006
|
+
children: [
|
|
8007
|
+
/* @__PURE__ */ jsx("span", {
|
|
8008
|
+
className: "event-week-board-card-title",
|
|
8009
|
+
children: event.title
|
|
8010
|
+
}),
|
|
8011
|
+
/* @__PURE__ */ jsx("span", {
|
|
8012
|
+
className: "event-week-board-card-time",
|
|
8013
|
+
children: formatCompactTimeRange(event)
|
|
8014
|
+
}),
|
|
8015
|
+
pill ? /* @__PURE__ */ jsx("span", {
|
|
8016
|
+
className: "event-week-board-card-pill",
|
|
8017
|
+
"data-status": status,
|
|
8018
|
+
children: pill
|
|
8019
|
+
}) : null
|
|
8020
|
+
]
|
|
8021
|
+
});
|
|
8022
|
+
};
|
|
8023
|
+
/**
|
|
8024
|
+
* WeekBoardView
|
|
8025
|
+
*
|
|
8026
|
+
* Compact "class day-board": day columns side by side (one card per class per
|
|
8027
|
+
* day), a legend of the three availability states, and a footer CTA. Collapses
|
|
8028
|
+
* to a stacked list on mobile. Repurposes the week-grouped agenda data as a
|
|
8029
|
+
* board rather than an hour-positioned timetable grid.
|
|
8030
|
+
*/
|
|
8031
|
+
const WeekBoardView = ({ days, events, showCapacity, emptyMessage = "No classes scheduled this week", title = "The week ahead", footerNote = "New to a class? We'll check it's right for you first.", ctaLabel = "Reserve a place", ctaHref = null, buttonVariant = "outline" }) => {
|
|
8032
|
+
const eventsByDate = groupEventsByDate(events);
|
|
8033
|
+
const hasAnyEvents = days.some((date) => (eventsByDate.get(formatDateKey(date)) ?? []).length > 0);
|
|
8034
|
+
const ctaClassName = themeButtonClassName({
|
|
8035
|
+
variant: buttonVariant,
|
|
8036
|
+
size: "sm"
|
|
8037
|
+
});
|
|
8038
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8039
|
+
className: "event-calendar event-calendar--week-board",
|
|
8040
|
+
"data-block": "event-calendar",
|
|
8041
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
8042
|
+
className: "event-week-board",
|
|
8043
|
+
style: { "--event-week-board-cols": String(days.length) },
|
|
8044
|
+
children: [
|
|
8045
|
+
/* @__PURE__ */ jsxs("div", {
|
|
8046
|
+
className: "event-week-board-top",
|
|
8047
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
8048
|
+
className: "event-week-board-title",
|
|
8049
|
+
children: title
|
|
8050
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
8051
|
+
className: "event-week-board-legend",
|
|
8052
|
+
"aria-hidden": "true",
|
|
8053
|
+
children: LEGEND_ITEMS.map((item) => /* @__PURE__ */ jsxs("span", {
|
|
8054
|
+
className: "event-week-board-legend-item",
|
|
8055
|
+
children: [/* @__PURE__ */ jsx("i", {
|
|
8056
|
+
className: "event-week-board-legend-dot",
|
|
8057
|
+
"data-status": item.status
|
|
8058
|
+
}), item.label]
|
|
8059
|
+
}, item.status))
|
|
8060
|
+
})]
|
|
8061
|
+
}),
|
|
8062
|
+
/* @__PURE__ */ jsx("div", {
|
|
8063
|
+
className: "event-week-board-grid",
|
|
8064
|
+
children: days.map((date) => {
|
|
8065
|
+
const dateKey = formatDateKey(date);
|
|
8066
|
+
const dayEvents = eventsByDate.get(dateKey) ?? [];
|
|
8067
|
+
const today = isToday(date);
|
|
8068
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
8069
|
+
className: clsx("event-week-board-day", dayEvents.length === 0 && "event-week-board-day--empty", today && "event-week-board-day--today"),
|
|
8070
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
8071
|
+
className: "event-week-board-day-head",
|
|
8072
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
8073
|
+
className: "event-week-board-day-abbr",
|
|
8074
|
+
children: SHORT_DAY_NAMES[date.getDay()]
|
|
8075
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
8076
|
+
className: "event-week-board-day-num",
|
|
8077
|
+
children: date.getDate()
|
|
8078
|
+
})]
|
|
8079
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
8080
|
+
className: "event-week-board-day-body",
|
|
8081
|
+
children: dayEvents.map((event) => /* @__PURE__ */ jsx(WeekBoardCard, {
|
|
8082
|
+
event,
|
|
8083
|
+
showCapacity
|
|
8084
|
+
}, event.occurrenceId || event.id))
|
|
8085
|
+
})]
|
|
8086
|
+
}, dateKey);
|
|
8087
|
+
})
|
|
8088
|
+
}),
|
|
8089
|
+
/* @__PURE__ */ jsxs("div", {
|
|
8090
|
+
className: "event-week-board-foot",
|
|
8091
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
8092
|
+
className: "event-week-board-foot-note",
|
|
8093
|
+
children: hasAnyEvents ? footerNote : emptyMessage
|
|
8094
|
+
}), ctaHref ? /* @__PURE__ */ jsx("a", {
|
|
8095
|
+
className: ctaClassName,
|
|
8096
|
+
href: ctaHref,
|
|
8097
|
+
children: ctaLabel
|
|
8098
|
+
}) : /* @__PURE__ */ jsx("button", {
|
|
8099
|
+
type: "button",
|
|
8100
|
+
className: ctaClassName,
|
|
8101
|
+
children: ctaLabel
|
|
8102
|
+
})]
|
|
8103
|
+
})
|
|
8104
|
+
]
|
|
8105
|
+
})
|
|
8106
|
+
});
|
|
8107
|
+
};
|
|
8108
|
+
//#endregion
|
|
7806
8109
|
//#region ../blocks/src/system/runtime/nodes/events/shared/timetableModel.ts
|
|
7807
8110
|
/**
|
|
7808
8111
|
* Event-domain adapter over @riverbankcms/calendar.
|
|
@@ -8237,6 +8540,16 @@ function renderTimetableSsr(display) {
|
|
|
8237
8540
|
})]
|
|
8238
8541
|
});
|
|
8239
8542
|
}
|
|
8543
|
+
function renderWeekBoardSsr(display) {
|
|
8544
|
+
return /* @__PURE__ */ jsx(WeekBoardView, {
|
|
8545
|
+
days: getWeekCalendarDayTuple(/* @__PURE__ */ new Date(), display.startOfWeek),
|
|
8546
|
+
events: [...display.events],
|
|
8547
|
+
showCapacity: display.showCapacity,
|
|
8548
|
+
emptyMessage: display.emptyMessage,
|
|
8549
|
+
ctaLabel: display.buttonText,
|
|
8550
|
+
buttonVariant: display.buttonVariant
|
|
8551
|
+
});
|
|
8552
|
+
}
|
|
8240
8553
|
function formatHourLabel$1(hour) {
|
|
8241
8554
|
if (hour === 0) return "12 AM";
|
|
8242
8555
|
if (hour === 12) return "12 PM";
|
|
@@ -8263,6 +8576,9 @@ const EventCalendarSSR = (props) => {
|
|
|
8263
8576
|
case "timetable":
|
|
8264
8577
|
content = renderTimetableSsr(display);
|
|
8265
8578
|
break;
|
|
8579
|
+
case "week-board":
|
|
8580
|
+
content = renderWeekBoardSsr(display);
|
|
8581
|
+
break;
|
|
8266
8582
|
case "calendar":
|
|
8267
8583
|
content = renderCalendarSsr(display);
|
|
8268
8584
|
break;
|
|
@@ -8848,6 +9164,7 @@ typedObjectKeys(runtimeBackedBlockServerEntries);
|
|
|
8848
9164
|
const serverComponentRegistry = {
|
|
8849
9165
|
div: DivNode,
|
|
8850
9166
|
figure: FigureNode,
|
|
9167
|
+
svg: SvgNode,
|
|
8851
9168
|
section: SectionNode,
|
|
8852
9169
|
headerSection: header_section_server_default,
|
|
8853
9170
|
stack: StackNode,
|
|
@@ -26255,8 +26572,19 @@ const EventCalendarClient = ({ render }) => {
|
|
|
26255
26572
|
});
|
|
26256
26573
|
if (display.displayMode === "list") return /* @__PURE__ */ jsx(EventListingController, { render: buildEventCalendarListingRender(render) });
|
|
26257
26574
|
if (display.displayMode === "timetable") return /* @__PURE__ */ jsx(EventCalendarTimetableClient, { render });
|
|
26575
|
+
if (display.displayMode === "week-board") return /* @__PURE__ */ jsx(EventCalendarWeekBoardClient, { display });
|
|
26258
26576
|
return /* @__PURE__ */ jsx(EventCalendarGridClient, { render });
|
|
26259
26577
|
};
|
|
26578
|
+
const EventCalendarWeekBoardClient = ({ display }) => {
|
|
26579
|
+
return /* @__PURE__ */ jsx(WeekBoardView, {
|
|
26580
|
+
days: useMemo(() => getWeekCalendarDayTuple(/* @__PURE__ */ new Date(), display.startOfWeek), [display.startOfWeek]),
|
|
26581
|
+
events: [...display.events],
|
|
26582
|
+
showCapacity: display.showCapacity,
|
|
26583
|
+
emptyMessage: display.emptyMessage,
|
|
26584
|
+
ctaLabel: display.buttonText,
|
|
26585
|
+
buttonVariant: display.buttonVariant
|
|
26586
|
+
});
|
|
26587
|
+
};
|
|
26260
26588
|
const EventCalendarTimetableClient = ({ render }) => {
|
|
26261
26589
|
const { display, hydration } = render;
|
|
26262
26590
|
const { filtersNode, listFilters } = useEventCalendarFilterState(display);
|
|
@@ -27477,8 +27805,8 @@ const backgroundTransforms = [
|
|
|
27477
27805
|
{
|
|
27478
27806
|
id: "background.resolveColorsStyle",
|
|
27479
27807
|
kind: "formatter",
|
|
27480
|
-
summary: "Resolve
|
|
27481
|
-
run: (value, _options, context) =>
|
|
27808
|
+
summary: "Resolve surface foreground colors from a background object into scoped CSS vars",
|
|
27809
|
+
run: (value, _options, context) => resolveSurfaceForegroundStyles(value, context)
|
|
27482
27810
|
},
|
|
27483
27811
|
{
|
|
27484
27812
|
id: "background.resolveAllowOverflow",
|
|
@@ -29422,6 +29750,8 @@ function formatFontFamily(family, fallback = "sans-serif") {
|
|
|
29422
29750
|
function generateShadowCssVars(theme) {
|
|
29423
29751
|
const level = theme.shadow.elevation;
|
|
29424
29752
|
const soft = theme.shadow.softness !== "crisp";
|
|
29753
|
+
const tintVar = theme.shadow.colorToken ? cssVarValue(theme.shadow.colorToken) : null;
|
|
29754
|
+
const shadowColor = (a) => tintVar ? `rgb(${tintVar} / ${a})` : `rgba(0, 0, 0, ${a})`;
|
|
29425
29755
|
const base = {
|
|
29426
29756
|
sm: [{
|
|
29427
29757
|
y: 1,
|
|
@@ -29481,7 +29811,7 @@ function generateShadowCssVars(theme) {
|
|
|
29481
29811
|
const blurMul = soft ? 1.2 : 1;
|
|
29482
29812
|
const alphaMul = soft ? .9 : 1.05;
|
|
29483
29813
|
const fmt = (layers) => layers.map((l) => {
|
|
29484
|
-
return `0 ${Math.round(l.y * scale)}px ${Math.round(l.blur * scale * blurMul)}px ${Math.round(l.spread * scale)}px
|
|
29814
|
+
return `0 ${Math.round(l.y * scale)}px ${Math.round(l.blur * scale * blurMul)}px ${Math.round(l.spread * scale)}px ${shadowColor(Math.max(0, Math.min(1, +(l.a * alphaMul).toFixed(3))))}`;
|
|
29485
29815
|
}).join(", ");
|
|
29486
29816
|
return {
|
|
29487
29817
|
"--shadow-sm": fmt(base.sm),
|
|
@@ -29547,7 +29877,13 @@ function generateAccordionCss({ themeId, theme, accordionSystem }) {
|
|
|
29547
29877
|
const questionColumnsLastItemSelector = `${questionColumnsItemSelector}:last-child`;
|
|
29548
29878
|
const questionColumnsTriggerSelector = `${questionColumnsItemSelector} .accordion-trigger`;
|
|
29549
29879
|
const rootRules = [];
|
|
29550
|
-
if (accordionSystem.background)
|
|
29880
|
+
if (accordionSystem.background) {
|
|
29881
|
+
rootRules.push(`background-color: ${rgbColorValue(accordionSystem.background.colorToken)}`);
|
|
29882
|
+
rootRules.push(...surfaceForegroundDeclarations({
|
|
29883
|
+
text: rgbColorValue(accordionSystem.content.textColorToken),
|
|
29884
|
+
heading: rgbColorValue(accordionSystem.trigger.textColorToken)
|
|
29885
|
+
}));
|
|
29886
|
+
}
|
|
29551
29887
|
const borderRadius = CORNER_MAP$2[accordionSystem.corners ?? theme.corners];
|
|
29552
29888
|
rootRules.push(`border-radius: ${borderRadius}`);
|
|
29553
29889
|
if (accordionSystem.border) {
|
|
@@ -31125,7 +31461,7 @@ ${root} .status-error { color: rgb(var(--tb-destructive)); }
|
|
|
31125
31461
|
${root} .status-success { color: rgb(var(--tb-success)); }
|
|
31126
31462
|
${root} .status-warning { color: rgb(var(--tb-warning)); }
|
|
31127
31463
|
${root} .status-info { color: rgb(var(--tb-info)); }
|
|
31128
|
-
${root} .status-muted { ${
|
|
31464
|
+
${root} .status-muted { color: ${surfaceForegroundValue("supporting")}; }`);
|
|
31129
31465
|
cssBlocks.push(`/* Alert containers */
|
|
31130
31466
|
${root} .alert {
|
|
31131
31467
|
padding: 1rem;
|
|
@@ -31263,6 +31599,9 @@ ${root} .step-connector {
|
|
|
31263
31599
|
}
|
|
31264
31600
|
//#endregion
|
|
31265
31601
|
//#region ../theme-core/src/typography/generateTypographyCss.ts
|
|
31602
|
+
function globalHeadingColorFallback(level) {
|
|
31603
|
+
return `var(--hc-h${level}, var(--hc-heading, ${DEFAULT_SURFACE_TEXT_COLOR}))`;
|
|
31604
|
+
}
|
|
31266
31605
|
/**
|
|
31267
31606
|
* Generate typography CSS for heading elements.
|
|
31268
31607
|
*
|
|
@@ -31291,7 +31630,7 @@ ${root} :where(h1) {
|
|
|
31291
31630
|
font-style: var(--fi-h1, var(--fi-heading, normal));
|
|
31292
31631
|
letter-spacing: var(--ls-h1, var(--ls-heading));
|
|
31293
31632
|
line-height: var(--lh-h1, var(--lh-heading));
|
|
31294
|
-
color:
|
|
31633
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(1))};
|
|
31295
31634
|
}
|
|
31296
31635
|
|
|
31297
31636
|
${root} :where(h2) {
|
|
@@ -31300,7 +31639,7 @@ ${root} :where(h2) {
|
|
|
31300
31639
|
font-style: var(--fi-h2, var(--fi-heading, normal));
|
|
31301
31640
|
letter-spacing: var(--ls-h2, var(--ls-heading));
|
|
31302
31641
|
line-height: var(--lh-h2, var(--lh-heading));
|
|
31303
|
-
color:
|
|
31642
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(2))};
|
|
31304
31643
|
}
|
|
31305
31644
|
|
|
31306
31645
|
${root} :where(h3) {
|
|
@@ -31309,7 +31648,7 @@ ${root} :where(h3) {
|
|
|
31309
31648
|
font-style: var(--fi-h3, var(--fi-heading, normal));
|
|
31310
31649
|
letter-spacing: var(--ls-h3, var(--ls-heading));
|
|
31311
31650
|
line-height: var(--lh-h3, var(--lh-heading));
|
|
31312
|
-
color:
|
|
31651
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(3))};
|
|
31313
31652
|
}
|
|
31314
31653
|
|
|
31315
31654
|
${root} :where(h4) {
|
|
@@ -31318,7 +31657,7 @@ ${root} :where(h4) {
|
|
|
31318
31657
|
font-style: var(--fi-h4, var(--fi-heading, normal));
|
|
31319
31658
|
letter-spacing: var(--ls-h4, var(--ls-heading));
|
|
31320
31659
|
line-height: var(--lh-h4, var(--lh-heading));
|
|
31321
|
-
color:
|
|
31660
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(4))};
|
|
31322
31661
|
}
|
|
31323
31662
|
|
|
31324
31663
|
${root} :where(h5) {
|
|
@@ -31327,7 +31666,7 @@ ${root} :where(h5) {
|
|
|
31327
31666
|
font-style: var(--fi-h5, var(--fi-heading, normal));
|
|
31328
31667
|
letter-spacing: var(--ls-h5, var(--ls-heading));
|
|
31329
31668
|
line-height: var(--lh-h5, var(--lh-heading));
|
|
31330
|
-
color:
|
|
31669
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(5))};
|
|
31331
31670
|
}
|
|
31332
31671
|
|
|
31333
31672
|
${root} :where(h6) {
|
|
@@ -31336,7 +31675,7 @@ ${root} :where(h6) {
|
|
|
31336
31675
|
font-style: var(--fi-h6, var(--fi-heading, normal));
|
|
31337
31676
|
letter-spacing: var(--ls-h6, var(--ls-heading));
|
|
31338
31677
|
line-height: var(--lh-h6, var(--lh-heading));
|
|
31339
|
-
color:
|
|
31678
|
+
color: ${surfaceForegroundValue("heading", globalHeadingColorFallback(6))};
|
|
31340
31679
|
}`);
|
|
31341
31680
|
cssBlocks.push(`/* Display variant for hero/splash headings */
|
|
31342
31681
|
${root} :where(.heading-display) {
|
|
@@ -31735,6 +32074,7 @@ const THEME_RADIUS_CSS_VARS = {
|
|
|
31735
32074
|
block: "--rb-block-radius",
|
|
31736
32075
|
button: "--rb-button-radius",
|
|
31737
32076
|
input: "--rb-input-radius",
|
|
32077
|
+
panel: "--rb-panel-radius",
|
|
31738
32078
|
legacyCard: "--radius-card",
|
|
31739
32079
|
legacyControl: "--radius-control"
|
|
31740
32080
|
};
|
|
@@ -31816,6 +32156,10 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="customer-portal"]
|
|
|
31816
32156
|
/* Modal (shared rb-modal classes) */
|
|
31817
32157
|
--rb-modal-overlay-bg: rgb(var(--tb-text, 0 0 0) / 0.35);
|
|
31818
32158
|
--rb-modal-bg: var(--cp-card-bg);
|
|
32159
|
+
--rb-modal-text: var(--cp-text);
|
|
32160
|
+
--rb-modal-heading: var(--cp-text);
|
|
32161
|
+
--rb-modal-link: var(--cp-primary);
|
|
32162
|
+
--rb-modal-supporting: var(--cp-muted);
|
|
31819
32163
|
--rb-modal-border: var(--cp-card-border);
|
|
31820
32164
|
--rb-modal-shadow: var(--shadow-lg, var(--shadow-elev));
|
|
31821
32165
|
--rb-modal-radius: var(--cp-card-radius);
|
|
@@ -32530,6 +32874,7 @@ function buildThemeCssVars(theme) {
|
|
|
32530
32874
|
const inputSystem = resolveThemeInputSystem(theme);
|
|
32531
32875
|
const blockRadius = mapBlockRadius(theme.corners);
|
|
32532
32876
|
const buttonRadius = mapButtonRadius(theme.corners);
|
|
32877
|
+
const panelRadius = mapPanelRadius(theme.corners);
|
|
32533
32878
|
const inputRadius = mapInputRadius(inputSystem.base.corners, theme.corners);
|
|
32534
32879
|
return {
|
|
32535
32880
|
...generateCssVars(theme.palette),
|
|
@@ -32538,6 +32883,7 @@ function buildThemeCssVars(theme) {
|
|
|
32538
32883
|
...generateShadowCssVars(theme),
|
|
32539
32884
|
["--font-heading"]: formatFontFamily(typography.headings.default.family),
|
|
32540
32885
|
["--font-body"]: formatFontFamily(typography.body.family),
|
|
32886
|
+
["--font-eyebrow"]: typography.eyebrow?.family ? formatFontFamily(typography.eyebrow.family) : "var(--font-body)",
|
|
32541
32887
|
["--font-weight-heading"]: mapWeight(typography.headings.default.weight),
|
|
32542
32888
|
["--font-weight-body"]: mapWeight(typography.body.weight),
|
|
32543
32889
|
...typography.headings.h1.weight ? { ["--fw-h1"]: mapWeight(typography.headings.h1.weight) } : {},
|
|
@@ -32588,12 +32934,13 @@ function buildThemeCssVars(theme) {
|
|
|
32588
32934
|
["--fs-h3-fluid"]: sized.h3Fluid,
|
|
32589
32935
|
["--fs-h1-display"]: sized.h1Display,
|
|
32590
32936
|
["--fs-h1-display-fluid"]: sized.h1DisplayFluid,
|
|
32591
|
-
["--shadow-elev"]: mapShadow(shadow.elevation, shadow.softness, shadow.position || "bottom"),
|
|
32937
|
+
["--shadow-elev"]: mapShadow(shadow.elevation, shadow.softness, shadow.position || "bottom", shadow.colorToken),
|
|
32592
32938
|
["--space-mult"]: mapSpaceMult(space),
|
|
32593
32939
|
["--motion-duration"]: mapMotionDuration(motion.level),
|
|
32594
32940
|
["--motion-ease"]: mapMotionEasing(motion.easing ?? "standard"),
|
|
32595
32941
|
["--rt-space-y"]: mapRhythm(space),
|
|
32596
32942
|
[THEME_RADIUS_CSS_VARS.block]: blockRadius,
|
|
32943
|
+
[THEME_RADIUS_CSS_VARS.panel]: panelRadius,
|
|
32597
32944
|
["--rb-block-transition"]: mapBlockTransition(motion.level),
|
|
32598
32945
|
[THEME_RADIUS_CSS_VARS.button]: buttonRadius,
|
|
32599
32946
|
["--rb-border-width"]: mapBorderWidth(border.width),
|
|
@@ -32647,20 +32994,22 @@ function mapWeight(w) {
|
|
|
32647
32994
|
bold: 700
|
|
32648
32995
|
}[w];
|
|
32649
32996
|
}
|
|
32650
|
-
function mapShadow(level, softness, position = "bottom") {
|
|
32997
|
+
function mapShadow(level, softness, position = "bottom", colorToken) {
|
|
32651
32998
|
if (level === "none") return "none";
|
|
32999
|
+
const tintVar = colorToken ? cssVarValue(colorToken) : null;
|
|
33000
|
+
const shadowColor = (a) => tintVar ? `rgb(${tintVar} / ${a})` : `rgba(0,0,0,${a})`;
|
|
32652
33001
|
const offset = {
|
|
32653
33002
|
low: 2,
|
|
32654
33003
|
medium: 4,
|
|
32655
33004
|
high: 6
|
|
32656
33005
|
}[level];
|
|
32657
33006
|
const xOffset = position === "bottom-right" ? offset : 0;
|
|
32658
|
-
if (softness === "hard") return `${xOffset}px ${offset}px 0 0
|
|
33007
|
+
if (softness === "hard") return `${xOffset}px ${offset}px 0 0 ${shadowColor("1")}`;
|
|
32659
33008
|
const soft = softness !== "crisp";
|
|
32660
33009
|
switch (level) {
|
|
32661
|
-
case "low": return soft ? `${xOffset}px 1px 2px
|
|
32662
|
-
case "medium": return soft ? `${xOffset}px 10px 20px
|
|
32663
|
-
case "high": return soft ? `${xOffset}px 25px 50px
|
|
33010
|
+
case "low": return soft ? `${xOffset}px 1px 2px ${shadowColor(".06")}` : `${xOffset}px 1px 1px ${shadowColor(".12")}`;
|
|
33011
|
+
case "medium": return soft ? `${xOffset}px 10px 20px ${shadowColor(".08")}` : `${xOffset}px 6px 12px ${shadowColor(".16")}`;
|
|
33012
|
+
case "high": return soft ? `${xOffset}px 25px 50px ${shadowColor(".18")}` : `${xOffset}px 20px 30px ${shadowColor(".28")}`;
|
|
32664
33013
|
}
|
|
32665
33014
|
}
|
|
32666
33015
|
function mapSpaceMult(space) {
|
|
@@ -32707,6 +33056,21 @@ function mapBlockRadius(corners) {
|
|
|
32707
33056
|
}[corners];
|
|
32708
33057
|
}
|
|
32709
33058
|
/**
|
|
33059
|
+
* Map corner style to large-panel radius CSS value (Tier 2 `--rb-panel-radius`).
|
|
33060
|
+
* Derived from the same `corners` enum, one step more generous than the
|
|
33061
|
+
* block/card radius so large surfaces can carry a softer corner without a new
|
|
33062
|
+
* schema field. `rounded` lands on 20px (1.25rem), matching the physio mockup's
|
|
33063
|
+
* large-panel radius.
|
|
33064
|
+
*/
|
|
33065
|
+
function mapPanelRadius(corners) {
|
|
33066
|
+
return {
|
|
33067
|
+
square: "0",
|
|
33068
|
+
soft: "0.75rem",
|
|
33069
|
+
rounded: "1.25rem",
|
|
33070
|
+
pill: "2rem"
|
|
33071
|
+
}[corners];
|
|
33072
|
+
}
|
|
33073
|
+
/**
|
|
32710
33074
|
* Map motion level to block transition duration.
|
|
32711
33075
|
* These are Tier 2 vars used consistently across blocks.
|
|
32712
33076
|
*/
|
|
@@ -33703,8 +34067,12 @@ const containerResponsiveThemeCss = `/*
|
|
|
33703
34067
|
text-transform: uppercase;
|
|
33704
34068
|
}
|
|
33705
34069
|
|
|
33706
|
-
/* Eyebrow text - small uppercase labels for section introductions
|
|
34070
|
+
/* Eyebrow text - small uppercase labels for section introductions.
|
|
34071
|
+
font-family resolves to the optional eyebrow/mono font role, falling back
|
|
34072
|
+
to the body font when the theme sets none (so existing themes are
|
|
34073
|
+
unchanged). */
|
|
33707
34074
|
.rb-eyebrow {
|
|
34075
|
+
font-family: var(--font-eyebrow, var(--font-body));
|
|
33708
34076
|
font-size: 0.875rem;
|
|
33709
34077
|
font-weight: 600;
|
|
33710
34078
|
letter-spacing: 0.025em;
|
|
@@ -33719,11 +34087,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
33719
34087
|
width: fit-content;
|
|
33720
34088
|
align-items: center;
|
|
33721
34089
|
justify-content: center;
|
|
33722
|
-
border: 1px solid color-mix(in srgb, var(--
|
|
34090
|
+
border: 1px solid color-mix(in srgb, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))) 46%, transparent);
|
|
33723
34091
|
border-radius: 9999px;
|
|
33724
|
-
background: color-mix(in srgb, var(--
|
|
34092
|
+
background: color-mix(in srgb, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))) 14%, transparent);
|
|
33725
34093
|
padding: 0.5rem 1rem;
|
|
33726
|
-
color: var(--
|
|
34094
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
33727
34095
|
line-height: 1;
|
|
33728
34096
|
}
|
|
33729
34097
|
.rb-eyebrow-treatment-pill.rb-eyebrow-treatment-accent {
|
|
@@ -34225,6 +34593,58 @@ const containerResponsiveThemeCss = `/*
|
|
|
34225
34593
|
}
|
|
34226
34594
|
}
|
|
34227
34595
|
|
|
34596
|
+
}
|
|
34597
|
+
|
|
34598
|
+
/*
|
|
34599
|
+
* Responsive fractional grid tracks (rb-grid-tracks).
|
|
34600
|
+
*
|
|
34601
|
+
* Asymmetric AND responsive grid-template-columns, driven by inline custom
|
|
34602
|
+
* properties the Grid primitive sets per breakpoint from string track
|
|
34603
|
+
* templates:
|
|
34604
|
+
* --rb-gtc-base / --rb-gtc-sm / --rb-gtc-md / --rb-gtc-lg / --rb-gtc-xl
|
|
34605
|
+
* Each breakpoint falls back to the next smaller one, so only the breakpoints
|
|
34606
|
+
* an author actually sets take effect (e.g. base '1fr' + lg '1fr 0.9fr'
|
|
34607
|
+
* collapses to a single column below lg). Authored here (not per node) so the
|
|
34608
|
+
* @media -> @container conversion (container responsive mode) applies too.
|
|
34609
|
+
*/
|
|
34610
|
+
.rb-grid-tracks {
|
|
34611
|
+
grid-template-columns: var(--rb-gtc-base, 1fr);
|
|
34612
|
+
}
|
|
34613
|
+
@container rb-site (min-width: 640px) {
|
|
34614
|
+
|
|
34615
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
34616
|
+
.rb-grid-tracks {
|
|
34617
|
+
grid-template-columns: var(--rb-gtc-sm, var(--rb-gtc-base, 1fr));
|
|
34618
|
+
}
|
|
34619
|
+
}
|
|
34620
|
+
|
|
34621
|
+
}
|
|
34622
|
+
@container rb-site (min-width: 768px) {
|
|
34623
|
+
|
|
34624
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
34625
|
+
.rb-grid-tracks {
|
|
34626
|
+
grid-template-columns: var(--rb-gtc-md, var(--rb-gtc-sm, var(--rb-gtc-base, 1fr)));
|
|
34627
|
+
}
|
|
34628
|
+
}
|
|
34629
|
+
|
|
34630
|
+
}
|
|
34631
|
+
@container rb-site (min-width: 1024px) {
|
|
34632
|
+
|
|
34633
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
34634
|
+
.rb-grid-tracks {
|
|
34635
|
+
grid-template-columns: var(--rb-gtc-lg, var(--rb-gtc-md, var(--rb-gtc-sm, var(--rb-gtc-base, 1fr))));
|
|
34636
|
+
}
|
|
34637
|
+
}
|
|
34638
|
+
|
|
34639
|
+
}
|
|
34640
|
+
@container rb-site (min-width: 1280px) {
|
|
34641
|
+
|
|
34642
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
34643
|
+
.rb-grid-tracks {
|
|
34644
|
+
grid-template-columns: var(--rb-gtc-xl, var(--rb-gtc-lg, var(--rb-gtc-md, var(--rb-gtc-sm, var(--rb-gtc-base, 1fr)))));
|
|
34645
|
+
}
|
|
34646
|
+
}
|
|
34647
|
+
|
|
34228
34648
|
}
|
|
34229
34649
|
|
|
34230
34650
|
/* Alignment */
|
|
@@ -35429,6 +35849,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
35429
35849
|
:where(.theme-scope) .rb-modal {
|
|
35430
35850
|
width: min(var(--rb-modal-max-width, 560px), 100%);
|
|
35431
35851
|
background: var(--rb-modal-bg, rgb(var(--tb-surface)));
|
|
35852
|
+
color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
|
|
35853
|
+
--rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
|
|
35854
|
+
--rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
35855
|
+
--rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
35856
|
+
--rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
|
|
35432
35857
|
border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
|
|
35433
35858
|
border-radius: var(--rb-modal-radius, var(--radius-card));
|
|
35434
35859
|
box-shadow: var(--rb-modal-shadow, var(--shadow-lg, var(--shadow-elev)));
|
|
@@ -35448,7 +35873,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35448
35873
|
font-family: var(--font-heading);
|
|
35449
35874
|
font-size: 1.0625rem;
|
|
35450
35875
|
font-weight: 600;
|
|
35451
|
-
color: rgb(var(--tb-text));
|
|
35876
|
+
color: var(--rb-surface-heading-color, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))));
|
|
35452
35877
|
}
|
|
35453
35878
|
|
|
35454
35879
|
:where(.theme-scope) .rb-modal__close {
|
|
@@ -35458,7 +35883,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35458
35883
|
height: 2.25rem;
|
|
35459
35884
|
padding: 0;
|
|
35460
35885
|
line-height: 1;
|
|
35461
|
-
color: rgb(var(--tb-mutedText));
|
|
35886
|
+
color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-mutedText, 100 116 139))));
|
|
35462
35887
|
cursor: pointer;
|
|
35463
35888
|
display: grid;
|
|
35464
35889
|
place-items: center;
|
|
@@ -35466,7 +35891,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35466
35891
|
}
|
|
35467
35892
|
|
|
35468
35893
|
:where(.theme-scope) .rb-modal__close:hover {
|
|
35469
|
-
color: rgb(var(--tb-text));
|
|
35894
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
35470
35895
|
background: rgba(var(--tb-border), 0.2);
|
|
35471
35896
|
}
|
|
35472
35897
|
|
|
@@ -35477,7 +35902,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35477
35902
|
|
|
35478
35903
|
:where(.theme-scope) .rb-modal__body {
|
|
35479
35904
|
padding: 0.875rem 1rem 1rem;
|
|
35480
|
-
color: rgb(var(--tb-text));
|
|
35905
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
35481
35906
|
font-size: 0.9375rem;
|
|
35482
35907
|
line-height: 1.45;
|
|
35483
35908
|
}
|
|
@@ -35637,7 +36062,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35637
36062
|
& h6 {
|
|
35638
36063
|
font-family: var(--font-heading);
|
|
35639
36064
|
/* Color is set by generateTypographyCss.ts with full cascade:
|
|
35640
|
-
--
|
|
36065
|
+
--rb-surface-heading-color -> --rb-surface-text-color -> --hc-hN -> --hc-heading -> global text */
|
|
35641
36066
|
font-weight: var(--font-weight-heading);
|
|
35642
36067
|
text-transform: var(--tt-heading);
|
|
35643
36068
|
font-variant-caps: var(--fv-heading);
|
|
@@ -35785,7 +36210,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35785
36210
|
|
|
35786
36211
|
/* Neutral prose uses theme text color by default */
|
|
35787
36212
|
:where(.theme-scope) .rb-prose-neutral {
|
|
35788
|
-
color: var(--
|
|
36213
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
35789
36214
|
}
|
|
35790
36215
|
|
|
35791
36216
|
:where(.theme-scope) .rb-prose p,
|
|
@@ -35819,8 +36244,14 @@ const containerResponsiveThemeCss = `/*
|
|
|
35819
36244
|
|
|
35820
36245
|
:where(.theme-scope) .rb-prose a {
|
|
35821
36246
|
--rb-prose-effective-link-color: var(
|
|
35822
|
-
--
|
|
35823
|
-
var(
|
|
36247
|
+
--rb-surface-link-color,
|
|
36248
|
+
var(
|
|
36249
|
+
--rb-surface-text-color,
|
|
36250
|
+
var(
|
|
36251
|
+
--rb-prose-link-color,
|
|
36252
|
+
rgb(var(--tb-primary, var(--tb-text, 17 24 39)))
|
|
36253
|
+
)
|
|
36254
|
+
)
|
|
35824
36255
|
);
|
|
35825
36256
|
color: var(--rb-prose-effective-link-color);
|
|
35826
36257
|
text-decoration-line: var(--rb-prose-link-decoration-line, underline);
|
|
@@ -35831,14 +36262,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
35831
36262
|
);
|
|
35832
36263
|
text-underline-offset: var(--rb-prose-link-underline-offset, 0.14em);
|
|
35833
36264
|
text-decoration-color: var(
|
|
35834
|
-
--
|
|
35835
|
-
|
|
35836
|
-
|
|
35837
|
-
color
|
|
35838
|
-
|
|
35839
|
-
var(--rb-prose-effective-link-color) 35%,
|
|
35840
|
-
transparent
|
|
35841
|
-
)
|
|
36265
|
+
--rb-prose-link-decoration-color,
|
|
36266
|
+
color-mix(
|
|
36267
|
+
in srgb,
|
|
36268
|
+
var(--rb-prose-effective-link-color) 35%,
|
|
36269
|
+
transparent
|
|
35842
36270
|
)
|
|
35843
36271
|
);
|
|
35844
36272
|
transition:
|
|
@@ -35862,7 +36290,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
35862
36290
|
|
|
35863
36291
|
:where(.theme-scope) .rb-prose blockquote {
|
|
35864
36292
|
/* Blockquotes use muted text color */
|
|
35865
|
-
color: var(--
|
|
36293
|
+
color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-mutedText, 100 116 139))));
|
|
35866
36294
|
border-left-color: rgb(var(--tb-border));
|
|
35867
36295
|
}
|
|
35868
36296
|
|
|
@@ -36896,6 +37324,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
36896
37324
|
:where(.theme-scope) .card-surface {
|
|
36897
37325
|
background: rgb(var(--tb-surface));
|
|
36898
37326
|
color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
37327
|
+
--rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
37328
|
+
--rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
37329
|
+
--rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
37330
|
+
--rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
36899
37331
|
border: 1px solid rgb(var(--tb-border));
|
|
36900
37332
|
border-radius: var(--radius-card);
|
|
36901
37333
|
box-shadow: var(--shadow-elev);
|
|
@@ -37039,6 +37471,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
37039
37471
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
37040
37472
|
background: var(--rb-reg-surface-bg, rgb(var(--tb-surface, 248 250 252)));
|
|
37041
37473
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
37474
|
+
--rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
37475
|
+
--rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
37476
|
+
--rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
37477
|
+
--rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
|
|
37042
37478
|
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
37043
37479
|
width: 100%;
|
|
37044
37480
|
max-width: 800px;
|
|
@@ -40126,6 +40562,350 @@ const containerResponsiveThemeCss = `/*
|
|
|
40126
40562
|
}
|
|
40127
40563
|
}
|
|
40128
40564
|
|
|
40565
|
+
/* -----------------------------------------------------------------------------
|
|
40566
|
+
* Week Board View
|
|
40567
|
+
* Compact "class day-board": day columns side by side, one card per class,
|
|
40568
|
+
* three-state availability (available / filling / waitlist), and a footer CTA.
|
|
40569
|
+
* ----------------------------------------------------------------------------- */
|
|
40570
|
+
|
|
40571
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board {
|
|
40572
|
+
/* Status accent tokens — map the three availability states onto theme colours.
|
|
40573
|
+
* available -> secondary, filling -> accent, waitlist -> muted text. */
|
|
40574
|
+
--ec-status-available: rgb(var(--tb-secondary));
|
|
40575
|
+
--ec-status-filling: rgb(var(--tb-accent));
|
|
40576
|
+
--ec-status-waitlist: rgba(var(--tb-text), 0.4);
|
|
40577
|
+
--event-week-board-cols: 7;
|
|
40578
|
+
|
|
40579
|
+
border: 1px solid var(--ec-border);
|
|
40580
|
+
border-radius: var(--rb-block-radius);
|
|
40581
|
+
background-color: var(--ec-surface);
|
|
40582
|
+
color: var(--ec-text);
|
|
40583
|
+
overflow: hidden;
|
|
40584
|
+
box-shadow: 0 14px 34px -24px rgba(var(--tb-text), 0.35);
|
|
40585
|
+
}
|
|
40586
|
+
|
|
40587
|
+
/* Top bar: title + legend */
|
|
40588
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-top {
|
|
40589
|
+
display: flex;
|
|
40590
|
+
align-items: center;
|
|
40591
|
+
justify-content: space-between;
|
|
40592
|
+
gap: 1rem;
|
|
40593
|
+
flex-wrap: wrap;
|
|
40594
|
+
padding: 1.1rem 1.5rem;
|
|
40595
|
+
background-color: var(--ec-header-bg);
|
|
40596
|
+
border-bottom: 1px solid var(--ec-border-subtle);
|
|
40597
|
+
}
|
|
40598
|
+
|
|
40599
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-title {
|
|
40600
|
+
font-size: 0.8125rem;
|
|
40601
|
+
font-weight: 600;
|
|
40602
|
+
letter-spacing: 0.12em;
|
|
40603
|
+
text-transform: uppercase;
|
|
40604
|
+
color: rgb(var(--tb-primary));
|
|
40605
|
+
}
|
|
40606
|
+
|
|
40607
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend {
|
|
40608
|
+
display: flex;
|
|
40609
|
+
align-items: center;
|
|
40610
|
+
gap: 1.1rem;
|
|
40611
|
+
flex-wrap: wrap;
|
|
40612
|
+
font-size: 0.6875rem;
|
|
40613
|
+
letter-spacing: 0.03em;
|
|
40614
|
+
opacity: 0.75;
|
|
40615
|
+
}
|
|
40616
|
+
|
|
40617
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend-item {
|
|
40618
|
+
display: inline-flex;
|
|
40619
|
+
align-items: center;
|
|
40620
|
+
gap: 0.4rem;
|
|
40621
|
+
}
|
|
40622
|
+
|
|
40623
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend-dot {
|
|
40624
|
+
width: 0.55rem;
|
|
40625
|
+
height: 0.55rem;
|
|
40626
|
+
border-radius: 50%;
|
|
40627
|
+
display: inline-block;
|
|
40628
|
+
}
|
|
40629
|
+
|
|
40630
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend-dot[data-status="available"] {
|
|
40631
|
+
background-color: var(--ec-status-available);
|
|
40632
|
+
}
|
|
40633
|
+
|
|
40634
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend-dot[data-status="filling"] {
|
|
40635
|
+
background-color: var(--ec-status-filling);
|
|
40636
|
+
}
|
|
40637
|
+
|
|
40638
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend-dot[data-status="waitlist"] {
|
|
40639
|
+
background-color: var(--ec-status-waitlist);
|
|
40640
|
+
}
|
|
40641
|
+
|
|
40642
|
+
/* Day columns grid */
|
|
40643
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-grid {
|
|
40644
|
+
display: grid;
|
|
40645
|
+
grid-template-columns: repeat(var(--event-week-board-cols), minmax(0, 1fr));
|
|
40646
|
+
}
|
|
40647
|
+
|
|
40648
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day {
|
|
40649
|
+
display: flex;
|
|
40650
|
+
flex-direction: column;
|
|
40651
|
+
min-height: 15rem;
|
|
40652
|
+
/* Tabular column rule. Driven by the theme border tokens so borderless site
|
|
40653
|
+
* styles (border.width: 'none' -> --rb-border-width: 0) render no grid at all,
|
|
40654
|
+
* while hairline/thin/thick themes get a crisp full-strength divider. */
|
|
40655
|
+
border-right: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
40656
|
+
}
|
|
40657
|
+
|
|
40658
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day:last-child {
|
|
40659
|
+
border-right: none;
|
|
40660
|
+
}
|
|
40661
|
+
|
|
40662
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-head {
|
|
40663
|
+
display: flex;
|
|
40664
|
+
align-items: baseline;
|
|
40665
|
+
gap: 0.4rem;
|
|
40666
|
+
padding: 0.9rem 0.9rem 0.65rem;
|
|
40667
|
+
/* Header-row underline — same border-token gating as the column rules. */
|
|
40668
|
+
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
40669
|
+
}
|
|
40670
|
+
|
|
40671
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day--today .event-week-board-day-head {
|
|
40672
|
+
background-color: var(--ec-today-bg);
|
|
40673
|
+
}
|
|
40674
|
+
|
|
40675
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-abbr {
|
|
40676
|
+
font-size: 0.6875rem;
|
|
40677
|
+
font-weight: 600;
|
|
40678
|
+
letter-spacing: 0.1em;
|
|
40679
|
+
text-transform: uppercase;
|
|
40680
|
+
opacity: 0.65;
|
|
40681
|
+
}
|
|
40682
|
+
|
|
40683
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day--today .event-week-board-day-abbr {
|
|
40684
|
+
opacity: 1;
|
|
40685
|
+
color: var(--ec-today-text);
|
|
40686
|
+
}
|
|
40687
|
+
|
|
40688
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-num {
|
|
40689
|
+
font-size: 0.8125rem;
|
|
40690
|
+
font-weight: 600;
|
|
40691
|
+
opacity: 0.5;
|
|
40692
|
+
}
|
|
40693
|
+
|
|
40694
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-body {
|
|
40695
|
+
display: flex;
|
|
40696
|
+
flex-direction: column;
|
|
40697
|
+
gap: 0.65rem;
|
|
40698
|
+
padding: 0.9rem;
|
|
40699
|
+
flex: 1;
|
|
40700
|
+
}
|
|
40701
|
+
|
|
40702
|
+
/* Class card */
|
|
40703
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card {
|
|
40704
|
+
display: flex;
|
|
40705
|
+
flex-direction: column;
|
|
40706
|
+
gap: 0.45rem;
|
|
40707
|
+
padding: 0.8rem 0.85rem;
|
|
40708
|
+
border: 1px solid var(--ec-border-subtle);
|
|
40709
|
+
border-left: 3px solid var(--ec-status-available);
|
|
40710
|
+
border-radius: calc(var(--rb-block-radius) / 1.5);
|
|
40711
|
+
background-color: var(--ec-surface);
|
|
40712
|
+
color: inherit;
|
|
40713
|
+
text-decoration: none;
|
|
40714
|
+
transition:
|
|
40715
|
+
transform var(--rb-block-transition) ease,
|
|
40716
|
+
box-shadow var(--rb-block-transition) ease,
|
|
40717
|
+
border-color var(--rb-block-transition) ease;
|
|
40718
|
+
}
|
|
40719
|
+
|
|
40720
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card[data-status="filling"] {
|
|
40721
|
+
border-left-color: var(--ec-status-filling);
|
|
40722
|
+
}
|
|
40723
|
+
|
|
40724
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card[data-status="waitlist"] {
|
|
40725
|
+
border-left-color: var(--ec-status-waitlist);
|
|
40726
|
+
}
|
|
40727
|
+
|
|
40728
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card:hover {
|
|
40729
|
+
transform: translateY(-2px);
|
|
40730
|
+
box-shadow: 0 6px 16px -8px rgba(var(--tb-text), 0.28);
|
|
40731
|
+
border-color: rgba(var(--tb-primary), 0.4);
|
|
40732
|
+
}
|
|
40733
|
+
|
|
40734
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card:focus-visible {
|
|
40735
|
+
outline: 2px solid rgb(var(--tb-primary));
|
|
40736
|
+
outline-offset: 2px;
|
|
40737
|
+
}
|
|
40738
|
+
|
|
40739
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card-title {
|
|
40740
|
+
font-family: var(--font-heading, inherit);
|
|
40741
|
+
font-size: 0.9375rem;
|
|
40742
|
+
font-weight: 600;
|
|
40743
|
+
line-height: 1.2;
|
|
40744
|
+
}
|
|
40745
|
+
|
|
40746
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card-time {
|
|
40747
|
+
font-size: 0.75rem;
|
|
40748
|
+
letter-spacing: 0.01em;
|
|
40749
|
+
opacity: 0.7;
|
|
40750
|
+
}
|
|
40751
|
+
|
|
40752
|
+
/* Capacity pill */
|
|
40753
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card-pill {
|
|
40754
|
+
align-self: flex-start;
|
|
40755
|
+
display: inline-flex;
|
|
40756
|
+
align-items: center;
|
|
40757
|
+
padding: 0.15rem 0.6rem;
|
|
40758
|
+
border-radius: 999px;
|
|
40759
|
+
font-size: 0.6875rem;
|
|
40760
|
+
font-weight: 600;
|
|
40761
|
+
letter-spacing: 0.02em;
|
|
40762
|
+
/* Available (default): a calm neutral/muted pill — not a coloured outline.
|
|
40763
|
+
* Filling -> amber and waitlist -> muted outline are handled by the
|
|
40764
|
+
* data-status overrides below. */
|
|
40765
|
+
border: 1px solid var(--ec-border);
|
|
40766
|
+
background-color: rgba(var(--tb-text), 0.06);
|
|
40767
|
+
color: rgba(var(--tb-text), 0.62);
|
|
40768
|
+
border-color: var(--ec-border);
|
|
40769
|
+
}
|
|
40770
|
+
|
|
40771
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card-pill[data-status="filling"] {
|
|
40772
|
+
background-color: rgba(var(--tb-accent), 0.14);
|
|
40773
|
+
color: var(--ec-status-filling);
|
|
40774
|
+
border-color: rgba(var(--tb-accent), 0.32);
|
|
40775
|
+
}
|
|
40776
|
+
|
|
40777
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card-pill[data-status="waitlist"] {
|
|
40778
|
+
background-color: transparent;
|
|
40779
|
+
color: rgba(var(--tb-text), 0.6);
|
|
40780
|
+
border-color: var(--ec-border);
|
|
40781
|
+
}
|
|
40782
|
+
|
|
40783
|
+
/* Footer */
|
|
40784
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-foot {
|
|
40785
|
+
display: flex;
|
|
40786
|
+
align-items: center;
|
|
40787
|
+
justify-content: space-between;
|
|
40788
|
+
gap: 1rem;
|
|
40789
|
+
flex-wrap: wrap;
|
|
40790
|
+
padding: 1.1rem 1.5rem;
|
|
40791
|
+
background-color: var(--ec-header-bg);
|
|
40792
|
+
border-top: 1px solid var(--ec-border-subtle);
|
|
40793
|
+
}
|
|
40794
|
+
|
|
40795
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-foot-note {
|
|
40796
|
+
margin: 0;
|
|
40797
|
+
font-size: 0.875rem;
|
|
40798
|
+
opacity: 0.75;
|
|
40799
|
+
}
|
|
40800
|
+
|
|
40801
|
+
/* Responsive: collapse day columns to a stacked list on narrow viewports */
|
|
40802
|
+
@container rb-site (max-width: 1023px) {
|
|
40803
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
40804
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-grid {
|
|
40805
|
+
grid-template-columns: 1fr;
|
|
40806
|
+
}
|
|
40807
|
+
|
|
40808
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day {
|
|
40809
|
+
min-height: 0;
|
|
40810
|
+
border-right: none;
|
|
40811
|
+
border-bottom: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
40812
|
+
}
|
|
40813
|
+
|
|
40814
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day:last-child {
|
|
40815
|
+
border-bottom: none;
|
|
40816
|
+
}
|
|
40817
|
+
|
|
40818
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day--empty {
|
|
40819
|
+
display: none;
|
|
40820
|
+
}
|
|
40821
|
+
|
|
40822
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-head {
|
|
40823
|
+
border-bottom: none;
|
|
40824
|
+
padding-bottom: 0.25rem;
|
|
40825
|
+
}
|
|
40826
|
+
|
|
40827
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-day-body {
|
|
40828
|
+
flex-direction: row;
|
|
40829
|
+
flex-wrap: wrap;
|
|
40830
|
+
padding-top: 0.35rem;
|
|
40831
|
+
}
|
|
40832
|
+
|
|
40833
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card {
|
|
40834
|
+
flex: 1 1 14rem;
|
|
40835
|
+
}
|
|
40836
|
+
}
|
|
40837
|
+
}
|
|
40838
|
+
|
|
40839
|
+
@container rb-site (max-width: 639px) {
|
|
40840
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
40841
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-legend {
|
|
40842
|
+
display: none;
|
|
40843
|
+
}
|
|
40844
|
+
|
|
40845
|
+
:where(.theme-scope) :where([data-block="event-calendar"]) .event-week-board-card {
|
|
40846
|
+
flex: 1 1 100%;
|
|
40847
|
+
}
|
|
40848
|
+
}
|
|
40849
|
+
}
|
|
40850
|
+
|
|
40851
|
+
/* -----------------------------------------------------------------------------
|
|
40852
|
+
* Week-board section band
|
|
40853
|
+
* Give the whole week-board section (head + panel) a subtle surface band so it
|
|
40854
|
+
* reads as a distinct zone from the page — the "testimonials band" pattern.
|
|
40855
|
+
* Painted as a pseudo-element above the section's fallback background layer
|
|
40856
|
+
* (z-index -10) but behind the content, so no block-content wiring is needed.
|
|
40857
|
+
* Surface + hairline rules are token-referenced: on a borderless site style
|
|
40858
|
+
* (--rb-border-width: 0) the band keeps its surface tint but drops the rules.
|
|
40859
|
+
* ----------------------------------------------------------------------------- */
|
|
40860
|
+
:where(.theme-scope) [data-slot="section"]:has(.event-calendar--week-board)::before {
|
|
40861
|
+
content: "";
|
|
40862
|
+
position: absolute;
|
|
40863
|
+
inset: 0;
|
|
40864
|
+
z-index: -9;
|
|
40865
|
+
background-color: rgb(var(--tb-surfaceAlt));
|
|
40866
|
+
border-block: var(--rb-border-width, 1px) solid rgb(var(--tb-border));
|
|
40867
|
+
pointer-events: none;
|
|
40868
|
+
}
|
|
40869
|
+
|
|
40870
|
+
/* -----------------------------------------------------------------------------
|
|
40871
|
+
* Event section head — split (heading left, intro right)
|
|
40872
|
+
* Rendered by the block frame (outside [data-block="event-calendar"]) via
|
|
40873
|
+
* eventSectionHeaderLayoutNodes({ splitClassName }). Lays the heading and its
|
|
40874
|
+
* supporting intro out as a two-column head on wide viewports, stacking on
|
|
40875
|
+
* narrow ones. The section band above provides the distinct background.
|
|
40876
|
+
* ----------------------------------------------------------------------------- */
|
|
40877
|
+
:where(.theme-scope) .event-section-head--split {
|
|
40878
|
+
display: flex;
|
|
40879
|
+
align-items: flex-end;
|
|
40880
|
+
justify-content: space-between;
|
|
40881
|
+
gap: clamp(1.5rem, 4vw, 3.5rem);
|
|
40882
|
+
flex-wrap: wrap;
|
|
40883
|
+
}
|
|
40884
|
+
|
|
40885
|
+
:where(.theme-scope) .event-section-head--split > :where(h1, h2, h3) {
|
|
40886
|
+
margin: 0;
|
|
40887
|
+
}
|
|
40888
|
+
|
|
40889
|
+
:where(.theme-scope) .event-section-head--split > .rb-prose {
|
|
40890
|
+
flex: 1 1 22rem;
|
|
40891
|
+
max-width: 34rem;
|
|
40892
|
+
margin: 0;
|
|
40893
|
+
}
|
|
40894
|
+
|
|
40895
|
+
@container rb-site (max-width: 767px) {
|
|
40896
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
40897
|
+
:where(.theme-scope) .event-section-head--split {
|
|
40898
|
+
flex-direction: column;
|
|
40899
|
+
align-items: flex-start;
|
|
40900
|
+
gap: 0.75rem;
|
|
40901
|
+
}
|
|
40902
|
+
|
|
40903
|
+
:where(.theme-scope) .event-section-head--split > .rb-prose {
|
|
40904
|
+
flex-basis: auto;
|
|
40905
|
+
}
|
|
40906
|
+
}
|
|
40907
|
+
}
|
|
40908
|
+
|
|
40129
40909
|
/* -----------------------------------------------------------------------------
|
|
40130
40910
|
* Event Calendar Modals
|
|
40131
40911
|
* Modal overlays for event details and day events list
|
|
@@ -40553,7 +41333,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40553
41333
|
}
|
|
40554
41334
|
|
|
40555
41335
|
:where(.theme-scope) .rb-inline-text-accent-contrast {
|
|
40556
|
-
color: var(--
|
|
41336
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
40557
41337
|
}
|
|
40558
41338
|
|
|
40559
41339
|
:where(.theme-scope) .rb-inline-text-highlight {
|
|
@@ -40564,7 +41344,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40564
41344
|
}
|
|
40565
41345
|
|
|
40566
41346
|
:where(.theme-scope) .rb-inline-text-highlight-soft {
|
|
40567
|
-
background: color-mix(in oklab, var(--
|
|
41347
|
+
background: color-mix(in oklab, var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39))) 14%, transparent);
|
|
40568
41348
|
}
|
|
40569
41349
|
|
|
40570
41350
|
:where(.theme-scope) .rb-inline-text-highlight-accent {
|
|
@@ -40583,7 +41363,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40583
41363
|
|
|
40584
41364
|
/* Eyebrow - color only (typography via .rb-eyebrow) */
|
|
40585
41365
|
:where(.theme-scope) :where([data-block="hero"]) .hero-eyebrow:not(.rb-eyebrow-treatment-accent) {
|
|
40586
|
-
color: var(--
|
|
41366
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
40587
41367
|
}
|
|
40588
41368
|
|
|
40589
41369
|
/* Subheadline - supporting text below headline */
|
|
@@ -40593,7 +41373,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40593
41373
|
|
|
40594
41374
|
:where(.theme-scope) :where([data-block="hero"]) .hero-subheadline {
|
|
40595
41375
|
font-size: 1.125rem;
|
|
40596
|
-
color: var(--
|
|
41376
|
+
color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-mutedText, 100 116 139))));
|
|
40597
41377
|
}
|
|
40598
41378
|
|
|
40599
41379
|
@container rb-site (min-width: 640px) {
|
|
@@ -40684,7 +41464,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40684
41464
|
|
|
40685
41465
|
/* CTA content/body text */
|
|
40686
41466
|
:where(.theme-scope) :where([data-block="cta-full"]) .cta-content {
|
|
40687
|
-
color: var(--
|
|
41467
|
+
color: var(--rb-surface-supporting-color, var(--rb-surface-text-color, rgb(var(--tb-mutedText, 100 116 139))));
|
|
40688
41468
|
}
|
|
40689
41469
|
|
|
40690
41470
|
/* CTA button row container */
|
|
@@ -40784,7 +41564,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
40784
41564
|
/* Form intro text */
|
|
40785
41565
|
:where(.theme-scope) :where([data-block="form"]) .form-copy-intro {
|
|
40786
41566
|
font-size: 1rem;
|
|
40787
|
-
color: var(--
|
|
41567
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
40788
41568
|
}
|
|
40789
41569
|
|
|
40790
41570
|
/* =============================================================================
|
|
@@ -41143,6 +41923,10 @@ const containerResponsiveThemeCss = `/*
|
|
|
41143
41923
|
--rb-modal-overlay-bg: rgb(var(--tb-text, 0 0 0) / 0.6);
|
|
41144
41924
|
--rb-modal-shadow: var(--shadow-lg, var(--shadow-elev));
|
|
41145
41925
|
--rb-modal-z-index: 20000;
|
|
41926
|
+
--rb-modal-text: rgb(var(--tb-text, 17 24 39));
|
|
41927
|
+
--rb-modal-heading: rgb(var(--tb-text, 17 24 39));
|
|
41928
|
+
--rb-modal-link: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
41929
|
+
--rb-modal-supporting: rgb(var(--tb-mutedText, 100 116 139));
|
|
41146
41930
|
--shop-card-radius: var(--rb-block-radius, var(--radius-card, 0.75rem));
|
|
41147
41931
|
--shop-control-radius: var(--rb-input-radius, var(--radius-control, 0.375rem));
|
|
41148
41932
|
}
|
|
@@ -41200,6 +41984,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41200
41984
|
/* Product card */
|
|
41201
41985
|
:where(.theme-scope) .shop__card {
|
|
41202
41986
|
background: rgb(var(--tb-surface));
|
|
41987
|
+
color: rgb(var(--tb-text, 17 24 39));
|
|
41988
|
+
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
41989
|
+
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
41990
|
+
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
41991
|
+
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
41203
41992
|
border: 1px solid rgb(var(--tb-border));
|
|
41204
41993
|
border-radius: var(--shop-card-radius);
|
|
41205
41994
|
padding: 1.5rem;
|
|
@@ -41354,6 +42143,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41354
42143
|
border: 1px solid rgb(var(--tb-border));
|
|
41355
42144
|
border-radius: var(--shop-card-radius);
|
|
41356
42145
|
background: rgb(var(--tb-surface));
|
|
42146
|
+
color: rgb(var(--tb-text, 17 24 39));
|
|
42147
|
+
--rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
|
|
42148
|
+
--rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
|
|
42149
|
+
--rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
|
|
42150
|
+
--rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
|
|
41357
42151
|
}
|
|
41358
42152
|
|
|
41359
42153
|
:where(.theme-scope) :where([data-block="shop"]) .rb-state-icon--success {
|
|
@@ -41426,6 +42220,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41426
42220
|
margin: 0 auto;
|
|
41427
42221
|
padding: 2rem;
|
|
41428
42222
|
background: var(--cp-card-bg);
|
|
42223
|
+
color: var(--cp-text);
|
|
42224
|
+
--rb-surface-text-color: var(--cp-text);
|
|
42225
|
+
--rb-surface-heading-color: var(--cp-text);
|
|
42226
|
+
--rb-surface-link-color: var(--cp-primary);
|
|
42227
|
+
--rb-surface-supporting-color: var(--cp-muted);
|
|
41429
42228
|
border: 1px solid var(--cp-card-border);
|
|
41430
42229
|
border-radius: var(--cp-card-radius);
|
|
41431
42230
|
}
|
|
@@ -41554,6 +42353,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41554
42353
|
padding: 3rem 2rem;
|
|
41555
42354
|
text-align: center;
|
|
41556
42355
|
background: var(--cp-card-bg);
|
|
42356
|
+
color: var(--cp-text);
|
|
42357
|
+
--rb-surface-text-color: var(--cp-text);
|
|
42358
|
+
--rb-surface-heading-color: var(--cp-text);
|
|
42359
|
+
--rb-surface-link-color: var(--cp-primary);
|
|
42360
|
+
--rb-surface-supporting-color: var(--cp-muted);
|
|
41557
42361
|
border: 1px dashed var(--cp-card-border);
|
|
41558
42362
|
border-radius: var(--cp-card-radius);
|
|
41559
42363
|
}
|
|
@@ -41566,6 +42370,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41566
42370
|
/* Card */
|
|
41567
42371
|
:where(.theme-scope) :where([data-block="customer-portal"]) .cp-card {
|
|
41568
42372
|
background: var(--cp-card-bg);
|
|
42373
|
+
color: var(--cp-text);
|
|
42374
|
+
--rb-surface-text-color: var(--cp-text);
|
|
42375
|
+
--rb-surface-heading-color: var(--cp-text);
|
|
42376
|
+
--rb-surface-link-color: var(--cp-primary);
|
|
42377
|
+
--rb-surface-supporting-color: var(--cp-muted);
|
|
41569
42378
|
border: 1px solid var(--cp-card-border);
|
|
41570
42379
|
border-radius: var(--cp-card-radius);
|
|
41571
42380
|
padding: 1.25rem;
|
|
@@ -41730,6 +42539,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
41730
42539
|
/* Table */
|
|
41731
42540
|
:where(.theme-scope) :where([data-block="customer-portal"]) .cp-table-wrap {
|
|
41732
42541
|
background: var(--cp-card-bg);
|
|
42542
|
+
color: var(--cp-text);
|
|
42543
|
+
--rb-surface-text-color: var(--cp-text);
|
|
42544
|
+
--rb-surface-heading-color: var(--cp-text);
|
|
42545
|
+
--rb-surface-link-color: var(--cp-primary);
|
|
42546
|
+
--rb-surface-supporting-color: var(--cp-muted);
|
|
41733
42547
|
border: 1px solid var(--cp-card-border);
|
|
41734
42548
|
border-radius: var(--cp-card-radius);
|
|
41735
42549
|
}
|
|
@@ -42291,6 +43105,143 @@ const containerResponsiveThemeCss = `/*
|
|
|
42291
43105
|
}
|
|
42292
43106
|
|
|
42293
43107
|
|
|
43108
|
+
/* =============================================================================
|
|
43109
|
+
* Variant: featured-editorial
|
|
43110
|
+
*
|
|
43111
|
+
* An asymmetric layout: a large featured (spruce-ink) quote card beside a
|
|
43112
|
+
* column of stacked white cards. Renders NO avatars. Colours are palette
|
|
43113
|
+
* tokens only. Node structure is built in testimonialsCarousel.ts.
|
|
43114
|
+
* ============================================================================= */
|
|
43115
|
+
|
|
43116
|
+
/* Section head: heading left, lead-in line to the right; stacks on mobile. */
|
|
43117
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-head {
|
|
43118
|
+
display: flex;
|
|
43119
|
+
flex-direction: column;
|
|
43120
|
+
align-items: flex-start;
|
|
43121
|
+
gap: 0.875rem;
|
|
43122
|
+
}
|
|
43123
|
+
|
|
43124
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-leadin {
|
|
43125
|
+
max-width: 30rem;
|
|
43126
|
+
}
|
|
43127
|
+
|
|
43128
|
+
@container rb-site (min-width: 768px) {
|
|
43129
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
43130
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-head {
|
|
43131
|
+
flex-direction: row;
|
|
43132
|
+
align-items: flex-end;
|
|
43133
|
+
justify-content: space-between;
|
|
43134
|
+
gap: 1.5rem;
|
|
43135
|
+
}
|
|
43136
|
+
}
|
|
43137
|
+
}
|
|
43138
|
+
|
|
43139
|
+
/* Card grid: featured (wider) beside the stacked column. Single column on
|
|
43140
|
+
* small screens. */
|
|
43141
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-grid {
|
|
43142
|
+
display: grid;
|
|
43143
|
+
grid-template-columns: minmax(0, 1fr);
|
|
43144
|
+
gap: 1.25rem;
|
|
43145
|
+
align-items: stretch;
|
|
43146
|
+
}
|
|
43147
|
+
|
|
43148
|
+
@container rb-site (min-width: 1024px) {
|
|
43149
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
43150
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-grid {
|
|
43151
|
+
grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
|
|
43152
|
+
}
|
|
43153
|
+
}
|
|
43154
|
+
}
|
|
43155
|
+
|
|
43156
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-col {
|
|
43157
|
+
display: grid;
|
|
43158
|
+
gap: 1.25rem;
|
|
43159
|
+
align-content: start;
|
|
43160
|
+
}
|
|
43161
|
+
|
|
43162
|
+
/* Base card (white surface) */
|
|
43163
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-card {
|
|
43164
|
+
display: flex;
|
|
43165
|
+
flex-direction: column;
|
|
43166
|
+
height: 100%;
|
|
43167
|
+
border-radius: var(--rb-block-radius);
|
|
43168
|
+
padding: 1.875rem 1.875rem 1.625rem;
|
|
43169
|
+
background: rgb(var(--tb-surface));
|
|
43170
|
+
border: 1px solid rgba(var(--tb-border), 0.9);
|
|
43171
|
+
box-shadow: 0 1px 2px rgba(var(--tb-shadow, 0 0 0), 0.05);
|
|
43172
|
+
}
|
|
43173
|
+
|
|
43174
|
+
/* Featured (spruce-ink) card */
|
|
43175
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-card--feature {
|
|
43176
|
+
padding: 2.5rem;
|
|
43177
|
+
background: rgb(var(--tb-primary));
|
|
43178
|
+
border-color: transparent;
|
|
43179
|
+
color: rgb(var(--tb-onPrimary));
|
|
43180
|
+
}
|
|
43181
|
+
|
|
43182
|
+
/* Amber quote mark, oversized serif */
|
|
43183
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-qmark {
|
|
43184
|
+
display: block;
|
|
43185
|
+
height: 1.6rem;
|
|
43186
|
+
font-family: var(--font-heading, Georgia, serif);
|
|
43187
|
+
font-style: italic;
|
|
43188
|
+
font-size: 3.375rem;
|
|
43189
|
+
line-height: 0.6;
|
|
43190
|
+
color: rgb(var(--tb-secondary));
|
|
43191
|
+
}
|
|
43192
|
+
|
|
43193
|
+
/* Quote body. The inner <p> is targeted directly (not via :where) so the
|
|
43194
|
+
* serif display font and sizing win over the theme's base paragraph rule. */
|
|
43195
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-quote {
|
|
43196
|
+
flex: 1 1 auto;
|
|
43197
|
+
margin-top: 1.25rem;
|
|
43198
|
+
}
|
|
43199
|
+
|
|
43200
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-quote p {
|
|
43201
|
+
margin: 0;
|
|
43202
|
+
font-family: var(--font-heading, Georgia, serif);
|
|
43203
|
+
font-size: 1.15rem;
|
|
43204
|
+
line-height: 1.5;
|
|
43205
|
+
color: rgb(var(--tb-text));
|
|
43206
|
+
}
|
|
43207
|
+
|
|
43208
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-card--feature .rb-testimonials-fe-quote p {
|
|
43209
|
+
color: rgb(var(--tb-onPrimary));
|
|
43210
|
+
font-size: clamp(1.375rem, 2.4vw, 1.6875rem);
|
|
43211
|
+
line-height: 1.42;
|
|
43212
|
+
letter-spacing: -0.01em;
|
|
43213
|
+
}
|
|
43214
|
+
|
|
43215
|
+
/* Attribution: name (bold) + context line, no avatar */
|
|
43216
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-meta {
|
|
43217
|
+
display: flex;
|
|
43218
|
+
flex-direction: column;
|
|
43219
|
+
gap: 0.25rem;
|
|
43220
|
+
margin-top: 1.625rem;
|
|
43221
|
+
}
|
|
43222
|
+
|
|
43223
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-name {
|
|
43224
|
+
font-weight: 600;
|
|
43225
|
+
font-size: 0.97rem;
|
|
43226
|
+
color: rgb(var(--tb-text));
|
|
43227
|
+
}
|
|
43228
|
+
|
|
43229
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-context {
|
|
43230
|
+
font-size: 0.78rem;
|
|
43231
|
+
letter-spacing: 0.02em;
|
|
43232
|
+
color: rgb(var(--tb-mutedText));
|
|
43233
|
+
}
|
|
43234
|
+
|
|
43235
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-card--feature .rb-testimonials-fe-name {
|
|
43236
|
+
color: rgb(var(--tb-onPrimary));
|
|
43237
|
+
}
|
|
43238
|
+
|
|
43239
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-fe-card--feature .rb-testimonials-fe-context {
|
|
43240
|
+
color: rgb(var(--tb-onPrimary));
|
|
43241
|
+
opacity: 0.7;
|
|
43242
|
+
}
|
|
43243
|
+
|
|
43244
|
+
|
|
42294
43245
|
/* Testimonials carousel tweaks: arrow styling + gutters + equal-height cards */
|
|
42295
43246
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-carousel.carousel-root .carousel-nav-btn {
|
|
42296
43247
|
height: var(--rb-testimonial-carousel-arrow-size);
|
|
@@ -43437,7 +44388,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
43437
44388
|
|
|
43438
44389
|
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
43439
44390
|
font-size: 1rem;
|
|
43440
|
-
color: var(--
|
|
44391
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
43441
44392
|
opacity: 0.85;
|
|
43442
44393
|
}
|
|
43443
44394
|
|
|
@@ -43486,7 +44437,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
43486
44437
|
margin-top: 0.75rem;
|
|
43487
44438
|
font-size: 1rem;
|
|
43488
44439
|
line-height: 1.6;
|
|
43489
|
-
color: var(--
|
|
44440
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
43490
44441
|
text-align: center;
|
|
43491
44442
|
}
|
|
43492
44443
|
|
|
@@ -43568,7 +44519,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
43568
44519
|
|
|
43569
44520
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
43570
44521
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
43571
|
-
color: var(--
|
|
44522
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
43572
44523
|
}
|
|
43573
44524
|
|
|
43574
44525
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
@@ -43966,7 +44917,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
43966
44917
|
|
|
43967
44918
|
:where(.theme-scope) .event-compact-row-title {
|
|
43968
44919
|
margin: 0;
|
|
43969
|
-
color: var(--
|
|
44920
|
+
color: var(--rb-surface-heading-color, var(--rb-surface-text-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39)))));
|
|
43970
44921
|
font-family: var(--font-heading, var(--font-body, inherit));
|
|
43971
44922
|
font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem);
|
|
43972
44923
|
font-weight: 400;
|
|
@@ -44628,27 +45579,41 @@ const containerResponsiveThemeCss = `/*
|
|
|
44628
45579
|
background: rgb(var(--tb-surface));
|
|
44629
45580
|
}
|
|
44630
45581
|
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) {
|
|
45582
|
+
background: rgb(var(--tb-surface));
|
|
44631
45583
|
color: rgb(var(--tb-onSurface));
|
|
45584
|
+
--rb-surface-text-color: rgb(var(--tb-onSurface));
|
|
45585
|
+
--rb-surface-heading-color: rgb(var(--tb-onSurface));
|
|
45586
|
+
--rb-surface-link-color: rgb(var(--tb-onSurface));
|
|
45587
|
+
--rb-surface-supporting-color: rgb(var(--tb-onSurface));
|
|
44632
45588
|
}
|
|
44633
45589
|
|
|
44634
45590
|
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) > .rb-bg-surface {
|
|
44635
45591
|
background: rgb(var(--tb-secondary));
|
|
44636
45592
|
}
|
|
44637
45593
|
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) {
|
|
45594
|
+
background: rgb(var(--tb-secondary));
|
|
44638
45595
|
color: rgb(var(--tb-onSecondary));
|
|
45596
|
+
--rb-surface-text-color: rgb(var(--tb-onSecondary));
|
|
45597
|
+
--rb-surface-heading-color: rgb(var(--tb-onSecondary));
|
|
45598
|
+
--rb-surface-link-color: rgb(var(--tb-onSecondary));
|
|
45599
|
+
--rb-surface-supporting-color: rgb(var(--tb-onSecondary));
|
|
44639
45600
|
}
|
|
44640
45601
|
|
|
44641
45602
|
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) > .rb-bg-surface {
|
|
44642
45603
|
background: rgb(var(--tb-primary));
|
|
44643
45604
|
}
|
|
44644
45605
|
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) {
|
|
45606
|
+
background: rgb(var(--tb-primary));
|
|
44645
45607
|
color: rgb(var(--tb-onPrimary));
|
|
45608
|
+
--rb-surface-text-color: rgb(var(--tb-onPrimary));
|
|
45609
|
+
--rb-surface-heading-color: rgb(var(--tb-onPrimary));
|
|
45610
|
+
--rb-surface-link-color: rgb(var(--tb-onPrimary));
|
|
45611
|
+
--rb-surface-supporting-color: rgb(var(--tb-onPrimary));
|
|
44646
45612
|
}
|
|
44647
45613
|
|
|
44648
|
-
/*
|
|
44649
|
-
*
|
|
45614
|
+
/* Keep the intended visual hierarchy; the body color itself now resolves via
|
|
45615
|
+
* the nearest surface provider instead of requiring an inline override. */
|
|
44650
45616
|
:where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-body {
|
|
44651
|
-
color: inherit !important;
|
|
44652
45617
|
opacity: 0.9;
|
|
44653
45618
|
}
|
|
44654
45619
|
|
|
@@ -59141,9 +60106,11 @@ function RichTextField({ path, backend, config }) {
|
|
|
59141
60106
|
onPickImage,
|
|
59142
60107
|
linkItems,
|
|
59143
60108
|
onRequestLinkItems: loadLinkItems,
|
|
59144
|
-
|
|
59145
|
-
|
|
59146
|
-
|
|
60109
|
+
toolbarLayout: {
|
|
60110
|
+
kind: "inline",
|
|
60111
|
+
tone: "light",
|
|
60112
|
+
visibility: { kind: "always" }
|
|
60113
|
+
},
|
|
59147
60114
|
renderContent: (content) => theme ? /* @__PURE__ */ jsx(ThemeScope, {
|
|
59148
60115
|
theme,
|
|
59149
60116
|
children: /* @__PURE__ */ jsx("div", {
|
|
@@ -65503,10 +66470,10 @@ function LinkedEntryEditEventBridge() {
|
|
|
65503
66470
|
//#region ../preview-next/src/client/preview/PreviewShellLayout.tsx
|
|
65504
66471
|
const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
65505
66472
|
const PreviewEditorSidebar = React.lazy(async () => {
|
|
65506
|
-
return { default: (await import("./PreviewEditorSidebar-
|
|
66473
|
+
return { default: (await import("./PreviewEditorSidebar-CBMhU9p_.mjs")).PreviewEditorSidebar };
|
|
65507
66474
|
});
|
|
65508
66475
|
const PreviewEditorUI = React.lazy(async () => {
|
|
65509
|
-
return { default: (await import("./PreviewEditorUI-
|
|
66476
|
+
return { default: (await import("./PreviewEditorUI-C5KEw4M8.mjs")).PreviewEditorUI };
|
|
65510
66477
|
});
|
|
65511
66478
|
const previewPaneContainmentStyle = {
|
|
65512
66479
|
contain: "layout paint",
|