@riverbankcms/sdk 0.104.3 → 0.108.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 (302) hide show
  1. package/README.md +84 -51
  2. package/dist/{PreviewEditorSidebar-CBMhU9p_.mjs → PreviewEditorSidebar-BBT-kZAM.mjs} +1850 -1183
  3. package/dist/{PreviewEditorUI-C5KEw4M8.mjs → PreviewEditorUI-D69xNKT2.mjs} +10 -9
  4. package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-RRu7wyQ5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Iq12HjL7.mjs → SdkPreviewModeRuntime-CuDjXH6o.mjs} +2562 -457
  6. package/dist/{SiteChromeCustomizeContext-Cx0NMdyv.mjs → SiteChromeCustomizeContext-BQUY2dEk.mjs} +7689 -3196
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +36493 -1395
  8. package/dist/_dts/api/src/blocks.d.ts +41 -7
  9. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/bookingRecords.d.ts +180 -115
  12. package/dist/_dts/api/src/cache-tags.d.ts +3 -0
  13. package/dist/_dts/api/src/contentRuntime.d.ts +25 -16
  14. package/dist/_dts/api/src/courses.d.ts +68 -10
  15. package/dist/_dts/api/src/endpoints.d.ts +128 -0
  16. package/dist/_dts/api/src/footer-settings.d.ts +1 -0
  17. package/dist/_dts/api/src/footerSettings.d.ts +8 -0
  18. package/dist/_dts/api/src/index.d.ts +127 -124
  19. package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
  20. package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
  21. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
  22. package/dist/_dts/api/src/sdkContracts.d.ts +178 -6
  23. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  24. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +143 -55
  25. package/dist/_dts/api/src/siteOperations.d.ts +1 -0
  26. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  27. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +72 -47
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
  29. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  30. package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
  31. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
  32. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
  34. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +4 -0
  37. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
  41. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
  42. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
  44. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
  45. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
  46. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
  47. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
  48. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
  51. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  52. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
  54. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
  56. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
  57. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
  58. package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
  59. package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +2 -2
  61. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
  64. package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
  65. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
  66. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
  70. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +7 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
  89. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
  91. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +7 -0
  93. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  94. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
  95. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
  96. package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
  97. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  98. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
  99. package/dist/_dts/content-editor/src/index.d.ts +2 -0
  100. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
  101. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
  102. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
  103. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
  104. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  105. package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
  106. package/dist/_dts/core/src/branded.d.ts +47 -0
  107. package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
  108. package/dist/_dts/core/src/editor-state.d.ts +4 -0
  109. package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
  110. package/dist/_dts/core/src/footer-composition.d.ts +143 -0
  111. package/dist/_dts/core/src/index.d.ts +51 -47
  112. package/dist/_dts/core/src/public-profile.d.ts +73 -0
  113. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +4398 -2859
  114. package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
  115. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
  116. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
  117. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  118. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
  119. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
  120. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
  121. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
  122. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
  123. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  124. package/dist/_dts/media-core/src/index.d.ts +2 -1
  125. package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
  126. package/dist/_dts/media-core/src/url.d.ts +1 -21
  127. package/dist/_dts/path-utils/src/index.d.ts +5 -0
  128. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  129. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
  130. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
  132. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -9
  133. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  134. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +8 -11
  135. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -9
  136. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
  137. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
  138. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
  139. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
  141. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
  142. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
  143. package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
  144. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
  145. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
  146. package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
  147. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
  148. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
  149. package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
  150. package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
  151. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  152. package/dist/_dts/sdk/src/client/management/types.d.ts +147 -24
  153. package/dist/_dts/sdk/src/client/types.d.ts +2 -0
  154. package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
  155. package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
  156. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  157. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  158. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  159. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +23 -3
  160. package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
  161. package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
  162. package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
  163. package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
  164. package/dist/_dts/sdk/src/data/index.d.ts +3 -3
  165. package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
  166. package/dist/_dts/sdk/src/data/types.d.ts +43 -78
  167. package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
  168. package/dist/_dts/sdk/src/next/index.d.ts +1 -0
  169. package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
  170. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
  171. package/dist/_dts/sdk/src/next/types.d.ts +10 -1
  172. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -10
  173. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
  174. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +10 -5
  175. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
  176. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  177. package/dist/_dts/sdk/src/server.d.ts +4 -3
  178. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  179. package/dist/_dts/sdk/src/version.d.ts +1 -1
  180. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  181. package/dist/_dts/site-commands/src/commands.d.ts +934 -40
  182. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  183. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
  184. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +22 -0
  185. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
  186. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
  187. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  188. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -8
  189. package/dist/_dts/theme-core/src/cards/types.d.ts +3 -3
  190. package/dist/_dts/theme-core/src/data.d.ts +12 -0
  191. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
  192. package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
  193. package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
  194. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  195. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -54
  197. package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
  198. package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
  199. package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +10 -5
  200. package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
  201. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -236
  202. package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
  203. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
  204. package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
  205. package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
  206. package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
  207. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -4
  208. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
  209. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -72
  210. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
  211. package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +1307 -38
  213. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
  214. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
  215. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
  216. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  218. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +161 -51
  219. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +6 -0
  220. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  221. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
  222. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
  223. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
  224. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
  225. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
  226. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
  227. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
  228. package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
  229. package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
  230. package/dist/cli/index.mjs +4118 -2278
  231. package/dist/client/{DiscountCodeDisclosure-BXM73_E5.mjs → DiscountCodeDisclosure-D6TOf6Hi.mjs} +1 -1
  232. package/dist/client/{EventCombined.client-DT5elP7j.mjs → EventCombined.client-Dao3zxRk.mjs} +3 -3
  233. package/dist/client/{EventListing.client-pTYGfV9C.mjs → EventListing.client-B2NNt4y1.mjs} +2 -2
  234. package/dist/client/{LeafletStaticMap-dQrhlUe3.mjs → LeafletStaticMap-BhwFo16w.mjs} +1 -1
  235. package/dist/client/{MagicLinkForm-u6Dul4j5.mjs → MagicLinkForm-BWnB7cMR.mjs} +2 -2
  236. package/dist/client/{StepIndicator-nWqineJ2.mjs → StepIndicator-TzRiQ0BY.mjs} +2 -2
  237. package/dist/client/{accordion-CSJcTUyH.mjs → accordion-BPy-AJ4_.mjs} +1 -1
  238. package/dist/client/{bookingForm-C73wOuVa.mjs → bookingForm-BL4PGZds.mjs} +7 -7
  239. package/dist/client/bookings.mjs +382 -204
  240. package/dist/client/{buttons-DfYyqt8C.mjs → buttons-EBjyslaX.mjs} +265 -152
  241. package/dist/client/{carousel-fMBb0JSc.mjs → carousel-C2b7Cn9-.mjs} +1 -1
  242. package/dist/client/{cart-BtaCwT3S.mjs → cart-BQcbXIVD.mjs} +3 -3
  243. package/dist/client/{checkout-DkTwZSnh.mjs → checkout-DEmpGRJu.mjs} +3 -3
  244. package/dist/client/client.mjs +5019 -1886
  245. package/dist/client/{colorStyles-Wyl6JujD.mjs → colorStyles-jZS6KfkP.mjs} +1 -1
  246. package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
  247. package/dist/client/{courseRegistration-DnLmapJu.mjs → courseRegistration-BqRZPmsq.mjs} +56 -21
  248. package/dist/client/{eventCalendar-BvLOc9KY.mjs → eventCalendar-B8N_tSl5.mjs} +29 -21
  249. package/dist/client/{eventCombined-kShgJPQr.mjs → eventCombined-Gjn6gtq7.mjs} +2 -2
  250. package/dist/client/{eventDetails-C5NTM0Vo.mjs → eventDetails-M-VCxA-r.mjs} +4 -4
  251. package/dist/client/{eventListing-B82ZdKP6.mjs → eventListing-DR19hqYi.mjs} +2 -2
  252. package/dist/client/{eventRegistration-qJVFqBWo.mjs → eventRegistration-BR02a0k3.mjs} +8 -8
  253. package/dist/client/{form-BvAcKiuu.mjs → form-LY2xIbwg.mjs} +2 -2
  254. package/dist/client/{headerSection-NvAiEHAg.mjs → headerSection-CYwwXJfh.mjs} +3 -3
  255. package/dist/client/hooks.mjs +3335 -2210
  256. package/dist/client/{locationMap-D0j52xfI.mjs → locationMap-DWnBXrFq.mjs} +3 -3
  257. package/dist/client/{media-BCW_g2cQ.mjs → media-DHtSxS5V.mjs} +61 -56
  258. package/dist/client/{newsletterForm-B8_i93qH.mjs → newsletterForm-D9s-fQ2P.mjs} +3 -3
  259. package/dist/client/{pricing-DIYnyHOk.mjs → pricing-DDq80oYc.mjs} +1 -1
  260. package/dist/client/{productDetail-w0eAHkuQ.mjs → productDetail-B0SbWd45.mjs} +3 -3
  261. package/dist/client/{productList-Vsguq5Xt.mjs → productList-PwYlZn0y.mjs} +3 -3
  262. package/dist/client/{propsDecoder-CD2pJ1WB.mjs → propsDecoder-BRWBiH7i.mjs} +225 -68
  263. package/dist/client/rendering/client.mjs +2266 -1267
  264. package/dist/client/rendering/islands.mjs +20 -20
  265. package/dist/client/rendering.mjs +5364 -1979
  266. package/dist/client/{shop-Dgxs-Q8F.mjs → shop-CMwZPYME.mjs} +8 -8
  267. package/dist/client/{shop-commerce-DJAhsTaT.mjs → shop-commerce-BuxsFate.mjs} +6 -6
  268. package/dist/client/{shop-commerce-store-CfCXltXW.mjs → shop-commerce-store-boYlEJ91.mjs} +1 -1
  269. package/dist/client/{shopShared-CmDcPXUt.mjs → shopShared-D2naaOes.mjs} +3 -3
  270. package/dist/client/{useDiscountCodeUi-CirrT2bM.mjs → useDiscountCodeUi-D9RHpVoj.mjs} +1 -1
  271. package/dist/client/{useEventFilters-CNZxlCcO.mjs → useEventFilters-igGiK1re.mjs} +6 -6
  272. package/dist/client/{usePolling-Baks_iBI.mjs → usePolling-CI7MbsFB.mjs} +2 -2
  273. package/dist/preview-next/before-render.mjs +218 -1
  274. package/dist/preview-next/client/runtime.mjs +4 -4
  275. package/dist/preview-next/middleware.mjs +218 -1
  276. package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-a_cBD28m.mjs} +218 -1
  277. package/dist/{sdk-runtime-BfNiFeNJ.mjs → sdk-runtime-MBzD-GmP.mjs} +2 -2
  278. package/dist/{separator-BhAR_Xmf.mjs → separator-5ahRBC85.mjs} +1 -1
  279. package/dist/server/components.mjs +5218 -2529
  280. package/dist/server/config-validation.mjs +3112 -2210
  281. package/dist/server/config.mjs +3112 -2211
  282. package/dist/server/data.mjs +3758 -2277
  283. package/dist/server/index.mjs +224 -4
  284. package/dist/server/navigation.mjs +9 -3
  285. package/dist/server/next/middleware.mjs +1 -1
  286. package/dist/server/next.mjs +6468 -2749
  287. package/dist/server/page-converter.mjs +3524 -2635
  288. package/dist/server/prebuild.mjs +1 -1
  289. package/dist/server/rendering/server.mjs +5392 -2488
  290. package/dist/server/rendering.mjs +6241 -2851
  291. package/dist/server/routing.mjs +3414 -1826
  292. package/dist/server/server.mjs +4174 -2354
  293. package/dist/server/theme-bridge.mjs +9579 -8132
  294. package/dist/server/theme.mjs +313 -154
  295. package/dist/styles/index.css +1223 -31
  296. package/package.json +1 -1
  297. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
  298. package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +0 -44
  299. package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
  300. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -45
  301. package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
  302. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -234
