@riverbankcms/sdk 0.124.0 → 0.125.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 (69) hide show
  1. package/dist/{PreviewEditorSidebar-DBmAJJkQ.mjs → PreviewEditorSidebar-BezDOtQ7.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-CfGaz9cY.mjs → PreviewEditorUI-CgSqmfo2.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-BW9Z8j8T.mjs → SdkPreviewModeRuntime-Co3AHfj0.mjs} +14 -6
  4. package/dist/{SiteChromeCustomizeContext-2z8moxYf.mjs → SiteChromeCustomizeContext-BHF-KANn.mjs} +82 -78
  5. package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
  6. package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
  7. package/dist/_dts/billing/src/plans/types.d.ts +24 -5
  8. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  9. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  10. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  11. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
  12. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +3 -1
  13. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -1
  14. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +149 -0
  15. package/dist/_dts/sdk/src/version.d.ts +1 -1
  16. package/dist/cli/index.mjs +20 -4
  17. package/dist/client/{DiscountCodeDisclosure-DxvjKvck.mjs → DiscountCodeDisclosure-CyPpekBp.mjs} +1 -1
  18. package/dist/client/{EventCombined.client-BydMGc4c.mjs → EventCombined.client-zywit-60.mjs} +2 -2
  19. package/dist/client/{EventListing.client-vpzhhysN.mjs → EventListing.client-J2nLhkKT.mjs} +2 -2
  20. package/dist/client/{LeafletStaticMap-CB07rpf8.mjs → LeafletStaticMap-CSubXWt6.mjs} +1 -1
  21. package/dist/client/{MagicLinkForm-BzyRJ8VF.mjs → MagicLinkForm-DDLIfiq9.mjs} +1 -1
  22. package/dist/client/{StepIndicator-CTcGf8Be.mjs → StepIndicator-DE8EvHIp.mjs} +2 -2
  23. package/dist/client/{accordion-B-DUDLRD.mjs → accordion-Ct5T5NiA.mjs} +1 -1
  24. package/dist/client/{bookingForm-DSbClLcZ.mjs → bookingForm-DMxtLPxw.mjs} +5 -5
  25. package/dist/client/{carousel-B6Ccdx8M.mjs → carousel--FMqgvob.mjs} +1 -1
  26. package/dist/client/{cart-BZh8G8wM.mjs → cart-BKX1bWiU.mjs} +3 -3
  27. package/dist/client/{checkout-o6zaC-kM.mjs → checkout-B_jxi4WW.mjs} +3 -3
  28. package/dist/client/client.mjs +20 -4
  29. package/dist/client/{courseRegistration-Cf11pNDs.mjs → courseRegistration-DH4MlkRD.mjs} +6 -6
  30. package/dist/client/{eventCalendar-BeXrdsSE.mjs → eventCalendar-BQILwAcL.mjs} +4 -4
  31. package/dist/client/{eventCombined-DA76PZgG.mjs → eventCombined-DFFW_Vmo.mjs} +2 -2
  32. package/dist/client/{eventDetails-BLxg0rok.mjs → eventDetails-B045CTSJ.mjs} +10 -5
  33. package/dist/client/{eventListing-tO9LheBX.mjs → eventListing-BDMYNVzS.mjs} +2 -2
  34. package/dist/client/{eventRegistration-Cnene9D9.mjs → eventRegistration-CQ2-BSnB.mjs} +6 -6
  35. package/dist/client/{form-DZf72CHB.mjs → form-DJKuyZgN.mjs} +1 -1
  36. package/dist/client/{headerSection-Hioja5Cr.mjs → headerSection-DeTjfiDo.mjs} +2 -2
  37. package/dist/client/hooks.mjs +4 -0
  38. package/dist/client/{locationMap-DwhUXEix.mjs → locationMap-i2wDA8gB.mjs} +2 -2
  39. package/dist/client/{newsletterForm-C350bEQf.mjs → newsletterForm-DKiueauk.mjs} +1 -1
  40. package/dist/client/{pricing-BYWN_ATa.mjs → pricing-C01J3Epx.mjs} +1 -1
  41. package/dist/client/{productDetail-CCqCyXgU.mjs → productDetail-Dfc1sZaX.mjs} +3 -3
  42. package/dist/client/{productList-BAiNJrOU.mjs → productList-BXbvXWTF.mjs} +3 -3
  43. package/dist/client/{propsDecoder-DeunRj6m.mjs → propsDecoder-CIR5DQ1l.mjs} +5 -0
  44. package/dist/client/rendering/client.mjs +103 -87
  45. package/dist/client/rendering/islands.mjs +18 -18
  46. package/dist/client/rendering.mjs +103 -87
  47. package/dist/client/{shop-DUmCdBtw.mjs → shop-BbNwPKM-.mjs} +5 -5
  48. package/dist/client/{shop-commerce-CY27mEUr.mjs → shop-commerce-XO-XMFEt.mjs} +4 -4
  49. package/dist/client/{shop-commerce-store-ChXPbWfa.mjs → shop-commerce-store-Byh6OUGK.mjs} +1 -1
  50. package/dist/client/{shopShared-q0kin1cv.mjs → shopShared-Bbq39mwr.mjs} +2 -2
  51. package/dist/client/{useDiscountCodeUi-I-92-x2V.mjs → useDiscountCodeUi-Bcyh4508.mjs} +1 -1
  52. package/dist/client/{useEventFilters-DlcVluZh.mjs → useEventFilters-C8OOJ3el.mjs} +2 -2
  53. package/dist/client/{usePolling-Bz7GFV_a.mjs → usePolling-CyJVo9kF.mjs} +2 -2
  54. package/dist/preview-next/client/runtime.mjs +3 -3
  55. package/dist/{sdk-runtime-OnPM8Z69.mjs → sdk-runtime-BGhyuE-E.mjs} +1 -1
  56. package/dist/{separator-CPtfzHqA.mjs → separator-BFs-Kmv5.mjs} +1 -1
  57. package/dist/server/components.mjs +12 -2
  58. package/dist/server/config-validation.mjs +4 -0
  59. package/dist/server/config.mjs +4 -0
  60. package/dist/server/data.mjs +4 -0
  61. package/dist/server/index.mjs +1 -1
  62. package/dist/server/next.mjs +13 -3
  63. package/dist/server/page-converter.mjs +4 -0
  64. package/dist/server/prebuild.mjs +1 -1
  65. package/dist/server/rendering/server.mjs +12 -2
  66. package/dist/server/rendering.mjs +12 -2
  67. package/dist/server/routing.mjs +4 -0
  68. package/dist/server/server.mjs +5 -1
  69. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { type OccurrenceContextLike } from './event-details/logic';
