@riverbankcms/sdk 0.108.0 → 0.111.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 (278) hide show
  1. package/README.md +21 -1
  2. package/dist/{PreviewEditorSidebar-BBT-kZAM.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +181 -135
  3. package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
  4. package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +436 -367
  6. package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +3442 -3029
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +12633 -10490
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
  9. package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
  10. package/dist/_dts/api/src/bookingRecords.d.ts +2 -17
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  12. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  13. package/dist/_dts/api/src/common/envelope.d.ts +7 -0
  14. package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
  15. package/dist/_dts/api/src/courses.d.ts +31 -15
  16. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
  17. package/dist/_dts/api/src/endpoints.d.ts +49 -4
  18. package/dist/_dts/api/src/index.d.ts +3 -3
  19. package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  21. package/dist/_dts/api/src/sdkContracts.d.ts +259 -1
  22. package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
  23. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -6
  24. package/dist/_dts/api/src/siteOperations.d.ts +11 -19
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -31
  27. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  28. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  29. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
  30. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
  31. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  32. package/dist/_dts/blocks/src/client.d.ts +4 -1
  33. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -8
  34. package/dist/_dts/blocks/src/index.d.ts +4 -2
  35. package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
  36. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
  37. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
  38. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -23
  39. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -4
  41. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -23
  42. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
  45. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +5 -1
  47. package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
  48. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  49. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
  50. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +5 -1
  51. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
  54. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  56. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
  57. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  59. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
  60. package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
  61. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  62. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +10 -1
  63. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  64. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +31 -0
  65. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -24
  66. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -12
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  71. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  72. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  80. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  81. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -4
  83. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  84. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  85. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  87. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  88. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
  89. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
  90. package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
  91. package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
  92. package/dist/_dts/content-model/src/index.d.ts +3 -0
  93. package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
  94. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3278 -3196
  95. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  96. package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
  97. package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
  98. package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
  99. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
  100. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
  101. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  102. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  103. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  104. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  105. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  106. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  107. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  108. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  109. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  110. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -7
  111. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  112. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  113. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  114. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  115. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  116. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  117. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  118. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  119. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  120. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
  121. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
  122. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
  123. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
  124. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
  125. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
  126. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
  127. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
  128. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
  129. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
  130. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
  131. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
  132. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  133. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
  134. package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
  135. package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
  136. package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
  137. package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
  138. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  139. package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
  140. package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
  141. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  142. package/dist/_dts/sdk/src/client/management/types.d.ts +45 -20
  143. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
  144. package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -1
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  148. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  149. package/dist/_dts/site-commands/src/commands.d.ts +1010 -817
  150. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  151. package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
  152. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
  153. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
  154. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -1
  156. package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
  157. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
  158. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
  159. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  160. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  161. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  162. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  163. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  164. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  165. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  166. package/dist/_dts/theme-core/src/buttons/types.d.ts +101 -83
  167. package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
  168. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  169. package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
  170. package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
  171. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -126
  172. package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
  173. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  174. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
  175. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
  176. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
  177. package/dist/_dts/theme-core/src/schema.d.ts +112 -138
  178. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  179. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  180. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
  181. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  182. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  183. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
  184. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
  185. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  186. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -12
  187. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
  188. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  189. package/dist/cli/index.mjs +68396 -67339
  190. package/dist/cli/init-docs/content/cli-reference.md +50 -7
  191. package/dist/cli/init-docs/content/content-management.md +7 -4
  192. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  193. package/dist/cli/init-docs/content/workflow-publish.md +5 -1
  194. package/dist/client/{DiscountCodeDisclosure-D6TOf6Hi.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
  195. package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
  196. package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
  197. package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
  198. package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
  199. package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
  200. package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-D8JTs2Si.mjs} +1 -1
  201. package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
  202. package/dist/client/bookings.mjs +4649 -2767
  203. package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-DMr_QWlz.mjs} +1 -1
  204. package/dist/client/{cart-BQcbXIVD.mjs → cart-DWMbfBdR.mjs} +3 -3
  205. package/dist/client/{checkout-DEmpGRJu.mjs → checkout-zmfdkXLx.mjs} +3 -3
  206. package/dist/client/client.mjs +3195 -2488
  207. package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-gcTh5yZT.mjs} +2 -41
  208. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
  209. package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
  210. package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
  211. package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
  212. package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
  213. package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-W1SuL7EP.mjs} +2 -2
  214. package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-ClWricui.mjs} +6 -7
  215. package/dist/client/{form-LY2xIbwg.mjs → form--eKPwAAD.mjs} +1 -2
  216. package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-BSeGr-FS.mjs} +2 -3
  217. package/dist/client/hooks.mjs +2169 -2093
  218. package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-BpOrtNYn.mjs} +8 -5
  219. package/dist/client/{media-DHtSxS5V.mjs → media-DoF0dcVx.mjs} +4 -3
  220. package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
  221. package/dist/client/{pricing-DDq80oYc.mjs → pricing-BTjSDDr4.mjs} +1 -1
  222. package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-ICnVTcCg.mjs} +3 -3
  223. package/dist/client/{productList-PwYlZn0y.mjs → productList-ZHr6D604.mjs} +3 -3
  224. package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-wWN0tBDF.mjs} +2484 -223
  225. package/dist/client/rendering/client.mjs +2532 -2144
  226. package/dist/client/rendering/islands.mjs +20 -20
  227. package/dist/client/rendering.mjs +3322 -2462
  228. package/dist/client/{shop-CMwZPYME.mjs → shop-C1u_BUn0.mjs} +5 -6
  229. package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-CleZdRha.mjs} +5 -6
  230. package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
  231. package/dist/client/{shopShared-D2naaOes.mjs → shopShared-CPhByt2a.mjs} +3 -3
  232. package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
  233. package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-DKPN7hSY.mjs} +46 -70
  234. package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
  235. package/dist/preview-next/before-render.mjs +72 -6
  236. package/dist/preview-next/client/runtime.mjs +4 -4
  237. package/dist/preview-next/middleware.mjs +72 -6
  238. package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-BkT1D06A.mjs} +72 -6
  239. package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
  240. package/dist/{separator-5ahRBC85.mjs → separator-Bln8izQ9.mjs} +1 -1
  241. package/dist/server/components.mjs +3123 -2391
  242. package/dist/server/config-validation.mjs +2169 -2093
  243. package/dist/server/config.mjs +2169 -2093
  244. package/dist/server/data.mjs +2169 -2093
  245. package/dist/server/date-time.mjs +386 -0
  246. package/dist/server/index.mjs +73 -7
  247. package/dist/server/next/revalidate.mjs +53 -1
  248. package/dist/server/next.mjs +3195 -2397
  249. package/dist/server/page-converter.mjs +2192 -1945
  250. package/dist/server/prebuild.mjs +1 -1
  251. package/dist/server/rendering/server.mjs +2844 -2325
  252. package/dist/server/rendering.mjs +3123 -2391
  253. package/dist/server/routing.mjs +2269 -2149
  254. package/dist/server/server.mjs +2244 -2102
  255. package/dist/server/theme-bridge.mjs +2720 -1887
  256. package/dist/server/theme.mjs +1669 -1322
  257. package/dist/server/webhooks.mjs +54 -2
  258. package/dist/styles/index.css +5 -0
  259. package/package.json +7 -1
  260. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  261. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  262. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  263. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  264. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  265. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  266. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  267. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  268. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  269. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  270. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  271. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  272. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  273. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  274. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -273
  275. package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
  276. package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
  277. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
  278. package/dist/client/buttons-EBjyslaX.mjs +0 -1852
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { ButtonSystem } from '../../../../blocks/src/index';
3
+ import { type BlockButtonRole } from '../../../../blocks/src/system/constants/buttonRoles';
3
4
  /**
4
5
  * Button Widget Context
5
6
  *
@@ -7,13 +8,13 @@ import type { ButtonSystem } from '../../../../blocks/src/index';
7
8
  * Similar to MediaEditorProvider and LinkWidgetProvider pattern.
8
9
  */
