@riverbankcms/sdk 0.75.0 → 0.76.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 (87) hide show
  1. package/README.md +2 -0
  2. package/dist/{PreviewEditorSidebar-U2IHCBYN.mjs → PreviewEditorSidebar-X2HWXFOL.mjs} +171 -88
  3. package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-AQXIXPOH.mjs} +2 -2
  4. package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +8 -0
  5. package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
  6. package/dist/_dts/api/src/index.d.ts +1 -1
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +0 -1
  9. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  10. package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
  11. package/dist/_dts/blocks/src/client/events.d.ts +3 -1
  12. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  13. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  14. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  15. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +3 -27
  16. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
  17. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
  18. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
  19. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
  20. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
  21. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
  22. package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
  23. package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
  25. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -0
  26. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
  27. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
  28. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
  29. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
  30. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
  31. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  32. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
  33. package/dist/_dts/sdk/src/components.d.ts +2 -2
  34. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
  35. package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
  36. package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
  37. package/dist/_dts/sdk/src/rendering/server.d.ts +4 -3
  38. package/dist/_dts/sdk/src/version.d.ts +1 -1
  39. package/dist/{chunk-GFE74WRD.mjs → chunk-LYI7TEMH.mjs} +188 -90
  40. package/dist/{chunk-BGMNDF6T.mjs → chunk-Q4OLG66B.mjs} +7 -7
  41. package/dist/{chunk-RWXQBRQZ.mjs → chunk-TW2Y4RR5.mjs} +69 -14
  42. package/dist/{chunk-ZSHFGFUG.mjs → chunk-V5VORNEJ.mjs} +1 -1
  43. package/dist/cli/index.mjs +1 -1
  44. package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-2YHIBOZH.mjs} +1 -1
  45. package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-35IBDWAS.mjs} +3 -13
  46. package/dist/client/bookings.mjs +11 -11
  47. package/dist/client/{carousel-2NQA6V57.mjs → carousel-K6XG7NZQ.mjs} +1 -1
  48. package/dist/client/{cart-5TFIAFDS.mjs → cart-HCFYUTTU.mjs} +4 -4
  49. package/dist/client/{checkout-TP4WAHZE.mjs → checkout-J3U4XR7K.mjs} +4 -4
  50. package/dist/client/{chunk-FU2QRZMX.mjs → chunk-7UOSCYY4.mjs} +71 -24
  51. package/dist/client/{chunk-ZLMS67RR.mjs → chunk-BOIHIU7E.mjs} +1 -1
  52. package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-FGUIVT2B.mjs} +1 -1
  53. package/dist/client/{chunk-WJXXNDSE.mjs → chunk-J227A3CQ.mjs} +1 -1
  54. package/dist/client/{chunk-NWOUL6JY.mjs → chunk-PFBX3IQL.mjs} +3 -3
  55. package/dist/client/{chunk-VUAOE3AG.mjs → chunk-SNSWVZEP.mjs} +4 -4
  56. package/dist/client/client.mjs +2261 -2279
  57. package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-ZBXS7VGI.mjs} +3 -3
  58. package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-EQQZHJBA.mjs} +5 -5
  59. package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-JCFTGBFQ.mjs} +5 -5
  60. package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-HLUTQSYY.mjs} +5 -5
  61. package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-FG4MICVB.mjs} +5 -5
  62. package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-GUEB7LBT.mjs} +5 -5
  63. package/dist/client/{form-ZJVAYZ6G.mjs → form-YQEW4YIT.mjs} +1 -1
  64. package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-GTR3TTRM.mjs} +2 -2
  65. package/dist/client/{locationMap-J66NZREU.mjs → locationMap-SPC7VGUH.mjs} +1 -1
  66. package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-4IW5BLID.mjs} +1 -1
  67. package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-KP5H2WJO.mjs} +4 -4
  68. package/dist/client/{productList-T2AZLFTP.mjs → productList-3M3M72XZ.mjs} +4 -4
  69. package/dist/client/rendering/client.mjs +3132 -3147
  70. package/dist/client/rendering/islands.mjs +18 -18
  71. package/dist/client/rendering.mjs +3344 -3354
  72. package/dist/client/{shop-UZ6IUZXD.mjs → shop-ACQKVGOM.mjs} +4 -4
  73. package/dist/preview-next/chrome.css +1 -1
  74. package/dist/preview-next/client/runtime.mjs +3 -3
  75. package/dist/preview-next/editor-base.css +2 -148
  76. package/dist/preview-next/editor-chrome.css +179 -0
  77. package/dist/{sdk-runtime-JCUQM63Y.mjs → sdk-runtime-K7HNB4U2.mjs} +4 -4
  78. package/dist/server/components.mjs +939 -891
  79. package/dist/server/index.mjs +1 -1
  80. package/dist/server/next.mjs +887 -840
  81. package/dist/server/prebuild.mjs +1 -1
  82. package/dist/server/rendering/server.mjs +951 -894
  83. package/dist/server/rendering.mjs +944 -896
  84. package/dist/server/server.mjs +1 -1
  85. package/package.json +1 -1
  86. package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
  87. /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
@@ -22100,8 +22100,42 @@ function pickReadableTextColor(background) {
22100
22100
  }
22101
22101
  }
22102
22102
 
22103
- // ../blocks/src/system/runtime/nodes/events/shared/EventCompactRow.tsx
22103
+ // ../blocks/src/system/runtime/shared/components/BookingOptionCompactRow.tsx
22104
22104
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
22105
+ function BookingOptionCompactRow({
22106
+ option,
22107
+ buttonVariant = "primary"
22108
+ }) {
22109
+ const primaryMeta = option.primaryMeta?.filter((item) => item.length > 0) ?? [];
22110
+ const secondaryMeta = option.secondaryMeta?.filter((item) => item.label.length > 0) ?? [];
22111
+ const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
22112
+ return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
22113
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
22114
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
22115
+ /* @__PURE__ */ jsx5("span", { className: "event-compact-row-title", children: option.title }),
22116
+ primaryMeta.length > 0 && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-datetime", children: primaryMeta.join(" \xB7 ") })
22117
+ ] }),
22118
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-bottom", children: [
22119
+ secondaryMeta.map((item) => /* @__PURE__ */ jsxs3(
22120
+ "span",
22121
+ {
22122
+ className: item.className,
22123
+ children: [
22124
+ item.icon,
22125
+ item.label
22126
+ ]
22127
+ },
22128
+ item.id ?? `${item.className ?? "meta"}:${item.label}`
22129
+ )),
22130
+ option.priceLabel && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-price", children: option.priceLabel })
22131
+ ] })
22132
+ ] }),
22133
+ option.action.kind === "status" ? /* @__PURE__ */ jsx5("span", { className: "event-compact-row-status", children: option.action.label }) : /* @__PURE__ */ jsx5("a", { href: option.action.href, className: `${buttonClass} event-compact-row-cta`, children: option.action.label })
22134
+ ] });
22135
+ }
22136
+
22137
+ // ../blocks/src/system/runtime/nodes/events/shared/EventCompactRow.tsx
22138
+ import { jsx as jsx6 } from "react/jsx-runtime";
22105
22139
  var EventCompactRow = ({
22106
22140
  event,
22107
22141
  buttonVariant = "primary",
@@ -22113,32 +22147,35 @@ var EventCompactRow = ({
22113
22147
  const price = formatEventPrice(event);
22114
22148
  const teacherLine = formatEventTeacherLine(event);
22115
22149
  const cta = resolveEventCta(event, buttonText);
22116
- const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
22117
- return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
22118
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
22119
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
22120
- /* @__PURE__ */ jsx5("span", { className: "event-compact-row-title", children: event.title }),
22121
- /* @__PURE__ */ jsxs3("span", { className: "event-compact-row-datetime", children: [
22122
- formattedDate,
22123
- " \xB7 ",
22124
- formattedTime
22125
- ] })
22126
- ] }),
22127
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-bottom", children: [
22128
- event.venue && /* @__PURE__ */ jsxs3("span", { className: "event-compact-row-venue", children: [
22129
- /* @__PURE__ */ jsx5(MapPinIcon, { className: "rb-shrink-0" }),
22130
- event.venue.name
22131
- ] }),
22132
- teacherLine && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-teacher", children: teacherLine }),
22133
- /* @__PURE__ */ jsx5("span", { className: "event-compact-row-price", children: price })
22134
- ] })
22135
- ] }),
22136
- cta.hidden ? /* @__PURE__ */ jsx5("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsx5("a", { href: cta.href, className: `${buttonClass} event-compact-row-cta`, children: cta.label })
22137
- ] });
22150
+ const option = {
22151
+ id: event.occurrenceId ?? event.id,
22152
+ title: event.title,
22153
+ primaryMeta: [formattedDate, formattedTime],
22154
+ secondaryMeta: [
22155
+ ...event.venue ? [
22156
+ {
22157
+ id: "venue",
22158
+ label: event.venue.name,
22159
+ icon: /* @__PURE__ */ jsx6(MapPinIcon, { className: "rb-shrink-0" }),
22160
+ className: "event-compact-row-venue"
22161
+ }
22162
+ ] : [],
22163
+ ...teacherLine ? [
22164
+ {
22165
+ id: "teacher",
22166
+ label: teacherLine,
22167
+ className: "event-compact-row-teacher"
22168
+ }
22169
+ ] : []
22170
+ ],
22171
+ priceLabel: price,
22172
+ action: cta.hidden ? { kind: "status", label: cta.label } : { kind: "action", label: cta.label, href: cta.href }
22173
+ };
22174
+ return /* @__PURE__ */ jsx6(BookingOptionCompactRow, { buttonVariant, option });
22138
22175
  };
22139
22176
 
22140
22177
  // ../blocks/src/system/runtime/nodes/events/shared/EmptyState.tsx
