@riverbankcms/sdk 0.126.0 → 0.127.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 (126) hide show
  1. package/dist/{PreviewEditorSidebar-DcYJxTgc.mjs → PreviewEditorSidebar-BXtfF7tp.mjs} +58 -38
  2. package/dist/{PreviewEditorUI-Ctt1yTJr.mjs → PreviewEditorUI-Dou73Q0K.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-CvW1vdQ4.mjs → SdkPreviewModeRuntime-B0HPXr-l.mjs} +119 -41
  4. package/dist/{SiteChromeCustomizeContext-C87qlKWw.mjs → SiteChromeCustomizeContext-DZiDBAYu.mjs} +9961 -9583
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  6. package/dist/_dts/api/src/contentRuntime.d.ts +1 -5
  7. package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
  9. package/dist/_dts/blocks/src/index.d.ts +3 -2
  10. package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
  11. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
  12. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
  13. package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  15. package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
  16. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
  17. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
  18. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +143 -155
  19. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
  20. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
  21. package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
  22. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  23. package/dist/_dts/media-editor/src/context.d.ts +1 -2
  24. package/dist/_dts/media-editor/src/index.d.ts +3 -1
  25. package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
  26. package/dist/_dts/media-editor/src/types.d.ts +3 -1
  27. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
  28. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  29. package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
  30. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  31. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
  32. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -49
  33. package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
  34. package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
  35. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
  36. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
  37. package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
  38. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
  39. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
  40. package/dist/_dts/sdk/src/version.d.ts +1 -1
  41. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
  42. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
  43. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
  44. package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
  45. package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
  46. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
  47. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
  48. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +25 -0
  49. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
  50. package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +9 -0
  51. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
  52. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  53. package/dist/_dts/theme-core/src/schema.d.ts +67 -19
  54. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
  55. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
  56. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
  57. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
  58. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
  59. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
  60. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
  61. package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
  62. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  63. package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
  64. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
  65. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
  69. package/dist/cli/index.mjs +973 -1081
  70. package/dist/client/{DiscountCodeDisclosure-DS0AuFWW.mjs → DiscountCodeDisclosure-BDFRp8Y7.mjs} +1 -1
  71. package/dist/client/{EventCombined.client-DtMxLr7q.mjs → EventCombined.client-DJgF1_lf.mjs} +2 -2
  72. package/dist/client/{EventListing.client-BdLSRNg1.mjs → EventListing.client-CnWGNjOr.mjs} +2 -2
  73. package/dist/client/{LeafletStaticMap-BrpC6vsT.mjs → LeafletStaticMap-BISs9Bl7.mjs} +1 -1
  74. package/dist/client/{MagicLinkForm-Bt3IuLMy.mjs → MagicLinkForm-b5E_HoG9.mjs} +1 -1
  75. package/dist/client/{StepIndicator-CBYPFVoy.mjs → StepIndicator-D8gVYkK-.mjs} +2 -2
  76. package/dist/client/{accordion-BqqwPJWM.mjs → accordion-DFDajgDz.mjs} +1 -1
  77. package/dist/client/{bookingForm-SneP3yxC.mjs → bookingForm-Bdqj9-52.mjs} +5 -5
  78. package/dist/client/bookings.mjs +126 -23
  79. package/dist/client/{carousel-BTIR9L3I.mjs → carousel-Cvqf-kN8.mjs} +1 -1
  80. package/dist/client/{cart-bqiqd8SX.mjs → cart-CuH2TJXP.mjs} +3 -3
  81. package/dist/client/{checkout-WbTFV5v4.mjs → checkout-CMNPpejZ.mjs} +3 -3
  82. package/dist/client/client.mjs +1227 -1209
  83. package/dist/client/{courseRegistration-BcemLAdN.mjs → courseRegistration-DTEYWL6Z.mjs} +6 -6
  84. package/dist/client/{eventCalendar-CsxIw0V_.mjs → eventCalendar-BW-XoxZ0.mjs} +4 -4
  85. package/dist/client/{eventCombined-B6XMoHfa.mjs → eventCombined-Bpn7s0y9.mjs} +2 -2
  86. package/dist/client/{eventDetails-BJaoPPfo.mjs → eventDetails-D2uUSTMH.mjs} +3 -3
  87. package/dist/client/{eventListing-DgwdYHRT.mjs → eventListing-CVr1c094.mjs} +2 -2
  88. package/dist/client/{eventRegistration-C0O3folu.mjs → eventRegistration-Dv4AvkMw.mjs} +6 -6
  89. package/dist/client/{form-Bk9txGFt.mjs → form-DxdKf9fs.mjs} +1 -1
  90. package/dist/client/{headerSection-yIBt0yTv.mjs → headerSection-BaXI5Sro.mjs} +2 -2
  91. package/dist/client/hooks.mjs +801 -874
  92. package/dist/client/{locationMap-C-3KIpv-.mjs → locationMap-BEtW2fKz.mjs} +2 -2
  93. package/dist/client/{newsletterForm-CzB8g8h2.mjs → newsletterForm-BKKs0S4R.mjs} +1 -1
  94. package/dist/client/{pricing-C1QeDes_.mjs → pricing-ClkqcElA.mjs} +1 -1
  95. package/dist/client/{productDetail-w7SBp5uc.mjs → productDetail-H-ru8dyy.mjs} +3 -3
  96. package/dist/client/{productList-D0tGKHGf.mjs → productList-Buyi5c0C.mjs} +3 -3
  97. package/dist/client/{propsDecoder-Bcin2DB3.mjs → propsDecoder-BF7i6Ijg.mjs} +127 -55
  98. package/dist/client/rendering/client.mjs +928 -916
  99. package/dist/client/rendering/islands.mjs +18 -18
  100. package/dist/client/rendering.mjs +1130 -1114
  101. package/dist/client/{scrollToBlock-h-o_STf_.mjs → scrollToBlock-D_7t8yWb.mjs} +1 -1
  102. package/dist/client/{shop-BGzmL8O_.mjs → shop-CF7SZQNX.mjs} +5 -5
  103. package/dist/client/{shop-commerce-lX8QxjX-.mjs → shop-commerce-DA7_Rq5p.mjs} +4 -4
  104. package/dist/client/{shop-commerce-store-CEurARtu.mjs → shop-commerce-store-BmLqW7Gh.mjs} +1 -1
  105. package/dist/client/{shopShared-DXxH8xxw.mjs → shopShared-WL-E1znM.mjs} +2 -2
  106. package/dist/client/{useEventFilters-B591g9vd.mjs → useEventFilters-rc8VLeLV.mjs} +2 -2
  107. package/dist/client/{usePolling-BvnChV4m.mjs → usePolling-1ncrfd4S.mjs} +2 -2
  108. package/dist/preview-next/client/runtime.mjs +3 -3
  109. package/dist/{sdk-runtime-M__i3Jce.mjs → sdk-runtime-BnrCCFJq.mjs} +1 -1
  110. package/dist/{separator-VSlnI9bc.mjs → separator-CFvBx2yl.mjs} +1 -1
  111. package/dist/server/components.mjs +1302 -1350
  112. package/dist/server/config-validation.mjs +801 -874
  113. package/dist/server/config.mjs +801 -874
  114. package/dist/server/data.mjs +801 -874
  115. package/dist/server/index.mjs +1 -1
  116. package/dist/server/next.mjs +1303 -1351
  117. package/dist/server/page-converter.mjs +801 -874
  118. package/dist/server/prebuild.mjs +1 -1
  119. package/dist/server/rendering/server.mjs +1296 -1344
  120. package/dist/server/rendering.mjs +1302 -1350
  121. package/dist/server/routing.mjs +869 -895
  122. package/dist/server/server.mjs +802 -875
  123. package/dist/server/theme-bridge.mjs +151 -118
  124. package/dist/server/theme.mjs +111 -23
  125. package/package.json +1 -1
  126. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
