@riverbankcms/sdk 0.109.0 → 0.118.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 (294) hide show
  1. package/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-BBcK1DjD.mjs} +178 -117
  2. package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-CuBFoYes.mjs} +3 -4
  3. package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-nKUT4TL-.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-BWIO_Dsi.mjs} +2789 -34525
  5. package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-CciG60M5.mjs} +88526 -57212
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +6939 -727
  7. package/dist/_dts/ai/src/designer/themePatch.d.ts +1 -1
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +30 -36
  9. package/dist/_dts/api/src/bookingRecords.d.ts +6 -74
  10. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +3 -3
  11. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  12. package/dist/_dts/api/src/contentRuntime.d.ts +9 -2
  13. package/dist/_dts/api/src/courses.d.ts +30 -15
  14. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
  15. package/dist/_dts/api/src/endpoints.d.ts +49 -4
  16. package/dist/_dts/api/src/event-presentation.d.ts +4 -0
  17. package/dist/_dts/api/src/index.d.ts +3 -3
  18. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +2 -2
  19. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  20. package/dist/_dts/api/src/sdkContracts.d.ts +108 -18
  21. package/dist/_dts/api/src/siteBanner.d.ts +8 -8
  22. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  23. package/dist/_dts/api/src/siteOperations.d.ts +12 -20
  24. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  25. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
  26. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  27. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  28. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +3 -12
  29. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +1 -5
  30. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -10
  31. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  32. package/dist/_dts/blocks/src/client.d.ts +4 -1
  33. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  34. package/dist/_dts/blocks/src/index.d.ts +6 -7
  35. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +2 -2
  36. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -2
  37. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
  38. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  39. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
  40. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
  41. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  42. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +5 -4
  44. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -8
  45. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +2 -2
  47. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +3 -3
  48. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
  49. package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -15
  50. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +66 -66
  52. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -17
  53. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  54. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  55. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +0 -3
  56. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  57. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  58. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
  59. package/dist/_dts/blocks/src/system/fragments/index.d.ts +0 -1
  60. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  61. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +19 -2
  62. package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +8 -70
  63. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +1 -0
  64. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +6 -0
  65. package/dist/_dts/blocks/src/system/node/schema.d.ts +4 -4
  66. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
  67. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
  68. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -10
  70. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +5 -21
  71. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  72. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  82. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  84. package/dist/_dts/blocks/src/system/runtime/nodes/richText-coerce.d.ts +14 -2
  85. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  87. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  88. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  89. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  90. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  91. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  92. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +17 -1
  93. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +1 -1
  94. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +1 -1
  95. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  96. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -2
  97. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +19 -4
  98. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -1
  99. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  100. package/dist/_dts/content-model/src/content-types/builtins.d.ts +3 -15
  101. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +2 -0
  102. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  103. package/dist/_dts/content-model/src/templates/defaults.d.ts +1 -21
  104. package/dist/_dts/core/src/editor-state.d.ts +14 -1
  105. package/dist/_dts/core/src/footer-composition.d.ts +2 -1
  106. package/dist/_dts/core/src/index.d.ts +1 -0
  107. package/dist/_dts/core/src/rich-text.d.ts +16 -0
  108. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +367 -69
  109. package/dist/_dts/editor/src/index.d.ts +1 -1
  110. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +3 -5
  111. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -1
  112. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -1
  113. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -1
  114. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +15 -0
  115. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +3 -7
  116. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +12 -0
  117. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  118. package/dist/_dts/editor-blocks/src/block-editor/utils.d.ts +1 -1
  119. package/dist/_dts/editor-blocks/src/index.d.ts +6 -5
  120. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  121. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  122. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +104 -0
  123. package/dist/_dts/media-core/src/contentMediaAuditFieldAdapter.d.ts +8 -0
  124. package/dist/_dts/media-core/src/contentMediaSnapshotAudit.d.ts +22 -0
  125. package/dist/_dts/media-core/src/index.d.ts +3 -1
  126. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  127. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  128. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  129. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  130. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  131. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  132. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  133. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  134. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  135. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
  136. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  137. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  138. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  139. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  140. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  141. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  142. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  143. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  144. package/dist/_dts/sdk/src/cli/commands/event.d.ts +18 -1
  145. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +2 -16
  146. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  147. package/dist/_dts/sdk/src/cli/content/reader.d.ts +8 -5
  148. package/dist/_dts/sdk/src/client/management/events.d.ts +2 -1
  149. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  150. package/dist/_dts/sdk/src/client/management/types.d.ts +38 -10
  151. package/dist/_dts/sdk/src/config/typed-entries.d.ts +7 -7
  152. package/dist/_dts/sdk/src/config/validation.d.ts +7 -7
  153. package/dist/_dts/sdk/src/contracts/content.d.ts +5 -15
  154. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  155. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +24 -40
  156. package/dist/_dts/sdk/src/contracts/theme.d.ts +2 -18
  157. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
  158. package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +4 -4
  159. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
  160. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -2
  161. package/dist/_dts/sdk/src/rendering/helpers/index.d.ts +1 -1
  162. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -13
  163. package/dist/_dts/sdk/src/theme/index.d.ts +0 -29
  164. package/dist/_dts/sdk/src/version.d.ts +1 -1
  165. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  166. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  167. package/dist/_dts/site-commands/src/commands.d.ts +160 -24
  168. package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +2 -2
  169. package/dist/_dts/theme-core/src/buttons/core.d.ts +0 -1
  170. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +22 -9
  171. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -2
  172. package/dist/_dts/theme-core/src/buttons/effects/presets/border.d.ts +1 -2
  173. package/dist/_dts/theme-core/src/buttons/effects/presets/overlay.d.ts +3 -1
  174. package/dist/_dts/theme-core/src/buttons/effects/presets/shadow.d.ts +2 -2
  175. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +8 -18
  176. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +2 -2
  177. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -5
  178. package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -5
  179. package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +36 -0
  180. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  181. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  182. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  183. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  184. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  185. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  186. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  187. package/dist/_dts/theme-core/src/buttons/types.d.ts +1638 -93
  188. package/dist/_dts/theme-core/src/cards/types.d.ts +13 -13
  189. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +969 -69
  190. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  191. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +0 -1
  192. package/dist/_dts/theme-core/src/schema.d.ts +1100 -116
  193. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  194. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  195. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +14 -14
  196. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  197. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  198. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  199. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  200. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  201. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
  202. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  203. package/dist/cli/index.mjs +7368 -6668
  204. package/dist/cli/init-docs/content/cli-reference.md +40 -1
  205. package/dist/cli/init-docs/content/content-management.md +6 -0
  206. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  207. package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-DIWj-P9v.mjs} +1 -1
  208. package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-De8YWBSr.mjs} +2 -3
  209. package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-seHTjimY.mjs} +2 -2
  210. package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BmQxFcJW.mjs} +1 -1
  211. package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-OoJAIUIj.mjs} +1 -2
  212. package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-CiZ8kdPk.mjs} +2 -2
  213. package/dist/client/{accordion-CeGreumd.mjs → accordion-6lnN__XJ.mjs} +1 -1
  214. package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-5uyqhONU.mjs} +6 -7
  215. package/dist/client/bookings.mjs +9179 -5865
  216. package/dist/client/{carousel-B2jDtogf.mjs → carousel-Dtnifil_.mjs} +1 -1
  217. package/dist/client/{cart-D-jZ-vaY.mjs → cart-5Tc5S7NV.mjs} +3 -3
  218. package/dist/client/{checkout-Dza-LA7N.mjs → checkout-CYKKN5Hr.mjs} +3 -3
  219. package/dist/client/client.mjs +3252 -3361
  220. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorStyles-BWpj_h4C.mjs} +118 -1
  221. package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-CxCBybB4.mjs} +100 -37
  222. package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-Xj2jZS9X.mjs} +4 -5
  223. package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-CgcMoOgM.mjs} +2 -2
  224. package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-CEAH8Edc.mjs} +3 -3
  225. package/dist/client/{eventListing-YhKN018y.mjs → eventListing-qyPVQ0wP.mjs} +2 -2
  226. package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-DDu79CtL.mjs} +6 -7
  227. package/dist/client/{form-AcAL45rA.mjs → form-Bc7JKI7I.mjs} +1 -2
  228. package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-vTku_LEl.mjs} +2 -3
  229. package/dist/client/hooks.mjs +1774 -2273
  230. package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-Bg7X4Jna.mjs} +8 -5
  231. package/dist/client/{media-BK0O3b-U.mjs → media-CNE1Z-wb.mjs} +1 -2
  232. package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-lpylVdp5.mjs} +1 -2
  233. package/dist/client/{pricing-BSYVghwo.mjs → pricing-DE8fjJiT.mjs} +1 -1
  234. package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-D7Bo2RMH.mjs} +3 -3
  235. package/dist/client/{productList-BCKThwAI.mjs → productList-VjnZqiqN.mjs} +3 -3
  236. package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-DreFXjNP.mjs} +4256 -443
  237. package/dist/client/rendering/client.mjs +21776 -21970
  238. package/dist/client/rendering/islands.mjs +20 -20
  239. package/dist/client/rendering.mjs +3092 -3322
  240. package/dist/client/{shop-DeltVH10.mjs → shop-IRsHHbf7.mjs} +5 -6
  241. package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-gnI8PieZ.mjs} +27 -11
  242. package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-BTbrhObn.mjs} +1 -1
  243. package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-D6KS2_qk.mjs} +3 -3
  244. package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-DCccGCxV.mjs} +1 -1
  245. package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-eGs3rPZQ.mjs} +24 -126
  246. package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-CvSU2sur.mjs} +2 -2
  247. package/dist/preview-next/before-render.mjs +94 -6
  248. package/dist/preview-next/client/runtime.mjs +4 -4
  249. package/dist/preview-next/middleware.mjs +94 -6
  250. package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-DN7vcRsv.mjs} +94 -6
  251. package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-vW8QbyPN.mjs} +2 -2
  252. package/dist/{separator-CI5wZNXT.mjs → separator-DJ4bkeY3.mjs} +1 -1
  253. package/dist/server/components.mjs +5194 -5568
  254. package/dist/server/config-template-validation.mjs +4 -23
  255. package/dist/server/config-validation.mjs +1774 -2273
  256. package/dist/server/config.mjs +2043 -2508
  257. package/dist/server/data.mjs +1774 -2273
  258. package/dist/server/index.mjs +95 -7
  259. package/dist/server/next/revalidate.mjs +53 -1
  260. package/dist/server/next.mjs +5337 -5632
  261. package/dist/server/page-converter.mjs +1833 -2307
  262. package/dist/server/prebuild.mjs +1 -1
  263. package/dist/server/rendering/server.mjs +6713 -4874
  264. package/dist/server/rendering.mjs +5203 -5586
  265. package/dist/server/routing.mjs +2199 -2698
  266. package/dist/server/server.mjs +1885 -2355
  267. package/dist/server/theme-bridge.mjs +1986 -2222
  268. package/dist/server/theme.mjs +2367 -1581
  269. package/dist/server/webhooks.mjs +54 -2
  270. package/package.json +1 -1
  271. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +0 -40
  272. package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -19
  273. package/dist/_dts/media-core/src/legacyMediaValue.d.ts +0 -11
  274. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  275. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  276. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  277. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  278. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  279. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  280. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  281. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  282. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  283. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  284. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  285. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  286. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  287. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  288. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
  289. package/dist/_dts/theme-core/src/styles/buttons.d.ts +0 -27
  290. package/dist/_dts/theme-core/src/styles/buttonsLibrary.d.ts +0 -2
  291. package/dist/_dts/theme-core/src/styles/glow.d.ts +0 -3
  292. package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
  293. package/dist/client/colorStyles-CrgzoXsm.mjs +0 -99
  294. package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
