@riverbankcms/sdk 0.78.2 → 0.80.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 (230) hide show
  1. package/README.md +80 -0
  2. package/dist/PreviewEditorSidebar-QZG37QIF.mjs +2655 -0
  3. package/dist/{PreviewEditorUI-CS5P4N3P.mjs → PreviewEditorUI-AXIKSMZA.mjs} +27 -4
  4. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +56 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +79 -0
  7. package/dist/_dts/api/src/index.d.ts +6 -4
  8. package/dist/_dts/api/src/media.d.ts +8 -1
  9. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  10. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
  11. package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
  12. package/dist/_dts/api/src/navigation.d.ts +2 -0
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
  14. package/dist/_dts/api/src/sdkContracts.d.ts +1 -0
  15. package/dist/_dts/api/src/siteIcons.d.ts +128 -0
  16. package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
  17. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +16 -0
  18. package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
  19. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -1
  20. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  21. package/dist/_dts/api/src/types.d.ts +1 -1
  22. package/dist/_dts/api/src/webhooks.d.ts +239 -0
  23. package/dist/_dts/block-form/src/client/index.d.ts +2 -0
  24. package/dist/_dts/block-form/src/index.d.ts +2 -0
  25. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
  26. package/dist/_dts/blocks/src/client/header.d.ts +1 -1
  27. package/dist/_dts/blocks/src/client.d.ts +12 -12
  28. package/dist/_dts/blocks/src/index.d.ts +5 -1
  29. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  33. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  36. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -1
  37. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  38. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
  39. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +22 -22
  44. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  45. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  46. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  47. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +13 -1
  48. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +179 -0
  49. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -2
  50. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +1 -0
  51. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +10 -0
  52. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
  53. package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
  54. package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
  55. package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
  56. package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
  57. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
  58. package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
  59. package/dist/_dts/blocks/src/system/index.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
  61. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -0
  62. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -7
  65. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  66. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -5
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
  75. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
  78. package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
  79. package/dist/_dts/core/src/branded.d.ts +6 -0
  80. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +200 -3
  81. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -1
  82. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +8 -1
  83. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +8 -2
  84. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +17 -0
  85. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +42 -0
  86. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +7 -1
  87. package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
  88. package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
  89. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  90. package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
  91. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -2
  92. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
  93. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
  94. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -1
  95. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
  96. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
  97. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +34 -0
  98. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
  99. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +8 -1
  100. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
  101. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
  102. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
  103. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
  104. package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
  105. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
  106. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
  107. package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
  108. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -1
  109. package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
  110. package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
  111. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
  112. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
  113. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
  114. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  115. package/dist/_dts/sdk/src/client/management/types.d.ts +58 -0
  116. package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
  117. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  118. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  119. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +24 -4
  120. package/dist/_dts/sdk/src/next/index.d.ts +1 -1
  121. package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
  122. package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
  123. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
  124. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  125. package/dist/_dts/sdk/src/version.d.ts +1 -1
  126. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  127. package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
  128. package/dist/_dts/site-commands/src/commands.d.ts +3 -0
  129. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
  130. package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
  131. package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
  132. package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
  134. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  135. package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
  136. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
  137. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +105 -0
  138. package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +159 -21
  141. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  142. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
  143. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
  144. package/dist/_dts/theme-core/src/schema.d.ts +451 -57
  145. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +86 -17
  146. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
  147. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +86 -17
  148. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +135 -3
  149. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
  150. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
  151. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  152. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +286 -6
  153. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  154. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
  155. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -12
  156. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  157. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -7
  158. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
  159. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +2 -2
  160. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  161. package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
  162. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +7 -29
  164. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
  165. package/dist/_dts/ui/src/combobox.d.ts +1 -0
  166. package/dist/{PreviewEditorSidebar-4DXLYX2V.mjs → chunk-5NZGBSJF.mjs} +2215 -2566
  167. package/dist/{chunk-RGTOD4AJ.mjs → chunk-7PCYG6YV.mjs} +621 -108
  168. package/dist/{chunk-CR5HKAGU.mjs → chunk-BBLZSQEY.mjs} +79 -0
  169. package/dist/{chunk-MCRQMPET.mjs → chunk-GYXKAUFV.mjs} +4500 -912
  170. package/dist/{chunk-6HYXHRAI.mjs → chunk-HTB4BMKD.mjs} +267 -49
  171. package/dist/{chunk-OKMBEAXY.mjs → chunk-MPBNEVPB.mjs} +1 -1
  172. package/dist/cli/index.mjs +3255 -702
  173. package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
  174. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +150 -0
  175. package/dist/client/{accordion-PLYNJIIM.mjs → accordion-QFZMNB7O.mjs} +1 -1
  176. package/dist/client/{bookingForm-BXAP6AO7.mjs → bookingForm-NCIXFWIG.mjs} +3 -3
  177. package/dist/client/bookings.mjs +1246 -323
  178. package/dist/client/{carousel-TRBXDHGF.mjs → carousel-EO4BJMWD.mjs} +2 -2
  179. package/dist/client/{cart-Z7H3HJRS.mjs → cart-FTYCLYUW.mjs} +5 -5
  180. package/dist/client/{checkout-WAFCUBIX.mjs → checkout-NFGLVCOX.mjs} +5 -5
  181. package/dist/client/{chunk-CWGTG37I.mjs → chunk-4W66ALYT.mjs} +1 -1
  182. package/dist/client/{chunk-JRDUHZCT.mjs → chunk-6GVVWSPU.mjs} +4 -4
  183. package/dist/client/{chunk-75OUS5MT.mjs → chunk-IWFZSQNZ.mjs} +1 -1
  184. package/dist/client/{chunk-JGXPTEI2.mjs → chunk-PUOELU4O.mjs} +95 -8
  185. package/dist/client/{chunk-FUXW6VW2.mjs → chunk-PYRBIURC.mjs} +4 -4
  186. package/dist/client/{chunk-ZI3LLBPZ.mjs → chunk-T6UIP6UZ.mjs} +1 -1
  187. package/dist/client/{chunk-DNRGY432.mjs → chunk-VDS5YFLX.mjs} +1 -1
  188. package/dist/client/{chunk-UVQEJJTN.mjs → chunk-Y37KDO7P.mjs} +1 -1
  189. package/dist/client/client.mjs +24277 -20796
  190. package/dist/client/{courseRegistration-AHFQHWIJ.mjs → courseRegistration-2EORROPS.mjs} +3 -3
  191. package/dist/client/{eventCalendar-LDXTV5R7.mjs → eventCalendar-WZI4VL6N.mjs} +5 -5
  192. package/dist/client/{eventCombined-A4JGTNJO.mjs → eventCombined-QCB2TCNL.mjs} +5 -5
  193. package/dist/client/{eventDetails-4YXTZ7EG.mjs → eventDetails-TFTATAPH.mjs} +5 -5
  194. package/dist/client/{eventListing-P72TPFFM.mjs → eventListing-A2CQEHEQ.mjs} +5 -5
  195. package/dist/client/{eventRegistration-LSYJHGMT.mjs → eventRegistration-OELPVLUY.mjs} +5 -5
  196. package/dist/client/{form-AOPYOKOW.mjs → form-NTIFD6WQ.mjs} +1 -1
  197. package/dist/client/{headerSection-5TFYDFVQ.mjs → headerSection-7TBNKCLA.mjs} +65 -24
  198. package/dist/client/hooks.mjs +3687 -2024
  199. package/dist/client/{locationMap-QSZ3ZVAZ.mjs → locationMap-LRLB5A3H.mjs} +1 -1
  200. package/dist/client/{newsletterForm-KTRHZY52.mjs → newsletterForm-XI52RZSN.mjs} +1 -1
  201. package/dist/client/{productDetail-N4E775RG.mjs → productDetail-GSNKBFLY.mjs} +5 -5
  202. package/dist/client/{productList-UGUQ2S45.mjs → productList-BGCGT4KZ.mjs} +5 -5
  203. package/dist/client/rendering/client.mjs +5274 -3030
  204. package/dist/client/rendering/islands.mjs +18 -18
  205. package/dist/client/rendering.mjs +6271 -2790
  206. package/dist/client/{shop-VHSZEEQ2.mjs → shop-RQHUCLNY.mjs} +5 -5
  207. package/dist/preview-next/before-render.mjs +79 -0
  208. package/dist/preview-next/client/runtime.mjs +5 -5
  209. package/dist/preview-next/middleware.mjs +79 -0
  210. package/dist/{sdk-runtime-WHPJEF5G.mjs → sdk-runtime-A4LHT2RS.mjs} +6 -6
  211. package/dist/server/components.mjs +6215 -3057
  212. package/dist/server/config-validation.mjs +3858 -2194
  213. package/dist/server/config.mjs +3858 -2194
  214. package/dist/server/data.mjs +3687 -2024
  215. package/dist/server/index.mjs +88 -1
  216. package/dist/server/next/revalidate.mjs +229 -34
  217. package/dist/server/next.mjs +6295 -3036
  218. package/dist/server/page-converter.mjs +3055 -1883
  219. package/dist/server/prebuild.mjs +1 -1
  220. package/dist/server/rendering/server.mjs +6220 -3062
  221. package/dist/server/rendering.mjs +6233 -3075
  222. package/dist/server/routing.mjs +4251 -2137
  223. package/dist/server/server.mjs +3705 -2042
  224. package/dist/server/theme-bridge.mjs +1617 -329
  225. package/dist/server/theme.mjs +411 -221
  226. package/dist/server/webhooks.mjs +129 -25
  227. package/dist/styles/index.css +355 -33
  228. package/package.json +2 -1
  229. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +0 -8
  230. package/dist/chunk-4QEGTLK6.mjs +0 -1175
