@riverbankcms/sdk 0.77.0 → 0.78.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 (237) hide show
  1. package/README.md +69 -0
  2. package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
  3. package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +194 -184
  6. package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
  7. package/dist/_dts/api/src/billing.d.ts +3 -26
  8. package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
  9. package/dist/_dts/api/src/content-editor.d.ts +1 -0
  10. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +14 -2
  13. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  14. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  15. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  16. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  17. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  18. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  19. package/dist/_dts/api/src/navigation.d.ts +12 -0
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  21. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  22. package/dist/_dts/api/src/types.d.ts +3 -1
  23. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  24. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  25. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
  26. package/dist/_dts/blocks/src/index.d.ts +3 -2
  27. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  28. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  32. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  34. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
  41. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  42. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  43. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  45. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
  47. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  48. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  49. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  50. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  51. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  54. package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
  55. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  57. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  59. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  60. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  67. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  68. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
  72. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  74. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  75. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  76. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  77. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  78. package/dist/_dts/content-editor/src/index.d.ts +5 -0
  79. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  80. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  81. package/dist/_dts/content-model/src/index.d.ts +1 -0
  82. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  83. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  84. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  85. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  86. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  87. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  88. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  89. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  90. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  91. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  92. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  93. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  94. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  95. package/dist/_dts/core/src/duration.d.ts +14 -0
  96. package/dist/_dts/core/src/email-format.d.ts +10 -0
  97. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  98. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  99. package/dist/_dts/core/src/index.d.ts +20 -0
  100. package/dist/_dts/core/src/number-input.d.ts +22 -0
  101. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  102. package/dist/_dts/core/src/slug.d.ts +39 -0
  103. package/dist/_dts/core/src/string.d.ts +19 -0
  104. package/dist/_dts/core/src/uuid.d.ts +6 -0
  105. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  106. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  107. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  108. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  109. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  110. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  111. package/dist/_dts/media-core/src/index.d.ts +10 -0
  112. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  113. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  114. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  115. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  116. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  117. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  118. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  119. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  120. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  121. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  122. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  123. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  124. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  125. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  126. package/dist/_dts/sdk/src/client/types.d.ts +37 -19
  127. package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
  128. package/dist/_dts/sdk/src/index.d.ts +2 -2
  129. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  130. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  131. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  132. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  133. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  134. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  135. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  136. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  137. package/dist/_dts/sdk/src/version.d.ts +1 -1
  138. package/dist/_dts/site-commands/src/commands.d.ts +12 -12
  139. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  140. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  141. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  142. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  143. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  144. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  145. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  146. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  148. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +63 -51
  149. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  150. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  151. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  152. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  153. package/dist/_dts/theme-core/src/schema.d.ts +90 -48
  154. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  155. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  156. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  157. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -1
  158. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +35 -7
  159. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  160. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +96 -34
  161. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  162. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  164. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  165. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  166. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  167. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  168. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  169. package/dist/{chunk-EAWHBECW.mjs → chunk-F7RTCZYN.mjs} +229 -50
  170. package/dist/{chunk-GSQX43EZ.mjs → chunk-NIDXI46P.mjs} +22 -41
  171. package/dist/{chunk-WLQBJN2Z.mjs → chunk-OECWLDHN.mjs} +4538 -1911
  172. package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
  173. package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
  174. package/dist/{chunk-ANKDYZ2E.mjs → chunk-TXDES5P2.mjs} +2 -2
  175. package/dist/cli/index.mjs +2036 -594
  176. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
  177. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
  178. package/dist/client/bookings.mjs +3707 -259
  179. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
  180. package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
  181. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
  182. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
  183. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
  184. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
  185. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
  186. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
  187. package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
  188. package/dist/client/chunk-PD6NBCEY.mjs +66 -0
  189. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
  190. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
  191. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  192. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
  193. package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
  194. package/dist/client/client.mjs +8983 -6152
  195. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
  196. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
  197. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
  198. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
  199. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
  200. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
  201. package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
  202. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
  203. package/dist/client/hooks.mjs +1388 -427
  204. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
  205. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
  206. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
  207. package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
  208. package/dist/client/rendering/client.mjs +7090 -2645
  209. package/dist/client/rendering/islands.mjs +19 -19
  210. package/dist/client/rendering.mjs +7395 -4767
  211. package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
  212. package/dist/preview-next/before-render.mjs +8 -0
  213. package/dist/preview-next/client/runtime.mjs +5 -5
  214. package/dist/preview-next/editor-chrome.css +10 -0
  215. package/dist/preview-next/middleware.mjs +8 -0
  216. package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
  217. package/dist/server/components.mjs +4175 -2480
  218. package/dist/server/config-validation.mjs +1619 -658
  219. package/dist/server/config.mjs +1619 -658
  220. package/dist/server/data.mjs +1388 -427
  221. package/dist/server/index.mjs +488 -246
  222. package/dist/server/next.mjs +5607 -3354
  223. package/dist/server/page-converter.mjs +912 -259
  224. package/dist/server/prebuild.mjs +1 -1
  225. package/dist/server/rendering/server.mjs +4176 -2481
  226. package/dist/server/rendering.mjs +4194 -2486
  227. package/dist/server/routing.mjs +2078 -639
  228. package/dist/server/server.mjs +1886 -685
  229. package/dist/server/theme-bridge.mjs +4441 -1300
  230. package/dist/server/theme.mjs +89 -12
  231. package/dist/styles/index.css +1576 -1083
  232. package/package.json +2 -1
  233. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
  234. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  235. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  236. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  237. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