9
10
  export interface ButtonVariantOption {
10
- id: string;
11
+ id: BlockButtonRole;
11
12
  name: string;
12
13
  priority: number;
13
14
  }
14
15
  export interface ButtonWidgetContextValue {
15
16
  variants: ButtonVariantOption[];
16
- defaultVariant: string | null;
17
+ defaultVariant: BlockButtonRole | null;
17
18
  buttonSystem: ButtonSystem | null;
18
19
  }
19
20
  export interface ButtonWidgetProviderProps {
@@ -8,3 +8,19 @@ export type MagicDetectedMimeType = 'image/png' | 'image/jpeg' | 'image/gif' | '
8
8
  */
9
9
  export declare function detectMimeTypeFromBuffer(buffer: Uint8Array | null | undefined): MagicDetectedMimeType | undefined;
10
10
  export declare function bufferAsLatin1(buffer: Uint8Array, maxBytes?: number): string;
11
+ /**
12
+ * Recognizes an SVG document by its leading element only.
13
+ *
14
+ * Within a bounded window we skip an optional UTF-8 BOM, whitespace, and any XML
15
+ * prolog constructs (XML declaration / processing instructions, comments, and a
16
+ * DOCTYPE) and then require the very first element to be `<svg>`. Requiring the
17
+ * root element — rather than scanning for `<svg` anywhere — is the false-positive
18
+ * guard: an HTML document that merely embeds inline `<svg>` further down (its
19
+ * first element is `<html>`/`<body>`/etc.) is deliberately NOT recognized as SVG.
20
+ *
21
+ * DOCTYPE is skipped rather than rejected here so a DOCTYPE-bearing SVG is still
22
+ * recognized and routed to the finalize sanitizer (which rejects DOCTYPE/entities
23
+ * outright) instead of failing earlier as an opaque MIME mismatch. This probe is
24
+ * intentionally trusted only through the contract-gated `svg-fallback` strategy.
25
+ */
26
+ export declare function looksLikeSvgBuffer(buffer: Uint8Array | null | undefined): boolean;
@@ -9,6 +9,7 @@ export declare const PUBLIC_SITE_FILE_STORAGE_BUCKETS: readonly [StorageBucketNa
9
9
  export declare const FILE_UPLOAD_STAGING_PREFIX = "temp-file-uploads";
10
10
  export declare const DURABLE_FILE_STORAGE_PREFIX = "sites";
11
11
  export declare const DURABLE_FILE_FOLDER = "files";
12
+ export declare const SDK_UPLOAD_STAGING_PREFIX = "sdk-staging";
12
13
  export declare const PRIVATE_SITE_FILE_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime"];
13
14
  export declare const TEMP_UPLOAD_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime", "font/woff2", "application/font-woff2", "application/x-font-woff2", "application/octet-stream"];
14
15
  export type FileStoragePathError = 'unsafe-path-segment';
@@ -39,3 +40,10 @@ export declare function buildStagedUploadStoragePath(input: StagedUploadStorageP
39
40
  */
40
41
  export declare function buildDurableFileStoragePath(input: DurableFileStoragePathInput): Result<SiteScopedStoragePath, FileStoragePathError>;
41
42
  export declare function parseStoragePath(value: string): Result<StoragePath, FileStoragePathError>;
43
+ /**
44
+ * Builds the private staging path for an SDK-management upload from its intended
45
+ * durable relative path: `sdk-staging/{siteId}/{durableRelativePath}`. Finalize
46
+ * promotes the object from here (in `temp-uploads`) to the public bucket only
47
+ * after verification + sanitization.
48
+ */
49
+ export declare function buildSdkStagedStoragePath(siteId: SiteId, durableRelativePath: string): Result<StoragePath, FileStoragePathError>;
@@ -22,6 +22,8 @@ export type StoragePathParseError = {
22
22
  tag: 'DOUBLE_SLASH';
23
23
  } | {
24
24
  tag: 'TRAVERSAL';
25
+ } | {
26
+ tag: 'PERCENT_ENCODING';
25
27
  } | {
26
28
  tag: 'SITE_SCOPED_PATH';
27
29
  } | {
@@ -17,6 +17,9 @@ export type UploadVerificationStrategy = Readonly<{
17
17
  }> | Readonly<{
18
18
  tag: 'rtf-fallback';
19
19
  detectedMimeType: 'application/rtf';
20
+ }> | Readonly<{
21
+ tag: 'svg-fallback';
22
+ detectedMimeType: 'image/svg+xml';
20
23
  }>;
21
24
  export type AcceptedUploadKindContract = Readonly<{
22
25
  kind: FileKind;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type BookingOfferingPresetSummary, type Theme } from '../../../../blocks/src/index';
3
3
  import { type BackgroundColorPalette } from '../../../../blocks/src/system/customize/backgrounds';
4
+ import { type GradientPresetId } from '../../../../theme-core/src/gradients/index';
4
5
  import { type PreviewChromeFloatingPlacement } from '../preview/previewChromePlacement';
5
6
  export declare function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, theme, placement, }: {
6
7
  blockId: string;
@@ -10,4 +11,5 @@ export declare function BlockToolbar({ blockId, blockKind, content, bookingOffer
10
11
  theme?: Theme | null;
11
12
  placement?: PreviewChromeFloatingPlacement;
12
13
  }): React.JSX.Element;
14
+ export declare function gradientPreviewCss(gradientId: GradientPresetId): string;
13
15
  export declare function readBackgroundColorPaletteSnapshot(): BackgroundColorPalette | null;
@@ -8,8 +8,9 @@ export { PreviewShellSmoke } from "./PreviewShellSmoke";
8
8
  export { PreviewLayoutProvider, usePreviewLayout, } from "./layout/PreviewLayoutContext";
9
9
  export { useOptionalPreviewLayout } from "./layout/PreviewLayoutContext";
10
10
  export { previewAssistantEnabled, resolvePreviewSidebarTab, } from "./preview/assistantAvailability";
11
- export type { PreviewDesignRow, PreviewSidebarOpenRequest, PreviewSidebarTab, } from "./preview/sidebarTabPreference";
12
- export { getPreviewSidebarTab, onPreviewSidebarOpenRequest, requestPreviewSidebarOpen, setPreviewSidebarTab, } from "./preview/sidebarTabPreference";
11
+ export type { PreviewSidebarTab } from "./preview/sidebarTabPreference";
12
+ export { getPreviewSidebarTab, setPreviewSidebarTab, } from "./preview/sidebarTabPreference";
13
+ export type { PreviewDesignRow, PreviewEditorOpenIntent, } from "../../../content-editor/src/index";
13
14
  export type { PreviewViewportControlsProps, ViewportMode, ViewportWidth, } from "./preview/PreviewViewportControls";
14
15
  export { PreviewViewportControls } from "./preview/PreviewViewportControls";
15
16
  export type { PreviewThemeResponsiveMode, PreviewThemeRuntime, } from "./preview/themeRuntime";
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { type Theme } from '../../../../blocks/src/index';
3
+ import { type ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
4
+ export type ButtonStylePickerProps = Readonly<{
5
+ selections: readonly ButtonStyleSelection[];
6
+ current: ButtonStyleSelection;
7
+ previewTheme: Theme;
8
+ onPreview: (selection: ButtonStyleSelection) => void;
9
+ disabled?: boolean;
10
+ }>;
11
+ export declare function ButtonStylePicker({ selections, current, previewTheme, onPreview, disabled, }: ButtonStylePickerProps): React.JSX.Element;
12
+ export declare function ButtonStylePreviewPair({ selection, previewTheme, compact, }: Readonly<{
13
+ selection: ButtonStyleSelection;
14
+ previewTheme: Theme;
15
+ compact?: boolean;
16
+ }>): React.JSX.Element | null;
@@ -3,7 +3,7 @@ import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/block-editor/sdkBlockMerger';
4
4
  import type { BlockEditorHandle, BlockItem } from '../../../../editor-blocks/src/block-editor/types';
5
5
  import type { BookingOfferingPresetSummary, MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
6
- import type { EditorUiState, ZoomLevel } from '../../../../content-editor/src/index';
6
+ import { type EditorUiState, type ZoomLevel } from '../../../../content-editor/src/index';
7
7
  import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
8
8
  import type { PreviewZustandStoreApi } from './storeTypes';
9
9
  import { type PreviewLinkedEntrySidebarSection } from './PreviewSidebarSection';
@@ -22,7 +22,6 @@ type PageBlockEditorPanelProps = {
22
22
  metadataPanel: ReactNode;
23
23
  linkedEntrySection?: PreviewLinkedEntrySidebarSection | null;
24
24
  designPanel?: ReactNode;
25
- designOpenRequestId?: number | null;
26
25
  designTakeoverActive?: boolean;
27
26
  sdkConfig?: SdkConfigForBlockPicker | null;
28
27
  mediaAssets?: MediaAssetIndexItem[];
@@ -34,5 +33,5 @@ type PageBlockEditorPanelProps = {
34
33
  onViewportWidthChange: (width: ViewportWidth) => void;
35
34
  onZoomChange: (zoom: ZoomLevel) => void;
36
35
  };
37
- export declare function PageBlockEditorPanel({ siteId, pageId, dashboardBaseUrl, theme, apiClient, bearerToken, supabaseUrl, blockItems, uiStoreForBlockEditor, blockEditorRef, onBlocksChange, metadataPanel, linkedEntrySection, designPanel, designOpenRequestId, designTakeoverActive, sdkConfig, mediaAssets, bookingOfferingPresets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PageBlockEditorPanelProps): React.JSX.Element;
36
+ export declare function PageBlockEditorPanel({ siteId, pageId, dashboardBaseUrl, theme, apiClient, bearerToken, supabaseUrl, blockItems, uiStoreForBlockEditor, blockEditorRef, onBlocksChange, metadataPanel, linkedEntrySection, designPanel, designTakeoverActive, sdkConfig, mediaAssets, bookingOfferingPresets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PageBlockEditorPanelProps): React.JSX.Element;
38
37
  export {};
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { PreviewDesignOpenRequest } from '../../../../content-editor/src/index';
3
+ export declare function PreviewDesignOpenRequestProvider({ request, children, }: {
4
+ request: PreviewDesignOpenRequest | null;
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export declare function usePreviewDesignOpenRequest(): PreviewDesignOpenRequest | null;
@@ -5,9 +5,8 @@ import type { SurfaceId } from "../../../../surfaces/src/index";
5
5
  import type { EntrySubrouteContextData, BookingOfferingPresetSummary, MediaAssetIndexItem, Theme } from "../../../../blocks/src/index";
6
6
  import { type ContentTypeSchema } from "../../../../content-model/src/index";
7
7
  import { type ZoomLevel } from "../../../../content-editor/src/index";
8
- import type { ButtonPersonalityId } from "../../../../theme-core/src/buttons/index";
9
- import type { FooterSelectionContext, FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId } from "../../../../theme-core/src/site-styles/index";
10
- import type { PreviewDesignRow } from "./sidebarTabPreference";
8
+ import type { ButtonStyleSelection } from "../../../../theme-core/src/buttons/index";
9
+ import type { FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId } from "../../../../theme-core/src/site-styles/index";
11
10
  import type { ViewportMode, ViewportWidth } from "./PreviewViewportControls";
12
11
  import { type SiteStyleAccess } from "./siteStyleAccess";
13
12
  export type PreviewEditorSidebarTab = "editor" | "assistant";
@@ -35,18 +34,13 @@ export type PreviewEditorSidebarProps = {
35
34
  themeSelectionVersion?: number | null;
36
35
  themeSelectionUpdatedAt?: string | null;
37
36
  /** Persisted Style configurator selections (Phase C / E). */
38
- themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
39
- runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
37
+ themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
38
+ runtimePaletteState: import("./styleConfiguratorSnapshot").PreviewRuntimePaletteState;
40
39
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
41
40
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
42
41
  themeSelectionHeaderLookId?: HeaderLookId | null;
43
42
  themeSelectionFooterLookId?: FooterLookId | null;
44
43
  themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
45
- themeSelectionFooterContext?: Partial<FooterSelectionContext>;
46
- designRowRequest?: Readonly<{
47
- id: number;
48
- row: PreviewDesignRow;
49
- }> | null;
50
44
  apiClient: ApiClient;
51
45
  bearerToken?: string | null;
52
46
  supabaseUrl?: string;
@@ -67,4 +61,4 @@ export type PreviewEditorSidebarProps = {
67
61
  onViewportWidthChange: (width: ViewportWidth) => void;
68
62
  onZoomChange: (zoom: ZoomLevel) => void;
69
63
  };
70
- export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
64
+ export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React, { type ComponentProps, type ReactNode } from 'react';
2
2
  import { BlockApiProvider } from '../../../../blocks/src/client';
3
- import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
4
- import type { FooterSelectionContext, FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
3
+ import type { ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
4
+ import type { FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
5
5
  import type { EntrySubrouteContextData, BookingOfferingPresetSummary, MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
6
6
  import type { ContentTypeSchema } from '../../../../content-model/src/index';
7
7
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
@@ -38,17 +38,16 @@ export type PreviewShellProps = {
38
38
  themeSelectionUpdatedAt?: string | null;
39
39
  /**
40
40
  * Persisted Style configurator selections. Forwarded into StyleConfigurator
41
- * so reload renders the user's saved button personality and authoritative
41
+ * so reload renders the user's saved button style and authoritative
42
42
  * complete palette state.
43
43
  */
44
- themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
44
+ themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
45
45
  runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
46
46
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
47
47
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
48
48
  themeSelectionHeaderLookId?: HeaderLookId | null;
49
49
  themeSelectionFooterLookId?: FooterLookId | null;
50
50
  themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
51
- themeSelectionFooterContext?: Partial<FooterSelectionContext>;
52
51
  pageId: string | null;
53
52
  routeId: string | null;
54
53
  entryData?: PreviewContentEntryData | null;
@@ -74,7 +73,7 @@ export type PreviewShellProps = {
74
73
  baseFetch?: BaseFetch;
75
74
  onFooterSaved?: () => void;
76
75
  };
77
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
76
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
78
77
  export declare function defaultDesignEditorEligibility(input: Readonly<{
79
78
  pageId: string | null;
80
79
  entryData?: PreviewContentEntryData | null;
@@ -1,13 +1,13 @@
1
1
  import React, { type ReactNode } from "react";
2
2
  import { type EntrySubrouteContextData, type BookingOfferingPresetSummary, type MediaAssetIndexItem, type Theme } from "../../../../blocks/src/index";
3
- import type { ButtonPersonalityId } from "../../../../theme-core/src/buttons/index";
4
- import type { FooterSelectionContext, HeaderSelectionContext, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId } from "../../../../theme-core/src/site-styles/index";
3
+ import type { ButtonStyleSelection } from "../../../../theme-core/src/buttons/index";
4
+ import type { HeaderSelectionContext, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId } from "../../../../theme-core/src/site-styles/index";
5
5
  import type { ContentTypeSchema } from "../../../../content-model/src/index";
6
6
  import type { ApiClient } from "../../../../api/src/request";
7
7
  import type { SdkConfigForBlockPicker } from "../../../../editor-blocks/src/index";
8
8
  import type { SurfaceId } from "../../../../surfaces/src/index";
9
9
  import { type PreviewEntryData, type PreviewTemplateData } from "./PreviewEditorSidebar";
10
- import type { SiteStyleAccess } from "./siteStyleAccess";
10
+ import { type SiteStyleAccess } from "./siteStyleAccess";
11
11
  import { type PreviewThemeRuntime } from "./themeRuntime";
12
12
  export type PreviewShellLayoutProps = {
13
13
  children: ReactNode;
@@ -27,14 +27,13 @@ export type PreviewShellLayoutProps = {
27
27
  themeSelectionId?: string | null;
28
28
  themeSelectionVersion?: number | null;
29
29
  themeSelectionUpdatedAt?: string | null;
30
- themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
31
- runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
30
+ themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
31
+ runtimePaletteState: import("./styleConfiguratorSnapshot").PreviewRuntimePaletteState;
32
32
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
33
33
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
34
34
  themeSelectionHeaderLookId?: HeaderLookId | null;
35
35
  themeSelectionFooterLookId?: FooterLookId | null;
36
36
  themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
37
- themeSelectionFooterContext?: Partial<FooterSelectionContext>;
38
37
  supabaseUrl?: string;
39
38
  isSiteLaunched: boolean;
40
39
  maintenanceModeEnabled: boolean;
@@ -47,4 +46,4 @@ export type PreviewShellLayoutProps = {
47
46
  siteStyleAccess?: SiteStyleAccess;
48
47
  onFooterSaved?: () => void;
49
48
  };
50
- export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, onFooterSaved, }: PreviewShellLayoutProps): React.JSX.Element;
49
+ export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, onFooterSaved, }: PreviewShellLayoutProps): React.JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import { type ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
- import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
5
- import type { BrandDisplayMode, FooterLayoutId, FooterLookId, HeaderNavFontSizePreference, HeaderNavTypographyPreference, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride } from '../../../../theme-core/src/site-styles/index';
4
+ import type { ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
5
+ import type { BrandDisplayMode, FooterLookId, HeaderNavFontSizePreference, HeaderNavTypographyPreference, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride } from '../../../../theme-core/src/site-styles/index';
6
6
  import { headerNavFontSizeOptions, headerNavTypographyOptions } from '../../../../theme-core/src/site-styles/index';
7
7
  import { type StyleConfiguratorHistoryEntry } from './StyleConfigurator.state';
8
8
  import type { SiteStyleAccess } from './siteStyleAccess';
@@ -80,9 +80,6 @@ export type SiteChromeCustomizeSurfaceState = Readonly<{
80
80
  kind: 'available';
81
81
  surface: 'footer';
82
82
  label: string;
83
- currentLayoutId: FooterLayoutId;
84
- currentLayoutLabel: string;
85
- layoutOptions: readonly SiteChromeLookOption<FooterLayoutId>[];
86
83
  currentId: FooterLookId | null;
87
84
  currentLabel: string;
88
85
  options: readonly SiteChromeLookOption<FooterLookId | null>[];
@@ -92,9 +89,10 @@ export type SiteChromeCustomizeSurfaceState = Readonly<{
92
89
  applyAllowed: boolean;
93
90
  }>;
94
91
  type SiteChromeCustomizeContextValue = Readonly<{
92
+ canOpenDesignEditor: boolean;
95
93
  getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
96
94
  cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
97
- cycleSurfaceLayout: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
95
+ cycleHeaderLayout: (direction: 'prev' | 'next') => void;
98
96
  setHeaderBrandDisplay: (value: BrandDisplayMode) => void;
99
97
  setHeaderLogoSize: (value: LogoSizePolicy) => void;
100
98
  setHeaderMenuFont: (value: HeaderNavTypographyPreference) => void;
@@ -116,7 +114,7 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
116
114
  initialSelections: Readonly<{
117
115
  selectionVersion?: number | null;
118
116
  selectionUpdatedAt?: string | null;
119
- buttonPersonalityId: ButtonPersonalityId | null;
117
+ buttonStyleSelection: ButtonStyleSelection | null;
120
118
  runtimePaletteState: import('./styleConfiguratorSnapshot').PreviewRuntimePaletteState;
121
119
  headerLayoutId?: HeaderLayoutId | null;
122
120
  headerStyleId?: HeaderStyleId | null;
@@ -124,9 +122,9 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
124
122
  footerLookId?: FooterLookId | null;
125
123
  }> & Readonly<Record<string, unknown>>;
126
124
  headerSelectionContext?: Partial<HeaderSelectionContext>;
127
- footerSelectionContext?: Partial<FooterSelectionContext>;
128
125
  siteStyleAccess?: SiteStyleAccess;
126
+ canOpenDesignEditor?: boolean;
129
127
  }>;
130
- export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, themeId, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, siteStyleAccess, }: SiteChromeCustomizeProviderProps): React.JSX.Element;
128
+ export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, themeId, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerSelectionContext, siteStyleAccess, canOpenDesignEditor, }: SiteChromeCustomizeProviderProps): React.JSX.Element;
131
129
  export declare function useSiteChromeCustomizeOptional(): SiteChromeCustomizeContextValue | null;
132
130
  export {};
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
- import { type ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
5
- import { type FooterSelectionContext, type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
4
+ import { type ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
5
+ import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
6
6
  import { type VisibleSiteStyleAccess } from './siteStyleAccess';
7
- import type { PreviewDesignRow } from './sidebarTabPreference';
8
7
  import type { PreviewRuntimePaletteState } from './styleConfiguratorSnapshot';
9
8
  export type StyleConfiguratorProps = Readonly<{
10
9
  siteId: string;
@@ -18,7 +17,7 @@ export type StyleConfiguratorProps = Readonly<{
18
17
  initialSelections: Readonly<{
19
18
  selectionVersion?: number | null;
20
19
  selectionUpdatedAt?: string | null;
21
- buttonPersonalityId: ButtonPersonalityId | null;
20
+ buttonStyleSelection: ButtonStyleSelection | null;
22
21
  runtimePaletteState: PreviewRuntimePaletteState;
23
22
  headerLayoutId?: HeaderLayoutId | null;
24
23
  headerStyleId?: HeaderStyleId | null;
@@ -26,13 +25,7 @@ export type StyleConfiguratorProps = Readonly<{
26
25
  footerLookId?: FooterLookId | null;
27
26
  }> & Readonly<Record<string, unknown>>;
28
27
  headerSelectionContext?: Partial<HeaderSelectionContext>;
29
- footerSelectionContext?: Partial<FooterSelectionContext>;
30
- expandedRowRequest?: Readonly<{
31
- /** Monotonic request id so repeated clicks on the same chrome surface retrigger the effect. */
32
- id: number;
33
- row: PreviewDesignRow;
34
- }> | null;
35
28
  onFocusedSurfaceChange?: (focused: boolean) => void;
36
29
  siteStyleAccess: VisibleSiteStyleAccess;
37
30
  }>;
38
- export declare function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, expandedRowRequest, onFocusedSurfaceChange, siteStyleAccess, }: StyleConfiguratorProps): React.JSX.Element;
31
+ export declare function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerSelectionContext, onFocusedSurfaceChange, siteStyleAccess, }: StyleConfiguratorProps): React.JSX.Element;
@@ -5,12 +5,12 @@
5
5
  * switch.
6
6
  *
7
7
  * The configurator surfaces three site-level decisions (site style, button
8
- * personality, palette state). The
8
+ * button style, palette state). The
9
9
  * "base" snapshot is what the server has persisted; "previewed" is what the
10
10
  * preview pane is currently rendering. They diverge while the user is
11
11
  * picking and converge on apply-success.
12
12
  */
13
- import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
13
+ import { type ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
14
14
  import type { Theme } from '../../../../blocks/src/index';
15
15
  import type { PaletteColors, PaletteMode, PaletteSelection, PaletteEditorState, KnownCuratedPaletteValueKey, ResolvedPaletteSelection, RuntimePaletteState, SitePalette, SitePaletteId, SitePaletteVersion, PaletteLibraryAuthority } from '../../../../theme-core/src/palette/index';
16
16
  import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
@@ -27,7 +27,7 @@ export type StyleConfiguratorSaveStatus = Readonly<{
27
27
  message: string;
28
28
  failureKind: 'retryable' | 'stale';
29
29
  }>;
30
- export type StyleConfiguratorExpandedRow = 'style' | 'header-layout' | 'header-style' | 'footer-layout' | 'footer' | 'buttons' | 'typography' | 'palette' | 'colours' | null;
30
+ export type StyleConfiguratorExpandedRow = 'style' | 'header-layout' | 'header-style' | 'footer' | 'buttons' | 'typography' | 'palette' | 'colours' | null;
31
31
  /**
32
32
  * Configurator-level notices that aren't compiler selection fallback warnings.
33
33
  * Kept separate from `SelectionFallbackWarning` (which comes from
@@ -92,7 +92,7 @@ export type SelectionSnapshot = Readonly<{
92
92
  headerStyleId: HeaderStyleId;
93
93
  headerLookId: HeaderLookId | null;
94
94
  footerLookId: FooterLookId | null;
95
- buttonPersonalityId: ButtonPersonalityId;
95
+ buttonStyleSelection: ButtonStyleSelection;
96
96
  palette: PaletteSelectionSnapshot;
97
97
  typography: ThemeTypography;
98
98
  }>;
@@ -157,7 +157,7 @@ export declare function isPreviewingChange(state: StyleConfiguratorState): boole
157
157
  export declare function deriveStyleConfiguratorCapabilities(state: StyleConfiguratorState): EditorStagedSessionCapabilities;
158
158
  export declare function styleConfiguratorHistoryEntryForPersistedSelection(state: StyleConfiguratorState, persisted: SelectionSnapshot): StyleConfiguratorHistoryEntry | null;
159
159
  export declare function previewSiteStyle(state: StyleConfiguratorState, siteStyleId: SiteStyleId): StyleConfiguratorState;
160
- export declare function previewButtonPersonality(state: StyleConfiguratorState, buttonPersonalityId: ButtonPersonalityId): StyleConfiguratorState;
160
+ export declare function previewButtonStyle(state: StyleConfiguratorState, buttonStyleSelection: ButtonStyleSelection): StyleConfiguratorState;
161
161
  export declare function previewHeaderLayout(state: StyleConfiguratorState, headerLayoutId: HeaderLayoutId): StyleConfiguratorState;
162
162
  export declare function previewHeaderStyle(state: StyleConfiguratorState, headerStyleId: HeaderStyleId): StyleConfiguratorState;
163
163
  export declare function previewFooterLook(state: StyleConfiguratorState, footerLookId: FooterLookId | null): StyleConfiguratorState;
@@ -177,13 +177,13 @@ export declare function setPaletteColors(state: StyleConfiguratorState, colors:
177
177
  /**
178
178
  * Records the post-compile resolved selection + any fallback warnings.
179
179
  * Used after `compileSiteThemeFromSelections` runs against a new site style:
180
- * the resolver may have auto-picked a different personality if the user's
180
+ * the resolver may have auto-picked a different button style if the user's
181
181
  * previous selection is not offered for the new style, or a different palette
182
182
  * if the persisted palette value key is no longer known.
183
183
  *
184
184
  */
185
185
  export declare function applyResolvedSelections(state: StyleConfiguratorState, input: Readonly<{
186
- resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId' | 'typography'>;
186
+ resolved: Pick<SelectionSnapshot, 'buttonStyleSelection' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId' | 'typography'>;
187
187
  warnings: ReadonlyArray<SelectionFallbackWarning>;
188
188
  }>): StyleConfiguratorState;
189
189
  export declare function cancelPreview(state: StyleConfiguratorState): StyleConfiguratorState;
@@ -213,6 +213,7 @@ export declare function reconcilePaletteLibraryActive(state: StyleConfiguratorSt
213
213
  */
214
214
  export declare function rebasePaletteLibraryAuthority(state: StyleConfiguratorState, committedPalette: ResolvedPaletteSelection): StyleConfiguratorState;
215
215
  export declare function selectionSnapshotsEqual(a: SelectionSnapshot, b: SelectionSnapshot): boolean;
216
+ export declare function typographyObjectsEqual(a: ThemeTypography, b: ThemeTypography): boolean;
216
217
  type ModernRuntimePaletteState = Extract<RuntimePaletteState, Readonly<{
217
218
  authority: 'curated';
218
219
  }>> | Extract<RuntimePaletteState, Readonly<{
@@ -1,12 +1,4 @@
1
1
  import type { PreviewSidebarTab } from '../../../../content-editor/src/index';
2
2
  export type { PreviewSidebarTab };
3
- export type PreviewDesignRow = 'header' | 'footer' | 'header-layout' | 'header-style' | 'footer-layout';
4
- export type PreviewSidebarOpenRequest = Readonly<{
5
- tab: PreviewSidebarTab;
6
- designRow?: PreviewDesignRow;
7
- }>;
8
- export declare function parsePreviewSidebarOpenRequestDetail(detail: unknown): PreviewSidebarOpenRequest;
9
3
  export declare function getPreviewSidebarTab(): PreviewSidebarTab;
10
4
  export declare function setPreviewSidebarTab(tab: PreviewSidebarTab): void;
11
- export declare function requestPreviewSidebarOpen(input: PreviewSidebarTab | PreviewSidebarOpenRequest): void;
12
- export declare function onPreviewSidebarOpenRequest(handler: (request: PreviewSidebarOpenRequest) => void): () => void;
@@ -1,5 +1,5 @@
1
1
  import { type CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
2
- import { type FooterLayoutId, type FooterLookId, type FooterSelectionContext, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId, type LookCustomizationWritePlan } from '../../../../theme-core/src/site-styles/index';
2
+ import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId, type LookCustomizationWritePlan } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { SelectionSnapshot, StyleConfiguratorState } from './StyleConfigurator.state';
4
4
  export type SiteChromeLookOption<TId extends string | null> = Readonly<{
5
5
  id: TId;
@@ -25,17 +25,12 @@ export type SiteChromeLookModels = Readonly<{
25
25
  options: readonly SiteChromeLookOption<HeaderStyleId>[];
26
26
  renderedStyleId: HeaderStyleId;
27
27
  }>;
28
- footerLayout: Readonly<{
29
- options: readonly SiteChromeLookOption<FooterLayoutId>[];
30
- renderedLayoutId: FooterLayoutId;
31
- }>;
32
28
  footer: SiteChromeLookRowModel<FooterLookId>;
33
29
  }>;
34
30
  type SiteChromeLookModelInput = Readonly<{
35
31
  state: StyleConfiguratorState;
36
32
  siteStyle: CuratedSiteStyle;
37
33
  headerSelectionContext?: Partial<HeaderSelectionContext>;
38
- footerSelectionContext?: Partial<FooterSelectionContext>;
39
34
  }>;
40
35
  export declare function buildSiteChromeLookModels(input: SiteChromeLookModelInput): SiteChromeLookModels;
41
36
  export declare function cycleSiteChromeLookId<TId extends string>(options: readonly SiteChromeLookOption<TId | null>[], currentId: TId | null, direction: 'prev' | 'next'): TId | null | undefined;
@@ -48,10 +43,6 @@ export type SiteChromeLookSelectionCommand = Readonly<{
48
43
  surface: 'footer';
49
44
  lookId: FooterLookId | null;
50
45
  }>;
51
- export type SiteChromeFooterLayoutSelectionCommand = Readonly<{
52
- layoutId: FooterLayoutId;
53
- currentLookId: FooterLookId;
54
- }>;
55
46
  export type SiteChromeLookSelectionPlan = Readonly<{
56
47
  kind: 'header';
57
48
  writePlan: LookCustomizationWritePlan<HeaderLookId>;
@@ -62,5 +53,4 @@ export type SiteChromeLookSelectionPlan = Readonly<{
62
53
  next: Pick<SelectionSnapshot, 'footerLookId'>;
63
54
  }>;
64
55
  export declare function planSiteChromeLookSelection(command: SiteChromeLookSelectionCommand): SiteChromeLookSelectionPlan;
65
- export declare function planSiteChromeFooterLayoutSelection(command: SiteChromeFooterLayoutSelectionCommand): FooterLookId | undefined;
66
56
  export {};
@@ -16,10 +16,6 @@ export type SiteChromeQuickControlHistoryEntry = Readonly<{
16
16
  kind: 'footer-look';
17
17
  previous: FooterLookId | null;
18
18
  next: FooterLookId | null;
19
- }> | Readonly<{
20
- kind: 'footer-layout';
21
- previous: FooterLookId | null;
22
- next: FooterLookId | null;
23
19
  }> | Readonly<{
24
20
  kind: 'header-background';
25
21
  previous: SiteChromeBackgroundOverride;
@@ -110,7 +106,7 @@ export type SiteChromeQuickControlHistoryFailure = Readonly<{
110
106
  kind: 'retryable' | 'stale';
111
107
  message: string;
112
108
  }>;
113
- export type SiteChromeQuickControlSelectionTarget = 'header-layout' | 'header-style' | 'footer-layout' | 'footer-look';
109
+ export type SiteChromeQuickControlSelectionTarget = 'header-layout' | 'header-style' | 'footer-look';
114
110
  export type SiteChromeQuickControlBrandTarget = 'header-brand-display' | 'header-logo-size';
115
111
  export type SiteChromeQuickControlNavTarget = 'header-menu-font' | 'header-menu-font-size';
116
112
  export type SiteChromeQuickControlBackgroundTarget = 'header-background' | 'footer-background';
@@ -1,6 +1,6 @@
1
1
  import type { APIEndpoints } from '../../../../api/src/index';
2
2
  import type { Theme } from '../../../../blocks/src/index';
3
- import type { FooterSelectionContext, HeaderNavPreferences, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
3
+ import type { HeaderNavPreferences, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
4
4
  import type { CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
5
5
  import type { SelectionSnapshot } from './StyleConfigurator.state';
6
6
  import { type SiteStylePreviewPlan } from './siteStylePreviewPlanner';
@@ -18,7 +18,6 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
18
18
  selection: SelectionSnapshot;
19
19
  baseTheme: Theme | null | undefined;
20
20
  headerSelectionContext: Partial<HeaderSelectionContext> | undefined;
21
- footerSelectionContext: Partial<FooterSelectionContext> | undefined;
22
21
  headerBrandPreferences: HeaderBrandPreferences;
23
22
  headerNavPreferences: HeaderNavPreferences;
24
23
  backgroundPreferences: SiteChromeBackgroundPreferences;
@@ -26,6 +25,6 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
26
25
  selectionId: string | null;
27
26
  baseSelectionUpdatedAt: string | null;
28
27
  }>;
29
- export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
28
+ export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
30
29
  export declare function siteChromeSavePlanBodyForBaseRevision(plan: SiteChromeSavePlan, baseSelectionUpdatedAt: string | null): SaveSiteChromeLookSelectionBody;
31
30
  export {};
@@ -1,12 +1,12 @@
1
1
  import type { Theme } from '../../../../blocks/src/index';
2
- import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
2
+ import type { ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
3
3
  import { type CompleteResolvedPaletteSelection } from '../../../../theme-core/src/palette/index';
4
- import type { FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
4
+ import type { FooterLookId, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId } from '../../../../theme-core/src/site-styles/index';
5
5
  import { compileSiteThemeFromSelections, type CuratedSiteStyle, type SelectionFallbackWarning, type SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
6
6
  import type { PaletteSelectionSnapshot } from './StyleConfigurator.state';
7
7
  export type SiteStylePreviewSelection = Readonly<{
8
8
  siteStyleId: SiteStyleId;
9
- buttonPersonalityId: ButtonPersonalityId;
9
+ buttonStyleSelection: ButtonStyleSelection;
10
10
  palette: PaletteSelectionSnapshot;
11
11
  typography: Theme['typography'];
12
12
  headerLayoutId?: HeaderLayoutId | null;
@@ -29,7 +29,6 @@ export type SiteStylePreviewPlanInput = Readonly<{
29
29
  selection: SiteStylePreviewSelection;
30
30
  baseTheme?: Theme | null;
31
31
  headerSelectionContext?: Partial<HeaderSelectionContext>;
32
- footerSelectionContext?: Partial<FooterSelectionContext>;
33
32
  }>;
34
33
  export declare function planSiteStylePreviewChange(input: SiteStylePreviewPlanInput): SiteStylePreviewPlan;
35
34
  export declare function resolvedPaletteForPreview(palette: PaletteSelectionSnapshot, siteStyle: CuratedSiteStyle): CompleteResolvedPaletteSelection;
@@ -20,7 +20,7 @@ export type ApplySiteStyleSelectionBodyBuildResult = Readonly<{
20
20
  ok: false;
21
21
  error: Extract<PaletteApplyCommandPlan, {
22
22
  ok: false;
23
- }>['error'];
23
+ }>['error'] | 'no-selection-changes';
24
24
  }>;
25
25
  export declare function buildApplySiteStyleSelectionBody(input: Readonly<{
26
26
  base: SelectionSnapshot;