@riverbankcms/sdk 0.152.0 → 0.153.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-veN-QiAE.mjs} +1 -1
  3. package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-jI_4DTZY.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-ORkVZhfu.mjs} +3 -3
  5. package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-DaNqevI1.mjs} +221 -115
  6. package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-CgNuBHC0.mjs} +1798 -2024
  7. package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-X2UxhW6F.mjs} +213 -38
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +52 -52
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +2357 -7859
  10. package/dist/_dts/api/src/communications.d.ts +19 -5
  11. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  12. package/dist/_dts/api/src/sdkThemeWire.d.ts +186 -1434
  13. package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
  14. package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
  15. package/dist/_dts/api/src/teamMembers.d.ts +2 -27
  16. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
  17. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  18. package/dist/_dts/blocks/src/index.d.ts +1 -0
  19. package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
  20. package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
  21. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
  22. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +196 -804
  24. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
  25. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +45 -45
  27. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
  28. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
  30. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
  31. package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
  32. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
  33. package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
  34. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
  35. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  36. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
  37. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +2 -2
  41. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
  42. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
  43. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +2 -2
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  46. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +276 -884
  48. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
  49. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
  50. package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
  51. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
  53. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  54. package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
  55. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
  56. package/dist/_dts/core/src/mailing-list-setup.d.ts +9 -1
  57. package/dist/_dts/core/src/mailing-list-submission.d.ts +1 -1
  58. package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
  59. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +55 -4
  60. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  61. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  62. package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
  63. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
  64. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
  65. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
  66. package/dist/_dts/media-core/src/index.d.ts +4 -0
  67. package/dist/_dts/media-core/src/media.d.ts +406 -0
  68. package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
  69. package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
  70. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
  71. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  72. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
  73. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
  74. package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
  75. package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
  76. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  77. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
  78. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
  79. package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
  80. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
  81. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
  82. package/dist/_dts/media-editor/src/types.d.ts +1 -1
  83. package/dist/_dts/media-editor/src/utils.d.ts +0 -1
  84. package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
  85. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
  86. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
  87. package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
  88. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
  89. package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
  90. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  91. package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
  92. package/dist/_dts/sdk/src/index.d.ts +1 -0
  93. package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
  94. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
  95. package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
  96. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
  97. package/dist/_dts/sdk/src/version.d.ts +1 -1
  98. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
  100. package/dist/_dts/theme-core/src/buttons/types.d.ts +21 -21
  101. package/dist/_dts/theme-core/src/cards/types.d.ts +34 -34
  102. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  103. package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
  104. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +261 -2619
  105. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
  106. package/dist/_dts/theme-core/src/schema.d.ts +548 -3187
  107. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  108. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
  109. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  110. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  111. package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
  112. package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
  113. package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-DrchYW1m.mjs} +2 -2
  114. package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-CC_GVmF6.mjs} +5 -4
  115. package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-Dq30m3DO.mjs} +1 -1
  116. package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-ojwbVUmx.mjs} +2 -2
  117. package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-DyN0v0Xk.mjs} +5 -6
  118. package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-CgfpKc3n.mjs} +2 -2
  119. package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-CuOuvYMz.mjs} +2 -2
  120. package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-B0WhRr3j.mjs} +1 -1
  121. package/dist/client/{RichText-BoDmnopf.mjs → RichText-C1fIXBzA.mjs} +45 -32
  122. package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-B7HFqFBg.mjs} +1 -2
  123. package/dist/client/{accordion-DOkRS64-.mjs → accordion-DCDVWSye.mjs} +1 -1
  124. package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-BJ3C4GlM.mjs} +42 -15
  125. package/dist/client/bookings.mjs +116989 -22191
  126. package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-BSCBhfHY.mjs} +2 -2
  127. package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-GEtOGsxo.mjs} +1 -1
  128. package/dist/client/{cart-OBBPlaH4.mjs → cart-Yv-aAtck.mjs} +3 -3
  129. package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-B9xDkl30.mjs} +3 -3
  130. package/dist/client/client.mjs +17577 -17361
  131. package/dist/client/{context-BI77UFAn.mjs → context-BOGe3rIA.mjs} +1 -1
  132. package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-D6M0T9hs.mjs} +8 -9
  133. package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-NM4UFBq8.mjs} +4 -4
  134. package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-f_FhV4O8.mjs} +3 -3
  135. package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-WLkfAROh.mjs} +4 -4
  136. package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-D3ejfLvW.mjs} +10 -10
  137. package/dist/client/{form-DW8rU7jO.mjs → form-D5Or2Jyu.mjs} +4 -5
  138. package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-hWgnv27V.mjs} +3 -3
  139. package/dist/client/hooks.mjs +16014 -15751
  140. package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-Di1K0O2S.mjs} +3 -4
  141. package/dist/client/{media-C5K_0xPd.mjs → media-D29-F1u_.mjs} +183 -362
  142. package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
  143. package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-CwxcwTNO.mjs} +4 -4
  144. package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BLSnhPdA.mjs} +3 -3
  145. package/dist/client/{productList-u9Lz8V15.mjs → productList-oGytONOX.mjs} +3 -3
  146. package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-lf_dTeZS.mjs} +1467 -125
  147. package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
  148. package/dist/client/rendering/client.mjs +10855 -10689
  149. package/dist/client/rendering/islands.mjs +20 -23
  150. package/dist/client/rendering.mjs +18411 -18181
  151. package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Bc_WVPS8.mjs} +1 -1
  152. package/dist/client/{shop-B_eykR-_.mjs → shop-BQ3bR7fA.mjs} +7 -7
  153. package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-DDPll6ZC.mjs} +8 -8
  154. package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-DO-e1pTe.mjs} +1 -1
  155. package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-BylM9jh1.mjs} +5 -5
  156. package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-B1Puub2v.mjs} +1 -1
  157. package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BBhkmQaT.mjs} +6 -7
  158. package/dist/preview-next/before-render.mjs +89 -4
  159. package/dist/preview-next/client/runtime.mjs +3 -3
  160. package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DWCvhJGu.mjs} +1 -1
  161. package/dist/server/components.mjs +18663 -18510
  162. package/dist/server/config-validation.mjs +450 -215
  163. package/dist/server/config.mjs +450 -215
  164. package/dist/server/data.mjs +15940 -15705
  165. package/dist/server/index.mjs +227 -2
  166. package/dist/server/next.mjs +18643 -18490
  167. package/dist/server/page-converter.mjs +12588 -12477
  168. package/dist/server/prebuild.mjs +1 -1
  169. package/dist/server/rendering/server.mjs +18007 -17855
  170. package/dist/server/rendering.mjs +18677 -18516
  171. package/dist/server/routing.mjs +17747 -17469
  172. package/dist/server/server.mjs +539 -276
  173. package/dist/server/theme-bridge.mjs +154 -37
  174. package/dist/server/theme.mjs +154 -37
  175. package/dist/{spinner-B-ab2rJp.mjs → spinner-BYM-Y81w.mjs} +1 -1
  176. package/package.json +1 -1
  177. package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
  178. package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
