@riverbankcms/sdk 0.78.2 → 0.80.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 +80 -0
  2. package/dist/PreviewEditorSidebar-QZG37QIF.mjs +2655 -0
  3. package/dist/{PreviewEditorUI-CS5P4N3P.mjs → PreviewEditorUI-AXIKSMZA.mjs} +27 -4
  4. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +56 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +79 -0
  7. package/dist/_dts/api/src/index.d.ts +6 -4
  8. package/dist/_dts/api/src/media.d.ts +8 -1
  9. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  10. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
  11. package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
  12. package/dist/_dts/api/src/navigation.d.ts +2 -0
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
  14. package/dist/_dts/api/src/sdkContracts.d.ts +1 -0
  15. package/dist/_dts/api/src/siteIcons.d.ts +128 -0
  16. package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +16 -0
  18. package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
  19. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -1
  20. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  21. package/dist/_dts/api/src/types.d.ts +1 -1
  22. package/dist/_dts/api/src/webhooks.d.ts +239 -0
  23. package/dist/_dts/block-form/src/client/index.d.ts +2 -0
  24. package/dist/_dts/block-form/src/index.d.ts +2 -0
  25. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
  26. package/dist/_dts/blocks/src/client/header.d.ts +1 -1
  27. package/dist/_dts/blocks/src/client.d.ts +12 -12
  28. package/dist/_dts/blocks/src/index.d.ts +5 -1
  29. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  33. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  36. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -1
  37. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  38. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
  39. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +22 -22
  44. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  45. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  46. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  47. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +13 -1
  48. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +179 -0
  49. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -2
  50. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +1 -0
  51. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +10 -0
  52. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
  53. package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
  54. package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
  55. package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
  56. package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
  57. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
  58. package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
  59. package/dist/_dts/blocks/src/system/index.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
  61. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -7
  65. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  66. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -5
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
  75. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
  78. package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
  79. package/dist/_dts/core/src/branded.d.ts +6 -0
  80. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +200 -3
  81. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -1
  82. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +8 -1
  83. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +8 -2
  84. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +17 -0
  85. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +42 -0
  86. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +7 -1
  87. package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
  88. package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
  89. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  90. package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
  91. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -2
  92. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
  93. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
  94. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -1
  95. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
  96. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
  97. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +34 -0
  98. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
  99. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +8 -1
  100. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
  101. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
  102. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
  103. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
  104. package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
  105. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
  106. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
  107. package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
  108. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -1
  109. package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
  110. package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
  111. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
  112. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
  113. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
  114. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  115. package/dist/_dts/sdk/src/client/management/types.d.ts +58 -0
  116. package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
  117. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  118. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  119. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +24 -4
  120. package/dist/_dts/sdk/src/next/index.d.ts +1 -1
  121. package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
  122. package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
  123. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
  124. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  125. package/dist/_dts/sdk/src/version.d.ts +1 -1
  126. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  127. package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
  128. package/dist/_dts/site-commands/src/commands.d.ts +3 -0
  129. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
  130. package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
  131. package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
  132. package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
  134. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  135. package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
  136. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
  137. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +105 -0
  138. package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +159 -21
  141. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  142. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
  143. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
  144. package/dist/_dts/theme-core/src/schema.d.ts +451 -57
  145. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +86 -17
  146. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
  147. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +86 -17
  148. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +135 -3
  149. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
  150. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
  151. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  152. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +286 -6
  153. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  154. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
  155. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -12
  156. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  157. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -7
  158. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
  159. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +2 -2
  160. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  161. package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
  162. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +7 -29
  164. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
  165. package/dist/_dts/ui/src/combobox.d.ts +1 -0
  166. package/dist/{PreviewEditorSidebar-4DXLYX2V.mjs → chunk-5NZGBSJF.mjs} +2215 -2566
  167. package/dist/{chunk-RGTOD4AJ.mjs → chunk-7PCYG6YV.mjs} +621 -108
  168. package/dist/{chunk-CR5HKAGU.mjs → chunk-BBLZSQEY.mjs} +79 -0
  169. package/dist/{chunk-MCRQMPET.mjs → chunk-GYXKAUFV.mjs} +4500 -912
  170. package/dist/{chunk-6HYXHRAI.mjs → chunk-HTB4BMKD.mjs} +267 -49
  171. package/dist/{chunk-OKMBEAXY.mjs → chunk-MPBNEVPB.mjs} +1 -1
  172. package/dist/cli/index.mjs +3255 -702
  173. package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
  174. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +150 -0
  175. package/dist/client/{accordion-PLYNJIIM.mjs → accordion-QFZMNB7O.mjs} +1 -1
  176. package/dist/client/{bookingForm-BXAP6AO7.mjs → bookingForm-NCIXFWIG.mjs} +3 -3
  177. package/dist/client/bookings.mjs +1246 -323
  178. package/dist/client/{carousel-TRBXDHGF.mjs → carousel-EO4BJMWD.mjs} +2 -2
  179. package/dist/client/{cart-Z7H3HJRS.mjs → cart-FTYCLYUW.mjs} +5 -5
  180. package/dist/client/{checkout-WAFCUBIX.mjs → checkout-NFGLVCOX.mjs} +5 -5
  181. package/dist/client/{chunk-CWGTG37I.mjs → chunk-4W66ALYT.mjs} +1 -1
  182. package/dist/client/{chunk-JRDUHZCT.mjs → chunk-6GVVWSPU.mjs} +4 -4
  183. package/dist/client/{chunk-75OUS5MT.mjs → chunk-IWFZSQNZ.mjs} +1 -1
  184. package/dist/client/{chunk-JGXPTEI2.mjs → chunk-PUOELU4O.mjs} +95 -8
  185. package/dist/client/{chunk-FUXW6VW2.mjs → chunk-PYRBIURC.mjs} +4 -4
  186. package/dist/client/{chunk-ZI3LLBPZ.mjs → chunk-T6UIP6UZ.mjs} +1 -1
  187. package/dist/client/{chunk-DNRGY432.mjs → chunk-VDS5YFLX.mjs} +1 -1
  188. package/dist/client/{chunk-UVQEJJTN.mjs → chunk-Y37KDO7P.mjs} +1 -1
  189. package/dist/client/client.mjs +24277 -20796
  190. package/dist/client/{courseRegistration-AHFQHWIJ.mjs → courseRegistration-2EORROPS.mjs} +3 -3
  191. package/dist/client/{eventCalendar-LDXTV5R7.mjs → eventCalendar-WZI4VL6N.mjs} +5 -5
  192. package/dist/client/{eventCombined-A4JGTNJO.mjs → eventCombined-QCB2TCNL.mjs} +5 -5
  193. package/dist/client/{eventDetails-4YXTZ7EG.mjs → eventDetails-TFTATAPH.mjs} +5 -5
  194. package/dist/client/{eventListing-P72TPFFM.mjs → eventListing-A2CQEHEQ.mjs} +5 -5
  195. package/dist/client/{eventRegistration-LSYJHGMT.mjs → eventRegistration-OELPVLUY.mjs} +5 -5
  196. package/dist/client/{form-AOPYOKOW.mjs → form-NTIFD6WQ.mjs} +1 -1
  197. package/dist/client/{headerSection-5TFYDFVQ.mjs → headerSection-7TBNKCLA.mjs} +65 -24
  198. package/dist/client/hooks.mjs +3687 -2024
  199. package/dist/client/{locationMap-QSZ3ZVAZ.mjs → locationMap-LRLB5A3H.mjs} +1 -1
  200. package/dist/client/{newsletterForm-KTRHZY52.mjs → newsletterForm-XI52RZSN.mjs} +1 -1
  201. package/dist/client/{productDetail-N4E775RG.mjs → productDetail-GSNKBFLY.mjs} +5 -5
  202. package/dist/client/{productList-UGUQ2S45.mjs → productList-BGCGT4KZ.mjs} +5 -5
  203. package/dist/client/rendering/client.mjs +5274 -3030
  204. package/dist/client/rendering/islands.mjs +18 -18
  205. package/dist/client/rendering.mjs +6271 -2790
  206. package/dist/client/{shop-VHSZEEQ2.mjs → shop-RQHUCLNY.mjs} +5 -5
  207. package/dist/preview-next/before-render.mjs +79 -0
  208. package/dist/preview-next/client/runtime.mjs +5 -5
  209. package/dist/preview-next/middleware.mjs +79 -0
  210. package/dist/{sdk-runtime-WHPJEF5G.mjs → sdk-runtime-A4LHT2RS.mjs} +6 -6
  211. package/dist/server/components.mjs +6215 -3057
  212. package/dist/server/config-validation.mjs +3858 -2194
  213. package/dist/server/config.mjs +3858 -2194
  214. package/dist/server/data.mjs +3687 -2024
  215. package/dist/server/index.mjs +88 -1
  216. package/dist/server/next/revalidate.mjs +229 -34
  217. package/dist/server/next.mjs +6295 -3036
  218. package/dist/server/page-converter.mjs +3055 -1883
  219. package/dist/server/prebuild.mjs +1 -1
  220. package/dist/server/rendering/server.mjs +6220 -3062
  221. package/dist/server/rendering.mjs +6233 -3075
  222. package/dist/server/routing.mjs +4251 -2137
  223. package/dist/server/server.mjs +3705 -2042
  224. package/dist/server/theme-bridge.mjs +1617 -329
  225. package/dist/server/theme.mjs +411 -221
  226. package/dist/server/webhooks.mjs +129 -25
  227. package/dist/styles/index.css +355 -33
  228. package/package.json +2 -1
  229. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +0 -8
  230. package/dist/chunk-4QEGTLK6.mjs +0 -1175
