@riverbankcms/sdk 0.77.0 → 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 (237) hide show
  1. package/README.md +69 -0
  2. package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
  3. package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +194 -184
  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/customBlockRegistry.d.ts +20 -1
  26. package/dist/_dts/blocks/src/index.d.ts +3 -2
  27. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  28. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  34. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
  41. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  42. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  43. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  45. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
  47. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  48. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  49. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  50. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  51. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  54. package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
  55. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  57. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  59. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  60. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  67. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  68. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
  72. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  74. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  75. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  76. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  77. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  78. package/dist/_dts/content-editor/src/index.d.ts +5 -0
  79. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  80. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  81. package/dist/_dts/content-model/src/index.d.ts +1 -0
  82. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  83. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  84. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  85. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  86. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  87. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  88. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  89. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  90. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  91. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  92. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  93. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  94. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  95. package/dist/_dts/core/src/duration.d.ts +14 -0
  96. package/dist/_dts/core/src/email-format.d.ts +10 -0
  97. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  98. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  99. package/dist/_dts/core/src/index.d.ts +20 -0
  100. package/dist/_dts/core/src/number-input.d.ts +22 -0
  101. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  102. package/dist/_dts/core/src/slug.d.ts +39 -0
  103. package/dist/_dts/core/src/string.d.ts +19 -0
  104. package/dist/_dts/core/src/uuid.d.ts +6 -0
  105. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  106. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  107. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  108. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  109. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  110. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  111. package/dist/_dts/media-core/src/index.d.ts +10 -0
  112. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  113. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  114. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  115. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  116. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  117. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  118. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  119. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  120. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  121. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  122. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  123. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  124. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  125. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  126. package/dist/_dts/sdk/src/client/types.d.ts +37 -19
  127. package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
  128. package/dist/_dts/sdk/src/index.d.ts +2 -2
  129. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  130. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  131. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  132. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  133. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  134. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  135. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  136. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  137. package/dist/_dts/sdk/src/version.d.ts +1 -1
  138. package/dist/_dts/site-commands/src/commands.d.ts +12 -12
  139. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  140. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  141. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  142. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  143. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  144. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  145. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  146. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  148. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +63 -51
  149. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  150. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  151. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  152. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  153. package/dist/_dts/theme-core/src/schema.d.ts +90 -48
  154. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  155. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  156. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  157. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -1
  158. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +35 -7
  159. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  160. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +96 -34
  161. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  162. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  164. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  165. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  166. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  167. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  168. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  169. package/dist/{chunk-EAWHBECW.mjs → chunk-F7RTCZYN.mjs} +229 -50
  170. package/dist/{chunk-GSQX43EZ.mjs → chunk-NIDXI46P.mjs} +22 -41
  171. package/dist/{chunk-WLQBJN2Z.mjs → chunk-OECWLDHN.mjs} +4538 -1911
  172. package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
  173. package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
  174. package/dist/{chunk-ANKDYZ2E.mjs → chunk-TXDES5P2.mjs} +2 -2
  175. package/dist/cli/index.mjs +2036 -594
  176. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
  177. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
  178. package/dist/client/bookings.mjs +3707 -259
  179. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
  180. package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
  181. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
  182. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
  183. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
  184. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
  185. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
  186. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
  187. package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
  188. package/dist/client/chunk-PD6NBCEY.mjs +66 -0
  189. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
  190. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
  191. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  192. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
  193. package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
  194. package/dist/client/client.mjs +8983 -6152
  195. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
  196. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
  197. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
  198. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
  199. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
  200. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
  201. package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
  202. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
  203. package/dist/client/hooks.mjs +1388 -427
  204. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
  205. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
  206. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
  207. package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
  208. package/dist/client/rendering/client.mjs +7090 -2645
  209. package/dist/client/rendering/islands.mjs +19 -19
  210. package/dist/client/rendering.mjs +7395 -4767
  211. package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
  212. package/dist/preview-next/before-render.mjs +8 -0
  213. package/dist/preview-next/client/runtime.mjs +5 -5
  214. package/dist/preview-next/editor-chrome.css +10 -0
  215. package/dist/preview-next/middleware.mjs +8 -0
  216. package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
  217. package/dist/server/components.mjs +4175 -2480
  218. package/dist/server/config-validation.mjs +1619 -658
  219. package/dist/server/config.mjs +1619 -658
  220. package/dist/server/data.mjs +1388 -427
  221. package/dist/server/index.mjs +488 -246
  222. package/dist/server/next.mjs +5607 -3354
  223. package/dist/server/page-converter.mjs +912 -259
  224. package/dist/server/prebuild.mjs +1 -1
  225. package/dist/server/rendering/server.mjs +4176 -2481
  226. package/dist/server/rendering.mjs +4194 -2486
  227. package/dist/server/routing.mjs +2078 -639
  228. package/dist/server/server.mjs +1886 -685
  229. package/dist/server/theme-bridge.mjs +4441 -1300
  230. package/dist/server/theme.mjs +89 -12
  231. package/dist/styles/index.css +1576 -1083
  232. package/package.json +2 -1
  233. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
  234. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  235. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  236. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  237. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