@@ -48,6 +48,52 @@ function err(error) {
48
48
  };
49
49
  }
50
50
  //#endregion
51
+ //#region ../core/src/branded.ts
52
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
53
+ function parseUuidBrand(value, unsafeConstructor) {
54
+ if (typeof value !== "string") return err({ kind: "not_string" });
55
+ const normalized = value.trim().toLowerCase();
56
+ if (normalized.length === 0) return err({ kind: "empty_string" });
57
+ if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
58
+ return ok(unsafeConstructor(normalized));
59
+ }
60
+ function expectParsedBrandedId(result) {
61
+ if (!result.ok) throw new Error(`Expected a validated branded UUID (${result.error.kind}).`);
62
+ return result.value;
63
+ }
64
+ const unsafeAsSiteId = (id) => id;
65
+ const unsafeAsApiKeyId = (id) => id;
66
+ const unsafeAsPageId = (id) => id;
67
+ const unsafeAsPageSurfaceId = (id) => id;
68
+ const unsafeAsEditorClientId = (id) => id;
69
+ const unsafeAsEventOfferingId = (id) => id;
70
+ const unsafeAsEventSeriesId = (id) => id;
71
+ const unsafeAsMediaAssetId = (id) => id;
72
+ const unsafeAsStorageBucketName = (value) => value;
73
+ const unsafeAsStoragePath = (value) => value;
74
+ const unsafeAsPositiveByteCount = (value) => value;
75
+ const unsafeAsPositiveSeconds = (value) => value;
76
+ const unsafeAsUserId = (id) => id;
77
+ const unsafeAsFormId = (id) => id;
78
+ const unsafeAsPassId = (id) => id;
79
+ const unsafeAsCustomerPassId = (id) => id;
80
+ const unsafeAsAppointmentServiceId = (id) => id;
81
+ const unsafeAsAppointmentResourceId = (id) => id;
82
+ const unsafeAsContentEntryId = (id) => id;
83
+ const unsafeAsContentVersionId = (id) => id;
84
+ const parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
85
+ const parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
86
+ const parsePageId = (value) => parseUuidBrand(value, unsafeAsPageId);
87
+ const parsePageSurfaceId = (value) => parseUuidBrand(value, unsafeAsPageSurfaceId);
88
+ const parseEditorClientId = (value) => parseUuidBrand(value, unsafeAsEditorClientId);
89
+ const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
90
+ const parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
91
+ const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
92
+ const parseContentEntryId = (value) => parseUuidBrand(value, unsafeAsContentEntryId);
93
+ const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
94
+ const parseFormId = (value) => parseUuidBrand(value, unsafeAsFormId);
95
+ const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
96
+ //#endregion
51
97
  //#region ../core/src/date-math.ts
