@riverbankcms/sdk 0.77.1 → 0.78.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.
Files changed (230) hide show
  1. package/README.md +69 -0
  2. package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
  3. package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +154 -154
  6. package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
  7. package/dist/_dts/api/src/billing.d.ts +3 -26
  8. package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
  9. package/dist/_dts/api/src/content-editor.d.ts +1 -0
  10. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +14 -2
  13. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  14. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  15. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  16. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  17. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  18. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  19. package/dist/_dts/api/src/navigation.d.ts +12 -0
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  21. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  22. package/dist/_dts/api/src/types.d.ts +3 -1
  23. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  24. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  25. package/dist/_dts/blocks/src/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  27. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  28. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  32. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  33. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  35. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
  36. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  37. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  38. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  39. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  40. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  41. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  42. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  43. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
  44. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  45. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  46. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  47. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  48. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  49. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  51. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  55. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  56. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  59. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  63. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  65. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  66. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  69. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  70. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  71. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  72. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  73. package/dist/_dts/content-editor/src/index.d.ts +5 -0
  74. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  75. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  76. package/dist/_dts/content-model/src/index.d.ts +1 -0
  77. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  78. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  79. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  80. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  81. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  82. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  83. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  84. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  85. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  86. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  87. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  88. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  89. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  90. package/dist/_dts/core/src/duration.d.ts +14 -0
  91. package/dist/_dts/core/src/email-format.d.ts +10 -0
  92. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  93. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  94. package/dist/_dts/core/src/index.d.ts +20 -0
  95. package/dist/_dts/core/src/number-input.d.ts +22 -0
  96. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  97. package/dist/_dts/core/src/slug.d.ts +39 -0
  98. package/dist/_dts/core/src/string.d.ts +19 -0
  99. package/dist/_dts/core/src/uuid.d.ts +6 -0
  100. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  101. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  102. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  103. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  104. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  105. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  106. package/dist/_dts/media-core/src/index.d.ts +10 -0
  107. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  108. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  109. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  110. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  111. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  112. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  113. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  114. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  115. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  116. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  117. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  118. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  119. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  120. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  121. package/dist/_dts/sdk/src/client/types.d.ts +37 -19
  122. package/dist/_dts/sdk/src/index.d.ts +2 -2
  123. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  124. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  125. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  126. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  127. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  128. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  129. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  130. package/dist/_dts/sdk/src/version.d.ts +1 -1
  131. package/dist/_dts/site-commands/src/commands.d.ts +12 -12
  132. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  133. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  134. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  135. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  136. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  137. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  138. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  141. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
  142. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  143. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  144. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  145. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  146. package/dist/_dts/theme-core/src/schema.d.ts +64 -18
  147. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  148. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  149. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  150. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  151. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
  152. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  153. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
  154. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  155. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  156. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  157. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  158. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  159. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  160. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  161. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  162. package/dist/{chunk-2SPENC5M.mjs → chunk-F7RTCZYN.mjs} +229 -50
  163. package/dist/{chunk-IENWFSLO.mjs → chunk-NIDXI46P.mjs} +1 -1
  164. package/dist/{chunk-KWJPDZH2.mjs → chunk-OECWLDHN.mjs} +2770 -620
  165. package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
  166. package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
  167. package/dist/{chunk-ZYEJLCTN.mjs → chunk-TXDES5P2.mjs} +2 -2
  168. package/dist/cli/index.mjs +1677 -440
  169. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
  170. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
  171. package/dist/client/bookings.mjs +3707 -259
  172. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
  173. package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
  174. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
  175. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
  176. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
  177. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
  178. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
  179. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
  180. package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
  181. package/dist/client/chunk-PD6NBCEY.mjs +66 -0
  182. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
  183. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
  184. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  185. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
  186. package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
  187. package/dist/client/client.mjs +7070 -4561
  188. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
  189. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
  190. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
  191. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
  192. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
  193. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
  194. package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
  195. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
  196. package/dist/client/hooks.mjs +1040 -278
  197. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
  198. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
  199. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
  200. package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
  201. package/dist/client/rendering/client.mjs +7090 -2645
  202. package/dist/client/rendering/islands.mjs +19 -19
  203. package/dist/client/rendering.mjs +6089 -3792
  204. package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
  205. package/dist/preview-next/before-render.mjs +8 -0
  206. package/dist/preview-next/client/runtime.mjs +5 -5
  207. package/dist/preview-next/editor-chrome.css +10 -0
  208. package/dist/preview-next/middleware.mjs +8 -0
  209. package/dist/{sdk-runtime-6UT2S7KZ.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
  210. package/dist/server/components.mjs +2635 -1262
  211. package/dist/server/config-validation.mjs +1271 -509
  212. package/dist/server/config.mjs +1271 -509
  213. package/dist/server/data.mjs +1040 -278
  214. package/dist/server/index.mjs +488 -246
  215. package/dist/server/next.mjs +4087 -2147
  216. package/dist/server/page-converter.mjs +571 -115
  217. package/dist/server/prebuild.mjs +1 -1
  218. package/dist/server/rendering/server.mjs +2636 -1263
  219. package/dist/server/rendering.mjs +2654 -1268
  220. package/dist/server/routing.mjs +1729 -489
  221. package/dist/server/server.mjs +1532 -530
  222. package/dist/server/theme-bridge.mjs +3151 -131
  223. package/dist/server/theme.mjs +10 -1
  224. package/dist/styles/index.css +488 -48
  225. package/package.json +2 -1
  226. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
  227. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  228. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  229. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  230. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
@@ -65,6 +65,8 @@ export type HeaderLayoutDefinition = Readonly<{
65
65
  }>;
66
66
  export type HeaderStyleNavInteraction = 'color-change' | 'underline-grow' | 'pill-background' | 'flat-block' | 'glass-backed';
67
67
  export type HeaderStyleSurface = 'neutral' | 'bordered' | 'soft' | 'brand-solid' | 'floating';
68
+ export type HeaderStyleDepth = 'none' | 'line' | 'shadow';
69
+ export type HeaderStyleMood = 'calm' | 'professional' | 'editorial' | 'expressive' | 'utility';
68
70
  export type HeaderStyleDefinition = Readonly<{
69
71
  id: HeaderStyleId;
70
72
  label: string;
@@ -72,7 +74,9 @@ export type HeaderStyleDefinition = Readonly<{
72
74
  supportedLayoutIds: readonly HeaderLayoutId[];
73
75
  navInteraction: HeaderStyleNavInteraction;
74
76
  surface: HeaderStyleSurface;
77
+ defaultDepth: HeaderStyleDepth;
75
78
  navTypography: HeaderStyleNavTypography;
79
+ moods: readonly HeaderStyleMood[];
76
80
  }>;
77
81
  export type HeaderLayoutStyleSelection = Readonly<{
78
82
  layoutId: HeaderLayoutId;
@@ -238,7 +242,7 @@ export declare const headerLayoutCatalog: readonly [{
238
242
  readonly description: "Detached header chrome that sits over the opening section.";
239
243
  readonly structure: "floating-shell";
240
244
  readonly variant: "floating";
241
- readonly defaultPositioning: "fixed";
245
+ readonly defaultPositioning: "sticky";
242
246
  readonly shrinkOnScroll: true;
243
247
  readonly maxRecommendedNavItems: 5;
244
248
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
@@ -250,7 +254,9 @@ export declare const headerStyleCatalog: readonly [{
250
254
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
251
255
  readonly navInteraction: "color-change";
252
256
  readonly surface: "neutral";
257
+ readonly defaultDepth: "none";
253
258
  readonly navTypography: "plain";
259
+ readonly moods: readonly ["calm", "professional", "editorial"];
254
260
  }, {
255
261
  readonly id: HeaderStyleId;
256
262
  readonly label: "Fine Line";
@@ -258,7 +264,9 @@ export declare const headerStyleCatalog: readonly [{
258
264
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
259
265
  readonly navInteraction: "underline-grow";
260
266
  readonly surface: "bordered";
267
+ readonly defaultDepth: "line";
261
268
  readonly navTypography: "plain";
269
+ readonly moods: readonly ["calm", "professional", "editorial"];
262
270
  }, {
263
271
  readonly id: HeaderStyleId;
264
272
  readonly label: "Soft Bar";
@@ -266,7 +274,9 @@ export declare const headerStyleCatalog: readonly [{
266
274
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
267
275
  readonly navInteraction: "pill-background";
268
276
  readonly surface: "soft";
277
+ readonly defaultDepth: "line";
269
278
  readonly navTypography: "plain";
279
+ readonly moods: readonly ["calm", "professional"];
270
280
  }, {
271
281
  readonly id: HeaderStyleId;
272
282
  readonly label: "Pill Nav";
@@ -274,7 +284,9 @@ export declare const headerStyleCatalog: readonly [{
274
284
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
275
285
  readonly navInteraction: "pill-background";
276
286
  readonly surface: "soft";
287
+ readonly defaultDepth: "none";
277
288
  readonly navTypography: "plain";
289
+ readonly moods: readonly ["calm"];
278
290
  }, {
279
291
  readonly id: HeaderStyleId;
280
292
  readonly label: "Brand Bar";
@@ -282,7 +294,9 @@ export declare const headerStyleCatalog: readonly [{
282
294
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
283
295
  readonly navInteraction: "color-change";
284
296
  readonly surface: "brand-solid";
297
+ readonly defaultDepth: "none";
285
298
  readonly navTypography: "brand-caps";
299
+ readonly moods: readonly ["professional", "expressive", "utility"];
286
300
  }, {
287
301
  readonly id: HeaderStyleId;
288
302
  readonly label: "Brand Underline";
@@ -290,7 +304,9 @@ export declare const headerStyleCatalog: readonly [{
290
304
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
291
305
  readonly navInteraction: "underline-grow";
292
306
  readonly surface: "brand-solid";
307
+ readonly defaultDepth: "none";
293
308
  readonly navTypography: "brand-caps";
309
+ readonly moods: readonly ["expressive"];
294
310
  }, {
295
311
  readonly id: HeaderStyleId;
296
312
  readonly label: "Brand Pill";
@@ -298,7 +314,9 @@ export declare const headerStyleCatalog: readonly [{
298
314
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
299
315
  readonly navInteraction: "pill-background";
300
316
  readonly surface: "brand-solid";
317
+ readonly defaultDepth: "none";
301
318
  readonly navTypography: "brand-caps";
319
+ readonly moods: readonly ["expressive"];
302
320
  }, {
303
321
  readonly id: HeaderStyleId;
304
322
  readonly label: "Serif Line";
@@ -306,7 +324,9 @@ export declare const headerStyleCatalog: readonly [{
306
324
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
307
325
  readonly navInteraction: "underline-grow";
308
326
  readonly surface: "bordered";
327
+ readonly defaultDepth: "line";
309
328
  readonly navTypography: "heading";
329
+ readonly moods: readonly ["editorial", "calm"];
310
330
  }, {
311
331
  readonly id: HeaderStyleId;
312
332
  readonly label: "Flat Tabs";
@@ -314,7 +334,9 @@ export declare const headerStyleCatalog: readonly [{
314
334
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
315
335
  readonly navInteraction: "flat-block";
316
336
  readonly surface: "bordered";
337
+ readonly defaultDepth: "shadow";
317
338
  readonly navTypography: "quiet-caps";
339
+ readonly moods: readonly ["professional", "utility", "expressive"];
318
340
  }, {
319
341
  readonly id: HeaderStyleId;
320
342
  readonly label: "Glass";
@@ -322,7 +344,9 @@ export declare const headerStyleCatalog: readonly [{
322
344
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
323
345
  readonly navInteraction: "glass-backed";
324
346
  readonly surface: "floating";
347
+ readonly defaultDepth: "shadow";
325
348
  readonly navTypography: "plain";
349
+ readonly moods: readonly ["expressive", "calm"];
326
350
  }, {
327
351
  readonly id: HeaderStyleId;
328
352
  readonly label: "Clear Split";
@@ -330,7 +354,9 @@ export declare const headerStyleCatalog: readonly [{
330
354
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
331
355
  readonly navInteraction: "color-change";
332
356
  readonly surface: "floating";
357
+ readonly defaultDepth: "none";
333
358
  readonly navTypography: "plain";
359
+ readonly moods: readonly ["editorial", "calm"];
334
360
  }, {
335
361
  readonly id: HeaderStyleId;
336
362
  readonly label: "Soft Shell";
@@ -338,7 +364,9 @@ export declare const headerStyleCatalog: readonly [{
338
364
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
339
365
  readonly navInteraction: "pill-background";
340
366
  readonly surface: "floating";
367
+ readonly defaultDepth: "shadow";
341
368
  readonly navTypography: "plain";
369
+ readonly moods: readonly ["calm", "professional"];
342
370
  }, {
343
371
  readonly id: HeaderStyleId;
344
372
  readonly label: "Split Glass";
@@ -346,7 +374,9 @@ export declare const headerStyleCatalog: readonly [{
346
374
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
347
375
  readonly navInteraction: "glass-backed";
348
376
  readonly surface: "floating";
377
+ readonly defaultDepth: "shadow";
349
378
  readonly navTypography: "quiet-caps";
379
+ readonly moods: readonly ["expressive"];
350
380
  }, {
351
381
  readonly id: HeaderStyleId;
352
382
  readonly label: "Split Pill";
@@ -354,7 +384,9 @@ export declare const headerStyleCatalog: readonly [{
354
384
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
355
385
  readonly navInteraction: "pill-background";
356
386
  readonly surface: "floating";
387
+ readonly defaultDepth: "shadow";
357
388
  readonly navTypography: "heading";
389
+ readonly moods: readonly ["calm", "editorial"];
358
390
  }];
359
391
  export declare const legacyHeaderLookAliases: readonly [{
360
392
  readonly lookId: HeaderLookId;
@@ -1,8 +1,10 @@
1
1
  export declare const themeV2RuntimeStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "styleGroup"];
2
2
  export type ThemeV2RuntimeStyleFieldName = typeof themeV2RuntimeStyleFieldNames[number];
3
- export declare const themeV2BlockSpecificRawStyleFieldNames: readonly ["_contentCardStyles", "_textCardStyles"];
3
+ export declare const themeV2BlockSpecificRawStyleFieldNames: readonly ["_contentCardStyles", "_heroLayoutStyles", "_textCardStyles"];
4
4
  export type ThemeV2BlockSpecificRawStyleFieldName = typeof themeV2BlockSpecificRawStyleFieldNames[number];
5
5
  export type ThemeV2NormalEditorRawStyleFieldName = ThemeV2RuntimeStyleFieldName | ThemeV2BlockSpecificRawStyleFieldName;
6
- export declare const themeV2NormalEditorRawStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "styleGroup", "_contentCardStyles", "_textCardStyles"];
6
+ export type ThemeV2CompilerOwnedFieldName = ThemeV2RuntimeStyleFieldName | ThemeV2BlockSpecificRawStyleFieldName;
7
+ export declare const themeV2NormalEditorRawStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "styleGroup", "_contentCardStyles", "_heroLayoutStyles", "_textCardStyles"];
8
+ export declare const themeV2CompilerOwnedFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "styleGroup", "_contentCardStyles", "_heroLayoutStyles", "_textCardStyles"];
7
9
  export declare function isThemeV2NormalEditorRawStyleFieldName(fieldName: string): boolean;
8
10
  export declare function isThemeV2NormalEditorRawStylePath(fieldPath: string): boolean;
@@ -23,10 +23,18 @@ export type CompiledBlockRuntimeFields = Readonly<{
23
23
  _frameStyles: ContentFrameIntent;
24
24
  _sectionStyles?: SectionStylesOverride;
25
25
  _containerStyles?: ContainerStylesOverride;
26
+ _contentCardStyles?: ContainerStylesOverride;
27
+ _heroLayoutStyles?: HeroLayoutStylesOverride;
26
28
  _cardStyles?: CardStylesOverride;
27
29
  styleGroup?: string;
28
30
  }>;
29
- export declare const compiledRuntimeStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "styleGroup"];
31
+ export type HeroLayoutStylesOverride = Readonly<{
32
+ contentAlignment?: 'left' | 'center' | 'right';
33
+ verticalAlignment?: 'top' | 'center' | 'bottom';
34
+ contentMaxWidth?: 'default' | 'narrow' | 'medium' | 'wide';
35
+ typographyScale?: NonNullable<ResolvedBlockDesignPlan['heroTypographyScale']>;
36
+ }>;
37
+ export declare const compiledRuntimeStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_contentCardStyles", "_heroLayoutStyles", "_cardStyles", "styleGroup"];
30
38
  export declare function stripCompiledRuntimeStyleFields<TContent extends Record<string, unknown>>(content: TContent): Record<string, unknown>;
31
39
  export type CompiledBlockRuntime = Readonly<{
32
40
  blockId: string;
@@ -163,6 +163,8 @@ export type AdvancedSurfaceIntent = SiteStyleSurfaceIntent | AdvancedDetachedDes
163
163
  export type MediaCompositionIntent = 'none' | 'supporting' | 'dominant';
164
164
  export type DecorativeCompositionIntent = 'none' | 'supporting' | 'feature';
165
165
  export type HeroLegibilityStrategy = 'none' | 'scrim-gradient' | 'solid-panel';
166
+ export type HeroCompositionIntent = 'center' | 'bottom-left';
167
+ export type HeroTypographyScaleIntent = 'quiet' | 'editorial' | 'display' | 'poster';
166
168
  export type ImageSurfaceTreatmentToken = 'primary' | 'secondary' | 'accent';
167
169
  export type ImageSurfaceTreatmentIntensity = 'soft' | 'balanced' | 'strong';
168
170
  export type ImageSurfaceMotion = 'static' | 'fixed-frame';
@@ -190,6 +192,8 @@ export type ImageSurfaceTreatmentKind = ImageSurfaceTreatment['kind'];
190
192
  export type TestimonialCardTreatment = 'default' | 'accent-quote';
191
193
  export declare const tileTreatmentValues: readonly ["default", "quiet", "brand-depth"];
192
194
  export type TileTreatment = (typeof tileTreatmentValues)[number];
195
+ export declare const eventListTreatmentValues: readonly ["plain", "lined-panel"];
196
+ export type EventListTreatment = (typeof eventListTreatmentValues)[number];
193
197
  export declare const eyebrowTreatmentValues: readonly ["plain", "pill", "accent-pill", "pill-bounce", "accent-pill-bounce"];
194
198
  export type EyebrowTreatment = (typeof eyebrowTreatmentValues)[number];
195
199
  export declare const headingDecorationFamilyValues: readonly ["none", "organic-squiggle", "short-center-rule"];
@@ -379,10 +383,13 @@ export type BlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose ex
379
383
  emphasis: SiteStyleEmphasis;
380
384
  sectionHeight?: SectionHeightIntent;
381
385
  heroLegibility?: HeroLegibilityStrategy;
386
+ heroComposition?: HeroCompositionIntent;
387
+ heroTypographyScale?: HeroTypographyScaleIntent;
382
388
  imageSurfaceTreatment?: ImageSurfaceTreatment;
383
389
  imageSurfaceMotion?: ImageSurfaceMotion;
384
390
  testimonialCardTreatment?: TestimonialCardTreatment;
385
391
  tileTreatment?: TileTreatment;
392
+ eventListTreatment?: EventListTreatment;
386
393
  eyebrowTreatment?: EyebrowTreatment;
387
394
  headingDecoration?: HeadingDecoration;
388
395
  accordionIconTreatment?: AccordionIconTreatment | null;
@@ -398,6 +405,7 @@ export type ResolvedBlockDesignPlan<TBlockId extends string = DesignBlockId, TPu
398
405
  appliedImageSurfaceMotion: ImageSurfaceMotion;
399
406
  appliedTestimonialCardTreatment: TestimonialCardTreatment;
400
407
  appliedTileTreatment: TileTreatment;
408
+ appliedEventListTreatment: EventListTreatment;
401
409
  appliedEyebrowTreatment: EyebrowTreatment;
402
410
  appliedHeadingDecoration: HeadingDecoration;
403
411
  appliedAccordionIconTreatment: AccordionIconTreatment | null;
@@ -420,6 +428,7 @@ export type DesignedBlockDesignCapabilityInput = Readonly<{
420
428
  imageSurfaceMotions?: NonEmptyReadonlyArray<ImageSurfaceMotion>;
421
429
  testimonialCardTreatments?: NonEmptyReadonlyArray<TestimonialCardTreatment>;
422
430
  tileTreatments?: NonEmptyReadonlyArray<TileTreatment>;
431
+ eventListTreatments?: NonEmptyReadonlyArray<EventListTreatment>;
423
432
  eyebrowTreatments?: NonEmptyReadonlyArray<EyebrowTreatment>;
424
433
  headingDecorations?: NonEmptyReadonlyArray<VisibleHeadingDecorationFamily>;
425
434
  accordionIconSets?: NonEmptyReadonlyArray<AccordionIconSet>;
@@ -434,6 +443,7 @@ export type DesignedBlockDesignCapability = Readonly<{
434
443
  imageSurfaceMotions: NonEmptyReadonlyArray<ImageSurfaceMotion>;
435
444
  testimonialCardTreatments: NonEmptyReadonlyArray<TestimonialCardTreatment>;
436
445
  tileTreatments: NonEmptyReadonlyArray<TileTreatment>;
446
+ eventListTreatments: NonEmptyReadonlyArray<EventListTreatment>;
437
447
  eyebrowTreatments: NonEmptyReadonlyArray<EyebrowTreatment>;
438
448
  headingDecorations?: NonEmptyReadonlyArray<VisibleHeadingDecorationFamily>;
439
449
  accordionIconSets?: NonEmptyReadonlyArray<AccordionIconSet>;
@@ -447,7 +457,7 @@ export type BlockDesignCapability = DesignedBlockDesignCapability | NoBlockDesig
447
457
  export type BlockDesignCapabilityMap = Readonly<Partial<Record<string, BlockDesignCapability>>>;
448
458
  export declare function defineBlockDesignCapability(capability: DesignedBlockDesignCapabilityInput): DesignedBlockDesignCapability;
449
459
  export declare function defineNoBlockDesignCapability(reason: UnsupportedBlockDesignCapabilityReason): NoBlockDesignCapability;
450
- export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-item-surface' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-testimonial-card-treatment' | 'fallback-tile-treatment' | 'fallback-eyebrow-treatment' | 'fallback-heading-decoration' | 'fallback-accordion-icon-treatment' | 'remove-hero-legibility' | 'remove-transition' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
460
+ export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-item-surface' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-testimonial-card-treatment' | 'fallback-tile-treatment' | 'fallback-event-list-treatment' | 'fallback-eyebrow-treatment' | 'fallback-heading-decoration' | 'fallback-accordion-icon-treatment' | 'remove-hero-legibility' | 'remove-transition' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
451
461
  export type UnsupportedSectionSurfaceIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
452
462
  kind: 'unsupported-section-surface';
453
463
  blockId: TBlockId;
@@ -538,6 +548,17 @@ export type UnsupportedTileTreatmentIssue<TBlockId extends string = DesignBlockI
538
548
  severity: DesignIssueSeverity;
539
549
  allowedRepairActions: readonly ['fallback-tile-treatment'];
540
550
  }>;
551
+ export type UnsupportedEventListTreatmentIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
552
+ kind: 'unsupported-event-list-treatment';
553
+ blockId: TBlockId;
554
+ blockKind: string;
555
+ purpose: TPurpose;
556
+ requested: EventListTreatment;
557
+ fallback: 'plain';
558
+ policy: DesignResolutionPolicy;
559
+ severity: DesignIssueSeverity;
560
+ allowedRepairActions: readonly ['fallback-event-list-treatment'];
561
+ }>;
541
562
  export type UnsupportedEyebrowTreatmentIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
542
563
  kind: 'unsupported-eyebrow-treatment';
543
564
  blockId: TBlockId;
@@ -613,10 +634,13 @@ export type BlockDesignCapabilityRequest = Readonly<{
613
634
  transitionAfter: SiteStyleSectionTransitionIntent;
614
635
  sectionHeight?: SectionHeightIntent;
615
636
  heroLegibility?: HeroLegibilityStrategy;
637
+ heroComposition?: HeroCompositionIntent;
638
+ heroTypographyScale?: HeroTypographyScaleIntent;
616
639
  imageSurfaceTreatment?: ImageSurfaceTreatment;
617
640
  imageSurfaceMotion?: ImageSurfaceMotion;
618
641
  testimonialCardTreatment?: TestimonialCardTreatment;
619
642
  tileTreatment?: TileTreatment;
643
+ eventListTreatment?: EventListTreatment;
620
644
  eyebrowTreatment?: EyebrowTreatment;
621
645
  headingDecoration?: HeadingDecoration;
622
646
  accordionIconTreatment?: AccordionIconTreatment | null;
@@ -634,6 +658,7 @@ export type BlockDesignCapabilityFallback = Readonly<{
634
658
  imageSurfaceMotion: 'static';
635
659
  testimonialCardTreatment: 'default';
636
660
  tileTreatment: 'default';
661
+ eventListTreatment: 'plain';
637
662
  eyebrowTreatment: 'plain';
638
663
  headingDecoration: NoHeadingDecoration;
639
664
  accordionIconTreatment: null;
@@ -683,7 +708,7 @@ export type HeroImageWithoutLegibilityIssue<TBlockId extends string = DesignBloc
683
708
  severity: DesignIssueSeverity;
684
709
  allowedRepairActions: readonly ['fallback-hero-legibility'];
685
710
  }>;
686
- export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedItemSurfaceIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTestimonialCardTreatmentIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedHeadingDecorationIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | RemovedTransitionForFlushFrameIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
711
+ export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedItemSurfaceIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTestimonialCardTreatmentIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEventListTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedHeadingDecorationIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | RemovedTransitionForFlushFrameIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
687
712
  export type DesignRepairResultForIssue<TIssue extends DesignResolutionIssue<string, string>> = {
688
713
  [TKind in TIssue['kind']]: Readonly<{
689
714
  kind: TKind extends 'removed-transition-for-flush-frame' ? 'repaired' : 'fallbackApplied';
@@ -1,36 +1,13 @@
1
1
  import React, { type ReactNode } from "react";
2
- import type { Theme } from "./schema";
3
- export type SiteTopShellBehavior = "normal-flow" | "shared-sticky-shell" | "banner-above-overlay-header";
4
- export type SiteTopShellPlan = Readonly<{
5
- behavior: "normal-flow";
6
- contentStartsUnderHeader: boolean;
7
- requiresHeaderOffset: false;
8
- }> | Readonly<{
9
- behavior: "shared-sticky-shell";
10
- contentStartsUnderHeader: false;
11
- requiresHeaderOffset: false;
12
- }> | Readonly<{
13
- behavior: "banner-above-overlay-header";
14
- contentStartsUnderHeader: true;
15
- requiresHeaderOffset: true;
16
- }>;
2
+ import type { SiteDocumentPlan, SiteTopShellBehavior } from "./siteChromePlanning";
3
+ export { getStandaloneHeaderShellClassName, planSiteDocument, planSiteTopShell, type SiteDocumentLayoutMode, type SiteDocumentPlan, type SiteDocumentPlanInput, type SiteTopShellBehavior, type SiteTopShellPlan, } from "./siteChromePlanning";
4
+ export { SITE_CHROME_VISIBLE_HEADER_ATTR, SITE_CHROME_VISIBLE_HEADER_SELECTOR, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, SITE_OVERLAY_HEADER_CLEARANCE_FALLBACK, visibleHeaderClearancePx, type HeaderMeasurementBox, type SiteOverlayHeaderClearancePlan, } from "./siteChromeOverlayClearance";
17
5
  export type SiteChromeLayoutNodes = Readonly<{
18
6
  headerNode: ReactNode;
19
7
  bannerNode?: ReactNode;
20
8
  bannerShellBehavior?: SiteTopShellBehavior;
21
9
  footerNode: ReactNode;
22
10
  }>;
23
- type HeaderPositioning = NonNullable<Theme["header"]>["positioning"];
24
- export type SiteDocumentLayoutMode = "normal-flow" | "header-overlay";
25
- export type SiteDocumentPlan = Readonly<{
26
- topShell: SiteTopShellPlan;
27
- layoutMode: SiteDocumentLayoutMode;
28
- }>;
29
- export type SiteDocumentPlanInput = Readonly<{
30
- headerPositioning: HeaderPositioning;
31
- headerVariant?: Theme["header"]["variant"] | null;
32
- hasVisibleBanner: boolean;
33
- }>;
34
11
  export type SiteDocumentLayoutProps = Omit<SiteChromeLayoutNodes, "bannerShellBehavior"> & Readonly<{
35
12
  plan: SiteDocumentPlan;
36
13
  children: ReactNode;
@@ -41,13 +18,19 @@ export type SiteDocumentLayoutProps = Omit<SiteChromeLayoutNodes, "bannerShellBe
41
18
  contentClassName?: string | null;
42
19
  style?: React.CSSProperties;
43
20
  }>;
44
- export declare function getStandaloneHeaderShellClassName(theme: Theme): string | null;
21
+ export declare const SITE_CHROME_CLASS_NAMES: {
22
+ readonly standaloneStickyHeaderShell: "sticky top-0 z-40 w-full";
23
+ readonly standaloneFixedHeaderShell: "fixed left-0 right-0 top-0 z-40 w-full";
24
+ readonly sharedStickyTopShell: "rb-sticky rb-top-0 rb-z-40 rb-w-full";
25
+ readonly defaultMinHeight: "rb-min-h-screen";
26
+ readonly fullMinHeight: "rb-min-h-full";
27
+ readonly overlayRoot: "rb-grid rb-grid-rows-main-footer rb-grid-cols-1";
28
+ readonly normalFlowRoot: "rb-flex rb-flex-col";
29
+ readonly overlayTopShell: "rb-row-start-1 rb-col-start-1 rb-z-40";
30
+ readonly overlayTopShellPlacementMarker: "rb-site-document-overlay-top-shell";
31
+ readonly overlayContent: "rb-row-start-1 rb-col-start-1";
32
+ readonly overlayFooter: "rb-row-start-2 rb-col-start-1";
33
+ readonly normalFlowContent: "rb-flex-1";
34
+ };
45
35
  export declare function renderSiteTopChrome({ headerNode, bannerNode, bannerShellBehavior, }: Pick<SiteChromeLayoutNodes, "headerNode" | "bannerNode" | "bannerShellBehavior">): ReactNode;
46
- export declare function planSiteDocument(input: SiteDocumentPlanInput): SiteDocumentPlan;
47
36
  export declare function SiteDocumentLayout({ plan, headerNode, bannerNode, footerNode, children, as: Root, role, className, minHeightClassName, contentClassName, style, }: SiteDocumentLayoutProps): React.ReactElement;
48
- export declare function planSiteTopShell(input: Readonly<{
49
- headerPositioning: HeaderPositioning;
50
- headerVariant?: Theme["header"]["variant"] | null;
51
- hasVisibleBanner: boolean;
52
- }>): SiteTopShellPlan;
53
- export {};
@@ -0,0 +1,22 @@
1
+ export declare const SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR: "--site-overlay-header-clearance";
2
+ export declare const SITE_OVERLAY_HEADER_CLEARANCE_FALLBACK: "clamp(5rem, 8vw, 7rem)";
3
+ export declare const SITE_CHROME_VISIBLE_HEADER_ATTR: "data-site-chrome-visible-header";
4
+ export declare const SITE_CHROME_VISIBLE_HEADER_SELECTOR: "[data-site-chrome-visible-header=\"true\"]";
5
+ export type SiteOverlayHeaderClearancePlan = Readonly<{
6
+ kind: "none";
7
+ }> | Readonly<{
8
+ kind: "opening-content";
9
+ cssValue: string;
10
+ }>;
11
+ export type SiteOverlayHeaderClearancePlanInput = Readonly<{
12
+ layoutMode: "normal-flow" | "header-overlay";
13
+ topShell: Readonly<{
14
+ contentStartsUnderHeader: boolean;
15
+ }>;
16
+ }>;
17
+ export declare function planSiteOverlayHeaderClearance(input: SiteOverlayHeaderClearancePlanInput): SiteOverlayHeaderClearancePlan;
18
+ export type HeaderMeasurementBox = Readonly<{
19
+ bottom: number;
20
+ height: number;
21
+ }>;
22
+ export declare function visibleHeaderClearancePx(box: HeaderMeasurementBox | null): number;
@@ -0,0 +1,22 @@
1
+ import type { HeaderPositioning } from "./schema";
2
+ export type SiteChromePlacementPlan = Readonly<{
3
+ kind: "static";
4
+ headerRootClassName: null;
5
+ standaloneShellClassName: null;
6
+ }> | Readonly<{
7
+ kind: "sticky";
8
+ headerRootClassName: "rb-sticky rb-top-0";
9
+ standaloneShellClassName: "sticky top-0 z-40 w-full";
10
+ }> | Readonly<{
11
+ kind: "fixed";
12
+ headerRootClassName: "rb-fixed rb-top-0 rb-left-0 rb-right-0";
13
+ standaloneShellClassName: "fixed left-0 right-0 top-0 z-40 w-full";
14
+ }>;
15
+ export declare const SITE_CHROME_PLACEMENT_CLASSES: readonly ["rb-sticky", "rb-fixed", "rb-absolute", "rb-relative", "rb-top-0", "rb-left-0", "rb-right-0", "rb-bottom-0", "rb-z-40", "rb-z-50"];
16
+ export declare function parseHeaderPositioning(value: unknown): HeaderPositioning;
17
+ export declare function isHeaderPositioning(value: unknown): value is HeaderPositioning;
18
+ export declare function planSiteChromePlacement(positioning: HeaderPositioning): SiteChromePlacementPlan;
19
+ export declare function splitSiteChromePlacementClasses(className: string | undefined): {
20
+ wrapperClasses: string;
21
+ sectionClasses: string;
22
+ };
@@ -0,0 +1,32 @@
1
+ import type { HeaderPositioning, Theme } from "./schema";
2
+ import { type SiteChromePlacementPlan } from "./siteChromePlacement";
3
+ import { type SiteOverlayHeaderClearancePlan } from "./siteChromeOverlayClearance";
4
+ export type SiteTopShellBehavior = "normal-flow" | "shared-sticky-shell" | "banner-above-overlay-header";
5
+ export type SiteTopShellPlan = Readonly<{
6
+ behavior: "normal-flow";
7
+ contentStartsUnderHeader: boolean;
8
+ requiresHeaderOffset: false;
9
+ }> | Readonly<{
10
+ behavior: "shared-sticky-shell";
11
+ contentStartsUnderHeader: false;
12
+ requiresHeaderOffset: false;
13
+ }> | Readonly<{
14
+ behavior: "banner-above-overlay-header";
15
+ contentStartsUnderHeader: true;
16
+ requiresHeaderOffset: true;
17
+ }>;
18
+ export type SiteDocumentLayoutMode = "normal-flow" | "header-overlay";
19
+ export type SiteDocumentPlan = Readonly<{
20
+ placement: SiteChromePlacementPlan;
21
+ topShell: SiteTopShellPlan;
22
+ layoutMode: SiteDocumentLayoutMode;
23
+ overlayHeaderClearance: SiteOverlayHeaderClearancePlan;
24
+ }>;
25
+ export type SiteDocumentPlanInput = Readonly<{
26
+ headerPositioning: HeaderPositioning;
27
+ headerVariant?: Theme["header"]["variant"] | null;
28
+ hasVisibleBanner: boolean;
29
+ }>;
30
+ export declare function getStandaloneHeaderShellClassName(theme: Theme): string | null;
31
+ export declare function planSiteDocument(input: SiteDocumentPlanInput): SiteDocumentPlan;
32
+ export declare function planSiteTopShell(input: SiteDocumentPlanInput): SiteTopShellPlan;
@@ -7,16 +7,16 @@ import { z } from 'zod';
7
7
  export declare const PALETTE_TOKEN_NAMES: readonly ["primary", "primaryForeground", "secondary", "accent", "success", "warning", "destructive", "background", "surface", "surfaceAlt", "muted", "text", "border"];
8
8
  export type PaletteTokenName = (typeof PALETTE_TOKEN_NAMES)[number];
9
9
  export declare const paletteTokenNameSchema: z.ZodEnum<{
10
+ surface: "surface";
10
11
  success: "success";
11
12
  text: "text";
12
13
  primary: "primary";
13
14
  secondary: "secondary";
15
+ warning: "warning";
14
16
  border: "border";
15
17
  background: "background";
16
18
  muted: "muted";
17
- surface: "surface";
18
19
  accent: "accent";
19
- warning: "warning";
20
20
  destructive: "destructive";
21
21
  primaryForeground: "primaryForeground";
22
22
  surfaceAlt: "surfaceAlt";