@@ -1,8 +1,8 @@
1
1
  import type { Theme, ThemeHeader } from '../schema';
2
2
  import { type SiteChromeLookDiagnostics } from './customizableSurfaces';
3
3
  import { type Brand } from './types';
4
- export declare const headerLookIdValues: readonly ["clean-base", "brand-solid", "editorial-line", "centered-calm", "practical-utility", "minimal-transparent", "transparent-overlay", "floating-glass"];
5
- export type HeaderLookIdValue = typeof headerLookIdValues[number];
4
+ export declare const headerLookIdValues: readonly ["clean-base", "brand-solid", "serif-line", "centered-calm", "practical-utility", "minimal-transparent", "transparent-overlay", "floating-glass"];
5
+ export type HeaderLookIdValue = (typeof headerLookIdValues)[number];
6
6
  export type HeaderLookId = Brand<HeaderLookIdValue, 'HeaderLookId'>;
7
7
  export declare function asHeaderLookId(value: HeaderLookIdValue): HeaderLookId;
8
8
  export type PersistedHeaderLookIdParseResult = Readonly<{
@@ -18,8 +18,8 @@ export declare function parsePersistedHeaderLookId(value: string): Exclude<Persi
18
18
  kind: 'empty';
19
19
  }>;
20
20
  export declare function parsePersistedHeaderLookId(value: string | null | undefined): PersistedHeaderLookIdParseResult;
21
- export declare const headerLayoutIdValues: readonly ["classic", "centered", "editorial", "floating"];
22
- export type HeaderLayoutIdValue = typeof headerLayoutIdValues[number];
21
+ export declare const headerLayoutIdValues: readonly ["classic", "centered", "floating"];
22
+ export type HeaderLayoutIdValue = (typeof headerLayoutIdValues)[number];
23
23
  export type HeaderLayoutId = Brand<HeaderLayoutIdValue, 'HeaderLayoutId'>;
24
24
  export declare function asHeaderLayoutId(value: HeaderLayoutIdValue): HeaderLayoutId;
25
25
  export type PersistedHeaderLayoutIdParseResult = Readonly<{
@@ -35,8 +35,8 @@ export declare function parsePersistedHeaderLayoutId(value: string): Exclude<Per
35
35
  kind: 'empty';
36
36
  }>;
37
37
  export declare function parsePersistedHeaderLayoutId(value: string | null | undefined): PersistedHeaderLayoutIdParseResult;
