@riverbankcms/sdk 0.60.0 → 0.60.1

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 (86) hide show
  1. package/README.md +20 -3
  2. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -3
  3. package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
  4. package/dist/_dts/api/src/endpoints.d.ts +1 -1
  5. package/dist/_dts/billing/src/plans/types.d.ts +27 -0
  6. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -0
  7. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +173 -2
  8. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -2
  9. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -0
  10. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.client.d.ts +1 -0
  11. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +2 -0
  12. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  13. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  14. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  15. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -0
  16. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  17. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +16 -0
  18. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +2 -0
  19. package/dist/_dts/content-editor/src/index.d.ts +2 -2
  20. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +9 -0
  21. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -0
  22. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -0
  23. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  24. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +4 -0
  25. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -5
  26. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +7 -5
  27. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
  28. package/dist/_dts/editor-blocks/src/block-editor/reorderControlMode.d.ts +3 -0
  29. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +4 -0
  30. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +14 -0
  31. package/dist/_dts/media-react/src/index.d.ts +1 -1
  32. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  33. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +11 -28
  34. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +1 -1
  35. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +12 -0
  36. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +41 -0
  37. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +15 -0
  38. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +106 -0
  39. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +34 -0
  40. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +2 -1
  41. package/dist/_dts/preview-next/src/client/preview/useOnboardingConfirmationCheck.d.ts +4 -9
  42. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  43. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  44. package/dist/_dts/preview-next/src/onboarding-preview-planner.d.ts +89 -0
  45. package/dist/_dts/preview-next/src/route-contract.d.ts +37 -0
  46. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +7 -76
  47. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +9 -0
  48. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +78 -0
  49. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +5 -5
  50. package/dist/_dts/sdk/src/rendering/server.d.ts +2 -2
  51. package/dist/_dts/sdk/src/version.d.ts +1 -1
  52. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  53. package/dist/_dts/theme-core/src/index.d.ts +17 -16
  54. package/dist/_dts/theme-core/src/responsiveDisplay.d.ts +23 -0
  55. package/dist/_dts/theme-core/src/responsiveMode.d.ts +21 -0
  56. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  57. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorErrors.d.ts +1 -0
  58. package/dist/_dts/ui/src/command-multi-select.d.ts +2 -2
  59. package/dist/cli/index.mjs +120 -40
  60. package/dist/client/bookings.mjs +27 -0
  61. package/dist/client/client.mjs +889 -497
  62. package/dist/client/hooks.mjs +61 -21
  63. package/dist/client/rendering/client.mjs +319 -128
  64. package/dist/client/rendering/islands.mjs +122 -44
  65. package/dist/client/rendering.mjs +959 -486
  66. package/dist/preview-next/before-render.mjs +5525 -0
  67. package/dist/preview-next/client/runtime.mjs +104162 -102561
  68. package/dist/preview-next/constants.mjs +0 -2
  69. package/dist/preview-next/index.mjs +0 -2
  70. package/dist/preview-next/middleware.mjs +5535 -1
  71. package/dist/server/components.mjs +7880 -7522
  72. package/dist/server/config-validation.mjs +61 -21
  73. package/dist/server/config.mjs +61 -21
  74. package/dist/server/data.mjs +61 -21
  75. package/dist/server/index.mjs +2 -2
  76. package/dist/server/next.mjs +783 -429
  77. package/dist/server/page-converter.mjs +60 -20
  78. package/dist/server/prebuild.mjs +1 -1
  79. package/dist/server/rendering/server.mjs +2461 -837
  80. package/dist/server/rendering.mjs +9276 -8840
  81. package/dist/server/routing.mjs +102 -39
  82. package/dist/server/server.mjs +62 -22
  83. package/dist/server/theme-bridge.mjs +639 -358
  84. package/dist/styles/index.css +343 -299
  85. package/package.json +1 -1
  86. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +0 -21
@@ -5834,6 +5834,13 @@ var init_accordion_server = __esm({
5834
5834
  }
5835
5835
  });
5836
5836
 
5837
+ // ../theme-core/src/responsiveDisplay.ts
5838
+ var init_responsiveDisplay = __esm({
5839
+ "../theme-core/src/responsiveDisplay.ts"() {
5840
+ "use strict";
5841
+ }
5842
+ });
5843
+
5837
5844
  // ../blocks/src/system/runtime/header/shared.ts
