@riverbankcms/sdk 0.135.1 → 0.136.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +4 -8
- package/dist/{PreviewEditorSidebar-D4p_5TdY.mjs → PreviewEditorSidebar-BU5ZlhQR.mjs} +4 -4
- package/dist/{PreviewEditorUI-D0cRoTX1.mjs → PreviewEditorUI-9XkHL-bC.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DcgaESkm.mjs → PreviewQueryProvider-wbEpXryy.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BKLtM3Nz.mjs → SdkPreviewModeRuntime-CnWmj-2B.mjs} +50 -99
- package/dist/{SiteChromeCustomizeContext-61X2m7QV.mjs → SiteChromeCustomizeContext-B6d5zkog.mjs} +2299 -1149
- package/dist/_dts/ai/src/contracts/proposals.d.ts +8 -554
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +401 -2312
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -0
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -0
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sdkBlockContentAdmission.d.ts +5 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +6 -432
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +2 -3
- package/dist/_dts/block-form/src/utils/slug.d.ts +6 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +12 -6
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -0
- package/dist/_dts/blocks/src/definitions.d.ts +14 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -3
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +40 -0
- package/dist/_dts/blocks/src/server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +78 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +2 -18
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +103 -16
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +44 -18
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarNavigationChevron.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalContext.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +31 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +3 -3
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -1
- package/dist/_dts/calendar/src/grid.d.ts +24 -66
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/calendar/src/timetable.d.ts +5 -9
- package/dist/_dts/commerce/src/purchase/allocation.d.ts +11 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/settlement.d.ts +33 -0
- package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -0
- package/dist/_dts/core/src/slug.d.ts +20 -5
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +2 -1
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +10 -6
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +17 -0
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +9 -3
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +7 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -6
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +6 -807
- package/dist/_dts/theme-core/src/schema.d.ts +452 -1278
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +213 -1
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +0 -29
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +10 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +8 -5
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +16 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +465 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +161 -0
- package/dist/client/{BookingConsentAgreement-Bz9znbpn.mjs → BookingConsentAgreement-DCch21a6.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-35Ru8yB9.mjs → DiscountCodeDisclosure-DIj1T59K.mjs} +1 -1
- package/dist/client/{EventCombined.client-BKB0ZxRR.mjs → EventCombined.client-BWVNlXTx.mjs} +226 -206
- package/dist/client/{EventListing.client-Dx8I21ok.mjs → EventListing.client-DVFCDe3i.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CEWx-Bhe.mjs → LeafletStaticMap-BY5mIHw9.mjs} +1 -1
- package/dist/client/{accordion-KIDsKTwS.mjs → accordion-CK29E8rG.mjs} +1 -1
- package/dist/client/{bookingForm-D96Rmp-5.mjs → bookingForm-DFvnet-N.mjs} +5 -5
- package/dist/client/bookings.mjs +86 -47
- package/dist/client/{carousel-YwUgyL66.mjs → carousel-BVU5NQlb.mjs} +1 -1
- package/dist/client/{cart-BbwuNrUT.mjs → cart-BNItcZVa.mjs} +3 -3
- package/dist/client/{checkout-hp1ucmEY.mjs → checkout-Bu6iCdkP.mjs} +3 -3
- package/dist/client/client.mjs +1950 -1031
- package/dist/client/{context-DljQn8L5.mjs → context-BImarOAq.mjs} +12 -0
- package/dist/client/{eventCalendar-DU4iNLpo.mjs → eventCalendar-DS2h-UXD.mjs} +256 -114
- package/dist/client/{eventCombined-CZuupW8m.mjs → eventCombined-Drt4Oq9p.mjs} +3 -3
- package/dist/client/{eventDetails-DPQWwCIi.mjs → eventDetails-Bl2vWgTX.mjs} +4 -3
- package/dist/client/{eventListing-C7oMidwS.mjs → eventListing-CS7PHY7v.mjs} +3 -3
- package/dist/client/{eventRegistration-zEiunlUs.mjs → eventRegistration-D-j8eNy2.mjs} +85 -41
- package/dist/client/{form-D2KIyCVJ.mjs → form-RMpoLTyr.mjs} +2 -2
- package/dist/client/{headerSection-CK5uChUK.mjs → headerSection-BYE3Lb3k.mjs} +2 -2
- package/dist/client/hooks.mjs +2225 -276
- package/dist/client/{locationMap-DLQNH1ln.mjs → locationMap-BxSr7Kkh.mjs} +2 -2
- package/dist/client/{newsletterForm-ZuhIG7fZ.mjs → newsletterForm-DerbXwFC.mjs} +2 -2
- package/dist/client/{productDetail-7hIcGeae.mjs → productDetail-4SZCLhAf.mjs} +3 -3
- package/dist/client/{productList-T4Cii1ot.mjs → productList-D7AP4GNq.mjs} +3 -3
- package/dist/client/{propsDecoder-mB0aC_Fi.mjs → propsDecoder-pzBeCh14.mjs} +94 -24
- package/dist/client/rendering/client.mjs +758 -464
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +2126 -1244
- package/dist/client/{scrollToBlock-Du5mHgvL.mjs → scrollToBlock-CduAKf8T.mjs} +1 -1
- package/dist/client/{shop-B5zAcKZn.mjs → shop-Cp5p_kGe.mjs} +6 -6
- package/dist/client/{shop-commerce-BKBZB6l5.mjs → shop-commerce-DicXYaYX.mjs} +5 -5
- package/dist/client/{shop-commerce-store-Cq4qlNtQ.mjs → shop-commerce-store-CGWnpY4K.mjs} +1 -1
- package/dist/client/{shopShared-DYGzEs9D.mjs → shopShared-BDf9ljkm.mjs} +3 -3
- package/dist/client/{useEventFilters-Bphkda8m.mjs → useEventFilters-DeeyGYuk.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +7 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{previewAuthStore-C7ksxt5b.mjs → previewAuthStore-DbqBol0V.mjs} +7 -0
- package/dist/{sdk-runtime-BbIC8G4J.mjs → sdk-runtime-19MO27F0.mjs} +2 -2
- package/dist/{separator-CadhAtI7.mjs → separator-DaPLtJ1f.mjs} +1 -1
- package/dist/server/components.mjs +1527 -893
- package/dist/server/config-validation.mjs +65 -113
- package/dist/server/config.mjs +65 -113
- package/dist/server/data.mjs +65 -112
- package/dist/server/index.mjs +122 -4
- package/dist/server/manifest.mjs +0 -1
- package/dist/server/next.mjs +1432 -708
- package/dist/server/page-converter.mjs +58 -91
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1682 -915
- package/dist/server/rendering.mjs +1694 -1020
- package/dist/server/routing.mjs +3230 -1843
- package/dist/server/server.mjs +21710 -19779
- package/dist/server/theme-bridge.mjs +656 -264
- package/dist/server/theme.mjs +2 -17
- package/dist/styles/index.css +609 -181
- package/package.json +1 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type ButtonStyleSelection } from '../buttons/styles';
|
|
2
2
|
import { type KnownCuratedPaletteValueKey } from '../palette/curated';
|
|
3
3
|
import type { Theme } from '../schema';
|
|
4
|
-
import { type HeaderLayoutId, type HeaderLayoutStyleSelection, type HeaderStyleId } from './headerLayoutStyles';
|
|
4
|
+
import { type HeaderLayoutId, type HeaderLayoutStyleSelection, type HeaderStyleId, type HeaderStyleIdValue } from './headerLayoutStyles';
|
|
5
5
|
import { type FooterLookId } from './footerLooks';
|
|
6
|
+
import { type HeaderStyleRecipeOverrides } from './headerStyleDefaults';
|
|
7
|
+
import type { HeaderStyleRecipe } from './headerStyleRecipe';
|
|
6
8
|
import { type CuratedChoice } from './curatedChoices';
|
|
7
9
|
import { type AppearancePresetId, type DesignSystemTemplate, type HeadingDecoration, type NonEmptyReadonlyArray, type SiteStyleId } from './types';
|
|
8
10
|
import { type SiteStyleHeroTypography } from './siteStyleTypography';
|
|
@@ -121,6 +123,16 @@ export type CuratedSiteStyle = Readonly<{
|
|
|
121
123
|
headingDecoration: HeadingDecoration;
|
|
122
124
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
123
125
|
headerCuration: HeaderCuration;
|
|
126
|
+
/**
|
|
127
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
128
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
129
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
130
|
+
*
|
|
131
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
132
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
133
|
+
* docs/guides/site-styles.md.
|
|
134
|
+
*/
|
|
135
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
124
136
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
125
137
|
/** Authored picker choices. First item is the default/fallback. */
|
|
126
138
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -167,6 +179,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
167
179
|
headingDecoration: HeadingDecoration;
|
|
168
180
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
169
181
|
headerCuration: HeaderCuration;
|
|
182
|
+
/**
|
|
183
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
184
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
185
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
186
|
+
*
|
|
187
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
188
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
189
|
+
* docs/guides/site-styles.md.
|
|
190
|
+
*/
|
|
191
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
170
192
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
171
193
|
/** Authored picker choices. First item is the default/fallback. */
|
|
172
194
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -202,6 +224,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
202
224
|
headingDecoration: HeadingDecoration;
|
|
203
225
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
204
226
|
headerCuration: HeaderCuration;
|
|
227
|
+
/**
|
|
228
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
229
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
230
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
231
|
+
*
|
|
232
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
233
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
234
|
+
* docs/guides/site-styles.md.
|
|
235
|
+
*/
|
|
236
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
205
237
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
206
238
|
/** Authored picker choices. First item is the default/fallback. */
|
|
207
239
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -237,6 +269,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
237
269
|
headingDecoration: HeadingDecoration;
|
|
238
270
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
239
271
|
headerCuration: HeaderCuration;
|
|
272
|
+
/**
|
|
273
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
274
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
275
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
276
|
+
*
|
|
277
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
278
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
279
|
+
* docs/guides/site-styles.md.
|
|
280
|
+
*/
|
|
281
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
240
282
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
241
283
|
/** Authored picker choices. First item is the default/fallback. */
|
|
242
284
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -272,6 +314,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
272
314
|
headingDecoration: HeadingDecoration;
|
|
273
315
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
274
316
|
headerCuration: HeaderCuration;
|
|
317
|
+
/**
|
|
318
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
319
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
320
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
321
|
+
*
|
|
322
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
323
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
324
|
+
* docs/guides/site-styles.md.
|
|
325
|
+
*/
|
|
326
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
275
327
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
276
328
|
/** Authored picker choices. First item is the default/fallback. */
|
|
277
329
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -307,6 +359,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
307
359
|
headingDecoration: HeadingDecoration;
|
|
308
360
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
309
361
|
headerCuration: HeaderCuration;
|
|
362
|
+
/**
|
|
363
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
364
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
365
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
366
|
+
*
|
|
367
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
368
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
369
|
+
* docs/guides/site-styles.md.
|
|
370
|
+
*/
|
|
371
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
310
372
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
311
373
|
/** Authored picker choices. First item is the default/fallback. */
|
|
312
374
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -342,6 +404,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
342
404
|
headingDecoration: HeadingDecoration;
|
|
343
405
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
344
406
|
headerCuration: HeaderCuration;
|
|
407
|
+
/**
|
|
408
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
409
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
410
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
411
|
+
*
|
|
412
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
413
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
414
|
+
* docs/guides/site-styles.md.
|
|
415
|
+
*/
|
|
416
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
345
417
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
346
418
|
/** Authored picker choices. First item is the default/fallback. */
|
|
347
419
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -377,6 +449,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
377
449
|
headingDecoration: HeadingDecoration;
|
|
378
450
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
379
451
|
headerCuration: HeaderCuration;
|
|
452
|
+
/**
|
|
453
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
454
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
455
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
456
|
+
*
|
|
457
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
458
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
459
|
+
* docs/guides/site-styles.md.
|
|
460
|
+
*/
|
|
461
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
380
462
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
381
463
|
/** Authored picker choices. First item is the default/fallback. */
|
|
382
464
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -412,6 +494,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
412
494
|
headingDecoration: HeadingDecoration;
|
|
413
495
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
414
496
|
headerCuration: HeaderCuration;
|
|
497
|
+
/**
|
|
498
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
499
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
500
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
501
|
+
*
|
|
502
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
503
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
504
|
+
* docs/guides/site-styles.md.
|
|
505
|
+
*/
|
|
506
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
415
507
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
416
508
|
/** Authored picker choices. First item is the default/fallback. */
|
|
417
509
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -447,6 +539,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
447
539
|
headingDecoration: HeadingDecoration;
|
|
448
540
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
449
541
|
headerCuration: HeaderCuration;
|
|
542
|
+
/**
|
|
543
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
544
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
545
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
546
|
+
*
|
|
547
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
548
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
549
|
+
* docs/guides/site-styles.md.
|
|
550
|
+
*/
|
|
551
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
450
552
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
451
553
|
/** Authored picker choices. First item is the default/fallback. */
|
|
452
554
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -482,6 +584,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
482
584
|
headingDecoration: HeadingDecoration;
|
|
483
585
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
484
586
|
headerCuration: HeaderCuration;
|
|
587
|
+
/**
|
|
588
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
589
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
590
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
591
|
+
*
|
|
592
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
593
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
594
|
+
* docs/guides/site-styles.md.
|
|
595
|
+
*/
|
|
596
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
485
597
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
486
598
|
/** Authored picker choices. First item is the default/fallback. */
|
|
487
599
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -517,6 +629,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
517
629
|
headingDecoration: HeadingDecoration;
|
|
518
630
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
519
631
|
headerCuration: HeaderCuration;
|
|
632
|
+
/**
|
|
633
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
634
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
635
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
636
|
+
*
|
|
637
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
638
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
639
|
+
* docs/guides/site-styles.md.
|
|
640
|
+
*/
|
|
641
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
520
642
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
521
643
|
/** Authored picker choices. First item is the default/fallback. */
|
|
522
644
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -552,6 +674,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
552
674
|
headingDecoration: HeadingDecoration;
|
|
553
675
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
554
676
|
headerCuration: HeaderCuration;
|
|
677
|
+
/**
|
|
678
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
679
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
680
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
681
|
+
*
|
|
682
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
683
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
684
|
+
* docs/guides/site-styles.md.
|
|
685
|
+
*/
|
|
686
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
555
687
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
556
688
|
/** Authored picker choices. First item is the default/fallback. */
|
|
557
689
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -587,6 +719,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
587
719
|
headingDecoration: HeadingDecoration;
|
|
588
720
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
589
721
|
headerCuration: HeaderCuration;
|
|
722
|
+
/**
|
|
723
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
724
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
725
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
726
|
+
*
|
|
727
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
728
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
729
|
+
* docs/guides/site-styles.md.
|
|
730
|
+
*/
|
|
731
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
590
732
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
591
733
|
/** Authored picker choices. First item is the default/fallback. */
|
|
592
734
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -622,6 +764,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
622
764
|
headingDecoration: HeadingDecoration;
|
|
623
765
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
624
766
|
headerCuration: HeaderCuration;
|
|
767
|
+
/**
|
|
768
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
769
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
770
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
771
|
+
*
|
|
772
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
773
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
774
|
+
* docs/guides/site-styles.md.
|
|
775
|
+
*/
|
|
776
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
625
777
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
626
778
|
/** Authored picker choices. First item is the default/fallback. */
|
|
627
779
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -657,6 +809,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
657
809
|
headingDecoration: HeadingDecoration;
|
|
658
810
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
659
811
|
headerCuration: HeaderCuration;
|
|
812
|
+
/**
|
|
813
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
814
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
815
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
816
|
+
*
|
|
817
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
818
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
819
|
+
* docs/guides/site-styles.md.
|
|
820
|
+
*/
|
|
821
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
660
822
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
661
823
|
/** Authored picker choices. First item is the default/fallback. */
|
|
662
824
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -692,6 +854,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
692
854
|
headingDecoration: HeadingDecoration;
|
|
693
855
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
694
856
|
headerCuration: HeaderCuration;
|
|
857
|
+
/**
|
|
858
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
859
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
860
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
861
|
+
*
|
|
862
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
863
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
864
|
+
* docs/guides/site-styles.md.
|
|
865
|
+
*/
|
|
866
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
695
867
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
696
868
|
/** Authored picker choices. First item is the default/fallback. */
|
|
697
869
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -727,6 +899,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
727
899
|
headingDecoration: HeadingDecoration;
|
|
728
900
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
729
901
|
headerCuration: HeaderCuration;
|
|
902
|
+
/**
|
|
903
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
904
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
905
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
906
|
+
*
|
|
907
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
908
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
909
|
+
* docs/guides/site-styles.md.
|
|
910
|
+
*/
|
|
911
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
730
912
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
731
913
|
/** Authored picker choices. First item is the default/fallback. */
|
|
732
914
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -762,6 +944,16 @@ export declare const curatedSiteStyles: readonly [Readonly<{
|
|
|
762
944
|
headingDecoration: HeadingDecoration;
|
|
763
945
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
764
946
|
headerCuration: HeaderCuration;
|
|
947
|
+
/**
|
|
948
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
949
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
950
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
951
|
+
*
|
|
952
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
953
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
954
|
+
* docs/guides/site-styles.md.
|
|
955
|
+
*/
|
|
956
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
765
957
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
766
958
|
/** Authored picker choices. First item is the default/fallback. */
|
|
767
959
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -798,6 +990,16 @@ export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
|
|
|
798
990
|
headingDecoration: HeadingDecoration;
|
|
799
991
|
recommendedAppearancePresetIds: readonly AppearancePresetId[];
|
|
800
992
|
headerCuration: HeaderCuration;
|
|
993
|
+
/**
|
|
994
|
+
* Header appearance this style owns outright, keyed by catalogue style id.
|
|
995
|
+
* Absent entries take `defaultHeaderStyleRecipes`; a present entry is a whole
|
|
996
|
+
* recipe, never a partial merge. Mirrors `themeOverrides.cards`.
|
|
997
|
+
*
|
|
998
|
+
* No curated style authors one yet (ledger D5): the seam ships empty and
|
|
999
|
+
* adoption follows real site work, per the "do not pre-author" rule in
|
|
1000
|
+
* docs/guides/site-styles.md.
|
|
1001
|
+
*/
|
|
1002
|
+
headerStyleRecipes?: HeaderStyleRecipeOverrides;
|
|
801
1003
|
recommendedFooterLookIds: readonly FooterLookId[];
|
|
802
1004
|
/** Authored picker choices. First item is the default/fallback. */
|
|
803
1005
|
buttonStyleChoices: NonEmptyReadonlyArray<ButtonStyleChoice>;
|
|
@@ -808,6 +1010,16 @@ export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
|
|
|
808
1010
|
/** Optional concrete hero typography applied with the site style. */
|
|
809
1011
|
heroTypography?: SiteStyleHeroTypography;
|
|
810
1012
|
}>>;
|
|
1013
|
+
/**
|
|
1014
|
+
* The header appearance a persisted theme actually renders: the catalogue
|
|
1015
|
+
* recipe unless the theme's own site style has taken that id over (#1318).
|
|
1016
|
+
*
|
|
1017
|
+
* Consumers that hold a theme and a selected style id — the public frontend and
|
|
1018
|
+
* the chrome customiser — go through here rather than reading the style
|
|
1019
|
+
* definition, so a site-style override is visible to every reader rather than
|
|
1020
|
+
* only to the compiler.
|
|
1021
|
+
*/
|
|
1022
|
+
export declare function headerStyleRecipeForTheme(theme: Pick<Theme, 'siteStyleId'> | null | undefined, styleId: HeaderStyleIdValue): HeaderStyleRecipe;
|
|
811
1023
|
export declare function getCuratedSiteStyle(id: SiteStyleId): CuratedSiteStyle | null;
|
|
812
1024
|
export declare function designRuntimeRulesForSiteStyle(siteStyle: CuratedSiteStyle | null | undefined): DesignRuntimeRules;
|
|
813
1025
|
export declare function designRuntimeRulesForTheme(theme: Pick<Theme, 'siteStyleId'> | null | undefined): DesignRuntimeRules;
|
|
@@ -141,101 +141,76 @@ export declare const headerStyleCatalog: readonly [{
|
|
|
141
141
|
readonly label: "Minimal";
|
|
142
142
|
readonly description: "Quiet surface with simple color-change navigation.";
|
|
143
143
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
144
|
-
readonly navTypography: "plain";
|
|
145
144
|
}, {
|
|
146
145
|
readonly id: HeaderStyleId;
|
|
147
146
|
readonly label: "Seamless";
|
|
148
147
|
readonly description: "Borderless surface with underline hover for a quieter page transition.";
|
|
149
148
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
150
|
-
readonly navTypography: "plain";
|
|
151
149
|
}, {
|
|
152
150
|
readonly id: HeaderStyleId;
|
|
153
151
|
readonly label: "Soft Bar";
|
|
154
152
|
readonly description: "Soft tinted surface with gentle pill hover states.";
|
|
155
153
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
156
|
-
readonly navTypography: "plain";
|
|
157
154
|
}, {
|
|
158
155
|
readonly id: HeaderStyleId;
|
|
159
156
|
readonly label: "Pill Nav";
|
|
160
157
|
readonly description: "A calm pill navigation rail over a neutral header.";
|
|
161
158
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
162
|
-
readonly navTypography: "plain";
|
|
163
159
|
}, {
|
|
164
160
|
readonly id: HeaderStyleId;
|
|
165
161
|
readonly label: "Brand Bar";
|
|
166
162
|
readonly description: "Solid brand surface with high-contrast navigation.";
|
|
167
163
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
168
|
-
readonly navTypography: "brand-caps";
|
|
169
164
|
}, {
|
|
170
165
|
readonly id: HeaderStyleId;
|
|
171
166
|
readonly label: "Brand Underline";
|
|
172
167
|
readonly description: "Brand surface with underline-grow navigation.";
|
|
173
168
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
174
|
-
readonly navTypography: "brand-caps";
|
|
175
169
|
}, {
|
|
176
170
|
readonly id: HeaderStyleId;
|
|
177
171
|
readonly label: "Brand Pill";
|
|
178
172
|
readonly description: "Solid brand surface with rounded active and hover states.";
|
|
179
173
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
180
|
-
readonly navTypography: "brand-caps";
|
|
181
174
|
}, {
|
|
182
175
|
readonly id: HeaderStyleId;
|
|
183
176
|
readonly label: "Brand Capsule";
|
|
184
177
|
readonly description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.";
|
|
185
178
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
186
|
-
readonly navTypography: "quiet-caps";
|
|
187
179
|
}, {
|
|
188
180
|
readonly id: HeaderStyleId;
|
|
189
181
|
readonly label: "Serif Line";
|
|
190
182
|
readonly description: "Typographic logo treatment with understated underline navigation.";
|
|
191
183
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
192
|
-
readonly navTypography: "heading";
|
|
193
184
|
}, {
|
|
194
185
|
readonly id: HeaderStyleId;
|
|
195
186
|
readonly label: "Flat Tabs";
|
|
196
187
|
readonly description: "Flat block hover and active states with a Swiss utility feel.";
|
|
197
188
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
198
|
-
readonly navTypography: "quiet-caps";
|
|
199
189
|
}, {
|
|
200
190
|
readonly id: HeaderStyleId;
|
|
201
191
|
readonly label: "Glass";
|
|
202
192
|
readonly description: "Translucent chrome with frosted navigation backing.";
|
|
203
193
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
204
|
-
readonly navTypography: "plain";
|
|
205
194
|
}, {
|
|
206
195
|
readonly id: HeaderStyleId;
|
|
207
196
|
readonly label: "Clear Split";
|
|
208
197
|
readonly description: "Floating logo with transparent navigation and no shared shell.";
|
|
209
198
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
210
|
-
readonly navTypography: "plain";
|
|
211
|
-
readonly openingForegroundTarget: "all";
|
|
212
|
-
readonly scrollTreatment: "contrast-glass";
|
|
213
|
-
readonly interactionPalette: Readonly<{
|
|
214
|
-
id: "interaction-palette";
|
|
215
|
-
label: string;
|
|
216
|
-
options: readonly [import("../../../blocks/src/index").HeaderInteractionPaletteOption, ...import("../../../blocks/src/index").HeaderInteractionPaletteOption[]];
|
|
217
|
-
defaultOptionId: "accent" | "primary" | "secondary";
|
|
218
|
-
}>;
|
|
219
199
|
}, {
|
|
220
200
|
readonly id: HeaderStyleId;
|
|
221
201
|
readonly label: "Soft Shell";
|
|
222
202
|
readonly description: "Floating rounded shell with soft pill navigation states.";
|
|
223
203
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
224
|
-
readonly navTypography: "plain";
|
|
225
204
|
}, {
|
|
226
205
|
readonly id: HeaderStyleId;
|
|
227
206
|
readonly label: "Split Glass";
|
|
228
207
|
readonly description: "Logo floats independently while the navigation sits in a glass rail.";
|
|
229
208
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
230
|
-
readonly navTypography: "quiet-caps";
|
|
231
|
-
readonly openingForegroundTarget: "brand-only";
|
|
232
209
|
}, {
|
|
233
210
|
readonly id: HeaderStyleId;
|
|
234
211
|
readonly label: "Split Pill";
|
|
235
212
|
readonly description: "Logo floats independently with a soft pill-backed navigation rail.";
|
|
236
213
|
readonly supportedLayoutIds: readonly HeaderLayoutId[];
|
|
237
|
-
readonly navTypography: "heading";
|
|
238
|
-
readonly openingForegroundTarget: "brand-only";
|
|
239
214
|
}];
|
|
240
215
|
export declare const headerLayoutsById: Map<HeaderLayoutId, Readonly<{
|
|
241
216
|
id: HeaderLayoutId;
|
|
@@ -252,10 +227,6 @@ export declare const headerStylesById: Map<HeaderStyleId, Readonly<{
|
|
|
252
227
|
label: string;
|
|
253
228
|
description: string;
|
|
254
229
|
supportedLayoutIds: readonly HeaderLayoutId[];
|
|
255
|
-
navTypography: import("../../../blocks/src/index").HeaderStyleNavTypography;
|
|
256
|
-
openingForegroundTarget?: "brand-only" | "all";
|
|
257
|
-
scrollTreatment?: "contrast-glass";
|
|
258
|
-
interactionPalette?: import("../../../blocks/src/index").HeaderInteractionPaletteOptionGroup;
|
|
259
230
|
}>>;
|
|
260
231
|
export declare const headerStyleCompatibilityOrder: {
|
|
261
232
|
readonly classic: readonly ["minimal", "fine-line", "soft-bar", "pill-nav", "brand-bar", "brand-underline", "brand-pill", "brand-capsule", "serif-line", "flat-tabs"];
|
|
@@ -2,5 +2,15 @@ export * from './headerLayoutTypes';
|
|
|
2
2
|
export * from './headerLayoutCatalog';
|
|
3
3
|
export * from './headerLayoutResolution';
|
|
4
4
|
export * from './headerStyleCompiler';
|
|
5
|
+
/**
|
|
6
|
+
* The recipe modules are re-exported by name rather than with `export *`.
|
|
7
|
+
* `compileHeaderRecipe` and `headerForLayout` are deliberately absent: the only
|
|
8
|
+
* supported way to compile a header is `compileHeaderLayoutStyleSelection`,
|
|
9
|
+
* which resolves the recipe and applies the interaction palette. A consumer
|
|
10
|
+
* reaching the interpreter directly would be a second compilation authority,
|
|
11
|
+
* which is the thing #1318 removes.
|
|
12
|
+
*/
|
|
13
|
+
export { type HeaderStyleRecipe, type HeaderStyleRecipeCore, type HeaderToneRecipe, type HeaderBackgroundRecipe, type HeaderNavRecipe, type HeaderShadowRecipe, type HeaderFrameRecipe, } from './headerStyleRecipe';
|
|
14
|
+
export { defaultHeaderStyleRecipes, resolveHeaderStyleRecipe, type HeaderStyleRecipeOverrides, type HeaderStyleRecipeOwner, } from './headerStyleDefaults';
|
|
5
15
|
export declare const guaranteedFallbackHeaderLayoutId: import("../../../blocks/src/index").HeaderLayoutId;
|
|
6
16
|
export declare const guaranteedFallbackHeaderStyleId: import("../../../blocks/src/index").HeaderStyleId;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ThemeHeader } from '../schema';
|
|
2
|
-
import type { HeaderInteractionPaletteOptionGroup } from './headerInteractionPalette';
|
|
3
2
|
import type { ResolvedSurfaceForeground } from '../surfaces';
|
|
4
3
|
import { type BrandDisplayMode, type LogoAccommodationOption, type LogoFacts, type LogoSizePolicy } from './logoBranding';
|
|
5
4
|
import { type Brand } from './types';
|
|
@@ -47,15 +46,19 @@ export type HeaderLayoutDefinition = Readonly<{
|
|
|
47
46
|
logoAccommodations: readonly LogoAccommodationOption[];
|
|
48
47
|
openingRequirement: HeaderOpeningRequirement;
|
|
49
48
|
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Metadata only: what a style is called and where it may be used. Never what it
|
|
51
|
+
* looks like — every appearance field moved to `HeaderStyleRecipe` in #1318
|
|
52
|
+
* (`navTypography` under ledger D7, then `openingForegroundTarget`,
|
|
53
|
+
* `scrollTreatment` and `interactionPalette` under D19), so a site style can own
|
|
54
|
+
* all of it. If a field here ever answers "what does this look like", it is in
|
|
55
|
+
* the wrong file.
|
|
56
|
+
*/
|
|
50
57
|
export type HeaderStyleDefinition = Readonly<{
|
|
51
58
|
id: HeaderStyleId;
|
|
52
59
|
label: string;
|
|
53
60
|
description: string;
|
|
54
61
|
supportedLayoutIds: readonly HeaderLayoutId[];
|
|
55
|
-
navTypography: HeaderStyleNavTypography;
|
|
56
|
-
openingForegroundTarget?: 'brand-only' | 'all';
|
|
57
|
-
scrollTreatment?: 'contrast-glass';
|
|
58
|
-
interactionPalette?: HeaderInteractionPaletteOptionGroup;
|
|
59
62
|
}>;
|
|
60
63
|
export type HeaderLayoutStyleSelection = Readonly<{
|
|
61
64
|
layoutId: HeaderLayoutId;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Theme } from '../schema';
|
|
2
2
|
import type { ResolvedSurfaceForeground } from '../surfaces';
|
|
3
|
-
import type {
|
|
3
|
+
import type { HeaderStyleRecipe } from './headerStyleRecipe';
|
|
4
4
|
export type HeaderOpeningForegroundContext = Readonly<{
|
|
5
5
|
openingForeground: ResolvedSurfaceForeground;
|
|
6
6
|
}>;
|
|
@@ -10,9 +10,9 @@ export type HeaderStyleAvailability = Readonly<{
|
|
|
10
10
|
kind: 'unavailable';
|
|
11
11
|
reason: 'requires-known-opening-foreground';
|
|
12
12
|
}>;
|
|
13
|
-
export declare function headerStyleAvailability(
|
|
13
|
+
export declare function headerStyleAvailability(recipe: HeaderStyleRecipe, context: Partial<HeaderOpeningForegroundContext> | undefined): HeaderStyleAvailability;
|
|
14
14
|
export declare function headerStyleAvailabilityReasonLabel(reason: Extract<HeaderStyleAvailability, {
|
|
15
15
|
kind: 'unavailable';
|
|
16
16
|
}>['reason']): string;
|
|
17
|
-
export declare function applyOpeningForeground(theme: Theme, header: Theme['header'],
|
|
18
|
-
export declare function applyPageOpeningForegroundToTheme(theme: Theme,
|
|
17
|
+
export declare function applyOpeningForeground(theme: Theme, header: Theme['header'], recipe: HeaderStyleRecipe, context: Partial<HeaderOpeningForegroundContext> | undefined): Theme['header'];
|
|
18
|
+
export declare function applyPageOpeningForegroundToTheme(theme: Theme, recipe: HeaderStyleRecipe | null | undefined, context: Partial<HeaderOpeningForegroundContext> | undefined): Theme;
|
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import type { Theme } from '../schema';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import type { HeaderLayoutStyleResolution } from './headerLayoutTypes';
|
|
3
|
+
import { type HeaderStyleRecipeOwner } from './headerStyleDefaults';
|
|
4
|
+
/**
|
|
5
|
+
* The header compilation pipeline: pick the recipe, interpret it, then apply
|
|
6
|
+
* the user's interaction-palette preference.
|
|
7
|
+
*
|
|
8
|
+
* Appearance decisions live in `headerStyleDefaults.ts` (data), optionally
|
|
9
|
+
* taken over per site style, and `headerStyleRecipe.ts` (one pure interpreter).
|
|
10
|
+
* Nothing here switches on a header style id.
|
|
11
|
+
*
|
|
12
|
+
* `siteStyle` is required rather than optional: a caller that has no resolved
|
|
13
|
+
* site style has to say so, because silently falling back to the catalogue
|
|
14
|
+
* default is exactly the ownership leak this slice closes. Pass `null` when
|
|
15
|
+
* there genuinely is no site style (initial site provisioning).
|
|
16
|
+
*/
|
|
17
|
+
export declare function compileHeaderLayoutStyleSelection(theme: Theme, resolution: HeaderLayoutStyleResolution, siteStyle: HeaderStyleRecipeOwner | null): Theme['header'];
|