@riverbankcms/sdk 0.141.0 → 0.142.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 (98) hide show
  1. package/dist/{PreviewEditorSidebar-Q-fy9GYw.mjs → PreviewEditorSidebar-Dk6Dt11f.mjs} +24 -15
  2. package/dist/{PreviewEditorUI-LYGzgk85.mjs → PreviewEditorUI-D6EQTsCA.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-CN0ewic5.mjs → PreviewQueryProvider-CC-EPkyQ.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-CoPYI5Jq.mjs → SdkPreviewModeRuntime-DH1n4ytY.mjs} +16 -11
  5. package/dist/{SiteChromeCustomizeContext-D8LePX8x.mjs → SiteChromeCustomizeContext-DunIzY0K.mjs} +117 -21
  6. package/dist/_dts/api/src/billing.d.ts +6 -1
  7. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
  9. package/dist/_dts/api/src/endpoints.d.ts +0 -27
  10. package/dist/_dts/api/src/index.d.ts +1 -1
  11. package/dist/_dts/api/src/publicBookingService.d.ts +1 -0
  12. package/dist/_dts/api/src/sdkConfig/layout.d.ts +13 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +3 -8
  14. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -31
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  16. package/dist/_dts/billing/src/site-arrangements.d.ts +9 -5
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +56 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +8 -0
  19. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +56 -0
  20. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +1 -2
  21. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3099 -3122
  22. package/dist/_dts/editor-blocks/src/block-editor/ColourFieldOptionsProvider.d.ts +7 -0
  23. package/dist/_dts/editor-blocks/src/block-editor/colourFieldVisibility.d.ts +7 -0
  24. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -0
  25. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -2
  27. package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +3 -6
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -2
  29. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -2
  30. package/dist/_dts/preview-next/src/client/preview/footerInspection.d.ts +16 -0
  31. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +6 -0
  32. package/dist/_dts/sdk/src/config/types.d.ts +2 -18
  33. package/dist/_dts/sdk/src/config/validation.d.ts +6 -0
  34. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -0
  35. package/dist/_dts/sdk/src/version.d.ts +1 -1
  36. package/dist/_dts/theme-core/src/footer/mode.d.ts +10 -1
  37. package/dist/_dts/theme-core/src/schema.d.ts +1 -7
  38. package/dist/_dts/theme-core/src/site-styles/effectivePageDesign.d.ts +32 -0
  39. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  40. package/dist/client/{BookingConsentAgreement-xJeYNdnb.mjs → BookingConsentAgreement-CnJeq3_r.mjs} +2 -2
  41. package/dist/client/{DiscountCodeDisclosure-DdT6uzl9.mjs → DiscountCodeDisclosure-BINEO6J9.mjs} +1 -1
  42. package/dist/client/{EventCombined.client-Cp28uYuM.mjs → EventCombined.client-srxNQ6sZ.mjs} +5 -5
  43. package/dist/client/{EventListing.client-CD6AJsMr.mjs → EventListing.client-DbyVyGkX.mjs} +2 -2
  44. package/dist/client/{LeafletStaticMap-DBsAi9-e.mjs → LeafletStaticMap-B-wpijzL.mjs} +1 -1
  45. package/dist/client/{accordion-6dwbOKYR.mjs → accordion-B-iUXU7n.mjs} +1 -1
  46. package/dist/client/{bookingForm-CZE9_qPQ.mjs → bookingForm-BXYPke5q.mjs} +5 -5
  47. package/dist/client/bookings.mjs +19 -9
  48. package/dist/client/{carousel-7VHGQARz.mjs → carousel-Cr4aj63H.mjs} +1 -1
  49. package/dist/client/{cart-Qg_mvQhh.mjs → cart-DibP9WWa.mjs} +3 -3
  50. package/dist/client/{checkout-D84rpgdr.mjs → checkout-CrSBVnL8.mjs} +3 -3
  51. package/dist/client/client.mjs +42 -54
  52. package/dist/client/{context-Ctp3T0Wr.mjs → context-Ces-AgdR.mjs} +1 -1
  53. package/dist/client/{dates-DJKFcI_N.mjs → dates-BXyNeNhB.mjs} +2 -2
  54. package/dist/client/{eventCalendar-CK31z3vs.mjs → eventCalendar-HwpPeqrH.mjs} +7 -7
  55. package/dist/client/{eventCombined-DiXd-ewn.mjs → eventCombined-BpFUkuEI.mjs} +3 -3
  56. package/dist/client/{eventDetails-CTRgt2DK.mjs → eventDetails-DK_agiWy.mjs} +4 -4
  57. package/dist/client/{eventListing-Dy9vi_j_.mjs → eventListing-DhzHqP1c.mjs} +3 -3
  58. package/dist/client/{eventRegistration-CnalYMr2.mjs → eventRegistration-BdQ_Dn2d.mjs} +6 -7
  59. package/dist/client/{form-eUiMveTT.mjs → form-B1frcuzy.mjs} +2 -2
  60. package/dist/client/{headerSection-Dy9kQpB1.mjs → headerSection-CT5z460s.mjs} +2 -2
  61. package/dist/client/hooks.mjs +27 -13
  62. package/dist/client/{locationMap-DalCmWU0.mjs → locationMap-CIQXB9i2.mjs} +2 -2
  63. package/dist/client/{newsletterForm-SDDPvhS0.mjs → newsletterForm-BYNYZSes.mjs} +2 -2
  64. package/dist/client/{pricing-OcMz4SnX.mjs → pricing-CbTlAsmt.mjs} +1 -1
  65. package/dist/client/{productDetail-BQrgHElM.mjs → productDetail-CR7Z3yjS.mjs} +3 -3
  66. package/dist/client/{productList-OnPn_UJj.mjs → productList-DXj00vzR.mjs} +3 -3
  67. package/dist/client/{propsDecoder-zBdsnS-N.mjs → propsDecoder-DiLiBdek.mjs} +19 -8
  68. package/dist/client/rendering/client.mjs +30 -11
  69. package/dist/client/rendering/islands.mjs +17 -17
  70. package/dist/client/rendering.mjs +85 -57
  71. package/dist/client/{scrollToBlock-BNM4Ob2Y.mjs → scrollToBlock-CrcbBf0h.mjs} +1 -1
  72. package/dist/client/{shop-Bv1fPTwQ.mjs → shop-DgqiB_1b.mjs} +6 -6
  73. package/dist/client/{shop-commerce-D4KNGaW8.mjs → shop-commerce-D_J781in.mjs} +5 -5
  74. package/dist/client/{shop-commerce-store-2N5EV0Rc.mjs → shop-commerce-store-PGUbDwqe.mjs} +1 -1
  75. package/dist/client/{shopShared-DvJGdHTV.mjs → shopShared-C_Bb2zwG.mjs} +3 -3
  76. package/dist/client/{useEventFilters-BBBvGDHQ.mjs → useEventFilters-CM17Xpr1.mjs} +5 -5
  77. package/dist/preview-next/before-render.mjs +0 -37
  78. package/dist/preview-next/client/runtime.mjs +4 -4
  79. package/dist/preview-next/keepAlive.mjs +0 -37
  80. package/dist/preview-next/middleware.mjs +0 -37
  81. package/dist/{previewAuthStore-Gjb6r6vz.mjs → previewAuthStore-oVttoRDO.mjs} +0 -37
  82. package/dist/{sdk-runtime-Defnbfzw.mjs → sdk-runtime-DhmuRhIX.mjs} +2 -2
  83. package/dist/{separator-CZXO3Sb0.mjs → separator-C3hlg9LH.mjs} +1 -1
  84. package/dist/server/components.mjs +68 -49
  85. package/dist/server/config-validation.mjs +31 -14
  86. package/dist/server/config.mjs +31 -14
  87. package/dist/server/data.mjs +27 -13
  88. package/dist/server/index.mjs +1 -38
  89. package/dist/server/next.mjs +28 -51
  90. package/dist/server/page-converter.mjs +19 -8
  91. package/dist/server/prebuild.mjs +1 -1
  92. package/dist/server/rendering/server.mjs +68 -51
  93. package/dist/server/rendering.mjs +68 -49
  94. package/dist/server/routing.mjs +40 -17
  95. package/dist/server/server.mjs +28 -51
  96. package/dist/server/theme-bridge.mjs +10 -8
  97. package/dist/server/theme.mjs +10 -8
  98. package/package.json +1 -1