52
98
  function addDaysToDate(date, dayCount) {
53
99
  const next = new Date(date);
@@ -2055,7 +2101,119 @@ function resolveSdkFooterMode(config) {
2055
2101
  return parsed.success ? parsed.data.layout?.footerMode ?? "default" : "default";
2056
2102
  }
2057
2103
  //#endregion
2058
- //#region ../theme-core/src/lib/media.ts
2104
+ //#region ../media-core/src/identifiers.ts
2105
+ function slugifyMediaIdentifier(value) {
2106
+ return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
2107
+ }
2108
+ function parseMediaIdentifier(value) {
2109
+ if (typeof value !== "string") return err({ kind: "not_string" });
2110
+ const trimmed = value.trim();
2111
+ if (trimmed.length === 0) return err({ kind: "empty_identifier" });
2112
+ const normalized = slugifyMediaIdentifier(trimmed);
2113
+ if (normalized.length === 0) return err({
2114
+ kind: "empty_after_normalization",
2115
+ value
2116
+ });
2117
+ return ok(normalized);
2118
+ }
2119
+ /**
2120
+ * Admits identifiers read from trusted persistence without repairing dirty data in memory.
2121
+ * User input should use parseMediaIdentifier, which intentionally canonicalizes it.
2122
+ */
2123
+ function parseCanonicalMediaIdentifier(value) {
2124
+ if (typeof value !== "string") return err({ kind: "not_string" });
2125
+ const parsed = parseMediaIdentifier(value);
2126
+ if (!parsed.ok) return parsed;
2127
+ if (value !== parsed.value) return err({
2128
+ kind: "non_canonical_identifier",
2129
+ value,
2130
+ canonical: parsed.value
2131
+ });
2132
+ return parsed;
2133
+ }
2134
+ //#endregion
2135
+ //#region ../media-core/src/mediaIdentifierSchema.ts
2136
+ /** Strict stored-reference admission delegates the canonical identifier decision. */
2137
+ const mediaIdentifierSchema = z.string().transform((value, context) => {
2138
+ const parsed = parseCanonicalMediaIdentifier(value);
2139
+ if (parsed.ok) return parsed.value;
2140
+ context.addIssue({
2141
+ code: "custom",
2142
+ message: "Expected a canonical media identifier"
2143
+ });
2144
+ return z.NEVER;
2145
+ });
2146
+ //#endregion
2147
+ //#region ../media-core/src/mediaKinds.ts
2148
+ const mediaTypeDiscriminants = [
2149
+ "image",
2150
+ "video",
2151
+ "audio",
2152
+ "document",
2153
+ "spreadsheet",
2154
+ "archive"
2155
+ ];
2156
+ //#endregion
2157
+ //#region ../media-core/src/renderableMediaAsset.ts
2158
+ /** Shared identifier indexing for admitted site-scoped projections. */
2159
+ function buildMediaIdentifierIndex(assets) {
2160
+ const index = new Map(assets.map((asset) => [asset.identifier, asset]));
2161
+ if (index.size !== assets.length) throw new Error("Duplicate media identifier in a site asset list");
2162
+ return index;
2163
+ }
2164
+ /** Index already admitted projections, including runtime registration updates. */
2165
+ function indexRenderableMediaAssets(assets) {
2166
+ if (!assets.length) return void 0;
2167
+ const byId = new Map(assets.map((asset) => [asset.id, asset]));
2168
+ const byIdentifier = buildMediaIdentifierIndex(assets);
2169
+ if (byId.size !== assets.length) throw new Error("Duplicate media asset identity in a site asset list");
2170
+ return {
2171
+ assets,
2172
+ byId,
2173
+ byIdentifier
2174
+ };
2175
+ }
2176
+ /** A portable reference never uses an incidental UUID, URL or storage snapshot for identity. */
2177
+ function resolveManagedMediaReference(reference, index) {
2178
+ const asset = index?.byIdentifier.get(reference.identifier);
2179
+ return asset ? {
2180
+ kind: "resolved",
2181
+ reference,
2182
+ asset
2183
+ } : {
2184
+ kind: "missing",
2185
+ reference
2186
+ };
2187
+ }
2188
+ //#endregion
2189
+ //#region ../media-core/src/renderableMediaAssetAdmission.ts
2190
+ const mediaAssetIdSchema = z.string().transform((value, context) => {
2191
+ const parsed = parseMediaAssetId(value);
2192
+ if (parsed.ok) return parsed.value;
2193
+ context.addIssue({
2194
+ code: "custom",
2195
+ message: "Expected a media asset ID"
2196
+ });
2197
+ return z.NEVER;
2198
+ });
2199
+ const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
2200
+ const renderableMediaAssetSchema = z.object({
2201
+ id: mediaAssetIdSchema,
2202
+ identifier: mediaIdentifierSchema,
2203
+ storageBucket: nonemptyStorageValue,
2204
+ storagePath: nonemptyStorageValue,
2205
+ mimeType: nonemptyStorageValue,
2206
+ filename: z.string().optional(),
2207
+ width: z.number().positive().nullable(),
2208
+ height: z.number().positive().nullable()
2209
+ });
2210
+ /** Admission precedes the identifier-only runtime resolution decision. */
2211
+ function buildRenderableMediaAssetIndex(assets) {
2212
+ if (!assets?.length) return void 0;
2213
+ return indexRenderableMediaAssets(assets.map((asset) => renderableMediaAssetSchema.parse(asset)));
2214
+ }
2215
+ //#endregion
2216
+ //#region ../media-core/src/media.ts
2059
2217
  const hotspotSchema = z.object({
2060
2218
  x: z.number().min(0).max(1),
2061
2219
  y: z.number().min(0).max(1),
@@ -2089,54 +2247,56 @@ const transformSchema = z.object({
2089
2247
  rotation: rotationSchema.optional()
2090
2248
  });
2091
2249
  const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
2092
- tag: z.literal("storage"),
2093
- assetId: z.string().optional(),
2094
- storageBucket: z.string().min(1),
2095
- storagePath: z.string().min(1)
2096
- }), z.object({
2250
+ tag: z.literal("media"),
2251
+ identifier: mediaIdentifierSchema
2252
+ }).strict(), z.object({
2097
2253
  tag: z.literal("external-src"),
2098
- assetId: z.string().optional(),
2099
2254
  src: z.string().url()
2100
- })]);
2101
- const mediaBaseSchema = z.object({
2255
+ }).strict()]);
2256
+ const mediaUsageShape = {
2102
2257
  purpose: z.string().optional(),
2103
2258
  placeholder: z.boolean().default(true).optional(),
2104
- assetId: z.string().optional(),
2105
- identifier: z.string().optional(),
2106
- src: z.string().optional(),
2107
2259
  alt: z.string().optional(),
2108
2260
  filename: z.string().optional(),
2109
- mimeType: z.string().optional(),
2110
2261
  width: z.number().optional(),
2111
2262
  height: z.number().optional(),
2112
- storageBucket: z.string().optional(),
2113
- storagePath: z.string().optional(),
2114
2263
  poster: mediaPosterSchema.optional(),
2115
2264
  transform: transformSchema.optional()
2116
- });
2117
- const mediaIdentifierSchema = z.string().trim().min(1).brand();
2265
+ };
2266
+ const environmentExclusions = {
2267
+ assetId: z.never().optional(),
2268
+ id: z.never().optional(),
2269
+ src: z.never().optional(),
2270
+ storageBucket: z.never().optional(),
2271
+ storagePath: z.never().optional(),
2272
+ mimeType: z.never().optional()
2273
+ };
2274
+ const mediaBaseSchema = z.object({
2275
+ ...mediaUsageShape,
2276
+ ...environmentExclusions,
2277
+ identifier: mediaIdentifierSchema
2278
+ }).strict();
2118
2279
  const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