@@ -5,6 +5,13 @@ export declare const PUBLIC_DOWNLOAD_MEDIA_TYPES: readonly ["document", "spreads
5
5
  export type PublicDownloadMediaType = typeof PUBLIC_DOWNLOAD_MEDIA_TYPES[number];
6
6
  export declare function isMediaTypeDiscriminant(value: unknown): value is MediaTypeDiscriminant;
7
7
  export declare function mediaTypeDiscriminantFromMimeType(mimeType: string): MediaTypeDiscriminant | null;
8
+ /**
9
+ * Canonical identifier carried by media values that are safe to persist.
10
+ * Parsing trims boundary input so downstream writers cannot retain whitespace-only
11
+ * identifiers or independently disagree about normalization.
12
+ */
13
+ export declare const mediaIdentifierSchema: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
14
+ export type MediaIdentifier = z.infer<typeof mediaIdentifierSchema>;
8
15
  export declare const mediaSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
16
  purpose: z.ZodOptional<z.ZodString>;
10
17
  placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -264,7 +271,267 @@ export declare const mediaSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
264
271
  }, z.core.$strip>>;
265
272
  type: z.ZodLiteral<"archive">;
266
273
  }, z.core.$strip>], "type">;
274
+ export declare const persistableMediaSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
275
+ purpose: z.ZodOptional<z.ZodString>;
276
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
277
+ assetId: z.ZodOptional<z.ZodString>;
278
+ src: z.ZodOptional<z.ZodString>;
279
+ alt: z.ZodOptional<z.ZodString>;
280
+ filename: z.ZodOptional<z.ZodString>;
281
+ mimeType: z.ZodOptional<z.ZodString>;
282
+ width: z.ZodOptional<z.ZodNumber>;
283
+ height: z.ZodOptional<z.ZodNumber>;
284
+ storageBucket: z.ZodOptional<z.ZodString>;
285
+ storagePath: z.ZodOptional<z.ZodString>;
286
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
287
+ tag: z.ZodLiteral<"storage">;
288
+ assetId: z.ZodOptional<z.ZodString>;
289
+ storageBucket: z.ZodString;
290
+ storagePath: z.ZodString;
291
+ }, z.core.$strip>, z.ZodObject<{
292
+ tag: z.ZodLiteral<"external-src">;
293
+ assetId: z.ZodOptional<z.ZodString>;
294
+ src: z.ZodString;
295
+ }, z.core.$strip>], "tag">>;
296
+ transform: z.ZodOptional<z.ZodObject<{
297
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
298
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
299
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
300
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
301
+ x: z.ZodNumber;
302
+ y: z.ZodNumber;
303
+ radius: z.ZodOptional<z.ZodNumber>;
304
+ }, z.core.$strip>>>;
305
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
306
+ }, z.core.$strip>>>>>;
307
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
308
+ hotspot: z.ZodOptional<z.ZodObject<{
309
+ x: z.ZodNumber;
310
+ y: z.ZodNumber;
311
+ radius: z.ZodOptional<z.ZodNumber>;
312
+ }, z.core.$strip>>;
313
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
314
+ }, z.core.$strip>>;
315
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
316
+ type: z.ZodLiteral<"image">;
317
+ }, z.core.$strip>, z.ZodObject<{
318
+ purpose: z.ZodOptional<z.ZodString>;
319
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
320
+ assetId: z.ZodOptional<z.ZodString>;
321
+ src: z.ZodOptional<z.ZodString>;
322
+ alt: z.ZodOptional<z.ZodString>;
323
+ filename: z.ZodOptional<z.ZodString>;
324
+ mimeType: z.ZodOptional<z.ZodString>;
325
+ width: z.ZodOptional<z.ZodNumber>;
326
+ height: z.ZodOptional<z.ZodNumber>;
327
+ storageBucket: z.ZodOptional<z.ZodString>;
328
+ storagePath: z.ZodOptional<z.ZodString>;
329
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
330
+ tag: z.ZodLiteral<"storage">;
331
+ assetId: z.ZodOptional<z.ZodString>;
332
+ storageBucket: z.ZodString;
333
+ storagePath: z.ZodString;
334
+ }, z.core.$strip>, z.ZodObject<{
335
+ tag: z.ZodLiteral<"external-src">;
336
+ assetId: z.ZodOptional<z.ZodString>;
337
+ src: z.ZodString;
338
+ }, z.core.$strip>], "tag">>;
339
+ transform: z.ZodOptional<z.ZodObject<{
340
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
341
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
342
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
343
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
344
+ x: z.ZodNumber;
345
+ y: z.ZodNumber;
346
+ radius: z.ZodOptional<z.ZodNumber>;
347
+ }, z.core.$strip>>>;
348
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
349
+ }, z.core.$strip>>>>>;
350
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
351
+ hotspot: z.ZodOptional<z.ZodObject<{
352
+ x: z.ZodNumber;
353
+ y: z.ZodNumber;
354
+ radius: z.ZodOptional<z.ZodNumber>;
355
+ }, z.core.$strip>>;
356
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
357
+ }, z.core.$strip>>;
358
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
359
+ type: z.ZodLiteral<"video">;
360
+ }, z.core.$strip>, z.ZodObject<{
361
+ purpose: z.ZodOptional<z.ZodString>;
362
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
363
+ assetId: z.ZodOptional<z.ZodString>;
364
+ src: z.ZodOptional<z.ZodString>;
365
+ alt: z.ZodOptional<z.ZodString>;
366
+ filename: z.ZodOptional<z.ZodString>;
367
+ mimeType: z.ZodOptional<z.ZodString>;
368
+ width: z.ZodOptional<z.ZodNumber>;
369
+ height: z.ZodOptional<z.ZodNumber>;
370
+ storageBucket: z.ZodOptional<z.ZodString>;
371
+ storagePath: z.ZodOptional<z.ZodString>;
372
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
373
+ tag: z.ZodLiteral<"storage">;
374
+ assetId: z.ZodOptional<z.ZodString>;
375
+ storageBucket: z.ZodString;
376
+ storagePath: z.ZodString;
377
+ }, z.core.$strip>, z.ZodObject<{
378
+ tag: z.ZodLiteral<"external-src">;
379
+ assetId: z.ZodOptional<z.ZodString>;
380
+ src: z.ZodString;
381
+ }, z.core.$strip>], "tag">>;
382
+ transform: z.ZodOptional<z.ZodObject<{
383
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
384
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
385
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
386
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
387
+ x: z.ZodNumber;
388
+ y: z.ZodNumber;
389
+ radius: z.ZodOptional<z.ZodNumber>;
390
+ }, z.core.$strip>>>;
391
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
392
+ }, z.core.$strip>>>>>;
393
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
394
+ hotspot: z.ZodOptional<z.ZodObject<{
395
+ x: z.ZodNumber;
396
+ y: z.ZodNumber;
397
+ radius: z.ZodOptional<z.ZodNumber>;
398
+ }, z.core.$strip>>;
399
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
400
+ }, z.core.$strip>>;
401
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
402
+ type: z.ZodLiteral<"audio">;
403
+ }, z.core.$strip>, z.ZodObject<{
404
+ purpose: z.ZodOptional<z.ZodString>;
405
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
406
+ assetId: z.ZodOptional<z.ZodString>;
407
+ src: z.ZodOptional<z.ZodString>;
408
+ alt: z.ZodOptional<z.ZodString>;
409
+ filename: z.ZodOptional<z.ZodString>;
410
+ mimeType: z.ZodOptional<z.ZodString>;
411
+ width: z.ZodOptional<z.ZodNumber>;
412
+ height: z.ZodOptional<z.ZodNumber>;
413
+ storageBucket: z.ZodOptional<z.ZodString>;
414
+ storagePath: z.ZodOptional<z.ZodString>;
415
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
416
+ tag: z.ZodLiteral<"storage">;
417
+ assetId: z.ZodOptional<z.ZodString>;
418
+ storageBucket: z.ZodString;
419
+ storagePath: z.ZodString;
420
+ }, z.core.$strip>, z.ZodObject<{
421
+ tag: z.ZodLiteral<"external-src">;
422
+ assetId: z.ZodOptional<z.ZodString>;
423
+ src: z.ZodString;
424
+ }, z.core.$strip>], "tag">>;
425
+ transform: z.ZodOptional<z.ZodObject<{
426
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
427
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
428
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
429
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
430
+ x: z.ZodNumber;
431
+ y: z.ZodNumber;
432
+ radius: z.ZodOptional<z.ZodNumber>;
433
+ }, z.core.$strip>>>;
434
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
435
+ }, z.core.$strip>>>>>;
436
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
437
+ hotspot: z.ZodOptional<z.ZodObject<{
438
+ x: z.ZodNumber;
439
+ y: z.ZodNumber;
440
+ radius: z.ZodOptional<z.ZodNumber>;
441
+ }, z.core.$strip>>;
442
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
443
+ }, z.core.$strip>>;
444
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
445
+ type: z.ZodLiteral<"document">;
446
+ }, z.core.$strip>, z.ZodObject<{
447
+ purpose: z.ZodOptional<z.ZodString>;
448
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
449
+ assetId: z.ZodOptional<z.ZodString>;
450
+ src: z.ZodOptional<z.ZodString>;
451
+ alt: z.ZodOptional<z.ZodString>;
452
+ filename: z.ZodOptional<z.ZodString>;
453
+ mimeType: z.ZodOptional<z.ZodString>;
454
+ width: z.ZodOptional<z.ZodNumber>;
455
+ height: z.ZodOptional<z.ZodNumber>;
456
+ storageBucket: z.ZodOptional<z.ZodString>;
457
+ storagePath: z.ZodOptional<z.ZodString>;
458
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
459
+ tag: z.ZodLiteral<"storage">;
460
+ assetId: z.ZodOptional<z.ZodString>;
461
+ storageBucket: z.ZodString;
462
+ storagePath: z.ZodString;
463
+ }, z.core.$strip>, z.ZodObject<{
464
+ tag: z.ZodLiteral<"external-src">;
465
+ assetId: z.ZodOptional<z.ZodString>;
466
+ src: z.ZodString;
467
+ }, z.core.$strip>], "tag">>;
468
+ transform: z.ZodOptional<z.ZodObject<{
469
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
470
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
471
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
472
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
473
+ x: z.ZodNumber;
474
+ y: z.ZodNumber;
475
+ radius: z.ZodOptional<z.ZodNumber>;
476
+ }, z.core.$strip>>>;
477
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
478
+ }, z.core.$strip>>>>>;
479
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
480
+ hotspot: z.ZodOptional<z.ZodObject<{
481
+ x: z.ZodNumber;
482
+ y: z.ZodNumber;
483
+ radius: z.ZodOptional<z.ZodNumber>;
484
+ }, z.core.$strip>>;
485
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
486
+ }, z.core.$strip>>;
487
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
488
+ type: z.ZodLiteral<"spreadsheet">;
489
+ }, z.core.$strip>, z.ZodObject<{
490
+ purpose: z.ZodOptional<z.ZodString>;
491
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
492
+ assetId: z.ZodOptional<z.ZodString>;
493
+ src: z.ZodOptional<z.ZodString>;
494
+ alt: z.ZodOptional<z.ZodString>;
495
+ filename: z.ZodOptional<z.ZodString>;
496
+ mimeType: z.ZodOptional<z.ZodString>;
497
+ width: z.ZodOptional<z.ZodNumber>;
498
+ height: z.ZodOptional<z.ZodNumber>;
499
+ storageBucket: z.ZodOptional<z.ZodString>;
500
+ storagePath: z.ZodOptional<z.ZodString>;
501
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
502
+ tag: z.ZodLiteral<"storage">;
503
+ assetId: z.ZodOptional<z.ZodString>;
504
+ storageBucket: z.ZodString;
505
+ storagePath: z.ZodString;
506
+ }, z.core.$strip>, z.ZodObject<{
507
+ tag: z.ZodLiteral<"external-src">;
508
+ assetId: z.ZodOptional<z.ZodString>;
509
+ src: z.ZodString;
510
+ }, z.core.$strip>], "tag">>;
511
+ transform: z.ZodOptional<z.ZodObject<{
512
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
513
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
514
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
515
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
516
+ x: z.ZodNumber;
517
+ y: z.ZodNumber;
518
+ radius: z.ZodOptional<z.ZodNumber>;
519
+ }, z.core.$strip>>>;
520
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
521
+ }, z.core.$strip>>>>>;
522
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
523
+ hotspot: z.ZodOptional<z.ZodObject<{
524
+ x: z.ZodNumber;
525
+ y: z.ZodNumber;
526
+ radius: z.ZodOptional<z.ZodNumber>;
527
+ }, z.core.$strip>>;
528
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
529
+ }, z.core.$strip>>;
530
+ identifier: z.core.$ZodBranded<z.ZodString, "MediaIdentifier", "out">;
531
+ type: z.ZodLiteral<"archive">;
532
+ }, z.core.$strip>], "type">;
267
533
  export type Media = z.infer<typeof mediaSchema>;