@@ -10,6 +10,21 @@ export declare const eventScheduleScopeSchema: z.ZodEnum<{
10
10
  recurring: "recurring";
11
11
  oneOff: "oneOff";
12
12
  }>;
13
+ export declare const publicEventRecurrenceSchema: z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
14
+ kind: z.ZodLiteral<"weekly">;
15
+ interval: z.ZodNumber;
16
+ weekdays: z.ZodArray<z.ZodEnum<{
17
+ MO: "MO";
18
+ TU: "TU";
19
+ WE: "WE";
20
+ TH: "TH";
21
+ FR: "FR";
22
+ SA: "SA";
23
+ SU: "SU";
24
+ }>>;
25
+ }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
26
+ kind: z.ZodLiteral<"other">;
27
+ }, z.core.$strip>>], "kind">;
13
28
  export declare const eventDestinationModeSchema: z.ZodEnum<{
14
29
  "cms-managed": "cms-managed";
15
30
  "system-managed": "system-managed";
@@ -374,6 +389,21 @@ export declare const publicEventSchema: z.ZodObject<{
374
389
  recurring: "recurring";
375
390
  oneOff: "oneOff";
376
391
  }>>;
392
+ recurrence: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
393
+ kind: z.ZodLiteral<"weekly">;
394
+ interval: z.ZodNumber;
395
+ weekdays: z.ZodArray<z.ZodEnum<{
396
+ MO: "MO";
397
+ TU: "TU";
398
+ WE: "WE";
399
+ TH: "TH";
400
+ FR: "FR";
401
+ SA: "SA";
402
+ SU: "SU";
403
+ }>>;
404
+ }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
405
+ kind: z.ZodLiteral<"other">;
406
+ }, z.core.$strip>>], "kind">>;
377
407
  id: z.ZodString;
