@riverbankcms/sdk 0.153.0 → 0.154.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 (216) hide show
  1. package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  2. package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  3. package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  4. package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
  5. package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
  6. package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
  9. package/dist/_dts/api/src/billing.d.ts +2 -0
  10. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  11. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  12. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  13. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  16. package/dist/_dts/api/src/bookings.d.ts +2 -3
  17. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  19. package/dist/_dts/api/src/index.d.ts +4 -2
  20. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  21. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  22. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  27. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  28. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  29. package/dist/_dts/api/src/types.d.ts +11 -31
  30. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  31. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  32. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  33. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  34. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  35. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  41. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  42. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  44. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
  46. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  47. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  48. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  52. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  53. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  54. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  57. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  58. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  59. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
  65. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  67. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  69. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  70. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  71. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  76. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  77. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  78. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  79. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  80. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  81. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  83. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  85. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  87. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  88. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  89. package/dist/_dts/core/src/date-display.d.ts +85 -0
  90. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  91. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  92. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  93. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  94. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  95. package/dist/_dts/core/src/index.d.ts +2 -0
  96. package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
  97. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
  98. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  99. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  100. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
  101. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  102. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  103. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  104. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  105. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  106. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  107. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  108. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  109. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  110. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  111. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  112. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  113. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  114. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  115. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  116. package/dist/_dts/sdk/src/version.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  118. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  119. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  120. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  121. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  122. package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
  123. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  124. package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
  125. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  126. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  127. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  128. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  129. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
  130. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  131. package/dist/_dts/theme-core/src/schema.d.ts +300 -192
  132. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  133. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  134. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  135. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  136. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  137. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  138. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  139. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  140. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  142. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  144. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  145. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  146. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  148. package/dist/_dts/ui/src/card.d.ts +1 -1
  149. package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  150. package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
  151. package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  152. package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  153. package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
  154. package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  155. package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  156. package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  157. package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
  158. package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
  159. package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  160. package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
  161. package/dist/client/bookings.mjs +12565 -11839
  162. package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
  163. package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  164. package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
  165. package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
  166. package/dist/client/client.mjs +6109 -4778
  167. package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
  168. package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
  169. package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  170. package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  171. package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  172. package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
  173. package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
  174. package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  175. package/dist/client/hooks.mjs +2041 -1193
  176. package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
  177. package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
  178. package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
  179. package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  180. package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
  181. package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
  182. package/dist/client/rendering/client.mjs +11868 -11098
  183. package/dist/client/rendering/islands.mjs +17 -17
  184. package/dist/client/rendering.mjs +6058 -4676
  185. package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  186. package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
  187. package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  188. package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  189. package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
  190. package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  191. package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
  192. package/dist/preview-next/before-render.mjs +133 -51
  193. package/dist/preview-next/client/runtime.mjs +3 -3
  194. package/dist/preview-next/editor-chrome.css +5 -2
  195. package/dist/preview-next/keepAlive.mjs +133 -51
  196. package/dist/preview-next/middleware.mjs +133 -51
  197. package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  198. package/dist/server/components.mjs +11284 -10014
  199. package/dist/server/config-validation.mjs +2016 -1188
  200. package/dist/server/config.mjs +2016 -1188
  201. package/dist/server/data.mjs +2041 -1193
  202. package/dist/server/date-time.mjs +258 -116
  203. package/dist/server/index.mjs +134 -52
  204. package/dist/server/next.mjs +10571 -9350
  205. package/dist/server/page-converter.mjs +1629 -941
  206. package/dist/server/prebuild.mjs +1 -1
  207. package/dist/server/rendering/server.mjs +11156 -9872
  208. package/dist/server/rendering.mjs +11284 -10014
  209. package/dist/server/routing.mjs +2204 -1283
  210. package/dist/server/server.mjs +2369 -1570
  211. package/dist/server/theme-bridge.mjs +838 -124
  212. package/dist/server/theme.mjs +348 -64
  213. package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
  214. package/dist/styles/index.css +254 -1
  215. package/package.json +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