534
+ export type PersistableMedia = z.infer<typeof persistableMediaSchema>;
268
535
  export type MediaOfType<TType extends MediaTypeDiscriminant> = Extract<Media, {
269
536
  type: TType;
270
537
  }>;
@@ -15,19 +15,6 @@ export declare const blockButtonRoleSchema: z.ZodEnum<{
15
15
  secondary: "secondary";
16
16
  ghost: "ghost";
17
17
  }>;
18
- /**
19
- * Temporary rollout boundary for persisted content written before issue #1220.
20
- * Authoring remains strict through `blockButtonRoleSchema`; this parser exists
21
- * only until the post-deploy role rewrite has been audited in production.
22
- */
23
- export declare function canonicalizePersistedBlockButtonRole(value: string): string;
24
- export declare const persistedBlockButtonRoleSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
25
- outline: "outline";
26
- accent: "accent";
27
- primary: "primary";
28
- secondary: "secondary";
29
- ghost: "ghost";
30
- }>>;
31
18
  export declare const BLOCK_BUTTON_ROLE_OPTIONS: ReadonlyArray<{
32
19
  readonly value: BlockButtonRole;
33
20
  readonly label: string;
@@ -97,13 +97,13 @@ export declare const eventCollectionSourceSchemaShape: {
97
97
  readonly showVenue: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
98
98
  readonly showMap: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
99
99
  readonly showCapacity: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
100
- readonly buttonVariant: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
100
+ readonly buttonVariant: z.ZodOptional<z.ZodEnum<{
101
101
  outline: "outline";
102
102
  accent: "accent";
103
103
  primary: "primary";
104
104
  secondary: "secondary";
105
105
  ghost: "ghost";
106
- }>>>;
106
+ }>>;
107
107
  readonly buttonText: z.ZodOptional<z.ZodString>;
108
108
  readonly emptyMessage: z.ZodOptional<z.ZodString>;
109
109
  readonly className: z.ZodOptional<z.ZodString>;
@@ -1557,13 +1557,13 @@ export declare const eventCollectionDisplaySchemaShape: {
1557
1557
  readonly showVenue: z.ZodBoolean;
1558
1558
  readonly showMap: z.ZodBoolean;
1559
1559
  readonly showCapacity: z.ZodBoolean;
1560
- readonly buttonVariant: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
1560
+ readonly buttonVariant: z.ZodEnum<{
1561
1561
  outline: "outline";
1562
1562
  accent: "accent";
1563
1563
  primary: "primary";
1564
1564
  secondary: "secondary";
1565
1565
  ghost: "ghost";
1566
- }>>;
1566
+ }>;
1567
1567
  readonly buttonText: z.ZodString;
1568
1568
  readonly emptyMessage: z.ZodString;
1569
1569
  };