2119
2280
  const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
2120
- const audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
2121
- const documentMediaSchema = mediaBaseSchema.extend({ type: z.literal("document") });
2122
- const spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z.literal("spreadsheet") });
2123
- const archiveMediaSchema = mediaBaseSchema.extend({ type: z.literal("archive") });
2124
- const mediaSchema = z.discriminatedUnion("type", [
2125
- imageMediaSchema,
2126
- videoMediaSchema,
2127
- audioMediaSchema,
2128
- documentMediaSchema,
2129
- spreadsheetMediaSchema,
2130
- archiveMediaSchema
2131
- ]);
2132
- const persistableMediaBaseSchema = mediaBaseSchema.extend({ identifier: mediaIdentifierSchema });
2133
- const persistableMediaSchema = z.discriminatedUnion("type", [
2134
- persistableMediaBaseSchema.extend({ type: z.literal("image") }),
2135
- persistableMediaBaseSchema.extend({ type: z.literal("video") }),
2136
- persistableMediaBaseSchema.extend({ type: z.literal("audio") }),
2137
- persistableMediaBaseSchema.extend({ type: z.literal("document") }),
2138
- persistableMediaBaseSchema.extend({ type: z.literal("spreadsheet") }),
2139
- persistableMediaBaseSchema.extend({ type: z.literal("archive") })
2281
+ const mediaSchema = mediaBaseSchema.extend({ type: z.enum(mediaTypeDiscriminants) });
2282
+ const externalMediaSchema = z.object({
2283
+ ...mediaUsageShape,
2284
+ ...environmentExclusions,
2285
+ type: z.enum(mediaTypeDiscriminants),
2286
+ src: z.string().min(1),
2287
+ identifier: z.never().optional()
2288
+ }).strict();
2289
+ const assetMediaSchema = z.object({
2290
+ ...mediaUsageShape,
2291
+ ...environmentExclusions,
2292
+ type: z.enum(mediaTypeDiscriminants),
2293
+ asset: renderableMediaAssetSchema,
2294
+ identifier: z.never().optional()
2295
+ }).strict();
2296
+ const runtimeMediaSchema = z.union([
2297
+ mediaSchema,
2298
+ externalMediaSchema,
2299
+ assetMediaSchema
2140
2300
  ]);
2141
2301
  //#endregion
2142
2302
  //#region ../theme-core/src/palette/colors.ts
@@ -8004,6 +8164,21 @@ const boxBackgroundSchema = z.discriminatedUnion("type", [
8004
8164
  showVideoOnMobile: z.boolean().nullable().optional()
8005
8165
  })
8006
8166
  ]);
