@riverbankcms/sdk 0.143.0 → 0.144.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 (161) hide show
  1. package/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-CQZNnFiM.mjs} +19 -25
  2. package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-DCNxnmI0.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-BJolUbr1.mjs} +15 -6
  4. package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CKgEpoxi.mjs} +1915 -1463
  5. package/dist/_dts/api/src/billing.d.ts +1 -1
  6. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  7. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  8. package/dist/_dts/api/src/index.d.ts +1 -1
  9. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  10. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
  11. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  12. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  13. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  14. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  15. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  16. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  17. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  18. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  19. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  20. package/dist/_dts/block-form/src/index.d.ts +1 -0
  21. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  26. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  27. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +34 -10
  29. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  30. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
  32. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  33. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
  34. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  35. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  36. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  37. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  38. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  39. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  40. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  42. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  43. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  54. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  59. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  63. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  65. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  66. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  67. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  68. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  69. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  70. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  71. package/dist/_dts/core/src/index.d.ts +2 -0
  72. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +13 -0
  73. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  74. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  75. package/dist/_dts/logger/src/console.d.ts +3 -0
  76. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  77. package/dist/_dts/sdk/src/client/types.d.ts +3 -0
  78. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  79. package/dist/_dts/sdk/src/public-api/contracts.d.ts +15 -7
  80. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  81. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  82. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  83. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  84. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  85. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  86. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  87. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  88. package/dist/_dts/sdk/src/version.d.ts +1 -1
  89. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  91. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  92. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  95. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  96. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  97. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  98. package/dist/_dts/ui/src/index.d.ts +1 -0
  99. package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DoAILrkN.mjs} +4 -55
  100. package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-X528hUTf.mjs} +27 -17
  101. package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DSBVwq5m.mjs} +54 -46
  102. package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-DmFAX7Vb.mjs} +3 -4
  103. package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-BAqXdfhq.mjs} +1 -1
  104. package/dist/client/ThemedButton-BwNFVwi4.mjs +412 -0
  105. package/dist/client/{accordion-DOmnDoyg.mjs → accordion-DRhMdkbd.mjs} +1 -1
  106. package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-iJ_nCsNF.mjs} +26 -32
  107. package/dist/client/bookings.mjs +201 -118
  108. package/dist/client/{carousel-BZJ7pno3.mjs → carousel-D8zuffZr.mjs} +2 -2
  109. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  110. package/dist/client/{cart-CaeVAHJl.mjs → cart-DeMGJViN.mjs} +3 -3
  111. package/dist/client/{checkout-7wmoNDtG.mjs → checkout-DXc06Km2.mjs} +3 -3
  112. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  113. package/dist/client/client.mjs +2271 -1983
  114. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  115. package/dist/client/{context-BOimxE3U.mjs → context-CDLCfDep.mjs} +24 -8
  116. package/dist/client/{dates-BnzVksi4.mjs → dates-ClFx7Epy.mjs} +2 -2
  117. package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BaGpnOGN.mjs} +39 -50
  118. package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-ywONOx2m.mjs} +5 -4
  119. package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-B2LlOTYY.mjs} +4 -4
  120. package/dist/client/{eventListing-dph8loYX.mjs → eventListing-CMgxWpqP.mjs} +5 -4
  121. package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-BarLDNHR.mjs} +83 -68
  122. package/dist/client/{form-BLVVAnd3.mjs → form-BjqKaBJ7.mjs} +9 -10
  123. package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-CP4XDwz1.mjs} +23 -30
  124. package/dist/client/hooks.mjs +257 -63
  125. package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-C5gW-d-w.mjs} +9 -10
  126. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  127. package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-afXlVSA0.mjs} +8 -9
  128. package/dist/client/{pricing-ChinRYFt.mjs → pricing-Bl1CAl28.mjs} +1 -1
  129. package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-CvQ3jWQe.mjs} +3 -3
  130. package/dist/client/{productList-OoINA0h1.mjs → productList-U874PGO7.mjs} +3 -3
  131. package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-DPXtCZWP.mjs} +87 -29
  132. package/dist/client/rendering/client.mjs +1891 -1740
  133. package/dist/client/rendering/islands.mjs +19 -19
  134. package/dist/client/rendering.mjs +2225 -1913
  135. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-NGYiUWXu.mjs} +8 -1
  136. package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-0-C3DVhK.mjs} +1 -1
  137. package/dist/client/{shop-CLJFqNIq.mjs → shop-BXjXhM9P.mjs} +45 -58
  138. package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-BZ6UlWJ7.mjs} +42 -55
  139. package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-DlSBXb3D.mjs} +1 -1
  140. package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-kkEOiLPA.mjs} +6 -5
  141. package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-zvnnE1ro.mjs} +66 -355
  142. package/dist/preview-next/client/runtime.mjs +3 -3
  143. package/dist/preview-next/editor-chrome.css +8 -0
  144. package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-DFJlQt3q.mjs} +1 -1
  145. package/dist/{separator-BTp96X32.mjs → separator-o8GHb1xh.mjs} +1 -1
  146. package/dist/server/components.mjs +828 -623
  147. package/dist/server/config-validation.mjs +257 -63
  148. package/dist/server/config.mjs +257 -63
  149. package/dist/server/data.mjs +257 -63
  150. package/dist/server/index.mjs +9 -5
  151. package/dist/server/navigation.mjs +28 -1
  152. package/dist/server/next.mjs +14129 -13947
  153. package/dist/server/page-converter.mjs +110 -59
  154. package/dist/server/prebuild.mjs +1 -1
  155. package/dist/server/rendering/server.mjs +832 -624
  156. package/dist/server/rendering.mjs +830 -624
  157. package/dist/server/routing.mjs +294 -69
  158. package/dist/server/server.mjs +266 -68
  159. package/dist/server/theme-bridge.mjs +40 -1
  160. package/dist/styles/index.css +6 -0
  161. package/package.json +1 -1