22141
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
22178
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
22142
22179
  var EmptyState = ({
22143
22180
  message = "No upcoming events scheduled.",
22144
22181
  className,
@@ -22147,8 +22184,8 @@ var EmptyState = ({
22147
22184
  resetFiltersText = "Reset filters"
22148
22185
  }) => {
22149
22186
  return /* @__PURE__ */ jsxs4("div", { className: `event-list-empty ${className || ""}`, children: [
22150
- /* @__PURE__ */ jsx6("p", { className: "rb-caption status-muted", children: message }),
22151
- hasActiveFilters && onResetFilters && /* @__PURE__ */ jsx6(
22187
+ /* @__PURE__ */ jsx7("p", { className: "rb-caption status-muted", children: message }),
22188
+ hasActiveFilters && onResetFilters && /* @__PURE__ */ jsx7(
22152
22189
  "button",
22153
22190
  {
22154
22191
  type: "button",
@@ -22161,12 +22198,12 @@ var EmptyState = ({
22161
22198
  };
22162
22199
 
22163
22200
  // ../blocks/src/system/runtime/nodes/events/shared/DateTimeTile.tsx
22164
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
22201
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
22165
22202
  function DateTimeTile({ startsAt, endsAt, timeZone }) {
22166
22203
  const { date, timeRange } = formatEventDateParts({ startsAt, endsAt, timeZone });
22167
22204
  return /* @__PURE__ */ jsxs5("div", { className: "rb-flex rb-flex-col rb-gap-1", children: [
22168
- /* @__PURE__ */ jsx7("strong", { className: "rb-caption", children: date }),
22169
- /* @__PURE__ */ jsx7("div", { className: "rb-caption", children: timeRange })
22205
+ /* @__PURE__ */ jsx8("strong", { className: "rb-caption", children: date }),
22206
+ /* @__PURE__ */ jsx8("div", { className: "rb-caption", children: timeRange })
22170
22207
  ] });
22171
22208
  }
22172
22209
 
@@ -28530,7 +28567,7 @@ import React4 from "react";
28530
28567
 
28531
28568
  // ../blocks/src/primitives/layout/Section.tsx
28532
28569
  import { forwardRef } from "react";
28533
- import { jsx as jsx8 } from "react/jsx-runtime";
28570
+ import { jsx as jsx9 } from "react/jsx-runtime";
28534
28571
  var Section = forwardRef(function Section2({
28535
28572
  as: Comp = "section",
28536
28573
  children,
@@ -28543,7 +28580,7 @@ var Section = forwardRef(function Section2({
28543
28580
  const overflowClass = allowOverflow ? "rb-overflow-visible" : "rb-overflow-hidden";
28544
28581
  const alwaysClass = clsx_default("rb-relative rb-isolate", overflowClass, className);
28545
28582
  const backgroundStyle = typeof background === "string" && background.trim().length > 0 ? backgroundColorStyle(background.trim()) : void 0;
28546
- return /* @__PURE__ */ jsx8(
28583
+ return /* @__PURE__ */ jsx9(
28547
28584
  Comp,
28548
28585
  {
28549
28586
  ref,
@@ -28557,7 +28594,7 @@ var Section = forwardRef(function Section2({
28557
28594
  var Section_default = Section;
28558
28595
 
28559
28596
  // ../blocks/src/primitives/layout/Stack.tsx
28560
- import { jsx as jsx9 } from "react/jsx-runtime";
28597
+ import { jsx as jsx10 } from "react/jsx-runtime";
28561
28598
  function Stack({
28562
28599
  as: Comp = "div",
28563
28600
  gap = "md",
@@ -28568,7 +28605,7 @@ function Stack({
28568
28605
  "data-slot": dataSlot,
28569
28606
  ...rest
28570
28607
  }) {
28571
- return /* @__PURE__ */ jsx9(
28608
+ return /* @__PURE__ */ jsx10(
28572
28609
  Comp,
28573
28610
  {
28574
28611
  ...rest,
@@ -28598,7 +28635,7 @@ function Stack({
28598
28635
  }
28599
28636
 
28600
28637
  // ../blocks/src/primitives/layout/Inline.tsx
28601
- import { jsx as jsx10 } from "react/jsx-runtime";
28638
+ import { jsx as jsx11 } from "react/jsx-runtime";
28602
28639
  function Inline({
28603
28640
  as: Comp = "div",
28604
28641
  gap = "md",
@@ -28610,7 +28647,7 @@ function Inline({
28610
28647
  "data-slot": dataSlot,
28611
28648
  ...rest
28612
28649
  }) {
28613
- return /* @__PURE__ */ jsx10(
28650
+ return /* @__PURE__ */ jsx11(
28614
28651
  Comp,
28615
28652
  {
28616
28653
  ...rest,
@@ -28642,7 +28679,7 @@ function Inline({
28642
28679
  }
28643
28680
 
28644
28681
  // ../blocks/src/primitives/layout/Grid.tsx
28645
- import { jsx as jsx11 } from "react/jsx-runtime";
28682
+ import { jsx as jsx12 } from "react/jsx-runtime";
28646
28683
  function Grid({
28647
28684
  as: Comp = "div",
28648
28685
  cols = { base: 1, md: 2 },
@@ -28660,7 +28697,7 @@ function Grid({
28660
28697
  colsObj.lg && `rb-lg-grid-cols-${colsObj.lg}`,
28661
28698
  colsObj.xl && `rb-xl-grid-cols-${colsObj.xl}`
28662
28699
  ];
28663
- return /* @__PURE__ */ jsx11(
28700
+ return /* @__PURE__ */ jsx12(
28664
28701
  Comp,
28665
28702
  {
28666
28703
  ...rest,
@@ -28690,7 +28727,7 @@ function Grid({
28690
28727
  }
28691
28728
 
28692
28729
  // ../blocks/src/system/runtime/nodes/layout.tsx
28693
- import { jsx as jsx12 } from "react/jsx-runtime";
28730
+ import { jsx as jsx13 } from "react/jsx-runtime";
28694
28731
  var SectionNode = ({
28695
28732
  blockId: _blockId,
28696
28733
  blockKind: _blockKind,
@@ -28699,7 +28736,7 @@ var SectionNode = ({
28699
28736
  pathBase: _pathBase,
28700
28737
  allowOverflow,
28701
28738
  ...props2
28702
- }) => /* @__PURE__ */ jsx12(Section_default, { ...props2, allowOverflow });
28739
+ }) => /* @__PURE__ */ jsx13(Section_default, { ...props2, allowOverflow });
28703
28740
  var StackNode = ({
28704
28741
  blockId: _blockId,
28705
28742
  blockKind: _blockKind,
@@ -28707,7 +28744,7 @@ var StackNode = ({
28707
28744
  fragmentRegistry: _fragmentRegistry,
28708
28745
  pathBase: _pathBase,
28709
28746
  ...props2
28710
- }) => /* @__PURE__ */ jsx12(Stack, { ...props2 });
28747
+ }) => /* @__PURE__ */ jsx13(Stack, { ...props2 });
28711
28748
  var InlineNode = ({
28712
28749
  blockId: _blockId,
28713
28750
  blockKind: _blockKind,
@@ -28715,7 +28752,7 @@ var InlineNode = ({
28715
28752
  fragmentRegistry: _fragmentRegistry,
28716
28753
  pathBase: _pathBase,
28717
28754
  ...props2
28718
- }) => /* @__PURE__ */ jsx12(Inline, { ...props2 });
28755
+ }) => /* @__PURE__ */ jsx13(Inline, { ...props2 });
28719
28756
  var GridNode = ({
28720
28757
  blockId: _blockId,
28721
28758
  blockKind: _blockKind,
@@ -28723,7 +28760,7 @@ var GridNode = ({
28723
28760
  fragmentRegistry: _fragmentRegistry,
28724
28761
  pathBase: _pathBase,
28725
28762
  ...props2
28726
- }) => /* @__PURE__ */ jsx12(Grid, { ...props2 });
28763
+ }) => /* @__PURE__ */ jsx13(Grid, { ...props2 });
28727
28764
  var DivNode = ({
28728
28765
  blockId: _blockId,
28729
28766
  blockKind: _blockKind,
@@ -28731,7 +28768,7 @@ var DivNode = ({
28731
28768
  fragmentRegistry: _fragmentRegistry,
28732
28769
  pathBase: _pathBase,
28733
28770
  ...props2
28734
- }) => /* @__PURE__ */ jsx12("div", { ...props2 });
28771
+ }) => /* @__PURE__ */ jsx13("div", { ...props2 });
28735
28772
  var FigureNode = ({
28736
28773
  blockId: _blockId,
28737
28774
  blockKind: _blockKind,
@@ -28739,7 +28776,7 @@ var FigureNode = ({
28739
28776
  fragmentRegistry: _fragmentRegistry,
28740
28777
  pathBase: _pathBase,
28741
28778
  ...props2
28742
- }) => /* @__PURE__ */ jsx12("figure", { ...props2 });
28779
+ }) => /* @__PURE__ */ jsx13("figure", { ...props2 });
28743
28780
 
28744
28781
  // ../blocks/src/primitives/content/components/RichText.tsx
28745
28782
  import React2 from "react";
@@ -28783,7 +28820,7 @@ function sanitizeHref(raw) {
28783
28820
  }
28784
28821
 
28785
28822
  // ../blocks/src/primitives/content/components/RichText.tsx
28786
- import { Fragment, jsx as jsx13 } from "react/jsx-runtime";
28823
+ import { Fragment, jsx as jsx14 } from "react/jsx-runtime";
28787
28824
  function parseDimension(value) {
28788
28825
  if (typeof value === "number" && Number.isFinite(value) && value > 0) {
28789
28826
  return Math.round(value);
@@ -28814,10 +28851,10 @@ function renderMarks(text2, marks, key) {
28814
28851
  switch (mark.type) {
28815
28852
  case "bold":
28816
28853
  case "strong":
28817
- return /* @__PURE__ */ jsx13("strong", { children: acc }, `${key}-b`);
28854
+ return /* @__PURE__ */ jsx14("strong", { children: acc }, `${key}-b`);
28818
28855
  case "italic":
28819
28856
  case "em":
28820
- return /* @__PURE__ */ jsx13("em", { children: acc }, `${key}-i`);
28857
+ return /* @__PURE__ */ jsx14("em", { children: acc }, `${key}-i`);
28821
28858
  case "link": {
28822
28859
  if (typeof acc === "string" && acc.length === 0) return acc;
28823
28860
  const attrs = mark.attrs ?? {};
@@ -28825,7 +28862,7 @@ function renderMarks(text2, marks, key) {
28825
28862
  if (!href) return acc;
28826
28863
  const target = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
28827
28864
  const rel = typeof attrs.rel === "string" ? attrs.rel : void 0;
28828
- return /* @__PURE__ */ jsx13("a", { href, target, rel: normalizeRel(target, rel), children: acc }, `${key}-l`);
28865
+ return /* @__PURE__ */ jsx14("a", { href, target, rel: normalizeRel(target, rel), children: acc }, `${key}-l`);
28829
28866
  }
28830
28867
  default:
28831
28868
  return acc;
@@ -28837,25 +28874,25 @@ function renderDoc(node, key, imageResolveContext) {
28837
28874
  const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
28838
28875
  switch (node.type) {
28839
28876
  case "doc":
28840
- return /* @__PURE__ */ jsx13(Fragment, { children });
28877
+ return /* @__PURE__ */ jsx14(Fragment, { children });
28841
28878
  case "paragraph":
28842
- if (!children && !node.text) return /* @__PURE__ */ jsx13("p", {}, key);
28843
- return /* @__PURE__ */ jsx13("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
28879
+ if (!children && !node.text) return /* @__PURE__ */ jsx14("p", {}, key);
28880
+ return /* @__PURE__ */ jsx14("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
28844
28881
  case "heading": {
28845
28882
  const level = Math.min(Math.max(node.attrs?.level ?? 2, 1), 6);
28846
28883
  const headingTag = `h${level}`;
28847
28884
  return React2.createElement(headingTag, { key }, children);
28848
28885
  }
28849
28886
  case "bulletList":
28850
- return /* @__PURE__ */ jsx13("ul", { children }, key);
28887
+ return /* @__PURE__ */ jsx14("ul", { children }, key);
28851
28888
  case "orderedList":
28852
- return /* @__PURE__ */ jsx13("ol", { children }, key);
28889
+ return /* @__PURE__ */ jsx14("ol", { children }, key);
28853
28890
  case "listItem":
28854
- return /* @__PURE__ */ jsx13("li", { children }, key);
28891
+ return /* @__PURE__ */ jsx14("li", { children }, key);
28855
28892
  case "blockquote":
28856
- return /* @__PURE__ */ jsx13("blockquote", { children }, key);
28893
+ return /* @__PURE__ */ jsx14("blockquote", { children }, key);
28857
28894
  case "horizontalRule":
28858
- return /* @__PURE__ */ jsx13("hr", {}, key);
28895
+ return /* @__PURE__ */ jsx14("hr", {}, key);
28859
28896
  case "image": {
28860
28897
  const attrs = node.attrs ?? {};
28861
28898
  const src = typeof attrs.src === "string" ? attrs.src.trim() : "";
@@ -28870,7 +28907,7 @@ function renderDoc(node, key, imageResolveContext) {
28870
28907
  imageResolveContext ?? void 0
28871
28908
  ) ?? "" : "");
28872
28909
  if (!resolvedSrc) return null;
28873
- return /* @__PURE__ */ jsx13(
28910
+ return /* @__PURE__ */ jsx14(
28874
28911
  "img",
28875
28912
  {
28876
28913
  src: resolvedSrc,
@@ -28896,14 +28933,14 @@ function RichText({ as: Comp = "div", className, doc, path }) {
28896
28933
  const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
28897
28934
  const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
28898
28935
  const resolvedClassName = className?.trim() || DEFAULT_RICH_TEXT_CLASS;
28899
- return /* @__PURE__ */ jsx13(Comp, { className: resolvedClassName, ...dataAttributes, children: content });
28936
+ return /* @__PURE__ */ jsx14(Comp, { className: resolvedClassName, ...dataAttributes, children: content });
28900
28937
  }
28901
28938
 
28902
28939
  // ../blocks/src/primitives/content/components/Text.tsx
28903
- import { jsx as jsx14 } from "react/jsx-runtime";
28940
+ import { jsx as jsx15 } from "react/jsx-runtime";
28904
28941
  function Text({ as: Comp = "span", children, className = "", path }) {
28905
28942
  const dataAttributes = path ? { "data-builder-text": path } : void 0;
28906
- return /* @__PURE__ */ jsx14(Comp, { className, ...dataAttributes, children });
28943
+ return /* @__PURE__ */ jsx15(Comp, { className, ...dataAttributes, children });
28907
28944
  }
28908
28945
 
28909
28946
  // ../blocks/src/system/manifest/richTextSchema.ts
@@ -28992,13 +29029,13 @@ function coerceRichTextDoc(value) {
28992
29029
  }
28993
29030
 
28994
29031
  // ../blocks/src/system/runtime/nodes/basic.tsx
28995
- import { jsx as jsx15 } from "react/jsx-runtime";
29032
+ import { jsx as jsx16 } from "react/jsx-runtime";
28996
29033
  var TextNode = ({ value, children, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
28997
- return /* @__PURE__ */ jsx15(Text, { ...rest, children: value ?? children });
29034
+ return /* @__PURE__ */ jsx16(Text, { ...rest, children: value ?? children });
28998
29035
  };
28999
29036
  var RichTextNode = ({ value, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
29000
29037
  const doc = coerceRichTextDoc(value);
29001
- return /* @__PURE__ */ jsx15(RichText, { doc: doc ?? void 0, ...rest });
29038
+ return /* @__PURE__ */ jsx16(RichText, { doc: doc ?? void 0, ...rest });
29002
29039
  };
29003
29040
  var ButtonNode = ({
29004
29041
  value,
@@ -29038,7 +29075,7 @@ var ButtonNode = ({
29038
29075
  extraClassName: className
29039
29076
  }) : className;
29040
29077
  if (resolvedHref) {
29041
- return /* @__PURE__ */ jsx15(
29078
+ return /* @__PURE__ */ jsx16(
29042
29079
  "a",
29043
29080
  {
29044
29081
  href: resolvedHref,
@@ -29050,7 +29087,7 @@ var ButtonNode = ({
29050
29087
  }
29051
29088
  );
29052
29089
  }
29053
- return /* @__PURE__ */ jsx15(
29090
+ return /* @__PURE__ */ jsx16(
29054
29091
  "button",
29055
29092
  {
29056
29093
  type,
@@ -29082,9 +29119,9 @@ var LinkNode = ({
29082
29119
  console.warn("[LinkNode] Missing href for link-required link");
29083
29120
  }
29084
29121
  if (linkRequired) return null;
29085
- return /* @__PURE__ */ jsx15("span", { className, ...rest, children });
29122
+ return /* @__PURE__ */ jsx16("span", { className, ...rest, children });
29086
29123
  }
29087
- return /* @__PURE__ */ jsx15("a", { href: resolvedHref, className, target, rel, ...rest, children });
29124
+ return /* @__PURE__ */ jsx16("a", { href: resolvedHref, className, target, rel, ...rest, children });
29088
29125
  };
29089
29126
 
29090
29127
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
@@ -29489,7 +29526,7 @@ function getCtaIconComponent(name) {
29489
29526
  }
29490
29527
 
29491
29528
  // ../blocks/src/system/runtime/nodes/icon.tsx
29492
- import { jsx as jsx16 } from "react/jsx-runtime";
29529
+ import { jsx as jsx17 } from "react/jsx-runtime";
29493
29530
  var IconNode = ({
29494
29531
  value,
29495
29532
  title,
@@ -29505,7 +29542,7 @@ var IconNode = ({
29505
29542
  if (!Icon2) return null;
29506
29543
  const ariaLabel = rest["aria-label"];
29507
29544
  const decorative = !ariaLabel && !title;
29508
- return /* @__PURE__ */ jsx16(
29545
+ return /* @__PURE__ */ jsx17(
29509
29546
  Icon2,
29510
29547
  {
29511
29548
  className,
@@ -29517,7 +29554,7 @@ var IconNode = ({
29517
29554
  };
29518
29555
 
29519
29556
  // ../blocks/src/system/runtime/nodes/file-download.tsx
29520
- import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
29557
+ import { jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
29521
29558
  var FILE_DOWNLOAD_BUTTON_VARIANTS = [
29522
29559
  "primary",
29523
29560
  "secondary",
@@ -29537,13 +29574,13 @@ function displayFilename(value) {
29537
29574
  function iconForMediaType(type) {
29538
29575
  switch (type) {
29539
29576
  case "audio":
29540
- return /* @__PURE__ */ jsx17(FileHeadphone, { "aria-hidden": "true" });
29577
+ return /* @__PURE__ */ jsx18(FileHeadphone, { "aria-hidden": "true" });
29541
29578
  case "document":
29542
- return /* @__PURE__ */ jsx17(FileText, { "aria-hidden": "true" });
29579
+ return /* @__PURE__ */ jsx18(FileText, { "aria-hidden": "true" });
29543
29580
  case "spreadsheet":
29544
- return /* @__PURE__ */ jsx17(FileSpreadsheet, { "aria-hidden": "true" });
29581
+ return /* @__PURE__ */ jsx18(FileSpreadsheet, { "aria-hidden": "true" });
29545
29582
  case "archive":
29546
- return /* @__PURE__ */ jsx17(FileArchive, { "aria-hidden": "true" });
29583
+ return /* @__PURE__ */ jsx18(FileArchive, { "aria-hidden": "true" });
29547
29584
  }
29548
29585
  }
29549
29586
  function normalizeButtonVariant(value) {
@@ -29565,9 +29602,9 @@ function FileDownloadNode({
29565
29602
  const body = description?.trim();
29566
29603
  const label = buttonLabel?.trim() || "Download";
29567
29604
  const variant = normalizeButtonVariant(buttonVariant);
29568
- return /* @__PURE__ */ jsx17("div", { className, children: /* @__PURE__ */ jsxs6("div", { className: "card-surface rb-flex rb-flex-col rb-gap-4 rb-p-5 rb-sm-flex-row rb-sm-items-center rb-sm-justify-between", children: [
29605
+ return /* @__PURE__ */ jsx18("div", { className, children: /* @__PURE__ */ jsxs6("div", { className: "card-surface rb-flex rb-flex-col rb-gap-4 rb-p-5 rb-sm-flex-row rb-sm-items-center rb-sm-justify-between", children: [
29569
29606
  /* @__PURE__ */ jsxs6("div", { className: "rb-flex rb-min-w-0 rb-items-start rb-gap-3", children: [
29570
- /* @__PURE__ */ jsx17(
29607
+ /* @__PURE__ */ jsx18(
29571
29608
  "span",
29572
29609
  {
29573
29610
  className: "rb-mt-1 rb-flex rb-h-10 rb-w-10 rb-shrink-0 rb-items-center rb-justify-center rb-rounded-full rb-border",
@@ -29576,7 +29613,7 @@ function FileDownloadNode({
29576
29613
  }
29577
29614
  ),
29578
29615
  /* @__PURE__ */ jsxs6("div", { className: "rb-min-w-0 rb-space-y-1", children: [
29579
- /* @__PURE__ */ jsx17(
29616
+ /* @__PURE__ */ jsx18(
29580
29617
  "h2",
29581
29618
  {
29582
29619
  className: "rb-m-0 rb-text-lg rb-font-semibold",
@@ -29584,7 +29621,7 @@ function FileDownloadNode({
29584
29621
  children: heading
29585
29622
  }
29586
29623
  ),
29587
- body ? /* @__PURE__ */ jsx17(
29624
+ body ? /* @__PURE__ */ jsx18(
29588
29625
  "p",
29589
29626
  {
29590
29627
  className: "rb-m-0 rb-text-sm",
@@ -29592,7 +29629,7 @@ function FileDownloadNode({
29592
29629
  children: body
29593
29630
  }
29594
29631
  ) : null,
29595
- /* @__PURE__ */ jsx17(
29632
+ /* @__PURE__ */ jsx18(
29596
29633
  "p",
29597
29634
  {
29598
29635
  className: "rb-m-0 rb-truncate rb-text-xs",
@@ -29613,7 +29650,7 @@ function FileDownloadNode({
29613
29650
  extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
29614
29651
  }),
29615
29652
  children: [
29616
- /* @__PURE__ */ jsx17(Download, { "aria-hidden": "true" }),
29653
+ /* @__PURE__ */ jsx18(Download, { "aria-hidden": "true" }),
29617
29654
  label
29618
29655
  ]
29619
29656
  }
@@ -29765,7 +29802,7 @@ function getVideoEmbed(url) {
29765
29802
  }
29766
29803
 
29767
29804
  // ../blocks/src/system/runtime/nodes/video-embed.tsx
29768
- import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
29805
+ import { jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
29769
29806
  var VideoEmbedNode = ({
29770
29807
  value,
29771
29808
  className,
@@ -29785,7 +29822,7 @@ var VideoEmbedNode = ({
29785
29822
  }
29786
29823
  const embedInfo = getVideoEmbed(value);
29787
29824
  if (!embedInfo) {
29788
- return /* @__PURE__ */ jsx18(
29825
+ return /* @__PURE__ */ jsx19(
29789
29826
  "div",
29790
29827
  {
29791
29828
  className,
@@ -29810,7 +29847,7 @@ var VideoEmbedNode = ({
29810
29847
  const title = getVideoTitle(embedInfo);
29811
29848
  const loadingStrategy = getVideoEmbedLoadingStrategy(embedInfo.provider);
29812
29849
  const shouldDeferSrc = loadingStrategy === "defer-until-near-viewport";
29813
- return /* @__PURE__ */ jsx18("div", { ...rest, children: /* @__PURE__ */ jsxs7(
29850
+ return /* @__PURE__ */ jsx19("div", { ...rest, children: /* @__PURE__ */ jsxs7(
29814
29851
  "div",
29815
29852
  {
29816
29853
  className,
@@ -29822,7 +29859,7 @@ var VideoEmbedNode = ({
29822
29859
  width: "100%"
29823
29860
  },
29824
29861
  children: [
29825
- /* @__PURE__ */ jsx18(
29862
+ /* @__PURE__ */ jsx19(
29826
29863
  "iframe",
29827
29864
  {
29828
29865
  src: shouldDeferSrc ? void 0 : embedInfo.embedUrl,
@@ -29843,7 +29880,7 @@ var VideoEmbedNode = ({
29843
29880
  allowFullScreen: true
29844
29881
  }
29845
29882
  ),
29846
- shouldDeferSrc ? /* @__PURE__ */ jsx18("noscript", { children: /* @__PURE__ */ jsx18("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
29883
+ shouldDeferSrc ? /* @__PURE__ */ jsx19("noscript", { children: /* @__PURE__ */ jsx19("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
29847
29884
  ]
29848
29885
  }
29849
29886
  ) });
@@ -29886,7 +29923,7 @@ function normalizeAspectRatio(value) {
29886
29923
  import React3 from "react";
29887
29924
 
29888
29925
  // ../blocks/src/system/runtime/islands/ssr.tsx
29889
- import { jsx as jsx19 } from "react/jsx-runtime";
29926
+ import { jsx as jsx20 } from "react/jsx-runtime";
29890
29927
  function getIslandRootProps(kind, id) {
29891
29928
  const resolved = { "data-rb-island": kind };
29892
29929
  if (id) resolved["data-rb-island-id"] = id;
@@ -29896,7 +29933,7 @@ function serializeIslandProps(value) {
29896
29933
  return JSON.stringify(value).replace(/</g, "\\u003c");
29897
29934
  }
29898
29935
  function IslandPropsScript({ value }) {
29899
- return /* @__PURE__ */ jsx19(
29936
+ return /* @__PURE__ */ jsx20(
29900
29937
  "script",
29901
29938
  {
29902
29939
  type: "application/json",
@@ -29943,7 +29980,7 @@ function getCarouselSlidesToShowCssVars(value) {
29943
29980
  }
29944
29981
 
29945
29982
  // ../blocks/src/system/runtime/nodes/carousel.server.tsx
29946
- import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
29983
+ import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
29947
29984
  var CarouselNodeSSR = ({
29948
29985
  blockId,
29949
29986
  children,
@@ -29974,7 +30011,7 @@ var CarouselNodeSSR = ({
29974
30011
  "data-show-controls": controlsEnabled ? "true" : "false",
29975
30012
  ...getIslandRootProps("carousel", blockId),
29976
30013
  children: [
29977
- /* @__PURE__ */ jsx20(
30014
+ /* @__PURE__ */ jsx21(
29978
30015
  IslandPropsScript,
29979
30016
  {
29980
30017
  value: {
@@ -29989,7 +30026,7 @@ var CarouselNodeSSR = ({
29989
30026
  }
29990
30027
  }
29991
30028
  ),
29992
- /* @__PURE__ */ jsx20("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx20(
30029
+ /* @__PURE__ */ jsx21("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx21(
29993
30030
  "div",
29994
30031
  {
29995
30032
  className: clsx_default(
@@ -29997,7 +30034,7 @@ var CarouselNodeSSR = ({
29997
30034
  "rb-overflow-x-auto",
29998
30035
  shouldSnap && "rb-snap-x rb-snap-mandatory"
29999
30036
  ),
30000
- children: /* @__PURE__ */ jsx20("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx20(
30037
+ children: /* @__PURE__ */ jsx21("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx21(
30001
30038
  "div",
30002
30039
  {
30003
30040
  "data-carousel-slide": true,
@@ -30026,7 +30063,7 @@ function normalizeBoolean2(value) {
30026
30063
  }
30027
30064
 
30028
30065
  // ../blocks/src/system/runtime/nodes/accordion.server.tsx
30029
- import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
30066
+ import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
30030
30067
  var ACCORDION_ICONS = {
30031
30068
  Plus,
30032
30069
  Minus,
@@ -30051,7 +30088,7 @@ var AccordionNodeSSR = ({
30051
30088
  "data-default-value": Array.isArray(defaultValue) ? defaultValue.join(",") : defaultValue,
30052
30089
  ...getIslandRootProps("accordion", blockId),
30053
30090
  children: [
30054
- /* @__PURE__ */ jsx21(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
30091
+ /* @__PURE__ */ jsx22(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
30055
30092
  children
30056
30093
  ]
30057
30094
  }
@@ -30081,13 +30118,13 @@ var AccordionItemNodeSSR = ({
30081
30118
  "data-state": "closed",
30082
30119
  children: [
30083
30120
  /* @__PURE__ */ jsxs9("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
30084
- /* @__PURE__ */ jsx21("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
30121
+ /* @__PURE__ */ jsx22("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
30085
30122
  /* @__PURE__ */ jsxs9("span", { className: "accordion-icon", "aria-hidden": "true", children: [
30086
- ClosedIconComponent && /* @__PURE__ */ jsx21(ClosedIconComponent, { className: "accordion-icon-closed" }),
30087
- OpenIconComponent && /* @__PURE__ */ jsx21(OpenIconComponent, { className: "accordion-icon-open" })
30123
+ ClosedIconComponent && /* @__PURE__ */ jsx22(ClosedIconComponent, { className: "accordion-icon-closed" }),
30124
+ OpenIconComponent && /* @__PURE__ */ jsx22(OpenIconComponent, { className: "accordion-icon-open" })
30088
30125
  ] })
30089
30126
  ] }),
30090
- /* @__PURE__ */ jsx21(
30127
+ /* @__PURE__ */ jsx22(
30091
30128
  "div",
30092
30129
  {
30093
30130
  className: "accordion-content",
@@ -30096,7 +30133,7 @@ var AccordionItemNodeSSR = ({
30096
30133
  hidden: true,
30097
30134
  "aria-hidden": "true",
30098
30135
  inert: true,
30099
- children: /* @__PURE__ */ jsx21("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
30136
+ children: /* @__PURE__ */ jsx22("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
30100
30137
  }
30101
30138
  )
30102
30139
  ]
@@ -30106,12 +30143,12 @@ var AccordionItemNodeSSR = ({
30106
30143
  function resolveNode(value) {
30107
30144
  if (typeof value === "string" || typeof value === "number") return String(value);
30108
30145
  const doc = coerceRichTextDoc(value);
30109
- if (doc) return /* @__PURE__ */ jsx21(RichText, { doc });
30146
+ if (doc) return /* @__PURE__ */ jsx22(RichText, { doc });
30110
30147
  return value;
30111
30148
  }
30112
30149
 
30113
30150
  // ../blocks/src/system/runtime/nodes/header-section.server.tsx
30114
- import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
30151
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
30115
30152
  function hasShrinkClasses(className) {
30116
30153
  return typeof className === "string" && className.includes("rb-header-shrink");
30117
30154
  }
@@ -30145,8 +30182,8 @@ var HeaderSectionNode = ({
30145
30182
  "data-block-id": blockId ?? void 0,
30146
30183
  "data-preview-site-chrome-surface": previewSiteChromeSurface,
30147
30184
  children: [
30148
- /* @__PURE__ */ jsx22(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
30149
- /* @__PURE__ */ jsx22(
30185
+ /* @__PURE__ */ jsx23(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
30186
+ /* @__PURE__ */ jsx23(
30150
30187
  Section_default,
30151
30188
  {
30152
30189
  as: asProp,
@@ -30165,7 +30202,7 @@ var HeaderSectionNode = ({
30165
30202
  var header_section_server_default = HeaderSectionNode;
30166
30203
 
30167
30204
  // ../blocks/src/system/runtime/nodes/spinner.tsx
30168
- import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
30205
+ import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
30169
30206
  function resolveColorStyle(color) {
30170
30207
  switch (color) {
30171
30208
  case "inherit":
@@ -30209,7 +30246,7 @@ function SpinnerNode({
30209
30246
  ...rest,
30210
30247
  children: [
30211
30248
  /* @__PURE__ */ jsxs11("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
30212
- /* @__PURE__ */ jsx23(
30249
+ /* @__PURE__ */ jsx24(
30213
30250
  "circle",
30214
30251
  {
30215
30252
  cx: "12",
@@ -30220,7 +30257,7 @@ function SpinnerNode({
30220
30257
  opacity: trackOpacity
30221
30258
  }
30222
30259
  ),
30223
- /* @__PURE__ */ jsx23(
30260
+ /* @__PURE__ */ jsx24(
30224
30261
  "path",
30225
30262
  {
30226
30263
  d: "M12 2a10 10 0 0 1 10 10",
@@ -30230,14 +30267,14 @@ function SpinnerNode({
30230
30267
  }
30231
30268
  )
30232
30269
  ] }),
30233
- srLabel ? /* @__PURE__ */ jsx23("span", { className: "rb-sr-only", children: srLabel }) : null
30270
+ srLabel ? /* @__PURE__ */ jsx24("span", { className: "rb-sr-only", children: srLabel }) : null
30234
30271
  ]
30235
30272
  }
30236
30273
  );
30237
30274
  }
30238
30275
 
30239
30276
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30240
- import { z as z62 } from "zod";
30277
+ import { z as z63 } from "zod";
30241
30278
 
30242
30279
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
30243
30280
  function toTrimmedString(value) {
@@ -30374,7 +30411,8 @@ function isRecord4(value) {
30374
30411
  return typeof value === "object" && value !== null;
30375
30412
  }
30376
30413
 
30377
- // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30414
+ // ../blocks/src/system/runtime/nodes/booking-runtime-sources.ts
30415
+ import { z as z62 } from "zod";
30378
30416
  var bookingFieldOptionSchema = z62.object({
30379
30417
  value: z62.string(),
30380
30418
  label: z62.string()
@@ -30428,100 +30466,102 @@ var bookingSourceFormSchema = z62.object({
30428
30466
  createdAt: z62.string(),
30429
30467
  updatedAt: z62.string()
30430
30468
  });
30431
- var blockBookingPaymentTermsAvailabilitySchema = z62.union([
30432
- z62.object({
30433
- kind: z62.literal("available"),
30469
+
30470
+ // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30471
+ var blockBookingPaymentTermsAvailabilitySchema = z63.union([
30472
+ z63.object({
30473
+ kind: z63.literal("available"),
30434
30474
  paymentTerms: blockBookingPaymentTermsSchema
30435
30475
  }),
30436
- z62.object({
30437
- kind: z62.literal("pending_stripe_setup"),
30476
+ z63.object({
30477
+ kind: z63.literal("pending_stripe_setup"),
30438
30478
  paymentTerms: blockBookingPaymentTermsSchema,
30439
- reason: z62.literal("online_payment_configured_before_launch")
30479
+ reason: z63.literal("online_payment_configured_before_launch")
30440
30480
  })
30441
30481
  ]);
30442
- var bookingServiceSchema = z62.object({
30443
- id: z62.string(),
30444
- siteId: z62.string(),
30445
- title: z62.string(),
30446
- description: z62.string().nullable().optional().transform((value) => value ?? void 0),
30447
- durationMinutes: z62.number().optional(),
30448
- priceAmount: z62.number().nullable().optional(),
30449
- priceCurrency: z62.string().nullable().optional(),
30482
+ var bookingServiceSchema = z63.object({
30483
+ id: z63.string(),
30484
+ siteId: z63.string(),
30485
+ title: z63.string(),
30486
+ description: z63.string().nullable().optional().transform((value) => value ?? void 0),
30487
+ durationMinutes: z63.number().optional(),
30488
+ priceAmount: z63.number().nullable().optional(),
30489
+ priceCurrency: z63.string().nullable().optional(),
30450
30490
  paymentTerms: blockBookingPaymentTermsSchema.optional(),
30451
30491
  paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
30452
30492
  });
30453
- var bookingServicesSourceSchema = z62.union([
30454
- z62.array(bookingServiceSchema),
30455
- z62.object({
30456
- services: z62.array(bookingServiceSchema).optional()
30493
+ var bookingServicesSourceSchema = z63.union([
30494
+ z63.array(bookingServiceSchema),
30495
+ z63.object({
30496
+ services: z63.array(bookingServiceSchema).optional()
30457
30497
  }),
30458
- z62.record(z62.string(), bookingServiceSchema)
30498
+ z63.record(z63.string(), bookingServiceSchema)
30459
30499
  ]);
30460
- var bookingConfigSchema = z62.object({
30461
- id: z62.string(),
30462
- name: z62.string(),
30463
- slug: z62.string(),
30500
+ var bookingConfigSchema = z63.object({
30501
+ id: z63.string(),
30502
+ name: z63.string(),
30503
+ slug: z63.string(),
30464
30504
  settings: bookingSettingsSchema.optional(),
30465
- schema: z62.object({
30466
- version: z62.string().optional(),
30467
- fields: z62.array(bookingFieldSchema)
30505
+ schema: z63.object({
30506
+ version: z63.string().optional(),
30507
+ fields: z63.array(bookingFieldSchema)
30468
30508
  }).optional()
30469
30509
  });
30470
- var bookingSourceSchema = z62.object({
30471
- siteId: z62.string().optional(),
30472
- apiBaseUrl: z62.string().optional(),
30473
- portalToken: z62.string().nullable().optional(),
30474
- formId: z62.string().optional(),
30475
- serviceId: z62.string().nullable().optional(),
30476
- resourceId: z62.string().nullable().optional(),
30477
- initialData: z62.record(z62.string(), z62.unknown()).nullable().optional(),
30478
- noticeMessage: z62.string().nullable().optional(),
30479
- requiresServiceSelection: z62.boolean().optional(),
30480
- requiresResourceSelection: z62.boolean().optional(),
30481
- shouldAutoSelectSingleResource: z62.boolean().optional(),
30482
- rebookContext: z62.object({
30483
- kind: z62.literal("portal_rebook")
30510
+ var bookingSourceSchema = z63.object({
30511
+ siteId: z63.string().optional(),
30512
+ apiBaseUrl: z63.string().optional(),
30513
+ portalToken: z63.string().nullable().optional(),
30514
+ formId: z63.string().optional(),
30515
+ serviceId: z63.string().nullable().optional(),
30516
+ resourceId: z63.string().nullable().optional(),
30517
+ initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
30518
+ noticeMessage: z63.string().nullable().optional(),
30519
+ requiresServiceSelection: z63.boolean().optional(),
30520
+ requiresResourceSelection: z63.boolean().optional(),
30521
+ shouldAutoSelectSingleResource: z63.boolean().optional(),
30522
+ rebookContext: z63.object({
30523
+ kind: z63.literal("portal_rebook")
30484
30524
  }).nullable().optional(),
30485
- submitLabel: z62.string().nullable().optional(),
30486
- successMessage: z62.string().nullable().optional(),
30525
+ submitLabel: z63.string().nullable().optional(),
30526
+ successMessage: z63.string().nullable().optional(),
30487
30527
  form: bookingSourceFormSchema.nullable().optional(),
30488
30528
  services: bookingServicesSourceSchema.nullable().optional(),
30489
- spamProtectionEnabled: z62.boolean().optional(),
30490
- className: z62.string().nullable().optional()
30491
- });
30492
- var bookingDisplaySchema = z62.object({
30493
- kind: z62.literal("booking-form"),
30494
- state: z62.enum(["missing", "ready"]),
30495
- className: z62.string().nullable(),
30496
- submitLabel: z62.string(),
30497
- successMessage: z62.string().nullable(),
30498
- message: z62.string().nullable()
30499
- });
30500
- var bookingHydrationSchema = z62.object({
30501
- formId: z62.string().nullable(),
30502
- serviceId: z62.string().nullable(),
30503
- resourceId: z62.string().nullable(),
30504
- initialData: z62.record(z62.string(), z62.unknown()).nullable().optional(),
30505
- noticeMessage: z62.string().nullable().optional(),
30506
- requiresServiceSelection: z62.boolean().optional(),
30507
- requiresResourceSelection: z62.boolean().optional(),
30508
- shouldAutoSelectSingleResource: z62.boolean().optional(),
30509
- rebookContext: z62.object({
30510
- kind: z62.literal("portal_rebook")
30529
+ spamProtectionEnabled: z63.boolean().optional(),
30530
+ className: z63.string().nullable().optional()
30531
+ });
30532
+ var bookingDisplaySchema = z63.object({
30533
+ kind: z63.literal("booking-form"),
30534
+ state: z63.enum(["missing", "ready"]),
30535
+ className: z63.string().nullable(),
30536
+ submitLabel: z63.string(),
30537
+ successMessage: z63.string().nullable(),
30538
+ message: z63.string().nullable()
30539
+ });
30540
+ var bookingHydrationSchema = z63.object({
30541
+ formId: z63.string().nullable(),
30542
+ serviceId: z63.string().nullable(),
30543
+ resourceId: z63.string().nullable(),
30544
+ initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
30545
+ noticeMessage: z63.string().nullable().optional(),
30546
+ requiresServiceSelection: z63.boolean().optional(),
30547
+ requiresResourceSelection: z63.boolean().optional(),
30548
+ shouldAutoSelectSingleResource: z63.boolean().optional(),
30549
+ rebookContext: z63.object({
30550
+ kind: z63.literal("portal_rebook")
30511
30551
  }).nullable().optional(),
30512
30552
  form: bookingConfigSchema.nullable(),
30513
- services: z62.array(bookingServiceSchema),
30514
- spamProtectionEnabled: z62.boolean().optional()
30553
+ services: z63.array(bookingServiceSchema),
30554
+ spamProtectionEnabled: z63.boolean().optional()
30515
30555
  });
30516
- var bookingRenderSchema = z62.object({
30556
+ var bookingRenderSchema = z63.object({
30517
30557
  display: bookingDisplaySchema,
30518
30558
  hydration: bookingHydrationSchema
30519
30559
  });
30520
30560
  var bookingFormIslandMetaCodec = createZodCodec(
30521
- z62.object({
30522
- siteId: z62.string().optional(),
30523
- apiBaseUrl: z62.string().optional(),
30524
- portalToken: z62.string().nullable().optional()
30561
+ z63.object({
30562
+ siteId: z63.string().optional(),
30563
+ apiBaseUrl: z63.string().optional(),
30564
+ portalToken: z63.string().nullable().optional()
30525
30565
  })
30526
30566
  );
30527
30567
  var bookingFormIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -30592,7 +30632,7 @@ function buildBookingFormInteractiveIslandProps(props2) {
30592
30632
  }
30593
30633
 
30594
30634
  // ../blocks/src/system/runtime/nodes/booking-form.server.tsx
30595
- import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
30635
+ import { Fragment as Fragment2, jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
30596
30636
  function BookingFormSSR({
30597
30637
  blockId,
30598
30638
  siteId,
@@ -30642,10 +30682,10 @@ function BookingFormSSR({
30642
30682
  className: `booking-form-ssr ${className ?? ""}`.trim(),
30643
30683
  ...getIslandRootProps("booking-form", blockId),
30644
30684
  children: [
30645
- /* @__PURE__ */ jsx24(IslandPropsScript, { value: islandProps }),
30646
- /* @__PURE__ */ jsx24("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */ jsxs12(Fragment2, { children: [
30647
- /* @__PURE__ */ jsx24("strong", { children: display.submitLabel }),
30648
- display.successMessage ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
30685
+ /* @__PURE__ */ jsx25(IslandPropsScript, { value: islandProps }),
30686
+ /* @__PURE__ */ jsx25("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx25("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */ jsxs12(Fragment2, { children: [
30687
+ /* @__PURE__ */ jsx25("strong", { children: display.submitLabel }),
30688
+ display.successMessage ? /* @__PURE__ */ jsx25("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
30649
30689
  ] }) }),
30650
30690
  children
30651
30691
  ]
@@ -30753,21 +30793,21 @@ function filterMembershipsForEvent(siteMemberships, event) {
30753
30793
  }
30754
30794
 
30755
30795
  // ../blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.tsx
30756
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
30796
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
30757
30797
  function CoursePricingDisplay({
30758
30798
  pricing,
30759
30799
  acceptedItems
30760
30800
  }) {
30761
30801
  return /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
30762
- /* @__PURE__ */ jsx25("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
30763
- pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx25("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs13("div", { children: [
30802
+ /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
30803
+ pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs13("div", { children: [
30764
30804
  /* @__PURE__ */ jsxs13("strong", { children: [
30765
30805
  option.name,
30766
30806
  ": ",
30767
30807
  formatCoursePriceAmount(option.priceAmount, pricing.currency)
30768
30808
  ] }),
30769
- option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
30770
- ] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
30809
+ option.description ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: option.description }) : null
30810
+ ] }, option.id)) }) : /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
30771
30811
  acceptedItems.length > 0 ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
30772
30812
  "You can also attend with: ",
30773
30813
  acceptedItems.join(", ")
@@ -30776,7 +30816,7 @@ function CoursePricingDisplay({
30776
30816
  }
30777
30817
 
30778
30818
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
30779
- import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
30819
+ import { Fragment as Fragment3, jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
30780
30820
  function formatAutoApplyDiscountLine(preview, currency) {
30781
30821
  const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
30782
30822
  const label = preview.publicLabel.trim() || "Discount";
@@ -30786,7 +30826,7 @@ function TeamMemberName({
30786
30826
  name,
30787
30827
  profilePath
30788
30828
  }) {
30789
- return profilePath ? /* @__PURE__ */ jsx26("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx26("strong", { children: name }) }) : /* @__PURE__ */ jsx26("strong", { children: name });
30829
+ return profilePath ? /* @__PURE__ */ jsx27("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx27("strong", { children: name }) }) : /* @__PURE__ */ jsx27("strong", { children: name });
30790
30830
  }
30791
30831
  function EventDetailsView({
30792
30832
  selection,
@@ -30805,7 +30845,7 @@ function EventDetailsView({
30805
30845
  }) {
30806
30846
  const selected = selection.selected;
30807
30847
  if (!selected) {
30808
- return /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No upcoming dates scheduled." });
30848
+ return /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: "No upcoming dates scheduled." });
30809
30849
  }
30810
30850
  const venue = showVenue ? selected.venue : void 0;
30811
30851
  const isDropIn = selected.kind !== "course_session" && selected.requiresRegistration === false;
@@ -30831,7 +30871,7 @@ function EventDetailsView({
30831
30871
  /* @__PURE__ */ jsxs14("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
30832
30872
  /* @__PURE__ */ jsxs14("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
30833
30873
  /* @__PURE__ */ jsxs14("div", { children: [
30834
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
30874
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
30835
30875
  (() => {
30836
30876
  const { date, timeRange } = formatEventDateParts({
30837
30877
  startsAt: selected.startsAt,
@@ -30839,61 +30879,61 @@ function EventDetailsView({
30839
30879
  timeZone: selection.timeZone
30840
30880
  });
30841
30881
  return /* @__PURE__ */ jsxs14(Fragment3, { children: [
30842
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: date }) }),
30843
- /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: timeRange })
30882
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27("strong", { children: date }) }),
30883
+ /* @__PURE__ */ jsx27("p", { className: "rb-caption", children: timeRange })
30844
30884
  ] });
30845
30885
  })()
30846
30886
  ] }),
30847
30887
  venue ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30848
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Venue" }),
30849
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: venue.name }) }),
30850
- venue.address ? /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: venue.address }) : null
30888
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Venue" }),
30889
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27("strong", { children: venue.name }) }),
30890
+ venue.address ? /* @__PURE__ */ jsx27("p", { className: "rb-caption", children: venue.address }) : null
30851
30891
  ] }) : null,
30852
30892
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30853
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
30854
- /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs14("div", { children: [
30855
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
30893
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Team members" }),
30894
+ /* @__PURE__ */ jsx27("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs14("div", { children: [
30895
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27(
30856
30896
  TeamMemberName,
30857
30897
  {
30858
30898
  name: teamMember.name,
30859
30899
  profilePath: teamMember.profilePath
30860
30900
  }
30861
30901
  ) }),
30862
- teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
30902
+ teamMember.summary ? /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
30863
30903
  ] }, teamMember.id)) })
30864
30904
  ] }) : null,
30865
30905
  isDropIn ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30866
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Registration" }),
30867
- /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
30868
- ] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx26(
30906
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Registration" }),
30907
+ /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
30908
+ ] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx27(
30869
30909
  CoursePricingDisplay,
30870
30910
  {
30871
30911
  pricing: coursePricing,
30872
30912
  acceptedItems
30873
30913
  }
30874
30914
  ) : shouldShowEventCost ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30875
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
30876
- eventPrice !== null ? /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
30877
- autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
30915
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Cost" }),
30916
+ eventPrice !== null ? /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
30917
+ autoApplyDiscount ? /* @__PURE__ */ jsx27("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
30878
30918
  hasAcceptedItems ? /* @__PURE__ */ jsxs14("p", { className: "rb-caption rb-mt-1", children: [
30879
30919
  "You can also attend with: ",
30880
30920
  acceptedItems.join(", ")
30881
30921
  ] }) : null
30882
- ] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs14("p", { className: "rb-caption", children: [
30922
+ ] }) : hasAcceptedItems ? /* @__PURE__ */ jsx27("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs14("p", { className: "rb-caption", children: [
30883
30923
  "You can also attend with: ",
30884
30924
  acceptedItems.join(", ")
30885
30925
  ] }) }) : null
30886
30926
  ] }),
30887
- showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx26(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
30927
+ showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx27(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
30888
30928
  ] }),
30889
30929
  showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */ jsxs14("div", { children: [
30890
- /* @__PURE__ */ jsx26("div", { className: "rb-label", children: "Other dates" }),
30891
- /* @__PURE__ */ jsx26("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx26(
30930
+ /* @__PURE__ */ jsx27("div", { className: "rb-label", children: "Other dates" }),
30931
+ /* @__PURE__ */ jsx27("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx27(
30892
30932
  "a",
30893
30933
  {
30894
30934
  className: "rb-tile rb-tile--interactive",
30895
30935
  href: e.path,
30896
- children: /* @__PURE__ */ jsx26(
30936
+ children: /* @__PURE__ */ jsx27(
30897
30937
  DateTimeTile,
30898
30938
  {
30899
30939
  startsAt: e.startsAt,
@@ -30909,7 +30949,7 @@ function EventDetailsView({
30909
30949
  }
30910
30950
 
30911
30951
  // ../blocks/src/system/runtime/nodes/event-details.server.tsx
30912
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
30952
+ import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
30913
30953
  function EventDetailsSSR({
30914
30954
  blockId,
30915
30955
  occurrenceContext,
@@ -30945,7 +30985,7 @@ function EventDetailsSSR({
30945
30985
  "data-block": "event-details",
30946
30986
  ...getIslandRootProps("event-details", blockId),
30947
30987
  children: [
30948
- /* @__PURE__ */ jsx27(
30988
+ /* @__PURE__ */ jsx28(
30949
30989
  IslandPropsScript,
30950
30990
  {
30951
30991
  value: {
@@ -30966,7 +31006,7 @@ function EventDetailsSSR({
30966
31006
  }
30967
31007
  }
30968
31008
  ),
30969
- /* @__PURE__ */ jsx27(
31009
+ /* @__PURE__ */ jsx28(
30970
31010
  EventDetailsView,
30971
31011
  {
30972
31012
  selection,
@@ -30980,7 +31020,7 @@ function EventDetailsSSR({
30980
31020
  applicableMemberships,
30981
31021
  autoApplyDiscount: autoApplyDiscount ?? null,
30982
31022
  mapClassName: "venue-map event-details-map",
30983
- renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx27("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx27(
31023
+ renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx28("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx28(
30984
31024
  "div",
30985
31025
  {
30986
31026
  className: className2,
@@ -31004,7 +31044,7 @@ function EventDetailsSSR({
31004
31044
  var event_details_server_default = EventDetailsSSR;
31005
31045
 
31006
31046
  // ../blocks/src/system/runtime/nodes/location-map.view.tsx
31007
- import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
31047
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
31008
31048
  function LocationMapView({
31009
31049
  addressText,
31010
31050
  location: location2,
@@ -31018,7 +31058,7 @@ function LocationMapView({
31018
31058
  }) {
31019
31059
  const directionsUrl = buildGoogleMapsDirectionsUrl({ addressText, location: location2 });
31020
31060
  if (!location2 && !addressText && !directionsUrl) {
31021
- return /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
31061
+ return /* @__PURE__ */ jsx29("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
31022
31062
  }
31023
31063
  return /* @__PURE__ */ jsxs16("div", { className: "rb-flex rb-flex-col rb-gap-4 rb-text-left", children: [
31024
31064
  location2 && renderMap ? renderMap({
@@ -31028,8 +31068,8 @@ function LocationMapView({
31028
31068
  height: heightPx,
31029
31069
  zoom
31030
31070
  }) : null,
31031
- showAddressText && addressText ? /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: addressText }) : null,
31032
- showDirections && directionsUrl ? /* @__PURE__ */ jsx28(
31071
+ showAddressText && addressText ? /* @__PURE__ */ jsx29("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: addressText }) : null,
31072
+ showDirections && directionsUrl ? /* @__PURE__ */ jsx29(
31033
31073
  "a",
31034
31074
  {
31035
31075
  href: directionsUrl,
@@ -31048,7 +31088,7 @@ function LocationMapView({
31048
31088
  }
31049
31089
 
31050
31090
  // ../blocks/src/system/runtime/nodes/location-map.server.tsx
31051
- import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
31091
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
31052
31092
  function LocationMapSSR(props2) {
31053
31093
  const normalized = normalizeLocationMapProps(props2);
31054
31094
  const hydrationProps = toLocationMapHydrationProps(props2);
@@ -31059,8 +31099,8 @@ function LocationMapSSR(props2) {
31059
31099
  "data-block": "location-map",
31060
31100
  ...getIslandRootProps("location-map", props2.blockId),
31061
31101
  children: [
31062
- /* @__PURE__ */ jsx29(IslandPropsScript, { value: hydrationProps }),
31063
- /* @__PURE__ */ jsx29(
31102
+ /* @__PURE__ */ jsx30(IslandPropsScript, { value: hydrationProps }),
31103
+ /* @__PURE__ */ jsx30(
31064
31104
  LocationMapView,
31065
31105
  {
31066
31106
  addressText: normalized.addressText,
@@ -31071,7 +31111,7 @@ function LocationMapSSR(props2) {
31071
31111
  showDirections: normalized.showDirections,
31072
31112
  directionsLabel: normalized.directionsLabel,
31073
31113
  unresolvedMessage: normalized.unresolvedMessage,
31074
- renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx29(
31114
+ renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx30(
31075
31115
  "div",
31076
31116
  {
31077
31117
  className,
@@ -31207,12 +31247,12 @@ function formatCourseDateRange(range) {
31207
31247
  }
31208
31248
 
31209
31249
  // ../blocks/src/system/runtime/nodes/course-details/view.tsx
31210
- import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
31250
+ import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
31211
31251
  function TeamMemberName2({
31212
31252
  name,
31213
31253
  profilePath
31214
31254
  }) {
31215
- return profilePath ? /* @__PURE__ */ jsx30("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx30("strong", { children: name }) }) : /* @__PURE__ */ jsx30("strong", { children: name });
31255
+ return profilePath ? /* @__PURE__ */ jsx31("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx31("strong", { children: name }) }) : /* @__PURE__ */ jsx31("strong", { children: name });
31216
31256
  }
31217
31257
  function parseLimit2(value, fallback2) {
31218
31258
  if (value === "all") return "all";
@@ -31233,7 +31273,7 @@ function CourseDetailsView(props2) {
31233
31273
  showMembershipNote = true
31234
31274
  } = props2;
31235
31275
  if (!course) {
31236
- return /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
31276
+ return /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
31237
31277
  }
31238
31278
  const pricing = resolveCoursePricingState(course);
31239
31279
  const sessionLimit = parseLimit2(sessionsLimit, 10);
@@ -31243,12 +31283,12 @@ function CourseDetailsView(props2) {
31243
31283
  const descriptionDoc = showDescription ? coerceRichTextDoc(course.description) : null;
31244
31284
  const teamMembers = course.teamMembers ?? [];
31245
31285
  return /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-6", children: [
31246
- showTitle && /* @__PURE__ */ jsx30("h3", { children: course.title }),
31286
+ showTitle && /* @__PURE__ */ jsx31("h3", { children: course.title }),
31247
31287
  /* @__PURE__ */ jsxs18("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
31248
31288
  /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31249
31289
  showPrice && /* @__PURE__ */ jsxs18("div", { children: [
31250
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
31251
- pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs18("div", { children: [
31290
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
31291
+ pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs18("div", { children: [
31252
31292
  /* @__PURE__ */ jsxs18("strong", { children: [
31253
31293
  option.name,
31254
31294
  ": ",
@@ -31257,47 +31297,47 @@ function CourseDetailsView(props2) {
31257
31297
  pricing.currency
31258
31298
  )
31259
31299
  ] }),
31260
- option.description ? /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: option.description }) : null
31261
- ] }, option.id)) }) : /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
31300
+ option.description ? /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: option.description }) : null
31301
+ ] }, option.id)) }) : /* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsx31("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
31262
31302
  ] }),
31263
31303
  showCapacity && /* @__PURE__ */ jsxs18("div", { children: [
31264
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Spots" }),
31265
- /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
31304
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Spots" }),
31305
+ /* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsx31("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
31266
31306
  ] }),
31267
31307
  showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs18("div", { children: [
31268
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Membership" }),
31269
- /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
31308
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Membership" }),
31309
+ /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
31270
31310
  ] }),
31271
31311
  teamMembers.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
31272
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
31273
- /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs18("div", { children: [
31274
- /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
31312
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Team members" }),
31313
+ /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs18("div", { children: [
31314
+ /* @__PURE__ */ jsx31("p", { children: /* @__PURE__ */ jsx31(
31275
31315
  TeamMemberName2,
31276
31316
  {
31277
31317
  name: teamMember.name,
31278
31318
  profilePath: teamMember.profilePath
31279
31319
  }
31280
31320
  ) }),
31281
- teamMember.summary && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: teamMember.summary })
31321
+ teamMember.summary && /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: teamMember.summary })
31282
31322
  ] }, teamMember.id)) })
31283
31323
  ] })
31284
31324
  ] }),
31285
31325
  /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31286
31326
  showVenue && course.venue && /* @__PURE__ */ jsxs18("div", { children: [
31287
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Venue" }),
31288
- /* @__PURE__ */ jsx30("h3", { children: course.venue.name }),
31289
- course.venue.address && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: course.venue.address })
31327
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Venue" }),
31328
+ /* @__PURE__ */ jsx31("h3", { children: course.venue.name }),
31329
+ course.venue.address && /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: course.venue.address })
31290
31330
  ] }),
31291
31331
  showEnrollmentStatus && /* @__PURE__ */ jsxs18("div", { children: [
31292
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
31293
- /* @__PURE__ */ jsx30("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
31332
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
31333
+ /* @__PURE__ */ jsx31("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx31("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
31294
31334
  ] })
31295
31335
  ] })
31296
31336
  ] }),
31297
- descriptionDoc && /* @__PURE__ */ jsx30("div", { className: "cd-description", children: /* @__PURE__ */ jsx30(RichText, { doc: descriptionDoc }) }),
31337
+ descriptionDoc && /* @__PURE__ */ jsx31("div", { className: "cd-description", children: /* @__PURE__ */ jsx31(RichText, { doc: descriptionDoc }) }),
31298
31338
  showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
31299
- /* @__PURE__ */ jsx30("div", { className: "rb-label", children: "Sessions" }),
31300
- /* @__PURE__ */ jsx30("div", { className: "rb-mt-2 rb-tiles-grid", children: visibleSessions.map((s) => /* @__PURE__ */ jsx30("div", { className: "rb-tile", children: /* @__PURE__ */ jsx30(DateTimeTile, { startsAt: s.startsAt, endsAt: s.endsAt }) }, s.id)) }),
31339
+ /* @__PURE__ */ jsx31("div", { className: "rb-label", children: "Sessions" }),
31340
+ /* @__PURE__ */ jsx31("div", { className: "rb-mt-2 rb-tiles-grid", children: visibleSessions.map((s) => /* @__PURE__ */ jsx31("div", { className: "rb-tile", children: /* @__PURE__ */ jsx31(DateTimeTile, { startsAt: s.startsAt, endsAt: s.endsAt }) }, s.id)) }),
31301
31341
  hasMoreSessions && /* @__PURE__ */ jsxs18("p", { className: "cd-sessions__more", children: [
31302
31342
  "Showing ",
31303
31343
  visibleSessions.length,
@@ -31310,7 +31350,7 @@ function CourseDetailsView(props2) {
31310
31350
  }
31311
31351
 
31312
31352
  // ../blocks/src/system/runtime/nodes/course-details.server.tsx
31313
- import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
31353
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
31314
31354
  function CourseDetailsSSR({
31315
31355
  courses,
31316
31356
  contentEntry,
@@ -31349,7 +31389,7 @@ function CourseDetailsSSR({
31349
31389
  const lastPastRun = pastRuns[0] ?? null;
31350
31390
  const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
31351
31391
  return /* @__PURE__ */ jsxs19("div", { className: `course-details ${className ?? ""}`.trim(), "data-block": "course-details", children: [
31352
- selection.selected ? /* @__PURE__ */ jsx31(
31392
+ selection.selected ? /* @__PURE__ */ jsx32(
31353
31393
  CourseDetailsView,
31354
31394
  {
31355
31395
  course: selection.selected,
@@ -31365,30 +31405,30 @@ function CourseDetailsSSR({
31365
31405
  }
31366
31406
  ) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-flex-col rb-gap-3", children: [
31367
31407
  /* @__PURE__ */ jsxs19("div", { children: [
31368
- /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
31369
- /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
31408
+ /* @__PURE__ */ jsx32("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
31409
+ /* @__PURE__ */ jsx32("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
31370
31410
  ] }),
31371
- nonPastRuns.length > 0 ? /* @__PURE__ */ jsx31("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
31411
+ nonPastRuns.length > 0 ? /* @__PURE__ */ jsx32("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
31372
31412
  const start = range.start;
31373
31413
  const end = range.end;
31374
31414
  const isInProgress = Boolean(start && end && start <= now && end > now);
31375
31415
  const href = basePath ? `${basePath.replace(/\/$/, "")}/${course.slug}` : null;
31376
- return /* @__PURE__ */ jsx31("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-3", children: [
31416
+ return /* @__PURE__ */ jsx32("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx32("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-3", children: [
31377
31417
  /* @__PURE__ */ jsxs19("div", { className: "rb-min-w-0", children: [
31378
- href ? /* @__PURE__ */ jsx31("a", { href, className: "rb-truncate", children: /* @__PURE__ */ jsx31("strong", { children: course.title }) }) : /* @__PURE__ */ jsx31("div", { className: "rb-truncate", children: /* @__PURE__ */ jsx31("strong", { children: course.title }) }),
31379
- /* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
31418
+ href ? /* @__PURE__ */ jsx32("a", { href, className: "rb-truncate", children: /* @__PURE__ */ jsx32("strong", { children: course.title }) }) : /* @__PURE__ */ jsx32("div", { className: "rb-truncate", children: /* @__PURE__ */ jsx32("strong", { children: course.title }) }),
31419
+ /* @__PURE__ */ jsx32("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
31380
31420
  ] }),
31381
- /* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
31421
+ /* @__PURE__ */ jsx32("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
31382
31422
  ] }) }) }, course.id);
31383
- }) }) : /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
31423
+ }) }) : /* @__PURE__ */ jsx32("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
31384
31424
  lastPastRun ? /* @__PURE__ */ jsxs19("div", { className: "rb-caption status-muted", children: [
31385
31425
  "Last run: ",
31386
- /* @__PURE__ */ jsx31("strong", { children: lastPastRun.course.title }),
31426
+ /* @__PURE__ */ jsx32("strong", { children: lastPastRun.course.title }),
31387
31427
  " (",
31388
31428
  formatCourseDateRange(lastPastRun.range),
31389
31429
  ")"
31390
31430
  ] }) : null
31391
- ] }) : /* @__PURE__ */ jsx31(
31431
+ ] }) : /* @__PURE__ */ jsx32(
31392
31432
  CourseDetailsView,
31393
31433
  {
31394
31434
  course: null,
@@ -31409,7 +31449,7 @@ function CourseDetailsSSR({
31409
31449
  var course_details_server_default = CourseDetailsSSR;
31410
31450
 
31411
31451
  // ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
31412
- import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
31452
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
31413
31453
  var EventSpotlight = ({
31414
31454
  events,
31415
31455
  layout = "grid",
@@ -31427,13 +31467,13 @@ var EventSpotlight = ({
31427
31467
  }) => {
31428
31468
  const normalizedEvents = events ?? [];
31429
31469
  if (normalizedEvents.length === 0) {
31430
- return /* @__PURE__ */ jsx32(EmptyState, { message: emptyMessage, className });
31470
+ return /* @__PURE__ */ jsx33(EmptyState, { message: emptyMessage, className });
31431
31471
  }
31432
31472
  const containerClass = getContainerClass(layout, columns);
31433
31473
  const cardOrientation = getCardOrientation(layout);
31434
31474
  const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
31435
31475
  return /* @__PURE__ */ jsxs20("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
31436
- /* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
31476
+ /* @__PURE__ */ jsx33("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx33(
31437
31477
  EventCard,
31438
31478
  {
31439
31479
  event,
@@ -31447,93 +31487,93 @@ var EventSpotlight = ({
31447
31487
  },
31448
31488
  event.occurrenceId || event.id
31449
31489
  )) }),
31450
- ctaLabel && ctaUrl ? /* @__PURE__ */ jsx32("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx32("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
31490
+ ctaLabel && ctaUrl ? /* @__PURE__ */ jsx33("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx33("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
31451
31491
  ] });
31452
31492
  };
31453
31493
 
31454
31494
  // ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
31455
- import { z as z63 } from "zod";
31456
- var eventBlockKindSchema3 = z63.enum(eventBlockKindValues);
31457
- var eventSurfaceScopeSchema3 = z63.enum(eventSurfaceScopeValues);
31458
- var eventScheduleScopeSchema4 = z63.enum(eventScheduleScopeValues);
31459
- var eventCombinedSourceSchema = z63.object(
31495
+ import { z as z64 } from "zod";
31496
+ var eventBlockKindSchema3 = z64.enum(eventBlockKindValues);
31497
+ var eventSurfaceScopeSchema3 = z64.enum(eventSurfaceScopeValues);
31498
+ var eventScheduleScopeSchema4 = z64.enum(eventScheduleScopeValues);
31499
+ var eventCombinedSourceSchema = z64.object(
31460
31500
  {
31461
- events: z63.array(publicEventSchema).nullable().optional(),
31462
- siteId: z63.string(),
31463
- apiBaseUrl: z63.string().optional(),
31501
+ events: z64.array(publicEventSchema).nullable().optional(),
31502
+ siteId: z64.string(),
31503
+ apiBaseUrl: z64.string().optional(),
31464
31504
  stage: previewStageSchema.optional(),
31465
31505
  listLayout: eventLayoutSchema.optional(),
31466
31506
  listColumns: columnOptionSchema.optional(),
31467
- eventsPerPage: z63.string().optional(),
31468
- compactEventsPerPage: z63.string().optional(),
31469
- loadMoreText: z63.string().optional(),
31507
+ eventsPerPage: z64.string().optional(),
31508
+ compactEventsPerPage: z64.string().optional(),
31509
+ loadMoreText: z64.string().optional(),
31470
31510
  startOfWeek: weekStartSchema.optional(),
31471
31511
  calendarTabViews: calendarTabViewsSchema.optional(),
31472
- showFilters: z63.boolean().nullable().optional(),
31512
+ showFilters: z64.boolean().nullable().optional(),
31473
31513
  showCategoryFilter: filterAutoShowSchema.optional(),
31474
- showVenueFilter: z63.boolean().nullable().optional(),
31475
- showStaffFilter: z63.boolean().nullable().optional(),
31514
+ showVenueFilter: z64.boolean().nullable().optional(),
31515
+ showStaffFilter: z64.boolean().nullable().optional(),
31476
31516
  eventKind: eventBlockKindSchema3.nullable().optional(),
31477
31517
  eventSurface: eventSurfaceScopeSchema3.nullable().optional(),
31478
- filterEventPresets: z63.union([z63.string(), z63.array(z63.string())]).nullable().optional(),
31518
+ filterEventPresets: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
31479
31519
  scheduleScope: eventScheduleScopeSchema4.nullable().optional(),
31480
- filterCategoryIds: z63.union([z63.string(), z63.array(z63.string())]).nullable().optional(),
31481
- filterStaffMemberId: z63.string().nullable().optional(),
31482
- filterVenueId: z63.string().nullable().optional(),
31483
- showVenue: z63.boolean().nullable().optional(),
31484
- showMap: z63.boolean().nullable().optional(),
31485
- showCapacity: z63.boolean().nullable().optional(),
31520
+ filterCategoryIds: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
31521
+ filterStaffMemberId: z64.string().nullable().optional(),
31522
+ filterVenueId: z64.string().nullable().optional(),
31523
+ showVenue: z64.boolean().nullable().optional(),
31524
+ showMap: z64.boolean().nullable().optional(),
31525
+ showCapacity: z64.boolean().nullable().optional(),
31486
31526
  buttonVariant: eventButtonVariantSchema.optional(),
31487
- buttonText: z63.string().optional(),
31488
- emptyMessage: z63.string().optional(),
31489
- className: z63.string().optional()
31527
+ buttonText: z64.string().optional(),
31528
+ emptyMessage: z64.string().optional(),
31529
+ className: z64.string().optional()
31490
31530
  }
31491
31531
  );
31492
- var eventCombinedDisplaySchema = z63.object({
31493
- kind: z63.literal("event-combined"),
31494
- className: z63.string().nullable(),
31495
- events: z63.array(publicEventSchema),
31532
+ var eventCombinedDisplaySchema = z64.object({
31533
+ kind: z64.literal("event-combined"),
31534
+ className: z64.string().nullable(),
31535
+ events: z64.array(publicEventSchema),
31496
31536
  listLayout: eventLayoutSchema,
31497
31537
  listColumns: columnOptionSchema,
31498
- eventsPerPage: z63.string(),
31499
- loadMoreText: z63.string(),
31538
+ eventsPerPage: z64.string(),
31539
+ loadMoreText: z64.string(),
31500
31540
  startOfWeek: weekStartSchema,
31501
31541
  calendarTabViews: calendarTabViewsSchema,
31502
- showFilters: z63.boolean(),
31542
+ showFilters: z64.boolean(),
31503
31543
  showCategoryFilter: filterAutoShowSchema,
31504
- showVenueFilter: z63.boolean(),
31505
- showStaffFilter: z63.boolean(),
31544
+ showVenueFilter: z64.boolean(),
31545
+ showStaffFilter: z64.boolean(),
31506
31546
  eventKind: eventBlockKindSchema3,
31507
31547
  eventSurface: eventSurfaceScopeSchema3,
31508
- filterEventPresets: z63.string().nullable(),
31548
+ filterEventPresets: z64.string().nullable(),
31509
31549
  scheduleScope: eventScheduleScopeSchema4,
31510
- filterCategoryIds: z63.string().nullable(),
31511
- filterStaffMemberId: z63.string().nullable(),
31512
- filterVenueId: z63.string().nullable(),
31513
- showVenue: z63.boolean(),
31514
- showMap: z63.boolean(),
31515
- showCapacity: z63.boolean(),
31550
+ filterCategoryIds: z64.string().nullable(),
31551
+ filterStaffMemberId: z64.string().nullable(),
31552
+ filterVenueId: z64.string().nullable(),
31553
+ showVenue: z64.boolean(),
31554
+ showMap: z64.boolean(),
31555
+ showCapacity: z64.boolean(),
31516
31556
  buttonVariant: eventButtonVariantSchema,
31517
- buttonText: z63.string(),
31518
- emptyMessage: z63.string()
31557
+ buttonText: z64.string(),
31558
+ emptyMessage: z64.string()
31519
31559
  });
31520
- var eventCombinedHydrationSchema = z63.object({
31521
- siteId: z63.string(),
31560
+ var eventCombinedHydrationSchema = z64.object({
31561
+ siteId: z64.string(),
31522
31562
  stage: previewStageSchema.optional(),
31523
- prefetchedEvents: z63.boolean(),
31563
+ prefetchedEvents: z64.boolean(),
31524
31564
  eventKind: eventBlockKindSchema3,
31525
31565
  eventSurface: eventSurfaceScopeSchema3,
31526
- filterEventPresets: z63.string().nullable(),
31566
+ filterEventPresets: z64.string().nullable(),
31527
31567
  scheduleScope: eventScheduleScopeSchema4
31528
31568
  });
31529
- var eventCombinedRenderSchema = z63.object({
31569
+ var eventCombinedRenderSchema = z64.object({
31530
31570
  display: eventCombinedDisplaySchema,
31531
31571
  hydration: eventCombinedHydrationSchema
31532
31572
  });
31533
31573
  var eventCombinedIslandMetaCodec = createZodCodec(
31534
- z63.object({
31535
- siteId: z63.string(),
31536
- apiBaseUrl: z63.string().optional(),
31574
+ z64.object({
31575
+ siteId: z64.string(),
31576
+ apiBaseUrl: z64.string().optional(),
31537
31577
  stage: previewStageSchema.optional()
31538
31578
  })
31539
31579
  );
@@ -31640,10 +31680,10 @@ function buildEventCombinedInteractiveIslandProps(props2) {
31640
31680
  }
31641
31681
 
31642
31682
  // ../blocks/src/system/runtime/nodes/events/shared/renderEventListItem.tsx
31643
- import { jsx as jsx33 } from "react/jsx-runtime";
31683
+ import { jsx as jsx34 } from "react/jsx-runtime";
31644
31684
  function renderEventListItem(event, display) {
31645
31685
  if (display.listLayout === "compact") {
31646
- return /* @__PURE__ */ jsx33(
31686
+ return /* @__PURE__ */ jsx34(
31647
31687
  EventCompactRow,
31648
31688
  {
31649
31689
  event,
@@ -31653,7 +31693,7 @@ function renderEventListItem(event, display) {
31653
31693
  event.occurrenceId || event.id
31654
31694
  );
31655
31695
  }
31656
- return /* @__PURE__ */ jsx33(
31696
+ return /* @__PURE__ */ jsx34(
31657
31697
  EventCard,
31658
31698
  {
31659
31699
  event,
@@ -31671,7 +31711,7 @@ function renderEventListItem(event, display) {
31671
31711
  }
31672
31712
 
31673
31713
  // ../blocks/src/system/runtime/nodes/events/EventCombined.server.tsx
31674
- import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
31714
+ import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
31675
31715
  var EventCombinedSSR = ({
31676
31716
  blockId,
31677
31717
  ...source
@@ -31687,9 +31727,9 @@ var EventCombinedSSR = ({
31687
31727
  "data-block": "event-combined",
31688
31728
  ...getIslandRootProps("event-combined", blockId),
31689
31729
  children: [
31690
- /* @__PURE__ */ jsx34(IslandPropsScript, { value: islandProps }),
31730
+ /* @__PURE__ */ jsx35(IslandPropsScript, { value: islandProps }),
31691
31731
  /* @__PURE__ */ jsxs21("div", { className: "nav-tabs", role: "tablist", children: [
31692
- /* @__PURE__ */ jsx34(
31732
+ /* @__PURE__ */ jsx35(
31693
31733
  "button",
31694
31734
  {
31695
31735
  type: "button",
@@ -31699,7 +31739,7 @@ var EventCombinedSSR = ({
31699
31739
  children: "List"
31700
31740
  }
31701
31741
  ),
31702
- /* @__PURE__ */ jsx34(
31742
+ /* @__PURE__ */ jsx35(
31703
31743
  "button",
31704
31744
  {
31705
31745
  type: "button",
@@ -31710,17 +31750,17 @@ var EventCombinedSSR = ({
31710
31750
  }
31711
31751
  )
31712
31752
  ] }),
31713
- /* @__PURE__ */ jsx34("div", { className: "event-combined-content", children: listDisplay.events.length === 0 ? /* @__PURE__ */ jsx34(EmptyState, { message: ssrEmptyMessage }) : /* @__PURE__ */ jsx34("div", { className: listDisplay.containerClass, children: listDisplay.events.map((event) => renderEventListItem(event, listDisplay)) }) })
31753
+ /* @__PURE__ */ jsx35("div", { className: "event-combined-content", children: listDisplay.events.length === 0 ? /* @__PURE__ */ jsx35(EmptyState, { message: ssrEmptyMessage }) : /* @__PURE__ */ jsx35("div", { className: listDisplay.containerClass, children: listDisplay.events.map((event) => renderEventListItem(event, listDisplay)) }) })
31714
31754
  ]
31715
31755
  }
31716
31756
  );
31717
31757
  };
31718
31758
 
31719
31759
  // ../blocks/src/system/runtime/nodes/commerce/shared/view.tsx
31720
- import { Fragment as Fragment4, jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
31760
+ import { Fragment as Fragment4, jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
31721
31761
  function ProductBadgesView({ badges }) {
31722
31762
  if (badges.length === 0) return null;
31723
- return /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx35(
31763
+ return /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx36(
31724
31764
  "span",
31725
31765
  {
31726
31766
  className: "rb-inline-flex rb-items-center rb-rounded-full rb-border rb-px-3 rb-py-1 rb-text-xs",
@@ -31733,8 +31773,8 @@ function VariantSelectView(props2) {
31733
31773
  const { options, selectedVariantId, disabled = false, onChange } = props2;
31734
31774
  if (options.length === 0) return null;
31735
31775
  return /* @__PURE__ */ jsxs22("label", { className: "rb-flex rb-flex-col rb-gap-1", children: [
31736
- /* @__PURE__ */ jsx35("span", { className: "rb-label", children: "Variant" }),
31737
- /* @__PURE__ */ jsx35(
31776
+ /* @__PURE__ */ jsx36("span", { className: "rb-label", children: "Variant" }),
31777
+ /* @__PURE__ */ jsx36(
31738
31778
  "select",
31739
31779
  {
31740
31780
  className: "form-input",
@@ -31753,30 +31793,30 @@ function VariantSelectView(props2) {
31753
31793
  function ProductCardView(props2) {
31754
31794
  const { display, layout, variantControl, actions, feedback } = props2;
31755
31795
  return /* @__PURE__ */ jsxs22("article", { className: `rb-flex rb-gap-4 rb-rounded-2xl rb-border rb-p-4 ${layout === "list" ? "rb-flex-row" : "rb-flex-col"}`, children: [
31756
- display.image ? /* @__PURE__ */ jsx35("a", { href: display.path ?? void 0, className: "rb-block rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx35("img", { src: display.image.url, alt: display.image.alt ?? "", className: "rb-h-48 rb-w-full rb-object-cover" }) }) : null,
31796
+ display.image ? /* @__PURE__ */ jsx36("a", { href: display.path ?? void 0, className: "rb-block rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx36("img", { src: display.image.url, alt: display.image.alt ?? "", className: "rb-h-48 rb-w-full rb-object-cover" }) }) : null,
31757
31797
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-1 rb-flex-col rb-gap-3", children: [
31758
31798
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
31759
31799
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-start rb-justify-between rb-gap-3", children: [
31760
31800
  /* @__PURE__ */ jsxs22("div", { children: [
31761
- display.path ? /* @__PURE__ */ jsx35("a", { href: display.path, children: /* @__PURE__ */ jsx35("h3", { children: display.title }) }) : /* @__PURE__ */ jsx35("h3", { children: display.title }),
31762
- display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null
31801
+ display.path ? /* @__PURE__ */ jsx36("a", { href: display.path, children: /* @__PURE__ */ jsx36("h3", { children: display.title }) }) : /* @__PURE__ */ jsx36("h3", { children: display.title }),
31802
+ display.summary ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.summary }) : null
31763
31803
  ] }),
31764
- display.priceLabel ? /* @__PURE__ */ jsx35("div", { className: "rb-text-right", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) }) : null
31804
+ display.priceLabel ? /* @__PURE__ */ jsx36("div", { className: "rb-text-right", children: /* @__PURE__ */ jsx36("strong", { children: display.priceLabel }) }) : null
31765
31805
  ] }),
31766
- /* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges })
31806
+ /* @__PURE__ */ jsx36(ProductBadgesView, { badges: display.badges })
31767
31807
  ] }),
31768
31808
  variantControl,
31769
- /* @__PURE__ */ jsx35("div", { className: "rb-mt-auto rb-flex rb-items-center rb-gap-3", children: actions }),
31809
+ /* @__PURE__ */ jsx36("div", { className: "rb-mt-auto rb-flex rb-items-center rb-gap-3", children: actions }),
31770
31810
  feedback,
31771
- /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.selectionLabel })
31811
+ /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: display.selectionLabel })
31772
31812
  ] })
31773
31813
  ] });
31774
31814
  }
31775
31815
  function ProductListSectionView(props2) {
31776
31816
  const { display, children } = props2;
31777
31817
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-list ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
31778
- display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
31779
- display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx35(
31818
+ display.heading ? /* @__PURE__ */ jsx36("h2", { children: display.heading }) : null,
31819
+ display.state === "empty" ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx36(
31780
31820
  "div",
31781
31821
  {
31782
31822
  className: `rb-grid rb-gap-4 ${display.layout === "list" ? "rb-grid-cols-1" : ""}`,
@@ -31789,22 +31829,22 @@ function ProductListSectionView(props2) {
31789
31829
  function ProductDetailView(props2) {
31790
31830
  const { display, gallery, variantControl, actions, feedback, body } = props2;
31791
31831
  if (display.state === "empty") {
31792
- return /* @__PURE__ */ jsx35("div", { className: `shop shop--product-detail ${display.className ?? ""}`.trim(), "data-block": "shop", children: /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) });
31832
+ return /* @__PURE__ */ jsx36("div", { className: `shop shop--product-detail ${display.className ?? ""}`.trim(), "data-block": "shop", children: /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.emptyMessage }) });
31793
31833
  }
31794
31834
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-detail rb-grid rb-gap-6 rb-md-grid-cols-2 ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
31795
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
31835
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
31796
31836
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31797
- display.heading ? /* @__PURE__ */ jsx35("p", { className: "rb-label", children: display.heading }) : null,
31837
+ display.heading ? /* @__PURE__ */ jsx36("p", { className: "rb-label", children: display.heading }) : null,
31798
31838
  /* @__PURE__ */ jsxs22("div", { children: [
31799
- /* @__PURE__ */ jsx35("h2", { children: display.title }),
31800
- /* @__PURE__ */ jsx35("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) })
31839
+ /* @__PURE__ */ jsx36("h2", { children: display.title }),
31840
+ /* @__PURE__ */ jsx36("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx36("strong", { children: display.priceLabel }) })
31801
31841
  ] }),
31802
- /* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges }),
31803
- display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null,
31842
+ /* @__PURE__ */ jsx36(ProductBadgesView, { badges: display.badges }),
31843
+ display.summary ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.summary }) : null,
31804
31844
  variantControl,
31805
31845
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-gap-3", children: [
31806
31846
  actions,
31807
- display.categoryLabel ? /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
31847
+ display.categoryLabel ? /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
31808
31848
  ] }),
31809
31849
  feedback,
31810
31850
  body
@@ -31814,7 +31854,7 @@ function ProductDetailView(props2) {
31814
31854
  function ProductGalleryFrameView(props2) {
31815
31855
  const { gallery, renderCarousel } = props2;
31816
31856
  if (gallery.length === 0) return null;
31817
- const slides = gallery.map((image, index) => /* @__PURE__ */ jsx35("div", { className: "rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx35(
31857
+ const slides = gallery.map((image, index) => /* @__PURE__ */ jsx36("div", { className: "rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx36(
31818
31858
  "img",
31819
31859
  {
31820
31860
  src: image.url,
@@ -31825,23 +31865,23 @@ function ProductGalleryFrameView(props2) {
31825
31865
  if (slides.length === 1) {
31826
31866
  return slides[0] ?? null;
31827
31867
  }
31828
- return /* @__PURE__ */ jsx35(Fragment4, { children: renderCarousel(slides) });
31868
+ return /* @__PURE__ */ jsx36(Fragment4, { children: renderCarousel(slides) });
31829
31869
  }
31830
31870
  function PassCardView(props2) {
31831
31871
  return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--pass", children: [
31832
31872
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
31833
- /* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
31834
- /* @__PURE__ */ jsx35("div", { className: "shop__card-price", children: props2.display.priceLabel })
31873
+ /* @__PURE__ */ jsx36("h4", { className: "shop__card-name", children: props2.display.title }),
31874
+ /* @__PURE__ */ jsx36("div", { className: "shop__card-price", children: props2.display.priceLabel })
31835
31875
  ] }),
31836
- props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
31876
+ props2.display.description ? /* @__PURE__ */ jsx36("p", { className: "shop__card-description", children: props2.display.description }) : null,
31837
31877
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-details", children: [
31838
- /* @__PURE__ */ jsx35("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
31878
+ /* @__PURE__ */ jsx36("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
31839
31879
  props2.display.perCreditLabel ? /* @__PURE__ */ jsxs22("span", { className: "shop__card-per-credit", children: [
31840
31880
  "(",
31841
31881
  props2.display.perCreditLabel,
31842
31882
  ")"
31843
31883
  ] }) : null,
31844
- props2.display.validityLabel ? /* @__PURE__ */ jsx35("span", { className: "shop__card-validity", children: props2.display.validityLabel }) : null
31884
+ props2.display.validityLabel ? /* @__PURE__ */ jsx36("span", { className: "shop__card-validity", children: props2.display.validityLabel }) : null
31845
31885
  ] }),
31846
31886
  props2.action,
31847
31887
  props2.feedback
@@ -31850,14 +31890,14 @@ function PassCardView(props2) {
31850
31890
  function MembershipCardView(props2) {
31851
31891
  return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--membership", children: [
31852
31892
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
31853
- /* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
31893
+ /* @__PURE__ */ jsx36("h4", { className: "shop__card-name", children: props2.display.title }),
31854
31894
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-price", children: [
31855
31895
  props2.display.priceLabel,
31856
- /* @__PURE__ */ jsx35("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
31896
+ /* @__PURE__ */ jsx36("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
31857
31897
  ] })
31858
31898
  ] }),
31859
- props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
31860
- /* @__PURE__ */ jsx35("div", { className: "shop__card-details", children: /* @__PURE__ */ jsx35("span", { className: "shop__card-unlimited", children: "Unlimited classes" }) }),
31899
+ props2.display.description ? /* @__PURE__ */ jsx36("p", { className: "shop__card-description", children: props2.display.description }) : null,
31900
+ /* @__PURE__ */ jsx36("div", { className: "shop__card-details", children: /* @__PURE__ */ jsx36("span", { className: "shop__card-unlimited", children: "Unlimited classes" }) }),
31861
31901
  props2.action
31862
31902
  ] });
31863
31903
  }
@@ -31874,14 +31914,14 @@ function PassesMembershipsSectionView(props2) {
31874
31914
  style: gridStyle,
31875
31915
  children: [
31876
31916
  beforeContent,
31877
- display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
31917
+ display.state === "empty" ? /* @__PURE__ */ jsx36("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
31878
31918
  display.passes.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--passes", children: [
31879
- /* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.passesHeading }),
31880
- /* @__PURE__ */ jsx35("div", { className: productsClass, children: passCards })
31919
+ /* @__PURE__ */ jsx36("h3", { className: "shop__section-heading", children: display.passesHeading }),
31920
+ /* @__PURE__ */ jsx36("div", { className: productsClass, children: passCards })
31881
31921
  ] }) : null,
31882
31922
  display.memberships.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--memberships", children: [
31883
- /* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
31884
- /* @__PURE__ */ jsx35("div", { className: productsClass, children: membershipCards })
31923
+ /* @__PURE__ */ jsx36("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
31924
+ /* @__PURE__ */ jsx36("div", { className: productsClass, children: membershipCards })
31885
31925
  ] }) : null
31886
31926
  ]
31887
31927
  }
@@ -31890,41 +31930,41 @@ function PassesMembershipsSectionView(props2) {
31890
31930
  function CartShellView(props2) {
31891
31931
  const { display, renderControls, footerActions } = props2;
31892
31932
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--cart ${display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-cart", children: [
31893
- display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
31933
+ display.heading ? /* @__PURE__ */ jsx36("h2", { children: display.heading }) : null,
31894
31934
  display.state === "empty" ? /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
31895
- /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
31896
- display.supportText ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.supportText }) : null
31935
+ /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
31936
+ display.supportText ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.supportText }) : null
31897
31937
  ] }) : /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31898
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-3", children: display.items.map((item) => /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4 rb-rounded-xl rb-border rb-p-4", children: [
31938
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-flex-col rb-gap-3", children: display.items.map((item) => /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4 rb-rounded-xl rb-border rb-p-4", children: [
31899
31939
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-1", children: [
31900
- /* @__PURE__ */ jsx35("strong", { children: item.title }),
31901
- /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: item.priceLabel })
31940
+ /* @__PURE__ */ jsx36("strong", { children: item.title }),
31941
+ /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: item.priceLabel })
31902
31942
  ] }),
31903
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
31943
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
31904
31944
  ] }, item.key)) }),
31905
31945
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4", children: [
31906
31946
  /* @__PURE__ */ jsxs22("div", { children: [
31907
- /* @__PURE__ */ jsx35("strong", { children: "Subtotal" }),
31908
- /* @__PURE__ */ jsx35("div", { children: display.subtotalLabel })
31947
+ /* @__PURE__ */ jsx36("strong", { children: "Subtotal" }),
31948
+ /* @__PURE__ */ jsx36("div", { children: display.subtotalLabel })
31909
31949
  ] }),
31910
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-gap-2", children: footerActions })
31950
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-gap-2", children: footerActions })
31911
31951
  ] })
31912
31952
  ] })
31913
31953
  ] });
31914
31954
  }
31915
31955
  function CheckoutShellView(props2) {
31916
31956
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--checkout ${props2.display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-checkout", children: [
31917
- props2.display.heading ? /* @__PURE__ */ jsx35("h2", { children: props2.display.heading }) : null,
31957
+ props2.display.heading ? /* @__PURE__ */ jsx36("h2", { children: props2.display.heading }) : null,
31918
31958
  props2.notice,
31919
- props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: props2.display.message })
31959
+ props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: props2.display.message })
31920
31960
  ] });
31921
31961
  }
31922
31962
 
31923
31963
  // ../blocks/src/system/runtime/nodes/shop-commerce.server.tsx
31924
- import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
31964
+ import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
31925
31965
  function renderServerPendingAction(label, soldOut) {
31926
31966
  return /* @__PURE__ */ jsxs23(Fragment5, { children: [
31927
- /* @__PURE__ */ jsx36(
31967
+ /* @__PURE__ */ jsx37(
31928
31968
  "button",
31929
31969
  {
31930
31970
  type: "button",
@@ -31934,16 +31974,16 @@ function renderServerPendingAction(label, soldOut) {
31934
31974
  children: soldOut ? "Sold out" : label
31935
31975
  }
31936
31976
  ),
31937
- !soldOut ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
31977
+ !soldOut ? /* @__PURE__ */ jsx37("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
31938
31978
  ] });
31939
31979
  }
31940
31980
  function ProductListServerContent(props2) {
31941
- return /* @__PURE__ */ jsx36(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx36(
31981
+ return /* @__PURE__ */ jsx37(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx37(
31942
31982
  ProductCardView,
31943
31983
  {
31944
31984
  display: card,
31945
31985
  layout: props2.render.display.layout,
31946
- variantControl: /* @__PURE__ */ jsx36(
31986
+ variantControl: /* @__PURE__ */ jsx37(
31947
31987
  VariantSelectView,
31948
31988
  {
31949
31989
  options: card.variantOptions,
@@ -31953,7 +31993,7 @@ function ProductListServerContent(props2) {
31953
31993
  ),
31954
31994
  actions: /* @__PURE__ */ jsxs23(Fragment5, { children: [
31955
31995
  renderServerPendingAction(card.actionLabel, card.soldOut),
31956
- card.path ? /* @__PURE__ */ jsx36(
31996
+ card.path ? /* @__PURE__ */ jsx37(
31957
31997
  "a",
31958
31998
  {
31959
31999
  href: card.path,
@@ -31967,18 +32007,18 @@ function ProductListServerContent(props2) {
31967
32007
  )) });
31968
32008
  }
31969
32009
  function ProductDetailServerContent(props2) {
31970
- return /* @__PURE__ */ jsx36(
32010
+ return /* @__PURE__ */ jsx37(
31971
32011
  ProductDetailView,
31972
32012
  {
31973
32013
  display: props2.render.display,
31974
- gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx36(
32014
+ gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx37(
31975
32015
  ProductGalleryFrameView,
31976
32016
  {
31977
32017
  gallery: props2.render.display.gallery,
31978
- renderCarousel: (slides) => /* @__PURE__ */ jsx36(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
32018
+ renderCarousel: (slides) => /* @__PURE__ */ jsx37(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
31979
32019
  }
31980
32020
  ) : null,
31981
- variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx36(
32021
+ variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx37(
31982
32022
  VariantSelectView,
31983
32023
  {
31984
32024
  options: props2.render.display.variantOptions,
@@ -31990,19 +32030,19 @@ function ProductDetailServerContent(props2) {
31990
32030
  props2.render.display.actionLabel,
31991
32031
  props2.render.display.soldOut
31992
32032
  ) : null,
31993
- body: props2.render.display.state === "ready" && props2.render.display.body ? /* @__PURE__ */ jsx36("div", { className: "rb-prose rb-max-w-none", children: /* @__PURE__ */ jsx36(RichText, { doc: coerceRichTextDoc(props2.render.display.body) }) }) : null
32033
+ body: props2.render.display.state === "ready" && props2.render.display.body ? /* @__PURE__ */ jsx37("div", { className: "rb-prose rb-max-w-none", children: /* @__PURE__ */ jsx37(RichText, { doc: coerceRichTextDoc(props2.render.display.body) }) }) : null
31994
32034
  }
31995
32035
  );
31996
32036
  }
31997
32037
  function CartServerContent(props2) {
31998
- return /* @__PURE__ */ jsx36(CartShellView, { display: props2.render.display });
32038
+ return /* @__PURE__ */ jsx37(CartShellView, { display: props2.render.display });
31999
32039
  }
32000
32040
  function CheckoutServerContent(props2) {
32001
- return /* @__PURE__ */ jsx36(CheckoutShellView, { display: props2.render.display });
32041
+ return /* @__PURE__ */ jsx37(CheckoutShellView, { display: props2.render.display });
32002
32042
  }
32003
32043
 
32004
32044
  // ../blocks/src/system/runtime/nodes/cart.server.tsx
32005
- import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
32045
+ import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
32006
32046
  function CartSSR({
32007
32047
  blockId,
32008
32048
  siteId,
@@ -32027,8 +32067,8 @@ function CartSSR({
32027
32067
  "data-site-id": siteId ?? void 0,
32028
32068
  ...getIslandRootProps("cart", blockId),
32029
32069
  children: [
32030
- /* @__PURE__ */ jsx37(IslandPropsScript, { value: islandProps }),
32031
- /* @__PURE__ */ jsx37(CartServerContent, { render: islandProps.render }),
32070
+ /* @__PURE__ */ jsx38(IslandPropsScript, { value: islandProps }),
32071
+ /* @__PURE__ */ jsx38(CartServerContent, { render: islandProps.render }),
32032
32072
  children
32033
32073
  ]
32034
32074
  }
@@ -32037,7 +32077,7 @@ function CartSSR({
32037
32077
  var cart_server_default = CartSSR;
32038
32078
 
32039
32079
  // ../blocks/src/system/runtime/nodes/checkout.server.tsx
32040
- import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
32080
+ import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
32041
32081
  function CheckoutSSR({
32042
32082
  blockId,
32043
32083
  siteId,
@@ -32062,8 +32102,8 @@ function CheckoutSSR({
32062
32102
  "data-site-id": siteId ?? void 0,
32063
32103
  ...getIslandRootProps("checkout", blockId),
32064
32104
  children: [
32065
- /* @__PURE__ */ jsx38(IslandPropsScript, { value: islandProps }),
32066
- /* @__PURE__ */ jsx38(CheckoutServerContent, { render: islandProps.render }),
32105
+ /* @__PURE__ */ jsx39(IslandPropsScript, { value: islandProps }),
32106
+ /* @__PURE__ */ jsx39(CheckoutServerContent, { render: islandProps.render }),
32067
32107
  children
32068
32108
  ]
32069
32109
  }
@@ -32072,7 +32112,7 @@ function CheckoutSSR({
32072
32112
  var checkout_server_default = CheckoutSSR;
32073
32113
 
32074
32114
  // ../blocks/src/system/runtime/nodes/course-registration.server.tsx
32075
- import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
32115
+ import { jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
32076
32116
  function CourseRegistrationSSR({
32077
32117
  blockId,
32078
32118
  siteId,
@@ -32120,8 +32160,8 @@ function CourseRegistrationSSR({
32120
32160
  "data-block": "course-registration",
32121
32161
  ...getIslandRootProps("course-registration", blockId),
32122
32162
  children: [
32123
- /* @__PURE__ */ jsx39(IslandPropsScript, { value: islandProps }),
32124
- /* @__PURE__ */ jsx39("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx39("strong", { children: islandProps.render.display.summaryButtonText }) }),
32163
+ /* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
32164
+ /* @__PURE__ */ jsx40("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx40("strong", { children: islandProps.render.display.summaryButtonText }) }),
32125
32165
  children
32126
32166
  ]
32127
32167
  }
@@ -32130,7 +32170,7 @@ function CourseRegistrationSSR({
32130
32170
  var course_registration_server_default = CourseRegistrationSSR;
32131
32171
 
32132
32172
  // ../blocks/src/system/runtime/nodes/gifting.server.tsx
32133
- import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
32173
+ import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
32134
32174
  function GiftingSSR({ blockId, ...rest }) {
32135
32175
  const islandProps = buildGiftingInteractiveIslandProps(rest);
32136
32176
  const offers = islandProps.render.hydration.offers;
@@ -32147,7 +32187,7 @@ function GiftingSSR({ blockId, ...rest }) {
32147
32187
  },
32148
32188
  ...getIslandRootProps("gifting", blockId),
32149
32189
  children: [
32150
- /* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
32190
+ /* @__PURE__ */ jsx41(IslandPropsScript, { value: islandProps }),
32151
32191
  /* @__PURE__ */ jsxs27(
32152
32192
  "div",
32153
32193
  {
@@ -32157,13 +32197,13 @@ function GiftingSSR({ blockId, ...rest }) {
32157
32197
  },
32158
32198
  children: [
32159
32199
  /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "0.5rem" }, children: [
32160
- /* @__PURE__ */ jsx40("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
32161
- islandProps.render.display.intro ? /* @__PURE__ */ jsx40("p", { style: { margin: 0, color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: islandProps.render.display.intro }) : null
32200
+ /* @__PURE__ */ jsx41("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
32201
+ islandProps.render.display.intro ? /* @__PURE__ */ jsx41("p", { style: { margin: 0, color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: islandProps.render.display.intro }) : null
32162
32202
  ] }),
32163
32203
  hasOffers ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1.5rem" }, children: [
32164
32204
  (offers?.giftCards.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
32165
- /* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
32166
- /* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs27(
32205
+ /* @__PURE__ */ jsx41("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
32206
+ /* @__PURE__ */ jsx41("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs27(
32167
32207
  "article",
32168
32208
  {
32169
32209
  style: {
@@ -32173,16 +32213,16 @@ function GiftingSSR({ blockId, ...rest }) {
32173
32213
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
32174
32214
  },
32175
32215
  children: [
32176
- /* @__PURE__ */ jsx40("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32177
- offer.description ? /* @__PURE__ */ jsx40("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
32216
+ /* @__PURE__ */ jsx41("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32217
+ offer.description ? /* @__PURE__ */ jsx41("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
32178
32218
  ]
32179
32219
  },
32180
32220
  offer.id
32181
32221
  )) })
32182
32222
  ] }) : null,
32183
32223
  (offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
32184
- /* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
32185
- /* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs27(
32224
+ /* @__PURE__ */ jsx41("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
32225
+ /* @__PURE__ */ jsx41("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs27(
32186
32226
  "article",
32187
32227
  {
32188
32228
  style: {
@@ -32192,14 +32232,14 @@ function GiftingSSR({ blockId, ...rest }) {
32192
32232
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
32193
32233
  },
32194
32234
  children: [
32195
- /* @__PURE__ */ jsx40("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32196
- offer.description ? /* @__PURE__ */ jsx40("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
32235
+ /* @__PURE__ */ jsx41("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32236
+ offer.description ? /* @__PURE__ */ jsx41("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
32197
32237
  ]
32198
32238
  },
32199
32239
  offer.id
32200
32240
  )) })
32201
32241
  ] }) : null
32202
- ] }) : /* @__PURE__ */ jsx40("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
32242
+ ] }) : /* @__PURE__ */ jsx41("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
32203
32243
  ]
32204
32244
  }
32205
32245
  )
@@ -32210,12 +32250,12 @@ function GiftingSSR({ blockId, ...rest }) {
32210
32250
  var gifting_server_default = GiftingSSR;
32211
32251
 
32212
32252
  // ../blocks/src/system/runtime/nodes/events/EventListing.view.tsx
32213
- import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
32253
+ import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
32214
32254
  function EventListingFrameView(props2) {
32215
32255
  const { display, filters, emptyState: emptyState4, footer, renderEventCard: renderEventCard2 } = props2;
32216
32256
  return /* @__PURE__ */ jsxs28("div", { className: `event-listing ${display.className ?? ""}`, "data-block": "event-listing", children: [
32217
32257
  filters,
32218
- display.state === "loading" ? /* @__PURE__ */ jsx41(EmptyState, { message: display.loadingMessage }) : display.state === "empty" ? emptyState4 ?? /* @__PURE__ */ jsx41(EmptyState, { message: display.emptyMessage }) : /* @__PURE__ */ jsx41("div", { className: display.containerClass, children: display.events.map((event) => renderEventCard2(event)) }),
32258
+ display.state === "loading" ? /* @__PURE__ */ jsx42(EmptyState, { message: display.loadingMessage }) : display.state === "empty" ? emptyState4 ?? /* @__PURE__ */ jsx42(EmptyState, { message: display.emptyMessage }) : /* @__PURE__ */ jsx42("div", { className: display.containerClass, children: display.events.map((event) => renderEventCard2(event)) }),
32219
32259
  footer
32220
32260
  ] });
32221
32261
  }
@@ -32292,7 +32332,7 @@ function formatShortDayLabel(date) {
32292
32332
  }
32293
32333
 
32294
32334
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.server.tsx
32295
- import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
32335
+ import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
32296
32336
  function assertNeverDisplayMode(value) {
32297
32337
  throw new Error(`Unsupported event-calendar displayMode: ${String(value)}`);
32298
32338
  }
@@ -32306,7 +32346,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32306
32346
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents, "event-combined-content");
32307
32347
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-combined", display.className ?? void 0), "data-block": "event-combined", children: [
32308
32348
  /* @__PURE__ */ jsxs29("div", { className: "nav-tabs", role: "tablist", children: [
32309
- /* @__PURE__ */ jsx42(
32349
+ /* @__PURE__ */ jsx43(
32310
32350
  "button",
32311
32351
  {
32312
32352
  type: "button",
@@ -32316,7 +32356,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32316
32356
  children: "List"
32317
32357
  }
32318
32358
  ),
32319
- /* @__PURE__ */ jsx42(
32359
+ /* @__PURE__ */ jsx43(
32320
32360
  "button",
32321
32361
  {
32322
32362
  type: "button",
@@ -32327,7 +32367,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32327
32367
  }
32328
32368
  )
32329
32369
  ] }),
32330
- /* @__PURE__ */ jsx42(
32370
+ /* @__PURE__ */ jsx43(
32331
32371
  EventListingFrameView,
32332
32372
  {
32333
32373
  display: listDisplay,
@@ -32338,7 +32378,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32338
32378
  }
32339
32379
  function renderListSsr(display, prefetchedEvents) {
32340
32380
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents);
32341
- return /* @__PURE__ */ jsx42(
32381
+ return /* @__PURE__ */ jsx43(
32342
32382
  EventListingFrameView,
32343
32383
  {
32344
32384
  display: listDisplay,
@@ -32356,27 +32396,27 @@ function renderCalendarGrid(display) {
32356
32396
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", display.className ?? void 0), "data-block": "event-calendar", children: [
32357
32397
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
32358
32398
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
32359
- /* @__PURE__ */ jsx42(
32399
+ /* @__PURE__ */ jsx43(
32360
32400
  "button",
32361
32401
  {
32362
32402
  type: "button",
32363
32403
  className: "event-calendar-nav-btn",
32364
32404
  "aria-label": calendarView === "week" ? "Previous week" : "Previous month",
32365
- children: /* @__PURE__ */ jsx42("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
32405
+ children: /* @__PURE__ */ jsx43("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
32366
32406
  }
32367
32407
  ),
32368
- /* @__PURE__ */ jsx42("h3", { className: "event-calendar-title", children: headerTitle }),
32369
- /* @__PURE__ */ jsx42(
32408
+ /* @__PURE__ */ jsx43("h3", { className: "event-calendar-title", children: headerTitle }),
32409
+ /* @__PURE__ */ jsx43(
32370
32410
  "button",
32371
32411
  {
32372
32412
  type: "button",
32373
32413
  className: "event-calendar-nav-btn",
32374
32414
  "aria-label": calendarView === "week" ? "Next week" : "Next month",
32375
- children: /* @__PURE__ */ jsx42("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
32415
+ children: /* @__PURE__ */ jsx43("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
32376
32416
  }
32377
32417
  )
32378
32418
  ] }),
32379
- /* @__PURE__ */ jsx42(
32419
+ /* @__PURE__ */ jsx43(
32380
32420
  "button",
32381
32421
  {
32382
32422
  type: "button",
@@ -32389,8 +32429,8 @@ function renderCalendarGrid(display) {
32389
32429
  )
32390
32430
  ] }),
32391
32431
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-container", children: [
32392
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-header", children: day }, day)) }),
32393
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
32432
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-header", children: day }, day)) }),
32433
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
32394
32434
  const dateKey = formatDateKey2(date);
32395
32435
  const dayEvents = eventsByDate.get(dateKey) || [];
32396
32436
  const isCurrentMonth = date.getMonth() === viewDate.getMonth();
@@ -32401,7 +32441,7 @@ function renderCalendarGrid(display) {
32401
32441
  today && "event-calendar-day--today"
32402
32442
  );
32403
32443
  return /* @__PURE__ */ jsxs29("div", { className: dayClasses, children: [
32404
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-number", children: date.getDate() }),
32444
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-number", children: date.getDate() }),
32405
32445
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-events", children: [
32406
32446
  dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */ jsxs29(
32407
32447
  "a",
@@ -32410,9 +32450,9 @@ function renderCalendarGrid(display) {
32410
32450
  className: "event-calendar-event",
32411
32451
  title: `${event.title} at ${formatTime(event.startsAt, { timeZone: getEventTimeZone(event) })}`,
32412
32452
  children: [
32413
- /* @__PURE__ */ jsx42("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
32453
+ /* @__PURE__ */ jsx43("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
32414
32454
  " ",
32415
- /* @__PURE__ */ jsx42("span", { className: "event-calendar-event-title", children: event.title })
32455
+ /* @__PURE__ */ jsx43("span", { className: "event-calendar-event-title", children: event.title })
32416
32456
  ]
32417
32457
  },
32418
32458
  event.occurrenceId || event.id
@@ -32426,7 +32466,7 @@ function renderCalendarGrid(display) {
32426
32466
  ] }, dateKey);
32427
32467
  }) })
32428
32468
  ] }),
32429
- display.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
32469
+ display.events.length === 0 ? /* @__PURE__ */ jsx43("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
32430
32470
  ] });
32431
32471
  }
32432
32472
  function renderTimetableSsr(display) {
@@ -32442,27 +32482,27 @@ function renderTimetableSsr(display) {
32442
32482
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", "event-calendar--timetable", display.className ?? void 0), "data-block": "event-calendar", children: [
32443
32483
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
32444
32484
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
32445
- /* @__PURE__ */ jsx42(
32485
+ /* @__PURE__ */ jsx43(
32446
32486
  "button",
32447
32487
  {
32448
32488
  type: "button",
32449
32489
  className: "event-calendar-nav-btn",
32450
32490
  "aria-label": "Previous week",
32451
- children: /* @__PURE__ */ jsx42("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
32491
+ children: /* @__PURE__ */ jsx43("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
32452
32492
  }
32453
32493
  ),
32454
- /* @__PURE__ */ jsx42("h3", { className: "event-calendar-title", children: headerTitle }),
32455
- /* @__PURE__ */ jsx42(
32494
+ /* @__PURE__ */ jsx43("h3", { className: "event-calendar-title", children: headerTitle }),
32495
+ /* @__PURE__ */ jsx43(
32456
32496
  "button",
32457
32497
  {
32458
32498
  type: "button",
32459
32499
  className: "event-calendar-nav-btn",
32460
32500
  "aria-label": "Next week",
32461
- children: /* @__PURE__ */ jsx42("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
32501
+ children: /* @__PURE__ */ jsx43("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
32462
32502
  }
32463
32503
  )
32464
32504
  ] }),
32465
- /* @__PURE__ */ jsx42(
32505
+ /* @__PURE__ */ jsx43(
32466
32506
  "button",
32467
32507
  {
32468
32508
  type: "button",
@@ -32475,7 +32515,7 @@ function renderTimetableSsr(display) {
32475
32515
  )
32476
32516
  ] }),
32477
32517
  /* @__PURE__ */ jsxs29("div", { className: "event-timetable", children: [
32478
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx42(
32518
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx43(
32479
32519
  "button",
32480
32520
  {
32481
32521
  type: "button",
@@ -32487,10 +32527,10 @@ function renderTimetableSsr(display) {
32487
32527
  },
32488
32528
  day.dateKey
32489
32529
  )) }),
32490
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs29("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
32530
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs29("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
32491
32531
  /* @__PURE__ */ jsxs29("div", { className: "event-timetable-time-rail", "aria-hidden": "true", children: [
32492
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-day-heading" }),
32493
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
32532
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-day-heading" }),
32533
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx43(
32494
32534
  "div",
32495
32535
  {
32496
32536
  className: "event-timetable-time-label",
@@ -32511,7 +32551,7 @@ function renderTimetableSsr(display) {
32511
32551
  children: [
32512
32552
  /* @__PURE__ */ jsxs29("h4", { className: "event-timetable-day-heading", children: [
32513
32553
  day.label,
32514
- day.isToday ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-today-badge", children: "Today" }) : null
32554
+ day.isToday ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-today-badge", children: "Today" }) : null
32515
32555
  ] }),
32516
32556
  /* @__PURE__ */ jsxs29(
32517
32557
  "div",
@@ -32519,7 +32559,7 @@ function renderTimetableSsr(display) {
32519
32559
  className: "event-timetable-day-body",
32520
32560
  style: { "--event-timetable-range-minutes": String(model.rangeMinutes) },
32521
32561
  children: [
32522
- model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
32562
+ model.hourTicks.map((hour) => /* @__PURE__ */ jsx43(
32523
32563
  "div",
32524
32564
  {
32525
32565
  className: "event-timetable-hour-line",
@@ -32528,7 +32568,7 @@ function renderTimetableSsr(display) {
32528
32568
  },
32529
32569
  hour
32530
32570
  )),
32531
- day.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs29(
32571
+ day.events.length === 0 ? /* @__PURE__ */ jsx43("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs29(
32532
32572
  "a",
32533
32573
  {
32534
32574
  href: cell.event.path,
@@ -32542,11 +32582,11 @@ function renderTimetableSsr(display) {
32542
32582
  borderColor: cell.categoryColor
32543
32583
  },
32544
32584
  children: [
32545
- /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
32546
- /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-title", children: cell.event.title }),
32547
- cell.teacherLine ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
32548
- cell.event.venue ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
32549
- display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx42(
32585
+ /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
32586
+ /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-title", children: cell.event.title }),
32587
+ cell.teacherLine ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
32588
+ cell.event.venue ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
32589
+ display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx43(
32550
32590
  "span",
32551
32591
  {
32552
32592
  className: clsx_default(
@@ -32568,7 +32608,7 @@ function renderTimetableSsr(display) {
32568
32608
  day.dateKey
32569
32609
  ))
32570
32610
  ] }) }),
32571
- !model.hasEvents ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
32611
+ !model.hasEvents ? /* @__PURE__ */ jsx43("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
32572
32612
  ] })
32573
32613
  ] });
32574
32614
  }
@@ -32606,19 +32646,19 @@ var EventCalendarSSR = (props2) => {
32606
32646
  content = assertNeverDisplayMode(display.displayMode);
32607
32647
  }
32608
32648
  return /* @__PURE__ */ jsxs29("div", { ...getIslandRootProps("event-calendar", props2.blockId), children: [
32609
- /* @__PURE__ */ jsx42(IslandPropsScript, { value: islandProps }),
32649
+ /* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
32610
32650
  content
32611
32651
  ] });
32612
32652
  };
32613
32653
 
32614
32654
  // ../blocks/src/system/runtime/nodes/events/EventListing.server.tsx
32615
- import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
32655
+ import { jsx as jsx44, jsxs as jsxs30 } from "react/jsx-runtime";
32616
32656
  var EventListingSSR = (props2) => {
32617
32657
  const islandProps = buildEventListingInteractiveIslandProps(props2);
32618
32658
  const display = islandProps.render.display;
32619
32659
  return /* @__PURE__ */ jsxs30("div", { ...getIslandRootProps("event-listing", props2.blockId), children: [
32620
- /* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
32621
- /* @__PURE__ */ jsx43(
32660
+ /* @__PURE__ */ jsx44(IslandPropsScript, { value: islandProps }),
32661
+ /* @__PURE__ */ jsx44(
32622
32662
  EventListingFrameView,
32623
32663
  {
32624
32664
  display,
@@ -32629,7 +32669,7 @@ var EventListingSSR = (props2) => {
32629
32669
  };
32630
32670
 
32631
32671
  // ../blocks/src/system/runtime/nodes/event-registration.server.tsx
32632
- import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
32672
+ import { jsx as jsx45, jsxs as jsxs31 } from "react/jsx-runtime";
32633
32673
  function EventRegistrationSSR({
32634
32674
  blockId,
32635
32675
  siteId,
@@ -32676,8 +32716,8 @@ function EventRegistrationSSR({
32676
32716
  className: `event-registration ${className ?? ""}`.trim(),
32677
32717
  ...getIslandRootProps("event-registration", blockId),
32678
32718
  children: [
32679
- /* @__PURE__ */ jsx44(IslandPropsScript, { value: islandProps }),
32680
- /* @__PURE__ */ jsx44("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx44("strong", { children: islandProps.render.display.summaryButtonText }) }),
32719
+ /* @__PURE__ */ jsx45(IslandPropsScript, { value: islandProps }),
32720
+ /* @__PURE__ */ jsx45("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx45("strong", { children: islandProps.render.display.summaryButtonText }) }),
32681
32721
  children
32682
32722
  ]
32683
32723
  }
@@ -32686,7 +32726,7 @@ function EventRegistrationSSR({
32686
32726
  var event_registration_server_default = EventRegistrationSSR;
32687
32727
 
32688
32728
  // ../blocks/src/system/runtime/shared/components/FeedbackMessage.tsx
32689
- import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
32729
+ import { jsx as jsx46, jsxs as jsxs32 } from "react/jsx-runtime";
32690
32730
  function joinClasses5(...parts) {
32691
32731
  return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
32692
32732
  }
@@ -32710,15 +32750,15 @@ function FeedbackMessage({
32710
32750
  role,
32711
32751
  "aria-live": resolvedLive === "off" ? void 0 : resolvedLive,
32712
32752
  children: [
32713
- title ? /* @__PURE__ */ jsx45("p", { className: joinClasses5(titleClassName), "data-feedback-title": true, children: title }) : null,
32714
- shouldWrapBody ? /* @__PURE__ */ jsx45("div", { className: joinClasses5(bodyClassName), "data-feedback-body": true, children }) : children
32753
+ title ? /* @__PURE__ */ jsx46("p", { className: joinClasses5(titleClassName), "data-feedback-title": true, children: title }) : null,
32754
+ shouldWrapBody ? /* @__PURE__ */ jsx46("div", { className: joinClasses5(bodyClassName), "data-feedback-body": true, children }) : children
32715
32755
  ]
32716
32756
  }
32717
32757
  );
32718
32758
  }
32719
32759
 
32720
32760
  // ../blocks/src/system/runtime/nodes/form.server.tsx
32721
- import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
32761
+ import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
32722
32762
  var FormNodeSSR = ({
32723
32763
  blockId,
32724
32764
  value,
@@ -32744,8 +32784,8 @@ var FormNodeSSR = ({
32744
32784
  const form2 = display.form;
32745
32785
  if (!form2) {
32746
32786
  return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
32747
- /* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
32748
- /* @__PURE__ */ jsx46(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
32787
+ /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32788
+ /* @__PURE__ */ jsx47(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
32749
32789
  ] });
32750
32790
  }
32751
32791
  const groups = display.groups;
@@ -32756,8 +32796,8 @@ var FormNodeSSR = ({
32756
32796
  const type = String(field.type ?? "text");
32757
32797
  if (type === "textarea") {
32758
32798
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32759
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32760
- /* @__PURE__ */ jsx46(
32799
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32800
+ /* @__PURE__ */ jsx47(
32761
32801
  "textarea",
32762
32802
  {
32763
32803
  id: inputId,
@@ -32774,19 +32814,19 @@ var FormNodeSSR = ({
32774
32814
  const options = field.options ?? [];
32775
32815
  const multiple = Boolean(field.multiple);
32776
32816
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32777
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32817
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32778
32818
  /* @__PURE__ */ jsxs33("select", { id: inputId, name: field.id, multiple, required, className: "form-select", children: [
32779
- !multiple && /* @__PURE__ */ jsx46("option", { value: "", children: "Select\u2026" }),
32780
- options.map((opt) => /* @__PURE__ */ jsx46("option", { value: opt.value, children: opt.label }, opt.value))
32819
+ !multiple && /* @__PURE__ */ jsx47("option", { value: "", children: "Select\u2026" }),
32820
+ options.map((opt) => /* @__PURE__ */ jsx47("option", { value: opt.value, children: opt.label }, opt.value))
32781
32821
  ] })
32782
32822
  ] }, field.id);
32783
32823
  }
32784
32824
  if (type === "radio") {
32785
32825
  const options = field.options ?? [];
32786
32826
  return /* @__PURE__ */ jsxs33("fieldset", { className: "fb-fieldset", children: [
32787
- /* @__PURE__ */ jsx46("legend", { className: "form-label", children: label }),
32827
+ /* @__PURE__ */ jsx47("legend", { className: "form-label", children: label }),
32788
32828
  options.map((opt) => /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
32789
- /* @__PURE__ */ jsx46(
32829
+ /* @__PURE__ */ jsx47(
32790
32830
  "input",
32791
32831
  {
32792
32832
  type: "radio",
@@ -32796,14 +32836,14 @@ var FormNodeSSR = ({
32796
32836
  className: "form-radio"
32797
32837
  }
32798
32838
  ),
32799
- /* @__PURE__ */ jsx46("span", { children: opt.label })
32839
+ /* @__PURE__ */ jsx47("span", { children: opt.label })
32800
32840
  ] }, opt.value))
32801
32841
  ] }, field.id);
32802
32842
  }
32803
32843
  if (type === "checkbox" || type === "consent") {
32804
32844
  return /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
32805
- /* @__PURE__ */ jsx46("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
32806
- /* @__PURE__ */ jsx46("span", { children: label })
32845
+ /* @__PURE__ */ jsx47("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
32846
+ /* @__PURE__ */ jsx47("span", { children: label })
32807
32847
  ] }, field.id);
32808
32848
  }
32809
32849
  const inputType = type === "email" || type === "url" || type === "tel" || type === "number" ? type : "text";
@@ -32818,8 +32858,8 @@ var FormNodeSSR = ({
32818
32858
  if (typeof field.max === "number") extra.max = field.max;
32819
32859
  }
32820
32860
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32821
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32822
- /* @__PURE__ */ jsx46(
32861
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32862
+ /* @__PURE__ */ jsx47(
32823
32863
  "input",
32824
32864
  {
32825
32865
  id: inputId,
@@ -32834,7 +32874,7 @@ var FormNodeSSR = ({
32834
32874
  ] }, field.id);
32835
32875
  };
32836
32876
  return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
32837
- /* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
32877
+ /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32838
32878
  /* @__PURE__ */ jsxs33(
32839
32879
  "form",
32840
32880
  {
@@ -32843,15 +32883,15 @@ var FormNodeSSR = ({
32843
32883
  onSubmit,
32844
32884
  className: clsx_default("fb-form", display.className ?? void 0),
32845
32885
  children: [
32846
- /* @__PURE__ */ jsx46("input", { type: "hidden", name: "form_id", value: form2.id }),
32847
- /* @__PURE__ */ jsx46("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
32886
+ /* @__PURE__ */ jsx47("input", { type: "hidden", name: "form_id", value: form2.id }),
32887
+ /* @__PURE__ */ jsx47("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
32848
32888
  groups.map((group) => {
32849
32889
  if (group.type === "row") {
32850
- return /* @__PURE__ */ jsx46("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
32890
+ return /* @__PURE__ */ jsx47("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
32851
32891
  }
32852
32892
  return renderField(group.field);
32853
32893
  }),
32854
- /* @__PURE__ */ jsx46("div", { className: "fb-actions", children: /* @__PURE__ */ jsx46("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx46(
32894
+ /* @__PURE__ */ jsx47("div", { className: "fb-actions", children: /* @__PURE__ */ jsx47("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx47(
32855
32895
  "button",
32856
32896
  {
32857
32897
  type: "submit",
@@ -32870,7 +32910,7 @@ var FormNodeSSR = ({
32870
32910
  };
32871
32911
 
32872
32912
  // ../blocks/src/system/runtime/nodes/newsletter-form.server.tsx
32873
- import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
32913
+ import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
32874
32914
  function NewsletterFormSSR({
32875
32915
  blockId,
32876
32916
  siteId,
@@ -32905,9 +32945,9 @@ function NewsletterFormSSR({
32905
32945
  return /* @__PURE__ */ jsxs34("div", { className: "fb-field newsletter-field", children: [
32906
32946
  /* @__PURE__ */ jsxs34("label", { htmlFor: inputId, className: "form-label", children: [
32907
32947
  field.label,
32908
- field.required && /* @__PURE__ */ jsx47("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
32948
+ field.required && /* @__PURE__ */ jsx48("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
32909
32949
  ] }),
32910
- /* @__PURE__ */ jsx47(
32950
+ /* @__PURE__ */ jsx48(
32911
32951
  "input",
32912
32952
  {
32913
32953
  id: inputId,
@@ -32927,9 +32967,9 @@ function NewsletterFormSSR({
32927
32967
  ...getIslandRootProps("newsletter-form", blockId),
32928
32968
  className: clsx_default("newsletter-form-ssr", className),
32929
32969
  children: [
32930
- /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32970
+ /* @__PURE__ */ jsx48(IslandPropsScript, { value: islandProps }),
32931
32971
  /* @__PURE__ */ jsxs34("form", { method: "POST", className: "newsletter-form fb-form", children: [
32932
- /* @__PURE__ */ jsx47(
32972
+ /* @__PURE__ */ jsx48(
32933
32973
  "input",
32934
32974
  {
32935
32975
  type: "text",
@@ -32942,7 +32982,7 @@ function NewsletterFormSSR({
32942
32982
  ),
32943
32983
  /* @__PURE__ */ jsxs34("div", { className: "newsletter-form-fields", children: [
32944
32984
  fields3.map(renderField),
32945
- /* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
32985
+ /* @__PURE__ */ jsx48("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx48(
32946
32986
  "button",
32947
32987
  {
32948
32988
  type: "submit",
@@ -32951,7 +32991,7 @@ function NewsletterFormSSR({
32951
32991
  }
32952
32992
  ) })
32953
32993
  ] }),
32954
- display.privacyNote && /* @__PURE__ */ jsx47("p", { className: "newsletter-privacy-note", children: display.privacyNote })
32994
+ display.privacyNote && /* @__PURE__ */ jsx48("p", { className: "newsletter-privacy-note", children: display.privacyNote })
32955
32995
  ] })
32956
32996
  ]
32957
32997
  }
@@ -32960,7 +33000,7 @@ function NewsletterFormSSR({
32960
33000
  var newsletter_form_server_default = NewsletterFormSSR;
32961
33001
 
32962
33002
  // ../blocks/src/system/runtime/nodes/product-detail.server.tsx
32963
- import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
33003
+ import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
32964
33004
  function ProductDetailSSR({
32965
33005
  blockId,
32966
33006
  siteId,
@@ -32985,8 +33025,8 @@ function ProductDetailSSR({
32985
33025
  "data-site-id": siteId ?? void 0,
32986
33026
  ...getIslandRootProps("product-detail", blockId),
32987
33027
  children: [
32988
- /* @__PURE__ */ jsx48(IslandPropsScript, { value: islandProps }),
32989
- /* @__PURE__ */ jsx48(ProductDetailServerContent, { render: islandProps.render }),
33028
+ /* @__PURE__ */ jsx49(IslandPropsScript, { value: islandProps }),
33029
+ /* @__PURE__ */ jsx49(ProductDetailServerContent, { render: islandProps.render }),
32990
33030
  children
32991
33031
  ]
32992
33032
  }
@@ -32995,7 +33035,7 @@ function ProductDetailSSR({
32995
33035
  var product_detail_server_default = ProductDetailSSR;
32996
33036
 
32997
33037
  // ../blocks/src/system/runtime/nodes/product-list.server.tsx
32998
- import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
33038
+ import { jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
32999
33039
  function ProductListSSR({
33000
33040
  blockId,
33001
33041
  siteId,
@@ -33020,8 +33060,8 @@ function ProductListSSR({
33020
33060
  "data-site-id": siteId ?? void 0,
33021
33061
  ...getIslandRootProps("product-list", blockId),
33022
33062
  children: [
33023
- /* @__PURE__ */ jsx49(IslandPropsScript, { value: islandProps }),
33024
- /* @__PURE__ */ jsx49(ProductListServerContent, { render: islandProps.render }),
33063
+ /* @__PURE__ */ jsx50(IslandPropsScript, { value: islandProps }),
33064
+ /* @__PURE__ */ jsx50(ProductListServerContent, { render: islandProps.render }),
33025
33065
  children
33026
33066
  ]
33027
33067
  }
@@ -33030,7 +33070,7 @@ function ProductListSSR({
33030
33070
  var product_list_server_default = ProductListSSR;
33031
33071
 
33032
33072
  // ../blocks/src/system/runtime/nodes/shop.server.tsx
33033
- import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
33073
+ import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
33034
33074
  function ShopSSR({
33035
33075
  blockId,
33036
33076
  siteId,
@@ -33057,16 +33097,16 @@ function ShopSSR({
33057
33097
  "data-site-id": siteId ?? void 0,
33058
33098
  ...getIslandRootProps("shop", blockId),
33059
33099
  children: [
33060
- /* @__PURE__ */ jsx50(IslandPropsScript, { value: islandProps }),
33061
- /* @__PURE__ */ jsx50(
33100
+ /* @__PURE__ */ jsx51(IslandPropsScript, { value: islandProps }),
33101
+ /* @__PURE__ */ jsx51(
33062
33102
  PassesMembershipsSectionView,
33063
33103
  {
33064
33104
  display: render.display,
33065
- passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx50(
33105
+ passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx51(
33066
33106
  PassCardView,
33067
33107
  {
33068
33108
  display: pass,
33069
- action: /* @__PURE__ */ jsx50(
33109
+ action: /* @__PURE__ */ jsx51(
33070
33110
  "button",
33071
33111
  {
33072
33112
  type: "button",
@@ -33079,11 +33119,11 @@ function ShopSSR({
33079
33119
  },
33080
33120
  pass.id
33081
33121
  )),
33082
- membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx50(
33122
+ membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx51(
33083
33123
  MembershipCardView,
33084
33124
  {
33085
33125
  display: membership,
33086
- action: /* @__PURE__ */ jsx50(
33126
+ action: /* @__PURE__ */ jsx51(
33087
33127
  "button",
33088
33128
  {
33089
33129
  type: "button",
@@ -37511,7 +37551,7 @@ function transformSdkBlockToDefinition(sdkBlock) {
37511
37551
  }
37512
37552
 
37513
37553
  // ../blocks/src/PageRenderer.tsx
37514
- import { Fragment as Fragment6, jsx as jsx51 } from "react/jsx-runtime";
37554
+ import { Fragment as Fragment6, jsx as jsx52 } from "react/jsx-runtime";
37515
37555
  function PageRenderer({
37516
37556
  theme,
37517
37557
  page,
@@ -37535,12 +37575,12 @@ function PageRenderer({
37535
37575
  ]
37536
37576
  );
37537
37577
  if (!page || page.blocks.length === 0) {
37538
- return /* @__PURE__ */ jsx51("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
37578
+ return /* @__PURE__ */ jsx52("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
37539
37579
  }
37540
37580
  const themeTokens = providedThemeTokens ?? buildThemeRuntime(theme).tokens;
37541
37581
  const resolvedRegistry = registry ?? getDefaultComponentRegistry();
37542
37582
  setContextResolveImageUrlContext(imageResolveContext);
37543
- return /* @__PURE__ */ jsx51("div", { children: page.blocks.map((block, index) => {
37583
+ return /* @__PURE__ */ jsx52("div", { children: page.blocks.map((block, index) => {
37544
37584
  const blockKey = block.id ?? `${block.kind}-${index}`;
37545
37585
  const cleanKind = block.kind.replace(/^block\./, "");
37546
37586
  const definition = getBlockDefinition(block.kind);
@@ -37563,14 +37603,14 @@ function PageRenderer({
37563
37603
  customBlocks
37564
37604
  };
37565
37605
  if (!shouldUseWrapper) {
37566
- return /* @__PURE__ */ jsx51(MemoBlockSection, { ...blockSectionProps }, blockKey);
37606
+ return /* @__PURE__ */ jsx52(MemoBlockSection, { ...blockSectionProps }, blockKey);
37567
37607
  }
37568
37608
  const wrapperClassName = [
37569
37609
  `block-${cleanKind}`,
37570
37610
  wrapBlock ? "group relative" : null
37571
37611
  ].filter(Boolean).join(" ");
37572
37612
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
37573
- return /* @__PURE__ */ jsx51(
37613
+ return /* @__PURE__ */ jsx52(
37574
37614
  "div",
37575
37615
  {
37576
37616
  className: wrapperClassName,
@@ -37580,7 +37620,7 @@ function PageRenderer({
37580
37620
  "data-variant": variantKey ?? void 0,
37581
37621
  "data-block-variant": variantKey ?? void 0,
37582
37622
  "data-style-group": styleGroup,
37583
- children: /* @__PURE__ */ jsx51(MemoBlockSection, { ...blockSectionProps })
37623
+ children: /* @__PURE__ */ jsx52(MemoBlockSection, { ...blockSectionProps })
37584
37624
  },
37585
37625
  blockKey
37586
37626
  );
@@ -37704,8 +37744,8 @@ var MemoBlockSection = React6.memo(
37704
37744
  blockId: block.id ?? null,
37705
37745
  blockKind: block.kind
37706
37746
  };
37707
- const rendered2 = /* @__PURE__ */ jsx51(OverrideComponent, { ...baseProps });
37708
- const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered2 });
37747
+ const rendered2 = /* @__PURE__ */ jsx52(OverrideComponent, { ...baseProps });
37748
+ const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered2 });
37709
37749
  return finish(node2, {
37710
37750
  outcome: "overrideWithoutDefinition",
37711
37751
  override: true,
@@ -37727,7 +37767,7 @@ var MemoBlockSection = React6.memo(
37727
37767
  const rendered = fallback(
37728
37768
  block.kind.startsWith("custom.") ? `No renderer available for block kind "${block.kind}". The custom block definition was not found (missing manifest).` : `No renderer available for block kind "${block.kind}".`
37729
37769
  );
37730
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37770
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37731
37771
  return finish(node, { outcome: "missingDefinition", override: false });
37732
37772
  }
37733
37773
  const manifestHasLayout = Boolean(definition.manifest.layout) || definition.manifest.variants && Object.keys(definition.manifest.variants).length > 0;
@@ -37746,7 +37786,7 @@ var MemoBlockSection = React6.memo(
37746
37786
  const rendered = fallback(
37747
37787
  block.kind.startsWith("custom.") ? `No renderer available for block kind "${block.kind}". This custom block has no layout/variants, so it must be rendered via blockOverrides["${block.kind}"].` : `No renderer available for block kind "${block.kind}".`
37748
37788
  );
37749
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37789
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37750
37790
  return finish(node, { outcome: "missingLayout", override: false });
37751
37791
  }
37752
37792
  const content = getRenderableContent(block);
@@ -37782,14 +37822,14 @@ var MemoBlockSection = React6.memo(
37782
37822
  const rendered = fallback(
37783
37823
  `Unable to render block kind "${block.kind}".`
37784
37824
  );
37785
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37825
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37786
37826
  return finish(node, { outcome: "invalidPlaceholder", override: false });
37787
37827
  }
37788
37828
  } else {
37789
37829
  const rendered = fallback(
37790
37830
  `Invalid content for block kind "${block.kind}".`
37791
37831
  );
37792
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37832
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37793
37833
  return finish(node, { outcome: "invalidContent", override: false });
37794
37834
  }
37795
37835
  try {
@@ -37822,7 +37862,7 @@ var MemoBlockSection = React6.memo(
37822
37862
  };
37823
37863
  let rendered;
37824
37864
  if (OverrideComponent) {
37825
- rendered = /* @__PURE__ */ jsx51(OverrideComponent, { ...baseProps });
37865
+ rendered = /* @__PURE__ */ jsx52(OverrideComponent, { ...baseProps });
37826
37866
  } else {
37827
37867
  const BlockComponent = getCachedBlockComponent(definition.manifest);
37828
37868
  const pathBase = typeof block.id === "string" && block.id.length > 0 ? `blocks.${block.id}.` : void 0;
@@ -37845,7 +37885,7 @@ var MemoBlockSection = React6.memo(
37845
37885
  };
37846
37886
  const blockBindings = block.bindings;
37847
37887
  const fragmentRegistry2 = getFragmentRegistry();
37848
- rendered = /* @__PURE__ */ jsx51(
37888
+ rendered = /* @__PURE__ */ jsx52(
37849
37889
  BlockComponent,
37850
37890
  {
37851
37891
  ...baseProps,
@@ -37859,18 +37899,18 @@ var MemoBlockSection = React6.memo(
37859
37899
  );
37860
37900
  }
37861
37901
  if (wrapBlock && block.id) {
37862
- return finish(/* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }), {
37902
+ return finish(/* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }), {
37863
37903
  override: Boolean(OverrideComponent),
37864
37904
  hasResolvedData
37865
37905
  });
37866
37906
  }
37867
- return finish(/* @__PURE__ */ jsx51(Fragment6, { children: rendered }), {
37907
+ return finish(/* @__PURE__ */ jsx52(Fragment6, { children: rendered }), {
37868
37908
  override: Boolean(OverrideComponent),
37869
37909
  hasResolvedData
37870
37910
  });
37871
37911
  } catch {
37872
37912
  const rendered = usePlaceholders ? fallback(`Unable to render block kind "${block.kind}".`) : fallback(`Invalid content for block kind "${block.kind}".`);
37873
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37913
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37874
37914
  return finish(node, { outcome: "exception", override: false });
37875
37915
  }
37876
37916
  },
@@ -37879,7 +37919,7 @@ var MemoBlockSection = React6.memo(
37879
37919
  }
37880
37920
  );
37881
37921
  function fallback(message) {
37882
- return /* @__PURE__ */ jsx51("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
37922
+ return /* @__PURE__ */ jsx52("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
37883
37923
  }
37884
37924
  function shouldDebugCustomBlocks() {
37885
37925
  try {
@@ -46922,7 +46962,7 @@ var containerResponsiveThemeCss = `/*
46922
46962
  }`;
46923
46963
 
46924
46964
  // ../theme-core/src/ThemeScopeCore.tsx
46925
- import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
46965
+ import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
46926
46966
  function ThemeScopeCore({
46927
46967
  cssVars,
46928
46968
  buttonCss,
@@ -46963,7 +47003,7 @@ function ThemeScopeCore({
46963
47003
  ...dataAttrs,
46964
47004
  suppressHydrationWarning,
46965
47005
  children: [
46966
- isContainerResponsive && /* @__PURE__ */ jsx52(
47006
+ isContainerResponsive && /* @__PURE__ */ jsx53(
46967
47007
  "style",
46968
47008
  {
46969
47009
  "data-container-responsive-overrides": true,
@@ -46972,70 +47012,70 @@ function ThemeScopeCore({
46972
47012
  }
46973
47013
  }
46974
47014
  ),
46975
- layoutCss && /* @__PURE__ */ jsx52(
47015
+ layoutCss && /* @__PURE__ */ jsx53(
46976
47016
  "style",
46977
47017
  {
46978
47018
  "data-layout-styles": true,
46979
47019
  dangerouslySetInnerHTML: { __html: escapeStyleContent(layoutCss) }
46980
47020
  }
46981
47021
  ),
46982
- buttonCss && /* @__PURE__ */ jsx52(
47022
+ buttonCss && /* @__PURE__ */ jsx53(
46983
47023
  "style",
46984
47024
  {
46985
47025
  "data-button-effects": true,
46986
47026
  dangerouslySetInnerHTML: { __html: escapeStyleContent(buttonCss) }
46987
47027
  }
46988
47028
  ),
46989
- headerCss && /* @__PURE__ */ jsx52(
47029
+ headerCss && /* @__PURE__ */ jsx53(
46990
47030
  "style",
46991
47031
  {
46992
47032
  "data-header-styles": true,
46993
47033
  dangerouslySetInnerHTML: { __html: escapeStyleContent(headerCss) }
46994
47034
  }
46995
47035
  ),
46996
- footerCss && /* @__PURE__ */ jsx52(
47036
+ footerCss && /* @__PURE__ */ jsx53(
46997
47037
  "style",
46998
47038
  {
46999
47039
  "data-footer-styles": true,
47000
47040
  dangerouslySetInnerHTML: { __html: escapeStyleContent(footerCss) }
47001
47041
  }
47002
47042
  ),
47003
- cardCss && /* @__PURE__ */ jsx52(
47043
+ cardCss && /* @__PURE__ */ jsx53(
47004
47044
  "style",
47005
47045
  {
47006
47046
  "data-card-styles": true,
47007
47047
  dangerouslySetInnerHTML: { __html: escapeStyleContent(cardCss) }
47008
47048
  }
47009
47049
  ),
47010
- accordionCss && /* @__PURE__ */ jsx52(
47050
+ accordionCss && /* @__PURE__ */ jsx53(
47011
47051
  "style",
47012
47052
  {
47013
47053
  "data-accordion-styles": true,
47014
47054
  dangerouslySetInnerHTML: { __html: escapeStyleContent(accordionCss) }
47015
47055
  }
47016
47056
  ),
47017
- inputCss && /* @__PURE__ */ jsx52(
47057
+ inputCss && /* @__PURE__ */ jsx53(
47018
47058
  "style",
47019
47059
  {
47020
47060
  "data-input-styles": true,
47021
47061
  dangerouslySetInnerHTML: { __html: escapeStyleContent(inputCss) }
47022
47062
  }
47023
47063
  ),
47024
- statusCss && /* @__PURE__ */ jsx52(
47064
+ statusCss && /* @__PURE__ */ jsx53(
47025
47065
  "style",
47026
47066
  {
47027
47067
  "data-status-styles": true,
47028
47068
  dangerouslySetInnerHTML: { __html: escapeStyleContent(statusCss) }
47029
47069
  }
47030
47070
  ),
47031
- progressCss && /* @__PURE__ */ jsx52(
47071
+ progressCss && /* @__PURE__ */ jsx53(
47032
47072
  "style",
47033
47073
  {
47034
47074
  "data-progress-styles": true,
47035
47075
  dangerouslySetInnerHTML: { __html: escapeStyleContent(progressCss) }
47036
47076
  }
47037
47077
  ),
47038
- typographyCss && /* @__PURE__ */ jsx52(
47078
+ typographyCss && /* @__PURE__ */ jsx53(
47039
47079
  "style",
47040
47080
  {
47041
47081
  "data-typography-styles": true,
@@ -47044,7 +47084,7 @@ function ThemeScopeCore({
47044
47084
  }
47045
47085
  }
47046
47086
  ),
47047
- eventCalendarCss && /* @__PURE__ */ jsx52(
47087
+ eventCalendarCss && /* @__PURE__ */ jsx53(
47048
47088
  "style",
47049
47089
  {
47050
47090
  "data-event-calendar-styles": true,
@@ -47053,14 +47093,14 @@ function ThemeScopeCore({
47053
47093
  }
47054
47094
  }
47055
47095
  ),
47056
- blockVarsCss && /* @__PURE__ */ jsx52(
47096
+ blockVarsCss && /* @__PURE__ */ jsx53(
47057
47097
  "style",
47058
47098
  {
47059
47099
  "data-block-vars-styles": true,
47060
47100
  dangerouslySetInnerHTML: { __html: escapeStyleContent(blockVarsCss) }
47061
47101
  }
47062
47102
  ),
47063
- blockCustomVarsCss && /* @__PURE__ */ jsx52(
47103
+ blockCustomVarsCss && /* @__PURE__ */ jsx53(
47064
47104
  "style",
47065
47105
  {
47066
47106
  "data-block-custom-vars-styles": true,
@@ -47069,7 +47109,7 @@ function ThemeScopeCore({
47069
47109
  }
47070
47110
  }
47071
47111
  ),
47072
- blockCustomCss && /* @__PURE__ */ jsx52(
47112
+ blockCustomCss && /* @__PURE__ */ jsx53(
47073
47113
  "style",
47074
47114
  {
47075
47115
  "data-block-custom-styles": true,
@@ -47078,14 +47118,14 @@ function ThemeScopeCore({
47078
47118
  }
47079
47119
  }
47080
47120
  ),
47081
- atRulesCss && /* @__PURE__ */ jsx52(
47121
+ atRulesCss && /* @__PURE__ */ jsx53(
47082
47122
  "style",
47083
47123
  {
47084
47124
  "data-at-rules-styles": true,
47085
47125
  dangerouslySetInnerHTML: { __html: escapeStyleContent(atRulesCss) }
47086
47126
  }
47087
47127
  ),
47088
- customCss && /* @__PURE__ */ jsx52(
47128
+ customCss && /* @__PURE__ */ jsx53(
47089
47129
  "style",
47090
47130
  {
47091
47131
  "data-custom-theme-styles": true,
@@ -47112,7 +47152,7 @@ function buildThemeDataAttrs(axes, themeId) {
47112
47152
  }
47113
47153
 
47114
47154
  // ../theme-core/src/ThemeScope.tsx
47115
- import { jsx as jsx53 } from "react/jsx-runtime";
47155
+ import { jsx as jsx54 } from "react/jsx-runtime";
47116
47156
  function ThemeScope({
47117
47157
  theme,
47118
47158
  children,
@@ -47122,7 +47162,7 @@ function ThemeScope({
47122
47162
  }) {
47123
47163
  const runtime = buildThemeRuntime(theme, { themeId, responsiveMode });
47124
47164
  const dataAttrs = buildThemeDataAttrs(theme.axes, themeId);
47125
- return /* @__PURE__ */ jsx53(
47165
+ return /* @__PURE__ */ jsx54(
47126
47166
  ThemeScopeCore,
47127
47167
  {
47128
47168
  cssVars: runtime.cssVars,
@@ -47172,47 +47212,47 @@ function resolveFooterRenderPlan(params) {
47172
47212
 
47173
47213
  // ../theme-core/src/ThemeFontLoader.tsx
47174
47214
  import * as React7 from "react";
47175
- import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
47215
+ import { Fragment as Fragment7, jsx as jsx55, jsxs as jsxs39 } from "react/jsx-runtime";
47176
47216
 
47177
47217
  // ../theme-core/src/siteChrome.tsx
47178
- import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
47218
+ import { Fragment as Fragment8, jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
47179
47219
 
47180
47220
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
47181
- import { z as z64 } from "zod";
47182
- var themeBridgeConfigSchema = z64.object({
47183
- tokens: z64.record(z64.string(), z64.string()),
47184
- typography: z64.object({
47185
- headingFamily: z64.string().optional(),
47186
- bodyFamily: z64.string().optional(),
47187
- headingWeight: z64.number().optional(),
47188
- bodyWeight: z64.number().optional()
47221
+ import { z as z65 } from "zod";
47222
+ var themeBridgeConfigSchema = z65.object({
47223
+ tokens: z65.record(z65.string(), z65.string()),
47224
+ typography: z65.object({
47225
+ headingFamily: z65.string().optional(),
47226
+ bodyFamily: z65.string().optional(),
47227
+ headingWeight: z65.number().optional(),
47228
+ bodyWeight: z65.number().optional()
47189
47229
  }).optional(),
47190
- spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
47191
- corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
47192
- shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
47193
- components: z64.object({
47194
- buttons: z64.union([
47195
- z64.boolean(),
47196
- z64.object({
47197
- variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
47230
+ spacing: z65.enum(["comfortable", "standard", "dense"]).optional(),
47231
+ corners: z65.enum(["square", "soft", "rounded", "pill"]).optional(),
47232
+ shadows: z65.enum(["none", "low", "medium", "high"]).optional(),
47233
+ components: z65.object({
47234
+ buttons: z65.union([
47235
+ z65.boolean(),
47236
+ z65.object({
47237
+ variants: z65.array(z65.enum(["primary", "secondary", "outline", "ghost"])).optional()
47198
47238
  })
47199
47239
  ]).optional(),
47200
- cards: z64.union([
47201
- z64.boolean(),
47202
- z64.object({
47203
- variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
47240
+ cards: z65.union([
47241
+ z65.boolean(),
47242
+ z65.object({
47243
+ variants: z65.array(z65.enum(["default", "elevated", "outlined"])).optional()
47204
47244
  })
47205
47245
  ]).optional(),
47206
- inputs: z64.boolean().optional()
47246
+ inputs: z65.boolean().optional()
47207
47247
  }).optional(),
47208
- overrides: z64.record(z64.string(), z64.string()).optional()
47248
+ overrides: z65.record(z65.string(), z65.string()).optional()
47209
47249
  }).passthrough();
47210
47250
 
47211
47251
  // ../theme-core/src/mock-themes/components/swatch.tsx
47212
- import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
47252
+ import { jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
47213
47253
 
47214
47254
  // ../theme-core/src/mock-themes/components/PaletteCard.tsx
47215
- import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
47255
+ import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
47216
47256
 
47217
47257
  // src/rendering/blocks-theme-runtime.ts
47218
47258
  var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
@@ -47312,7 +47352,7 @@ function ThemeScope2(props2) {
47312
47352
  }
47313
47353
 
47314
47354
  // src/rendering/components/pageShared.tsx
47315
- import { jsx as jsx58 } from "react/jsx-runtime";
47355
+ import { jsx as jsx59 } from "react/jsx-runtime";
47316
47356
  function PageContent({
47317
47357
  page,
47318
47358
  theme,
@@ -47337,7 +47377,7 @@ function PageContent({
47337
47377
  }) {
47338
47378
  const baseTokens = providedTokens ?? buildThemeRuntime2(theme).tokens;
47339
47379
  const themeTokens = sdkConfig?.theme?.palette ? { ...baseTokens, palette: { ...baseTokens.palette, ...sdkConfig.theme.palette } } : baseTokens;
47340
- const content = /* @__PURE__ */ jsx58(
47380
+ const content = /* @__PURE__ */ jsx59(
47341
47381
  PageRenderer2,
47342
47382
  {
47343
47383
  theme,
@@ -47373,13 +47413,13 @@ function PageContent({
47373
47413
  customBlocks
47374
47414
  }
47375
47415
  );
47376
- return useThemeScope ? /* @__PURE__ */ jsx58(ThemeScope2, { theme, children: content }) : content;
47416
+ return useThemeScope ? /* @__PURE__ */ jsx59(ThemeScope2, { theme, children: content }) : content;
47377
47417
  }
47378
47418
 
47379
47419
  // src/rendering/components/Page.server.tsx
47380
- import { jsx as jsx59 } from "react/jsx-runtime";
47420
+ import { jsx as jsx60 } from "react/jsx-runtime";
47381
47421
  function Page(props2) {
47382
- return /* @__PURE__ */ jsx59(PageContent, { ...props2 });
47422
+ return /* @__PURE__ */ jsx60(PageContent, { ...props2 });
47383
47423
  }
47384
47424
 
47385
47425
  // src/env.ts
@@ -47816,7 +47856,7 @@ function buildLogo(logo, fallbackAlt) {
47816
47856
  }
47817
47857
 
47818
47858
  // src/rendering/components/Layout.tsx
47819
- import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
47859
+ import { Fragment as Fragment9, jsx as jsx61, jsxs as jsxs43 } from "react/jsx-runtime";
47820
47860
  async function Layout({
47821
47861
  siteData: providedSiteData,
47822
47862
  client,
@@ -47918,7 +47958,7 @@ async function Layout({
47918
47958
  isSdkSite,
47919
47959
  mode: theme.footer?.mode
47920
47960
  });
47921
- const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx60(
47961
+ const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx61(
47922
47962
  PageRenderer2,
47923
47963
  {
47924
47964
  theme,
@@ -47963,7 +48003,7 @@ async function Layout({
47963
48003
  children,
47964
48004
  footerElement
47965
48005
  ] });
47966
- return useThemeScope ? /* @__PURE__ */ jsx60(ThemeScope2, { theme, children: content }) : content;
48006
+ return useThemeScope ? /* @__PURE__ */ jsx61(ThemeScope2, { theme, children: content }) : content;
47967
48007
  }
47968
48008
 
47969
48009
  // ../../node_modules/.pnpm/@vibrant+image@4.0.4/node_modules/@vibrant/image/dist/esm/histogram.js
@@ -55758,73 +55798,73 @@ var ENDPOINT_DEFINITIONS = {
55758
55798
  };
55759
55799
 
55760
55800
  // ../api/src/accessAdmin.ts
55761
- import { z as z65 } from "zod";
55762
- var managedDomainAddOnPricingSnapshotSchema = z65.object({
55763
- formulaVersion: z65.literal("managed-domain-overage-v1"),
55764
- conversionRule: z65.literal("usd-to-gbp-1-to-1-v1"),
55765
- registrarAnnualCost: z65.number().nonnegative(),
55766
- registrarCurrency: z65.literal("USD"),
55767
- includedAnnualAllowance: z65.number().nonnegative(),
55768
- includedAnnualAllowanceCurrency: z65.literal("USD"),
55769
- monthlyAmountCents: z65.number().int().nonnegative(),
55770
- monthlyCurrency: z65.literal("gbp")
55801
+ import { z as z66 } from "zod";
55802
+ var managedDomainAddOnPricingSnapshotSchema = z66.object({
55803
+ formulaVersion: z66.literal("managed-domain-overage-v1"),
55804
+ conversionRule: z66.literal("usd-to-gbp-1-to-1-v1"),
55805
+ registrarAnnualCost: z66.number().nonnegative(),
55806
+ registrarCurrency: z66.literal("USD"),
55807
+ includedAnnualAllowance: z66.number().nonnegative(),
55808
+ includedAnnualAllowanceCurrency: z66.literal("USD"),
55809
+ monthlyAmountCents: z66.number().int().nonnegative(),
55810
+ monthlyCurrency: z66.literal("gbp")
55771
55811
  });
55772
55812
 
55773
55813
  // ../api/src/navigation/contracts.ts
55774
- import { z as z66 } from "zod";
55775
- var portalLinkPayloadSchema = z66.object({
55776
- kind: z66.literal("portal"),
55777
- path: z66.string().trim().startsWith("/").optional(),
55778
- labels: z66.object({
55779
- loggedOut: z66.string().trim().min(1).optional(),
55780
- loggedIn: z66.string().trim().min(1).optional()
55814
+ import { z as z67 } from "zod";
55815
+ var portalLinkPayloadSchema = z67.object({
55816
+ kind: z67.literal("portal"),
55817
+ path: z67.string().trim().startsWith("/").optional(),
55818
+ labels: z67.object({
55819
+ loggedOut: z67.string().trim().min(1).optional(),
55820
+ loggedIn: z67.string().trim().min(1).optional()
55781
55821
  }).optional()
55782
55822
  });
55783
- var cartLinkLabelConfigSchema = z66.discriminatedUnion("kind", [
55784
- z66.object({
55785
- kind: z66.literal("icon-only")
55823
+ var cartLinkLabelConfigSchema = z67.discriminatedUnion("kind", [
55824
+ z67.object({
55825
+ kind: z67.literal("icon-only")
55786
55826
  }),
55787
- z66.object({
55788
- kind: z66.literal("icon-with-label"),
55789
- label: z66.string().trim().min(1)
55827
+ z67.object({
55828
+ kind: z67.literal("icon-with-label"),
55829
+ label: z67.string().trim().min(1)
55790
55830
  })
55791
55831
  ]);
55792
- var cartLinkPayloadSchema = z66.object({
55793
- kind: z66.literal("cart"),
55794
- badge: z66.enum(["show-count", "hidden"]),
55832
+ var cartLinkPayloadSchema = z67.object({
55833
+ kind: z67.literal("cart"),
55834
+ badge: z67.enum(["show-count", "hidden"]),
55795
55835
  label: cartLinkLabelConfigSchema
55796
55836
  });
55797
- var internalLinkPayloadSchema = z66.object({
55798
- kind: z66.literal("internal"),
55799
- routeId: z66.string().uuid(),
55800
- entityId: z66.string().uuid(),
55801
- entityType: z66.enum(["page", "content"]),
55802
- href: z66.string().min(1),
55803
- title: z66.string().min(1),
55804
- typeLabel: z66.string().min(1),
55805
- contentTypeKey: z66.string().nullable().optional(),
55806
- contentTypeName: z66.string().nullable().optional(),
55807
- updatedAt: z66.string().nullable().optional()
55837
+ var internalLinkPayloadSchema = z67.object({
55838
+ kind: z67.literal("internal"),
55839
+ routeId: z67.string().uuid(),
55840
+ entityId: z67.string().uuid(),
55841
+ entityType: z67.enum(["page", "content"]),
55842
+ href: z67.string().min(1),
55843
+ title: z67.string().min(1),
55844
+ typeLabel: z67.string().min(1),
55845
+ contentTypeKey: z67.string().nullable().optional(),
55846
+ contentTypeName: z67.string().nullable().optional(),
55847
+ updatedAt: z67.string().nullable().optional()
55808
55848
  }).passthrough();
55809
- var externalLinkSchema2 = z66.object({
55810
- kind: z66.literal("external"),
55849
+ var externalLinkSchema2 = z67.object({
55850
+ kind: z67.literal("external"),
55811
55851
  // Navigation external links are expected to be absolute URLs.
55812
- href: z66.string().url()
55852
+ href: z67.string().url()
55813
55853
  });
55814
- var customLinkSchema2 = z66.object({
55815
- kind: z66.literal("url"),
55816
- href: z66.string().min(1)
55854
+ var customLinkSchema2 = z67.object({
55855
+ kind: z67.literal("url"),
55856
+ href: z67.string().min(1)
55817
55857
  });
55818
- var pageLinkSchema2 = z66.object({
55819
- kind: z66.literal("page"),
55820
- identifier: z66.string().min(1)
55858
+ var pageLinkSchema2 = z67.object({
55859
+ kind: z67.literal("page"),
55860
+ identifier: z67.string().min(1)
55821
55861
  });
55822
- var entryLinkSchema2 = z66.object({
55823
- kind: z66.literal("entry"),
55824
- contentType: z66.string().min(1),
55825
- identifier: z66.string().min(1)
55862
+ var entryLinkSchema2 = z67.object({
55863
+ kind: z67.literal("entry"),
55864
+ contentType: z67.string().min(1),
55865
+ identifier: z67.string().min(1)
55826
55866
  });
55827
- var linkPayloadSchema = z66.discriminatedUnion("kind", [
55867
+ var linkPayloadSchema = z67.discriminatedUnion("kind", [
55828
55868
  internalLinkPayloadSchema,
55829
55869
  pageLinkSchema2,
55830
55870
  entryLinkSchema2,
@@ -55841,27 +55881,27 @@ var navigationLinkInputSchemaOptions = [
55841
55881
  portalLinkPayloadSchema,
55842
55882
  cartLinkPayloadSchema
55843
55883
  ];
55844
- var navigationLinkInputSchema = z66.discriminatedUnion(
55884
+ var navigationLinkInputSchema = z67.discriminatedUnion(
55845
55885
  "kind",
55846
55886
  navigationLinkInputSchemaOptions
55847
55887
  );
55848
55888
 
55849
55889
  // ../api/src/sdkConfig/contracts.ts
55850
- import { z as z67 } from "zod";
55890
+ import { z as z68 } from "zod";
55851
55891
  function unsafeRetypeZodSchema(schema) {
55852
55892
  return schema;
55853
55893
  }
55854
- var navIdListSchema = z67.preprocess((value) => {
55894
+ var navIdListSchema = z68.preprocess((value) => {
55855
55895
  if (!Array.isArray(value)) return void 0;
55856
55896
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
55857
55897
  return filtered.length > 0 ? filtered : void 0;
55858
- }, z67.array(z67.string()).max(200).optional());
55859
- var dashboardNavVisibilityBaseSchema = z67.object({
55860
- mode: z67.enum(["augment", "restrict"]).optional(),
55898
+ }, z68.array(z68.string()).max(200).optional());
55899
+ var dashboardNavVisibilityBaseSchema = z68.object({
55900
+ mode: z68.enum(["augment", "restrict"]).optional(),
55861
55901
  allowIds: navIdListSchema,
55862
55902
  denyIds: navIdListSchema
55863
55903
  }).strip();
55864
- var dashboardNavVisibilityRolesSchema = z67.object({
55904
+ var dashboardNavVisibilityRolesSchema = z68.object({
55865
55905
  administrator: dashboardNavVisibilityBaseSchema.optional(),
55866
55906
  editor: dashboardNavVisibilityBaseSchema.optional(),
55867
55907
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -55869,57 +55909,57 @@ var dashboardNavVisibilityRolesSchema = z67.object({
55869
55909
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
55870
55910
  roles: dashboardNavVisibilityRolesSchema
55871
55911
  }).strip();
55872
- var dashboardNavigationConfigSchema = z67.object({
55912
+ var dashboardNavigationConfigSchema = z68.object({
55873
55913
  siteNav: dashboardNavVisibilitySchema.optional(),
55874
55914
  settingsNav: dashboardNavVisibilitySchema.optional()
55875
55915
  }).strip();
55876
- var dashboardConfigSchema = z67.object({
55877
- previewEditingEnabled: z67.boolean().optional(),
55916
+ var dashboardConfigSchema = z68.object({
55917
+ previewEditingEnabled: z68.boolean().optional(),
55878
55918
  navigation: dashboardNavigationConfigSchema.optional()
55879
55919
  }).strip();
55880
55920
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
55881
55921
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
55882
- var sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
55883
- var loaderParamBindingSchema = z67.object({
55884
- $bind: z67.object({
55885
- from: z67.string().min(1, "Binding path is required"),
55886
- fallback: z67.string().optional()
55922
+ var sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
55923
+ var loaderParamBindingSchema = z68.object({
55924
+ $bind: z68.object({
55925
+ from: z68.string().min(1, "Binding path is required"),
55926
+ fallback: z68.string().optional()
55887
55927
  })
55888
55928
  });
55889
- var loaderParamValueSchema = z67.union([
55890
- z67.string(),
55891
- z67.number(),
55892
- z67.boolean(),
55929
+ var loaderParamValueSchema = z68.union([
55930
+ z68.string(),
55931
+ z68.number(),
55932
+ z68.boolean(),
55893
55933
  loaderParamBindingSchema
55894
55934
  ]);
55895
- var sdkConfigLoaderSchema = z67.object({
55935
+ var sdkConfigLoaderSchema = z68.object({
55896
55936
  endpoint: sdkLoaderEndpointSchema,
55897
- params: z67.record(z67.string(), loaderParamValueSchema),
55898
- mode: z67.enum(["server", "client"]).default("server")
55937
+ params: z68.record(z68.string(), loaderParamValueSchema),
55938
+ mode: z68.enum(["server", "client"]).default("server")
55899
55939
  });
55900
- var sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55901
- var sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55940
+ var sdkDataLoadersSchema = z68.record(z68.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55941
+ var sdkCustomBlockIdSchema = z68.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55902
55942
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
55903
55943
  }).transform((value) => value);
55904
- var sdkCustomBlockInputSchema = z67.object({
55944
+ var sdkCustomBlockInputSchema = z68.object({
55905
55945
  id: sdkCustomBlockIdSchema,
55906
- title: z67.string().min(1),
55907
- titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
55908
- description: z67.string().optional(),
55946
+ title: z68.string().min(1),
55947
+ titleSource: z68.union([z68.string().min(1), z68.array(z68.string().min(1)).min(1)]).optional(),
55948
+ description: z68.string().optional(),
55909
55949
  category: blockCategoryEnum,
55910
- icon: z67.string().optional(),
55911
- tags: z67.array(z67.string()).optional(),
55950
+ icon: z68.string().optional(),
55951
+ tags: z68.array(z68.string()).optional(),
55912
55952
  fields: fieldDefinitionInputSchema.array().min(1),
55913
55953
  dataLoaders: sdkDataLoadersSchema,
55914
55954
  layout: NodeSchema.optional(),
55915
- variants: z67.record(z67.string().min(1), NodeSchema).optional(),
55916
- defaultVariant: z67.string().min(1).optional(),
55917
- variantOptions: z67.record(
55918
- z67.string().min(1),
55919
- z67.object({
55920
- label: z67.string().min(1).optional(),
55921
- description: z67.string().min(1).optional(),
55922
- icon: z67.string().min(1).optional()
55955
+ variants: z68.record(z68.string().min(1), NodeSchema).optional(),
55956
+ defaultVariant: z68.string().min(1).optional(),
55957
+ variantOptions: z68.record(
55958
+ z68.string().min(1),
55959
+ z68.object({
55960
+ label: z68.string().min(1).optional(),
55961
+ description: z68.string().min(1).optional(),
55962
+ icon: z68.string().min(1).optional()
55923
55963
  })
55924
55964
  ).optional()
55925
55965
  }).superRefine((data, ctx) => {
@@ -55929,7 +55969,7 @@ var sdkCustomBlockInputSchema = z67.object({
55929
55969
  const exists = data.fields.some((field) => field.id === source);
55930
55970
  if (!exists) {
55931
55971
  ctx.addIssue({
55932
- code: z67.ZodIssueCode.custom,
55972
+ code: z68.ZodIssueCode.custom,
55933
55973
  message: `titleSource must reference a valid field ID (got "${source}")`,
55934
55974
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
55935
55975
  });
@@ -55938,7 +55978,7 @@ var sdkCustomBlockInputSchema = z67.object({
55938
55978
  }
55939
55979
  if (data.layout && data.variants) {
55940
55980
  ctx.addIssue({
55941
- code: z67.ZodIssueCode.custom,
55981
+ code: z68.ZodIssueCode.custom,
55942
55982
  message: "Custom block must define either `layout` or `variants`, not both",
55943
55983
  path: ["variants"]
55944
55984
  });
@@ -55947,14 +55987,14 @@ var sdkCustomBlockInputSchema = z67.object({
55947
55987
  const keys = Object.keys(data.variants);
55948
55988
  if (keys.length === 0) {
55949
55989
  ctx.addIssue({
55950
- code: z67.ZodIssueCode.custom,
55990
+ code: z68.ZodIssueCode.custom,
55951
55991
  message: "`variants` must contain at least one variant key",
55952
55992
  path: ["variants"]
55953
55993
  });
55954
55994
  }
55955
55995
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
55956
55996
  ctx.addIssue({
55957
- code: z67.ZodIssueCode.custom,
55997
+ code: z68.ZodIssueCode.custom,
55958
55998
  message: "`defaultVariant` must be a key present in `variants`",
55959
55999
  path: ["defaultVariant"]
55960
56000
  });
@@ -55963,7 +56003,7 @@ var sdkCustomBlockInputSchema = z67.object({
55963
56003
  for (const key of Object.keys(data.variantOptions)) {
55964
56004
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
55965
56005
  ctx.addIssue({
55966
- code: z67.ZodIssueCode.custom,
56006
+ code: z68.ZodIssueCode.custom,
55967
56007
  message: "`variantOptions` key must exist in `variants`",
55968
56008
  path: ["variantOptions", key]
55969
56009
  });
@@ -55972,74 +56012,74 @@ var sdkCustomBlockInputSchema = z67.object({
55972
56012
  }
55973
56013
  }
55974
56014
  });
55975
- var sdkBlockFieldExtensionInputSchema = z67.object({
56015
+ var sdkBlockFieldExtensionInputSchema = z68.object({
55976
56016
  fields: fieldDefinitionInputSchema.array().min(1)
55977
56017
  });
55978
- var sdkBlockFieldExtensionsInputSchema = z67.record(
55979
- z67.string().min(1),
56018
+ var sdkBlockFieldExtensionsInputSchema = z68.record(
56019
+ z68.string().min(1),
55980
56020
  sdkBlockFieldExtensionInputSchema
55981
56021
  );
55982
- var sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
55983
- var sdkThemeConfigSchema = z67.object({
56022
+ var sdkThemePaletteSchema = z68.record(z68.string(), z68.string());
56023
+ var sdkThemeConfigSchema = z68.object({
55984
56024
  palette: sdkThemePaletteSchema
55985
56025
  });
55986
- var sdkSectionBackgroundSchema = z67.object({
55987
- id: z67.string().min(1),
55988
- label: z67.string().min(1),
55989
- token: z67.string().min(1)
56026
+ var sdkSectionBackgroundSchema = z68.object({
56027
+ id: z68.string().min(1),
56028
+ label: z68.string().min(1),
56029
+ token: z68.string().min(1)
55990
56030
  });
55991
- var sdkSectionOptionsConfigSchema = z67.object({
55992
- backgroundColor: z67.boolean().optional(),
55993
- backgroundImage: z67.boolean().optional(),
55994
- backgroundGradient: z67.boolean().optional(),
55995
- spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
55996
- textColor: z67.boolean().optional()
56031
+ var sdkSectionOptionsConfigSchema = z68.object({
56032
+ backgroundColor: z68.boolean().optional(),
56033
+ backgroundImage: z68.boolean().optional(),
56034
+ backgroundGradient: z68.boolean().optional(),
56035
+ spacing: z68.union([z68.array(z68.enum(["compact", "default", "spacious"])), z68.boolean()]).optional(),
56036
+ textColor: z68.boolean().optional()
55997
56037
  });
55998
- var sdkContainerOptionsConfigSchema = z67.object({
55999
- maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
56000
- alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
56038
+ var sdkContainerOptionsConfigSchema = z68.object({
56039
+ maxWidth: z68.union([z68.array(z68.enum(["narrow", "default", "wide", "full"])), z68.boolean()]).optional(),
56040
+ alignment: z68.union([z68.array(z68.enum(["left", "center", "right"])), z68.boolean()]).optional()
56001
56041
  });
56002
- var sdkSiteStyleConfigSchema = z67.object({
56003
- sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
56042
+ var sdkSiteStyleConfigSchema = z68.object({
56043
+ sectionBackgrounds: z68.array(sdkSectionBackgroundSchema).optional(),
56004
56044
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
56005
56045
  containerOptions: sdkContainerOptionsConfigSchema.optional()
56006
56046
  });
56007
- var sdkSiteLayoutConfigSchema = z67.object({
56008
- footerBlocks: z67.array(
56009
- z67.object({
56010
- id: z67.string().min(1).optional(),
56011
- kind: z67.string().min(1),
56012
- content: z67.record(z67.string(), z67.unknown()).optional()
56047
+ var sdkSiteLayoutConfigSchema = z68.object({
56048
+ footerBlocks: z68.array(
56049
+ z68.object({
56050
+ id: z68.string().min(1).optional(),
56051
+ kind: z68.string().min(1),
56052
+ content: z68.record(z68.string(), z68.unknown()).optional()
56013
56053
  })
56014
56054
  ).optional()
56015
56055
  });
56016
- var sdkFieldSelectOptionSchema = z67.object({
56017
- value: z67.string(),
56018
- label: z67.string()
56056
+ var sdkFieldSelectOptionSchema = z68.object({
56057
+ value: z68.string(),
56058
+ label: z68.string()
56019
56059
  });
56020
- var sdkBlockFieldConfigSchema = z67.object({
56021
- options: z67.array(sdkFieldSelectOptionSchema).optional()
56060
+ var sdkBlockFieldConfigSchema = z68.object({
56061
+ options: z68.array(sdkFieldSelectOptionSchema).optional()
56022
56062
  });
56023
- var sdkBlockFieldOptionsMapSchema = z67.record(
56024
- z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
56063
+ var sdkBlockFieldOptionsMapSchema = z68.record(
56064
+ z68.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
56025
56065
  message: "Block ID must be 'block.*' or 'custom.*' format"
56026
56066
  }),
56027
- z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
56067
+ z68.record(z68.string().min(1), sdkBlockFieldConfigSchema)
56028
56068
  ).optional();
56029
- var sdkContentTypeTemplateConfigSchema = z67.object({
56030
- blocks: z67.array(z67.unknown())
56069
+ var sdkContentTypeTemplateConfigSchema = z68.object({
56070
+ blocks: z68.array(z68.unknown())
56031
56071
  }).passthrough();
56032
- var sdkContentTypeConfigSchema = z67.object({
56033
- key: z67.string().min(1),
56034
- fields: z67.array(z67.unknown()),
56072
+ var sdkContentTypeConfigSchema = z68.object({
56073
+ key: z68.string().min(1),
56074
+ fields: z68.array(z68.unknown()),
56035
56075
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
56036
56076
  }).passthrough();
56037
- var sdkContentConfigSchema = z67.object({
56038
- contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
56039
- pages: z67.array(z67.unknown()).optional(),
56040
- entries: z67.array(z67.unknown()).optional(),
56041
- navigationMenus: z67.array(z67.unknown()).optional(),
56042
- settings: z67.unknown().optional()
56077
+ var sdkContentConfigSchema = z68.object({
56078
+ contentTypes: z68.array(sdkContentTypeConfigSchema).optional(),
56079
+ pages: z68.array(z68.unknown()).optional(),
56080
+ entries: z68.array(z68.unknown()).optional(),
56081
+ navigationMenus: z68.array(z68.unknown()).optional(),
56082
+ settings: z68.unknown().optional()
56043
56083
  }).passthrough();
56044
56084
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
56045
56085
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -56054,62 +56094,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
56054
56094
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
56055
56095
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
56056
56096
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
56057
- var sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
56097
+ var sdkWorkflowIdSchema = z68.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
56058
56098
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
56059
56099
  });
56060
- var sdkWorkflowEndpointSchema = z67.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
56061
- var sdkWorkflowManualTriggerSchema = z67.object({
56062
- type: z67.literal("manual")
56100
+ var sdkWorkflowEndpointSchema = z68.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
56101
+ var sdkWorkflowManualTriggerSchema = z68.object({
56102
+ type: z68.literal("manual")
56063
56103
  }).strict();
56064
- var sdkWorkflowTriggerFieldSchema = z67.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
56104
+ var sdkWorkflowTriggerFieldSchema = z68.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
56065
56105
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
56066
56106
  });
56067
- var sdkWorkflowFieldChangedConditionSchema = z67.object({
56107
+ var sdkWorkflowFieldChangedConditionSchema = z68.object({
56068
56108
  field: sdkWorkflowTriggerFieldSchema,
56069
- changed: z67.literal(true)
56109
+ changed: z68.literal(true)
56070
56110
  }).strict();
56071
- var sdkWorkflowFieldEmptyConditionSchema = z67.object({
56111
+ var sdkWorkflowFieldEmptyConditionSchema = z68.object({
56072
56112
  field: sdkWorkflowTriggerFieldSchema,
56073
- isEmpty: z67.boolean()
56113
+ isEmpty: z68.boolean()
56074
56114
  }).strict();
56075
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z67.object({
56076
- type: z67.literal("entry.draft.updated"),
56077
- when: z67.array(
56078
- z67.union([
56115
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z68.object({
56116
+ type: z68.literal("entry.draft.updated"),
56117
+ when: z68.array(
56118
+ z68.union([
56079
56119
  sdkWorkflowFieldChangedConditionSchema,
56080
56120
  sdkWorkflowFieldEmptyConditionSchema
56081
56121
  ])
56082
56122
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
56083
56123
  }).strict();
56084
- var sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
56124
+ var sdkWorkflowTriggerSchema = z68.discriminatedUnion("type", [
56085
56125
  sdkWorkflowManualTriggerSchema,
56086
56126
  sdkWorkflowEntryDraftUpdatedTriggerSchema
56087
56127
  ]);
56088
- var sdkWorkflowConfirmationSchema = z67.object({
56089
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
56090
- body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
56128
+ var sdkWorkflowConfirmationSchema = z68.object({
56129
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
56130
+ body: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
56091
56131
  }).strict();
56092
- var sdkWorkflowConfigSchema = z67.object({
56132
+ var sdkWorkflowConfigSchema = z68.object({
56093
56133
  id: sdkWorkflowIdSchema,
56094
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
56095
- description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
56096
- contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
56134
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
56135
+ description: z68.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
56136
+ contentType: z68.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
56097
56137
  endpoint: sdkWorkflowEndpointSchema,
56098
- triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
56138
+ triggers: z68.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
56099
56139
  confirmation: sdkWorkflowConfirmationSchema.optional()
56100
56140
  }).strict();
56101
- var sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
56141
+ var sdkWorkflowsSchema = z68.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
56102
56142
  const ids = workflows.map((workflow) => workflow.id);
56103
56143
  return ids.length === new Set(ids).size;
56104
56144
  }, { message: "Workflow IDs must be unique" }).optional();
56105
- var riverbankSiteConfigInputSchema = z67.object({
56106
- siteId: z67.string().uuid(),
56107
- previewUrl: z67.string().url().optional(),
56108
- liveUrl: z67.string().url().optional(),
56145
+ var riverbankSiteConfigInputSchema = z68.object({
56146
+ siteId: z68.string().uuid(),
56147
+ previewUrl: z68.string().url().optional(),
56148
+ liveUrl: z68.string().url().optional(),
56109
56149
  theme: sdkThemeConfigSchema.optional(),
56110
56150
  styles: sdkSiteStyleConfigSchema.optional(),
56111
56151
  layout: sdkSiteLayoutConfigSchema.optional(),
56112
- customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
56152
+ customBlocks: z68.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
56113
56153
  const ids = blocks.map((b) => b.id);
56114
56154
  return ids.length === new Set(ids).size;
56115
56155
  }, { message: "Block IDs must be unique" }).optional(),
@@ -56117,50 +56157,50 @@ var riverbankSiteConfigInputSchema = z67.object({
56117
56157
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
56118
56158
  workflows: sdkWorkflowsSchema,
56119
56159
  content: sdkContentConfigSchema.optional(),
56120
- contentDir: z67.string().optional(),
56121
- sync: z67.object({
56122
- existingEntries: z67.enum(["skip", "update"]).optional()
56160
+ contentDir: z68.string().optional(),
56161
+ sync: z68.object({
56162
+ existingEntries: z68.enum(["skip", "update"]).optional()
56123
56163
  }).optional(),
56124
- deploy: z67.object({
56125
- verifyCommand: z67.string().optional(),
56126
- prebuildOutput: z67.string().optional()
56164
+ deploy: z68.object({
56165
+ verifyCommand: z68.string().optional(),
56166
+ prebuildOutput: z68.string().optional()
56127
56167
  }).optional(),
56128
- themeSource: z67.enum(["local", "cms"]).optional(),
56129
- activeTheme: z67.string().optional(),
56130
- enablePortal: z67.boolean().optional(),
56168
+ themeSource: z68.enum(["local", "cms"]).optional(),
56169
+ activeTheme: z68.string().optional(),
56170
+ enablePortal: z68.boolean().optional(),
56131
56171
  dashboard: dashboardConfigSchema.optional()
56132
56172
  }).strict();
56133
- var pushSdkConfigBodySchema = z67.object({
56173
+ var pushSdkConfigBodySchema = z68.object({
56134
56174
  config: riverbankSiteConfigInputSchema,
56135
- forceContentTypes: z67.boolean().optional()
56175
+ forceContentTypes: z68.boolean().optional()
56136
56176
  }).strict();
56137
56177
 
56138
56178
  // ../api/src/siteOnboarding.ts
56139
- import { z as z68 } from "zod";
56179
+ import { z as z69 } from "zod";
56140
56180
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
56141
56181
  configure_appointments: {
56142
56182
  requirementId: "configure_appointments",
56143
56183
  reason: "launch_anyway"
56144
56184
  }
56145
56185
  };
56146
- var acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
56186
+ var acknowledgeLaunchRequirementRequestSchema = z69.discriminatedUnion(
56147
56187
  "requirementId",
56148
56188
  [
56149
- z68.object({
56150
- requirementId: z68.literal("review_generated_site")
56189
+ z69.object({
56190
+ requirementId: z69.literal("review_generated_site")
56151
56191
  }),
56152
- z68.object({
56153
- requirementId: z68.literal(
56192
+ z69.object({
56193
+ requirementId: z69.literal(
56154
56194
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
56155
56195
  ),
56156
- overrideReason: z68.literal(
56196
+ overrideReason: z69.literal(
56157
56197
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
56158
56198
  )
56159
56199
  })
56160
56200
  ]
56161
56201
  );
56162
- var goLiveSiteRequestSchema = z68.object({
56163
- acceptExtraSiteCharge: z68.boolean().optional()
56202
+ var goLiveSiteRequestSchema = z69.object({
56203
+ acceptExtraSiteCharge: z69.boolean().optional()
56164
56204
  });
56165
56205
 
56166
56206
  // ../surfaces/src/index.ts
@@ -56341,51 +56381,51 @@ function isRecord5(value) {
56341
56381
  }
56342
56382
 
56343
56383
  // ../api/src/appointmentSetup.ts
56344
- import { z as z69 } from "zod";
56384
+ import { z as z70 } from "zod";
56345
56385
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
56346
- var appointmentSetupRefSchema = z69.discriminatedUnion("kind", [
56347
- z69.object({ kind: z69.literal("existing"), id: z69.string().min(1) }),
56348
- z69.object({ kind: z69.literal("new"), draftId: z69.string().min(1) })
56386
+ var appointmentSetupRefSchema = z70.discriminatedUnion("kind", [
56387
+ z70.object({ kind: z70.literal("existing"), id: z70.string().min(1) }),
56388
+ z70.object({ kind: z70.literal("new"), draftId: z70.string().min(1) })
56349
56389
  ]);
56350
- var appointmentSetupVenueChoiceSchema = z69.discriminatedUnion("kind", [
56351
- z69.object({ kind: z69.literal("none") }),
56352
- z69.object({ kind: z69.literal("existing"), venueId: z69.string().min(1) }),
56353
- z69.object({
56354
- kind: z69.literal("create"),
56355
- draftId: z69.string().min(1),
56356
- title: z69.string().trim().min(1),
56357
- description: z69.string().nullable(),
56358
- timezone: z69.string().trim().min(1).nullable(),
56359
- addressJson: z69.record(z69.string(), z69.unknown()),
56360
- locationJson: z69.object({ lat: z69.number(), lng: z69.number() }).nullable()
56390
+ var appointmentSetupVenueChoiceSchema = z70.discriminatedUnion("kind", [
56391
+ z70.object({ kind: z70.literal("none") }),
56392
+ z70.object({ kind: z70.literal("existing"), venueId: z70.string().min(1) }),
56393
+ z70.object({
56394
+ kind: z70.literal("create"),
56395
+ draftId: z70.string().min(1),
56396
+ title: z70.string().trim().min(1),
56397
+ description: z70.string().nullable(),
56398
+ timezone: z70.string().trim().min(1).nullable(),
56399
+ addressJson: z70.record(z70.string(), z70.unknown()),
56400
+ locationJson: z70.object({ lat: z70.number(), lng: z70.number() }).nullable()
56361
56401
  })
56362
56402
  ]);
56363
- var appointmentSetupPaymentDraftSchema = z69.object({
56364
- priceType: z69.union([z69.literal("free"), z69.literal("paid")])
56365
- });
56366
- var appointmentSetupServiceAssignmentDraftSchema = z69.discriminatedUnion("kind", [
56367
- z69.object({ kind: z69.literal("all_practitioners") }),
56368
- z69.object({
56369
- kind: z69.literal("selected_practitioners"),
56370
- resourceRefs: z69.array(appointmentSetupRefSchema)
56403
+ var appointmentSetupPaymentDraftSchema = z70.object({
56404
+ priceType: z70.union([z70.literal("free"), z70.literal("paid")])
56405
+ });
56406
+ var appointmentSetupServiceAssignmentDraftSchema = z70.discriminatedUnion("kind", [
56407
+ z70.object({ kind: z70.literal("all_practitioners") }),
56408
+ z70.object({
56409
+ kind: z70.literal("selected_practitioners"),
56410
+ resourceRefs: z70.array(appointmentSetupRefSchema)
56371
56411
  })
56372
56412
  ]);
56373
- var appointmentSetupServiceDraftSchema = z69.object({
56413
+ var appointmentSetupServiceDraftSchema = z70.object({
56374
56414
  ref: appointmentSetupRefSchema,
56375
- title: z69.string().trim().min(1),
56376
- description: z69.string().nullable(),
56377
- durationMinutes: z69.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56378
- prepMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56379
- cleanupMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56380
- priceAmount: z69.number().int().nonnegative().nullable(),
56381
- isActive: z69.boolean(),
56382
- locationType: z69.union([
56383
- z69.literal("virtual"),
56384
- z69.literal("in_person"),
56385
- z69.literal("hybrid")
56415
+ title: z70.string().trim().min(1),
56416
+ description: z70.string().nullable(),
56417
+ durationMinutes: z70.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56418
+ prepMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56419
+ cleanupMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56420
+ priceAmount: z70.number().int().nonnegative().nullable(),
56421
+ isActive: z70.boolean(),
56422
+ locationType: z70.union([
56423
+ z70.literal("virtual"),
56424
+ z70.literal("in_person"),
56425
+ z70.literal("hybrid")
56386
56426
  ]),
56387
56427
  venue: appointmentSetupVenueChoiceSchema,
56388
- timezone: z69.string().trim().min(1).nullable(),
56428
+ timezone: z70.string().trim().min(1).nullable(),
56389
56429
  payment: appointmentSetupPaymentDraftSchema,
56390
56430
  assignment: appointmentSetupServiceAssignmentDraftSchema
56391
56431
  }).superRefine((service, ctx) => {
@@ -56404,49 +56444,49 @@ var appointmentSetupServiceDraftSchema = z69.object({
56404
56444
  });
56405
56445
  }
56406
56446
  });
56407
- var appointmentSetupPractitionerDraftSchema = z69.object({
56447
+ var appointmentSetupPractitionerDraftSchema = z70.object({
56408
56448
  ref: appointmentSetupRefSchema,
56409
- displayName: z69.string().trim().min(1),
56410
- bio: z69.string().nullable(),
56411
- timezone: z69.string().trim().min(1),
56412
- colorHex: z69.string().nullable()
56413
- });
56414
- var appointmentSetupWeeklyWindowDraftSchema = z69.object({
56415
- weekday: z69.number().int().min(0).max(6),
56416
- startTime: z69.string(),
56417
- endTime: z69.string()
56418
- });
56419
- var appointmentSetupStartTimePolicyDraftSchema = z69.discriminatedUnion("kind", [
56420
- z69.object({ kind: z69.literal("automatic_spacing") }),
56421
- z69.object({
56422
- kind: z69.literal("regular_interval"),
56423
- intervalMinutes: z69.union([
56424
- z69.literal(10),
56425
- z69.literal(15),
56426
- z69.literal(20),
56427
- z69.literal(30),
56428
- z69.literal(45),
56429
- z69.literal(60)
56449
+ displayName: z70.string().trim().min(1),
56450
+ bio: z70.string().nullable(),
56451
+ timezone: z70.string().trim().min(1),
56452
+ colorHex: z70.string().nullable()
56453
+ });
56454
+ var appointmentSetupWeeklyWindowDraftSchema = z70.object({
56455
+ weekday: z70.number().int().min(0).max(6),
56456
+ startTime: z70.string(),
56457
+ endTime: z70.string()
56458
+ });
56459
+ var appointmentSetupStartTimePolicyDraftSchema = z70.discriminatedUnion("kind", [
56460
+ z70.object({ kind: z70.literal("automatic_spacing") }),
56461
+ z70.object({
56462
+ kind: z70.literal("regular_interval"),
56463
+ intervalMinutes: z70.union([
56464
+ z70.literal(10),
56465
+ z70.literal(15),
56466
+ z70.literal(20),
56467
+ z70.literal(30),
56468
+ z70.literal(45),
56469
+ z70.literal(60)
56430
56470
  ])
56431
56471
  })
56432
56472
  ]);
56433
- var appointmentSetupAvailabilityDraftSchema = z69.object({
56434
- kind: z69.literal("weekly_windows"),
56473
+ var appointmentSetupAvailabilityDraftSchema = z70.object({
56474
+ kind: z70.literal("weekly_windows"),
56435
56475
  resourceRef: appointmentSetupRefSchema,
56436
56476
  serviceRef: appointmentSetupRefSchema.nullable(),
56437
- windows: z69.array(appointmentSetupWeeklyWindowDraftSchema),
56477
+ windows: z70.array(appointmentSetupWeeklyWindowDraftSchema),
56438
56478
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
56439
56479
  });
56440
56480
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
56441
56481
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
56442
- var appointmentSetupBookingNoticeSchema = z69.object({
56443
- minLeadMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56444
- maxBookingNoticeMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56445
- });
56446
- var applyAppointmentSetupRequestSchema = z69.object({
56447
- services: z69.array(appointmentSetupServiceDraftSchema),
56448
- practitioners: z69.array(appointmentSetupPractitionerDraftSchema),
56449
- availability: z69.array(appointmentSetupAvailabilityDraftSchema),
56482
+ var appointmentSetupBookingNoticeSchema = z70.object({
56483
+ minLeadMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56484
+ maxBookingNoticeMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56485
+ });
56486
+ var applyAppointmentSetupRequestSchema = z70.object({
56487
+ services: z70.array(appointmentSetupServiceDraftSchema),
56488
+ practitioners: z70.array(appointmentSetupPractitionerDraftSchema),
56489
+ availability: z70.array(appointmentSetupAvailabilityDraftSchema),
56450
56490
  bookingNotice: appointmentSetupBookingNoticeSchema
56451
56491
  });
56452
56492
 
@@ -56479,24 +56519,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
56479
56519
  ];
56480
56520
 
56481
56521
  // ../api/src/siteBanner.ts
56482
- import { z as z70 } from "zod";
56522
+ import { z as z71 } from "zod";
56483
56523
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
56484
56524
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
56485
56525
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
56486
56526
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
56487
- var siteBannerScopeSchema = z70.enum(SITE_BANNER_SCOPE_VALUES);
56488
- var siteBannerToneSchema = z70.enum(SITE_BANNER_TONE_VALUES);
56489
- var siteBannerBodySchema = z70.unknown().transform(unwrapRichTextValue);
56490
- var siteBannerCtaSchema = z70.object({
56491
- label: z70.string().trim().min(1),
56527
+ var siteBannerScopeSchema = z71.enum(SITE_BANNER_SCOPE_VALUES);
56528
+ var siteBannerToneSchema = z71.enum(SITE_BANNER_TONE_VALUES);
56529
+ var siteBannerBodySchema = z71.unknown().transform(unwrapRichTextValue);
56530
+ var siteBannerCtaSchema = z71.object({
56531
+ label: z71.string().trim().min(1),
56492
56532
  link: linkPayloadSchema
56493
56533
  });
56494
- var siteBannerSettingsSchema = z70.discriminatedUnion("enabled", [
56495
- z70.object({
56496
- enabled: z70.literal(false)
56534
+ var siteBannerSettingsSchema = z71.discriminatedUnion("enabled", [
56535
+ z71.object({
56536
+ enabled: z71.literal(false)
56497
56537
  }),
56498
- z70.object({
56499
- enabled: z70.literal(true),
56538
+ z71.object({
56539
+ enabled: z71.literal(true),
56500
56540
  scope: siteBannerScopeSchema,
56501
56541
  tone: siteBannerToneSchema,
56502
56542
  body: siteBannerBodySchema,
@@ -56510,7 +56550,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
56510
56550
  const analysis = analyzeSiteBannerBody(value.body);
56511
56551
  for (const issue2 of analysis.issues) {
56512
56552
  ctx.addIssue({
56513
- code: z70.ZodIssueCode.custom,
56553
+ code: z71.ZodIssueCode.custom,
56514
56554
  path: ["body"],
56515
56555
  message: siteBannerBodyIssueMessage(issue2)
56516
56556
  });
@@ -56734,71 +56774,71 @@ function parsePublicProductCategorySelector(value) {
56734
56774
  }
56735
56775
 
56736
56776
  // ../api/src/aiPlayground.ts
56737
- import { z as z71 } from "zod";
56738
- var Rfc6902PatchOp = z71.discriminatedUnion("op", [
56777
+ import { z as z72 } from "zod";
56778
+ var Rfc6902PatchOp = z72.discriminatedUnion("op", [
56739
56779
  // Standard RFC-6902 operations
56740
- z71.object({
56741
- op: z71.literal("add"),
56742
- path: z71.string(),
56743
- value: z71.unknown()
56780
+ z72.object({
56781
+ op: z72.literal("add"),
56782
+ path: z72.string(),
56783
+ value: z72.unknown()
56744
56784
  }),
56745
- z71.object({
56746
- op: z71.literal("remove"),
56747
- path: z71.string()
56785
+ z72.object({
56786
+ op: z72.literal("remove"),
56787
+ path: z72.string()
56748
56788
  }),
56749
- z71.object({
56750
- op: z71.literal("replace"),
56751
- path: z71.string(),
56752
- value: z71.unknown()
56789
+ z72.object({
56790
+ op: z72.literal("replace"),
56791
+ path: z72.string(),
56792
+ value: z72.unknown()
56753
56793
  }),
56754
- z71.object({
56755
- op: z71.literal("move"),
56756
- from: z71.string(),
56757
- path: z71.string()
56794
+ z72.object({
56795
+ op: z72.literal("move"),
56796
+ from: z72.string(),
56797
+ path: z72.string()
56758
56798
  }),
56759
- z71.object({
56760
- op: z71.literal("copy"),
56761
- from: z71.string(),
56762
- path: z71.string()
56799
+ z72.object({
56800
+ op: z72.literal("copy"),
56801
+ from: z72.string(),
56802
+ path: z72.string()
56763
56803
  }),
56764
56804
  // Block-level operations (Phase 2)
56765
- z71.object({
56766
- op: z71.literal("add_block"),
56767
- blockKind: z71.string(),
56768
- afterBlockId: z71.string().nullable(),
56769
- content: z71.record(z71.string(), z71.unknown()),
56770
- rationale: z71.string()
56805
+ z72.object({
56806
+ op: z72.literal("add_block"),
56807
+ blockKind: z72.string(),
56808
+ afterBlockId: z72.string().nullable(),
56809
+ content: z72.record(z72.string(), z72.unknown()),
56810
+ rationale: z72.string()
56771
56811
  }),
56772
- z71.object({
56773
- op: z71.literal("delete_block"),
56774
- blockId: z71.string(),
56775
- rationale: z71.string()
56812
+ z72.object({
56813
+ op: z72.literal("delete_block"),
56814
+ blockId: z72.string(),
56815
+ rationale: z72.string()
56776
56816
  }),
56777
- z71.object({
56778
- op: z71.literal("reorder_block"),
56779
- blockId: z71.string(),
56780
- afterBlockId: z71.string().nullable(),
56781
- rationale: z71.string()
56817
+ z72.object({
56818
+ op: z72.literal("reorder_block"),
56819
+ blockId: z72.string(),
56820
+ afterBlockId: z72.string().nullable(),
56821
+ rationale: z72.string()
56782
56822
  })
56783
56823
  ]);
56784
- var PlaygroundProposeRequest = z71.object({
56785
- request: z71.string().min(1).max(2e3)
56824
+ var PlaygroundProposeRequest = z72.object({
56825
+ request: z72.string().min(1).max(2e3)
56786
56826
  });
56787
- var MultiPagePatchEnvelope = z71.object({
56788
- pageId: z71.string(),
56789
- blockId: z71.string().optional(),
56827
+ var MultiPagePatchEnvelope = z72.object({
56828
+ pageId: z72.string(),
56829
+ blockId: z72.string().optional(),
56790
56830
  // Not present for page-level ops
56791
- blockKind: z71.string().optional(),
56792
- blockPurpose: z71.string().optional().nullable(),
56793
- ops: z71.array(Rfc6902PatchOp),
56794
- rationale: z71.string(),
56795
- currentContent: z71.record(z71.string(), z71.unknown()).optional()
56831
+ blockKind: z72.string().optional(),
56832
+ blockPurpose: z72.string().optional().nullable(),
56833
+ ops: z72.array(Rfc6902PatchOp),
56834
+ rationale: z72.string(),
56835
+ currentContent: z72.record(z72.string(), z72.unknown()).optional()
56796
56836
  });
56797
- var MultiPageUpdateResponse = z71.object({
56798
- patches: z71.array(MultiPagePatchEnvelope),
56799
- assistantMessage: z71.string(),
56800
- pagesModified: z71.number(),
56801
- toolCallsUsed: z71.number()
56837
+ var MultiPageUpdateResponse = z72.object({
56838
+ patches: z72.array(MultiPagePatchEnvelope),
56839
+ assistantMessage: z72.string(),
56840
+ pagesModified: z72.number(),
56841
+ toolCallsUsed: z72.number()
56802
56842
  });
56803
56843
 
56804
56844
  // src/data/prefetchBlockData.ts
@@ -57057,9 +57097,9 @@ async function prefetchBlockData2(page, context, client, options) {
57057
57097
  }
57058
57098
 
57059
57099
  // src/rendering/components/Block.shared.tsx
57060
- import { jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
57100
+ import { jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
57061
57101
  function renderUnknownBlock(blockKind) {
57062
- return /* @__PURE__ */ jsx61("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs44("p", { className: "text-red-800 font-semibold", children: [
57102
+ return /* @__PURE__ */ jsx62("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs44("p", { className: "text-red-800 font-semibold", children: [
57063
57103
  "Unknown block type: ",
57064
57104
  blockKind
57065
57105
  ] }) });
@@ -57139,7 +57179,7 @@ function renderBlockOverride({
57139
57179
  runtime,
57140
57180
  resolvedData
57141
57181
  }) {
57142
- return /* @__PURE__ */ jsx61(
57182
+ return /* @__PURE__ */ jsx62(
57143
57183
  OverrideComponent,
57144
57184
  {
57145
57185
  content: props2.content,
@@ -57165,7 +57205,7 @@ function renderManifestBlock({
57165
57205
  const BlockComponent = makeDefaultBlockComponent({ manifest: definition.manifest });
57166
57206
  const registry = getDefaultComponentRegistry();
57167
57207
  const blocksThemeConfig = runtime.blocksTheme;
57168
- return /* @__PURE__ */ jsx61(
57208
+ return /* @__PURE__ */ jsx62(
57169
57209
  BlockComponent,
57170
57210
  {
57171
57211
  blockId: props2.blockId ?? void 0,
@@ -57202,9 +57242,9 @@ async function BlockContent(props2) {
57202
57242
  }
57203
57243
 
57204
57244
  // src/rendering/components/Block.server.tsx
57205
- import { jsx as jsx62 } from "react/jsx-runtime";
57245
+ import { jsx as jsx63 } from "react/jsx-runtime";
57206
57246
  function Block(props2) {
57207
- return /* @__PURE__ */ jsx62(BlockContent, { ...props2 });
57247
+ return /* @__PURE__ */ jsx63(BlockContent, { ...props2 });
57208
57248
  }
57209
57249
 
57210
57250
  // src/rendering/overrides.ts
@@ -57215,6 +57255,12 @@ function defineLazyBlockOverride(load) {
57215
57255
  load
57216
57256
  };
57217
57257
  }
57258
+ function defineBlockOverrides(overrides) {
57259
+ return overrides;
57260
+ }
57261
+ function defineBlockOverrideRegistrations(registrations) {
57262
+ return registrations;
57263
+ }
57218
57264
 
57219
57265
  // src/rendering/overrideResolution.ts
57220
57266
  function isRecord6(value) {
@@ -57241,7 +57287,7 @@ function collectBlockKindsFromValue(value, usedKinds, seen) {
57241
57287
  collectBlockKindsFromValue(child, usedKinds, seen);
57242
57288
  }
57243
57289
  }
57244
- function collectUsedBlockKinds(page) {
57290
+ function collectUsedBlockKindsFromPageOutline(page) {
57245
57291
  const usedKinds = /* @__PURE__ */ new Set();
57246
57292
  const seen = /* @__PURE__ */ new WeakSet();
57247
57293
  for (const block of page?.blocks ?? []) {
@@ -57249,6 +57295,12 @@ function collectUsedBlockKinds(page) {
57249
57295
  }
57250
57296
  return usedKinds;
57251
57297
  }
57298
+ function buildPageBlockKindIndex(page) {
57299
+ return {
57300
+ kind: "page-block-kind-index",
57301
+ blockKinds: collectUsedBlockKindsFromPageOutline(page)
57302
+ };
57303
+ }
57252
57304
  function shortBlockKind(blockKind) {
57253
57305
  return blockKind.replace(/^block\./, "");
57254
57306
  }
@@ -57280,7 +57332,8 @@ async function resolveBlockOverridesForPage(registrations, page) {
57280
57332
  if (!registrations) return void 0;
57281
57333
  const entries = Object.entries(registrations);
57282
57334
  if (entries.length === 0) return void 0;
57283
- const selectedKeys = selectOverrideKeysForUsedKinds(collectUsedBlockKinds(page), entries);
57335
+ const pageBlockKindIndex = buildPageBlockKindIndex(page);
57336
+ const selectedKeys = selectOverrideKeysForUsedKinds(pageBlockKindIndex.blockKinds, entries);
57284
57337
  if (selectedKeys.size === 0) return void 0;
57285
57338
  const resolved = {};
57286
57339
  for (const [key, registration] of entries) {
@@ -57293,6 +57346,10 @@ export {
57293
57346
  Block,
57294
57347
  Layout,
57295
57348
  Page,
57349
+ buildPageBlockKindIndex,
57350
+ collectUsedBlockKindsFromPageOutline,
57351
+ defineBlockOverrideRegistrations,
57352
+ defineBlockOverrides,
57296
57353
  defineLazyBlockOverride,
57297
57354
  resolveBlockOverridesForPage
57298
57355
  };