@riverbankcms/sdk 0.95.0 → 0.98.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 (235) hide show
  1. package/README.md +47 -5
  2. package/dist/{PreviewEditorSidebar-6FQYKOSB.mjs → PreviewEditorSidebar-CG3SSJND.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-NPO2XMFB.mjs → PreviewEditorUI-RHNGKAAU.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-OV5PNJBB.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
  6. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
  7. package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
  8. package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
  9. package/dist/_dts/api/src/endpoints.d.ts +80 -0
  10. package/dist/_dts/api/src/index.d.ts +3 -2
  11. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  12. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  14. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
  16. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  17. package/dist/_dts/block-form/src/fields/types.d.ts +9 -1
  18. package/dist/_dts/block-form/src/registry/schemas.d.ts +4 -0
  19. package/dist/_dts/block-form/src/registry/widgets.d.ts +1 -0
  20. package/dist/_dts/block-form/src/widgets/InlineTextField/InlineTextField.d.ts +4 -0
  21. package/dist/_dts/block-form/src/widgets/InlineTextField/index.d.ts +3 -0
  22. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldDefaults.d.ts +2 -0
  23. package/dist/_dts/block-form/src/widgets/InlineTextField/inlineTextFieldSchema.d.ts +3 -0
  24. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -1
  25. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/bindings/types.d.ts +1 -4
  27. package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
  28. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  29. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
  30. package/dist/_dts/blocks/src/index.d.ts +2 -0
  31. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
  32. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -29631
  33. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -29614
  34. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -29634
  35. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -29627
  36. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -29585
  37. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
  39. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -29677
  40. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -29655
  41. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +220 -0
  43. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -29655
  44. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -29685
  45. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -29761
  46. package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
  47. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  49. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
  52. package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/inlineText.d.ts +78 -0
  54. package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -1
  55. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +15 -3
  56. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +188 -7
  57. package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
  58. package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
  59. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  63. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
  64. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
  65. package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
  66. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
  68. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
  73. package/dist/_dts/blocks/src/system/runtime/nodes/renderInlineText.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
  79. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
  80. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
  81. package/dist/_dts/blocks/src/utils/date-formatting.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  83. package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +9 -0
  84. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
  85. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
  86. package/dist/_dts/content-model/src/templates/defaults.d.ts +30 -0
  87. package/dist/_dts/content-model/src/templates/types.d.ts +3 -6
  88. package/dist/_dts/core/src/branded.d.ts +8 -0
  89. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +505 -2
  90. package/dist/_dts/editor/src/inline/FloatingToolbar.d.ts +18 -0
  91. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +18 -1
  92. package/dist/_dts/editor/src/inline/InlineTextEditorStyles.d.ts +1 -0
  93. package/dist/_dts/editor/src/inline/domParse.d.ts +3 -0
  94. package/dist/_dts/editor/src/inline/presentation.d.ts +48 -0
  95. package/dist/_dts/editor/src/inline/selection.d.ts +12 -0
  96. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  97. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +3 -0
  98. package/dist/_dts/editor-blocks/src/widgets/inline-text/index.d.ts +1 -0
  99. package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
  100. package/dist/_dts/path-utils/src/index.d.ts +1 -0
  101. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  102. package/dist/_dts/sdk/src/cli/commands/content.d.ts +56 -0
  103. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +4 -0
  104. package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
  105. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +4 -7
  106. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
  107. package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
  108. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +56 -0
  109. package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
  110. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  111. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
  112. package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
  113. package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +2 -0
  114. package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +14 -0
  115. package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +46 -0
  116. package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +4 -0
  117. package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
  118. package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
  119. package/dist/_dts/sdk/src/cli/content/writer.d.ts +8 -4
  120. package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
  121. package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
  122. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
  123. package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +22 -0
  124. package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +3 -0
  125. package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +78 -0
  126. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +36 -0
  127. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +23 -0
  128. package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +29 -0
  129. package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +48 -0
  130. package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
  131. package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
  132. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
  133. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +3 -6
  134. package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +39 -0
  135. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -0
  136. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
  137. package/dist/_dts/sdk/src/client/types.d.ts +18 -2
  138. package/dist/_dts/sdk/src/config/field-definitions.d.ts +8 -3
  139. package/dist/_dts/sdk/src/config/typed-entries.d.ts +5 -3
  140. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  141. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  142. package/dist/_dts/sdk/src/contracts/bindings.d.ts +4 -7
  143. package/dist/_dts/sdk/src/contracts/content.d.ts +18 -0
  144. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  145. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +16 -2
  146. package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
  147. package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
  148. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  149. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -3
  150. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +52 -1
  151. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
  152. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
  153. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  154. package/dist/_dts/sdk/src/version.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  156. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  157. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  158. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  160. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +42 -42
  161. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -2
  162. package/dist/_dts/theme-core/src/schema.d.ts +44 -44
  163. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  164. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +16 -16
  165. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  166. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  167. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  168. package/dist/{chunk-4A6NWO3X.mjs → chunk-6WDBXCPX.mjs} +73 -12
  169. package/dist/{chunk-VZBSD4AJ.mjs → chunk-DBRI3PQF.mjs} +2281 -322
  170. package/dist/{chunk-PJPFTVZG.mjs → chunk-H24OU7WG.mjs} +106 -4
  171. package/dist/{chunk-K2SJTZMX.mjs → chunk-PKDPQHB5.mjs} +2 -2
  172. package/dist/{chunk-VTPPVAOL.mjs → chunk-QPXE2OUZ.mjs} +1 -1
  173. package/dist/{chunk-7ED5UNHL.mjs → chunk-V2BYFSPW.mjs} +109 -0
  174. package/dist/cli/index.mjs +4182 -1165
  175. package/dist/cli/init-docs/content/cli-reference.md +72 -5
  176. package/dist/cli/init-docs/content/content-management.md +22 -0
  177. package/dist/cli/init-docs/content/getting-started.md +8 -0
  178. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
  179. package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
  180. package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
  181. package/dist/client/{accordion-LGO4IO5U.mjs → accordion-Q2BDNL53.mjs} +1 -1
  182. package/dist/client/{bookingForm-MWLS4LGU.mjs → bookingForm-ZMP4P7EK.mjs} +16 -6
  183. package/dist/client/bookings.mjs +98 -18
  184. package/dist/client/{carousel-6AHNP5HA.mjs → carousel-LW3UXPWO.mjs} +1 -1
  185. package/dist/client/{cart-CIXGYAZB.mjs → cart-Z6D3KS6K.mjs} +5 -5
  186. package/dist/client/{checkout-OTX6O3DN.mjs → checkout-YMT2QJQM.mjs} +5 -5
  187. package/dist/client/{chunk-Y2PMKCXO.mjs → chunk-26ZBRXFR.mjs} +9 -3
  188. package/dist/client/{chunk-MYCXAKWP.mjs → chunk-DRRQ7QSL.mjs} +2 -2
  189. package/dist/client/{chunk-TREIML53.mjs → chunk-ET2MDQQT.mjs} +4 -4
  190. package/dist/client/{chunk-AVBQSUIS.mjs → chunk-HBQEAOG4.mjs} +1 -1
  191. package/dist/client/{chunk-INRIT6DP.mjs → chunk-IEOECM7U.mjs} +62 -43
  192. package/dist/client/{chunk-TNGL2WJF.mjs → chunk-KDP7ZRZV.mjs} +16 -0
  193. package/dist/client/{chunk-V67AT7ZW.mjs → chunk-R4XK3CKR.mjs} +18 -1
  194. package/dist/client/{chunk-R3NQTBWE.mjs → chunk-SK2BMD22.mjs} +2 -2
  195. package/dist/client/{chunk-HOP7MKAZ.mjs → chunk-XNTHVZ25.mjs} +1 -1
  196. package/dist/client/client.mjs +5172 -4177
  197. package/dist/client/{courseRegistration-2LU6C3JL.mjs → courseRegistration-DGKCMC77.mjs} +4 -4
  198. package/dist/client/{eventCalendar-OKUSISBZ.mjs → eventCalendar-74Z2NNFM.mjs} +7 -7
  199. package/dist/client/{eventCombined-CMF6CD4S.mjs → eventCombined-GK2ODOX2.mjs} +7 -7
  200. package/dist/client/{eventDetails-XYWH7WXI.mjs → eventDetails-MONAGT3N.mjs} +7 -7
  201. package/dist/client/{eventListing-EK5DJTAH.mjs → eventListing-SKGAO6PS.mjs} +7 -7
  202. package/dist/client/{eventRegistration-XDOSICV6.mjs → eventRegistration-6KISGXRD.mjs} +7 -7
  203. package/dist/client/{form-J6GOHKYG.mjs → form-FXPRTXHI.mjs} +2 -2
  204. package/dist/client/{headerSection-C5SYJTRW.mjs → headerSection-7NAN5WNB.mjs} +2 -2
  205. package/dist/client/hooks.mjs +1681 -1337
  206. package/dist/client/{locationMap-QSQIFVVT.mjs → locationMap-UERN74U4.mjs} +2 -2
  207. package/dist/client/{newsletterForm-47VXJRWK.mjs → newsletterForm-SGWXMJ7U.mjs} +2 -2
  208. package/dist/client/{productDetail-5U6ISCC2.mjs → productDetail-HN3HWZQZ.mjs} +5 -5
  209. package/dist/client/{productList-XDZUMR3P.mjs → productList-YT22Z5UR.mjs} +5 -5
  210. package/dist/client/rendering/client.mjs +4796 -4288
  211. package/dist/client/rendering/islands.mjs +18 -18
  212. package/dist/client/rendering.mjs +2120 -1106
  213. package/dist/client/{shop-ZSZKIY3R.mjs → shop-TKEDNWUS.mjs} +5 -5
  214. package/dist/preview-next/before-render.mjs +109 -0
  215. package/dist/preview-next/client/runtime.mjs +5 -5
  216. package/dist/preview-next/middleware.mjs +109 -0
  217. package/dist/{sdk-runtime-PHNM7MRD.mjs → sdk-runtime-LWNYCQF2.mjs} +6 -6
  218. package/dist/server/components.mjs +3777 -2981
  219. package/dist/server/config-template-validation.mjs +35 -22
  220. package/dist/server/config-validation.mjs +1883 -1565
  221. package/dist/server/config.mjs +1883 -1565
  222. package/dist/server/data.mjs +1667 -1334
  223. package/dist/server/index.mjs +208 -9
  224. package/dist/server/next/middleware.mjs +2 -2
  225. package/dist/server/next.mjs +4077 -3060
  226. package/dist/server/page-converter.mjs +1481 -1279
  227. package/dist/server/prebuild.mjs +1 -1
  228. package/dist/server/rendering/server.mjs +3806 -2993
  229. package/dist/server/rendering.mjs +4000 -3060
  230. package/dist/server/routing.mjs +1737 -1357
  231. package/dist/server/server.mjs +2918 -2276
  232. package/dist/server/theme-bridge.mjs +43 -0
  233. package/dist/styles/index.css +44 -0
  234. package/package.json +1 -1
  235. package/dist/SdkPreviewModeRuntime-PBEFH5AL.mjs +0 -8
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import type { SystemBlockDefinition } from "../registry";
3
+ import { type SectionStylesContent } from "../fields/boxStyles";
4
+ import type { BlockManifest } from "../manifest";
5
+ export declare const weeklySlotAvailabilityManifest: BlockManifest;
6
+ export type WeeklySlotAvailabilityContent = {
7
+ serviceId: string;
8
+ resourceId?: string | null;
9
+ horizonWeeks?: string | null;
10
+ timezone?: string | null;
11
+ heading?: string | null;
12
+ description?: unknown;
13
+ emptyMessage?: string | null;
14
+ ctaText?: string | null;
15
+ ctaUrl?: string | null;
16
+ _sectionStyles?: SectionStylesContent;
17
+ };
18
+ export declare const weeklySlotAvailabilityDataSchema: z.ZodObject<{
19
+ slots: z.ZodArray<z.ZodObject<{
20
+ id: z.ZodString;
21
+ resourceId: z.ZodString;
22
+ weekday: z.ZodNumber;
23
+ weekdayLabel: z.ZodString;
24
+ startTime: z.ZodString;
25
+ endTime: z.ZodString;
26
+ nextDate: z.ZodString;
27
+ availableWeeks: z.ZodNumber;
28
+ }, z.core.$strip>>;
29
+ horizonWeeks: z.ZodNumber;
30
+ timezone: z.ZodString;
31
+ startDate: z.ZodString;
32
+ endDate: z.ZodString;
33
+ }, z.core.$strip>;
34
+ export declare const weeklySlotAvailabilityBlockDefinition: SystemBlockDefinition<WeeklySlotAvailabilityContent>;
@@ -13,6 +13,7 @@ type RenderOptions = {
13
13
  data?: Record<string, unknown>;
14
14
  pathBase?: string;
15
15
  imageResolveContext?: Parameters<typeof resolveTree>[1]["imageResolveContext"];
16
+ previewAuthoring?: Parameters<typeof resolveTree>[1]["previewAuthoring"];
16
17
  };
17
18
  /**
18
19
  * Resolves the layout definition for a block based on its manifest and content.
@@ -1,4 +1,4 @@
1
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
1
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
2
2
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
3
3
  export type CustomBlockKind = `custom.${string}`;
4
4
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -27,7 +27,7 @@ export declare const eventCalendarListLayoutFacet: {
27
27
  readonly label: "List style";
28
28
  readonly values: {
29
29
  value: "compact" | "grid" | "stack";
30
- label: "Compact" | "Stack" | "Grid";
30
+ label: "Stack" | "Grid" | "Compact";
31
31
  }[];
32
32
  readonly defaultValue: "stack";
33
33
  readonly target: {
@@ -41,7 +41,7 @@ export declare const systemCustomizeFacetDefinitions: readonly [{
41
41
  readonly label: "List style";
42
42
  readonly values: {
43
43
  value: "compact" | "grid" | "stack";
44
- label: "Compact" | "Stack" | "Grid";
44
+ label: "Stack" | "Grid" | "Compact";
45
45
  }[];
46
46
  readonly defaultValue: "stack";
47
47
  readonly target: {
@@ -1,3 +1,3 @@
1
- export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices"];
1
+ export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
2
2
  export type SupportedLoaderEndpoint = typeof SUPPORTED_LOADER_ENDPOINTS[number];
3
3
  export declare function isSupportedLoaderEndpoint(endpoint: string): endpoint is SupportedLoaderEndpoint;
@@ -8,7 +8,8 @@
8
8
  * - Frontend: provide internal API client
9
9
  * - SDK: provide SDK client with endpoint mapping
10
10
  */
11
- import { type BlockDataLoader } from '../registry';
11
+ import { getBlockDefinition as getSystemBlockDefinition, type BlockDataLoader } from '../registry';
12
+ import { resolveParamsBindings as resolveRuntimeParamsBindings } from '../runtime/bindings';
12
13
  import type { PageOutline } from '../../structure/schema';
13
14
  import type { ApiClient, PrefetchContext, ResolvedBlockData } from './types';
14
15
  export type PrefetchBlockDataOptions = {
@@ -40,6 +41,8 @@ export type PrefetchBlockDataOptions = {
40
41
  * @returns Record of data loaders, or undefined if not a custom block
41
42
  */
42
43
  getCustomBlockLoaders?: (blockKind: string) => Record<string, BlockDataLoader> | undefined;
44
+ getBlockDefinition?: typeof getSystemBlockDefinition;
45
+ resolveParamsBindings?: typeof resolveRuntimeParamsBindings;
43
46
  };
44
47
  /**
45
48
  * Core data prefetching logic (framework-agnostic).
@@ -9,8 +9,17 @@ export declare const heroCopyFragment: import("..").DefinedFragment<{
9
9
  readonly id: "headline";
10
10
  readonly type: "text";
11
11
  readonly label: "Headline";
12
+ readonly maxLength: 120;
13
+ readonly ui: {
14
+ readonly hidden: true;
15
+ };
16
+ }, {
17
+ readonly id: "headlineInline";
18
+ readonly type: "inlineText";
19
+ readonly label: "Headline";
12
20
  readonly required: true;
13
21
  readonly maxLength: 120;
22
+ readonly plainTextField: "headline";
14
23
  }, {
15
24
  readonly id: "subheadline";
16
25
  readonly type: "text";
@@ -0,0 +1,78 @@
1
+ import { z } from 'zod';
2
+ export declare const inlineTextAccentTones: readonly ["accent", "brand", "contrast"];
3
+ export declare const inlineTextHighlightTones: readonly ["soft", "accent", "brand"];
4
+ export type InlineTextAccentTone = (typeof inlineTextAccentTones)[number];
5
+ export type InlineTextHighlightTone = (typeof inlineTextHighlightTones)[number];
6
+ export type InlineTextMark = Readonly<{
7
+ kind: 'strong';
8
+ }> | Readonly<{
9
+ kind: 'emphasis';
10
+ }> | Readonly<{
11
+ kind: 'accent';
12
+ tone: InlineTextAccentTone;
13
+ }> | Readonly<{
14
+ kind: 'highlight';
15
+ tone: InlineTextHighlightTone;
16
+ }>;
17
+ export type InlineTextRun = Readonly<{
18
+ text: string;
19
+ marks?: readonly InlineTextMark[];
20
+ }>;
21
+ export type InlineText = readonly InlineTextRun[];
22
+ export type InlineTextParseError = Readonly<{
23
+ kind: 'not-array';
24
+ }> | Readonly<{
25
+ kind: 'invalid-run';
26
+ index: number;
27
+ }>;
28
+ export type InlineTextParseResult = Readonly<{
29
+ ok: true;
30
+ value: InlineText;
31
+ }> | Readonly<{
32
+ ok: false;
33
+ error: InlineTextParseError;
34
+ }>;
35
+ export declare const inlineTextSchema: z.ZodArray<z.ZodObject<{
36
+ text: z.ZodString;
37
+ marks: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
38
+ kind: z.ZodLiteral<"strong">;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ kind: z.ZodLiteral<"emphasis">;
41
+ }, z.core.$strip>, z.ZodObject<{
42
+ kind: z.ZodLiteral<"accent">;
43
+ tone: z.ZodEnum<{
44
+ accent: "accent";
45
+ brand: "brand";
46
+ contrast: "contrast";
47
+ }>;
48
+ }, z.core.$strip>, z.ZodObject<{
49
+ kind: z.ZodLiteral<"highlight">;
50
+ tone: z.ZodEnum<{
51
+ accent: "accent";
52
+ brand: "brand";
53
+ soft: "soft";
54
+ }>;
55
+ }, z.core.$strip>], "kind">>>;
56
+ }, z.core.$strip>>;
57
+ export declare function plainTextToInlineText(value: string): InlineText;
58
+ export declare function inlineTextToPlainText(value: InlineText): string;
59
+ export declare function isInlineTextEmpty(value: InlineText): boolean;
60
+ export declare function coerceInlineTextWithFallback(value: unknown, fallbackPlainText: string | null | undefined): InlineText;
61
+ export declare function parseInlineTextFromUnknown(value: unknown): InlineTextParseResult;
62
+ export declare function normalizeInlineText(value: InlineText): InlineText;
63
+ export declare function normalizeInlineTextMarks(marks: readonly InlineTextMark[]): readonly InlineTextMark[];
64
+ export declare function inlineTextMarksEqual(left: readonly InlineTextMark[], right: readonly InlineTextMark[]): boolean;
65
+ export declare function inlineTextEqual(left: InlineText, right: InlineText): boolean;
66
+ export declare function applyInlineTextMarkToRange(value: InlineText, range: Readonly<{
67
+ start: number;
68
+ end: number;
69
+ }>, mark: InlineTextMark): InlineText;
70
+ export declare function removeInlineTextMarkFromRange(value: InlineText, range: Readonly<{
71
+ start: number;
72
+ end: number;
73
+ }>, kind: InlineTextMark['kind']): InlineText;
74
+ export declare function replaceInlineTextRange(value: InlineText, range: Readonly<{
75
+ start: number;
76
+ end: number;
77
+ }>, replacement: InlineText): InlineText;
78
+ export declare function truncateInlineText(value: InlineText, maxLength: number | undefined): InlineText;
@@ -35,6 +35,7 @@ import type { BlockConfigInputOf } from '../defineBlock';
35
35
  import type { FragmentConfigInputOf } from '../fragments';
36
36
  import type { ContainerStylesContent, SectionStylesContent, CardStylesContent } from '../fields/boxStyles';
37
37
  import type { LinkValue } from '../types/link';
38
+ import type { InlineText } from '../inlineText';
38
39
  import type { RichTextDoc } from './richTextSchema';
39
40
  /**
40
41
  * Structural minimum a manifest field must satisfy for derivation. The full
@@ -67,6 +68,7 @@ export interface DerivableField {
67
68
  /** Repeater item groups with this flag are flattened at runtime. */
68
69
  ui?: {
69
70
  flattenInRepeater?: boolean;
71
+ hidden?: boolean;
70
72
  };
71
73
  /** Phantom marker carried by style field factories. */
72
74
  readonly __boxStyleType?: 'section' | 'container' | 'card';
@@ -98,7 +100,7 @@ type FieldToValue<F extends DerivableField> = F extends {
98
100
  readonly __boxStyleType?: 'container';
99
101
  } ? ContainerStylesContent : F extends {
100
102
  readonly __boxStyleType?: 'card';
101
- } ? CardStylesContent : F['type'] extends 'text' | 'slug' | 'url' | 'reference' | 'date' | 'time' | 'datetime' ? string : F['type'] extends 'number' ? number : F['type'] extends 'boolean' ? boolean : F['type'] extends 'richText' ? RichTextDoc : F['type'] extends 'media' | 'file' ? Media : F['type'] extends 'link' ? LinkValue : F['type'] extends 'select' ? SelectValue<F> : F['type'] extends 'group' | 'modal' | 'tabGroup' ? CompositeValue<F> : F['type'] extends 'repeater' ? ReadonlyArray<RepeaterItemValue<F>> : F['type'] extends 'presetOrCustom' | 'contentTypeSelect' | 'entryPicker' ? unknown : never;
103
+ } ? CardStylesContent : F['type'] extends 'text' | 'slug' | 'url' | 'reference' | 'date' | 'time' | 'datetime' ? string : F['type'] extends 'number' ? number : F['type'] extends 'boolean' ? boolean : F['type'] extends 'richText' ? RichTextDoc : F['type'] extends 'inlineText' ? InlineText : F['type'] extends 'media' | 'file' ? Media : F['type'] extends 'link' ? LinkValue : F['type'] extends 'select' ? SelectValue<F> : F['type'] extends 'group' | 'modal' | 'tabGroup' ? CompositeValue<F> : F['type'] extends 'repeater' ? ReadonlyArray<RepeaterItemValue<F>> : F['type'] extends 'presetOrCustom' | 'contentTypeSelect' | 'entryPicker' ? unknown : never;
102
104
  /**
103
105
  * Select-field value type.
104
106
  *
@@ -85,6 +85,13 @@ type MaxItemsConstraint = Readonly<{
85
85
  type RichTextDocConstraint = Readonly<{
86
86
  kind: "richTextDoc";
87
87
  }>;
88
+ type InlineTextConstraint = Readonly<{
89
+ kind: "inlineText";
90
+ }>;
91
+ type MaxPlainTextLengthConstraint = Readonly<{
92
+ kind: "maxPlainTextLength";
93
+ maximum: number;
94
+ }>;
88
95
  type MediaObjectConstraint = Readonly<{
89
96
  kind: "mediaObject";
90
97
  }>;
@@ -101,9 +108,10 @@ type StringConstraint = RequiredConstraint | TextTypeConstraint | MaxLengthConst
101
108
  type NumberConstraint = RequiredConstraint | NumberTypeConstraint | NumberMinConstraint | NumberMaxConstraint;
102
109
  type SelectConstraint = RequiredConstraint | SelectOptionConstraint;
103
110
  type ArrayConstraint = RequiredConstraint | ArrayTypeConstraint | MinItemsConstraint | MaxItemsConstraint;
111
+ type InlineTextPlanConstraint = RequiredConstraint | InlineTextConstraint | MaxPlainTextLengthConstraint;
104
112
  type ObjectConstraint = RequiredConstraint | RichTextDocConstraint | MediaObjectConstraint | LinkObjectConstraint;
105
113
  type BooleanConstraint = RequiredConstraint;
106
- export type FieldConstraint = StringConstraint | NumberConstraint | SelectConstraint | ArrayConstraint | ObjectConstraint | BooleanConstraint;
114
+ export type FieldConstraint = StringConstraint | NumberConstraint | SelectConstraint | ArrayConstraint | InlineTextPlanConstraint | ObjectConstraint | BooleanConstraint;
107
115
  export type SelectConstraintSource = Readonly<{
108
116
  kind: "static";
109
117
  values: readonly string[];
@@ -127,7 +135,7 @@ export type FieldValidationIssue = BaseIssue<"required", {
127
135
  }> | BaseIssue<"tooManyItems", {
128
136
  maximum: number;
129
137
  itemLabel: string;
130
- }> | BaseIssue<"invalidRichText"> | BaseIssue<"invalidMedia"> | BaseIssue<"invalidLink"> | BaseIssue<"invalidReference">;
138
+ }> | BaseIssue<"invalidRichText"> | BaseIssue<"invalidInlineText"> | BaseIssue<"invalidMedia"> | BaseIssue<"invalidLink"> | BaseIssue<"invalidReference">;
131
139
  type BaseIssue<K extends string, Extra extends object = Record<never, never>> = Readonly<{
132
140
  kind: K;
133
141
  path: FieldPath;
@@ -187,6 +195,10 @@ export type BooleanFieldValidationPlan = PlanBase<"boolean", "boolean", BooleanC
187
195
  export type RichTextFieldValidationPlan = PlanBase<"richText", "object", ObjectConstraint> & Readonly<{
188
196
  fieldType: "richText";
189
197
  }>;
198
+ export type InlineTextFieldValidationPlan = PlanBase<"inlineText", "array", InlineTextPlanConstraint> & Readonly<{
199
+ fieldType: "inlineText";
200
+ plainTextFallbackPath?: FieldPath;
201
+ }>;
190
202
  export type MediaFieldValidationPlan = PlanBase<"media", "object", ObjectConstraint> & Readonly<{
191
203
  fieldType: "media" | "file";
192
204
  legacyStringType: string;
@@ -210,7 +222,7 @@ export type GroupFieldValidationPlan = PlanBase<"group", "object", ObjectConstra
210
222
  export type PassthroughFieldValidationPlan = PlanBase<"passthrough", "unknown", RequiredConstraint> & Readonly<{
211
223
  fieldType: "presetOrCustom" | "contentTypeSelect" | "entryPicker";
212
224
  }>;
213
- export type FieldValidationPlan = StringFieldValidationPlan | NumberFieldValidationPlan | BooleanFieldValidationPlan | RichTextFieldValidationPlan | MediaFieldValidationPlan | LinkFieldValidationPlan | SelectFieldValidationPlan | RepeaterFieldValidationPlan | GroupFieldValidationPlan | PassthroughFieldValidationPlan;
225
+ export type FieldValidationPlan = StringFieldValidationPlan | NumberFieldValidationPlan | BooleanFieldValidationPlan | RichTextFieldValidationPlan | InlineTextFieldValidationPlan | MediaFieldValidationPlan | LinkFieldValidationPlan | SelectFieldValidationPlan | RepeaterFieldValidationPlan | GroupFieldValidationPlan | PassthroughFieldValidationPlan;
214
226
  export type FieldPresence = Readonly<{
215
227
  kind: "required";
216
228
  }> | Readonly<{
@@ -743,6 +743,185 @@ declare const richTextFieldSchema: z.ZodObject<{
743
743
  }, z.core.$strip>>;
744
744
  type: z.ZodLiteral<"richText">;
745
745
  }, z.core.$strip>;
746
+ declare const inlineTextFieldSchema: z.ZodObject<{
747
+ id: z.ZodString;
748
+ label: z.ZodString;
749
+ description: z.ZodOptional<z.ZodString>;
750
+ visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
751
+ admin: "admin";
752
+ designer: "designer";
753
+ author: "author";
754
+ }>>>;
755
+ defaultValue: z.ZodOptional<z.ZodAny>;
756
+ required: z.ZodDefault<z.ZodBoolean>;
757
+ ui: z.ZodOptional<z.ZodObject<{
758
+ widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
759
+ preset: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
760
+ disclosure: "disclosure";
761
+ }>>>;
762
+ flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
763
+ hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
764
+ hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
765
+ hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
766
+ showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
767
+ max: z.ZodNumber;
768
+ }, z.core.$strip>]>>>;
769
+ showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
770
+ variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
771
+ full: "full";
772
+ inline: "inline";
773
+ limited: "limited";
774
+ media: "media";
775
+ notes: "notes";
776
+ }>>>;
777
+ richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
778
+ full: "full";
779
+ inline: "inline";
780
+ limited: "limited";
781
+ media: "media";
782
+ notes: "notes";
783
+ }>>>;
784
+ cropEditorMode: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
785
+ inline: "inline";
786
+ dialog: "dialog";
787
+ }>>>;
788
+ cropEditorAutoOpen: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
789
+ mediaPickerAutoOpen: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
790
+ showMediaPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
791
+ showMediaOverlayActions: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
792
+ mediaPreviewMaxWidth: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
793
+ none: "none";
794
+ sm: "sm";
795
+ md: "md";
796
+ xs: "xs";
797
+ }>>>;
798
+ preventMediaPreviewUpscale: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
799
+ mediaDelivery: z.ZodOptional<z.ZodOptional<z.ZodObject<{
800
+ sizes: z.ZodOptional<z.ZodString>;
801
+ widthCandidates: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
802
+ maxCssWidth: z.ZodOptional<z.ZodNumber>;
803
+ maxCssHeight: z.ZodOptional<z.ZodNumber>;
804
+ strategy: z.ZodOptional<z.ZodEnum<{
805
+ default: "default";
806
+ columnsAuto: "columnsAuto";
807
+ imageGalleryVariant: "imageGalleryVariant";
808
+ }>>;
809
+ strategyOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
810
+ }, z.core.$strip>>>;
811
+ mediaDeliveryByVariant: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
812
+ sizes: z.ZodOptional<z.ZodString>;
813
+ widthCandidates: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
814
+ maxCssWidth: z.ZodOptional<z.ZodNumber>;
815
+ maxCssHeight: z.ZodOptional<z.ZodNumber>;
816
+ strategy: z.ZodOptional<z.ZodEnum<{
817
+ default: "default";
818
+ columnsAuto: "columnsAuto";
819
+ imageGalleryVariant: "imageGalleryVariant";
820
+ }>>;
821
+ strategyOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
822
+ }, z.core.$strip>>>>;
823
+ inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
824
+ number: "number";
825
+ email: "email";
826
+ text: "text";
827
+ tel: "tel";
828
+ }>>>;
829
+ min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
830
+ max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
831
+ step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
832
+ showValue: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
833
+ pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
834
+ placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
835
+ visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodType<FieldVisibleWhen, unknown, z.core.$ZodTypeInternals<FieldVisibleWhen, unknown>>>>;
836
+ modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
837
+ buttonLabel: z.ZodOptional<z.ZodString>;
838
+ description: z.ZodOptional<z.ZodString>;
839
+ buttonVariant: z.ZodOptional<z.ZodEnum<{
840
+ outline: "outline";
841
+ default: "default";
842
+ }>>;
843
+ showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
844
+ maxWidth: z.ZodOptional<z.ZodString>;
845
+ }, z.core.$strip>>>;
846
+ allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
847
+ image: "image";
848
+ color: "color";
849
+ gradient: "gradient";
850
+ }>>>>;
851
+ fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
852
+ row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
853
+ colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
854
+ layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
855
+ grid: "grid";
856
+ stack: "stack";
857
+ }>>>;
858
+ columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
859
+ gridColsPreset: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
860
+ simple2: "simple2";
861
+ simple3: "simple3";
862
+ simple4: "simple4";
863
+ buttonCtaRow: "buttonCtaRow";
864
+ }>>>;
865
+ gridColumns: z.ZodOptional<z.ZodOptional<z.ZodObject<{
866
+ base: z.ZodOptional<z.ZodNumber>;
867
+ sm: z.ZodOptional<z.ZodNumber>;
868
+ md: z.ZodOptional<z.ZodNumber>;
869
+ lg: z.ZodOptional<z.ZodNumber>;
870
+ xl: z.ZodOptional<z.ZodNumber>;
871
+ }, z.core.$strip>>>;
872
+ gridColsClassName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
873
+ repeaterPreset: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
874
+ thumbnailGrid: "thumbnailGrid";
875
+ layoutGrid: "layoutGrid";
876
+ }>>>;
877
+ thumbnailField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
878
+ thumbnailAltField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
879
+ thumbnailLabelField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
880
+ thumbnailAspectRatio: z.ZodOptional<z.ZodOptional<z.ZodString>>;
881
+ thumbnailCardDensity: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
882
+ compact: "compact";
883
+ comfortable: "comfortable";
884
+ }>>>;
885
+ layoutGridColumnsFields: z.ZodOptional<z.ZodOptional<z.ZodObject<{
886
+ base: z.ZodOptional<z.ZodString>;
887
+ sm: z.ZodOptional<z.ZodString>;
888
+ md: z.ZodOptional<z.ZodString>;
889
+ lg: z.ZodString;
890
+ xl: z.ZodOptional<z.ZodString>;
891
+ }, z.core.$strip>>>;
892
+ layoutGridSpanField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
893
+ layoutGridRowField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
894
+ layoutGridColumnField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
895
+ layoutGridMaxRows: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
896
+ iconPickerPreset: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
897
+ cta: "cta";
898
+ feature: "feature";
899
+ }>>>;
900
+ contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
901
+ fixedContentType: z.ZodOptional<z.ZodOptional<z.ZodString>>;
902
+ valueFrom: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
903
+ id: "id";
904
+ identifier: "identifier";
905
+ slug: "slug";
906
+ }>>>;
907
+ siteOptionSource: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
908
+ venues: "venues";
909
+ eventCategories: "eventCategories";
910
+ staffMembers: "staffMembers";
911
+ }>>>;
912
+ searchThreshold: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
913
+ renderInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
914
+ intent: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
915
+ style: "style";
916
+ display: "display";
917
+ content: "content";
918
+ behavior: "behavior";
919
+ }>>>;
920
+ }, z.core.$strip>>;
921
+ type: z.ZodLiteral<"inlineText">;
922
+ maxLength: z.ZodOptional<z.ZodNumber>;
923
+ plainTextField: z.ZodOptional<z.ZodString>;
924
+ }, z.core.$strip>;
746
925
  declare const mediaFieldSchema: z.ZodObject<{
747
926
  id: z.ZodString;
748
927
  label: z.ZodString;
@@ -4219,6 +4398,7 @@ declare const entryPickerFieldSchema: z.ZodObject<{
4219
4398
  type FieldSchemaMembers = readonly [
4220
4399
  typeof textFieldSchema,
4221
4400
  typeof richTextFieldSchema,
4401
+ typeof inlineTextFieldSchema,
4222
4402
  typeof mediaFieldSchema,
4223
4403
  typeof fileFieldSchema,
4224
4404
  typeof booleanFieldSchema,
@@ -4252,6 +4432,7 @@ type SelectFieldBaseInput = Omit<z.input<typeof baseFieldSchema>, 'type' | 'ui'>
4252
4432
  };
4253
4433
  export type TextFieldDefinition = z.output<typeof textFieldSchema>;
4254
4434
  export type RichTextFieldDefinition = z.output<typeof richTextFieldSchema>;
4435
+ export type InlineTextFieldDefinition = z.output<typeof inlineTextFieldSchema>;
4255
4436
  export type MediaFieldDefinition = z.output<typeof mediaFieldSchema>;
4256
4437
  export type FileFieldDefinition = z.output<typeof fileFieldSchema>;
4257
4438
  export type BooleanFieldDefinition = z.output<typeof booleanFieldSchema>;
@@ -4321,7 +4502,7 @@ export type PresetOption = {
4321
4502
  export type PresetOrCustomFieldDefinition = z.output<typeof presetOrCustomFieldSchema>;
4322
4503
  export type ContentTypeSelectFieldDefinition = z.output<typeof contentTypeSelectFieldSchema>;
4323
4504
  export type EntryPickerFieldDefinition = z.output<typeof entryPickerFieldSchema>;
4324
- export type FieldDefinition = TextFieldDefinition | RichTextFieldDefinition | MediaFieldDefinition | FileFieldDefinition | BooleanFieldDefinition | NumberFieldDefinition | DateFieldDefinition | TimeFieldDefinition | DateTimeFieldDefinition | SlugFieldDefinition | UrlFieldDefinition | LinkFieldDefinition | SelectFieldDefinition | ReferenceFieldDefinition | RepeaterFieldDefinition | GroupFieldDefinition | ModalFieldDefinition | TabGroupFieldDefinition | PresetOrCustomFieldDefinition | ContentTypeSelectFieldDefinition | EntryPickerFieldDefinition;
4505
+ export type FieldDefinition = TextFieldDefinition | RichTextFieldDefinition | InlineTextFieldDefinition | MediaFieldDefinition | FileFieldDefinition | BooleanFieldDefinition | NumberFieldDefinition | DateFieldDefinition | TimeFieldDefinition | DateTimeFieldDefinition | SlugFieldDefinition | UrlFieldDefinition | LinkFieldDefinition | SelectFieldDefinition | ReferenceFieldDefinition | RepeaterFieldDefinition | GroupFieldDefinition | ModalFieldDefinition | TabGroupFieldDefinition | PresetOrCustomFieldDefinition | ContentTypeSelectFieldDefinition | EntryPickerFieldDefinition;
4325
4506
  /**
4326
4507
  * FieldDefinition input type (pre-defaults).
4327
4508
  *
@@ -4360,23 +4541,23 @@ export type SlotDefinition = z.infer<typeof slotSchema>;
4360
4541
  export declare const styleTokenSchema: z.ZodObject<{
4361
4542
  background: z.ZodOptional<z.ZodEnum<{
4362
4543
  surface: "surface";
4544
+ accent: "accent";
4363
4545
  background: "background";
4364
4546
  foreground: "foreground";
4365
- accent: "accent";
4366
4547
  muted: "muted";
4367
4548
  }>>;
4368
4549
  foreground: z.ZodOptional<z.ZodEnum<{
4369
4550
  surface: "surface";
4551
+ accent: "accent";
4370
4552
  background: "background";
4371
4553
  foreground: "foreground";
4372
- accent: "accent";
4373
4554
  muted: "muted";
4374
4555
  }>>;
4375
4556
  border: z.ZodOptional<z.ZodEnum<{
4376
4557
  surface: "surface";
4558
+ accent: "accent";
4377
4559
  background: "background";
4378
4560
  foreground: "foreground";
4379
- accent: "accent";
4380
4561
  muted: "muted";
4381
4562
  }>>;
4382
4563
  typography: z.ZodOptional<z.ZodEnum<{
@@ -4448,23 +4629,23 @@ export declare const manifestSchema: z.ZodObject<{
4448
4629
  styleTokens: z.ZodOptional<z.ZodObject<{
4449
4630
  background: z.ZodOptional<z.ZodEnum<{
4450
4631
  surface: "surface";
4632
+ accent: "accent";
4451
4633
  background: "background";
4452
4634
  foreground: "foreground";
4453
- accent: "accent";
4454
4635
  muted: "muted";
4455
4636
  }>>;
4456
4637
  foreground: z.ZodOptional<z.ZodEnum<{
4457
4638
  surface: "surface";
4639
+ accent: "accent";
4458
4640
  background: "background";
4459
4641
  foreground: "foreground";
4460
- accent: "accent";
4461
4642
  muted: "muted";
4462
4643
  }>>;
4463
4644
  border: z.ZodOptional<z.ZodEnum<{
4464
4645
  surface: "surface";
4646
+ accent: "accent";
4465
4647
  background: "background";
4466
4648
  foreground: "foreground";
4467
- accent: "accent";
4468
4649
  muted: "muted";
4469
4650
  }>>;
4470
4651
  typography: z.ZodOptional<z.ZodEnum<{
@@ -1,4 +1,5 @@
1
1
  import { type Binding, type NodeDefinition } from './schema';
2
+ import type { ConditionalAuthoringPresence } from './schema';
2
3
  import { type NodeProps } from './types';
3
4
  export type NodeModifier = (node: NodeDefinition) => NodeDefinition;
4
5
  export declare function el(type: string, props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]): NodeDefinition;
@@ -46,6 +47,7 @@ export declare function bind(from: string, options?: {
46
47
  export declare function when(path: string, options?: {
47
48
  equals?: unknown;
48
49
  not?: boolean;
50
+ authoringPresence?: ConditionalAuthoringPresence;
49
51
  }): NodeModifier;
50
52
  export declare function scopes(entries: Array<{
51
53
  name: string;
@@ -50,6 +50,13 @@ export declare const repeatSchema: z.ZodObject<{
50
50
  }, z.core.$strip>>;
51
51
  }, z.core.$strip>;
52
52
  export type RepeatConfig = z.input<typeof repeatSchema>;
53
+ export declare const conditionalAuthoringPresenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ kind: z.ZodLiteral<"visitor-only">;
55
+ }, z.core.$strip>, z.ZodObject<{
56
+ kind: z.ZodLiteral<"recover-empty-when-active">;
57
+ placeholder: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strip>], "kind">;
59
+ export type ConditionalAuthoringPresence = z.input<typeof conditionalAuthoringPresenceSchema>;
53
60
  export declare const conditionSchema: z.ZodObject<{
54
61
  when: z.ZodObject<{
55
62
  from: z.ZodString;
@@ -71,6 +78,12 @@ export declare const conditionSchema: z.ZodObject<{
71
78
  }, z.core.$strip>;
72
79
  equals: z.ZodOptional<z.ZodUnknown>;
73
80
  not: z.ZodDefault<z.ZodBoolean>;
81
+ authoringPresence: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
82
+ kind: z.ZodLiteral<"visitor-only">;
83
+ }, z.core.$strip>, z.ZodObject<{
84
+ kind: z.ZodLiteral<"recover-empty-when-active">;
85
+ placeholder: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>], "kind">>;
74
87
  }, z.core.$strip>;
75
88
  export type ConditionConfig = z.input<typeof conditionSchema>;
76
89
  export declare const dataScopeSchema: z.ZodObject<{
@@ -11,7 +11,7 @@
11
11
  * SdkCustomBlock.layout definitions. Node types not in this list
12
12
  * will be rejected during validation.
13
13
  */
14
- export declare const ALLOWED_NODE_TYPES: readonly ["div", "figure", "section", "headerSection", "stack", "inline", "grid", "text", "richText", "media", "videoEmbed", "button", "link", "carousel", "accordion", "accordionItem", "form", "booking-form", "event-registration", "event-spotlight", "event-listing", "event-calendar", "offerings-preview", "event-combined", "shop", "product-list", "product-detail", "cart", "checkout", "gifting"];
14
+ export declare const ALLOWED_NODE_TYPES: readonly ["div", "figure", "section", "headerSection", "stack", "inline", "grid", "text", "richText", "media", "videoEmbed", "button", "link", "carousel", "accordion", "accordionItem", "form", "booking-form", "weekly-slot-availability", "event-registration", "event-spotlight", "event-listing", "event-calendar", "offerings-preview", "event-combined", "shop", "product-list", "product-detail", "cart", "checkout", "gifting"];
15
15
  export type AllowedNodeType = (typeof ALLOWED_NODE_TYPES)[number];
16
16
  /**
17
17
  * Valid transform IDs for declarative layouts.
@@ -30,6 +30,7 @@ export type SystemBlockComponentProps<TContent = Record<string, unknown>> = {
30
30
  editableRouteMetadataFieldIds?: ResolverContext['editableRouteMetadataFieldIds'];
31
31
  fragmentRegistry?: ResolverContext['fragmentRegistry'];
32
32
  imageResolveContext?: ResolverContext['imageResolveContext'];
33
+ previewAuthoring?: ResolverContext['previewAuthoring'];
33
34
  };
34
35
  export type SystemBlockComponent<TContent = Record<string, unknown>> = ComponentType<SystemBlockComponentProps<TContent>>;
35
36
  export type BlockDataLoader = {
@@ -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, 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';
6
+ import type { BlockApiConfig, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, WeeklySlotAvailabilityRequest, WeeklySlotAvailabilityResponse, 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;
@@ -33,6 +33,7 @@ export interface BlockApiClient {
33
33
  }): Promise<EligibleAppointmentPackagesResponse>;
34
34
  getAppointmentBookingStatus(params: Omit<AppointmentBookingStatusRequest, 'siteId'>): Promise<AppointmentBookingStatusResponse>;
35
35
  getAvailableSlots(params: Omit<AvailableSlotsRequest, 'siteId'>): Promise<AvailableSlotsResponse>;
36
+ getWeeklySlotAvailability(params: Omit<WeeklySlotAvailabilityRequest, 'siteId'>): Promise<WeeklySlotAvailabilityResponse>;
36
37
  getAvailableDates(params: Omit<AvailableDatesRequest, 'siteId'>): Promise<AvailableDatesResponse>;
37
38
  getBookingServices(params?: {
38
39
  ids?: string[];