@@ -0,0 +1,7 @@
1
+ import type { ResolveImageUrlContext } from './media';
2
+ /**
3
+ * Combines a render snapshot with client registrations without changing the
4
+ * persisted media value. Live registrations are authoritative for both asset
5
+ * IDs and identifiers. Contexts for different known sites never share indexes.
6
+ */
7
+ export declare function mergeResolveImageUrlContexts(baseline: ResolveImageUrlContext | null | undefined, live: ResolveImageUrlContext | null | undefined): ResolveImageUrlContext | undefined;
@@ -10,13 +10,13 @@ export declare const registrationButtonVariantSchema: z.ZodEnum<{
10
10
  secondary: "secondary";
11
11
  ghost: "ghost";
12
12
  }>;
13
- export declare const eventButtonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
13
+ export declare const eventButtonVariantSchema: z.ZodEnum<{
14
14
  outline: "outline";
15
15
  accent: "accent";
16
16
  primary: "primary";
17
17
  secondary: "secondary";
18
18
  ghost: "ghost";
19
- }>>;
19
+ }>;
20
20
  export declare const eventLayoutSchema: z.ZodEnum<{
21
21
  stack: "stack";
22
22
  grid: "grid";
@@ -0,0 +1,17 @@
1
+ import type { BlockManifest } from '../../../blocks/src/index';
2
+ import type { EditorBlockId } from '../../../core/src/index';
3
+ import type { ResolveBlockManifest } from './blockValidationView';
4
+ export type BlockValidationManifestEntry = Readonly<{
5
+ blockId: EditorBlockId;
6
+ manifest: BlockManifest;
7
+ }>;
8
+ export type BlockValidationManifestRegistry = Readonly<{
9
+ resolve: ResolveBlockManifest;
10
+ revision: () => number;
11
+ replace: (entries: readonly BlockValidationManifestEntry[]) => boolean;
12
+ delete: (blockId: EditorBlockId) => boolean;
13
+ clear: () => boolean;
14
+ remap: (fromBlockId: EditorBlockId, toBlockId: EditorBlockId) => boolean;
15
+ isEmpty: () => boolean;
16
+ }>;
17
+ export declare function createBlockValidationManifestRegistry(fallback: ResolveBlockManifest): BlockValidationManifestRegistry;
@@ -2,7 +2,7 @@ import type { BlockManifest } from "../../../blocks/src/index";
2
2
  import { type BlockDraftSaveability, type BlockDraftValidationIssue } from "../../../block-form/src/blockDraftSaveability";
3
3
  import type { EditorBlockId } from "../../../core/src/index";
4
4
  import type { EditorDraftSnapshot } from "./editorHistory";
5
- export type ResolveBlockManifest = (kind: string) => BlockManifest | null;
5
+ export type ResolveBlockManifest = (kind: string, blockId?: EditorBlockId) => BlockManifest | null;
6
6
  export type FirstIncompleteBlock = Readonly<{
7
7
  blockId: EditorBlockId;
8
8
  kind: string;
@@ -137,6 +137,10 @@ export type BlockValidationState = {
137
137
  hasMeaningfulEdit: (blockId: EditorBlockId) => boolean;
138
138
  showAllValidation: (blockId: EditorBlockId) => boolean;
139
139
  setShowAllValidation: (blockId: EditorBlockId, visible: boolean) => void;
140
+ setValidationManifests: (manifests: readonly Readonly<{
141
+ blockId: EditorBlockId;
142
+ manifest: import('../../../blocks/src/index').BlockManifest;
143
+ }>[]) => void;
140
144
  clearBlock: (blockId: EditorBlockId) => void;
141
145
  clearAll: () => void;
142
146
  getTouchedPaths: (blockId: EditorBlockId) => ReadonlySet<string>;