@@ -2097,6 +2097,12 @@ var init_booking_verticals = __esmMin((() => {
2097
2097
  //#region ../core/src/navigation-locations.ts
2098
2098
  var init_navigation_locations = __esmMin((() => {}));
2099
2099
  //#endregion
2100
+ //#region ../core/src/event-preset-vocabulary.ts
2101
+ var init_event_preset_vocabulary = __esmMin((() => {}));
2102
+ //#endregion
2103
+ //#region ../core/src/event-catalogue.ts
2104
+ var init_event_catalogue = __esmMin((() => {}));
2105
+ //#endregion
2100
2106
  //#region ../core/src/index.ts
2101
2107
  var init_src$4 = __esmMin((() => {
2102
2108
  init_branded();
@@ -2171,6 +2177,8 @@ var init_src$4 = __esmMin((() => {
2171
2177
  init_booking_verticals();
2172
2178
  init_event_series_behaviour();
2173
2179
  init_navigation_locations();
2180
+ init_event_preset_vocabulary();
2181
+ init_event_catalogue();
2174
2182
  }));
2175
2183
  //#endregion
2176
2184
  //#region ../media-core/src/types.ts
@@ -3352,6 +3360,45 @@ function srgbToLinear(u) {
3352
3360
  function linearToSrgb(x) {
3353
3361
  return clamp01(x <= .0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - .055) * 255;
3354
3362
  }
3363
+ function rgbToHsl$1(r, g, b) {
3364
+ const R = r / 255, G = g / 255, B = b / 255;
3365
+ const max = Math.max(R, G, B), min = Math.min(R, G, B);
3366
+ const d = max - min;
3367
+ let h = 0;
3368
+ if (d !== 0) {
3369
+ switch (max) {
3370
+ case R:
3371
+ h = (G - B) / d + (G < B ? 6 : 0);
3372
+ break;
3373
+ case G:
3374
+ h = (B - R) / d + 2;
3375
+ break;
3376
+ case B:
3377
+ h = (R - G) / d + 4;
3378
+ break;
3379
+ }
3380
+ h *= 60;
3381
+ }
3382
+ const l = (max + min) / 2;
3383
+ const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
3384
+ return {
3385
+ h,
3386
+ s,
3387
+ l
3388
+ };
3389
+ }
3390
+ function srgbToOklab(r, g, b) {
3391
+ const R = srgbToLinear(r), G = srgbToLinear(g), B = srgbToLinear(b);
3392
+ const l = .4122214708 * R + .5363325363 * G + .0514459929 * B;
3393
+ const m = .2119034982 * R + .6806995451 * G + .1073969566 * B;
3394
+ const s = .0883024619 * R + .2817188376 * G + .6299787005 * B;
3395
+ const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s);
3396
+ return {
3397
+ L: .2104542553 * l_ + .793617785 * m_ - .0040720468 * s_,
3398
+ a: 1.9779984951 * l_ - 2.428592205 * m_ + .4505937099 * s_,
3399
+ b: .0259040371 * l_ + .7827717662 * m_ - .808675766 * s_
3400
+ };
3401
+ }
3355
3402
  function oklabToSrgb(L, a, b) {
3356
3403
  const l_ = Math.pow(L + .3963377774 * a + .2158037573 * b, 3);
3357
3404
  const m_ = Math.pow(L - .1055613458 * a - .0638541728 * b, 3);
@@ -3365,6 +3412,14 @@ function oklabToSrgb(L, a, b) {
3365
3412
  b: linearToSrgb(B)
3366
3413
  };
3367
3414
  }
3415
+ function oklabToOklch(L, a, b) {
3416
+ const C = Math.sqrt(a * a + b * b);
3417
+ return {
3418
+ L,
3419
+ C,
3420
+ h: C < 1e-7 ? 0 : deg(Math.atan2(b, a) * 180 / Math.PI)
3421
+ };
3422
+ }
3368
3423
  function oklchToOklab(L, C, h) {
3369
3424
  const hr = h * Math.PI / 180;
3370
3425
  return {
@@ -3373,9 +3428,32 @@ function oklchToOklab(L, C, h) {
3373
3428
  b: C * Math.sin(hr)
3374
3429
  };
3375
3430
  }
3376
- var clamp01;
3431
+ function featuresFromHex(hex) {
3432
+ const { r, g, b } = hexToRgb(hex);
3433
+ const { h, s, l } = rgbToHsl$1(r, g, b);
3434
+ const { L, a, b: b2 } = srgbToOklab(r, g, b);
3435
+ const { L: okL, C: okC, h: okH } = oklabToOklch(L, a, b2);
3436
+ return {
3437
+ r,
3438
+ g,
3439
+ b,
3440
+ h,
3441
+ s,
3442
+ l,
3443
+ v: Math.max(r, g, b) / 255,
3444
+ Y: .2126 * srgbToLinear(r) + .7152 * srgbToLinear(g) + .0722 * srgbToLinear(b),
3445
+ chroma: s,
3446
+ okL,
3447
+ okC,
3448
+ okH,
3449
+ hex
3450
+ };
3451
+ }
3452
+ var clamp01, mod, deg;
3377
3453
  var init_colorConversion = __esmMin((() => {
3378
3454
  clamp01 = (x) => Math.max(0, Math.min(1, x));
3455
+ mod = (a, n) => (a % n + n) % n;
3456
+ deg = (x) => mod(x, 360);
3379
3457
  }));
3380
3458
  //#endregion
3381
3459
  //#region ../theme-core/src/palette/generateShades.ts
@@ -4506,12 +4584,47 @@ var init_resolveSurfaceForeground = __esmMin((() => {
4506
4584
  ];
4507
4585
  }));
4508
4586
  //#endregion
4587
+ //#region ../theme-core/src/surfaces/logoVariant.ts
4588
+ /** Concrete hex behind a plain, opaque palette token, or null otherwise. */
4589
+ function opaquePaletteHexForToken(expandedPalette, token) {
4590
+ if (!token) return null;
4591
+ const parts = parseColorTokenParts(token);
4592
+ if (parts.kind !== "token" || parts.opacityPercent !== null) return null;
4593
+ return expandedPalette[parts.token] ?? null;
4594
+ }
4595
+ /**
4596
+ * Tone of the surface a foreground token was resolved for.
4597
+ *
4598
+ * A token with opacity has no known underlay to composite against, and a raw
4599
+ * or unrecognised token has no palette hex, so both are `unknown` rather than
4600
+ * a guess.
4601
+ */
4602
+ function surfaceToneFromForegroundToken(expandedPalette, foregroundToken) {
4603
+ const hex = opaquePaletteHexForToken(expandedPalette, foregroundToken);
4604
+ if (!hex) return "unknown";
4605
+ return featuresFromHex(hex).Y >= .5 ? "dark" : "light";
4606
+ }
4607
+ /**
4608
+ * The logo to draw on a surface of the given tone. A missing variant falls
4609
+ * back to the other one, and an unknown tone uses the light-backgrounds logo,
4610
+ * which is what every site rendered before variants existed.
4611
+ */
4612
+ function selectLogoVariant(tone, variants) {
4613
+ const { forLightBackgrounds, forDarkBackgrounds } = variants;
4614
+ return tone === "dark" ? forDarkBackgrounds ?? forLightBackgrounds : forLightBackgrounds ?? forDarkBackgrounds;
4615
+ }
4616
+ var init_logoVariant = __esmMin((() => {
4617
+ init_colorConversion();
4618
+ init_colorTokenParts();
4619
+ }));
4620
+ //#endregion
4509
4621
  //#region ../theme-core/src/surfaces/index.ts
4510
4622
  var init_surfaces = __esmMin((() => {
4511
4623
  init_foregroundContract();
4512
4624
  init_foregroundInteraction();
4513
4625
  init_foregroundRoles();
4514
4626
  init_resolveSurfaceForeground();
4627
+ init_logoVariant();
4515
4628
  }));
4516
4629
  //#endregion
4517
4630
  //#region ../theme-core/src/utils/colorStyles.ts
@@ -4559,16 +4672,28 @@ function backgroundColorStyle(token) {
4559
4672
  return { backgroundColor: rgbColorValue(token) };
4560
4673
  }
4561
4674
  /**
4675
+ * Converts a text color token to a CSS color value that follows the enclosing
4676
+ * surface. The semantic text tokens (`text`, `heading`, `mutedText`) resolve
4677
+ * to the surface foreground variables, so text adapts when a section's
4678
+ * background changes; any other token is a fixed theme color.
4679
+ *
4680
+ * @param token - Theme color token
4681
+ * @returns CSS color value
4682
+ */
4683
+ function textColorValue(token) {
4684
+ const parsed = parseToken(token);
4685
+ const surfaceRole = parsed.raw ? null : surfaceRoleForTextToken(parsed.token);
4686
+ if (!surfaceRole) return rgbColorValue(token);
4687
+ return parsed.opacityPercent === void 0 ? surfaceForegroundValue(surfaceRole) : surfaceForegroundValueWithOpacity(surfaceRole, parsed.opacityPercent);
4688
+ }
4689
+ /**
4562
4690
  * Creates a text color style object from a theme token.
4563
4691
  *
4564
4692
  * @param token - Theme color token
4565
4693
  * @returns CSSProperties with color
4566
4694
  */
4567
4695
  function textColorStyle(token) {
4568
- const parsed = parseToken(token);
4569
- const surfaceRole = parsed.raw ? null : surfaceRoleForTextToken(parsed.token);
4570
- if (surfaceRole) return { color: parsed.opacityPercent === void 0 ? surfaceForegroundValue(surfaceRole) : surfaceForegroundValueWithOpacity(surfaceRole, parsed.opacityPercent) };
4571
- return { color: rgbColorValue(token) };
4696
+ return { color: textColorValue(token) };
4572
4697
  }
4573
4698
  /**
4574
4699
  * Creates a border color style object from a theme token.
@@ -7189,7 +7314,7 @@ var init_generateCardCss = __esmMin((() => {
7189
7314
  }));
7190
7315
  //#endregion
7191
7316
  //#region ../theme-core/src/cards/core.ts
7192
- var init_core$2 = __esmMin((() => {
7317
+ var init_core$3 = __esmMin((() => {
7193
7318
  init_surfaces();
7194
7319
  }));
7195
7320
  //#endregion
@@ -7202,7 +7327,7 @@ var init_cards = __esmMin((() => {
7202
7327
  init_openCardVariant();
7203
7328
  init_generateCardCss();
7204
7329
  init_generateDefaultCardSystem();
7205
- init_core$2();
7330
+ init_core$3();
7206
7331
  }));
7207
7332
  //#endregion
7208
7333
  //#region ../theme-core/src/accordions/types.ts
@@ -9443,6 +9568,33 @@ function normalizeEventCalendarDisplayMode$1(input) {
9443
9568
  if (isEventCalendarDisplayMode(input.variant)) return input.variant;
9444
9569
  return isEventCalendarDisplayMode(input.displayMode) ? input.displayMode : void 0;
9445
9570
  }
9571
+ /** One closed authority for the projections required by each rendered mode. */
9572
+ function resolveEventCalendarReadPlan(input) {
9573
+ const mode = normalizeEventCalendarDisplayMode$1(input) ?? "combined";
9574
+ switch (mode) {
9575
+ case "combined": return {
9576
+ mode,
9577
+ jobs: "both",
9578
+ readProfile: "listing-card"
9579
+ };
9580
+ case "list": return {
9581
+ mode,
9582
+ jobs: "list",
9583
+ readProfile: "listing-card"
9584
+ };
9585
+ case "calendar": return {
9586
+ mode,
9587
+ jobs: "calendar",
9588
+ readProfile: "listing-card"
9589
+ };
9590
+ case "timetable":
9591
+ case "week-board": return {
9592
+ mode,
9593
+ jobs: "calendar",
9594
+ readProfile: "timetable"
9595
+ };
9596
+ }
9597
+ }
9446
9598
  function isEventCalendarDefaultView(value) {
9447
9599
  return typeof value === "string" && eventCalendarDefaultViewValues.includes(value);
9448
9600
  }
@@ -9482,8 +9634,7 @@ var init_events$1 = __esmMin((() => {
9482
9634
  //#endregion
9483
9635
  //#region ../blocks/src/system/blocks/events/shared/calendarWindow.ts
9484
9636
  function resolveCalendarReadProfile(content) {
9485
- const mode = normalizeEventCalendarDisplayMode$1(content);
9486
- return mode === "timetable" || mode === "week-board" ? "timetable" : "listing-card";
9637
+ return resolveEventCalendarReadPlan(content).readProfile;
9487
9638
  }
9488
9639
  /** Runtime picker sentinels and bound loader IDs must describe the same query. */
9489
9640
  function normalizeCalendarFilterId(value) {
@@ -20511,16 +20662,22 @@ var init_ResponsiveScope = __esmMin((() => {
20511
20662
  var init_fonts = __esmMin((() => {}));
20512
20663
  //#endregion
20513
20664
  //#region ../theme-core/src/buttons/core.ts
20514
- var init_core$1 = __esmMin((() => {
20665
+ var init_core$2 = __esmMin((() => {
20515
20666
  init_resolveButtonColourStates();
20516
20667
  init_resolvedButtonCss();
20517
20668
  init_types$13();
20518
20669
  }));
20670
+ //#endregion
20671
+ //#region ../theme-core/src/inputs/core.ts
20672
+ var init_core$1 = __esmMin((() => {
20673
+ init_colorStyles();
20674
+ }));
20519
20675
  var init_buildThemeRuntimeFromBridge = __esmMin((() => {
20520
20676
  init_shadow();
20521
20677
  init_customCss();
20522
- init_core$1();
20523
20678
  init_core$2();
20679
+ init_core$3();
20680
+ init_core$1();
20524
20681
  init_status();
20525
20682
  init_typography$1();
20526
20683
  init_blocks$2();
@@ -25397,9 +25554,7 @@ function navRow(opts) {
25397
25554
  rel: { $bind: { from: `${childItemName}.rel` } },
25398
25555
  "data-active": { $bind: { from: `${childItemName}.active` } }
25399
25556
  }, [text({ as: "span" }, bind$1(`${childItemName}.label`))], repeat(`${itemName}.children`, childItemName));
25400
- const dropdown = el$1("div", { className: "nav-dropdown rb-relative" }, [button({
25401
- type: "button",
25402
- variantId: "",
25557
+ const dropdown = el$1("div", { className: "nav-dropdown rb-relative" }, [el$1("headerControl", {
25403
25558
  className: prependClassName("nav-dropdown-trigger", linkClassName),
25404
25559
  "aria-haspopup": "menu",
25405
25560
  "aria-expanded": "false",
@@ -25467,9 +25622,7 @@ function navColumn(opts) {
25467
25622
  const dropdown = el$1("div", {
25468
25623
  className: "nav-mobile-dropdown",
25469
25624
  "data-nav-mobile-dropdown": "true"
25470
- }, [button({
25471
- type: "button",
25472
- variantId: "",
25625
+ }, [el$1("headerControl", {
25473
25626
  className: triggerClassName,
25474
25627
  "aria-expanded": "false",
25475
25628
  "aria-controls": childrenId,
@@ -32180,6 +32333,57 @@ var init_layout$2 = __esmMin((() => {
32180
32333
  ];
32181
32334
  }));
32182
32335
  //#endregion
32336
+ //#region ../blocks/src/system/transforms/registry/chromeLogo.ts
32337
+ /** The brand foreground shares the logo's surface; navigation may own a separate capsule. */
32338
+ function chromeSurfaceTextToken(surface, theme, palette) {
32339
+ switch (surface) {
32340
+ case "header-root": {
32341
+ const header = theme.header;
32342
+ const foreground = resolveHeaderRootForeground(header, palette, resolveHeaderVisualStyles(header).isTransparent);
32343
+ return foreground.kind === "known" ? foreground.roles.text : resolveHeaderLeafTextColor(header);
32344
+ }
32345
+ case "header-mobile-panel": return theme.header?.dropdownStyle?.textColor ?? "text";
32346
+ case "footer-root": {
32347
+ const foreground = resolveFooterRootForeground(theme.footer, palette);
32348
+ return foreground.kind === "known" ? foreground.roles.text : void 0;
32349
+ }
32350
+ }
32351
+ }
32352
+ function readChromeTheme(viewModel) {
32353
+ return asPartialObject(asPartialObject(viewModel?.["$root"])?.theme) ?? {};
32354
+ }
32355
+ function resolveChromeSurfaceTone(surface, context) {
32356
+ return surfaceToneFromForegroundToken(context.theme.palette, chromeSurfaceTextToken(surface, readChromeTheme(context.viewModel), context.theme.palette));
32357
+ }
32358
+ var chromeLogoSchema, chromeLogoTransform, chromeLogoTransforms;
32359
+ var init_chromeLogo = __esmMin((() => {
32360
+ init_surfaces();
32361
+ init_core();
32362
+ init_layout$2();
32363
+ init_surfaceForegroundStyles();
32364
+ chromeLogoSchema = z.object({ surface: z.enum([
32365
+ "header-root",
32366
+ "header-mobile-panel",
32367
+ "footer-root"
32368
+ ]) });
32369
+ chromeLogoTransform = {
32370
+ id: "layout.chromeLogo",
32371
+ kind: "formatter",
32372
+ summary: "Select the light- or dark-background site logo for a header or footer surface",
32373
+ schema: chromeLogoSchema,
32374
+ run: (value, options, context) => {
32375
+ const content = asPartialObject(value);
32376
+ const variants = asPartialObject(content?.logoVariants);
32377
+ if (!variants) return content?.logo ?? null;
32378
+ return selectLogoVariant(resolveChromeSurfaceTone(options.surface, context), {
32379
+ forLightBackgrounds: variants.forLightBackgrounds ?? null,
32380
+ forDarkBackgrounds: variants.forDarkBackgrounds ?? null
32381
+ });
32382
+ }
32383
+ };
32384
+ chromeLogoTransforms = [chromeLogoTransform];
32385
+ }));
32386
+ //#endregion
32183
32387
  //#region ../blocks/src/system/transforms/registry/headerRuntime.ts
32184
32388
  var headerRuntimeContractTransform, headerRuntimeTransforms;
32185
32389
  var init_headerRuntime = __esmMin((() => {
@@ -32393,7 +32597,7 @@ var init_shared$3 = __esmMin((() => {
32393
32597
  }));
32394
32598
  //#endregion
32395
32599
  //#region ../blocks/src/system/blocks/site-header.ts
32396
- var whenTransformed, logoRow, centeredLogoRow, createNavRow, headerCta, mobileCta, mobileToggleIcon, mobileToggleButton, mobileOverlayToggleButton, mobileNavList, mobileOverlayHeader, mobileOverlayBody, mobileOverlay, mobileHeaderBar, classicLayout, centeredLayout, floatingLayout, headerLayout, siteHeaderManifest, siteHeaderBlockDefinition;
32600
+ var whenTransformed, bindChromeLogo, createLogoRow, logoRow, centeredLogoRow, createNavRow, headerCta, mobileCta, mobileToggleIcon, mobileToggleButton, mobileOverlayToggleButton, mobileNavList, mobileOverlayHeader, mobileOverlayBody, mobileOverlay, mobileHeaderBar, classicLayout, centeredLayout, floatingLayout, headerLayout, siteHeaderManifest, siteHeaderBlockDefinition;
32397
32601
  var init_site_header = __esmMin((() => {
32398
32602
  init_builder$1();
32399
32603
  init_fragments$1();
@@ -32412,46 +32616,37 @@ var init_site_header = __esmMin((() => {
32412
32616
  equals
32413
32617
  }
32414
32618
  });
32415
- logoRow = link({
32619
+ bindChromeLogo = (surface) => bind$1("content", { transforms: [{
32620
+ id: "layout.chromeLogo",
32621
+ options: { surface }
32622
+ }] });
32623
+ createLogoRow = (surface) => link({
32416
32624
  href: "/",
32417
32625
  className: bindProp("$root.theme.header.logo", {
32418
32626
  transforms: pipe(tx("layout.headerLogoClass")),
32419
32627
  fallback: "header-logo rb-flex rb-min-w-0 rb-items-center rb-gap-3 rb-no-underline rb-transition-opacity rb-hover-opacity-80"
32420
32628
  })
32421
- }, [
32422
- media({ className: bindProp("$root.theme.header.logo", {
32423
- transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300" })),
32424
- fallback: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300"
32425
- }) }, when("content.logo"), bind$1("content.logo")),
32426
- stack({ className: "rb-contents" }, [media({ className: bindProp("$root.theme.header.logo", {
32427
- transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300" })),
32428
- fallback: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300"
32429
- }) }, when("site.logo"), bind$1("site.logo"))], when("content.logo", { not: true })),
32430
- text({
32431
- as: "strong",
32432
- className: "header-logo-text rb-truncate"
32433
- }, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind$1("site.title", { fallback: "Your Site" }))
32434
- ]);
32629
+ }, [media({ className: bindProp("$root.theme.header.logo", {
32630
+ transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300" })),
32631
+ fallback: "rb-header-logo-sm rb-w-auto rb-transition-all rb-duration-300"
32632
+ }) }, when("content.logo"), bindChromeLogo(surface)), text({
32633
+ as: "strong",
32634
+ className: "header-logo-text rb-truncate"
32635
+ }, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind$1("site.title", { fallback: "Your Site" }))]);
32636
+ logoRow = createLogoRow("header-root");
32435
32637
  centeredLogoRow = link({
32436
32638
  href: "/",
32437
32639
  className: bindProp("$root.theme.header.logo", {
32438
32640
  transforms: pipe(tx("layout.headerLogoClass", { base: "header-logo rb-flex rb-items-center rb-justify-center rb-gap-3 rb-text-center rb-no-underline rb-transition-opacity rb-hover-opacity-80" })),
32439
32641
  fallback: "header-logo rb-flex rb-items-center rb-justify-center rb-gap-3 rb-text-center rb-no-underline rb-transition-opacity rb-hover-opacity-80"
32440
32642
  })
32441
- }, [
32442
- media({ className: bindProp("$root.theme.header.logo", {
32443
- transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300" })),
32444
- fallback: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300"
32445
- }) }, when("content.logo"), bind$1("content.logo")),
32446
- stack({ className: "rb-contents" }, [media({ className: bindProp("$root.theme.header.logo", {
32447
- transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300" })),
32448
- fallback: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300"
32449
- }) }, when("site.logo"), bind$1("site.logo"))], when("content.logo", { not: true })),
32450
- text({
32451
- as: "strong",
32452
- className: "header-logo-text"
32453
- }, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind$1("site.title", { fallback: "Your Site" }))
32454
- ]);
32643
+ }, [media({ className: bindProp("$root.theme.header.logo", {
32644
+ transforms: pipe(tx("layout.headerLogoMediaClass", { base: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300" })),
32645
+ fallback: "rb-header-logo-lg rb-w-auto rb-transition-all rb-duration-300"
32646
+ }) }, when("content.logo"), bindChromeLogo("header-root")), text({
32647
+ as: "strong",
32648
+ className: "header-logo-text"
32649
+ }, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind$1("site.title", { fallback: "Your Site" }))]);
32455
32650
  createNavRow = (className, align = "end") => navRow({
32456
32651
  className: `${className} header-nav-row`,
32457
32652
  align,
@@ -32491,10 +32686,8 @@ var init_site_header = __esmMin((() => {
32491
32686
  }
32492
32687
  ]);
32493
32688
  mobileToggleButton = {
32494
- type: "button",
32689
+ type: "headerControl",
32495
32690
  props: {
32496
- type: "button",
32497
- variantId: "",
32498
32691
  className: `nav-mobile-toggle ${mobileOnlyDisplay("inline-flex")} rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard`,
32499
32692
  "aria-label": "Open menu",
32500
32693
  "aria-expanded": "false",
@@ -32504,10 +32697,8 @@ var init_site_header = __esmMin((() => {
32504
32697
  children: [mobileToggleIcon]
32505
32698
  };
32506
32699
  mobileOverlayToggleButton = {
32507
- type: "button",
32700
+ type: "headerControl",
32508
32701
  props: {
32509
- type: "button",
32510
- variantId: "",
32511
32702
  className: "nav-mobile-toggle rb-inline-flex rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard",
32512
32703
  "aria-label": "Open menu",
32513
32704
  "aria-expanded": "false",
@@ -32531,7 +32722,7 @@ var init_site_header = __esmMin((() => {
32531
32722
  align: "center",
32532
32723
  justify: "between",
32533
32724
  style: borderColorStyle("border")
32534
- }, [logoRow, mobileOverlayToggleButton]);
32725
+ }, [createLogoRow("header-mobile-panel"), mobileOverlayToggleButton]);
32535
32726
  mobileOverlayBody = stack({
32536
32727
  className: "rb-flex-1 rb-px-6 rb-py-6",
32537
32728
  gap: "md",
@@ -32736,7 +32927,10 @@ var init_site_footer = __esmMin((() => {
32736
32927
  options: { base: "rb-h-10 rb-w-auto" }
32737
32928
  }],
32738
32929
  fallback: "rb-h-10 rb-w-auto"
32739
- } } }, when("module.showLogo", { equals: true }), when("content.logo"), bind$1("content.logo")), text({
32930
+ } } }, when("module.showLogo", { equals: true }), when("content.logo"), bind$1("content", { transforms: [{
32931
+ id: "layout.chromeLogo",
32932
+ options: { surface: "footer-root" }
32933
+ }] })), text({
32740
32934
  as: "strong",
32741
32935
  className: "footer-logo-text rb-nav-text"
32742
32936
  }, when("module.showTitle", { equals: true }), bind$1("site.title", { fallback: "Your Site" }))], when("module.kind", { equals: "brand" }));
@@ -35024,6 +35218,15 @@ var init_event_registration_shared = __esmMin((() => {
35024
35218
  }).nullable();
35025
35219
  }));
35026
35220
  //#endregion
35221
+ //#region ../blocks/src/system/runtime/api/readAuthority.ts
35222
+ var browserReadAuthoritySchema;
35223
+ var init_readAuthority = __esmMin((() => {
35224
+ browserReadAuthoritySchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("published") }).strict(), z.object({
35225
+ kind: z.literal("preview"),
35226
+ token: z.string().min(1)
35227
+ }).strict()]);
35228
+ }));
35229
+ //#endregion
35027
35230
  //#region ../blocks/src/system/runtime/nodes/event-registration/eventScope.ts
35028
35231
  function resolveEventRegistrationScope(context) {
35029
35232
  const occurrenceSeriesId = context.occurrenceContext?.seriesId;
@@ -35411,6 +35614,7 @@ function isRecord$6(value) {
35411
35614
  }
35412
35615
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationEventSourceSchema, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
35413
35616
  var init_event_registration_interactive = __esmMin((() => {
35617
+ init_readAuthority();
35414
35618
  init_schemas();
35415
35619
  init_runGrouping();
35416
35620
  init_shop_shared();
@@ -35463,6 +35667,7 @@ var init_event_registration_interactive = __esmMin((() => {
35463
35667
  apiBaseUrl: z.string().optional(),
35464
35668
  portalToken: z.string().nullable().optional(),
35465
35669
  previewToken: z.string().nullable().optional(),
35670
+ readAuthority: browserReadAuthoritySchema.optional(),
35466
35671
  ...eventRegistrationHydrationSchemaShape,
35467
35672
  events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
35468
35673
  wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
@@ -35500,6 +35705,7 @@ var init_event_registration_interactive = __esmMin((() => {
35500
35705
  apiBaseUrl: z.string().optional(),
35501
35706
  portalToken: z.string().nullable().optional(),
35502
35707
  previewToken: z.string().nullable().optional(),
35708
+ readAuthority: browserReadAuthoritySchema.optional(),
35503
35709
  stage: previewStageSchema.optional()
35504
35710
  });
35505
35711
  eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
@@ -35676,6 +35882,7 @@ var init_event_registration = __esmMin((() => {
35676
35882
  text({ as: "h2" }, bind$1("content.heading"), when("content.heading")),
35677
35883
  richText({ className: "rb-prose rb-max-w-none" }, bind$1("content.description"), when("content.description")),
35678
35884
  eventRegistration(withApiBindings$1({
35885
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
35679
35886
  occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
35680
35887
  subject: { $bind: { from: "$root.subject" } },
35681
35888
  portalToken: { $bind: {
@@ -36392,7 +36599,6 @@ function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date())
36392
36599
  return {
36393
36600
  calendarWindow: source.calendarWindow ?? void 0,
36394
36601
  siteId: source.siteId,
36395
- stage: source.stage,
36396
36602
  prefetchedEvents: source.events != null,
36397
36603
  eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
36398
36604
  filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
@@ -36405,6 +36611,7 @@ function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date())
36405
36611
  }
36406
36612
  var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilterSourceSchemaShape, eventCollectionSourceSchemaShape, eventCollectionDisplaySchemaShape, eventCollectionHydrationSchema, init_eventCollectionContract = __esmMin((() => {
36407
36613
  init_eventSelection();
36614
+ init_readAuthority();
36408
36615
  init_calendarWindow();
36409
36616
  init_cards();
36410
36617
  init_src$4();
@@ -36432,6 +36639,7 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
36432
36639
  events: z.array(publicEventSchema).nullable().optional(),
36433
36640
  siteId: z.string(),
36434
36641
  apiBaseUrl: z.string().optional(),
36642
+ readAuthority: browserReadAuthoritySchema.optional(),
36435
36643
  stage: previewStageSchema.optional(),
36436
36644
  listLayout: eventLayoutSchema.optional(),
36437
36645
  listColumns: columnOptionSchema.optional(),
@@ -36484,7 +36692,6 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
36484
36692
  eventCollectionHydrationSchema = z.object({
36485
36693
  siteId: z.string(),
36486
36694
  calendarWindow: calendarWindowPageSchema.optional(),
36487
- stage: previewStageSchema.optional(),
36488
36695
  prefetchedEvents: z.boolean(),
36489
36696
  eventSurface: eventSurfaceScopeSchema$1,
36490
36697
  filterEventPresets: z.string().nullable(),
@@ -36510,6 +36717,7 @@ var init_EventListing_interactive = __esmMin((() => {
36510
36717
  init_contract_schemas();
36511
36718
  init_listOptions();
36512
36719
  init_eventCollectionContract();
36720
+ init_readAuthority();
36513
36721
  cardOrientationSchema = z.enum(["vertical", "horizontal"]);
36514
36722
  eventSurfaceScopeSchema = z.enum(eventSurfaceScopeValues);
36515
36723
  eventScheduleScopeSchema = z.enum(eventScheduleScopeValues);
@@ -36517,6 +36725,7 @@ var init_EventListing_interactive = __esmMin((() => {
36517
36725
  events: z.array(publicEventSchema).nullable().optional(),
36518
36726
  siteId: z.string(),
36519
36727
  apiBaseUrl: z.string().optional(),
36728
+ readAuthority: browserReadAuthoritySchema.optional(),
36520
36729
  stage: previewStageSchema.optional(),
36521
36730
  layout: eventLayoutSchema.optional(),
36522
36731
  columns: columnOptionSchema.optional(),
@@ -36557,7 +36766,6 @@ var init_EventListing_interactive = __esmMin((() => {
36557
36766
  });
36558
36767
  eventListingHydrationSchema = z.object({
36559
36768
  siteId: z.string(),
36560
- stage: previewStageSchema.optional(),
36561
36769
  eventsPerPage: eventPageSizeSchema,
36562
36770
  paginationAction: eventListPaginationActionSchema,
36563
36771
  showFilters: z.boolean(),
@@ -36580,6 +36788,7 @@ var init_EventListing_interactive = __esmMin((() => {
36580
36788
  z.object({
36581
36789
  siteId: z.string(),
36582
36790
  apiBaseUrl: z.string().optional(),
36791
+ readAuthority: browserReadAuthoritySchema.optional(),
36583
36792
  stage: previewStageSchema.optional()
36584
36793
  });
36585
36794
  eventListingBlockRuntime = defineProgressiveBlockRuntime({
@@ -36614,7 +36823,6 @@ var init_EventListing_interactive = __esmMin((() => {
36614
36823
  },
36615
36824
  hydration: {
36616
36825
  siteId: source.siteId,
36617
- stage: source.stage,
36618
36826
  eventsPerPage: pageSize,
36619
36827
  paginationAction: resolveEventListPaginationAction({
36620
36828
  paginationMode: source.paginationMode,
@@ -36874,6 +37082,7 @@ var init_event_listing = __esmMin((() => {
36874
37082
  rootType: "stack",
36875
37083
  rootProps: { gap: "lg" },
36876
37084
  children: [...eventSectionHeaderLayoutNodes(), el$1("event-listing", withApiBindings$1({
37085
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
36877
37086
  events: { $bind: { from: "data.events" } },
36878
37087
  stage: { $bind: {
36879
37088
  from: "$root.previewStage",
@@ -37104,7 +37313,7 @@ function buildEventCalendarDisplay(source) {
37104
37313
  listColumns: source.listColumns ?? source.columns
37105
37314
  }),
37106
37315
  kind: "event-calendar",
37107
- displayMode: normalizeEventCalendarDisplayMode$1(source) ?? "combined",
37316
+ displayMode: resolveEventCalendarReadPlan(source).mode,
37108
37317
  className: source.className ?? null,
37109
37318
  events: (source.events ?? []).slice().sort((left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()),
37110
37319
  boardTitle: normalizeOptionalText(source.boardTitle),
@@ -37117,6 +37326,7 @@ function buildEventCalendarDisplay(source) {
37117
37326
  }
37118
37327
  var eventCalendarSourceSchema, eventCalendarDisplaySchema, eventCalendarHydrationSchema, eventCalendarRenderSchema, eventCalendarBlockRuntime;
37119
37328
  var init_EventCalendar_interactive = __esmMin((() => {
37329
+ init_readAuthority();
37120
37330
  init_events$1();
37121
37331
  init_islands();
37122
37332
  init_runtime$1();
@@ -37153,6 +37363,7 @@ var init_EventCalendar_interactive = __esmMin((() => {
37153
37363
  z.object({
37154
37364
  siteId: z.string(),
37155
37365
  apiBaseUrl: z.string().optional(),
37366
+ readAuthority: browserReadAuthoritySchema.optional(),
37156
37367
  stage: previewStageSchema.optional()
37157
37368
  });
37158
37369
  eventCalendarBlockRuntime = defineProgressiveBlockRuntime({
@@ -37161,13 +37372,16 @@ var init_EventCalendar_interactive = __esmMin((() => {
37161
37372
  source: createZodCodec(eventCalendarSourceSchema),
37162
37373
  render: createZodCodec(eventCalendarRenderSchema)
37163
37374
  },
37164
- buildRender: (source) => ({
37165
- display: buildEventCalendarDisplay(source.calendarWindow && (source.variant ?? source.displayMode ?? "combined") !== "combined" && (source.variant ?? source.displayMode) !== "list" ? {
37166
- ...source,
37167
- events: source.calendarWindow.events
37168
- } : source),
37169
- hydration: buildEventCollectionHydration(source)
37170
- })
37375
+ buildRender: (source) => {
37376
+ const plan = resolveEventCalendarReadPlan(source);
37377
+ return {
37378
+ display: buildEventCalendarDisplay(source.calendarWindow && plan.jobs === "calendar" ? {
37379
+ ...source,
37380
+ events: source.calendarWindow.events
37381
+ } : source),
37382
+ hydration: buildEventCollectionHydration(source)
37383
+ };
37384
+ }
37171
37385
  });
37172
37386
  }));
37173
37387
  //#endregion
@@ -37318,6 +37532,7 @@ var init_event_calendar = __esmMin((() => {
37318
37532
  rootType: "stack",
37319
37533
  rootProps: { gap: "lg" },
37320
37534
  children: [...eventSectionHeaderLayoutNodes({ splitClassName: "event-section-head event-section-head--split" }), el$1("event-calendar", withApiBindings$1({
37535
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
37321
37536
  events: { $bind: { from: "data.events" } },
37322
37537
  calendarWindow: { $bind: { from: "data.calendarWindow" } },
37323
37538
  stage: { $bind: {
@@ -41194,6 +41409,7 @@ var init_shop_interactive = __esmMin((() => {
41194
41409
  init_islands();
41195
41410
  init_runtime$1();
41196
41411
  init_contract_schemas();
41412
+ init_readAuthority();
41197
41413
  shopModeSchema = z.enum([
41198
41414
  "passes-memberships",
41199
41415
  "product-list",
@@ -41241,6 +41457,7 @@ var init_shop_interactive = __esmMin((() => {
41241
41457
  products: z.array(publicProductSchema).nullable().optional(),
41242
41458
  siteId: z.string().optional(),
41243
41459
  apiBaseUrl: z.string().optional(),
41460
+ readAuthority: browserReadAuthoritySchema.optional(),
41244
41461
  stage: previewStageSchema.optional()
41245
41462
  });
41246
41463
  productVariantOptionDisplaySchema = z.object({
@@ -41405,6 +41622,7 @@ var init_shop_interactive = __esmMin((() => {
41405
41622
  z.object({
41406
41623
  siteId: z.string().optional(),
41407
41624
  apiBaseUrl: z.string().optional(),
41625
+ readAuthority: browserReadAuthoritySchema.optional(),
41408
41626
  stage: previewStageSchema.optional()
41409
41627
  });
41410
41628
  shopBlockRuntime = defineProgressiveBlockRuntime({
@@ -41754,6 +41972,7 @@ var init_shop = __esmMin((() => {
41754
41972
  baseClass: "",
41755
41973
  spacing: "spacious",
41756
41974
  children: sectionContainer([shop(withApiBindings$1({
41975
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
41757
41976
  mode: "passes-memberships",
41758
41977
  showPasses: { $bind: {
41759
41978
  from: "content.showPasses",
@@ -41963,6 +42182,7 @@ var init_product_list = __esmMin((() => {
41963
42182
  baseClass: "",
41964
42183
  spacing: "spacious",
41965
42184
  children: sectionContainer([productList(withApiBindings$1({
42185
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
41966
42186
  mode: "product-list",
41967
42187
  heading: { $bind: {
41968
42188
  from: "content.heading",
@@ -42119,6 +42339,7 @@ var init_product_detail = __esmMin((() => {
42119
42339
  baseClass: "",
42120
42340
  spacing: "spacious",
42121
42341
  children: sectionContainer([productDetail(withApiBindings$1({
42342
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
42122
42343
  mode: "product-detail",
42123
42344
  heading: { $bind: {
42124
42345
  from: "content.heading",
@@ -42248,6 +42469,7 @@ var init_cart = __esmMin((() => {
42248
42469
  baseClass: "",
42249
42470
  spacing: "spacious",
42250
42471
  children: sectionContainer([cart(withApiBindings$1({
42472
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
42251
42473
  mode: "cart",
42252
42474
  heading: { $bind: {
42253
42475
  from: "content.heading",
@@ -42344,6 +42566,7 @@ var init_checkout = __esmMin((() => {
42344
42566
  baseClass: "",
42345
42567
  spacing: "spacious",
42346
42568
  children: sectionContainer([checkout(withApiBindings$1({
42569
+ readAuthority: { $bind: { from: "$root.readAuthority" } },
42347
42570
  mode: "checkout",
42348
42571
  heading: { $bind: {
42349
42572
  from: "content.heading",
@@ -45217,8 +45440,8 @@ var init_eventCalendar = __esmMin((() => {
45217
45440
  summary: "Choose the read projection required by the calendar display mode",
45218
45441
  schema: readJobSchema,
45219
45442
  run(value, options) {
45220
- const mode = normalizeEventCalendarDisplayMode$1(asPartialObject(value) ?? {}) ?? "combined";
45221
- return options.job === "calendar" ? mode !== "list" : mode === "list" || mode === "combined";
45443
+ const plan = resolveEventCalendarReadPlan(asPartialObject(value) ?? {});
45444
+ return plan.jobs === "both" || plan.jobs === options.job;
45222
45445
  }
45223
45446
  };
45224
45447
  }));
@@ -45229,6 +45452,7 @@ var init_registry$2 = __esmMin((() => {
45229
45452
  init_core();
45230
45453
  init_formatting();
45231
45454
  init_layout$2();
45455
+ init_chromeLogo();
45232
45456
  init_ui();
45233
45457
  init_media$1();
45234
45458
  init_background();
@@ -45244,6 +45468,7 @@ var init_registry$2 = __esmMin((() => {
45244
45468
  eventCalendarReadProfile,
45245
45469
  ...formattingTransforms,
45246
45470
  ...layoutTransforms,
45471
+ ...chromeLogoTransforms,
45247
45472
  ...uiTransforms,
45248
45473
  ...mediaTransforms,
45249
45474
  ...backgroundTransforms,