@@ -1,8 +1,8 @@
1
- import type { SystemBlockDefinition } from "../registry";
1
+ import type { SystemBlockDefinition } from '../registry';
2
2
  export declare const siteHeaderManifest: import("..").DefinedBlockManifest<{
3
3
  readonly skipSectionStyles: true;
4
4
  }>;
5
5
  export type SiteHeaderManifest = typeof siteHeaderManifest;
6
- export type SiteHeaderVariant = "classic" | "centered" | "transparent" | "floating" | "editorial";
6
+ export type SiteHeaderVariant = 'classic' | 'centered' | 'transparent' | 'floating';
7
7
  export type SiteHeaderContent = Record<string, never>;
8
8
  export declare const siteHeaderBlockDefinition: SystemBlockDefinition<SiteHeaderContent>;
@@ -4,9 +4,11 @@
4
4
  */
5
5
  export { prefetchBlockData } from './prefetchBlockData';
6
6
  export type { PrefetchBlockDataOptions } from './prefetchBlockData';
7
- export { SUPPORTED_LOADER_ENDPOINTS, isSupportedLoaderEndpoint } from './loaderEndpoints';
7
+ export { initialPreviewResolvedDataState, previewResolvedDataReducer, selectPreviewResolvedData, } from './previewResolvedDataState';
8
+ export type { PreviewLoaderError, PreviewResolvedDataAction, PreviewResolvedDataState, } from './previewResolvedDataState';
9
+ export { SUPPORTED_LOADER_ENDPOINTS, isSupportedLoaderEndpoint, } from './loaderEndpoints';
8
10
  export type { SupportedLoaderEndpoint } from './loaderEndpoints';
9
- export { createMicrobatcher, stableSerialize, type BatchItemResult, type Microbatcher } from './batching';
10
- export { normalizeLoaderParams, normalizePublicApiLoaderParams } from './normalizeLoaderParams';
11
+ export { createMicrobatcher, stableSerialize, type BatchItemResult, type Microbatcher, } from './batching';
12
+ export { normalizeLoaderParams, normalizePublicApiLoaderParams, } from './normalizeLoaderParams';
11
13
  export { normalizeDataLoaders, normalizeContent, normalizeParams, coerceToString, coercePayload, } from './utils';
12
14
  export type { PrefetchContext, ResolvedBlockData, ApiClient, DataLoaderEntry, } from './types';
@@ -0,0 +1,45 @@
1
+ import type { ResolvedBlockData } from './types';
2
+ /** One loader-level failure captured during resolution. */
3
+ export interface PreviewLoaderError {
4
+ blockId: string;
5
+ loaderKey: string;
6
+ error: unknown;
7
+ }
8
+ /**
9
+ * One state value, four variants. Every variant carries `data` and
10
+ * `loaderErrors` so last-known-good data is structurally preserved.
11
+ */
12
+ export type PreviewResolvedDataState = Readonly<{
13
+ status: 'idle';
14
+ data: ResolvedBlockData;
15
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
16
+ }> | Readonly<{
17
+ status: 'loading';
18
+ data: ResolvedBlockData;
19
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
20
+ }> | Readonly<{
21
+ status: 'ready';
22
+ data: ResolvedBlockData;
23
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
24
+ }> | Readonly<{
25
+ status: 'error';
26
+ data: ResolvedBlockData;
27
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
28
+ error: unknown;
29
+ }>;
30
+ export type PreviewResolvedDataAction = {
31
+ kind: 'start';
32
+ } | {
33
+ kind: 'resolved';
34
+ data: ResolvedBlockData;
35
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
36
+ } | {
37
+ kind: 'failed';
38
+ error: unknown;
39
+ };
40
+ export declare const initialPreviewResolvedDataState: PreviewResolvedDataState;
41
+ export declare function previewResolvedDataReducer(state: PreviewResolvedDataState, action: PreviewResolvedDataAction): PreviewResolvedDataState;
42
+ export declare function selectPreviewResolvedData(state: PreviewResolvedDataState): {
43
+ resolvedData: ResolvedBlockData;
44
+ loaderErrors: ReadonlyArray<PreviewLoaderError>;
45
+ };
@@ -1,5 +1,5 @@
1
1
  import type { ModalFieldDefinition } from '../manifest/schema';
