@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
@@ -1,3 +1,4 @@
1
+ import type { FooterModuleId } from '../../../core/src/index';
1
2
  import { type EditorUnpublishedState } from '../controller/deriveEditorUnpublishedState';
2
3
  import { type AutosaveState } from './stores/autosaveStore';
3
4
  import { type GeneratedIconAssetsState } from './stores/generatedIconAssetsStore';
@@ -33,6 +34,7 @@ export type ActivePreviewField = (Readonly<{
33
34
  */
34
35
  export type AutosaveAcknowledgement = Readonly<{
35
36
  acknowledgedVersion: number;
37
+ optimisticHash?: string | null;
36
38
  }>;
37
39
  /**
38
40
  * Form-facing metadata facade. Consumers pass plain records for ergonomics;
@@ -65,6 +67,13 @@ export type PreviewInspection = Readonly<{
65
67
  kind: 'linked-entry';
66
68
  entryId: LinkedContentEntryId;
67
69
  requestId: number;
70
+ }> | Readonly<{
71
+ kind: 'footer-module';
72
+ moduleId: FooterModuleId;
73
+ requestId: number;
74
+ }> | Readonly<{
75
+ kind: 'footer';
76
+ requestId: number;
68
77
  }>;
69
78
  export type LinkedEntryState = {
70
79
  getSelectedEntryId: () => LinkedContentEntryId | null;
@@ -184,6 +193,8 @@ export type EditorUiState = {
184
193
  setPreviewSidebarTab: (tab: PreviewSidebarTab) => void;
185
194
  inspectBlock: (blockId: EditorBlockId) => void;
186
195
  inspectLinkedEntry: (entryId: string) => void;
196
+ inspectFooterModule: (moduleId: FooterModuleId) => void;
197
+ inspectFooter: () => void;
187
198
  clearPreviewInspection: () => void;
188
199
  setActivePreviewField: (field: ActivePreviewField) => void;
189
200
  requestFocus: (payload: Omit<NonNullable<FocusRequest>, 'requestId'>) => void;
@@ -8,11 +8,11 @@ declare const BaseContentFieldSchema: z.ZodObject<{
8
8
  number: "number";
9
9
  boolean: "boolean";
10
10
  date: "date";
11
+ url: "url";
11
12
  text: "text";
12
13
  textarea: "textarea";
13
14
  select: "select";
14
15
  link: "link";
15
- url: "url";
16
16
  file: "file";
17
17
  media: "media";
18
18
  reference: "reference";
@@ -38,6 +38,9 @@ type SnapshotDefaults = {
38
38
  slug?: string | null;
39
39
  };
40
40
  export declare function createSnapshotFromContentEntry<TStatus extends string = string>(data: ContentEntryLike, routing: RoutingHelpers, defaults: SnapshotDefaults, titleField?: string | null): ContentEntrySnapshot<TStatus>;
41
+ export declare function createSnapshotFromRoutableContent<TStatus extends string = string>(owner: Readonly<{
42
+ id: string;
43
+ }>, route: NonNullable<ContentEntryLike["route"]>, routing: RoutingHelpers, defaults: SnapshotDefaults): RoutableContentSnapshot<TStatus>;
41
44
  type PageRecordLike = {
42
45
  id: string;
43
46
  draftTitle?: string | null;
@@ -54,6 +54,13 @@ export type SafeDownloadFilename = Brand<string, 'SafeDownloadFilename'>;
54
54
  export type PositiveByteCount = Brand<number, 'PositiveByteCount'>;
55
55
  export type PositiveSeconds = Brand<number, 'PositiveSeconds'>;
56
56
  export type BookingSessionId = Brand<string, 'BookingSessionId'>;
57
+ export type DatedOfferingCapacityHoldId = Brand<string, 'DatedOfferingCapacityHoldId'>;
58
+ export type DatedOfferingCapacityHoldAuditRef = Brand<string, 'DatedOfferingCapacityHoldAuditRef'>;
59
+ export type DatedOfferingRevocationAuditEventId = Brand<string, 'DatedOfferingRevocationAuditEventId'>;
60
+ export type DatedOfferingNonCashProjectionClaimToken = Brand<string, 'DatedOfferingNonCashProjectionClaimToken'>;
61
+ export type DatedOfferingWaitlistCapacityEffectId = Brand<string, 'DatedOfferingWaitlistCapacityEffectId'>;
62
+ export type DatedOfferingWaitlistCapacityEffectClaimToken = Brand<string, 'DatedOfferingWaitlistCapacityEffectClaimToken'>;
63
+ export type DatedOfferingRunCancellationOperationId = Brand<string, 'DatedOfferingRunCancellationOperationId'>;
57
64
  export type EntitlementId = Brand<string, 'EntitlementId'>;
58
65
  export type SiteFontId = Brand<string, 'SiteFontId'>;
59
66
  export type UserId = Brand<string, 'UserId'>;
@@ -66,6 +73,12 @@ export type CourseProgramId = Brand<string, 'CourseProgramId'>;
66
73
  export type CustomerId = Brand<string, 'CustomerId'>;
67
74
  export type OrderId = Brand<string, 'OrderId'>;
68
75
  export type OrderItemId = Brand<string, 'OrderItemId'>;
76
+ export type OrderRefundId = Brand<string, 'OrderRefundId'>;
77
+ export type OrderPaymentReceiptId = Brand<string, 'OrderPaymentReceiptId'>;
78
+ export type OrderFlexibleBalanceContractId = Brand<string, 'OrderFlexibleBalanceContractId'>;
79
+ export type OrderPaymentPlanId = Brand<string, 'OrderPaymentPlanId'>;
80
+ export type OrderPaymentPlanInstalmentId = Brand<string, 'OrderPaymentPlanInstalmentId'>;
81
+ export type ManualPaymentOperationId = Brand<string, 'ManualPaymentOperationId'>;
69
82
  export type CheckoutLineId = Brand<string, 'CheckoutLineId'>;
70
83
  export type AttendeeId = Brand<string, 'AttendeeId'>;
71
84
  export type CustomerPassId = Brand<string, 'CustomerPassId'>;
@@ -83,6 +96,7 @@ export type BookingCalendarFeedTokenPublicId = Brand<string, 'BookingCalendarFee
83
96
  export type BookingCalendarFeedTokenSecret = Brand<string, 'BookingCalendarFeedTokenSecret'>;
84
97
  export type BookingCalendarFeedTokenSecretHash = Brand<string, 'BookingCalendarFeedTokenSecretHash'>;
85
98
  export type ContentEntryId = Brand<string, 'ContentEntryId'>;
99
+ export type ContentBlockId = Brand<string, 'ContentBlockId'>;
86
100
  export type ContentVersionId = Brand<string, 'ContentVersionId'>;
87
101
  export type EntryContentHash = Brand<string, 'EntryContentHash'>;
88
102
  export type StripeInvoiceId = Brand<string, 'StripeInvoiceId'>;
@@ -175,6 +189,13 @@ export declare const unsafeAsSafeDownloadFilename: (value: string) => SafeDownlo
175
189
  export declare const unsafeAsPositiveByteCount: (value: number) => PositiveByteCount;
176
190
  export declare const unsafeAsPositiveSeconds: (value: number) => PositiveSeconds;
177
191
  export declare const unsafeAsBookingSessionId: (id: string) => BookingSessionId;
192
+ export declare const unsafeAsDatedOfferingCapacityHoldId: (value: string) => DatedOfferingCapacityHoldId;
193
+ export declare const unsafeAsDatedOfferingCapacityHoldAuditRef: (value: string) => DatedOfferingCapacityHoldAuditRef;
194
+ export declare const unsafeAsDatedOfferingRevocationAuditEventId: (value: string) => DatedOfferingRevocationAuditEventId;
195
+ export declare const unsafeAsDatedOfferingNonCashProjectionClaimToken: (value: string) => DatedOfferingNonCashProjectionClaimToken;
196
+ export declare const unsafeAsDatedOfferingWaitlistCapacityEffectId: (value: string) => DatedOfferingWaitlistCapacityEffectId;
197
+ export declare const unsafeAsDatedOfferingWaitlistCapacityEffectClaimToken: (value: string) => DatedOfferingWaitlistCapacityEffectClaimToken;
198
+ export declare const unsafeAsDatedOfferingRunCancellationOperationId: (value: string) => DatedOfferingRunCancellationOperationId;
178
199
  export declare const unsafeAsEntitlementId: (id: string) => EntitlementId;
179
200
  export declare const unsafeAsSiteFontId: (id: string) => SiteFontId;
180
201
  export declare const unsafeAsUserId: (id: string) => UserId;
@@ -187,6 +208,12 @@ export declare const unsafeAsCourseProgramId: (id: string) => CourseProgramId;
187
208
  export declare const unsafeAsCustomerId: (id: string) => CustomerId;
188
209
  export declare const unsafeAsOrderId: (id: string) => OrderId;
189
210
  export declare const unsafeAsOrderItemId: (id: string) => OrderItemId;
211
+ export declare const unsafeAsOrderRefundId: (id: string) => OrderRefundId;
212
+ export declare const unsafeAsOrderPaymentReceiptId: (id: string) => OrderPaymentReceiptId;
213
+ export declare const unsafeAsOrderFlexibleBalanceContractId: (id: string) => OrderFlexibleBalanceContractId;
214
+ export declare const unsafeAsOrderPaymentPlanId: (id: string) => OrderPaymentPlanId;
215
+ export declare const unsafeAsOrderPaymentPlanInstalmentId: (id: string) => OrderPaymentPlanInstalmentId;
216
+ export declare const unsafeAsManualPaymentOperationId: (id: string) => ManualPaymentOperationId;
190
217
  export declare const unsafeAsCheckoutLineId: (id: string) => CheckoutLineId;
191
218
  export declare const unsafeAsAttendeeId: (id: string) => AttendeeId;
192
219
  export declare const unsafeAsCustomerPassId: (id: string) => CustomerPassId;
@@ -204,6 +231,7 @@ export declare const unsafeAsBookingCalendarFeedTokenPublicId: (id: string) => B
204
231
  export declare const unsafeAsBookingCalendarFeedTokenSecret: (value: string) => BookingCalendarFeedTokenSecret;
205
232
  export declare const unsafeAsBookingCalendarFeedTokenSecretHash: (value: string) => BookingCalendarFeedTokenSecretHash;
206
233
  export declare const unsafeAsContentEntryId: (id: string) => ContentEntryId;
234
+ export declare const unsafeAsContentBlockId: (id: string) => ContentBlockId;
207
235
  export declare const unsafeAsContentVersionId: (id: string) => ContentVersionId;
208
236
  export declare const unsafeAsEntryContentHash: (value: string) => EntryContentHash;
209
237
  export declare const unsafeAsStripeInvoiceId: (id: string) => StripeInvoiceId;
@@ -254,6 +282,7 @@ export declare const parseProductVariantId: (value: unknown) => Result<ProductVa
254
282
  export declare const parseProductCategoryId: (value: unknown) => Result<ProductCategoryId, BrandedIdParseError>;
255
283
  export declare const parseMediaAssetId: (value: unknown) => Result<MediaAssetId, BrandedIdParseError>;
256
284
  export declare const parseContentEntryId: (value: unknown) => Result<ContentEntryId, BrandedIdParseError>;
285
+ export declare const parseContentBlockId: (value: unknown) => Result<ContentBlockId, BrandedIdParseError>;
257
286
  export declare const parseContentVersionId: (value: unknown) => Result<ContentVersionId, BrandedIdParseError>;
258
287
  export declare const parseNavigationMenuId: (value: unknown) => Result<NavigationMenuId, BrandedIdParseError>;
259
288
  export declare const parseNavigationItemId: (value: unknown) => Result<NavigationItemId, BrandedIdParseError>;
@@ -267,8 +296,26 @@ export declare const parseAppointmentResourceId: (value: unknown) => Result<Appo
267
296
  export declare const parseAppointmentReservationId: (value: unknown) => Result<AppointmentReservationId, BrandedIdParseError>;
268
297
  export declare const parseAppointmentReservationRunId: (value: unknown) => Result<AppointmentReservationRunId, BrandedIdParseError>;
269
298
  export declare const parseAttendeeId: (value: unknown) => Result<AttendeeId, BrandedIdParseError>;
299
+ export declare const parseDatedOfferingCapacityHoldId: (value: unknown) => Result<DatedOfferingCapacityHoldId, BrandedIdParseError>;
300
+ export declare const parseDatedOfferingCapacityHoldAuditRef: (value: unknown) => Result<DatedOfferingCapacityHoldAuditRef, BrandedIdParseError>;
301
+ export declare const parseDatedOfferingRevocationAuditEventId: (value: unknown) => Result<DatedOfferingRevocationAuditEventId, BrandedIdParseError>;
302
+ export declare const parseDatedOfferingNonCashProjectionClaimToken: (value: unknown) => Result<DatedOfferingNonCashProjectionClaimToken, BrandedIdParseError>;
303
+ export declare const parseDatedOfferingWaitlistCapacityEffectId: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectId, BrandedIdParseError>;
304
+ export declare const parseDatedOfferingWaitlistCapacityEffectClaimToken: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectClaimToken, BrandedIdParseError>;
305
+ export declare const parseDatedOfferingRunCancellationOperationId: (value: unknown) => Result<DatedOfferingRunCancellationOperationId, BrandedIdParseError>;
270
306
  export declare const parseCustomerId: (value: unknown) => Result<CustomerId, BrandedIdParseError>;
271
307
  export declare const parseCustomerPassId: (value: unknown) => Result<CustomerPassId, BrandedIdParseError>;
272
308
  export declare const parseCustomerMembershipId: (value: unknown) => Result<CustomerMembershipId, BrandedIdParseError>;
273
309
  export declare const parseEventSeriesId: (value: unknown) => Result<EventSeriesId, BrandedIdParseError>;
310
+ export declare const parseEnrollmentId: (value: unknown) => Result<EnrollmentId, BrandedIdParseError>;
311
+ export declare const parseParticipantId: (value: unknown) => Result<ParticipantId, BrandedIdParseError>;
312
+ export declare const parseParticipantParticipationId: (value: unknown) => Result<ParticipantParticipationId, BrandedIdParseError>;
313
+ export declare const parseOrderItemId: (value: unknown) => Result<OrderItemId, BrandedIdParseError>;
314
+ export declare const parseOrderId: (value: unknown) => Result<OrderId, BrandedIdParseError>;
315
+ export declare const parseOrderRefundId: (value: unknown) => Result<OrderRefundId, BrandedIdParseError>;
316
+ export declare const parseOrderPaymentReceiptId: (value: unknown) => Result<OrderPaymentReceiptId, BrandedIdParseError>;
317
+ export declare const parseOrderFlexibleBalanceContractId: (value: unknown) => Result<OrderFlexibleBalanceContractId, BrandedIdParseError>;
318
+ export declare const parseOrderPaymentPlanId: (value: unknown) => Result<OrderPaymentPlanId, BrandedIdParseError>;
319
+ export declare const parseOrderPaymentPlanInstalmentId: (value: unknown) => Result<OrderPaymentPlanInstalmentId, BrandedIdParseError>;
320
+ export declare const parseManualPaymentOperationId: (value: unknown) => Result<ManualPaymentOperationId, BrandedIdParseError>;
274
321
  export {};
@@ -0,0 +1,47 @@
1
+ import type { UtcIsoDateTimeString } from './booking-date-time';
2
+ import type { Brand, StripeCheckoutSessionId } from './branded';
3
+ import { type Result } from './result';
4
+ export type StripePaymentIntentRef = Brand<string, 'StripePaymentIntentRef'>;
5
+ export type StripeWebhookEventRef = Brand<string, 'StripeWebhookEventRef'>;
6
+ export type StripeBalanceTransactionRef = Brand<string, 'StripeBalanceTransactionRef'>;
7
+ export type StripeChargeRef = Brand<string, 'StripeChargeRef'>;
8
+ export type StripeAccountRef = Brand<string, 'StripeAccountRef'>;
9
+ export type StripeSettlementReferenceParseError = Readonly<{
10
+ kind: 'not_string';
11
+ }> | Readonly<{
12
+ kind: 'empty_string';
13
+ }>;
14
+ export declare const parseStripePaymentIntentRef: (value: unknown) => Result<StripePaymentIntentRef, StripeSettlementReferenceParseError>;
15
+ export declare const parseStripeWebhookEventRef: (value: unknown) => Result<StripeWebhookEventRef, StripeSettlementReferenceParseError>;
16
+ export declare const parseStripeBalanceTransactionRef: (value: unknown) => Result<StripeBalanceTransactionRef, StripeSettlementReferenceParseError>;
17
+ export declare const parseStripeChargeRef: (value: unknown) => Result<StripeChargeRef, StripeSettlementReferenceParseError>;
18
+ export declare const parseStripeAccountRef: (value: unknown) => Result<StripeAccountRef, StripeSettlementReferenceParseError>;
19
+ export declare const parseStripeCheckoutSessionId: (value: unknown) => Result<StripeCheckoutSessionId, StripeSettlementReferenceParseError>;
20
+ export type DatedOfferingSettlementIdentity = Readonly<{
21
+ kind: 'stripe_payment_intent';
22
+ paymentIntentRef: StripePaymentIntentRef;
23
+ }>;
24
+ /**
25
+ * A webhook says when Riverbank observed Stripe state, not when funds settled.
26
+ * It must never be used for capacity-hold deadline arbitration.
27
+ */
28
+ export type DatedOfferingSettlementObservation = Readonly<{
29
+ kind: 'stripe_webhook_event_observed';
30
+ identity: DatedOfferingSettlementIdentity;
31
+ eventRef: StripeWebhookEventRef;
32
+ observedAtIso: UtcIsoDateTimeString;
33
+ }>;
34
+ /** Authoritative Stripe settlement fact retrieved with its charge evidence. */
35
+ export type DatedOfferingSettlementEvidence = Readonly<{
36
+ kind: 'stripe_balance_transaction';
37
+ identity: DatedOfferingSettlementIdentity;
38
+ evidenceRef: StripeBalanceTransactionRef;
39
+ chargeRef: StripeChargeRef;
40
+ settledAtIso: UtcIsoDateTimeString;
41
+ }>;
42
+ export type VerifiedDatedOfferingCheckoutSettlement = Readonly<{
43
+ kind: 'verified_stripe_checkout_settlement';
44
+ stripeAccountRef: StripeAccountRef;
45
+ checkoutSessionId: StripeCheckoutSessionId;
46
+ evidence: DatedOfferingSettlementEvidence;
47
+ }>;
@@ -27,6 +27,7 @@ export type EditorStructuralDraftMeta = Readonly<{
27
27
  purpose: string | null;
28
28
  orderIndex: number | null;
29
29
  publishedContent: EditorBlockValues | null;
30
+ optimisticHash: string | null;
30
31
  }>;
31
32
  export type EditorStructuralDraftSnapshot = Readonly<{
32
33
  id: EditorBlockId;
@@ -45,12 +46,14 @@ export type EditorDraftBlockInitMetaInput = Readonly<{
45
46
  purpose?: string | null;
46
47
  orderIndex?: number | null;
47
48
  publishedContent?: EditorBlockBaselineInput;
49
+ optimisticHash?: string | null;
48
50
  }>;
49
51
  export type EditorDraftBlockBaselineUpdateMetaInput = Readonly<{
50
52
  kind?: string;
51
53
  purpose?: string | null;
52
54
  orderIndex?: number | null;
53
55
  publishedContent?: EditorBlockBaselineInput;
56
+ optimisticHash?: string | null;
54
57
  }>;
55
58
  export type EditorBlockPublishedBaselineInput = Readonly<{
56
59
  id: EditorBlockId;
@@ -66,6 +69,7 @@ export type EditorPersistedBlock = Readonly<{
66
69
  publishedContent: EditorBlockValues | null;
67
70
  bindings: EditorBlockValues | null;
68
71
  purpose: string | null;
72
+ optimisticHash: string | null;
69
73
  }>;
70
74
  export type EditorInsertBlockCommand = Readonly<{
71
75
  type: 'insert-block';
@@ -0,0 +1,44 @@
1
+ import { type BrandedIdParseError, type EventOfferingId, type EventSeriesId } from './branded';
2
+ import { type Result } from './result';
3
+ export type EventPageSurfaceSubjectRef = Readonly<{
4
+ kind: 'eventSeries';
5
+ eventSeriesId: EventSeriesId;
6
+ }> | Readonly<{
7
+ kind: 'eventOffering';
8
+ eventOfferingId: EventOfferingId;
9
+ }>;
10
+ export type EventPageSurfaceSubjectRefWire = Readonly<{
11
+ kind: 'eventSeries';
12
+ eventSeriesId: string;
13
+ }> | Readonly<{
14
+ kind: 'eventOffering';
15
+ eventOfferingId: string;
16
+ }>;
17
+ export type EventPageSurfaceSubject = Extract<EventPageSurfaceSubjectRef, {
18
+ kind: 'eventSeries';
19
+ }> | Readonly<{
20
+ kind: 'eventOffering';
21
+ eventOfferingId: EventOfferingId;
22
+ availableEventSeriesIds: readonly EventSeriesId[];
23
+ }>;
24
+ export type EventPageSurfaceSubjectWire = Extract<EventPageSurfaceSubjectRefWire, {
25
+ kind: 'eventSeries';
26
+ }> | Readonly<{
27
+ kind: 'eventOffering';
28
+ eventOfferingId: string;
29
+ availableEventSeriesIds: readonly string[];
30
+ }>;
31
+ export type EventPageSurfaceSubjectParseError = Readonly<{
32
+ kind: 'notObject';
33
+ }> | Readonly<{
34
+ kind: 'unsupportedSubject';
35
+ subjectKind: unknown;
36
+ }> | Readonly<{
37
+ kind: 'invalidEventSeriesId';
38
+ error: BrandedIdParseError;
39
+ }> | Readonly<{
40
+ kind: 'invalidEventOfferingId';
41
+ error: BrandedIdParseError;
42
+ }>;
43
+ export declare function parseEventPageSurfaceSubject(value: unknown): Result<EventPageSurfaceSubject, EventPageSurfaceSubjectParseError>;
44
+ export declare function toEventPageSurfaceSubjectWire(subject: EventPageSurfaceSubject): EventPageSurfaceSubjectWire;
@@ -0,0 +1,143 @@
1
+ import type { Brand } from './branded';
2
+ import { type Result } from './result';
3
+ export type FooterModuleId = Brand<string, 'FooterModuleId'>;
4
+ export type FooterMembershipKey = Brand<string, 'FooterMembershipKey'>;
5
+ export type FooterRichText = Readonly<Record<string, unknown>>;
6
+ export type FooterNavigationRole = 'main' | 'legal-policy';
7
+ type FooterSectionBase<TKind extends string> = Readonly<{
8
+ id: FooterModuleId;
9
+ kind: TKind;
10
+ heading: string | null;
11
+ selected: boolean;
12
+ }>;
13
+ export type FooterSection = (FooterSectionBase<'brand'> & Readonly<{
14
+ showLogo: boolean;
15
+ showTitle: boolean;
16
+ }>) | (FooterSectionBase<'navigation'> & Readonly<{
17
+ source: Readonly<{
18
+ kind: 'menu-role';
19
+ role: 'main';
20
+ }>;
21
+ }>) | (FooterSectionBase<'legal-navigation'> & Readonly<{
22
+ source: Readonly<{
23
+ kind: 'menu-role';
24
+ role: 'legal-policy';
25
+ }>;
26
+ }>) | (FooterSectionBase<'business-address'> & Readonly<{
27
+ source: Readonly<{
28
+ kind: 'business-address';
29
+ }>;
30
+ }>) | (FooterSectionBase<'contact'> & Readonly<{
31
+ source: Readonly<{
32
+ kind: 'public-profile';
33
+ }>;
34
+ }>) | (FooterSectionBase<'opening-hours'> & Readonly<{
35
+ source: Readonly<{
36
+ kind: 'public-profile';
37
+ }>;
38
+ }>) | (FooterSectionBase<'social-links'> & Readonly<{
39
+ source: Readonly<{
40
+ kind: 'public-profile';
41
+ }>;
42
+ }>) | (FooterSectionBase<'supporting-text'> & Readonly<{
43
+ content: FooterRichText | null;
44
+ }>) | (FooterSectionBase<'legal'> & Readonly<{
45
+ content: FooterRichText | null;
46
+ }>);
47
+ /** Retained as a source-compatible name while callers move from modules to sections. */
48
+ export type FooterModule = FooterSection;
49
+ export type FooterModuleKind = FooterSection['kind'];
50
+ export type FooterCompositionV1 = Readonly<{
51
+ schemaVersion: 1;
52
+ sections: readonly FooterSection[];
53
+ }>;
54
+ export type FooterCompositionError = Readonly<{
55
+ code: 'invalid_shape' | 'unsupported_schema_version' | 'invalid_section' | 'duplicate_section_id' | 'duplicate_section_kind' | 'unknown_section';
56
+ path: string;
57
+ message: string;
58
+ }>;
59
+ export type FooterLookPolicy = Readonly<{
60
+ kind: 'integrated-legal';
61
+ }> | Readonly<{
62
+ kind: 'separate-legal-region';
63
+ }>;
64
+ export type FooterVisualGroupKind = 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
65
+ export type FooterColumnCount = 1 | 2 | 3 | 4;
66
+ export type FooterVisualGroup = Readonly<{
67
+ kind: FooterVisualGroupKind;
68
+ sections: readonly FooterSection[];
69
+ span: 1;
70
+ }>;
71
+ export type FooterRenderRegion = Readonly<{
72
+ kind: 'main' | 'bottom';
73
+ columns: FooterColumnCount;
74
+ groups: readonly FooterVisualGroup[];
75
+ }>;
76
+ export type FooterArrangementPlan = Readonly<{
77
+ membershipKey: FooterMembershipKey;
78
+ regions: readonly FooterRenderRegion[];
79
+ mobileGroups: readonly FooterVisualGroup[];
80
+ }>;
81
+ export type FooterRepairTarget = Readonly<{
82
+ kind: 'site-identity';
83
+ }> | Readonly<{
84
+ kind: 'navigation';
85
+ role: FooterNavigationRole;
86
+ }> | Readonly<{
87
+ kind: 'business-address';
88
+ }> | Readonly<{
89
+ kind: 'public-profile';
90
+ section: 'contact' | 'opening-hours' | 'social-links';
91
+ }> | Readonly<{
92
+ kind: 'footer-section';
93
+ sectionId: FooterModuleId;
94
+ }>;
95
+ export type ResolvedFooterSection = Readonly<{
96
+ kind: 'renderable';
97
+ section: FooterSection;
98
+ }> | Readonly<{
99
+ kind: 'missing-source';
100
+ section: FooterSection;
101
+ repairTarget: FooterRepairTarget;
102
+ }>;
103
+ export type RenderableFooterSection = Extract<ResolvedFooterSection, {
104
+ kind: 'renderable';
105
+ }>;
106
+ export type FooterSourceAvailability = Readonly<{
107
+ hasLogo: boolean;
108
+ hasMainNavigation: boolean;
109
+ hasLegalPolicyNavigation: boolean;
110
+ hasBusinessAddress: boolean;
111
+ hasContact: boolean;
112
+ hasOpeningHours: boolean;
113
+ hasSocialLinks: boolean;
114
+ }>;
115
+ export declare function unsafeAsFooterModuleId(value: string): FooterModuleId;
116
+ export declare function parseFooterModuleId(value: unknown): Result<FooterModuleId, FooterCompositionError>;
117
+ export declare function validateFooterComposition(composition: FooterCompositionV1): Result<FooterCompositionV1, FooterCompositionError>;
118
+ export declare function parseFooterCompositionV1(value: unknown): Result<FooterCompositionV1, FooterCompositionError>;
119
+ /**
120
+ * Bounded pre-production upgrader for the placement-shaped V1 that never reached production.
121
+ * It is intentionally not called by the runtime parser.
122
+ */
123
+ export declare function upgradePlacementFooterCompositionV1(value: unknown): Result<FooterCompositionV1, FooterCompositionError>;
124
+ export declare function setFooterSectionSelected(composition: FooterCompositionV1, sectionId: FooterModuleId, selected: boolean): Result<FooterCompositionV1, FooterCompositionError>;
125
+ export declare function resolveFooterSections(composition: FooterCompositionV1, availability: FooterSourceAvailability): readonly ResolvedFooterSection[];
126
+ export declare function planFooterArrangement(renderableSections: readonly RenderableFooterSection[], policy: FooterLookPolicy): FooterArrangementPlan;
127
+ export type FooterEditorOverviewItem = Readonly<{
128
+ section: FooterSection;
129
+ status: 'selected' | 'available';
130
+ }>;
131
+ export declare function deriveFooterEditorOverview(composition: FooterCompositionV1): Readonly<{
132
+ selected: readonly FooterEditorOverviewItem[];
133
+ available: readonly FooterEditorOverviewItem[];
134
+ }>;
135
+ type LegacyFooterNormalizationOptions = Readonly<{
136
+ brand?: Readonly<{
137
+ showLogo: boolean;
138
+ showTitle: boolean;
139
+ }>;
140
+ footerVisible?: boolean;
141
+ }>;
142
+ export declare function normalizeLegacyFooterContentToV1(value: unknown, options?: LegacyFooterNormalizationOptions): Result<FooterCompositionV1, FooterCompositionError>;
143
+ export {};
@@ -1,47 +1,51 @@
1
- export * from "./branded";
2
- export * from "./date-math";
3
- export * from "./duration";
4
- export * from "./demo-capability-policy";
5
- export * from "./demo-claim-access";
6
- export * from "./demo-lifecycle-status";
7
- export * from "./demo-runtime";
8
- export * from "./collections";
9
- export * from "./event-pricing";
10
- export * from "./money-input";
11
- export * from "./booking-flexible-balance";
12
- export * from "./booking-refunds";
13
- export * from "./booking-instalments";
14
- export * from "./booking-date-time";
15
- export * from "./person-records";
16
- export * from "./rectification";
17
- export * from "./location";
18
- export * from "./business-address";
19
- export * from "./result";
20
- export { assertNever } from "./assert-never";
21
- export { tryAsync } from "./try-async";
22
- export * from "./narrow-result";
23
- export * from "./non-empty-array";
24
- export * from "./editor-state";
25
- export * from "./sensitive-collection";
26
- export * from "./assertNever";
27
- export * from "./participants";
28
- export * from "./participant-identity";
29
- export * from "./public-url-validation";
30
- export * from "./number-input";
31
- export * from "./field-errors";
32
- export * from "./form-submission-preview";
33
- export * from "./csv-cells";
34
- export * from "./csv-date-filter";
35
- export * from "./csv-escape";
36
- export * from "./csv-filename";
37
- export * from "./csv-render";
38
- export * from "./csv-types";
39
- export * from "./currency-format";
40
- export * from "./email-format";
41
- export * from "./slug";
42
- export * from "./string";
43
- export * from "./uuid";
44
- export * from "./stable-json";
45
- export * from "./site-route-target";
46
- export { disabledSelection, enabledSelection, plannerNoChange, plannerPatch, plannerUpdate, resolvePlanningDateInput, resolvePlanningNow, resolvePlanningNowDate, systemPlanningClock, } from "./planner";
47
- export type { DisabledSelection, EnabledSelection, OptionalSelection, PlannerNoChange, PlannerPatch, PlannerUpdate, PlanningClock, PlanningDateInput, PlanningTimeOptions, } from "./planner";
1
+ export * from './branded';
2
+ export * from './date-math';
3
+ export * from './duration';
4
+ export * from './demo-capability-policy';
5
+ export * from './demo-claim-access';
6
+ export * from './demo-lifecycle-status';
7
+ export * from './demo-runtime';
8
+ export * from './collections';
9
+ export * from './event-pricing';
10
+ export * from './event-page-surface-subject';
11
+ export * from './money-input';
12
+ export * from './booking-flexible-balance';
13
+ export * from './booking-refunds';
14
+ export * from './booking-instalments';
15
+ export * from './booking-date-time';
16
+ export * from './dated-offering-settlement';
17
+ export * from './person-records';
18
+ export * from './rectification';
19
+ export * from './location';
20
+ export * from './business-address';
21
+ export * from './result';
22
+ export { assertNever } from './assert-never';
23
+ export { tryAsync } from './try-async';
24
+ export * from './narrow-result';
25
+ export * from './non-empty-array';
26
+ export * from './editor-state';
27
+ export * from './sensitive-collection';
28
+ export * from './assertNever';
29
+ export * from './participants';
30
+ export * from './participant-identity';
31
+ export * from './public-url-validation';
32
+ export * from './public-profile';
33
+ export * from './footer-composition';
34
+ export * from './number-input';
35
+ export * from './field-errors';
36
+ export * from './form-submission-preview';
37
+ export * from './csv-cells';
38
+ export * from './csv-date-filter';
39
+ export * from './csv-escape';
40
+ export * from './csv-filename';
41
+ export * from './csv-render';
42
+ export * from './csv-types';
43
+ export * from './currency-format';
44
+ export * from './email-format';
45
+ export * from './slug';
46
+ export * from './string';
47
+ export * from './uuid';
48
+ export * from './stable-json';
49
+ export * from './site-route-target';
50
+ export { disabledSelection, enabledSelection, plannerNoChange, plannerPatch, plannerUpdate, resolvePlanningDateInput, resolvePlanningNow, resolvePlanningNowDate, systemPlanningClock, } from './planner';
51
+ export type { DisabledSelection, EnabledSelection, OptionalSelection, PlannerNoChange, PlannerPatch, PlannerUpdate, PlanningClock, PlanningDateInput, PlanningTimeOptions, } from './planner';
@@ -0,0 +1,73 @@
1
+ import type { Brand } from './branded';
2
+ import { type Result } from './result';
3
+ export type PublicProfileTimeZone = Brand<string, 'PublicProfileTimeZone'>;
4
+ export type OpeningHoursTime = Brand<string, 'OpeningHoursTime'>;
5
+ export type PublicSocialLinkId = Brand<string, 'PublicSocialLinkId'>;
6
+ export declare const publicProfileWeekdays: readonly ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
7
+ export type PublicProfileWeekday = (typeof publicProfileWeekdays)[number];
8
+ export declare const knownSocialPlatforms: readonly ["facebook", "instagram", "linkedin", "tiktok", "x", "youtube"];
9
+ export type KnownSocialPlatform = (typeof knownSocialPlatforms)[number];
10
+ export type PublicContactDetails = Readonly<{
11
+ kind: 'phone';
12
+ phone: string;
13
+ email: null;
14
+ }> | Readonly<{
15
+ kind: 'email';
16
+ phone: null;
17
+ email: string;
18
+ }> | Readonly<{
19
+ kind: 'phone-and-email';
20
+ phone: string;
21
+ email: string;
22
+ }>;
23
+ export type OpeningHoursInterval = Readonly<{
24
+ opensAt: OpeningHoursTime;
25
+ closesAt: OpeningHoursTime;
26
+ }>;
27
+ export type OpeningHoursDay = Readonly<{
28
+ kind: 'closed';
29
+ weekday: PublicProfileWeekday;
30
+ }> | Readonly<{
31
+ kind: 'open';
32
+ weekday: PublicProfileWeekday;
33
+ intervals: readonly [OpeningHoursInterval, ...OpeningHoursInterval[]];
34
+ }>;
35
+ export type WeeklyOpeningHours = Readonly<{
36
+ timeZone: PublicProfileTimeZone;
37
+ days: readonly [
38
+ OpeningHoursDay,
39
+ OpeningHoursDay,
40
+ OpeningHoursDay,
41
+ OpeningHoursDay,
42
+ OpeningHoursDay,
43
+ OpeningHoursDay,
44
+ OpeningHoursDay
45
+ ];
46
+ }>;
47
+ export type PublicSocialLink = Readonly<{
48
+ id: PublicSocialLinkId;
49
+ kind: 'known';
50
+ platform: KnownSocialPlatform;
51
+ url: string;
52
+ }> | Readonly<{
53
+ id: PublicSocialLinkId;
54
+ kind: 'custom';
55
+ label: string;
56
+ url: string;
57
+ }>;
58
+ export type PublicProfile = Readonly<{
59
+ contact: PublicContactDetails | null;
60
+ openingHours: WeeklyOpeningHours | null;
61
+ socialLinks: readonly PublicSocialLink[];
62
+ }>;
63
+ export type PublicProfileParseError = Readonly<{
64
+ code: 'invalid_shape' | 'contact_method_required' | 'invalid_email' | 'invalid_phone' | 'invalid_timezone' | 'invalid_weekdays' | 'invalid_time' | 'invalid_interval' | 'overlapping_intervals' | 'invalid_social_link' | 'duplicate_social_link_id';
65
+ path: string;
66
+ message: string;
67
+ }>;
68
+ export declare function parsePublicContactDetails(value: unknown): Result<PublicContactDetails, PublicProfileParseError>;
69
+ export declare function parsePublicProfileTimeZone(value: unknown): Result<PublicProfileTimeZone, PublicProfileParseError>;
70
+ export declare function parseWeeklyOpeningHours(value: unknown): Result<WeeklyOpeningHours, PublicProfileParseError>;
71
+ export declare function parsePublicSocialLinks(value: unknown): Result<readonly PublicSocialLink[], PublicProfileParseError>;
72
+ export declare function parsePublicProfile(value: unknown): Result<PublicProfile, PublicProfileParseError>;
73
+ export declare function emptyPublicProfile(): PublicProfile;