@riverbankcms/sdk 0.79.0 → 0.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PreviewEditorSidebar-RDCMEXIJ.mjs +3163 -0
- package/dist/{PreviewEditorUI-27KJVEET.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +194 -30
- package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +20 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
- package/dist/_dts/api/src/contentTypes.d.ts +6 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -0
- package/dist/_dts/api/src/index.d.ts +3 -3
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
- package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +10 -1
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
- package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
- package/dist/_dts/block-form/src/client/index.d.ts +2 -0
- package/dist/_dts/block-form/src/index.d.ts +2 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
- package/dist/_dts/blocks/src/client/header.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +12 -12
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
- package/dist/_dts/blocks/src/index.d.ts +7 -5
- package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -1
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +34 -15
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +10 -3
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
- package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +2 -2
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -57
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -27
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +22 -33
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +7 -2
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
- package/dist/_dts/calendar/src/grid.d.ts +27 -0
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
- package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
- package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
- package/dist/_dts/content-editor/src/index.d.ts +3 -1
- package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
- package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
- package/dist/_dts/core/src/branded.d.ts +5 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/stable-json.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
- package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
- package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
- package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
- package/dist/_dts/editor/src/index.d.ts +29 -0
- package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
- package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
- package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
- package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
- package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
- package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
- package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +5 -9
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +6 -10
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +6 -4
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -8
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
- package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +35 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -6
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
- package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
- package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
- package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
- package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +6 -3
- package/dist/_dts/preview-next/src/constants.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +56 -0
- package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +34 -5
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
- package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
- package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
- package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +149 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +180 -21
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +30 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
- package/dist/_dts/theme-core/src/schema.d.ts +486 -55
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +172 -47
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +172 -47
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +140 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +291 -6
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -8
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +43 -10
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
- package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +28 -32
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/{chunk-4HCW7FHJ.mjs → chunk-3PTVPAT4.mjs} +1984 -1142
- package/dist/{PreviewEditorSidebar-56NMJMIK.mjs → chunk-3QWQ2MUQ.mjs} +1050 -2609
- package/dist/{chunk-GP555I66.mjs → chunk-3VT7LZY2.mjs} +413 -157
- package/dist/{chunk-A3HHFKVT.mjs → chunk-4T5JIPWY.mjs} +1 -1
- package/dist/{chunk-K2IIF34C.mjs → chunk-E3NZYEKF.mjs} +25 -7
- package/dist/{chunk-V47ZU33I.mjs → chunk-WUHKQBB6.mjs} +12062 -3211
- package/dist/cli/index.mjs +3395 -817
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +16 -4
- package/dist/client/{accordion-QLA7KBYO.mjs → accordion-SFIIZWNH.mjs} +2 -2
- package/dist/client/{bookingForm-PYZIPA5G.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
- package/dist/client/bookings.mjs +1422 -345
- package/dist/client/{carousel-5EIULWBI.mjs → carousel-ELXWSBLA.mjs} +3 -3
- package/dist/client/{cart-DOP3FNI4.mjs → cart-6SSCPYY5.mjs} +6 -6
- package/dist/client/{checkout-BVMF6FBV.mjs → checkout-UFQ34HPV.mjs} +6 -6
- package/dist/client/{chunk-44K2U3QI.mjs → chunk-76JUETXQ.mjs} +139 -186
- package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
- package/dist/client/{chunk-UDS3NTWA.mjs → chunk-G56BSZAM.mjs} +2 -2
- package/dist/client/{chunk-V6M5FCR5.mjs → chunk-IUEDYLFJ.mjs} +1 -1
- package/dist/client/{chunk-YLDYVRZL.mjs → chunk-NP47RHIX.mjs} +5 -5
- package/dist/client/{chunk-R5ESWNKX.mjs → chunk-NX6X3GRF.mjs} +419 -85
- package/dist/client/{chunk-CCNTDRCF.mjs → chunk-PA2LJH2M.mjs} +2 -2
- package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
- package/dist/client/{chunk-TYONZMST.mjs → chunk-TCJS3NY5.mjs} +1 -1
- package/dist/client/{chunk-GG4M2NP6.mjs → chunk-V6XI4M2Q.mjs} +1 -1
- package/dist/client/client.mjs +9077 -4410
- package/dist/client/{courseRegistration-E6EAA6NL.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
- package/dist/client/{eventCalendar-HBG3HAK6.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
- package/dist/client/{eventCombined-6K5ZZWAK.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
- package/dist/client/{eventDetails-Q75ICXLT.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
- package/dist/client/{eventListing-27P5F7DZ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
- package/dist/client/{eventRegistration-IQ7AMASR.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
- package/dist/client/{form-JRTD65FN.mjs → form-LVTYNTDE.mjs} +2 -2
- package/dist/client/{headerSection-7FPSSZHS.mjs → headerSection-SO3MFC4U.mjs} +110 -28
- package/dist/client/hooks.mjs +4695 -2260
- package/dist/client/{locationMap-7NGFNYBH.mjs → locationMap-5E5FLAKO.mjs} +2 -2
- package/dist/client/{newsletterForm-F3BADCI2.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
- package/dist/client/{productDetail-V3HP7ITJ.mjs → productDetail-Q346KSVR.mjs} +6 -6
- package/dist/client/{productList-L3EGJUF2.mjs → productList-DTDMQYGZ.mjs} +6 -6
- package/dist/client/rendering/client.mjs +5795 -3582
- package/dist/client/rendering/islands.mjs +32 -20
- package/dist/client/rendering.mjs +7988 -3317
- package/dist/client/{shop-DQUB5E2C.mjs → shop-OFUW7KPN.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +24 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/constants.mjs +0 -2
- package/dist/preview-next/index.mjs +0 -2
- package/dist/preview-next/middleware.mjs +24 -0
- package/dist/{sdk-runtime-AF6KXJU4.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
- package/dist/server/components.mjs +7384 -3089
- package/dist/server/config-validation.mjs +4747 -2418
- package/dist/server/config.mjs +4747 -2418
- package/dist/server/data.mjs +4695 -2260
- package/dist/server/index.mjs +26 -1
- package/dist/server/next.mjs +7430 -3039
- package/dist/server/page-converter.mjs +3985 -2070
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +7489 -3094
- package/dist/server/rendering.mjs +7491 -3096
- package/dist/server/routing.mjs +4965 -2386
- package/dist/server/server.mjs +4713 -2278
- package/dist/server/theme-bridge.mjs +2181 -383
- package/dist/server/theme.mjs +477 -222
- package/dist/styles/index.css +747 -71
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +0 -8
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
- package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
- package/dist/chunk-LCY32PXF.mjs +0 -1175
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as React2 from "react";
|
|
3
3
|
|
|
4
4
|
// ../theme-core/src/schema.ts
|
|
5
|
-
import { z as
|
|
5
|
+
import { z as z17 } from "zod";
|
|
6
6
|
|
|
7
7
|
// ../theme-core/src/lib/media.ts
|
|
8
8
|
import z from "zod";
|
|
@@ -284,7 +284,9 @@ var buttonBorderSchema = z3.object({
|
|
|
284
284
|
var variantShadowSchema = z3.object({
|
|
285
285
|
elevation: z3.enum(["none", "low", "medium", "high"]),
|
|
286
286
|
softness: z3.enum(["crisp", "soft", "hard"]).nullable(),
|
|
287
|
-
position: z3.enum(["bottom", "bottom-right"]).default("bottom")
|
|
287
|
+
position: z3.enum(["bottom", "bottom-right"]).default("bottom"),
|
|
288
|
+
// Optional palette token for a coloured offset shadow; omit for neutral black.
|
|
289
|
+
colorToken: themeColorTokenSchema.optional()
|
|
288
290
|
});
|
|
289
291
|
var variantEffectsSchema = z3.object({
|
|
290
292
|
base: z3.array(effectApplicationSchema).optional(),
|
|
@@ -814,6 +816,65 @@ var inkStamp = defineButtonPersonality({
|
|
|
814
816
|
}
|
|
815
817
|
});
|
|
816
818
|
|
|
819
|
+
// ../theme-core/src/buttons/personalities/joy-stamp.ts
|
|
820
|
+
var joyStamp = defineButtonPersonality({
|
|
821
|
+
id: "joy-stamp",
|
|
822
|
+
name: "Joy Stamp",
|
|
823
|
+
description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
|
|
824
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
|
|
825
|
+
buttonSystem: {
|
|
826
|
+
global: {
|
|
827
|
+
cornerStyle: "pill",
|
|
828
|
+
shadow: "high",
|
|
829
|
+
textTransform: "none",
|
|
830
|
+
// Bold display type on the buttons: use the heading font (Bricolage) at
|
|
831
|
+
// 700, matching the mockup's chunky button labels.
|
|
832
|
+
typography: "heading",
|
|
833
|
+
fontWeight: 700,
|
|
834
|
+
borderWidth: 2,
|
|
835
|
+
hoverTransform: "none",
|
|
836
|
+
hoverColor: "none"
|
|
837
|
+
},
|
|
838
|
+
sizes: {
|
|
839
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
|
|
840
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
|
|
841
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
|
|
842
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
|
|
843
|
+
},
|
|
844
|
+
variants: [
|
|
845
|
+
{
|
|
846
|
+
id: "primary",
|
|
847
|
+
name: "Primary",
|
|
848
|
+
enabled: true,
|
|
849
|
+
priority: 1,
|
|
850
|
+
background: { type: "solid", colorToken: "primary" },
|
|
851
|
+
textColorToken: "primaryForeground",
|
|
852
|
+
borderRadius: "rounded-full",
|
|
853
|
+
// Cream stamp shadow under the burnt-orange fill.
|
|
854
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
|
|
855
|
+
effects: {
|
|
856
|
+
hover: [{ effectId: "press-down" }]
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
id: "secondary",
|
|
861
|
+
name: "Secondary",
|
|
862
|
+
enabled: true,
|
|
863
|
+
priority: 2,
|
|
864
|
+
background: { type: "transparent" },
|
|
865
|
+
textColorToken: "text",
|
|
866
|
+
borderRadius: "rounded-full",
|
|
867
|
+
border: { widthClass: "border-2", colorToken: "text" },
|
|
868
|
+
// Brown stamp shadow under the cream outline.
|
|
869
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
|
|
870
|
+
effects: {
|
|
871
|
+
hover: [{ effectId: "press-down" }]
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
]
|
|
875
|
+
}
|
|
876
|
+
});
|
|
877
|
+
|
|
817
878
|
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
818
879
|
var pebble = defineButtonPersonality({
|
|
819
880
|
id: "pebble",
|
|
@@ -1087,7 +1148,8 @@ var buttonPersonalities = [
|
|
|
1087
1148
|
pebble,
|
|
1088
1149
|
inkStamp,
|
|
1089
1150
|
brushedWash,
|
|
1090
|
-
showtimePill
|
|
1151
|
+
showtimePill,
|
|
1152
|
+
joyStamp
|
|
1091
1153
|
];
|
|
1092
1154
|
var personalitiesById = new Map(
|
|
1093
1155
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -1221,8 +1283,15 @@ function getDefaultButtonVariants() {
|
|
|
1221
1283
|
|
|
1222
1284
|
// ../theme-core/src/cards/types.ts
|
|
1223
1285
|
import { z as z6 } from "zod";
|
|
1286
|
+
var cardVariantRoleValues = ["default", "alternative"];
|
|
1287
|
+
var boxlessCardVariantValue = "none";
|
|
1224
1288
|
var cardSpacingSchema = z6.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
1225
1289
|
var gradientDirectionSchema2 = z6.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
1290
|
+
var cardVariantRoleSchema = z6.enum(cardVariantRoleValues);
|
|
1291
|
+
var boxStylesCardVariantSchema = z6.enum([
|
|
1292
|
+
...cardVariantRoleValues,
|
|
1293
|
+
boxlessCardVariantValue
|
|
1294
|
+
]);
|
|
1226
1295
|
var cardBackgroundSchema = z6.discriminatedUnion("type", [
|
|
1227
1296
|
z6.object({ type: z6.literal("solid"), colorToken: themeColorTokenSchema }),
|
|
1228
1297
|
z6.object({
|
|
@@ -1237,6 +1306,24 @@ var cardBorderSchema = z6.object({
|
|
|
1237
1306
|
widthClass: z6.string(),
|
|
1238
1307
|
colorToken: themeColorTokenSchema
|
|
1239
1308
|
});
|
|
1309
|
+
var cardCornerValueSchema = z6.enum([
|
|
1310
|
+
"square",
|
|
1311
|
+
"soft",
|
|
1312
|
+
"rounded",
|
|
1313
|
+
"pill",
|
|
1314
|
+
"expressive"
|
|
1315
|
+
]);
|
|
1316
|
+
var cardAccentEdgeSchema = z6.object({
|
|
1317
|
+
edge: z6.enum(["left", "top", "right", "bottom"]),
|
|
1318
|
+
colorToken: themeColorTokenSchema,
|
|
1319
|
+
width: z6.enum(["thin", "medium", "thick", "heavy"])
|
|
1320
|
+
});
|
|
1321
|
+
var cardCornerRadiiSchema = z6.object({
|
|
1322
|
+
topLeft: cardCornerValueSchema.optional(),
|
|
1323
|
+
topRight: cardCornerValueSchema.optional(),
|
|
1324
|
+
bottomLeft: cardCornerValueSchema.optional(),
|
|
1325
|
+
bottomRight: cardCornerValueSchema.optional()
|
|
1326
|
+
});
|
|
1240
1327
|
var cardVariantSchema = z6.object({
|
|
1241
1328
|
id: z6.string(),
|
|
1242
1329
|
name: z6.string().min(1).max(20),
|
|
@@ -1245,6 +1332,8 @@ var cardVariantSchema = z6.object({
|
|
|
1245
1332
|
// Appearance (token-based)
|
|
1246
1333
|
background: cardBackgroundSchema,
|
|
1247
1334
|
spacing: cardSpacingSchema,
|
|
1335
|
+
// Optional foreground (card text) color, for cards on a strong fill.
|
|
1336
|
+
foregroundToken: themeColorTokenSchema.optional(),
|
|
1248
1337
|
// Optional overrides (uses theme defaults if not specified)
|
|
1249
1338
|
shadow: z6.object({
|
|
1250
1339
|
elevation: z6.enum(["none", "low", "medium", "high"]),
|
|
@@ -1252,8 +1341,12 @@ var cardVariantSchema = z6.object({
|
|
|
1252
1341
|
position: z6.enum(["bottom", "bottom-right"]).default("bottom")
|
|
1253
1342
|
}).optional(),
|
|
1254
1343
|
corners: z6.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
1344
|
+
// Per-corner radius override; wins over `corners` when set.
|
|
1345
|
+
cornerRadii: cardCornerRadiiSchema.optional(),
|
|
1255
1346
|
// Border (optional)
|
|
1256
|
-
border: cardBorderSchema.optional()
|
|
1347
|
+
border: cardBorderSchema.optional(),
|
|
1348
|
+
// Single accent edge; replaces `border` when set.
|
|
1349
|
+
accentEdge: cardAccentEdgeSchema.optional()
|
|
1257
1350
|
});
|
|
1258
1351
|
var cardSystemSchema = z6.object({
|
|
1259
1352
|
variants: z6.array(cardVariantSchema).min(1).max(3)
|
|
@@ -1272,6 +1365,33 @@ var BORDER_WIDTH_MAP3 = {
|
|
|
1272
1365
|
medium: "2px",
|
|
1273
1366
|
thick: "4px"
|
|
1274
1367
|
};
|
|
1368
|
+
var PER_CORNER_RADIUS_MAP = {
|
|
1369
|
+
square: "0",
|
|
1370
|
+
soft: "0.5rem",
|
|
1371
|
+
rounded: "1rem",
|
|
1372
|
+
pill: "1.5rem",
|
|
1373
|
+
// A large block-radius multiple for expressive, asymmetric card corners.
|
|
1374
|
+
expressive: "calc(var(--rb-block-radius) * 3)"
|
|
1375
|
+
};
|
|
1376
|
+
var ACCENT_EDGE_WIDTH_MAP = {
|
|
1377
|
+
thin: "2px",
|
|
1378
|
+
medium: "3px",
|
|
1379
|
+
thick: "4px",
|
|
1380
|
+
heavy: "5px"
|
|
1381
|
+
};
|
|
1382
|
+
var ACCENT_EDGE_SIDE_MAP = {
|
|
1383
|
+
left: "border-left",
|
|
1384
|
+
top: "border-top",
|
|
1385
|
+
right: "border-right",
|
|
1386
|
+
bottom: "border-bottom"
|
|
1387
|
+
};
|
|
1388
|
+
function resolveCornerRadiiCss(cornerRadii, fallback) {
|
|
1389
|
+
const fallbackValue = CORNER_RADIUS_MAP3[fallback];
|
|
1390
|
+
const at = (value) => value ? PER_CORNER_RADIUS_MAP[value] : fallbackValue;
|
|
1391
|
+
return `${at(cornerRadii.topLeft)} ${at(cornerRadii.topRight)} ${at(
|
|
1392
|
+
cornerRadii.bottomRight
|
|
1393
|
+
)} ${at(cornerRadii.bottomLeft)}`;
|
|
1394
|
+
}
|
|
1275
1395
|
var GRADIENT_DIRECTION_MAP4 = {
|
|
1276
1396
|
"to-r": "to right",
|
|
1277
1397
|
"to-l": "to left",
|
|
@@ -1319,11 +1439,25 @@ function generateVariantCss2(scopeId, variant, settings) {
|
|
|
1319
1439
|
} else {
|
|
1320
1440
|
containerRules.push("background: transparent");
|
|
1321
1441
|
}
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1442
|
+
if (variant.foregroundToken) {
|
|
1443
|
+
containerRules.push(`color: rgb(var(--tb-${variant.foregroundToken}))`);
|
|
1444
|
+
}
|
|
1445
|
+
if (variant.accentEdge) {
|
|
1446
|
+
const side = ACCENT_EDGE_SIDE_MAP[variant.accentEdge.edge];
|
|
1447
|
+
const width = ACCENT_EDGE_WIDTH_MAP[variant.accentEdge.width];
|
|
1448
|
+
containerRules.push("border: 0");
|
|
1449
|
+
containerRules.push(
|
|
1450
|
+
`${side}: ${width} solid rgb(var(--tb-${variant.accentEdge.colorToken}))`
|
|
1451
|
+
);
|
|
1452
|
+
} else {
|
|
1453
|
+
const borderWidth = variant.borderWidth ? BORDER_WIDTH_MAP3[variant.borderWidth] : variant.borderToken ? BORDER_WIDTH_MAP3[settings.borderWidth] : "0";
|
|
1454
|
+
if (variant.borderToken && borderWidth !== "0") {
|
|
1455
|
+
containerRules.push(`border: ${borderWidth} solid rgb(var(--tb-${variant.borderToken}))`);
|
|
1456
|
+
}
|
|
1325
1457
|
}
|
|
1326
|
-
containerRules.push(
|
|
1458
|
+
containerRules.push(
|
|
1459
|
+
`border-radius: ${variant.cornerRadii ? resolveCornerRadiiCss(variant.cornerRadii, settings.corners) : CORNER_RADIUS_MAP3[settings.corners]}`
|
|
1460
|
+
);
|
|
1327
1461
|
if (settings.shadow !== "none") {
|
|
1328
1462
|
containerRules.push(`box-shadow: ${SHADOW_VALUES2[settings.shadow]}`);
|
|
1329
1463
|
}
|
|
@@ -1392,11 +1526,13 @@ var accordionIconSchema = z7.enum([
|
|
|
1392
1526
|
// ⊕ becomes ⊖ (swap with fade)
|
|
1393
1527
|
]);
|
|
1394
1528
|
var accordionSystemSchema = z7.object({
|
|
1395
|
-
// Visual styling (solid color only - gradients can be added later if needed)
|
|
1529
|
+
// Visual styling (solid color only - gradients can be added later if needed).
|
|
1530
|
+
// null = no fill, so the accordion sits transparently on the section
|
|
1531
|
+
// surface (used by open, boxless "divided" looks).
|
|
1396
1532
|
background: z7.object({
|
|
1397
1533
|
type: z7.literal("solid"),
|
|
1398
1534
|
colorToken: themeColorTokenSchema
|
|
1399
|
-
}),
|
|
1535
|
+
}).nullable(),
|
|
1400
1536
|
// Spacing (padding inside items)
|
|
1401
1537
|
spacing: z7.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
|
|
1402
1538
|
// Border radius (null = inherit from theme.corners)
|
|
@@ -1423,8 +1559,16 @@ var accordionSystemSchema = z7.object({
|
|
|
1423
1559
|
// Trigger (question) styling
|
|
1424
1560
|
trigger: z7.object({
|
|
1425
1561
|
textColorToken: themeColorTokenSchema,
|
|
1426
|
-
fontWeight: z7.enum(["regular", "medium", "semibold", "bold"]).nullable()
|
|
1562
|
+
fontWeight: z7.enum(["regular", "medium", "semibold", "bold"]).nullable(),
|
|
1427
1563
|
// null = inherit from theme
|
|
1564
|
+
// Question typography. Defaults keep the historical body-font look; set
|
|
1565
|
+
// fontFamily 'heading' + a larger scale to give questions real presence.
|
|
1566
|
+
fontFamily: z7.enum(["body", "heading"]).optional(),
|
|
1567
|
+
// default 'body'
|
|
1568
|
+
fontScale: z7.enum(["body", "md", "lg"]).optional(),
|
|
1569
|
+
// default 'body'
|
|
1570
|
+
letterSpacing: z7.enum(["normal", "tight", "wide"]).optional(),
|
|
1571
|
+
textTransform: z7.enum(["none", "uppercase"]).optional()
|
|
1428
1572
|
}),
|
|
1429
1573
|
// Hover state styling
|
|
1430
1574
|
hover: z7.object({
|
|
@@ -1432,6 +1576,17 @@ var accordionSystemSchema = z7.object({
|
|
|
1432
1576
|
textColorToken: themeColorTokenSchema.optional(),
|
|
1433
1577
|
borderColorToken: themeColorTokenSchema.optional()
|
|
1434
1578
|
}),
|
|
1579
|
+
// Open-state emphasis: how an expanded item is visually rewarded. All
|
|
1580
|
+
// optional; omit for the historical "only the text recolors" behaviour.
|
|
1581
|
+
openState: z7.object({
|
|
1582
|
+
backgroundColorToken: themeColorTokenSchema.optional(),
|
|
1583
|
+
triggerColorToken: themeColorTokenSchema.optional(),
|
|
1584
|
+
accent: z7.object({
|
|
1585
|
+
edge: z7.enum(["left", "top", "bottom"]),
|
|
1586
|
+
colorToken: themeColorTokenSchema,
|
|
1587
|
+
thickness: z7.enum(["thin", "medium", "thick"])
|
|
1588
|
+
}).optional()
|
|
1589
|
+
}).optional(),
|
|
1435
1590
|
// Content (answer) styling
|
|
1436
1591
|
content: z7.object({
|
|
1437
1592
|
textColorToken: themeColorTokenSchema
|
|
@@ -1780,6 +1935,9 @@ var componentShadowSchema = z14.object({
|
|
|
1780
1935
|
});
|
|
1781
1936
|
|
|
1782
1937
|
// ../theme-core/src/site-styles/types.ts
|
|
1938
|
+
function defineExactCatalog() {
|
|
1939
|
+
return (entries) => entries;
|
|
1940
|
+
}
|
|
1783
1941
|
function asAppearancePresetId(value) {
|
|
1784
1942
|
return brandNonEmptyString(value, "AppearancePresetId");
|
|
1785
1943
|
}
|
|
@@ -1837,14 +1995,8 @@ var visibleHeadingDecorationFamilyValues = [
|
|
|
1837
1995
|
"organic-squiggle",
|
|
1838
1996
|
"short-center-rule"
|
|
1839
1997
|
];
|
|
1840
|
-
var visibleHeadingDecorationPlacementValues = [
|
|
1841
|
-
"after-heading",
|
|
1842
|
-
"between-heading-and-body",
|
|
1843
|
-
"under-centered-heading"
|
|
1844
|
-
];
|
|
1845
1998
|
var headingDecorationOverrideValues = [
|
|
1846
1999
|
"site-default",
|
|
1847
|
-
"on",
|
|
1848
2000
|
"off"
|
|
1849
2001
|
];
|
|
1850
2002
|
var headingDecorationColorTokenValues = [
|
|
@@ -1855,6 +2007,9 @@ var headingDecorationColorTokenValues = [
|
|
|
1855
2007
|
"border",
|
|
1856
2008
|
"muted"
|
|
1857
2009
|
];
|
|
2010
|
+
var noHeadingDecoration = {
|
|
2011
|
+
family: "none"
|
|
2012
|
+
};
|
|
1858
2013
|
var accordionIconSetValues = [
|
|
1859
2014
|
"plus",
|
|
1860
2015
|
"chevron",
|
|
@@ -1875,79 +2030,219 @@ var accordionIconMotionValues = [
|
|
|
1875
2030
|
"swap"
|
|
1876
2031
|
];
|
|
1877
2032
|
|
|
1878
|
-
// ../theme-core/src/
|
|
2033
|
+
// ../theme-core/src/site-styles/logoBranding.ts
|
|
1879
2034
|
import { z as z15 } from "zod";
|
|
1880
|
-
var
|
|
2035
|
+
var logoTextConfidenceValues = ["low", "medium", "high"];
|
|
2036
|
+
var logoAssetShapeValues = [
|
|
2037
|
+
"none",
|
|
2038
|
+
"horizontal",
|
|
2039
|
+
"square",
|
|
2040
|
+
"portrait",
|
|
2041
|
+
"tall"
|
|
2042
|
+
];
|
|
2043
|
+
var logoKindValues = [
|
|
2044
|
+
"mark",
|
|
2045
|
+
"wordmark",
|
|
2046
|
+
"lockup",
|
|
2047
|
+
"badge",
|
|
2048
|
+
"stacked-wordmark",
|
|
2049
|
+
"unknown"
|
|
2050
|
+
];
|
|
2051
|
+
var logoDensityValues = ["simple", "detailed", "unknown"];
|
|
2052
|
+
var logoContainsTextSchema = z15.discriminatedUnion("kind", [
|
|
2053
|
+
z15.object({
|
|
2054
|
+
kind: z15.literal("contains-text"),
|
|
2055
|
+
confidence: z15.enum(logoTextConfidenceValues),
|
|
2056
|
+
text: z15.string().trim().min(1).max(200).optional()
|
|
2057
|
+
}),
|
|
2058
|
+
z15.object({
|
|
2059
|
+
kind: z15.literal("no-text"),
|
|
2060
|
+
confidence: z15.enum(logoTextConfidenceValues)
|
|
2061
|
+
}),
|
|
2062
|
+
z15.object({
|
|
2063
|
+
kind: z15.literal("unknown"),
|
|
2064
|
+
reason: z15.enum([
|
|
2065
|
+
"analysis-unavailable",
|
|
2066
|
+
"unsupported-file",
|
|
2067
|
+
"low-confidence"
|
|
2068
|
+
])
|
|
2069
|
+
})
|
|
2070
|
+
]);
|
|
2071
|
+
var logoAnalysisSourceSchema = z15.discriminatedUnion("kind", [
|
|
2072
|
+
z15.object({ kind: z15.literal("none") }),
|
|
2073
|
+
z15.object({
|
|
2074
|
+
kind: z15.literal("deterministic"),
|
|
2075
|
+
reason: z15.enum(["dimensions", "fallback"])
|
|
2076
|
+
}),
|
|
2077
|
+
z15.object({
|
|
2078
|
+
kind: z15.literal("llm"),
|
|
2079
|
+
model: z15.literal("gpt-5.4-mini"),
|
|
2080
|
+
analyzedAt: z15.string().trim().min(1).max(80).optional()
|
|
2081
|
+
}),
|
|
2082
|
+
z15.object({ kind: z15.literal("manual-override") })
|
|
2083
|
+
]);
|
|
2084
|
+
var logoFactsSchema = z15.object({
|
|
2085
|
+
shape: z15.enum(logoAssetShapeValues),
|
|
2086
|
+
containsText: logoContainsTextSchema,
|
|
2087
|
+
kind: z15.enum(logoKindValues),
|
|
2088
|
+
density: z15.enum(logoDensityValues),
|
|
2089
|
+
source: logoAnalysisSourceSchema
|
|
2090
|
+
});
|
|
2091
|
+
var brandDisplayModeValues = [
|
|
2092
|
+
"auto",
|
|
2093
|
+
"logo-only",
|
|
2094
|
+
"logo-plus-title",
|
|
2095
|
+
"title-only"
|
|
2096
|
+
];
|
|
2097
|
+
var logoAccommodationPatternValues = [
|
|
2098
|
+
"title-only",
|
|
2099
|
+
"inline-logo-only",
|
|
2100
|
+
"inline-wordmark",
|
|
2101
|
+
"inline-mark-with-title",
|
|
2102
|
+
"logo-plate",
|
|
2103
|
+
"centered-badge",
|
|
2104
|
+
"popout-badge",
|
|
2105
|
+
"centered-masthead",
|
|
2106
|
+
"hero-badge"
|
|
2107
|
+
];
|
|
2108
|
+
var logoSizePolicyValues = [
|
|
2109
|
+
"auto",
|
|
2110
|
+
"compact",
|
|
2111
|
+
"standard",
|
|
2112
|
+
"generous",
|
|
2113
|
+
"display"
|
|
2114
|
+
];
|
|
2115
|
+
|
|
2116
|
+
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
2117
|
+
var themeV2RuntimeStyleFieldNames = [
|
|
2118
|
+
"_frameStyles",
|
|
2119
|
+
"_sectionStyles",
|
|
2120
|
+
"_containerStyles",
|
|
2121
|
+
"_cardStyles",
|
|
2122
|
+
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
2123
|
+
// override object, but normal editors should still never see it directly.
|
|
2124
|
+
"styleGroup"
|
|
2125
|
+
];
|
|
2126
|
+
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
2127
|
+
"_contentCardStyles",
|
|
2128
|
+
"_heroLayoutStyles",
|
|
2129
|
+
"_textCardStyles"
|
|
2130
|
+
];
|
|
2131
|
+
var themeV2NormalEditorRawStyleFieldNames = [
|
|
2132
|
+
...themeV2RuntimeStyleFieldNames,
|
|
2133
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
2134
|
+
];
|
|
2135
|
+
var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
2136
|
+
themeV2NormalEditorRawStyleFieldNames
|
|
2137
|
+
);
|
|
2138
|
+
var themeV2CompilerOwnedFieldNames = [
|
|
2139
|
+
...themeV2RuntimeStyleFieldNames,
|
|
2140
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
2141
|
+
];
|
|
2142
|
+
var pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
2143
|
+
|
|
2144
|
+
// ../theme-core/src/utils/tokenOrColor.ts
|
|
2145
|
+
import { z as z16 } from "zod";
|
|
2146
|
+
|
|
2147
|
+
// ../theme-core/src/utils/colorStyles.ts
|
|
2148
|
+
var COLOR_VAR_PREFIX = "--tb-";
|
|
2149
|
+
function parseToken(source) {
|
|
2150
|
+
const parts = parseColorTokenParts(source);
|
|
2151
|
+
if (parts.kind === "raw") {
|
|
2152
|
+
return { token: source, raw: parts.value };
|
|
2153
|
+
}
|
|
2154
|
+
if (parts.kind === "invalid") {
|
|
2155
|
+
return { token: source };
|
|
2156
|
+
}
|
|
2157
|
+
return {
|
|
2158
|
+
token: parts.token,
|
|
2159
|
+
alpha: parts.opacityPercent === null ? void 0 : parts.opacityPercent / 100
|
|
2160
|
+
};
|
|
2161
|
+
}
|
|
2162
|
+
function rgbColorValue(token) {
|
|
2163
|
+
const { token: baseToken, alpha, raw } = parseToken(token);
|
|
2164
|
+
if (raw) {
|
|
2165
|
+
return raw;
|
|
2166
|
+
}
|
|
2167
|
+
const cssVar = `${COLOR_VAR_PREFIX}${baseToken}`;
|
|
2168
|
+
if (alpha === void 0) {
|
|
2169
|
+
return `rgb(var(${cssVar}))`;
|
|
2170
|
+
}
|
|
2171
|
+
return `rgba(var(${cssVar}), ${alpha})`;
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
// ../theme-core/src/utils/tokenOrColor.ts
|
|
2175
|
+
var tokenOrCssColorValueSchema = z16.string();
|
|
1881
2176
|
|
|
1882
2177
|
// ../theme-core/src/schema.ts
|
|
1883
|
-
var axesSchema =
|
|
1884
|
-
tone:
|
|
1885
|
-
energy:
|
|
1886
|
-
density:
|
|
1887
|
-
mediaBias:
|
|
1888
|
-
conversionBias:
|
|
1889
|
-
motion:
|
|
2178
|
+
var axesSchema = z17.object({
|
|
2179
|
+
tone: z17.enum(["minimal", "classic", "bold"]),
|
|
2180
|
+
energy: z17.enum(["calm", "vibrant"]),
|
|
2181
|
+
density: z17.enum(["airy", "regular", "compact"]),
|
|
2182
|
+
mediaBias: z17.enum(["text", "media", "mixed"]),
|
|
2183
|
+
conversionBias: z17.enum(["low", "med", "high"]),
|
|
2184
|
+
motion: z17.enum(["subtle", "standard", "expressive"])
|
|
1890
2185
|
});
|
|
1891
|
-
var colourHexString =
|
|
1892
|
-
var paletteColorSchema =
|
|
1893
|
-
name:
|
|
2186
|
+
var colourHexString = z17.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
2187
|
+
var paletteColorSchema = z17.object({
|
|
2188
|
+
name: z17.string().min(1),
|
|
1894
2189
|
hex: colourHexString
|
|
1895
2190
|
});
|
|
1896
|
-
var paletteMetaSchema =
|
|
1897
|
-
mode:
|
|
2191
|
+
var paletteMetaSchema = z17.object({
|
|
2192
|
+
mode: z17.enum(["light", "dark"])
|
|
1898
2193
|
});
|
|
1899
|
-
var paletteSchema =
|
|
1900
|
-
colors:
|
|
2194
|
+
var paletteSchema = z17.object({
|
|
2195
|
+
colors: z17.array(paletteColorSchema),
|
|
1901
2196
|
meta: paletteMetaSchema
|
|
1902
2197
|
});
|
|
1903
|
-
var typographyStyleSchema =
|
|
1904
|
-
family:
|
|
1905
|
-
weight:
|
|
1906
|
-
letterSpacing:
|
|
1907
|
-
lineHeight:
|
|
2198
|
+
var typographyStyleSchema = z17.object({
|
|
2199
|
+
family: z17.string().min(1),
|
|
2200
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
2201
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]),
|
|
2202
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"])
|
|
1908
2203
|
});
|
|
1909
2204
|
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
1910
|
-
size:
|
|
2205
|
+
size: z17.enum(["md", "lg", "xl"])
|
|
1911
2206
|
});
|
|
1912
|
-
var headingSizeSchema =
|
|
1913
|
-
var headingTypographyOverridesSchema =
|
|
1914
|
-
weight:
|
|
1915
|
-
letterSpacing:
|
|
2207
|
+
var headingSizeSchema = z17.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
2208
|
+
var headingTypographyOverridesSchema = z17.object({
|
|
2209
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
2210
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
1916
2211
|
size: headingSizeSchema.nullable().optional(),
|
|
1917
|
-
lineHeight:
|
|
1918
|
-
italic:
|
|
2212
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
2213
|
+
italic: z17.boolean().nullable().optional(),
|
|
1919
2214
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
1920
2215
|
});
|
|
1921
2216
|
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
1922
|
-
case:
|
|
1923
|
-
italic:
|
|
2217
|
+
case: z17.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
2218
|
+
italic: z17.boolean().nullable(),
|
|
1924
2219
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
1925
2220
|
});
|
|
1926
|
-
var proseLinkUnderlineStyleSchema =
|
|
1927
|
-
var proseLinkUnderlineThicknessSchema =
|
|
2221
|
+
var proseLinkUnderlineStyleSchema = z17.enum(["solid", "dotted", "dashed"]);
|
|
2222
|
+
var proseLinkUnderlineThicknessSchema = z17.enum([
|
|
1928
2223
|
"auto",
|
|
1929
2224
|
"fromFont",
|
|
1930
2225
|
"thin",
|
|
1931
2226
|
"medium",
|
|
1932
2227
|
"thick"
|
|
1933
2228
|
]);
|
|
1934
|
-
var proseLinkUnderlineOffsetSchema =
|
|
2229
|
+
var proseLinkUnderlineOffsetSchema = z17.enum([
|
|
1935
2230
|
"auto",
|
|
1936
2231
|
"tight",
|
|
1937
2232
|
"normal",
|
|
1938
2233
|
"loose"
|
|
1939
2234
|
]);
|
|
1940
|
-
var proseLinkStyleSchema =
|
|
2235
|
+
var proseLinkStyleSchema = z17.object({
|
|
1941
2236
|
colorToken: themeColorTokenSchema.optional(),
|
|
1942
2237
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
1943
|
-
underline:
|
|
2238
|
+
underline: z17.boolean().optional(),
|
|
1944
2239
|
decorationColorToken: themeColorTokenSchema.optional(),
|
|
1945
2240
|
hoverDecorationColorToken: themeColorTokenSchema.optional(),
|
|
1946
2241
|
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
1947
2242
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
1948
2243
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
1949
2244
|
});
|
|
1950
|
-
var semanticSpacingSchema =
|
|
2245
|
+
var semanticSpacingSchema = z17.enum([
|
|
1951
2246
|
"none",
|
|
1952
2247
|
"compact",
|
|
1953
2248
|
"cozy",
|
|
@@ -1955,91 +2250,111 @@ var semanticSpacingSchema = z16.enum([
|
|
|
1955
2250
|
"comfortable",
|
|
1956
2251
|
"spacious"
|
|
1957
2252
|
]);
|
|
1958
|
-
var boxRoundedSchema =
|
|
1959
|
-
var boxBackgroundOverlaySchema =
|
|
1960
|
-
type:
|
|
2253
|
+
var boxRoundedSchema = z17.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
2254
|
+
var boxBackgroundOverlaySchema = z17.object({
|
|
2255
|
+
type: z17.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
1961
2256
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1962
|
-
gradient:
|
|
1963
|
-
opacity:
|
|
2257
|
+
gradient: z17.string().nullable().optional(),
|
|
2258
|
+
opacity: z17.number().min(0).max(1).nullable().optional()
|
|
1964
2259
|
});
|
|
1965
|
-
var boxBackgroundSchema =
|
|
1966
|
-
type:
|
|
2260
|
+
var boxBackgroundSchema = z17.object({
|
|
2261
|
+
type: z17.enum(["color", "gradient", "image"]).optional(),
|
|
2262
|
+
contentOwner: z17.literal(pageDesignEditorBackgroundOverrideOwner).optional(),
|
|
1967
2263
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1968
|
-
gradient:
|
|
2264
|
+
gradient: z17.string().nullable().optional(),
|
|
2265
|
+
gradientPresetId: z17.string().min(1).nullable().optional(),
|
|
1969
2266
|
image: mediaSchema.nullable().optional(),
|
|
1970
|
-
objectFit:
|
|
1971
|
-
scale:
|
|
1972
|
-
position:
|
|
1973
|
-
opacity:
|
|
1974
|
-
motion:
|
|
2267
|
+
objectFit: z17.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
|
|
2268
|
+
scale: z17.string().nullable().optional(),
|
|
2269
|
+
position: z17.string().nullable().optional(),
|
|
2270
|
+
opacity: z17.number().min(0).max(1).nullable().optional(),
|
|
2271
|
+
motion: z17.enum(["static", "fixed-frame"]).nullable().optional(),
|
|
1975
2272
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
1976
2273
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1977
|
-
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
2274
|
+
headingColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2275
|
+
linkColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2276
|
+
supportingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
1978
2277
|
});
|
|
1979
|
-
var noHeadingDecorationSchema =
|
|
1980
|
-
family:
|
|
1981
|
-
placement: z16.literal("none")
|
|
2278
|
+
var noHeadingDecorationSchema = z17.object({
|
|
2279
|
+
family: z17.literal("none")
|
|
1982
2280
|
});
|
|
1983
|
-
var visibleHeadingDecorationSchema =
|
|
1984
|
-
family:
|
|
1985
|
-
|
|
1986
|
-
colorToken: z16.enum(headingDecorationColorTokenValues).optional()
|
|
2281
|
+
var visibleHeadingDecorationSchema = z17.object({
|
|
2282
|
+
family: z17.enum(visibleHeadingDecorationFamilyValues),
|
|
2283
|
+
colorToken: z17.enum(headingDecorationColorTokenValues).optional()
|
|
1987
2284
|
});
|
|
1988
|
-
var headingDecorationSchema =
|
|
2285
|
+
var headingDecorationSchema = z17.union([
|
|
1989
2286
|
noHeadingDecorationSchema,
|
|
1990
2287
|
visibleHeadingDecorationSchema
|
|
1991
2288
|
]);
|
|
1992
|
-
var
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
2289
|
+
var headingDecorationOverrideSchema = z17.union([
|
|
2290
|
+
z17.enum(headingDecorationOverrideValues),
|
|
2291
|
+
// Legacy authoring value from the earlier model. In the render-time model
|
|
2292
|
+
// "on" cannot force a fragment into a block, so it is equivalent to default.
|
|
2293
|
+
z17.literal("on").transform(() => "site-default")
|
|
2294
|
+
]);
|
|
2295
|
+
var accordionIconTreatmentSchema = z17.object({
|
|
2296
|
+
iconSet: z17.enum(accordionIconSetValues),
|
|
2297
|
+
colorToken: z17.enum(accordionIconColorTokenValues),
|
|
2298
|
+
openColorToken: z17.enum(accordionIconColorTokenValues).optional(),
|
|
2299
|
+
motion: z17.enum(accordionIconMotionValues)
|
|
1997
2300
|
});
|
|
1998
|
-
var sectionStylesOverrideSchema =
|
|
2301
|
+
var sectionStylesOverrideSchema = z17.object({
|
|
1999
2302
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2000
2303
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2001
|
-
minHeight:
|
|
2002
|
-
tileTreatment:
|
|
2003
|
-
eventListTreatment:
|
|
2004
|
-
eyebrowTreatment:
|
|
2304
|
+
minHeight: z17.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
2305
|
+
tileTreatment: z17.enum(tileTreatmentValues).nullable().optional(),
|
|
2306
|
+
eventListTreatment: z17.enum(eventListTreatmentValues).nullable().optional(),
|
|
2307
|
+
eyebrowTreatment: z17.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
2005
2308
|
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
2006
|
-
// Author-level
|
|
2007
|
-
//
|
|
2008
|
-
|
|
2309
|
+
// Author-level opt-out consumed by render-time theme projection. Persisted
|
|
2310
|
+
// content may also carry legacy `headingDecoration` / `on` values; those are
|
|
2311
|
+
// tolerated at the schema boundary but the renderer treats the compiled theme
|
|
2312
|
+
// as the only source of the resolved signature.
|
|
2313
|
+
headingDecorationOverride: headingDecorationOverrideSchema.nullable().optional(),
|
|
2009
2314
|
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
2010
2315
|
});
|
|
2011
|
-
var containerStylesOverrideSchema =
|
|
2316
|
+
var containerStylesOverrideSchema = z17.object({
|
|
2012
2317
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2013
2318
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2014
|
-
raised:
|
|
2319
|
+
raised: z17.boolean().nullable().optional(),
|
|
2015
2320
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2016
|
-
fullWidth:
|
|
2321
|
+
fullWidth: z17.boolean().nullable().optional()
|
|
2017
2322
|
});
|
|
2018
|
-
var cardBorderOverrideSchema =
|
|
2019
|
-
enabled:
|
|
2020
|
-
width:
|
|
2323
|
+
var cardBorderOverrideSchema = z17.object({
|
|
2324
|
+
enabled: z17.boolean().nullable().optional(),
|
|
2325
|
+
width: z17.enum(["none", "1", "2", "3"]).nullable().optional(),
|
|
2021
2326
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
2022
2327
|
});
|
|
2023
|
-
var cardStylesOverrideSchema =
|
|
2328
|
+
var cardStylesOverrideSchema = z17.object({
|
|
2024
2329
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2025
2330
|
border: cardBorderOverrideSchema.nullable().optional(),
|
|
2026
2331
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2027
|
-
raised:
|
|
2332
|
+
raised: z17.boolean().nullable().optional(),
|
|
2028
2333
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2029
|
-
treatment:
|
|
2334
|
+
treatment: z17.enum([
|
|
2335
|
+
"accent-quote",
|
|
2336
|
+
"editorial-rule",
|
|
2337
|
+
"soft-panel",
|
|
2338
|
+
"editorial-serif-quote",
|
|
2339
|
+
"editorial-open",
|
|
2340
|
+
"color-blocked"
|
|
2341
|
+
]).nullable().optional(),
|
|
2342
|
+
// Which site-style card variant the card adopts (emits a `.card-{id}` class).
|
|
2343
|
+
// 'none' is boxless. Driven by the block look via testimonialCardTreatment.
|
|
2344
|
+
cardVariant: boxStylesCardVariantSchema.nullable().optional()
|
|
2030
2345
|
});
|
|
2031
|
-
var blockStyleOverridesSchema =
|
|
2346
|
+
var blockStyleOverridesSchema = z17.object({
|
|
2032
2347
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
2033
2348
|
containerStyles: containerStylesOverrideSchema.nullable().optional(),
|
|
2034
2349
|
cardStyles: cardStylesOverrideSchema.nullable().optional()
|
|
2035
2350
|
});
|
|
2036
|
-
var blockThemeOverrideSchema =
|
|
2037
|
-
typography:
|
|
2351
|
+
var blockThemeOverrideSchema = z17.object({
|
|
2352
|
+
typography: z17.object({
|
|
2038
2353
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2039
2354
|
}).optional(),
|
|
2040
2355
|
styles: blockStyleOverridesSchema.optional()
|
|
2041
2356
|
});
|
|
2042
|
-
var typographyScaleSchema =
|
|
2357
|
+
var typographyScaleSchema = z17.enum([
|
|
2043
2358
|
// New intuitive names
|
|
2044
2359
|
"compact",
|
|
2045
2360
|
// ratio 1.2 (was minorThird)
|
|
@@ -2052,9 +2367,9 @@ var typographyScaleSchema = z16.enum([
|
|
|
2052
2367
|
"majorThird",
|
|
2053
2368
|
"perfectFourth"
|
|
2054
2369
|
]);
|
|
2055
|
-
var typographySchema =
|
|
2370
|
+
var typographySchema = z17.object({
|
|
2056
2371
|
body: bodyTypographyStyleSchema,
|
|
2057
|
-
headings:
|
|
2372
|
+
headings: z17.object({
|
|
2058
2373
|
default: headingTypographyStyleSchema,
|
|
2059
2374
|
h1: headingTypographyOverridesSchema,
|
|
2060
2375
|
h2: headingTypographyOverridesSchema,
|
|
@@ -2067,41 +2382,41 @@ var typographySchema = z16.object({
|
|
|
2067
2382
|
scale: typographyScaleSchema,
|
|
2068
2383
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2069
2384
|
});
|
|
2070
|
-
var spaceSchema =
|
|
2071
|
-
var corners =
|
|
2072
|
-
var shadow =
|
|
2073
|
-
elevation:
|
|
2074
|
-
softness:
|
|
2075
|
-
position:
|
|
2385
|
+
var spaceSchema = z17.enum(["comfortable", "standard", "dense"]);
|
|
2386
|
+
var corners = z17.enum(["square", "soft", "rounded", "pill"]);
|
|
2387
|
+
var shadow = z17.object({
|
|
2388
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2389
|
+
softness: z17.enum(["crisp", "soft", "hard"]).nullable(),
|
|
2390
|
+
position: z17.enum(["bottom", "bottom-right"]).default("bottom")
|
|
2076
2391
|
});
|
|
2077
|
-
var border =
|
|
2078
|
-
width:
|
|
2079
|
-
style:
|
|
2392
|
+
var border = z17.object({
|
|
2393
|
+
width: z17.enum(["none", "hairline", "thin", "thick"]),
|
|
2394
|
+
style: z17.enum(["solid", "dashed"])
|
|
2080
2395
|
});
|
|
2081
|
-
var motion =
|
|
2082
|
-
level:
|
|
2083
|
-
easing:
|
|
2396
|
+
var motion = z17.object({
|
|
2397
|
+
level: z17.enum(["off", "low", "medium", "high"]),
|
|
2398
|
+
easing: z17.enum(["standard", "snappy", "gentle"]).nullable()
|
|
2084
2399
|
});
|
|
2085
|
-
var buttonStyle =
|
|
2400
|
+
var buttonStyle = z17.object({
|
|
2086
2401
|
shape: corners
|
|
2087
2402
|
// Used for --radius-control CSS variable
|
|
2088
2403
|
});
|
|
2089
|
-
var cardStyle =
|
|
2090
|
-
elevation:
|
|
2091
|
-
border:
|
|
2404
|
+
var cardStyle = z17.object({
|
|
2405
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2406
|
+
border: z17.enum(["none", "subtle", "defined"]),
|
|
2092
2407
|
shape: corners,
|
|
2093
|
-
headerStyle:
|
|
2094
|
-
mediaTreatment:
|
|
2408
|
+
headerStyle: z17.enum(["plain", "accentBar", "subtleBg"]).nullable(),
|
|
2409
|
+
mediaTreatment: z17.enum(["square", "rounded", "bleed"]).nullable()
|
|
2095
2410
|
});
|
|
2096
|
-
var inputStyle =
|
|
2411
|
+
var inputStyle = z17.object({
|
|
2097
2412
|
shape: corners,
|
|
2098
|
-
border:
|
|
2099
|
-
focus:
|
|
2100
|
-
label:
|
|
2413
|
+
border: z17.enum(["subtle", "defined", "underline"]),
|
|
2414
|
+
focus: z17.enum(["glow", "ring", "underline"]),
|
|
2415
|
+
label: z17.enum(["inside", "above"])
|
|
2101
2416
|
});
|
|
2102
|
-
var headerVariant =
|
|
2103
|
-
var headerPositioning =
|
|
2104
|
-
var headerNavStyle =
|
|
2417
|
+
var headerVariant = z17.enum(["classic", "centered", "transparent", "floating"]);
|
|
2418
|
+
var headerPositioning = z17.enum(["static", "sticky", "fixed"]);
|
|
2419
|
+
var headerNavStyle = z17.enum([
|
|
2105
2420
|
"minimal",
|
|
2106
2421
|
"underline",
|
|
2107
2422
|
"underline-grow",
|
|
@@ -2110,54 +2425,57 @@ var headerNavStyle = z16.enum([
|
|
|
2110
2425
|
"frosted",
|
|
2111
2426
|
"solid"
|
|
2112
2427
|
]);
|
|
2113
|
-
var navFontWeight =
|
|
2114
|
-
var headerMaxWidth =
|
|
2115
|
-
var headerContainerSchema =
|
|
2116
|
-
rounded:
|
|
2117
|
-
border:
|
|
2118
|
-
shadow:
|
|
2119
|
-
padding:
|
|
2120
|
-
tint:
|
|
2121
|
-
opacity:
|
|
2428
|
+
var navFontWeight = z17.enum(["regular", "medium", "semibold", "bold"]);
|
|
2429
|
+
var headerMaxWidth = z17.enum(["container", "full"]);
|
|
2430
|
+
var headerContainerSchema = z17.object({
|
|
2431
|
+
rounded: z17.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
|
|
2432
|
+
border: z17.boolean().default(true),
|
|
2433
|
+
shadow: z17.boolean().default(true),
|
|
2434
|
+
padding: z17.enum(["sm", "md", "lg"]).default("md"),
|
|
2435
|
+
tint: z17.string().nullable().optional(),
|
|
2436
|
+
opacity: z17.number().min(0).max(1).default(0.12)
|
|
2122
2437
|
}).optional();
|
|
2123
2438
|
var headerBorderSchema = componentBorderSchema.extend({
|
|
2124
|
-
position:
|
|
2439
|
+
position: z17.enum(["bottom", "top", "both", "none"]).default("bottom")
|
|
2125
2440
|
}).optional();
|
|
2126
|
-
var logoStyleSchema =
|
|
2127
|
-
fontFamily:
|
|
2128
|
-
letterSpacing:
|
|
2129
|
-
gradient:
|
|
2441
|
+
var logoStyleSchema = z17.object({
|
|
2442
|
+
fontFamily: z17.enum(["heading", "body"]).default("heading"),
|
|
2443
|
+
letterSpacing: z17.enum(["normal", "wide", "wider", "widest"]).default("normal"),
|
|
2444
|
+
gradient: z17.boolean().default(false),
|
|
2445
|
+
brandDisplay: z17.enum(brandDisplayModeValues).optional(),
|
|
2446
|
+
size: z17.enum(logoSizePolicyValues).optional(),
|
|
2447
|
+
accommodation: z17.enum(logoAccommodationPatternValues).optional()
|
|
2130
2448
|
}).optional();
|
|
2131
|
-
var headerLogoTextSchema =
|
|
2132
|
-
mobileWrapLines:
|
|
2133
|
-
mobileMaxWidth:
|
|
2134
|
-
hideOnShrink:
|
|
2449
|
+
var headerLogoTextSchema = z17.object({
|
|
2450
|
+
mobileWrapLines: z17.union([z17.literal(1), z17.literal(2)]).optional(),
|
|
2451
|
+
mobileMaxWidth: z17.enum(["xs", "sm", "md"]).optional(),
|
|
2452
|
+
hideOnShrink: z17.boolean().optional()
|
|
2135
2453
|
}).optional();
|
|
2136
|
-
var navEffectsSchema =
|
|
2137
|
-
underlineGradient:
|
|
2138
|
-
glow:
|
|
2139
|
-
glowColor:
|
|
2140
|
-
neumorphic:
|
|
2454
|
+
var navEffectsSchema = z17.object({
|
|
2455
|
+
underlineGradient: z17.boolean().default(false),
|
|
2456
|
+
glow: z17.boolean().default(false),
|
|
2457
|
+
glowColor: z17.string().optional(),
|
|
2458
|
+
neumorphic: z17.boolean().default(false)
|
|
2141
2459
|
}).optional();
|
|
2142
|
-
var dropdownStyleSchema =
|
|
2460
|
+
var dropdownStyleSchema = z17.object({
|
|
2143
2461
|
// Container styling
|
|
2144
2462
|
background: themeColorTokenSchema.default("surface"),
|
|
2145
2463
|
textColor: themeColorTokenSchema.default("text"),
|
|
2146
2464
|
borderColor: themeColorTokenSchema.nullable().default("border"),
|
|
2147
|
-
shadow:
|
|
2148
|
-
borderRadius:
|
|
2465
|
+
shadow: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2466
|
+
borderRadius: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2149
2467
|
// Link hover states (explicit control)
|
|
2150
2468
|
hoverBackground: themeColorTokenSchema.nullable().optional(),
|
|
2151
2469
|
hoverTextColor: themeColorTokenSchema.nullable().optional(),
|
|
2152
2470
|
// Typography
|
|
2153
|
-
textTransform:
|
|
2154
|
-
letterSpacing:
|
|
2155
|
-
fontWeight:
|
|
2471
|
+
textTransform: z17.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
2472
|
+
letterSpacing: z17.enum(["normal", "wide", "wider"]).default("normal"),
|
|
2473
|
+
fontWeight: z17.enum(["regular", "medium", "semibold", "bold"]).optional(),
|
|
2156
2474
|
// optional = inherit from navWeight
|
|
2157
|
-
textSize:
|
|
2475
|
+
textSize: z17.enum(["xs", "sm", "base", "lg"]).optional()
|
|
2158
2476
|
// optional = no override (browser default)
|
|
2159
2477
|
}).optional();
|
|
2160
|
-
var headerCtaGapSchema =
|
|
2478
|
+
var headerCtaGapSchema = z17.enum([
|
|
2161
2479
|
"none",
|
|
2162
2480
|
"tight",
|
|
2163
2481
|
"compact",
|
|
@@ -2165,7 +2483,7 @@ var headerCtaGapSchema = z16.enum([
|
|
|
2165
2483
|
"relaxed",
|
|
2166
2484
|
"spacious"
|
|
2167
2485
|
]);
|
|
2168
|
-
var headerCtaTreatmentSchema =
|
|
2486
|
+
var headerCtaTreatmentSchema = z17.enum([
|
|
2169
2487
|
"default",
|
|
2170
2488
|
"primary",
|
|
2171
2489
|
"secondary",
|
|
@@ -2173,22 +2491,22 @@ var headerCtaTreatmentSchema = z16.enum([
|
|
|
2173
2491
|
"outline",
|
|
2174
2492
|
"ghost"
|
|
2175
2493
|
]);
|
|
2176
|
-
var navContainerSchema =
|
|
2177
|
-
type:
|
|
2178
|
-
tint:
|
|
2179
|
-
opacity:
|
|
2494
|
+
var navContainerSchema = z17.object({
|
|
2495
|
+
type: z17.enum(["none", "pill", "glass"]).default("none"),
|
|
2496
|
+
tint: z17.string().nullable().optional(),
|
|
2497
|
+
opacity: z17.number().min(0).max(1).default(0.15)
|
|
2180
2498
|
}).default({ type: "none", tint: null, opacity: 0.15 });
|
|
2181
|
-
var headerBackgroundSchema =
|
|
2182
|
-
type:
|
|
2499
|
+
var headerBackgroundSchema = z17.object({
|
|
2500
|
+
type: z17.enum(["color", "gradient", "image"]),
|
|
2183
2501
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2184
2502
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
2185
2503
|
image: mediaSchema.nullable().optional(),
|
|
2186
2504
|
textColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
2187
2505
|
});
|
|
2188
|
-
var headerSchema =
|
|
2506
|
+
var headerSchema = z17.object({
|
|
2189
2507
|
variant: headerVariant,
|
|
2190
2508
|
positioning: headerPositioning,
|
|
2191
|
-
shrinkOnScroll:
|
|
2509
|
+
shrinkOnScroll: z17.boolean(),
|
|
2192
2510
|
maxWidth: headerMaxWidth,
|
|
2193
2511
|
logoOverride: mediaSchema.nullable().optional(),
|
|
2194
2512
|
background: headerBackgroundSchema.default({
|
|
@@ -2218,16 +2536,16 @@ var headerSchema = z16.object({
|
|
|
2218
2536
|
// Optional theme-level CTA variant for header/nav CTA buttons.
|
|
2219
2537
|
// Internal runtime bridge for the block renderer; prefer ctaTreatment in
|
|
2220
2538
|
// authored Theme V2 concepts.
|
|
2221
|
-
ctaVariant:
|
|
2539
|
+
ctaVariant: z17.string().min(1).optional(),
|
|
2222
2540
|
// Dropdown menu styling (nav dropdowns and mobile drawer)
|
|
2223
2541
|
dropdownStyle: dropdownStyleSchema
|
|
2224
2542
|
});
|
|
2225
|
-
var footerVariant =
|
|
2226
|
-
var footerMaxWidth =
|
|
2227
|
-
var footerMode =
|
|
2228
|
-
var footerNavLayoutMode =
|
|
2229
|
-
var footerNavLayoutAlign =
|
|
2230
|
-
var footerSpacing =
|
|
2543
|
+
var footerVariant = z17.enum(["simple", "columns", "split"]);
|
|
2544
|
+
var footerMaxWidth = z17.enum(["container", "full"]);
|
|
2545
|
+
var footerMode = z17.enum(["default", "blocks", "default+blocks", "none"]);
|
|
2546
|
+
var footerNavLayoutMode = z17.enum(["stack", "inline", "inline-wrap"]);
|
|
2547
|
+
var footerNavLayoutAlign = z17.enum(["start", "center", "end", "space-between"]);
|
|
2548
|
+
var footerSpacing = z17.enum([
|
|
2231
2549
|
"none",
|
|
2232
2550
|
"tight",
|
|
2233
2551
|
"compact",
|
|
@@ -2235,44 +2553,44 @@ var footerSpacing = z16.enum([
|
|
|
2235
2553
|
"relaxed",
|
|
2236
2554
|
"spacious"
|
|
2237
2555
|
]);
|
|
2238
|
-
var footerLogoPlacement =
|
|
2239
|
-
var footerLogoSize =
|
|
2240
|
-
var footerLogoMaxHeight =
|
|
2241
|
-
var footerBottomTextLinkStyleSchema =
|
|
2556
|
+
var footerLogoPlacement = z17.enum(["left", "right", "above", "below"]);
|
|
2557
|
+
var footerLogoSize = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2558
|
+
var footerLogoMaxHeight = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2559
|
+
var footerBottomTextLinkStyleSchema = z17.object({
|
|
2242
2560
|
colorToken: themeColorTokenSchema.optional(),
|
|
2243
2561
|
hoverColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2244
2562
|
decorationColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2245
|
-
underline:
|
|
2563
|
+
underline: z17.boolean().optional()
|
|
2246
2564
|
});
|
|
2247
|
-
var footerBottomBarSchema =
|
|
2248
|
-
enabled:
|
|
2249
|
-
fullBleed:
|
|
2565
|
+
var footerBottomBarSchema = z17.object({
|
|
2566
|
+
enabled: z17.boolean().optional(),
|
|
2567
|
+
fullBleed: z17.boolean().optional(),
|
|
2250
2568
|
background: headerBackgroundSchema.optional(),
|
|
2251
2569
|
textColor: themeColorTokenSchema.nullable().optional(),
|
|
2252
|
-
textAlign:
|
|
2570
|
+
textAlign: z17.enum(["left", "center", "right"]).optional(),
|
|
2253
2571
|
paddingY: footerSpacing.optional(),
|
|
2254
2572
|
paddingX: footerSpacing.optional(),
|
|
2255
|
-
borderTop:
|
|
2573
|
+
borderTop: z17.object({
|
|
2256
2574
|
colorToken: themeColorTokenSchema.nullable().optional(),
|
|
2257
|
-
width:
|
|
2575
|
+
width: z17.enum(["none", "thin", "medium", "thick"]).optional()
|
|
2258
2576
|
}).optional()
|
|
2259
2577
|
});
|
|
2260
|
-
var footerNavLayoutSchema =
|
|
2578
|
+
var footerNavLayoutSchema = z17.object({
|
|
2261
2579
|
layout: footerNavLayoutMode.optional(),
|
|
2262
2580
|
align: footerNavLayoutAlign.optional(),
|
|
2263
2581
|
gapX: footerSpacing.optional(),
|
|
2264
2582
|
gapY: footerSpacing.optional(),
|
|
2265
|
-
columns:
|
|
2583
|
+
columns: z17.number().int().min(1).max(6).optional()
|
|
2266
2584
|
});
|
|
2267
|
-
var footerLogoSchema =
|
|
2268
|
-
showLogo:
|
|
2269
|
-
showLogoText:
|
|
2585
|
+
var footerLogoSchema = z17.object({
|
|
2586
|
+
showLogo: z17.boolean().default(true),
|
|
2587
|
+
showLogoText: z17.boolean().optional(),
|
|
2270
2588
|
placement: footerLogoPlacement.optional(),
|
|
2271
2589
|
size: footerLogoSize.optional(),
|
|
2272
2590
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
2273
|
-
align:
|
|
2591
|
+
align: z17.enum(["start", "center", "end"]).optional()
|
|
2274
2592
|
});
|
|
2275
|
-
var footerSchema =
|
|
2593
|
+
var footerSchema = z17.object({
|
|
2276
2594
|
/**
|
|
2277
2595
|
* SDK-only footer rendering mode.
|
|
2278
2596
|
*
|
|
@@ -2281,7 +2599,7 @@ var footerSchema = z16.object({
|
|
|
2281
2599
|
mode: footerMode.optional(),
|
|
2282
2600
|
variant: footerVariant,
|
|
2283
2601
|
maxWidth: footerMaxWidth,
|
|
2284
|
-
showLogoText:
|
|
2602
|
+
showLogoText: z17.boolean().optional(),
|
|
2285
2603
|
background: headerBackgroundSchema.default({
|
|
2286
2604
|
type: "color",
|
|
2287
2605
|
color: "surface"
|
|
@@ -2299,20 +2617,20 @@ var footerSchema = z16.object({
|
|
|
2299
2617
|
logo: footerLogoSchema.optional(),
|
|
2300
2618
|
bottomBar: footerBottomBarSchema.optional()
|
|
2301
2619
|
});
|
|
2302
|
-
var containerPaddingPresetSchema =
|
|
2620
|
+
var containerPaddingPresetSchema = z17.enum([
|
|
2303
2621
|
"tight",
|
|
2304
2622
|
"compact",
|
|
2305
2623
|
"default",
|
|
2306
2624
|
"relaxed"
|
|
2307
2625
|
]);
|
|
2308
|
-
var layoutSchema =
|
|
2309
|
-
containerPadding:
|
|
2626
|
+
var layoutSchema = z17.object({
|
|
2627
|
+
containerPadding: z17.object({
|
|
2310
2628
|
mobile: containerPaddingPresetSchema.optional(),
|
|
2311
2629
|
tablet: containerPaddingPresetSchema.optional(),
|
|
2312
2630
|
desktop: containerPaddingPresetSchema.optional()
|
|
2313
2631
|
}).optional()
|
|
2314
2632
|
}).optional();
|
|
2315
|
-
var heroTypographySizeSchema =
|
|
2633
|
+
var heroTypographySizeSchema = z17.enum([
|
|
2316
2634
|
"sm",
|
|
2317
2635
|
"base",
|
|
2318
2636
|
"lg",
|
|
@@ -2324,19 +2642,19 @@ var heroTypographySizeSchema = z16.enum([
|
|
|
2324
2642
|
"6xl",
|
|
2325
2643
|
"editorial"
|
|
2326
2644
|
]);
|
|
2327
|
-
var heroTypographyLineHeightSchema =
|
|
2645
|
+
var heroTypographyLineHeightSchema = z17.enum([
|
|
2328
2646
|
"tight",
|
|
2329
2647
|
"snug",
|
|
2330
2648
|
"normal",
|
|
2331
2649
|
"relaxed"
|
|
2332
2650
|
]);
|
|
2333
|
-
var heroResponsiveTypographySchema =
|
|
2651
|
+
var heroResponsiveTypographySchema = z17.object({
|
|
2334
2652
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2335
2653
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2336
2654
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
2337
2655
|
subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
|
|
2338
2656
|
});
|
|
2339
|
-
var heroTypographySchema =
|
|
2657
|
+
var heroTypographySchema = z17.object({
|
|
2340
2658
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2341
2659
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2342
2660
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
@@ -2345,31 +2663,38 @@ var heroTypographySchema = z16.object({
|
|
|
2345
2663
|
microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2346
2664
|
microSubheadlineSize: heroTypographySizeSchema.optional(),
|
|
2347
2665
|
microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2348
|
-
responsive:
|
|
2666
|
+
responsive: z17.object({
|
|
2349
2667
|
tablet: heroResponsiveTypographySchema.optional(),
|
|
2350
2668
|
mobile: heroResponsiveTypographySchema.optional()
|
|
2351
2669
|
}).optional()
|
|
2352
2670
|
});
|
|
2353
|
-
var heroSchema =
|
|
2671
|
+
var heroSchema = z17.object({
|
|
2354
2672
|
typography: heroTypographySchema.optional()
|
|
2355
2673
|
}).optional();
|
|
2356
|
-
var bodyTextIntroTypographySizeSchema =
|
|
2357
|
-
var bodyTextSchema =
|
|
2358
|
-
intro:
|
|
2674
|
+
var bodyTextIntroTypographySizeSchema = z17.enum(["default", "editorial"]);
|
|
2675
|
+
var bodyTextSchema = z17.object({
|
|
2676
|
+
intro: z17.object({
|
|
2359
2677
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
2360
2678
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
2361
2679
|
}).optional()
|
|
2362
2680
|
}).optional();
|
|
2363
|
-
var gradientsSchema =
|
|
2364
|
-
button:
|
|
2365
|
-
hero:
|
|
2366
|
-
background:
|
|
2681
|
+
var gradientsSchema = z17.object({
|
|
2682
|
+
button: z17.string().min(1).nullable().optional(),
|
|
2683
|
+
hero: z17.string().min(1).nullable().optional(),
|
|
2684
|
+
background: z17.string().min(1).nullable().optional()
|
|
2367
2685
|
});
|
|
2368
|
-
var
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2686
|
+
var testimonialQuoteTreatmentSchema = z17.object({
|
|
2687
|
+
style: z17.enum(["serif-display", "accent-glyph", "none"]),
|
|
2688
|
+
fontFamily: z17.enum(["heading", "body"]).optional(),
|
|
2689
|
+
scale: z17.enum(["sm", "md", "lg", "xl"]).optional(),
|
|
2690
|
+
colorToken: themeColorTokenSchema.optional(),
|
|
2691
|
+
opacity: z17.number().min(0).max(1).optional()
|
|
2692
|
+
});
|
|
2693
|
+
var themeSchema = z17.object({
|
|
2694
|
+
name: z17.string().min(1).max(30),
|
|
2695
|
+
description: z17.string().min(1).max(400),
|
|
2696
|
+
rationale: z17.string().min(1).max(400),
|
|
2697
|
+
siteStyleId: z17.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
|
|
2373
2698
|
axes: axesSchema,
|
|
2374
2699
|
palette: paletteSchema,
|
|
2375
2700
|
typography: typographySchema,
|
|
@@ -2390,6 +2715,8 @@ var themeSchema = z16.object({
|
|
|
2390
2715
|
// Card variant system (optional for backwards compatibility)
|
|
2391
2716
|
accordions: accordionSystemSchema.optional(),
|
|
2392
2717
|
// Accordion system (optional - generated if not provided)
|
|
2718
|
+
testimonialQuote: testimonialQuoteTreatmentSchema.optional(),
|
|
2719
|
+
// Testimonial quote-mark treatment (site-style-owned)
|
|
2393
2720
|
inputs: inputSystemSchema.optional(),
|
|
2394
2721
|
// Input system (optional - generated if not provided)
|
|
2395
2722
|
inputStyle: inputStyle.optional(),
|
|
@@ -2397,15 +2724,19 @@ var themeSchema = z16.object({
|
|
|
2397
2724
|
// Block-specific customization (Tier 3)
|
|
2398
2725
|
// blockCustomVars: Per-block CSS variable overrides as bare values
|
|
2399
2726
|
// Example: { "event-registration": { "--step-color": "#6d28d9" } }
|
|
2400
|
-
blockCustomVars:
|
|
2401
|
-
|
|
2727
|
+
blockCustomVars: z17.record(
|
|
2728
|
+
z17.string(),
|
|
2402
2729
|
// block kind (matches data-block attribute)
|
|
2403
|
-
|
|
2730
|
+
z17.record(z17.string(), z17.string())
|
|
2404
2731
|
// { '--var-name': 'value' }
|
|
2405
2732
|
).optional(),
|
|
2406
2733
|
// Structured block-kind theme overrides (v1: typography prose-link style only)
|
|
2407
2734
|
// Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
|
|
2408
|
-
blockOverrides:
|
|
2735
|
+
blockOverrides: z17.record(z17.string(), blockThemeOverrideSchema).optional(),
|
|
2736
|
+
// Site-wide heading decoration signature (family + colour). Set once per Look
|
|
2737
|
+
// and projected transiently onto eligible block headings at render time.
|
|
2738
|
+
// Alignment is inherited from the heading, so no placement is stored.
|
|
2739
|
+
headingDecoration: headingDecorationSchema.optional(),
|
|
2409
2740
|
// Structured custom CSS rules
|
|
2410
2741
|
// Validated, scoped, and safe by construction - no @import, remote url(), or global selectors
|
|
2411
2742
|
customCssRules: customCssRulesSchema,
|
|
@@ -2439,11 +2770,11 @@ var themeSchema = z16.object({
|
|
|
2439
2770
|
* }
|
|
2440
2771
|
* ```
|
|
2441
2772
|
*/
|
|
2442
|
-
styleGroups:
|
|
2773
|
+
styleGroups: z17.record(z17.string(), z17.array(z17.string())).optional()
|
|
2443
2774
|
});
|
|
2444
|
-
var themesTurnSchema =
|
|
2445
|
-
message:
|
|
2446
|
-
themes:
|
|
2775
|
+
var themesTurnSchema = z17.object({
|
|
2776
|
+
message: z17.string().min(1),
|
|
2777
|
+
themes: z17.array(themeSchema).length(3)
|
|
2447
2778
|
});
|
|
2448
2779
|
|
|
2449
2780
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
@@ -2511,26 +2842,26 @@ function generateShadowCssVars(theme) {
|
|
|
2511
2842
|
}
|
|
2512
2843
|
|
|
2513
2844
|
// ../theme-core/src/palette/variants/types.ts
|
|
2514
|
-
import { z as
|
|
2845
|
+
import { z as z18 } from "zod";
|
|
2515
2846
|
function asPaletteVariantId(value) {
|
|
2516
2847
|
if (value.length === 0) {
|
|
2517
2848
|
throw new Error("PaletteVariantId must be a non-empty string");
|
|
2518
2849
|
}
|
|
2519
2850
|
return value;
|
|
2520
2851
|
}
|
|
2521
|
-
var paletteVariantIdSchema =
|
|
2852
|
+
var paletteVariantIdSchema = z18.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
2522
2853
|
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
2523
|
-
var hexColorSchema =
|
|
2854
|
+
var hexColorSchema = z18.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
2524
2855
|
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
2525
2856
|
name: paletteTokenNameSchema
|
|
2526
2857
|
});
|
|
2527
|
-
var paletteVariantSchema =
|
|
2858
|
+
var paletteVariantSchema = z18.object({
|
|
2528
2859
|
id: paletteVariantIdSchema,
|
|
2529
|
-
name:
|
|
2530
|
-
description:
|
|
2860
|
+
name: z18.string().min(1),
|
|
2861
|
+
description: z18.string().min(1),
|
|
2531
2862
|
tags: styleTagsSchema,
|
|
2532
|
-
mode:
|
|
2533
|
-
colors:
|
|
2863
|
+
mode: z18.enum(["light", "dark"]),
|
|
2864
|
+
colors: z18.array(variantPaletteColorSchema).min(1)
|
|
2534
2865
|
});
|
|
2535
2866
|
function definePaletteVariant(input) {
|
|
2536
2867
|
return {
|
|
@@ -2542,7 +2873,7 @@ function definePaletteVariant(input) {
|
|
|
2542
2873
|
colors: input.colors
|
|
2543
2874
|
};
|
|
2544
2875
|
}
|
|
2545
|
-
var paletteOverridesSchema =
|
|
2876
|
+
var paletteOverridesSchema = z18.object({
|
|
2546
2877
|
primary: hexColorSchema.optional(),
|
|
2547
2878
|
primaryForeground: hexColorSchema.optional(),
|
|
2548
2879
|
secondary: hexColorSchema.optional(),
|
|
@@ -2783,6 +3114,28 @@ var softNaturalWatercolor = definePaletteVariant({
|
|
|
2783
3114
|
{ name: "border", hex: "#d8c9a8" }
|
|
2784
3115
|
]
|
|
2785
3116
|
});
|
|
3117
|
+
var softNaturalLilac = definePaletteVariant({
|
|
3118
|
+
id: "soft-natural-lilac",
|
|
3119
|
+
name: "Soft Natural \u2014 Lilac",
|
|
3120
|
+
description: "Watercolour periwinkle-lilac primary with warm ivory grounds and a sage accent.",
|
|
3121
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
3122
|
+
mode: "light",
|
|
3123
|
+
colors: [
|
|
3124
|
+
{ name: "primary", hex: "#5c68a8" },
|
|
3125
|
+
{ name: "secondary", hex: "#8189ad" },
|
|
3126
|
+
{ name: "accent", hex: "#75835a" },
|
|
3127
|
+
{ name: "success", hex: "#5f7d62" },
|
|
3128
|
+
{ name: "warning", hex: "#a8884f" },
|
|
3129
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
3130
|
+
{ name: "background", hex: "#faf9f6" },
|
|
3131
|
+
{ name: "surface", hex: "#ffffff" },
|
|
3132
|
+
{ name: "surfaceAlt", hex: "#f1f0f7" },
|
|
3133
|
+
{ name: "muted", hex: "#e9e8f2" },
|
|
3134
|
+
{ name: "text", hex: "#262633" },
|
|
3135
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
3136
|
+
{ name: "border", hex: "#d6d5e3" }
|
|
3137
|
+
]
|
|
3138
|
+
});
|
|
2786
3139
|
|
|
2787
3140
|
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
2788
3141
|
var warmNeutralClay = definePaletteVariant({
|
|
@@ -2874,6 +3227,30 @@ var warmNeutralForest = definePaletteVariant({
|
|
|
2874
3227
|
]
|
|
2875
3228
|
});
|
|
2876
3229
|
|
|
3230
|
+
// ../theme-core/src/palette/variants/warm-dark.ts
|
|
3231
|
+
var warmDarkEmber = definePaletteVariant({
|
|
3232
|
+
id: "warm-dark-ember",
|
|
3233
|
+
name: "Warm Dark \u2014 Ember",
|
|
3234
|
+
description: "Deep clay-brown ground with burnt-orange accent and warm cream text.",
|
|
3235
|
+
tags: { tone: "bold", energy: "vibrant", era: "organic" },
|
|
3236
|
+
mode: "dark",
|
|
3237
|
+
colors: [
|
|
3238
|
+
{ name: "primary", hex: "#ce612f" },
|
|
3239
|
+
{ name: "secondary", hex: "#894e31" },
|
|
3240
|
+
{ name: "accent", hex: "#ce612f" },
|
|
3241
|
+
{ name: "success", hex: "#6f8f57" },
|
|
3242
|
+
{ name: "warning", hex: "#c98a3c" },
|
|
3243
|
+
{ name: "destructive", hex: "#c0492f" },
|
|
3244
|
+
{ name: "background", hex: "#4f2415" },
|
|
3245
|
+
{ name: "surface", hex: "#5c3320" },
|
|
3246
|
+
{ name: "surfaceAlt", hex: "#693a25" },
|
|
3247
|
+
{ name: "muted", hex: "#6a3d27" },
|
|
3248
|
+
{ name: "text", hex: "#f0e1d0" },
|
|
3249
|
+
{ name: "primaryForeground", hex: "#4f2415" },
|
|
3250
|
+
{ name: "border", hex: "#894e31" }
|
|
3251
|
+
]
|
|
3252
|
+
});
|
|
3253
|
+
|
|
2877
3254
|
// ../theme-core/src/palette/variants/index.ts
|
|
2878
3255
|
var paletteVariants = [
|
|
2879
3256
|
// Brand-led family
|
|
@@ -2893,13 +3270,192 @@ var paletteVariants = [
|
|
|
2893
3270
|
// Soft-natural family
|
|
2894
3271
|
softNaturalSage,
|
|
2895
3272
|
softNaturalStone,
|
|
2896
|
-
softNaturalWatercolor
|
|
3273
|
+
softNaturalWatercolor,
|
|
3274
|
+
softNaturalLilac,
|
|
3275
|
+
// Warm-dark family (dark mode)
|
|
3276
|
+
warmDarkEmber
|
|
2897
3277
|
];
|
|
2898
3278
|
var paletteVariantsById = new Map(
|
|
2899
3279
|
paletteVariants.map((v) => [v.id, v])
|
|
2900
3280
|
);
|
|
2901
3281
|
|
|
2902
3282
|
// ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
3283
|
+
var editorialDividedAccordionSystem = {
|
|
3284
|
+
background: null,
|
|
3285
|
+
spacing: "comfortable",
|
|
3286
|
+
corners: "square",
|
|
3287
|
+
border: null,
|
|
3288
|
+
shadow: null,
|
|
3289
|
+
icon: {
|
|
3290
|
+
style: "plus-minus",
|
|
3291
|
+
position: "right",
|
|
3292
|
+
size: "md",
|
|
3293
|
+
colorToken: "primary"
|
|
3294
|
+
},
|
|
3295
|
+
trigger: {
|
|
3296
|
+
textColorToken: "text",
|
|
3297
|
+
fontWeight: "regular",
|
|
3298
|
+
fontFamily: "heading",
|
|
3299
|
+
fontScale: "lg"
|
|
3300
|
+
},
|
|
3301
|
+
hover: {
|
|
3302
|
+
textColorToken: "primary"
|
|
3303
|
+
},
|
|
3304
|
+
openState: {
|
|
3305
|
+
backgroundColorToken: "surfaceAlt",
|
|
3306
|
+
triggerColorToken: "primary",
|
|
3307
|
+
accent: {
|
|
3308
|
+
edge: "left",
|
|
3309
|
+
colorToken: "primary",
|
|
3310
|
+
thickness: "medium"
|
|
3311
|
+
}
|
|
3312
|
+
},
|
|
3313
|
+
content: {
|
|
3314
|
+
textColorToken: "neutral-700"
|
|
3315
|
+
}
|
|
3316
|
+
};
|
|
3317
|
+
var quietUnderlinedAccordionSystem = {
|
|
3318
|
+
background: null,
|
|
3319
|
+
spacing: "spacious",
|
|
3320
|
+
corners: "square",
|
|
3321
|
+
border: null,
|
|
3322
|
+
shadow: null,
|
|
3323
|
+
icon: {
|
|
3324
|
+
style: "chevron",
|
|
3325
|
+
position: "right",
|
|
3326
|
+
size: "sm",
|
|
3327
|
+
colorToken: "muted"
|
|
3328
|
+
},
|
|
3329
|
+
trigger: {
|
|
3330
|
+
textColorToken: "text",
|
|
3331
|
+
fontWeight: "regular",
|
|
3332
|
+
fontFamily: "heading",
|
|
3333
|
+
fontScale: "lg"
|
|
3334
|
+
},
|
|
3335
|
+
hover: {
|
|
3336
|
+
textColorToken: "primary"
|
|
3337
|
+
},
|
|
3338
|
+
openState: {
|
|
3339
|
+
triggerColorToken: "primary"
|
|
3340
|
+
},
|
|
3341
|
+
content: {
|
|
3342
|
+
textColorToken: "neutral-700"
|
|
3343
|
+
}
|
|
3344
|
+
};
|
|
3345
|
+
var calmPanelAccordionSystem = {
|
|
3346
|
+
background: {
|
|
3347
|
+
type: "solid",
|
|
3348
|
+
colorToken: "surface"
|
|
3349
|
+
},
|
|
3350
|
+
spacing: "comfortable",
|
|
3351
|
+
corners: "soft",
|
|
3352
|
+
border: {
|
|
3353
|
+
widthClass: "border",
|
|
3354
|
+
colorToken: "border"
|
|
3355
|
+
},
|
|
3356
|
+
shadow: {
|
|
3357
|
+
elevation: "low",
|
|
3358
|
+
softness: "soft",
|
|
3359
|
+
position: "bottom"
|
|
3360
|
+
},
|
|
3361
|
+
icon: {
|
|
3362
|
+
style: "chevron",
|
|
3363
|
+
position: "right",
|
|
3364
|
+
size: "md",
|
|
3365
|
+
colorToken: "primary"
|
|
3366
|
+
},
|
|
3367
|
+
trigger: {
|
|
3368
|
+
textColorToken: "text",
|
|
3369
|
+
fontWeight: "medium",
|
|
3370
|
+
fontFamily: "heading",
|
|
3371
|
+
fontScale: "md"
|
|
3372
|
+
},
|
|
3373
|
+
hover: {
|
|
3374
|
+
backgroundColorToken: "primary/5",
|
|
3375
|
+
textColorToken: "primary"
|
|
3376
|
+
},
|
|
3377
|
+
openState: {
|
|
3378
|
+
backgroundColorToken: "primary/5",
|
|
3379
|
+
triggerColorToken: "primary"
|
|
3380
|
+
},
|
|
3381
|
+
content: {
|
|
3382
|
+
textColorToken: "neutral-700"
|
|
3383
|
+
}
|
|
3384
|
+
};
|
|
3385
|
+
var boldBorderedAccordionSystem = {
|
|
3386
|
+
background: {
|
|
3387
|
+
type: "solid",
|
|
3388
|
+
colorToken: "surface"
|
|
3389
|
+
},
|
|
3390
|
+
spacing: "comfortable",
|
|
3391
|
+
corners: "soft",
|
|
3392
|
+
border: {
|
|
3393
|
+
widthClass: "border-2",
|
|
3394
|
+
colorToken: "border"
|
|
3395
|
+
},
|
|
3396
|
+
shadow: null,
|
|
3397
|
+
icon: {
|
|
3398
|
+
style: "plus-minus",
|
|
3399
|
+
position: "right",
|
|
3400
|
+
size: "lg",
|
|
3401
|
+
colorToken: "primary"
|
|
3402
|
+
},
|
|
3403
|
+
trigger: {
|
|
3404
|
+
textColorToken: "text",
|
|
3405
|
+
fontWeight: "bold",
|
|
3406
|
+
fontFamily: "heading",
|
|
3407
|
+
fontScale: "md"
|
|
3408
|
+
},
|
|
3409
|
+
hover: {
|
|
3410
|
+
backgroundColorToken: "primary/10",
|
|
3411
|
+
textColorToken: "primary"
|
|
3412
|
+
},
|
|
3413
|
+
openState: {
|
|
3414
|
+
backgroundColorToken: "primary/10",
|
|
3415
|
+
triggerColorToken: "primary",
|
|
3416
|
+
accent: {
|
|
3417
|
+
edge: "left",
|
|
3418
|
+
colorToken: "primary",
|
|
3419
|
+
thickness: "thick"
|
|
3420
|
+
}
|
|
3421
|
+
},
|
|
3422
|
+
content: {
|
|
3423
|
+
textColorToken: "neutral-700"
|
|
3424
|
+
}
|
|
3425
|
+
};
|
|
3426
|
+
var warmInsetAccordionSystem = {
|
|
3427
|
+
background: {
|
|
3428
|
+
type: "solid",
|
|
3429
|
+
colorToken: "surfaceAlt"
|
|
3430
|
+
},
|
|
3431
|
+
spacing: "comfortable",
|
|
3432
|
+
corners: "rounded",
|
|
3433
|
+
border: null,
|
|
3434
|
+
shadow: null,
|
|
3435
|
+
icon: {
|
|
3436
|
+
style: "circle-plus-minus",
|
|
3437
|
+
position: "right",
|
|
3438
|
+
size: "md",
|
|
3439
|
+
colorToken: "primary"
|
|
3440
|
+
},
|
|
3441
|
+
trigger: {
|
|
3442
|
+
textColorToken: "text",
|
|
3443
|
+
fontWeight: "semibold",
|
|
3444
|
+
fontFamily: "heading",
|
|
3445
|
+
fontScale: "md"
|
|
3446
|
+
},
|
|
3447
|
+
hover: {
|
|
3448
|
+
backgroundColorToken: "primary/5",
|
|
3449
|
+
textColorToken: "primary"
|
|
3450
|
+
},
|
|
3451
|
+
openState: {
|
|
3452
|
+
backgroundColorToken: "surface",
|
|
3453
|
+
triggerColorToken: "primary"
|
|
3454
|
+
},
|
|
3455
|
+
content: {
|
|
3456
|
+
textColorToken: "neutral-700"
|
|
3457
|
+
}
|
|
3458
|
+
};
|
|
2903
3459
|
var softEarthAccordionSystem = {
|
|
2904
3460
|
background: {
|
|
2905
3461
|
type: "solid",
|
|
@@ -2917,34 +3473,140 @@ var softEarthAccordionSystem = {
|
|
|
2917
3473
|
},
|
|
2918
3474
|
trigger: {
|
|
2919
3475
|
textColorToken: "text",
|
|
2920
|
-
fontWeight: "medium"
|
|
3476
|
+
fontWeight: "medium",
|
|
3477
|
+
fontFamily: "heading",
|
|
3478
|
+
fontScale: "md"
|
|
2921
3479
|
},
|
|
2922
3480
|
hover: {
|
|
2923
3481
|
textColorToken: "primary"
|
|
2924
3482
|
},
|
|
3483
|
+
openState: {
|
|
3484
|
+
triggerColorToken: "primary"
|
|
3485
|
+
},
|
|
2925
3486
|
content: {
|
|
2926
3487
|
textColorToken: "neutral-700"
|
|
2927
3488
|
}
|
|
2928
3489
|
};
|
|
2929
3490
|
|
|
2930
|
-
// ../theme-core/src/
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
3491
|
+
// ../theme-core/src/cards/siteStyleDefaults.ts
|
|
3492
|
+
var southWestCardSystem = {
|
|
3493
|
+
variants: [
|
|
3494
|
+
{
|
|
3495
|
+
id: "default",
|
|
3496
|
+
name: "Default",
|
|
3497
|
+
enabled: true,
|
|
3498
|
+
priority: 1,
|
|
3499
|
+
background: { type: "solid", colorToken: "surface" },
|
|
3500
|
+
foregroundToken: "text",
|
|
3501
|
+
spacing: "comfortable",
|
|
3502
|
+
corners: "soft",
|
|
3503
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" }
|
|
3504
|
+
},
|
|
3505
|
+
{
|
|
3506
|
+
id: "alternative",
|
|
3507
|
+
name: "Statement",
|
|
3508
|
+
enabled: true,
|
|
3509
|
+
priority: 2,
|
|
3510
|
+
background: { type: "solid", colorToken: "primary-700" },
|
|
3511
|
+
foregroundToken: "primaryForeground",
|
|
3512
|
+
spacing: "comfortable",
|
|
3513
|
+
// No shadow on the variant itself: the elevation comes from the look's
|
|
3514
|
+
// 'raised' item surface (rb-shadow-md = var(--shadow-md)), reproducing the
|
|
3515
|
+
// legacy accent-quote card's shadow exactly.
|
|
3516
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
3517
|
+
accentEdge: { edge: "left", colorToken: "secondary", width: "heavy" },
|
|
3518
|
+
cornerRadii: {
|
|
3519
|
+
topLeft: "square",
|
|
3520
|
+
topRight: "expressive",
|
|
3521
|
+
bottomLeft: "square",
|
|
3522
|
+
bottomRight: "square"
|
|
3523
|
+
}
|
|
3524
|
+
}
|
|
3525
|
+
]
|
|
3526
|
+
};
|
|
3527
|
+
var clarityZenCardSystem = {
|
|
3528
|
+
variants: [
|
|
3529
|
+
{
|
|
3530
|
+
id: "default",
|
|
3531
|
+
name: "Default",
|
|
3532
|
+
enabled: true,
|
|
3533
|
+
priority: 1,
|
|
3534
|
+
background: { type: "solid", colorToken: "surface" },
|
|
3535
|
+
// A filled card establishes its own text colour so it stays legible on a
|
|
3536
|
+
// coloured section band (which sets a contrasting section-text colour).
|
|
3537
|
+
foregroundToken: "text",
|
|
3538
|
+
spacing: "comfortable",
|
|
3539
|
+
corners: "rounded",
|
|
3540
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" }
|
|
3541
|
+
},
|
|
3542
|
+
{
|
|
3543
|
+
id: "alternative",
|
|
3544
|
+
name: "Statement",
|
|
3545
|
+
enabled: true,
|
|
3546
|
+
priority: 2,
|
|
3547
|
+
// Themed surfaceAlt tint + a touch more elevation so an emphasised
|
|
3548
|
+
// section reads as a deliberate "statement" against the default card.
|
|
3549
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
3550
|
+
foregroundToken: "text",
|
|
3551
|
+
spacing: "comfortable",
|
|
3552
|
+
corners: "rounded",
|
|
3553
|
+
shadow: { elevation: "medium", softness: "soft", position: "bottom" }
|
|
3554
|
+
}
|
|
3555
|
+
]
|
|
3556
|
+
};
|
|
3557
|
+
var originalJoyCardSystem = {
|
|
3558
|
+
variants: [
|
|
3559
|
+
{
|
|
3560
|
+
id: "default",
|
|
3561
|
+
name: "Default",
|
|
3562
|
+
enabled: true,
|
|
3563
|
+
priority: 1,
|
|
3564
|
+
background: { type: "solid", colorToken: "surface" },
|
|
3565
|
+
foregroundToken: "text",
|
|
3566
|
+
spacing: "comfortable",
|
|
3567
|
+
corners: "rounded",
|
|
3568
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
3569
|
+
},
|
|
3570
|
+
{
|
|
3571
|
+
id: "alternative",
|
|
3572
|
+
name: "Statement",
|
|
3573
|
+
enabled: true,
|
|
3574
|
+
priority: 2,
|
|
3575
|
+
background: { type: "solid", colorToken: "primary" },
|
|
3576
|
+
foregroundToken: "primaryForeground",
|
|
3577
|
+
spacing: "comfortable",
|
|
3578
|
+
corners: "rounded",
|
|
3579
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
3580
|
+
}
|
|
3581
|
+
]
|
|
3582
|
+
};
|
|
3583
|
+
|
|
3584
|
+
// ../theme-core/src/site-styles/testimonialQuotePresets.ts
|
|
3585
|
+
var serifDisplayQuote = {
|
|
3586
|
+
style: "serif-display"
|
|
3587
|
+
};
|
|
3588
|
+
var accentGlyphQuote = {
|
|
3589
|
+
style: "accent-glyph"
|
|
3590
|
+
};
|
|
3591
|
+
|
|
3592
|
+
// ../theme-core/src/site-styles/headerCtaVariants.ts
|
|
3593
|
+
function hasButtonVariant(theme, variantId) {
|
|
3594
|
+
return theme.buttons?.variants.some((variant) => variant.enabled && variant.id === variantId) ?? false;
|
|
3595
|
+
}
|
|
3596
|
+
function resolveHeaderCtaVariant(theme, treatment) {
|
|
3597
|
+
switch (treatment) {
|
|
3598
|
+
case "default":
|
|
3599
|
+
return void 0;
|
|
3600
|
+
case "primary":
|
|
3601
|
+
return "primary";
|
|
3602
|
+
case "secondary":
|
|
3603
|
+
return hasButtonVariant(theme, "secondary") ? "secondary" : "primary";
|
|
3604
|
+
case "inverted":
|
|
3605
|
+
if (hasButtonVariant(theme, "header")) return "header";
|
|
3606
|
+
if (hasButtonVariant(theme, "secondary")) return "secondary";
|
|
3607
|
+
if (hasButtonVariant(theme, "outline")) return "outline";
|
|
3608
|
+
return "primary";
|
|
3609
|
+
case "outline":
|
|
2948
3610
|
return hasButtonVariant(theme, "outline") ? "outline" : "secondary";
|
|
2949
3611
|
case "ghost":
|
|
2950
3612
|
return hasButtonVariant(theme, "ghost") ? "ghost" : "secondary";
|
|
@@ -2961,6 +3623,89 @@ function asHeaderLayoutId(value) {
|
|
|
2961
3623
|
function asHeaderStyleId(value) {
|
|
2962
3624
|
return value;
|
|
2963
3625
|
}
|
|
3626
|
+
var titleOnlyLogoAccommodation = {
|
|
3627
|
+
pattern: "title-only",
|
|
3628
|
+
supportedShapes: ["none", "horizontal", "square", "portrait", "tall"],
|
|
3629
|
+
supportedTextPresence: ["contains-text", "no-text", "unknown"],
|
|
3630
|
+
supportedDisplayModes: ["title-only"],
|
|
3631
|
+
size: "compact"
|
|
3632
|
+
};
|
|
3633
|
+
var inlineWordmarkLogoAccommodation = {
|
|
3634
|
+
pattern: "inline-wordmark",
|
|
3635
|
+
supportedShapes: ["horizontal"],
|
|
3636
|
+
supportedTextPresence: ["contains-text", "no-text", "unknown"],
|
|
3637
|
+
supportedDisplayModes: ["logo-only"],
|
|
3638
|
+
size: "standard",
|
|
3639
|
+
maxDensity: "detailed"
|
|
3640
|
+
};
|
|
3641
|
+
var inlineMarkWithTitleLogoAccommodation = {
|
|
3642
|
+
pattern: "inline-mark-with-title",
|
|
3643
|
+
supportedShapes: ["horizontal", "square", "portrait", "tall"],
|
|
3644
|
+
supportedTextPresence: ["no-text"],
|
|
3645
|
+
supportedDisplayModes: ["logo-plus-title"],
|
|
3646
|
+
size: "compact",
|
|
3647
|
+
maxDensity: "simple"
|
|
3648
|
+
};
|
|
3649
|
+
var logoPlateAccommodation = {
|
|
3650
|
+
pattern: "logo-plate",
|
|
3651
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3652
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3653
|
+
supportedDisplayModes: ["logo-only"],
|
|
3654
|
+
size: "display",
|
|
3655
|
+
providesBacking: true
|
|
3656
|
+
};
|
|
3657
|
+
var centeredBadgeAccommodation = {
|
|
3658
|
+
pattern: "centered-badge",
|
|
3659
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3660
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3661
|
+
supportedDisplayModes: ["logo-only"],
|
|
3662
|
+
size: "display",
|
|
3663
|
+
providesBacking: true
|
|
3664
|
+
};
|
|
3665
|
+
var popoutBadgeAccommodation = {
|
|
3666
|
+
pattern: "popout-badge",
|
|
3667
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3668
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3669
|
+
supportedDisplayModes: ["logo-only"],
|
|
3670
|
+
size: "display",
|
|
3671
|
+
providesBacking: true
|
|
3672
|
+
};
|
|
3673
|
+
var centeredMastheadAccommodation = {
|
|
3674
|
+
pattern: "centered-masthead",
|
|
3675
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3676
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3677
|
+
supportedDisplayModes: ["logo-only"],
|
|
3678
|
+
size: "display",
|
|
3679
|
+
providesBacking: true
|
|
3680
|
+
};
|
|
3681
|
+
var unbackedOverlayLogoAccommodation = {
|
|
3682
|
+
pattern: "inline-logo-only",
|
|
3683
|
+
supportedShapes: ["square"],
|
|
3684
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3685
|
+
supportedDisplayModes: ["logo-only"],
|
|
3686
|
+
size: "compact",
|
|
3687
|
+
providesBacking: false
|
|
3688
|
+
};
|
|
3689
|
+
var inlineClassicLogoAccommodations = [
|
|
3690
|
+
titleOnlyLogoAccommodation,
|
|
3691
|
+
inlineWordmarkLogoAccommodation,
|
|
3692
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3693
|
+
popoutBadgeAccommodation,
|
|
3694
|
+
logoPlateAccommodation
|
|
3695
|
+
];
|
|
3696
|
+
var centeredLogoAccommodations = [
|
|
3697
|
+
titleOnlyLogoAccommodation,
|
|
3698
|
+
inlineWordmarkLogoAccommodation,
|
|
3699
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3700
|
+
centeredMastheadAccommodation,
|
|
3701
|
+
centeredBadgeAccommodation
|
|
3702
|
+
];
|
|
3703
|
+
var overlayLogoAccommodations = [
|
|
3704
|
+
titleOnlyLogoAccommodation,
|
|
3705
|
+
inlineWordmarkLogoAccommodation,
|
|
3706
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3707
|
+
unbackedOverlayLogoAccommodation
|
|
3708
|
+
];
|
|
2964
3709
|
function baseHeader(theme) {
|
|
2965
3710
|
const {
|
|
2966
3711
|
navLinkStyle: _navLinkStyle,
|
|
@@ -2979,7 +3724,7 @@ function baseHeader(theme) {
|
|
|
2979
3724
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
2980
3725
|
};
|
|
2981
3726
|
}
|
|
2982
|
-
var headerLayoutCatalog = [
|
|
3727
|
+
var headerLayoutCatalog = defineExactCatalog()([
|
|
2983
3728
|
{
|
|
2984
3729
|
id: asHeaderLayoutId("classic"),
|
|
2985
3730
|
label: "Classic",
|
|
@@ -3011,11 +3756,11 @@ var headerLayoutCatalog = [
|
|
|
3011
3756
|
maxRecommendedNavItems: 5,
|
|
3012
3757
|
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
3013
3758
|
}
|
|
3014
|
-
];
|
|
3759
|
+
]);
|
|
3015
3760
|
function supportedLayouts(ids) {
|
|
3016
3761
|
return ids.map(asHeaderLayoutId);
|
|
3017
3762
|
}
|
|
3018
|
-
var headerStyleCatalog = [
|
|
3763
|
+
var headerStyleCatalog = defineExactCatalog()([
|
|
3019
3764
|
{
|
|
3020
3765
|
id: asHeaderStyleId("minimal"),
|
|
3021
3766
|
label: "Minimal",
|
|
@@ -3170,7 +3915,7 @@ var headerStyleCatalog = [
|
|
|
3170
3915
|
navTypography: "heading",
|
|
3171
3916
|
moods: ["calm", "editorial"]
|
|
3172
3917
|
}
|
|
3173
|
-
];
|
|
3918
|
+
]);
|
|
3174
3919
|
var headerLayoutsById = new Map(
|
|
3175
3920
|
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
3176
3921
|
);
|
|
@@ -3283,7 +4028,7 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
|
3283
4028
|
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
3284
4029
|
]
|
|
3285
4030
|
);
|
|
3286
|
-
var legacyHeaderLookAliases = [
|
|
4031
|
+
var legacyHeaderLookAliases = defineExactCatalog()([
|
|
3287
4032
|
{
|
|
3288
4033
|
lookId: asHeaderLookId("clean-base"),
|
|
3289
4034
|
selection: {
|
|
@@ -3340,7 +4085,7 @@ var legacyHeaderLookAliases = [
|
|
|
3340
4085
|
styleId: asHeaderStyleId("glass")
|
|
3341
4086
|
}
|
|
3342
4087
|
}
|
|
3343
|
-
];
|
|
4088
|
+
]);
|
|
3344
4089
|
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
3345
4090
|
function getHeaderStyle(id) {
|
|
3346
4091
|
return headerStylesById.get(id) ?? null;
|
|
@@ -3494,6 +4239,12 @@ function serifLineHeader(theme) {
|
|
|
3494
4239
|
letterSpacing: "wide",
|
|
3495
4240
|
gradient: false
|
|
3496
4241
|
},
|
|
4242
|
+
border: {
|
|
4243
|
+
style: "solid",
|
|
4244
|
+
width: "none",
|
|
4245
|
+
position: "none"
|
|
4246
|
+
},
|
|
4247
|
+
shadow: { elevation: "none" },
|
|
3497
4248
|
ctaTreatment: "outline",
|
|
3498
4249
|
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
3499
4250
|
ctaGap: "relaxed"
|
|
@@ -3618,7 +4369,7 @@ function floatingGlassHeader(theme) {
|
|
|
3618
4369
|
}
|
|
3619
4370
|
};
|
|
3620
4371
|
}
|
|
3621
|
-
var headerLookCatalog = [
|
|
4372
|
+
var headerLookCatalog = defineExactCatalog()([
|
|
3622
4373
|
{
|
|
3623
4374
|
id: asHeaderLookId("clean-base"),
|
|
3624
4375
|
label: "Clean base",
|
|
@@ -3630,6 +4381,7 @@ var headerLookCatalog = [
|
|
|
3630
4381
|
behavior: "sticky"
|
|
3631
4382
|
},
|
|
3632
4383
|
openingRequirement: "none",
|
|
4384
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3633
4385
|
compile: cleanBaseHeader
|
|
3634
4386
|
},
|
|
3635
4387
|
{
|
|
@@ -3643,6 +4395,7 @@ var headerLookCatalog = [
|
|
|
3643
4395
|
behavior: "sticky-shrink"
|
|
3644
4396
|
},
|
|
3645
4397
|
openingRequirement: "none",
|
|
4398
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3646
4399
|
compile: solidBrandHeader
|
|
3647
4400
|
},
|
|
3648
4401
|
{
|
|
@@ -3657,6 +4410,7 @@ var headerLookCatalog = [
|
|
|
3657
4410
|
},
|
|
3658
4411
|
openingRequirement: "none",
|
|
3659
4412
|
maxRecommendedNavItems: 6,
|
|
4413
|
+
logoAccommodations: centeredLogoAccommodations,
|
|
3660
4414
|
compile: serifLineHeader
|
|
3661
4415
|
},
|
|
3662
4416
|
{
|
|
@@ -3671,7 +4425,7 @@ var headerLookCatalog = [
|
|
|
3671
4425
|
},
|
|
3672
4426
|
openingRequirement: "none",
|
|
3673
4427
|
maxRecommendedNavItems: 5,
|
|
3674
|
-
|
|
4428
|
+
logoAccommodations: centeredLogoAccommodations,
|
|
3675
4429
|
compile: centeredCalmHeader
|
|
3676
4430
|
},
|
|
3677
4431
|
{
|
|
@@ -3686,6 +4440,7 @@ var headerLookCatalog = [
|
|
|
3686
4440
|
},
|
|
3687
4441
|
openingRequirement: "none",
|
|
3688
4442
|
requiresProminentCta: true,
|
|
4443
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3689
4444
|
compile: practicalUtilityHeader
|
|
3690
4445
|
},
|
|
3691
4446
|
{
|
|
@@ -3699,6 +4454,7 @@ var headerLookCatalog = [
|
|
|
3699
4454
|
behavior: "normal-flow"
|
|
3700
4455
|
},
|
|
3701
4456
|
openingRequirement: "reserved-space-ok",
|
|
4457
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3702
4458
|
compile: minimalTransparentHeader
|
|
3703
4459
|
},
|
|
3704
4460
|
{
|
|
@@ -3713,7 +4469,7 @@ var headerLookCatalog = [
|
|
|
3713
4469
|
},
|
|
3714
4470
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3715
4471
|
maxRecommendedNavItems: 5,
|
|
3716
|
-
|
|
4472
|
+
logoAccommodations: overlayLogoAccommodations,
|
|
3717
4473
|
compile: transparentOverlayHeader
|
|
3718
4474
|
},
|
|
3719
4475
|
{
|
|
@@ -3728,10 +4484,10 @@ var headerLookCatalog = [
|
|
|
3728
4484
|
},
|
|
3729
4485
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3730
4486
|
maxRecommendedNavItems: 5,
|
|
3731
|
-
|
|
4487
|
+
logoAccommodations: overlayLogoAccommodations,
|
|
3732
4488
|
compile: floatingGlassHeader
|
|
3733
4489
|
}
|
|
3734
|
-
];
|
|
4490
|
+
]);
|
|
3735
4491
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
3736
4492
|
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
3737
4493
|
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
@@ -3809,12 +4565,110 @@ function brandTwoBandFooter(theme) {
|
|
|
3809
4565
|
}
|
|
3810
4566
|
};
|
|
3811
4567
|
}
|
|
3812
|
-
|
|
4568
|
+
function centeredCalmFooter(theme) {
|
|
4569
|
+
return {
|
|
4570
|
+
...theme.footer,
|
|
4571
|
+
variant: "simple",
|
|
4572
|
+
maxWidth: "container",
|
|
4573
|
+
background: {
|
|
4574
|
+
type: "color",
|
|
4575
|
+
color: "surfaceAlt"
|
|
4576
|
+
},
|
|
4577
|
+
navStyle: "minimal",
|
|
4578
|
+
navWeight: "regular",
|
|
4579
|
+
navColor: "text",
|
|
4580
|
+
navLinkStyle: {
|
|
4581
|
+
typography: "body",
|
|
4582
|
+
fontWeight: "regular",
|
|
4583
|
+
textTransform: "none",
|
|
4584
|
+
italic: false,
|
|
4585
|
+
colorToken: "text",
|
|
4586
|
+
hoverColorToken: "primary",
|
|
4587
|
+
padding: "none",
|
|
4588
|
+
borderRadius: "none"
|
|
4589
|
+
},
|
|
4590
|
+
navLayout: {
|
|
4591
|
+
layout: "inline-wrap",
|
|
4592
|
+
align: "center",
|
|
4593
|
+
gapX: "relaxed",
|
|
4594
|
+
gapY: "tight"
|
|
4595
|
+
},
|
|
4596
|
+
logo: {
|
|
4597
|
+
showLogo: true,
|
|
4598
|
+
showLogoText: false,
|
|
4599
|
+
placement: "above",
|
|
4600
|
+
size: "sm",
|
|
4601
|
+
align: "center"
|
|
4602
|
+
},
|
|
4603
|
+
bottomBar: {
|
|
4604
|
+
enabled: true,
|
|
4605
|
+
fullBleed: false,
|
|
4606
|
+
textAlign: "center",
|
|
4607
|
+
paddingX: "default",
|
|
4608
|
+
paddingY: "compact",
|
|
4609
|
+
borderTop: {
|
|
4610
|
+
width: "thin"
|
|
4611
|
+
}
|
|
4612
|
+
}
|
|
4613
|
+
};
|
|
4614
|
+
}
|
|
4615
|
+
function editorialColumnsFooter(theme) {
|
|
4616
|
+
return {
|
|
4617
|
+
...theme.footer,
|
|
4618
|
+
variant: "columns",
|
|
4619
|
+
maxWidth: "container",
|
|
4620
|
+
background: {
|
|
4621
|
+
type: "color",
|
|
4622
|
+
color: "surface"
|
|
4623
|
+
},
|
|
4624
|
+
navStyle: "minimal",
|
|
4625
|
+
navWeight: "regular",
|
|
4626
|
+
navColor: "text",
|
|
4627
|
+
navLinkStyle: {
|
|
4628
|
+
typography: "body",
|
|
4629
|
+
fontWeight: "regular",
|
|
4630
|
+
textTransform: "none",
|
|
4631
|
+
italic: false,
|
|
4632
|
+
colorToken: "text",
|
|
4633
|
+
hoverColorToken: "primary",
|
|
4634
|
+
padding: "none",
|
|
4635
|
+
borderRadius: "none"
|
|
4636
|
+
},
|
|
4637
|
+
logo: {
|
|
4638
|
+
showLogo: true,
|
|
4639
|
+
showLogoText: true,
|
|
4640
|
+
placement: "left",
|
|
4641
|
+
size: "sm",
|
|
4642
|
+
align: "start"
|
|
4643
|
+
},
|
|
4644
|
+
bottomBar: {
|
|
4645
|
+
enabled: true,
|
|
4646
|
+
fullBleed: false,
|
|
4647
|
+
textAlign: "center",
|
|
4648
|
+
paddingX: "default",
|
|
4649
|
+
paddingY: "compact",
|
|
4650
|
+
borderTop: {
|
|
4651
|
+
width: "thin"
|
|
4652
|
+
}
|
|
4653
|
+
}
|
|
4654
|
+
};
|
|
4655
|
+
}
|
|
4656
|
+
var footerLookCatalog = defineExactCatalog()([
|
|
3813
4657
|
{
|
|
3814
4658
|
id: asFooterLookId("footer-muted-grounding"),
|
|
3815
4659
|
label: "Muted grounding footer",
|
|
3816
4660
|
compile: mutedGroundingFooter
|
|
3817
4661
|
},
|
|
4662
|
+
{
|
|
4663
|
+
id: asFooterLookId("footer-centered-calm"),
|
|
4664
|
+
label: "Centered calm footer",
|
|
4665
|
+
compile: centeredCalmFooter
|
|
4666
|
+
},
|
|
4667
|
+
{
|
|
4668
|
+
id: asFooterLookId("footer-editorial-columns"),
|
|
4669
|
+
label: "Editorial columns footer",
|
|
4670
|
+
compile: editorialColumnsFooter
|
|
4671
|
+
},
|
|
3818
4672
|
{
|
|
3819
4673
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
3820
4674
|
label: "Two-band brand footer",
|
|
@@ -3822,7 +4676,7 @@ var footerLookCatalog = [
|
|
|
3822
4676
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
3823
4677
|
compile: brandTwoBandFooter
|
|
3824
4678
|
}
|
|
3825
|
-
];
|
|
4679
|
+
]);
|
|
3826
4680
|
var footerLooksById = new Map(
|
|
3827
4681
|
footerLookCatalog.map((look) => [look.id, look])
|
|
3828
4682
|
);
|
|
@@ -3844,7 +4698,7 @@ var generatedDesignOptionCatalog = {
|
|
|
3844
4698
|
source: "generated",
|
|
3845
4699
|
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
3846
4700
|
contentFrames: generatedContentFrames,
|
|
3847
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
4701
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"],
|
|
3848
4702
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
3849
4703
|
emphases: ["low", "medium", "high"],
|
|
3850
4704
|
detachedCustom: false
|
|
@@ -3853,15 +4707,18 @@ var userDesignOptionCatalog = {
|
|
|
3853
4707
|
source: "user",
|
|
3854
4708
|
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
3855
4709
|
contentFrames: userContentFrames,
|
|
3856
|
-
itemSurfaces:
|
|
3857
|
-
...generatedDesignOptionCatalog.itemSurfaces,
|
|
3858
|
-
"inset",
|
|
3859
|
-
"editorial"
|
|
3860
|
-
],
|
|
4710
|
+
itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
3861
4711
|
transitions: [
|
|
3862
4712
|
...generatedDesignOptionCatalog.transitions,
|
|
4713
|
+
"soft-fade-expansive",
|
|
3863
4714
|
"wave-edge",
|
|
3864
|
-
"
|
|
4715
|
+
"wave-edge-balanced",
|
|
4716
|
+
"wave-edge-gentle",
|
|
4717
|
+
"wave-edge-bold",
|
|
4718
|
+
"wave-edge-drift",
|
|
4719
|
+
"angle-edge",
|
|
4720
|
+
"angle-edge-subtle",
|
|
4721
|
+
"angle-edge-steep"
|
|
3865
4722
|
],
|
|
3866
4723
|
emphases: generatedDesignOptionCatalog.emphases,
|
|
3867
4724
|
detachedCustom: false
|
|
@@ -4042,6 +4899,29 @@ var boldDisplayTypography = {
|
|
|
4042
4899
|
},
|
|
4043
4900
|
scale: "balanced"
|
|
4044
4901
|
};
|
|
4902
|
+
var originalJoyTypography = {
|
|
4903
|
+
body: {
|
|
4904
|
+
family: "DM Sans, system-ui, sans-serif",
|
|
4905
|
+
size: "md",
|
|
4906
|
+
weight: "regular",
|
|
4907
|
+
lineHeight: "relaxed",
|
|
4908
|
+
letterSpacing: "normal"
|
|
4909
|
+
},
|
|
4910
|
+
headings: {
|
|
4911
|
+
default: {
|
|
4912
|
+
family: "Bricolage Grotesque, system-ui, sans-serif",
|
|
4913
|
+
weight: "bold",
|
|
4914
|
+
lineHeight: "normal",
|
|
4915
|
+
letterSpacing: "tight",
|
|
4916
|
+
italic: null,
|
|
4917
|
+
case: null
|
|
4918
|
+
},
|
|
4919
|
+
h1: { size: "2xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
4920
|
+
h2: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
4921
|
+
h3: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null }
|
|
4922
|
+
},
|
|
4923
|
+
scale: "balanced"
|
|
4924
|
+
};
|
|
4045
4925
|
var typographyPresets = [
|
|
4046
4926
|
defineTypographyPreset({
|
|
4047
4927
|
id: "typography-preset:modern-sans",
|
|
@@ -4128,6 +5008,32 @@ var typographyPresets = [
|
|
|
4128
5008
|
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
4129
5009
|
}
|
|
4130
5010
|
}
|
|
5011
|
+
}),
|
|
5012
|
+
defineTypographyPreset({
|
|
5013
|
+
id: "typography-preset:original-joy",
|
|
5014
|
+
name: "Original Joy",
|
|
5015
|
+
description: "Bold Bricolage Grotesque display headings over a clean DM Sans body, editorial and warm.",
|
|
5016
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Bricolage Grotesque, system-ui, sans-serif" },
|
|
5017
|
+
recommendedFonts: {
|
|
5018
|
+
body: ["DM Sans", "Inter", "Manrope"],
|
|
5019
|
+
heading: ["Bricolage Grotesque", "Space Grotesk", "Archivo"]
|
|
5020
|
+
},
|
|
5021
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
5022
|
+
typography: originalJoyTypography,
|
|
5023
|
+
heroTypography: {
|
|
5024
|
+
headlineSize: "6xl",
|
|
5025
|
+
headlineLineHeight: "tight",
|
|
5026
|
+
subheadlineSize: "xl",
|
|
5027
|
+
subheadlineLineHeight: "normal",
|
|
5028
|
+
microHeadlineSize: "6xl",
|
|
5029
|
+
microHeadlineLineHeight: "tight",
|
|
5030
|
+
microSubheadlineSize: "lg",
|
|
5031
|
+
microSubheadlineLineHeight: "normal",
|
|
5032
|
+
responsive: {
|
|
5033
|
+
tablet: { headlineSize: "5xl" },
|
|
5034
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
5035
|
+
}
|
|
5036
|
+
}
|
|
4131
5037
|
})
|
|
4132
5038
|
];
|
|
4133
5039
|
var typographyPresetsById = new Map(
|
|
@@ -4250,6 +5156,10 @@ function defineCuratedSiteStyle(input) {
|
|
|
4250
5156
|
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
4251
5157
|
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
4252
5158
|
},
|
|
5159
|
+
// Decoration is opt-in per style so it stays a distinguishing feature, not
|
|
5160
|
+
// wallpaper. Styles that want a mark set `headingDecoration` explicitly;
|
|
5161
|
+
// clean/minimal styles default to none.
|
|
5162
|
+
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
4253
5163
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
4254
5164
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
4255
5165
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
@@ -4436,6 +5346,11 @@ var curatedSiteStyles = [
|
|
|
4436
5346
|
defineCuratedSiteStyle({
|
|
4437
5347
|
id: "site-style:calm-studio",
|
|
4438
5348
|
name: "Calm Studio",
|
|
5349
|
+
themeOverrides: {
|
|
5350
|
+
accordions: calmPanelAccordionSystem,
|
|
5351
|
+
testimonialQuote: serifDisplayQuote
|
|
5352
|
+
},
|
|
5353
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4439
5354
|
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
4440
5355
|
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
4441
5356
|
tokenRecipes: {
|
|
@@ -4469,6 +5384,10 @@ var curatedSiteStyles = [
|
|
|
4469
5384
|
defineCuratedSiteStyle({
|
|
4470
5385
|
id: "site-style:clear-professional",
|
|
4471
5386
|
name: "Clear Professional",
|
|
5387
|
+
themeOverrides: {
|
|
5388
|
+
accordions: calmPanelAccordionSystem,
|
|
5389
|
+
testimonialQuote: accentGlyphQuote
|
|
5390
|
+
},
|
|
4472
5391
|
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
4473
5392
|
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
4474
5393
|
tokenRecipes: {
|
|
@@ -4500,6 +5419,11 @@ var curatedSiteStyles = [
|
|
|
4500
5419
|
defineCuratedSiteStyle({
|
|
4501
5420
|
id: "site-style:warm-editorial",
|
|
4502
5421
|
name: "Warm Editorial",
|
|
5422
|
+
themeOverrides: {
|
|
5423
|
+
accordions: editorialDividedAccordionSystem,
|
|
5424
|
+
testimonialQuote: serifDisplayQuote
|
|
5425
|
+
},
|
|
5426
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4503
5427
|
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
4504
5428
|
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
4505
5429
|
tokenRecipes: {
|
|
@@ -4532,6 +5456,11 @@ var curatedSiteStyles = [
|
|
|
4532
5456
|
defineCuratedSiteStyle({
|
|
4533
5457
|
id: "site-style:bright-community",
|
|
4534
5458
|
name: "Bright Community",
|
|
5459
|
+
themeOverrides: {
|
|
5460
|
+
accordions: warmInsetAccordionSystem,
|
|
5461
|
+
testimonialQuote: accentGlyphQuote
|
|
5462
|
+
},
|
|
5463
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4535
5464
|
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
4536
5465
|
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
4537
5466
|
tokenRecipes: {
|
|
@@ -4563,6 +5492,10 @@ var curatedSiteStyles = [
|
|
|
4563
5492
|
defineCuratedSiteStyle({
|
|
4564
5493
|
id: "site-style:quiet-luxury",
|
|
4565
5494
|
name: "Quiet Luxury",
|
|
5495
|
+
themeOverrides: {
|
|
5496
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5497
|
+
testimonialQuote: serifDisplayQuote
|
|
5498
|
+
},
|
|
4566
5499
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
4567
5500
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
4568
5501
|
siteCreatorSelection: {
|
|
@@ -4605,6 +5538,10 @@ var curatedSiteStyles = [
|
|
|
4605
5538
|
defineCuratedSiteStyle({
|
|
4606
5539
|
id: "site-style:practical-services",
|
|
4607
5540
|
name: "Practical Services",
|
|
5541
|
+
themeOverrides: {
|
|
5542
|
+
accordions: boldBorderedAccordionSystem,
|
|
5543
|
+
testimonialQuote: accentGlyphQuote
|
|
5544
|
+
},
|
|
4608
5545
|
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
4609
5546
|
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
4610
5547
|
siteCreatorSelection: { kind: "primary_goal_support" },
|
|
@@ -4645,6 +5582,11 @@ var curatedSiteStyles = [
|
|
|
4645
5582
|
defineCuratedSiteStyle({
|
|
4646
5583
|
id: "site-style:modern-wellness",
|
|
4647
5584
|
name: "Modern Wellness",
|
|
5585
|
+
themeOverrides: {
|
|
5586
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5587
|
+
testimonialQuote: serifDisplayQuote
|
|
5588
|
+
},
|
|
5589
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4648
5590
|
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
4649
5591
|
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
4650
5592
|
tokenRecipes: {
|
|
@@ -4676,6 +5618,10 @@ var curatedSiteStyles = [
|
|
|
4676
5618
|
defineCuratedSiteStyle({
|
|
4677
5619
|
id: "site-style:quiet-practice",
|
|
4678
5620
|
name: "Quiet Practice",
|
|
5621
|
+
themeOverrides: {
|
|
5622
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5623
|
+
testimonialQuote: serifDisplayQuote
|
|
5624
|
+
},
|
|
4679
5625
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
4680
5626
|
generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
|
|
4681
5627
|
siteCreatorSelection: {
|
|
@@ -4721,6 +5667,7 @@ var curatedSiteStyles = [
|
|
|
4721
5667
|
defineCuratedSiteStyle({
|
|
4722
5668
|
id: "site-style:clarity-zen-blue",
|
|
4723
5669
|
name: "Clarity Zen",
|
|
5670
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4724
5671
|
description: "Calm, editorial, and reassuring for therapy, counselling, and wellbeing support practices.",
|
|
4725
5672
|
generationBrief: "Use a calm, soft palette, editorial serif headings, warm grounded copy, rounded cards, calm proof sections, and clear booking routes. Keep the tone compassionate and straightforward, with professional trust rather than hard-sell wellness language.",
|
|
4726
5673
|
siteCreatorSelection: {
|
|
@@ -4744,17 +5691,22 @@ var curatedSiteStyles = [
|
|
|
4744
5691
|
},
|
|
4745
5692
|
compositionBudget: balancedBudget,
|
|
4746
5693
|
themeOverrides: {
|
|
5694
|
+
accordions: editorialDividedAccordionSystem,
|
|
5695
|
+
cards: clarityZenCardSystem,
|
|
5696
|
+
testimonialQuote: serifDisplayQuote,
|
|
4747
5697
|
typography: {
|
|
4748
5698
|
body: {
|
|
4749
|
-
family: "
|
|
5699
|
+
family: "Roboto, system-ui, sans-serif",
|
|
4750
5700
|
size: "md",
|
|
4751
5701
|
weight: "regular",
|
|
4752
5702
|
lineHeight: "relaxed",
|
|
4753
5703
|
letterSpacing: "normal"
|
|
4754
5704
|
},
|
|
4755
5705
|
headings: {
|
|
5706
|
+
// Forum ships a single 400 weight; keep every heading weight
|
|
5707
|
+
// 'regular' so the Google Fonts request stays valid.
|
|
4756
5708
|
default: {
|
|
4757
|
-
family:
|
|
5709
|
+
family: "Forum, Georgia, serif",
|
|
4758
5710
|
weight: "regular",
|
|
4759
5711
|
lineHeight: "normal",
|
|
4760
5712
|
letterSpacing: "normal",
|
|
@@ -4770,7 +5722,7 @@ var curatedSiteStyles = [
|
|
|
4770
5722
|
italic: null
|
|
4771
5723
|
},
|
|
4772
5724
|
h2: {
|
|
4773
|
-
size: "
|
|
5725
|
+
size: "xl",
|
|
4774
5726
|
weight: "regular",
|
|
4775
5727
|
lineHeight: "normal",
|
|
4776
5728
|
letterSpacing: "normal",
|
|
@@ -4798,10 +5750,13 @@ var curatedSiteStyles = [
|
|
|
4798
5750
|
},
|
|
4799
5751
|
recommendedAppearancePresetIds: [
|
|
4800
5752
|
"hero-split-editorial",
|
|
5753
|
+
"intro-portrait-bio",
|
|
4801
5754
|
"intro-organic-statement",
|
|
4802
|
-
"feature-cards-
|
|
5755
|
+
"feature-cards-soft-panels",
|
|
5756
|
+
"feature-cards-editorial-columns",
|
|
5757
|
+
"feature-cards-photo-tiles",
|
|
4803
5758
|
"media-text-quiet-story",
|
|
4804
|
-
"testimonials-
|
|
5759
|
+
"testimonials-non-carded",
|
|
4805
5760
|
"faq-contained-help",
|
|
4806
5761
|
"contact-form-panel"
|
|
4807
5762
|
],
|
|
@@ -4811,8 +5766,9 @@ var curatedSiteStyles = [
|
|
|
4811
5766
|
"minimal-transparent"
|
|
4812
5767
|
],
|
|
4813
5768
|
recommendedFooterLookIds: [
|
|
4814
|
-
"footer-
|
|
4815
|
-
"
|
|
5769
|
+
"footer-centered-calm",
|
|
5770
|
+
"footer-editorial-columns",
|
|
5771
|
+
"footer-muted-grounding"
|
|
4816
5772
|
],
|
|
4817
5773
|
buttonPersonalityChoices: [
|
|
4818
5774
|
buttonChoice("soft-pill"),
|
|
@@ -4820,7 +5776,7 @@ var curatedSiteStyles = [
|
|
|
4820
5776
|
buttonChoice("editorial-link")
|
|
4821
5777
|
],
|
|
4822
5778
|
paletteVariantChoices: [
|
|
4823
|
-
paletteChoice("
|
|
5779
|
+
paletteChoice("soft-natural-lilac"),
|
|
4824
5780
|
paletteChoice("soft-natural-watercolor"),
|
|
4825
5781
|
paletteChoice("soft-natural-stone"),
|
|
4826
5782
|
paletteChoice("warm-neutral-cream")
|
|
@@ -4829,6 +5785,11 @@ var curatedSiteStyles = [
|
|
|
4829
5785
|
defineCuratedSiteStyle({
|
|
4830
5786
|
id: "site-style:personal-retreat-journal",
|
|
4831
5787
|
name: "Personal Retreat Journal",
|
|
5788
|
+
themeOverrides: {
|
|
5789
|
+
accordions: editorialDividedAccordionSystem,
|
|
5790
|
+
testimonialQuote: serifDisplayQuote
|
|
5791
|
+
},
|
|
5792
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4832
5793
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
4833
5794
|
generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
|
|
4834
5795
|
siteCreatorSelection: {
|
|
@@ -4873,6 +5834,11 @@ var curatedSiteStyles = [
|
|
|
4873
5834
|
defineCuratedSiteStyle({
|
|
4874
5835
|
id: "site-style:tactile-workshop",
|
|
4875
5836
|
name: "Tactile Workshop",
|
|
5837
|
+
themeOverrides: {
|
|
5838
|
+
accordions: warmInsetAccordionSystem,
|
|
5839
|
+
testimonialQuote: accentGlyphQuote
|
|
5840
|
+
},
|
|
5841
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
4876
5842
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
4877
5843
|
generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
|
|
4878
5844
|
siteCreatorSelection: {
|
|
@@ -4923,6 +5889,7 @@ var curatedSiteStyles = [
|
|
|
4923
5889
|
defineCuratedSiteStyle({
|
|
4924
5890
|
id: SOFT_EARTH_SITE_STYLE_ID,
|
|
4925
5891
|
name: "Soft Earth",
|
|
5892
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
4926
5893
|
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
4927
5894
|
generationBrief: "Use cream space, terracotta CTAs, olive quote bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community quotes, and an FAQ with a full-width intro above two columns of questions when content allows.",
|
|
4928
5895
|
siteCreatorSelection: {
|
|
@@ -4995,7 +5962,8 @@ var curatedSiteStyles = [
|
|
|
4995
5962
|
headingSize: "editorial"
|
|
4996
5963
|
}
|
|
4997
5964
|
},
|
|
4998
|
-
accordions: softEarthAccordionSystem
|
|
5965
|
+
accordions: softEarthAccordionSystem,
|
|
5966
|
+
testimonialQuote: accentGlyphQuote
|
|
4999
5967
|
},
|
|
5000
5968
|
defaultBlockVariants: {
|
|
5001
5969
|
"block.faq": "question-columns"
|
|
@@ -5005,7 +5973,7 @@ var curatedSiteStyles = [
|
|
|
5005
5973
|
"intro-organic-statement",
|
|
5006
5974
|
"feature-cards-raised-rule",
|
|
5007
5975
|
"events-lined-panel",
|
|
5008
|
-
"testimonials-
|
|
5976
|
+
"testimonials-non-carded",
|
|
5009
5977
|
"contact-form-panel"
|
|
5010
5978
|
],
|
|
5011
5979
|
recommendedHeaderLookIds: [
|
|
@@ -5033,6 +6001,11 @@ var curatedSiteStyles = [
|
|
|
5033
6001
|
defineCuratedSiteStyle({
|
|
5034
6002
|
id: "site-style:bold-launch",
|
|
5035
6003
|
name: "Bold Launch",
|
|
6004
|
+
themeOverrides: {
|
|
6005
|
+
accordions: boldBorderedAccordionSystem,
|
|
6006
|
+
testimonialQuote: accentGlyphQuote
|
|
6007
|
+
},
|
|
6008
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
5036
6009
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
5037
6010
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
5038
6011
|
siteCreatorSelection: {
|
|
@@ -5078,6 +6051,7 @@ var curatedSiteStyles = [
|
|
|
5078
6051
|
defineCuratedSiteStyle({
|
|
5079
6052
|
id: "site-style:south-west-twerk-school",
|
|
5080
6053
|
name: "South West Twerk School",
|
|
6054
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
5081
6055
|
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
5082
6056
|
generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
|
|
5083
6057
|
tokenRecipes: {
|
|
@@ -5097,6 +6071,9 @@ var curatedSiteStyles = [
|
|
|
5097
6071
|
],
|
|
5098
6072
|
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
5099
6073
|
themeOverrides: {
|
|
6074
|
+
accordions: boldBorderedAccordionSystem,
|
|
6075
|
+
cards: southWestCardSystem,
|
|
6076
|
+
testimonialQuote: accentGlyphQuote,
|
|
5100
6077
|
bodyText: {
|
|
5101
6078
|
intro: {
|
|
5102
6079
|
paragraphSize: "editorial",
|
|
@@ -5109,8 +6086,8 @@ var curatedSiteStyles = [
|
|
|
5109
6086
|
"hero-brand-scrim-fixed-frame",
|
|
5110
6087
|
"body-text-editorial-intro",
|
|
5111
6088
|
"schedule-details-brand-depth",
|
|
5112
|
-
"testimonials-
|
|
5113
|
-
"contact-form-
|
|
6089
|
+
"testimonials-statement-cards",
|
|
6090
|
+
"contact-form-panel"
|
|
5114
6091
|
],
|
|
5115
6092
|
recommendedHeaderLookIds: [
|
|
5116
6093
|
"brand-solid",
|
|
@@ -5133,6 +6110,74 @@ var curatedSiteStyles = [
|
|
|
5133
6110
|
paletteChoice("brand-led-warm"),
|
|
5134
6111
|
paletteChoice("high-contrast-ink")
|
|
5135
6112
|
]
|
|
6113
|
+
}),
|
|
6114
|
+
defineCuratedSiteStyle({
|
|
6115
|
+
id: "site-style:original-joy",
|
|
6116
|
+
name: "Original Joy",
|
|
6117
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
6118
|
+
description: "Warm, dark, and editorial: deep clay grounds, cream type, and bold burnt-orange accents for soulful community brands.",
|
|
6119
|
+
generationBrief: "Use a deep brown ground with cream text and burnt-orange accents, large display headings, generous spacing, organic rounded shapes, and bold colour-blocked feature sections. Lead with warmth and belonging; calls to action should feel strong but unhurried.",
|
|
6120
|
+
tokenRecipes: {
|
|
6121
|
+
palette: "brand-led",
|
|
6122
|
+
contrast: "maximum",
|
|
6123
|
+
radius: "rounded",
|
|
6124
|
+
shadow: "subtle",
|
|
6125
|
+
typography: "clean-sans",
|
|
6126
|
+
spacing: "airy",
|
|
6127
|
+
motion: "expressive"
|
|
6128
|
+
},
|
|
6129
|
+
compositionBudget: expressiveBudget,
|
|
6130
|
+
typographyPresetChoices: [
|
|
6131
|
+
typographyChoice("typography-preset:original-joy"),
|
|
6132
|
+
typographyChoice("typography-preset:bold-display"),
|
|
6133
|
+
typographyChoice("typography-preset:modern-sans")
|
|
6134
|
+
],
|
|
6135
|
+
defaultTypographyPresetId: "typography-preset:original-joy",
|
|
6136
|
+
themeOverrides: {
|
|
6137
|
+
accordions: boldBorderedAccordionSystem,
|
|
6138
|
+
// Shared card system: warm rounded brown cards (event + testimonial cards
|
|
6139
|
+
// pick this up automatically) with a burnt-orange statement variant.
|
|
6140
|
+
cards: originalJoyCardSystem,
|
|
6141
|
+
testimonialQuote: accentGlyphQuote,
|
|
6142
|
+
bodyText: {
|
|
6143
|
+
intro: {
|
|
6144
|
+
paragraphSize: "editorial",
|
|
6145
|
+
headingSize: "editorial"
|
|
6146
|
+
}
|
|
6147
|
+
}
|
|
6148
|
+
},
|
|
6149
|
+
// Recommended block looks: the bold colour-blocked feature cards, a calm
|
|
6150
|
+
// band for the events spotlight, and statement testimonial cards.
|
|
6151
|
+
recommendedAppearancePresetIds: [
|
|
6152
|
+
"feature-cards-bold-colors",
|
|
6153
|
+
"offerings-calm-list",
|
|
6154
|
+
"testimonials-statement-cards"
|
|
6155
|
+
],
|
|
6156
|
+
// Floating, transparent "Clear Split" header (no fill behind the nav links).
|
|
6157
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
6158
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
6159
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
6160
|
+
floating: [
|
|
6161
|
+
headerStyleChoice("minimal-surface"),
|
|
6162
|
+
headerStyleChoice("split-glass"),
|
|
6163
|
+
headerStyleChoice("glass")
|
|
6164
|
+
]
|
|
6165
|
+
},
|
|
6166
|
+
// Legacy bridge only (the real curation is the explicit selection above).
|
|
6167
|
+
// Kept to a reserved-space, non-overlay look on purpose: the split hero
|
|
6168
|
+
// flows below the Clear Split header, so we must NOT trigger the immersive
|
|
6169
|
+
// overlay-hero promotion that looks like `floating-glass` would force.
|
|
6170
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
6171
|
+
recommendedFooterLookIds: [
|
|
6172
|
+
"site-footer-brand-two-band",
|
|
6173
|
+
"footer-muted-grounding"
|
|
6174
|
+
],
|
|
6175
|
+
buttonPersonalityChoices: [
|
|
6176
|
+
buttonChoice("joy-stamp"),
|
|
6177
|
+
buttonChoice("ink-stamp"),
|
|
6178
|
+
buttonChoice("showtime-pill")
|
|
6179
|
+
],
|
|
6180
|
+
paletteVariantChoices: [paletteChoice("warm-dark-ember")]
|
|
5136
6181
|
})
|
|
5137
6182
|
];
|
|
5138
6183
|
var curatedSiteStylesById = new Map(
|
|
@@ -5325,9 +6370,21 @@ var NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES = [
|
|
|
5325
6370
|
];
|
|
5326
6371
|
|
|
5327
6372
|
// ../theme-core/src/layout/generateLayoutCss.ts
|
|
5328
|
-
var
|
|
6373
|
+
var classicWaveTransitionMask = svgDataUrl(
|
|
5329
6374
|
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V46C130 55 260 24 420 30C590 36 690 62 860 42C1035 21 1160 47 1305 36C1365 31 1415 33 1440 38V72H0Z' fill='white'/></svg>"
|
|
5330
6375
|
);
|
|
6376
|
+
var balancedWaveTransitionMask = svgDataUrl(
|
|
6377
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V42C120 24 240 24 360 42C480 60 600 60 720 42C840 24 960 24 1080 42C1200 60 1320 60 1440 42V72H0Z' fill='white'/></svg>"
|
|
6378
|
+
);
|
|
6379
|
+
var gentleWaveTransitionMask = svgDataUrl(
|
|
6380
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V43C180 32 300 32 480 43C660 54 780 54 960 43C1140 32 1260 32 1440 43V72H0Z' fill='white'/></svg>"
|
|
6381
|
+
);
|
|
6382
|
+
var boldWaveTransitionMask = svgDataUrl(
|
|
6383
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V44C90 14 270 14 360 44C450 74 630 74 720 44C810 14 990 14 1080 44C1170 74 1350 74 1440 44V72H0Z' fill='white'/></svg>"
|
|
6384
|
+
);
|
|
6385
|
+
var driftWaveTransitionMask = svgDataUrl(
|
|
6386
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>"
|
|
6387
|
+
);
|
|
5331
6388
|
function svgDataUrl(svg) {
|
|
5332
6389
|
return `data:image/svg+xml,${encodeURIComponent(svg)}`;
|
|
5333
6390
|
}
|
|
@@ -5812,14 +6869,77 @@ ${root} {
|
|
|
5812
6869
|
}
|
|
5813
6870
|
|
|
5814
6871
|
// ../theme-core/src/blocks/vars/testimonials.ts
|
|
5815
|
-
|
|
6872
|
+
var QUOTE_SCALE_SIZE = {
|
|
6873
|
+
sm: "2.5rem",
|
|
6874
|
+
md: "3.5rem",
|
|
6875
|
+
// 4.375rem == 3.5rem * 1.25, matching the legacy accent-quote mark size.
|
|
6876
|
+
lg: "4.375rem",
|
|
6877
|
+
xl: "clamp(3.5rem, 2rem + 4vw, 5.5rem)"
|
|
6878
|
+
};
|
|
6879
|
+
function resolveTestimonialQuoteVars(treatment) {
|
|
6880
|
+
if (!treatment) {
|
|
6881
|
+
return {
|
|
6882
|
+
size: QUOTE_SCALE_SIZE.md,
|
|
6883
|
+
opacity: "0.08",
|
|
6884
|
+
color: "rgb(var(--tb-primary))",
|
|
6885
|
+
font: "inherit",
|
|
6886
|
+
weight: "700",
|
|
6887
|
+
display: "block"
|
|
6888
|
+
};
|
|
6889
|
+
}
|
|
6890
|
+
if (treatment.style === "none") {
|
|
6891
|
+
return {
|
|
6892
|
+
size: QUOTE_SCALE_SIZE.md,
|
|
6893
|
+
opacity: "0",
|
|
6894
|
+
color: "rgb(var(--tb-primary))",
|
|
6895
|
+
font: "inherit",
|
|
6896
|
+
weight: "700",
|
|
6897
|
+
display: "none"
|
|
6898
|
+
};
|
|
6899
|
+
}
|
|
6900
|
+
const base = treatment.style === "serif-display" ? {
|
|
6901
|
+
fontFamily: "heading",
|
|
6902
|
+
scale: "xl",
|
|
6903
|
+
colorToken: "primary",
|
|
6904
|
+
opacity: 1
|
|
6905
|
+
} : {
|
|
6906
|
+
// accent-glyph
|
|
6907
|
+
fontFamily: "body",
|
|
6908
|
+
scale: "lg",
|
|
6909
|
+
colorToken: "secondary",
|
|
6910
|
+
opacity: 1
|
|
6911
|
+
};
|
|
6912
|
+
const fontFamily = treatment.fontFamily ?? base.fontFamily;
|
|
6913
|
+
const scale = treatment.scale ?? base.scale;
|
|
6914
|
+
const colorToken = treatment.colorToken ?? base.colorToken;
|
|
6915
|
+
const opacity = treatment.opacity ?? base.opacity;
|
|
6916
|
+
return {
|
|
6917
|
+
size: QUOTE_SCALE_SIZE[scale],
|
|
6918
|
+
opacity: String(opacity),
|
|
6919
|
+
color: rgbColorValue(colorToken),
|
|
6920
|
+
font: fontFamily === "heading" ? "var(--font-heading)" : "var(--font-body, inherit)",
|
|
6921
|
+
// Heading-font display marks render at the family's natural weight (Forum
|
|
6922
|
+
// ships a single 400) to avoid synthetic bold; glyph marks stay heavy.
|
|
6923
|
+
weight: fontFamily === "heading" ? "400" : "700",
|
|
6924
|
+
display: "block"
|
|
6925
|
+
};
|
|
6926
|
+
}
|
|
6927
|
+
function generateTestimonialsVars({
|
|
6928
|
+
themeId,
|
|
6929
|
+
theme
|
|
6930
|
+
}) {
|
|
5816
6931
|
const root = `:where([data-theme-scope="${themeId}"]) :where([data-block="testimonials"])`;
|
|
6932
|
+
const quote = resolveTestimonialQuoteVars(theme.testimonialQuote);
|
|
5817
6933
|
return `
|
|
5818
6934
|
${root} {
|
|
5819
6935
|
--rb-testimonial-avatar-size: 3rem;
|
|
5820
6936
|
--rb-testimonial-avatar-border-radius: 9999px;
|
|
5821
|
-
--rb-testimonial-quote-size:
|
|
5822
|
-
--rb-testimonial-quote-opacity:
|
|
6937
|
+
--rb-testimonial-quote-size: ${quote.size};
|
|
6938
|
+
--rb-testimonial-quote-opacity: ${quote.opacity};
|
|
6939
|
+
--rb-testimonial-quote-color: ${quote.color};
|
|
6940
|
+
--rb-testimonial-quote-font: ${quote.font};
|
|
6941
|
+
--rb-testimonial-quote-weight: ${quote.weight};
|
|
6942
|
+
--rb-testimonial-quote-display: ${quote.display};
|
|
5823
6943
|
|
|
5824
6944
|
/* Carousel arrows (defaults: primary background + onPrimary icon) */
|
|
5825
6945
|
--rb-testimonial-carousel-arrow-bg: rgb(var(--tb-primary));
|
|
@@ -7616,41 +8736,52 @@ var containerResponsiveThemeCss = `/*
|
|
|
7616
8736
|
}
|
|
7617
8737
|
|
|
7618
8738
|
.rb-container-pad-none {
|
|
7619
|
-
|
|
8739
|
+
--rb-card-pad: 0rem;
|
|
8740
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7620
8741
|
}
|
|
7621
8742
|
.rb-container-pad-compact {
|
|
7622
|
-
|
|
8743
|
+
--rb-card-pad: 1rem;
|
|
8744
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7623
8745
|
}
|
|
7624
8746
|
.rb-container-pad-cozy {
|
|
7625
|
-
|
|
8747
|
+
--rb-card-pad: 1.5rem;
|
|
8748
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7626
8749
|
}
|
|
7627
8750
|
.rb-container-pad-medium {
|
|
7628
|
-
|
|
8751
|
+
--rb-card-pad: 1.5rem;
|
|
8752
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7629
8753
|
}
|
|
7630
8754
|
.rb-container-pad-comfortable {
|
|
7631
|
-
|
|
8755
|
+
--rb-card-pad: 2rem;
|
|
8756
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7632
8757
|
}
|
|
7633
8758
|
.rb-container-pad-spacious {
|
|
7634
|
-
|
|
8759
|
+
--rb-card-pad: 2.5rem;
|
|
8760
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7635
8761
|
}
|
|
7636
8762
|
|
|
7637
8763
|
@container rb-site (min-width: 640px) {
|
|
7638
8764
|
|
|
7639
8765
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
7640
8766
|
.rb-container-pad-compact {
|
|
7641
|
-
|
|
8767
|
+
--rb-card-pad: 1.5rem;
|
|
8768
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7642
8769
|
}
|
|
7643
8770
|
.rb-container-pad-cozy {
|
|
7644
|
-
|
|
8771
|
+
--rb-card-pad: 2rem;
|
|
8772
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7645
8773
|
}
|
|
7646
8774
|
.rb-container-pad-medium {
|
|
7647
|
-
|
|
8775
|
+
--rb-card-pad: 2rem;
|
|
8776
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7648
8777
|
}
|
|
7649
8778
|
.rb-container-pad-comfortable {
|
|
7650
|
-
|
|
8779
|
+
--rb-card-pad: 2.5rem;
|
|
8780
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7651
8781
|
}
|
|
7652
8782
|
.rb-container-pad-spacious {
|
|
7653
|
-
|
|
8783
|
+
--rb-card-pad: 3.5rem;
|
|
8784
|
+
padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
|
|
7654
8785
|
}
|
|
7655
8786
|
}
|
|
7656
8787
|
|
|
@@ -7825,8 +8956,32 @@ var containerResponsiveThemeCss = `/*
|
|
|
7825
8956
|
/* Shared: Site document overlay header clearance */
|
|
7826
8957
|
/* -------------------------------------------------------------------------- */
|
|
7827
8958
|
|
|
7828
|
-
:where(.theme-scope)
|
|
7829
|
-
|
|
8959
|
+
:where(.theme-scope)
|
|
8960
|
+
:where([data-site-document-overlay-content='true'])
|
|
8961
|
+
:where([data-page-block-position='first'], [data-page-block-position='only'])
|
|
8962
|
+
> :where([data-slot='section'])
|
|
8963
|
+
> .rb-container {
|
|
8964
|
+
--rb-opening-content-clearance: calc(
|
|
8965
|
+
var(--site-overlay-header-clearance, 0px) +
|
|
8966
|
+
var(--site-overlay-opening-content-extra-pad, clamp(1rem, 2vw, 1.75rem))
|
|
8967
|
+
);
|
|
8968
|
+
}
|
|
8969
|
+
|
|
8970
|
+
:where(.theme-scope)
|
|
8971
|
+
:where([data-site-document-overlay-content='true'])
|
|
8972
|
+
:where([data-page-block-position='first'], [data-page-block-position='only'])
|
|
8973
|
+
> :where([data-slot='section'])
|
|
8974
|
+
> .rb-container:not([class*='rb-container-pad-']) {
|
|
8975
|
+
padding-top: var(--rb-opening-content-clearance, 0px);
|
|
8976
|
+
}
|
|
8977
|
+
|
|
8978
|
+
:where(.theme-scope)
|
|
8979
|
+
:where([data-site-document-overlay-content='true'])
|
|
8980
|
+
:where([data-page-block-position='first'], [data-page-block-position='only'])
|
|
8981
|
+
> :where([data-slot='section'])
|
|
8982
|
+
> .rb-container
|
|
8983
|
+
:where([class*='rb-container-pad-']) {
|
|
8984
|
+
--rb-opening-content-clearance: 0px;
|
|
7830
8985
|
}
|
|
7831
8986
|
|
|
7832
8987
|
/* -------------------------------------------------------------------------- */
|
|
@@ -7912,6 +9067,22 @@ var containerResponsiveThemeCss = `/*
|
|
|
7912
9067
|
}
|
|
7913
9068
|
}
|
|
7914
9069
|
|
|
9070
|
+
/* -------------------------------------------------------------------------- */
|
|
9071
|
+
/* Header: Mobile floating/glass backing */
|
|
9072
|
+
/* -------------------------------------------------------------------------- */
|
|
9073
|
+
|
|
9074
|
+
:where(.theme-scope) .header-variant-floating .header-mobile-bar {
|
|
9075
|
+
align-items: flex-start;
|
|
9076
|
+
margin-top: 0.75rem;
|
|
9077
|
+
}
|
|
9078
|
+
|
|
9079
|
+
:where(.theme-scope) .header-variant-floating .nav-mobile-toggle {
|
|
9080
|
+
border: 1px solid rgb(var(--tb-border) / 0.82);
|
|
9081
|
+
background: rgb(var(--tb-surface) / 0.96);
|
|
9082
|
+
color: rgb(var(--tb-text));
|
|
9083
|
+
box-shadow: none;
|
|
9084
|
+
}
|
|
9085
|
+
|
|
7915
9086
|
/*
|
|
7916
9087
|
* Theme Scope Styles
|
|
7917
9088
|
*
|
|
@@ -8084,7 +9255,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
8084
9255
|
|
|
8085
9256
|
/* Neutral prose uses theme text color by default */
|
|
8086
9257
|
:where(.theme-scope) .rb-prose-neutral {
|
|
8087
|
-
color: rgb(var(--tb-text));
|
|
9258
|
+
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
8088
9259
|
}
|
|
8089
9260
|
|
|
8090
9261
|
:where(.theme-scope) .rb-prose p,
|
|
@@ -8117,8 +9288,11 @@ var containerResponsiveThemeCss = `/*
|
|
|
8117
9288
|
}
|
|
8118
9289
|
|
|
8119
9290
|
:where(.theme-scope) .rb-prose a {
|
|
8120
|
-
|
|
8121
|
-
|
|
9291
|
+
--rb-prose-effective-link-color: var(
|
|
9292
|
+
--section-link-color,
|
|
9293
|
+
var(--rb-prose-link-color, rgb(var(--tb-primary)))
|
|
9294
|
+
);
|
|
9295
|
+
color: var(--rb-prose-effective-link-color);
|
|
8122
9296
|
text-decoration-line: var(--rb-prose-link-decoration-line, underline);
|
|
8123
9297
|
text-decoration-style: var(--rb-prose-link-underline-style, solid);
|
|
8124
9298
|
text-decoration-thickness: var(
|
|
@@ -8127,8 +9301,15 @@ var containerResponsiveThemeCss = `/*
|
|
|
8127
9301
|
);
|
|
8128
9302
|
text-underline-offset: var(--rb-prose-link-underline-offset, 0.14em);
|
|
8129
9303
|
text-decoration-color: var(
|
|
8130
|
-
--
|
|
8131
|
-
|
|
9304
|
+
--section-link-decoration-color,
|
|
9305
|
+
var(
|
|
9306
|
+
--rb-prose-link-decoration-color,
|
|
9307
|
+
color-mix(
|
|
9308
|
+
in srgb,
|
|
9309
|
+
var(--rb-prose-effective-link-color) 35%,
|
|
9310
|
+
transparent
|
|
9311
|
+
)
|
|
9312
|
+
)
|
|
8132
9313
|
);
|
|
8133
9314
|
transition:
|
|
8134
9315
|
color 150ms ease,
|
|
@@ -8138,20 +9319,20 @@ var containerResponsiveThemeCss = `/*
|
|
|
8138
9319
|
:where(.theme-scope) .rb-prose a:hover {
|
|
8139
9320
|
color: var(
|
|
8140
9321
|
--rb-prose-link-hover-color,
|
|
8141
|
-
var(--rb-prose-link-color
|
|
9322
|
+
var(--rb-prose-effective-link-color)
|
|
8142
9323
|
);
|
|
8143
9324
|
text-decoration-color: var(
|
|
8144
9325
|
--rb-prose-link-hover-decoration-color,
|
|
8145
9326
|
var(
|
|
8146
9327
|
--rb-prose-link-hover-color,
|
|
8147
|
-
var(--rb-prose-link-color
|
|
9328
|
+
var(--rb-prose-effective-link-color)
|
|
8148
9329
|
)
|
|
8149
9330
|
);
|
|
8150
9331
|
}
|
|
8151
9332
|
|
|
8152
9333
|
:where(.theme-scope) .rb-prose blockquote {
|
|
8153
9334
|
/* Blockquotes use muted text color */
|
|
8154
|
-
color: rgb(var(--tb-mutedText));
|
|
9335
|
+
color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
|
|
8155
9336
|
border-left-color: rgb(var(--tb-border));
|
|
8156
9337
|
}
|
|
8157
9338
|
|
|
@@ -8788,6 +9969,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
8788
9969
|
transition: padding 300ms var(--motion-ease, ease);
|
|
8789
9970
|
}
|
|
8790
9971
|
|
|
9972
|
+
:where(.theme-scope)
|
|
9973
|
+
.header-variant-classic
|
|
9974
|
+
.rb-header-layout:has(.header-logo-accommodation-popout-badge) {
|
|
9975
|
+
padding-top: 0.5rem;
|
|
9976
|
+
padding-bottom: 0.5rem;
|
|
9977
|
+
}
|
|
9978
|
+
|
|
8791
9979
|
/* Vertical variants need more breathing room
|
|
8792
9980
|
Note: header-variant-* is on Section (ancestor), rb-header-layout on inner div */
|
|
8793
9981
|
:where(.theme-scope) .header-variant-centered .rb-header-layout {
|
|
@@ -8848,6 +10036,85 @@ var containerResponsiveThemeCss = `/*
|
|
|
8848
10036
|
transition: height 300ms var(--motion-ease, ease);
|
|
8849
10037
|
}
|
|
8850
10038
|
|
|
10039
|
+
:where(.theme-scope) .header-logo-size-compact.rb-header-logo-sm {
|
|
10040
|
+
height: 2rem;
|
|
10041
|
+
}
|
|
10042
|
+
:where(.theme-scope) .header-logo-size-compact.rb-header-logo-lg {
|
|
10043
|
+
height: 2.5rem;
|
|
10044
|
+
}
|
|
10045
|
+
:where(.theme-scope) .header-logo-size-standard.rb-header-logo-sm {
|
|
10046
|
+
height: 2.5rem;
|
|
10047
|
+
}
|
|
10048
|
+
:where(.theme-scope) .header-logo-size-standard.rb-header-logo-lg {
|
|
10049
|
+
height: 3rem;
|
|
10050
|
+
}
|
|
10051
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-sm {
|
|
10052
|
+
height: 3.5rem;
|
|
10053
|
+
}
|
|
10054
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-lg {
|
|
10055
|
+
height: 4.5rem;
|
|
10056
|
+
}
|
|
10057
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-sm {
|
|
10058
|
+
height: 7.5rem;
|
|
10059
|
+
}
|
|
10060
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-lg {
|
|
10061
|
+
height: 8rem;
|
|
10062
|
+
}
|
|
10063
|
+
|
|
10064
|
+
:where(.theme-scope) .header-logo-accommodation-plate,
|
|
10065
|
+
:where(.theme-scope) .header-logo-accommodation-centered-badge,
|
|
10066
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge,
|
|
10067
|
+
:where(.theme-scope) .header-logo-accommodation-centered-masthead {
|
|
10068
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
10069
|
+
background: var(--color-surface, #fff);
|
|
10070
|
+
box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 0.08));
|
|
10071
|
+
padding: 0.5rem;
|
|
10072
|
+
transition:
|
|
10073
|
+
margin 300ms var(--motion-ease, ease),
|
|
10074
|
+
padding 300ms var(--motion-ease, ease);
|
|
10075
|
+
}
|
|
10076
|
+
|
|
10077
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge {
|
|
10078
|
+
position: relative;
|
|
10079
|
+
z-index: 1;
|
|
10080
|
+
margin-block: 0 -1.25rem;
|
|
10081
|
+
}
|
|
10082
|
+
|
|
10083
|
+
:where(.theme-scope)
|
|
10084
|
+
.header-logo-size-display.header-logo-accommodation-popout-badge {
|
|
10085
|
+
margin-block: 0 -4rem;
|
|
10086
|
+
}
|
|
10087
|
+
|
|
10088
|
+
:where(.theme-scope)
|
|
10089
|
+
.rb-header-shrink.header-scrolled.header-variant-classic
|
|
10090
|
+
.header-logo-size-display.header-logo-accommodation-plate,
|
|
10091
|
+
:where(.theme-scope)
|
|
10092
|
+
.rb-header-shrink.header-scrolled.header-variant-classic
|
|
10093
|
+
.header-logo-size-display.header-logo-accommodation-popout-badge,
|
|
10094
|
+
:where(.theme-scope)
|
|
10095
|
+
.rb-header-shrink.header-scrolled.header-variant-classic
|
|
10096
|
+
.header-logo-size-display.header-logo-accommodation-centered-masthead,
|
|
10097
|
+
:where(.theme-scope)
|
|
10098
|
+
.rb-header-shrink.header-scrolled.header-variant-centered
|
|
10099
|
+
.header-logo-size-display.header-logo-accommodation-centered-badge,
|
|
10100
|
+
:where(.theme-scope)
|
|
10101
|
+
.rb-header-shrink.header-scrolled.header-variant-centered
|
|
10102
|
+
.header-logo-size-display.header-logo-accommodation-centered-masthead {
|
|
10103
|
+
position: relative;
|
|
10104
|
+
z-index: 1;
|
|
10105
|
+
margin-block: 0 -2.75rem;
|
|
10106
|
+
}
|
|
10107
|
+
|
|
10108
|
+
:where(.theme-scope)
|
|
10109
|
+
.rb-header-shrink.header-scrolled.header-variant-centered
|
|
10110
|
+
.rb-header-layout {
|
|
10111
|
+
gap: 0.75rem;
|
|
10112
|
+
}
|
|
10113
|
+
|
|
10114
|
+
:where(.theme-scope) .header-logo-accommodation-centered-masthead {
|
|
10115
|
+
padding: 0.75rem 1rem;
|
|
10116
|
+
}
|
|
10117
|
+
|
|
8851
10118
|
/* Site title base font size (replaces rb-text-lg / rb-text-xl utilities) */
|
|
8852
10119
|
:where(.theme-scope) .header-logo-text {
|
|
8853
10120
|
font-size: 1.125rem; /* matches rb-text-lg */
|
|
@@ -8886,13 +10153,74 @@ var containerResponsiveThemeCss = `/*
|
|
|
8886
10153
|
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-lg {
|
|
8887
10154
|
height: 2.5rem;
|
|
8888
10155
|
}
|
|
10156
|
+
:where(.theme-scope)
|
|
10157
|
+
.rb-header-shrink.header-scrolled
|
|
10158
|
+
.header-logo-size-generous.rb-header-logo-sm {
|
|
10159
|
+
height: 2.75rem;
|
|
10160
|
+
}
|
|
10161
|
+
:where(.theme-scope)
|
|
10162
|
+
.rb-header-shrink.header-scrolled
|
|
10163
|
+
.header-logo-size-generous.rb-header-logo-lg {
|
|
10164
|
+
height: 3.25rem;
|
|
10165
|
+
}
|
|
10166
|
+
:where(.theme-scope)
|
|
10167
|
+
.rb-header-shrink.header-scrolled
|
|
10168
|
+
.header-logo-size-display.rb-header-logo-sm,
|
|
10169
|
+
:where(.theme-scope)
|
|
10170
|
+
.rb-header-shrink.header-scrolled
|
|
10171
|
+
.header-logo-size-display.rb-header-logo-lg {
|
|
10172
|
+
height: 3.75rem;
|
|
10173
|
+
}
|
|
8889
10174
|
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
8890
10175
|
font-size: 0.875rem;
|
|
8891
10176
|
}
|
|
8892
10177
|
|
|
8893
10178
|
@container rb-site (max-width: 767px) {
|
|
8894
10179
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
8895
|
-
:where(.theme-scope) .
|
|
10180
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-sm,
|
|
10181
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-lg {
|
|
10182
|
+
height: 3rem;
|
|
10183
|
+
}
|
|
10184
|
+
|
|
10185
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-sm,
|
|
10186
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-lg {
|
|
10187
|
+
height: 5.5rem;
|
|
10188
|
+
}
|
|
10189
|
+
|
|
10190
|
+
:where(.theme-scope)
|
|
10191
|
+
.rb-header-shrink.header-scrolled
|
|
10192
|
+
.header-logo-size-display.rb-header-logo-sm,
|
|
10193
|
+
:where(.theme-scope)
|
|
10194
|
+
.rb-header-shrink.header-scrolled
|
|
10195
|
+
.header-logo-size-display.rb-header-logo-lg {
|
|
10196
|
+
height: 3.5rem;
|
|
10197
|
+
}
|
|
10198
|
+
|
|
10199
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge {
|
|
10200
|
+
margin-block: 0;
|
|
10201
|
+
}
|
|
10202
|
+
|
|
10203
|
+
:where(.theme-scope)
|
|
10204
|
+
.rb-header-shrink.header-scrolled
|
|
10205
|
+
.header-logo-size-display.header-logo-accommodation-plate,
|
|
10206
|
+
:where(.theme-scope)
|
|
10207
|
+
.rb-header-shrink.header-scrolled
|
|
10208
|
+
.header-logo-size-display.header-logo-accommodation-popout-badge,
|
|
10209
|
+
:where(.theme-scope)
|
|
10210
|
+
.rb-header-shrink.header-scrolled
|
|
10211
|
+
.header-logo-size-display.header-logo-accommodation-centered-masthead,
|
|
10212
|
+
:where(.theme-scope)
|
|
10213
|
+
.rb-header-shrink.header-scrolled
|
|
10214
|
+
.header-logo-size-display.header-logo-accommodation-centered-badge,
|
|
10215
|
+
:where(.theme-scope)
|
|
10216
|
+
.rb-header-shrink.header-scrolled
|
|
10217
|
+
.header-logo-size-display.header-logo-accommodation-centered-masthead {
|
|
10218
|
+
position: relative;
|
|
10219
|
+
z-index: 1;
|
|
10220
|
+
margin-block: 0 -2.75rem;
|
|
10221
|
+
}
|
|
10222
|
+
|
|
10223
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
8896
10224
|
font-size: 0.75rem;
|
|
8897
10225
|
}
|
|
8898
10226
|
}
|
|
@@ -12168,7 +13496,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
12168
13496
|
/* Subheadline - supporting text below headline */
|
|
12169
13497
|
:where(.theme-scope) :where([data-block="hero"]) .hero-subheadline {
|
|
12170
13498
|
font-size: 1.125rem;
|
|
12171
|
-
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
13499
|
+
color: var(--section-supporting-color, var(--section-text-color, rgb(var(--tb-text))));
|
|
12172
13500
|
}
|
|
12173
13501
|
|
|
12174
13502
|
@container rb-site (min-width: 640px) {
|
|
@@ -12259,7 +13587,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
12259
13587
|
|
|
12260
13588
|
/* CTA content/body text */
|
|
12261
13589
|
:where(.theme-scope) :where([data-block="cta-full"]) .cta-content {
|
|
12262
|
-
color: rgb(var(--tb-mutedText));
|
|
13590
|
+
color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
|
|
12263
13591
|
}
|
|
12264
13592
|
|
|
12265
13593
|
/* CTA button row container */
|
|
@@ -12359,7 +13687,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
12359
13687
|
/* Form intro text */
|
|
12360
13688
|
:where(.theme-scope) :where([data-block="form"]) .form-copy-intro {
|
|
12361
13689
|
font-size: 1rem;
|
|
12362
|
-
color: rgb(var(--tb-text));
|
|
13690
|
+
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
12363
13691
|
}
|
|
12364
13692
|
|
|
12365
13693
|
/* =============================================================================
|
|
@@ -13682,11 +15010,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
13682
15010
|
}
|
|
13683
15011
|
|
|
13684
15012
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-quote {
|
|
15013
|
+
display: var(--rb-testimonial-quote-display, block);
|
|
15014
|
+
font-family: var(--rb-testimonial-quote-font, inherit);
|
|
13685
15015
|
font-size: var(--rb-testimonial-quote-size);
|
|
13686
15016
|
line-height: 1;
|
|
13687
|
-
font-weight: 700;
|
|
15017
|
+
font-weight: var(--rb-testimonial-quote-weight, 700);
|
|
13688
15018
|
opacity: var(--rb-testimonial-quote-opacity);
|
|
13689
|
-
color: rgb(var(--tb-primary));
|
|
15019
|
+
color: var(--rb-testimonial-quote-color, rgb(var(--tb-primary)));
|
|
13690
15020
|
}
|
|
13691
15021
|
|
|
13692
15022
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-accent-quote .rb-testimonial-quote {
|
|
@@ -13695,6 +15025,61 @@ var containerResponsiveThemeCss = `/*
|
|
|
13695
15025
|
opacity: 1;
|
|
13696
15026
|
}
|
|
13697
15027
|
|
|
15028
|
+
/* Open editorial testimonial card: boxless, with a hairline rule before the
|
|
15029
|
+
* attribution, an accent ring on the avatar, and comfortable prose. The quote
|
|
15030
|
+
* mark itself is owned by the site-style quote treatment (see the
|
|
15031
|
+
* --rb-testimonial-quote-* vars), not by these rules.
|
|
15032
|
+
*
|
|
15033
|
+
* \`editorial-open\` is the current non-carded look; \`editorial-serif-quote\` is
|
|
15034
|
+
* retained for content saved before the decomposition. */
|
|
15035
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-card.rb-card-treatment-editorial-open,
|
|
15036
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-card.rb-card-treatment-editorial-serif-quote {
|
|
15037
|
+
background: transparent;
|
|
15038
|
+
border: 0;
|
|
15039
|
+
border-radius: 0;
|
|
15040
|
+
padding: 0.25rem clamp(0.5rem, 1.5vw, 1.5rem);
|
|
15041
|
+
}
|
|
15042
|
+
|
|
15043
|
+
/* styledCard always renders an inner white rb-bg-surface fill layer; a boxless
|
|
15044
|
+
* card must clear it so the section band shows through (otherwise: white box). */
|
|
15045
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open > .rb-bg-surface,
|
|
15046
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote > .rb-bg-surface {
|
|
15047
|
+
background: transparent;
|
|
15048
|
+
}
|
|
15049
|
+
|
|
15050
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-prose,
|
|
15051
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-prose {
|
|
15052
|
+
font-size: 1.0625rem;
|
|
15053
|
+
line-height: 1.7;
|
|
15054
|
+
}
|
|
15055
|
+
|
|
15056
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-testimonial-attribution,
|
|
15057
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-testimonial-attribution {
|
|
15058
|
+
margin-top: 1.25rem;
|
|
15059
|
+
padding-top: 1.25rem;
|
|
15060
|
+
border-top: 1px solid rgba(var(--tb-border), 0.75);
|
|
15061
|
+
}
|
|
15062
|
+
|
|
15063
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-testimonial-avatar,
|
|
15064
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-testimonial-avatar {
|
|
15065
|
+
box-shadow:
|
|
15066
|
+
0 0 0 2px rgb(var(--tb-surface)),
|
|
15067
|
+
0 0 0 4px rgba(var(--tb-primary), 0.3);
|
|
15068
|
+
}
|
|
15069
|
+
|
|
15070
|
+
|
|
15071
|
+
/* Split grid: title column + cards. On desktop the title takes one quarter and
|
|
15072
|
+
* the cards fill the remaining three quarters (so title + 3 cards each read as
|
|
15073
|
+
* a quarter). Stacks on mobile. */
|
|
15074
|
+
@container rb-site (min-width: 1024px) {
|
|
15075
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
15076
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid {
|
|
15077
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
15078
|
+
align-items: start;
|
|
15079
|
+
}
|
|
15080
|
+
}
|
|
15081
|
+
}
|
|
15082
|
+
|
|
13698
15083
|
|
|
13699
15084
|
/* Testimonials carousel tweaks: arrow styling + gutters + equal-height cards */
|
|
13700
15085
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-carousel.carousel-root .carousel-nav-btn {
|
|
@@ -14845,7 +16230,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
14845
16230
|
|
|
14846
16231
|
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
14847
16232
|
font-size: 1rem;
|
|
14848
|
-
color: rgb(var(--tb-text));
|
|
16233
|
+
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
14849
16234
|
opacity: 0.85;
|
|
14850
16235
|
}
|
|
14851
16236
|
|
|
@@ -14893,7 +16278,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
14893
16278
|
:where(.theme-scope) .newsletter-privacy-note {
|
|
14894
16279
|
margin-top: 0.75rem;
|
|
14895
16280
|
font-size: 0.75rem;
|
|
14896
|
-
color: rgb(var(--tb-
|
|
16281
|
+
color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
|
|
14897
16282
|
text-align: center;
|
|
14898
16283
|
}
|
|
14899
16284
|
|
|
@@ -15160,10 +16545,16 @@ var containerResponsiveThemeCss = `/*
|
|
|
15160
16545
|
rgb(var(--tb-border, 229 231 235)),
|
|
15161
16546
|
rgb(var(--tb-text, 17 24 39)) 4%
|
|
15162
16547
|
);
|
|
16548
|
+
--event-compact-secondary-text: color-mix(
|
|
16549
|
+
in oklab,
|
|
16550
|
+
rgb(var(--tb-text, 17 24 39)),
|
|
16551
|
+
rgb(var(--tb-background, 255 255 255)) 28%
|
|
16552
|
+
);
|
|
15163
16553
|
|
|
15164
16554
|
width: min(100%, 92rem);
|
|
15165
16555
|
margin-inline: auto;
|
|
15166
16556
|
overflow: hidden;
|
|
16557
|
+
container: event-compact-list / inline-size;
|
|
15167
16558
|
border: 1px solid var(--event-compact-divider-color);
|
|
15168
16559
|
border-radius: 1rem;
|
|
15169
16560
|
background: rgb(var(--tb-background, 255 255 255));
|
|
@@ -15180,10 +16571,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15180
16571
|
|
|
15181
16572
|
:where(.theme-scope) .event-compact-row {
|
|
15182
16573
|
display: grid;
|
|
15183
|
-
grid-template-columns: clamp(
|
|
16574
|
+
grid-template-columns: clamp(4.5rem, 6vw, 6.25rem) minmax(0, 1fr);
|
|
15184
16575
|
align-items: center;
|
|
15185
|
-
min-height:
|
|
15186
|
-
padding:
|
|
16576
|
+
min-height: 6rem;
|
|
16577
|
+
padding: 1rem clamp(1.25rem, 2.6vw, 2.25rem);
|
|
15187
16578
|
border-bottom: 1px solid var(--event-compact-divider-color);
|
|
15188
16579
|
transition: background-color 150ms ease;
|
|
15189
16580
|
}
|
|
@@ -15200,13 +16591,21 @@ var containerResponsiveThemeCss = `/*
|
|
|
15200
16591
|
display: grid;
|
|
15201
16592
|
grid-template-rows: 1rem minmax(2.7rem, auto) 1rem;
|
|
15202
16593
|
place-items: center;
|
|
15203
|
-
gap: 0
|
|
16594
|
+
gap: 0;
|
|
15204
16595
|
min-width: 0;
|
|
15205
|
-
padding-right: clamp(
|
|
16596
|
+
padding-right: clamp(0.8rem, 1.6vw, 1.35rem);
|
|
15206
16597
|
text-align: center;
|
|
15207
16598
|
text-decoration: none;
|
|
15208
16599
|
}
|
|
15209
16600
|
|
|
16601
|
+
:where(.theme-scope) .event-compact-row-body {
|
|
16602
|
+
min-width: 0;
|
|
16603
|
+
display: flex;
|
|
16604
|
+
align-items: center;
|
|
16605
|
+
height: 100%;
|
|
16606
|
+
border-left: 1px solid var(--event-compact-divider-color);
|
|
16607
|
+
}
|
|
16608
|
+
|
|
15210
16609
|
:where(.theme-scope) .event-compact-row-date-weekday,
|
|
15211
16610
|
:where(.theme-scope) .event-compact-row-date-month {
|
|
15212
16611
|
display: grid;
|
|
@@ -15222,10 +16621,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15222
16621
|
:where(.theme-scope) .event-compact-row-date-day {
|
|
15223
16622
|
display: grid;
|
|
15224
16623
|
place-items: center;
|
|
15225
|
-
min-block-size: clamp(
|
|
16624
|
+
min-block-size: clamp(2rem, 3vw, 2.6rem);
|
|
15226
16625
|
color: rgb(var(--tb-text, 17 24 39));
|
|
15227
16626
|
font-family: var(--font-heading, var(--font-body, inherit));
|
|
15228
|
-
font-size: clamp(
|
|
16627
|
+
font-size: clamp(1.7rem, 1.35rem + 1.1vw, 2.35rem);
|
|
15229
16628
|
font-weight: 400;
|
|
15230
16629
|
line-height: 1;
|
|
15231
16630
|
}
|
|
@@ -15233,21 +16632,21 @@ var containerResponsiveThemeCss = `/*
|
|
|
15233
16632
|
:where(.theme-scope) .event-compact-row-content {
|
|
15234
16633
|
min-width: 0;
|
|
15235
16634
|
display: flex;
|
|
16635
|
+
flex: 1 1 18rem;
|
|
15236
16636
|
flex-direction: column;
|
|
15237
|
-
gap:
|
|
16637
|
+
gap: 0.625rem;
|
|
15238
16638
|
height: 100%;
|
|
15239
16639
|
justify-content: center;
|
|
15240
|
-
padding-inline: clamp(
|
|
15241
|
-
border-left: 1px solid var(--event-compact-divider-color);
|
|
16640
|
+
padding-inline: clamp(1rem, 2.4vw, 2.4rem);
|
|
15242
16641
|
}
|
|
15243
16642
|
|
|
15244
16643
|
:where(.theme-scope) .event-compact-row-title {
|
|
15245
16644
|
margin: 0;
|
|
15246
16645
|
color: rgb(var(--tb-text, 17 24 39));
|
|
15247
16646
|
font-family: var(--font-heading, var(--font-body, inherit));
|
|
15248
|
-
font-size: clamp(1.
|
|
16647
|
+
font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem);
|
|
15249
16648
|
font-weight: 400;
|
|
15250
|
-
line-height: 1.
|
|
16649
|
+
line-height: 1.2;
|
|
15251
16650
|
overflow: hidden;
|
|
15252
16651
|
text-overflow: ellipsis;
|
|
15253
16652
|
white-space: nowrap;
|
|
@@ -15258,8 +16657,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
15258
16657
|
align-items: center;
|
|
15259
16658
|
gap: 0.9rem;
|
|
15260
16659
|
min-width: 0;
|
|
15261
|
-
color:
|
|
15262
|
-
font-size:
|
|
16660
|
+
color: var(--event-compact-secondary-text);
|
|
16661
|
+
font-size: 0.875rem;
|
|
15263
16662
|
line-height: 1.35;
|
|
15264
16663
|
}
|
|
15265
16664
|
|
|
@@ -15292,16 +16691,17 @@ var containerResponsiveThemeCss = `/*
|
|
|
15292
16691
|
}
|
|
15293
16692
|
|
|
15294
16693
|
:where(.theme-scope) .event-compact-row-price {
|
|
15295
|
-
color:
|
|
15296
|
-
font-weight:
|
|
16694
|
+
color: inherit;
|
|
16695
|
+
font-weight: inherit;
|
|
15297
16696
|
}
|
|
15298
16697
|
|
|
15299
16698
|
:where(.theme-scope) .event-compact-row-action {
|
|
15300
16699
|
display: grid;
|
|
16700
|
+
flex: 0 1 clamp(14rem, 22vw, 19rem);
|
|
15301
16701
|
align-content: center;
|
|
15302
|
-
gap:
|
|
16702
|
+
gap: 0.75rem;
|
|
15303
16703
|
height: 100%;
|
|
15304
|
-
padding-left: clamp(1.
|
|
16704
|
+
padding-left: clamp(1.1rem, 2.4vw, 2.4rem);
|
|
15305
16705
|
border-left: 1px solid var(--event-compact-divider-color);
|
|
15306
16706
|
}
|
|
15307
16707
|
|
|
@@ -15309,8 +16709,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
15309
16709
|
display: inline-flex;
|
|
15310
16710
|
align-items: center;
|
|
15311
16711
|
gap: 0.65rem;
|
|
15312
|
-
color:
|
|
15313
|
-
font-size:
|
|
16712
|
+
color: var(--event-compact-secondary-text);
|
|
16713
|
+
font-size: 0.875rem;
|
|
15314
16714
|
line-height: 1.3;
|
|
15315
16715
|
white-space: nowrap;
|
|
15316
16716
|
}
|
|
@@ -15321,6 +16721,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15321
16721
|
flex-shrink: 0;
|
|
15322
16722
|
}
|
|
15323
16723
|
|
|
16724
|
+
:where(.theme-scope) .event-compact-row-action-price {
|
|
16725
|
+
display: none;
|
|
16726
|
+
}
|
|
16727
|
+
|
|
15324
16728
|
:where(.theme-scope) .event-compact-row-status {
|
|
15325
16729
|
color: rgb(var(--tb-muted, var(--tb-text, 17 24 39)));
|
|
15326
16730
|
font-weight: 500;
|
|
@@ -15349,54 +16753,215 @@ var containerResponsiveThemeCss = `/*
|
|
|
15349
16753
|
}
|
|
15350
16754
|
|
|
15351
16755
|
:where(.theme-scope) .event-compact-row {
|
|
15352
|
-
grid-template-columns: 4.
|
|
16756
|
+
grid-template-columns: 4.25rem minmax(0, 1fr);
|
|
15353
16757
|
min-height: 0;
|
|
15354
|
-
padding:
|
|
15355
|
-
row-gap:
|
|
16758
|
+
padding: 1rem;
|
|
16759
|
+
row-gap: 0.85rem;
|
|
15356
16760
|
}
|
|
15357
16761
|
|
|
15358
16762
|
:where(.theme-scope) .event-compact-row-date {
|
|
15359
|
-
|
|
16763
|
+
align-self: start;
|
|
16764
|
+
grid-row: 1;
|
|
16765
|
+
padding-right: 0.75rem;
|
|
16766
|
+
}
|
|
16767
|
+
|
|
16768
|
+
:where(.theme-scope) .event-compact-row-body {
|
|
16769
|
+
flex-direction: column;
|
|
16770
|
+
align-items: stretch;
|
|
16771
|
+
gap: 0.85rem;
|
|
16772
|
+
height: auto;
|
|
16773
|
+
padding-left: 0.9rem;
|
|
15360
16774
|
}
|
|
15361
16775
|
|
|
15362
16776
|
:where(.theme-scope) .event-compact-row-date-day {
|
|
15363
|
-
font-size:
|
|
16777
|
+
font-size: 1.65rem;
|
|
15364
16778
|
}
|
|
15365
16779
|
|
|
15366
16780
|
:where(.theme-scope) .event-compact-row-content {
|
|
15367
|
-
|
|
15368
|
-
|
|
15369
|
-
|
|
16781
|
+
flex: none;
|
|
16782
|
+
gap: 0.625rem;
|
|
16783
|
+
height: auto;
|
|
16784
|
+
padding-inline: 0;
|
|
15370
16785
|
}
|
|
15371
16786
|
|
|
15372
16787
|
:where(.theme-scope) .event-compact-row-title {
|
|
15373
|
-
font-size:
|
|
16788
|
+
font-size: 1.15rem;
|
|
16789
|
+
overflow: visible;
|
|
16790
|
+
text-overflow: clip;
|
|
15374
16791
|
white-space: normal;
|
|
16792
|
+
overflow-wrap: break-word;
|
|
16793
|
+
}
|
|
16794
|
+
|
|
16795
|
+
:where(.theme-scope) .event-compact-row-venue {
|
|
16796
|
+
max-width: 100%;
|
|
16797
|
+
}
|
|
16798
|
+
|
|
16799
|
+
:where(.theme-scope) .event-compact-row-venue svg {
|
|
16800
|
+
flex-shrink: 0;
|
|
15375
16801
|
}
|
|
15376
16802
|
|
|
15377
16803
|
:where(.theme-scope) .event-compact-row-meta {
|
|
16804
|
+
flex-direction: column;
|
|
16805
|
+
align-items: flex-start;
|
|
15378
16806
|
flex-wrap: wrap;
|
|
15379
|
-
gap: 0.
|
|
16807
|
+
gap: 0.35rem;
|
|
16808
|
+
}
|
|
16809
|
+
|
|
16810
|
+
:where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
|
|
16811
|
+
display: none;
|
|
16812
|
+
}
|
|
16813
|
+
|
|
16814
|
+
:where(.theme-scope) .event-compact-row-teacher::before,
|
|
16815
|
+
:where(.theme-scope) .event-compact-row-price::before {
|
|
16816
|
+
content: none;
|
|
15380
16817
|
}
|
|
15381
16818
|
|
|
15382
16819
|
:where(.theme-scope) .event-compact-row-action {
|
|
15383
|
-
|
|
16820
|
+
flex: none;
|
|
15384
16821
|
grid-template-columns: minmax(0, 1fr);
|
|
15385
|
-
gap: 0.
|
|
16822
|
+
gap: 0.7rem;
|
|
16823
|
+
height: auto;
|
|
16824
|
+
width: 100%;
|
|
15386
16825
|
padding-left: 0;
|
|
15387
|
-
padding-top:
|
|
15388
|
-
border-left:
|
|
15389
|
-
border-top:
|
|
16826
|
+
padding-top: 0;
|
|
16827
|
+
border-left: 0;
|
|
16828
|
+
border-top: 0;
|
|
15390
16829
|
}
|
|
15391
16830
|
|
|
15392
16831
|
:where(.theme-scope) .event-compact-row-datetime {
|
|
16832
|
+
display: flex;
|
|
16833
|
+
flex-wrap: wrap;
|
|
15393
16834
|
white-space: normal;
|
|
15394
16835
|
}
|
|
15395
16836
|
|
|
16837
|
+
:where(.theme-scope) .event-compact-row-action-price {
|
|
16838
|
+
display: inline-flex;
|
|
16839
|
+
align-items: center;
|
|
16840
|
+
gap: 0.55rem;
|
|
16841
|
+
}
|
|
16842
|
+
|
|
16843
|
+
:where(.theme-scope) .event-compact-row-action-price::before {
|
|
16844
|
+
content: "\\00b7";
|
|
16845
|
+
}
|
|
16846
|
+
|
|
15396
16847
|
:where(.theme-scope) .event-compact-row-cta {
|
|
15397
|
-
width: 100
|
|
16848
|
+
width: min(100%, 12rem);
|
|
16849
|
+
min-height: 2.65rem;
|
|
16850
|
+
justify-content: space-between;
|
|
16851
|
+
gap: 0.65rem;
|
|
16852
|
+
padding-inline: 1rem;
|
|
15398
16853
|
}
|
|
16854
|
+
|
|
16855
|
+
:where(.theme-scope) .event-compact-row-cta span {
|
|
16856
|
+
min-width: 0;
|
|
16857
|
+
}
|
|
16858
|
+
}
|
|
15399
16859
|
}
|
|
16860
|
+
|
|
16861
|
+
@container event-compact-list (max-width: 48rem) {
|
|
16862
|
+
:where(.theme-scope) .event-compact-row {
|
|
16863
|
+
grid-template-columns: 4.25rem minmax(0, 1fr);
|
|
16864
|
+
min-height: 0;
|
|
16865
|
+
padding: 1rem;
|
|
16866
|
+
row-gap: 0.85rem;
|
|
16867
|
+
}
|
|
16868
|
+
|
|
16869
|
+
:where(.theme-scope) .event-compact-row-date {
|
|
16870
|
+
align-self: start;
|
|
16871
|
+
grid-row: 1;
|
|
16872
|
+
padding-right: 0.75rem;
|
|
16873
|
+
}
|
|
16874
|
+
|
|
16875
|
+
:where(.theme-scope) .event-compact-row-body {
|
|
16876
|
+
flex-direction: column;
|
|
16877
|
+
align-items: stretch;
|
|
16878
|
+
gap: 0.85rem;
|
|
16879
|
+
height: auto;
|
|
16880
|
+
padding-left: 0.9rem;
|
|
16881
|
+
}
|
|
16882
|
+
|
|
16883
|
+
:where(.theme-scope) .event-compact-row-date-day {
|
|
16884
|
+
font-size: 1.65rem;
|
|
16885
|
+
}
|
|
16886
|
+
|
|
16887
|
+
:where(.theme-scope) .event-compact-row-content {
|
|
16888
|
+
flex: none;
|
|
16889
|
+
gap: 0.625rem;
|
|
16890
|
+
height: auto;
|
|
16891
|
+
padding-inline: 0;
|
|
16892
|
+
}
|
|
16893
|
+
|
|
16894
|
+
:where(.theme-scope) .event-compact-row-title {
|
|
16895
|
+
font-size: 1.15rem;
|
|
16896
|
+
overflow: visible;
|
|
16897
|
+
text-overflow: clip;
|
|
16898
|
+
white-space: normal;
|
|
16899
|
+
overflow-wrap: break-word;
|
|
16900
|
+
}
|
|
16901
|
+
|
|
16902
|
+
:where(.theme-scope) .event-compact-row-venue {
|
|
16903
|
+
max-width: 100%;
|
|
16904
|
+
}
|
|
16905
|
+
|
|
16906
|
+
:where(.theme-scope) .event-compact-row-venue svg {
|
|
16907
|
+
flex-shrink: 0;
|
|
16908
|
+
}
|
|
16909
|
+
|
|
16910
|
+
:where(.theme-scope) .event-compact-row-meta {
|
|
16911
|
+
flex-direction: column;
|
|
16912
|
+
align-items: flex-start;
|
|
16913
|
+
flex-wrap: wrap;
|
|
16914
|
+
gap: 0.35rem;
|
|
16915
|
+
}
|
|
16916
|
+
|
|
16917
|
+
:where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
|
|
16918
|
+
display: none;
|
|
16919
|
+
}
|
|
16920
|
+
|
|
16921
|
+
:where(.theme-scope) .event-compact-row-teacher::before,
|
|
16922
|
+
:where(.theme-scope) .event-compact-row-price::before {
|
|
16923
|
+
content: none;
|
|
16924
|
+
}
|
|
16925
|
+
|
|
16926
|
+
:where(.theme-scope) .event-compact-row-action {
|
|
16927
|
+
flex: none;
|
|
16928
|
+
grid-template-columns: minmax(0, 1fr);
|
|
16929
|
+
gap: 0.7rem;
|
|
16930
|
+
height: auto;
|
|
16931
|
+
width: 100%;
|
|
16932
|
+
padding-left: 0;
|
|
16933
|
+
padding-top: 0;
|
|
16934
|
+
border-left: 0;
|
|
16935
|
+
border-top: 0;
|
|
16936
|
+
}
|
|
16937
|
+
|
|
16938
|
+
:where(.theme-scope) .event-compact-row-datetime {
|
|
16939
|
+
display: flex;
|
|
16940
|
+
flex-wrap: wrap;
|
|
16941
|
+
white-space: normal;
|
|
16942
|
+
}
|
|
16943
|
+
|
|
16944
|
+
:where(.theme-scope) .event-compact-row-action-price {
|
|
16945
|
+
display: inline-flex;
|
|
16946
|
+
align-items: center;
|
|
16947
|
+
gap: 0.55rem;
|
|
16948
|
+
}
|
|
16949
|
+
|
|
16950
|
+
:where(.theme-scope) .event-compact-row-action-price::before {
|
|
16951
|
+
content: "\\00b7";
|
|
16952
|
+
}
|
|
16953
|
+
|
|
16954
|
+
:where(.theme-scope) .event-compact-row-cta {
|
|
16955
|
+
width: min(100%, 12rem);
|
|
16956
|
+
min-height: 2.65rem;
|
|
16957
|
+
justify-content: space-between;
|
|
16958
|
+
gap: 0.65rem;
|
|
16959
|
+
padding-inline: 1rem;
|
|
16960
|
+
}
|
|
16961
|
+
|
|
16962
|
+
:where(.theme-scope) .event-compact-row-cta span {
|
|
16963
|
+
min-width: 0;
|
|
16964
|
+
}
|
|
15400
16965
|
}
|
|
15401
16966
|
|
|
15402
16967
|
:where(.theme-scope) .section-state__callout {
|
|
@@ -15450,19 +17015,31 @@ var containerResponsiveThemeCss = `/*
|
|
|
15450
17015
|
* =============================================================================
|
|
15451
17016
|
*/
|
|
15452
17017
|
|
|
15453
|
-
|
|
15454
|
-
|
|
15455
|
-
|
|
15456
|
-
|
|
17018
|
+
/*
|
|
17019
|
+
* The mark sits inside a full-width block row so it inherits the heading group's
|
|
17020
|
+
* \`text-align\`: a centred heading centres the mark, a left-aligned heading keeps
|
|
17021
|
+
* it at the start. The heading stacks are flexbox, where \`text-align\` positions
|
|
17022
|
+
* inline content but not flex items \u2014 so the row (a stretched block flex item)
|
|
17023
|
+
* is what carries the alignment, and the inline-block mark follows it. Alignment
|
|
17024
|
+
* is never configured directly; it follows the heading.
|
|
17025
|
+
*/
|
|
17026
|
+
:where(.theme-scope) .rb-heading-decoration-group {
|
|
17027
|
+
display: flex;
|
|
17028
|
+
flex-direction: column;
|
|
17029
|
+
gap: 0;
|
|
15457
17030
|
}
|
|
15458
17031
|
|
|
15459
|
-
:where(.theme-scope) .rb-heading-decoration-
|
|
17032
|
+
:where(.theme-scope) .rb-heading-decoration-row {
|
|
17033
|
+
display: block;
|
|
17034
|
+
width: 100%;
|
|
15460
17035
|
margin-top: 0.35rem;
|
|
17036
|
+
line-height: 0;
|
|
17037
|
+
pointer-events: none;
|
|
15461
17038
|
}
|
|
15462
17039
|
|
|
15463
|
-
:where(.theme-scope) .rb-heading-decoration
|
|
15464
|
-
|
|
15465
|
-
|
|
17040
|
+
:where(.theme-scope) .rb-heading-decoration {
|
|
17041
|
+
display: inline-block;
|
|
17042
|
+
vertical-align: top;
|
|
15466
17043
|
}
|
|
15467
17044
|
|
|
15468
17045
|
:where(.theme-scope) .rb-heading-decoration-organic-squiggle {
|
|
@@ -15558,6 +17135,227 @@ var containerResponsiveThemeCss = `/*
|
|
|
15558
17135
|
:where(.theme-scope) .rb-feature-card-icon-zone--plain .rb-feature-card-icon {
|
|
15559
17136
|
width: 1.5rem;
|
|
15560
17137
|
height: 1.5rem;
|
|
17138
|
+
}
|
|
17139
|
+
|
|
17140
|
+
/* --- Card marker mode (icons / numbers / none) -----------------------------
|
|
17141
|
+
*
|
|
17142
|
+
* The icon zone and the number zone both sit in the DOM; the grid's
|
|
17143
|
+
* \`data-card-marker\` attribute decides which shows. The default (legacy
|
|
17144
|
+
* content with no attribute) shows icons and hides the number zone.
|
|
17145
|
+
*/
|
|
17146
|
+
:where(.theme-scope) .rb-feature-card-number-zone {
|
|
17147
|
+
display: none; /* shown only in numbers mode */
|
|
17148
|
+
align-items: center;
|
|
17149
|
+
justify-content: center;
|
|
17150
|
+
flex: 0 0 auto;
|
|
17151
|
+
width: 2.5rem;
|
|
17152
|
+
height: 2.5rem;
|
|
17153
|
+
margin-bottom: 0.125rem;
|
|
17154
|
+
border-radius: var(--rb-block-radius, 0.75rem);
|
|
17155
|
+
background-color: rgb(var(--tb-primary) / 10%);
|
|
17156
|
+
color: rgb(var(--tb-primary));
|
|
17157
|
+
counter-increment: rb-feature-card-number;
|
|
17158
|
+
}
|
|
17159
|
+
:where(.theme-scope) .rb-feature-card-number-zone::before {
|
|
17160
|
+
content: counter(rb-feature-card-number, decimal-leading-zero);
|
|
17161
|
+
font-weight: 700;
|
|
17162
|
+
font-size: 0.95rem;
|
|
17163
|
+
line-height: 1;
|
|
17164
|
+
}
|
|
17165
|
+
|
|
17166
|
+
:where(.theme-scope) .rb-feature-cards-grid {
|
|
17167
|
+
counter-reset: rb-feature-card-number;
|
|
17168
|
+
}
|
|
17169
|
+
|
|
17170
|
+
:where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-number-zone {
|
|
17171
|
+
display: inline-flex;
|
|
17172
|
+
}
|
|
17173
|
+
:where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-icon-zone {
|
|
17174
|
+
display: none;
|
|
17175
|
+
}
|
|
17176
|
+
:where(.theme-scope) [data-card-marker="none"] .rb-feature-card-icon-zone,
|
|
17177
|
+
:where(.theme-scope) [data-card-marker="none"] .rb-feature-card-number-zone {
|
|
17178
|
+
display: none;
|
|
17179
|
+
}
|
|
17180
|
+
|
|
17181
|
+
/* =============================================================================
|
|
17182
|
+
* Shared: Card treatments
|
|
17183
|
+
*
|
|
17184
|
+
* Visual treatments referenced from \`_cardStyles.treatment\` (see
|
|
17185
|
+
* cardStylesOverrideSchema). Class names are emitted by the boxStyles
|
|
17186
|
+
* transform in @riverbankcms/blocks.
|
|
17187
|
+
*
|
|
17188
|
+
* Also contains feature-card media/padding behaviour shared by all looks:
|
|
17189
|
+
* - card images bleed to the card edges (flush photo tops)
|
|
17190
|
+
* - card-level padding replaces the content stack's fallback padding so the
|
|
17191
|
+
* two never stack up
|
|
17192
|
+
* ============================================================================= */
|
|
17193
|
+
|
|
17194
|
+
/* --- Feature card media + padding behaviour (all looks) -------------------- */
|
|
17195
|
+
|
|
17196
|
+
/*
|
|
17197
|
+
* When a look gives the card real padding (rb-container-pad-*), the image
|
|
17198
|
+
* bleeds to the card edges and the inner content stack drops its fallback
|
|
17199
|
+
* padding so insets don't double up.
|
|
17200
|
+
*/
|
|
17201
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-media {
|
|
17202
|
+
width: calc(100% + 2 * var(--rb-card-pad, 0rem));
|
|
17203
|
+
max-width: none;
|
|
17204
|
+
margin: calc(-1 * var(--rb-card-pad, 0rem)) calc(-1 * var(--rb-card-pad, 0rem)) 0;
|
|
17205
|
+
}
|
|
17206
|
+
|
|
17207
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-media + .rb-feature-card-content {
|
|
17208
|
+
margin-top: 1.4rem;
|
|
17209
|
+
}
|
|
17210
|
+
|
|
17211
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-content {
|
|
17212
|
+
padding: 0;
|
|
17213
|
+
}
|
|
17214
|
+
|
|
17215
|
+
/* --- Soft panel ------------------------------------------------------------ */
|
|
17216
|
+
|
|
17217
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel {
|
|
17218
|
+
transition: transform 250ms ease, box-shadow 250ms ease;
|
|
17219
|
+
}
|
|
17220
|
+
|
|
17221
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
17222
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel:hover {
|
|
17223
|
+
transform: translateY(-3px);
|
|
17224
|
+
box-shadow: 0 0.875rem 1.875rem rgba(var(--tb-shadow, 0 0 0), 0.1);
|
|
17225
|
+
}
|
|
17226
|
+
}
|
|
17227
|
+
|
|
17228
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel .cta-row .button-ghost {
|
|
17229
|
+
padding-inline: 0;
|
|
17230
|
+
}
|
|
17231
|
+
|
|
17232
|
+
/* --- Editorial rule --------------------------------------------------------- */
|
|
17233
|
+
|
|
17234
|
+
/*
|
|
17235
|
+
* Boxless open column: no background, no border box, a short brand rule
|
|
17236
|
+
* sitting on a full-width hairline at the top of the column.
|
|
17237
|
+
*/
|
|
17238
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule {
|
|
17239
|
+
margin-top: 1rem;
|
|
17240
|
+
border-top: 1px solid
|
|
17241
|
+
color-mix(in oklab, rgb(var(--tb-border, 229 231 235)), transparent 25%);
|
|
17242
|
+
}
|
|
17243
|
+
|
|
17244
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-bg-surface {
|
|
17245
|
+
background: transparent;
|
|
17246
|
+
}
|
|
17247
|
+
|
|
17248
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule::before {
|
|
17249
|
+
content: "";
|
|
17250
|
+
position: absolute;
|
|
17251
|
+
top: 0;
|
|
17252
|
+
left: 0;
|
|
17253
|
+
width: 2.75rem;
|
|
17254
|
+
height: 2px;
|
|
17255
|
+
background: rgb(var(--tb-primary, 0 0 0));
|
|
17256
|
+
}
|
|
17257
|
+
|
|
17258
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-feature-card-media {
|
|
17259
|
+
margin-top: 1.6rem;
|
|
17260
|
+
border-radius: calc(var(--rb-block-radius, 0.75rem) * 0.5);
|
|
17261
|
+
}
|
|
17262
|
+
|
|
17263
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-feature-card-content {
|
|
17264
|
+
padding: 1.6rem 0 0.25rem;
|
|
17265
|
+
}
|
|
17266
|
+
|
|
17267
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule .cta-row .button-ghost {
|
|
17268
|
+
padding-inline: 0;
|
|
17269
|
+
}
|
|
17270
|
+
|
|
17271
|
+
/* --- Colour-blocked --------------------------------------------------------- */
|
|
17272
|
+
|
|
17273
|
+
/*
|
|
17274
|
+
* Bold, flat cards that each take a different palette colour by position,
|
|
17275
|
+
* cycled across the grid, with a staggered vertical offset on wider screens.
|
|
17276
|
+
* The background layer (\`.rb-bg-surface\`) is recoloured per card; the card's
|
|
17277
|
+
* text colour is set to the matching on-colour so content stays readable.
|
|
17278
|
+
*/
|
|
17279
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked {
|
|
17280
|
+
box-shadow: none;
|
|
17281
|
+
}
|
|
17282
|
+
|
|
17283
|
+
/* Per-card colour cycle. The \`on*\` colours are always derived by the palette
|
|
17284
|
+
* (expandPalette emits onSurface/onSecondary/onPrimary), so no fallback. */
|
|
17285
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) > .rb-bg-surface {
|
|
17286
|
+
background: rgb(var(--tb-surface));
|
|
17287
|
+
}
|
|
17288
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) {
|
|
17289
|
+
color: rgb(var(--tb-onSurface));
|
|
17290
|
+
}
|
|
17291
|
+
|
|
17292
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) > .rb-bg-surface {
|
|
17293
|
+
background: rgb(var(--tb-secondary));
|
|
17294
|
+
}
|
|
17295
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) {
|
|
17296
|
+
color: rgb(var(--tb-onSecondary));
|
|
17297
|
+
}
|
|
17298
|
+
|
|
17299
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) > .rb-bg-surface {
|
|
17300
|
+
background: rgb(var(--tb-primary));
|
|
17301
|
+
}
|
|
17302
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) {
|
|
17303
|
+
color: rgb(var(--tb-onPrimary));
|
|
17304
|
+
}
|
|
17305
|
+
|
|
17306
|
+
/* Body copy carries an inline muted colour from the block; force it to the
|
|
17307
|
+
* card's on-colour so it reads on every block (inline style needs !important). */
|
|
17308
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-body {
|
|
17309
|
+
color: inherit !important;
|
|
17310
|
+
opacity: 0.9;
|
|
17311
|
+
}
|
|
17312
|
+
|
|
17313
|
+
/* The number marker defaults to the brand accent, which collides with the
|
|
17314
|
+
* primary-coloured card in the cycle. On colour-blocked cards use the card's
|
|
17315
|
+
* own on-colour (the palette guarantees it's legible on that background) and a
|
|
17316
|
+
* faint tint of it for the badge, so the number always contrasts. */
|
|
17317
|
+
:where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-number-zone {
|
|
17318
|
+
color: inherit;
|
|
17319
|
+
background-color: color-mix(in oklab, currentColor, transparent 88%);
|
|
17320
|
+
}
|
|
17321
|
+
|
|
17322
|
+
/* Staggered offset: drop the middle column on wider screens. Scoped to a 3-up
|
|
17323
|
+
* grid (\`.rb-grid-cols-3\`) so 2-/4-column grids don't get a misaligned stagger;
|
|
17324
|
+
* the colour cycle still reads as a diagonal at any column count. */
|
|
17325
|
+
@container rb-site (min-width: 768px) {
|
|
17326
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
17327
|
+
:where(.theme-scope) .rb-grid-cols-3 .rb-card-treatment-color-blocked:nth-child(3n + 2) {
|
|
17328
|
+
margin-top: 2.75rem;
|
|
17329
|
+
/* Override the card's \`h-full\` so the grid's stretch shrinks the card by the
|
|
17330
|
+
* margin (a genuinely shorter card) instead of keeping full height and
|
|
17331
|
+
* overflowing the section, which clips the rounded bottom corners. */
|
|
17332
|
+
height: auto;
|
|
17333
|
+
}
|
|
17334
|
+
}
|
|
17335
|
+
}
|
|
17336
|
+
|
|
17337
|
+
:where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media-wrap {
|
|
17338
|
+
max-width: min(100%, 24rem);
|
|
17339
|
+
margin-inline: auto;
|
|
17340
|
+
}
|
|
17341
|
+
|
|
17342
|
+
:where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media {
|
|
17343
|
+
aspect-ratio: 1 / 1 !important;
|
|
17344
|
+
border-radius: 9999px;
|
|
17345
|
+
}
|
|
17346
|
+
|
|
17347
|
+
:where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-title {
|
|
17348
|
+
font-size: clamp(2rem, 1.56rem + 1.4vw, 3rem);
|
|
17349
|
+
line-height: 1.14;
|
|
17350
|
+
}
|
|
17351
|
+
|
|
17352
|
+
:where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy {
|
|
17353
|
+
gap: var(--rb-space-5, 1.25rem);
|
|
17354
|
+
}
|
|
17355
|
+
|
|
17356
|
+
:where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy .rb-prose {
|
|
17357
|
+
font-size: clamp(1.125rem, 1.02rem + 0.35vw, 1.375rem);
|
|
17358
|
+
line-height: 1.65;
|
|
15561
17359
|
}`;
|
|
15562
17360
|
|
|
15563
17361
|
// ../theme-core/src/ThemeScopeCore.tsx
|
|
@@ -15752,7 +17550,7 @@ var SITE_CHROME_VISIBLE_HEADER_SELECTOR = `[${SITE_CHROME_VISIBLE_HEADER_ATTR}="
|
|
|
15752
17550
|
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
15753
17551
|
|
|
15754
17552
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
15755
|
-
import { z as
|
|
17553
|
+
import { z as z19 } from "zod";
|
|
15756
17554
|
|
|
15757
17555
|
// ../theme-core/src/inputs/core.ts
|
|
15758
17556
|
var CORNER_RADIUS_MAP4 = {
|
|
@@ -15945,33 +17743,33 @@ var CSS_DECLARATION_PROPERTY_PATTERN = /^(?:-[a-zA-Z][a-zA-Z0-9-]*|[a-zA-Z][a-zA
|
|
|
15945
17743
|
var UNSAFE_CSS_MARKUP_PATTERN = /[{}<>]|<\/|<script/i;
|
|
15946
17744
|
var EXTERNAL_URL_PATTERN = /url\s*\(\s*['"]?(?:https?:|\/\/)/i;
|
|
15947
17745
|
var JAVASCRIPT_URL_PATTERN2 = /javascript\s*:/i;
|
|
15948
|
-
var themeBridgeConfigSchema =
|
|
15949
|
-
tokens:
|
|
15950
|
-
typography:
|
|
15951
|
-
headingFamily:
|
|
15952
|
-
bodyFamily:
|
|
15953
|
-
headingWeight:
|
|
15954
|
-
bodyWeight:
|
|
17746
|
+
var themeBridgeConfigSchema = z19.object({
|
|
17747
|
+
tokens: z19.record(z19.string(), z19.string()),
|
|
17748
|
+
typography: z19.object({
|
|
17749
|
+
headingFamily: z19.string().optional(),
|
|
17750
|
+
bodyFamily: z19.string().optional(),
|
|
17751
|
+
headingWeight: z19.number().optional(),
|
|
17752
|
+
bodyWeight: z19.number().optional()
|
|
15955
17753
|
}).optional(),
|
|
15956
|
-
spacing:
|
|
15957
|
-
corners:
|
|
15958
|
-
shadows:
|
|
15959
|
-
components:
|
|
15960
|
-
buttons:
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
variants:
|
|
17754
|
+
spacing: z19.enum(["comfortable", "standard", "dense"]).optional(),
|
|
17755
|
+
corners: z19.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
17756
|
+
shadows: z19.enum(["none", "low", "medium", "high"]).optional(),
|
|
17757
|
+
components: z19.object({
|
|
17758
|
+
buttons: z19.union([
|
|
17759
|
+
z19.boolean(),
|
|
17760
|
+
z19.object({
|
|
17761
|
+
variants: z19.array(z19.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
15964
17762
|
})
|
|
15965
17763
|
]).optional(),
|
|
15966
|
-
cards:
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
variants:
|
|
17764
|
+
cards: z19.union([
|
|
17765
|
+
z19.boolean(),
|
|
17766
|
+
z19.object({
|
|
17767
|
+
variants: z19.array(z19.enum(["default", "elevated", "outlined"])).optional()
|
|
15970
17768
|
})
|
|
15971
17769
|
]).optional(),
|
|
15972
|
-
inputs:
|
|
17770
|
+
inputs: z19.boolean().optional()
|
|
15973
17771
|
}).optional(),
|
|
15974
|
-
overrides:
|
|
17772
|
+
overrides: z19.record(z19.string(), z19.string()).optional()
|
|
15975
17773
|
}).passthrough();
|
|
15976
17774
|
var TOKEN_ALIASES = [
|
|
15977
17775
|
{ source: "text", target: "foreground" },
|