38
- export declare const headerStyleIdValues: readonly ["minimal", "fine-line", "soft-bar", "pill-nav", "brand-bar", "brand-underline", "brand-pill", "editorial-line", "flat-tabs", "glass", "minimal-surface", "soft-shell"];
39
- export type HeaderStyleIdValue = typeof headerStyleIdValues[number];
38
+ export declare const headerStyleIdValues: readonly ["minimal", "fine-line", "soft-bar", "pill-nav", "brand-bar", "brand-underline", "brand-pill", "serif-line", "flat-tabs", "glass", "minimal-surface", "soft-shell", "split-glass", "split-pill"];
39
+ export type HeaderStyleIdValue = (typeof headerStyleIdValues)[number];
40
40
  export type HeaderStyleId = Brand<HeaderStyleIdValue, 'HeaderStyleId'>;
41
41
  export declare function asHeaderStyleId(value: HeaderStyleIdValue): HeaderStyleId;
42
42
  export type PersistedHeaderStyleIdParseResult = Readonly<{
@@ -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,12 +74,25 @@ export type HeaderStyleDefinition = Readonly<{
72
74
  supportedLayoutIds: readonly HeaderLayoutId[];
73
75
  navInteraction: HeaderStyleNavInteraction;
74
76
  surface: HeaderStyleSurface;
75
- requiresFloatingLayout?: boolean;
77
+ defaultDepth: HeaderStyleDepth;
78
+ navTypography: HeaderStyleNavTypography;
79
+ moods: readonly HeaderStyleMood[];
76
80
  }>;
77
81
  export type HeaderLayoutStyleSelection = Readonly<{
78
82
  layoutId: HeaderLayoutId;
79
83
  styleId: HeaderStyleId;
80
84
  }>;
85
+ export type HeaderStyleChoiceSource = Readonly<{
86
+ id: HeaderStyleId;
87
+ }>;
88
+ export type HeaderLayoutChoiceSource = Readonly<{
89
+ id: HeaderLayoutId;
90
+ }>;
91
+ export type HeaderStyleChoicesByLayout = Readonly<Partial<Record<HeaderLayoutIdValue, readonly HeaderStyleChoiceSource[]>>>;
92
+ export type HeaderLayoutStyleCuration = Readonly<{
93
+ recommendedHeaderLayoutChoices: readonly HeaderLayoutChoiceSource[];
94
+ recommendedHeaderStyleChoicesByLayout: HeaderStyleChoicesByLayout;
95
+ }>;
81
96
  export type HeaderLegacyLookAlias = Readonly<{
82
97
  lookId: HeaderLookId;
83
98
  selection: HeaderLayoutStyleSelection;
@@ -99,9 +114,9 @@ export type HeaderLayoutStyleResolution = Readonly<{
99
114
  style: HeaderStyleDefinition;
100
115
  repair: HeaderLayoutStyleRepair;
101
116
  }>;
102
- export type HeaderLookVisualTreatment = 'solid-neutral' | 'solid-brand' | 'light-editorial' | 'minimal-transparent' | 'transparent-overlay' | 'floating-glass';
117
+ export type HeaderLookVisualTreatment = 'solid-neutral' | 'solid-brand' | 'light-serif' | 'minimal-transparent' | 'transparent-overlay' | 'floating-glass';
103
118
  export type HeaderLookLayoutBehavior = 'normal-flow' | 'sticky' | 'sticky-shrink' | 'fixed-overlay' | 'fixed-floating';
104
- export type HeaderStructureId = 'inline-classic' | 'centered-stack' | 'editorial-stack' | 'floating-shell';
119
+ export type HeaderStructureId = 'inline-classic' | 'centered-stack' | 'floating-shell';
105
120
  export type HeaderTreatmentId = HeaderLookVisualTreatment;
106
121
  export type HeaderBehaviorId = HeaderLookLayoutBehavior;
107
122
  export type HeaderConfiguration = Readonly<{
@@ -120,6 +135,7 @@ export type HeaderConfigurationResolution = Readonly<{
120
135
  }>;
121
136
  export type HeaderLookOpeningRequirement = 'none' | 'reserved-space-ok' | 'requires-image-hero-with-contrast-overlay';
122
137
  export type HeaderLogoShape = 'none' | 'text-only' | 'horizontal' | 'square' | 'tall';
138
+ export type HeaderStyleNavTypography = 'plain' | 'heading' | 'quiet-caps' | 'brand-caps';
123
139
  export type HeaderLookDefinition = Readonly<{
124
140
  id: HeaderLookId;
125
141
  label: string;
@@ -220,22 +236,13 @@ export declare const headerLayoutCatalog: readonly [{
220
236
  readonly shrinkOnScroll: false;
221
237
  readonly maxRecommendedNavItems: 5;
222
238
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal", "square"];
223
- }, {
224
- readonly id: HeaderLayoutId;
225
- readonly label: "Editorial";
226
- readonly description: "A composed, magazine-like stacked header treatment.";
227
- readonly structure: "editorial-stack";
228
- readonly variant: "editorial";
229
- readonly defaultPositioning: "static";
230
- readonly shrinkOnScroll: false;
231
- readonly maxRecommendedNavItems: 6;
232
239
  }, {
233
240
  readonly id: HeaderLayoutId;
234
241
  readonly label: "Floating";
235
242
  readonly description: "Detached header chrome that sits over the opening section.";
236
243
  readonly structure: "floating-shell";
237
244
  readonly variant: "floating";
238
- readonly defaultPositioning: "fixed";
245
+ readonly defaultPositioning: "sticky";
239
246
  readonly shrinkOnScroll: true;
240
247
  readonly maxRecommendedNavItems: 5;
241
248
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
@@ -247,6 +254,9 @@ export declare const headerStyleCatalog: readonly [{
247
254
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
248
255
  readonly navInteraction: "color-change";
249
256
  readonly surface: "neutral";
257
+ readonly defaultDepth: "none";
258
+ readonly navTypography: "plain";
259
+ readonly moods: readonly ["calm", "professional", "editorial"];
250
260
  }, {
251
261
  readonly id: HeaderStyleId;
252
262
  readonly label: "Fine Line";
@@ -254,6 +264,9 @@ export declare const headerStyleCatalog: readonly [{
254
264
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
255
265
  readonly navInteraction: "underline-grow";
256
266
  readonly surface: "bordered";
267
+ readonly defaultDepth: "line";
268
+ readonly navTypography: "plain";
269
+ readonly moods: readonly ["calm", "professional", "editorial"];
257
270
  }, {
258
271
  readonly id: HeaderStyleId;
259
272
  readonly label: "Soft Bar";
@@ -261,6 +274,9 @@ export declare const headerStyleCatalog: readonly [{
261
274
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
262
275
  readonly navInteraction: "pill-background";
263
276
  readonly surface: "soft";
277
+ readonly defaultDepth: "line";
278
+ readonly navTypography: "plain";
279
+ readonly moods: readonly ["calm", "professional"];
264
280
  }, {
265
281
  readonly id: HeaderStyleId;
266
282
  readonly label: "Pill Nav";
@@ -268,6 +284,9 @@ export declare const headerStyleCatalog: readonly [{
268
284
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
269
285
  readonly navInteraction: "pill-background";
270
286
  readonly surface: "soft";
287
+ readonly defaultDepth: "none";
288
+ readonly navTypography: "plain";
289
+ readonly moods: readonly ["calm"];
271
290
  }, {
272
291
  readonly id: HeaderStyleId;
273
292
  readonly label: "Brand Bar";
@@ -275,6 +294,9 @@ export declare const headerStyleCatalog: readonly [{
275
294
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
276
295
  readonly navInteraction: "color-change";
277
296
  readonly surface: "brand-solid";
297
+ readonly defaultDepth: "none";
298
+ readonly navTypography: "brand-caps";
299
+ readonly moods: readonly ["professional", "expressive", "utility"];
278
300
  }, {
279
301
  readonly id: HeaderStyleId;
280
302
  readonly label: "Brand Underline";
@@ -282,6 +304,9 @@ export declare const headerStyleCatalog: readonly [{
282
304
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
283
305
  readonly navInteraction: "underline-grow";
284
306
  readonly surface: "brand-solid";
307
+ readonly defaultDepth: "none";
308
+ readonly navTypography: "brand-caps";
309
+ readonly moods: readonly ["expressive"];
285
310
  }, {
286
311
  readonly id: HeaderStyleId;
287
312
  readonly label: "Brand Pill";
@@ -289,13 +314,19 @@ export declare const headerStyleCatalog: readonly [{
289
314
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
290
315
  readonly navInteraction: "pill-background";
291
316
  readonly surface: "brand-solid";
317
+ readonly defaultDepth: "none";
318
+ readonly navTypography: "brand-caps";
319
+ readonly moods: readonly ["expressive"];
292
320
  }, {
293
321
  readonly id: HeaderStyleId;
294
- readonly label: "Editorial Line";
322
+ readonly label: "Serif Line";
295
323
  readonly description: "Typographic logo treatment with understated underline navigation.";
296
324
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
297
325
  readonly navInteraction: "underline-grow";
298
326
  readonly surface: "bordered";
327
+ readonly defaultDepth: "line";
328
+ readonly navTypography: "heading";
329
+ readonly moods: readonly ["editorial", "calm"];
299
330
  }, {
300
331
  readonly id: HeaderStyleId;
301
332
  readonly label: "Flat Tabs";
@@ -303,22 +334,29 @@ export declare const headerStyleCatalog: readonly [{
303
334
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
304
335
  readonly navInteraction: "flat-block";
305
336
  readonly surface: "bordered";
337
+ readonly defaultDepth: "shadow";
338
+ readonly navTypography: "quiet-caps";
339
+ readonly moods: readonly ["professional", "utility", "expressive"];
306
340
  }, {
307
341
  readonly id: HeaderStyleId;
308
342
  readonly label: "Glass";
309
- readonly description: "Floating translucent chrome with frosted navigation backing.";
343
+ readonly description: "Translucent chrome with frosted navigation backing.";
310
344
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
311
345
  readonly navInteraction: "glass-backed";
312
346
  readonly surface: "floating";
313
- readonly requiresFloatingLayout: true;
347
+ readonly defaultDepth: "shadow";
348
+ readonly navTypography: "plain";
349
+ readonly moods: readonly ["expressive", "calm"];
314
350
  }, {
315
351
  readonly id: HeaderStyleId;
316
- readonly label: "Minimal Surface";
317
- readonly description: "Floating chrome with a restrained translucent surface.";
352
+ readonly label: "Clear Split";
353
+ readonly description: "Floating logo with transparent navigation and no shared shell.";
318
354
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
319
355
  readonly navInteraction: "color-change";
320
356
  readonly surface: "floating";
321
- readonly requiresFloatingLayout: true;
357
+ readonly defaultDepth: "none";
358
+ readonly navTypography: "plain";
359
+ readonly moods: readonly ["editorial", "calm"];
322
360
  }, {
323
361
  readonly id: HeaderStyleId;
324
362
  readonly label: "Soft Shell";
@@ -326,7 +364,29 @@ export declare const headerStyleCatalog: readonly [{
326
364
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
327
365
  readonly navInteraction: "pill-background";
328
366
  readonly surface: "floating";
329
- readonly requiresFloatingLayout: true;
367
+ readonly defaultDepth: "shadow";
368
+ readonly navTypography: "plain";
369
+ readonly moods: readonly ["calm", "professional"];
370
+ }, {
371
+ readonly id: HeaderStyleId;
372
+ readonly label: "Split Glass";
373
+ readonly description: "Logo floats independently while the navigation sits in a glass rail.";
374
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
375
+ readonly navInteraction: "glass-backed";
376
+ readonly surface: "floating";
377
+ readonly defaultDepth: "shadow";
378
+ readonly navTypography: "quiet-caps";
379
+ readonly moods: readonly ["expressive"];
380
+ }, {
381
+ readonly id: HeaderStyleId;
382
+ readonly label: "Split Pill";
383
+ readonly description: "Logo floats independently with a soft pill-backed navigation rail.";
384
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
385
+ readonly navInteraction: "pill-background";
386
+ readonly surface: "floating";
387
+ readonly defaultDepth: "shadow";
388
+ readonly navTypography: "heading";
389
+ readonly moods: readonly ["calm", "editorial"];
330
390
  }];
331
391
  export declare const legacyHeaderLookAliases: readonly [{
332
392
  readonly lookId: HeaderLookId;
@@ -383,12 +443,14 @@ export declare function isHeaderStyleCompatibleWithLayout(style: HeaderStyleDefi
383
443
  export declare function resolveLegacyHeaderLookAlias(lookId: HeaderLookId): HeaderLayoutStyleSelection | null;
384
444
  export declare function findLegacyHeaderLookIdForSelection(selection: HeaderLayoutStyleSelection): HeaderLookId | null;
385
445
  export declare function getCompatibleHeaderStyleIds(layoutId: HeaderLayoutId): readonly HeaderStyleId[];
446
+ export declare function getOrderedHeaderLayoutIdsForCuration(curation: HeaderLayoutStyleCuration): readonly HeaderLayoutId[];
447
+ export declare function getOrderedHeaderStyleIdsForLayout(curation: HeaderLayoutStyleCuration, layoutId: HeaderLayoutId): readonly HeaderStyleId[];
386
448
  export declare function deriveNearestCompatibleHeaderStyle(styleId: HeaderStyleId, layoutId: HeaderLayoutId): HeaderStyleId;
387
449
  export declare function resolveHeaderLayoutStyleSelection(selection: HeaderLayoutStyleSelection): HeaderLayoutStyleResolution;
388
450
  export declare function compileHeaderLayoutStyleSelection(theme: Theme, selection: HeaderLayoutStyleSelection): Theme['header'];
389
451
  declare function solidBrandHeader(theme: Theme): Theme['header'];
390
452
  declare function cleanBaseHeader(theme: Theme): Theme['header'];
391
- declare function editorialLineHeader(theme: Theme): Theme['header'];
453
+ declare function serifLineHeader(theme: Theme): Theme['header'];
392
454
  declare function centeredCalmHeader(theme: Theme): Theme['header'];
393
455
  declare function practicalUtilityHeader(theme: Theme): Theme['header'];
394
456
  declare function minimalTransparentHeader(theme: Theme): Theme['header'];
@@ -420,25 +482,25 @@ export declare const headerLookCatalog: readonly [{
420
482
  readonly compile: typeof solidBrandHeader;
421
483
  }, {
422
484
  readonly id: HeaderLookId;
423
- readonly label: "Editorial line";
424
- readonly visualTreatment: "light-editorial";
485
+ readonly label: "Serif line";
486
+ readonly visualTreatment: "light-serif";
425
487
  readonly layoutBehavior: "sticky";
426
488
  readonly configuration: {
427
- readonly structure: "editorial-stack";
428
- readonly treatment: "light-editorial";
489
+ readonly structure: "centered-stack";
490
+ readonly treatment: "light-serif";
429
491
  readonly behavior: "sticky";
430
492
  };
431
493
  readonly openingRequirement: "none";
432
494
  readonly maxRecommendedNavItems: 6;
433
- readonly compile: typeof editorialLineHeader;
495
+ readonly compile: typeof serifLineHeader;
434
496
  }, {
435
497
  readonly id: HeaderLookId;
436
498
  readonly label: "Centered calm";
437
- readonly visualTreatment: "light-editorial";
499
+ readonly visualTreatment: "light-serif";
438
500
  readonly layoutBehavior: "normal-flow";
439
501
  readonly configuration: {
440
502
  readonly structure: "centered-stack";
441
- readonly treatment: "light-editorial";
503
+ readonly treatment: "light-serif";
442
504
  readonly behavior: "normal-flow";
443
505
  };
444
506
  readonly openingRequirement: "none";
@@ -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";