@riverbankcms/sdk 0.152.0 → 0.153.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 (178) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-veN-QiAE.mjs} +1 -1
  3. package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-jI_4DTZY.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-ORkVZhfu.mjs} +3 -3
  5. package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-DaNqevI1.mjs} +221 -115
  6. package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-CgNuBHC0.mjs} +1798 -2024
  7. package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-X2UxhW6F.mjs} +213 -38
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +52 -52
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +2357 -7859
  10. package/dist/_dts/api/src/communications.d.ts +19 -5
  11. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  12. package/dist/_dts/api/src/sdkThemeWire.d.ts +186 -1434
  13. package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
  14. package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
  15. package/dist/_dts/api/src/teamMembers.d.ts +2 -27
  16. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
  17. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  18. package/dist/_dts/blocks/src/index.d.ts +1 -0
  19. package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
  20. package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
  21. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
  22. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +196 -804
  24. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
  25. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +45 -45
  27. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
  28. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
  30. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
  31. package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
  32. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
  33. package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
  34. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  36. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
  37. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +2 -2
  41. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
  42. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
  43. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +2 -2
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  46. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +276 -884
  48. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
  49. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
  50. package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
  51. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
  53. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  54. package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
  55. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
  56. package/dist/_dts/core/src/mailing-list-setup.d.ts +9 -1
  57. package/dist/_dts/core/src/mailing-list-submission.d.ts +1 -1
  58. package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
  59. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +55 -4
  60. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  61. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  62. package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
  63. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
  64. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
  65. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
  66. package/dist/_dts/media-core/src/index.d.ts +4 -0
  67. package/dist/_dts/media-core/src/media.d.ts +406 -0
  68. package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
  69. package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
  70. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
  71. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  72. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
  73. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
  74. package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
  75. package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
  76. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  77. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
  78. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
  79. package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
  80. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
  81. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
  82. package/dist/_dts/media-editor/src/types.d.ts +1 -1
  83. package/dist/_dts/media-editor/src/utils.d.ts +0 -1
  84. package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
  85. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
  86. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
  87. package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
  88. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
  89. package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
  90. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  91. package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
  92. package/dist/_dts/sdk/src/index.d.ts +1 -0
  93. package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
  94. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
  95. package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
  96. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
  97. package/dist/_dts/sdk/src/version.d.ts +1 -1
  98. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
  100. package/dist/_dts/theme-core/src/buttons/types.d.ts +21 -21
  101. package/dist/_dts/theme-core/src/cards/types.d.ts +34 -34
  102. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  103. package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
  104. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +261 -2619
  105. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
  106. package/dist/_dts/theme-core/src/schema.d.ts +548 -3187
  107. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  108. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
  109. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  110. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  111. package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
  112. package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
  113. package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-DrchYW1m.mjs} +2 -2
  114. package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-CC_GVmF6.mjs} +5 -4
  115. package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-Dq30m3DO.mjs} +1 -1
  116. package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-ojwbVUmx.mjs} +2 -2
  117. package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-DyN0v0Xk.mjs} +5 -6
  118. package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-CgfpKc3n.mjs} +2 -2
  119. package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-CuOuvYMz.mjs} +2 -2
  120. package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-B0WhRr3j.mjs} +1 -1
  121. package/dist/client/{RichText-BoDmnopf.mjs → RichText-C1fIXBzA.mjs} +45 -32
  122. package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-B7HFqFBg.mjs} +1 -2
  123. package/dist/client/{accordion-DOkRS64-.mjs → accordion-DCDVWSye.mjs} +1 -1
  124. package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-BJ3C4GlM.mjs} +42 -15
  125. package/dist/client/bookings.mjs +116989 -22191
  126. package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-BSCBhfHY.mjs} +2 -2
  127. package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-GEtOGsxo.mjs} +1 -1
  128. package/dist/client/{cart-OBBPlaH4.mjs → cart-Yv-aAtck.mjs} +3 -3
  129. package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-B9xDkl30.mjs} +3 -3
  130. package/dist/client/client.mjs +17577 -17361
  131. package/dist/client/{context-BI77UFAn.mjs → context-BOGe3rIA.mjs} +1 -1
  132. package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-D6M0T9hs.mjs} +8 -9
  133. package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-NM4UFBq8.mjs} +4 -4
  134. package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-f_FhV4O8.mjs} +3 -3
  135. package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-WLkfAROh.mjs} +4 -4
  136. package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-D3ejfLvW.mjs} +10 -10
  137. package/dist/client/{form-DW8rU7jO.mjs → form-D5Or2Jyu.mjs} +4 -5
  138. package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-hWgnv27V.mjs} +3 -3
  139. package/dist/client/hooks.mjs +16014 -15751
  140. package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-Di1K0O2S.mjs} +3 -4
  141. package/dist/client/{media-C5K_0xPd.mjs → media-D29-F1u_.mjs} +183 -362
  142. package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
  143. package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-CwxcwTNO.mjs} +4 -4
  144. package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BLSnhPdA.mjs} +3 -3
  145. package/dist/client/{productList-u9Lz8V15.mjs → productList-oGytONOX.mjs} +3 -3
  146. package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-lf_dTeZS.mjs} +1467 -125
  147. package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
  148. package/dist/client/rendering/client.mjs +10855 -10689
  149. package/dist/client/rendering/islands.mjs +20 -23
  150. package/dist/client/rendering.mjs +18411 -18181
  151. package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Bc_WVPS8.mjs} +1 -1
  152. package/dist/client/{shop-B_eykR-_.mjs → shop-BQ3bR7fA.mjs} +7 -7
  153. package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-DDPll6ZC.mjs} +8 -8
  154. package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-DO-e1pTe.mjs} +1 -1
  155. package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-BylM9jh1.mjs} +5 -5
  156. package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-B1Puub2v.mjs} +1 -1
  157. package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BBhkmQaT.mjs} +6 -7
  158. package/dist/preview-next/before-render.mjs +89 -4
  159. package/dist/preview-next/client/runtime.mjs +3 -3
  160. package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DWCvhJGu.mjs} +1 -1
  161. package/dist/server/components.mjs +18663 -18510
  162. package/dist/server/config-validation.mjs +450 -215
  163. package/dist/server/config.mjs +450 -215
  164. package/dist/server/data.mjs +15940 -15705
  165. package/dist/server/index.mjs +227 -2
  166. package/dist/server/next.mjs +18643 -18490
  167. package/dist/server/page-converter.mjs +12588 -12477
  168. package/dist/server/prebuild.mjs +1 -1
  169. package/dist/server/rendering/server.mjs +18007 -17855
  170. package/dist/server/rendering.mjs +18677 -18516
  171. package/dist/server/routing.mjs +17747 -17469
  172. package/dist/server/server.mjs +539 -276
  173. package/dist/server/theme-bridge.mjs +154 -37
  174. package/dist/server/theme.mjs +154 -37
  175. package/dist/{spinner-B-ab2rJp.mjs → spinner-BYM-Y81w.mjs} +1 -1
  176. package/package.json +1 -1
  177. package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
  178. package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