5838
5845
  function splitPositioningClasses(className) {
5839
5846
  if (!className) return { wrapperClasses: "", sectionClasses: "" };
@@ -5856,6 +5863,7 @@ var POSITIONING_CLASSES;
5856
5863
  var init_shared = __esm({
5857
5864
  "../blocks/src/system/runtime/header/shared.ts"() {
5858
5865
  "use strict";
5866
+ init_responsiveDisplay();
5859
5867
  POSITIONING_CLASSES = [
5860
5868
  "rb-sticky",
5861
5869
  "rb-fixed",
@@ -7313,6 +7321,23 @@ var init_shared2 = __esm({
7313
7321
  }
7314
7322
  });
7315
7323
 
7324
+ // ../blocks/src/system/runtime/nodes/events/shared/eventCapacity.ts
7325
+ function getEventAvailability(event) {
7326
+ if (event.capacity == null) {
7327
+ return { available: null, isFull: false };
7328
+ }
7329
+ const available = event.availableSpots ?? event.capacity - event.registeredCount;
7330
+ if (available <= 0) {
7331
+ return { available: 0, isFull: true };
7332
+ }
7333
+ return { available, isFull: false };
7334
+ }
7335
+ var init_eventCapacity = __esm({
7336
+ "../blocks/src/system/runtime/nodes/events/shared/eventCapacity.ts"() {
7337
+ "use strict";
7338
+ }
7339
+ });
7340
+
7316
7341
  // ../blocks/src/system/runtime/nodes/events/shared/utils.ts
7317
7342
  function getContainerClass(layout, columns) {
7318
7343
  if (layout === "compact") {
@@ -7537,7 +7562,7 @@ function formatEventPrice(event) {
7537
7562
  }
7538
7563
  }
7539
7564
  function resolveEventCta(event, buttonText) {
7540
- const isSoldOut = event.capacity !== null && event.availableSpots === 0;
7565
+ const { isFull: isSoldOut } = getEventAvailability(event);
7541
7566
  const defaultButtonText = event.kind === "course_session" ? "View course" : "View event";
7542
7567
  const effectiveButtonText = buttonText ?? defaultButtonText;
7543
7568
  if (isSoldOut) {
@@ -7553,6 +7578,7 @@ var init_utils = __esm({
7553
7578
  "use strict";
7554
7579
  init_src();
7555
7580
  init_shared2();
7581
+ init_eventCapacity();
7556
7582
  COLUMN_CLASSES = {
7557
7583
  "2": "rb-sm-grid-cols-2",
7558
7584
  "3": "rb-sm-grid-cols-2 rb-lg-grid-cols-3",
@@ -8624,6 +8650,7 @@ var init_EventCard = __esm({
8624
8650
  init_media();
8625
8651
  init_media_server();
8626
8652
  init_EventCardIcons();
8653
+ init_eventCapacity();
8627
8654
  init_utils();
8628
8655
  EventCard = ({
8629
8656
  event,
@@ -8648,7 +8675,7 @@ var init_EventCard = __esm({
8648
8675
  )}`;
8649
8676
  const cta = resolveEventCta(event, buttonText);
8650
8677
  const isSoldOut = cta.hidden;
8651
- const spotsLeft = event.availableSpots;
8678
+ const { available: spotsLeft } = getEventAvailability(event);
8652
8679
  const cardClass = `card-${cardVariant}`;
8653
8680
  const buttonClass = `${buttonVariant} button-${buttonVariant}`;
8654
8681
  const title = event.title;
@@ -17490,6 +17517,21 @@ var init_event_calendar = __esm({
17490
17517
  visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
17491
17518
  }
17492
17519
  },
17520
+ {
17521
+ id: "showCapacity",
17522
+ type: "boolean",
17523
+ label: "Show available spots",
17524
+ description: "Display remaining capacity on event cards and timetable cells",
17525
+ required: false,
17526
+ defaultValue: true,
17527
+ ui: {
17528
+ intent: "display",
17529
+ visibleWhen: {
17530
+ field: "displayMode",
17531
+ oneOf: ["combined", "list", "week", "timetable"]
17532
+ }
17533
+ }
17534
+ },
17493
17535
  // Block-level pre-filtering
17494
17536
  {
17495
17537
  id: "eventSurface",
@@ -17681,6 +17723,9 @@ var init_event_calendar = __esm({
17681
17723
  showStaffFilter: {
17682
17724
  $bind: { from: "content.showStaffFilter", fallback: true }
17683
17725
  },
17726
+ showCapacity: {
17727
+ $bind: { from: "content.showCapacity", fallback: true }
17728
+ },
17684
17729
  kind: { $bind: { from: "content.kind", fallback: "all" } },
17685
17730
  eventSurface: {
17686
17731
  $bind: { from: "content.eventSurface", fallback: "all" }
@@ -19525,21 +19570,26 @@ function buildTimetableModel(input) {
19525
19570
  for (const [dateKey, dayDrafts] of groupDraftsByDate(drafts)) {
19526
19571
  cellsByDate.set(
19527
19572
  dateKey,
19528
- assignTimetableLanes(dayDrafts).map((draft) => ({
19529
- event: draft.event,
19530
- startsAtMinutes: draft.startsAtMinutes,
19531
- endsAtMinutes: draft.endsAtMinutes,
19532
- topPercent: toRangePercent(draft.startsAtMinutes - rangeStartMinutes, rangeMinutes),
19533
- heightPercent: Math.max(
19534
- MIN_EVENT_HEIGHT_PERCENT,
19535
- toRangePercent(draft.endsAtMinutes - draft.startsAtMinutes, rangeMinutes)
19536
- ),
19537
- laneIndex: draft.laneIndex,
19538
- laneCount: draft.laneCount,
19539
- categoryColor: draft.event.eventCategory?.color || "rgb(var(--tb-accent))",
19540
- timeLabel: formatEventTimeRange(draft.event),
19541
- teacherLine: formatEventTeacherLine(draft.event)
19542
- }))
19573
+ assignTimetableLanes(dayDrafts).map((draft) => {
19574
+ const capacity = formatTimetableCapacity(draft.event);
19575
+ return {
19576
+ event: draft.event,
19577
+ startsAtMinutes: draft.startsAtMinutes,
19578
+ endsAtMinutes: draft.endsAtMinutes,
19579
+ topPercent: toRangePercent(draft.startsAtMinutes - rangeStartMinutes, rangeMinutes),
19580
+ heightPercent: Math.max(
19581
+ MIN_EVENT_HEIGHT_PERCENT,
19582
+ toRangePercent(draft.endsAtMinutes - draft.startsAtMinutes, rangeMinutes)
19583
+ ),
19584
+ laneIndex: draft.laneIndex,
19585
+ laneCount: draft.laneCount,
19586
+ categoryColor: draft.event.eventCategory?.color || "rgb(var(--tb-accent))",
19587
+ timeLabel: formatEventTimeRange(draft.event),
19588
+ teacherLine: formatEventTeacherLine(draft.event),
19589
+ capacityLabel: capacity.label,
19590
+ isFull: capacity.isFull
19591
+ };
19592
+ })
19543
19593
  );
19544
19594
  }
19545
19595
  return {
@@ -19672,6 +19722,12 @@ function formatShortDayLabel(date) {
19672
19722
  const dayName = FULL_DAY_NAMES[date.getDay()] ?? "";
19673
19723
  return `${dayName.slice(0, 3)} ${date.getDate()}`;
19674
19724
  }
19725
+ function formatTimetableCapacity(event) {
19726
+ const { available, isFull } = getEventAvailability(event);
19727
+ if (available == null) return { label: null, isFull: false };
19728
+ if (isFull) return { label: "Full", isFull: true };
19729
+ return { label: `${available} spots left`, isFull: false };
19730
+ }
19675
19731
  function formatEventTimeRange(event) {
19676
19732
  const timeZone = event.timeZone ?? null;
19677
19733
  return `${formatTime(event.startsAt, { timeZone })} - ${formatTime(event.endsAt, { timeZone })}`;
@@ -19684,6 +19740,7 @@ var init_timetableModel = __esm({
19684
19740
  "../blocks/src/system/runtime/nodes/events/shared/timetableModel.ts"() {
19685
19741
  "use strict";
19686
19742
  init_src();
19743
+ init_eventCapacity();
19687
19744
  init_utils();
19688
19745
  DEFAULT_START_HOUR = 6;
19689
19746
  DEFAULT_END_HOUR = 21;
@@ -19942,7 +19999,17 @@ function renderTimetableSsr(display) {
19942
19999
  /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
19943
20000
  /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-title", children: cell.event.title }),
19944
20001
  cell.teacherLine ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
19945
- cell.event.venue ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null
20002
+ cell.event.venue ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
20003
+ display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx43(
20004
+ "span",
20005
+ {
20006
+ className: clsx_default(
20007
+ "event-timetable-event-capacity",
20008
+ cell.isFull && "event-timetable-event-capacity--full"
20009
+ ),
20010
+ children: cell.capacityLabel
20011
+ }
20012
+ ) : null
19946
20013
  ]
19947
20014
  },
19948
20015
  cell.event.occurrenceId || cell.event.id
@@ -20522,7 +20589,7 @@ function buildServerRegistryFromEntries(entries) {
20522
20589
  Object.entries(entries).map(([kind, entry]) => [kind, entry.server])
20523
20590
  );
20524
20591
  }
20525
- var runtimeBackedBlockServerEntries, runtimeBackedBlockKinds, runtimeBackedBlockServerRegistry;
20592
+ var runtimeBackedBlockServerEntries, runtimeBackedBlockModes, runtimeBackedBlockKinds, runtimeBackedBlockServerRegistry;
20526
20593
  var init_runtime_backed_blocks = __esm({
20527
20594
  "../blocks/src/system/runtime/components/runtime-backed-blocks.ts"() {
20528
20595
  "use strict";
@@ -20600,6 +20667,20 @@ var init_runtime_backed_blocks = __esm({
20600
20667
  shop_server_default
20601
20668
  )
20602
20669
  };
20670
+ runtimeBackedBlockModes = {
20671
+ form: "form",
20672
+ "event-listing": "event-listing",
20673
+ "event-calendar": "event-calendar",
20674
+ "newsletter-form": "newsletter-form",
20675
+ "product-list": "product-list",
20676
+ "product-detail": "product-detail",
20677
+ cart: "cart",
20678
+ checkout: "checkout",
20679
+ "course-registration": "course-registration",
20680
+ gifting: "gifting",
20681
+ "event-registration": "event-registration",
20682
+ shop: "passes-memberships"
20683
+ };
20603
20684
  runtimeBackedBlockKinds = typedObjectKeys(runtimeBackedBlockServerEntries);
20604
20685
  runtimeBackedBlockServerRegistry = buildServerRegistryFromEntries(runtimeBackedBlockServerEntries);
20605
20686
  }
@@ -27009,6 +27090,9 @@ function appendRebookFlag(url, enabled) {
27009
27090
  );
27010
27091
  return nextUrl.toString();
27011
27092
  }
27093
+ function buildBookingFormNodeClientProps(props2) {
27094
+ return buildBookingFormInteractiveIslandProps(props2);
27095
+ }
27012
27096
  var PORTAL_REBOOK_QUERY_PARAM, PORTAL_REBOOK_QUERY_VALUE, REBOOK_COMPLETION_MODE_VERIFIED_CHECKOUT, REBOOK_COMPLETION_MODE_BYPASSED, BookingFormClient, BookingFormNodeClient;
27013
27097
  var init_booking_form_client = __esm({
27014
27098
  "../blocks/src/system/runtime/nodes/booking-form.client.tsx"() {
@@ -27269,7 +27353,7 @@ var init_booking_form_client = __esm({
27269
27353
  ) })
27270
27354
  ] });
27271
27355
  };
27272
- BookingFormNodeClient = (props2) => /* @__PURE__ */ jsx74(BookingFormClient, { ...buildBookingFormInteractiveIslandProps(props2) });
27356
+ BookingFormNodeClient = (props2) => /* @__PURE__ */ jsx74(BookingFormClient, { ...buildBookingFormNodeClientProps(props2) });
27273
27357
  }
27274
27358
  });
27275
27359
 
@@ -39601,30 +39685,22 @@ var init_CalendarDayCell = __esm({
39601
39685
 
39602
39686
  // ../blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.tsx
39603
39687
  import { Fragment as Fragment24, jsx as jsx140, jsxs as jsxs94 } from "react/jsx-runtime";
39604
- function formatCapacity(event) {
39605
- if (event.capacity == null) {
39606
- return null;
39607
- }
39608
- const available = event.availableSpots ?? event.capacity - event.registeredCount;
39609
- if (available <= 0) {
39610
- return "Full";
39611
- }
39612
- return `${available} spots left`;
39613
- }
39614
39688
  var AgendaEventCard;
39615
39689
  var init_AgendaEventCard = __esm({
39616
39690
  "../blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.tsx"() {
39617
39691
  "use strict";
39692
+ init_eventCapacity();
39618
39693
  init_utils();
39619
39694
  AgendaEventCard = ({
39620
39695
  event,
39696
+ showCapacity,
39621
39697
  onClick
39622
39698
  }) => {
39623
39699
  const eventUrl = event.path;
39624
39700
  const categoryColor = event.eventCategory?.color || "rgb(var(--tb-accent))";
39625
39701
  const price = formatEventPrice(event);
39626
- const capacity = formatCapacity(event);
39627
- const isFull = capacity === "Full";
39702
+ const { available, isFull } = getEventAvailability(event);
39703
+ const capacity = showCapacity && available != null ? isFull ? "Full" : `${available} spots left` : null;
39628
39704
  const title = event.title;
39629
39705
  const timeZone = event.timeZone ?? null;
39630
39706
  const teacherLine = formatEventTeacherLine(event);
@@ -39704,6 +39780,7 @@ var init_WeekAgendaView = __esm({
39704
39780
  viewDate,
39705
39781
  events,
39706
39782
  startOfWeek,
39783
+ showCapacity,
39707
39784
  emptyMessage = "No events scheduled"
39708
39785
  }) => {
39709
39786
  const weekDays = getWeekCalendarDays(viewDate, startOfWeek);
@@ -39724,7 +39801,8 @@ var init_WeekAgendaView = __esm({
39724
39801
  /* @__PURE__ */ jsx141("div", { className: "event-agenda-day-content", children: dayEvents.length === 0 ? /* @__PURE__ */ jsx141("p", { className: "event-agenda-day-empty", children: emptyMessage }) : /* @__PURE__ */ jsx141("div", { className: "event-agenda-day-events", children: dayEvents.map((event) => /* @__PURE__ */ jsx141(
39725
39802
  AgendaEventCard,
39726
39803
  {
39727
- event
39804
+ event,
39805
+ showCapacity
39728
39806
  },
39729
39807
  event.occurrenceId || event.id
39730
39808
  )) }) })
@@ -39741,6 +39819,7 @@ var init_WeekAgendaView = __esm({
39741
39819
  import { jsx as jsx142 } from "react/jsx-runtime";
39742
39820
  function EventDetailModal({
39743
39821
  event,
39822
+ showCapacity,
39744
39823
  onClose,
39745
39824
  cardVariant = "default",
39746
39825
  buttonVariant = "primary",
@@ -39781,7 +39860,7 @@ function EventDetailModal({
39781
39860
  showVenue: true,
39782
39861
  showMap,
39783
39862
  allowMap: true,
39784
- showCapacity: true
39863
+ showCapacity
39785
39864
  }
39786
39865
  ) })
39787
39866
  }
@@ -39801,6 +39880,7 @@ import { jsx as jsx143, jsxs as jsxs96 } from "react/jsx-runtime";
39801
39880
  function DayEventsModal({
39802
39881
  date,
39803
39882
  events,
39883
+ showCapacity,
39804
39884
  onClose,
39805
39885
  onSelectEvent
39806
39886
  }) {
@@ -39837,7 +39917,8 @@ function DayEventsModal({
39837
39917
  AgendaEventCard,
39838
39918
  {
39839
39919
  event,
39840
- onClick: onSelectEvent
39920
+ onClick: onSelectEvent,
39921
+ showCapacity
39841
39922
  },
39842
39923
  event.occurrenceId || event.id
39843
39924
  )) })
@@ -39858,6 +39939,7 @@ var init_DayEventsModal = __esm({
39858
39939
  // ../blocks/src/system/runtime/nodes/events/shared/EventModals.tsx
39859
39940
  import { jsx as jsx144 } from "react/jsx-runtime";
39860
39941
  function EventModals({
39942
+ showCapacity,
39861
39943
  cardVariant,
39862
39944
  buttonVariant,
39863
39945
  buttonText
@@ -39874,7 +39956,8 @@ function EventModals({
39874
39956
  onClose: closeModal,
39875
39957
  cardVariant,
39876
39958
  buttonVariant,
39877
- buttonText
39959
+ buttonText,
39960
+ showCapacity
39878
39961
  }
39879
39962
  );
39880
39963
  }
@@ -39887,7 +39970,8 @@ function EventModals({
39887
39970
  onClose: closeModal,
39888
39971
  onSelectEvent: (event) => {
39889
39972
  openEventModal(event);
39890
- }
39973
+ },
39974
+ showCapacity
39891
39975
  }
39892
39976
  );
39893
39977
  }
@@ -40290,7 +40374,8 @@ var init_EventCombined_client = __esm({
40290
40374
  viewDate,
40291
40375
  events: calendarEventsRaw,
40292
40376
  startOfWeek,
40293
- emptyMessage: "No events scheduled"
40377
+ emptyMessage: "No events scheduled",
40378
+ showCapacity: resolvedShowCapacity
40294
40379
  }
40295
40380
  ) : /* @__PURE__ */ jsxs97("div", { className: "event-calendar-container", children: [
40296
40381
  /* @__PURE__ */ jsx145("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx145("div", { className: "event-calendar-day-header", children: day }, day)) }),
@@ -40310,7 +40395,14 @@ var init_EventCombined_client = __esm({
40310
40395
  ] }),
40311
40396
  calendarEventsRaw.length === 0 && !calendarLoading && /* @__PURE__ */ jsx145("p", { className: "event-calendar-empty", children: emptyMessage })
40312
40397
  ] }),
40313
- /* @__PURE__ */ jsx145(EventModals, { buttonVariant, buttonText })
40398
+ /* @__PURE__ */ jsx145(
40399
+ EventModals,
40400
+ {
40401
+ buttonVariant,
40402
+ buttonText,
40403
+ showCapacity: resolvedShowCapacity
40404
+ }
40405
+ )
40314
40406
  ] })
40315
40407
  ]
40316
40408
  }
@@ -40345,6 +40437,7 @@ var init_WeekTimetableView = __esm({
40345
40437
  viewDate,
40346
40438
  events,
40347
40439
  startOfWeek,
40440
+ showCapacity,
40348
40441
  emptyMessage = "No classes scheduled"
40349
40442
  }) => {
40350
40443
  const { openEventModal } = useEventModal();
@@ -40377,7 +40470,8 @@ var init_WeekTimetableView = __esm({
40377
40470
  hours: model.hourTicks,
40378
40471
  rangeMinutes: model.rangeMinutes,
40379
40472
  selected: day.dateKey === selectedDayKey,
40380
- onEventClick: openEventModal
40473
+ onEventClick: openEventModal,
40474
+ showCapacity
40381
40475
  },
40382
40476
  day.dateKey
40383
40477
  ))
@@ -40397,7 +40491,7 @@ var init_WeekTimetableView = __esm({
40397
40491
  hour
40398
40492
  )) })
40399
40493
  ] });
40400
- TimetableDayColumn = ({ day, hours, rangeMinutes, selected, onEventClick }) => /* @__PURE__ */ jsxs98(
40494
+ TimetableDayColumn = ({ day, hours, rangeMinutes, selected, onEventClick, showCapacity }) => /* @__PURE__ */ jsxs98(
40401
40495
  "section",
40402
40496
  {
40403
40497
  className: `event-timetable-day ${day.isToday ? "event-timetable-day--today" : ""}`,
@@ -40426,7 +40520,8 @@ var init_WeekTimetableView = __esm({
40426
40520
  TimetableEventButton,
40427
40521
  {
40428
40522
  cell,
40429
- onClick: onEventClick
40523
+ onClick: onEventClick,
40524
+ showCapacity
40430
40525
  },
40431
40526
  cell.event.occurrenceId || cell.event.id
40432
40527
  ))
@@ -40436,7 +40531,7 @@ var init_WeekTimetableView = __esm({
40436
40531
  ]
40437
40532
  }
40438
40533
  );
40439
- TimetableEventButton = ({ cell, onClick }) => /* @__PURE__ */ jsxs98(
40534
+ TimetableEventButton = ({ cell, onClick, showCapacity }) => /* @__PURE__ */ jsxs98(
40440
40535
  "button",
40441
40536
  {
40442
40537
  type: "button",
@@ -40454,7 +40549,14 @@ var init_WeekTimetableView = __esm({
40454
40549
  /* @__PURE__ */ jsx146("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
40455
40550
  /* @__PURE__ */ jsx146("span", { className: "event-timetable-event-title", children: cell.event.title }),
40456
40551
  cell.teacherLine ? /* @__PURE__ */ jsx146("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
40457
- cell.event.venue ? /* @__PURE__ */ jsx146("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null
40552
+ cell.event.venue ? /* @__PURE__ */ jsx146("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
40553
+ showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx146(
40554
+ "span",
40555
+ {
40556
+ className: cell.isFull ? "event-timetable-event-capacity event-timetable-event-capacity--full" : "event-timetable-event-capacity",
40557
+ children: cell.capacityLabel
40558
+ }
40559
+ ) : null
40458
40560
  ]
40459
40561
  }
40460
40562
  );
@@ -40676,7 +40778,8 @@ var init_EventCalendar_client = __esm({
40676
40778
  viewDate,
40677
40779
  events,
40678
40780
  startOfWeek: display.startOfWeek,
40679
- emptyMessage: display.emptyMessage
40781
+ emptyMessage: display.emptyMessage,
40782
+ showCapacity: display.showCapacity
40680
40783
  }
40681
40784
  )
40682
40785
  }
@@ -40685,7 +40788,8 @@ var init_EventCalendar_client = __esm({
40685
40788
  EventModals,
40686
40789
  {
40687
40790
  buttonVariant: display.buttonVariant,
40688
- buttonText: display.buttonText
40791
+ buttonText: display.buttonText,
40792
+ showCapacity: display.showCapacity
40689
40793
  }
40690
40794
  )
40691
40795
  ] });
@@ -40767,7 +40871,8 @@ var init_EventCalendar_client = __esm({
40767
40871
  EventModals,
40768
40872
  {
40769
40873
  buttonVariant: display.buttonVariant,
40770
- buttonText: display.buttonText
40874
+ buttonText: display.buttonText,
40875
+ showCapacity: display.showCapacity
40771
40876
  }
40772
40877
  )
40773
40878
  ] });
@@ -41351,52 +41456,109 @@ var init_newsletter_form_client = __esm({
41351
41456
  });
41352
41457
 
41353
41458
  // ../blocks/src/system/runtime/components/registry.client.tsx
41354
- import { jsx as jsx152 } from "react/jsx-runtime";
41459
+ import React52 from "react";
41355
41460
  function isRecord4(value) {
41356
41461
  return typeof value === "object" && value !== null;
41357
41462
  }
41358
- function buildRenderFromLooseProps(runtime, props2) {
41359
- return runtime.buildRender(props2);
41463
+ function buildRenderFromLooseProps(runtime, mode, props2) {
41464
+ return {
41465
+ ...runtime.buildRender(props2),
41466
+ mode
41467
+ };
41468
+ }
41469
+ function withRuntimeBackedEnvelope(source, runtime, render) {
41470
+ return {
41471
+ ...source,
41472
+ renderKind: runtime.kind,
41473
+ render
41474
+ };
41360
41475
  }
41361
- function normalizeLegacyInteractiveRenderProps(runtime, props2) {
41476
+ function normalizeLegacyInteractiveRenderProps(runtime, mode, props2) {
41477
+ const source = props2;
41362
41478
  const render = props2["render"];
41363
41479
  if (!isRecord4(render)) {
41364
- return {
41365
- ...props2,
41366
- render: buildRenderFromLooseProps(runtime, props2)
41367
- };
41480
+ return withRuntimeBackedEnvelope(
41481
+ source,
41482
+ runtime,
41483
+ buildRenderFromLooseProps(runtime, mode, props2)
41484
+ );
41368
41485
  }
41369
41486
  if (isRecord4(render["hydration"])) {
41370
- return props2;
41487
+ return withRuntimeBackedEnvelope(
41488
+ source,
41489
+ runtime,
41490
+ {
41491
+ ...render,
41492
+ mode
41493
+ }
41494
+ );
41371
41495
  }
41372
41496
  if (!isRecord4(render["display"])) {
41373
- return {
41374
- ...props2,
41375
- render: buildRenderFromLooseProps(runtime, props2)
41376
- };
41497
+ return withRuntimeBackedEnvelope(
41498
+ source,
41499
+ runtime,
41500
+ buildRenderFromLooseProps(runtime, mode, props2)
41501
+ );
41377
41502
  }
41378
- const { display, mode, ...legacyHydration } = render;
41379
- return {
41380
- ...props2,
41381
- render: {
41382
- ...mode === void 0 ? {} : { mode },
41503
+ const { display, mode: _legacyMode, ...legacyHydration } = render;
41504
+ return withRuntimeBackedEnvelope(
41505
+ source,
41506
+ runtime,
41507
+ {
41383
41508
  display,
41384
- hydration: legacyHydration
41509
+ hydration: legacyHydration,
41510
+ mode
41385
41511
  }
41512
+ );
41513
+ }
41514
+ function defineSourcePropsClientEntry(component) {
41515
+ return {
41516
+ kind: "source-props",
41517
+ component
41518
+ };
41519
+ }
41520
+ function defineExplicitAdapterClientEntry(component, contract) {
41521
+ return {
41522
+ kind: "explicit-adapter",
41523
+ component,
41524
+ produces: contract.produces
41386
41525
  };
41387
41526
  }
41388
- function defineRuntimeBackedBlockClientEntry(serverEntry, client) {
41389
- const NormalizedClient = ((props2) => {
41527
+ function componentFromClientEntry(entry) {
41528
+ return entry.component;
41529
+ }
41530
+ function typedObjectEntries(value) {
41531
+ return Object.entries(value).map(([key, entry]) => [
41532
+ key,
41533
+ entry
41534
+ ]);
41535
+ }
41536
+ function buildClientRegistryFromEntries(serverRegistry, clientEntries, runtimeBackedRegistry) {
41537
+ return {
41538
+ ...serverRegistry,
41539
+ ...Object.fromEntries(
41540
+ typedObjectEntries(clientEntries).map(([kind, entry]) => [kind, componentFromClientEntry(entry)])
41541
+ ),
41542
+ ...runtimeBackedRegistry
41543
+ };
41544
+ }
41545
+ function defineRuntimeBackedBlockClientEntry(kind, client) {
41546
+ const serverEntry = runtimeBackedBlockServerEntries[kind];
41547
+ const mode = runtimeBackedBlockModes[kind];
41548
+ const NormalizedClient = (props2) => {
41390
41549
  const ClientComponent = client;
41391
- return /* @__PURE__ */ jsx152(ClientComponent, { ...normalizeLegacyInteractiveRenderProps(serverEntry.definition.runtime, props2) });
41392
- });
41550
+ const normalizedProps = normalizeLegacyInteractiveRenderProps(serverEntry.definition.runtime, mode, props2);
41551
+ return React52.createElement(ClientComponent, normalizedProps);
41552
+ };
41553
+ NormalizedClient.displayName = `RuntimeBackedBlockClient(${kind})`;
41393
41554
  return {
41394
41555
  definition: serverEntry.definition,
41395
41556
  renderKind: serverEntry.renderKind,
41557
+ mode,
41396
41558
  client: NormalizedClient
41397
41559
  };
41398
41560
  }
41399
- var runtimeBackedBlockClientEntries, runtimeBackedBlockClientRegistry, clientComponentRegistry;
41561
+ var runtimeBackedBlockClientEntries, runtimeBackedBlockClientRegistry, clientComponentRegistryEntries, clientComponentRegistry;
41400
41562
  var init_registry_client = __esm({
41401
41563
  "../blocks/src/system/runtime/components/registry.client.tsx"() {
41402
41564
  "use strict";
@@ -41422,18 +41584,18 @@ var init_registry_client = __esm({
41422
41584
  init_newsletter_form_client();
41423
41585
  init_runtime_backed_blocks();
41424
41586
  runtimeBackedBlockClientEntries = {
41425
- form: defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries.form, FormNodeClient),
41426
- "event-listing": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["event-listing"], EventListingClient),
41427
- "event-calendar": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["event-calendar"], EventCalendarClient),
41428
- "newsletter-form": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["newsletter-form"], newsletter_form_client_default),
41429
- "product-list": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["product-list"], ProductListClient),
41430
- "product-detail": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["product-detail"], ProductDetailClient),
41431
- cart: defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries.cart, CartClient),
41432
- checkout: defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries.checkout, CheckoutClient),
41433
- "course-registration": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["course-registration"], CourseRegistrationIslandClient),
41434
- gifting: defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries.gifting, gifting_client_default),
41435
- "event-registration": defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries["event-registration"], EventRegistrationIslandClient),
41436
- shop: defineRuntimeBackedBlockClientEntry(runtimeBackedBlockServerEntries.shop, ShopClient)
41587
+ form: defineRuntimeBackedBlockClientEntry("form", FormNodeClient),
41588
+ "event-listing": defineRuntimeBackedBlockClientEntry("event-listing", EventListingClient),
41589
+ "event-calendar": defineRuntimeBackedBlockClientEntry("event-calendar", EventCalendarClient),
41590
+ "newsletter-form": defineRuntimeBackedBlockClientEntry("newsletter-form", newsletter_form_client_default),
41591
+ "product-list": defineRuntimeBackedBlockClientEntry("product-list", ProductListClient),
41592
+ "product-detail": defineRuntimeBackedBlockClientEntry("product-detail", ProductDetailClient),
41593
+ cart: defineRuntimeBackedBlockClientEntry("cart", CartClient),
41594
+ checkout: defineRuntimeBackedBlockClientEntry("checkout", CheckoutClient),
41595
+ "course-registration": defineRuntimeBackedBlockClientEntry("course-registration", CourseRegistrationIslandClient),
41596
+ gifting: defineRuntimeBackedBlockClientEntry("gifting", gifting_client_default),
41597
+ "event-registration": defineRuntimeBackedBlockClientEntry("event-registration", EventRegistrationIslandClient),
41598
+ shop: defineRuntimeBackedBlockClientEntry("shop", ShopClient)
41437
41599
  };
41438
41600
  runtimeBackedBlockClientRegistry = {
41439
41601
  form: runtimeBackedBlockClientEntries.form.client,
@@ -41449,19 +41611,22 @@ var init_registry_client = __esm({
41449
41611
  "event-registration": runtimeBackedBlockClientEntries["event-registration"].client,
41450
41612
  shop: runtimeBackedBlockClientEntries.shop.client
41451
41613
  };
41452
- clientComponentRegistry = {
41453
- ...serverComponentRegistry,
41454
- media: MediaNode,
41455
- "booking-form": BookingFormNodeClient,
41456
- "event-details": EventDetailsIslandClient,
41457
- "location-map": LocationMapIslandClient,
41458
- carousel: CarouselNodeClient,
41459
- accordion: AccordionNode,
41460
- accordionItem: AccordionItemNode,
41461
- headerSection: header_section_client_default,
41462
- "event-combined": EventCombinedIslandClient,
41463
- ...runtimeBackedBlockClientRegistry
41464
- };
41614
+ clientComponentRegistryEntries = {
41615
+ media: defineSourcePropsClientEntry(MediaNode),
41616
+ carousel: defineSourcePropsClientEntry(CarouselNodeClient),
41617
+ accordion: defineSourcePropsClientEntry(AccordionNode),
41618
+ accordionItem: defineSourcePropsClientEntry(AccordionItemNode),
41619
+ headerSection: defineSourcePropsClientEntry(header_section_client_default),
41620
+ "booking-form": defineExplicitAdapterClientEntry(BookingFormNodeClient, { produces: "island-props" }),
41621
+ "event-details": defineExplicitAdapterClientEntry(EventDetailsIslandClient, { produces: "client-props" }),
41622
+ "location-map": defineExplicitAdapterClientEntry(LocationMapIslandClient, { produces: "client-props" }),
41623
+ "event-combined": defineExplicitAdapterClientEntry(EventCombinedIslandClient, { produces: "client-props" })
41624
+ };
41625
+ clientComponentRegistry = buildClientRegistryFromEntries(
41626
+ serverComponentRegistry,
41627
+ clientComponentRegistryEntries,
41628
+ runtimeBackedBlockClientRegistry
41629
+ );
41465
41630
  }
41466
41631
  });
41467
41632
 
@@ -42926,9 +43091,35 @@ var init_compile = __esm({
42926
43091
  });
42927
43092
 
42928
43093
  // ../theme-core/src/responsiveMode.ts
43094
+ function escapeRegExp(value) {
43095
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
43096
+ }
43097
+ function buildResponsiveScopeRulePatternSource() {
43098
+ return [
43099
+ "@scope",
43100
+ "\\(\\[",
43101
+ escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
43102
+ '="(?:viewport|container)"\\]\\)',
43103
+ "to",
43104
+ "\\((?::scope )?\\[",
43105
+ escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
43106
+ "\\]\\)",
43107
+ "\\{"
43108
+ ].join("\\s*");
43109
+ }
43110
+ var THEME_RESPONSIVE_MODE_ATTR, RESPONSIVE_SCOPE_RULE_PATTERN, RESPONSIVE_SCOPE_RULE_AT_PATTERN;
42929
43111
  var init_responsiveMode = __esm({
42930
43112
  "../theme-core/src/responsiveMode.ts"() {
42931
43113
  "use strict";
43114
+ THEME_RESPONSIVE_MODE_ATTR = "data-rb-responsive-mode";
43115
+ RESPONSIVE_SCOPE_RULE_PATTERN = new RegExp(
43116
+ buildResponsiveScopeRulePatternSource(),
43117
+ "g"
43118
+ );
43119
+ RESPONSIVE_SCOPE_RULE_AT_PATTERN = new RegExp(
43120
+ buildResponsiveScopeRulePatternSource(),
43121
+ "y"
43122
+ );
42932
43123
  }
42933
43124
  });
42934
43125
 
@@ -43006,7 +43197,7 @@ var init_containerResponsiveThemeCss = __esm({
43006
43197
  });
43007
43198
 
43008
43199
  // ../theme-core/src/ThemeScopeCore.tsx
43009
- import { jsx as jsx153, jsxs as jsxs102 } from "react/jsx-runtime";
43200
+ import { jsx as jsx152, jsxs as jsxs102 } from "react/jsx-runtime";
43010
43201
  var init_ThemeScopeCore = __esm({
43011
43202
  "../theme-core/src/ThemeScopeCore.tsx"() {
43012
43203
  "use strict";
@@ -43025,7 +43216,7 @@ var init_themeScopeUtils = __esm({
43025
43216
 
43026
43217
  // ../theme-core/src/ClientThemeScope.tsx
43027
43218
  import { useMemo as useMemo25 } from "react";
43028
- import { jsx as jsx154 } from "react/jsx-runtime";
43219
+ import { jsx as jsx153 } from "react/jsx-runtime";
43029
43220
  var init_ClientThemeScope = __esm({
43030
43221
  "../theme-core/src/ClientThemeScope.tsx"() {
43031
43222
  "use strict";
@@ -43239,7 +43430,7 @@ var carousel_exports = {};
43239
43430
  __export(carousel_exports, {
43240
43431
  enhance: () => enhance3
43241
43432
  });
43242
- import { jsx as jsx155 } from "react/jsx-runtime";
43433
+ import { jsx as jsx154 } from "react/jsx-runtime";
43243
43434
  function extractSlides(root) {
43244
43435
  const scrollContainer = root.querySelector(
43245
43436
  ".rb-overflow-x-auto, .overflow-x-auto"
@@ -43265,7 +43456,7 @@ var init_carousel = __esm({
43265
43456
  const parsedProps = normalizeCarouselProps(props2);
43266
43457
  return mountReactIsland(root, ({ root: reactRoot }) => {
43267
43458
  reactRoot.render(
43268
- /* @__PURE__ */ jsx155(
43459
+ /* @__PURE__ */ jsx154(
43269
43460
  CarouselNodeClient,
43270
43461
  {
43271
43462
  renderRoot: false,
@@ -43277,7 +43468,7 @@ var init_carousel = __esm({
43277
43468
  autoplay: parsedProps.autoplay,
43278
43469
  autoplayDelay: parsedProps.autoplayDelay,
43279
43470
  loop: parsedProps.loop,
43280
- children: extractedSlides.map((slide, index) => /* @__PURE__ */ jsx155("div", { dangerouslySetInnerHTML: { __html: slide.html } }, index))
43471
+ children: extractedSlides.map((slide, index) => /* @__PURE__ */ jsx154("div", { dangerouslySetInnerHTML: { __html: slide.html } }, index))
43281
43472
  }
43282
43473
  )
43283
43474
  );
@@ -43291,7 +43482,7 @@ var form_exports = {};
43291
43482
  __export(form_exports, {
43292
43483
  enhance: () => enhance4
43293
43484
  });
43294
- import { jsx as jsx156 } from "react/jsx-runtime";
43485
+ import { jsx as jsx155 } from "react/jsx-runtime";
43295
43486
  function snapshotFormValues(form2) {
43296
43487
  if (!form2) return [];
43297
43488
  const snapshots = [];
@@ -43366,7 +43557,7 @@ var init_form2 = __esm({
43366
43557
  const snapshots = snapshotFormValues(existingForm);
43367
43558
  return mountReactIsland(root, ({ root: reactRoot }) => {
43368
43559
  reactRoot.render(
43369
- /* @__PURE__ */ jsx156(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx156(FormNodeClient, { ...props2 }) })
43560
+ /* @__PURE__ */ jsx155(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx155(FormNodeClient, { ...props2 }) })
43370
43561
  );
43371
43562
  requestAnimationFrame(() => {
43372
43563
  const nextForm = root.querySelector("form");
@@ -43382,7 +43573,7 @@ var bookingForm_exports = {};
43382
43573
  __export(bookingForm_exports, {
43383
43574
  enhance: () => enhance5
43384
43575
  });
43385
- import { jsx as jsx157 } from "react/jsx-runtime";
43576
+ import { jsx as jsx156 } from "react/jsx-runtime";
43386
43577
  var enhance5;
43387
43578
  var init_bookingForm2 = __esm({
43388
43579
  "src/rendering/islands/enhancers/bookingForm.tsx"() {
@@ -43410,7 +43601,7 @@ var init_bookingForm2 = __esm({
43410
43601
  };
43411
43602
  return mountReactIsland(root, ({ root: reactRoot }) => {
43412
43603
  reactRoot.render(
43413
- /* @__PURE__ */ jsx157(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx157(BookingFormClient, { ...props2 }) })
43604
+ /* @__PURE__ */ jsx156(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx156(BookingFormClient, { ...props2 }) })
43414
43605
  );
43415
43606
  });
43416
43607
  };
@@ -43422,7 +43613,7 @@ var eventRegistration_exports = {};
43422
43613
  __export(eventRegistration_exports, {
43423
43614
  enhance: () => enhance6
43424
43615
  });
43425
- import { jsx as jsx158 } from "react/jsx-runtime";
43616
+ import { jsx as jsx157 } from "react/jsx-runtime";
43426
43617
  var enhance6;
43427
43618
  var init_eventRegistration = __esm({
43428
43619
  "src/rendering/islands/enhancers/eventRegistration.tsx"() {
@@ -43445,7 +43636,7 @@ var init_eventRegistration = __esm({
43445
43636
  };
43446
43637
  return mountReactIsland(root, ({ root: reactRoot }) => {
43447
43638
  reactRoot.render(
43448
- /* @__PURE__ */ jsx158(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx158(EventRegistrationIslandClient, { ...props2 }) })
43639
+ /* @__PURE__ */ jsx157(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx157(EventRegistrationIslandClient, { ...props2 }) })
43449
43640
  );
43450
43641
  });
43451
43642
  };
@@ -43457,7 +43648,7 @@ var eventDetails_exports = {};
43457
43648
  __export(eventDetails_exports, {
43458
43649
  enhance: () => enhance7
43459
43650
  });
43460
- import { jsx as jsx159 } from "react/jsx-runtime";
43651
+ import { jsx as jsx158 } from "react/jsx-runtime";
43461
43652
  var enhance7;
43462
43653
  var init_eventDetails = __esm({
43463
43654
  "src/rendering/islands/enhancers/eventDetails.tsx"() {
@@ -43466,7 +43657,7 @@ var init_eventDetails = __esm({
43466
43657
  init_reactMount();
43467
43658
  enhance7 = (root, props2) => {
43468
43659
  return mountReactIsland(root, ({ root: reactRoot }) => {
43469
- reactRoot.render(/* @__PURE__ */ jsx159(EventDetailsIslandClient, { ...props2 }));
43660
+ reactRoot.render(/* @__PURE__ */ jsx158(EventDetailsIslandClient, { ...props2 }));
43470
43661
  });
43471
43662
  };
43472
43663
  }
@@ -43477,7 +43668,7 @@ var locationMap_exports = {};
43477
43668
  __export(locationMap_exports, {
43478
43669
  enhance: () => enhance8
43479
43670
  });
43480
- import { jsx as jsx160 } from "react/jsx-runtime";
43671
+ import { jsx as jsx159 } from "react/jsx-runtime";
43481
43672
  var enhance8;
43482
43673
  var init_locationMap = __esm({
43483
43674
  "src/rendering/islands/enhancers/locationMap.tsx"() {
@@ -43486,7 +43677,7 @@ var init_locationMap = __esm({
43486
43677
  init_reactMount();
43487
43678
  enhance8 = (root, props2) => {
43488
43679
  return mountReactIsland(root, ({ root: reactRoot }) => {
43489
- reactRoot.render(/* @__PURE__ */ jsx160(LocationMapIslandClient, { ...props2 }));
43680
+ reactRoot.render(/* @__PURE__ */ jsx159(LocationMapIslandClient, { ...props2 }));
43490
43681
  });
43491
43682
  };
43492
43683
  }
@@ -43497,7 +43688,7 @@ var courseRegistration_exports = {};
43497
43688
  __export(courseRegistration_exports, {
43498
43689
  enhance: () => enhance9
43499
43690
  });
43500
- import { jsx as jsx161 } from "react/jsx-runtime";
43691
+ import { jsx as jsx160 } from "react/jsx-runtime";
43501
43692
  var enhance9;
43502
43693
  var init_courseRegistration = __esm({
43503
43694
  "src/rendering/islands/enhancers/courseRegistration.tsx"() {
@@ -43520,7 +43711,7 @@ var init_courseRegistration = __esm({
43520
43711
  };
43521
43712
  return mountReactIsland(root, ({ root: reactRoot }) => {
43522
43713
  reactRoot.render(
43523
- /* @__PURE__ */ jsx161(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx161(CourseRegistrationIslandClient, { ...props2 }) })
43714
+ /* @__PURE__ */ jsx160(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx160(CourseRegistrationIslandClient, { ...props2 }) })
43524
43715
  );
43525
43716
  });
43526
43717
  };
@@ -43532,7 +43723,7 @@ var eventListing_exports = {};
43532
43723
  __export(eventListing_exports, {
43533
43724
  enhance: () => enhance10
43534
43725
  });
43535
- import { jsx as jsx162 } from "react/jsx-runtime";
43726
+ import { jsx as jsx161 } from "react/jsx-runtime";
43536
43727
  var enhance10;
43537
43728
  var init_eventListing = __esm({
43538
43729
  "src/rendering/islands/enhancers/eventListing.tsx"() {
@@ -43555,7 +43746,7 @@ var init_eventListing = __esm({
43555
43746
  };
43556
43747
  return mountReactIsland(root, ({ root: reactRoot }) => {
43557
43748
  reactRoot.render(
43558
- /* @__PURE__ */ jsx162(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx162(EventListingClient, { ...props2 }) })
43749
+ /* @__PURE__ */ jsx161(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx161(EventListingClient, { ...props2 }) })
43559
43750
  );
43560
43751
  });
43561
43752
  };
@@ -43567,7 +43758,7 @@ var eventCalendar_exports = {};
43567
43758
  __export(eventCalendar_exports, {
43568
43759
  enhance: () => enhance11
43569
43760
  });
43570
- import { jsx as jsx163 } from "react/jsx-runtime";
43761
+ import { jsx as jsx162 } from "react/jsx-runtime";
43571
43762
  var enhance11;
43572
43763
  var init_eventCalendar = __esm({
43573
43764
  "src/rendering/islands/enhancers/eventCalendar.tsx"() {
@@ -43590,7 +43781,7 @@ var init_eventCalendar = __esm({
43590
43781
  };
43591
43782
  return mountReactIsland(root, ({ root: reactRoot }) => {
43592
43783
  reactRoot.render(
43593
- /* @__PURE__ */ jsx163(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx163(EventCalendarClient, { ...props2 }) })
43784
+ /* @__PURE__ */ jsx162(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx162(EventCalendarClient, { ...props2 }) })
43594
43785
  );
43595
43786
  });
43596
43787
  };
@@ -43602,7 +43793,7 @@ var eventCombined_exports = {};
43602
43793
  __export(eventCombined_exports, {
43603
43794
  enhance: () => enhance12
43604
43795
  });
43605
- import { jsx as jsx164 } from "react/jsx-runtime";
43796
+ import { jsx as jsx163 } from "react/jsx-runtime";
43606
43797
  var enhance12;
43607
43798
  var init_eventCombined = __esm({
43608
43799
  "src/rendering/islands/enhancers/eventCombined.tsx"() {
@@ -43622,7 +43813,7 @@ var init_eventCombined = __esm({
43622
43813
  };
43623
43814
  return mountReactIsland(root, ({ root: reactRoot }) => {
43624
43815
  reactRoot.render(
43625
- /* @__PURE__ */ jsx164(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx164(EventCombinedIslandClient, { ...props2 }) })
43816
+ /* @__PURE__ */ jsx163(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx163(EventCombinedIslandClient, { ...props2 }) })
43626
43817
  );
43627
43818
  });
43628
43819
  };
@@ -43630,7 +43821,7 @@ var init_eventCombined = __esm({
43630
43821
  });
43631
43822
 
43632
43823
  // src/rendering/islands/enhancers/shopShared.tsx
43633
- import { jsx as jsx165 } from "react/jsx-runtime";
43824
+ import { jsx as jsx164 } from "react/jsx-runtime";
43634
43825
  function mountShopBlockIsland(root, props2, Component2, label) {
43635
43826
  const { siteId, apiBaseUrl, stage } = props2;
43636
43827
  if (!siteId) {
@@ -43647,7 +43838,7 @@ function mountShopBlockIsland(root, props2, Component2, label) {
43647
43838
  };
43648
43839
  return mountReactIsland(root, ({ root: reactRoot }) => {
43649
43840
  reactRoot.render(
43650
- /* @__PURE__ */ jsx165(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx165(Component2, { ...props2 }) })
43841
+ /* @__PURE__ */ jsx164(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx164(Component2, { ...props2 }) })
43651
43842
  );
43652
43843
  });
43653
43844
  }
@@ -43741,7 +43932,7 @@ var newsletterForm_exports = {};
43741
43932
  __export(newsletterForm_exports, {
43742
43933
  enhance: () => enhance18
43743
43934
  });
43744
- import { jsx as jsx166 } from "react/jsx-runtime";
43935
+ import { jsx as jsx165 } from "react/jsx-runtime";
43745
43936
  function snapshotFormValues2(form2) {
43746
43937
  if (!form2) return [];
43747
43938
  const snapshots = [];
@@ -43791,7 +43982,7 @@ var init_newsletterForm2 = __esm({
43791
43982
  const snapshots = snapshotFormValues2(existingForm);
43792
43983
  return mountReactIsland(root, ({ root: reactRoot }) => {
43793
43984
  reactRoot.render(
43794
- /* @__PURE__ */ jsx166(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx166(NewsletterFormClient, { ...props2 }) })
43985
+ /* @__PURE__ */ jsx165(BlockApiProvider, { config: apiConfig, children: /* @__PURE__ */ jsx165(NewsletterFormClient, { ...props2 }) })
43795
43986
  );
43796
43987
  requestAnimationFrame(() => {
43797
43988
  const nextForm = root.querySelector("form");
@@ -44934,10 +45125,10 @@ init_contrast();
44934
45125
  init_expandPalette();
44935
45126
 
44936
45127
  // ../theme-core/src/mock-themes/components/swatch.tsx
44937
- import { jsx as jsx167, jsxs as jsxs103 } from "react/jsx-runtime";
45128
+ import { jsx as jsx166, jsxs as jsxs103 } from "react/jsx-runtime";
44938
45129
 
44939
45130
  // ../theme-core/src/mock-themes/components/PaletteCard.tsx
44940
- import { jsx as jsx168, jsxs as jsxs104 } from "react/jsx-runtime";
45131
+ import { jsx as jsx167, jsxs as jsxs104 } from "react/jsx-runtime";
44941
45132
 
44942
45133
  // ../theme-core/src/palette/index.ts
44943
45134
  init_expandPalette();
@@ -46164,12 +46355,12 @@ init_buildThemeRuntime();
46164
46355
  init_ThemeScopeCore();
46165
46356
  init_themeScopeUtils();
46166
46357
  init_responsiveMode();
46167
- import { jsx as jsx169 } from "react/jsx-runtime";
46358
+ import { jsx as jsx168 } from "react/jsx-runtime";
46168
46359
 
46169
46360
  // ../theme-core/src/ThemeFontLoader.tsx
46170
- import * as React52 from "react";
46361
+ import * as React53 from "react";
46171
46362
  init_selectorUtils();
46172
- import { Fragment as Fragment25, jsx as jsx170, jsxs as jsxs105 } from "react/jsx-runtime";
46363
+ import { Fragment as Fragment25, jsx as jsx169, jsxs as jsxs105 } from "react/jsx-runtime";
46173
46364
 
46174
46365
  // ../blocks/src/index.ts
46175
46366
  init_ThemeScopeCore();