@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
|
@@ -514,7 +514,108 @@ const footerModeSchema = z.enum([
|
|
|
514
514
|
"none"
|
|
515
515
|
]);
|
|
516
516
|
//#endregion
|
|
517
|
-
//#region ../
|
|
517
|
+
//#region ../core/src/result.ts
|
|
518
|
+
function ok(value) {
|
|
519
|
+
return {
|
|
520
|
+
ok: true,
|
|
521
|
+
value
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
function err(error) {
|
|
525
|
+
return {
|
|
526
|
+
ok: false,
|
|
527
|
+
error
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
//#endregion
|
|
531
|
+
//#region ../core/src/branded.ts
|
|
532
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
533
|
+
function parseUuidBrand(value, unsafeConstructor) {
|
|
534
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
535
|
+
const normalized = value.trim().toLowerCase();
|
|
536
|
+
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
537
|
+
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
538
|
+
return ok(unsafeConstructor(normalized));
|
|
539
|
+
}
|
|
540
|
+
const unsafeAsMediaAssetId = (id) => id;
|
|
541
|
+
const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
|
|
542
|
+
//#endregion
|
|
543
|
+
//#region ../media-core/src/identifiers.ts
|
|
544
|
+
function slugifyMediaIdentifier(value) {
|
|
545
|
+
return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
|
|
546
|
+
}
|
|
547
|
+
function parseMediaIdentifier(value) {
|
|
548
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
549
|
+
const trimmed = value.trim();
|
|
550
|
+
if (trimmed.length === 0) return err({ kind: "empty_identifier" });
|
|
551
|
+
const normalized = slugifyMediaIdentifier(trimmed);
|
|
552
|
+
if (normalized.length === 0) return err({
|
|
553
|
+
kind: "empty_after_normalization",
|
|
554
|
+
value
|
|
555
|
+
});
|
|
556
|
+
return ok(normalized);
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Admits identifiers read from trusted persistence without repairing dirty data in memory.
|
|
560
|
+
* User input should use parseMediaIdentifier, which intentionally canonicalizes it.
|
|
561
|
+
*/
|
|
562
|
+
function parseCanonicalMediaIdentifier(value) {
|
|
563
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
564
|
+
const parsed = parseMediaIdentifier(value);
|
|
565
|
+
if (!parsed.ok) return parsed;
|
|
566
|
+
if (value !== parsed.value) return err({
|
|
567
|
+
kind: "non_canonical_identifier",
|
|
568
|
+
value,
|
|
569
|
+
canonical: parsed.value
|
|
570
|
+
});
|
|
571
|
+
return parsed;
|
|
572
|
+
}
|
|
573
|
+
//#endregion
|
|
574
|
+
//#region ../media-core/src/mediaIdentifierSchema.ts
|
|
575
|
+
/** Strict stored-reference admission delegates the canonical identifier decision. */
|
|
576
|
+
const mediaIdentifierSchema = z.string().transform((value, context) => {
|
|
577
|
+
const parsed = parseCanonicalMediaIdentifier(value);
|
|
578
|
+
if (parsed.ok) return parsed.value;
|
|
579
|
+
context.addIssue({
|
|
580
|
+
code: "custom",
|
|
581
|
+
message: "Expected a canonical media identifier"
|
|
582
|
+
});
|
|
583
|
+
return z.NEVER;
|
|
584
|
+
});
|
|
585
|
+
//#endregion
|
|
586
|
+
//#region ../media-core/src/mediaKinds.ts
|
|
587
|
+
const mediaTypeDiscriminants = [
|
|
588
|
+
"image",
|
|
589
|
+
"video",
|
|
590
|
+
"audio",
|
|
591
|
+
"document",
|
|
592
|
+
"spreadsheet",
|
|
593
|
+
"archive"
|
|
594
|
+
];
|
|
595
|
+
//#endregion
|
|
596
|
+
//#region ../media-core/src/renderableMediaAssetAdmission.ts
|
|
597
|
+
const mediaAssetIdSchema = z.string().transform((value, context) => {
|
|
598
|
+
const parsed = parseMediaAssetId(value);
|
|
599
|
+
if (parsed.ok) return parsed.value;
|
|
600
|
+
context.addIssue({
|
|
601
|
+
code: "custom",
|
|
602
|
+
message: "Expected a media asset ID"
|
|
603
|
+
});
|
|
604
|
+
return z.NEVER;
|
|
605
|
+
});
|
|
606
|
+
const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
|
|
607
|
+
const renderableMediaAssetSchema = z.object({
|
|
608
|
+
id: mediaAssetIdSchema,
|
|
609
|
+
identifier: mediaIdentifierSchema,
|
|
610
|
+
storageBucket: nonemptyStorageValue,
|
|
611
|
+
storagePath: nonemptyStorageValue,
|
|
612
|
+
mimeType: nonemptyStorageValue,
|
|
613
|
+
filename: z.string().optional(),
|
|
614
|
+
width: z.number().positive().nullable(),
|
|
615
|
+
height: z.number().positive().nullable()
|
|
616
|
+
});
|
|
617
|
+
//#endregion
|
|
618
|
+
//#region ../media-core/src/media.ts
|
|
518
619
|
const hotspotSchema = z.object({
|
|
519
620
|
x: z.number().min(0).max(1),
|
|
520
621
|
y: z.number().min(0).max(1),
|
|
@@ -548,54 +649,56 @@ const transformSchema = z.object({
|
|
|
548
649
|
rotation: rotationSchema.optional()
|
|
549
650
|
});
|
|
550
651
|
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
551
|
-
tag: z.literal("
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
storagePath: z.string().min(1)
|
|
555
|
-
}), z.object({
|
|
652
|
+
tag: z.literal("media"),
|
|
653
|
+
identifier: mediaIdentifierSchema
|
|
654
|
+
}).strict(), z.object({
|
|
556
655
|
tag: z.literal("external-src"),
|
|
557
|
-
assetId: z.string().optional(),
|
|
558
656
|
src: z.string().url()
|
|
559
|
-
})]);
|
|
560
|
-
const
|
|
657
|
+
}).strict()]);
|
|
658
|
+
const mediaUsageShape = {
|
|
561
659
|
purpose: z.string().optional(),
|
|
562
660
|
placeholder: z.boolean().default(true).optional(),
|
|
563
|
-
assetId: z.string().optional(),
|
|
564
|
-
identifier: z.string().optional(),
|
|
565
|
-
src: z.string().optional(),
|
|
566
661
|
alt: z.string().optional(),
|
|
567
662
|
filename: z.string().optional(),
|
|
568
|
-
mimeType: z.string().optional(),
|
|
569
663
|
width: z.number().optional(),
|
|
570
664
|
height: z.number().optional(),
|
|
571
|
-
storageBucket: z.string().optional(),
|
|
572
|
-
storagePath: z.string().optional(),
|
|
573
665
|
poster: mediaPosterSchema.optional(),
|
|
574
666
|
transform: transformSchema.optional()
|
|
575
|
-
}
|
|
576
|
-
const
|
|
667
|
+
};
|
|
668
|
+
const environmentExclusions = {
|
|
669
|
+
assetId: z.never().optional(),
|
|
670
|
+
id: z.never().optional(),
|
|
671
|
+
src: z.never().optional(),
|
|
672
|
+
storageBucket: z.never().optional(),
|
|
673
|
+
storagePath: z.never().optional(),
|
|
674
|
+
mimeType: z.never().optional()
|
|
675
|
+
};
|
|
676
|
+
const mediaBaseSchema = z.object({
|
|
677
|
+
...mediaUsageShape,
|
|
678
|
+
...environmentExclusions,
|
|
679
|
+
identifier: mediaIdentifierSchema
|
|
680
|
+
}).strict();
|
|
577
681
|
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
578
682
|
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
579
|
-
const
|
|
580
|
-
const
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
z.
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
683
|
+
const mediaSchema = mediaBaseSchema.extend({ type: z.enum(mediaTypeDiscriminants) });
|
|
684
|
+
const externalMediaSchema = z.object({
|
|
685
|
+
...mediaUsageShape,
|
|
686
|
+
...environmentExclusions,
|
|
687
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
688
|
+
src: z.string().min(1),
|
|
689
|
+
identifier: z.never().optional()
|
|
690
|
+
}).strict();
|
|
691
|
+
const assetMediaSchema = z.object({
|
|
692
|
+
...mediaUsageShape,
|
|
693
|
+
...environmentExclusions,
|
|
694
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
695
|
+
asset: renderableMediaAssetSchema,
|
|
696
|
+
identifier: z.never().optional()
|
|
697
|
+
}).strict();
|
|
698
|
+
z.union([
|
|
699
|
+
mediaSchema,
|
|
700
|
+
externalMediaSchema,
|
|
701
|
+
assetMediaSchema
|
|
599
702
|
]);
|
|
600
703
|
//#endregion
|
|
601
704
|
//#region ../theme-core/src/palette/colors.ts
|
|
@@ -9828,6 +9931,20 @@ const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
|
9828
9931
|
showVideoOnMobile: z.boolean().nullable().optional()
|
|
9829
9932
|
})
|
|
9830
9933
|
]);
|
|
9934
|
+
z.discriminatedUnion("type", [
|
|
9935
|
+
boxBackgroundSchema.options[0],
|
|
9936
|
+
boxBackgroundSchema.options[1],
|
|
9937
|
+
boxBackgroundSchema.options[2].extend({ image: z.union([
|
|
9938
|
+
imageMediaSchema,
|
|
9939
|
+
externalMediaSchema.extend({ type: z.literal("image") }),
|
|
9940
|
+
assetMediaSchema.extend({ type: z.literal("image") })
|
|
9941
|
+
]).nullable().optional() }),
|
|
9942
|
+
boxBackgroundSchema.options[3].extend({ image: z.union([
|
|
9943
|
+
videoMediaSchema,
|
|
9944
|
+
externalMediaSchema.extend({ type: z.literal("video") }),
|
|
9945
|
+
assetMediaSchema.extend({ type: z.literal("video") })
|
|
9946
|
+
]).nullable().optional() })
|
|
9947
|
+
]);
|
|
9831
9948
|
function normalizeAuthoringOpacity(value) {
|
|
9832
9949
|
if (!isRecord(value)) return value;
|
|
9833
9950
|
return {
|
package/dist/server/theme.mjs
CHANGED
|
@@ -969,7 +969,108 @@ const footerModeSchema = z.enum([
|
|
|
969
969
|
"none"
|
|
970
970
|
]);
|
|
971
971
|
//#endregion
|
|
972
|
-
//#region ../
|
|
972
|
+
//#region ../core/src/result.ts
|
|
973
|
+
function ok(value) {
|
|
974
|
+
return {
|
|
975
|
+
ok: true,
|
|
976
|
+
value
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
function err(error) {
|
|
980
|
+
return {
|
|
981
|
+
ok: false,
|
|
982
|
+
error
|
|
983
|
+
};
|
|
984
|
+
}
|
|
985
|
+
//#endregion
|
|
986
|
+
//#region ../core/src/branded.ts
|
|
987
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
988
|
+
function parseUuidBrand(value, unsafeConstructor) {
|
|
989
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
990
|
+
const normalized = value.trim().toLowerCase();
|
|
991
|
+
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
992
|
+
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
993
|
+
return ok(unsafeConstructor(normalized));
|
|
994
|
+
}
|
|
995
|
+
const unsafeAsMediaAssetId = (id) => id;
|
|
996
|
+
const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
|
|
997
|
+
//#endregion
|
|
998
|
+
//#region ../media-core/src/identifiers.ts
|
|
999
|
+
function slugifyMediaIdentifier(value) {
|
|
1000
|
+
return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
|
|
1001
|
+
}
|
|
1002
|
+
function parseMediaIdentifier(value) {
|
|
1003
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
1004
|
+
const trimmed = value.trim();
|
|
1005
|
+
if (trimmed.length === 0) return err({ kind: "empty_identifier" });
|
|
1006
|
+
const normalized = slugifyMediaIdentifier(trimmed);
|
|
1007
|
+
if (normalized.length === 0) return err({
|
|
1008
|
+
kind: "empty_after_normalization",
|
|
1009
|
+
value
|
|
1010
|
+
});
|
|
1011
|
+
return ok(normalized);
|
|
1012
|
+
}
|
|
1013
|
+
/**
|
|
1014
|
+
* Admits identifiers read from trusted persistence without repairing dirty data in memory.
|
|
1015
|
+
* User input should use parseMediaIdentifier, which intentionally canonicalizes it.
|
|
1016
|
+
*/
|
|
1017
|
+
function parseCanonicalMediaIdentifier(value) {
|
|
1018
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
1019
|
+
const parsed = parseMediaIdentifier(value);
|
|
1020
|
+
if (!parsed.ok) return parsed;
|
|
1021
|
+
if (value !== parsed.value) return err({
|
|
1022
|
+
kind: "non_canonical_identifier",
|
|
1023
|
+
value,
|
|
1024
|
+
canonical: parsed.value
|
|
1025
|
+
});
|
|
1026
|
+
return parsed;
|
|
1027
|
+
}
|
|
1028
|
+
//#endregion
|
|
1029
|
+
//#region ../media-core/src/mediaIdentifierSchema.ts
|
|
1030
|
+
/** Strict stored-reference admission delegates the canonical identifier decision. */
|
|
1031
|
+
const mediaIdentifierSchema = z.string().transform((value, context) => {
|
|
1032
|
+
const parsed = parseCanonicalMediaIdentifier(value);
|
|
1033
|
+
if (parsed.ok) return parsed.value;
|
|
1034
|
+
context.addIssue({
|
|
1035
|
+
code: "custom",
|
|
1036
|
+
message: "Expected a canonical media identifier"
|
|
1037
|
+
});
|
|
1038
|
+
return z.NEVER;
|
|
1039
|
+
});
|
|
1040
|
+
//#endregion
|
|
1041
|
+
//#region ../media-core/src/mediaKinds.ts
|
|
1042
|
+
const mediaTypeDiscriminants = [
|
|
1043
|
+
"image",
|
|
1044
|
+
"video",
|
|
1045
|
+
"audio",
|
|
1046
|
+
"document",
|
|
1047
|
+
"spreadsheet",
|
|
1048
|
+
"archive"
|
|
1049
|
+
];
|
|
1050
|
+
//#endregion
|
|
1051
|
+
//#region ../media-core/src/renderableMediaAssetAdmission.ts
|
|
1052
|
+
const mediaAssetIdSchema = z.string().transform((value, context) => {
|
|
1053
|
+
const parsed = parseMediaAssetId(value);
|
|
1054
|
+
if (parsed.ok) return parsed.value;
|
|
1055
|
+
context.addIssue({
|
|
1056
|
+
code: "custom",
|
|
1057
|
+
message: "Expected a media asset ID"
|
|
1058
|
+
});
|
|
1059
|
+
return z.NEVER;
|
|
1060
|
+
});
|
|
1061
|
+
const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
|
|
1062
|
+
const renderableMediaAssetSchema = z.object({
|
|
1063
|
+
id: mediaAssetIdSchema,
|
|
1064
|
+
identifier: mediaIdentifierSchema,
|
|
1065
|
+
storageBucket: nonemptyStorageValue,
|
|
1066
|
+
storagePath: nonemptyStorageValue,
|
|
1067
|
+
mimeType: nonemptyStorageValue,
|
|
1068
|
+
filename: z.string().optional(),
|
|
1069
|
+
width: z.number().positive().nullable(),
|
|
1070
|
+
height: z.number().positive().nullable()
|
|
1071
|
+
});
|
|
1072
|
+
//#endregion
|
|
1073
|
+
//#region ../media-core/src/media.ts
|
|
973
1074
|
const hotspotSchema = z.object({
|
|
974
1075
|
x: z.number().min(0).max(1),
|
|
975
1076
|
y: z.number().min(0).max(1),
|
|
@@ -1003,54 +1104,56 @@ const transformSchema = z.object({
|
|
|
1003
1104
|
rotation: rotationSchema.optional()
|
|
1004
1105
|
});
|
|
1005
1106
|
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
1006
|
-
tag: z.literal("
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
storagePath: z.string().min(1)
|
|
1010
|
-
}), z.object({
|
|
1107
|
+
tag: z.literal("media"),
|
|
1108
|
+
identifier: mediaIdentifierSchema
|
|
1109
|
+
}).strict(), z.object({
|
|
1011
1110
|
tag: z.literal("external-src"),
|
|
1012
|
-
assetId: z.string().optional(),
|
|
1013
1111
|
src: z.string().url()
|
|
1014
|
-
})]);
|
|
1015
|
-
const
|
|
1112
|
+
}).strict()]);
|
|
1113
|
+
const mediaUsageShape = {
|
|
1016
1114
|
purpose: z.string().optional(),
|
|
1017
1115
|
placeholder: z.boolean().default(true).optional(),
|
|
1018
|
-
assetId: z.string().optional(),
|
|
1019
|
-
identifier: z.string().optional(),
|
|
1020
|
-
src: z.string().optional(),
|
|
1021
1116
|
alt: z.string().optional(),
|
|
1022
1117
|
filename: z.string().optional(),
|
|
1023
|
-
mimeType: z.string().optional(),
|
|
1024
1118
|
width: z.number().optional(),
|
|
1025
1119
|
height: z.number().optional(),
|
|
1026
|
-
storageBucket: z.string().optional(),
|
|
1027
|
-
storagePath: z.string().optional(),
|
|
1028
1120
|
poster: mediaPosterSchema.optional(),
|
|
1029
1121
|
transform: transformSchema.optional()
|
|
1030
|
-
}
|
|
1031
|
-
const
|
|
1122
|
+
};
|
|
1123
|
+
const environmentExclusions = {
|
|
1124
|
+
assetId: z.never().optional(),
|
|
1125
|
+
id: z.never().optional(),
|
|
1126
|
+
src: z.never().optional(),
|
|
1127
|
+
storageBucket: z.never().optional(),
|
|
1128
|
+
storagePath: z.never().optional(),
|
|
1129
|
+
mimeType: z.never().optional()
|
|
1130
|
+
};
|
|
1131
|
+
const mediaBaseSchema = z.object({
|
|
1132
|
+
...mediaUsageShape,
|
|
1133
|
+
...environmentExclusions,
|
|
1134
|
+
identifier: mediaIdentifierSchema
|
|
1135
|
+
}).strict();
|
|
1032
1136
|
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
1033
1137
|
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
1034
|
-
const
|
|
1035
|
-
const
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
z.
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
1138
|
+
const mediaSchema = mediaBaseSchema.extend({ type: z.enum(mediaTypeDiscriminants) });
|
|
1139
|
+
const externalMediaSchema = z.object({
|
|
1140
|
+
...mediaUsageShape,
|
|
1141
|
+
...environmentExclusions,
|
|
1142
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
1143
|
+
src: z.string().min(1),
|
|
1144
|
+
identifier: z.never().optional()
|
|
1145
|
+
}).strict();
|
|
1146
|
+
const assetMediaSchema = z.object({
|
|
1147
|
+
...mediaUsageShape,
|
|
1148
|
+
...environmentExclusions,
|
|
1149
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
1150
|
+
asset: renderableMediaAssetSchema,
|
|
1151
|
+
identifier: z.never().optional()
|
|
1152
|
+
}).strict();
|
|
1153
|
+
z.union([
|
|
1154
|
+
mediaSchema,
|
|
1155
|
+
externalMediaSchema,
|
|
1156
|
+
assetMediaSchema
|
|
1054
1157
|
]);
|
|
1055
1158
|
//#endregion
|
|
1056
1159
|
//#region ../theme-core/src/palette/schema.ts
|
|
@@ -8156,6 +8259,20 @@ const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
|
8156
8259
|
showVideoOnMobile: z.boolean().nullable().optional()
|
|
8157
8260
|
})
|
|
8158
8261
|
]);
|
|
8262
|
+
z.discriminatedUnion("type", [
|
|
8263
|
+
boxBackgroundSchema.options[0],
|
|
8264
|
+
boxBackgroundSchema.options[1],
|
|
8265
|
+
boxBackgroundSchema.options[2].extend({ image: z.union([
|
|
8266
|
+
imageMediaSchema,
|
|
8267
|
+
externalMediaSchema.extend({ type: z.literal("image") }),
|
|
8268
|
+
assetMediaSchema.extend({ type: z.literal("image") })
|
|
8269
|
+
]).nullable().optional() }),
|
|
8270
|
+
boxBackgroundSchema.options[3].extend({ image: z.union([
|
|
8271
|
+
videoMediaSchema,
|
|
8272
|
+
externalMediaSchema.extend({ type: z.literal("video") }),
|
|
8273
|
+
assetMediaSchema.extend({ type: z.literal("video") })
|
|
8274
|
+
]).nullable().optional() })
|
|
8275
|
+
]);
|
|
8159
8276
|
function normalizeAuthoringOpacity(value) {
|
|
8160
8277
|
if (!isRecord(value)) return value;
|
|
8161
8278
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Fo as LoaderCircle, qo as cn, yo as Primitive } from "./SiteChromeCustomizeContext-
|
|
2
|
+
import { Fo as LoaderCircle, qo as cn, yo as Primitive } from "./SiteChromeCustomizeContext-CgNuBHC0.mjs";
|
|
3
3
|
import * as React$1 from "react";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
//#region ../../node_modules/.pnpm/@radix-ui+react-separator@1.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_adfab47c9055efb8b0c4b77a2b96b053/node_modules/@radix-ui/react-separator/dist/index.mjs
|
package/package.json
CHANGED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { N as err, P as ok } from "./colorStyles-ECDNPE_P.mjs";
|
|
2
|
-
//#region ../core/src/branded.ts
|
|
3
|
-
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4
|
-
function parseUuidBrand(value, unsafeConstructor) {
|
|
5
|
-
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
6
|
-
const normalized = value.trim().toLowerCase();
|
|
7
|
-
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
8
|
-
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
9
|
-
return ok(unsafeConstructor(normalized));
|
|
10
|
-
}
|
|
11
|
-
const unsafeAsEventOfferingId = (id) => id;
|
|
12
|
-
const unsafeAsEventSeriesId = (id) => id;
|
|
13
|
-
const unsafeAsMediaAssetId = (id) => id;
|
|
14
|
-
const unsafeAsStorageBucketName = (value) => value;
|
|
15
|
-
const unsafeAsStoragePath = (value) => value;
|
|
16
|
-
const unsafeAsFormId = (id) => id;
|
|
17
|
-
const unsafeAsPassId = (id) => id;
|
|
18
|
-
const unsafeAsCustomerPassId = (id) => id;
|
|
19
|
-
const unsafeAsAppointmentServiceId = (id) => id;
|
|
20
|
-
const unsafeAsAppointmentResourceId = (id) => id;
|
|
21
|
-
const unsafeAsContentVersionId = (id) => id;
|
|
22
|
-
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
23
|
-
const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
24
|
-
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
25
|
-
//#endregion
|
|
26
|
-
//#region ../media-core/src/transformRect.ts
|
|
27
|
-
function isValidTransformRectStructure(rect) {
|
|
28
|
-
if (!Array.isArray(rect) || rect.length !== 4) return false;
|
|
29
|
-
const [left, top, width, height] = rect;
|
|
30
|
-
return Number.isFinite(left) && Number.isFinite(top) && Number.isFinite(width) && Number.isFinite(height) && left >= 0 && top >= 0 && width > 0 && height > 0;
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
//#region ../media-core/src/aspectTransforms.ts
|
|
34
|
-
const DEFAULT_RECT_EPSILON = .5;
|
|
35
|
-
function parseAspectRatioValue(value) {
|
|
36
|
-
if (typeof value === "number") return Number.isFinite(value) && value > 0 ? value : void 0;
|
|
37
|
-
if (typeof value !== "string") return void 0;
|
|
38
|
-
const normalized = value.trim();
|
|
39
|
-
if (!normalized) return void 0;
|
|
40
|
-
if (normalized === "auto") return void 0;
|
|
41
|
-
if (normalized.includes(":") || normalized.includes("/")) {
|
|
42
|
-
const delimiter = normalized.includes(":") ? ":" : "/";
|
|
43
|
-
const [wRaw, hRaw] = normalized.split(delimiter);
|
|
44
|
-
const width = Number(wRaw?.trim());
|
|
45
|
-
const height = Number(hRaw?.trim());
|
|
46
|
-
if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) return;
|
|
47
|
-
return width / height;
|
|
48
|
-
}
|
|
49
|
-
const numeric = Number(normalized);
|
|
50
|
-
if (!Number.isFinite(numeric) || numeric <= 0) return void 0;
|
|
51
|
-
return numeric;
|
|
52
|
-
}
|
|
53
|
-
const MAX_ASPECT_DISTANCE = .25;
|
|
54
|
-
function resolveMediaTransformForAspect(transform, targetAspect) {
|
|
55
|
-
if (!transform) return {};
|
|
56
|
-
const base = {
|
|
57
|
-
rect: transform.rect,
|
|
58
|
-
hotspot: transform.hotspot,
|
|
59
|
-
rotation: transform.rotation
|
|
60
|
-
};
|
|
61
|
-
const target = parseAspectRatioValue(targetAspect);
|
|
62
|
-
const crops = transform.aspectCrops;
|
|
63
|
-
if (!target || !crops || Object.keys(crops).length === 0) return base;
|
|
64
|
-
let best = null;
|
|
65
|
-
let bestDistance = Number.POSITIVE_INFINITY;
|
|
66
|
-
for (const [key, candidate] of Object.entries(crops)) {
|
|
67
|
-
const candidateAspect = parseAspectRatioValue(candidate.aspect ?? key);
|
|
68
|
-
if (!candidateAspect) continue;
|
|
69
|
-
const distance = Math.abs(Math.log(candidateAspect / target));
|
|
70
|
-
if (distance < bestDistance) {
|
|
71
|
-
best = candidate;
|
|
72
|
-
bestDistance = distance;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (!best) return base;
|
|
76
|
-
if (bestDistance > MAX_ASPECT_DISTANCE) return base;
|
|
77
|
-
return {
|
|
78
|
-
rect: best.rect ?? base.rect,
|
|
79
|
-
hotspot: best.hotspot ?? base.hotspot,
|
|
80
|
-
rotation: best.rotation ?? base.rotation
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function isValidTransformRect(rect) {
|
|
84
|
-
return isValidTransformRectStructure(rect);
|
|
85
|
-
}
|
|
86
|
-
function isExplicitRectCrop(rect, sourceWidth, sourceHeight, epsilon = DEFAULT_RECT_EPSILON) {
|
|
87
|
-
if (!isValidTransformRect(rect)) return false;
|
|
88
|
-
if (!(typeof sourceWidth === "number" && Number.isFinite(sourceWidth) && sourceWidth > 0 && typeof sourceHeight === "number" && Number.isFinite(sourceHeight) && sourceHeight > 0)) return true;
|
|
89
|
-
const [x, y, width, height] = rect;
|
|
90
|
-
return !(Math.abs(x) <= epsilon && Math.abs(y) <= epsilon && Math.abs(width - sourceWidth) <= epsilon && Math.abs(height - sourceHeight) <= epsilon);
|
|
91
|
-
}
|
|
92
|
-
//#endregion
|
|
93
|
-
export { parseEventOfferingId as a, unsafeAsAppointmentServiceId as c, unsafeAsMediaAssetId as d, unsafeAsPassId as f, parseContentVersionId as i, unsafeAsCustomerPassId as l, unsafeAsStoragePath as m, parseAspectRatioValue as n, parseEventSeriesId as o, unsafeAsStorageBucketName as p, resolveMediaTransformForAspect as r, unsafeAsAppointmentResourceId as s, isExplicitRectCrop as t, unsafeAsFormId as u };
|