2
- import type { AccordionIconTreatment, EyebrowTreatment, HeadingDecoration, HeadingDecorationOverride, TileTreatment } from '../../../../theme-core/src/site-styles/index';
2
+ import type { AccordionIconTreatment, EyebrowTreatment, EventListTreatment, HeadingDecoration, HeadingDecorationOverride, TileTreatment } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { Media } from '../../lib/media';
4
4
  /**
5
5
  * Options for customizing a section styles field.
@@ -82,6 +82,7 @@ export type SectionStylesContent = {
82
82
  spacing?: string | null;
83
83
  minHeight?: 'none' | 'banner' | 'hero' | 'immersive' | null;
84
84
  tileTreatment?: TileTreatment | null;
85
+ eventListTreatment?: EventListTreatment | null;
85
86
  eyebrowTreatment?: EyebrowTreatment | null;
86
87
  headingDecoration?: HeadingDecoration | null;
87
88
  headingDecorationOverride?: HeadingDecorationOverride | null;
@@ -1,3 +1,7 @@
1
+ type FaqAccordionLayoutOptions = Readonly<{
2
+ rootClassName?: string;
3
+ }>;
4
+ export declare function createFaqAccordionLayout(options?: FaqAccordionLayoutOptions): import("../..").NodeDefinition;
1
5
  export declare const faqAccordionFragment: import("..").DefinedFragment<{
2
6
  readonly fields: readonly [{
3
7
  readonly id: "items";
@@ -26,3 +30,4 @@ export declare const faqAccordionFragment: import("..").DefinedFragment<{
26
30
  };
27
31
  }];
28
32
  }>;
33
+ export {};
@@ -210,5 +210,10 @@ export declare function validateFieldValue(plan: FieldValidationPlan, value: unk
210
210
  export declare function fieldPlanToZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
211
211
  export declare function resolveFieldValidationDescriptor(plans: readonly FieldValidationPlan[], path: FieldPath): FieldValidationDescriptor | null;
212
212
  export declare function validateManifestValues(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): FieldValidationIssue[];
213
+ export declare function isCanonicalEmailValue(value: string): boolean;
214
+ export declare function isCanonicalPhoneValue(value: string): boolean;
215
+ export declare function isCanonicalUrlValue(value: string, options?: Readonly<{
216
+ allowRelative?: boolean;
217
+ }>): boolean;
213
218
  export declare function isEmptyValue(value: unknown): boolean;
214
219
  export declare function isEmptyRichTextDoc(value: unknown): boolean;
@@ -189,8 +189,8 @@ declare const uiSchema: z.ZodObject<{
189
189
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
190
190
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
191
191
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
192
- content: "content";
193
192
  style: "style";
193
+ content: "content";
194
194
  display: "display";
195
195
  behavior: "behavior";
196
196
  }>>>;
@@ -362,8 +362,8 @@ declare const baseFieldSchema: z.ZodObject<{
362
362
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
363
363
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
364
364
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
365
- content: "content";
366
365
  style: "style";
366
+ content: "content";
367
367
  display: "display";
368
368
  behavior: "behavior";
369
369
  }>>>;
@@ -536,8 +536,8 @@ declare const textFieldSchema: z.ZodObject<{
536
536
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
537
537
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
538
538
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
539
- content: "content";
540
539
  style: "style";
540
+ content: "content";
541
541
  display: "display";
542
542
  behavior: "behavior";
543
543
  }>>>;
@@ -713,8 +713,8 @@ declare const richTextFieldSchema: z.ZodObject<{
713
713
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
714
714
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
715
715
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
716
- content: "content";
717
716
  style: "style";
717
+ content: "content";
718
718
  display: "display";
719
719
  behavior: "behavior";
720
720
  }>>>;
@@ -888,8 +888,8 @@ declare const mediaFieldSchema: z.ZodObject<{
888
888
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
889
889
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
890
890
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
891
- content: "content";
892
891
  style: "style";
892
+ content: "content";
893
893
  display: "display";
894
894
  behavior: "behavior";
895
895
  }>>>;
@@ -1072,8 +1072,8 @@ declare const fileFieldSchema: z.ZodObject<{
1072
1072
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1073
1073
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1074
1074
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1075
- content: "content";
1076
1075
  style: "style";
1076
+ content: "content";
1077
1077
  display: "display";
1078
1078
  behavior: "behavior";
1079
1079
  }>>>;
@@ -1253,8 +1253,8 @@ declare const booleanFieldSchema: z.ZodObject<{
1253
1253
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1254
1254
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1255
1255
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1256
- content: "content";
1257
1256
  style: "style";
1257
+ content: "content";
1258
1258
  display: "display";
1259
1259
  behavior: "behavior";
1260
1260
  }>>>;
@@ -1428,8 +1428,8 @@ declare const dateFieldSchema: z.ZodObject<{
1428
1428
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1429
1429
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1430
1430
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1431
- content: "content";
1432
1431
  style: "style";
1432
+ content: "content";
1433
1433
  display: "display";
1434
1434
  behavior: "behavior";
1435
1435
  }>>>;
@@ -1603,8 +1603,8 @@ declare const timeFieldSchema: z.ZodObject<{
1603
1603
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1604
1604
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1605
1605
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1606
- content: "content";
1607
1606
  style: "style";
1607
+ content: "content";
1608
1608
  display: "display";
1609
1609
  behavior: "behavior";
1610
1610
  }>>>;
@@ -1778,8 +1778,8 @@ declare const dateTimeFieldSchema: z.ZodObject<{
1778
1778
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1779
1779
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1780
1780
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1781
- content: "content";
1782
1781
  style: "style";
1782
+ content: "content";
1783
1783
  display: "display";
1784
1784
  behavior: "behavior";
1785
1785
  }>>>;
@@ -1953,8 +1953,8 @@ declare const slugFieldSchema: z.ZodObject<{
1953
1953
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
1954
1954
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
1955
1955
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1956
- content: "content";
1957
1956
  style: "style";
1957
+ content: "content";
1958
1958
  display: "display";
1959
1959
  behavior: "behavior";
1960
1960
  }>>>;
@@ -2131,8 +2131,8 @@ declare const urlFieldSchema: z.ZodObject<{
2131
2131
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2132
2132
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2133
2133
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2134
- content: "content";
2135
2134
  style: "style";
2135
+ content: "content";
2136
2136
  display: "display";
2137
2137
  behavior: "behavior";
2138
2138
  }>>>;
@@ -2307,8 +2307,8 @@ declare const linkFieldSchema: z.ZodObject<{
2307
2307
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2308
2308
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2309
2309
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2310
- content: "content";
2311
2310
  style: "style";
2311
+ content: "content";
2312
2312
  display: "display";
2313
2313
  behavior: "behavior";
2314
2314
  }>>>;
@@ -2482,8 +2482,8 @@ declare const selectFieldSchema: z.ZodObject<{
2482
2482
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2483
2483
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2484
2484
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2485
- content: "content";
2486
2485
  style: "style";
2486
+ content: "content";
2487
2487
  display: "display";
2488
2488
  behavior: "behavior";
2489
2489
  }>>>;
@@ -2676,8 +2676,8 @@ declare const referenceFieldSchema: z.ZodObject<{
2676
2676
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2677
2677
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2678
2678
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2679
- content: "content";
2680
2679
  style: "style";
2680
+ content: "content";
2681
2681
  display: "display";
2682
2682
  behavior: "behavior";
2683
2683
  }>>>;
@@ -2863,8 +2863,8 @@ declare const repeaterFieldSchema: z.ZodObject<{
2863
2863
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2864
2864
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
2865
2865
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
2866
- content: "content";
2867
2866
  style: "style";
2867
+ content: "content";
2868
2868
  display: "display";
2869
2869
  behavior: "behavior";
2870
2870
  }>>>;
@@ -3052,8 +3052,8 @@ declare const groupFieldSchema: z.ZodObject<{
3052
3052
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3053
3053
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3054
3054
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3055
- content: "content";
3056
3055
  style: "style";
3056
+ content: "content";
3057
3057
  display: "display";
3058
3058
  behavior: "behavior";
3059
3059
  }>>>;
@@ -3230,8 +3230,8 @@ declare const modalFieldSchema: z.ZodObject<{
3230
3230
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3231
3231
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3232
3232
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3233
- content: "content";
3234
3233
  style: "style";
3234
+ content: "content";
3235
3235
  display: "display";
3236
3236
  behavior: "behavior";
3237
3237
  }>>>;
@@ -3408,8 +3408,8 @@ declare const numberFieldSchema: z.ZodObject<{
3408
3408
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3409
3409
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3410
3410
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3411
- content: "content";
3412
3411
  style: "style";
3412
+ content: "content";
3413
3413
  display: "display";
3414
3414
  behavior: "behavior";
3415
3415
  }>>>;
@@ -3586,8 +3586,8 @@ declare const tabGroupFieldSchema: z.ZodObject<{
3586
3586
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3587
3587
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3588
3588
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3589
- content: "content";
3590
3589
  style: "style";
3590
+ content: "content";
3591
3591
  display: "display";
3592
3592
  behavior: "behavior";
3593
3593
  }>>>;
@@ -3774,8 +3774,8 @@ declare const presetOrCustomFieldSchema: z.ZodObject<{
3774
3774
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3775
3775
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3776
3776
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3777
- content: "content";
3778
3777
  style: "style";
3778
+ content: "content";
3779
3779
  display: "display";
3780
3780
  behavior: "behavior";
3781
3781
  }>>>;
@@ -3958,8 +3958,8 @@ declare const contentTypeSelectFieldSchema: z.ZodObject<{
3958
3958
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3959
3959
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
3960
3960
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3961
- content: "content";
3962
3961
  style: "style";
3962
+ content: "content";
3963
3963
  display: "display";
3964
3964
  behavior: "behavior";
3965
3965
  }>>>;
@@ -4138,8 +4138,8 @@ declare const entryPickerFieldSchema: z.ZodObject<{
4138
4138
  searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
4139
4139
  renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
4140
4140
  intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
4141
- content: "content";
4142
4141
  style: "style";
4142
+ content: "content";
4143
4143
  display: "display";
4144
4144
  behavior: "behavior";
4145
4145
  }>>>;
@@ -4296,23 +4296,23 @@ export declare const slotSchema: z.ZodObject<{
4296
4296
  export type SlotDefinition = z.infer<typeof slotSchema>;
4297
4297
  export declare const styleTokenSchema: z.ZodObject<{
4298
4298
  background: z.ZodOptional<z.ZodEnum<{
4299
+ surface: "surface";
4299
4300
  background: "background";
4300
4301
  muted: "muted";
4301
- surface: "surface";
4302
4302
  foreground: "foreground";
4303
4303
  accent: "accent";
4304
4304
  }>>;
4305
4305
  foreground: z.ZodOptional<z.ZodEnum<{
4306
+ surface: "surface";
4306
4307
  background: "background";
4307
4308
  muted: "muted";
4308
- surface: "surface";
4309
4309
  foreground: "foreground";
4310
4310
  accent: "accent";
4311
4311
  }>>;
4312
4312
  border: z.ZodOptional<z.ZodEnum<{
4313
+ surface: "surface";
4313
4314
  background: "background";
4314
4315
  muted: "muted";
4315
- surface: "surface";
4316
4316
  foreground: "foreground";
4317
4317
  accent: "accent";
4318
4318
  }>>;
@@ -4380,23 +4380,23 @@ export declare const manifestSchema: z.ZodObject<{
4380
4380
  }, z.core.$strip>>>;
4381
4381
  styleTokens: z.ZodOptional<z.ZodObject<{
4382
4382
  background: z.ZodOptional<z.ZodEnum<{
4383
+ surface: "surface";
4383
4384
  background: "background";
4384
4385
  muted: "muted";
4385
- surface: "surface";
4386
4386
  foreground: "foreground";
4387
4387
  accent: "accent";
4388
4388
  }>>;
4389
4389
  foreground: z.ZodOptional<z.ZodEnum<{
4390
+ surface: "surface";
4390
4391
  background: "background";
4391
4392
  muted: "muted";
4392
- surface: "surface";
4393
4393
  foreground: "foreground";
4394
4394
  accent: "accent";
4395
4395
  }>>;
4396
4396
  border: z.ZodOptional<z.ZodEnum<{
4397
+ surface: "surface";
4397
4398
  background: "background";
4398
4399
  muted: "muted";
4399
- surface: "surface";
4400
4400
  foreground: "foreground";
4401
4401
  accent: "accent";
4402
4402
  }>>;
@@ -0,0 +1,10 @@
1
+ import type { VisibleHeadingDecorationFamily, VisibleHeadingDecorationPlacement } from "../../../../../theme-core/src/site-styles/index";
2
+ import type { NodeDefinition } from "../schema";
3
+ type HeadingDecorationOptions = Readonly<{
4
+ bindFrom?: string;
5
+ family?: VisibleHeadingDecorationFamily;
6
+ placement: VisibleHeadingDecorationPlacement;
7
+ className?: string;
8
+ }>;
9
+ export declare function headingDecoration({ bindFrom, family, placement, className, }: HeadingDecorationOptions): NodeDefinition;
10
+ export {};
@@ -16,3 +16,4 @@ export * from './feedbackCallout';
16
16
  export * from './sectionState';
17
17
  export * from './classNameBinding';
18
18
  export * from './eyebrow';
19
+ export * from './headingDecoration';
@@ -63,6 +63,15 @@ export type StyledSectionConfig = {
63
63
  * Browser fetch priority hint for the automatic background image layer.
64
64
  */
