@riverbankcms/sdk 0.153.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/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
- package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
- package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
- package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
- package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
- package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
- package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
- 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/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/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 +162 -103
- 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/types.d.ts +11 -31
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
- 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 +1 -1
- 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 +4 -4
- 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 +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
- 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/customize/facets.d.ts +75 -9
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
- 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/lookSurfaces.d.ts +16 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
- 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/eventCollectionContract.d.ts +29 -17
- 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/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/layout.d.ts +0 -11
- 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/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-setup.d.ts +3 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -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 +50 -9
- package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
- package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +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/system-block-content.d.ts +4 -46
- package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- 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 +358 -46
- package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- 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/mock-themes/all.d.ts +234 -147
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/schema.d.ts +300 -192
- 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/siteChromeBackgrounds.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
- package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
- package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
- package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
- package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
- package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
- package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
- package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
- package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
- package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
- package/dist/client/bookings.mjs +12565 -11839
- package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
- package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
- package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
- package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
- package/dist/client/client.mjs +6109 -4778
- package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
- package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
- package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
- package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
- package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
- package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
- package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
- package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
- package/dist/client/hooks.mjs +2041 -1193
- package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
- package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
- package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
- package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
- package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
- package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
- package/dist/client/rendering/client.mjs +11868 -11098
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +6058 -4676
- package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
- package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
- package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
- package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
- package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
- package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +133 -51
- 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-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
- package/dist/server/components.mjs +11284 -10014
- package/dist/server/config-validation.mjs +2016 -1188
- package/dist/server/config.mjs +2016 -1188
- package/dist/server/data.mjs +2041 -1193
- package/dist/server/date-time.mjs +258 -116
- package/dist/server/index.mjs +134 -52
- package/dist/server/next.mjs +10571 -9350
- package/dist/server/page-converter.mjs +1629 -941
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +11156 -9872
- package/dist/server/rendering.mjs +11284 -10014
- package/dist/server/routing.mjs +2204 -1283
- package/dist/server/server.mjs +2369 -1570
- package/dist/server/theme-bridge.mjs +838 -124
- package/dist/server/theme.mjs +348 -64
- package/dist/{spinner-BYM-Y81w.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
|
@@ -506,14 +506,6 @@ const themeLookMetadataSchema = z.object({
|
|
|
506
506
|
skinMarks: skinMarksSchema.optional()
|
|
507
507
|
});
|
|
508
508
|
//#endregion
|
|
509
|
-
//#region ../theme-core/src/footer/mode.ts
|
|
510
|
-
const footerModeSchema = z.enum([
|
|
511
|
-
"default",
|
|
512
|
-
"blocks",
|
|
513
|
-
"default+blocks",
|
|
514
|
-
"none"
|
|
515
|
-
]);
|
|
516
|
-
//#endregion
|
|
517
509
|
//#region ../core/src/result.ts
|
|
518
510
|
function ok(value) {
|
|
519
511
|
return {
|
|
@@ -872,6 +864,29 @@ const paletteSchema = z.object({
|
|
|
872
864
|
};
|
|
873
865
|
});
|
|
874
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
|
|
875
890
|
//#region ../theme-core/src/buttons/types.ts
|
|
876
891
|
/**
|
|
877
892
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -987,6 +1002,7 @@ const buttonEffectApplicationSchema = z.discriminatedUnion("effectId", [
|
|
|
987
1002
|
z.strictObject({
|
|
988
1003
|
effectId: z.literal("lift"),
|
|
989
1004
|
options: z.strictObject({ amount: z.enum([
|
|
1005
|
+
"0.125",
|
|
990
1006
|
"0.25",
|
|
991
1007
|
"0.5",
|
|
992
1008
|
"1"
|
|
@@ -1033,24 +1049,6 @@ const shadowSizeSchema = z.enum([
|
|
|
1033
1049
|
"medium",
|
|
1034
1050
|
"high"
|
|
1035
1051
|
]);
|
|
1036
|
-
const textTransformSchema = z.enum([
|
|
1037
|
-
"none",
|
|
1038
|
-
"uppercase",
|
|
1039
|
-
"lowercase",
|
|
1040
|
-
"capitalize"
|
|
1041
|
-
]);
|
|
1042
|
-
const fontWeightSchema = z.union([
|
|
1043
|
-
z.literal(500),
|
|
1044
|
-
z.literal(600),
|
|
1045
|
-
z.literal(700),
|
|
1046
|
-
z.literal(800)
|
|
1047
|
-
]);
|
|
1048
|
-
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
1049
|
-
const letterSpacingSchema = z.enum([
|
|
1050
|
-
"tight",
|
|
1051
|
-
"normal",
|
|
1052
|
-
"loose"
|
|
1053
|
-
]);
|
|
1054
1052
|
const hoverTransformSchema = z.enum([
|
|
1055
1053
|
"none",
|
|
1056
1054
|
"lift",
|
|
@@ -1122,7 +1120,8 @@ const paddingShorthandSchema = z.string().refine((value) => {
|
|
|
1122
1120
|
}, { message: "Padding must be two space-separated CSS length tokens (e.g. \"0.5rem 1rem\"). Use `0` for zero." });
|
|
1123
1121
|
const buttonSizeConfigSchema = z.object({
|
|
1124
1122
|
padding: paddingShorthandSchema,
|
|
1125
|
-
fontSize: z.string().optional()
|
|
1123
|
+
fontSize: z.string().optional(),
|
|
1124
|
+
borderRadius: z.string().optional()
|
|
1126
1125
|
});
|
|
1127
1126
|
/**
|
|
1128
1127
|
* `xl` is optional on the wire so themes persisted before the `xl` size was
|
|
@@ -1245,12 +1244,20 @@ const buttonVisualAppearanceSchema = z.strictObject({
|
|
|
1245
1244
|
textTransform: textTransformSchema
|
|
1246
1245
|
}),
|
|
1247
1246
|
effects: z.array(buttonEffectApplicationSchema),
|
|
1247
|
+
transform: z.literal("none").optional(),
|
|
1248
1248
|
contextualHover: contextualButtonHoverSchema.optional()
|
|
1249
1249
|
});
|
|
1250
1250
|
const buttonVisualStatesSchema = z.strictObject({
|
|
1251
1251
|
base: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1252
1252
|
hover: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1253
|
-
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
|
+
}),
|
|
1254
1261
|
active: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1255
1262
|
disabled: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema })
|
|
1256
1263
|
});
|
|
@@ -1875,6 +1882,10 @@ function validateButtonTextContrast(input) {
|
|
|
1875
1882
|
}
|
|
1876
1883
|
};
|
|
1877
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
|
+
}
|
|
1878
1889
|
//#endregion
|
|
1879
1890
|
//#region ../theme-core/src/buttons/contextualHover.ts
|
|
1880
1891
|
function resolveContextualHoverPreference(input) {
|
|
@@ -1972,7 +1983,7 @@ function candidate(family, shade, currentShade, direction, seedHex, palette) {
|
|
|
1972
1983
|
}
|
|
1973
1984
|
function hasSafeTextContrast(token, palette) {
|
|
1974
1985
|
const background = palette[token];
|
|
1975
|
-
const foreground = palette[
|
|
1986
|
+
const foreground = palette[solidForegroundToken(token)];
|
|
1976
1987
|
return typeof background === "string" && typeof foreground === "string" && contrastRatio(background, foreground) >= BUTTON_CONTRAST_POLICY.textMinimumRatio;
|
|
1977
1988
|
}
|
|
1978
1989
|
function isSafeCandidate(token, palette, surface) {
|
|
@@ -2067,6 +2078,13 @@ function compileDeclaredVisualStates(input, states) {
|
|
|
2067
2078
|
const colours = collectStateColours(mapVisualStates((state) => compileDeclaredVisualState(input, states, state, state === "hover" ? hover.treatment : states[state].background)));
|
|
2068
2079
|
return colours.ok ? {
|
|
2069
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,
|
|
2070
2088
|
contextualHoverRepair: hover.repair
|
|
2071
2089
|
} : colours;
|
|
2072
2090
|
}
|
|
@@ -2204,7 +2222,7 @@ function resolveFocusIndicator(colour) {
|
|
|
2204
2222
|
function resolveSolid(input, backgroundToken, edge) {
|
|
2205
2223
|
const backgroundHex = paletteHex(input, backgroundToken);
|
|
2206
2224
|
if (!backgroundHex.ok) return backgroundHex;
|
|
2207
|
-
const foregroundToken = unsafeAsOpaqueButtonColourToken(
|
|
2225
|
+
const foregroundToken = unsafeAsOpaqueButtonColourToken(solidForegroundToken(backgroundToken));
|
|
2208
2226
|
const foregroundHex = input.palette[foregroundToken];
|
|
2209
2227
|
if (typeof foregroundHex !== "string") return {
|
|
2210
2228
|
ok: false,
|
|
@@ -3420,7 +3438,7 @@ function resolvedButtonFocusDeclarations(indicator, role) {
|
|
|
3420
3438
|
["outline", value("outline", `2px solid ${indicator.innerCss}`)],
|
|
3421
3439
|
["outline-offset", value("outline-offset", "2px")],
|
|
3422
3440
|
["box-shadow", value("box-shadow", `0 0 0 4px ${indicator.outerCss}`)]
|
|
3423
|
-
] : [["outline", value("outline",
|
|
3441
|
+
] : [["outline", value("outline", `${indicator.width ?? 3}px solid ${indicator.colorCss}`)], ["outline-offset", value("outline-offset", `${indicator.offset ?? 3}px`)]];
|
|
3424
3442
|
}
|
|
3425
3443
|
/**
|
|
3426
3444
|
* Disabled buttons are deliberately muted as unavailable controls. Native
|
|
@@ -3463,6 +3481,287 @@ function normalizeAppearance(appearance) {
|
|
|
3463
3481
|
};
|
|
3464
3482
|
}
|
|
3465
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
|
|
3466
3765
|
//#region ../theme-core/src/buttons/styles/recipes/fulcrumRecipe.ts
|
|
3467
3766
|
const fulcrumSizes = {
|
|
3468
3767
|
sm: {
|
|
@@ -4204,7 +4503,10 @@ const BUTTON_STYLE_IDS = [
|
|
|
4204
4503
|
"offset-block",
|
|
4205
4504
|
"ringed-pill",
|
|
4206
4505
|
"square-outline",
|
|
4207
|
-
"fulcrum"
|
|
4506
|
+
"fulcrum",
|
|
4507
|
+
"gilt-slab",
|
|
4508
|
+
"hairline-tab",
|
|
4509
|
+
"marquee"
|
|
4208
4510
|
];
|
|
4209
4511
|
const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
|
|
4210
4512
|
const flatInkHoverTreatmentSchema = z.enum([
|
|
@@ -4241,7 +4543,10 @@ const buttonStyleSelectionSchema = z.discriminatedUnion("styleId", [
|
|
|
4241
4543
|
selectionBranch("offset-block", emptyParametersSchema),
|
|
4242
4544
|
selectionBranch("ringed-pill", emptyParametersSchema),
|
|
4243
4545
|
selectionBranch("square-outline", emptyParametersSchema),
|
|
4244
|
-
selectionBranch("fulcrum", emptyParametersSchema)
|
|
4546
|
+
selectionBranch("fulcrum", emptyParametersSchema),
|
|
4547
|
+
selectionBranch("gilt-slab", emptyParametersSchema),
|
|
4548
|
+
selectionBranch("hairline-tab", emptyParametersSchema),
|
|
4549
|
+
selectionBranch("marquee", emptyParametersSchema)
|
|
4245
4550
|
]);
|
|
4246
4551
|
//#endregion
|
|
4247
4552
|
//#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
|
|
@@ -7757,7 +8062,10 @@ const buttonStyleRecipes = [
|
|
|
7757
8062
|
offsetBlockRecipe,
|
|
7758
8063
|
ringedPillRecipe,
|
|
7759
8064
|
squareOutlineRecipe,
|
|
7760
|
-
fulcrumRecipe
|
|
8065
|
+
fulcrumRecipe,
|
|
8066
|
+
giltSlabRecipe,
|
|
8067
|
+
hairlineTabRecipe,
|
|
8068
|
+
marqueeRecipe
|
|
7761
8069
|
];
|
|
7762
8070
|
const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
|
|
7763
8071
|
function findButtonStyleRecipe(id) {
|
|
@@ -7773,6 +8081,9 @@ function resolveButtonStyleSelection(selection) {
|
|
|
7773
8081
|
case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
|
|
7774
8082
|
case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
|
|
7775
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);
|
|
7776
8087
|
case "fulcrum": return resolveButtonStyleRecipe(fulcrumRecipe, selection.parameters);
|
|
7777
8088
|
case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
|
|
7778
8089
|
case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
|
|
@@ -10298,20 +10609,15 @@ const headerSchema = z.object({
|
|
|
10298
10609
|
const footerVariant = z.enum([
|
|
10299
10610
|
"simple",
|
|
10300
10611
|
"columns",
|
|
10301
|
-
"split"
|
|
10302
|
-
|
|
10612
|
+
"split",
|
|
10613
|
+
"centred"
|
|
10614
|
+
]).transform((value) => value === "columns" ? "simple" : value);
|
|
10303
10615
|
const footerMaxWidth = z.enum(["container", "full"]);
|
|
10304
10616
|
const footerNavLayoutMode = z.enum([
|
|
10305
10617
|
"stack",
|
|
10306
10618
|
"inline",
|
|
10307
10619
|
"inline-wrap"
|
|
10308
10620
|
]);
|
|
10309
|
-
const footerNavLayoutAlign = z.enum([
|
|
10310
|
-
"start",
|
|
10311
|
-
"center",
|
|
10312
|
-
"end",
|
|
10313
|
-
"space-between"
|
|
10314
|
-
]);
|
|
10315
10621
|
const footerSpacing = z.enum([
|
|
10316
10622
|
"none",
|
|
10317
10623
|
"tight",
|
|
@@ -10320,12 +10626,6 @@ const footerSpacing = z.enum([
|
|
|
10320
10626
|
"relaxed",
|
|
10321
10627
|
"spacious"
|
|
10322
10628
|
]);
|
|
10323
|
-
const footerLogoPlacement = z.enum([
|
|
10324
|
-
"left",
|
|
10325
|
-
"right",
|
|
10326
|
-
"above",
|
|
10327
|
-
"below"
|
|
10328
|
-
]);
|
|
10329
10629
|
const footerLogoSize = z.enum([
|
|
10330
10630
|
"sm",
|
|
10331
10631
|
"md",
|
|
@@ -10366,17 +10666,8 @@ const footerBottomBarSchema = z.object({
|
|
|
10366
10666
|
]).optional()
|
|
10367
10667
|
}).optional()
|
|
10368
10668
|
});
|
|
10369
|
-
const footerNavLayoutSchema = z.object({
|
|
10370
|
-
layout: footerNavLayoutMode.optional(),
|
|
10371
|
-
align: footerNavLayoutAlign.optional(),
|
|
10372
|
-
gapX: footerSpacing.optional(),
|
|
10373
|
-
gapY: footerSpacing.optional(),
|
|
10374
|
-
columns: z.number().int().min(1).max(6).optional()
|
|
10375
|
-
});
|
|
10669
|
+
const footerNavLayoutSchema = z.object({ layout: footerNavLayoutMode.optional() });
|
|
10376
10670
|
const footerLogoSchema = z.object({
|
|
10377
|
-
showLogo: z.boolean().default(true),
|
|
10378
|
-
showLogoText: z.boolean().optional(),
|
|
10379
|
-
placement: footerLogoPlacement.optional(),
|
|
10380
10671
|
size: footerLogoSize.optional(),
|
|
10381
10672
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
10382
10673
|
align: z.enum([
|
|
@@ -10386,15 +10677,8 @@ const footerLogoSchema = z.object({
|
|
|
10386
10677
|
]).optional()
|
|
10387
10678
|
});
|
|
10388
10679
|
const footerSchema = z.object({
|
|
10389
|
-
/**
|
|
10390
|
-
* SDK-only footer rendering mode.
|
|
10391
|
-
*
|
|
10392
|
-
* Historical persisted field; SDK rendering mode now lives in layout.footerMode.
|
|
10393
|
-
*/
|
|
10394
|
-
mode: footerModeSchema.optional(),
|
|
10395
10680
|
variant: footerVariant,
|
|
10396
10681
|
maxWidth: footerMaxWidth,
|
|
10397
|
-
showLogoText: z.boolean().optional(),
|
|
10398
10682
|
background: headerBackgroundSchema.default({
|
|
10399
10683
|
type: "color",
|
|
10400
10684
|
color: "surface"
|
|
@@ -10789,6 +11073,55 @@ function generateOpaquePanelCss(input) {
|
|
|
10789
11073
|
return `:where([data-theme-scope="${input.themeId}"]) ${panel.selector} {\n ${renderCssDeclarations(declarations)}\n}`;
|
|
10790
11074
|
}).join("\n\n");
|
|
10791
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
|
+
}
|
|
10792
11125
|
/** Block supply is capability, never a second Look catalogue. */
|
|
10793
11126
|
const cardListBlockParts = {
|
|
10794
11127
|
"block.feature-cards": [
|
|
@@ -10822,7 +11155,9 @@ const cardListKnobBlocks = [...cardListFamilyBlocks, "block.event-calendar"];
|
|
|
10822
11155
|
const lookKnobBlocks = {
|
|
10823
11156
|
actionStyle: cardListKnobBlocks,
|
|
10824
11157
|
titleSize: "block.hero",
|
|
10825
|
-
imagePosition: "block.hero",
|
|
11158
|
+
imagePosition: ["block.hero", "block.media-text"],
|
|
11159
|
+
imageShape: "block.media-text",
|
|
11160
|
+
aspectRatio: "block.media-text",
|
|
10826
11161
|
stickerLine: "block.hero",
|
|
10827
11162
|
smallCaption: "block.hero",
|
|
10828
11163
|
candleGlow: "block.hero",
|
|
@@ -10832,7 +11167,11 @@ const lookKnobBlocks = {
|
|
|
10832
11167
|
dates: "block.offerings-preview",
|
|
10833
11168
|
showCapacity: "block.event-calendar",
|
|
10834
11169
|
quoteCount: "block.testimonials",
|
|
10835
|
-
archFrame:
|
|
11170
|
+
archFrame: [
|
|
11171
|
+
"block.testimonials",
|
|
11172
|
+
"block.newsletter-signup",
|
|
11173
|
+
"block.form"
|
|
11174
|
+
],
|
|
10836
11175
|
tilt: "block.testimonials"
|
|
10837
11176
|
};
|
|
10838
11177
|
function isArrangementAppearancePreset(preset) {
|
|
@@ -10859,13 +11198,25 @@ function cardListKnobDefaults(block, arrangement, knobs, defaults) {
|
|
|
10859
11198
|
}
|
|
10860
11199
|
};
|
|
10861
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
|
+
};
|
|
10862
11213
|
function defineArrangementLook(id, block, name, arrangement, knobs, input = {}) {
|
|
10863
11214
|
const mode = block === "event-calendar" ? "list" : null;
|
|
10864
11215
|
return {
|
|
10865
11216
|
id: asAppearancePresetId(id),
|
|
10866
11217
|
blockKinds: [`block.${block}`],
|
|
10867
11218
|
label: name,
|
|
10868
|
-
target: block
|
|
11219
|
+
target: arrangementLookTargets[block],
|
|
10869
11220
|
structure: {
|
|
10870
11221
|
kind: "arrangement",
|
|
10871
11222
|
byMode: { [mode ?? "default"]: arrangement },
|
|
@@ -11685,6 +12036,15 @@ const appearancePresets = [
|
|
|
11685
12036
|
eyebrowTreatment: "accent"
|
|
11686
12037
|
}
|
|
11687
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
|
+
} }),
|
|
11688
12048
|
defineArrangementLook("hero-photo-beside-text", "hero", "Photo beside the text", "split", heroKnobs, { slotRoles: { sticker: "highlight" } }),
|
|
11689
12049
|
defineArrangementLook("hero-headline-row", "hero", "Big headline, then text and photo", "headline-row", heroKnobs, {
|
|
11690
12050
|
slotRoles: { sticker: "highlight" },
|
|
@@ -14756,52 +15116,14 @@ defineLookOptionGroup({
|
|
|
14756
15116
|
function asFooterLookId(value) {
|
|
14757
15117
|
return value;
|
|
14758
15118
|
}
|
|
14759
|
-
function quietFooterLinks(theme) {
|
|
14760
|
-
return {
|
|
14761
|
-
...theme.footer,
|
|
14762
|
-
navStyle: "minimal",
|
|
14763
|
-
navWeight: "regular",
|
|
14764
|
-
navColor: "text",
|
|
14765
|
-
navLinkStyle: {
|
|
14766
|
-
typography: "body",
|
|
14767
|
-
fontWeight: "regular",
|
|
14768
|
-
textTransform: "none",
|
|
14769
|
-
italic: false,
|
|
14770
|
-
colorToken: "text",
|
|
14771
|
-
hoverColorToken: "primary",
|
|
14772
|
-
padding: "none",
|
|
14773
|
-
borderRadius: "none"
|
|
14774
|
-
}
|
|
14775
|
-
};
|
|
14776
|
-
}
|
|
14777
|
-
function emphasizedFooterLinks(theme) {
|
|
14778
|
-
return {
|
|
14779
|
-
...theme.footer,
|
|
14780
|
-
navStyle: "minimal",
|
|
14781
|
-
navWeight: "medium",
|
|
14782
|
-
navColor: "text",
|
|
14783
|
-
navLinkStyle: {
|
|
14784
|
-
typography: "body",
|
|
14785
|
-
fontWeight: "medium",
|
|
14786
|
-
textTransform: "none",
|
|
14787
|
-
italic: false,
|
|
14788
|
-
colorToken: "text",
|
|
14789
|
-
hoverColorToken: "primary",
|
|
14790
|
-
padding: "none",
|
|
14791
|
-
borderRadius: "none"
|
|
14792
|
-
}
|
|
14793
|
-
};
|
|
14794
|
-
}
|
|
14795
15119
|
const footerLookCatalog = defineExactCatalog()([{
|
|
14796
|
-
id: asFooterLookId("footer-links-
|
|
14797
|
-
label: "
|
|
14798
|
-
description: "
|
|
14799
|
-
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."
|
|
14800
15123
|
}, {
|
|
14801
|
-
id: asFooterLookId("footer-
|
|
14802
|
-
label: "
|
|
14803
|
-
description: "
|
|
14804
|
-
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."
|
|
14805
15127
|
}]);
|
|
14806
15128
|
new Map(footerLookCatalog.map((look) => [look.id, look]));
|
|
14807
15129
|
//#endregion
|
|
@@ -16643,6 +16965,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
16643
16965
|
recommendedAppearancePresetIds
|
|
16644
16966
|
},
|
|
16645
16967
|
headerCuration: headerCurationBySiteStyle[input.id],
|
|
16968
|
+
footerLookRecipes: input.footerLookRecipes,
|
|
16646
16969
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
16647
16970
|
buttonStyleChoices: input.buttonStyleChoices,
|
|
16648
16971
|
paletteRecommendations: input.paletteRecommendations,
|
|
@@ -17128,7 +17451,11 @@ const lanternLooks = {
|
|
|
17128
17451
|
margin: "40px"
|
|
17129
17452
|
},
|
|
17130
17453
|
fontLoading: {
|
|
17131
|
-
extraBodyFontWeights: [
|
|
17454
|
+
extraBodyFontWeights: [
|
|
17455
|
+
500,
|
|
17456
|
+
700,
|
|
17457
|
+
800
|
|
17458
|
+
],
|
|
17132
17459
|
italicBodyFontWeights: [400]
|
|
17133
17460
|
},
|
|
17134
17461
|
surfaces: {
|
|
@@ -17178,6 +17505,38 @@ const lanternLooks = {
|
|
|
17178
17505
|
]
|
|
17179
17506
|
},
|
|
17180
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
|
+
},
|
|
17181
17540
|
{
|
|
17182
17541
|
id: id("event-details-panel"),
|
|
17183
17542
|
treatment: "quiet",
|
|
@@ -17616,7 +17975,7 @@ const curatedSiteStyles = [
|
|
|
17616
17975
|
"faq-contained-help",
|
|
17617
17976
|
"contact-form-panel"
|
|
17618
17977
|
],
|
|
17619
|
-
recommendedFooterLookIds: ["footer-links-
|
|
17978
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17620
17979
|
buttonStyleChoices: [
|
|
17621
17980
|
buttonChoice("soft-pill"),
|
|
17622
17981
|
buttonChoice("pebble"),
|
|
@@ -17735,7 +18094,7 @@ const curatedSiteStyles = [
|
|
|
17735
18094
|
"testimonials-non-carded",
|
|
17736
18095
|
"contact-form-panel"
|
|
17737
18096
|
],
|
|
17738
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18097
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17739
18098
|
buttonStyleChoices: [
|
|
17740
18099
|
buttonChoice("earth-pill"),
|
|
17741
18100
|
buttonChoice("soft-pill"),
|
|
@@ -17790,7 +18149,41 @@ const curatedSiteStyles = [
|
|
|
17790
18149
|
"testimonials-brand-statement-cards",
|
|
17791
18150
|
"contact-form-panel"
|
|
17792
18151
|
],
|
|
17793
|
-
|
|
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"],
|
|
17794
18187
|
buttonStyleChoices: [
|
|
17795
18188
|
buttonChoice("showtime-pill"),
|
|
17796
18189
|
buttonChoice("confident-chip"),
|
|
@@ -17861,7 +18254,7 @@ const curatedSiteStyles = [
|
|
|
17861
18254
|
"testimonials-statement-cards",
|
|
17862
18255
|
"contact-form-panel"
|
|
17863
18256
|
],
|
|
17864
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18257
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17865
18258
|
buttonStyleChoices: [
|
|
17866
18259
|
buttonChoice("ornate-ritual"),
|
|
17867
18260
|
buttonChoice("joy-stamp"),
|
|
@@ -17908,7 +18301,22 @@ const curatedSiteStyles = [
|
|
|
17908
18301
|
} }
|
|
17909
18302
|
},
|
|
17910
18303
|
recommendedAppearancePresetIds: ["feature-cards-bold-colors", "testimonials-statement-cards"],
|
|
17911
|
-
|
|
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"],
|
|
17912
18320
|
buttonStyleChoices: [
|
|
17913
18321
|
buttonChoice("joy-stamp"),
|
|
17914
18322
|
buttonChoice("ink-stamp"),
|
|
@@ -17960,7 +18368,7 @@ const curatedSiteStyles = [
|
|
|
17960
18368
|
},
|
|
17961
18369
|
testimonialQuote: serifDisplayQuote
|
|
17962
18370
|
},
|
|
17963
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18371
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
17964
18372
|
buttonStyleChoices: [
|
|
17965
18373
|
buttonChoice("fulcrum"),
|
|
17966
18374
|
buttonChoice("editorial-link"),
|
|
@@ -18037,7 +18445,7 @@ const curatedSiteStyles = [
|
|
|
18037
18445
|
"faq-base-accordion",
|
|
18038
18446
|
"booking-brand-band"
|
|
18039
18447
|
],
|
|
18040
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18448
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
18041
18449
|
buttonStyleChoices: [
|
|
18042
18450
|
buttonChoice("quiet-arrow", void 0, { secondaryTreatment: "solid-accent" }),
|
|
18043
18451
|
buttonChoice("flat-ink"),
|
|
@@ -18075,7 +18483,22 @@ const curatedSiteStyles = [
|
|
|
18075
18483
|
accordions: boldBorderedAccordionSystem,
|
|
18076
18484
|
testimonialQuote: accentGlyphQuote
|
|
18077
18485
|
},
|
|
18078
|
-
|
|
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"],
|
|
18079
18502
|
buttonStyleChoices: [
|
|
18080
18503
|
buttonChoice("offset-block"),
|
|
18081
18504
|
buttonChoice("ink-stamp"),
|
|
@@ -18114,8 +18537,29 @@ const curatedSiteStyles = [
|
|
|
18114
18537
|
accordions: warmInsetAccordionSystem,
|
|
18115
18538
|
testimonialQuote: serifDisplayQuote
|
|
18116
18539
|
},
|
|
18117
|
-
|
|
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"],
|
|
18118
18559
|
buttonStyleChoices: [
|
|
18560
|
+
buttonChoice("gilt-slab"),
|
|
18561
|
+
buttonChoice("hairline-tab"),
|
|
18562
|
+
buttonChoice("marquee"),
|
|
18119
18563
|
buttonChoice("ringed-pill"),
|
|
18120
18564
|
buttonChoice("earth-pill"),
|
|
18121
18565
|
buttonChoice("editorial-link")
|
|
@@ -18150,7 +18594,7 @@ const curatedSiteStyles = [
|
|
|
18150
18594
|
accordions: editorialDividedAccordionSystem,
|
|
18151
18595
|
testimonialQuote: serifDisplayQuote
|
|
18152
18596
|
},
|
|
18153
|
-
recommendedFooterLookIds: ["footer-links-
|
|
18597
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
18154
18598
|
buttonStyleChoices: [
|
|
18155
18599
|
buttonChoice("flat-ink", void 0, { corners: "square" }),
|
|
18156
18600
|
buttonChoice("editorial-link"),
|
|
@@ -18178,6 +18622,7 @@ function curatedStyleTemplate(input) {
|
|
|
18178
18622
|
}
|
|
18179
18623
|
curatedSiteStyles.forEach((style) => {
|
|
18180
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));
|
|
18181
18626
|
});
|
|
18182
18627
|
//#endregion
|
|
18183
18628
|
//#region ../theme-core/src/inputs/checkable.ts
|
|
@@ -27897,7 +28342,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
27897
28342
|
/* -----------------------------------------------------------------------------
|
|
27898
28343
|
* Event section head — split (heading left, intro right)
|
|
27899
28344
|
* Rendered by the block frame (outside [data-block="event-calendar"]) via
|
|
27900
|
-
*
|
|
28345
|
+
* sectionHeaderLayoutNodes({ splitClassName }). Lays the heading and its
|
|
27901
28346
|
* supporting intro out as a two-column head on wide viewports, stacking on
|
|
27902
28347
|
* narrow ones. The section band above provides the distinct background.
|
|
27903
28348
|
* ----------------------------------------------------------------------------- */
|
|
@@ -33596,6 +34041,26 @@ const containerResponsiveThemeCss = `/*
|
|
|
33596
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; }
|
|
33597
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; }
|
|
33598
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
|
+
|
|
33599
34064
|
/* Bounded style skins (issue 1575, D14): one stylesheet per arrangement style, keyed on data-skin. */
|
|
33600
34065
|
|
|
33601
34066
|
/* =============================================================================
|
|
@@ -34639,6 +35104,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
34639
35104
|
|
|
34640
35105
|
/* Section heads: centred under the lozenge rule. */
|
|
34641
35106
|
[data-skin="lantern"] [data-arrangement] [data-slot="head"] {
|
|
35107
|
+
grid-template-columns: minmax(0, 1fr);
|
|
34642
35108
|
position: relative;
|
|
34643
35109
|
justify-items: center;
|
|
34644
35110
|
text-align: center;
|
|
@@ -35324,6 +35790,254 @@ const containerResponsiveThemeCss = `/*
|
|
|
35324
35790
|
[data-skin="lantern"] [data-card-list-item] [data-slot="dates"] { gap: 0.5rem; }
|
|
35325
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); }
|
|
35326
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
|
+
|
|
35327
36041
|
/* =============================================================================
|
|
35328
36042
|
* Measure skin (issue 1575 Phase 1b, D14).
|
|
35329
36043
|
*
|