@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
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region ../core/src/result.ts
|
|
3
|
+
function ok(value) {
|
|
4
|
+
return {
|
|
5
|
+
ok: true,
|
|
6
|
+
value
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function err(error) {
|
|
10
|
+
return {
|
|
11
|
+
ok: false,
|
|
12
|
+
error
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region ../core/src/branded.ts
|
|
17
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
18
|
+
function parseUuidBrand(value, unsafeConstructor) {
|
|
19
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
20
|
+
const normalized = value.trim().toLowerCase();
|
|
21
|
+
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
22
|
+
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
23
|
+
return ok(unsafeConstructor(normalized));
|
|
24
|
+
}
|
|
25
|
+
const unsafeAsEventOfferingId = (id) => id;
|
|
26
|
+
const unsafeAsEventSeriesId = (id) => id;
|
|
27
|
+
const unsafeAsMediaAssetId = (id) => id;
|
|
28
|
+
const unsafeAsStorageBucketName = (value) => value;
|
|
29
|
+
const unsafeAsStoragePath = (value) => value;
|
|
30
|
+
const unsafeAsFormId = (id) => id;
|
|
31
|
+
const unsafeAsPassId = (id) => id;
|
|
32
|
+
const unsafeAsCustomerPassId = (id) => id;
|
|
33
|
+
const unsafeAsAppointmentServiceId = (id) => id;
|
|
34
|
+
const unsafeAsAppointmentResourceId = (id) => id;
|
|
35
|
+
const unsafeAsContentVersionId = (id) => id;
|
|
36
|
+
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
37
|
+
const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
|
|
38
|
+
const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
39
|
+
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region ../media-core/src/identifiers.ts
|
|
42
|
+
function slugifyMediaIdentifier(value) {
|
|
43
|
+
return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
|
|
44
|
+
}
|
|
45
|
+
function parseMediaIdentifier(value) {
|
|
46
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
47
|
+
const trimmed = value.trim();
|
|
48
|
+
if (trimmed.length === 0) return err({ kind: "empty_identifier" });
|
|
49
|
+
const normalized = slugifyMediaIdentifier(trimmed);
|
|
50
|
+
if (normalized.length === 0) return err({
|
|
51
|
+
kind: "empty_after_normalization",
|
|
52
|
+
value
|
|
53
|
+
});
|
|
54
|
+
return ok(normalized);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Admits identifiers read from trusted persistence without repairing dirty data in memory.
|
|
58
|
+
* User input should use parseMediaIdentifier, which intentionally canonicalizes it.
|
|
59
|
+
*/
|
|
60
|
+
function parseCanonicalMediaIdentifier(value) {
|
|
61
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
62
|
+
const parsed = parseMediaIdentifier(value);
|
|
63
|
+
if (!parsed.ok) return parsed;
|
|
64
|
+
if (value !== parsed.value) return err({
|
|
65
|
+
kind: "non_canonical_identifier",
|
|
66
|
+
value,
|
|
67
|
+
canonical: parsed.value
|
|
68
|
+
});
|
|
69
|
+
return parsed;
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region ../media-core/src/mediaIdentifierSchema.ts
|
|
73
|
+
/** Strict stored-reference admission delegates the canonical identifier decision. */
|
|
74
|
+
const mediaIdentifierSchema = z.string().transform((value, context) => {
|
|
75
|
+
const parsed = parseCanonicalMediaIdentifier(value);
|
|
76
|
+
if (parsed.ok) return parsed.value;
|
|
77
|
+
context.addIssue({
|
|
78
|
+
code: "custom",
|
|
79
|
+
message: "Expected a canonical media identifier"
|
|
80
|
+
});
|
|
81
|
+
return z.NEVER;
|
|
82
|
+
});
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region ../media-core/src/renderableMediaAsset.ts
|
|
85
|
+
/** Shared identifier indexing for admitted site-scoped projections. */
|
|
86
|
+
function buildMediaIdentifierIndex(assets) {
|
|
87
|
+
const index = new Map(assets.map((asset) => [asset.identifier, asset]));
|
|
88
|
+
if (index.size !== assets.length) throw new Error("Duplicate media identifier in a site asset list");
|
|
89
|
+
return index;
|
|
90
|
+
}
|
|
91
|
+
/** Index already admitted projections, including runtime registration updates. */
|
|
92
|
+
function indexRenderableMediaAssets(assets) {
|
|
93
|
+
if (!assets.length) return void 0;
|
|
94
|
+
const byId = new Map(assets.map((asset) => [asset.id, asset]));
|
|
95
|
+
const byIdentifier = buildMediaIdentifierIndex(assets);
|
|
96
|
+
if (byId.size !== assets.length) throw new Error("Duplicate media asset identity in a site asset list");
|
|
97
|
+
return {
|
|
98
|
+
assets,
|
|
99
|
+
byId,
|
|
100
|
+
byIdentifier
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/** A portable reference never uses an incidental UUID, URL or storage snapshot for identity. */
|
|
104
|
+
function resolveManagedMediaReference(reference, index) {
|
|
105
|
+
const asset = index?.byIdentifier.get(reference.identifier);
|
|
106
|
+
return asset ? {
|
|
107
|
+
kind: "resolved",
|
|
108
|
+
reference,
|
|
109
|
+
asset
|
|
110
|
+
} : {
|
|
111
|
+
kind: "missing",
|
|
112
|
+
reference
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region ../media-core/src/renderableMediaAssetAdmission.ts
|
|
117
|
+
const mediaAssetIdSchema = z.string().transform((value, context) => {
|
|
118
|
+
const parsed = parseMediaAssetId(value);
|
|
119
|
+
if (parsed.ok) return parsed.value;
|
|
120
|
+
context.addIssue({
|
|
121
|
+
code: "custom",
|
|
122
|
+
message: "Expected a media asset ID"
|
|
123
|
+
});
|
|
124
|
+
return z.NEVER;
|
|
125
|
+
});
|
|
126
|
+
const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
|
|
127
|
+
const renderableMediaAssetSchema = z.object({
|
|
128
|
+
id: mediaAssetIdSchema,
|
|
129
|
+
identifier: mediaIdentifierSchema,
|
|
130
|
+
storageBucket: nonemptyStorageValue,
|
|
131
|
+
storagePath: nonemptyStorageValue,
|
|
132
|
+
mimeType: nonemptyStorageValue,
|
|
133
|
+
filename: z.string().optional(),
|
|
134
|
+
width: z.number().positive().nullable(),
|
|
135
|
+
height: z.number().positive().nullable()
|
|
136
|
+
});
|
|
137
|
+
/** Admission precedes the identifier-only runtime resolution decision. */
|
|
138
|
+
function buildRenderableMediaAssetIndex(assets) {
|
|
139
|
+
if (!assets?.length) return void 0;
|
|
140
|
+
return indexRenderableMediaAssets(assets.map((asset) => renderableMediaAssetSchema.parse(asset)));
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
export { err as _, parseCanonicalMediaIdentifier as a, parseEventSeriesId as c, unsafeAsCustomerPassId as d, unsafeAsFormId as f, unsafeAsStoragePath as g, unsafeAsStorageBucketName as h, mediaIdentifierSchema as i, unsafeAsAppointmentResourceId as l, unsafeAsPassId as m, renderableMediaAssetSchema as n, parseContentVersionId as o, unsafeAsMediaAssetId as p, resolveManagedMediaReference as r, parseEventOfferingId as s, buildRenderableMediaAssetIndex as t, unsafeAsAppointmentServiceId as u, ok as v };
|