378
408
  occurrenceId: z.ZodString;
379
409
  seriesId: z.ZodString;
@@ -1034,6 +1064,21 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1034
1064
  recurring: "recurring";
1035
1065
  oneOff: "oneOff";
1036
1066
  }>>;
1067
+ recurrence: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
1068
+ kind: z.ZodLiteral<"weekly">;
1069
+ interval: z.ZodNumber;
1070
+ weekdays: z.ZodArray<z.ZodEnum<{
1071
+ MO: "MO";
1072
+ TU: "TU";
1073
+ WE: "WE";
1074
+ TH: "TH";
1075
+ FR: "FR";
1076
+ SA: "SA";
1077
+ SU: "SU";
1078
+ }>>;
1079
+ }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
1080
+ kind: z.ZodLiteral<"other">;
1081
+ }, z.core.$strip>>], "kind">>;
1037
1082
  id: z.ZodString;
1038
1083
  occurrenceId: z.ZodString;
1039
1084
  seriesId: z.ZodString;
@@ -48,6 +48,14 @@ export type PublicEventDestination = Readonly<{
48
48
  url: string;
49
49
  label: string;
50
50
  }>;
51
+ export type PublicEventRecurrenceWeekday = 'MO' | 'TU' | 'WE' | 'TH' | 'FR' | 'SA' | 'SU';
52
+ export type PublicEventRecurrence = Readonly<{
53
+ kind: 'weekly';
54
+ interval: number;
55
+ weekdays: readonly PublicEventRecurrenceWeekday[];
56
+ }> | Readonly<{
57
+ kind: 'other';
58
+ }>;
51
59
  export type PublicEventTicketTypeAvailability = {
52
60
  kind: "available";
53
61
  remainingCapacity: number | null;
@@ -97,6 +105,8 @@ export type PublicEvent = {
97
105
  destination: PublicEventDestination;
98
106
  /** Whether this occurrence belongs to a recurring or one-off series. */
99
107
  scheduleScope?: Exclude<EventScheduleScope, "any">;
108
+ /** Safe, normalized recurrence evidence when the series owns a recurrence rule. */
109
+ recurrence?: PublicEventRecurrence;
100
110
  id: string;
101
111
  /** Always the occurrence ID (stable pagination cursor) */
102
112
  occurrenceId: string;
@@ -6,10 +6,12 @@ import { type StandardAspectRatio } from "../fields/aspectRatio";
6
6
  import { type BlockCtaContent } from "../fields/ctas";
7
7
  import type { BlockIconValue, SemanticIconId } from "../icons";
8
8
  import { type FeatureCardIconTreatment } from "./feature-card-icons";
9
- type FeatureCardsVariant = "cards";
9
+ type FeatureCardsVariant = "cards" | "editorial-diptych" | "editorial-pathways";
10
10
  type FeatureCardsColumns = "2" | "3" | "4";
11
+ export type FeatureCardSurfaceRole = "open" | "panel";
11
12
  export declare const featureCardsManifest: DefinedBlockManifest<BlockContentShapeInput<BlockConfig>>;
12
13
  export type FeatureCard = {
14
+ surfaceRole?: FeatureCardSurfaceRole | null;
13
15
  media?: Media | null;
14
16
  aspectRatio?: StandardAspectRatio | null;
15
17
  icon?: BlockIconValue | SemanticIconId | null;
@@ -20,6 +22,7 @@ export type FeatureCard = {
20
22
  export type FeatureCardsCardMarker = "icons" | "numbers" | "none";
21
23
  export type FeatureCardsContent = {
22
24
  variant?: FeatureCardsVariant | null;
25
+ eyebrow?: string | null;
23
26
  title?: string | null;
24
27
  description?: TipTapNode | null;
25
28
  columns?: FeatureCardsColumns | null;
@@ -42,6 +42,7 @@ export * from "./event-details";
42
42
  export * from "./course-registration";
43
43
  export * from "./course-details";
44
44
  export * from "./events";
45
+ export * from "./events/recurring-schedule";
45
46
  export * from "./embed";
46
47
  export * from "./team-members";
47
48
  export * from "./image-gallery";
@@ -66,6 +66,14 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
66
66
  readonly required: false;
67
67
  readonly multiline: false;
68
68
  readonly maxLength: 120;
69
+ }, {
70
+ readonly id: "eyebrow";
71
+ readonly type: "text";
72
+ readonly label: "Eyebrow";
73
+ readonly description: "Optional short label above the title";
74
+ readonly required: false;
75
+ readonly multiline: false;
76
+ readonly maxLength: 80;
69
77
  }, {
70
78
  readonly id: "titleAlignment";
71
79
  readonly type: "select";
@@ -5257,6 +5265,7 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
5257
5265
  }>>;
5258
5266
  export type MediaTextContent = {
5259
5267
  title?: string | null;
5268
+ eyebrow?: string | null;
5260
5269
  titleAlignment?: MediaTextAlignment | null;
5261
5270
  imagePosition?: MediaTextImagePosition | null;
5262
5271
  gap?: SemanticSpacing | null;
@@ -31,7 +31,7 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
31
31
  readonly label: "Send signups to";
32
32
  readonly description: "Choose where new subscribers from this form should go.";
33
33
  readonly defaultValue: "riverbank";
34
- readonly required: true;
34
+ readonly required: false;
35
35
  readonly ui: {
36
36
  readonly intent: "behavior";
37
37
  };
@@ -117,7 +117,7 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
117
117
  readonly type: "text";
118
118
  readonly label: "Button label";
119
119
  readonly defaultValue: "Subscribe";
120
- }, {
120
+ }, import("../../../../block-form/src/backend/index").FieldDefinition, {
121
121
  readonly id: "successMessage";
122
122
  readonly type: "text";
123
123
  readonly label: "Success message";
@@ -148,6 +148,7 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
148
148
  readonly variants: {
149
149
  readonly stacked: import("..").NodeDefinition;
150
150
  readonly inline: import("..").NodeDefinition;
151
+ readonly "editorial-split": import("..").NodeDefinition;
151
152
  };
152
153
  readonly defaultVariant: "stacked";
153
154
  readonly variantOptions: {
@@ -159,6 +160,10 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
159
160
  readonly label: "Inline";
160
161
  readonly description: "Horizontal layout (email + button side by side)";
161
162
  };
163
+ readonly "editorial-split": {
164
+ readonly label: "Editorial split";
165
+ readonly description: "Copy and form in balanced side-by-side columns, stacked on mobile.";
166
+ };
162
167
  };
163
168
  readonly styleTokens: {
164
169
  readonly background: "surface";
@@ -197,6 +202,7 @@ export type NewsletterSignupContent = {
197
202
  preset: NewsletterSignupPreset;
198
203
  includePhone?: boolean | null;
199
204
  buttonLabel?: string | null;
205
+ buttonVariant?: 'primary' | 'secondary' | 'outline' | null;
200
206
  successMessage?: string | null;
201
207
  privacyNote?: string | null;
202
208
  tags?: string | null;
@@ -1,13 +1,13 @@
1
- import type { SystemBlockDefinition } from "../../registry";
2
- import type { BlockManifest } from "../../manifest";
3
- import { type CardStylesContent, type SectionStylesContent } from "../../fields/boxStyles";
4
- import type { ButtonVariant } from "../events/shared/types";
5
- import { type OfferingsPreviewGroupOverride, type OfferingsPreviewSourceKey } from "./model";
1
+ import type { SystemBlockDefinition } from '../../registry';
2
+ import type { BlockManifest } from '../../manifest';
3
+ import { type CardStylesContent, type SectionStylesContent } from '../../fields/boxStyles';
4
+ import type { ButtonVariant } from '../events/shared/types';
5
+ import { type OfferingsPreviewGroupOverride, type OfferingsPreviewSourceKey } from './model';
6
6
  export declare const offeringsPreviewManifest: BlockManifest;
7
7
  export type OfferingsPreviewContent = {
8
8
  heading?: string | null;
9
9
  description?: unknown;
10
- itemLimit?: "1" | "2" | "3" | "4" | "5" | "6" | null;
10
+ itemLimit?: '1' | '2' | '3' | '4' | '5' | '6' | null;
11
11
  groupOrder?: readonly OfferingsPreviewSourceKey[] | null;
12
12
  groupOverrides?: readonly OfferingsPreviewGroupOverride[] | null;
13
13
  _cardStyles?: CardStylesContent;
@@ -17,5 +17,5 @@ export type OfferingsPreviewContent = {
17
17
  _sectionStyles?: SectionStylesContent;
18
18
  };
19
19
  export declare const offeringsPreviewBlockDefinition: SystemBlockDefinition<OfferingsPreviewContent>;
20
- export type { BookingOfferingPresetSummary, OfferingsPreviewGroupOrder, OfferingsPreviewGroupOverride, OfferingsPreviewSourceKey, } from "./model";
21
- export { deriveDefaultOfferingsPreviewGroups, inferLegacyOfferingsPreviewGroupOrder, isOfferingsPreviewSourceKey, normalizeOfferingsPreviewContentForWrite, normalizeOfferingsPreviewGroupOrder, resolveOfferingsPreviewGroupOrderEntries, resolveOfferingsPreviewGroupKeys, } from "./model";
20
+ export type { BookingOfferingPresetSummary, OfferingsPreviewGroupOrder, OfferingsPreviewGroupOverride, OfferingsPreviewSourceKey, } from './model';
21
+ export { deriveDefaultOfferingsPreviewGroups, inferLegacyOfferingsPreviewGroupOrder, isOfferingsPreviewSourceKey, normalizeOfferingsPreviewContentForWrite, normalizeOfferingsPreviewGroupOrder, resolveOfferingsPreviewGroupOrderEntries, resolveOfferingsPreviewGroupKeys, } from './model';
@@ -1,5 +1,5 @@
1
- import type { PublicEvent } from "../events/shared/types";
2
- import type { PublicCourse } from "../courses/shared/types";
1
+ import type { PublicEvent } from '../events/shared/types';
2
+ import type { PublicCourse } from '../courses/shared/types';
3
3
  export declare const OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
4
4
  export declare const OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT = "Book";
5
5
  export declare const OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE = "Nothing scheduled just yet.";
@@ -25,26 +25,26 @@ export declare const OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS: readonly [{
25
25
  readonly dataKey: "performanceEvents";
26
26
  readonly label: "Performances";
27
27
  }];
28
- export type OfferingsPreviewEventPreset = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]["preset"];
29
- export type OfferingsPreviewEventSourceKey = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]["sourceKey"];
30
- export type OfferingsPreviewEventDataKey = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]["dataKey"];
28
+ export type OfferingsPreviewEventPreset = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]['preset'];
29
+ export type OfferingsPreviewEventSourceKey = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]['sourceKey'];
30
+ export type OfferingsPreviewEventDataKey = (typeof OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS)[number]['dataKey'];
31
31
  export declare const OFFERINGS_PREVIEW_EVENT_PRESETS: ("performance" | "class" | "workshop" | "retreat")[];
32
32
  export declare const OFFERINGS_PREVIEW_AUTHORABLE_SOURCE_KEYS: readonly [...("eventPreset:class" | "eventPreset:workshop" | "eventPreset:retreat" | "eventPreset:performance")[], "course"];
33
33
  export declare const OFFERINGS_PREVIEW_SOURCE_KEYS: readonly [...("eventPreset:class" | "eventPreset:workshop" | "eventPreset:retreat" | "eventPreset:performance")[], "course"];
34
- export type OfferingsPreviewSourceKey = OfferingsPreviewEventSourceKey | "course";
34
+ export type OfferingsPreviewSourceKey = OfferingsPreviewEventSourceKey | 'course';
35
35
  export type OfferingsPreviewSource = Readonly<{
36
- kind: "eventPreset";
36
+ kind: 'eventPreset';
37
37
  preset: OfferingsPreviewEventPreset;
38
38
  }> | Readonly<{
39
- kind: "course";
39
+ kind: 'course';
40
40
  }>;
41
- export type OfferingsPreviewCtaMode = "auto" | "custom" | "hidden";
42
- export type OfferingsPreviewGroupPresentation = "compact-list" | "single-card";
41
+ export type OfferingsPreviewCtaMode = 'auto' | 'custom' | 'hidden';
42
+ export type OfferingsPreviewGroupPresentation = 'compact-list' | 'single-card' | 'featured-summary';
43
43
  export type OfferingsPreviewRouteCandidate = Readonly<{
44
44
  entityId: string;
45
45
  path: string;
46
46
  title: string;
47
- kind: "page" | "content";
47
+ kind: 'page' | 'content';
48
48
  contentTypeKey?: string | null;
49
49
  }>;
50
50
  export type OfferingsPreviewGroupCtaConfig = Readonly<{
@@ -56,8 +56,8 @@ export type OfferingsPreviewResolvedCta = Readonly<{
56
56
  href: string;
57
57
  label: string;
58
58
  }>;
59
- export type BookingOfferingCanonicalBehaviour = OfferingsPreviewEventPreset | "course" | "appointment";
60
- export type BookingOfferingEngine = "event_series" | "course" | "appointment_service";
59
+ export type BookingOfferingCanonicalBehaviour = OfferingsPreviewEventPreset | 'course' | 'appointment';
60
+ export type BookingOfferingEngine = 'event_series' | 'course' | 'appointment_service';
61
61
  export type BookingOfferingPresetSummary = Readonly<{
62
62
  id: string;
63
63
  canonicalBehaviour: BookingOfferingCanonicalBehaviour;
@@ -90,27 +90,27 @@ export type OfferingsPreviewGroupOrderEntry = Readonly<{
90
90
  override?: OfferingsPreviewGroupOverride;
91
91
  }>;
92
92
  export type OfferingsPreviewItem = Readonly<{
93
- kind: "event";
93
+ kind: 'event';
94
94
  event: PublicEvent;
95
95
  } | {
96
- kind: "course";
96
+ kind: 'course';
97
97
  course: PublicCourse;
98
98
  path: string | null;
99
99
  }>;
100
100
  export type OfferingsPreviewGroupItemData = Readonly<{
101
- kind: "ready";
101
+ kind: 'ready';
102
102
  items: readonly OfferingsPreviewItem[];
103
103
  } | {
104
- kind: "failed";
105
- reason: "not_loaded";
104
+ kind: 'failed';
105
+ reason: 'not_loaded';
106
106
  }>;
107
107
  export type OfferingsPreviewGroupEventData = OfferingsPreviewGroupItemData;
108
108
  export type OfferingsPreviewGroupRenderState = Readonly<{
109
- kind: "items";
109
+ kind: 'items';
110
110
  group: ResolvedOfferingsPreviewGroup;
111
111
  items: readonly OfferingsPreviewItem[];
112
112
  } | {
113
- kind: "empty";
113
+ kind: 'empty';
114
114
  group: ResolvedOfferingsPreviewGroup;
115
115
  message: string;
116
116
  }>;
@@ -136,11 +136,11 @@ export declare function resolveOfferingsPreviewGroupKeys(input: Readonly<{
136
136
  overrides?: readonly OfferingsPreviewGroupOverride[] | null;
137
137
  }>): readonly OfferingsPreviewSourceKey[];
138
138
  export declare function normalizeOfferingsPreviewGroupOrder(value: readonly unknown[] | null | undefined): Readonly<{
139
- kind: "legacy";
139
+ kind: 'legacy';
140
140
  } | {
141
- kind: "default";
141
+ kind: 'default';
142
142
  } | {
143
- kind: "custom";
143
+ kind: 'custom';
144
144
  keys: readonly OfferingsPreviewSourceKey[];
145
145
  }>;
146
146
  export declare function inferLegacyOfferingsPreviewGroupOrder(overrides: readonly Readonly<{
@@ -159,4 +159,4 @@ export declare function buildOfferingsPreviewRenderStates(input: Readonly<{
159
159
  emptyMessage: string;
160
160
  failedMessage: string;
161
161
  }>): readonly OfferingsPreviewGroupRenderState[];
162
- export declare function resolveOfferingsPreviewCoursePath(course: Pick<PublicCourse, "contentEntryId" | "slug">, routes: readonly OfferingsPreviewRouteCandidate[] | null | undefined): string | null;
162
+ export declare function resolveOfferingsPreviewCoursePath(course: Pick<PublicCourse, 'contentEntryId' | 'slug'>, routes: readonly OfferingsPreviewRouteCandidate[] | null | undefined): string | null;
@@ -0,0 +1,29 @@
1
+ import type { PublicCourse } from '../courses/shared/types';
2
+ import type { PublicEvent } from '../events/shared/types';
3
+ type ScheduleOccurrence = Readonly<{
4
+ startsAt: string;
5
+ endsAt: string;
6
+ timeZone: string;
7
+ }>;
8
+ export type OfferingsPreviewScheduleSummary = Readonly<{
9
+ kind: 'single-occurrence';
10
+ occurrence: ScheduleOccurrence;
11
+ } | {
12
+ kind: 'multi-day-span';
13
+ occurrence: ScheduleOccurrence;
14
+ } | {
15
+ kind: 'fixed-recurring-run';
16
+ first: ScheduleOccurrence;
17
+ last: ScheduleOccurrence;
18
+ sessionCount: number;
19
+ recurrenceLabel: string;
20
+ } | {
21
+ kind: 'irregular-multi-session-run';
22
+ first: ScheduleOccurrence;
23
+ last: ScheduleOccurrence;
24
+ sessionCount: number;
25
+ }>;
26
+ export declare function deriveEventScheduleSummary(event: Pick<PublicEvent, 'startsAt' | 'endsAt' | 'timeZone'>): OfferingsPreviewScheduleSummary;
27
+ export declare function deriveCourseScheduleSummary(course: Pick<PublicCourse, 'sessions'>): OfferingsPreviewScheduleSummary | null;
28
+ export declare function nextCourseSessionStart(course: Pick<PublicCourse, 'sessions'>): string | null;
29
+ export {};
@@ -23,11 +23,12 @@ export declare const shopManifest: BlockManifest;
23
23
  export type ShopContent = {
24
24
  showPasses?: boolean | null;
25
25
  showMemberships?: boolean | null;
26
- layout?: "grid" | "list" | null;
26
+ layout?: "grid" | "list" | "register" | null;
27
27
  columns?: "1" | "2" | "3" | "4" | null;
28
28
  showDescriptions?: boolean | null;
29
29
  showValidityPeriod?: boolean | null;
30
30
  showPricePerCredit?: boolean | null;
31
+ buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
31
32
  passesHeading?: string | null;
32
33
  membershipsHeading?: string | null;
33
34
  buyButtonText?: string | null;
@@ -0,0 +1,50 @@
1
+ import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type PublicProfile } from '../../../../core/src/index';
2
+ export type FooterRuntimeModule = Readonly<{
3
+ id: FooterModuleId;
4
+ kind: 'brand' | 'navigation' | 'legal-navigation' | 'business-address' | 'contact' | 'opening-hours' | 'social-links' | 'supporting-text' | 'legal';
5
+ heading: string | null;
6
+ navigationClassName?: string;
7
+ showLogo?: boolean;
8
+ showTitle?: boolean;
9
+ address?: string;
10
+ contactLinks?: readonly Readonly<{
11
+ href: string;
12
+ label: string;
13
+ }>[];
14
+ openingHours?: readonly Readonly<{
15
+ weekday: string;
16
+ hours: string;
17
+ }>[];
18
+ timeZone?: string;
19
+ socialLinks?: readonly Readonly<{
20
+ href: string;
21
+ label: string;
22
+ icon: string | null;
23
+ }>[];
24
+ content?: Readonly<Record<string, unknown>>;
25
+ }>;
26
+ export type FooterRuntimeViewModel = Readonly<{
27
+ membershipKey: FooterMembershipKey;
28
+ regions: readonly FooterRuntimeRegion[];
29
+ }>;
30
+ export type FooterRuntimeGroup = Readonly<{
31
+ kind: 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
32
+ modules: readonly FooterRuntimeModule[];
33
+ }>;
34
+ export type FooterRuntimeRegion = Readonly<{
35
+ kind: 'main' | 'bottom';
36
+ className: string;
37
+ groups: readonly FooterRuntimeGroup[];
38
+ }>;
39
+ type FooterRuntimeViewModelInput = Readonly<{
40
+ composition: FooterCompositionV1;
41
+ publicProfile: PublicProfile;
42
+ businessAddress: string | null;
43
+ hasFooterNavigation: boolean;
44
+ hasLegalPolicyNavigation?: boolean;
45
+ hasLogo?: boolean;
46
+ legalRegion?: 'integrated' | 'separate';
47
+ layoutVariant?: 'simple' | 'columns' | 'split';
48
+ }>;
49
+ export declare function buildFooterRuntimeViewModel(input: FooterRuntimeViewModelInput): FooterRuntimeViewModel;
50
+ export {};
@@ -1,53 +1,14 @@
1
- import type { NodeDefinition } from "../node";
2
- import type { SystemBlockDefinition } from "../registry";
3
- export declare const siteFooterManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
4
- readonly id: "block.site-footer";
5
- readonly title: "Site Footer";
6
- readonly category: "layout";
7
- readonly fragments: readonly [{
8
- readonly fragment: import("..").DefinedFragment<{
9
- readonly fields: readonly [{
10
- readonly id: "bodyText";
11
- readonly type: "richText";
12
- readonly label: "Body text";
13
- readonly description: "Appears in the main footer area.";
14
- readonly ui: {
15
- readonly variant: "limited";
16
- };
17
- }, {
18
- readonly id: "bottomText";
19
- readonly type: "richText";
20
- readonly label: "Bottom bar text";
21
- readonly description: "Appears in the optional footer bottom bar.";
22
- readonly ui: {
23
- readonly variant: "limited";
24
- };
25
- }];
26
- }>;
27
- readonly fieldPriority: 0;
28
- }];
1
+ import type { SystemBlockDefinition } from '../registry';
2
+ import type { FooterRuntimeViewModel } from './site-footer-runtime';
3
+ export declare const siteFooterManifest: import("..").DefinedBlockManifest<{
29
4
  readonly skipSectionStyles: true;
30
- readonly additionalFields: readonly [{
31
- readonly id: "showBusinessAddress";
32
- readonly type: "boolean";
33
- readonly label: "Add business address to site footer?";
34
- readonly required: false;
35
- readonly defaultValue: false;
36
- readonly ui: {
37
- readonly intent: "content";
38
- };
39
- }];
40
- readonly layout: NodeDefinition;
41
- readonly description: "Site-wide footer with navigation links and optional columns.";
42
- readonly styleTokens: {
43
- readonly spacing: "md";
44
- };
45
- readonly paletteHidden: true;
46
- }>>;
47
- export type SiteFooterVariant = "simple" | "columns" | "split";
48
- export type SiteFooterContent = {
5
+ }>;
6
+ export type SiteFooterVariant = 'simple' | 'columns' | 'split';
7
+ export type SiteFooterContent = Readonly<{
8
+ /** Legacy storage-only fields. The V1 runtime does not read these values. */
49
9
  bodyText?: unknown;
50
10
  bottomText?: unknown;
51
11
  showBusinessAddress?: boolean | null;
52
- };
12
+ footerRuntime?: FooterRuntimeViewModel | null;
13
+ }>;
53
14
  export declare const siteFooterBlockDefinition: SystemBlockDefinition<SiteFooterContent>;
@@ -54,7 +54,7 @@ export declare const BACKGROUND_POSITION_PRESETS: readonly [{
54
54
  readonly value: "right bottom";
55
55
  readonly label: "Right Bottom";
56
56
  }];
57
- export declare const BACKGROUND_POSITION_PRESET_VALUES: ("left" | "right" | "top" | "bottom" | "center" | "right center" | "top left" | "top right" | "bottom left" | "bottom right" | "top center" | "bottom center" | "left center" | "left top" | "right top" | "left bottom" | "right bottom")[];
57
+ export declare const BACKGROUND_POSITION_PRESET_VALUES: ("bottom" | "left" | "right" | "top" | "center" | "right center" | "top left" | "top right" | "bottom left" | "bottom right" | "top center" | "bottom center" | "left center" | "left top" | "right top" | "left bottom" | "right bottom")[];
58
58
  /**
59
59
  * Maps position keywords to rb-* anchor positioning classes.
60
60
  * Used for positioning scaled/overflow images within their containers.
@@ -1,4 +1,4 @@
1
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
1
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.recurring-schedule", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
2
2
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
3
3
  export type CustomBlockKind = `custom.${string}`;
4
4
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -1,5 +1,5 @@
1
1
  import { type MediaAssetId } from '../../../../core/src/index';
2
- import { type ThemeBackgroundTextLegibilityPlan, type AppearancePresetId, type LayoutVariantKey } from '../../../../theme-core/src/site-styles/index';
2
+ import { type ThemeBackgroundTextLegibilityPlan, type AppearancePresetId, type LayoutVariantKey, type PageDesignEditorBackgroundSupport } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { ThemeColorToken } from '../../../../theme-core/src/tokens/index';
4
4
  import type { RenderableMediaAsset } from '../../../../media-core/src/index';
5
5
  export type BackgroundMode = 'default' | 'color' | 'gradient' | 'image';
@@ -129,6 +129,7 @@ export type BackgroundOverrideBlockedReason = 'mode-unavailable' | 'value-unavai
129
129
  export type BackgroundCustomizeContent = Record<string, unknown>;
130
130
  export type BackgroundCapabilityBlock = Readonly<{
131
131
  blockKind: string;
132
+ backgroundSupport: PageDesignEditorBackgroundSupport;
132
133
  layout: Readonly<{
133
134
  effectiveValue: LayoutVariantKey;
134
135
  }> | null;
@@ -157,11 +158,7 @@ export type ResolveBackgroundCapabilityInput = Readonly<{
157
158
  }>;
158
159
  export declare const BACKGROUND_MODES: readonly ["default", "color", "gradient", "image"];
159
160
  export declare const DEFAULT_BACKGROUND_OVERRIDE: BackgroundOverride;
160
- export declare const BACKGROUND_CUSTOMIZABLE_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.event-calendar", "block.testimonials", "block.cta-full", "block.form"];
161
- export declare const BACKGROUND_COLOR_ONLY_BLOCK_KINDS: readonly ["block.intro", "block.event-calendar"];
162
- export declare const BACKGROUND_RICH_LAYOUT_FAMILIES: readonly ["split"];
163
161
  export declare const BACKGROUND_RICH_SECTION_SURFACES: readonly ["hero-image"];
164
- export declare function isBackgroundCustomizableBlockKind(blockKind: string): boolean;
165
162
  export type BackgroundColorPalette = Readonly<Record<string, string | null | undefined>>;
166
163
  export declare const backgroundColorTokens: readonly BackgroundColorToken[];
167
164
  export declare const quickBackgroundColorTokens: readonly BackgroundColorToken[];
@@ -1,3 +1,3 @@
1
- export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
1
+ export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
2
2
  export type SupportedLoaderEndpoint = typeof SUPPORTED_LOADER_ENDPOINTS[number];
3
3
  export declare function isSupportedLoaderEndpoint(endpoint: string): endpoint is SupportedLoaderEndpoint;
@@ -11,6 +11,7 @@ export type BlockDesignCapabilityDeclaration = Readonly<{
11
11
  }>;
12
12
  export declare function declareBlockDesignCapability<const TCapability extends DesignedBlockDesignCapabilityInput>(capability: NoExtraKeys<TCapability, DesignedBlockDesignCapabilityInput>): BlockDesignCapabilityDeclaration;
13
13
  export declare function withEyebrowCapability(declaration: BlockDesignCapabilityDeclaration, eyebrowTreatments: NonEmptyReadonlyArray<EyebrowTreatment>): BlockDesignCapabilityDeclaration;
14
+ export declare function withLookCapability(declaration: BlockDesignCapabilityDeclaration): BlockDesignCapabilityDeclaration;
14
15
  export declare function declareNoBlockDesignCapability(reason: NoBlockDesignCapabilityReason): BlockDesignCapabilityDeclaration;
15
16
  export declare function resolveDeclaredBlockDesignCapability(declaration: BlockDesignCapabilityDeclaration | undefined): BlockDesignCapability | undefined;
16
17
  export declare function blockDesignCapabilityMapFromDefinitions(definitions: readonly SystemBlockDefinition<unknown, AnyBlockRuntimeDefinition | undefined>[]): BlockDesignCapabilityMap;
@@ -11,7 +11,7 @@ export declare const newsletterFormFragment: import("..").DefinedFragment<{
11
11
  readonly label: "Send signups to";
12
12
  readonly description: "Choose where new subscribers from this form should go.";
13
13
  readonly defaultValue: "riverbank";
14
- readonly required: true;
14
+ readonly required: false;
15
15
  readonly ui: {
16
16
  readonly intent: "behavior";
17
17
  };
@@ -97,7 +97,7 @@ export declare const newsletterFormFragment: import("..").DefinedFragment<{
97
97
  readonly type: "text";
98
98
  readonly label: "Button label";
99
99
  readonly defaultValue: "Subscribe";
100
- }, {
100
+ }, import("../../../../../block-form/src/backend/index").FieldDefinition, {
101
101
  readonly id: "successMessage";
102
102
  readonly type: "text";
103
103
  readonly label: "Success message";
@@ -2,7 +2,8 @@ import { type CtaIconName } from './cta';
2
2
  import { type SemanticIconId } from './semantic';
3
3
  import { type IconPickerPreset } from './presets';
4
4
  import type { IconComponent } from './svg';
5
- export type IconName = CtaIconName | SemanticIconId;
5
+ import { type SocialIconName } from './social';
6
+ export type IconName = CtaIconName | SemanticIconId | SocialIconName;
6
7
  export type IconIdForPreset<Preset extends IconPickerPreset> = Preset extends 'cta' ? CtaIconName : Preset extends 'feature' ? SemanticIconId : never;
7
8
  export type IconPickerOption<Preset extends IconPickerPreset = IconPickerPreset> = {
8
9
  id: IconIdForPreset<Preset>;
@@ -0,0 +1,5 @@
1
+ import { type IconComponent } from './svg';
2
+ export declare const SOCIAL_ICON_NAMES: readonly ["SocialFacebook", "SocialInstagram", "SocialLinkedIn", "SocialTikTok", "SocialX", "SocialYouTube"];
3
+ export type SocialIconName = (typeof SOCIAL_ICON_NAMES)[number];
4
+ export declare function isSocialIconName(value: unknown): value is SocialIconName;
5
+ export declare function getSocialIconComponent(value: unknown): IconComponent | null;
@@ -13,6 +13,7 @@ export type IconSvgProps = Omit<SVGProps<SVGSVGElement>, 'width' | 'height'> & {
13
13
  title?: string;
14
14
  };
15
15
  export type IconComponent = React.ComponentType<IconSvgProps>;
16
+ export declare function createIcon(displayName: string, children: React.ReactNode): IconComponent;
16
17
  export declare const ArrowDownIcon: IconComponent;
17
18
  export declare const ArrowLeftIcon: IconComponent;
18
19
  export declare const ArrowRightIcon: IconComponent;
@@ -4802,9 +4802,9 @@ export declare const styleTokenSchema: z.ZodObject<{
4802
4802
  }>>;
4803
4803
  typography: z.ZodOptional<z.ZodEnum<{
4804
4804
  display: "display";
4805
+ heading: "heading";
4805
4806
  body: "body";
4806
4807
  caption: "caption";
4807
- heading: "heading";
4808
4808
  subheading: "subheading";
4809
4809
  }>>;
4810
4810
  spacing: z.ZodOptional<z.ZodEnum<{
@@ -4890,9 +4890,9 @@ export declare const manifestSchema: z.ZodObject<{
4890
4890
  }>>;
4891
4891
  typography: z.ZodOptional<z.ZodEnum<{
4892
4892
  display: "display";
4893
+ heading: "heading";
4893
4894
  body: "body";
4894
4895
  caption: "caption";
4895
- heading: "heading";
4896
4896
  subheading: "subheading";
4897
4897
  }>>;
4898
4898
  spacing: z.ZodOptional<z.ZodEnum<{