@@ -123,7 +123,7 @@ export declare function bindProp(from: string, opts?: {
123
123
  pick?: "value" | "collection" | "context";
124
124
  }): {
125
125
  readonly $bind: {
126
- readonly pick?: "value" | "collection" | "context" | undefined;
126
+ readonly pick?: "value" | "context" | "collection" | undefined;
127
127
  readonly fallback?: {} | null | undefined;
128
128
  readonly transforms?: TransformStep<"string.uppercase" | "value.fallback" | "date.formatShort" | "value.csv" | "layout.maxWidthClass" | "layout.headerRootClass" | "layout.footerRootClass" | "layout.headerRootStyle" | "layout.headerSectionBackground" | "layout.footerRootStyle" | "ui.headerNavLinkClass" | "ui.headingClassFromAlignment" | "ui.bodyClassFromAlignment" | "ui.stackAlignFromAlignment" | "ui.sectionStateTone" | "ui.heroContentWrapperClass" | "ui.heroCtaJustify" | "ui.heroStackJustifyFromVerticalAlignment" | "ui.heroGridClassFromVerticalAlignment" | "ui.conditionalClass" | "ui.twoColumnContainerClass" | "ui.twoColumnFlexBasis" | "media.fromUrl" | "content.interpolateRichTextTokens" | "boxStyles.semanticGap" | "boxStyles.semanticGapValue" | "boxStyles.cardVariantClass" | "layout.headerLogoClass" | "layout.headerLogoMediaClass" | "layout.headerLogoTextVisible" | "layout.footerBottomBarClass" | "layout.footerBottomBarContainerClass" | "layout.footerBottomBarStyle" | "layout.footerSplitNavSingleClass" | "layout.footerSimpleRootClass" | "layout.footerSimpleNavClass" | "layout.footerSplitMainClass" | "layout.footerLogoClass" | "layout.footerLogoMediaClass" | "layout.footerLogoTextVisible">[] | undefined;
129
129
  readonly from: string;
@@ -1,6 +1,7 @@
1
+ import { type ReactNode } from 'react';
1
2
  import type { ApiClient } from '../../api/src/request';
2
3
  import { type FooterEditorTarget } from './footerComposer';
3
- export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, customFooterMode, manageLinksHref, manageSettingsHref, legalRegion, initialTarget, variant, canEdit, onSaved, }: {
4
+ export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, customFooterMode, manageLinksHref, manageSettingsHref, legalRegion, initialTarget, variant, canEdit, onSaved, loadingFallback, }: {
4
5
  apiClient: ApiClient;
5
6
  siteId: string;
6
7
  customFooterMode: 'default' | 'blocks' | 'default+blocks' | 'none';
@@ -11,4 +12,5 @@ export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, cust
11
12
  variant?: 'full' | 'sidebar';
12
13
  canEdit?: boolean;
13
14
  onSaved?: () => void;
14
- }): import("react").JSX.Element;
15
+ loadingFallback: ReactNode;
16
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
@@ -1,4 +1,4 @@
1
- import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
1
+ import { type BlockItem } from '../../../editor-blocks/src/index';
2
2
  import type { EditorUiState } from '../ui/editorUiStore';