8167
+ /** Application rendering sources are admitted separately from saved references. */
8168
+ const runtimeBoxBackgroundSchema = z.discriminatedUnion("type", [
8169
+ boxBackgroundSchema.options[0],
8170
+ boxBackgroundSchema.options[1],
8171
+ boxBackgroundSchema.options[2].extend({ image: z.union([
8172
+ imageMediaSchema,
8173
+ externalMediaSchema.extend({ type: z.literal("image") }),
8174
+ assetMediaSchema.extend({ type: z.literal("image") })
8175
+ ]).nullable().optional() }),
8176
+ boxBackgroundSchema.options[3].extend({ image: z.union([
8177
+ videoMediaSchema,
8178
+ externalMediaSchema.extend({ type: z.literal("video") }),
8179
+ assetMediaSchema.extend({ type: z.literal("video") })
8180
+ ]).nullable().optional() })
8181
+ ]);
8007
8182
  function normalizeAuthoringOpacity(value) {
8008
8183
  if (!isRecord(value)) return value;
8009
8184
  return {
@@ -16347,4 +16522,4 @@ function ThemedAuthoredButton({ label, href, variant, size, extraClassName, disa
16347
16522
  });
16348
16523
  }
16349
16524
  //#endregion
16350
- export { headerInteractionQuietPalette as $, asAppearancePresetId as $n, resolveBookingCollectionOptionFacts as $r, backgroundColorStyle as $t, updateButtonStyleHoverPreference as A, surfaceForegroundDeclarations as An, visibleHeadingDecorationFamilyValues as Ar, NAV_LINK_PADDING_X_MAP as At, generateInteractiveChildInheritanceCSS as B, paletteColorEntries as Bn, SpinnerNode as Br, ACCORDION_OPEN_ACCENT_THICKNESS as Bt, MinusIcon as C, ORDINARY_TEXT_MIN_CONTRAST_RATIO as Cn, noHeadingDecoration as Cr, getComponentBorderWidthPx as Ct, defaultButtonStyleSelectionFor as D, hexToRgb as Dn, requireNonEmptyReadonlyArray as Dr, NAV_LINK_BORDER_RADIUS_MAP as Dt, buttonStyleSelectionParameterValue as E, featuresFromHex as En, plainFrame as Er, parseCustomCssRules as Et, generateButtonActionLayoutCss as F, cardRoleSchema as Fn, unsafeAsOpaqueButtonColourToken as Fr, navEffectPolicy as Ft, corners as G, paletteValueKeySchema as Gn, checkoutCopy as Gr, ICON_SIZE_PX as Gt, parseThemeForPersistence as H, paletteColorsSchema as Hn, checkBrowserStripeKey as Hr, ACCORDION_TRIGGER_FONT_SCALE as Ht, generateButtonCss as I, cardRoleValues as In, parseThemeColorToken as Ir, FONT_WEIGHT_MAP$1 as It, themeSchema as J, mediaSchema as Jn, planCheckoutPaymentFlow as Jr, contrastThresholdByPolicy as Jt, headerPositioningValues as K, requirePaletteColorsFromEntries as Kn, getStripeMinimumChargeRequirement as Kr, generateCardCss as Kt, generateDefaultButtonSystem as L, cardVariantRoleValues as Ln, themeColorShadeSteps as Lr, INPUT_FONT_SIZE_MAP as Lt, buttonStyleSelectionKey as M, surfaceForegroundStyle as Mn, generateFontFaceCss as Mr, navLinkHoverColorCandidate as Mt, buttonStyleSelectionSchema as N, surfaceForegroundValue as Nn, getSiteFontsStorageUrl as Nr, navLinkOwnsHoverForeground as Nt, findButtonStyleRecipe as O, rgbToHex as On, testimonialsCompositionTreatmentValues as Or, NAV_LINK_LETTER_SPACING_MAP as Ot, buttonStyleSelectionsEqual as P, generateShadowValue$1 as Pn, VARIANT_ROLES as Pr, navLinkOwnsUnderline as Pt, headerInteractionPaletteValues as Q, skinTokenCssVars as Qn, resolveAvailableBookingCollectionOptions as Qr, TokenResolver as Qt, generateEffectsCSS as R, normalizeCardRole as Rn, parseBlockColorToken as Rr, INPUT_SPACING_MAP as Rt, FileTextIcon as S, defaultThemeTokens as Sn, makeBoundaryId as Sr, selectLogoAccommodation as St, buttonStyleHoverPreferenceValue as T, relativeLuminance as Tn, panelFrame as Tr, parseBlockCustomCssRules as Tt, cardStylesOverrideSchema as U, paletteModeSchema as Un, eventRegistrationErrors as Ur, ACCORDION_TRIGGER_LETTER_SPACING as Ut, parseThemeButtonVariantId as V, paletteColorsEqual as Vn, clsx as Vr, ACCORDION_SPACING_MAP as Vt, containerStylesOverrideSchema as W, paletteValueKey as Wn, parseEventRegistrationErrorReason as Wr, ICON_CONFIG as Wt, boxBackgroundSchema as X, footerModeSchema as Xn, isBookingCollectionEquivalentToUpfront as Xr, surfaceDecorationColors as Xt, boxBackgroundOverlaySchema as Y, persistableMediaSchema as Yn, planFlexibleBalanceCreditFirst as Yr, resolveSurface as Yt, headerInteractionPalettePair as Z, resolveSdkFooterMode as Zn, repriceBookingCollectionOptions as Zr, toAccessibleColorSurfaceIntent as Zt, CirclePlusIcon as _, expandPalette as _n, eyebrowTreatmentValues as _r, themeV2RuntimeStyleFieldNames as _t, ThemedDownloadLink as a, ok as ai, textColorValue as an, asDesignEntryId as ar, BREAKPOINT_XL as at, FileAudioIcon as b, resolveConcreteColorHex as bn, headingDecorationColorTokenValues as br, logoSizePolicyValues as bt, isKnownIconName as c, __toESM as ci, isCssColorLiteral as cn, asLayoutVariantKey as cr, MQ_SM_DOWN as ct, resolveIconPickerPreset as d, resolveTokenOrCssColorValue as dn, assertNever as dr, headerVariantValues as dt, getBookingLaterInstalments as ei, borderColorStyle as en, asBlockContentVersionId as er, generateHeaderScrollTreatmentStyles as et, SEMANTIC_ICON_DEFINITIONS as f, generateShadowValue as fn, defineBlockDesignCapability as fr, isThemeV2NormalEditorRawStyleFieldName as ft, CircleMinusIcon as g, resolveSurfaceForeground as gn, eventListTreatmentValues as gr, stripStaleTransitionStyleGroup as gt, ChevronDownIcon as h, surfaceToneFromForegroundToken as hn, designIssueSeverityForPolicy as hr, siteChromeBackgroundOverrideOwner as ht, ThemedButtonSpecimen as i, err as ii, textColorStyle as in, asDesignBoundaryId as ir, BREAKPOINT_LG as it, updateButtonStyleSelectionChoice as j, surfaceForegroundInputFromResolved as jn, buildFontPreviewUrl as jr, NAV_LINK_TEXT_SIZE_MAP as jt, resolveButtonStyleSelection as k, DEFAULT_SURFACE_TEXT_COLOR as kn, tileTreatmentValues as kr, NAV_LINK_PADDING_MAP as kt, ICON_PICKER_PRESETS as l, resolveOnColorForThemeToken as ln, asPageFlowPresetId as lr, MQ_SM_UP as lt, ArrowDownIcon as m, selectLogoVariant as mn, defineFrameCapability as mr, pageDesignEditorBackgroundOverrideOwner as mt, ThemedButton as n, getBookingInstalmentPlanIntervalCount as ni, mergeStyles as nn, asBoundaryOptionId as nr, getHeaderPaintTargets as nt, getIconComponent as o, __commonJSMin as oi, opaqueSurfaceContextFromTheme as on, asDesignPageId as or, MQ_LG_UP as ot, isSemanticIconId as p, PUBLIC_BUTTON_ROLES as pn, defineExactCatalog as pr, isThemeV2NormalEditorRawStylePath as pt, sectionStylesOverrideSchema as q, mediaIdentifierSchema as qn, confirmationPaymentSchema as qr, renderCssDeclarations as qt, ThemedButtonLink as r, formatCurrencyAmount as ri, rgbColorValue as rn, asDesignBlockId as rr, renderHeaderPaintTargetRules as rt, getIconPickerOptionsForPreset as s, __exportAll as si, opaqueSurfaceDeclarations as sn, asDesignSystemTemplateId as sr, MQ_MD_DOWN as st, ThemedAuthoredButton as t, validateBookingPaymentOptionKinds as ti, cssVarValue as tn, asBlockOrderIndex as tr, generateMobileOverlayBackdropFilterFix as tt, isIconPickerPreset as u, resolveThemeColorReferenceValue as un, asSiteStyleId as ur, MQ_TABLET_ONLY as ut, ClockIcon as v, getTextColorForBackground as vn, featureCardCompositionTreatmentValues as vr, brandDisplayModeValues as vt, PlusIcon as w, contrastRatio as wn, offeringsPreviewCompositionTreatmentValues as wr, getComponentShadowVar as wt, FileSpreadsheetIcon as x, buildThemeTokens as xn, introCompositionTreatmentValues as xr, resolveBrandDisplay as xt, FileArchiveIcon as y, planForegroundHover as yn, flushPanelFrame as yr, deterministicLogoFactsForShape as yt, generateBaseInteractiveCSS as z, hexColorSchema as zn, parseColorTokenParts as zr, LABEL_FONT_SIZE_MAP as zt };
16525
+ export { headerInteractionPaletteValues as $, renderableMediaAssetSchema as $n, checkoutCopy as $r, TokenResolver as $t, updateButtonStyleHoverPreference as A, unsafeAsPositiveByteCount as Ai, DEFAULT_SURFACE_TEXT_COLOR as An, makeBoundaryId as Ar, NAV_LINK_PADDING_MAP as At, generateInteractiveChildInheritanceCSS as B, hexColorSchema as Bn, generateFontFaceCss as Br, LABEL_FONT_SIZE_MAP as Bt, MinusIcon as C, parseUserId as Ci, defaultThemeTokens as Cn, designIssueSeverityForPolicy as Cr, selectLogoAccommodation as Ct, defaultButtonStyleSelectionFor as D, unsafeAsFormId as Di, featuresFromHex as Dn, flushPanelFrame as Dr, parseCustomCssRules as Dt, buttonStyleSelectionParameterValue as E, unsafeAsCustomerPassId as Ei, relativeLuminance as En, featureCardCompositionTreatmentValues as Er, parseBlockCustomCssRules as Et, generateButtonActionLayoutCss as F, err as Fi, generateShadowValue$1 as Fn, requireNonEmptyReadonlyArray as Fr, navLinkOwnsUnderline as Ft, corners as G, paletteValueKey as Gn, themeColorShadeSteps as Gr, ICON_CONFIG as Gt, parseThemeForPersistence as H, paletteColorsEqual as Hn, VARIANT_ROLES as Hr, ACCORDION_SPACING_MAP as Ht, generateButtonCss as I, ok as Ii, cardRoleSchema as In, testimonialsCompositionTreatmentValues as Ir, navEffectPolicy as It, themeSchema as J, imageMediaSchema as Jn, SpinnerNode as Jr, renderCssDeclarations as Jt, headerPositioningValues as K, paletteValueKeySchema as Kn, parseBlockColorToken as Kr, ICON_SIZE_PX as Kt, generateDefaultButtonSystem as L, __commonJSMin as Li, cardRoleValues as Ln, tileTreatmentValues as Lr, FONT_WEIGHT_MAP$1 as Lt, buttonStyleSelectionKey as M, unsafeAsSiteId as Mi, surfaceForegroundInputFromResolved as Mn, offeringsPreviewCompositionTreatmentValues as Mr, NAV_LINK_TEXT_SIZE_MAP as Mt, buttonStyleSelectionSchema as N, unsafeAsStorageBucketName as Ni, surfaceForegroundStyle as Nn, panelFrame as Nr, navLinkHoverColorCandidate as Nt, findButtonStyleRecipe as O, unsafeAsMediaAssetId as Oi, hexToRgb as On, headingDecorationColorTokenValues as Or, NAV_LINK_BORDER_RADIUS_MAP as Ot, buttonStyleSelectionsEqual as P, unsafeAsStoragePath as Pi, surfaceForegroundValue as Pn, plainFrame as Pr, navLinkOwnsHoverForeground as Pt, headerInteractionPalettePair as Q, buildRenderableMediaAssetIndex as Qn, parseEventRegistrationErrorReason as Qr, toAccessibleColorSurfaceIntent as Qt, generateEffectsCSS as R, __exportAll as Ri, cardVariantRoleValues as Rn, visibleHeadingDecorationFamilyValues as Rr, INPUT_FONT_SIZE_MAP as Rt, FileTextIcon as S, parseSiteId as Si, buildThemeTokens as Sn, defineFrameCapability as Sr, resolveBrandDisplay as St, buttonStyleHoverPreferenceValue as T, unsafeAsAppointmentServiceId as Ti, contrastRatio as Tn, eyebrowTreatmentValues as Tr, getComponentShadowVar as Tt, cardStylesOverrideSchema as U, paletteColorsSchema as Un, unsafeAsOpaqueButtonColourToken as Ur, ACCORDION_TRIGGER_FONT_SCALE as Ut, parseThemeButtonVariantId as V, paletteColorEntries as Vn, getSiteFontsStorageUrl as Vr, ACCORDION_OPEN_ACCENT_THICKNESS as Vt, containerStylesOverrideSchema as W, paletteModeSchema as Wn, parseThemeColorToken as Wr, ACCORDION_TRIGGER_LETTER_SPACING as Wt, boxBackgroundSchema as X, mediaSchema as Xn, checkBrowserStripeKey as Xr, resolveSurface as Xt, boxBackgroundOverlaySchema as Y, mediaPosterSchema as Yn, clsx as Yr, contrastThresholdByPolicy as Yt, runtimeBoxBackgroundSchema as Z, runtimeMediaSchema as Zn, eventRegistrationErrors as Zr, surfaceDecorationColors as Zt, CirclePlusIcon as _, parseEventOfferingId as _i, resolveSurfaceForeground as _n, asPageFlowPresetId as _r, stripStaleTransitionStyleGroup as _t, ThemedDownloadLink as a, repriceBookingCollectionOptions as ai, textColorStyle as an, resolveSdkFooterMode as ar, BREAKPOINT_LG as at, FileAudioIcon as b, parsePageId as bi, planForegroundHover as bn, defineBlockDesignCapability as br, deterministicLogoFactsForShape as bt, isKnownIconName as c, getBookingLaterInstalments as ci, opaqueSurfaceDeclarations as cn, asBlockContentVersionId as cr, MQ_MD_DOWN as ct, resolveIconPickerPreset as d, formatCurrencyAmount as di, resolveThemeColorReferenceValue as dn, asDesignBlockId as dr, MQ_TABLET_ONLY as dt, getStripeMinimumChargeRequirement as ei, backgroundColorStyle as en, indexRenderableMediaAssets as er, headerInteractionQuietPalette as et, SEMANTIC_ICON_DEFINITIONS as f, expectParsedBrandedId as fi, resolveTokenOrCssColorValue as fn, asDesignBoundaryId as fr, headerVariantValues as ft, CircleMinusIcon as g, parseEditorClientId as gi, surfaceToneFromForegroundToken as gn, asLayoutVariantKey as gr, siteChromeBackgroundOverrideOwner as gt, ChevronDownIcon as h, parseContentVersionId as hi, selectLogoVariant as hn, asDesignSystemTemplateId as hr, pageDesignEditorBackgroundOverrideOwner as ht, ThemedButtonSpecimen as i, isBookingCollectionEquivalentToUpfront as ii, rgbColorValue as in, footerModeSchema as ir, renderHeaderPaintTargetRules as it, updateButtonStyleSelectionChoice as j, unsafeAsPositiveSeconds as ji, surfaceForegroundDeclarations as jn, noHeadingDecoration as jr, NAV_LINK_PADDING_X_MAP as jt, resolveButtonStyleSelection as k, unsafeAsPassId as ki, rgbToHex as kn, introCompositionTreatmentValues as kr, NAV_LINK_LETTER_SPACING_MAP as kt, ICON_PICKER_PRESETS as l, validateBookingPaymentOptionKinds as li, isCssColorLiteral as ln, asBlockOrderIndex as lr, MQ_SM_DOWN as lt, ArrowDownIcon as m, parseContentEntryId as mi, PUBLIC_BUTTON_ROLES as mn, asDesignPageId as mr, isThemeV2NormalEditorRawStylePath as mt, ThemedButton as n, planCheckoutPaymentFlow as ni, cssVarValue as nn, mediaIdentifierSchema as nr, generateMobileOverlayBackdropFilterFix as nt, getIconComponent as o, resolveAvailableBookingCollectionOptions as oi, textColorValue as on, skinTokenCssVars as or, BREAKPOINT_XL as ot, isSemanticIconId as p, parseApiKeyId as pi, generateShadowValue as pn, asDesignEntryId as pr, isThemeV2NormalEditorRawStyleFieldName as pt, sectionStylesOverrideSchema as q, requirePaletteColorsFromEntries as qn, parseColorTokenParts as qr, generateCardCss as qt, ThemedButtonLink as r, planFlexibleBalanceCreditFirst as ri, mergeStyles as rn, parseCanonicalMediaIdentifier as rr, getHeaderPaintTargets as rt, getIconPickerOptionsForPreset as s, resolveBookingCollectionOptionFacts as si, opaqueSurfaceContextFromTheme as sn, asAppearancePresetId as sr, MQ_LG_UP as st, ThemedAuthoredButton as t, confirmationPaymentSchema as ti, borderColorStyle as tn, resolveManagedMediaReference as tr, generateHeaderScrollTreatmentStyles as tt, isIconPickerPreset as u, getBookingInstalmentPlanIntervalCount as ui, resolveOnColorForThemeToken as un, asBoundaryOptionId as ur, MQ_SM_UP as ut, ClockIcon as v, parseEventSeriesId as vi, expandPalette as vn, asSiteStyleId as vr, themeV2RuntimeStyleFieldNames as vt, PlusIcon as w, unsafeAsAppointmentResourceId as wi, ORDINARY_TEXT_MIN_CONTRAST_RATIO as wn, eventListTreatmentValues as wr, getComponentBorderWidthPx as wt, FileSpreadsheetIcon as x, parsePageSurfaceId as xi, resolveConcreteColorHex as xn, defineExactCatalog as xr, logoSizePolicyValues as xt, FileArchiveIcon as y, parseFormId as yi, getTextColorForBackground as yn, assertNever as yr, brandDisplayModeValues as yt, generateBaseInteractiveCSS as z, __toESM as zi, normalizeCardRole as zn, buildFontPreviewUrl as zr, INPUT_SPACING_MAP as zt };