6
6
  type EventDetailsProps = {
7
7
  blockId?: string | null;
8
8
  occurrenceContext?: OccurrenceContextLike | null;
9
+ subject?: unknown;
9
10
  events?: PublicEvent[] | null;
10
11
  showVenue?: boolean;
11
12
  showMap?: boolean;
@@ -23,5 +24,5 @@ type EventDetailsProps = {
23
24
  className?: string | null;
24
25
  children?: React.ReactNode;
25
26
  };
26
- export declare function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
27
+ export declare function EventDetailsSSR({ blockId, occurrenceContext, subject, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
27
28
  export default EventDetailsSSR;
@@ -19334,6 +19334,19 @@ export type Database = {
19334
19334
  };
19335
19335
  Returns: Json;
19336
19336
  };
19337
+ claim_site_invitation_resend_trusted: {
19338
+ Args: {
19339
+ p_actor_user_id: string;
19340
+ p_attempt_id: string;
19341
+ p_claim_expires_at: string;
19342
+ p_cooldown_seconds?: number;
19343
+ p_expires_at: string;
19344
+ p_invitation_id: string;
19345
+ p_site_id: string;
19346
+ p_token_hash: string;
19347
+ };
19348
+ Returns: Json;
19349
+ };
19337
19350
  commit_authoritative_page_surface_draft_version: {
19338
19351
  Args: {
19339
19352
  p_data: Json;
@@ -19760,6 +19773,44 @@ export type Database = {
19760
19773
  isSetofReturn: false;
19761
19774
  };
19762
19775
  };
19776
+ create_site_invitation_trusted: {
19777
+ Args: {
19778
+ p_allowed_website_roles?: string[];
19779
+ p_email: string;
19780
+ p_expires_at?: string;
19781
+ p_invited_by: string;
19782
+ p_max_non_owner_places?: number;
19783
+ p_metadata?: Json;
19784
+ p_operational_staff_allowed?: boolean;
19785
+ p_role: string;
19786
+ p_site_id: string;
19787
+ p_staff_capabilities?: Database["public"]["Enums"]["staff_operational_capability"][];
19788
+ p_token_hash: string;
19789
+ };
19790
+ Returns: {
19791
+ accepted_at: string | null;
19792
+ accepted_by: string | null;
19793
+ created_at: string;
19794
+ email: string;
19795
+ email_lower: string | null;
19796
+ expires_at: string | null;
19797
+ id: string;
19798
+ invited_by: string | null;
19799
+ metadata: Json | null;
19800
+ revoked_at: string | null;
19801
+ role: Database["public"]["Enums"]["site_role"];
19802
+ site_id: string;
19803
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
19804
+ token_hash: string;
19805
+ updated_at: string;
19806
+ };
19807
+ SetofOptions: {
19808
+ from: "*";
19809
+ to: "site_invitations";
19810
+ isOneToOne: true;
19811
+ isSetofReturn: false;
19812
+ };
19813
+ };
19763
19814
  dated_offering_shared_v1_fan_out_policy: {
19764
19815
  Args: never;
19765
19816
  Returns: {
@@ -19912,6 +19963,31 @@ export type Database = {
19912
19963
  };
19913
19964
  Returns: string;
19914
19965
  };
19966
+ ensure_creator_membership: {
19967
+ Args: {
19968
+ p_site_id: string;
19969
+ p_user_id: string;
19970
+ };
19971
+ Returns: {
19972
+ accepted_at: string | null;
19973
+ created_at: string;
19974
+ id: string;
19975
+ invited_by: string | null;
19976
+ linked_staff_member_id: string | null;
19977
+ removed_at: string | null;
19978
+ role: Database["public"]["Enums"]["site_role"];
19979
+ site_id: string;
19980
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
19981
+ updated_at: string;
19982
+ user_id: string;
19983
+ };
19984
+ SetofOptions: {
19985
+ from: "*";
19986
+ to: "site_memberships";
19987
+ isOneToOne: true;
19988
+ isSetofReturn: false;
19989
+ };
19990
+ };
19915
19991
  ensure_default_appointment_availability_schedule: {
19916
19992
  Args: {
19917
19993
  p_resource_id: string;
@@ -20100,6 +20176,16 @@ export type Database = {
20100
20176
  };
20101
20177
  Returns: Json;
20102
20178
  };
20179
+ finalize_site_invitation_resend_trusted: {
20180
+ Args: {
20181
+ p_actor_user_id: string;
20182
+ p_attempt_id: string;
20183
+ p_invitation_id: string;
20184
+ p_resent_at: string;
20185
+ p_site_id: string;
20186
+ };
20187
+ Returns: Json;
20188
+ };
20103
20189
  get_auth_user_id_by_email: {
20104
20190
  Args: {
20105
20191
  p_email: string;
@@ -21006,6 +21092,15 @@ export type Database = {
21006
21092
  };
21007
21093
  Returns: Json;
21008
21094
  };
21095
+ release_site_invitation_resend_claim_trusted: {
21096
+ Args: {
21097
+ p_actor_user_id: string;
21098
+ p_attempt_id: string;
21099
+ p_invitation_id: string;
21100
+ p_site_id: string;
21101
+ };
21102
+ Returns: Json;
21103
+ };
21009
21104
  remove_category_from_memberships: {
21010
21105
  Args: {
21011
21106
  category_id: string;
@@ -21443,6 +21538,32 @@ export type Database = {
21443
21538
  isSetofReturn: true;
21444
21539
  };
21445
21540
  };
21541
+ transfer_site_ownership_trusted: {
21542
+ Args: {
21543
+ p_actor_user_id: string;
21544
+ p_site_id: string;
21545
+ p_target_membership_id: string;
21546
+ };
21547
+ Returns: {
21548
+ accepted_at: string | null;
21549
+ created_at: string;
21550
+ id: string;
21551
+ invited_by: string | null;
21552
+ linked_staff_member_id: string | null;
21553
+ removed_at: string | null;
21554
+ role: Database["public"]["Enums"]["site_role"];
21555
+ site_id: string;
21556
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
21557
+ updated_at: string;
21558
+ user_id: string;
21559
+ };
21560
+ SetofOptions: {
21561
+ from: "*";
21562
+ to: "site_memberships";
21563
+ isOneToOne: true;
21564
+ isSetofReturn: false;
21565
+ };
21566
+ };
21446
21567
  transition_analytics_events_to_daily_aggregates: {
21447
21568
  Args: {
21448
21569
  p_cutoff: string;
@@ -21643,6 +21764,34 @@ export type Database = {
21643
21764
  isSetofReturn: false;
21644
21765
  };
21645
21766
  };
21767
+ use_site_invitation_trusted: {
21768
+ Args: {
21769
+ p_allowed_website_roles?: string[];
21770
+ p_max_non_owner_places?: number;
21771
+ p_operational_staff_allowed?: boolean;
21772
+ p_token: string;
21773
+ p_user: string;
21774
+ };
21775
+ Returns: {
21776
+ accepted_at: string | null;
21777
+ created_at: string;
21778
+ id: string;
21779
+ invited_by: string | null;
21780
+ linked_staff_member_id: string | null;
21781
+ removed_at: string | null;
21782
+ role: Database["public"]["Enums"]["site_role"];
21783
+ site_id: string;
21784
+ staff_capabilities: Database["public"]["Enums"]["staff_operational_capability"][] | null;
21785
+ updated_at: string;
21786
+ user_id: string;
21787
+ };
21788
+ SetofOptions: {
21789
+ from: "*";
21790
+ to: "site_memberships";
21791
+ isOneToOne: true;
21792
+ isSetofReturn: false;
21793
+ };
21794
+ };
21646
21795
  validate_dated_offering_waitlist_restore_snapshot_v1: {
21647
21796
  Args: {
21648
21797
  p_course_id: string;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.124.0";
11
+ export declare const SDK_VERSION = "0.125.0";
@@ -43397,6 +43397,10 @@ var init_event_details = __esmMin((() => {
43397
43397
  from: "$root.occurrenceContext",
43398
43398
  fallback: null
43399
43399
  } },
43400
+ subject: { $bind: {
43401
+ from: "$root.subject",
43402
+ fallback: null
43403
+ } },
43400
43404
  events: { $bind: { from: "data.eventDetailsData.events" } },
43401
43405
  showVenue: { $bind: { from: "content.showVenue" } },
43402
43406
  showMap: { $bind: { from: "content.showMap" } },
@@ -57561,7 +57565,10 @@ function uniqByOccurrenceId(events) {
57561
57565
  return out;
57562
57566
  }
57563
57567
  function selectEventDetails(args) {
57564
- const all = uniqByOccurrenceId((args.events ?? []).filter(Boolean));
57568
+ const all = uniqByOccurrenceId(resolveEventRegistrationScopedEvents((args.events ?? []).filter(Boolean), {
57569
+ occurrenceContext: args.occurrenceContext,
57570
+ subject: args.subject
57571
+ }));
57565
57572
  const occurrenceContext = args.occurrenceContext ?? null;
57566
57573
  const otherLimit = parseLimit$1(args.otherDatesLimit, 5);
57567
57574
  const selectedFromContext = (() => {
@@ -57600,6 +57607,7 @@ function selectEventDetails(args) {
57600
57607
  }
57601
57608
  var init_logic = __esmMin((() => {
57602
57609
  init_src$3();
57610
+ init_eventScope();
57603
57611
  init_eventProductEligibility();
57604
57612
  }));
57605
57613
  //#endregion
@@ -57844,11 +57852,14 @@ var init_view$1 = __esmMin((() => {
57844
57852
  //#region ../blocks/src/system/runtime/nodes/event-details.server.tsx
57845
57853
  init_logic();
57846
57854
  init_view$1();
57847
- function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, children }) {
57855
+ init_eventScope();
57856
+ function EventDetailsSSR({ blockId, occurrenceContext, subject, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, children }) {
57848
57857
  const nowIso = (/* @__PURE__ */ new Date()).toISOString();
57858
+ const normalizedSubject = normalizeEventRegistrationPageSurfaceSubject(subject);
57849
57859
  const selection = selectEventDetails({
57850
57860
  events: events ?? null,
57851
57861
  occurrenceContext: occurrenceContext ?? null,
57862
+ subject: normalizedSubject,
57852
57863
  nowIso,
57853
57864
  otherDatesLimit
57854
57865
  });
@@ -57863,6 +57874,7 @@ function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue = true,
57863
57874
  children: [
57864
57875
  /* @__PURE__ */ jsx(IslandPropsScript, { value: {
57865
57876
  occurrenceContext,
57877
+ subject: normalizedSubject,
57866
57878
  events,
57867
57879
  showVenue,
57868
57880
  showMap,
@@ -89120,6 +89132,7 @@ var init_non_block_islands = __esmMin((() => {
89120
89132
  init_shop_shared();
89121
89133
  init_schemas();
89122
89134
  init_event_details();
89135
+ init_eventScope();
89123
89136
  accordionIslandSchema = z$1.object({
89124
89137
  type: z$1.enum(["single", "multiple"]).optional(),
89125
89138
  defaultValue: z$1.union([z$1.string(), z$1.array(z$1.string())]).optional(),
@@ -89161,6 +89174,7 @@ var init_non_block_islands = __esmMin((() => {
89161
89174
  });
89162
89175
  eventDetailsIslandSchema = z$1.object({
89163
89176
  occurrenceContext: eventDetailsOccurrenceContextSchema.nullable().optional(),
89177
+ subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
89164
89178
  events: z$1.array(publicEventSchema).nullable().optional(),
89165
89179
  showVenue: z$1.boolean().optional(),
89166
89180
  showMap: z$1.boolean().optional(),
@@ -146410,6 +146424,7 @@ var init_LeafletStaticMap = __esmMin((() => {
146410
146424
  function toEventDetailsClientProps(props) {
146411
146425
  return {
146412
146426
  occurrenceContext: props.occurrenceContext,
146427
+ subject: props.subject,
146413
146428
  events: props.events ? [...props.events] : props.events,
146414
146429
  showVenue: props.showVenue,
146415
146430
  showMap: props.showMap,
@@ -146425,10 +146440,11 @@ function toEventDetailsClientProps(props) {
146425
146440
  nowIso: props.nowIso
146426
146441
  };
146427
146442
  }
146428
- function EventDetailsClient({ occurrenceContext, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
146443
+ function EventDetailsClient({ occurrenceContext, subject, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
146429
146444
  const selection = selectEventDetails({
146430
146445
  events: events ?? null,
146431
146446
  occurrenceContext: occurrenceContext ?? null,
146447
+ subject,
146432
146448
  nowIso: nowIso ?? (/* @__PURE__ */ new Date()).toISOString(),
146433
146449
  otherDatesLimit
146434
146450
  });
@@ -152957,7 +152973,7 @@ var SimpleCache = class {
152957
152973
  * 1. This constant
152958
152974
  * 2. The "version" field in package.json
152959
152975
  */
152960
- const SDK_VERSION = "0.124.0";
152976
+ const SDK_VERSION = "0.125.0";
152961
152977
  //#endregion
152962
152978
  //#region src/client/error.ts
152963
152979
  /**
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { X as themeButtonClassName } from "./propsDecoder-DeunRj6m.mjs";
2
+ import { X as themeButtonClassName } from "./propsDecoder-CIR5DQ1l.mjs";
3
3
  import { useId } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/api/types/discounts.ts
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { t as clsx } from "./clsx-DgIEfj3H.mjs";
3
- import { A as formatDate, E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, I as formatTime, L as getCardOrientation, N as formatEventPrice, R as getContainerClass, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, X as themeButtonClassName, yt as assertNever, z as groupEventsByDate } from "./propsDecoder-DeunRj6m.mjs";
4
- import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, t as useEventFilters } from "./useEventFilters-DlcVluZh.mjs";
3
+ import { A as formatDate, E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, I as formatTime, L as getCardOrientation, N as formatEventPrice, R as getContainerClass, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, X as themeButtonClassName, yt as assertNever, z as groupEventsByDate } from "./propsDecoder-CIR5DQ1l.mjs";
4
+ import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, t as useEventFilters } from "./useEventFilters-C8OOJ3el.mjs";
5
5
  import { n as useBlockApi } from "./context-CJz1Vlsz.mjs";
6
6
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
7
7
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { T as buildEventRuntimeFilters } from "./propsDecoder-DeunRj6m.mjs";
3
- import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-DlcVluZh.mjs";
2
+ import { T as buildEventRuntimeFilters } from "./propsDecoder-CIR5DQ1l.mjs";
3
+ import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-C8OOJ3el.mjs";
4
4
  import { useId, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/events/EventListing.client.tsx
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { J as isRecord } from "./propsDecoder-DeunRj6m.mjs";
2
+ import { J as isRecord } from "./propsDecoder-CIR5DQ1l.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { X as themeButtonClassName, yt as assertNever } from "./propsDecoder-DeunRj6m.mjs";
2
+ import { X as themeButtonClassName, yt as assertNever } from "./propsDecoder-CIR5DQ1l.mjs";
3
3
  import { n as useBlockApi } from "./context-CJz1Vlsz.mjs";
4
4
  import { useEffect, useReducer, useState, useSyncExternalStore } from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import { t as clsx } from "./clsx-DgIEfj3H.mjs";
2
- import { Wt as formatCurrencyAmount } from "./propsDecoder-DeunRj6m.mjs";
3
- import { i as CheckIcon } from "./useDiscountCodeUi-I-92-x2V.mjs";
2
+ import { Wt as formatCurrencyAmount } from "./propsDecoder-CIR5DQ1l.mjs";
3
+ import { i as CheckIcon } from "./useDiscountCodeUi-Bcyh4508.mjs";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/shared/utils/formatting.ts
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
2
2
  //#region src/rendering/islands/enhancers/accordion.ts
3
3
  const decode = defineIslandPropsDecoder("accordion");
4
4
  function parseDefaultValues(value) {
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { d as unsafeAsAppointmentResourceId, f as unsafeAsAppointmentServiceId, g as unsafeAsPassId, m as unsafeAsFormId, p as unsafeAsCustomerPassId } from "./colorStyles-BWpj_h4C.mjs";
3
- import { n as buildBookingPaymentSelectionViewModel, t as usePolling } from "./usePolling-Bz7GFV_a.mjs";
4
- import { Ct as okWith, Et as addLocalScheduleDays, Nt as parseBookingLocalDate, Pt as resolveBookingTimeZoneId, Tt as reportWorkflowSuccess, Wt as formatCurrencyAmount, X as themeButtonClassName, _t as toSelectedCollectionOptionKind, at as formatBookingCentsAsCurrencyInput, bt as clearWorkflowFeedback, ct as getBookingServiceSlidingScale, dt as parseBookingCurrencyInputToCents, ft as prepareBookingSubmission, gt as resolveDefaultBookingServiceId, ht as resolveBookingSiteId, it as deriveBookingFormViewState, jt as formatLocalScheduleDate, kt as formatBookingInstant, lt as getBookingSuccessMessage, mt as resolveBookingPaymentStep, ot as formatBookingSubmissionPreparationError, pt as resolveAppointmentCheckoutVerificationState, rt as logger, st as getBookingRedirectStateFromLocation, t as defineIslandPropsDecoder, ut as isBookingServiceSlidingAmountInRange, vt as BOOKING_FORM_DATA_RESERVED_KEYS, wt as reportWorkflowError, xt as err, yt as assertNever } from "./propsDecoder-DeunRj6m.mjs";
3
+ import { n as buildBookingPaymentSelectionViewModel, t as usePolling } from "./usePolling-CyJVo9kF.mjs";
4
+ import { Ct as okWith, Et as addLocalScheduleDays, Nt as parseBookingLocalDate, Pt as resolveBookingTimeZoneId, Tt as reportWorkflowSuccess, Wt as formatCurrencyAmount, X as themeButtonClassName, _t as toSelectedCollectionOptionKind, at as formatBookingCentsAsCurrencyInput, bt as clearWorkflowFeedback, ct as getBookingServiceSlidingScale, dt as parseBookingCurrencyInputToCents, ft as prepareBookingSubmission, gt as resolveDefaultBookingServiceId, ht as resolveBookingSiteId, it as deriveBookingFormViewState, jt as formatLocalScheduleDate, kt as formatBookingInstant, lt as getBookingSuccessMessage, mt as resolveBookingPaymentStep, ot as formatBookingSubmissionPreparationError, pt as resolveAppointmentCheckoutVerificationState, rt as logger, st as getBookingRedirectStateFromLocation, t as defineIslandPropsDecoder, ut as isBookingServiceSlidingAmountInRange, vt as BOOKING_FORM_DATA_RESERVED_KEYS, wt as reportWorkflowError, xt as err, yt as assertNever } from "./propsDecoder-CIR5DQ1l.mjs";
5
5
  import { n as useBlockApi, t as BlockApiProvider } from "./context-CJz1Vlsz.mjs";
6
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
7
- import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-I-92-x2V.mjs";
8
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DxvjKvck.mjs";
9
- import { n as SpinnerNode, t as StepIndicator } from "./StepIndicator-CTcGf8Be.mjs";
7
+ import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-Bcyh4508.mjs";
8
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CyPpekBp.mjs";
9
+ import { n as SpinnerNode, t as StepIndicator } from "./StepIndicator-DE8EvHIp.mjs";
10
10
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
11
11
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
12
12
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-Ct8Mxna3.mjs";
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
2
2
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
3
3
  import { n as normalizeCarouselProps, t as CarouselNodeClient } from "./carousel.client-CpwTUhIo.mjs";
4
4
  import "react";
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
2
- import { t as CartController } from "./shop-commerce-CY27mEUr.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-q0kin1cv.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
2
+ import { t as CartController } from "./shop-commerce-XO-XMFEt.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-Bbq39mwr.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/cart.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
2
- import { n as CheckoutController } from "./shop-commerce-CY27mEUr.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-q0kin1cv.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
2
+ import { n as CheckoutController } from "./shop-commerce-XO-XMFEt.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-Bbq39mwr.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/checkout.client.tsx
@@ -42614,6 +42614,10 @@ var init_event_details = __esmMin((() => {
42614
42614
  from: "$root.occurrenceContext",
42615
42615
  fallback: null
42616
42616
  } },
42617
+ subject: { $bind: {
42618
+ from: "$root.subject",
42619
+ fallback: null
42620
+ } },
42617
42621
  events: { $bind: { from: "data.eventDetailsData.events" } },
42618
42622
  showVenue: { $bind: { from: "content.showVenue" } },
42619
42623
  showMap: { $bind: { from: "content.showMap" } },
@@ -57047,7 +57051,10 @@ function uniqByOccurrenceId(events) {
57047
57051
  return out;
57048
57052
  }
57049
57053
  function selectEventDetails(args) {
57050
- const all = uniqByOccurrenceId((args.events ?? []).filter(Boolean));
57054
+ const all = uniqByOccurrenceId(resolveEventRegistrationScopedEvents((args.events ?? []).filter(Boolean), {
57055
+ occurrenceContext: args.occurrenceContext,
57056
+ subject: args.subject
57057
+ }));
57051
57058
  const occurrenceContext = args.occurrenceContext ?? null;
57052
57059
  const otherLimit = parseLimit$1(args.otherDatesLimit, 5);
57053
57060
  const selectedFromContext = (() => {
@@ -57086,6 +57093,7 @@ function selectEventDetails(args) {
57086
57093
  }
57087
57094
  var init_logic = __esmMin((() => {
57088
57095
  init_src$3();
57096
+ init_eventScope();
57089
57097
  init_eventProductEligibility();
57090
57098
  }));
57091
57099
  //#endregion
@@ -57330,11 +57338,14 @@ var init_view$2 = __esmMin((() => {
57330
57338
  //#region ../blocks/src/system/runtime/nodes/event-details.server.tsx
57331
57339
  init_logic();
57332
57340
  init_view$2();
57333
- function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, children }) {
57341
+ init_eventScope();
57342
+ function EventDetailsSSR({ blockId, occurrenceContext, subject, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, children }) {
57334
57343
  const nowIso = (/* @__PURE__ */ new Date()).toISOString();
57344
+ const normalizedSubject = normalizeEventRegistrationPageSurfaceSubject(subject);
57335
57345
  const selection = selectEventDetails({
57336
57346
  events: events ?? null,
57337
57347
  occurrenceContext: occurrenceContext ?? null,
57348
+ subject: normalizedSubject,
57338
57349
  nowIso,
57339
57350
  otherDatesLimit
57340
57351
  });
@@ -57349,6 +57360,7 @@ function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue = true,
57349
57360
  children: [
57350
57361
  /* @__PURE__ */ jsx(IslandPropsScript, { value: {
57351
57362
  occurrenceContext,
57363
+ subject: normalizedSubject,
57352
57364
  events,
57353
57365
  showVenue,
57354
57366
  showMap,
@@ -82532,6 +82544,7 @@ var init_non_block_islands = __esmMin((() => {
82532
82544
  init_shop_shared();
82533
82545
  init_schemas();
82534
82546
  init_event_details();
82547
+ init_eventScope();
82535
82548
  accordionIslandSchema = z$1.object({
82536
82549
  type: z$1.enum(["single", "multiple"]).optional(),
82537
82550
  defaultValue: z$1.union([z$1.string(), z$1.array(z$1.string())]).optional(),
@@ -82573,6 +82586,7 @@ var init_non_block_islands = __esmMin((() => {
82573
82586
  });
82574
82587
  eventDetailsIslandSchema = z$1.object({
82575
82588
  occurrenceContext: eventDetailsOccurrenceContextSchema.nullable().optional(),
82589
+ subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
82576
82590
  events: z$1.array(publicEventSchema).nullable().optional(),
82577
82591
  showVenue: z$1.boolean().optional(),
82578
82592
  showMap: z$1.boolean().optional(),
@@ -153094,6 +153108,7 @@ var init_LeafletStaticMap = __esmMin((() => {
153094
153108
  function toEventDetailsClientProps(props) {
153095
153109
  return {
153096
153110
  occurrenceContext: props.occurrenceContext,
153111
+ subject: props.subject,
153097
153112
  events: props.events ? [...props.events] : props.events,
153098
153113
  showVenue: props.showVenue,
153099
153114
  showMap: props.showMap,
@@ -153109,10 +153124,11 @@ function toEventDetailsClientProps(props) {
153109
153124
  nowIso: props.nowIso
153110
153125
  };
153111
153126
  }
153112
- function EventDetailsClient({ occurrenceContext, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
153127
+ function EventDetailsClient({ occurrenceContext, subject, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
153113
153128
  const selection = selectEventDetails({
153114
153129
  events: events ?? null,
153115
153130
  occurrenceContext: occurrenceContext ?? null,
153131
+ subject,
153116
153132
  nowIso: nowIso ?? (/* @__PURE__ */ new Date()).toISOString(),
153117
153133
  otherDatesLimit
153118
153134
  });
@@ -159931,7 +159947,7 @@ var SimpleCache = class {
159931
159947
  * 1. This constant
159932
159948
  * 2. The "version" field in package.json
159933
159949
  */
159934
- const SDK_VERSION = "0.124.0";
159950
+ const SDK_VERSION = "0.125.0";
159935
159951
  //#endregion
159936
159952
  //#region src/client/error.ts
159937
159953
  let _Symbol$for;
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { At as formatBookingTime, Dt as formatBookingDate, Ft as toBookingTimeZone, Gt as assertNever, It as toScheduledBookingDateTime, Lt as parseEventPageSurfaceSubject, X as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
3
- import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-BYWN_ATa.mjs";
2
+ import { At as formatBookingTime, Dt as formatBookingDate, Ft as toBookingTimeZone, Gt as assertNever, It as toScheduledBookingDateTime, Lt as parseEventPageSurfaceSubject, X as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
3
+ import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-C01J3Epx.mjs";
4
4
  import { n as useBlockApi, t as BlockApiProvider } from "./context-CJz1Vlsz.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
- import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-I-92-x2V.mjs";
7
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DxvjKvck.mjs";
8
- import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-CTcGf8Be.mjs";
6
+ import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-Bcyh4508.mjs";
7
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CyPpekBp.mjs";
8
+ import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-DE8EvHIp.mjs";
9
9
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
10
10
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
11
11
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-Ct8Mxna3.mjs";
12
12
  import { t as scrollToBlock } from "./scrollToBlock-C86BYkyV.mjs";
13
- import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-BzyRJ8VF.mjs";
13
+ import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-DDLIfiq9.mjs";
14
14
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
15
15
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
16
16
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { t as clsx } from "./clsx-DgIEfj3H.mjs";
3
- import { E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, G as getLocalDateKey, I as formatTime, K as getLocalMinuteOfDay, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, W as getEventAvailabilityStatus, X as themeButtonClassName, t as defineIslandPropsDecoder, w as buildEventCalendarListingRender, z as groupEventsByDate } from "./propsDecoder-DeunRj6m.mjs";
4
- import { o as EventFilters, t as useEventFilters } from "./useEventFilters-DlcVluZh.mjs";
5
- import { a as CalendarDayCell, c as useCalendarEvents, d as getOrderedDayNames, f as getWeekCalendarDayTuple, h as isToday, i as WeekAgendaView, l as MONTH_NAMES, m as isSameLocalDay, o as EventModalProvider, p as getWeekCalendarDays, r as EventModals, s as useEventModal, t as EventCombinedClient, u as formatDateKey } from "./EventCombined.client-BydMGc4c.mjs";
3
+ import { E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, G as getLocalDateKey, I as formatTime, K as getLocalMinuteOfDay, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, W as getEventAvailabilityStatus, X as themeButtonClassName, t as defineIslandPropsDecoder, w as buildEventCalendarListingRender, z as groupEventsByDate } from "./propsDecoder-CIR5DQ1l.mjs";
4
+ import { o as EventFilters, t as useEventFilters } from "./useEventFilters-C8OOJ3el.mjs";
5
+ import { a as CalendarDayCell, c as useCalendarEvents, d as getOrderedDayNames, f as getWeekCalendarDayTuple, h as isToday, i as WeekAgendaView, l as MONTH_NAMES, m as isSameLocalDay, o as EventModalProvider, p as getWeekCalendarDays, r as EventModals, s as useEventModal, t as EventCombinedClient, u as formatDateKey } from "./EventCombined.client-zywit-60.mjs";
6
6
  import { t as BlockApiProvider } from "./context-CJz1Vlsz.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
8
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
9
- import { n as EventListingController } from "./EventListing.client-vpzhhysN.mjs";
9
+ import { n as EventListingController } from "./EventListing.client-J2nLhkKT.mjs";
10
10
  import { useEffect, useId, useMemo, useState } from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  //#region ../calendar/src/lane-packing.ts
@@ -1,5 +1,5 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DeunRj6m.mjs";
2
- import { n as EventCombinedIslandClient } from "./EventCombined.client-BydMGc4c.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIR5DQ1l.mjs";
2
+ import { n as EventCombinedIslandClient } from "./EventCombined.client-zywit-60.mjs";
3
3
  import { t as BlockApiProvider } from "./context-CJz1Vlsz.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
5
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
@@ -1,8 +1,8 @@
1
- import { Ft as toBookingTimeZone, H as resolveRuntimeEventPricing, It as toScheduledBookingDateTime, M as formatEventDateParts, Mt as getBookingLocalDateKey, N as formatEventPrice, V as resolveEventLinkProps, Vt as publicEventPricingType, Wt as formatCurrencyAmount, t as defineIslandPropsDecoder, zt as publicEventPricingCurrency } from "./propsDecoder-DeunRj6m.mjs";
2
- import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-BYWN_ATa.mjs";
1
+ import { Ft as toBookingTimeZone, H as resolveRuntimeEventPricing, It as toScheduledBookingDateTime, M as formatEventDateParts, Mt as getBookingLocalDateKey, N as formatEventPrice, V as resolveEventLinkProps, Vt as publicEventPricingType, Wt as formatCurrencyAmount, Y as resolveEventRegistrationScopedEvents, t as defineIslandPropsDecoder, zt as publicEventPricingCurrency } from "./propsDecoder-CIR5DQ1l.mjs";
2
+ import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-C01J3Epx.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
4
  import { n as filterPassesForEvent, t as filterMembershipsForEvent } from "./eventProductEligibility-AVxyCB1u.mjs";
5
- import { t as LeafletStaticMap } from "./LeafletStaticMap-CB07rpf8.mjs";
5
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-CSubXWt6.mjs";
6
6
  import "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region ../blocks/src/system/runtime/nodes/event-details/logic.ts
@@ -28,7 +28,10 @@ function uniqByOccurrenceId(events) {
28
28
  return out;
29
29
  }
30
30
  function selectEventDetails(args) {
31
- const all = uniqByOccurrenceId((args.events ?? []).filter(Boolean));
31
+ const all = uniqByOccurrenceId(resolveEventRegistrationScopedEvents((args.events ?? []).filter(Boolean), {
32
+ occurrenceContext: args.occurrenceContext,
33
+ subject: args.subject
34
+ }));
32
35
  const occurrenceContext = args.occurrenceContext ?? null;
33
36
  const otherLimit = parseLimit(args.otherDatesLimit, 5);
34
37
  const selectedFromContext = (() => {
@@ -320,6 +323,7 @@ function EventDetailsView({ selection, showVenue, showMap, showOtherDates, showC
320
323
  function toEventDetailsClientProps(props) {
321
324
  return {
322
325
  occurrenceContext: props.occurrenceContext,
326
+ subject: props.subject,
323
327
  events: props.events ? [...props.events] : props.events,
324
328
  showVenue: props.showVenue,
325
329
  showMap: props.showMap,
@@ -335,10 +339,11 @@ function toEventDetailsClientProps(props) {
335
339
  nowIso: props.nowIso
336
340
  };
337
341
  }
338
- function EventDetailsClient({ occurrenceContext, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
342
+ function EventDetailsClient({ occurrenceContext, subject, events, showVenue = true, showMap = true, showOtherDates = true, otherDatesLimit, showCost = true, showAcceptedPasses = true, showAcceptedMemberships = true, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children }) {
339
343
  const selection = selectEventDetails({
340
344
  events: events ?? null,
341
345
  occurrenceContext: occurrenceContext ?? null,
346
+ subject,
342
347
  nowIso: nowIso ?? (/* @__PURE__ */ new Date()).toISOString(),
343
348
  otherDatesLimit
344
349
  });