@@ -0,0 +1,29 @@
1
+ import { type ManagedMediaResolution, type RenderableMediaAssetIndex } from '../../media-core/src/index';
2
+ import type { MediaValue } from './types';
3
+ import { type CropEditorSource } from './cropEditorSource';
4
+ type EditorMediaResolution = ManagedMediaResolution<MediaValue>;
5
+ type IneligibleCrop = Readonly<{
6
+ kind: 'ineligible';
7
+ }>;
8
+ export type EditorMediaState = Readonly<{
9
+ resolution: undefined;
10
+ crop: IneligibleCrop;
11
+ }> | Readonly<{
12
+ resolution: Extract<EditorMediaResolution, {
13
+ kind: 'missing';
14
+ }>;
15
+ crop: IneligibleCrop | Readonly<{
16
+ kind: 'missing';
17
+ }>;
18
+ }> | Readonly<{
19
+ resolution: Extract<EditorMediaResolution, {
20
+ kind: 'resolved';
21
+ }>;
22
+ crop: IneligibleCrop | Readonly<{
23
+ kind: 'ready';
24
+ source: CropEditorSource;
25
+ }>;
26
+ }>;
27
+ /** Decide source availability and crop eligibility once for all editor consumers. */
28
+ export declare function resolveEditorMediaState(reference: MediaValue | undefined, index: RenderableMediaAssetIndex | undefined): EditorMediaState;
29
+ export {};
@@ -6,6 +6,5 @@ export type BuildPersistableMediaValueOptions = Readonly<{
6
6
  mediaKind: PersistableMediaValue['type'];
7
7
  previousValue: MediaValue | undefined;
8
8
  poster: MediaValue['poster'] | undefined;
9
- publicUrl?: string;
10
9
  }>;