@@ -5,7 +5,7 @@
5
5
  * require importing internal blocks package types.
6
6
  */
7
7
  import type { LinkValue, Media, TipTapNode } from './content';
8
- import type { EventCategoryId, VenueId } from '../../../core/src/index';
8
+ import type { Brand, EventCategoryId, VenueId } from '../../../core/src/index';
9
9
  type UnknownRecord = Record<string, unknown>;
10
10
  type ImageMedia = Omit<Media, 'type'> & {
11
11
  type: 'image';
@@ -53,6 +53,20 @@ export type ContainerStylesContent = {
53
53
  fullWidth?: boolean | null;
54
54
  } | null;
55
55
  export type CtaIconName = 'ArrowRight' | 'ArrowLeft' | 'ChevronRight' | 'ChevronLeft' | 'ChevronUp' | 'ChevronDown' | 'ExternalLink' | 'Download' | 'Upload' | 'Mail' | 'Phone' | 'Play' | 'ShoppingCart' | 'Calendar' | 'MapPin' | 'Info' | 'Plus' | 'Minus' | 'Check' | 'X';
56
+ export type SemanticIconId = 'protection-trust' | 'confidentiality' | 'care-support' | 'partnership' | 'warmth' | 'community' | 'personal-guidance' | 'conversation' | 'friendly-welcome' | 'insight-learning' | 'natural-wellbeing' | 'growth' | 'gentle-care' | 'special-touch' | 'ideas' | 'direction' | 'focus' | 'quality' | 'highlight' | 'verified-quality' | 'learning' | 'training' | 'programmes-dates' | 'place' | 'products' | 'packages' | 'time' | 'practical-service' | 'at-home' | 'worldwide' | 'professional-service';
57
+ export type BlockIconValue = {
58
+ kind: 'none';
59
+ } | {
60
+ kind: 'semantic';
61
+ iconId: SemanticIconId;
62
+ } | {
63
+ kind: 'generated';
64
+ setId: Brand<string, 'GeneratedIconSetId'>;
65
+ assetId: Brand<string, 'GeneratedIconAssetId'>;
66
+ semanticFallbackIconId: SemanticIconId;
67
+ styleGuideVersionId: Brand<string, 'SiteIconStyleGuideVersionId'>;
68
+ };
69
+ export type FeatureCardIconTreatment = 'plain' | 'soft-badge' | 'utility-badge';
56
70
  export type RichTextDoc = {
57
71
  type: 'doc';
58
72
  content?: Array<{
@@ -203,6 +217,9 @@ export type DisplayMode = 'combined' | 'month' | 'week' | 'list' | 'timetable';
203
217
  export type FilterAutoShow = 'auto' | 'always' | 'never';
204
218
  export type CalendarTabViews = 'both' | 'month' | 'week';
205
219
  export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'link';
220
+ export type CardVariantRole = 'default' | 'alternative';
221
+ export type LegacyCardVariantRoleAlias = 'variant1' | 'variant2';
222
+ export type EventCardVariantInput = CardVariantRole | LegacyCardVariantRoleAlias;
206
223
  export type EventBlockKind = 'all' | 'courses' | 'events';
207
224
  export type EventSurfacePreset = 'class' | 'workshop' | 'retreat' | 'performance';
208
225
  export type EventSurfaceScope = 'all' | 'regularClassSchedule' | 'specialDatedEvents' | 'custom';
@@ -256,7 +273,7 @@ export type EventListingContent = {
256
273
  paginationMode?: 'loadMore' | 'seeAllLink' | null;
257
274
  seeAllUrl?: string | null;
258
275
  loadMoreText?: string | null;
259
- cardVariant?: 'default' | 'variant1' | 'variant2' | null;
276
+ cardVariant?: EventCardVariantInput | null;
260
277
  buttonVariant?: ButtonVariant | null;
261
278
  buttonText?: string | null;
262
279
  showVenue?: boolean | null;
@@ -292,7 +309,7 @@ export type EventSpotlightContent = {
292
309
  ctaUrl?: LinkValue | string | null;
293
310
  layout?: 'grid' | 'stack' | null;
294
311
  columns?: '2' | '3' | null;
295
- cardVariant?: 'default' | 'variant1' | 'variant2' | null;
312
+ cardVariant?: EventCardVariantInput | null;
296
313
  buttonVariant?: ButtonVariant | null;
297
314
  buttonText?: string | null;
298
315
  showVenue?: boolean | null;
@@ -306,6 +323,7 @@ export type FaqItem = {
306
323
  answer: unknown;
307
324
  };
308
325
  export type FaqContent = {
326
+ variant?: 'default' | 'two-column' | 'question-columns' | 'split-heading-columns' | null;
309
327
  eyebrow?: string | null;
310
328
  title?: string | null;
311
329
  description?: unknown;
@@ -315,6 +333,7 @@ export type FaqContent = {
315
333
  export type FeatureCard = {
316
334
  media?: Media | null;
317
335
  aspectRatio?: StandardAspectRatio | null;
336
+ icon?: BlockIconValue | SemanticIconId | null;
318
337
  title: string;
319
338
  body?: TipTapNode | null;
320
339
  ctas?: BlockCtaContent[] | null;
@@ -324,6 +343,7 @@ export type FeatureCardsContent = {
324
343
  title?: string | null;
325
344
  description?: TipTapNode | null;
326
345
  columns?: '2' | '3' | '4' | null;
346
+ _iconTreatment?: FeatureCardIconTreatment | null;
327
347
  cards?: FeatureCard[] | null;
328
348
  };
329
349
  export type HeroCta = {
@@ -502,7 +522,7 @@ export type TeamMembersContent = (TeamMembersCommonContent & {
502
522
  members?: ManualTeamMemberItem[];
503
523
  });
504
524
  export type TestimonialsBlockContent = {
505
- variant?: 'carousel' | 'grid' | null;
525
+ variant?: 'carousel' | 'grid' | 'split-grid' | 'highlight' | null;
506
526
  heading?: string | null;
507
527
  subheading?: string | null;
508
528
  avatarLayout?: 'above-centered' | 'inline-left' | 'hidden' | null;
@@ -40,7 +40,7 @@
40
40
  export { createCatchAllPage } from './catch-all';
41
41
  export { RiverbankContentLoadError, SdkContentLoadError, classifyContentLoadError, isSdkContentLoadError, toContentLoadFailureLogFields, type CatchAllContentLoadFailureContext, type CatchAllRequestContext, type ClassifiedContentLoadError, type SdkContentLoadFailure, type SdkContentLoadFailureKind, type SdkContentLoadNotFound, } from './content-load-failure';
42
42
  export type { CreateCatchAllPageOptions, CreateCatchAllPageResult, CatchAllPageProps, CatchAllContext, ThemeSwitchConfigV1, ThemeResolverContext, } from './types';
43
- export { generateAllStaticParams, validateStaticParamsEnv, pathToSlugArray, type StaticParamsEnvResult, } from './static-params';
43
+ export { createGenerateStaticParams, generateAllStaticParams, normalizeStaticRoutePath, validateStaticParamsEnv, pathToSlugArray, routesToStaticParams, type CreateGenerateStaticParamsOptions, type GenerateAllStaticParamsOptions, type StaticParam, type StaticParamsClient, type StaticParamsEnvResult, type StaticParamsFailureContext, type StaticParamsFailureMode, type StaticParamsRoute, } from './static-params';
44
44
  export { createSitemap, type CreateSitemapOptions, type SitemapGenerator, } from './sitemap';
45
45
  export { createRobots, type CreateRobotsOptions } from './robots';
46
46
  /**
@@ -17,13 +17,34 @@
17
17
  * import { createRevalidateHandler } from '@riverbankcms/sdk/next/revalidate';
18
18
  *
19
19
  * export const POST = createRevalidateHandler({
20
- * onRevalidate: (payload, items) => {
21
- * console.log(`Revalidated ${items.length} items for ${payload.event}`);
20
+ * onRevalidate: (payload, items, metadata) => {
21
+ * console.log(`Revalidated ${items.length} items for ${payload.event}`, metadata);
22
22
  * },
23
23
  * });
24
24
  * ```
25
25
  */
26
26
  import { type WebhookPayload } from '../webhooks/verify';
27
+ export type NormalizedRevalidationPaths = Readonly<{
28
+ paths: string[];
29
+ invalidPaths: string[];
30
+ }>;
31
+ export type RevalidationRequestMetadata = Readonly<{
32
+ event: WebhookPayload['event'];
33
+ siteId: string;
34
+ dispatchId?: string;
35
+ pathCount: number;
36
+ tagCount: number;
37
+ itemCount: number;
38
+ requestId?: string;
39
+ correlationId?: string;
40
+ monitorRunId?: string;
41
+ }>;
42
+ /**
43
+ * Normalize a public URL path for Next revalidation.
44
+ */
45
+ export declare function normalizeRevalidationPath(path: string): string | null;
46
+ export declare function normalizeRevalidationPaths(paths?: readonly string[]): NormalizedRevalidationPaths;
47
+ export declare function normalizeRevalidationTags(tags?: readonly string[]): string[];
27
48
  /**
28
49
  * Options for the revalidation handler.
29
50
  */
@@ -36,15 +57,15 @@ export interface RevalidateHandlerOptions {
36
57
  * Callback called after successful revalidation.
37
58
  * Useful for logging or analytics.
38
59
  */
39
- onRevalidate?: (payload: WebhookPayload, revalidatedItems: string[]) => void;
60
+ onRevalidate?: (payload: WebhookPayload, revalidatedItems: string[], metadata: RevalidationRequestMetadata) => void;
40
61
  }
41
62
  /**
42
63
  * Create a Next.js API route handler for webhook revalidation.
43
64
  *
44
65
  * The handler:
45
66
  * 1. Verifies the webhook signature using HMAC-SHA256
46
- * 2. Calls `revalidateTag()` for each tag in the payload
47
- * 3. Calls `revalidatePath()` if a path is included in the data
67
+ * 2. Calls `revalidateTag()` for each normalized tag in the payload
68
+ * 3. Calls `revalidatePath()` for each normalized path in the payload
48
69
  * 4. Returns a JSON response with the revalidation results
49
70
  *
50
71
  * @param options - Configuration options
@@ -11,6 +11,29 @@
11
11
  * export { generateAllStaticParams as generateStaticParams };
12
12
  * ```
13
13
  */
14
+ import type { RiverbankClient } from '../client/types';
15
+ import type { RoutableContentResponse } from '../public-api/contracts';
16
+ export type StaticParam = Readonly<{
17
+ slug: string[];
18
+ }>;
19
+ export type StaticParamsRoute = Pick<RoutableContentResponse['items'][number], 'path'>;
20
+ export type StaticParamsClient = Pick<RiverbankClient, 'getAllPublishedRoutes'>;
21
+ export type StaticParamsFailureMode = 'throw' | 'fallback';
22
+ export type StaticParamsFailureContext = Readonly<{
23
+ siteId: string;
24
+ error: unknown;
25
+ reason: 'route_discovery_failed' | 'invalid_route_path';
26
+ path?: string;
27
+ }>;
28
+ export type CreateGenerateStaticParamsOptions = Readonly<{
29
+ getClient: () => StaticParamsClient | Promise<StaticParamsClient>;
30
+ siteId: string;
31
+ failureMode?: StaticParamsFailureMode;
32
+ fallbackPaths?: readonly string[];
33
+ onFailure?: (context: StaticParamsFailureContext) => void;
34
+ signal?: AbortSignal;
35
+ }>;
36
+ export type GenerateAllStaticParamsOptions = Pick<CreateGenerateStaticParamsOptions, 'failureMode' | 'fallbackPaths' | 'onFailure' | 'signal'>;
14
37
  /**
15
38
  * Environment variable validation result
16
39
  */
@@ -25,6 +48,7 @@ export type StaticParamsEnvResult = {
25
48
  valid: false;
26
49
  missingVars: string[];
27
50
  };
51
+ export declare function dashboardUrlToApiBaseUrl(input: string): string;
28
52
  /**
29
53
  * Validate that all required environment variables are set.
30
54
  *
@@ -36,6 +60,7 @@ export type StaticParamsEnvResult = {
36
60
  * @returns Validation result with config or missing vars
37
61
  */
38
62
  export declare function validateStaticParamsEnv(): StaticParamsEnvResult;
63
+ export declare function normalizeStaticRoutePath(path: string): string;
39
64
  /**
40
65
  * Convert a route path to a Next.js slug array.
41
66
  *
@@ -50,6 +75,8 @@ export declare function validateStaticParamsEnv(): StaticParamsEnvResult;
50
75
  * ```
51
76
  */
52
77
  export declare function pathToSlugArray(path: string): string[];
78
+ export declare function routesToStaticParams(routes: readonly StaticParamsRoute[]): StaticParam[];
79
+ export declare function createGenerateStaticParams(options: CreateGenerateStaticParamsOptions): () => Promise<StaticParam[]>;
53
80
  /**
54
81
  * Generate static params for all published routes.
55
82
  *
@@ -79,6 +106,4 @@ export declare function pathToSlugArray(path: string): string[];
79
106
  * }
80
107
  * ```
81
108
  */
82
- export declare function generateAllStaticParams(): Promise<{
83
- slug: string[];
84
- }[]>;
109
+ export declare function generateAllStaticParams(options?: GenerateAllStaticParamsOptions): Promise<StaticParam[]>;
@@ -810,7 +810,7 @@ export type SitemapRoutesResponse = {
810
810
  pageSize: number;
811
811
  allowIndexingInProduction: boolean;
812
812
  };
813
- export type PublicEndpointName = "getSite" | "getContentByPath" | "listPublishedEntries" | "getPublishedEntryPreview" | "getPublicFormById" | "listPublicForms" | "getPublicBookingServices" | "getPublicChallenge" | "listPublicEvents" | "batchBlockLoaders" | "listPublicCourses" | "listPublicTeamMembers" | "listPublicProducts" | "listPublicPasses" | "listPublicMemberships" | "resolveEntrySubroute" | "resolveEventOccurrence" | "checkRedirect" | "getRoutableContent" | "getPublicSitemapRoutes";
813
+ export type PublicEndpointName = "getSite" | "getContentByPath" | "listPublishedEntries" | "getPublishedEntryPreview" | "getPublicFormById" | "listPublicForms" | "getPublicBookingServices" | "getPublicChallenge" | "listPublicEvents" | "batchBlockLoaders" | "listPublicCourses" | "listPublicTeamMembers" | "listPublicProducts" | "listPublicPasses" | "listPublicMemberships" | "resolveEntrySubroute" | "resolveEventOccurrence" | "checkRedirect" | "getRoutableContent" | "getPublicRoutableContent" | "getPublicSitemapRoutes";
814
814
  export type PublicAPIEndpoints = {
815
815
  getSite: APIEndpointBase<never, {
816
816
  id?: string;
@@ -949,6 +949,10 @@ export type PublicAPIEndpoints = {
949
949
  siteId: string;
950
950
  publishedOnly?: string;
951
951
  }, RoutableContentResponse>;
952
+ getPublicRoutableContent: APIEndpointBase<never, {
953
+ siteId: string;
954
+ publishedOnly?: string;
955
+ }, RoutableContentResponse>;
952
956
  getPublicSitemapRoutes: APIEndpointBase<never, {
953
957
  siteId: string;
954
958
  page?: string;
@@ -1,5 +1,5 @@
1
1
  import type { ApiResult, HTTPMethod, PublicAPIEndpoints, PublicEndpointName } from './contracts';
2
- export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicCourses", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEntrySubroute", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicSitemapRoutes"];
2
+ export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicCourses", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEntrySubroute", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicRoutableContent", "getPublicSitemapRoutes"];
3
3
  export type ApiClient = <E extends PublicEndpointName>(params: {
4
4
  endpoint: E;
5
5
  params?: PublicAPIEndpoints[E]['query'];
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.78.2";
11
+ export declare const SDK_VERSION = "0.80.0";
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Webhook utilities for Riverbank SDK
3
3
  */
4
- export { verifyWebhookSignature, parseWebhookPayload, WebhookPayloadSchema, type WebhookPayload, type ParseWebhookResult, } from './verify';
4
+ export { SUPPORTED_WEBHOOK_EVENTS, verifyWebhookSignature, parseWebhookPayload, RIVERBANK_SIGNATURE_PREFIX, WebhookPayloadSchema, WebhookEventSchema, normalizeRevalidationPath, parseRevalidationPath, unwrapRevalidationPath, type RevalidationPath, type RevalidationPathParseError, type RevalidationPathParseResult, type WebhookEvent, type WebhookPayload, type ParseWebhookResult, } from './verify';
@@ -3,116 +3,20 @@
3
3
  *
4
4
  * Provides framework-agnostic webhook signature verification and payload parsing.
5
5
  */
6
- import { z } from 'zod';
7
- /**
8
- * Supported webhook event types.
9
- * Keep in sync with apps/dashboard/src/lib/db/helpers/webhooks.ts
10
- */
11
- export declare const WebhookEventSchema: z.ZodEnum<{
12
- "page.published": "page.published";
13
- "entry.published": "entry.published";
14
- "navigation.updated": "navigation.updated";
15
- "theme.updated": "theme.updated";
16
- "site.settings_updated": "site.settings_updated";
17
- }>;
18
- export type WebhookEvent = z.infer<typeof WebhookEventSchema>;
19
- /** Data for page.published events */
20
- export declare const PagePublishedDataSchema: z.ZodObject<{
21
- pageId: z.ZodString;
22
- path: z.ZodString;
23
- slug: z.ZodOptional<z.ZodString>;
24
- }, z.core.$strip>;
25
- /** Data for entry.published events */
26
- export declare const EntryPublishedDataSchema: z.ZodObject<{
27
- entryId: z.ZodString;
28
- path: z.ZodString;
29
- contentType: z.ZodString;
30
- }, z.core.$strip>;
31
- /** Data for navigation.updated events */
32
- export declare const NavigationUpdatedDataSchema: z.ZodObject<{
33
- menuId: z.ZodOptional<z.ZodString>;
34
- }, z.core.$strip>;
35
- /** Data for theme.updated and site.settings_updated events (empty) */
36
- export declare const EmptyDataSchema: z.ZodObject<{}, z.core.$strip>;
37
- /**
38
- * Combined data schema that accepts any valid event data.
39
- * The actual shape depends on the event type.
40
- */
41
- export declare const WebhookDataSchema: z.ZodUnion<readonly [z.ZodObject<{
42
- pageId: z.ZodString;
43
- path: z.ZodString;
44
- slug: z.ZodOptional<z.ZodString>;
45
- }, z.core.$strip>, z.ZodObject<{
46
- entryId: z.ZodString;
47
- path: z.ZodString;
48
- contentType: z.ZodString;
49
- }, z.core.$strip>, z.ZodObject<{
50
- menuId: z.ZodOptional<z.ZodString>;
51
- }, z.core.$strip>, z.ZodObject<{}, z.core.$strip>]>;
52
- export type PagePublishedData = z.infer<typeof PagePublishedDataSchema>;
53
- export type EntryPublishedData = z.infer<typeof EntryPublishedDataSchema>;
54
- export type NavigationUpdatedData = z.infer<typeof NavigationUpdatedDataSchema>;
55
- /**
56
- * Zod schema for webhook payload validation.
57
- */
58
- export declare const WebhookPayloadSchema: z.ZodObject<{
59
- event: z.ZodEnum<{
60
- "page.published": "page.published";
61
- "entry.published": "entry.published";
62
- "navigation.updated": "navigation.updated";
63
- "theme.updated": "theme.updated";
64
- "site.settings_updated": "site.settings_updated";
65
- }>;
66
- timestamp: z.ZodString;
67
- siteId: z.ZodString;
68
- data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
69
- tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
- }, z.core.$strip>;
71
- /**
72
- * Webhook payload structure sent by the CMS.
73
- */
74
- export type WebhookPayload = z.infer<typeof WebhookPayloadSchema>;
6
+ import { type EmptyWebhookData, type EntryPathChangedData, type EntryPublishedData, type EntryRemovedData, type NavigationUpdatedData, type PagePathChangedData, type PagePublishedData, type PageRemovedData, type RevalidationPath, type RevalidationPathParseError, type RevalidationPathParseResult, type WebhookEvent, type WebhookPayload } from '../../../api/src/webhooks';
7
+ export { EmptyWebhookDataSchema as EmptyDataSchema, EntryPathChangedDataSchema, EntryPublishedDataSchema, EntryRemovedDataSchema, NavigationUpdatedDataSchema, PagePathChangedDataSchema, PagePublishedDataSchema, PageRemovedDataSchema, RIVERBANK_SIGNATURE_PREFIX, SUPPORTED_WEBHOOK_EVENTS, WebhookEventSchema, WebhookPayloadSchema, normalizeRevalidationPath, parseRevalidationPath, unwrapRevalidationPath, } from '../../../api/src/webhooks';
8
+ export type { EmptyWebhookData as EmptyData, RevalidationPath, RevalidationPathParseError, RevalidationPathParseResult, EntryPathChangedData, EntryPublishedData, EntryRemovedData, NavigationUpdatedData, PagePathChangedData, PagePublishedData, PageRemovedData, WebhookEvent, WebhookPayload, };
75
9
  /**
76
10
  * Type-safe webhook payload with discriminated data based on event type.
77
11
  */
78
- export type TypedWebhookPayload = {
79
- event: 'page.published';
80
- data: PagePublishedData;
81
- siteId: string;
82
- timestamp: string;
83
- tags?: string[];
84
- } | {
85
- event: 'entry.published';
86
- data: EntryPublishedData;
87
- siteId: string;
88
- timestamp: string;
89
- tags?: string[];
90
- } | {
91
- event: 'navigation.updated';
92
- data: NavigationUpdatedData;
93
- siteId: string;
94
- timestamp: string;
95
- tags?: string[];
96
- } | {
97
- event: 'theme.updated';
98
- data: Record<string, never>;
99
- siteId: string;
100
- timestamp: string;
101
- tags?: string[];
102
- } | {
103
- event: 'site.settings_updated';
104
- data: Record<string, never>;
105
- siteId: string;
106
- timestamp: string;
107
- tags?: string[];
108
- };
12
+ export type TypedWebhookPayload = WebhookPayload;
109
13
  /**
110
- * Verify a webhook signature using HMAC-SHA256.
14
+ * Verify a `sha256=<digest>` webhook signature using HMAC-SHA256.
111
15
  *
112
16
  * Uses timing-safe comparison to prevent timing attacks.
113
17
  *
114
18
  * @param payload - The raw request body as a string
115
- * @param signature - The X-Riverbank-Signature header value
19
+ * @param signature - The X-Riverbank-Signature header value (`sha256=<hex digest>`)
116
20
  * @param secret - The webhook signing secret (RIVERBANK_WEBHOOK_SECRET)
117
21
  * @returns true if signature is valid, false otherwise
118
22
  *
@@ -188,6 +188,7 @@ export declare const upsertNavigationMenuCommandSchema: z.ZodObject<{
188
188
  type: z.ZodLiteral<"upsertNavigationMenu">;
189
189
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
190
190
  input: z.ZodObject<{
191
+ identifier: z.ZodOptional<z.ZodString>;
191
192
  name: z.ZodOptional<z.ZodString>;
192
193
  location: z.ZodOptional<z.ZodEnum<{
193
194
  header: "header";
@@ -1090,6 +1091,7 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1090
1091
  type: z.ZodLiteral<"upsertNavigationMenu">;
1091
1092
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
1092
1093
  input: z.ZodObject<{
1094
+ identifier: z.ZodOptional<z.ZodString>;
1093
1095
  name: z.ZodOptional<z.ZodString>;
1094
1096
  location: z.ZodOptional<z.ZodEnum<{
1095
1097
  header: "header";
@@ -1924,6 +1926,7 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1924
1926
  type: z.ZodLiteral<"upsertNavigationMenu">;
1925
1927
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
1926
1928
  input: z.ZodObject<{
1929
+ identifier: z.ZodOptional<z.ZodString>;
1927
1930
  name: z.ZodOptional<z.ZodString>;
1928
1931
  location: z.ZodOptional<z.ZodEnum<{
1929
1932
  header: "header";
@@ -1,3 +1,218 @@
1
+ /**
2
+ * Reusable accordion "looks" for curated site styles.
3
+ *
4
+ * Each curated site style should declare one of these (or a bespoke variant)
5
+ * via `themeOverrides.accordions` so its FAQ accordions carry the style's
6
+ * personality instead of falling back to the generic generated default. The
7
+ * looks vary the things that make an accordion read as designed vs. cheap:
8
+ * box vs. boxless, question typography (body vs. heading font + scale), icon,
9
+ * and how an open item is emphasised.
10
+ */
11
+ /**
12
+ * Boxless editorial list: transparent root, hairline dividers between rows,
13
+ * generous spacing, heading-font questions, plus/minus marks, and an accented
14
+ * tinted band on the open row. The reference "expensive" FAQ look.
15
+ */
16
+ export declare const editorialDividedAccordionSystem: {
17
+ readonly background: null;
18
+ readonly spacing: "comfortable";
19
+ readonly corners: "square";
20
+ readonly border: null;
21
+ readonly shadow: null;
22
+ readonly icon: {
23
+ readonly style: "plus-minus";
24
+ readonly position: "right";
25
+ readonly size: "md";
26
+ readonly colorToken: "primary";
27
+ };
28
+ readonly trigger: {
29
+ readonly textColorToken: "text";
30
+ readonly fontWeight: "regular";
31
+ readonly fontFamily: "heading";
32
+ readonly fontScale: "lg";
33
+ };
34
+ readonly hover: {
35
+ readonly textColorToken: "primary";
36
+ };
37
+ readonly openState: {
38
+ readonly backgroundColorToken: "surfaceAlt";
39
+ readonly triggerColorToken: "primary";
40
+ readonly accent: {
41
+ readonly edge: "left";
42
+ readonly colorToken: "primary";
43
+ readonly thickness: "medium";
44
+ };
45
+ };
46
+ readonly content: {
47
+ readonly textColorToken: "neutral-700";
48
+ };
49
+ };
50
+ /**
51
+ * Quiet, airy underlined rows: transparent, spacious, large calm heading-font
52
+ * questions, a small subtle chevron, and open emphasis carried only by the
53
+ * question recolouring. For minimal / premium / wellness styles.
54
+ */
55
+ export declare const quietUnderlinedAccordionSystem: {
56
+ readonly background: null;
57
+ readonly spacing: "spacious";
58
+ readonly corners: "square";
59
+ readonly border: null;
60
+ readonly shadow: null;
61
+ readonly icon: {
62
+ readonly style: "chevron";
63
+ readonly position: "right";
64
+ readonly size: "sm";
65
+ readonly colorToken: "muted";
66
+ };
67
+ readonly trigger: {
68
+ readonly textColorToken: "text";
69
+ readonly fontWeight: "regular";
70
+ readonly fontFamily: "heading";
71
+ readonly fontScale: "lg";
72
+ };
73
+ readonly hover: {
74
+ readonly textColorToken: "primary";
75
+ };
76
+ readonly openState: {
77
+ readonly triggerColorToken: "primary";
78
+ };
79
+ readonly content: {
80
+ readonly textColorToken: "neutral-700";
81
+ };
82
+ };
83
+ /**
84
+ * Soft contained panel: a gentle surface box with soft corners, a hairline
85
+ * border and a low shadow, heading-font questions at a moderate size, chevron,
86
+ * and a tinted open state. For clean, trustworthy, appointment-led styles.
87
+ */
88
+ export declare const calmPanelAccordionSystem: {
89
+ readonly background: {
90
+ readonly type: "solid";
91
+ readonly colorToken: "surface";
92
+ };
93
+ readonly spacing: "comfortable";
94
+ readonly corners: "soft";
95
+ readonly border: {
96
+ readonly widthClass: "border";
97
+ readonly colorToken: "border";
98
+ };
99
+ readonly shadow: {
100
+ readonly elevation: "low";
101
+ readonly softness: "soft";
102
+ readonly position: "bottom";
103
+ };
104
+ readonly icon: {
105
+ readonly style: "chevron";
106
+ readonly position: "right";
107
+ readonly size: "md";
108
+ readonly colorToken: "primary";
109
+ };
110
+ readonly trigger: {
111
+ readonly textColorToken: "text";
112
+ readonly fontWeight: "medium";
113
+ readonly fontFamily: "heading";
114
+ readonly fontScale: "md";
115
+ };
116
+ readonly hover: {
117
+ readonly backgroundColorToken: "primary/5";
118
+ readonly textColorToken: "primary";
119
+ };
120
+ readonly openState: {
121
+ readonly backgroundColorToken: "primary/5";
122
+ readonly triggerColorToken: "primary";
123
+ };
124
+ readonly content: {
125
+ readonly textColorToken: "neutral-700";
126
+ };
127
+ };
128
+ /**
129
+ * Bold bordered panel: a strong-bordered surface box, bold heading-font
130
+ * questions, large plus/minus marks, and a high-emphasis tinted + accented
131
+ * open state. For confident, conversion-led, high-energy styles.
132
+ */
133
+ export declare const boldBorderedAccordionSystem: {
134
+ readonly background: {
135
+ readonly type: "solid";
136
+ readonly colorToken: "surface";
137
+ };
138
+ readonly spacing: "comfortable";
139
+ readonly corners: "soft";
140
+ readonly border: {
141
+ readonly widthClass: "border-2";
142
+ readonly colorToken: "border";
143
+ };
144
+ readonly shadow: null;
145
+ readonly icon: {
146
+ readonly style: "plus-minus";
147
+ readonly position: "right";
148
+ readonly size: "lg";
149
+ readonly colorToken: "primary";
150
+ };
151
+ readonly trigger: {
152
+ readonly textColorToken: "text";
153
+ readonly fontWeight: "bold";
154
+ readonly fontFamily: "heading";
155
+ readonly fontScale: "md";
156
+ };
157
+ readonly hover: {
158
+ readonly backgroundColorToken: "primary/10";
159
+ readonly textColorToken: "primary";
160
+ };
161
+ readonly openState: {
162
+ readonly backgroundColorToken: "primary/10";
163
+ readonly triggerColorToken: "primary";
164
+ readonly accent: {
165
+ readonly edge: "left";
166
+ readonly colorToken: "primary";
167
+ readonly thickness: "thick";
168
+ };
169
+ };
170
+ readonly content: {
171
+ readonly textColorToken: "neutral-700";
172
+ };
173
+ };
174
+ /**
175
+ * Warm inset tiles: a tinted (surfaceAlt) root with rounded corners and no
176
+ * border; the open row lifts to the lighter surface colour. Friendly,
177
+ * hands-on, community styles.
178
+ */
179
+ export declare const warmInsetAccordionSystem: {
180
+ readonly background: {
181
+ readonly type: "solid";
182
+ readonly colorToken: "surfaceAlt";
183
+ };
184
+ readonly spacing: "comfortable";
185
+ readonly corners: "rounded";
186
+ readonly border: null;
187
+ readonly shadow: null;
188
+ readonly icon: {
189
+ readonly style: "circle-plus-minus";
190
+ readonly position: "right";
191
+ readonly size: "md";
192
+ readonly colorToken: "primary";
193
+ };
194
+ readonly trigger: {
195
+ readonly textColorToken: "text";
196
+ readonly fontWeight: "semibold";
197
+ readonly fontFamily: "heading";
198
+ readonly fontScale: "md";
199
+ };
200
+ readonly hover: {
201
+ readonly backgroundColorToken: "primary/5";
202
+ readonly textColorToken: "primary";
203
+ };
204
+ readonly openState: {
205
+ readonly backgroundColorToken: "surface";
206
+ readonly triggerColorToken: "primary";
207
+ };
208
+ readonly content: {
209
+ readonly textColorToken: "neutral-700";
210
+ };
211
+ };
212
+ /**
213
+ * Soft Earth's grounded look: boxless, plus/minus, heading-font questions on
214
+ * a warm ground, with a quiet open recolour.
215
+ */
1
216
  export declare const softEarthAccordionSystem: {
2
217
  readonly background: {
3
218
  readonly type: "solid";
@@ -16,10 +231,15 @@ export declare const softEarthAccordionSystem: {
16
231
  readonly trigger: {
17
232
  readonly textColorToken: "text";
18
233
  readonly fontWeight: "medium";
234
+ readonly fontFamily: "heading";
235
+ readonly fontScale: "md";
19
236
  };
20
237
  readonly hover: {
21
238
  readonly textColorToken: "primary";
22
239
  };
240
+ readonly openState: {
241
+ readonly triggerColorToken: "primary";
242
+ };
23
243
  readonly content: {
24
244
  readonly textColorToken: "neutral-700";
25
245
  };