@riverbankcms/sdk 0.152.0 → 0.154.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
- package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
- package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
- package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +266 -143
- package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +5340 -4329
- package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-C8kzu0hY.mjs} +610 -116
- package/dist/_dts/ai/src/contracts/proposals.d.ts +416 -182
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +3270 -8214
- package/dist/_dts/api/src/billing.d.ts +2 -0
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
- package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
- package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
- package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
- package/dist/_dts/api/src/bookings.d.ts +2 -3
- package/dist/_dts/api/src/communications.d.ts +19 -5
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +88 -43
- package/dist/_dts/api/src/index.d.ts +4 -2
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkThemeWire.d.ts +348 -1537
- package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
- package/dist/_dts/api/src/siteSettings.d.ts +1 -0
- package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
- package/dist/_dts/api/src/teamMembers.d.ts +2 -27
- package/dist/_dts/api/src/types.d.ts +11 -31
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +276 -884
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +92 -90
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
- package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
- package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +48 -48
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
- package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +18 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +12 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +289 -885
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
- package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
- package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
- package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
- package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
- package/dist/_dts/core/src/date-display.d.ts +85 -0
- package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
- package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
- package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
- package/dist/_dts/core/src/footer-composition.d.ts +1 -1
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +12 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -2
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +105 -13
- package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
- package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
- package/dist/_dts/media-core/src/index.d.ts +4 -0
- package/dist/_dts/media-core/src/media.d.ts +406 -0
- package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
- package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
- package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
- package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
- package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
- package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
- package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
- package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
- package/dist/_dts/media-editor/src/types.d.ts +1 -1
- package/dist/_dts/media-editor/src/utils.d.ts +0 -1
- package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
- package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
- package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
- package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
- package/dist/_dts/sdk/src/index.d.ts +1 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +378 -66
- package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +42 -42
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
- package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +495 -2766
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +838 -3369
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
- package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
- package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +2 -2
- package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
- package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
- package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-BkTkqBkh.mjs} +5 -4
- package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
- package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -6
- package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
- package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
- package/dist/client/{RichText-BoDmnopf.mjs → RichText-BI9bzbjo.mjs} +106 -60
- package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -2
- package/dist/client/{accordion-DOkRS64-.mjs → accordion-6Yz8Wd83.mjs} +1 -1
- package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-i_pKIGiY.mjs} +42 -15
- package/dist/client/bookings.mjs +118357 -22833
- package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-DNqd_PjC.mjs} +2 -2
- package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
- package/dist/client/{cart-OBBPlaH4.mjs → cart-D8OBHuF4.mjs} +3 -3
- package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-F3-9IGLU.mjs} +3 -3
- package/dist/client/client.mjs +20785 -19238
- package/dist/client/{context-BI77UFAn.mjs → context-Dg4ZrxDD.mjs} +1 -1
- package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-BUc7YIBM.mjs} +8 -9
- package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-BwfShk2a.mjs} +4 -4
- package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-BMOVC3go.mjs} +3 -3
- package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-BwE9PM-t.mjs} +4 -4
- package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-CCWPYDc7.mjs} +10 -10
- package/dist/client/{form-DW8rU7jO.mjs → form-CXFr0Gd5.mjs} +115 -52
- package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-BX8qw8kH.mjs} +3 -3
- package/dist/client/hooks.mjs +17908 -16797
- package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-B3La71m0.mjs} +3 -4
- package/dist/client/{media-C5K_0xPd.mjs → media-B1Cbv721.mjs} +183 -362
- package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
- package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-DnGyR0x7.mjs} +51 -15
- package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BVgTqvkb.mjs} +3 -3
- package/dist/client/{productList-u9Lz8V15.mjs → productList-CcO7kUQw.mjs} +3 -3
- package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-B1OeWavE.mjs} +2193 -374
- package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
- package/dist/client/rendering/client.mjs +22424 -21488
- package/dist/client/rendering/islands.mjs +20 -23
- package/dist/client/rendering.mjs +21025 -19413
- package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
- package/dist/client/{shop-B_eykR-_.mjs → shop-P72nX5Fs.mjs} +7 -7
- package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
- package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-Db-cRGu3.mjs} +5 -5
- package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
- package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BdWpCniq.mjs} +6 -7
- package/dist/preview-next/before-render.mjs +222 -55
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-chrome.css +5 -2
- package/dist/preview-next/keepAlive.mjs +133 -51
- package/dist/preview-next/middleware.mjs +133 -51
- package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
- package/dist/server/components.mjs +21541 -20118
- package/dist/server/config-validation.mjs +2466 -1403
- package/dist/server/config.mjs +2466 -1403
- package/dist/server/data.mjs +17842 -16759
- package/dist/server/date-time.mjs +258 -116
- package/dist/server/index.mjs +360 -53
- package/dist/server/next.mjs +21913 -20539
- package/dist/server/page-converter.mjs +8121 -7322
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +21196 -19760
- package/dist/server/rendering.mjs +21554 -20123
- package/dist/server/routing.mjs +19806 -18607
- package/dist/server/server.mjs +2907 -1845
- package/dist/server/theme-bridge.mjs +991 -160
- package/dist/server/theme.mjs +501 -100
- package/dist/{spinner-B-ab2rJp.mjs → spinner-MTooKfck.mjs} +1 -1
- package/dist/styles/index.css +254 -1
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
- package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
- package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
|
@@ -506,15 +506,108 @@ const themeLookMetadataSchema = z.object({
|
|
|
506
506
|
skinMarks: skinMarksSchema.optional()
|
|
507
507
|
});
|
|
508
508
|
//#endregion
|
|
509
|
-
//#region ../
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
509
|
+
//#region ../core/src/result.ts
|
|
510
|
+
function ok(value) {
|
|
511
|
+
return {
|
|
512
|
+
ok: true,
|
|
513
|
+
value
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
function err(error) {
|
|
517
|
+
return {
|
|
518
|
+
ok: false,
|
|
519
|
+
error
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
//#endregion
|
|
523
|
+
//#region ../core/src/branded.ts
|
|
524
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
525
|
+
function parseUuidBrand(value, unsafeConstructor) {
|
|
526
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
527
|
+
const normalized = value.trim().toLowerCase();
|
|
528
|
+
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
529
|
+
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
530
|
+
return ok(unsafeConstructor(normalized));
|
|
531
|
+
}
|
|
532
|
+
const unsafeAsMediaAssetId = (id) => id;
|
|
533
|
+
const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
|
|
534
|
+
//#endregion
|
|
535
|
+
//#region ../media-core/src/identifiers.ts
|
|
536
|
+
function slugifyMediaIdentifier(value) {
|
|
537
|
+
return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
|
|
538
|
+
}
|
|
539
|
+
function parseMediaIdentifier(value) {
|
|
540
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
541
|
+
const trimmed = value.trim();
|
|
542
|
+
if (trimmed.length === 0) return err({ kind: "empty_identifier" });
|
|
543
|
+
const normalized = slugifyMediaIdentifier(trimmed);
|
|
544
|
+
if (normalized.length === 0) return err({
|
|
545
|
+
kind: "empty_after_normalization",
|
|
546
|
+
value
|
|
547
|
+
});
|
|
548
|
+
return ok(normalized);
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Admits identifiers read from trusted persistence without repairing dirty data in memory.
|
|
552
|
+
* User input should use parseMediaIdentifier, which intentionally canonicalizes it.
|
|
553
|
+
*/
|
|
554
|
+
function parseCanonicalMediaIdentifier(value) {
|
|
555
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
556
|
+
const parsed = parseMediaIdentifier(value);
|
|
557
|
+
if (!parsed.ok) return parsed;
|
|
558
|
+
if (value !== parsed.value) return err({
|
|
559
|
+
kind: "non_canonical_identifier",
|
|
560
|
+
value,
|
|
561
|
+
canonical: parsed.value
|
|
562
|
+
});
|
|
563
|
+
return parsed;
|
|
564
|
+
}
|
|
565
|
+
//#endregion
|
|
566
|
+
//#region ../media-core/src/mediaIdentifierSchema.ts
|
|
567
|
+
/** Strict stored-reference admission delegates the canonical identifier decision. */
|
|
568
|
+
const mediaIdentifierSchema = z.string().transform((value, context) => {
|
|
569
|
+
const parsed = parseCanonicalMediaIdentifier(value);
|
|
570
|
+
if (parsed.ok) return parsed.value;
|
|
571
|
+
context.addIssue({
|
|
572
|
+
code: "custom",
|
|
573
|
+
message: "Expected a canonical media identifier"
|
|
574
|
+
});
|
|
575
|
+
return z.NEVER;
|
|
576
|
+
});
|
|
577
|
+
//#endregion
|
|
578
|
+
//#region ../media-core/src/mediaKinds.ts
|
|
579
|
+
const mediaTypeDiscriminants = [
|
|
580
|
+
"image",
|
|
581
|
+
"video",
|
|
582
|
+
"audio",
|
|
583
|
+
"document",
|
|
584
|
+
"spreadsheet",
|
|
585
|
+
"archive"
|
|
586
|
+
];
|
|
587
|
+
//#endregion
|
|
588
|
+
//#region ../media-core/src/renderableMediaAssetAdmission.ts
|
|
589
|
+
const mediaAssetIdSchema = z.string().transform((value, context) => {
|
|
590
|
+
const parsed = parseMediaAssetId(value);
|
|
591
|
+
if (parsed.ok) return parsed.value;
|
|
592
|
+
context.addIssue({
|
|
593
|
+
code: "custom",
|
|
594
|
+
message: "Expected a media asset ID"
|
|
595
|
+
});
|
|
596
|
+
return z.NEVER;
|
|
597
|
+
});
|
|
598
|
+
const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
|
|
599
|
+
const renderableMediaAssetSchema = z.object({
|
|
600
|
+
id: mediaAssetIdSchema,
|
|
601
|
+
identifier: mediaIdentifierSchema,
|
|
602
|
+
storageBucket: nonemptyStorageValue,
|
|
603
|
+
storagePath: nonemptyStorageValue,
|
|
604
|
+
mimeType: nonemptyStorageValue,
|
|
605
|
+
filename: z.string().optional(),
|
|
606
|
+
width: z.number().positive().nullable(),
|
|
607
|
+
height: z.number().positive().nullable()
|
|
608
|
+
});
|
|
516
609
|
//#endregion
|
|
517
|
-
//#region ../
|
|
610
|
+
//#region ../media-core/src/media.ts
|
|
518
611
|
const hotspotSchema = z.object({
|
|
519
612
|
x: z.number().min(0).max(1),
|
|
520
613
|
y: z.number().min(0).max(1),
|
|
@@ -548,54 +641,56 @@ const transformSchema = z.object({
|
|
|
548
641
|
rotation: rotationSchema.optional()
|
|
549
642
|
});
|
|
550
643
|
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
551
|
-
tag: z.literal("
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
storagePath: z.string().min(1)
|
|
555
|
-
}), z.object({
|
|
644
|
+
tag: z.literal("media"),
|
|
645
|
+
identifier: mediaIdentifierSchema
|
|
646
|
+
}).strict(), z.object({
|
|
556
647
|
tag: z.literal("external-src"),
|
|
557
|
-
assetId: z.string().optional(),
|
|
558
648
|
src: z.string().url()
|
|
559
|
-
})]);
|
|
560
|
-
const
|
|
649
|
+
}).strict()]);
|
|
650
|
+
const mediaUsageShape = {
|
|
561
651
|
purpose: z.string().optional(),
|
|
562
652
|
placeholder: z.boolean().default(true).optional(),
|
|
563
|
-
assetId: z.string().optional(),
|
|
564
|
-
identifier: z.string().optional(),
|
|
565
|
-
src: z.string().optional(),
|
|
566
653
|
alt: z.string().optional(),
|
|
567
654
|
filename: z.string().optional(),
|
|
568
|
-
mimeType: z.string().optional(),
|
|
569
655
|
width: z.number().optional(),
|
|
570
656
|
height: z.number().optional(),
|
|
571
|
-
storageBucket: z.string().optional(),
|
|
572
|
-
storagePath: z.string().optional(),
|
|
573
657
|
poster: mediaPosterSchema.optional(),
|
|
574
658
|
transform: transformSchema.optional()
|
|
575
|
-
}
|
|
576
|
-
const
|
|
659
|
+
};
|
|
660
|
+
const environmentExclusions = {
|
|
661
|
+
assetId: z.never().optional(),
|
|
662
|
+
id: z.never().optional(),
|
|
663
|
+
src: z.never().optional(),
|
|
664
|
+
storageBucket: z.never().optional(),
|
|
665
|
+
storagePath: z.never().optional(),
|
|
666
|
+
mimeType: z.never().optional()
|
|
667
|
+
};
|
|
668
|
+
const mediaBaseSchema = z.object({
|
|
669
|
+
...mediaUsageShape,
|
|
670
|
+
...environmentExclusions,
|
|
671
|
+
identifier: mediaIdentifierSchema
|
|
672
|
+
}).strict();
|
|
577
673
|
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
578
674
|
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
579
|
-
const
|
|
580
|
-
const
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
z.
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
675
|
+
const mediaSchema = mediaBaseSchema.extend({ type: z.enum(mediaTypeDiscriminants) });
|
|
676
|
+
const externalMediaSchema = z.object({
|
|
677
|
+
...mediaUsageShape,
|
|
678
|
+
...environmentExclusions,
|
|
679
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
680
|
+
src: z.string().min(1),
|
|
681
|
+
identifier: z.never().optional()
|
|
682
|
+
}).strict();
|
|
683
|
+
const assetMediaSchema = z.object({
|
|
684
|
+
...mediaUsageShape,
|
|
685
|
+
...environmentExclusions,
|
|
686
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
687
|
+
asset: renderableMediaAssetSchema,
|
|
688
|
+
identifier: z.never().optional()
|
|
689
|
+
}).strict();
|
|
690
|
+
z.union([
|
|
691
|
+
mediaSchema,
|
|
692
|
+
externalMediaSchema,
|
|
693
|
+
assetMediaSchema
|
|
599
694
|
]);
|
|
600
695
|
//#endregion
|
|
601
696
|
//#region ../theme-core/src/palette/colors.ts
|
|
@@ -769,6 +864,29 @@ const paletteSchema = z.object({
|
|
|
769
864
|
};
|
|
770
865
|
});
|
|
771
866
|
//#endregion
|
|
867
|
+
//#region ../theme-core/src/buttons/typography.ts
|
|
868
|
+
const textTransformSchema = z.enum([
|
|
869
|
+
"none",
|
|
870
|
+
"uppercase",
|
|
871
|
+
"lowercase",
|
|
872
|
+
"capitalize"
|
|
873
|
+
]);
|
|
874
|
+
const fontWeightSchema = z.union([
|
|
875
|
+
z.literal(400),
|
|
876
|
+
z.literal(500),
|
|
877
|
+
z.literal(600),
|
|
878
|
+
z.literal(700),
|
|
879
|
+
z.literal(800)
|
|
880
|
+
]);
|
|
881
|
+
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
882
|
+
const letterSpacingSchema = z.enum([
|
|
883
|
+
"tight",
|
|
884
|
+
"normal",
|
|
885
|
+
"slight",
|
|
886
|
+
"loose",
|
|
887
|
+
"wide"
|
|
888
|
+
]);
|
|
889
|
+
//#endregion
|
|
772
890
|
//#region ../theme-core/src/buttons/types.ts
|
|
773
891
|
/**
|
|
774
892
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -884,6 +1002,7 @@ const buttonEffectApplicationSchema = z.discriminatedUnion("effectId", [
|
|
|
884
1002
|
z.strictObject({
|
|
885
1003
|
effectId: z.literal("lift"),
|
|
886
1004
|
options: z.strictObject({ amount: z.enum([
|
|
1005
|
+
"0.125",
|
|
887
1006
|
"0.25",
|
|
888
1007
|
"0.5",
|
|
889
1008
|
"1"
|
|
@@ -930,24 +1049,6 @@ const shadowSizeSchema = z.enum([
|
|
|
930
1049
|
"medium",
|
|
931
1050
|
"high"
|
|
932
1051
|
]);
|
|
933
|
-
const textTransformSchema = z.enum([
|
|
934
|
-
"none",
|
|
935
|
-
"uppercase",
|
|
936
|
-
"lowercase",
|
|
937
|
-
"capitalize"
|
|
938
|
-
]);
|
|
939
|
-
const fontWeightSchema = z.union([
|
|
940
|
-
z.literal(500),
|
|
941
|
-
z.literal(600),
|
|
942
|
-
z.literal(700),
|
|
943
|
-
z.literal(800)
|
|
944
|
-
]);
|
|
945
|
-
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
946
|
-
const letterSpacingSchema = z.enum([
|
|
947
|
-
"tight",
|
|
948
|
-
"normal",
|
|
949
|
-
"loose"
|
|
950
|
-
]);
|
|
951
1052
|
const hoverTransformSchema = z.enum([
|
|
952
1053
|
"none",
|
|
953
1054
|
"lift",
|
|
@@ -1019,7 +1120,8 @@ const paddingShorthandSchema = z.string().refine((value) => {
|
|
|
1019
1120
|
}, { message: "Padding must be two space-separated CSS length tokens (e.g. \"0.5rem 1rem\"). Use `0` for zero." });
|
|
1020
1121
|
const buttonSizeConfigSchema = z.object({
|
|
1021
1122
|
padding: paddingShorthandSchema,
|
|
1022
|
-
fontSize: z.string().optional()
|
|
1123
|
+
fontSize: z.string().optional(),
|
|
1124
|
+
borderRadius: z.string().optional()
|
|
1023
1125
|
});
|
|
1024
1126
|
/**
|
|
1025
1127
|
* `xl` is optional on the wire so themes persisted before the `xl` size was
|
|
@@ -1142,12 +1244,20 @@ const buttonVisualAppearanceSchema = z.strictObject({
|
|
|
1142
1244
|
textTransform: textTransformSchema
|
|
1143
1245
|
}),
|
|
1144
1246
|
effects: z.array(buttonEffectApplicationSchema),
|
|
1247
|
+
transform: z.literal("none").optional(),
|
|
1145
1248
|
contextualHover: contextualButtonHoverSchema.optional()
|
|
1146
1249
|
});
|
|
1147
1250
|
const buttonVisualStatesSchema = z.strictObject({
|
|
1148
1251
|
base: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1149
1252
|
hover: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1150
|
-
focus: buttonVisualAppearanceSchema.extend({
|
|
1253
|
+
focus: buttonVisualAppearanceSchema.extend({
|
|
1254
|
+
shadow: z.literal("focus-indicator"),
|
|
1255
|
+
indicator: z.strictObject({
|
|
1256
|
+
kind: z.literal("surface-ink"),
|
|
1257
|
+
width: z.union([z.literal(2), z.literal(3)]),
|
|
1258
|
+
offset: z.union([z.literal(3), z.literal(4)])
|
|
1259
|
+
}).optional()
|
|
1260
|
+
}),
|
|
1151
1261
|
active: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1152
1262
|
disabled: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema })
|
|
1153
1263
|
});
|
|
@@ -1772,6 +1882,10 @@ function validateButtonTextContrast(input) {
|
|
|
1772
1882
|
}
|
|
1773
1883
|
};
|
|
1774
1884
|
}
|
|
1885
|
+
/** A text-token slab inverts the palette's text/background pair, including text shades. */
|
|
1886
|
+
function solidForegroundToken(backgroundToken) {
|
|
1887
|
+
return /^text(?:-\d+)?$/.test(backgroundToken) ? "background" : onColorTokenName(backgroundToken);
|
|
1888
|
+
}
|
|
1775
1889
|
//#endregion
|
|
1776
1890
|
//#region ../theme-core/src/buttons/contextualHover.ts
|
|
1777
1891
|
function resolveContextualHoverPreference(input) {
|
|
@@ -1869,7 +1983,7 @@ function candidate(family, shade, currentShade, direction, seedHex, palette) {
|
|
|
1869
1983
|
}
|
|
1870
1984
|
function hasSafeTextContrast(token, palette) {
|
|
1871
1985
|
const background = palette[token];
|
|
1872
|
-
const foreground = palette[
|
|
1986
|
+
const foreground = palette[solidForegroundToken(token)];
|
|
1873
1987
|
return typeof background === "string" && typeof foreground === "string" && contrastRatio(background, foreground) >= BUTTON_CONTRAST_POLICY.textMinimumRatio;
|
|
1874
1988
|
}
|
|
1875
1989
|
function isSafeCandidate(token, palette, surface) {
|
|
@@ -1964,6 +2078,13 @@ function compileDeclaredVisualStates(input, states) {
|
|
|
1964
2078
|
const colours = collectStateColours(mapVisualStates((state) => compileDeclaredVisualState(input, states, state, state === "hover" ? hover.treatment : states[state].background)));
|
|
1965
2079
|
return colours.ok ? {
|
|
1966
2080
|
...colours,
|
|
2081
|
+
focusIndicator: states.focus.indicator ? {
|
|
2082
|
+
kind: "surface-role",
|
|
2083
|
+
colorCss: input.surface?.foregroundCss ?? surfaceForegroundValue("text"),
|
|
2084
|
+
width: states.focus.indicator.width,
|
|
2085
|
+
offset: states.focus.indicator.offset,
|
|
2086
|
+
minimumSurfaceContrast: BUTTON_CONTRAST_POLICY.nonTextMinimumRatio
|
|
2087
|
+
} : colours.focusIndicator,
|
|
1967
2088
|
contextualHoverRepair: hover.repair
|
|
1968
2089
|
} : colours;
|
|
1969
2090
|
}
|
|
@@ -2101,7 +2222,7 @@ function resolveFocusIndicator(colour) {
|
|
|
2101
2222
|
function resolveSolid(input, backgroundToken, edge) {
|
|
2102
2223
|
const backgroundHex = paletteHex(input, backgroundToken);
|
|
2103
2224
|
if (!backgroundHex.ok) return backgroundHex;
|
|
2104
|
-
const foregroundToken = unsafeAsOpaqueButtonColourToken(
|
|
2225
|
+
const foregroundToken = unsafeAsOpaqueButtonColourToken(solidForegroundToken(backgroundToken));
|
|
2105
2226
|
const foregroundHex = input.palette[foregroundToken];
|
|
2106
2227
|
if (typeof foregroundHex !== "string") return {
|
|
2107
2228
|
ok: false,
|
|
@@ -3317,7 +3438,7 @@ function resolvedButtonFocusDeclarations(indicator, role) {
|
|
|
3317
3438
|
["outline", value("outline", `2px solid ${indicator.innerCss}`)],
|
|
3318
3439
|
["outline-offset", value("outline-offset", "2px")],
|
|
3319
3440
|
["box-shadow", value("box-shadow", `0 0 0 4px ${indicator.outerCss}`)]
|
|
3320
|
-
] : [["outline", value("outline",
|
|
3441
|
+
] : [["outline", value("outline", `${indicator.width ?? 3}px solid ${indicator.colorCss}`)], ["outline-offset", value("outline-offset", `${indicator.offset ?? 3}px`)]];
|
|
3321
3442
|
}
|
|
3322
3443
|
/**
|
|
3323
3444
|
* Disabled buttons are deliberately muted as unavailable controls. Native
|
|
@@ -3360,6 +3481,287 @@ function normalizeAppearance(appearance) {
|
|
|
3360
3481
|
};
|
|
3361
3482
|
}
|
|
3362
3483
|
//#endregion
|
|
3484
|
+
//#region ../theme-core/src/buttons/styles/recipes/lanternRecipes.ts
|
|
3485
|
+
const flatShadow = {
|
|
3486
|
+
elevation: "none",
|
|
3487
|
+
softness: null,
|
|
3488
|
+
position: "bottom"
|
|
3489
|
+
};
|
|
3490
|
+
const lift$1 = {
|
|
3491
|
+
effectId: "lift",
|
|
3492
|
+
options: { amount: "0.125" }
|
|
3493
|
+
};
|
|
3494
|
+
const tags = {
|
|
3495
|
+
tone: "classic",
|
|
3496
|
+
energy: "calm",
|
|
3497
|
+
motion: "subtle",
|
|
3498
|
+
era: "editorial"
|
|
3499
|
+
};
|
|
3500
|
+
/** Each role supplies complete states, including a flat surface-ink focus ring. */
|
|
3501
|
+
function states(base, hover, offset = 4, width = 2) {
|
|
3502
|
+
return {
|
|
3503
|
+
base,
|
|
3504
|
+
hover,
|
|
3505
|
+
focus: {
|
|
3506
|
+
...base,
|
|
3507
|
+
shadow: "focus-indicator",
|
|
3508
|
+
indicator: {
|
|
3509
|
+
kind: "surface-ink",
|
|
3510
|
+
width,
|
|
3511
|
+
offset
|
|
3512
|
+
}
|
|
3513
|
+
},
|
|
3514
|
+
active: {
|
|
3515
|
+
...base,
|
|
3516
|
+
transform: "none"
|
|
3517
|
+
},
|
|
3518
|
+
disabled: {
|
|
3519
|
+
...base,
|
|
3520
|
+
effects: []
|
|
3521
|
+
}
|
|
3522
|
+
};
|
|
3523
|
+
}
|
|
3524
|
+
const gilt = {
|
|
3525
|
+
text: "treatment",
|
|
3526
|
+
border: "none",
|
|
3527
|
+
borderRadius: "rounded-10px",
|
|
3528
|
+
shadow: flatShadow,
|
|
3529
|
+
sizes: {
|
|
3530
|
+
sm: {
|
|
3531
|
+
padding: "10px 20px",
|
|
3532
|
+
fontSize: "text-base",
|
|
3533
|
+
borderRadius: "rounded-lg"
|
|
3534
|
+
},
|
|
3535
|
+
md: {
|
|
3536
|
+
padding: "18px 36px",
|
|
3537
|
+
fontSize: "text-19px"
|
|
3538
|
+
},
|
|
3539
|
+
lg: {
|
|
3540
|
+
padding: "18px 36px",
|
|
3541
|
+
fontSize: "text-19px"
|
|
3542
|
+
},
|
|
3543
|
+
xl: {
|
|
3544
|
+
padding: "18px 36px",
|
|
3545
|
+
fontSize: "text-19px"
|
|
3546
|
+
}
|
|
3547
|
+
},
|
|
3548
|
+
typography: {
|
|
3549
|
+
fontWeight: 400,
|
|
3550
|
+
typography: "heading",
|
|
3551
|
+
fontSize: "text-19px",
|
|
3552
|
+
letterSpacing: "slight",
|
|
3553
|
+
italic: false,
|
|
3554
|
+
textTransform: "none"
|
|
3555
|
+
},
|
|
3556
|
+
effects: []
|
|
3557
|
+
};
|
|
3558
|
+
const giltPrimary = {
|
|
3559
|
+
...gilt,
|
|
3560
|
+
background: {
|
|
3561
|
+
type: "gradient",
|
|
3562
|
+
stops: ["accent", "primary"],
|
|
3563
|
+
direction: "to-br",
|
|
3564
|
+
foregroundToken: "onAccent"
|
|
3565
|
+
}
|
|
3566
|
+
};
|
|
3567
|
+
const giltPrimaryHover = {
|
|
3568
|
+
...giltPrimary,
|
|
3569
|
+
background: {
|
|
3570
|
+
...giltPrimary.background,
|
|
3571
|
+
stops: ["accent-400", "primary-400"],
|
|
3572
|
+
foregroundToken: "secondary-950"
|
|
3573
|
+
},
|
|
3574
|
+
effects: [lift$1]
|
|
3575
|
+
};
|
|
3576
|
+
const giltSecondary = {
|
|
3577
|
+
...gilt,
|
|
3578
|
+
background: {
|
|
3579
|
+
type: "solid",
|
|
3580
|
+
colorToken: "text"
|
|
3581
|
+
}
|
|
3582
|
+
};
|
|
3583
|
+
const giltSecondaryHover = {
|
|
3584
|
+
...giltSecondary,
|
|
3585
|
+
effects: [lift$1],
|
|
3586
|
+
contextualHover: {
|
|
3587
|
+
kind: "shade-shift",
|
|
3588
|
+
seedToken: unsafeAsOpaqueButtonColourToken("text"),
|
|
3589
|
+
fallbackDirection: "lighter"
|
|
3590
|
+
}
|
|
3591
|
+
};
|
|
3592
|
+
const giltPrimaryStates = states(giltPrimary, giltPrimaryHover);
|
|
3593
|
+
const giltSecondaryStates = states(giltSecondary, giltSecondaryHover);
|
|
3594
|
+
const giltSlabRecipe = defineStaticButtonStyleRecipe({
|
|
3595
|
+
id: "gilt-slab",
|
|
3596
|
+
accessibilityLabel: "Gilt slab",
|
|
3597
|
+
tags,
|
|
3598
|
+
system: { roles: {
|
|
3599
|
+
primary: { states: giltPrimaryStates },
|
|
3600
|
+
secondary: { states: giltSecondaryStates },
|
|
3601
|
+
outline: { states: giltSecondaryStates },
|
|
3602
|
+
ghost: { states: giltSecondaryStates },
|
|
3603
|
+
accent: { states: giltPrimaryStates }
|
|
3604
|
+
} }
|
|
3605
|
+
});
|
|
3606
|
+
const hairline = {
|
|
3607
|
+
text: "treatment",
|
|
3608
|
+
borderRadius: "rounded-3px",
|
|
3609
|
+
shadow: flatShadow,
|
|
3610
|
+
sizes: {
|
|
3611
|
+
sm: {
|
|
3612
|
+
padding: "9px 16px",
|
|
3613
|
+
fontSize: "text-xs"
|
|
3614
|
+
},
|
|
3615
|
+
md: {
|
|
3616
|
+
padding: "15px 28px",
|
|
3617
|
+
fontSize: "text-13px"
|
|
3618
|
+
},
|
|
3619
|
+
lg: {
|
|
3620
|
+
padding: "15px 28px",
|
|
3621
|
+
fontSize: "text-13px"
|
|
3622
|
+
},
|
|
3623
|
+
xl: {
|
|
3624
|
+
padding: "15px 28px",
|
|
3625
|
+
fontSize: "text-13px"
|
|
3626
|
+
}
|
|
3627
|
+
},
|
|
3628
|
+
typography: {
|
|
3629
|
+
fontWeight: 700,
|
|
3630
|
+
typography: "body",
|
|
3631
|
+
fontSize: "text-13px",
|
|
3632
|
+
letterSpacing: "wide",
|
|
3633
|
+
italic: false,
|
|
3634
|
+
textTransform: "uppercase"
|
|
3635
|
+
},
|
|
3636
|
+
effects: []
|
|
3637
|
+
};
|
|
3638
|
+
const hairlinePrimary = {
|
|
3639
|
+
...hairline,
|
|
3640
|
+
background: {
|
|
3641
|
+
type: "solid",
|
|
3642
|
+
colorToken: "primary"
|
|
3643
|
+
},
|
|
3644
|
+
border: {
|
|
3645
|
+
widthClass: "border",
|
|
3646
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
3647
|
+
}
|
|
3648
|
+
};
|
|
3649
|
+
const hairlineOutline = {
|
|
3650
|
+
...hairline,
|
|
3651
|
+
background: {
|
|
3652
|
+
type: "surface",
|
|
3653
|
+
role: "link"
|
|
3654
|
+
},
|
|
3655
|
+
border: {
|
|
3656
|
+
widthClass: "border",
|
|
3657
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
3658
|
+
}
|
|
3659
|
+
};
|
|
3660
|
+
const hairlineSecondary = {
|
|
3661
|
+
...hairlineOutline,
|
|
3662
|
+
border: {
|
|
3663
|
+
widthClass: "border",
|
|
3664
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
3665
|
+
}
|
|
3666
|
+
};
|
|
3667
|
+
const hairlineFilled = {
|
|
3668
|
+
...hairlineSecondary,
|
|
3669
|
+
background: {
|
|
3670
|
+
type: "solid",
|
|
3671
|
+
colorToken: "accent"
|
|
3672
|
+
}
|
|
3673
|
+
};
|
|
3674
|
+
const hairlinePrimaryStates = states(hairlinePrimary, hairlineOutline, 3);
|
|
3675
|
+
const hairlineSecondaryStates = states(hairlineSecondary, hairlineFilled, 3);
|
|
3676
|
+
const hairlineTabRecipe = defineStaticButtonStyleRecipe({
|
|
3677
|
+
id: "hairline-tab",
|
|
3678
|
+
accessibilityLabel: "Hairline tab",
|
|
3679
|
+
tags,
|
|
3680
|
+
system: { roles: {
|
|
3681
|
+
primary: { states: hairlinePrimaryStates },
|
|
3682
|
+
secondary: { states: hairlineSecondaryStates },
|
|
3683
|
+
outline: { states: hairlineSecondaryStates },
|
|
3684
|
+
ghost: { states: hairlineSecondaryStates },
|
|
3685
|
+
accent: { states: states(hairlineFilled, hairlineSecondary, 3) }
|
|
3686
|
+
} }
|
|
3687
|
+
});
|
|
3688
|
+
const marqueeAccent = {
|
|
3689
|
+
text: "treatment",
|
|
3690
|
+
borderRadius: "rounded-none",
|
|
3691
|
+
shadow: flatShadow,
|
|
3692
|
+
sizes: {
|
|
3693
|
+
sm: {
|
|
3694
|
+
padding: "8px 17px",
|
|
3695
|
+
fontSize: "text-15px"
|
|
3696
|
+
},
|
|
3697
|
+
md: {
|
|
3698
|
+
padding: "14px 25px",
|
|
3699
|
+
fontSize: "text-17px"
|
|
3700
|
+
},
|
|
3701
|
+
lg: {
|
|
3702
|
+
padding: "14px 25px",
|
|
3703
|
+
fontSize: "text-17px"
|
|
3704
|
+
},
|
|
3705
|
+
xl: {
|
|
3706
|
+
padding: "14px 25px",
|
|
3707
|
+
fontSize: "text-17px"
|
|
3708
|
+
}
|
|
3709
|
+
},
|
|
3710
|
+
typography: {
|
|
3711
|
+
fontWeight: 800,
|
|
3712
|
+
typography: "body",
|
|
3713
|
+
fontSize: "text-17px",
|
|
3714
|
+
letterSpacing: "loose",
|
|
3715
|
+
italic: false,
|
|
3716
|
+
textTransform: "uppercase"
|
|
3717
|
+
},
|
|
3718
|
+
effects: [],
|
|
3719
|
+
background: {
|
|
3720
|
+
type: "solid",
|
|
3721
|
+
colorToken: "accent"
|
|
3722
|
+
},
|
|
3723
|
+
border: {
|
|
3724
|
+
widthClass: "border-2",
|
|
3725
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
3726
|
+
}
|
|
3727
|
+
};
|
|
3728
|
+
const marqueePrimary = {
|
|
3729
|
+
...marqueeAccent,
|
|
3730
|
+
background: {
|
|
3731
|
+
type: "solid",
|
|
3732
|
+
colorToken: "primary"
|
|
3733
|
+
},
|
|
3734
|
+
border: {
|
|
3735
|
+
widthClass: "border-2",
|
|
3736
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
3737
|
+
}
|
|
3738
|
+
};
|
|
3739
|
+
const marqueeSecondary = {
|
|
3740
|
+
...marqueeAccent,
|
|
3741
|
+
background: {
|
|
3742
|
+
type: "solid",
|
|
3743
|
+
colorToken: "text"
|
|
3744
|
+
},
|
|
3745
|
+
border: {
|
|
3746
|
+
widthClass: "border-2",
|
|
3747
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("text")
|
|
3748
|
+
}
|
|
3749
|
+
};
|
|
3750
|
+
const marqueePrimaryStates = states(marqueeAccent, marqueePrimary, 4, 3);
|
|
3751
|
+
const marqueeSecondaryStates = states(marqueeSecondary, marqueeAccent, 4, 3);
|
|
3752
|
+
const marqueeRecipe = defineStaticButtonStyleRecipe({
|
|
3753
|
+
id: "marquee",
|
|
3754
|
+
accessibilityLabel: "Marquee",
|
|
3755
|
+
tags,
|
|
3756
|
+
system: { roles: {
|
|
3757
|
+
primary: { states: marqueePrimaryStates },
|
|
3758
|
+
secondary: { states: marqueeSecondaryStates },
|
|
3759
|
+
outline: { states: marqueeSecondaryStates },
|
|
3760
|
+
ghost: { states: marqueeSecondaryStates },
|
|
3761
|
+
accent: { states: marqueePrimaryStates }
|
|
3762
|
+
} }
|
|
3763
|
+
});
|
|
3764
|
+
//#endregion
|
|
3363
3765
|
//#region ../theme-core/src/buttons/styles/recipes/fulcrumRecipe.ts
|
|
3364
3766
|
const fulcrumSizes = {
|
|
3365
3767
|
sm: {
|
|
@@ -4101,7 +4503,10 @@ const BUTTON_STYLE_IDS = [
|
|
|
4101
4503
|
"offset-block",
|
|
4102
4504
|
"ringed-pill",
|
|
4103
4505
|
"square-outline",
|
|
4104
|
-
"fulcrum"
|
|
4506
|
+
"fulcrum",
|
|
4507
|
+
"gilt-slab",
|
|
4508
|
+
"hairline-tab",
|
|
4509
|
+
"marquee"
|
|
4105
4510
|
];
|
|
4106
4511
|
const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
|
|
4107
4512
|
const flatInkHoverTreatmentSchema = z.enum([
|
|
@@ -4138,7 +4543,10 @@ const buttonStyleSelectionSchema = z.discriminatedUnion("styleId", [
|
|
|
4138
4543
|
selectionBranch("offset-block", emptyParametersSchema),
|
|
4139
4544
|
selectionBranch("ringed-pill", emptyParametersSchema),
|
|
4140
4545
|
selectionBranch("square-outline", emptyParametersSchema),
|
|
4141
|
-
selectionBranch("fulcrum", emptyParametersSchema)
|
|
4546
|
+
selectionBranch("fulcrum", emptyParametersSchema),
|
|
4547
|
+
selectionBranch("gilt-slab", emptyParametersSchema),
|
|
4548
|
+
selectionBranch("hairline-tab", emptyParametersSchema),
|
|
4549
|
+
selectionBranch("marquee", emptyParametersSchema)
|
|
4142
4550
|
]);
|
|
4143
4551
|
//#endregion
|
|
4144
4552
|
//#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
|
|
@@ -7654,7 +8062,10 @@ const buttonStyleRecipes = [
|
|
|
7654
8062
|
offsetBlockRecipe,
|
|
7655
8063
|
ringedPillRecipe,
|
|
7656
8064
|
squareOutlineRecipe,
|
|
7657
|
-
fulcrumRecipe
|
|
8065
|
+
fulcrumRecipe,
|
|
8066
|
+
giltSlabRecipe,
|
|
8067
|
+
hairlineTabRecipe,
|
|
8068
|
+
marqueeRecipe
|
|
7658
8069
|
];
|
|
7659
8070
|
const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
|
|
7660
8071
|
function findButtonStyleRecipe(id) {
|
|
@@ -7670,6 +8081,9 @@ function resolveButtonStyleSelection(selection) {
|
|
|
7670
8081
|
case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
|
|
7671
8082
|
case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
|
|
7672
8083
|
case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
|
|
8084
|
+
case "gilt-slab": return resolveButtonStyleRecipe(giltSlabRecipe, selection.parameters);
|
|
8085
|
+
case "hairline-tab": return resolveButtonStyleRecipe(hairlineTabRecipe, selection.parameters);
|
|
8086
|
+
case "marquee": return resolveButtonStyleRecipe(marqueeRecipe, selection.parameters);
|
|
7673
8087
|
case "fulcrum": return resolveButtonStyleRecipe(fulcrumRecipe, selection.parameters);
|
|
7674
8088
|
case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
|
|
7675
8089
|
case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
|
|
@@ -9828,6 +10242,20 @@ const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
|
9828
10242
|
showVideoOnMobile: z.boolean().nullable().optional()
|
|
9829
10243
|
})
|
|
9830
10244
|
]);
|
|
10245
|
+
z.discriminatedUnion("type", [
|
|
10246
|
+
boxBackgroundSchema.options[0],
|
|
10247
|
+
boxBackgroundSchema.options[1],
|
|
10248
|
+
boxBackgroundSchema.options[2].extend({ image: z.union([
|
|
10249
|
+
imageMediaSchema,
|
|
10250
|
+
externalMediaSchema.extend({ type: z.literal("image") }),
|
|
10251
|
+
assetMediaSchema.extend({ type: z.literal("image") })
|
|
10252
|
+
]).nullable().optional() }),
|
|
10253
|
+
boxBackgroundSchema.options[3].extend({ image: z.union([
|
|
10254
|
+
videoMediaSchema,
|
|
10255
|
+
externalMediaSchema.extend({ type: z.literal("video") }),
|
|
10256
|
+
assetMediaSchema.extend({ type: z.literal("video") })
|
|
10257
|
+
]).nullable().optional() })
|
|
10258
|
+
]);
|
|
9831
10259
|
function normalizeAuthoringOpacity(value) {
|
|
9832
10260
|
if (!isRecord(value)) return value;
|
|
9833
10261
|
return {
|
|
@@ -10181,20 +10609,15 @@ const headerSchema = z.object({
|
|
|
10181
10609
|
const footerVariant = z.enum([
|
|
10182
10610
|
"simple",
|
|
10183
10611
|
"columns",
|
|
10184
|
-
"split"
|
|
10185
|
-
|
|
10612
|
+
"split",
|
|
10613
|
+
"centred"
|
|
10614
|
+
]).transform((value) => value === "columns" ? "simple" : value);
|
|
10186
10615
|
const footerMaxWidth = z.enum(["container", "full"]);
|
|
10187
10616
|
const footerNavLayoutMode = z.enum([
|
|
10188
10617
|
"stack",
|
|
10189
10618
|
"inline",
|
|
10190
10619
|
"inline-wrap"
|
|
10191
10620
|
]);
|
|
10192
|
-
const footerNavLayoutAlign = z.enum([
|
|
10193
|
-
"start",
|
|
10194
|
-
"center",
|
|
10195
|
-
"end",
|
|
10196
|
-
"space-between"
|
|
10197
|
-
]);
|
|
10198
10621
|
const footerSpacing = z.enum([
|
|
10199
10622
|
"none",
|
|
10200
10623
|
"tight",
|
|
@@ -10203,12 +10626,6 @@ const footerSpacing = z.enum([
|
|
|
10203
10626
|
"relaxed",
|
|
10204
10627
|
"spacious"
|
|
10205
10628
|
]);
|
|
10206
|
-
const footerLogoPlacement = z.enum([
|
|
10207
|
-
"left",
|
|
10208
|
-
"right",
|
|
10209
|
-
"above",
|
|
10210
|
-
"below"
|
|
10211
|
-
]);
|
|
10212
10629
|
const footerLogoSize = z.enum([
|
|
10213
10630
|
"sm",
|
|
10214
10631
|
"md",
|
|
@@ -10249,17 +10666,8 @@ const footerBottomBarSchema = z.object({
|
|
|
10249
10666
|
]).optional()
|
|
10250
10667
|
}).optional()
|
|
10251
10668
|
});
|
|
10252
|
-
const footerNavLayoutSchema = z.object({
|
|
10253
|
-
layout: footerNavLayoutMode.optional(),
|
|
10254
|
-
align: footerNavLayoutAlign.optional(),
|
|
10255
|
-
gapX: footerSpacing.optional(),
|
|
10256
|
-
gapY: footerSpacing.optional(),
|
|
10257
|
-
columns: z.number().int().min(1).max(6).optional()
|
|
10258
|
-
});
|
|
10669
|
+
const footerNavLayoutSchema = z.object({ layout: footerNavLayoutMode.optional() });
|
|
10259
10670
|
const footerLogoSchema = z.object({
|
|
10260
|
-
showLogo: z.boolean().default(true),
|
|
10261
|
-
showLogoText: z.boolean().optional(),
|
|
10262
|
-
placement: footerLogoPlacement.optional(),
|
|
10263
10671
|
size: footerLogoSize.optional(),
|
|
10264
10672
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
10265
10673
|
align: z.enum([
|
|
@@ -10269,15 +10677,8 @@ const footerLogoSchema = z.object({
|
|
|
10269
10677
|
]).optional()
|
|
10270
10678
|
});
|
|
10271
10679
|
const footerSchema = z.object({
|
|
10272
|
-
/**
|
|
10273
|
-
* SDK-only footer rendering mode.
|
|
10274
|
-
*
|
|
10275
|
-
* Historical persisted field; SDK rendering mode now lives in layout.footerMode.
|
|
10276
|
-
*/
|
|
10277
|
-
mode: footerModeSchema.optional(),
|
|
10278
10680
|
variant: footerVariant,
|
|
10279
10681
|
maxWidth: footerMaxWidth,
|
|
10280
|
-
showLogoText: z.boolean().optional(),
|
|
10281
10682
|
background: headerBackgroundSchema.default({
|
|
10282
10683
|
type: "color",
|
|
10283
10684
|
color: "surface"
|
|
@@ -10672,6 +11073,55 @@ function generateOpaquePanelCss(input) {
|
|
|
10672
11073
|
return `:where([data-theme-scope="${input.themeId}"]) ${panel.selector} {\n ${renderCssDeclarations(declarations)}\n}`;
|
|
10673
11074
|
}).join("\n\n");
|
|
10674
11075
|
}
|
|
11076
|
+
//#endregion
|
|
11077
|
+
//#region ../theme-core/src/site-styles/footerLookDefaults.ts
|
|
11078
|
+
const defaultFooterLookRecipes = {
|
|
11079
|
+
"footer-centred-name": {
|
|
11080
|
+
arrangement: "centred",
|
|
11081
|
+
ground: {
|
|
11082
|
+
kind: "token",
|
|
11083
|
+
token: "surface"
|
|
11084
|
+
},
|
|
11085
|
+
nav: {
|
|
11086
|
+
weight: "regular",
|
|
11087
|
+
colorToken: "text",
|
|
11088
|
+
hoverColorToken: "primary",
|
|
11089
|
+
typography: "body"
|
|
11090
|
+
},
|
|
11091
|
+
legal: {
|
|
11092
|
+
kind: "separate",
|
|
11093
|
+
bar: null
|
|
11094
|
+
},
|
|
11095
|
+
brandAlign: "center"
|
|
11096
|
+
},
|
|
11097
|
+
"footer-links-row": {
|
|
11098
|
+
arrangement: "simple",
|
|
11099
|
+
ground: {
|
|
11100
|
+
kind: "token",
|
|
11101
|
+
token: "surface"
|
|
11102
|
+
},
|
|
11103
|
+
nav: {
|
|
11104
|
+
weight: "regular",
|
|
11105
|
+
colorToken: "text",
|
|
11106
|
+
hoverColorToken: "primary",
|
|
11107
|
+
typography: "body"
|
|
11108
|
+
},
|
|
11109
|
+
legal: { kind: "integrated" },
|
|
11110
|
+
brandAlign: "start"
|
|
11111
|
+
}
|
|
11112
|
+
};
|
|
11113
|
+
/** A whole authored recipe replaces the default; facets are never deep-merged. */
|
|
11114
|
+
function resolveFooterLookRecipe(style, id) {
|
|
11115
|
+
return style?.footerLookRecipes?.[id] ?? defaultFooterLookRecipes[id];
|
|
11116
|
+
}
|
|
11117
|
+
//#endregion
|
|
11118
|
+
//#region ../theme-core/src/site-styles/footerLookRecipe.ts
|
|
11119
|
+
/** Reject undeclared references when the curated catalogue is loaded, before rendering. */
|
|
11120
|
+
function validateFooterRecipeSurfaces(style, recipe) {
|
|
11121
|
+
[recipe.ground, ...recipe.legal.kind === "separate" && recipe.legal.bar ? [recipe.legal.bar.background] : []].forEach((ground) => {
|
|
11122
|
+
if (ground.kind === "style-surface" && (style.looks.kind !== "offers" || !style.looks.surfaces[ground.surface])) throw new Error(`Undeclared footer surface: ${ground.surface}`);
|
|
11123
|
+
});
|
|
11124
|
+
}
|
|
10675
11125
|
/** Block supply is capability, never a second Look catalogue. */
|
|
10676
11126
|
const cardListBlockParts = {
|
|
10677
11127
|
"block.feature-cards": [
|
|
@@ -10705,7 +11155,9 @@ const cardListKnobBlocks = [...cardListFamilyBlocks, "block.event-calendar"];
|
|
|
10705
11155
|
const lookKnobBlocks = {
|
|
10706
11156
|
actionStyle: cardListKnobBlocks,
|
|
10707
11157
|
titleSize: "block.hero",
|
|
10708
|
-
imagePosition: "block.hero",
|
|
11158
|
+
imagePosition: ["block.hero", "block.media-text"],
|
|
11159
|
+
imageShape: "block.media-text",
|
|
11160
|
+
aspectRatio: "block.media-text",
|
|
10709
11161
|
stickerLine: "block.hero",
|
|
10710
11162
|
smallCaption: "block.hero",
|
|
10711
11163
|
candleGlow: "block.hero",
|
|
@@ -10715,7 +11167,11 @@ const lookKnobBlocks = {
|
|
|
10715
11167
|
dates: "block.offerings-preview",
|
|
10716
11168
|
showCapacity: "block.event-calendar",
|
|
10717
11169
|
quoteCount: "block.testimonials",
|
|
10718
|
-
archFrame:
|
|
11170
|
+
archFrame: [
|
|
11171
|
+
"block.testimonials",
|
|
11172
|
+
"block.newsletter-signup",
|
|
11173
|
+
"block.form"
|
|
11174
|
+
],
|
|
10719
11175
|
tilt: "block.testimonials"
|
|
10720
11176
|
};
|
|
10721
11177
|
function isArrangementAppearancePreset(preset) {
|
|
@@ -10742,13 +11198,25 @@ function cardListKnobDefaults(block, arrangement, knobs, defaults) {
|
|
|
10742
11198
|
}
|
|
10743
11199
|
};
|
|
10744
11200
|
}
|
|
11201
|
+
const arrangementLookTargets = {
|
|
11202
|
+
hero: "hero",
|
|
11203
|
+
"feature-cards": "feature-cards",
|
|
11204
|
+
"event-calendar": "events",
|
|
11205
|
+
testimonials: "testimonials",
|
|
11206
|
+
"event-details": "events",
|
|
11207
|
+
"media-text": "media-text",
|
|
11208
|
+
"image-gallery": "image-gallery",
|
|
11209
|
+
"newsletter-signup": "newsletter",
|
|
11210
|
+
form: "contact-form",
|
|
11211
|
+
"body-text": "body-text"
|
|
11212
|
+
};
|
|
10745
11213
|
function defineArrangementLook(id, block, name, arrangement, knobs, input = {}) {
|
|
10746
11214
|
const mode = block === "event-calendar" ? "list" : null;
|
|
10747
11215
|
return {
|
|
10748
11216
|
id: asAppearancePresetId(id),
|
|
10749
11217
|
blockKinds: [`block.${block}`],
|
|
10750
11218
|
label: name,
|
|
10751
|
-
target: block
|
|
11219
|
+
target: arrangementLookTargets[block],
|
|
10752
11220
|
structure: {
|
|
10753
11221
|
kind: "arrangement",
|
|
10754
11222
|
byMode: { [mode ?? "default"]: arrangement },
|
|
@@ -11568,6 +12036,15 @@ const appearancePresets = [
|
|
|
11568
12036
|
eyebrowTreatment: "accent"
|
|
11569
12037
|
}
|
|
11570
12038
|
}),
|
|
12039
|
+
defineArrangementLook("body-text-reading-column", "body-text", "Reading column", "prose", []),
|
|
12040
|
+
defineArrangementLook("form-beside-introduction-arched-panel", "form", "Introduction beside an arched form", "two-column", [], { slotRoles: { panel: "card" } }),
|
|
12041
|
+
defineArrangementLook("newsletter-signup-in-arch", "newsletter-signup", "Signup in an arch", "arch", []),
|
|
12042
|
+
defineArrangementLook("image-gallery-square-tiles", "image-gallery", "Square tiles", "tiles", []),
|
|
12043
|
+
defineArrangementLook("image-gallery-arched-captions", "image-gallery", "Arched photos with captions", "tiles", [], { styleFallback: [id$1("image-gallery-square-tiles")] }),
|
|
12044
|
+
defineArrangementLook("media-text-circle-beside-text", "media-text", "Circle beside the text", "circle-beside", ["imagePosition"], { forcedKnobs: {
|
|
12045
|
+
imageShape: "circle",
|
|
12046
|
+
aspectRatio: "1/1"
|
|
12047
|
+
} }),
|
|
11571
12048
|
defineArrangementLook("hero-photo-beside-text", "hero", "Photo beside the text", "split", heroKnobs, { slotRoles: { sticker: "highlight" } }),
|
|
11572
12049
|
defineArrangementLook("hero-headline-row", "hero", "Big headline, then text and photo", "headline-row", heroKnobs, {
|
|
11573
12050
|
slotRoles: { sticker: "highlight" },
|
|
@@ -14639,52 +15116,14 @@ defineLookOptionGroup({
|
|
|
14639
15116
|
function asFooterLookId(value) {
|
|
14640
15117
|
return value;
|
|
14641
15118
|
}
|
|
14642
|
-
function quietFooterLinks(theme) {
|
|
14643
|
-
return {
|
|
14644
|
-
...theme.footer,
|
|
14645
|
-
navStyle: "minimal",
|
|
14646
|
-
navWeight: "regular",
|
|
14647
|
-
navColor: "text",
|
|
14648
|
-
navLinkStyle: {
|
|
14649
|
-
typography: "body",
|
|
14650
|
-
fontWeight: "regular",
|
|
14651
|
-
textTransform: "none",
|
|
14652
|
-
italic: false,
|
|
14653
|
-
colorToken: "text",
|
|
14654
|
-
hoverColorToken: "primary",
|
|
14655
|
-
padding: "none",
|
|
14656
|
-
borderRadius: "none"
|
|
14657
|
-
}
|
|
14658
|
-
};
|
|
14659
|
-
}
|
|
14660
|
-
function emphasizedFooterLinks(theme) {
|
|
14661
|
-
return {
|
|
14662
|
-
...theme.footer,
|
|
14663
|
-
navStyle: "minimal",
|
|
14664
|
-
navWeight: "medium",
|
|
14665
|
-
navColor: "text",
|
|
14666
|
-
navLinkStyle: {
|
|
14667
|
-
typography: "body",
|
|
14668
|
-
fontWeight: "medium",
|
|
14669
|
-
textTransform: "none",
|
|
14670
|
-
italic: false,
|
|
14671
|
-
colorToken: "text",
|
|
14672
|
-
hoverColorToken: "primary",
|
|
14673
|
-
padding: "none",
|
|
14674
|
-
borderRadius: "none"
|
|
14675
|
-
}
|
|
14676
|
-
};
|
|
14677
|
-
}
|
|
14678
15119
|
const footerLookCatalog = defineExactCatalog()([{
|
|
14679
|
-
id: asFooterLookId("footer-links-
|
|
14680
|
-
label: "
|
|
14681
|
-
description: "
|
|
14682
|
-
compile: quietFooterLinks
|
|
15120
|
+
id: asFooterLookId("footer-links-row"),
|
|
15121
|
+
label: "Links in a row",
|
|
15122
|
+
description: "Your links in a row, with the other footer sections in columns beside them."
|
|
14683
15123
|
}, {
|
|
14684
|
-
id: asFooterLookId("footer-
|
|
14685
|
-
label: "
|
|
14686
|
-
description: "
|
|
14687
|
-
compile: emphasizedFooterLinks
|
|
15124
|
+
id: asFooterLookId("footer-centred-name"),
|
|
15125
|
+
label: "Centred name, links beneath",
|
|
15126
|
+
description: "Your site name centred, with your links, contact details and social links beneath it."
|
|
14688
15127
|
}]);
|
|
14689
15128
|
new Map(footerLookCatalog.map((look) => [look.id, look]));
|
|
14690
15129
|
//#endregion
|
|
@@ -16526,6 +16965,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
16526
16965
|
recommendedAppearancePresetIds
|
|
16527
16966
|
},
|
|
16528
16967
|
headerCuration: headerCurationBySiteStyle[input.id],
|
|
16968
|
+
footerLookRecipes: input.footerLookRecipes,
|
|
16529
16969
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
16530
16970
|
buttonStyleChoices: input.buttonStyleChoices,
|
|
16531
16971
|
paletteRecommendations: input.paletteRecommendations,
|
|
@@ -17011,7 +17451,11 @@ const lanternLooks = {
|
|
|
17011
17451
|
margin: "40px"
|
|
17012
17452
|
},
|
|
17013
17453
|
fontLoading: {
|
|
17014
|
-
extraBodyFontWeights: [
|
|
17454
|
+
extraBodyFontWeights: [
|
|
17455
|
+
500,
|
|
17456
|
+
700,
|
|
17457
|
+
800
|
|
17458
|
+
],
|
|
17015
17459
|
italicBodyFontWeights: [400]
|
|
17016
17460
|
},
|
|
17017
17461
|
surfaces: {
|
|
@@ -17061,6 +17505,38 @@ const lanternLooks = {
|
|
|
17061
17505
|
]
|
|
17062
17506
|
},
|
|
17063
17507
|
offers: [
|
|
17508
|
+
{
|
|
17509
|
+
id: id("body-text-reading-column"),
|
|
17510
|
+
treatment: "reading-column",
|
|
17511
|
+
roleMap: lanternRoles
|
|
17512
|
+
},
|
|
17513
|
+
{
|
|
17514
|
+
id: id("form-beside-introduction-arched-panel"),
|
|
17515
|
+
treatment: "arched-panel",
|
|
17516
|
+
addKnobs: ["archFrame"],
|
|
17517
|
+
roleMap: lanternRoles
|
|
17518
|
+
},
|
|
17519
|
+
{
|
|
17520
|
+
id: id("newsletter-signup-in-arch"),
|
|
17521
|
+
treatment: "signup-arch",
|
|
17522
|
+
addKnobs: ["archFrame"],
|
|
17523
|
+
roleMap: lanternRoles
|
|
17524
|
+
},
|
|
17525
|
+
{
|
|
17526
|
+
id: id("image-gallery-square-tiles"),
|
|
17527
|
+
treatment: "square-tiles",
|
|
17528
|
+
roleMap: lanternRoles
|
|
17529
|
+
},
|
|
17530
|
+
{
|
|
17531
|
+
id: id("image-gallery-arched-captions"),
|
|
17532
|
+
treatment: "arched-captions",
|
|
17533
|
+
roleMap: lanternRoles
|
|
17534
|
+
},
|
|
17535
|
+
{
|
|
17536
|
+
id: id("media-text-circle-beside-text"),
|
|
17537
|
+
treatment: "circle-beside",
|
|
17538
|
+
roleMap: lanternRoles
|
|
17539
|
+
},
|
|
17064
17540
|
{
|
|
17065
17541
|
id: id("event-details-panel"),
|
|
17066
17542
|
treatment: "quiet",
|
|
@@ -17499,7 +17975,7 @@ const curatedSiteStyles = [
|
|
|
17499
17975
|
"faq-contained-help",
|
|
17500
17976
|
"contact-form-panel"
|
|
17501
17977
|
],
|
|
17502
|
-
recommendedFooterLookIds: ["footer-links-
|
|
17978
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17503
17979
|
buttonStyleChoices: [
|
|
17504
17980
|
buttonChoice("soft-pill"),
|
|
17505
17981
|
buttonChoice("pebble"),
|
|
@@ -17618,7 +18094,7 @@ const curatedSiteStyles = [
|
|
|
17618
18094
|
"testimonials-non-carded",
|
|
17619
18095
|
"contact-form-panel"
|
|
17620
18096
|
],
|
|
17621
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18097
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17622
18098
|
buttonStyleChoices: [
|
|
17623
18099
|
buttonChoice("earth-pill"),
|
|
17624
18100
|
buttonChoice("soft-pill"),
|
|
@@ -17673,7 +18149,41 @@ const curatedSiteStyles = [
|
|
|
17673
18149
|
"testimonials-brand-statement-cards",
|
|
17674
18150
|
"contact-form-panel"
|
|
17675
18151
|
],
|
|
17676
|
-
|
|
18152
|
+
footerLookRecipes: { "footer-links-row": {
|
|
18153
|
+
arrangement: "split",
|
|
18154
|
+
ground: {
|
|
18155
|
+
kind: "token",
|
|
18156
|
+
token: "primary-800"
|
|
18157
|
+
},
|
|
18158
|
+
nav: {
|
|
18159
|
+
weight: "medium",
|
|
18160
|
+
colorToken: "primaryForeground",
|
|
18161
|
+
hoverColorToken: "secondary",
|
|
18162
|
+
typography: "body"
|
|
18163
|
+
},
|
|
18164
|
+
legal: {
|
|
18165
|
+
kind: "separate",
|
|
18166
|
+
bar: {
|
|
18167
|
+
fullBleed: true,
|
|
18168
|
+
background: {
|
|
18169
|
+
kind: "token",
|
|
18170
|
+
token: "primary-900"
|
|
18171
|
+
},
|
|
18172
|
+
textColor: "primaryForeground",
|
|
18173
|
+
textAlign: "center",
|
|
18174
|
+
paddingY: "compact",
|
|
18175
|
+
paddingX: "default",
|
|
18176
|
+
borderTop: { width: "none" }
|
|
18177
|
+
},
|
|
18178
|
+
linkStyle: {
|
|
18179
|
+
colorToken: "secondary",
|
|
18180
|
+
decorationColorToken: "secondary"
|
|
18181
|
+
}
|
|
18182
|
+
},
|
|
18183
|
+
brandAlign: "start",
|
|
18184
|
+
brandLogoSize: "sm"
|
|
18185
|
+
} },
|
|
18186
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17677
18187
|
buttonStyleChoices: [
|
|
17678
18188
|
buttonChoice("showtime-pill"),
|
|
17679
18189
|
buttonChoice("confident-chip"),
|
|
@@ -17744,7 +18254,7 @@ const curatedSiteStyles = [
|
|
|
17744
18254
|
"testimonials-statement-cards",
|
|
17745
18255
|
"contact-form-panel"
|
|
17746
18256
|
],
|
|
17747
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18257
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17748
18258
|
buttonStyleChoices: [
|
|
17749
18259
|
buttonChoice("ornate-ritual"),
|
|
17750
18260
|
buttonChoice("joy-stamp"),
|
|
@@ -17791,7 +18301,22 @@ const curatedSiteStyles = [
|
|
|
17791
18301
|
} }
|
|
17792
18302
|
},
|
|
17793
18303
|
recommendedAppearancePresetIds: ["feature-cards-bold-colors", "testimonials-statement-cards"],
|
|
17794
|
-
|
|
18304
|
+
footerLookRecipes: { "footer-links-row": {
|
|
18305
|
+
arrangement: "simple",
|
|
18306
|
+
ground: {
|
|
18307
|
+
kind: "token",
|
|
18308
|
+
token: "surface"
|
|
18309
|
+
},
|
|
18310
|
+
nav: {
|
|
18311
|
+
weight: "medium",
|
|
18312
|
+
colorToken: "text",
|
|
18313
|
+
hoverColorToken: "primary",
|
|
18314
|
+
typography: "body"
|
|
18315
|
+
},
|
|
18316
|
+
legal: { kind: "integrated" },
|
|
18317
|
+
brandAlign: "start"
|
|
18318
|
+
} },
|
|
18319
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17795
18320
|
buttonStyleChoices: [
|
|
17796
18321
|
buttonChoice("joy-stamp"),
|
|
17797
18322
|
buttonChoice("ink-stamp"),
|
|
@@ -17843,7 +18368,7 @@ const curatedSiteStyles = [
|
|
|
17843
18368
|
},
|
|
17844
18369
|
testimonialQuote: serifDisplayQuote
|
|
17845
18370
|
},
|
|
17846
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18371
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17847
18372
|
buttonStyleChoices: [
|
|
17848
18373
|
buttonChoice("fulcrum"),
|
|
17849
18374
|
buttonChoice("editorial-link"),
|
|
@@ -17920,7 +18445,7 @@ const curatedSiteStyles = [
|
|
|
17920
18445
|
"faq-base-accordion",
|
|
17921
18446
|
"booking-brand-band"
|
|
17922
18447
|
],
|
|
17923
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18448
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17924
18449
|
buttonStyleChoices: [
|
|
17925
18450
|
buttonChoice("quiet-arrow", void 0, { secondaryTreatment: "solid-accent" }),
|
|
17926
18451
|
buttonChoice("flat-ink"),
|
|
@@ -17958,7 +18483,22 @@ const curatedSiteStyles = [
|
|
|
17958
18483
|
accordions: boldBorderedAccordionSystem,
|
|
17959
18484
|
testimonialQuote: accentGlyphQuote
|
|
17960
18485
|
},
|
|
17961
|
-
|
|
18486
|
+
footerLookRecipes: { "footer-links-row": {
|
|
18487
|
+
arrangement: "simple",
|
|
18488
|
+
ground: {
|
|
18489
|
+
kind: "token",
|
|
18490
|
+
token: "surface"
|
|
18491
|
+
},
|
|
18492
|
+
nav: {
|
|
18493
|
+
weight: "medium",
|
|
18494
|
+
colorToken: "text",
|
|
18495
|
+
hoverColorToken: "primary",
|
|
18496
|
+
typography: "body"
|
|
18497
|
+
},
|
|
18498
|
+
legal: { kind: "integrated" },
|
|
18499
|
+
brandAlign: "start"
|
|
18500
|
+
} },
|
|
18501
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17962
18502
|
buttonStyleChoices: [
|
|
17963
18503
|
buttonChoice("offset-block"),
|
|
17964
18504
|
buttonChoice("ink-stamp"),
|
|
@@ -17997,8 +18537,29 @@ const curatedSiteStyles = [
|
|
|
17997
18537
|
accordions: warmInsetAccordionSystem,
|
|
17998
18538
|
testimonialQuote: serifDisplayQuote
|
|
17999
18539
|
},
|
|
18000
|
-
|
|
18540
|
+
footerLookRecipes: { "footer-centred-name": {
|
|
18541
|
+
arrangement: "centred",
|
|
18542
|
+
ground: {
|
|
18543
|
+
kind: "style-surface",
|
|
18544
|
+
surface: "deep"
|
|
18545
|
+
},
|
|
18546
|
+
nav: {
|
|
18547
|
+
weight: "regular",
|
|
18548
|
+
colorToken: "text",
|
|
18549
|
+
hoverColorToken: "primary",
|
|
18550
|
+
typography: "heading"
|
|
18551
|
+
},
|
|
18552
|
+
legal: {
|
|
18553
|
+
kind: "separate",
|
|
18554
|
+
bar: null
|
|
18555
|
+
},
|
|
18556
|
+
brandAlign: "center"
|
|
18557
|
+
} },
|
|
18558
|
+
recommendedFooterLookIds: ["footer-centred-name", "footer-links-row"],
|
|
18001
18559
|
buttonStyleChoices: [
|
|
18560
|
+
buttonChoice("gilt-slab"),
|
|
18561
|
+
buttonChoice("hairline-tab"),
|
|
18562
|
+
buttonChoice("marquee"),
|
|
18002
18563
|
buttonChoice("ringed-pill"),
|
|
18003
18564
|
buttonChoice("earth-pill"),
|
|
18004
18565
|
buttonChoice("editorial-link")
|
|
@@ -18033,7 +18594,7 @@ const curatedSiteStyles = [
|
|
|
18033
18594
|
accordions: editorialDividedAccordionSystem,
|
|
18034
18595
|
testimonialQuote: serifDisplayQuote
|
|
18035
18596
|
},
|
|
18036
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18597
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
18037
18598
|
buttonStyleChoices: [
|
|
18038
18599
|
buttonChoice("flat-ink", void 0, { corners: "square" }),
|
|
18039
18600
|
buttonChoice("editorial-link"),
|
|
@@ -18061,6 +18622,7 @@ function curatedStyleTemplate(input) {
|
|
|
18061
18622
|
}
|
|
18062
18623
|
curatedSiteStyles.forEach((style) => {
|
|
18063
18624
|
if (style.looks.kind === "offers") validateLookFallbacks(style.looks);
|
|
18625
|
+
(/* @__PURE__ */ new Set([...Object.values(style.footerLookRecipes ?? {}), ...style.recommendedFooterLookIds.map((id) => resolveFooterLookRecipe(style, id))])).forEach((recipe) => validateFooterRecipeSurfaces(style, recipe));
|
|
18064
18626
|
});
|
|
18065
18627
|
//#endregion
|
|
18066
18628
|
//#region ../theme-core/src/inputs/checkable.ts
|
|
@@ -27780,7 +28342,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
27780
28342
|
/* -----------------------------------------------------------------------------
|
|
27781
28343
|
* Event section head — split (heading left, intro right)
|
|
27782
28344
|
* Rendered by the block frame (outside [data-block="event-calendar"]) via
|
|
27783
|
-
*
|
|
28345
|
+
* sectionHeaderLayoutNodes({ splitClassName }). Lays the heading and its
|
|
27784
28346
|
* supporting intro out as a two-column head on wide viewports, stacking on
|
|
27785
28347
|
* narrow ones. The section band above provides the distinct background.
|
|
27786
28348
|
* ----------------------------------------------------------------------------- */
|
|
@@ -33479,6 +34041,26 @@ const containerResponsiveThemeCss = `/*
|
|
|
33479
34041
|
.theme-scope [data-arrangement] [data-event-list-empty] [data-slot="action"] { margin: 0; padding: 0; border: 0; background: none; color: var(--rb-surface-text-color); font: inherit; text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
|
|
33480
34042
|
.theme-scope [data-arrangement] [data-event-list-empty] [data-slot="action"] button { margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: inherit; cursor: pointer; }
|
|
33481
34043
|
|
|
34044
|
+
/* ---------------------------------------------------- image gallery: tiles */
|
|
34045
|
+
.theme-scope [data-arrangement="tiles"]:not(:has([data-slot="heading"], [data-slot="intro"], [data-slot="photo"], [data-placeholder-field])) { display: none; }
|
|
34046
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="items"] {
|
|
34047
|
+
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
34048
|
+
gap: var(--rb-skin-gallery-gap, 1.5rem); list-style: none; padding: 0;
|
|
34049
|
+
margin: 0 auto; max-width: 64rem;
|
|
34050
|
+
}
|
|
34051
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="item"] { min-width: 0; margin: 0; }
|
|
34052
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="figure"] { display: grid; gap: 0; align-items: stretch; min-width: 0; margin: 0; }
|
|
34053
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="media"] { aspect-ratio: 1; overflow: hidden; }
|
|
34054
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="photo"] { width: 100%; height: 100%; object-fit: cover; }
|
|
34055
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="item"]:not(:has([data-slot="photo"], [data-placeholder-field])),
|
|
34056
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="items"]:not(:has([data-slot="photo"], [data-placeholder-field])) { display: none; }
|
|
34057
|
+
.theme-scope [data-arrangement="tiles"] [data-slot="head"]:not(:has(*)) { display: none; }
|
|
34058
|
+
@container rb-site (max-width: 767px) {
|
|
34059
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
34060
|
+
.theme-scope:is(*, :scope) [data-arrangement="tiles"] [data-slot="items"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
34061
|
+
}
|
|
34062
|
+
}
|
|
34063
|
+
|
|
33482
34064
|
/* Bounded style skins (issue 1575, D14): one stylesheet per arrangement style, keyed on data-skin. */
|
|
33483
34065
|
|
|
33484
34066
|
/* =============================================================================
|
|
@@ -34522,6 +35104,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
34522
35104
|
|
|
34523
35105
|
/* Section heads: centred under the lozenge rule. */
|
|
34524
35106
|
[data-skin="lantern"] [data-arrangement] [data-slot="head"] {
|
|
35107
|
+
grid-template-columns: minmax(0, 1fr);
|
|
34525
35108
|
position: relative;
|
|
34526
35109
|
justify-items: center;
|
|
34527
35110
|
text-align: center;
|
|
@@ -35207,6 +35790,254 @@ const containerResponsiveThemeCss = `/*
|
|
|
35207
35790
|
[data-skin="lantern"] [data-card-list-item] [data-slot="dates"] { gap: 0.5rem; }
|
|
35208
35791
|
[data-skin="lantern"] [data-card-list-item] [data-slot="dates"] [data-slot="date"] { padding: 0.625rem 0.75rem; border: 1px solid var(--rb-surface-line-color); border-radius: var(--lantern-tablet); }
|
|
35209
35792
|
|
|
35793
|
+
/* Centred footer: the same lozenge head over a quiet, deep-ground ending. */
|
|
35794
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] { padding-block: 5.5rem 2.25rem; border-top: 0; text-align: center; }
|
|
35795
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] > [data-slot="stack"] { padding-block: 0; gap: 0; }
|
|
35796
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="head"] { margin-bottom: 0; gap: 0.75rem; width: 100%; }
|
|
35797
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="heading"] { font-size: clamp(2rem, 3cqi, 2.5rem); line-height: 1.1; margin-top: 0.25rem; }
|
|
35798
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="intro"] { --rb-surface-text-color: var(--rb-surface-muted-color); font-size: 1.125rem; line-height: 1.55; color: var(--rb-surface-muted-color); }
|
|
35799
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="navigation"] { font-family: var(--font-heading); font-size: 1.125rem; }
|
|
35800
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] > [data-slot="stack"] > [data-slot="navigation"] { margin-top: 2.25rem; }
|
|
35801
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="navigation"] [data-slot="stack"]:has(> :not([data-slot])) { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5rem 2.5rem; }
|
|
35802
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="contact"] { margin-top: 1.75rem; gap: 0.5rem 1.75rem; font-size: 1.0625rem; }
|
|
35803
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="contact"] [data-slot="stack"] { gap: 0.5rem 1.75rem; }
|
|
35804
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="schedule"] { margin-top: 0.75rem; width: min(100%, 20rem); align-self: center; }
|
|
35805
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] > [data-slot="stack"] > [data-slot="social"] { margin-top: 1.75rem; }
|
|
35806
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="social"] [data-slot="social"] { justify-content: center; gap: 0.75rem; }
|
|
35807
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="social"] [data-slot="social"] > * { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--rb-surface-mark-color); border-radius: 50%; }
|
|
35808
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="social"] [data-slot="social"] > * > * { width: 19px; height: 19px; }
|
|
35809
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="panel"] { margin-top: 2.5rem; max-width: 36rem; width: 100%; margin-inline: auto; }
|
|
35810
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="base"] { --rb-surface-text-color: var(--rb-surface-muted-color); --rb-surface-link-color: var(--rb-surface-muted-color); gap: 0.5rem 1.5rem; font-size: 0.9375rem; color: var(--rb-surface-muted-color); }
|
|
35811
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="stack"] > [data-slot="base"] { margin-top: 3.5rem; padding: 1.5rem 0 0; border-top: 1px solid var(--rb-surface-line-color); }
|
|
35812
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="base"] > [data-slot="base"] { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; }
|
|
35813
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="base"] [data-slot="navigation"] { font-family: var(--font-body); font-size: inherit; }
|
|
35814
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="caption"] { font-size: inherit; letter-spacing: normal; }
|
|
35815
|
+
|
|
35816
|
+
@container rb-site (max-width: 767px) {
|
|
35817
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35818
|
+
[data-skin="lantern"]:is(*, :scope) [data-arrangement="footer-centred"] { padding-top: 4rem; }
|
|
35819
|
+
[data-skin="lantern"]:is(*, :scope) [data-arrangement="footer-centred"] [data-slot="navigation"] [data-slot="stack"]:has(> :not([data-slot])) { gap: 0.5rem 1.5rem; }
|
|
35820
|
+
[data-skin="lantern"]:is(*, :scope) [data-arrangement="footer-centred"] [data-slot="base"] > [data-slot="base"] { justify-content: center; text-align: center; }
|
|
35821
|
+
}
|
|
35822
|
+
}
|
|
35823
|
+
|
|
35824
|
+
/* Leaf utilities inherit the decided footer type, including the quieter legal row. */
|
|
35825
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="navigation"] * { font-family: inherit; font-size: inherit; }
|
|
35826
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="contact"] * { font-family: var(--font-body); font-size: inherit; }
|
|
35827
|
+
|
|
35828
|
+
/* Visual review: contact emphasis, quiet hours, and balanced sparse/panel endings. */
|
|
35829
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="contact"] > [data-slot="stack"] > [data-slot="stack"] > * { text-decoration: underline; text-decoration-color: var(--rb-surface-mark-color); text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
|
|
35830
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="contact"] > [data-slot="stack"] > :not([data-slot]) { font-style: normal; opacity: 1; color: var(--rb-surface-muted-color); }
|
|
35831
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="schedule"] [data-slot="inline"] > :first-child { text-transform: none; letter-spacing: normal; font-weight: 500; font-size: inherit; }
|
|
35832
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"]:not(:has([data-slot="base"])) { padding-bottom: 4rem; }
|
|
35833
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] > [data-slot="panel"] { margin-bottom: 3.5rem; }
|
|
35834
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"][data-slot="section"] [data-slot="head"]::after { border-width: 1.5px; }
|
|
35835
|
+
[data-skin="lantern"] [data-arrangement="footer-centred"] [data-slot="panel"] [data-slot="group-label"] { font-family: var(--font-body); font-weight: 500; font-size: 0.8125rem; letter-spacing: 0.08em; color: var(--rb-surface-text-color); }
|
|
35836
|
+
|
|
35837
|
+
/* ================================================= MEDIA TEXT: CIRCLE BESIDE
|
|
35838
|
+
* Kept separate from footer dressing for concurrent footer work.
|
|
35839
|
+
*/
|
|
35840
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="frame"] {
|
|
35841
|
+
display: grid;
|
|
35842
|
+
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
35843
|
+
column-gap: var(--rb-skin-gutter);
|
|
35844
|
+
align-items: center;
|
|
35845
|
+
}
|
|
35846
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="media"] { grid-column: 1 / 6; min-width: 0; }
|
|
35847
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="copy"] {
|
|
35848
|
+
grid-column: 7 / 13;
|
|
35849
|
+
display: grid;
|
|
35850
|
+
gap: var(--rb-skin-copy-gap);
|
|
35851
|
+
justify-items: start;
|
|
35852
|
+
max-width: 34rem;
|
|
35853
|
+
}
|
|
35854
|
+
[data-skin="lantern"] [data-treat="circle-beside"][data-knob-image-position="right"] [data-slot="media"] { grid-column: 8 / 13; grid-row: 1; }
|
|
35855
|
+
[data-skin="lantern"] [data-treat="circle-beside"][data-knob-image-position="right"] [data-slot="copy"] { grid-column: 1 / 7; grid-row: 1; }
|
|
35856
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="head"]:not(:has(*)) { display: none; }
|
|
35857
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="head"] {
|
|
35858
|
+
justify-self: start;
|
|
35859
|
+
justify-items: start;
|
|
35860
|
+
text-align: start;
|
|
35861
|
+
margin: 0;
|
|
35862
|
+
padding-top: 2rem;
|
|
35863
|
+
}
|
|
35864
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="head"] > [data-slot="heading"] { text-align: start; }
|
|
35865
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="head"]::before {
|
|
35866
|
+
left: 0;
|
|
35867
|
+
transform: none;
|
|
35868
|
+
background: linear-gradient(to right, transparent 0 18px, var(--rb-surface-mark-color) 18px) center 4px / 52px 1px no-repeat;
|
|
35869
|
+
width: 52px;
|
|
35870
|
+
height: 9px;
|
|
35871
|
+
}
|
|
35872
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="head"]::after { left: 1px; transform: rotate(45deg); }
|
|
35873
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="intro"] { font-size: 1.1875rem; line-height: 1.65; max-width: none; color: var(--rb-surface-muted-color); }
|
|
35874
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="intro"] > [data-slot="lede"] { font-size: inherit; line-height: inherit; color: var(--rb-surface-text-color); }
|
|
35875
|
+
[data-skin="lantern"] [data-treat="circle-beside"][data-has-photo="false"] [data-slot="media"]:not(:has([data-placeholder-field])) { display: none; }
|
|
35876
|
+
[data-skin="lantern"] [data-treat="circle-beside"][data-has-photo="false"] [data-slot="frame"]:not(:has([data-placeholder-field])) > [data-slot="copy"] { grid-column: 1 / -1; grid-row: auto; }
|
|
35877
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-placeholder-field] { aspect-ratio: 1; height: auto; border-radius: 50%; overflow: hidden; }
|
|
35878
|
+
@container rb-site (max-width: 767px) {
|
|
35879
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35880
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="circle-beside"] [data-slot="frame"] { grid-template-columns: minmax(0, 1fr); row-gap: 2.5rem; }
|
|
35881
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="circle-beside"] [data-slot="frame"] > [data-slot="media"] { grid-column: 1 / -1; grid-row: auto; width: 76%; justify-self: center; }
|
|
35882
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="circle-beside"] [data-slot="frame"] > [data-slot="copy"] { grid-column: 1 / -1; grid-row: auto; }
|
|
35883
|
+
}
|
|
35884
|
+
}
|
|
35885
|
+
|
|
35886
|
+
/* ---------------------------------------------------- image gallery: Lucy Looks */
|
|
35887
|
+
[data-skin="lantern"] [data-arrangement="tiles"] [data-slot="head"] { width: 100%; }
|
|
35888
|
+
[data-skin="lantern"] [data-arrangement="tiles"] [data-slot="head"]:not(:has([data-slot="heading"])) { padding-top: 0; }
|
|
35889
|
+
[data-skin="lantern"] [data-arrangement="tiles"] [data-slot="head"]:not(:has([data-slot="heading"]))::before,
|
|
35890
|
+
[data-skin="lantern"] [data-arrangement="tiles"] [data-slot="head"]:not(:has([data-slot="heading"]))::after { display: none; }
|
|
35891
|
+
[data-skin="lantern"] [data-treat="square-tiles"] [data-slot="items"] { --rb-skin-gallery-gap: 0; border-radius: var(--rb-skin-radius, 10px); overflow: hidden; }
|
|
35892
|
+
[data-skin="lantern"] [data-treat="square-tiles"] [data-slot="caption"] { display: none; }
|
|
35893
|
+
[data-skin="lantern"] [data-treat="arched-captions"] [data-slot="items"] { --rb-skin-gallery-gap: clamp(1rem, 3cqi, 2.5rem); align-items: start; }
|
|
35894
|
+
[data-skin="lantern"] [data-treat="arched-captions"] [data-slot="item"]:nth-child(3n + 2) { transform: translateY(4.5rem); }
|
|
35895
|
+
[data-skin="lantern"] [data-treat="arched-captions"] [data-slot="items"]:has([data-slot="item"]:nth-child(3n + 2)) { padding-bottom: 4.5rem; }
|
|
35896
|
+
[data-skin="lantern"] [data-treat="arched-captions"] [data-slot="media"] { aspect-ratio: 3 / 4; border-radius: var(--lantern-arch); }
|
|
35897
|
+
[data-skin="lantern"] [data-treat="arched-captions"] [data-slot="caption"] { margin-top: 1rem; text-align: center; font-size: 1rem; line-height: 1.5; color: var(--rb-surface-muted-color); }
|
|
35898
|
+
@container rb-site (max-width: 767px) {
|
|
35899
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35900
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-captions"] [data-slot="item"]:nth-child(3n + 2) { transform: none; }
|
|
35901
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-captions"] [data-slot="item"]:nth-child(2n) { transform: translateY(3rem); }
|
|
35902
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-captions"] [data-slot="items"]:has([data-slot="item"]:nth-child(3n + 2)) { padding-bottom: 0; }
|
|
35903
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-captions"] [data-slot="items"]:has([data-slot="item"]:nth-child(2n)) { padding-bottom: 3rem; }
|
|
35904
|
+
}
|
|
35905
|
+
}
|
|
35906
|
+
|
|
35907
|
+
/* ---------------------------------------------------- newsletter: Signup in an arch */
|
|
35908
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="frame"] {
|
|
35909
|
+
display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center;
|
|
35910
|
+
text-align: center; gap: 1.125rem; width: 100%; max-width: 53.75rem; margin-inline: auto;
|
|
35911
|
+
padding: 7rem clamp(1.5rem, 5cqi, 5rem) 3rem;
|
|
35912
|
+
border: 1px solid var(--rb-surface-mark-color); border-bottom: 0; border-radius: var(--lantern-arch-wide);
|
|
35913
|
+
}
|
|
35914
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="frame"]::before {
|
|
35915
|
+
content: ""; position: absolute; inset: 8px 8px 0; pointer-events: none;
|
|
35916
|
+
border: 1px solid var(--rb-surface-mark-color); border-bottom: 0; border-radius: var(--lantern-arch-wide); opacity: 0.55;
|
|
35917
|
+
}
|
|
35918
|
+
[data-skin="lantern"] [data-treat="signup-arch"][data-knob-arch-frame="false"] [data-slot="frame"] { border-color: transparent; }
|
|
35919
|
+
[data-skin="lantern"] [data-treat="signup-arch"][data-knob-arch-frame="false"] [data-slot="frame"]::before { display: none; }
|
|
35920
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="head"] { margin: 0; width: 100%; }
|
|
35921
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="head"]:not(:has(*)) { display: none; }
|
|
35922
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="head"]:not(:has([data-slot="heading"])) { padding-top: 0; }
|
|
35923
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="head"]:not(:has([data-slot="heading"]))::before,
|
|
35924
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="head"]:not(:has([data-slot="heading"]))::after { display: none; }
|
|
35925
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="intro"] { --rb-surface-text-color: var(--rb-surface-muted-color); color: var(--rb-surface-muted-color); }
|
|
35926
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="panel"] { width: 100%; max-width: 44rem; margin-top: 1.25rem; text-align: left; }
|
|
35927
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="grid"] { display: flex; flex-direction: row; flex-wrap: wrap; gap: 1rem; align-items: end; }
|
|
35928
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="items"] { display: contents; }
|
|
35929
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="item"] { display: grid; gap: 0.4rem; min-width: 0; flex: 1 1 12rem; margin: 0; }
|
|
35930
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="row"] { display: grid; gap: 0.4rem; min-width: 0; flex: 1.35 1 16rem; margin: 0; }
|
|
35931
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="fact-label"] { font-size: 1rem; font-weight: 500; color: var(--rb-surface-text-color); }
|
|
35932
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="control"] {
|
|
35933
|
+
width: 100%; min-width: 0; min-height: 52px; padding: 0.8rem 1.25rem;
|
|
35934
|
+
border: 1px solid var(--rb-surface-muted-color); border-radius: 9999px;
|
|
35935
|
+
background: transparent; color: var(--rb-surface-text-color); font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.4;
|
|
35936
|
+
}
|
|
35937
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="control"]::placeholder { color: var(--rb-surface-muted-color); opacity: 1; }
|
|
35938
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="control"]:focus-visible { outline: 2px solid var(--rb-surface-mark-color); outline-offset: 2px; border-color: var(--rb-surface-mark-color); }
|
|
35939
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="actions"] { margin: 0; flex: 0 0 auto; }
|
|
35940
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="action"] { min-height: 52px; padding-block: 0; }
|
|
35941
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="grid"] > :not([data-slot]) { flex-basis: 100%; }
|
|
35942
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="caption"] { margin-top: 1.25rem; font-size: 1rem; line-height: 1.5; color: var(--rb-surface-muted-color); text-align: center; }
|
|
35943
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="outcome"] { width: 100%; margin-top: 1rem; font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.3; text-align: center; }
|
|
35944
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="frame"]:not(:has([data-slot="heading"])) { padding-top: 4.5rem; }
|
|
35945
|
+
[data-skin="lantern"] [data-treat="signup-arch"][data-knob-arch-frame="false"] [data-slot="frame"] { padding-top: 0; }
|
|
35946
|
+
[data-skin="lantern"] [data-treat="signup-arch"] [data-slot="panel"]:not(:has([data-slot="item"])) { max-width: 34rem; }
|
|
35947
|
+
@container rb-site (max-width: 767px) {
|
|
35948
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35949
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="signup-arch"] [data-slot="frame"] { padding: 5rem 1.25rem 2.5rem; }
|
|
35950
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="signup-arch"] [data-slot="grid"] { flex-direction: column; align-items: stretch; }
|
|
35951
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="signup-arch"] :is([data-slot="item"], [data-slot="row"], [data-slot="actions"]) { flex: none; width: 100%; }
|
|
35952
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="signup-arch"] [data-slot="action"] { width: 100%; }
|
|
35953
|
+
}
|
|
35954
|
+
}
|
|
35955
|
+
|
|
35956
|
+
/* ---------------------------------------------------- form: beside introduction, arched panel */
|
|
35957
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="frame"] { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: start; }
|
|
35958
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="copy"] { grid-column: 1 / 6; padding-top: 0; min-width: 0; }
|
|
35959
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"] { padding-top: 5rem; display: grid; justify-items: start; justify-self: start; margin-inline: 0; width: 100%; text-align: left; }
|
|
35960
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"] > :is([data-slot="heading"], [data-slot="intro"]) { text-align: left; }
|
|
35961
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"]::before { width: 52px; height: 9px; left: 0; transform: none; background: linear-gradient(to right, transparent 0 18px, var(--rb-surface-mark-color) 18px) center 4px / 52px 1px no-repeat; }
|
|
35962
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"]::after { left: 0; transform: rotate(45deg); }
|
|
35963
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="intro"] { font-size: 1.1875rem; line-height: 1.65; }
|
|
35964
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"]:not(:has([data-slot="heading"])) { padding-top: 0; }
|
|
35965
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"]:not(:has([data-slot="heading"]))::before,
|
|
35966
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="head"]:not(:has([data-slot="heading"]))::after { display: none; }
|
|
35967
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="copy"]:not(:has([data-slot="heading"], [data-slot="intro"])) { display: none; }
|
|
35968
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="panel"] {
|
|
35969
|
+
grid-column: 7 / 13; min-width: 0; padding: 5.5rem clamp(1.5rem, 3cqi, 2.75rem) 2.5rem;
|
|
35970
|
+
border: 1px solid var(--rb-surface-mark-color); border-radius: 50% 50% var(--rb-skin-radius, 10px) var(--rb-skin-radius, 10px) / 140px 140px var(--rb-skin-radius, 10px) var(--rb-skin-radius, 10px);
|
|
35971
|
+
}
|
|
35972
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="panel"]::before {
|
|
35973
|
+
content: ""; position: absolute; inset: 8px 8px auto; height: 160px; pointer-events: none;
|
|
35974
|
+
border: 1px solid var(--rb-surface-mark-color); border-bottom: 0; border-radius: 50% 50% 0 0 / 132px 132px 0 0; opacity: 0.55;
|
|
35975
|
+
mask-image: linear-gradient(currentcolor 40%, transparent);
|
|
35976
|
+
}
|
|
35977
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="frame"]:not(:has([data-slot="heading"], [data-slot="intro"])) > [data-slot="panel"] { grid-column: 1 / -1; width: 100%; max-width: 44rem; margin-inline: auto; }
|
|
35978
|
+
[data-skin="lantern"] [data-treat="arched-panel"][data-knob-arch-frame="false"] [data-slot="panel"] { border-color: transparent; border-radius: var(--rb-skin-radius, 10px); padding-top: 2.5rem; }
|
|
35979
|
+
[data-skin="lantern"] [data-treat="arched-panel"][data-knob-arch-frame="false"] [data-slot="panel"]::before { display: none; }
|
|
35980
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="grid"] { display: grid; gap: 1.25rem; }
|
|
35981
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="group"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
|
|
35982
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="item"] { min-width: 0; margin: 0; }
|
|
35983
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="fact-label"] { font-weight: 500; color: var(--rb-surface-text-color); font-size: 1rem; }
|
|
35984
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="control"] {
|
|
35985
|
+
width: 100%; min-width: 0; padding: 0.875rem 1rem; border: 1px solid var(--rb-surface-muted-color);
|
|
35986
|
+
border-radius: var(--rb-skin-radius, 10px); background: transparent; color: var(--rb-surface-text-color); font-family: var(--font-body); font-size: 1.0625rem;
|
|
35987
|
+
}
|
|
35988
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-control="select"] { padding-right: 2.5rem; background-image: linear-gradient(45deg, transparent 50%, var(--rb-surface-text-color) 50%), linear-gradient(135deg, var(--rb-surface-text-color) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
|
|
35989
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="intro"] > [data-slot="lede"] { font-size: inherit; line-height: inherit; color: var(--rb-surface-text-color); }
|
|
35990
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="control"]::placeholder { color: var(--rb-surface-muted-color); opacity: 1; }
|
|
35991
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="mark"] { border-color: var(--rb-surface-muted-color); }
|
|
35992
|
+
[data-skin="lantern"] [data-treat="arched-panel"] :is([data-slot="control"], [data-slot="mark"]):focus-visible { outline: 2px solid var(--rb-surface-mark-color); outline-offset: 2px; }
|
|
35993
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="actions"] { margin-top: 0.5rem; }
|
|
35994
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="inline"] { display: flex; flex-wrap: wrap; gap: 1rem; }
|
|
35995
|
+
[data-skin="lantern"] [data-treat="arched-panel"] [data-slot="outcome"] { padding: 1rem 0 2rem; text-align: center; font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.3; color: var(--rb-surface-text-color); }
|
|
35996
|
+
@container rb-site (max-width: 1023px) {
|
|
35997
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35998
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] [data-slot="frame"] { grid-template-columns: minmax(0, 1fr); }
|
|
35999
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] :is([data-slot="copy"], [data-slot="panel"]) { grid-column: 1 / -1; }
|
|
36000
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] [data-slot="copy"] { padding-top: 0; }
|
|
36001
|
+
}
|
|
36002
|
+
}
|
|
36003
|
+
@container rb-site (max-width: 767px) {
|
|
36004
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
36005
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] [data-slot="panel"] { padding: 4.5rem 1.125rem 1.75rem; border-radius: 50% 50% var(--rb-skin-radius, 10px) var(--rb-skin-radius, 10px) / 90px 90px var(--rb-skin-radius, 10px) var(--rb-skin-radius, 10px); }
|
|
36006
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] [data-slot="panel"]::before { border-radius: 50% 50% 0 0 / 84px 84px 0 0; height: 110px; }
|
|
36007
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"][data-knob-arch-frame="false"] [data-slot="panel"] { padding-top: 1.75rem; border-radius: var(--rb-skin-radius, 10px); }
|
|
36008
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="arched-panel"] [data-slot="group"] { grid-template-columns: minmax(0, 1fr); }
|
|
36009
|
+
}
|
|
36010
|
+
}
|
|
36011
|
+
|
|
36012
|
+
/* Lucy slice 5 — Reading column. Existing rich-text nodes carry semantic hooks. */
|
|
36013
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="copy"] { width: 100%; max-width: 36rem; margin-inline: auto; align-items: stretch; gap: 1.25rem; text-align: left; }
|
|
36014
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] { width: 100%; font-size: 1.1875rem; line-height: 1.7; text-align: left; }
|
|
36015
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="lede"] { font-size: clamp(1.3125rem, 1.8cqi, 1.5rem); line-height: 1.55; color: var(--rb-surface-text-color); }
|
|
36016
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="heading"] { position: relative; padding-top: 2rem; margin-block: 2.25rem 1.25rem; font-size: clamp(1.75rem, 2.6cqi, 2.125rem); line-height: 1.12; text-align: center; color: var(--rb-surface-heading-color); }
|
|
36017
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="heading"]::before { content: ""; position: absolute; top: 0; left: 50%; width: 92px; height: 9px; transform: translateX(-50%); background: linear-gradient(to right, var(--rb-surface-mark-color) 0 34px, transparent 34px 58px, var(--rb-surface-mark-color) 58px) center 4px / 92px 1px no-repeat; }
|
|
36018
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="heading"]::after { content: ""; position: absolute; top: 1px; left: 50%; width: 7px; height: 7px; border: 1.5px solid var(--rb-surface-mark-color); transform: translateX(-50%) rotate(45deg); }
|
|
36019
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="quote"] { position: relative; margin: 2rem 0; padding: 2.25rem 0.5rem 2rem; border: 0; border-bottom: 1px solid var(--rb-surface-line-color); text-align: center; font-family: var(--font-heading); font-size: clamp(1.5rem, 2.3cqi, 1.875rem); line-height: 1.3; text-wrap: balance; color: var(--rb-surface-heading-color); }
|
|
36020
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="quote"] > * { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; }
|
|
36021
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="quote"]::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(to right, var(--rb-surface-line-color) 0 calc(50% - 12px), transparent calc(50% - 12px) calc(50% + 12px), var(--rb-surface-line-color) calc(50% + 12px)); }
|
|
36022
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="quote"]::after { content: ""; position: absolute; top: -4px; left: 50%; width: 9px; height: 9px; border: 1.5px solid var(--rb-surface-mark-color); transform: translateX(-50%) rotate(45deg); }
|
|
36023
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="photo"] { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 1.5rem 0; border-radius: 50% 50% 0 0 / 90px 90px 0 0; }
|
|
36024
|
+
@container rb-site (min-width: 1024px) {
|
|
36025
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
36026
|
+
[data-skin="lantern"]:is(*, :scope) [data-treat="reading-column"] [data-slot="photo"] { width: calc(100% + 12rem); margin-inline: -6rem; border-radius: var(--lantern-arch-wide); }
|
|
36027
|
+
}
|
|
36028
|
+
}
|
|
36029
|
+
|
|
36030
|
+
/* Reading-column flow owns one gap; optional title spans the whole column. */
|
|
36031
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] { display: grid; gap: 1.25rem; }
|
|
36032
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] > * { margin-block: 0; }
|
|
36033
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] > [data-slot="heading"] { margin-top: 2.25rem; }
|
|
36034
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] > [data-slot="quote"] { margin-block: 2rem; }
|
|
36035
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="item-body"] > [data-slot="photo"] { margin-block: 1.5rem; }
|
|
36036
|
+
[data-skin="lantern"] [data-treat="reading-column"] [data-slot="copy"] > [data-slot="heading"] { width: 100%; margin-top: 0; font-size: clamp(2.25rem, 3.9cqi, 3.375rem); }
|
|
36037
|
+
|
|
36038
|
+
/* Rich-text links use the same ink and decorative underline as the mockup. */
|
|
36039
|
+
[data-skin="lantern"] [data-treat="circle-beside"] [data-slot="intro"] [data-control="link"] { color: var(--rb-surface-text-color); text-decoration-color: var(--rb-surface-mark-color); text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
|
|
36040
|
+
|
|
35210
36041
|
/* =============================================================================
|
|
35211
36042
|
* Measure skin (issue 1575 Phase 1b, D14).
|
|
35212
36043
|
*
|