11
- export declare function buildPersistableMediaValue({ asset, mediaKind, previousValue, poster, publicUrl, }: BuildPersistableMediaValueOptions): PersistableMediaValue;
10
+ export declare function buildPersistableMediaValue({ asset, mediaKind, previousValue, poster, }: BuildPersistableMediaValueOptions): PersistableMediaValue;
@@ -1,13 +1,14 @@
1
1
  import type { MediaAssetIndexItem } from '../../blocks/src/index';
2
+ import { indexRenderableMediaAssets } from '../../media-core/src/index';
2
3
  export type RuntimeMediaAssetState = Readonly<{
3
4
  siteId: string;
4
5
  baseAssets: readonly MediaAssetIndexItem[];
5
6
  registeredAssets: readonly MediaAssetIndexItem[];
7
+ mediaAssetIndex: ReturnType<typeof indexRenderableMediaAssets>;
6
8
  }>;
7
9
  export type RuntimeMediaAssetAction = Readonly<{
8
10
  type: 'siteSnapshotReplaced';
9
- siteId: string;
10
- baseAssets: readonly MediaAssetIndexItem[];
11
+ snapshot: RuntimeMediaAssetState;
11
12
  }> | Readonly<{
12
13
  type: 'assetRegistered';
13
14
  siteId: string;
@@ -16,8 +17,6 @@ export type RuntimeMediaAssetAction = Readonly<{
16
17
  export declare function createRuntimeMediaAssetState(siteId: string, baseAssets: readonly MediaAssetIndexItem[]): RuntimeMediaAssetState;
17
18
  export declare function reduceRuntimeMediaAssetState(state: RuntimeMediaAssetState, action: RuntimeMediaAssetAction): RuntimeMediaAssetState;
18
19
  /**
19
- * Returns a freshly deduped merge of base and runtime assets.
20
- * Callers should memoize the result if referential stability matters downstream.
20
+ * Returns the admitted list already owned by the current runtime index.
21
21
  */
22
22
  export declare function selectRuntimeMediaAssets(state: RuntimeMediaAssetState): readonly MediaAssetIndexItem[];
23
- export declare function createRuntimeMediaAssetSnapshotKey(siteId: string, assets: readonly MediaAssetIndexItem[]): string;
@@ -6,6 +6,6 @@ export type MediaTransform = NonNullable<Media['transform']>;
6
6
  * Re-export the canonical block/media value shape so media-editor, editor-blocks,
7
7
  * and app consumers all speak the same content contract.
8
8
  */
9
- export type MediaValue = Media;
9
+ export type MediaValue = PersistableMedia;
10
10
  /** A media editor output that satisfies the canonical block write contract. */
11
11
  export type PersistableMediaValue = PersistableMedia;
@@ -9,5 +9,4 @@ export declare const isAudioValue: (value: MediaValue | undefined) => boolean;
9
9
  export declare const isDocumentValue: (value: MediaValue | undefined) => boolean;
10
10
  export declare const isSpreadsheetValue: (value: MediaValue | undefined) => boolean;
11
11
  export declare const isArchiveValue: (value: MediaValue | undefined) => boolean;
12
- export declare const isSvgValue: (value: MediaValue | undefined) => boolean;
13
12
  export declare const buildPreviewParams: (value: MediaValue | undefined, targetAspectRatio?: number | string) => TransformParams;
@@ -3,4 +3,7 @@ export type CropperChangePolicy = {
3
3
  markUserEdit: boolean;
4
4
  persistRect: boolean;
5
5
  };
6
- export declare function resolveCropperChangePolicy(origin: CropperChangeOrigin): CropperChangePolicy;
6
+ export declare function resolveCropperChangePolicy(input: Readonly<{
7
+ origin: CropperChangeOrigin;
8
+ hasUserEdits: boolean;
9
+ }>): CropperChangePolicy;
@@ -49,3 +49,4 @@ export declare function clampCropperCoordinates(coords: CropperCoordinates, opti
49
49
  export declare function isSameCropperCoordinates(a: CropperCoordinates, b: CropperCoordinates): boolean;
50
50
  export declare function rotateHotspotForOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
51
51
  export declare function unrotateHotspotFromOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
52
+ export declare function isCropperCoordinates(value: unknown): value is CropperCoordinates;
@@ -37,6 +37,7 @@ type UseImageCropperControllerResult = {
37
37
  };
38
38
  cropConstraintMessage?: string;
39
39
  handleCropChange: (cropper: CropperRef) => void;
40
+ beginCropInteraction: () => void;
40
41
  handleHotspotPointer: (event: ReactPointerEvent<HTMLDivElement>) => void;
41
42
  resetCrop: () => void;
42
43
  };
@@ -5,7 +5,8 @@ import { type PreviewCustomizeSelectedImage } from './previewCustomizeSelectedMe
5
5
  type ChooseBackground = (override: BackgroundOverride, options?: Readonly<{
6
6
  selectedImage?: PreviewCustomizeSelectedImage;
7
7
  }>) => void;
8
- export declare function BackgroundChooser({ capability, current, imagePoolStatus, onChoose, }: {
8
+ export declare function BackgroundChooser({ editingSlot, capability, current, imagePoolStatus, onChoose, }: {
9
+ editingSlot: string;
9
10
  capability: BackgroundCapability;
10
11
  current: BackgroundOverride;
11
12
  imagePoolStatus: 'idle' | 'loading' | 'loaded' | 'failed';
@@ -1,28 +1,27 @@
1
- import type { MediaAssetId } from '../../../../core/src/index';
2
1
  import type { Media } from '../../../../blocks/src/index';
2
+ import { type RenderableMediaAssetIndex, type RenderableMediaAsset } from '../../../../media-core/src/index';
3
3
  import type { BackgroundImagePoolItem, BackgroundImagePoolMediaAsset, BackgroundOverride } from '../../../../blocks/src/system/customize/backgrounds';
4
- export type PreviewCustomizeRenderableImageSource = Readonly<{
5
- id: MediaAssetId;
6
- identifier?: string | null;
7
- storageBucket?: string | null;
8
- storagePath?: string | null;
4
+ export type PreviewCustomizeRenderableImageSource = Omit<RenderableMediaAsset, 'width' | 'height'> & Readonly<{
9
5
  width?: number | null;
10
6
  height?: number | null;
11
- mimeType?: string | null;
12
7
  }>;
13
8
  export type PreviewCustomizeSelectedImage = Readonly<{
14
- mediaId: MediaAssetId;
9
+ reference: Extract<Media, {
10
+ type: 'image';
11
+ }>;
15
12
  imageAsset: BackgroundImagePoolMediaAsset;
16
13
  }>;
17
- export declare function selectedImageFromMediaValue(value: Media | undefined): PreviewCustomizeSelectedImage | null;
18
- export declare function selectedImageFromRenderableAsset(asset: PreviewCustomizeRenderableImageSource): PreviewCustomizeSelectedImage;
14
+ export declare function selectedImageFromMediaValue(value: Media | undefined, index: RenderableMediaAssetIndex | undefined): PreviewCustomizeSelectedImage | null;
15
+ export declare function selectedImageFromRenderableAsset(source: PreviewCustomizeRenderableImageSource): PreviewCustomizeSelectedImage;
19
16
  export declare function imagePoolWithSelectedImage(input: Readonly<{
20
17
  imagePool: readonly BackgroundImagePoolItem[];
21
18
  override: BackgroundOverride;
22
19
  selectedImage: PreviewCustomizeSelectedImage | undefined;
23
20
  }>): readonly BackgroundImagePoolItem[];
24
- export declare function selectedOrPooledImageAssetForMediaId(input: Readonly<{
21
+ export declare function selectedOrPooledImageAssetForReference(input: Readonly<{
25
22
  imagePool: readonly BackgroundImagePoolItem[] | undefined;
26
- mediaId: MediaAssetId;
23
+ reference: Extract<Media, {
24
+ type: 'image';
25
+ }>;
27
26
  selectedImage: PreviewCustomizeSelectedImage | undefined;
28
27
  }>): BackgroundImagePoolMediaAsset | undefined;
@@ -40,51 +40,8 @@ export type AuthoredLinkValue = BlocksAuthoredLinkValue;
40
40
  * persistence must narrow to a persistable lifecycle value first.
41
41
  */
42
42
  export type LinkValue = BlocksLinkValue;
43
- export type MediaTypeDiscriminant = 'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive';
44
- export type Media = {
45
- type: MediaTypeDiscriminant;
46
- purpose?: string;
47
- placeholder?: boolean;
48
- assetId?: string;
49
- identifier?: string;
50
- src?: string;
51
- alt?: string;
52
- filename?: string;
53
- mimeType?: string;
54
- width?: number;
55
- height?: number;
56
- storageBucket?: string;
57
- storagePath?: string;
58
- poster?: {
59
- tag: 'storage';
60
- assetId?: string;
61
- storageBucket: string;
62
- storagePath: string;
63
- } | {
64
- tag: 'external-src';
65
- assetId?: string;
66
- src: string;
67
- };
68
- transform?: {
69
- aspectCrops?: Record<string, {
70
- aspect?: string;
71
- rect?: [number, number, number, number];
72
- hotspot?: {
73
- x: number;
74
- y: number;
75
- radius?: number;
76
- };
77
- rotation?: 0 | 90 | 180 | 270;
78
- }>;
79
- rect?: [number, number, number, number];
80
- hotspot?: {
81
- x: number;
82
- y: number;
83
- radius?: number;
84
- };
85
- rotation?: 0 | 90 | 180 | 270;
86
- };
87
- };
43
+ /** Portable managed references and explicit runtime sources share the canonical contracts. */
44
+ export type { Media, PersistableMedia, MediaIdentifier, MediaTypeDiscriminant, MediaPoster, ExternalMedia, AssetMedia, RuntimeMedia, RuntimeMediaOfType, RenderableMediaAsset, RenderableMediaAssetIndex, ManagedMediaResolution, } from '../../../media-core/src/index';
88
45
  export type RichTextVariant = 'full' | 'inline' | 'limited' | 'media' | 'notes';
89
46
  export type RichTextPrimitiveProps = {
90
47
  as?: React.ElementType;
@@ -1,4 +1,4 @@
1
- export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
1
+ export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, PersistableMedia, MediaIdentifier, MediaTypeDiscriminant, MediaPoster, ExternalMedia, AssetMedia, RuntimeMedia, RuntimeMediaOfType, RenderableMediaAsset, RenderableMediaAssetIndex, ManagedMediaResolution, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
2
2
  export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardRole, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, IntroContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, OfferingsPreviewContent, ProductDetailContent, ProductListContent, RecurringScheduleContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
3
3
  export type { PageOutline, PageRuntimeJoin, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
4
4
  export type { Theme, ThemeTokens } from './theme';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Public SDK rendering contracts.
3
3
  */
4
- import type { Media } from './content';
4
+ import type { RuntimeMedia } from './content';
5
5
  export type ImageOptions = {
6
6
  width: number;
7
7
  height?: number;
@@ -72,5 +72,5 @@ export type ResolveImageSourceSetOptions = {
72
72
  targetAspectRatio?: number;
73
73
  defaultWidth?: number;
74
74
  };
75
- export type ResolveImageUrl = (value: Media, options: ImageOptions) => string | undefined;
76
- export type ResolveImageUrlWithContext = (value: Media, options: ImageOptions, context?: ResolveImageUrlContext) => string | undefined;
75
+ export type ResolveImageUrl = (value: RuntimeMedia, options: ImageOptions) => string | undefined;
76
+ export type ResolveImageUrlWithContext = (value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext) => string | undefined;
@@ -30,3 +30,4 @@ export { DEFAULT_PUBLISHED_RUNTIME_CACHE_PAYLOAD_SCHEMA_VERSION, classifyPublish
30
30
  export type { ClassifyPublishedRuntimeCacheFreshnessInput, DerivePublishedRuntimeCacheKeyInput, DerivePublishedRuntimeCacheKeyResult, GetContentByPathRuntimeCacheParams, GetSiteRuntimeCacheParams, ParsePublishedRuntimeCacheKeyResult, ParsePublishedRuntimeCacheKeyDetailsResult, ParsePublishedRuntimeCachePayloadSchemaVersionResult, PublishedRuntimeCacheAdapter, PublishedRuntimeCacheAdapterErrorKind, PublishedRuntimeCacheFreshness, PublishedRuntimeCacheKey, PublishedRuntimeCacheKeyEndpoint, PublishedRuntimeCacheKeyError, PublishedRuntimeCachePayloadSchemaVersion, PublishedRuntimeCacheReadInput, PublishedRuntimeCacheReadResult, PublishedRuntimeCacheWriteInput, PublishedRuntimeNormalizedParams, ResolveRuntimeCachePolicyInput, RuntimeCacheLiveOnlyReason, RuntimeCacheParams, RuntimeCachePolicy, RuntimeCachePolicyKind, } from './client/runtimeCachePolicy';
31
31
  export type { RiverbankSiteConfig, SiteStyleConfig, SectionBackground, SectionOptionsConfig, ContainerOptionsConfig, SectionSpacing, ContainerMaxWidth, ContainerAlignment, } from './config';
32
32
  export { SYSTEM_BLOCK_KINDS, type SystemBlockKind, type CustomBlockKind, type BlockKind, } from './types';
33
+ export { mediaIdentifierSchema, mediaSchema, persistableMediaSchema, runtimeMediaSchema, renderableMediaAssetSchema, buildRenderableMediaAssetIndex, resolveManagedMediaReference, parseCanonicalMediaIdentifier, parseMediaIdentifier } from '../../media-core/src/index';
@@ -1,7 +1,7 @@
1
1
  import type { CSSProperties } from 'react';
2
- import type { ImageOptions, Media, ResolvedImageSourceSet, ResolveImageSourceSetOptions, ResolveImageUrlContext } from '../contracts';
2
+ import type { ImageOptions, RuntimeMedia, ResolvedImageSourceSet, ResolveImageSourceSetOptions, ResolveImageUrlContext } from '../contracts';
3
3
  /** Resolve URL and framing together for custom `<img>` renderers. */
4
- export declare function resolveImageRenderProps(value: Media, options: ImageOptions, rendering?: {
4
+ export declare function resolveImageRenderProps(value: RuntimeMedia, options: ImageOptions, rendering?: {
5
5
  aspectRatio?: number | string;
6
6
  style?: CSSProperties;
7
7
  context?: ResolveImageUrlContext;
@@ -9,6 +9,6 @@ export declare function resolveImageRenderProps(value: Media, options: ImageOpti
9
9
  src: string;
10
10
  style?: CSSProperties;
11
11
  } | undefined;
12
- export declare function resolveImageUrl(value: Media, options: ImageOptions, context?: ResolveImageUrlContext): string | undefined;
13
- export declare function resolveImageUrlWithContext(value: Media, options: ImageOptions, context?: ResolveImageUrlContext, transformAspectRatio?: number | string): string | undefined;
14
- export declare function resolveImageSourceSetWithContext(value: Media, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext): ResolvedImageSourceSet | undefined;
12
+ export declare function resolveImageUrl(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext): string | undefined;
13
+ export declare function resolveImageUrlWithContext(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext, transformAspectRatio?: number | string): string | undefined;
14
+ export declare function resolveImageSourceSetWithContext(value: RuntimeMedia, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext): ResolvedImageSourceSet | undefined;
@@ -21,7 +21,7 @@ export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } fro
21
21
  export type { LoadContentParams, LoadContentResult, ContentEntryData, PagePreviewMetadata, SiteData, } from './helpers/loadContent';
22
22
  export { buildFooterRenderablePageOutline } from './helpers/footerPageOutline';
23
23
  export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
24
- export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, CardRole, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, IntroContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, OfferingsPreviewContent, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
24
+ export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, CardRole, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, IntroContent, LayoutAlign, LayoutWidth, Media, PersistableMedia, MediaIdentifier, MediaTypeDiscriminant, MediaPoster, ExternalMedia, AssetMedia, RuntimeMedia, RuntimeMediaOfType, RenderableMediaAsset, RenderableMediaAssetIndex, ManagedMediaResolution, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, OfferingsPreviewContent, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
25
25
  export { ImagePresets } from '../contracts';
26
26
  export { RichText } from './primitives/RichText';
27
27
  export { resolveImageUrl, resolveImageRenderProps, resolveImageUrlWithContext, resolveImageSourceSetWithContext, } from './image';
@@ -79,5 +79,6 @@ export { defineBlockOverrideRegistrations, defineBlockOverrides, defineLazyBlock
79
79
  * }
80
80
  * ```
81
81
  */
82
+ export { mediaIdentifierSchema, mediaSchema, persistableMediaSchema, runtimeMediaSchema, renderableMediaAssetSchema, buildRenderableMediaAssetIndex, resolveManagedMediaReference, parseCanonicalMediaIdentifier, parseMediaIdentifier } from '../../../media-core/src/index';
82
83
  export { resolveLinkHref } from './link';
83
84
  export type { LinkResolveContext } from './link';
@@ -1,9 +1,5 @@
1
- import type { LinkValue, RouteMap } from '../contracts';
2
- export type LinkResolveContext = {
3
- routes?: RouteMap;
4
- pagesByIdentifier?: Record<string, string>;
5
- entriesByIdentifier?: Record<string, Record<string, string>>;
6
- stage?: 'preview' | 'published';
7
- };
1
+ import { type LinkResolverContext } from '../../../blocks/src/system/transforms/registry/index';
2
+ import type { LinkValue } from '../contracts';
3
+ export type LinkResolveContext = LinkResolverContext;
8
4
  /** Resolve authored references with the same route and stage rules as system blocks. */
9
5
  export declare function resolveLinkHref(link: LinkValue | null | undefined, context?: LinkResolveContext): string | null;
@@ -1,8 +1,6 @@
1
- import { type MediaAssetId } from '../../../core/src/index';
1
+ import { type RenderableMediaAsset } from '../../../media-core/src/index';
2
2
  import type { MediaAssetIndexItem as SdkMediaAssetIndexItem, ResolveImageUrlContextInput as SdkResolveImageUrlContextInput } from '../contracts';
3
- export type BlocksMediaAssetIndexItem = Omit<SdkMediaAssetIndexItem, 'id'> & Readonly<{
4
- id: MediaAssetId;
5
- }>;
3
+ export type BlocksMediaAssetIndexItem = RenderableMediaAsset;
6
4
  export type BlocksImageResolveContextInput = Omit<SdkResolveImageUrlContextInput, 'mediaAssets'> & Readonly<{
7
5
  mediaAssets?: readonly BlocksMediaAssetIndexItem[];
8
6
  }>;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.152.0";
11
+ export declare const SDK_VERSION = "0.153.0";
@@ -29,8 +29,8 @@ export declare const accordionSystemSchema: z.ZodObject<{
29
29
  medium: "medium";
30
30
  compact: "compact";
31
31
  spacious: "spacious";
32
- cozy: "cozy";
33
32
  comfortable: "comfortable";
33
+ cozy: "cozy";
34
34
  }>;
35
35
  corners: z.ZodNullable<z.ZodEnum<{
36
36
  soft: "soft";