@@ -961,14 +961,6 @@ const themeLookMetadataSchema = z.object({
961
961
  skinMarks: skinMarksSchema.optional()
962
962
  });
963
963
  //#endregion
964
- //#region ../theme-core/src/footer/mode.ts
965
- const footerModeSchema = z.enum([
966
- "default",
967
- "blocks",
968
- "default+blocks",
969
- "none"
970
- ]);
971
- //#endregion
972
964
  //#region ../core/src/result.ts
973
965
  function ok(value) {
974
966
  return {
@@ -1184,6 +1176,29 @@ const paletteSchema = z.object({
1184
1176
  };
1185
1177
  });
1186
1178
  //#endregion
1179
+ //#region ../theme-core/src/buttons/typography.ts
1180
+ const textTransformSchema = z.enum([
1181
+ "none",
1182
+ "uppercase",
1183
+ "lowercase",
1184
+ "capitalize"
1185
+ ]);
1186
+ const fontWeightSchema = z.union([
1187
+ z.literal(400),
1188
+ z.literal(500),
1189
+ z.literal(600),
1190
+ z.literal(700),
1191
+ z.literal(800)
1192
+ ]);
1193
+ const buttonTypographySchema = z.enum(["body", "heading"]);
1194
+ const letterSpacingSchema = z.enum([
1195
+ "tight",
1196
+ "normal",
1197
+ "slight",
1198
+ "loose",
1199
+ "wide"
1200
+ ]);
1201
+ //#endregion
1187
1202
  //#region ../theme-core/src/buttons/types.ts
1188
1203
  /**
1189
1204
  * Standard semantic variant roles a theme exposes.
@@ -1299,6 +1314,7 @@ const buttonEffectApplicationSchema = z.discriminatedUnion("effectId", [
1299
1314
  z.strictObject({
1300
1315
  effectId: z.literal("lift"),
1301
1316
  options: z.strictObject({ amount: z.enum([
1317
+ "0.125",
1302
1318
  "0.25",
1303
1319
  "0.5",
1304
1320
  "1"
@@ -1345,24 +1361,6 @@ const shadowSizeSchema = z.enum([
1345
1361
  "medium",
1346
1362
  "high"
1347
1363
  ]);
1348
- const textTransformSchema = z.enum([
1349
- "none",
1350
- "uppercase",
1351
- "lowercase",
1352
- "capitalize"
1353
- ]);
1354
- const fontWeightSchema = z.union([
1355
- z.literal(500),
1356
- z.literal(600),
1357
- z.literal(700),
1358
- z.literal(800)
1359
- ]);
1360
- const buttonTypographySchema = z.enum(["body", "heading"]);
1361
- const letterSpacingSchema = z.enum([
1362
- "tight",
1363
- "normal",
1364
- "loose"
1365
- ]);
1366
1364
  const hoverTransformSchema = z.enum([
1367
1365
  "none",
1368
1366
  "lift",
@@ -1434,7 +1432,8 @@ const paddingShorthandSchema = z.string().refine((value) => {
1434
1432
  }, { message: "Padding must be two space-separated CSS length tokens (e.g. \"0.5rem 1rem\"). Use `0` for zero." });
1435
1433
  const buttonSizeConfigSchema = z.object({
1436
1434
  padding: paddingShorthandSchema,
1437
- fontSize: z.string().optional()
1435
+ fontSize: z.string().optional(),
1436
+ borderRadius: z.string().optional()
1438
1437
  });
1439
1438
  /**
1440
1439
  * `xl` is optional on the wire so themes persisted before the `xl` size was
@@ -1557,12 +1556,20 @@ const buttonVisualAppearanceSchema = z.strictObject({
1557
1556
  textTransform: textTransformSchema
1558
1557
  }),
1559
1558
  effects: z.array(buttonEffectApplicationSchema),
1559
+ transform: z.literal("none").optional(),
1560
1560
  contextualHover: contextualButtonHoverSchema.optional()
1561
1561
  });
1562
1562
  const buttonVisualStatesSchema = z.strictObject({
1563
1563
  base: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
1564
1564
  hover: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
1565
- focus: buttonVisualAppearanceSchema.extend({ shadow: z.literal("focus-indicator") }),
1565
+ focus: buttonVisualAppearanceSchema.extend({
1566
+ shadow: z.literal("focus-indicator"),
1567
+ indicator: z.strictObject({
1568
+ kind: z.literal("surface-ink"),
1569
+ width: z.union([z.literal(2), z.literal(3)]),
1570
+ offset: z.union([z.literal(3), z.literal(4)])
1571
+ }).optional()
1572
+ }),
1566
1573
  active: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
1567
1574
  disabled: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema })
1568
1575
  });
@@ -1969,6 +1976,10 @@ function validateButtonTextContrast(input) {
1969
1976
  }
1970
1977
  };
1971
1978
  }
1979
+ /** A text-token slab inverts the palette's text/background pair, including text shades. */
1980
+ function solidForegroundToken(backgroundToken) {
1981
+ return /^text(?:-\d+)?$/.test(backgroundToken) ? "background" : onColorTokenName(backgroundToken);
1982
+ }
1972
1983
  //#endregion
1973
1984
  //#region ../theme-core/src/buttons/contextualHover.ts
1974
1985
  function resolveContextualHoverPreference(input) {
@@ -2066,7 +2077,7 @@ function candidate(family, shade, currentShade, direction, seedHex, palette) {
2066
2077
  }
2067
2078
  function hasSafeTextContrast(token, palette) {
2068
2079
  const background = palette[token];
2069
- const foreground = palette[onColorTokenName(token)];
2080
+ const foreground = palette[solidForegroundToken(token)];
2070
2081
  return typeof background === "string" && typeof foreground === "string" && contrastRatio(background, foreground) >= BUTTON_CONTRAST_POLICY.textMinimumRatio;
2071
2082
  }
2072
2083
  function isSafeCandidate(token, palette, surface) {
@@ -2161,6 +2172,13 @@ function compileDeclaredVisualStates(input, states) {
2161
2172
  const colours = collectStateColours(mapVisualStates((state) => compileDeclaredVisualState(input, states, state, state === "hover" ? hover.treatment : states[state].background)));
2162
2173
  return colours.ok ? {
2163
2174
  ...colours,
2175
+ focusIndicator: states.focus.indicator ? {
2176
+ kind: "surface-role",
2177
+ colorCss: input.surface?.foregroundCss ?? surfaceForegroundValue("text"),
2178
+ width: states.focus.indicator.width,
2179
+ offset: states.focus.indicator.offset,
2180
+ minimumSurfaceContrast: BUTTON_CONTRAST_POLICY.nonTextMinimumRatio
2181
+ } : colours.focusIndicator,
2164
2182
  contextualHoverRepair: hover.repair
2165
2183
  } : colours;
2166
2184
  }
@@ -2298,7 +2316,7 @@ function resolveFocusIndicator(colour) {
2298
2316
  function resolveSolid(input, backgroundToken, edge) {
2299
2317
  const backgroundHex = paletteHex(input, backgroundToken);
2300
2318
  if (!backgroundHex.ok) return backgroundHex;
2301
- const foregroundToken = unsafeAsOpaqueButtonColourToken(onColorTokenName(backgroundToken));
2319
+ const foregroundToken = unsafeAsOpaqueButtonColourToken(solidForegroundToken(backgroundToken));
2302
2320
  const foregroundHex = input.palette[foregroundToken];
2303
2321
  if (typeof foregroundHex !== "string") return {
2304
2322
  ok: false,
@@ -2678,6 +2696,287 @@ function normalizeAppearance(appearance) {
2678
2696
  };
2679
2697
  }
2680
2698
  //#endregion
2699
+ //#region ../theme-core/src/buttons/styles/recipes/lanternRecipes.ts
2700
+ const flatShadow = {
2701
+ elevation: "none",
2702
+ softness: null,
2703
+ position: "bottom"
2704
+ };
2705
+ const lift$1 = {
2706
+ effectId: "lift",
2707
+ options: { amount: "0.125" }
2708
+ };
2709
+ const tags = {
2710
+ tone: "classic",
2711
+ energy: "calm",
2712
+ motion: "subtle",
2713
+ era: "editorial"
2714
+ };
2715
+ /** Each role supplies complete states, including a flat surface-ink focus ring. */
2716
+ function states(base, hover, offset = 4, width = 2) {
2717
+ return {
2718
+ base,
2719
+ hover,
2720
+ focus: {
2721
+ ...base,
2722
+ shadow: "focus-indicator",
2723
+ indicator: {
2724
+ kind: "surface-ink",
2725
+ width,
2726
+ offset
2727
+ }
2728
+ },
2729
+ active: {
2730
+ ...base,
2731
+ transform: "none"
2732
+ },
2733
+ disabled: {
2734
+ ...base,
2735
+ effects: []
2736
+ }
2737
+ };
2738
+ }
2739
+ const gilt = {
2740
+ text: "treatment",
2741
+ border: "none",
2742
+ borderRadius: "rounded-10px",
2743
+ shadow: flatShadow,
2744
+ sizes: {
2745
+ sm: {
2746
+ padding: "10px 20px",
2747
+ fontSize: "text-base",
2748
+ borderRadius: "rounded-lg"
2749
+ },
2750
+ md: {
2751
+ padding: "18px 36px",
2752
+ fontSize: "text-19px"
2753
+ },
2754
+ lg: {
2755
+ padding: "18px 36px",
2756
+ fontSize: "text-19px"
2757
+ },
2758
+ xl: {
2759
+ padding: "18px 36px",
2760
+ fontSize: "text-19px"
2761
+ }
2762
+ },
2763
+ typography: {
2764
+ fontWeight: 400,
2765
+ typography: "heading",
2766
+ fontSize: "text-19px",
2767
+ letterSpacing: "slight",
2768
+ italic: false,
2769
+ textTransform: "none"
2770
+ },
2771
+ effects: []
2772
+ };
2773
+ const giltPrimary = {
2774
+ ...gilt,
2775
+ background: {
2776
+ type: "gradient",
2777
+ stops: ["accent", "primary"],
2778
+ direction: "to-br",
2779
+ foregroundToken: "onAccent"
2780
+ }
2781
+ };
2782
+ const giltPrimaryHover = {
2783
+ ...giltPrimary,
2784
+ background: {
2785
+ ...giltPrimary.background,
2786
+ stops: ["accent-400", "primary-400"],
2787
+ foregroundToken: "secondary-950"
2788
+ },
2789
+ effects: [lift$1]
2790
+ };
2791
+ const giltSecondary = {
2792
+ ...gilt,
2793
+ background: {
2794
+ type: "solid",
2795
+ colorToken: "text"
2796
+ }
2797
+ };
2798
+ const giltSecondaryHover = {
2799
+ ...giltSecondary,
2800
+ effects: [lift$1],
2801
+ contextualHover: {
2802
+ kind: "shade-shift",
2803
+ seedToken: unsafeAsOpaqueButtonColourToken("text"),
2804
+ fallbackDirection: "lighter"
2805
+ }
2806
+ };
2807
+ const giltPrimaryStates = states(giltPrimary, giltPrimaryHover);
2808
+ const giltSecondaryStates = states(giltSecondary, giltSecondaryHover);
2809
+ const giltSlabRecipe = defineStaticButtonStyleRecipe({
2810
+ id: "gilt-slab",
2811
+ accessibilityLabel: "Gilt slab",
2812
+ tags,
2813
+ system: { roles: {
2814
+ primary: { states: giltPrimaryStates },
2815
+ secondary: { states: giltSecondaryStates },
2816
+ outline: { states: giltSecondaryStates },
2817
+ ghost: { states: giltSecondaryStates },
2818
+ accent: { states: giltPrimaryStates }
2819
+ } }
2820
+ });
2821
+ const hairline = {
2822
+ text: "treatment",
2823
+ borderRadius: "rounded-3px",
2824
+ shadow: flatShadow,
2825
+ sizes: {
2826
+ sm: {
2827
+ padding: "9px 16px",
2828
+ fontSize: "text-xs"
2829
+ },
2830
+ md: {
2831
+ padding: "15px 28px",
2832
+ fontSize: "text-13px"
2833
+ },
2834
+ lg: {
2835
+ padding: "15px 28px",
2836
+ fontSize: "text-13px"
2837
+ },
2838
+ xl: {
2839
+ padding: "15px 28px",
2840
+ fontSize: "text-13px"
2841
+ }
2842
+ },
2843
+ typography: {
2844
+ fontWeight: 700,
2845
+ typography: "body",
2846
+ fontSize: "text-13px",
2847
+ letterSpacing: "wide",
2848
+ italic: false,
2849
+ textTransform: "uppercase"
2850
+ },
2851
+ effects: []
2852
+ };
2853
+ const hairlinePrimary = {
2854
+ ...hairline,
2855
+ background: {
2856
+ type: "solid",
2857
+ colorToken: "primary"
2858
+ },
2859
+ border: {
2860
+ widthClass: "border",
2861
+ boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
2862
+ }
2863
+ };
2864
+ const hairlineOutline = {
2865
+ ...hairline,
2866
+ background: {
2867
+ type: "surface",
2868
+ role: "link"
2869
+ },
2870
+ border: {
2871
+ widthClass: "border",
2872
+ boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
2873
+ }
2874
+ };
2875
+ const hairlineSecondary = {
2876
+ ...hairlineOutline,
2877
+ border: {
2878
+ widthClass: "border",
2879
+ boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
2880
+ }
2881
+ };
2882
+ const hairlineFilled = {
2883
+ ...hairlineSecondary,
2884
+ background: {
2885
+ type: "solid",
2886
+ colorToken: "accent"
2887
+ }
2888
+ };
2889
+ const hairlinePrimaryStates = states(hairlinePrimary, hairlineOutline, 3);
2890
+ const hairlineSecondaryStates = states(hairlineSecondary, hairlineFilled, 3);
2891
+ const hairlineTabRecipe = defineStaticButtonStyleRecipe({
2892
+ id: "hairline-tab",
2893
+ accessibilityLabel: "Hairline tab",
2894
+ tags,
2895
+ system: { roles: {
2896
+ primary: { states: hairlinePrimaryStates },
2897
+ secondary: { states: hairlineSecondaryStates },
2898
+ outline: { states: hairlineSecondaryStates },
2899
+ ghost: { states: hairlineSecondaryStates },
2900
+ accent: { states: states(hairlineFilled, hairlineSecondary, 3) }
2901
+ } }
2902
+ });
2903
+ const marqueeAccent = {
2904
+ text: "treatment",
2905
+ borderRadius: "rounded-none",
2906
+ shadow: flatShadow,
2907
+ sizes: {
2908
+ sm: {
2909
+ padding: "8px 17px",
2910
+ fontSize: "text-15px"
2911
+ },
2912
+ md: {
2913
+ padding: "14px 25px",
2914
+ fontSize: "text-17px"
2915
+ },
2916
+ lg: {
2917
+ padding: "14px 25px",
2918
+ fontSize: "text-17px"
2919
+ },
2920
+ xl: {
2921
+ padding: "14px 25px",
2922
+ fontSize: "text-17px"
2923
+ }
2924
+ },
2925
+ typography: {
2926
+ fontWeight: 800,
2927
+ typography: "body",
2928
+ fontSize: "text-17px",
2929
+ letterSpacing: "loose",
2930
+ italic: false,
2931
+ textTransform: "uppercase"
2932
+ },
2933
+ effects: [],
2934
+ background: {
2935
+ type: "solid",
2936
+ colorToken: "accent"
2937
+ },
2938
+ border: {
2939
+ widthClass: "border-2",
2940
+ boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
2941
+ }
2942
+ };
2943
+ const marqueePrimary = {
2944
+ ...marqueeAccent,
2945
+ background: {
2946
+ type: "solid",
2947
+ colorToken: "primary"
2948
+ },
2949
+ border: {
2950
+ widthClass: "border-2",
2951
+ boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
2952
+ }
2953
+ };
2954
+ const marqueeSecondary = {
2955
+ ...marqueeAccent,
2956
+ background: {
2957
+ type: "solid",
2958
+ colorToken: "text"
2959
+ },
2960
+ border: {
2961
+ widthClass: "border-2",
2962
+ boundaryInk: unsafeAsOpaqueButtonColourToken("text")
2963
+ }
2964
+ };
2965
+ const marqueePrimaryStates = states(marqueeAccent, marqueePrimary, 4, 3);
2966
+ const marqueeSecondaryStates = states(marqueeSecondary, marqueeAccent, 4, 3);
2967
+ const marqueeRecipe = defineStaticButtonStyleRecipe({
2968
+ id: "marquee",
2969
+ accessibilityLabel: "Marquee",
2970
+ tags,
2971
+ system: { roles: {
2972
+ primary: { states: marqueePrimaryStates },
2973
+ secondary: { states: marqueeSecondaryStates },
2974
+ outline: { states: marqueeSecondaryStates },
2975
+ ghost: { states: marqueeSecondaryStates },
2976
+ accent: { states: marqueePrimaryStates }
2977
+ } }
2978
+ });
2979
+ //#endregion
2681
2980
  //#region ../theme-core/src/buttons/styles/recipes/fulcrumRecipe.ts
2682
2981
  const fulcrumSizes = {
2683
2982
  sm: {
@@ -3419,7 +3718,10 @@ const BUTTON_STYLE_IDS = [
3419
3718
  "offset-block",
3420
3719
  "ringed-pill",
3421
3720
  "square-outline",
3422
- "fulcrum"
3721
+ "fulcrum",
3722
+ "gilt-slab",
3723
+ "hairline-tab",
3724
+ "marquee"
3423
3725
  ];
3424
3726
  const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
3425
3727
  const flatInkHoverTreatmentSchema = z.enum([
@@ -3456,7 +3758,10 @@ z.discriminatedUnion("styleId", [
3456
3758
  selectionBranch("offset-block", emptyParametersSchema),
3457
3759
  selectionBranch("ringed-pill", emptyParametersSchema),
3458
3760
  selectionBranch("square-outline", emptyParametersSchema),
3459
- selectionBranch("fulcrum", emptyParametersSchema)
3761
+ selectionBranch("fulcrum", emptyParametersSchema),
3762
+ selectionBranch("gilt-slab", emptyParametersSchema),
3763
+ selectionBranch("hairline-tab", emptyParametersSchema),
3764
+ selectionBranch("marquee", emptyParametersSchema)
3460
3765
  ]);
3461
3766
  //#endregion
3462
3767
  //#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
@@ -6972,7 +7277,10 @@ const buttonStyleRecipes = [
6972
7277
  offsetBlockRecipe,
6973
7278
  ringedPillRecipe,
6974
7279
  squareOutlineRecipe,
6975
- fulcrumRecipe
7280
+ fulcrumRecipe,
7281
+ giltSlabRecipe,
7282
+ hairlineTabRecipe,
7283
+ marqueeRecipe
6976
7284
  ];
6977
7285
  const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
6978
7286
  function findButtonStyleRecipe(id) {
@@ -6988,6 +7296,9 @@ function resolveButtonStyleSelection(selection) {
6988
7296
  case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
6989
7297
  case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
6990
7298
  case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
7299
+ case "gilt-slab": return resolveButtonStyleRecipe(giltSlabRecipe, selection.parameters);
7300
+ case "hairline-tab": return resolveButtonStyleRecipe(hairlineTabRecipe, selection.parameters);
7301
+ case "marquee": return resolveButtonStyleRecipe(marqueeRecipe, selection.parameters);
6991
7302
  case "fulcrum": return resolveButtonStyleRecipe(fulcrumRecipe, selection.parameters);
6992
7303
  case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
6993
7304
  case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
@@ -8626,20 +8937,15 @@ const headerSchema = z.object({
8626
8937
  const footerVariant = z.enum([
8627
8938
  "simple",
8628
8939
  "columns",
8629
- "split"
8630
- ]);
8940
+ "split",
8941
+ "centred"
8942
+ ]).transform((value) => value === "columns" ? "simple" : value);
8631
8943
  const footerMaxWidth = z.enum(["container", "full"]);
8632
8944
  const footerNavLayoutMode = z.enum([
8633
8945
  "stack",
8634
8946
  "inline",
8635
8947
  "inline-wrap"
8636
8948
  ]);
8637
- const footerNavLayoutAlign = z.enum([
8638
- "start",
8639
- "center",
8640
- "end",
8641
- "space-between"
8642
- ]);
8643
8949
  const footerSpacing = z.enum([
8644
8950
  "none",
8645
8951
  "tight",
@@ -8648,12 +8954,6 @@ const footerSpacing = z.enum([
8648
8954
  "relaxed",
8649
8955
  "spacious"
8650
8956
  ]);
8651
- const footerLogoPlacement = z.enum([
8652
- "left",
8653
- "right",
8654
- "above",
8655
- "below"
8656
- ]);
8657
8957
  const footerLogoSize = z.enum([
8658
8958
  "sm",
8659
8959
  "md",
@@ -8694,17 +8994,8 @@ const footerBottomBarSchema = z.object({
8694
8994
  ]).optional()
8695
8995
  }).optional()
8696
8996
  });
8697
- const footerNavLayoutSchema = z.object({
8698
- layout: footerNavLayoutMode.optional(),
8699
- align: footerNavLayoutAlign.optional(),
8700
- gapX: footerSpacing.optional(),
8701
- gapY: footerSpacing.optional(),
8702
- columns: z.number().int().min(1).max(6).optional()
8703
- });
8997
+ const footerNavLayoutSchema = z.object({ layout: footerNavLayoutMode.optional() });
8704
8998
  const footerLogoSchema = z.object({
8705
- showLogo: z.boolean().default(true),
8706
- showLogoText: z.boolean().optional(),
8707
- placement: footerLogoPlacement.optional(),
8708
8999
  size: footerLogoSize.optional(),
8709
9000
  maxHeight: footerLogoMaxHeight.optional(),
8710
9001
  align: z.enum([
@@ -8714,15 +9005,8 @@ const footerLogoSchema = z.object({
8714
9005
  ]).optional()
8715
9006
  });
8716
9007
  const footerSchema = z.object({
8717
- /**
8718
- * SDK-only footer rendering mode.
8719
- *
8720
- * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
8721
- */
8722
- mode: footerModeSchema.optional(),
8723
9008
  variant: footerVariant,
8724
9009
  maxWidth: footerMaxWidth,
8725
- showLogoText: z.boolean().optional(),
8726
9010
  background: headerBackgroundSchema.default({
8727
9011
  type: "color",
8728
9012
  color: "surface"
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Fo as LoaderCircle, qo as cn, yo as Primitive } from "./SiteChromeCustomizeContext-CgNuBHC0.mjs";
2
+ import { Bo as LoaderCircle, Qo as cn, wo as Primitive } from "./SiteChromeCustomizeContext-DEj7qppF.mjs";
3
3
  import * as React$1 from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../../node_modules/.pnpm/@radix-ui+react-separator@1.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_adfab47c9055efb8b0c4b77a2b96b053/node_modules/@radix-ui/react-separator/dist/index.mjs