@@ -3503,7 +3503,10 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {
3503
3503
  init_contentMediaAudit();
3504
3504
  init_contentMediaAuditFieldAdapter();
3505
3505
  init_identifiers();
3506
- })), init_src$1 = __esmMin((() => {
3506
+ }));
3507
+ //#endregion
3508
+ //#region ../media-core/src/index.ts
3509
+ var init_src$1 = __esmMin((() => {
3507
3510
  init_types$15();
3508
3511
  init_fileDomain();
3509
3512
  init_fileStorage();
@@ -3554,6 +3557,14 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {
3554
3557
  init_contentMediaAudit();
3555
3558
  init_contentMediaAuditFieldAdapter();
3556
3559
  init_contentMediaSnapshotAudit();
3560
+ }));
3561
+ var footerModeSchema, init_mode = __esmMin((() => {
3562
+ footerModeSchema = z$1.enum([
3563
+ "default",
3564
+ "blocks",
3565
+ "default+blocks",
3566
+ "none"
3567
+ ]);
3557
3568
  })), hotspotSchema, rotationSchema, rectSchema, aspectCropSchema, transformSchema, mediaPosterSchema, mediaBaseSchema, mediaIdentifierSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema, persistableMediaBaseSchema;
3558
3569
  var init_media$2 = __esmMin((() => {
3559
3570
  hotspotSchema = z$1.object({
@@ -12419,8 +12430,9 @@ var init_boxBackgroundSchema = __esmMin((() => {
12419
12430
  showVideoOnMobile: z$1.boolean().nullable().optional()
12420
12431
  })
12421
12432
  ]);
12422
- })), axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle, headerPositioningValues, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, testimonialQuoteTreatmentSchema, themeSchema;
12433
+ })), axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle, headerPositioningValues, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, testimonialQuoteTreatmentSchema, themeSchema;
12423
12434
  var init_schema$2 = __esmMin((() => {
12435
+ init_mode();
12424
12436
  init_media$2();
12425
12437
  init_schema$3();
12426
12438
  init_buttons();
@@ -12919,12 +12931,6 @@ var init_schema$2 = __esmMin((() => {
12919
12931
  "split"
12920
12932
  ]);
12921
12933
  footerMaxWidth = z$1.enum(["container", "full"]);
12922
- footerMode = z$1.enum([
12923
- "default",
12924
- "blocks",
12925
- "default+blocks",
12926
- "none"
12927
- ]);
12928
12934
  footerNavLayoutMode = z$1.enum([
12929
12935
  "stack",
12930
12936
  "inline",
@@ -13013,9 +13019,9 @@ var init_schema$2 = __esmMin((() => {
13013
13019
  /**
13014
13020
  * SDK-only footer rendering mode.
13015
13021
  *
13016
- * Backwards compatible: missing/undefined behaves as 'default'.
13022
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
13017
13023
  */
13018
- mode: footerMode.optional(),
13024
+ mode: footerModeSchema.optional(),
13019
13025
  variant: footerVariant,
13020
13026
  maxWidth: footerMaxWidth,
13021
13027
  showLogoText: z$1.boolean().optional(),
@@ -13605,6 +13611,15 @@ var init_schemas = __esmMin((() => {
13605
13611
  timeZone: z$1.string(),
13606
13612
  pricing: publicEventPricingSchema,
13607
13613
  paymentTerms: blockBookingPaymentTermsSchema,
13614
+ cancellationPolicy: z$1.object({ refunds: z$1.object({
13615
+ mode: z$1.enum([
13616
+ "never",
13617
+ "always",
13618
+ "cutoff"
13619
+ ]),
13620
+ cutoffHours: z$1.number(),
13621
+ method: z$1.enum(["original_payment_method", "site_credit"])
13622
+ }) }),
13608
13623
  consent: blockBookingConsentSchema.nullable(),
13609
13624
  accessRestriction: accessRestrictionSchema,
13610
13625
  allowedCategoryIds: z$1.array(z$1.string()),
@@ -21389,6 +21404,10 @@ var init_headerOpeningForeground = __esmMin((() => {
21389
21404
  init_colorTokenParts();
21390
21405
  init_types$8();
21391
21406
  }));
21407
+ var init_effectivePageDesign = __esmMin((() => {
21408
+ init_pageDesignIntent();
21409
+ init_siteStyleBlockPolicies();
21410
+ }));
21392
21411
  function validateBlockSequence(snapshots, ctx) {
21393
21412
  for (const issue of collectBlockSequenceIssues(snapshots)) ctx.addIssue(issue);
21394
21413
  }
@@ -21665,6 +21684,7 @@ var init_site_styles = __esmMin((() => {
21665
21684
  init_lookResolution();
21666
21685
  init_lookOptionGroups();
21667
21686
  init_logoBranding();
21687
+ init_effectivePageDesign();
21668
21688
  init_pageDesignAuthority();
21669
21689
  init_pageDesignEditorErrors();
21670
21690
  init_pageDesignEditorCapabilities();
@@ -41384,13 +41404,6 @@ const API_ENDPOINTS$1 = {
41384
41404
  auth: "service",
41385
41405
  responseKind: "json"
41386
41406
  },
41387
- sdkCatalogTheme: {
41388
- path: "/sdk/{siteId}/catalog/theme",
41389
- method: "GET",
41390
- errors: ["server:internal_error"],
41391
- auth: "service",
41392
- responseKind: "json"
41393
- },
41394
41407
  sdkCatalogBlocks: {
41395
41408
  path: "/sdk/{siteId}/catalog/blocks",
41396
41409
  method: "GET",
@@ -41451,12 +41464,6 @@ const API_ENDPOINTS$1 = {
41451
41464
  auth: "service",
41452
41465
  responseKind: "json"
41453
41466
  },
41454
- sdkPullTheme: {
41455
- path: "/sdk/{siteId}/pull/theme",
41456
- method: "GET",
41457
- auth: "service",
41458
- responseKind: "json"
41459
- },
41460
41467
  sdkPullFooter: {
41461
41468
  path: "/sdk/{siteId}/pull/footer",
41462
41469
  method: "GET",
@@ -41563,30 +41570,6 @@ const API_ENDPOINTS$1 = {
41563
41570
  auth: "service",
41564
41571
  responseKind: "json"
41565
41572
  },
41566
- sdkUpsertTheme: {
41567
- path: "/sdk/{siteId}/theme",
41568
- method: "POST",
41569
- auth: "service",
41570
- responseKind: "json",
41571
- errors: [
41572
- "validation:invalid_input",
41573
- "resource:not_found",
41574
- "resource:conflict",
41575
- "server:internal_error"
41576
- ]
41577
- },
41578
- sdkApplySiteStyleSelection: {
41579
- path: "/sdk/{siteId}/theme/style-selection/apply",
41580
- method: "POST",
41581
- auth: "service",
41582
- responseKind: "json",
41583
- errors: [
41584
- "validation:invalid_input",
41585
- "resource:not_found",
41586
- "resource:conflict",
41587
- "server:internal_error"
41588
- ]
41589
- },
41590
41573
  sdkUpsertFooter: {
41591
41574
  path: "/sdk/{siteId}/footer",
41592
41575
  method: "POST",
@@ -85448,6 +85431,7 @@ init_buttons();
85448
85431
  init_cards();
85449
85432
  init_tokens();
85450
85433
  init_gradients();
85434
+ init_mode();
85451
85435
  init_richTextSchema();
85452
85436
  init_media();
85453
85437
  init_media$1();
@@ -85460,6 +85444,7 @@ init_events$2();
85460
85444
  init_colorStyles();
85461
85445
  //#endregion
85462
85446
  //#region ../api/src/sdkConfig/contracts.ts
85447
+ init_mode();
85463
85448
  init_src$2();
85464
85449
  /**
85465
85450
  * Canonical SDK config Zod contracts.
@@ -85632,11 +85617,14 @@ const sdkSiteStyleConfigSchema = z$1.object({
85632
85617
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
85633
85618
  containerOptions: sdkContainerOptionsConfigSchema.optional()
85634
85619
  });
85635
- const sdkSiteLayoutConfigSchema = z$1.object({ footerBlocks: z$1.array(z$1.object({
85636
- id: z$1.string().min(1).optional(),
85637
- kind: z$1.string().min(1),
85638
- content: z$1.record(z$1.string(), z$1.unknown()).optional()
85639
- })).optional() });
85620
+ const sdkSiteLayoutConfigSchema = z$1.object({
85621
+ footerMode: footerModeSchema.optional(),
85622
+ footerBlocks: z$1.array(z$1.object({
85623
+ id: z$1.string().min(1).optional(),
85624
+ kind: z$1.string().min(1),
85625
+ content: z$1.record(z$1.string(), z$1.unknown()).optional()
85626
+ })).optional()
85627
+ });
85640
85628
  const sdkFieldSelectOptionSchema = z$1.object({
85641
85629
  value: z$1.string(),
85642
85630
  label: z$1.string()
@@ -87426,6 +87414,7 @@ init_src$2();
87426
87414
  //#endregion
87427
87415
  //#region ../blocks/src/rendering/server.ts
87428
87416
  init_schema();
87417
+ init_mode();
87429
87418
  //#endregion
87430
87419
  //#region src/rendering/helpers/siteCustomBlocks.ts
87431
87420
  /**
@@ -155415,7 +155404,6 @@ var init_stripeCommissionMetadata = __esmMin((() => {
155415
155404
  "no_commission_plan",
155416
155405
  "billing_evidence_invalid",
155417
155406
  "fee_rounds_to_zero",
155418
- "non_commissionable_scope",
155419
155407
  "payment_not_stripe"
155420
155408
  ];
155421
155409
  historicalContext = {
@@ -165922,7 +165910,7 @@ var SimpleCache = class {
165922
165910
  * 1. This constant
165923
165911
  * 2. The "version" field in package.json
165924
165912
  */
165925
- const SDK_VERSION = "0.141.0";
165913
+ const SDK_VERSION = "0.142.0";
165926
165914
  //#endregion
165927
165915
  //#region src/client/error.ts
165928
165916
  let _Symbol$for;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { R as calendarWindowPageSchema } from "./propsDecoder-zBdsnS-N.mjs";
2
+ import { R as calendarWindowPageSchema } from "./propsDecoder-DiLiBdek.mjs";
3
3
  import { createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/api/deduplication.ts
@@ -1,5 +1,5 @@
1
- import { Gt as formatBookingDate, Kt as formatBookingDateParts, Yt as formatBookingTime, at as resolveRuntimeEventDestination, mn as assertNever, nn as toScheduledBookingDateRange, rn as toScheduledBookingDateTime, tn as toBookingTimeZone } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-OcMz4SnX.mjs";
1
+ import { Gt as formatBookingDate, Kt as formatBookingDateParts, Yt as formatBookingTime, at as resolveRuntimeEventDestination, mn as assertNever, nn as toScheduledBookingDateRange, rn as toScheduledBookingDateTime, tn as toBookingTimeZone } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-CbTlAsmt.mjs";
3
3
  //#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
4
4
  /**
5
5
  * Booking call-to-action resolution for events: where an event links to and
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { $ as getDayOfWeek, B as resolveCalendarReadProfile, D as buildEventCalendarListingRender, J as MONTH_NAMES, Q as formatDateKey, V as buildEventRuntimeFilters, Y as addDays, dt as themeButtonClassName, et as getOrderedDayNames, nt as isSameCalendarDay, rt as isToday, t as defineIslandPropsDecoder, tt as getWeekCalendarDays } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-BBBvGDHQ.mjs";
5
- import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-OcMz4SnX.mjs";
6
- import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-DJKFcI_N.mjs";
7
- import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-Cp28uYuM.mjs";
8
- import { t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
3
+ import { $ as getDayOfWeek, B as resolveCalendarReadProfile, D as buildEventCalendarListingRender, J as MONTH_NAMES, Q as formatDateKey, V as buildEventRuntimeFilters, Y as addDays, dt as themeButtonClassName, et as getOrderedDayNames, nt as isSameCalendarDay, rt as isToday, t as defineIslandPropsDecoder, tt as getWeekCalendarDays } from "./propsDecoder-DiLiBdek.mjs";
4
+ import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-CM17Xpr1.mjs";
5
+ import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-CbTlAsmt.mjs";
6
+ import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-BXyNeNhB.mjs";
7
+ import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-srxNQ6sZ.mjs";
8
+ import { t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
9
9
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
10
10
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
11
- import { n as EventListingController } from "./EventListing.client-CD6AJsMr.mjs";
11
+ import { n as EventListingController } from "./EventListing.client-DbyVyGkX.mjs";
12
12
  import { useEffect, useId, useMemo, useState } from "react";
13
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
14
  //#region ../calendar/src/lane-packing.ts
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { n as EventCombinedIslandClient } from "./EventCombined.client-Cp28uYuM.mjs";
3
- import { t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { n as EventCombinedIslandClient } from "./EventCombined.client-srxNQ6sZ.mjs";
3
+ import { t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
5
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
6
6
  import "react";
@@ -1,8 +1,8 @@
1
- import { Ht as resolveWholeSeriesBookingPhase, Vt as CANCELLED_SESSION_STATUS, Zt as getBookingLocalDateKey, cn as publicEventPricingDisplay, dn as publicEventPricingType, fn as formatCurrencyAmount, in as formatBookingPriceDisplay, k as resolveEventRegistrationScopedEvents, on as isPublicEventPricingOptionDisplayable, rn as toScheduledBookingDateTime, sn as publicEventPricingCurrency, t as defineIslandPropsDecoder, tn as toBookingTimeZone } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-OcMz4SnX.mjs";
3
- import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-DJKFcI_N.mjs";
1
+ import { Ht as resolveWholeSeriesBookingPhase, Vt as CANCELLED_SESSION_STATUS, Zt as getBookingLocalDateKey, cn as publicEventPricingDisplay, dn as publicEventPricingType, fn as formatCurrencyAmount, in as formatBookingPriceDisplay, k as resolveEventRegistrationScopedEvents, on as isPublicEventPricingOptionDisplayable, rn as toScheduledBookingDateTime, sn as publicEventPricingCurrency, t as defineIslandPropsDecoder, tn as toBookingTimeZone } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-CbTlAsmt.mjs";
3
+ import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-BXyNeNhB.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
- import { t as LeafletStaticMap } from "./LeafletStaticMap-DBsAi9-e.mjs";
5
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-B-wpijzL.mjs";
6
6
  import "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region ../blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.ts
@@ -1,8 +1,8 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
4
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
5
- import { t as EventListingClient } from "./EventListing.client-CD6AJsMr.mjs";
5
+ import { t as EventListingClient } from "./EventListing.client-DbyVyGkX.mjs";
6
6
  import "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/rendering/islands/enhancers/eventListing.tsx
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as StepIndicator$1, o as resolveBookingPaymentDueNowCents, r as SpinnerNode, s as formatPrice, t as BookingConsentAgreement } from "./BookingConsentAgreement-xJeYNdnb.mjs";
3
- import { C as resolveRegistrationTarget, E as getWizardStepsForContext, Gt as formatBookingDate, Pt as assertNever, S as resolveEventRequiresPayment, T as getStepNumber, Yt as formatBookingTime, _ as toRegistrationEvents, b as findPreSelectedEvent, dn as publicEventPricingType, dt as themeButtonClassName, fn as formatCurrencyAmount, g as getRegistrationStartAt, h as buildEventRegistrationDisplayFromScopedEvents, k as resolveEventRegistrationScopedEvents, ln as publicEventPricingOptions, ot as groupPublicEventsByRun, pn as parseCurrencyCode, qt as formatBookingDateTime, rn as toScheduledBookingDateTime, sn as publicEventPricingCurrency, t as defineIslandPropsDecoder, tn as toBookingTimeZone, un as publicEventPricingStrategy, v as toWholeSeriesRegistrationEvents, w as WIZARD_STEPS, x as resolveDiscountContext, y as findEventByOccurrenceId } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-OcMz4SnX.mjs";
5
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
2
+ import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as StepIndicator$1, o as resolveBookingPaymentDueNowCents, r as SpinnerNode, s as formatPrice, t as BookingConsentAgreement } from "./BookingConsentAgreement-CnJeq3_r.mjs";
3
+ import { C as resolveRegistrationTarget, E as getWizardStepsForContext, Gt as formatBookingDate, Pt as assertNever, S as resolveEventRequiresPayment, T as getStepNumber, Yt as formatBookingTime, _ as toRegistrationEvents, b as findPreSelectedEvent, dn as publicEventPricingType, dt as themeButtonClassName, fn as formatCurrencyAmount, g as getRegistrationStartAt, h as buildEventRegistrationDisplayFromScopedEvents, k as resolveEventRegistrationScopedEvents, ln as publicEventPricingOptions, ot as groupPublicEventsByRun, pn as parseCurrencyCode, qt as formatBookingDateTime, rn as toScheduledBookingDateTime, sn as publicEventPricingCurrency, t as defineIslandPropsDecoder, tn as toBookingTimeZone, un as publicEventPricingStrategy, v as toWholeSeriesRegistrationEvents, w as WIZARD_STEPS, x as resolveDiscountContext, y as findEventByOccurrenceId } from "./propsDecoder-DiLiBdek.mjs";
4
+ import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-CbTlAsmt.mjs";
5
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
6
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
7
- import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-BNM4Ob2Y.mjs";
8
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DdT6uzl9.mjs";
7
+ import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-CrcbBf0h.mjs";
8
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-BINEO6J9.mjs";
9
9
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
10
10
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
11
11
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-FL6lRkrt.mjs";
@@ -1423,7 +1423,6 @@ const STRIPE_COMMISSION_FREE_REASONS = [
1423
1423
  "no_commission_plan",
1424
1424
  "billing_evidence_invalid",
1425
1425
  "fee_rounds_to_zero",
1426
- "non_commissionable_scope",
1427
1426
  "payment_not_stripe"
1428
1427
  ];
1429
1428
  const historicalContext = {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { It as err, Lt as ok, Pt as assertNever, dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { n as useBlockApi, t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
3
+ import { It as err, Lt as ok, Pt as assertNever, dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
4
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { O as staticHeaderChromeRuntime, dt as themeButtonClassName, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
+ import { O as staticHeaderChromeRuntime, dt as themeButtonClassName, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
3
3
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
4
- import { n as useCommerceCart } from "./shop-commerce-store-2N5EV0Rc.mjs";
4
+ import { n as useCommerceCart } from "./shop-commerce-store-PGUbDwqe.mjs";
5
5
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
6
6
  import * as React$1 from "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1439,6 +1439,14 @@ function walkAndCollectImageAttrs(value, out, location = "") {
1439
1439
  for (const [key, child] of Object.entries(value)) walkAndCollectImageAttrs(child, out, location ? `${location}.${key}` : key);
1440
1440
  }
1441
1441
  //#endregion
1442
+ //#region ../theme-core/src/footer/mode.ts
1443
+ const footerModeSchema = z.enum([
1444
+ "default",
1445
+ "blocks",
1446
+ "default+blocks",
1447
+ "none"
1448
+ ]);
1449
+ //#endregion
1442
1450
  //#region ../theme-core/src/lib/media.ts
1443
1451
  const hotspotSchema = z.object({
1444
1452
  x: z.number().min(0).max(1),
@@ -7480,12 +7488,6 @@ const footerVariant = z.enum([
7480
7488
  "split"
7481
7489
  ]);
7482
7490
  const footerMaxWidth = z.enum(["container", "full"]);
7483
- const footerMode = z.enum([
7484
- "default",
7485
- "blocks",
7486
- "default+blocks",
7487
- "none"
7488
- ]);
7489
7491
  const footerNavLayoutMode = z.enum([
7490
7492
  "stack",
7491
7493
  "inline",
@@ -7574,9 +7576,9 @@ const footerSchema = z.object({
7574
7576
  /**
7575
7577
  * SDK-only footer rendering mode.
7576
7578
  *
7577
- * Backwards compatible: missing/undefined behaves as 'default'.
7579
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
7578
7580
  */
7579
- mode: footerMode.optional(),
7581
+ mode: footerModeSchema.optional(),
7580
7582
  variant: footerVariant,
7581
7583
  maxWidth: footerMaxWidth,
7582
7584
  showLogoText: z.boolean().optional(),
@@ -8177,6 +8179,15 @@ const publicEventBaseSchema = z.object({
8177
8179
  timeZone: z.string(),
8178
8180
  pricing: publicEventPricingSchema,
8179
8181
  paymentTerms: blockBookingPaymentTermsSchema,
8182
+ cancellationPolicy: z.object({ refunds: z.object({
8183
+ mode: z.enum([
8184
+ "never",
8185
+ "always",
8186
+ "cutoff"
8187
+ ]),
8188
+ cutoffHours: z.number(),
8189
+ method: z.enum(["original_payment_method", "site_credit"])
8190
+ }) }),
8180
8191
  consent: blockBookingConsentSchema.nullable(),
8181
8192
  accessRestriction: accessRestrictionSchema,
8182
8193
  allowedCategoryIds: z.array(z.string()),
@@ -40556,11 +40567,14 @@ const sdkSiteStyleConfigSchema = z.object({
40556
40567
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
40557
40568
  containerOptions: sdkContainerOptionsConfigSchema.optional()
40558
40569
  });
40559
- const sdkSiteLayoutConfigSchema = z.object({ footerBlocks: z.array(z.object({
40560
- id: z.string().min(1).optional(),
40561
- kind: z.string().min(1),
40562
- content: z.record(z.string(), z.unknown()).optional()
40563
- })).optional() });
40570
+ const sdkSiteLayoutConfigSchema = z.object({
40571
+ footerMode: footerModeSchema.optional(),
40572
+ footerBlocks: z.array(z.object({
40573
+ id: z.string().min(1).optional(),
40574
+ kind: z.string().min(1),
40575
+ content: z.record(z.string(), z.unknown()).optional()
40576
+ })).optional()
40577
+ });
40564
40578
  const sdkFieldSelectOptionSchema = z.object({
40565
40579
  value: z.string(),
40566
40580
  label: z.string()
@@ -1,7 +1,7 @@
1
1
  import { i as textColorStyle } from "./colorStyles-3013aRAY.mjs";
2
- import { dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
+ import { dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
- import { t as LeafletStaticMap } from "./LeafletStaticMap-DBsAi9-e.mjs";
4
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-B-wpijzL.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../core/src/location.ts
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { Pt as assertNever, Ut as parseMailingListVisitorSelection, dt as themeButtonClassName, mn as assertNever$1, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
3
+ import { Pt as assertNever, Ut as parseMailingListVisitorSelection, dt as themeButtonClassName, mn as assertNever$1, t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
4
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Ces-AgdR.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
@@ -1,4 +1,4 @@
1
- import { an as formatEventPricing, cn as publicEventPricingDisplay, in as formatBookingPriceDisplay } from "./propsDecoder-zBdsnS-N.mjs";
1
+ import { an as formatEventPricing, cn as publicEventPricingDisplay, in as formatBookingPriceDisplay } from "./propsDecoder-DiLiBdek.mjs";
2
2
  //#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
3
3
  /**
4
4
  * Compute remaining spots for an event from `availableSpots` with a fallback
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { r as ProductDetailController } from "./shop-commerce-D4KNGaW8.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-DvJGdHTV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { r as ProductDetailController } from "./shop-commerce-D_J781in.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-C_Bb2zwG.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { i as ProductListController } from "./shop-commerce-D4KNGaW8.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-DvJGdHTV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-DiLiBdek.mjs";
2
+ import { i as ProductListController } from "./shop-commerce-D_J781in.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-C_Bb2zwG.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-list.client.tsx
@@ -2533,6 +2533,14 @@ function validateUniqueDeclaredCardVariantRoles(system, ctx) {
2533
2533
  }
2534
2534
  const cardSystemSchema = z.object({ variants: z.array(cardVariantSchema).min(1).max(3) }).superRefine(validateUniqueDeclaredCardVariantRoles).transform((system) => ({ variants: withInferredRoles(system.variants) }));
2535
2535
  //#endregion
2536
+ //#region ../theme-core/src/footer/mode.ts
2537
+ const footerModeSchema = z.enum([
2538
+ "default",
2539
+ "blocks",
2540
+ "default+blocks",
2541
+ "none"
2542
+ ]);
2543
+ //#endregion
2536
2544
  //#region ../theme-core/src/lib/media.ts
2537
2545
  const hotspotSchema = z.object({
2538
2546
  x: z.number().min(0).max(1),
@@ -6416,12 +6424,6 @@ const footerVariant = z.enum([
6416
6424
  "split"
6417
6425
  ]);
6418
6426
  const footerMaxWidth = z.enum(["container", "full"]);
6419
- const footerMode = z.enum([
6420
- "default",
6421
- "blocks",
6422
- "default+blocks",
6423
- "none"
6424
- ]);
6425
6427
  const footerNavLayoutMode = z.enum([
6426
6428
  "stack",
6427
6429
  "inline",
@@ -6510,9 +6512,9 @@ const footerSchema = z.object({
6510
6512
  /**
6511
6513
  * SDK-only footer rendering mode.
6512
6514
  *
6513
- * Backwards compatible: missing/undefined behaves as 'default'.
6515
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
6514
6516
  */
6515
- mode: footerMode.optional(),
6517
+ mode: footerModeSchema.optional(),
6516
6518
  variant: footerVariant,
6517
6519
  maxWidth: footerMaxWidth,
6518
6520
  showLogoText: z.boolean().optional(),
@@ -6928,6 +6930,15 @@ const publicEventBaseSchema = z.object({
6928
6930
  timeZone: z.string(),
6929
6931
  pricing: publicEventPricingSchema,
6930
6932
  paymentTerms: blockBookingPaymentTermsSchema,
6933
+ cancellationPolicy: z.object({ refunds: z.object({
6934
+ mode: z.enum([
6935
+ "never",
6936
+ "always",
6937
+ "cutoff"
6938
+ ]),
6939
+ cutoffHours: z.number(),
6940
+ method: z.enum(["original_payment_method", "site_credit"])
6941
+ }) }),
6931
6942
  consent: blockBookingConsentSchema.nullable(),
6932
6943
  accessRestriction: accessRestrictionSchema,
6933
6944
  allowedCategoryIds: z.array(z.string()),
@@ -3327,7 +3327,10 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {
3327
3327
  init_contentMediaAudit();
3328
3328
  init_contentMediaAuditFieldAdapter();
3329
3329
  init_identifiers();
3330
- })), init_src$1 = __esmMin((() => {
3330
+ }));
3331
+ //#endregion
3332
+ //#region ../media-core/src/index.ts
3333
+ var init_src$1 = __esmMin((() => {
3331
3334
  init_types$15();
3332
3335
  init_fileDomain();
3333
3336
  init_fileStorage();
@@ -3378,6 +3381,14 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {
3378
3381
  init_contentMediaAudit();
3379
3382
  init_contentMediaAuditFieldAdapter();
3380
3383
  init_contentMediaSnapshotAudit();
3384
+ }));
3385
+ var footerModeSchema, init_mode = __esmMin((() => {
3386
+ footerModeSchema = z.enum([
3387
+ "default",
3388
+ "blocks",
3389
+ "default+blocks",
3390
+ "none"
3391
+ ]);
3381
3392
  })), hotspotSchema, rotationSchema, rectSchema, aspectCropSchema, transformSchema, mediaPosterSchema, mediaBaseSchema, mediaIdentifierSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema, persistableMediaBaseSchema;
3382
3393
  var init_media$2 = __esmMin((() => {
3383
3394
  hotspotSchema = z.object({
@@ -8035,8 +8046,9 @@ var init_boxBackgroundSchema = __esmMin((() => {
8035
8046
  showVideoOnMobile: z.boolean().nullable().optional()
8036
8047
  })
8037
8048
  ]);
8038
- })), axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle$1, headerPositioningValues, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, testimonialQuoteTreatmentSchema, themeSchema;
8049
+ })), axesSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, headingDecorationOverrideSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, eyebrowTypographyStyleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle$1, headerPositioningValues, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, testimonialQuoteTreatmentSchema, themeSchema;
8039
8050
  var init_schema$2 = __esmMin((() => {
8051
+ init_mode();
8040
8052
  init_media$2();
8041
8053
  init_schema$3();
8042
8054
  init_buttons();
@@ -8535,12 +8547,6 @@ var init_schema$2 = __esmMin((() => {
8535
8547
  "split"
8536
8548
  ]);
8537
8549
  footerMaxWidth = z.enum(["container", "full"]);
8538
- footerMode = z.enum([
8539
- "default",
8540
- "blocks",
8541
- "default+blocks",
8542
- "none"
8543
- ]);
8544
8550
  footerNavLayoutMode = z.enum([
8545
8551
  "stack",
8546
8552
  "inline",
@@ -8629,9 +8635,9 @@ var init_schema$2 = __esmMin((() => {
8629
8635
  /**
8630
8636
  * SDK-only footer rendering mode.
8631
8637
  *
8632
- * Backwards compatible: missing/undefined behaves as 'default'.
8638
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
8633
8639
  */
8634
- mode: footerMode.optional(),
8640
+ mode: footerModeSchema.optional(),
8635
8641
  variant: footerVariant,
8636
8642
  maxWidth: footerMaxWidth,
8637
8643
  showLogoText: z.boolean().optional(),
@@ -9199,6 +9205,15 @@ var init_schemas = __esmMin((() => {
9199
9205
  timeZone: z.string(),
9200
9206
  pricing: publicEventPricingSchema,
9201
9207
  paymentTerms: blockBookingPaymentTermsSchema,
9208
+ cancellationPolicy: z.object({ refunds: z.object({
9209
+ mode: z.enum([
9210
+ "never",
9211
+ "always",
9212
+ "cutoff"
9213
+ ]),
9214
+ cutoffHours: z.number(),
9215
+ method: z.enum(["original_payment_method", "site_credit"])
9216
+ }) }),
9202
9217
  consent: blockBookingConsentSchema.nullable(),
9203
9218
  accessRestriction: accessRestrictionSchema,
9204
9219
  allowedCategoryIds: z.array(z.string()),
@@ -28186,6 +28201,10 @@ var init_headerOpeningForeground = __esmMin((() => {
28186
28201
  init_colorTokenParts();
28187
28202
  init_types$8();
28188
28203
  }));
28204
+ var init_effectivePageDesign = __esmMin((() => {
28205
+ init_pageDesignIntent();
28206
+ init_siteStyleBlockPolicies();
28207
+ }));
28189
28208
  function validateBlockSequence(snapshots, ctx) {
28190
28209
  for (const issue of collectBlockSequenceIssues(snapshots)) ctx.addIssue(issue);
28191
28210
  }
@@ -28462,6 +28481,7 @@ var init_site_styles = __esmMin((() => {
28462
28481
  init_lookResolution();
28463
28482
  init_lookOptionGroups();
28464
28483
  init_logoBranding();
28484
+ init_effectivePageDesign();
28465
28485
  init_pageDesignAuthority();
28466
28486
  init_pageDesignEditorErrors();
28467
28487
  init_pageDesignEditorCapabilities();
@@ -48151,7 +48171,6 @@ var init_stripeCommissionMetadata = __esmMin((() => {
48151
48171
  "no_commission_plan",
48152
48172
  "billing_evidence_invalid",
48153
48173
  "fee_rounds_to_zero",
48154
- "non_commissionable_scope",
48155
48174
  "payment_not_stripe"
48156
48175
  ];
48157
48176
  historicalContext = {