3
3
  type StoreApi<T> = {
4
4
  getState: () => T;
@@ -9,11 +9,27 @@ export type BlockAutosaveOptions = {
9
9
  siteId: string;
10
10
  /** Whether this entry has a route (pages have blocks, content entries don't) */
11
11
  hasRoute: boolean;
12
+ owner: BlockAutosaveOwner;
12
13
  };
14
+ export type BlockAutosaveOwner = Readonly<{
15
+ kind: 'contentEntry';
16
+ }> | Readonly<{
17
+ kind: 'pageSurface';
18
+ }>;
19
+ export type BlockSaveRevisionPlan = Readonly<{
20
+ kind: 'bestEffort';
21
+ optimisticHash: string | null;
22
+ }> | Readonly<{
23
+ kind: 'compareAndSet';
24
+ optimisticHash: string;
25
+ }> | Readonly<{
26
+ kind: 'missingRequiredRevision';
27
+ }>;
28
+ export declare function planBlockSaveRevisionForOwner(owner: BlockAutosaveOwner, optimisticHash: string | null): BlockSaveRevisionPlan;
13
29
  /**
14
30
  * Hook to handle block autosave for pages.
15
31
  * Watches for pending block changes and debounces saves to the server.
16
32
  *
17
33
  * Only enabled for pages (hasRoute=true), as content entries don't have blocks.
18
34
  */
19
- export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
35
+ export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, owner, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
@@ -1,7 +1,7 @@
1
1
  export type DebouncedLatestSaveHandle = {
2
2
  trigger: () => void;
3
3
  cancel: () => void;
4
- flush: () => void;
4
+ flush: () => Promise<void>;
5
5
  isPending: () => boolean;
6
6
  };
7
7
  export type DebouncedLatestSaveConfig<TSnapshot, TPayload, TResult> = {
@@ -37,7 +37,7 @@ type AutosaveConfig<TValues, TPayload> = {
37
37
  export type AutosaveHandle = {
38
38
  trigger: () => void;
39
39
  cancel: () => void;
40
- flush: () => void;
40
+ flush: () => void | Promise<void>;
41
41
  isPending: () => boolean;
42
42
  };
43
43
  export declare function useSimpleAutosave<TValues = Record<string, unknown>, TPayload = unknown>(config: AutosaveConfig<TValues, TPayload>): AutosaveHandle;
@@ -1,24 +1,24 @@
1
1
  export * from './registry';
2
2
  export * from './services';
3
- export { useDebouncedLatestSave, type DebouncedLatestSaveConfig, type DebouncedLatestSaveHandle } from './hooks/useDebouncedLatestSave';
3
+ export { useDebouncedLatestSave, type DebouncedLatestSaveConfig, type DebouncedLatestSaveHandle, } from './hooks/useDebouncedLatestSave';
4
4
  export { useSimpleAutosave, useMultiAutosave } from './hooks/useSimpleAutosave';
5
- export { useStoreAutosave, type StoreAutosaveConfig, type AutosaveScope } from './hooks/useStoreAutosave';
6
- export { useBlockAutosave, type BlockAutosaveOptions } from './hooks/useBlockAutosave';
5
+ export { useStoreAutosave, type StoreAutosaveConfig, type AutosaveScope, } from './hooks/useStoreAutosave';
6
+ export { useBlockAutosave, type BlockAutosaveOptions, } from './hooks/useBlockAutosave';
7
7
  export { collectPendingLinkedEntrySaves, useLinkedEntryAutosave, type LinkedEntryAutosaveOptions, type LinkedEntrySaveResult, type PendingLinkedEntrySave, } from './hooks/useLinkedEntryAutosave';
8
8
  export { unsafeAsLinkedContentEntryId, unsafeAsLinkedContentTypeKey, type LinkedContentEntryId, type LinkedContentTypeKey, } from './linkedEntries/domain';
9
- export { useEntryActions, type EntryActionsOptions } from './hooks/useEntryActions';
9
+ export { useEntryActions, type EntryActionsOptions, } from './hooks/useEntryActions';
10
10
  export { useReactiveToolbar } from './hooks/useReactiveToolbar';
11
- export { isInvalidSaveability, selectHasInvalidBlocks } from './hooks/invalidBlockSelectors';
11
+ export { isInvalidSaveability, selectHasInvalidBlocks, } from './hooks/invalidBlockSelectors';
12
12
  export { useHistoryShortcuts } from './hooks/useHistoryShortcuts';
13
- export { validateAllBlocks, type BlockValidationError } from './hooks/validateBlocksForPublish';
13
+ export { validateAllBlocks, type BlockValidationError, } from './hooks/validateBlocksForPublish';
14
14
  export { EntryControllerProvider, useEntryEditorController, useEntryController, useAutosave, useEntryUiStore, } from './controller/EntryControllerProvider';
15
15
  export type { EntryDraftBlockPatch, EntryDraftCompositePatch, EntryDraftsActions, EntryDraftsSlice, } from './controller/EntryControllerProvider';
16
16
  export type { EntryEditorDriver } from './controller/driver';
17
- export { EditableBlockProvider, useBlockData } from './components/EditableBlockProvider';
18
- export { ContentFieldsForm, type ContentFieldsFormProps } from './components/ContentFieldsForm';
17
+ export { EditableBlockProvider, useBlockData, } from './components/EditableBlockProvider';
18
+ export { ContentFieldsForm, type ContentFieldsFormProps, } from './components/ContentFieldsForm';
19
19
  export { useUISelector } from './ui/useUISelector';
20
- export { EditorUiStoreProvider, useEditorUiStore, useEditorUiStoreInstance, useOptionalEditorUiStoreInstance, createEditorUiStore } from './ui/editorUiStore';
21
- export type { ActivePreviewField, EditorUiStoreInstance, EditorUiState, EditorPreviewInspectorStore, EditorLinkedEntrySnapshot, PreviewInspection, PreviewSidebarTab, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
20
+ export { EditorUiStoreProvider, useEditorUiStore, useEditorUiStoreInstance, useOptionalEditorUiStoreInstance, createEditorUiStore, } from './ui/editorUiStore';
21
+ export type { ActivePreviewField, EditorUiStoreInstance, EditorUiState, EditorPreviewInspectorStore, EditorLinkedEntrySnapshot, PreviewDesignRow, PreviewDesignOpenRequest, PreviewEditorOpenIntent, PreviewInspection, PreviewSidebarTab, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
22
22
  export { PreviewTextEditor } from './primitives/PreviewTextEditor';
23
23
  export { PreviewInlineTextEditor } from './primitives/PreviewInlineTextEditor';
24
24
  export { PreviewRichTextEditor } from './primitives/PreviewRichTextEditor';
@@ -28,12 +28,12 @@ export { FooterComposerPanel } from './FooterComposerPanel';
28
28
  export { useStoreBinding, parseEditorPath } from './primitives/shared';
29
29
  export type { PathInfo } from './primitives/shared';
30
30
  export * from './ai/overlayHelpers';
31
- export { diffPaths, isUnpublishedChangesDebugEnabled } from './debug/unpublishedChangesDebug';
31
+ export { diffPaths, isUnpublishedChangesDebugEnabled, } from './debug/unpublishedChangesDebug';
32
32
  export { listManualEntryWorkflows } from './entryWorkflows';
33
33
  export { pageWorkflowDraftContent, pageWorkflowPublishedContent, type PageWorkflowDraftSource, type PageWorkflowPublishedSource, } from './pageWorkflowContent';
34
34
  export { contentTypeEditorContentReducer, createInitialContentTypeEditorContentState, type ContentTypeEditorContentAction, type ContentTypeEditorContentState, } from './contentTypeEditorContentState';
35
35
  export { buildFooterBlocksUpdatePayload, createInitialFooterBlocksEditorState, footerBlocksEditorReducer, selectFooterBlocksPreview, selectFooterBlocksStructuralChanges, type FooterBlocksEditorBlock, type FooterBlocksEditorAction, type FooterBlocksEditorLoadResponse, type FooterBlocksEditorReadyState, type FooterBlocksEditorState, type FooterBlocksPreviewState, } from './footerBlocksEditorState';
36
36
  export { asContentEntrySnapshotSource, createContentEntriesDefinitionPlan, createPageSnapshot, createPagesDefinitionPlan, createSnapshotDefaults, getDefaultEntityLabel, mapPageRecordToSnapshot, type ContentEntriesDefinitionPlanOptions, type ContentEntryDefinitionPlan, type DefinitionServices, type PageEntrySnapshot, type PagesDefinitionPlanOptions, type SnapshotDefaults, } from './definitions/factory';
37
37
  export { canRedoHistory, canUndoHistory, createHistoryState, unsafeAsEditorBlockId, pushHistoryEntry, redoHistory, replaceHistoryPresent, undoHistory, type HistoryState, type EditorBlockId, } from './ui/editorHistory';
38
- export { classifyHistoryShortcut, isNativeHistoryTarget, type HistoryShortcutCommand } from './historyShortcuts';
38
+ export { classifyHistoryShortcut, isNativeHistoryTarget, type HistoryShortcutCommand, } from './historyShortcuts';
39
39
  export type { ContentEntryControllerOptions, ContentEntryControllerState, DraftWorkflowStatus, MetadataAutosaveConfig, MetadataKindConfig, } from './types';
@@ -1,4 +1,4 @@
1
- import { unsafeAsEditorBlockId, unsafeAsEditorBlockValues, unsafeAsEditorContentValues, unsafeAsEditorEntryId, unsafeAsEditorMetadataValues, unsafeAsEditorPageId, unsafeAsEditorSiteId, type EditorBlockBaselineInput, type EditorBlockId, type EditorBlockPublishedBaselineInput, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput, type EditorBlockValues, type EditorContentValues, type EditorEntryId, type EditorMetadataValues, type EditorPageId, type EditorPersistedBlock, type EditorSiteId, type EditorStructuralCommand, type EditorStructuralDraftSnapshot, type EditorSyncState, type EditorValueRecord } from '../../../core/src/index';
1
+ import { unsafeAsEditorBlockId, unsafeAsEditorBlockValues, unsafeAsEditorContentValues, unsafeAsEditorEntryId, unsafeAsEditorMetadataValues, unsafeAsEditorPageId, unsafeAsEditorSiteId, type EditorBlockBaselineInput, type EditorBlockId, type EditorBlockPublishedBaselineInput, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput, type EditorDraftSaveFailureRecovery, type EditorBlockValues, type EditorContentValues, type EditorEntryId, type EditorMetadataValues, type EditorPageId, type EditorPersistedBlock, type EditorSiteId, type EditorStructuralCommand, type EditorStructuralDraftSnapshot, type EditorSyncState, type EditorValueRecord } from '../../../core/src/index';
2
2
  import { type LinkedContentEntryId, type LinkedContentTypeKey } from '../linkedEntries/domain';
3
3
  export { unsafeAsEditorBlockId, unsafeAsEditorBlockValues, unsafeAsEditorContentValues, unsafeAsEditorEntryId, unsafeAsEditorMetadataValues, unsafeAsEditorPageId, unsafeAsEditorSiteId, type EditorBlockId, type EditorBlockValues, type EditorContentValues, type EditorEntryId, type EditorMetadataValues, type EditorPageId, type EditorSiteId, };
4
4
  export type EditorCommand = {
@@ -234,6 +234,7 @@ export type EditorSystemOperation = {
234
234
  type: 'autosave-draft-failed';
235
235
  blockId: EditorBlockId;
236
236
  message?: string;
237
+ recovery?: EditorDraftSaveFailureRecovery;
237
238
  } | {
238
239
  type: 'clear-draft-error';
239
240
  blockId: EditorBlockId;
@@ -298,7 +299,7 @@ export declare function updateDraftBlockBaseline(snapshot: EditorHistorySnapshot
298
299
  export declare function removeDraftBlock(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
299
300
  export declare function setDraftPublishedBaselines(snapshot: EditorHistorySnapshot, blocks: readonly BlockPublishedBaselineInput[]): EditorHistorySnapshot;
300
301
  export declare function autosaveDraftSucceeded(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, savedValues: EditorBlockValues | null, acknowledgedVersion: number, optimisticHash: string | null): EditorHistorySnapshot;
301
- export declare function autosaveDraftFailed(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, message?: string): EditorHistorySnapshot;
302
+ export declare function autosaveDraftFailed(snapshot: EditorHistorySnapshot, blockId: EditorBlockId, message?: string, recovery?: EditorDraftSaveFailureRecovery): EditorHistorySnapshot;
302
303
  export declare function clearDraftError(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
303
304
  export declare function setDraftPending(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
304
305
  export declare function clearDraftPending(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
@@ -1,4 +1,4 @@
1
- import type { FooterModuleId } from '../../../core/src/index';
1
+ import type { EditorDraftSaveFailureRecovery, FooterModuleId } from '../../../core/src/index';
2
2
  import { type EditorUnpublishedState } from '../controller/deriveEditorUnpublishedState';
3
3
  import { type AutosaveState } from './stores/autosaveStore';
4
4
  import { type GeneratedIconAssetsState } from './stores/generatedIconAssetsStore';
@@ -18,6 +18,20 @@ export type { EditorCommand, EditorBlockItem, EditorDraftSnapshot, EditorHistory
18
18
  export type MetadataSnapshot = EditorValueSnapshot<EditorMetadataValues | null>;
19
19
  export type ContentSnapshot = EditorValueSnapshot<EditorContentValues | null>;
20
20
  export type PreviewSidebarTab = 'editor' | 'assistant';
21
+ export type PreviewDesignRow = 'header' | 'footer' | 'header-layout' | 'header-style';
22
+ export type PreviewEditorOpenIntent = Readonly<{
23
+ kind: 'design';
24
+ row: PreviewDesignRow;
25
+ }> | Readonly<{
26
+ kind: 'footer';
27
+ target: 'overview' | Readonly<{
28
+ moduleId: FooterModuleId;
29
+ }>;
30
+ }>;
31
+ export type PreviewDesignOpenRequest = Readonly<{
32
+ row: PreviewDesignRow;
33
+ requestId: number;
34
+ }>;
21
35
  export type ActivePreviewField = (Readonly<{
22
36
  kind: 'block';
23
37
  blockId: EditorBlockId;
@@ -153,7 +167,7 @@ export type DraftsState = {
153
167
  clearPending: (blockId: EditorBlockId) => void;
154
168
  setFailed: (blockId: EditorBlockId, message?: string) => void;
155
169
  autosaveSucceeded: (blockId: EditorBlockId, content: Record<string, unknown> | null, acknowledgement?: AutosaveAcknowledgement) => void;
156
- autosaveFailed: (blockId: EditorBlockId, message?: string) => void;
170
+ autosaveFailed: (blockId: EditorBlockId, message?: string, recovery?: EditorDraftSaveFailureRecovery) => void;
157
171
  setAtPath: (blockId: EditorBlockId, path: string, value: unknown) => void;
158
172
  getAtPath: <T = unknown>(blockId: EditorBlockId, path: string) => T | undefined;
159
173
  updateBlockOrder: (blockIds: EditorBlockId[]) => void;
@@ -186,15 +200,16 @@ export type EditorUiState = {
186
200
  drawerOpen: boolean;
187
201
  previewSidebarTab: PreviewSidebarTab;
188
202
  previewInspection: PreviewInspection;
203
+ previewDesignOpenRequest: PreviewDesignOpenRequest | null;
189
204
  activePreviewField: ActivePreviewField;
190
205
  focusRequest: FocusRequest;
191
206
  activeBlockId: EditorBlockId | null;
192
207
  setDrawerOpen: (open: boolean) => void;
193
208
  setPreviewSidebarTab: (tab: PreviewSidebarTab) => void;
209
+ openPreviewEditor: (intent: PreviewEditorOpenIntent) => void;
210
+ consumePreviewDesignOpenRequest: (requestId: number) => void;
194
211
  inspectBlock: (blockId: EditorBlockId) => void;
195
212
  inspectLinkedEntry: (entryId: string) => void;
196
- inspectFooterModule: (moduleId: FooterModuleId) => void;
197
- inspectFooter: () => void;
198
213
  clearPreviewInspection: () => void;
199
214
  setActivePreviewField: (field: ActivePreviewField) => void;
200
215
  requestFocus: (payload: Omit<NonNullable<FocusRequest>, 'requestId'>) => void;
@@ -24,7 +24,7 @@ export type AutosaveState = {
24
24
  * Unlike flushAllPending(), this does not rely on a debounced callback being pending, so it
25
25
  * works for manual-save mode where background triggers are disabled.
26
26
  */
27
- saveNow: (types: AutosaveType[]) => void;
27
+ saveNow: (types: AutosaveType[]) => Promise<void>;
28
28
  flushAllPending: () => void;
29
29
  cancelAllPending: () => void;
30
30
  };
@@ -8,7 +8,7 @@ export type AutosaveStatus = {
8
8
  export type AutosaveHandle = {
9
9
  trigger: () => void;
10
10
  cancel?: () => void;
11
- flush: () => void;
11
+ flush: () => void | Promise<void>;
12
12
  isPending: () => boolean;
13
13
  };
14
14
  export type AutosaveType = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
@@ -13,29 +13,17 @@
13
13
  * together. A schema edit updates the binding type surface without a
14
14
  * parallel hand-maintained interface.
15
15
  */
16
+ import type { RichTextDoc } from '../../../blocks/src/system/manifest/richTextSchema';
16
17
  import { COURSE_CONTENT_TYPE_SCHEMA, EVENT_CONTENT_TYPE_SCHEMA, POST_CONTENT_TYPE_SCHEMA, PRODUCT_CATEGORY_CONTENT_TYPE_SCHEMA, PRODUCT_CONTENT_TYPE_SCHEMA, TEAM_MEMBER_CONTENT_TYPE_SCHEMA, TESTIMONIAL_CONTENT_TYPE_SCHEMA } from './builtin-schemas';
17
18
  export interface ContentMediaValue {
19
+ identifier: string;
18
20
  url?: string;
19
21
  alt?: string;
20
22
  width?: number;
21
23
  height?: number;
22
24
  readonly [key: string]: unknown;
23
25
  }
24
- /**
25
- * Canonical rich-text content shape stored on entries. Same structural shape
26
- * as `TipTapNode` from `@riverbankcms/blocks/system/manifest/richTextSchema`;
27
- * any value validated through {@link RichTextValueSchema} satisfies this.
28
- */
29
- export interface ContentRichText {
30
- type: string;
31
- content?: ContentRichText[];
32
- text?: string;
33
- attrs?: Record<string, unknown>;
34
- marks?: Array<{
35
- type: string;
36
- attrs?: Record<string, unknown>;
37
- }>;
38
- }
26
+ export type ContentRichText = RichTextDoc;
39
27
  type DerivableContentField = Readonly<{
40
28
  id: string;
41
29
  type: string;
@@ -28,4 +28,6 @@ export interface EntryValidationResult {
28
28
  export declare function validateEntryInstance(input: {
29
29
  schema: ContentTypeSchema;
30
30
  data: Record<string, unknown>;
31
+ /** Validate present values while permitting required fields to remain unset in drafts. */
32
+ allowIncomplete?: boolean;
31
33
  }): EntryValidationResult;
@@ -16,11 +16,11 @@ declare const BaseContentFieldSchema: z.ZodObject<{
16
16
  file: "file";
17
17
  media: "media";
18
18
  reference: "reference";
19
+ repeater: "repeater";
19
20
  group: "group";
20
21
  datetime: "datetime";
21
22
  button: "button";
22
23
  richText: "richText";
23
- repeater: "repeater";
24
24
  }>;
25
25
  label: z.ZodOptional<z.ZodString>;
26
26
  description: z.ZodOptional<z.ZodString>;
@@ -1,25 +1,5 @@
1
1
  import { type TemplateDefinition } from './types';
2
2
  import type { BuiltinContentTypeKey } from '../content-types/builtins';
3
- /**
4
- * Build a canonical TipTap doc from plain-text paragraphs.
5
- *
6
- * Local mirror of `createRichTextDoc` from
7
- * `@riverbankcms/blocks/system/manifest/richTextSchema` — content-model
8
- * doesn't depend on blocks (blocks sits downstream), but the shape both
9
- * functions produce is governed by the same Zod schema in blocks.
10
- *
11
- * Exported with `@internal` so the cross-package parity test
12
- * (`packages/dummy-content/src/richTextDoc-parity.test.ts`) can import
13
- * the *real* implementation rather than reimplement it — eliminates the
14
- * "test verifies two copies of itself" failure mode.
15
- *
16
- * Returns `Record<string, unknown>` rather than the canonical
17
- * `RichTextDoc` type because that type lives in blocks; downstream
18
- * consumers narrow it via the canonical schema.
19
- *
20
- * @internal
21
- */
22
- export declare function createRichTextDocInternal(paragraphs: ReadonlyArray<string>): Record<string, unknown>;
23
3
  /**
24
4
  * Built-in content type keys that intentionally ship without a default
25
5
  * template — they use the block editor directly rather than a templated
@@ -79,7 +59,7 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
79
59
  readonly content: {
80
60
  readonly eyebrow: "Stay in the loop";
81
61
  readonly title: "Get the latest updates";
82
- readonly content: Record<string, unknown>;
62
+ readonly content: import("../../../core/src/index").RichTextDoc;
83
63
  readonly ctas: readonly [{
84
64
  readonly label: "Subscribe now";
85
65
  readonly link: {
@@ -22,6 +22,19 @@ export type EditorSyncState = {
22
22
  kind: 'failed';
23
23
  error: string;
24
24
  };
25
+ export type EditorDraftSaveFailureRecovery = Readonly<{
26
+ kind: 'manualRetry';
27
+ }> | Readonly<{
28
+ kind: 'rebaseOnNewRevision';
29
+ failedOptimisticHash: string | null;
30
+ }>;
31
+ export type EditorDraftSyncState = Exclude<EditorSyncState, {
32
+ kind: 'failed';
33
+ }> | Readonly<{
34
+ kind: 'failed';
35
+ error: string;
36
+ recovery: EditorDraftSaveFailureRecovery;
37
+ }>;
25
38
  export type EditorStructuralDraftMeta = Readonly<{
26
39
  kind: string;
27
40
  purpose: string | null;
@@ -34,7 +47,7 @@ export type EditorStructuralDraftSnapshot = Readonly<{
34
47
  version: number;
35
48
  baseline: EditorBlockValues | null;
36
49
  current: EditorBlockValues | null;
37
- syncState: EditorSyncState;
50
+ syncState: EditorDraftSyncState;
38
51
  meta: EditorStructuralDraftMeta;
39
52
  }>;
40
53
  export type EditorBlockDataRowInput = Readonly<{
@@ -1,8 +1,9 @@
1
1
  import type { Brand } from './branded';
2
+ import { type RichTextDoc } from './rich-text';
2
3
  import { type Result } from './result';
3
4
  export type FooterModuleId = Brand<string, 'FooterModuleId'>;
4
5
  export type FooterMembershipKey = Brand<string, 'FooterMembershipKey'>;
5
- export type FooterRichText = Readonly<Record<string, unknown>>;
6
+ export type FooterRichText = RichTextDoc;
6
7
  export type FooterNavigationRole = 'main' | 'legal-policy';
7
8
  type FooterSectionBase<TKind extends string> = Readonly<{
8
9
  id: FooterModuleId;
@@ -30,6 +30,7 @@ export * from './participants';
30
30
  export * from './participant-identity';
31
31
  export * from './public-url-validation';
32
32
  export * from './public-profile';
33
+ export * from './rich-text';
33
34
  export * from './footer-composition';
34
35
  export * from './number-input';
35
36
  export * from './field-errors';
@@ -0,0 +1,16 @@
1
+ export type TipTapMark = {
2
+ type: string;
3
+ attrs?: Record<string, unknown>;
4
+ };
5
+ export type TipTapNode = {
6
+ type: string;
7
+ content?: TipTapNode[];
8
+ text?: string;
9
+ attrs?: Record<string, unknown>;
10
+ marks?: TipTapMark[];
11
+ };
12
+ export type RichTextDoc = {
13
+ type: 'doc';
14
+ content: TipTapNode[];
15
+ };
16
+ export declare function isCanonicalRichTextDoc(value: unknown): value is RichTextDoc;