65
65
  backgroundImageFetchPriority?: MediaImageFetchPriority;
66
+ /**
67
+ * Force section overflow visible instead of deriving it from the background.
68
+ *
69
+ * Useful for layouts with animated foreground elements where no clipped
70
+ * section background image is being rendered.
71
+ *
72
+ * @default false
73
+ */
74
+ allowOverflow?: boolean;
66
75
  /**
67
76
  * Optional path to a boolean flag in block content that should trigger
68
77
  * full-width section behavior (removing horizontal `rb-px-*` classes).
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Factory function for creating a typed API client for block client-side API calls.
5
5
  */
6
- import type { BlockApiConfig, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, EligibilityCheckRequest, EligibilityCheckResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, CourseEnrollRequest, CourseEnrollResponse, CourseEligibilityCheckRequest, CourseEligibilityCheckResponse, CourseCheckoutRequest, CourseCheckoutResponse, CourseRegistrationStatusRequest, CourseRegistrationStatusResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerCourseEnrollment, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
6
+ import type { BlockApiConfig, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, EligibilityCheckRequest, EligibilityCheckResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, CourseEnrollRequest, CourseEnrollResponse, CourseEligibilityCheckRequest, CourseEligibilityCheckResponse, CourseCheckoutRequest, CourseCheckoutResponse, CourseRegistrationStatusRequest, CourseRegistrationStatusResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyRequest, DiscountApplyResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerCourseEnrollment, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
7
7
  type PublicProductCategorySelector = Readonly<{
8
8
  kind: 'category';
9
9
  productCategoryId: string;
@@ -53,10 +53,11 @@ export interface BlockApiClient {
53
53
  createCourseCheckout(data: Omit<CourseCheckoutRequest, 'siteId'>): Promise<CourseCheckoutResponse>;
54
54
  getCourseRegistrationStatus(params: Omit<CourseRegistrationStatusRequest, 'siteId'>): Promise<CourseRegistrationStatusResponse>;
55
55
  getDiscountsAvailable(data: Omit<DiscountsAvailableRequest, 'siteId'>): Promise<DiscountsAvailableResponse>;
56
+ applyDiscountCode(data: Omit<DiscountApplyRequest, 'siteId'>): Promise<DiscountApplyResponse>;
56
57
  getPublicProducts(params?: {
57
58
  categorySelector?: PublicProductCategorySelector;
58
59
  }): Promise<PublicProductsResponse>;
59
- createShopCheckout(data: Omit<ShopCheckoutRequest, 'siteId'>): Promise<ShopCheckoutResponse | ShopDuplicateMembershipWarning>;
60
+ createShopCheckout(data: Omit<ShopCheckoutRequest, 'siteId'>): Promise<ShopCheckoutResponse>;
60
61
  createUnifiedCheckout(data: Omit<UnifiedCheckoutRequest, 'siteId'>): Promise<UnifiedCheckoutResponse>;
61
62
  getPublicGiftingOffers(): Promise<PublicGiftingOffersResponse>;
62
63
  createGiftingCheckout(data: Omit<CreateGiftingCheckoutRequest, 'siteId'>): Promise<CreateGiftingCheckoutResponse>;
@@ -161,6 +161,10 @@ export declare const DISCOUNTS: {
161
161
  path: string;
162
162
  method: "POST";
163
163
  };
164
+ apply: {
165
+ path: string;
166
+ method: "POST";
167
+ };
164
168
  };
165
169
  export declare const NEWSLETTER: {
166
170
  subscribe: {
@@ -485,6 +489,10 @@ export declare const ENDPOINTS: {
485
489
  path: string;
486
490
  method: "POST";
487
491
  };
492
+ apply: {
493
+ path: string;
494
+ method: "POST";
495
+ };
488
496
  };
489
497
  readonly newsletter: {
490
498
  subscribe: {
@@ -43,7 +43,7 @@ export { createBlockApi, BlockApiError } from './client';
43
43
  export type { BlockApiClient } from './client';
44
44
  export { BlockApiProvider, useBlockApi, useBlockApiOptional } from './context';
45
45
  export type { BlockApiProviderProps } from './context';
46
- export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, PaymentMethod, EligibilityCheckRequest, EligibilityCheckResponse, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, CoursePaymentMethod, CourseEnrollRequest, CourseEnrollResponse, CourseEnrollSuccessResponse, CourseWaitlistResponse, CourseCheckoutRequest, CourseCheckoutResponse, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerCourseEnrollment, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalCourseBookingQuestionsResponse, PortalCreateCourseBookingQuestionsUploadUrlRequest, PortalCreateCourseBookingQuestionsUploadUrlResponse, PortalFinalizeCourseBookingQuestionsUploadRequest, PortalFinalizeCourseBookingQuestionsUploadResponse, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
46
+ export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, PaymentMethod, EligibilityCheckRequest, EligibilityCheckResponse, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, CoursePaymentMethod, CourseEnrollRequest, CourseEnrollResponse, CourseEnrollSuccessResponse, CourseWaitlistResponse, CourseCheckoutRequest, CourseCheckoutResponse, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerCourseEnrollment, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalCourseBookingQuestionsResponse, PortalCreateCourseBookingQuestionsUploadUrlRequest, PortalCreateCourseBookingQuestionsUploadUrlResponse, PortalFinalizeCourseBookingQuestionsUploadRequest, PortalFinalizeCourseBookingQuestionsUploadResponse, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
47
47
  export type { BookingQuestionsDocumentAnswerValue } from '../../../portal/types';
48
48
  export { deriveCreditProductLabels, getCreditProductCreditUnit, getCreditProductTypeLabel, getPortalCreditProductCreditNoun, } from './creditProducts';
49
49
  export type { CreditProductCreditUnit, CreditProductLabelStyle, CreditProductSource, CreditProductUseCase, DerivedCreditProductLabels, EnabledCreditProductModules, } from './creditProducts';
@@ -590,6 +590,10 @@ export type DiscountContext = {
590
590
  } | {
591
591
  type: "membership";
592
592
  membershipId: string;
593
+ } | {
594
+ type: "product";
595
+ productId: string;
596
+ productCategoryId: string | null;
593
597
  };
594
598
  export interface DiscountsAvailableRequest {
595
599
  siteId: string;
@@ -611,6 +615,32 @@ export interface DiscountsAvailableResponse {
611
615
  manualCodeEntryAllowed: boolean;
612
616
  autoAppliedDiscount: AutoAppliedDiscountPreview | null;
613
617
  }
618
+ export interface DiscountApplyLine {
619
+ context: DiscountContext;
620
+ subtotalCents: number;
621
+ currency: string;
622
+ }
623
+ export interface DiscountApplyRequest {
624
+ siteId: string;
625
+ discountCode: string;
626
+ customerEmail: string;
627
+ lines: DiscountApplyLine[];
628
+ }
629
+ export type DiscountApplyRejectedReason = "invalid_or_not_applicable" | "unavailable" | "unknown";
630
+ export type DiscountApplyResponse = {
631
+ type: "applied";
632
+ code: string;
633
+ publicLabel: string;
634
+ description: string | null;
635
+ discountCents: number;
636
+ subtotalCents: number;
637
+ totalAfterDiscountCents: number;
638
+ currency: string;
639
+ } | {
640
+ type: "rejected";
641
+ reason: DiscountApplyRejectedReason;
642
+ message: string;
643
+ };
614
644
  export interface CourseRegistrationStatusRequest {
615
645
  siteId: string;
616
646
  sessionId: string;
@@ -675,20 +705,25 @@ export interface ShopCheckoutRequest {
675
705
  cancelUrl: string;
676
706
  confirmDuplicate?: boolean;
677
707
  }
678
- export interface ShopCheckoutResponse {
679
- checkoutUrl: string | null;
680
- sessionId: string | null;
681
- bypassed: boolean;
682
- }
683
- export interface ShopDuplicateMembershipWarning {
684
- warning: "duplicate_membership";
708
+ export type ShopCheckoutResponse = {
709
+ type: "redirect";
710
+ checkoutUrl: string;
711
+ sessionId: string;
712
+ } | {
713
+ type: "bypassed";
714
+ sessionId: null;
715
+ } | {
716
+ type: "duplicate_membership_warning";
685
717
  message: string;
686
718
  existingMembership: {
687
719
  id: string;
688
720
  name: string;
689
721
  expiresAt: string | null;
690
722
  };
691
- }
723
+ };
724
+ export type ShopDuplicateMembershipWarning = Extract<ShopCheckoutResponse, {
725
+ type: "duplicate_membership_warning";
726
+ }>;
692
727
  export type UnifiedCheckoutItem = {
693
728
  type: "course_enrollment";
694
729
  courseId: string;
@@ -0,0 +1,28 @@
1
+ import { type FieldValidationIssue } from '../../../manifest/fieldValidation';
2
+ import type { StepValidationResult } from './types';
3
+ import type { FormField } from './DynamicFormFields';
4
+ type RuntimeSpecificFormValidationIssue = Readonly<{
5
+ kind: 'tooShort';
6
+ fieldId: string;
7
+ label: string;
8
+ minimum: number;
9
+ }>;
10
+ export type RuntimeFormValidationIssue = Readonly<{
11
+ kind: 'canonical';
12
+ issue: FieldValidationIssue;
13
+ }> | RuntimeSpecificFormValidationIssue;
14
+ export type RuntimeFormValidationResult = Readonly<{
15
+ valid: true;
16
+ issues: readonly [];
17
+ }> | Readonly<{
18
+ valid: false;
19
+ issues: readonly RuntimeFormValidationIssue[];
20
+ }>;
21
+ export declare function validateRuntimeFormField(field: FormField, value: unknown): RuntimeFormValidationResult;
22
+ export declare function getRuntimeFormFieldError(field: FormField, value: unknown): string | null;
23
+ export declare function validateRuntimeFormFields(fields: readonly FormField[], data: Readonly<Record<string, unknown>>): StepValidationResult;
24
+ export declare function listRuntimeFormValidationIssues(field: FormField, value: unknown): readonly RuntimeFormValidationIssue[];
25
+ export declare function runtimeFormIssueToMessage(issue: RuntimeFormValidationIssue): string;
26
+ export declare function isRuntimeFormValueMissing(field: FormField, value: unknown): boolean;
27
+ export declare function coerceRuntimeNumberValue(value: unknown): number | null;
28
+ export {};
@@ -4,13 +4,7 @@
4
4
  * This module contains constants and functions used by both the server-side
5
5
  * and client-side header section components to avoid code duplication.
6
6
  */
7
- /**
8
- * Classes that belong on the outer nav wrapper (positioning/z-index),
9
- * not on the inner Section (content styling).
10
- *
11
- * CSS position: sticky/fixed must be on the outermost element to work
12
- * correctly relative to the page scroll container.
13
- */
7
+ import type React from 'react';
14
8
  export declare const POSITIONING_CLASSES: readonly ["rb-sticky", "rb-fixed", "rb-absolute", "rb-relative", "rb-top-0", "rb-left-0", "rb-right-0", "rb-bottom-0", "rb-z-40", "rb-z-50"];
15
9
  export { desktopOnlyDisplay, mobileOnlyDisplay, type ResponsiveDisplay, } from '../../../../../theme-core/src/responsiveDisplay';
16
10
  /**
@@ -23,3 +17,10 @@ export declare function splitPositioningClasses(className: string | undefined):
23
17
  wrapperClasses: string;
24
18
  sectionClasses: string;
25
19
  };
20
+ export declare function composeHeaderSectionWrapperClassName(input: Readonly<{
21
+ wrapperClasses: string;
22
+ previewSiteChromeSurface?: string | null;
23
+ }>): string;
24
+ export declare const EDITABLE_SURFACE_FORWARDING_PROP: "forwardsSiteChromeEditableSurface";
25
+ export type EditableSurfaceForwardingComponent<TProps = unknown> = React.ComponentType<TProps> & Record<typeof EDITABLE_SURFACE_FORWARDING_PROP, true>;
26
+ export declare function markEditableSurfaceForwarding<TProps>(component: React.ComponentType<TProps>): EditableSurfaceForwardingComponent<TProps>;
@@ -8,10 +8,7 @@ type EventCompactRowProps = {
8
8
  /**
9
9
  * EventCompactRow Component
10
10
  *
11
- * Dense two-line row for compact event list display.
12
- * Top line: title + date/time
13
- * Bottom line: venue + price
14
- * CTA button on the right, vertically centered.
11
+ * Editorial compact event row with a date rail, event details, and action rail.
15
12
  *
16
13
  * Server-safe (no client-only APIs).
17
14
  */