@@ -29,9 +29,10 @@ export declare const generatedSiteStyleIdSchema: z.ZodPipe<z.ZodEnum<{
29
29
  "site-style:personal-retreat-journal": "site-style:personal-retreat-journal";
30
30
  "site-style:tactile-workshop": "site-style:tactile-workshop";
31
31
  "site-style:modern-wellness": "site-style:modern-wellness";
32
+ "site-style:clarity-zen-blue": "site-style:clarity-zen-blue";
32
33
  "site-style:bold-launch": "site-style:bold-launch";
33
34
  "site-style:south-west-twerk-school": "site-style:south-west-twerk-school";
34
- }>, z.ZodTransform<SiteStyleId, "site-style:soft-earth" | "site-style:calm-studio" | "site-style:clear-professional" | "site-style:warm-editorial" | "site-style:bright-community" | "site-style:quiet-luxury" | "site-style:practical-services" | "site-style:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
35
+ }>, z.ZodTransform<SiteStyleId, "site-style:soft-earth" | "site-style:calm-studio" | "site-style:clear-professional" | "site-style:warm-editorial" | "site-style:bright-community" | "site-style:quiet-luxury" | "site-style:practical-services" | "site-style:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:clarity-zen-blue" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
35
36
  export declare const generatedBlockDesignIntentSchema: z.ZodObject<{
36
37
  sectionSurface: z.ZodDiscriminatedUnion<[z.ZodObject<{
37
38
  source: z.ZodLiteral<"generated">;
@@ -81,6 +82,8 @@ export declare const generatedBlockDesignIntentSchema: z.ZodObject<{
81
82
  flat: "flat";
82
83
  none: "none";
83
84
  default: "default";
85
+ inset: "inset";
86
+ editorial: "editorial";
84
87
  raised: "raised";
85
88
  outlined: "outlined";
86
89
  }>;
@@ -172,9 +175,10 @@ export declare const generatedPageDesignIntentSchema: z.ZodObject<{
172
175
  "site-style:personal-retreat-journal": "site-style:personal-retreat-journal";
173
176
  "site-style:tactile-workshop": "site-style:tactile-workshop";
174
177
  "site-style:modern-wellness": "site-style:modern-wellness";
178
+ "site-style:clarity-zen-blue": "site-style:clarity-zen-blue";
175
179
  "site-style:bold-launch": "site-style:bold-launch";
176
180
  "site-style:south-west-twerk-school": "site-style:south-west-twerk-school";
177
- }>, z.ZodTransform<SiteStyleId, "site-style:soft-earth" | "site-style:calm-studio" | "site-style:clear-professional" | "site-style:warm-editorial" | "site-style:bright-community" | "site-style:quiet-luxury" | "site-style:practical-services" | "site-style:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
181
+ }>, z.ZodTransform<SiteStyleId, "site-style:soft-earth" | "site-style:calm-studio" | "site-style:clear-professional" | "site-style:warm-editorial" | "site-style:bright-community" | "site-style:quiet-luxury" | "site-style:practical-services" | "site-style:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:clarity-zen-blue" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
178
182
  blocks: z.ZodArray<z.ZodObject<{
179
183
  blockId: z.ZodString;
180
184
  blockKind: z.ZodString;
@@ -228,6 +232,8 @@ export declare const generatedPageDesignIntentSchema: z.ZodObject<{
228
232
  flat: "flat";
229
233
  none: "none";
230
234
  default: "default";
235
+ inset: "inset";
236
+ editorial: "editorial";
231
237
  raised: "raised";
232
238
  outlined: "outlined";
233
239
  }>;
@@ -1,5 +1,6 @@
1
1
  import type { Theme, ThemeHeader } from '../schema';
2
2
  import { type SiteChromeLookDiagnostics } from './customizableSurfaces';
3
+ import { type BrandDisplayMode, type HeaderBrandPresentationPlan, type HeaderBrandPresentationSelection, type LogoAccommodationOption, type LogoAccommodationRejectionReason, type LogoFacts, type LogoSizePolicy } from './logoBranding';
3
4
  import { type Brand } from './types';
4
5
  export declare const headerLookIdValues: readonly ["clean-base", "brand-solid", "serif-line", "centered-calm", "practical-utility", "minimal-transparent", "transparent-overlay", "floating-glass"];
5
6
  export type HeaderLookIdValue = (typeof headerLookIdValues)[number];
@@ -144,7 +145,7 @@ export type HeaderLookDefinition = Readonly<{
144
145
  configuration: HeaderConfiguration;
145
146
  openingRequirement: HeaderLookOpeningRequirement;
146
147
  maxRecommendedNavItems?: number;
147
- allowedLogoShapes?: readonly HeaderLogoShape[];
148
+ logoAccommodations: readonly LogoAccommodationOption[];
148
149
  requiresProminentCta?: boolean;
149
150
  compile: (theme: Theme) => Theme['header'];
150
151
  }>;
@@ -180,9 +181,19 @@ export type OverlayHeaderOpeningPlan = Readonly<{
180
181
  topSpacing: 'preserve' | 'add';
181
182
  legibilityFallback: 'none' | 'glass-nav-backing';
182
183
  }>;
183
- export type HeaderLogoContext = Readonly<{
184
+ export type HeaderLogoPreferences = Readonly<{
185
+ brandDisplayMode?: BrandDisplayMode;
186
+ sizePolicy?: LogoSizePolicy;
187
+ }>;
188
+ export type HeaderLogoShapeContext = HeaderLogoPreferences & Readonly<{
189
+ kind?: 'shape';
184
190
  shape: HeaderLogoShape;
185
191
  }>;
192
+ export type HeaderLogoFactsContext = HeaderLogoPreferences & Readonly<{
193
+ kind: 'facts';
194
+ facts: LogoFacts;
195
+ }>;
196
+ export type HeaderLogoContext = HeaderLogoShapeContext | HeaderLogoFactsContext;
186
197
  export type HeaderNavigationContext = Readonly<{
187
198
  itemCount: number;
188
199
  }>;
@@ -199,7 +210,7 @@ export type HeaderSelectionContext = Readonly<{
199
210
  cta: HeaderCtaContext;
200
211
  banner: HeaderBannerContext;
201
212
  }>;
202
- export type RejectedHeaderLookReason = 'requires-image-hero-with-contrast-overlay' | 'too-many-nav-items' | 'logo-shape-incompatible' | 'cta-treatment-unavailable';
213
+ export type RejectedHeaderLookReason = 'requires-image-hero-with-contrast-overlay' | 'too-many-nav-items' | LogoAccommodationRejectionReason | 'cta-treatment-unavailable';
203
214
  export type RejectedHeaderLook = Readonly<{
204
215
  lookId: HeaderLookId;
205
216
  reasons: readonly RejectedHeaderLookReason[];
@@ -208,6 +219,7 @@ export type HeaderSelectionResult = Readonly<{
208
219
  selectedLookId: HeaderLookId;
209
220
  selectedLook: HeaderLookDefinition;
210
221
  header: Theme['header'];
222
+ brandPresentation: HeaderBrandPresentationSelection;
211
223
  rejected: readonly RejectedHeaderLook[];
212
224
  }>;
213
225
  export type HeaderLookDiagnostics = SiteChromeLookDiagnostics<HeaderLookId, RejectedHeaderLookReason>;
@@ -218,6 +230,11 @@ export type HeaderLookResolutionInput = Readonly<{
218
230
  }>;
219
231
  export declare const defaultHeaderSelectionContext: HeaderSelectionContext;
220
232
  export declare function planOverlayHeaderOpening(opening: HeaderOpeningSectionContext): OverlayHeaderOpeningPlan;
233
+ export declare function resolveHeaderBrandPresentation(input: Readonly<{
234
+ logo: HeaderLogoContext;
235
+ accommodations: readonly LogoAccommodationOption[];
236
+ allowDisplayFallback?: boolean;
237
+ }>): HeaderBrandPresentationPlan;
221
238
  export declare const headerLayoutCatalog: readonly [{
222
239
  readonly id: HeaderLayoutId;
223
240
  readonly label: "Classic";
@@ -467,6 +484,41 @@ export declare const headerLookCatalog: readonly [{
467
484
  readonly behavior: "sticky";
468
485
  };
469
486
  readonly openingRequirement: "none";
487
+ readonly logoAccommodations: readonly [{
488
+ readonly pattern: "title-only";
489
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
490
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
491
+ readonly supportedDisplayModes: readonly ["title-only"];
492
+ readonly size: "compact";
493
+ }, {
494
+ readonly pattern: "inline-wordmark";
495
+ readonly supportedShapes: readonly ["horizontal"];
496
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
497
+ readonly supportedDisplayModes: readonly ["logo-only"];
498
+ readonly size: "standard";
499
+ readonly maxDensity: "detailed";
500
+ }, {
501
+ readonly pattern: "inline-mark-with-title";
502
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
503
+ readonly supportedTextPresence: readonly ["no-text"];
504
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
505
+ readonly size: "compact";
506
+ readonly maxDensity: "simple";
507
+ }, {
508
+ readonly pattern: "popout-badge";
509
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
510
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
511
+ readonly supportedDisplayModes: readonly ["logo-only"];
512
+ readonly size: "display";
513
+ readonly providesBacking: true;
514
+ }, {
515
+ readonly pattern: "logo-plate";
516
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
517
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
518
+ readonly supportedDisplayModes: readonly ["logo-only"];
519
+ readonly size: "display";
520
+ readonly providesBacking: true;
521
+ }];
470
522
  readonly compile: typeof cleanBaseHeader;
471
523
  }, {
472
524
  readonly id: HeaderLookId;
@@ -479,6 +531,41 @@ export declare const headerLookCatalog: readonly [{
479
531
  readonly behavior: "sticky-shrink";
480
532
  };
481
533
  readonly openingRequirement: "none";
534
+ readonly logoAccommodations: readonly [{
535
+ readonly pattern: "title-only";
536
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
537
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
538
+ readonly supportedDisplayModes: readonly ["title-only"];
539
+ readonly size: "compact";
540
+ }, {
541
+ readonly pattern: "inline-wordmark";
542
+ readonly supportedShapes: readonly ["horizontal"];
543
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
544
+ readonly supportedDisplayModes: readonly ["logo-only"];
545
+ readonly size: "standard";
546
+ readonly maxDensity: "detailed";
547
+ }, {
548
+ readonly pattern: "inline-mark-with-title";
549
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
550
+ readonly supportedTextPresence: readonly ["no-text"];
551
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
552
+ readonly size: "compact";
553
+ readonly maxDensity: "simple";
554
+ }, {
555
+ readonly pattern: "popout-badge";
556
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
557
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
558
+ readonly supportedDisplayModes: readonly ["logo-only"];
559
+ readonly size: "display";
560
+ readonly providesBacking: true;
561
+ }, {
562
+ readonly pattern: "logo-plate";
563
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
564
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
565
+ readonly supportedDisplayModes: readonly ["logo-only"];
566
+ readonly size: "display";
567
+ readonly providesBacking: true;
568
+ }];
482
569
  readonly compile: typeof solidBrandHeader;
483
570
  }, {
484
571
  readonly id: HeaderLookId;
@@ -492,6 +579,41 @@ export declare const headerLookCatalog: readonly [{
492
579
  };
493
580
  readonly openingRequirement: "none";
494
581
  readonly maxRecommendedNavItems: 6;
582
+ readonly logoAccommodations: readonly [{
583
+ readonly pattern: "title-only";
584
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
585
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
586
+ readonly supportedDisplayModes: readonly ["title-only"];
587
+ readonly size: "compact";
588
+ }, {
589
+ readonly pattern: "inline-wordmark";
590
+ readonly supportedShapes: readonly ["horizontal"];
591
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
592
+ readonly supportedDisplayModes: readonly ["logo-only"];
593
+ readonly size: "standard";
594
+ readonly maxDensity: "detailed";
595
+ }, {
596
+ readonly pattern: "inline-mark-with-title";
597
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
598
+ readonly supportedTextPresence: readonly ["no-text"];
599
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
600
+ readonly size: "compact";
601
+ readonly maxDensity: "simple";
602
+ }, {
603
+ readonly pattern: "centered-masthead";
604
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
605
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
606
+ readonly supportedDisplayModes: readonly ["logo-only"];
607
+ readonly size: "display";
608
+ readonly providesBacking: true;
609
+ }, {
610
+ readonly pattern: "centered-badge";
611
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
612
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
613
+ readonly supportedDisplayModes: readonly ["logo-only"];
614
+ readonly size: "display";
615
+ readonly providesBacking: true;
616
+ }];
495
617
  readonly compile: typeof serifLineHeader;
496
618
  }, {
497
619
  readonly id: HeaderLookId;
@@ -505,7 +627,41 @@ export declare const headerLookCatalog: readonly [{
505
627
  };
506
628
  readonly openingRequirement: "none";
507
629
  readonly maxRecommendedNavItems: 5;
508
- readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal", "square"];
630
+ readonly logoAccommodations: readonly [{
631
+ readonly pattern: "title-only";
632
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
633
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
634
+ readonly supportedDisplayModes: readonly ["title-only"];
635
+ readonly size: "compact";
636
+ }, {
637
+ readonly pattern: "inline-wordmark";
638
+ readonly supportedShapes: readonly ["horizontal"];
639
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
640
+ readonly supportedDisplayModes: readonly ["logo-only"];
641
+ readonly size: "standard";
642
+ readonly maxDensity: "detailed";
643
+ }, {
644
+ readonly pattern: "inline-mark-with-title";
645
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
646
+ readonly supportedTextPresence: readonly ["no-text"];
647
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
648
+ readonly size: "compact";
649
+ readonly maxDensity: "simple";
650
+ }, {
651
+ readonly pattern: "centered-masthead";
652
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
653
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
654
+ readonly supportedDisplayModes: readonly ["logo-only"];
655
+ readonly size: "display";
656
+ readonly providesBacking: true;
657
+ }, {
658
+ readonly pattern: "centered-badge";
659
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
660
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
661
+ readonly supportedDisplayModes: readonly ["logo-only"];
662
+ readonly size: "display";
663
+ readonly providesBacking: true;
664
+ }];
509
665
  readonly compile: typeof centeredCalmHeader;
510
666
  }, {
511
667
  readonly id: HeaderLookId;
@@ -519,6 +675,41 @@ export declare const headerLookCatalog: readonly [{
519
675
  };
520
676
  readonly openingRequirement: "none";
521
677
  readonly requiresProminentCta: true;
678
+ readonly logoAccommodations: readonly [{
679
+ readonly pattern: "title-only";
680
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
681
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
682
+ readonly supportedDisplayModes: readonly ["title-only"];
683
+ readonly size: "compact";
684
+ }, {
685
+ readonly pattern: "inline-wordmark";
686
+ readonly supportedShapes: readonly ["horizontal"];
687
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
688
+ readonly supportedDisplayModes: readonly ["logo-only"];
689
+ readonly size: "standard";
690
+ readonly maxDensity: "detailed";
691
+ }, {
692
+ readonly pattern: "inline-mark-with-title";
693
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
694
+ readonly supportedTextPresence: readonly ["no-text"];
695
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
696
+ readonly size: "compact";
697
+ readonly maxDensity: "simple";
698
+ }, {
699
+ readonly pattern: "popout-badge";
700
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
701
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
702
+ readonly supportedDisplayModes: readonly ["logo-only"];
703
+ readonly size: "display";
704
+ readonly providesBacking: true;
705
+ }, {
706
+ readonly pattern: "logo-plate";
707
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
708
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
709
+ readonly supportedDisplayModes: readonly ["logo-only"];
710
+ readonly size: "display";
711
+ readonly providesBacking: true;
712
+ }];
522
713
  readonly compile: typeof practicalUtilityHeader;
523
714
  }, {
524
715
  readonly id: HeaderLookId;
@@ -531,6 +722,41 @@ export declare const headerLookCatalog: readonly [{
531
722
  readonly behavior: "normal-flow";
532
723
  };
533
724
  readonly openingRequirement: "reserved-space-ok";
725
+ readonly logoAccommodations: readonly [{
726
+ readonly pattern: "title-only";
727
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
728
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
729
+ readonly supportedDisplayModes: readonly ["title-only"];
730
+ readonly size: "compact";
731
+ }, {
732
+ readonly pattern: "inline-wordmark";
733
+ readonly supportedShapes: readonly ["horizontal"];
734
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
735
+ readonly supportedDisplayModes: readonly ["logo-only"];
736
+ readonly size: "standard";
737
+ readonly maxDensity: "detailed";
738
+ }, {
739
+ readonly pattern: "inline-mark-with-title";
740
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
741
+ readonly supportedTextPresence: readonly ["no-text"];
742
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
743
+ readonly size: "compact";
744
+ readonly maxDensity: "simple";
745
+ }, {
746
+ readonly pattern: "popout-badge";
747
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
748
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
749
+ readonly supportedDisplayModes: readonly ["logo-only"];
750
+ readonly size: "display";
751
+ readonly providesBacking: true;
752
+ }, {
753
+ readonly pattern: "logo-plate";
754
+ readonly supportedShapes: readonly ["square", "portrait", "tall"];
755
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
756
+ readonly supportedDisplayModes: readonly ["logo-only"];
757
+ readonly size: "display";
758
+ readonly providesBacking: true;
759
+ }];
534
760
  readonly compile: typeof minimalTransparentHeader;
535
761
  }, {
536
762
  readonly id: HeaderLookId;
@@ -544,7 +770,34 @@ export declare const headerLookCatalog: readonly [{
544
770
  };
545
771
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
546
772
  readonly maxRecommendedNavItems: 5;
547
- readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
773
+ readonly logoAccommodations: readonly [{
774
+ readonly pattern: "title-only";
775
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
776
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
777
+ readonly supportedDisplayModes: readonly ["title-only"];
778
+ readonly size: "compact";
779
+ }, {
780
+ readonly pattern: "inline-wordmark";
781
+ readonly supportedShapes: readonly ["horizontal"];
782
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
783
+ readonly supportedDisplayModes: readonly ["logo-only"];
784
+ readonly size: "standard";
785
+ readonly maxDensity: "detailed";
786
+ }, {
787
+ readonly pattern: "inline-mark-with-title";
788
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
789
+ readonly supportedTextPresence: readonly ["no-text"];
790
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
791
+ readonly size: "compact";
792
+ readonly maxDensity: "simple";
793
+ }, {
794
+ readonly pattern: "inline-logo-only";
795
+ readonly supportedShapes: readonly ["square"];
796
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
797
+ readonly supportedDisplayModes: readonly ["logo-only"];
798
+ readonly size: "compact";
799
+ readonly providesBacking: false;
800
+ }];
548
801
  readonly compile: typeof transparentOverlayHeader;
549
802
  }, {
550
803
  readonly id: HeaderLookId;
@@ -558,7 +811,34 @@ export declare const headerLookCatalog: readonly [{
558
811
  };
559
812
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
560
813
  readonly maxRecommendedNavItems: 5;
561
- readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
814
+ readonly logoAccommodations: readonly [{
815
+ readonly pattern: "title-only";
816
+ readonly supportedShapes: readonly ["none", "horizontal", "square", "portrait", "tall"];
817
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
818
+ readonly supportedDisplayModes: readonly ["title-only"];
819
+ readonly size: "compact";
820
+ }, {
821
+ readonly pattern: "inline-wordmark";
822
+ readonly supportedShapes: readonly ["horizontal"];
823
+ readonly supportedTextPresence: readonly ["contains-text", "no-text", "unknown"];
824
+ readonly supportedDisplayModes: readonly ["logo-only"];
825
+ readonly size: "standard";
826
+ readonly maxDensity: "detailed";
827
+ }, {
828
+ readonly pattern: "inline-mark-with-title";
829
+ readonly supportedShapes: readonly ["horizontal", "square", "portrait", "tall"];
830
+ readonly supportedTextPresence: readonly ["no-text"];
831
+ readonly supportedDisplayModes: readonly ["logo-plus-title"];
832
+ readonly size: "compact";
833
+ readonly maxDensity: "simple";
834
+ }, {
835
+ readonly pattern: "inline-logo-only";
836
+ readonly supportedShapes: readonly ["square"];
837
+ readonly supportedTextPresence: readonly ["contains-text", "unknown"];
838
+ readonly supportedDisplayModes: readonly ["logo-only"];
839
+ readonly size: "compact";
840
+ readonly providesBacking: false;
841
+ }];
562
842
  readonly compile: typeof floatingGlassHeader;
563
843
  }];
564
844
  export declare const guaranteedFallbackHeaderLookId: HeaderLookId;
@@ -14,6 +14,7 @@ export * from './generatedDesignPipeline';
14
14
  export * from './headerLooks';
15
15
  export * from './headerOpeningSection';
16
16
  export * from './lookResolution';
17
+ export * from './logoBranding';
17
18
  export * from './pageDesignAuthority';
18
19
  export * from './pageDesignEditorErrors';
19
20
  export * from './pageDesignEditorModel';
@@ -24,6 +25,7 @@ export * from './rawStyleFields';
24
25
  export * from './records';
25
26
  export * from './resolver';
26
27
  export * from './runtimeCompiler';
28
+ export * from './siteStyleThemeCompiler';
27
29
  export * from './siteStyleBlockPolicies';
28
30
  export * from './sourceCatalogs';
29
31
  export * from './styleTags';
@@ -0,0 +1,193 @@
1
+ import { z } from 'zod';
2
+ export declare const logoTextConfidenceValues: readonly ["low", "medium", "high"];
3
+ export type LogoTextConfidence = 'low' | 'medium' | 'high';
4
+ export type LogoContainsText = Readonly<{
5
+ kind: 'contains-text';
6
+ confidence: LogoTextConfidence;
7
+ text?: string;
8
+ }> | Readonly<{
9
+ kind: 'no-text';
10
+ confidence: LogoTextConfidence;
11
+ }> | Readonly<{
12
+ kind: 'unknown';
13
+ reason: 'analysis-unavailable' | 'unsupported-file' | 'low-confidence';
14
+ }>;
15
+ export type LogoTextPresence = LogoContainsText['kind'];
16
+ export declare const logoAssetShapeValues: readonly ["none", "horizontal", "square", "portrait", "tall"];
17
+ export type LogoAssetShape = 'none' | 'horizontal' | 'square' | 'portrait' | 'tall';
18
+ export declare const logoKindValues: readonly ["mark", "wordmark", "lockup", "badge", "stacked-wordmark", "unknown"];
19
+ export type LogoKind = 'mark' | 'wordmark' | 'lockup' | 'badge' | 'stacked-wordmark' | 'unknown';
20
+ export declare const logoDensityValues: readonly ["simple", "detailed", "unknown"];
21
+ export type LogoDensity = 'simple' | 'detailed' | 'unknown';
22
+ export type LogoAnalysisSource = Readonly<{
23
+ kind: 'none';
24
+ }> | Readonly<{
25
+ kind: 'deterministic';
26
+ reason: 'dimensions' | 'fallback';
27
+ }> | Readonly<{
28
+ kind: 'llm';
29
+ model: 'gpt-5.4-mini';
30
+ analyzedAt?: string;
31
+ }> | Readonly<{
32
+ kind: 'manual-override';
33
+ }>;
34
+ export type LogoFacts = Readonly<{
35
+ shape: LogoAssetShape;
36
+ containsText: LogoContainsText;
37
+ kind: LogoKind;
38
+ density: LogoDensity;
39
+ source: LogoAnalysisSource;
40
+ }>;
41
+ export declare const logoContainsTextSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
42
+ kind: z.ZodLiteral<"contains-text">;
43
+ confidence: z.ZodEnum<{
44
+ medium: "medium";
45
+ high: "high";
46
+ low: "low";
47
+ }>;
48
+ text: z.ZodOptional<z.ZodString>;
49
+ }, z.core.$strip>, z.ZodObject<{
50
+ kind: z.ZodLiteral<"no-text">;
51
+ confidence: z.ZodEnum<{
52
+ medium: "medium";
53
+ high: "high";
54
+ low: "low";
55
+ }>;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ kind: z.ZodLiteral<"unknown">;
58
+ reason: z.ZodEnum<{
59
+ "analysis-unavailable": "analysis-unavailable";
60
+ "unsupported-file": "unsupported-file";
61
+ "low-confidence": "low-confidence";
62
+ }>;
63
+ }, z.core.$strip>], "kind">;
64
+ export declare const logoAnalysisSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
65
+ kind: z.ZodLiteral<"none">;
66
+ }, z.core.$strip>, z.ZodObject<{
67
+ kind: z.ZodLiteral<"deterministic">;
68
+ reason: z.ZodEnum<{
69
+ fallback: "fallback";
70
+ dimensions: "dimensions";
71
+ }>;
72
+ }, z.core.$strip>, z.ZodObject<{
73
+ kind: z.ZodLiteral<"llm">;
74
+ model: z.ZodLiteral<"gpt-5.4-mini">;
75
+ analyzedAt: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$strip>, z.ZodObject<{
77
+ kind: z.ZodLiteral<"manual-override">;
78
+ }, z.core.$strip>], "kind">;
79
+ export declare const logoFactsSchema: z.ZodObject<{
80
+ shape: z.ZodEnum<{
81
+ none: "none";
82
+ square: "square";
83
+ horizontal: "horizontal";
84
+ portrait: "portrait";
85
+ tall: "tall";
86
+ }>;
87
+ containsText: z.ZodDiscriminatedUnion<[z.ZodObject<{
88
+ kind: z.ZodLiteral<"contains-text">;
89
+ confidence: z.ZodEnum<{
90
+ medium: "medium";
91
+ high: "high";
92
+ low: "low";
93
+ }>;
94
+ text: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>, z.ZodObject<{
96
+ kind: z.ZodLiteral<"no-text">;
97
+ confidence: z.ZodEnum<{
98
+ medium: "medium";
99
+ high: "high";
100
+ low: "low";
101
+ }>;
102
+ }, z.core.$strip>, z.ZodObject<{
103
+ kind: z.ZodLiteral<"unknown">;
104
+ reason: z.ZodEnum<{
105
+ "analysis-unavailable": "analysis-unavailable";
106
+ "unsupported-file": "unsupported-file";
107
+ "low-confidence": "low-confidence";
108
+ }>;
109
+ }, z.core.$strip>], "kind">;
110
+ kind: z.ZodEnum<{
111
+ unknown: "unknown";
112
+ mark: "mark";
113
+ wordmark: "wordmark";
114
+ lockup: "lockup";
115
+ badge: "badge";
116
+ "stacked-wordmark": "stacked-wordmark";
117
+ }>;
118
+ density: z.ZodEnum<{
119
+ unknown: "unknown";
120
+ simple: "simple";
121
+ detailed: "detailed";
122
+ }>;
123
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ kind: z.ZodLiteral<"none">;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ kind: z.ZodLiteral<"deterministic">;
127
+ reason: z.ZodEnum<{
128
+ fallback: "fallback";
129
+ dimensions: "dimensions";
130
+ }>;
131
+ }, z.core.$strip>, z.ZodObject<{
132
+ kind: z.ZodLiteral<"llm">;
133
+ model: z.ZodLiteral<"gpt-5.4-mini">;
134
+ analyzedAt: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strip>, z.ZodObject<{
136
+ kind: z.ZodLiteral<"manual-override">;
137
+ }, z.core.$strip>], "kind">;
138
+ }, z.core.$strip>;
139
+ export type BrandDisplayMode = 'auto' | 'logo-only' | 'logo-plus-title' | 'title-only';
140
+ export declare const brandDisplayModeValues: readonly ["auto", "logo-only", "logo-plus-title", "title-only"];
141
+ export type ResolvedBrandDisplay = 'logo-only' | 'logo-plus-title' | 'title-only';
142
+ export declare const logoAccommodationPatternValues: readonly ["title-only", "inline-logo-only", "inline-wordmark", "inline-mark-with-title", "logo-plate", "centered-badge", "popout-badge", "centered-masthead", "hero-badge"];
143
+ export type LogoAccommodationPattern = 'title-only' | 'inline-logo-only' | 'inline-wordmark' | 'inline-mark-with-title' | 'logo-plate' | 'centered-badge' | 'popout-badge' | 'centered-masthead' | 'hero-badge';
144
+ export declare const logoSizePolicyValues: readonly ["auto", "compact", "standard", "generous", "display"];
145
+ export type LogoSizePolicy = 'auto' | 'compact' | 'standard' | 'generous' | 'display';
146
+ export type ResolvedLogoSize = Exclude<LogoSizePolicy, 'auto'>;
147
+ export type LogoAccommodationOption = Readonly<{
148
+ pattern: LogoAccommodationPattern;
149
+ supportedShapes: readonly LogoAssetShape[];
150
+ supportedTextPresence: readonly LogoTextPresence[];
151
+ supportedDisplayModes: readonly ResolvedBrandDisplay[];
152
+ /** Minimum readable size for this accommodation; explicit user size can only increase it. */
153
+ size: ResolvedLogoSize;
154
+ providesBacking?: boolean;
155
+ maxDensity?: Exclude<LogoDensity, 'unknown'>;
156
+ }>;
157
+ export type LogoAccommodationRejectionReason = 'logo-shape-incompatible' | 'logo-text-incompatible' | 'display-mode-incompatible' | 'logo-too-detailed-for-compact-slot' | 'requires-logo-backing' | 'no-compatible-accommodation';
158
+ export type RejectedLogoAccommodation = Readonly<{
159
+ pattern: LogoAccommodationPattern;
160
+ reasons: readonly LogoAccommodationRejectionReason[];
161
+ }>;
162
+ export type HeaderBrandPresentationSelection = Readonly<{
163
+ kind: 'selected';
164
+ display: ResolvedBrandDisplay;
165
+ accommodation: LogoAccommodationOption;
166
+ size: ResolvedLogoSize;
167
+ repairedDisplay?: Readonly<{
168
+ requested: ResolvedBrandDisplay;
169
+ reason: 'no-compatible-accommodation';
170
+ }>;
171
+ rejected: readonly RejectedLogoAccommodation[];
172
+ }>;
173
+ export type HeaderBrandPresentationRejection = Readonly<{
174
+ kind: 'rejected';
175
+ display: ResolvedBrandDisplay;
176
+ reasons: readonly LogoAccommodationRejectionReason[];
177
+ rejected: readonly RejectedLogoAccommodation[];
178
+ }>;
179
+ export type HeaderBrandPresentationPlan = HeaderBrandPresentationSelection | HeaderBrandPresentationRejection;
180
+ export declare const defaultNoLogoFacts: LogoFacts;
181
+ export declare function deterministicLogoFactsForShape(shape: LogoAssetShape): LogoFacts;
182
+ export declare function resolveBrandDisplay(mode: BrandDisplayMode, logoFacts: LogoFacts): ResolvedBrandDisplay;
183
+ export declare function selectLogoAccommodation(input: Readonly<{
184
+ options: readonly LogoAccommodationOption[];
185
+ logoFacts: LogoFacts;
186
+ display: ResolvedBrandDisplay;
187
+ sizePolicy?: LogoSizePolicy;
188
+ }>): HeaderBrandPresentationPlan;
189
+ export declare function rejectReasonsForAccommodation(input: Readonly<{
190
+ option: LogoAccommodationOption;
191
+ logoFacts: LogoFacts;
192
+ display: ResolvedBrandDisplay;
193
+ }>): readonly LogoAccommodationRejectionReason[];