@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.
- package/CHANGELOG.md +15 -0
- package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-veN-QiAE.mjs} +1 -1
- package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-jI_4DTZY.mjs} +4 -4
- package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-ORkVZhfu.mjs} +3 -3
- package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-DaNqevI1.mjs} +221 -115
- package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-CgNuBHC0.mjs} +1798 -2024
- package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-X2UxhW6F.mjs} +213 -38
- package/dist/_dts/ai/src/contracts/proposals.d.ts +52 -52
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +2357 -7859
- package/dist/_dts/api/src/communications.d.ts +19 -5
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/sdkThemeWire.d.ts +186 -1434
- package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
- package/dist/_dts/api/src/teamMembers.d.ts +2 -27
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +196 -804
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +45 -45
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
- package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
- package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +276 -884
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
- package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +1 -1
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +55 -4
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
- package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
- package/dist/_dts/media-core/src/index.d.ts +4 -0
- package/dist/_dts/media-core/src/media.d.ts +406 -0
- package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
- package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
- package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
- package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
- package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
- package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
- package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
- package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
- package/dist/_dts/media-editor/src/types.d.ts +1 -1
- package/dist/_dts/media-editor/src/utils.d.ts +0 -1
- package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
- package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
- package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
- package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
- package/dist/_dts/sdk/src/index.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
- package/dist/_dts/theme-core/src/buttons/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/cards/types.d.ts +34 -34
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +261 -2619
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +548 -3187
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
- package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
- package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-DrchYW1m.mjs} +2 -2
- package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-CC_GVmF6.mjs} +5 -4
- package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-Dq30m3DO.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-ojwbVUmx.mjs} +2 -2
- package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-DyN0v0Xk.mjs} +5 -6
- package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-CgfpKc3n.mjs} +2 -2
- package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-CuOuvYMz.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-B0WhRr3j.mjs} +1 -1
- package/dist/client/{RichText-BoDmnopf.mjs → RichText-C1fIXBzA.mjs} +45 -32
- package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-B7HFqFBg.mjs} +1 -2
- package/dist/client/{accordion-DOkRS64-.mjs → accordion-DCDVWSye.mjs} +1 -1
- package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-BJ3C4GlM.mjs} +42 -15
- package/dist/client/bookings.mjs +116989 -22191
- package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-BSCBhfHY.mjs} +2 -2
- package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-GEtOGsxo.mjs} +1 -1
- package/dist/client/{cart-OBBPlaH4.mjs → cart-Yv-aAtck.mjs} +3 -3
- package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-B9xDkl30.mjs} +3 -3
- package/dist/client/client.mjs +17577 -17361
- package/dist/client/{context-BI77UFAn.mjs → context-BOGe3rIA.mjs} +1 -1
- package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-D6M0T9hs.mjs} +8 -9
- package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-NM4UFBq8.mjs} +4 -4
- package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-f_FhV4O8.mjs} +3 -3
- package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-WLkfAROh.mjs} +4 -4
- package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-D3ejfLvW.mjs} +10 -10
- package/dist/client/{form-DW8rU7jO.mjs → form-D5Or2Jyu.mjs} +4 -5
- package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-hWgnv27V.mjs} +3 -3
- package/dist/client/hooks.mjs +16014 -15751
- package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-Di1K0O2S.mjs} +3 -4
- package/dist/client/{media-C5K_0xPd.mjs → media-D29-F1u_.mjs} +183 -362
- package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
- package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-CwxcwTNO.mjs} +4 -4
- package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BLSnhPdA.mjs} +3 -3
- package/dist/client/{productList-u9Lz8V15.mjs → productList-oGytONOX.mjs} +3 -3
- package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-lf_dTeZS.mjs} +1467 -125
- package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
- package/dist/client/rendering/client.mjs +10855 -10689
- package/dist/client/rendering/islands.mjs +20 -23
- package/dist/client/rendering.mjs +18411 -18181
- package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Bc_WVPS8.mjs} +1 -1
- package/dist/client/{shop-B_eykR-_.mjs → shop-BQ3bR7fA.mjs} +7 -7
- package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-DDPll6ZC.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-DO-e1pTe.mjs} +1 -1
- package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-BylM9jh1.mjs} +5 -5
- package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-B1Puub2v.mjs} +1 -1
- package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BBhkmQaT.mjs} +6 -7
- package/dist/preview-next/before-render.mjs +89 -4
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DWCvhJGu.mjs} +1 -1
- package/dist/server/components.mjs +18663 -18510
- package/dist/server/config-validation.mjs +450 -215
- package/dist/server/config.mjs +450 -215
- package/dist/server/data.mjs +15940 -15705
- package/dist/server/index.mjs +227 -2
- package/dist/server/next.mjs +18643 -18490
- package/dist/server/page-converter.mjs +12588 -12477
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +18007 -17855
- package/dist/server/rendering.mjs +18677 -18516
- package/dist/server/routing.mjs +17747 -17469
- package/dist/server/server.mjs +539 -276
- package/dist/server/theme-bridge.mjs +154 -37
- package/dist/server/theme.mjs +154 -37
- package/dist/{spinner-B-ab2rJp.mjs → spinner-BYM-Y81w.mjs} +1 -1
- package/package.json +1 -1
- package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
- package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type
|
|
2
|
+
import { type PublicDownloadMediaType } from '../../../lib/media';
|
|
3
|
+
import { type RuntimeMedia } from './media';
|
|
3
4
|
import { type BlockButtonRole } from '../../constants/buttonRoles';
|
|
4
5
|
export type FileDownloadNodeProps = Readonly<{
|
|
5
|
-
value?:
|
|
6
|
+
value?: RuntimeMedia | null;
|
|
6
7
|
title?: string | null;
|
|
7
8
|
description?: string | null;
|
|
8
9
|
buttonLabel?: string | null;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type
|
|
2
|
+
import { type RuntimeMedia, type ManagedMediaResolution, type ResolvedMediaTransform, type DirectImageUrlOptions } from '../../../../../media-core/src/index';
|
|
3
3
|
import type { Media } from '../../../lib/media';
|
|
4
|
+
import { type ResolveImageUrlContext } from './mediaContext';
|
|
5
|
+
export { buildMediaAssetIndex, buildResolveImageUrlContext, getCurrentResolveImageUrlContext, getSiteId, getSupabaseUrl, runWithMediaContext, setContextSupabaseUrl, setContextSiteId, setContextMediaAssetIndex, setContextMediaAssets, setContextResolveImageUrlContext, } from './mediaContext';
|
|
6
|
+
export type { MediaAssetIndex, MediaAssetIndexItem, ResolveImageUrlContext, ResolveImageUrlContextInput } from './mediaContext';
|
|
7
|
+
export type { RuntimeMedia } from '../../../../../media-core/src/index';
|
|
4
8
|
/**
|
|
5
9
|
* Options for image URL resolution.
|
|
6
10
|
* Requires either dimensions or explicit original request.
|
|
@@ -18,24 +22,6 @@ export type ImageOptions = {
|
|
|
18
22
|
} | {
|
|
19
23
|
original: true;
|
|
20
24
|
};
|
|
21
|
-
export type ResolveImageUrlContext = {
|
|
22
|
-
supabaseUrl?: string;
|
|
23
|
-
siteId?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Optional per-call media asset index for resolving identifier-only media values
|
|
26
|
-
* without mutating persisted content shapes.
|
|
27
|
-
*/
|
|
28
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
29
|
-
};
|
|
30
|
-
export type ResolveImageUrlContextInput = Readonly<{
|
|
31
|
-
supabaseUrl?: string;
|
|
32
|
-
siteId?: string;
|
|
33
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
34
|
-
mediaAssets?: readonly MediaAssetIndexItem[];
|
|
35
|
-
}>;
|
|
36
|
-
export type MediaAssetIndexItem = RenderableMediaAsset;
|
|
37
|
-
export type MediaAssetIndex = RenderableMediaAssetIndex;
|
|
38
|
-
export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
|
|
39
25
|
export type ResolveImageSourceSetOptions = {
|
|
40
26
|
widthCandidates?: readonly number[];
|
|
41
27
|
sizes?: string;
|
|
@@ -78,9 +64,8 @@ export type MediaUrlResolution = Readonly<{
|
|
|
78
64
|
assetId?: string;
|
|
79
65
|
identifier?: string | null;
|
|
80
66
|
}>;
|
|
81
|
-
export declare function
|
|
82
|
-
export declare function
|
|
83
|
-
export declare function resolveMediaStorageUrlResult(value: Media, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
|
|
67
|
+
export declare function resolveMediaStorageUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): string | undefined;
|
|
68
|
+
export declare function resolveMediaStorageUrlResult(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
|
|
84
69
|
/**
|
|
85
70
|
* Common image size presets.
|
|
86
71
|
* Use these for consistent sizing across the application.
|
|
@@ -111,68 +96,15 @@ export declare const ImagePresets: {
|
|
|
111
96
|
readonly resize: "contain";
|
|
112
97
|
};
|
|
113
98
|
};
|
|
114
|
-
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*/
|
|
118
|
-
type MediaContext = {
|
|
119
|
-
supabaseUrl?: string;
|
|
120
|
-
siteId?: string;
|
|
121
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Run a function with the given media context.
|
|
125
|
-
* On server: Uses AsyncLocalStorage to isolate context per request.
|
|
126
|
-
* On client: Temporarily sets module-level context for the duration of the call.
|
|
127
|
-
*
|
|
128
|
-
* @example
|
|
129
|
-
* ```tsx
|
|
130
|
-
* runWithMediaContext(
|
|
131
|
-
* { supabaseUrl: 'https://...', siteId: 'abc-123' },
|
|
132
|
-
* () => renderPage(page)
|
|
133
|
-
* )
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
|
|
137
|
-
/**
|
|
138
|
-
* Set the Supabase URL in the current context.
|
|
139
|
-
* @deprecated Use runWithMediaContext instead for request isolation.
|
|
140
|
-
*/
|
|
141
|
-
export declare function setContextSupabaseUrl(url: string | undefined): void;
|
|
142
|
-
/**
|
|
143
|
-
* Set the site ID in the current context.
|
|
144
|
-
* @deprecated Use runWithMediaContext instead for request isolation.
|
|
145
|
-
*/
|
|
146
|
-
export declare function setContextSiteId(siteId: string | undefined): void;
|
|
147
|
-
export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
|
|
148
|
-
export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
|
|
149
|
-
export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
|
|
150
|
-
export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
|
|
151
|
-
/**
|
|
152
|
-
* Get the Supabase URL for constructing direct storage URLs.
|
|
153
|
-
* Used for serving images directly from Supabase storage CDN.
|
|
154
|
-
*
|
|
155
|
-
* Resolution order:
|
|
156
|
-
* 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
|
|
157
|
-
* 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
|
|
158
|
-
*
|
|
159
|
-
* SDK sites receive the URL from the API, so they don't need the env var.
|
|
160
|
-
* Dashboard and frontend apps use the env var.
|
|
161
|
-
*/
|
|
162
|
-
export declare function getSupabaseUrl(): string;
|
|
163
|
-
/**
|
|
164
|
-
* Get the site ID for constructing storage paths.
|
|
165
|
-
* Required for relative path resolution.
|
|
166
|
-
*/
|
|
167
|
-
export declare function getSiteId(): string | undefined;
|
|
168
|
-
export declare function resolveVideoPosterUrl(value: Media, context?: ResolveImageUrlContext | null): string | undefined;
|
|
169
|
-
export declare function resolveMediaWithContext<TMedia extends Media>(value: TMedia, context?: ResolveImageUrlContext | null): TMedia;
|
|
99
|
+
/** Resolve portable content without exposing runtime metadata as saved values. */
|
|
100
|
+
export declare function resolveMediaWithContext<TReference extends Media>(reference: TReference, context?: ResolveImageUrlContext | null): ManagedMediaResolution<TReference>;
|
|
101
|
+
export declare function resolveVideoPosterUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
|
|
170
102
|
export type MediaImageLoading = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['loading']>;
|
|
171
103
|
export type MediaImageFetchPriority = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['fetchPriority']>;
|
|
172
104
|
export type MediaNodeProps = {
|
|
173
105
|
"data-slot"?: string;
|
|
174
106
|
"data-surface"?: string;
|
|
175
|
-
value?:
|
|
107
|
+
value?: RuntimeMedia | null;
|
|
176
108
|
className?: string;
|
|
177
109
|
style?: React.CSSProperties;
|
|
178
110
|
children?: React.ReactNode;
|
|
@@ -196,7 +128,7 @@ export type MediaNodeProps = {
|
|
|
196
128
|
imageResolveContext?: ResolveImageUrlContext | null;
|
|
197
129
|
};
|
|
198
130
|
export type VideoPlaybackMode = 'inline' | 'background';
|
|
199
|
-
export declare function resolveMediaNodeResponsiveImage(value:
|
|
131
|
+
export declare function resolveMediaNodeResponsiveImage(value: RuntimeMedia, size: ImageOptions, style: React.CSSProperties | undefined, slot: {
|
|
200
132
|
fieldPath?: string;
|
|
201
133
|
blockKind?: string | null;
|
|
202
134
|
blockContent?: unknown;
|
|
@@ -207,14 +139,15 @@ export declare function resolveMediaNodeResponsiveImage(value: Media, size: Imag
|
|
|
207
139
|
resolvedTransform?: ResolvedMediaTransform;
|
|
208
140
|
isProxy?: boolean;
|
|
209
141
|
};
|
|
210
|
-
export declare function renderVideo(value:
|
|
142
|
+
export declare function renderVideo(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null, options?: {
|
|
211
143
|
playback?: VideoPlaybackMode;
|
|
212
144
|
}): React.ReactElement | null;
|
|
213
|
-
export declare function
|
|
214
|
-
export declare function
|
|
145
|
+
export declare function resolvePublicMediaUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
|
|
146
|
+
export declare function renderAudio(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null): React.ReactElement | null;
|
|
147
|
+
export declare function computeMediaTransformStyle(value: RuntimeMedia, style?: React.CSSProperties, targetAspectRatio?: number | string, options?: {
|
|
215
148
|
resolvedTransform?: ResolvedMediaTransform;
|
|
216
149
|
isProxy?: boolean;
|
|
217
|
-
}): React.CSSProperties | undefined;
|
|
150
|
+
}, context?: ResolveImageUrlContext | null): React.CSSProperties | undefined;
|
|
218
151
|
export declare const computeHotspotStyle: typeof computeMediaTransformStyle;
|
|
219
152
|
export declare function resolveTargetAspectRatio(size: ImageOptions): number | undefined;
|
|
220
153
|
export declare function MediaPlaceholder({ className, style, fieldPath, authoring, }: {
|
|
@@ -246,10 +179,9 @@ export declare const MediaNode: React.FC<MediaNodeProps>;
|
|
|
246
179
|
* resolveImageUrl(media, { original: true })
|
|
247
180
|
* ```
|
|
248
181
|
*/
|
|
249
|
-
export declare function resolveImageUrl(value:
|
|
250
|
-
export declare function resolveImageUrlResult(value:
|
|
251
|
-
export declare function resolveImageUrlWithContext(value:
|
|
252
|
-
export declare function resolveImageUrlWithContextResult(value:
|
|
253
|
-
export declare function resolveImageSourceSetWithContext(value:
|
|
182
|
+
export declare function resolveImageUrl(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): string | undefined;
|
|
183
|
+
export declare function resolveImageUrlResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): MediaUrlResolution;
|
|
184
|
+
export declare function resolveImageUrlWithContext(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): string | undefined;
|
|
185
|
+
export declare function resolveImageUrlWithContextResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): MediaUrlResolution;
|
|
186
|
+
export declare function resolveImageSourceSetWithContext(value: RuntimeMedia, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext | null): ResolvedImageSourceSet | undefined;
|
|
254
187
|
export declare function mediaImageHostProps(props: Pick<MediaNodeProps, 'value' | 'className' | 'loading' | 'fetchPriority' | 'data-slot' | 'data-surface'>, style: React.CSSProperties | undefined): React.ImgHTMLAttributes<HTMLImageElement> & Pick<MediaNodeProps, 'data-slot' | 'data-surface'>;
|
|
255
|
-
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type RenderableMediaAsset, type RenderableMediaAssetIndex } from '../../../../../media-core/src/index';
|
|
2
|
+
export type ResolveImageUrlContext = {
|
|
3
|
+
supabaseUrl?: string;
|
|
4
|
+
siteId?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Optional per-call media asset index for resolving identifier-only media values
|
|
7
|
+
* without mutating persisted content shapes.
|
|
8
|
+
*/
|
|
9
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
10
|
+
};
|
|
11
|
+
export type ResolveImageUrlContextInput = Readonly<{
|
|
12
|
+
supabaseUrl?: string;
|
|
13
|
+
siteId?: string;
|
|
14
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
15
|
+
mediaAssets?: readonly MediaAssetIndexItem[];
|
|
16
|
+
}>;
|
|
17
|
+
export type MediaAssetIndexItem = RenderableMediaAsset;
|
|
18
|
+
export type MediaAssetIndex = RenderableMediaAssetIndex;
|
|
19
|
+
export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
|
|
20
|
+
export declare function buildResolveImageUrlContext(input: ResolveImageUrlContextInput | undefined): ResolveImageUrlContext;
|
|
21
|
+
/**
|
|
22
|
+
* Media context for URL resolution.
|
|
23
|
+
* Contains site-specific values needed to build storage URLs.
|
|
24
|
+
*/
|
|
25
|
+
type MediaContext = {
|
|
26
|
+
supabaseUrl?: string;
|
|
27
|
+
siteId?: string;
|
|
28
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Run a function with the given media context.
|
|
32
|
+
* On server: Uses AsyncLocalStorage to isolate context per request.
|
|
33
|
+
* On client: Temporarily sets module-level context for the duration of the call.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* runWithMediaContext(
|
|
38
|
+
* { supabaseUrl: 'https://...', siteId: 'abc-123' },
|
|
39
|
+
* () => renderPage(page)
|
|
40
|
+
* )
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
|
|
44
|
+
export declare function setContextSupabaseUrl(url: string | undefined): void;
|
|
45
|
+
/** @deprecated Use runWithMediaContext for request isolation. */
|
|
46
|
+
export declare function setContextSiteId(siteId: string | undefined): void;
|
|
47
|
+
export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
|
|
48
|
+
export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
|
|
49
|
+
export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
|
|
50
|
+
export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get the Supabase URL for constructing direct storage URLs.
|
|
53
|
+
* Used for serving images directly from Supabase storage CDN.
|
|
54
|
+
*
|
|
55
|
+
* Resolution order:
|
|
56
|
+
* 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
|
|
57
|
+
* 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
|
|
58
|
+
*
|
|
59
|
+
* SDK sites receive the URL from the API, so they don't need the env var.
|
|
60
|
+
* Dashboard and frontend apps use the env var.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getSupabaseUrl(): string;
|
|
63
|
+
/**
|
|
64
|
+
* Get the site ID for constructing storage paths.
|
|
65
|
+
* Required for relative path resolution.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSiteId(): string | undefined;
|
|
68
|
+
export declare function getMediaAssetIndex(context?: ResolveImageUrlContext): MediaAssetIndex | undefined;
|
|
69
|
+
export {};
|
|
@@ -13,3 +13,4 @@ export declare const defaultTransforms: import("./core").TransformRegistry;
|
|
|
13
13
|
export { boxStyleClassNames } from "./_utils/boxStyleClassNames";
|
|
14
14
|
export { formattingTransforms, layoutTransforms, chromeLogoTransforms, uiTransforms, mediaTransforms, backgroundTransforms, linksTransforms, boxStylesTransforms, contentTransforms, headerRuntimeTransforms, };
|
|
15
15
|
export { resolveAuthoredLinkHref } from './links';
|
|
16
|
+
export type { LinkResolverContext } from '../../links/resolve';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { TransformDefinition } from "./core";
|
|
2
|
+
import { type LinkResolverContext } from "../../links/resolve";
|
|
3
3
|
export declare const resolveLinkTransform: TransformDefinition;
|
|
4
4
|
export declare const linkLabelTransform: TransformDefinition;
|
|
5
5
|
export declare const linksTransforms: TransformDefinition[];
|
|
6
|
-
export declare function resolveAuthoredLinkHref(value: unknown, context?:
|
|
6
|
+
export declare function resolveAuthoredLinkHref(value: unknown, context?: LinkResolverContext): string | null;
|
|
@@ -12,14 +12,14 @@ declare const BaseContentFieldSchema: z.ZodObject<{
|
|
|
12
12
|
text: "text";
|
|
13
13
|
group: "group";
|
|
14
14
|
url: "url";
|
|
15
|
+
file: "file";
|
|
16
|
+
datetime: "datetime";
|
|
15
17
|
textarea: "textarea";
|
|
16
18
|
select: "select";
|
|
17
19
|
media: "media";
|
|
18
20
|
reference: "reference";
|
|
19
|
-
repeater: "repeater";
|
|
20
|
-
file: "file";
|
|
21
|
-
datetime: "datetime";
|
|
22
21
|
button: "button";
|
|
22
|
+
repeater: "repeater";
|
|
23
23
|
richText: "richText";
|
|
24
24
|
}>;
|
|
25
25
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BrevoListId, MailchimpAudienceId, MailchimpInterestId } from './mailing-list-identifiers';
|
|
2
2
|
import { type Result } from './result';
|
|
3
|
-
import type { MailingListGlobalForm, MailingListSetupRevision, NativeMailingListTopicId } from './mailing-list-setup';
|
|
3
|
+
import type { MailingListGlobalForm, MailingListSetupRevision, NativeMailingListTopicId, NewsletterAudience } from './mailing-list-setup';
|
|
4
4
|
export type MailingListRuntimeContext = Readonly<{
|
|
5
5
|
tag: 'not_configured';
|
|
6
6
|
}> | Readonly<{
|
|
@@ -12,7 +12,7 @@ export type MailingListRuntimeContext = Readonly<{
|
|
|
12
12
|
}>;
|
|
13
13
|
export type MailingListRuntimeProvider = Readonly<{
|
|
14
14
|
provider: 'native';
|
|
15
|
-
|
|
15
|
+
defaultAudience: NewsletterAudience;
|
|
16
16
|
topics: readonly Readonly<{
|
|
17
17
|
id: NativeMailingListTopicId;
|
|
18
18
|
name: string;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import type { ConfiguredMailingListProvider, MailingListGlobalForm, MailingListSetupRevision, MailingListSiteSetup } from './mailing-list-setup';
|
|
1
|
+
import type { ConfiguredMailingListProvider, MailingListGlobalForm, MailingListSetupRevision, MailingListSiteSetup, NewsletterAudience } from './mailing-list-setup';
|
|
2
2
|
import { type Result } from './result';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export declare const newsletterAudienceSchema: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
|
|
5
|
+
kind: "general";
|
|
6
|
+
}> | Readonly<{
|
|
7
|
+
kind: "topic";
|
|
8
|
+
topicId: import("./mailing-list-setup").NativeMailingListTopicId;
|
|
9
|
+
}>, unknown>>;
|
|
3
10
|
export type MailingListSetupParseError = Readonly<{
|
|
4
11
|
tag: 'invalid_mailing_list_setup';
|
|
5
12
|
field: 'shape' | 'tag' | 'siteId' | 'revision' | 'form' | 'provider' | 'connectionId' | 'accountId' | 'defaultTargetId' | 'confirmation';
|
|
@@ -11,4 +18,5 @@ export type MailingListGlobalFormParseError = Readonly<{
|
|
|
11
18
|
export declare function parseMailingListGlobalForm(value: unknown): Result<MailingListGlobalForm, MailingListGlobalFormParseError>;
|
|
12
19
|
export declare function parseMailingListSiteSetup(value: unknown): Result<MailingListSiteSetup, MailingListSetupParseError>;
|
|
13
20
|
export declare function parseConfiguredMailingListProvider(value: unknown): Result<ConfiguredMailingListProvider, MailingListSetupParseError>;
|
|
21
|
+
export declare function parseNewsletterAudience(value: unknown): Result<NewsletterAudience, 'invalid_newsletter_audience'>;
|
|
14
22
|
export declare function parseMailingListSetupRevision(value: unknown): MailingListSetupRevision | null;
|
|
@@ -5,6 +5,14 @@ export type MailingListProvider = 'native' | 'mailchimp' | 'brevo';
|
|
|
5
5
|
/** The name shown to people for each provider; the native one is the product brand. */
|
|
6
6
|
export declare function mailingListProviderName(provider: MailingListProvider): string;
|
|
7
7
|
export type NativeMailingListTopicId = NewsletterListId;
|
|
8
|
+
/** An explicit subscription scope; absence of a topic never grants general consent. */
|
|
9
|
+
export type NewsletterAudience = Readonly<{
|
|
10
|
+
kind: 'general';
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: 'topic';
|
|
13
|
+
topicId: NativeMailingListTopicId;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function sameNewsletterAudience(left: NewsletterAudience, right: NewsletterAudience): boolean;
|
|
8
16
|
export type MailingListSetupRevision = Brand<number, 'MailingListSetupRevision'>;
|
|
9
17
|
export type MailingListProfileField = 'name' | 'first_name' | 'last_name' | 'company' | 'phone';
|
|
10
18
|
export type MailingListGlobalFields = Readonly<{
|
|
@@ -48,7 +56,7 @@ export type BrevoConfirmation = Readonly<{
|
|
|
48
56
|
}>;
|
|
49
57
|
export type NativeMailingListSetup = Readonly<{
|
|
50
58
|
provider: 'native';
|
|
51
|
-
|
|
59
|
+
defaultAudience: NewsletterAudience;
|
|
52
60
|
confirmation: ToggleConfirmation;
|
|
53
61
|
}>;
|
|
54
62
|
export type MailchimpMailingListSetup = Readonly<{
|
|
@@ -185,7 +185,7 @@ export type MailingListPublicSignupResponse = Readonly<{
|
|
|
185
185
|
reason: 'profile_rejected';
|
|
186
186
|
}> | Readonly<{
|
|
187
187
|
tag: 'unavailable';
|
|
188
|
-
reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
|
|
188
|
+
reason: 'confirmation_email_failed' | 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
|
|
189
189
|
}> | Readonly<{
|
|
190
190
|
tag: 'uncertain';
|
|
191
191
|
reason: 'deadline_exceeded' | 'network_interrupted';
|
|
@@ -5,11 +5,19 @@ import { type Result } from './result';
|
|
|
5
5
|
export type MailingListDefaultTargeting = Readonly<{
|
|
6
6
|
mode: 'default';
|
|
7
7
|
}>;
|
|
8
|
+
export type NativeMailingListAudience = Readonly<{
|
|
9
|
+
kind: 'general';
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'topics';
|
|
12
|
+
topicIds: ReadonlyNonEmptyArray<NativeMailingListTopicId>;
|
|
13
|
+
}>;
|
|
8
14
|
export declare const DEFAULT_MAILING_LIST_TARGETING: MailingListDefaultTargeting;
|
|
9
15
|
export type NativeMailingListCustomTargeting = Readonly<{
|
|
10
16
|
mode: 'custom';
|
|
11
17
|
provider: 'native';
|
|
12
18
|
selection: Readonly<{
|
|
19
|
+
tag: 'general';
|
|
20
|
+
}> | Readonly<{
|
|
13
21
|
tag: 'fixed';
|
|
14
22
|
topicIds: ReadonlyNonEmptyArray<NativeMailingListTopicId>;
|
|
15
23
|
}> | Readonly<{
|
|
@@ -55,7 +63,7 @@ export type MailingListVisitorSelection = Readonly<{
|
|
|
55
63
|
}>;
|
|
56
64
|
export type ResolvedMailingListTarget = Readonly<{
|
|
57
65
|
provider: 'native';
|
|
58
|
-
|
|
66
|
+
audience: NativeMailingListAudience;
|
|
59
67
|
}> | Readonly<{
|
|
60
68
|
provider: 'brevo';
|
|
61
69
|
listIds: ReadonlyNonEmptyArray<BrevoListId>;
|
|
@@ -11258,7 +11258,7 @@ export type Database = {
|
|
|
11258
11258
|
};
|
|
11259
11259
|
newsletter_campaigns: {
|
|
11260
11260
|
Row: {
|
|
11261
|
-
|
|
11261
|
+
audience_json: Json | null;
|
|
11262
11262
|
audience_tags: string[];
|
|
11263
11263
|
captured_at: string | null;
|
|
11264
11264
|
created_at: string;
|
|
@@ -11282,7 +11282,7 @@ export type Database = {
|
|
|
11282
11282
|
updated_by: string | null;
|
|
11283
11283
|
};
|
|
11284
11284
|
Insert: {
|
|
11285
|
-
|
|
11285
|
+
audience_json?: Json | null;
|
|
11286
11286
|
audience_tags?: string[];
|
|
11287
11287
|
captured_at?: string | null;
|
|
11288
11288
|
created_at?: string;
|
|
@@ -11306,7 +11306,7 @@ export type Database = {
|
|
|
11306
11306
|
updated_by?: string | null;
|
|
11307
11307
|
};
|
|
11308
11308
|
Update: {
|
|
11309
|
-
|
|
11309
|
+
audience_json?: Json | null;
|
|
11310
11310
|
audience_tags?: string[];
|
|
11311
11311
|
captured_at?: string | null;
|
|
11312
11312
|
created_at?: string;
|
|
@@ -11555,6 +11555,8 @@ export type Database = {
|
|
|
11555
11555
|
anonymized_by: string | null;
|
|
11556
11556
|
confirm_token_expires_at: string | null;
|
|
11557
11557
|
confirm_token_hash: string | null;
|
|
11558
|
+
confirmation_consent_json: Json | null;
|
|
11559
|
+
confirmation_general_subscription: boolean;
|
|
11558
11560
|
confirmation_list_ids: string[] | null;
|
|
11559
11561
|
confirmation_revision: number | null;
|
|
11560
11562
|
confirmed_at: string | null;
|
|
@@ -11571,6 +11573,7 @@ export type Database = {
|
|
|
11571
11573
|
email_lower: string | null;
|
|
11572
11574
|
first_name: string | null;
|
|
11573
11575
|
full_name: string | null;
|
|
11576
|
+
general_subscribed_at: string | null;
|
|
11574
11577
|
id: string;
|
|
11575
11578
|
last_name: string | null;
|
|
11576
11579
|
phone: string | null;
|
|
@@ -11590,6 +11593,8 @@ export type Database = {
|
|
|
11590
11593
|
anonymized_by?: string | null;
|
|
11591
11594
|
confirm_token_expires_at?: string | null;
|
|
11592
11595
|
confirm_token_hash?: string | null;
|
|
11596
|
+
confirmation_consent_json?: Json | null;
|
|
11597
|
+
confirmation_general_subscription?: boolean;
|
|
11593
11598
|
confirmation_list_ids?: string[] | null;
|
|
11594
11599
|
confirmation_revision?: number | null;
|
|
11595
11600
|
confirmed_at?: string | null;
|
|
@@ -11606,6 +11611,7 @@ export type Database = {
|
|
|
11606
11611
|
email_lower?: string | null;
|
|
11607
11612
|
first_name?: string | null;
|
|
11608
11613
|
full_name?: string | null;
|
|
11614
|
+
general_subscribed_at?: string | null;
|
|
11609
11615
|
id?: string;
|
|
11610
11616
|
last_name?: string | null;
|
|
11611
11617
|
phone?: string | null;
|
|
@@ -11625,6 +11631,8 @@ export type Database = {
|
|
|
11625
11631
|
anonymized_by?: string | null;
|
|
11626
11632
|
confirm_token_expires_at?: string | null;
|
|
11627
11633
|
confirm_token_hash?: string | null;
|
|
11634
|
+
confirmation_consent_json?: Json | null;
|
|
11635
|
+
confirmation_general_subscription?: boolean;
|
|
11628
11636
|
confirmation_list_ids?: string[] | null;
|
|
11629
11637
|
confirmation_revision?: number | null;
|
|
11630
11638
|
confirmed_at?: string | null;
|
|
@@ -11641,6 +11649,7 @@ export type Database = {
|
|
|
11641
11649
|
email_lower?: string | null;
|
|
11642
11650
|
first_name?: string | null;
|
|
11643
11651
|
full_name?: string | null;
|
|
11652
|
+
general_subscribed_at?: string | null;
|
|
11644
11653
|
id?: string;
|
|
11645
11654
|
last_name?: string | null;
|
|
11646
11655
|
phone?: string | null;
|
|
@@ -20674,6 +20683,40 @@ export type Database = {
|
|
|
20674
20683
|
};
|
|
20675
20684
|
Returns: undefined;
|
|
20676
20685
|
};
|
|
20686
|
+
newsletter_admin_import_atomic: {
|
|
20687
|
+
Args: {
|
|
20688
|
+
p_audience: Json;
|
|
20689
|
+
p_rows: Json;
|
|
20690
|
+
p_site_id: string;
|
|
20691
|
+
};
|
|
20692
|
+
Returns: {
|
|
20693
|
+
created: boolean;
|
|
20694
|
+
error_code: string;
|
|
20695
|
+
row_number: number;
|
|
20696
|
+
subscriber_row: Database["public"]["Tables"]["newsletter_subscribers"]["Row"];
|
|
20697
|
+
}[];
|
|
20698
|
+
};
|
|
20699
|
+
newsletter_admin_subscribe_atomic: {
|
|
20700
|
+
Args: {
|
|
20701
|
+
p_audience: Json;
|
|
20702
|
+
p_consent_source: string;
|
|
20703
|
+
p_email: string;
|
|
20704
|
+
p_profile: Json;
|
|
20705
|
+
p_site_id: string;
|
|
20706
|
+
};
|
|
20707
|
+
Returns: {
|
|
20708
|
+
created: boolean;
|
|
20709
|
+
subscriber_row: Database["public"]["Tables"]["newsletter_subscribers"]["Row"];
|
|
20710
|
+
}[];
|
|
20711
|
+
};
|
|
20712
|
+
newsletter_audience_eligible: {
|
|
20713
|
+
Args: {
|
|
20714
|
+
p_audience: Json;
|
|
20715
|
+
p_site_id: string;
|
|
20716
|
+
p_subscriber: Database["public"]["Tables"]["newsletter_subscribers"]["Row"];
|
|
20717
|
+
};
|
|
20718
|
+
Returns: boolean;
|
|
20719
|
+
};
|
|
20677
20720
|
newsletter_begin_attempt_atomic: {
|
|
20678
20721
|
Args: {
|
|
20679
20722
|
p_claim_token: string;
|
|
@@ -20747,7 +20790,7 @@ export type Database = {
|
|
|
20747
20790
|
};
|
|
20748
20791
|
newsletter_count_recipients: {
|
|
20749
20792
|
Args: {
|
|
20750
|
-
|
|
20793
|
+
p_audience: Json;
|
|
20751
20794
|
p_site_id: string;
|
|
20752
20795
|
p_tags: string[];
|
|
20753
20796
|
};
|
|
@@ -20783,6 +20826,7 @@ export type Database = {
|
|
|
20783
20826
|
newsletter_preferences_atomic: {
|
|
20784
20827
|
Args: {
|
|
20785
20828
|
p_campaign_id?: string;
|
|
20829
|
+
p_general_subscription: boolean;
|
|
20786
20830
|
p_list_ids: string[];
|
|
20787
20831
|
p_nonce: string;
|
|
20788
20832
|
p_site_id: string;
|
|
@@ -20818,6 +20862,7 @@ export type Database = {
|
|
|
20818
20862
|
p_consent: Json;
|
|
20819
20863
|
p_double_opt_in: boolean;
|
|
20820
20864
|
p_email: string;
|
|
20865
|
+
p_general_subscription: boolean;
|
|
20821
20866
|
p_list_ids: string[];
|
|
20822
20867
|
p_profile: Json;
|
|
20823
20868
|
p_site_id: string;
|
|
@@ -20845,6 +20890,12 @@ export type Database = {
|
|
|
20845
20890
|
removed_count: number;
|
|
20846
20891
|
}[];
|
|
20847
20892
|
};
|
|
20893
|
+
newsletter_valid_audience: {
|
|
20894
|
+
Args: {
|
|
20895
|
+
p_audience: Json;
|
|
20896
|
+
};
|
|
20897
|
+
Returns: boolean;
|
|
20898
|
+
};
|
|
20848
20899
|
next_order_number: {
|
|
20849
20900
|
Args: {
|
|
20850
20901
|
p_site_id: string;
|
|
@@ -28,3 +28,4 @@ export * from './widgets/index';
|
|
|
28
28
|
export { createBlockFormLogger, setBlockFormLoggerFactory, setBlockFormAppLogger, } from './block-form/debug';
|
|
29
29
|
export type { BlockFormLogger } from './block-form/debug';
|
|
30
30
|
export { ColourFieldOptionsProvider } from './block-editor/ColourFieldOptionsProvider';
|
|
31
|
+
export { admitEditorMediaField } from './media/admitEditorMediaField';
|
|
@@ -7,5 +7,5 @@ import type { VideoPrepIntentResolver } from '../../../media-react/src/index';
|
|
|
7
7
|
export declare function uploadIntentForFileField(): UploadIntentContract;
|
|
8
8
|
export declare function videoPrepIntentForMediaField(fieldPath: string, mediaKinds: readonly NonNullable<MediaFieldConfig['mediaKinds']>[number][] | undefined): VideoPrepIntentResolver | undefined;
|
|
9
9
|
export declare function videoSelectionIntentForMediaField(fieldPath: string, mediaKinds: readonly NonNullable<MediaFieldConfig['mediaKinds']>[number][] | undefined): VideoPrepIntent | undefined;
|
|
10
|
-
export declare function MediaField(
|
|
11
|
-
export declare function FileField(
|
|
10
|
+
export declare function MediaField(props: FieldWidgetProps<MediaValue | undefined, MediaFieldConfig>): import("react").JSX.Element;
|
|
11
|
+
export declare function FileField(props: FieldWidgetProps<MediaValue | undefined, FileFieldConfig>): import("react").JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Media, type RenderableMediaAssetIndex } from '../../../media-core/src/index';
|
|
2
|
+
import type { MediaFieldValidationPlan } from '../../../blocks/src/system/manifest/fieldValidation/index';
|
|
3
|
+
/** The field descriptor supplies the omitted stored kind at the editor boundary. */
|
|
4
|
+
export declare function admitEditorMediaField(value: unknown, plan: MediaFieldValidationPlan, index: RenderableMediaAssetIndex | undefined): Media | undefined;
|
|
@@ -16,9 +16,9 @@ export type TargetingTransition = Readonly<{
|
|
|
16
16
|
targeting: CustomTargeting;
|
|
17
17
|
}> | Readonly<{
|
|
18
18
|
tag: 'refused';
|
|
19
|
-
reason: 'last_choice' | 'invalid_choice' | 'no_interests' | 'audience_missing';
|
|
19
|
+
reason: 'last_choice' | 'invalid_choice' | 'no_interests' | 'audience_missing' | 'no_topics';
|
|
20
20
|
}>;
|
|
21
21
|
type EditableTargeting = MailingListResolvedCustomTargeting | MailingListMissingAudienceTargeting;
|
|
22
|
-
export declare function changeSelectionMode(matched: EditableTargeting, mode: 'fixed' | 'visitor_choice'): TargetingTransition;
|
|
22
|
+
export declare function changeSelectionMode(matched: EditableTargeting, mode: 'general' | 'fixed' | 'visitor_choice'): TargetingTransition;
|
|
23
23
|
export declare function toggleTargetingChoice(targeting: CustomTargeting, rawId: string): TargetingTransition;
|
|
24
24
|
export {};
|
|
@@ -30,6 +30,12 @@ export type AssetsInUseLocationLike = Readonly<{
|
|
|
30
30
|
}> | Readonly<{
|
|
31
31
|
kind: 'productFileDownload';
|
|
32
32
|
productTitle: string;
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
kind: 'newsletterTemplate';
|
|
35
|
+
templateName: string;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
kind: 'newsletterCampaign';
|
|
38
|
+
campaignName: string;
|
|
33
39
|
}>;
|
|
34
40
|
export type AssetsInUseItemLike = Readonly<{
|
|
35
41
|
usedCount: number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { SiteId } from '../../core/src/index';
|
|
2
|
-
import type
|
|
2
|
+
import { type MediaIdentifier } from './identifiers';
|
|
3
|
+
import { type MediaTypeDiscriminant } from './media';
|
|
3
4
|
export type ContentFieldPathSegment = string | number;
|
|
4
5
|
export type ContentFieldPath = readonly ContentFieldPathSegment[];
|
|
5
|
-
export type ContentMediaType =
|
|
6
|
+
export type ContentMediaType = MediaTypeDiscriminant;
|
|
6
7
|
export type AllowedContentMediaTypes = readonly [
|
|
7
8
|
ContentMediaType,
|
|
8
9
|
...ContentMediaType[]
|
|
@@ -29,6 +29,9 @@ export * from './classifyAllPlanning';
|
|
|
29
29
|
export * from './mediaSettingsState';
|
|
30
30
|
export * from './videoSlotPolicy';
|
|
31
31
|
export * from './identifiers';
|
|
32
|
+
export * from './mediaIdentifierSchema';
|
|
33
|
+
export * from './mediaKinds';
|
|
34
|
+
export * from './media';
|
|
32
35
|
export { getImageUrl, getDirectImageUrl, getDirectImageUrlForRelativePath, getDirectImageUrlForSiteScopedPath, getDirectImageUrlForBucketPath, getDirectImageUrlForMediaAsset, isSiteScopedDirectImageStoragePath, type DirectImageMediaAsset, type DirectImageUrlOptions, type DirectImageUrlPathTarget, type ImageProxyFit, type ImageProxyParams, } from './url';
|
|
33
36
|
export { isSameTransformRect, isSameHotspot, type HotspotLike } from './compare';
|
|
34
37
|
export { asRecord, isRecord } from './typeGuards';
|
|
@@ -46,6 +49,7 @@ export * from './richTextImageWriteNormalizer';
|
|
|
46
49
|
export * from './mediaUsageProjection';
|
|
47
50
|
export * from './portableMediaReferences';
|
|
48
51
|
export * from './renderableMediaAsset';
|
|
52
|
+
export * from './renderableMediaAssetAdmission';
|
|
49
53
|
export * from './contentMediaAudit';
|
|
50
54
|
export * from './contentMediaAuditFieldAdapter';
|
|
51
55
|
export * from './contentMediaSnapshotAudit';
|