@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
@@ -22106,8 +22106,42 @@ function pickReadableTextColor(background) {
22106
22106
  }
22107
22107
  }
22108
22108
 
22109
- // ../blocks/src/system/runtime/nodes/events/shared/EventCompactRow.tsx
22109
+ // ../blocks/src/system/runtime/shared/components/BookingOptionCompactRow.tsx
22110
22110
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
22111
+ function BookingOptionCompactRow({
22112
+ option,
22113
+ buttonVariant = "primary"
22114
+ }) {
22115
+ const primaryMeta = option.primaryMeta?.filter((item) => item.length > 0) ?? [];
22116
+ const secondaryMeta = option.secondaryMeta?.filter((item) => item.label.length > 0) ?? [];
22117
+ const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
22118
+ return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
22119
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
22120
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
22121
+ /* @__PURE__ */ jsx5("span", { className: "event-compact-row-title", children: option.title }),
22122
+ primaryMeta.length > 0 && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-datetime", children: primaryMeta.join(" \xB7 ") })
22123
+ ] }),
22124
+ /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-bottom", children: [
22125
+ secondaryMeta.map((item) => /* @__PURE__ */ jsxs3(
22126
+ "span",
22127
+ {
22128
+ className: item.className,
22129
+ children: [
22130
+ item.icon,
22131
+ item.label
22132
+ ]
22133
+ },
22134
+ item.id ?? `${item.className ?? "meta"}:${item.label}`
22135
+ )),
22136
+ option.priceLabel && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-price", children: option.priceLabel })
22137
+ ] })
22138
+ ] }),
22139
+ 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 })
22140
+ ] });
22141
+ }
22142
+
22143
+ // ../blocks/src/system/runtime/nodes/events/shared/EventCompactRow.tsx
22144
+ import { jsx as jsx6 } from "react/jsx-runtime";
22111
22145
  var EventCompactRow = ({
22112
22146
  event,
22113
22147
  buttonVariant = "primary",
@@ -22119,32 +22153,35 @@ var EventCompactRow = ({
22119
22153
  const price = formatEventPrice(event);
22120
22154
  const teacherLine = formatEventTeacherLine(event);
22121
22155
  const cta = resolveEventCta(event, buttonText);
22122
- const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
22123
- return /* @__PURE__ */ jsxs3("div", { className: "event-compact-row", children: [
22124
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-content", children: [
22125
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-top", children: [
22126
- /* @__PURE__ */ jsx5("span", { className: "event-compact-row-title", children: event.title }),
22127
- /* @__PURE__ */ jsxs3("span", { className: "event-compact-row-datetime", children: [
22128
- formattedDate,
22129
- " \xB7 ",
22130
- formattedTime
22131
- ] })
22132
- ] }),
22133
- /* @__PURE__ */ jsxs3("div", { className: "event-compact-row-bottom", children: [
22134
- event.venue && /* @__PURE__ */ jsxs3("span", { className: "event-compact-row-venue", children: [
22135
- /* @__PURE__ */ jsx5(MapPinIcon, { className: "rb-shrink-0" }),
22136
- event.venue.name
22137
- ] }),
22138
- teacherLine && /* @__PURE__ */ jsx5("span", { className: "event-compact-row-teacher", children: teacherLine }),
22139
- /* @__PURE__ */ jsx5("span", { className: "event-compact-row-price", children: price })
22140
- ] })
22141
- ] }),
22142
- 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 })
22143
- ] });
22156
+ const option = {
22157
+ id: event.occurrenceId ?? event.id,
22158
+ title: event.title,
22159
+ primaryMeta: [formattedDate, formattedTime],
22160
+ secondaryMeta: [
22161
+ ...event.venue ? [
22162
+ {
22163
+ id: "venue",
22164
+ label: event.venue.name,
22165
+ icon: /* @__PURE__ */ jsx6(MapPinIcon, { className: "rb-shrink-0" }),
22166
+ className: "event-compact-row-venue"
22167
+ }
22168
+ ] : [],
22169
+ ...teacherLine ? [
22170
+ {
22171
+ id: "teacher",
22172
+ label: teacherLine,
22173
+ className: "event-compact-row-teacher"
22174
+ }
22175
+ ] : []
22176
+ ],
22177
+ priceLabel: price,
22178
+ action: cta.hidden ? { kind: "status", label: cta.label } : { kind: "action", label: cta.label, href: cta.href }
22179
+ };
22180
+ return /* @__PURE__ */ jsx6(BookingOptionCompactRow, { buttonVariant, option });
22144
22181
  };
22145
22182
 
22146
22183
  // ../blocks/src/system/runtime/nodes/events/shared/EmptyState.tsx
22147
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
22184
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
22148
22185
  var EmptyState = ({
22149
22186
  message = "No upcoming events scheduled.",
22150
22187
  className,
@@ -22153,8 +22190,8 @@ var EmptyState = ({
22153
22190
  resetFiltersText = "Reset filters"
22154
22191
  }) => {
22155
22192
  return /* @__PURE__ */ jsxs4("div", { className: `event-list-empty ${className || ""}`, children: [
22156
- /* @__PURE__ */ jsx6("p", { className: "rb-caption status-muted", children: message }),
22157
- hasActiveFilters && onResetFilters && /* @__PURE__ */ jsx6(
22193
+ /* @__PURE__ */ jsx7("p", { className: "rb-caption status-muted", children: message }),
22194
+ hasActiveFilters && onResetFilters && /* @__PURE__ */ jsx7(
22158
22195
  "button",
22159
22196
  {
22160
22197
  type: "button",
@@ -22167,12 +22204,12 @@ var EmptyState = ({
22167
22204
  };
22168
22205
 
22169
22206
  // ../blocks/src/system/runtime/nodes/events/shared/DateTimeTile.tsx
22170
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
22207
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
22171
22208
  function DateTimeTile({ startsAt, endsAt, timeZone }) {
22172
22209
  const { date, timeRange } = formatEventDateParts({ startsAt, endsAt, timeZone });
22173
22210
  return /* @__PURE__ */ jsxs5("div", { className: "rb-flex rb-flex-col rb-gap-1", children: [
22174
- /* @__PURE__ */ jsx7("strong", { className: "rb-caption", children: date }),
22175
- /* @__PURE__ */ jsx7("div", { className: "rb-caption", children: timeRange })
22211
+ /* @__PURE__ */ jsx8("strong", { className: "rb-caption", children: date }),
22212
+ /* @__PURE__ */ jsx8("div", { className: "rb-caption", children: timeRange })
22176
22213
  ] });
22177
22214
  }
22178
22215
 
@@ -28536,7 +28573,7 @@ import React4 from "react";
28536
28573
 
28537
28574
  // ../blocks/src/primitives/layout/Section.tsx
28538
28575
  import { forwardRef } from "react";
28539
- import { jsx as jsx8 } from "react/jsx-runtime";
28576
+ import { jsx as jsx9 } from "react/jsx-runtime";
28540
28577
  var Section = forwardRef(function Section2({
28541
28578
  as: Comp = "section",
28542
28579
  children,
@@ -28549,7 +28586,7 @@ var Section = forwardRef(function Section2({
28549
28586
  const overflowClass = allowOverflow ? "rb-overflow-visible" : "rb-overflow-hidden";
28550
28587
  const alwaysClass = clsx_default("rb-relative rb-isolate", overflowClass, className);
28551
28588
  const backgroundStyle = typeof background === "string" && background.trim().length > 0 ? backgroundColorStyle(background.trim()) : void 0;
28552
- return /* @__PURE__ */ jsx8(
28589
+ return /* @__PURE__ */ jsx9(
28553
28590
  Comp,
28554
28591
  {
28555
28592
  ref,
@@ -28563,7 +28600,7 @@ var Section = forwardRef(function Section2({
28563
28600
  var Section_default = Section;
28564
28601
 
28565
28602
  // ../blocks/src/primitives/layout/Stack.tsx
28566
- import { jsx as jsx9 } from "react/jsx-runtime";
28603
+ import { jsx as jsx10 } from "react/jsx-runtime";
28567
28604
  function Stack({
28568
28605
  as: Comp = "div",
28569
28606
  gap = "md",
@@ -28574,7 +28611,7 @@ function Stack({
28574
28611
  "data-slot": dataSlot,
28575
28612
  ...rest
28576
28613
  }) {
28577
- return /* @__PURE__ */ jsx9(
28614
+ return /* @__PURE__ */ jsx10(
28578
28615
  Comp,
28579
28616
  {
28580
28617
  ...rest,
@@ -28604,7 +28641,7 @@ function Stack({
28604
28641
  }
28605
28642
 
28606
28643
  // ../blocks/src/primitives/layout/Inline.tsx
28607
- import { jsx as jsx10 } from "react/jsx-runtime";
28644
+ import { jsx as jsx11 } from "react/jsx-runtime";
28608
28645
  function Inline({
28609
28646
  as: Comp = "div",
28610
28647
  gap = "md",
@@ -28616,7 +28653,7 @@ function Inline({
28616
28653
  "data-slot": dataSlot,
28617
28654
  ...rest
28618
28655
  }) {
28619
- return /* @__PURE__ */ jsx10(
28656
+ return /* @__PURE__ */ jsx11(
28620
28657
  Comp,
28621
28658
  {
28622
28659
  ...rest,
@@ -28648,7 +28685,7 @@ function Inline({
28648
28685
  }
28649
28686
 
28650
28687
  // ../blocks/src/primitives/layout/Grid.tsx
28651
- import { jsx as jsx11 } from "react/jsx-runtime";
28688
+ import { jsx as jsx12 } from "react/jsx-runtime";
28652
28689
  function Grid({
28653
28690
  as: Comp = "div",
28654
28691
  cols = { base: 1, md: 2 },
@@ -28666,7 +28703,7 @@ function Grid({
28666
28703
  colsObj.lg && `rb-lg-grid-cols-${colsObj.lg}`,
28667
28704
  colsObj.xl && `rb-xl-grid-cols-${colsObj.xl}`
28668
28705
  ];
28669
- return /* @__PURE__ */ jsx11(
28706
+ return /* @__PURE__ */ jsx12(
28670
28707
  Comp,
28671
28708
  {
28672
28709
  ...rest,
@@ -28696,7 +28733,7 @@ function Grid({
28696
28733
  }
28697
28734
 
28698
28735
  // ../blocks/src/system/runtime/nodes/layout.tsx
28699
- import { jsx as jsx12 } from "react/jsx-runtime";
28736
+ import { jsx as jsx13 } from "react/jsx-runtime";
28700
28737
  var SectionNode = ({
28701
28738
  blockId: _blockId,
28702
28739
  blockKind: _blockKind,
@@ -28705,7 +28742,7 @@ var SectionNode = ({
28705
28742
  pathBase: _pathBase,
28706
28743
  allowOverflow,
28707
28744
  ...props2
28708
- }) => /* @__PURE__ */ jsx12(Section_default, { ...props2, allowOverflow });
28745
+ }) => /* @__PURE__ */ jsx13(Section_default, { ...props2, allowOverflow });
28709
28746
  var StackNode = ({
28710
28747
  blockId: _blockId,
28711
28748
  blockKind: _blockKind,
@@ -28713,7 +28750,7 @@ var StackNode = ({
28713
28750
  fragmentRegistry: _fragmentRegistry,
28714
28751
  pathBase: _pathBase,
28715
28752
  ...props2
28716
- }) => /* @__PURE__ */ jsx12(Stack, { ...props2 });
28753
+ }) => /* @__PURE__ */ jsx13(Stack, { ...props2 });
28717
28754
  var InlineNode = ({
28718
28755
  blockId: _blockId,
28719
28756
  blockKind: _blockKind,
@@ -28721,7 +28758,7 @@ var InlineNode = ({
28721
28758
  fragmentRegistry: _fragmentRegistry,
28722
28759
  pathBase: _pathBase,
28723
28760
  ...props2
28724
- }) => /* @__PURE__ */ jsx12(Inline, { ...props2 });
28761
+ }) => /* @__PURE__ */ jsx13(Inline, { ...props2 });
28725
28762
  var GridNode = ({
28726
28763
  blockId: _blockId,
28727
28764
  blockKind: _blockKind,
@@ -28729,7 +28766,7 @@ var GridNode = ({
28729
28766
  fragmentRegistry: _fragmentRegistry,
28730
28767
  pathBase: _pathBase,
28731
28768
  ...props2
28732
- }) => /* @__PURE__ */ jsx12(Grid, { ...props2 });
28769
+ }) => /* @__PURE__ */ jsx13(Grid, { ...props2 });
28733
28770
  var DivNode = ({
28734
28771
  blockId: _blockId,
28735
28772
  blockKind: _blockKind,
@@ -28737,7 +28774,7 @@ var DivNode = ({
28737
28774
  fragmentRegistry: _fragmentRegistry,
28738
28775
  pathBase: _pathBase,
28739
28776
  ...props2
28740
- }) => /* @__PURE__ */ jsx12("div", { ...props2 });
28777
+ }) => /* @__PURE__ */ jsx13("div", { ...props2 });
28741
28778
  var FigureNode = ({
28742
28779
  blockId: _blockId,
28743
28780
  blockKind: _blockKind,
@@ -28745,7 +28782,7 @@ var FigureNode = ({
28745
28782
  fragmentRegistry: _fragmentRegistry,
28746
28783
  pathBase: _pathBase,
28747
28784
  ...props2
28748
- }) => /* @__PURE__ */ jsx12("figure", { ...props2 });
28785
+ }) => /* @__PURE__ */ jsx13("figure", { ...props2 });
28749
28786
 
28750
28787
  // ../blocks/src/primitives/content/components/RichText.tsx
28751
28788
  import React2 from "react";
@@ -28789,7 +28826,7 @@ function sanitizeHref(raw) {
28789
28826
  }
28790
28827
 
28791
28828
  // ../blocks/src/primitives/content/components/RichText.tsx
28792
- import { Fragment, jsx as jsx13 } from "react/jsx-runtime";
28829
+ import { Fragment, jsx as jsx14 } from "react/jsx-runtime";
28793
28830
  function parseDimension(value) {
28794
28831
  if (typeof value === "number" && Number.isFinite(value) && value > 0) {
28795
28832
  return Math.round(value);
@@ -28820,10 +28857,10 @@ function renderMarks(text2, marks, key) {
28820
28857
  switch (mark.type) {
28821
28858
  case "bold":
28822
28859
  case "strong":
28823
- return /* @__PURE__ */ jsx13("strong", { children: acc }, `${key}-b`);
28860
+ return /* @__PURE__ */ jsx14("strong", { children: acc }, `${key}-b`);
28824
28861
  case "italic":
28825
28862
  case "em":
28826
- return /* @__PURE__ */ jsx13("em", { children: acc }, `${key}-i`);
28863
+ return /* @__PURE__ */ jsx14("em", { children: acc }, `${key}-i`);
28827
28864
  case "link": {
28828
28865
  if (typeof acc === "string" && acc.length === 0) return acc;
28829
28866
  const attrs = mark.attrs ?? {};
@@ -28831,7 +28868,7 @@ function renderMarks(text2, marks, key) {
28831
28868
  if (!href) return acc;
28832
28869
  const target = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
28833
28870
  const rel = typeof attrs.rel === "string" ? attrs.rel : void 0;
28834
- return /* @__PURE__ */ jsx13("a", { href, target, rel: normalizeRel(target, rel), children: acc }, `${key}-l`);
28871
+ return /* @__PURE__ */ jsx14("a", { href, target, rel: normalizeRel(target, rel), children: acc }, `${key}-l`);
28835
28872
  }
28836
28873
  default:
28837
28874
  return acc;
@@ -28843,25 +28880,25 @@ function renderDoc(node, key, imageResolveContext) {
28843
28880
  const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
28844
28881
  switch (node.type) {
28845
28882
  case "doc":
28846
- return /* @__PURE__ */ jsx13(Fragment, { children });
28883
+ return /* @__PURE__ */ jsx14(Fragment, { children });
28847
28884
  case "paragraph":
28848
- if (!children && !node.text) return /* @__PURE__ */ jsx13("p", {}, key);
28849
- return /* @__PURE__ */ jsx13("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
28885
+ if (!children && !node.text) return /* @__PURE__ */ jsx14("p", {}, key);
28886
+ return /* @__PURE__ */ jsx14("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
28850
28887
  case "heading": {
28851
28888
  const level = Math.min(Math.max(node.attrs?.level ?? 2, 1), 6);
28852
28889
  const headingTag = `h${level}`;
28853
28890
  return React2.createElement(headingTag, { key }, children);
28854
28891
  }
28855
28892
  case "bulletList":
28856
- return /* @__PURE__ */ jsx13("ul", { children }, key);
28893
+ return /* @__PURE__ */ jsx14("ul", { children }, key);
28857
28894
  case "orderedList":
28858
- return /* @__PURE__ */ jsx13("ol", { children }, key);
28895
+ return /* @__PURE__ */ jsx14("ol", { children }, key);
28859
28896
  case "listItem":
28860
- return /* @__PURE__ */ jsx13("li", { children }, key);
28897
+ return /* @__PURE__ */ jsx14("li", { children }, key);
28861
28898
  case "blockquote":
28862
- return /* @__PURE__ */ jsx13("blockquote", { children }, key);
28899
+ return /* @__PURE__ */ jsx14("blockquote", { children }, key);
28863
28900
  case "horizontalRule":
28864
- return /* @__PURE__ */ jsx13("hr", {}, key);
28901
+ return /* @__PURE__ */ jsx14("hr", {}, key);
28865
28902
  case "image": {
28866
28903
  const attrs = node.attrs ?? {};
28867
28904
  const src = typeof attrs.src === "string" ? attrs.src.trim() : "";
@@ -28876,7 +28913,7 @@ function renderDoc(node, key, imageResolveContext) {
28876
28913
  imageResolveContext ?? void 0
28877
28914
  ) ?? "" : "");
28878
28915
  if (!resolvedSrc) return null;
28879
- return /* @__PURE__ */ jsx13(
28916
+ return /* @__PURE__ */ jsx14(
28880
28917
  "img",
28881
28918
  {
28882
28919
  src: resolvedSrc,
@@ -28902,14 +28939,14 @@ function RichText({ as: Comp = "div", className, doc, path }) {
28902
28939
  const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
28903
28940
  const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
28904
28941
  const resolvedClassName = className?.trim() || DEFAULT_RICH_TEXT_CLASS;
28905
- return /* @__PURE__ */ jsx13(Comp, { className: resolvedClassName, ...dataAttributes, children: content });
28942
+ return /* @__PURE__ */ jsx14(Comp, { className: resolvedClassName, ...dataAttributes, children: content });
28906
28943
  }
28907
28944
 
28908
28945
  // ../blocks/src/primitives/content/components/Text.tsx
28909
- import { jsx as jsx14 } from "react/jsx-runtime";
28946
+ import { jsx as jsx15 } from "react/jsx-runtime";
28910
28947
  function Text({ as: Comp = "span", children, className = "", path }) {
28911
28948
  const dataAttributes = path ? { "data-builder-text": path } : void 0;
28912
- return /* @__PURE__ */ jsx14(Comp, { className, ...dataAttributes, children });
28949
+ return /* @__PURE__ */ jsx15(Comp, { className, ...dataAttributes, children });
28913
28950
  }
28914
28951
 
28915
28952
  // ../blocks/src/system/manifest/richTextSchema.ts
@@ -28998,13 +29035,13 @@ function coerceRichTextDoc(value) {
28998
29035
  }
28999
29036
 
29000
29037
  // ../blocks/src/system/runtime/nodes/basic.tsx
29001
- import { jsx as jsx15 } from "react/jsx-runtime";
29038
+ import { jsx as jsx16 } from "react/jsx-runtime";
29002
29039
  var TextNode = ({ value, children, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
29003
- return /* @__PURE__ */ jsx15(Text, { ...rest, children: value ?? children });
29040
+ return /* @__PURE__ */ jsx16(Text, { ...rest, children: value ?? children });
29004
29041
  };
29005
29042
  var RichTextNode = ({ value, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...rest }) => {
29006
29043
  const doc = coerceRichTextDoc(value);
29007
- return /* @__PURE__ */ jsx15(RichText, { doc: doc ?? void 0, ...rest });
29044
+ return /* @__PURE__ */ jsx16(RichText, { doc: doc ?? void 0, ...rest });
29008
29045
  };
29009
29046
  var ButtonNode = ({
29010
29047
  value,
@@ -29044,7 +29081,7 @@ var ButtonNode = ({
29044
29081
  extraClassName: className
29045
29082
  }) : className;
29046
29083
  if (resolvedHref) {
29047
- return /* @__PURE__ */ jsx15(
29084
+ return /* @__PURE__ */ jsx16(
29048
29085
  "a",
29049
29086
  {
29050
29087
  href: resolvedHref,
@@ -29056,7 +29093,7 @@ var ButtonNode = ({
29056
29093
  }
29057
29094
  );
29058
29095
  }
29059
- return /* @__PURE__ */ jsx15(
29096
+ return /* @__PURE__ */ jsx16(
29060
29097
  "button",
29061
29098
  {
29062
29099
  type,
@@ -29088,9 +29125,9 @@ var LinkNode = ({
29088
29125
  console.warn("[LinkNode] Missing href for link-required link");
29089
29126
  }
29090
29127
  if (linkRequired) return null;
29091
- return /* @__PURE__ */ jsx15("span", { className, ...rest, children });
29128
+ return /* @__PURE__ */ jsx16("span", { className, ...rest, children });
29092
29129
  }
29093
- return /* @__PURE__ */ jsx15("a", { href: resolvedHref, className, target, rel, ...rest, children });
29130
+ return /* @__PURE__ */ jsx16("a", { href: resolvedHref, className, target, rel, ...rest, children });
29094
29131
  };
29095
29132
 
29096
29133
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
@@ -29495,7 +29532,7 @@ function getCtaIconComponent(name) {
29495
29532
  }
29496
29533
 
29497
29534
  // ../blocks/src/system/runtime/nodes/icon.tsx
29498
- import { jsx as jsx16 } from "react/jsx-runtime";
29535
+ import { jsx as jsx17 } from "react/jsx-runtime";
29499
29536
  var IconNode = ({
29500
29537
  value,
29501
29538
  title,
@@ -29511,7 +29548,7 @@ var IconNode = ({
29511
29548
  if (!Icon2) return null;
29512
29549
  const ariaLabel = rest["aria-label"];
29513
29550
  const decorative = !ariaLabel && !title;
29514
- return /* @__PURE__ */ jsx16(
29551
+ return /* @__PURE__ */ jsx17(
29515
29552
  Icon2,
29516
29553
  {
29517
29554
  className,
@@ -29523,7 +29560,7 @@ var IconNode = ({
29523
29560
  };
29524
29561
 
29525
29562
  // ../blocks/src/system/runtime/nodes/file-download.tsx
29526
- import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
29563
+ import { jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
29527
29564
  var FILE_DOWNLOAD_BUTTON_VARIANTS = [
29528
29565
  "primary",
29529
29566
  "secondary",
@@ -29543,13 +29580,13 @@ function displayFilename(value) {
29543
29580
  function iconForMediaType(type) {
29544
29581
  switch (type) {
29545
29582
  case "audio":
29546
- return /* @__PURE__ */ jsx17(FileHeadphone, { "aria-hidden": "true" });
29583
+ return /* @__PURE__ */ jsx18(FileHeadphone, { "aria-hidden": "true" });
29547
29584
  case "document":
29548
- return /* @__PURE__ */ jsx17(FileText, { "aria-hidden": "true" });
29585
+ return /* @__PURE__ */ jsx18(FileText, { "aria-hidden": "true" });
29549
29586
  case "spreadsheet":
29550
- return /* @__PURE__ */ jsx17(FileSpreadsheet, { "aria-hidden": "true" });
29587
+ return /* @__PURE__ */ jsx18(FileSpreadsheet, { "aria-hidden": "true" });
29551
29588
  case "archive":
29552
- return /* @__PURE__ */ jsx17(FileArchive, { "aria-hidden": "true" });
29589
+ return /* @__PURE__ */ jsx18(FileArchive, { "aria-hidden": "true" });
29553
29590
  }
29554
29591
  }
29555
29592
  function normalizeButtonVariant(value) {
@@ -29571,9 +29608,9 @@ function FileDownloadNode({
29571
29608
  const body = description?.trim();
29572
29609
  const label = buttonLabel?.trim() || "Download";
29573
29610
  const variant = normalizeButtonVariant(buttonVariant);
29574
- 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: [
29611
+ 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: [
29575
29612
  /* @__PURE__ */ jsxs6("div", { className: "rb-flex rb-min-w-0 rb-items-start rb-gap-3", children: [
29576
- /* @__PURE__ */ jsx17(
29613
+ /* @__PURE__ */ jsx18(
29577
29614
  "span",
29578
29615
  {
29579
29616
  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",
@@ -29582,7 +29619,7 @@ function FileDownloadNode({
29582
29619
  }
29583
29620
  ),
29584
29621
  /* @__PURE__ */ jsxs6("div", { className: "rb-min-w-0 rb-space-y-1", children: [
29585
- /* @__PURE__ */ jsx17(
29622
+ /* @__PURE__ */ jsx18(
29586
29623
  "h2",
29587
29624
  {
29588
29625
  className: "rb-m-0 rb-text-lg rb-font-semibold",
@@ -29590,7 +29627,7 @@ function FileDownloadNode({
29590
29627
  children: heading
29591
29628
  }
29592
29629
  ),
29593
- body ? /* @__PURE__ */ jsx17(
29630
+ body ? /* @__PURE__ */ jsx18(
29594
29631
  "p",
29595
29632
  {
29596
29633
  className: "rb-m-0 rb-text-sm",
@@ -29598,7 +29635,7 @@ function FileDownloadNode({
29598
29635
  children: body
29599
29636
  }
29600
29637
  ) : null,
29601
- /* @__PURE__ */ jsx17(
29638
+ /* @__PURE__ */ jsx18(
29602
29639
  "p",
29603
29640
  {
29604
29641
  className: "rb-m-0 rb-truncate rb-text-xs",
@@ -29619,7 +29656,7 @@ function FileDownloadNode({
29619
29656
  extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
29620
29657
  }),
29621
29658
  children: [
29622
- /* @__PURE__ */ jsx17(Download, { "aria-hidden": "true" }),
29659
+ /* @__PURE__ */ jsx18(Download, { "aria-hidden": "true" }),
29623
29660
  label
29624
29661
  ]
29625
29662
  }
@@ -29771,7 +29808,7 @@ function getVideoEmbed(url) {
29771
29808
  }
29772
29809
 
29773
29810
  // ../blocks/src/system/runtime/nodes/video-embed.tsx
29774
- import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
29811
+ import { jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
29775
29812
  var VideoEmbedNode = ({
29776
29813
  value,
29777
29814
  className,
@@ -29791,7 +29828,7 @@ var VideoEmbedNode = ({
29791
29828
  }
29792
29829
  const embedInfo = getVideoEmbed(value);
29793
29830
  if (!embedInfo) {
29794
- return /* @__PURE__ */ jsx18(
29831
+ return /* @__PURE__ */ jsx19(
29795
29832
  "div",
29796
29833
  {
29797
29834
  className,
@@ -29816,7 +29853,7 @@ var VideoEmbedNode = ({
29816
29853
  const title = getVideoTitle(embedInfo);
29817
29854
  const loadingStrategy = getVideoEmbedLoadingStrategy(embedInfo.provider);
29818
29855
  const shouldDeferSrc = loadingStrategy === "defer-until-near-viewport";
29819
- return /* @__PURE__ */ jsx18("div", { ...rest, children: /* @__PURE__ */ jsxs7(
29856
+ return /* @__PURE__ */ jsx19("div", { ...rest, children: /* @__PURE__ */ jsxs7(
29820
29857
  "div",
29821
29858
  {
29822
29859
  className,
@@ -29828,7 +29865,7 @@ var VideoEmbedNode = ({
29828
29865
  width: "100%"
29829
29866
  },
29830
29867
  children: [
29831
- /* @__PURE__ */ jsx18(
29868
+ /* @__PURE__ */ jsx19(
29832
29869
  "iframe",
29833
29870
  {
29834
29871
  src: shouldDeferSrc ? void 0 : embedInfo.embedUrl,
@@ -29849,7 +29886,7 @@ var VideoEmbedNode = ({
29849
29886
  allowFullScreen: true
29850
29887
  }
29851
29888
  ),
29852
- shouldDeferSrc ? /* @__PURE__ */ jsx18("noscript", { children: /* @__PURE__ */ jsx18("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
29889
+ shouldDeferSrc ? /* @__PURE__ */ jsx19("noscript", { children: /* @__PURE__ */ jsx19("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
29853
29890
  ]
29854
29891
  }
29855
29892
  ) });
@@ -29892,7 +29929,7 @@ function normalizeAspectRatio(value) {
29892
29929
  import React3 from "react";
29893
29930
 
29894
29931
  // ../blocks/src/system/runtime/islands/ssr.tsx
29895
- import { jsx as jsx19 } from "react/jsx-runtime";
29932
+ import { jsx as jsx20 } from "react/jsx-runtime";
29896
29933
  function getIslandRootProps(kind, id) {
29897
29934
  const resolved = { "data-rb-island": kind };
29898
29935
  if (id) resolved["data-rb-island-id"] = id;
@@ -29902,7 +29939,7 @@ function serializeIslandProps(value) {
29902
29939
  return JSON.stringify(value).replace(/</g, "\\u003c");
29903
29940
  }
29904
29941
  function IslandPropsScript({ value }) {
29905
- return /* @__PURE__ */ jsx19(
29942
+ return /* @__PURE__ */ jsx20(
29906
29943
  "script",
29907
29944
  {
29908
29945
  type: "application/json",
@@ -29949,7 +29986,7 @@ function getCarouselSlidesToShowCssVars(value) {
29949
29986
  }
29950
29987
 
29951
29988
  // ../blocks/src/system/runtime/nodes/carousel.server.tsx
29952
- import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
29989
+ import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
29953
29990
  var CarouselNodeSSR = ({
29954
29991
  blockId,
29955
29992
  children,
@@ -29980,7 +30017,7 @@ var CarouselNodeSSR = ({
29980
30017
  "data-show-controls": controlsEnabled ? "true" : "false",
29981
30018
  ...getIslandRootProps("carousel", blockId),
29982
30019
  children: [
29983
- /* @__PURE__ */ jsx20(
30020
+ /* @__PURE__ */ jsx21(
29984
30021
  IslandPropsScript,
29985
30022
  {
29986
30023
  value: {
@@ -29995,7 +30032,7 @@ var CarouselNodeSSR = ({
29995
30032
  }
29996
30033
  }
29997
30034
  ),
29998
- /* @__PURE__ */ jsx20("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx20(
30035
+ /* @__PURE__ */ jsx21("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx21(
29999
30036
  "div",
30000
30037
  {
30001
30038
  className: clsx_default(
@@ -30003,7 +30040,7 @@ var CarouselNodeSSR = ({
30003
30040
  "rb-overflow-x-auto",
30004
30041
  shouldSnap && "rb-snap-x rb-snap-mandatory"
30005
30042
  ),
30006
- children: /* @__PURE__ */ jsx20("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx20(
30043
+ children: /* @__PURE__ */ jsx21("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx21(
30007
30044
  "div",
30008
30045
  {
30009
30046
  "data-carousel-slide": true,
@@ -30032,7 +30069,7 @@ function normalizeBoolean2(value) {
30032
30069
  }
30033
30070
 
30034
30071
  // ../blocks/src/system/runtime/nodes/accordion.server.tsx
30035
- import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
30072
+ import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
30036
30073
  var ACCORDION_ICONS = {
30037
30074
  Plus,
30038
30075
  Minus,
@@ -30057,7 +30094,7 @@ var AccordionNodeSSR = ({
30057
30094
  "data-default-value": Array.isArray(defaultValue) ? defaultValue.join(",") : defaultValue,
30058
30095
  ...getIslandRootProps("accordion", blockId),
30059
30096
  children: [
30060
- /* @__PURE__ */ jsx21(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
30097
+ /* @__PURE__ */ jsx22(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
30061
30098
  children
30062
30099
  ]
30063
30100
  }
@@ -30087,13 +30124,13 @@ var AccordionItemNodeSSR = ({
30087
30124
  "data-state": "closed",
30088
30125
  children: [
30089
30126
  /* @__PURE__ */ jsxs9("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
30090
- /* @__PURE__ */ jsx21("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
30127
+ /* @__PURE__ */ jsx22("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
30091
30128
  /* @__PURE__ */ jsxs9("span", { className: "accordion-icon", "aria-hidden": "true", children: [
30092
- ClosedIconComponent && /* @__PURE__ */ jsx21(ClosedIconComponent, { className: "accordion-icon-closed" }),
30093
- OpenIconComponent && /* @__PURE__ */ jsx21(OpenIconComponent, { className: "accordion-icon-open" })
30129
+ ClosedIconComponent && /* @__PURE__ */ jsx22(ClosedIconComponent, { className: "accordion-icon-closed" }),
30130
+ OpenIconComponent && /* @__PURE__ */ jsx22(OpenIconComponent, { className: "accordion-icon-open" })
30094
30131
  ] })
30095
30132
  ] }),
30096
- /* @__PURE__ */ jsx21(
30133
+ /* @__PURE__ */ jsx22(
30097
30134
  "div",
30098
30135
  {
30099
30136
  className: "accordion-content",
@@ -30102,7 +30139,7 @@ var AccordionItemNodeSSR = ({
30102
30139
  hidden: true,
30103
30140
  "aria-hidden": "true",
30104
30141
  inert: true,
30105
- children: /* @__PURE__ */ jsx21("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
30142
+ children: /* @__PURE__ */ jsx22("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
30106
30143
  }
30107
30144
  )
30108
30145
  ]
@@ -30112,12 +30149,12 @@ var AccordionItemNodeSSR = ({
30112
30149
  function resolveNode(value) {
30113
30150
  if (typeof value === "string" || typeof value === "number") return String(value);
30114
30151
  const doc = coerceRichTextDoc(value);
30115
- if (doc) return /* @__PURE__ */ jsx21(RichText, { doc });
30152
+ if (doc) return /* @__PURE__ */ jsx22(RichText, { doc });
30116
30153
  return value;
30117
30154
  }
30118
30155
 
30119
30156
  // ../blocks/src/system/runtime/nodes/header-section.server.tsx
30120
- import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
30157
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
30121
30158
  function hasShrinkClasses(className) {
30122
30159
  return typeof className === "string" && className.includes("rb-header-shrink");
30123
30160
  }
@@ -30151,8 +30188,8 @@ var HeaderSectionNode = ({
30151
30188
  "data-block-id": blockId ?? void 0,
30152
30189
  "data-preview-site-chrome-surface": previewSiteChromeSurface,
30153
30190
  children: [
30154
- /* @__PURE__ */ jsx22(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
30155
- /* @__PURE__ */ jsx22(
30191
+ /* @__PURE__ */ jsx23(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
30192
+ /* @__PURE__ */ jsx23(
30156
30193
  Section_default,
30157
30194
  {
30158
30195
  as: asProp,
@@ -30171,7 +30208,7 @@ var HeaderSectionNode = ({
30171
30208
  var header_section_server_default = HeaderSectionNode;
30172
30209
 
30173
30210
  // ../blocks/src/system/runtime/nodes/spinner.tsx
30174
- import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
30211
+ import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
30175
30212
  function resolveColorStyle(color) {
30176
30213
  switch (color) {
30177
30214
  case "inherit":
@@ -30215,7 +30252,7 @@ function SpinnerNode({
30215
30252
  ...rest,
30216
30253
  children: [
30217
30254
  /* @__PURE__ */ jsxs11("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
30218
- /* @__PURE__ */ jsx23(
30255
+ /* @__PURE__ */ jsx24(
30219
30256
  "circle",
30220
30257
  {
30221
30258
  cx: "12",
@@ -30226,7 +30263,7 @@ function SpinnerNode({
30226
30263
  opacity: trackOpacity
30227
30264
  }
30228
30265
  ),
30229
- /* @__PURE__ */ jsx23(
30266
+ /* @__PURE__ */ jsx24(
30230
30267
  "path",
30231
30268
  {
30232
30269
  d: "M12 2a10 10 0 0 1 10 10",
@@ -30236,14 +30273,14 @@ function SpinnerNode({
30236
30273
  }
30237
30274
  )
30238
30275
  ] }),
30239
- srLabel ? /* @__PURE__ */ jsx23("span", { className: "rb-sr-only", children: srLabel }) : null
30276
+ srLabel ? /* @__PURE__ */ jsx24("span", { className: "rb-sr-only", children: srLabel }) : null
30240
30277
  ]
30241
30278
  }
30242
30279
  );
30243
30280
  }
30244
30281
 
30245
30282
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30246
- import { z as z62 } from "zod";
30283
+ import { z as z63 } from "zod";
30247
30284
 
30248
30285
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
30249
30286
  function toTrimmedString(value) {
@@ -30380,7 +30417,8 @@ function isRecord4(value) {
30380
30417
  return typeof value === "object" && value !== null;
30381
30418
  }
30382
30419
 
30383
- // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30420
+ // ../blocks/src/system/runtime/nodes/booking-runtime-sources.ts
30421
+ import { z as z62 } from "zod";
30384
30422
  var bookingFieldOptionSchema = z62.object({
30385
30423
  value: z62.string(),
30386
30424
  label: z62.string()
@@ -30434,100 +30472,102 @@ var bookingSourceFormSchema = z62.object({
30434
30472
  createdAt: z62.string(),
30435
30473
  updatedAt: z62.string()
30436
30474
  });
30437
- var blockBookingPaymentTermsAvailabilitySchema = z62.union([
30438
- z62.object({
30439
- kind: z62.literal("available"),
30475
+
30476
+ // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
30477
+ var blockBookingPaymentTermsAvailabilitySchema = z63.union([
30478
+ z63.object({
30479
+ kind: z63.literal("available"),
30440
30480
  paymentTerms: blockBookingPaymentTermsSchema
30441
30481
  }),
30442
- z62.object({
30443
- kind: z62.literal("pending_stripe_setup"),
30482
+ z63.object({
30483
+ kind: z63.literal("pending_stripe_setup"),
30444
30484
  paymentTerms: blockBookingPaymentTermsSchema,
30445
- reason: z62.literal("online_payment_configured_before_launch")
30485
+ reason: z63.literal("online_payment_configured_before_launch")
30446
30486
  })
30447
30487
  ]);
30448
- var bookingServiceSchema = z62.object({
30449
- id: z62.string(),
30450
- siteId: z62.string(),
30451
- title: z62.string(),
30452
- description: z62.string().nullable().optional().transform((value) => value ?? void 0),
30453
- durationMinutes: z62.number().optional(),
30454
- priceAmount: z62.number().nullable().optional(),
30455
- priceCurrency: z62.string().nullable().optional(),
30488
+ var bookingServiceSchema = z63.object({
30489
+ id: z63.string(),
30490
+ siteId: z63.string(),
30491
+ title: z63.string(),
30492
+ description: z63.string().nullable().optional().transform((value) => value ?? void 0),
30493
+ durationMinutes: z63.number().optional(),
30494
+ priceAmount: z63.number().nullable().optional(),
30495
+ priceCurrency: z63.string().nullable().optional(),
30456
30496
  paymentTerms: blockBookingPaymentTermsSchema.optional(),
30457
30497
  paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
30458
30498
  });
30459
- var bookingServicesSourceSchema = z62.union([
30460
- z62.array(bookingServiceSchema),
30461
- z62.object({
30462
- services: z62.array(bookingServiceSchema).optional()
30499
+ var bookingServicesSourceSchema = z63.union([
30500
+ z63.array(bookingServiceSchema),
30501
+ z63.object({
30502
+ services: z63.array(bookingServiceSchema).optional()
30463
30503
  }),
30464
- z62.record(z62.string(), bookingServiceSchema)
30504
+ z63.record(z63.string(), bookingServiceSchema)
30465
30505
  ]);
30466
- var bookingConfigSchema = z62.object({
30467
- id: z62.string(),
30468
- name: z62.string(),
30469
- slug: z62.string(),
30506
+ var bookingConfigSchema = z63.object({
30507
+ id: z63.string(),
30508
+ name: z63.string(),
30509
+ slug: z63.string(),
30470
30510
  settings: bookingSettingsSchema.optional(),
30471
- schema: z62.object({
30472
- version: z62.string().optional(),
30473
- fields: z62.array(bookingFieldSchema)
30511
+ schema: z63.object({
30512
+ version: z63.string().optional(),
30513
+ fields: z63.array(bookingFieldSchema)
30474
30514
  }).optional()
30475
30515
  });
30476
- var bookingSourceSchema = z62.object({
30477
- siteId: z62.string().optional(),
30478
- apiBaseUrl: z62.string().optional(),
30479
- portalToken: z62.string().nullable().optional(),
30480
- formId: z62.string().optional(),
30481
- serviceId: z62.string().nullable().optional(),
30482
- resourceId: z62.string().nullable().optional(),
30483
- initialData: z62.record(z62.string(), z62.unknown()).nullable().optional(),
30484
- noticeMessage: z62.string().nullable().optional(),
30485
- requiresServiceSelection: z62.boolean().optional(),
30486
- requiresResourceSelection: z62.boolean().optional(),
30487
- shouldAutoSelectSingleResource: z62.boolean().optional(),
30488
- rebookContext: z62.object({
30489
- kind: z62.literal("portal_rebook")
30516
+ var bookingSourceSchema = z63.object({
30517
+ siteId: z63.string().optional(),
30518
+ apiBaseUrl: z63.string().optional(),
30519
+ portalToken: z63.string().nullable().optional(),
30520
+ formId: z63.string().optional(),
30521
+ serviceId: z63.string().nullable().optional(),
30522
+ resourceId: z63.string().nullable().optional(),
30523
+ initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
30524
+ noticeMessage: z63.string().nullable().optional(),
30525
+ requiresServiceSelection: z63.boolean().optional(),
30526
+ requiresResourceSelection: z63.boolean().optional(),
30527
+ shouldAutoSelectSingleResource: z63.boolean().optional(),
30528
+ rebookContext: z63.object({
30529
+ kind: z63.literal("portal_rebook")
30490
30530
  }).nullable().optional(),
30491
- submitLabel: z62.string().nullable().optional(),
30492
- successMessage: z62.string().nullable().optional(),
30531
+ submitLabel: z63.string().nullable().optional(),
30532
+ successMessage: z63.string().nullable().optional(),
30493
30533
  form: bookingSourceFormSchema.nullable().optional(),
30494
30534
  services: bookingServicesSourceSchema.nullable().optional(),
30495
- spamProtectionEnabled: z62.boolean().optional(),
30496
- className: z62.string().nullable().optional()
30497
- });
30498
- var bookingDisplaySchema = z62.object({
30499
- kind: z62.literal("booking-form"),
30500
- state: z62.enum(["missing", "ready"]),
30501
- className: z62.string().nullable(),
30502
- submitLabel: z62.string(),
30503
- successMessage: z62.string().nullable(),
30504
- message: z62.string().nullable()
30505
- });
30506
- var bookingHydrationSchema = z62.object({
30507
- formId: z62.string().nullable(),
30508
- serviceId: z62.string().nullable(),
30509
- resourceId: z62.string().nullable(),
30510
- initialData: z62.record(z62.string(), z62.unknown()).nullable().optional(),
30511
- noticeMessage: z62.string().nullable().optional(),
30512
- requiresServiceSelection: z62.boolean().optional(),
30513
- requiresResourceSelection: z62.boolean().optional(),
30514
- shouldAutoSelectSingleResource: z62.boolean().optional(),
30515
- rebookContext: z62.object({
30516
- kind: z62.literal("portal_rebook")
30535
+ spamProtectionEnabled: z63.boolean().optional(),
30536
+ className: z63.string().nullable().optional()
30537
+ });
30538
+ var bookingDisplaySchema = z63.object({
30539
+ kind: z63.literal("booking-form"),
30540
+ state: z63.enum(["missing", "ready"]),
30541
+ className: z63.string().nullable(),
30542
+ submitLabel: z63.string(),
30543
+ successMessage: z63.string().nullable(),
30544
+ message: z63.string().nullable()
30545
+ });
30546
+ var bookingHydrationSchema = z63.object({
30547
+ formId: z63.string().nullable(),
30548
+ serviceId: z63.string().nullable(),
30549
+ resourceId: z63.string().nullable(),
30550
+ initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
30551
+ noticeMessage: z63.string().nullable().optional(),
30552
+ requiresServiceSelection: z63.boolean().optional(),
30553
+ requiresResourceSelection: z63.boolean().optional(),
30554
+ shouldAutoSelectSingleResource: z63.boolean().optional(),
30555
+ rebookContext: z63.object({
30556
+ kind: z63.literal("portal_rebook")
30517
30557
  }).nullable().optional(),
30518
30558
  form: bookingConfigSchema.nullable(),
30519
- services: z62.array(bookingServiceSchema),
30520
- spamProtectionEnabled: z62.boolean().optional()
30559
+ services: z63.array(bookingServiceSchema),
30560
+ spamProtectionEnabled: z63.boolean().optional()
30521
30561
  });
30522
- var bookingRenderSchema = z62.object({
30562
+ var bookingRenderSchema = z63.object({
30523
30563
  display: bookingDisplaySchema,
30524
30564
  hydration: bookingHydrationSchema
30525
30565
  });
30526
30566
  var bookingFormIslandMetaCodec = createZodCodec(
30527
- z62.object({
30528
- siteId: z62.string().optional(),
30529
- apiBaseUrl: z62.string().optional(),
30530
- portalToken: z62.string().nullable().optional()
30567
+ z63.object({
30568
+ siteId: z63.string().optional(),
30569
+ apiBaseUrl: z63.string().optional(),
30570
+ portalToken: z63.string().nullable().optional()
30531
30571
  })
30532
30572
  );
30533
30573
  var bookingFormIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -30598,7 +30638,7 @@ function buildBookingFormInteractiveIslandProps(props2) {
30598
30638
  }
30599
30639
 
30600
30640
  // ../blocks/src/system/runtime/nodes/booking-form.server.tsx
30601
- import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
30641
+ import { Fragment as Fragment2, jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
30602
30642
  function BookingFormSSR({
30603
30643
  blockId,
30604
30644
  siteId,
@@ -30648,10 +30688,10 @@ function BookingFormSSR({
30648
30688
  className: `booking-form-ssr ${className ?? ""}`.trim(),
30649
30689
  ...getIslandRootProps("booking-form", blockId),
30650
30690
  children: [
30651
- /* @__PURE__ */ jsx24(IslandPropsScript, { value: islandProps }),
30652
- /* @__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: [
30653
- /* @__PURE__ */ jsx24("strong", { children: display.submitLabel }),
30654
- display.successMessage ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
30691
+ /* @__PURE__ */ jsx25(IslandPropsScript, { value: islandProps }),
30692
+ /* @__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: [
30693
+ /* @__PURE__ */ jsx25("strong", { children: display.submitLabel }),
30694
+ display.successMessage ? /* @__PURE__ */ jsx25("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
30655
30695
  ] }) }),
30656
30696
  children
30657
30697
  ]
@@ -30759,21 +30799,21 @@ function filterMembershipsForEvent(siteMemberships, event) {
30759
30799
  }
30760
30800
 
30761
30801
  // ../blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.tsx
30762
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
30802
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
30763
30803
  function CoursePricingDisplay({
30764
30804
  pricing,
30765
30805
  acceptedItems
30766
30806
  }) {
30767
30807
  return /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
30768
- /* @__PURE__ */ jsx25("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
30769
- 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: [
30808
+ /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
30809
+ 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: [
30770
30810
  /* @__PURE__ */ jsxs13("strong", { children: [
30771
30811
  option.name,
30772
30812
  ": ",
30773
30813
  formatCoursePriceAmount(option.priceAmount, pricing.currency)
30774
30814
  ] }),
30775
- option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
30776
- ] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
30815
+ option.description ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: option.description }) : null
30816
+ ] }, option.id)) }) : /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
30777
30817
  acceptedItems.length > 0 ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
30778
30818
  "You can also attend with: ",
30779
30819
  acceptedItems.join(", ")
@@ -30782,7 +30822,7 @@ function CoursePricingDisplay({
30782
30822
  }
30783
30823
 
30784
30824
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
30785
- import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
30825
+ import { Fragment as Fragment3, jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
30786
30826
  function formatAutoApplyDiscountLine(preview, currency) {
30787
30827
  const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
30788
30828
  const label = preview.publicLabel.trim() || "Discount";
@@ -30792,7 +30832,7 @@ function TeamMemberName({
30792
30832
  name,
30793
30833
  profilePath
30794
30834
  }) {
30795
- return profilePath ? /* @__PURE__ */ jsx26("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx26("strong", { children: name }) }) : /* @__PURE__ */ jsx26("strong", { children: name });
30835
+ return profilePath ? /* @__PURE__ */ jsx27("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx27("strong", { children: name }) }) : /* @__PURE__ */ jsx27("strong", { children: name });
30796
30836
  }
30797
30837
  function EventDetailsView({
30798
30838
  selection,
@@ -30811,7 +30851,7 @@ function EventDetailsView({
30811
30851
  }) {
30812
30852
  const selected = selection.selected;
30813
30853
  if (!selected) {
30814
- return /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No upcoming dates scheduled." });
30854
+ return /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: "No upcoming dates scheduled." });
30815
30855
  }
30816
30856
  const venue = showVenue ? selected.venue : void 0;
30817
30857
  const isDropIn = selected.kind !== "course_session" && selected.requiresRegistration === false;
@@ -30837,7 +30877,7 @@ function EventDetailsView({
30837
30877
  /* @__PURE__ */ jsxs14("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
30838
30878
  /* @__PURE__ */ jsxs14("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
30839
30879
  /* @__PURE__ */ jsxs14("div", { children: [
30840
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
30880
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
30841
30881
  (() => {
30842
30882
  const { date, timeRange } = formatEventDateParts({
30843
30883
  startsAt: selected.startsAt,
@@ -30845,61 +30885,61 @@ function EventDetailsView({
30845
30885
  timeZone: selection.timeZone
30846
30886
  });
30847
30887
  return /* @__PURE__ */ jsxs14(Fragment3, { children: [
30848
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: date }) }),
30849
- /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: timeRange })
30888
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27("strong", { children: date }) }),
30889
+ /* @__PURE__ */ jsx27("p", { className: "rb-caption", children: timeRange })
30850
30890
  ] });
30851
30891
  })()
30852
30892
  ] }),
30853
30893
  venue ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30854
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Venue" }),
30855
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: venue.name }) }),
30856
- venue.address ? /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: venue.address }) : null
30894
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Venue" }),
30895
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27("strong", { children: venue.name }) }),
30896
+ venue.address ? /* @__PURE__ */ jsx27("p", { className: "rb-caption", children: venue.address }) : null
30857
30897
  ] }) : null,
30858
30898
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30859
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
30860
- /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs14("div", { children: [
30861
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
30899
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Team members" }),
30900
+ /* @__PURE__ */ jsx27("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs14("div", { children: [
30901
+ /* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27(
30862
30902
  TeamMemberName,
30863
30903
  {
30864
30904
  name: teamMember.name,
30865
30905
  profilePath: teamMember.profilePath
30866
30906
  }
30867
30907
  ) }),
30868
- teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
30908
+ teamMember.summary ? /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
30869
30909
  ] }, teamMember.id)) })
30870
30910
  ] }) : null,
30871
30911
  isDropIn ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30872
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Registration" }),
30873
- /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
30874
- ] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx26(
30912
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Registration" }),
30913
+ /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
30914
+ ] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx27(
30875
30915
  CoursePricingDisplay,
30876
30916
  {
30877
30917
  pricing: coursePricing,
30878
30918
  acceptedItems
30879
30919
  }
30880
30920
  ) : shouldShowEventCost ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
30881
- /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
30882
- 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" }),
30883
- autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
30921
+ /* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Cost" }),
30922
+ 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" }),
30923
+ autoApplyDiscount ? /* @__PURE__ */ jsx27("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
30884
30924
  hasAcceptedItems ? /* @__PURE__ */ jsxs14("p", { className: "rb-caption rb-mt-1", children: [
30885
30925
  "You can also attend with: ",
30886
30926
  acceptedItems.join(", ")
30887
30927
  ] }) : null
30888
- ] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs14("p", { className: "rb-caption", children: [
30928
+ ] }) : hasAcceptedItems ? /* @__PURE__ */ jsx27("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs14("p", { className: "rb-caption", children: [
30889
30929
  "You can also attend with: ",
30890
30930
  acceptedItems.join(", ")
30891
30931
  ] }) }) : null
30892
30932
  ] }),
30893
- showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx26(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
30933
+ showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx27(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
30894
30934
  ] }),
30895
30935
  showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */ jsxs14("div", { children: [
30896
- /* @__PURE__ */ jsx26("div", { className: "rb-label", children: "Other dates" }),
30897
- /* @__PURE__ */ jsx26("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx26(
30936
+ /* @__PURE__ */ jsx27("div", { className: "rb-label", children: "Other dates" }),
30937
+ /* @__PURE__ */ jsx27("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx27(
30898
30938
  "a",
30899
30939
  {
30900
30940
  className: "rb-tile rb-tile--interactive",
30901
30941
  href: e.path,
30902
- children: /* @__PURE__ */ jsx26(
30942
+ children: /* @__PURE__ */ jsx27(
30903
30943
  DateTimeTile,
30904
30944
  {
30905
30945
  startsAt: e.startsAt,
@@ -30915,7 +30955,7 @@ function EventDetailsView({
30915
30955
  }
30916
30956
 
30917
30957
  // ../blocks/src/system/runtime/nodes/event-details.server.tsx
30918
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
30958
+ import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
30919
30959
  function EventDetailsSSR({
30920
30960
  blockId,
30921
30961
  occurrenceContext,
@@ -30951,7 +30991,7 @@ function EventDetailsSSR({
30951
30991
  "data-block": "event-details",
30952
30992
  ...getIslandRootProps("event-details", blockId),
30953
30993
  children: [
30954
- /* @__PURE__ */ jsx27(
30994
+ /* @__PURE__ */ jsx28(
30955
30995
  IslandPropsScript,
30956
30996
  {
30957
30997
  value: {
@@ -30972,7 +31012,7 @@ function EventDetailsSSR({
30972
31012
  }
30973
31013
  }
30974
31014
  ),
30975
- /* @__PURE__ */ jsx27(
31015
+ /* @__PURE__ */ jsx28(
30976
31016
  EventDetailsView,
30977
31017
  {
30978
31018
  selection,
@@ -30986,7 +31026,7 @@ function EventDetailsSSR({
30986
31026
  applicableMemberships,
30987
31027
  autoApplyDiscount: autoApplyDiscount ?? null,
30988
31028
  mapClassName: "venue-map event-details-map",
30989
- renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx27("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx27(
31029
+ renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx28("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx28(
30990
31030
  "div",
30991
31031
  {
30992
31032
  className: className2,
@@ -31010,7 +31050,7 @@ function EventDetailsSSR({
31010
31050
  var event_details_server_default = EventDetailsSSR;
31011
31051
 
31012
31052
  // ../blocks/src/system/runtime/nodes/location-map.view.tsx
31013
- import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
31053
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
31014
31054
  function LocationMapView({
31015
31055
  addressText,
31016
31056
  location: location2,
@@ -31024,7 +31064,7 @@ function LocationMapView({
31024
31064
  }) {
31025
31065
  const directionsUrl = buildGoogleMapsDirectionsUrl({ addressText, location: location2 });
31026
31066
  if (!location2 && !addressText && !directionsUrl) {
31027
- return /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
31067
+ return /* @__PURE__ */ jsx29("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
31028
31068
  }
31029
31069
  return /* @__PURE__ */ jsxs16("div", { className: "rb-flex rb-flex-col rb-gap-4 rb-text-left", children: [
31030
31070
  location2 && renderMap ? renderMap({
@@ -31034,8 +31074,8 @@ function LocationMapView({
31034
31074
  height: heightPx,
31035
31075
  zoom
31036
31076
  }) : null,
31037
- showAddressText && addressText ? /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: addressText }) : null,
31038
- showDirections && directionsUrl ? /* @__PURE__ */ jsx28(
31077
+ showAddressText && addressText ? /* @__PURE__ */ jsx29("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: addressText }) : null,
31078
+ showDirections && directionsUrl ? /* @__PURE__ */ jsx29(
31039
31079
  "a",
31040
31080
  {
31041
31081
  href: directionsUrl,
@@ -31054,7 +31094,7 @@ function LocationMapView({
31054
31094
  }
31055
31095
 
31056
31096
  // ../blocks/src/system/runtime/nodes/location-map.server.tsx
31057
- import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
31097
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
31058
31098
  function LocationMapSSR(props2) {
31059
31099
  const normalized = normalizeLocationMapProps(props2);
31060
31100
  const hydrationProps = toLocationMapHydrationProps(props2);
@@ -31065,8 +31105,8 @@ function LocationMapSSR(props2) {
31065
31105
  "data-block": "location-map",
31066
31106
  ...getIslandRootProps("location-map", props2.blockId),
31067
31107
  children: [
31068
- /* @__PURE__ */ jsx29(IslandPropsScript, { value: hydrationProps }),
31069
- /* @__PURE__ */ jsx29(
31108
+ /* @__PURE__ */ jsx30(IslandPropsScript, { value: hydrationProps }),
31109
+ /* @__PURE__ */ jsx30(
31070
31110
  LocationMapView,
31071
31111
  {
31072
31112
  addressText: normalized.addressText,
@@ -31077,7 +31117,7 @@ function LocationMapSSR(props2) {
31077
31117
  showDirections: normalized.showDirections,
31078
31118
  directionsLabel: normalized.directionsLabel,
31079
31119
  unresolvedMessage: normalized.unresolvedMessage,
31080
- renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx29(
31120
+ renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx30(
31081
31121
  "div",
31082
31122
  {
31083
31123
  className,
@@ -31213,12 +31253,12 @@ function formatCourseDateRange(range) {
31213
31253
  }
31214
31254
 
31215
31255
  // ../blocks/src/system/runtime/nodes/course-details/view.tsx
31216
- import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
31256
+ import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
31217
31257
  function TeamMemberName2({
31218
31258
  name,
31219
31259
  profilePath
31220
31260
  }) {
31221
- return profilePath ? /* @__PURE__ */ jsx30("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx30("strong", { children: name }) }) : /* @__PURE__ */ jsx30("strong", { children: name });
31261
+ return profilePath ? /* @__PURE__ */ jsx31("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx31("strong", { children: name }) }) : /* @__PURE__ */ jsx31("strong", { children: name });
31222
31262
  }
31223
31263
  function parseLimit2(value, fallback2) {
31224
31264
  if (value === "all") return "all";
@@ -31239,7 +31279,7 @@ function CourseDetailsView(props2) {
31239
31279
  showMembershipNote = true
31240
31280
  } = props2;
31241
31281
  if (!course) {
31242
- return /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
31282
+ return /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
31243
31283
  }
31244
31284
  const pricing = resolveCoursePricingState(course);
31245
31285
  const sessionLimit = parseLimit2(sessionsLimit, 10);
@@ -31249,12 +31289,12 @@ function CourseDetailsView(props2) {
31249
31289
  const descriptionDoc = showDescription ? coerceRichTextDoc(course.description) : null;
31250
31290
  const teamMembers = course.teamMembers ?? [];
31251
31291
  return /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-6", children: [
31252
- showTitle && /* @__PURE__ */ jsx30("h3", { children: course.title }),
31292
+ showTitle && /* @__PURE__ */ jsx31("h3", { children: course.title }),
31253
31293
  /* @__PURE__ */ jsxs18("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
31254
31294
  /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31255
31295
  showPrice && /* @__PURE__ */ jsxs18("div", { children: [
31256
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
31257
- 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: [
31296
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
31297
+ 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: [
31258
31298
  /* @__PURE__ */ jsxs18("strong", { children: [
31259
31299
  option.name,
31260
31300
  ": ",
@@ -31263,47 +31303,47 @@ function CourseDetailsView(props2) {
31263
31303
  pricing.currency
31264
31304
  )
31265
31305
  ] }),
31266
- option.description ? /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: option.description }) : null
31267
- ] }, option.id)) }) : /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
31306
+ option.description ? /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: option.description }) : null
31307
+ ] }, option.id)) }) : /* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsx31("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
31268
31308
  ] }),
31269
31309
  showCapacity && /* @__PURE__ */ jsxs18("div", { children: [
31270
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Spots" }),
31271
- /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
31310
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Spots" }),
31311
+ /* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsx31("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
31272
31312
  ] }),
31273
31313
  showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs18("div", { children: [
31274
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Membership" }),
31275
- /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
31314
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Membership" }),
31315
+ /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
31276
31316
  ] }),
31277
31317
  teamMembers.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
31278
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
31279
- /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs18("div", { children: [
31280
- /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
31318
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Team members" }),
31319
+ /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs18("div", { children: [
31320
+ /* @__PURE__ */ jsx31("p", { children: /* @__PURE__ */ jsx31(
31281
31321
  TeamMemberName2,
31282
31322
  {
31283
31323
  name: teamMember.name,
31284
31324
  profilePath: teamMember.profilePath
31285
31325
  }
31286
31326
  ) }),
31287
- teamMember.summary && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: teamMember.summary })
31327
+ teamMember.summary && /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: teamMember.summary })
31288
31328
  ] }, teamMember.id)) })
31289
31329
  ] })
31290
31330
  ] }),
31291
31331
  /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31292
31332
  showVenue && course.venue && /* @__PURE__ */ jsxs18("div", { children: [
31293
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Venue" }),
31294
- /* @__PURE__ */ jsx30("h3", { children: course.venue.name }),
31295
- course.venue.address && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: course.venue.address })
31333
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Venue" }),
31334
+ /* @__PURE__ */ jsx31("h3", { children: course.venue.name }),
31335
+ course.venue.address && /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: course.venue.address })
31296
31336
  ] }),
31297
31337
  showEnrollmentStatus && /* @__PURE__ */ jsxs18("div", { children: [
31298
- /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
31299
- /* @__PURE__ */ jsx30("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
31338
+ /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
31339
+ /* @__PURE__ */ jsx31("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx31("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
31300
31340
  ] })
31301
31341
  ] })
31302
31342
  ] }),
31303
- descriptionDoc && /* @__PURE__ */ jsx30("div", { className: "cd-description", children: /* @__PURE__ */ jsx30(RichText, { doc: descriptionDoc }) }),
31343
+ descriptionDoc && /* @__PURE__ */ jsx31("div", { className: "cd-description", children: /* @__PURE__ */ jsx31(RichText, { doc: descriptionDoc }) }),
31304
31344
  showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
31305
- /* @__PURE__ */ jsx30("div", { className: "rb-label", children: "Sessions" }),
31306
- /* @__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)) }),
31345
+ /* @__PURE__ */ jsx31("div", { className: "rb-label", children: "Sessions" }),
31346
+ /* @__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)) }),
31307
31347
  hasMoreSessions && /* @__PURE__ */ jsxs18("p", { className: "cd-sessions__more", children: [
31308
31348
  "Showing ",
31309
31349
  visibleSessions.length,
@@ -31316,7 +31356,7 @@ function CourseDetailsView(props2) {
31316
31356
  }
31317
31357
 
31318
31358
  // ../blocks/src/system/runtime/nodes/course-details.server.tsx
31319
- import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
31359
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
31320
31360
  function CourseDetailsSSR({
31321
31361
  courses,
31322
31362
  contentEntry,
@@ -31355,7 +31395,7 @@ function CourseDetailsSSR({
31355
31395
  const lastPastRun = pastRuns[0] ?? null;
31356
31396
  const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
31357
31397
  return /* @__PURE__ */ jsxs19("div", { className: `course-details ${className ?? ""}`.trim(), "data-block": "course-details", children: [
31358
- selection.selected ? /* @__PURE__ */ jsx31(
31398
+ selection.selected ? /* @__PURE__ */ jsx32(
31359
31399
  CourseDetailsView,
31360
31400
  {
31361
31401
  course: selection.selected,
@@ -31371,30 +31411,30 @@ function CourseDetailsSSR({
31371
31411
  }
31372
31412
  ) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-flex-col rb-gap-3", children: [
31373
31413
  /* @__PURE__ */ jsxs19("div", { children: [
31374
- /* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
31375
- /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
31414
+ /* @__PURE__ */ jsx32("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
31415
+ /* @__PURE__ */ jsx32("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
31376
31416
  ] }),
31377
- nonPastRuns.length > 0 ? /* @__PURE__ */ jsx31("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
31417
+ nonPastRuns.length > 0 ? /* @__PURE__ */ jsx32("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
31378
31418
  const start = range.start;
31379
31419
  const end = range.end;
31380
31420
  const isInProgress = Boolean(start && end && start <= now && end > now);
31381
31421
  const href = basePath ? `${basePath.replace(/\/$/, "")}/${course.slug}` : null;
31382
- 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: [
31422
+ 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: [
31383
31423
  /* @__PURE__ */ jsxs19("div", { className: "rb-min-w-0", children: [
31384
- 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 }) }),
31385
- /* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
31424
+ 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 }) }),
31425
+ /* @__PURE__ */ jsx32("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
31386
31426
  ] }),
31387
- /* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
31427
+ /* @__PURE__ */ jsx32("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
31388
31428
  ] }) }) }, course.id);
31389
- }) }) : /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
31429
+ }) }) : /* @__PURE__ */ jsx32("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
31390
31430
  lastPastRun ? /* @__PURE__ */ jsxs19("div", { className: "rb-caption status-muted", children: [
31391
31431
  "Last run: ",
31392
- /* @__PURE__ */ jsx31("strong", { children: lastPastRun.course.title }),
31432
+ /* @__PURE__ */ jsx32("strong", { children: lastPastRun.course.title }),
31393
31433
  " (",
31394
31434
  formatCourseDateRange(lastPastRun.range),
31395
31435
  ")"
31396
31436
  ] }) : null
31397
- ] }) : /* @__PURE__ */ jsx31(
31437
+ ] }) : /* @__PURE__ */ jsx32(
31398
31438
  CourseDetailsView,
31399
31439
  {
31400
31440
  course: null,
@@ -31415,7 +31455,7 @@ function CourseDetailsSSR({
31415
31455
  var course_details_server_default = CourseDetailsSSR;
31416
31456
 
31417
31457
  // ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
31418
- import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
31458
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
31419
31459
  var EventSpotlight = ({
31420
31460
  events,
31421
31461
  layout = "grid",
@@ -31433,13 +31473,13 @@ var EventSpotlight = ({
31433
31473
  }) => {
31434
31474
  const normalizedEvents = events ?? [];
31435
31475
  if (normalizedEvents.length === 0) {
31436
- return /* @__PURE__ */ jsx32(EmptyState, { message: emptyMessage, className });
31476
+ return /* @__PURE__ */ jsx33(EmptyState, { message: emptyMessage, className });
31437
31477
  }
31438
31478
  const containerClass = getContainerClass(layout, columns);
31439
31479
  const cardOrientation = getCardOrientation(layout);
31440
31480
  const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
31441
31481
  return /* @__PURE__ */ jsxs20("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
31442
- /* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
31482
+ /* @__PURE__ */ jsx33("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx33(
31443
31483
  EventCard,
31444
31484
  {
31445
31485
  event,
@@ -31453,93 +31493,93 @@ var EventSpotlight = ({
31453
31493
  },
31454
31494
  event.occurrenceId || event.id
31455
31495
  )) }),
31456
- ctaLabel && ctaUrl ? /* @__PURE__ */ jsx32("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx32("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
31496
+ ctaLabel && ctaUrl ? /* @__PURE__ */ jsx33("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx33("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
31457
31497
  ] });
31458
31498
  };
31459
31499
 
31460
31500
  // ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
31461
- import { z as z63 } from "zod";
31462
- var eventBlockKindSchema3 = z63.enum(eventBlockKindValues);
31463
- var eventSurfaceScopeSchema3 = z63.enum(eventSurfaceScopeValues);
31464
- var eventScheduleScopeSchema4 = z63.enum(eventScheduleScopeValues);
31465
- var eventCombinedSourceSchema = z63.object(
31501
+ import { z as z64 } from "zod";
31502
+ var eventBlockKindSchema3 = z64.enum(eventBlockKindValues);
31503
+ var eventSurfaceScopeSchema3 = z64.enum(eventSurfaceScopeValues);
31504
+ var eventScheduleScopeSchema4 = z64.enum(eventScheduleScopeValues);
31505
+ var eventCombinedSourceSchema = z64.object(
31466
31506
  {
31467
- events: z63.array(publicEventSchema).nullable().optional(),
31468
- siteId: z63.string(),
31469
- apiBaseUrl: z63.string().optional(),
31507
+ events: z64.array(publicEventSchema).nullable().optional(),
31508
+ siteId: z64.string(),
31509
+ apiBaseUrl: z64.string().optional(),
31470
31510
  stage: previewStageSchema.optional(),
31471
31511
  listLayout: eventLayoutSchema.optional(),
31472
31512
  listColumns: columnOptionSchema.optional(),
31473
- eventsPerPage: z63.string().optional(),
31474
- compactEventsPerPage: z63.string().optional(),
31475
- loadMoreText: z63.string().optional(),
31513
+ eventsPerPage: z64.string().optional(),
31514
+ compactEventsPerPage: z64.string().optional(),
31515
+ loadMoreText: z64.string().optional(),
31476
31516
  startOfWeek: weekStartSchema.optional(),
31477
31517
  calendarTabViews: calendarTabViewsSchema.optional(),
31478
- showFilters: z63.boolean().nullable().optional(),
31518
+ showFilters: z64.boolean().nullable().optional(),
31479
31519
  showCategoryFilter: filterAutoShowSchema.optional(),
31480
- showVenueFilter: z63.boolean().nullable().optional(),
31481
- showStaffFilter: z63.boolean().nullable().optional(),
31520
+ showVenueFilter: z64.boolean().nullable().optional(),
31521
+ showStaffFilter: z64.boolean().nullable().optional(),
31482
31522
  eventKind: eventBlockKindSchema3.nullable().optional(),
31483
31523
  eventSurface: eventSurfaceScopeSchema3.nullable().optional(),
31484
- filterEventPresets: z63.union([z63.string(), z63.array(z63.string())]).nullable().optional(),
31524
+ filterEventPresets: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
31485
31525
  scheduleScope: eventScheduleScopeSchema4.nullable().optional(),
31486
- filterCategoryIds: z63.union([z63.string(), z63.array(z63.string())]).nullable().optional(),
31487
- filterStaffMemberId: z63.string().nullable().optional(),
31488
- filterVenueId: z63.string().nullable().optional(),
31489
- showVenue: z63.boolean().nullable().optional(),
31490
- showMap: z63.boolean().nullable().optional(),
31491
- showCapacity: z63.boolean().nullable().optional(),
31526
+ filterCategoryIds: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
31527
+ filterStaffMemberId: z64.string().nullable().optional(),
31528
+ filterVenueId: z64.string().nullable().optional(),
31529
+ showVenue: z64.boolean().nullable().optional(),
31530
+ showMap: z64.boolean().nullable().optional(),
31531
+ showCapacity: z64.boolean().nullable().optional(),
31492
31532
  buttonVariant: eventButtonVariantSchema.optional(),
31493
- buttonText: z63.string().optional(),
31494
- emptyMessage: z63.string().optional(),
31495
- className: z63.string().optional()
31533
+ buttonText: z64.string().optional(),
31534
+ emptyMessage: z64.string().optional(),
31535
+ className: z64.string().optional()
31496
31536
  }
31497
31537
  );
31498
- var eventCombinedDisplaySchema = z63.object({
31499
- kind: z63.literal("event-combined"),
31500
- className: z63.string().nullable(),
31501
- events: z63.array(publicEventSchema),
31538
+ var eventCombinedDisplaySchema = z64.object({
31539
+ kind: z64.literal("event-combined"),
31540
+ className: z64.string().nullable(),
31541
+ events: z64.array(publicEventSchema),
31502
31542
  listLayout: eventLayoutSchema,
31503
31543
  listColumns: columnOptionSchema,
31504
- eventsPerPage: z63.string(),
31505
- loadMoreText: z63.string(),
31544
+ eventsPerPage: z64.string(),
31545
+ loadMoreText: z64.string(),
31506
31546
  startOfWeek: weekStartSchema,
31507
31547
  calendarTabViews: calendarTabViewsSchema,
31508
- showFilters: z63.boolean(),
31548
+ showFilters: z64.boolean(),
31509
31549
  showCategoryFilter: filterAutoShowSchema,
31510
- showVenueFilter: z63.boolean(),
31511
- showStaffFilter: z63.boolean(),
31550
+ showVenueFilter: z64.boolean(),
31551
+ showStaffFilter: z64.boolean(),
31512
31552
  eventKind: eventBlockKindSchema3,
31513
31553
  eventSurface: eventSurfaceScopeSchema3,
31514
- filterEventPresets: z63.string().nullable(),
31554
+ filterEventPresets: z64.string().nullable(),
31515
31555
  scheduleScope: eventScheduleScopeSchema4,
31516
- filterCategoryIds: z63.string().nullable(),
31517
- filterStaffMemberId: z63.string().nullable(),
31518
- filterVenueId: z63.string().nullable(),
31519
- showVenue: z63.boolean(),
31520
- showMap: z63.boolean(),
31521
- showCapacity: z63.boolean(),
31556
+ filterCategoryIds: z64.string().nullable(),
31557
+ filterStaffMemberId: z64.string().nullable(),
31558
+ filterVenueId: z64.string().nullable(),
31559
+ showVenue: z64.boolean(),
31560
+ showMap: z64.boolean(),
31561
+ showCapacity: z64.boolean(),
31522
31562
  buttonVariant: eventButtonVariantSchema,
31523
- buttonText: z63.string(),
31524
- emptyMessage: z63.string()
31563
+ buttonText: z64.string(),
31564
+ emptyMessage: z64.string()
31525
31565
  });
31526
- var eventCombinedHydrationSchema = z63.object({
31527
- siteId: z63.string(),
31566
+ var eventCombinedHydrationSchema = z64.object({
31567
+ siteId: z64.string(),
31528
31568
  stage: previewStageSchema.optional(),
31529
- prefetchedEvents: z63.boolean(),
31569
+ prefetchedEvents: z64.boolean(),
31530
31570
  eventKind: eventBlockKindSchema3,
31531
31571
  eventSurface: eventSurfaceScopeSchema3,
31532
- filterEventPresets: z63.string().nullable(),
31572
+ filterEventPresets: z64.string().nullable(),
31533
31573
  scheduleScope: eventScheduleScopeSchema4
31534
31574
  });
31535
- var eventCombinedRenderSchema = z63.object({
31575
+ var eventCombinedRenderSchema = z64.object({
31536
31576
  display: eventCombinedDisplaySchema,
31537
31577
  hydration: eventCombinedHydrationSchema
31538
31578
  });
31539
31579
  var eventCombinedIslandMetaCodec = createZodCodec(
31540
- z63.object({
31541
- siteId: z63.string(),
31542
- apiBaseUrl: z63.string().optional(),
31580
+ z64.object({
31581
+ siteId: z64.string(),
31582
+ apiBaseUrl: z64.string().optional(),
31543
31583
  stage: previewStageSchema.optional()
31544
31584
  })
31545
31585
  );
@@ -31646,10 +31686,10 @@ function buildEventCombinedInteractiveIslandProps(props2) {
31646
31686
  }
31647
31687
 
31648
31688
  // ../blocks/src/system/runtime/nodes/events/shared/renderEventListItem.tsx
31649
- import { jsx as jsx33 } from "react/jsx-runtime";
31689
+ import { jsx as jsx34 } from "react/jsx-runtime";
31650
31690
  function renderEventListItem(event, display) {
31651
31691
  if (display.listLayout === "compact") {
31652
- return /* @__PURE__ */ jsx33(
31692
+ return /* @__PURE__ */ jsx34(
31653
31693
  EventCompactRow,
31654
31694
  {
31655
31695
  event,
@@ -31659,7 +31699,7 @@ function renderEventListItem(event, display) {
31659
31699
  event.occurrenceId || event.id
31660
31700
  );
31661
31701
  }
31662
- return /* @__PURE__ */ jsx33(
31702
+ return /* @__PURE__ */ jsx34(
31663
31703
  EventCard,
31664
31704
  {
31665
31705
  event,
@@ -31677,7 +31717,7 @@ function renderEventListItem(event, display) {
31677
31717
  }
31678
31718
 
31679
31719
  // ../blocks/src/system/runtime/nodes/events/EventCombined.server.tsx
31680
- import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
31720
+ import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
31681
31721
  var EventCombinedSSR = ({
31682
31722
  blockId,
31683
31723
  ...source
@@ -31693,9 +31733,9 @@ var EventCombinedSSR = ({
31693
31733
  "data-block": "event-combined",
31694
31734
  ...getIslandRootProps("event-combined", blockId),
31695
31735
  children: [
31696
- /* @__PURE__ */ jsx34(IslandPropsScript, { value: islandProps }),
31736
+ /* @__PURE__ */ jsx35(IslandPropsScript, { value: islandProps }),
31697
31737
  /* @__PURE__ */ jsxs21("div", { className: "nav-tabs", role: "tablist", children: [
31698
- /* @__PURE__ */ jsx34(
31738
+ /* @__PURE__ */ jsx35(
31699
31739
  "button",
31700
31740
  {
31701
31741
  type: "button",
@@ -31705,7 +31745,7 @@ var EventCombinedSSR = ({
31705
31745
  children: "List"
31706
31746
  }
31707
31747
  ),
31708
- /* @__PURE__ */ jsx34(
31748
+ /* @__PURE__ */ jsx35(
31709
31749
  "button",
31710
31750
  {
31711
31751
  type: "button",
@@ -31716,17 +31756,17 @@ var EventCombinedSSR = ({
31716
31756
  }
31717
31757
  )
31718
31758
  ] }),
31719
- /* @__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)) }) })
31759
+ /* @__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)) }) })
31720
31760
  ]
31721
31761
  }
31722
31762
  );
31723
31763
  };
31724
31764
 
31725
31765
  // ../blocks/src/system/runtime/nodes/commerce/shared/view.tsx
31726
- import { Fragment as Fragment4, jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
31766
+ import { Fragment as Fragment4, jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
31727
31767
  function ProductBadgesView({ badges }) {
31728
31768
  if (badges.length === 0) return null;
31729
- return /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx35(
31769
+ return /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx36(
31730
31770
  "span",
31731
31771
  {
31732
31772
  className: "rb-inline-flex rb-items-center rb-rounded-full rb-border rb-px-3 rb-py-1 rb-text-xs",
@@ -31739,8 +31779,8 @@ function VariantSelectView(props2) {
31739
31779
  const { options, selectedVariantId, disabled = false, onChange } = props2;
31740
31780
  if (options.length === 0) return null;
31741
31781
  return /* @__PURE__ */ jsxs22("label", { className: "rb-flex rb-flex-col rb-gap-1", children: [
31742
- /* @__PURE__ */ jsx35("span", { className: "rb-label", children: "Variant" }),
31743
- /* @__PURE__ */ jsx35(
31782
+ /* @__PURE__ */ jsx36("span", { className: "rb-label", children: "Variant" }),
31783
+ /* @__PURE__ */ jsx36(
31744
31784
  "select",
31745
31785
  {
31746
31786
  className: "form-input",
@@ -31759,30 +31799,30 @@ function VariantSelectView(props2) {
31759
31799
  function ProductCardView(props2) {
31760
31800
  const { display, layout, variantControl, actions, feedback } = props2;
31761
31801
  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: [
31762
- 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,
31802
+ 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,
31763
31803
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-1 rb-flex-col rb-gap-3", children: [
31764
31804
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
31765
31805
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-start rb-justify-between rb-gap-3", children: [
31766
31806
  /* @__PURE__ */ jsxs22("div", { children: [
31767
- display.path ? /* @__PURE__ */ jsx35("a", { href: display.path, children: /* @__PURE__ */ jsx35("h3", { children: display.title }) }) : /* @__PURE__ */ jsx35("h3", { children: display.title }),
31768
- display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null
31807
+ display.path ? /* @__PURE__ */ jsx36("a", { href: display.path, children: /* @__PURE__ */ jsx36("h3", { children: display.title }) }) : /* @__PURE__ */ jsx36("h3", { children: display.title }),
31808
+ display.summary ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.summary }) : null
31769
31809
  ] }),
31770
- display.priceLabel ? /* @__PURE__ */ jsx35("div", { className: "rb-text-right", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) }) : null
31810
+ display.priceLabel ? /* @__PURE__ */ jsx36("div", { className: "rb-text-right", children: /* @__PURE__ */ jsx36("strong", { children: display.priceLabel }) }) : null
31771
31811
  ] }),
31772
- /* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges })
31812
+ /* @__PURE__ */ jsx36(ProductBadgesView, { badges: display.badges })
31773
31813
  ] }),
31774
31814
  variantControl,
31775
- /* @__PURE__ */ jsx35("div", { className: "rb-mt-auto rb-flex rb-items-center rb-gap-3", children: actions }),
31815
+ /* @__PURE__ */ jsx36("div", { className: "rb-mt-auto rb-flex rb-items-center rb-gap-3", children: actions }),
31776
31816
  feedback,
31777
- /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.selectionLabel })
31817
+ /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: display.selectionLabel })
31778
31818
  ] })
31779
31819
  ] });
31780
31820
  }
31781
31821
  function ProductListSectionView(props2) {
31782
31822
  const { display, children } = props2;
31783
31823
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-list ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
31784
- display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
31785
- display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx35(
31824
+ display.heading ? /* @__PURE__ */ jsx36("h2", { children: display.heading }) : null,
31825
+ display.state === "empty" ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx36(
31786
31826
  "div",
31787
31827
  {
31788
31828
  className: `rb-grid rb-gap-4 ${display.layout === "list" ? "rb-grid-cols-1" : ""}`,
@@ -31795,22 +31835,22 @@ function ProductListSectionView(props2) {
31795
31835
  function ProductDetailView(props2) {
31796
31836
  const { display, gallery, variantControl, actions, feedback, body } = props2;
31797
31837
  if (display.state === "empty") {
31798
- 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 }) });
31838
+ 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 }) });
31799
31839
  }
31800
31840
  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: [
31801
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
31841
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
31802
31842
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31803
- display.heading ? /* @__PURE__ */ jsx35("p", { className: "rb-label", children: display.heading }) : null,
31843
+ display.heading ? /* @__PURE__ */ jsx36("p", { className: "rb-label", children: display.heading }) : null,
31804
31844
  /* @__PURE__ */ jsxs22("div", { children: [
31805
- /* @__PURE__ */ jsx35("h2", { children: display.title }),
31806
- /* @__PURE__ */ jsx35("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) })
31845
+ /* @__PURE__ */ jsx36("h2", { children: display.title }),
31846
+ /* @__PURE__ */ jsx36("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx36("strong", { children: display.priceLabel }) })
31807
31847
  ] }),
31808
- /* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges }),
31809
- display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null,
31848
+ /* @__PURE__ */ jsx36(ProductBadgesView, { badges: display.badges }),
31849
+ display.summary ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.summary }) : null,
31810
31850
  variantControl,
31811
31851
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-gap-3", children: [
31812
31852
  actions,
31813
- display.categoryLabel ? /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
31853
+ display.categoryLabel ? /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
31814
31854
  ] }),
31815
31855
  feedback,
31816
31856
  body
@@ -31820,7 +31860,7 @@ function ProductDetailView(props2) {
31820
31860
  function ProductGalleryFrameView(props2) {
31821
31861
  const { gallery, renderCarousel } = props2;
31822
31862
  if (gallery.length === 0) return null;
31823
- const slides = gallery.map((image, index) => /* @__PURE__ */ jsx35("div", { className: "rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx35(
31863
+ const slides = gallery.map((image, index) => /* @__PURE__ */ jsx36("div", { className: "rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx36(
31824
31864
  "img",
31825
31865
  {
31826
31866
  src: image.url,
@@ -31831,23 +31871,23 @@ function ProductGalleryFrameView(props2) {
31831
31871
  if (slides.length === 1) {
31832
31872
  return slides[0] ?? null;
31833
31873
  }
31834
- return /* @__PURE__ */ jsx35(Fragment4, { children: renderCarousel(slides) });
31874
+ return /* @__PURE__ */ jsx36(Fragment4, { children: renderCarousel(slides) });
31835
31875
  }
31836
31876
  function PassCardView(props2) {
31837
31877
  return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--pass", children: [
31838
31878
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
31839
- /* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
31840
- /* @__PURE__ */ jsx35("div", { className: "shop__card-price", children: props2.display.priceLabel })
31879
+ /* @__PURE__ */ jsx36("h4", { className: "shop__card-name", children: props2.display.title }),
31880
+ /* @__PURE__ */ jsx36("div", { className: "shop__card-price", children: props2.display.priceLabel })
31841
31881
  ] }),
31842
- props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
31882
+ props2.display.description ? /* @__PURE__ */ jsx36("p", { className: "shop__card-description", children: props2.display.description }) : null,
31843
31883
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-details", children: [
31844
- /* @__PURE__ */ jsx35("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
31884
+ /* @__PURE__ */ jsx36("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
31845
31885
  props2.display.perCreditLabel ? /* @__PURE__ */ jsxs22("span", { className: "shop__card-per-credit", children: [
31846
31886
  "(",
31847
31887
  props2.display.perCreditLabel,
31848
31888
  ")"
31849
31889
  ] }) : null,
31850
- props2.display.validityLabel ? /* @__PURE__ */ jsx35("span", { className: "shop__card-validity", children: props2.display.validityLabel }) : null
31890
+ props2.display.validityLabel ? /* @__PURE__ */ jsx36("span", { className: "shop__card-validity", children: props2.display.validityLabel }) : null
31851
31891
  ] }),
31852
31892
  props2.action,
31853
31893
  props2.feedback
@@ -31856,14 +31896,14 @@ function PassCardView(props2) {
31856
31896
  function MembershipCardView(props2) {
31857
31897
  return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--membership", children: [
31858
31898
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
31859
- /* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
31899
+ /* @__PURE__ */ jsx36("h4", { className: "shop__card-name", children: props2.display.title }),
31860
31900
  /* @__PURE__ */ jsxs22("div", { className: "shop__card-price", children: [
31861
31901
  props2.display.priceLabel,
31862
- /* @__PURE__ */ jsx35("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
31902
+ /* @__PURE__ */ jsx36("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
31863
31903
  ] })
31864
31904
  ] }),
31865
- props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
31866
- /* @__PURE__ */ jsx35("div", { className: "shop__card-details", children: /* @__PURE__ */ jsx35("span", { className: "shop__card-unlimited", children: "Unlimited classes" }) }),
31905
+ props2.display.description ? /* @__PURE__ */ jsx36("p", { className: "shop__card-description", children: props2.display.description }) : null,
31906
+ /* @__PURE__ */ jsx36("div", { className: "shop__card-details", children: /* @__PURE__ */ jsx36("span", { className: "shop__card-unlimited", children: "Unlimited classes" }) }),
31867
31907
  props2.action
31868
31908
  ] });
31869
31909
  }
@@ -31880,14 +31920,14 @@ function PassesMembershipsSectionView(props2) {
31880
31920
  style: gridStyle,
31881
31921
  children: [
31882
31922
  beforeContent,
31883
- display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
31923
+ display.state === "empty" ? /* @__PURE__ */ jsx36("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
31884
31924
  display.passes.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--passes", children: [
31885
- /* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.passesHeading }),
31886
- /* @__PURE__ */ jsx35("div", { className: productsClass, children: passCards })
31925
+ /* @__PURE__ */ jsx36("h3", { className: "shop__section-heading", children: display.passesHeading }),
31926
+ /* @__PURE__ */ jsx36("div", { className: productsClass, children: passCards })
31887
31927
  ] }) : null,
31888
31928
  display.memberships.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--memberships", children: [
31889
- /* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
31890
- /* @__PURE__ */ jsx35("div", { className: productsClass, children: membershipCards })
31929
+ /* @__PURE__ */ jsx36("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
31930
+ /* @__PURE__ */ jsx36("div", { className: productsClass, children: membershipCards })
31891
31931
  ] }) : null
31892
31932
  ]
31893
31933
  }
@@ -31896,41 +31936,41 @@ function PassesMembershipsSectionView(props2) {
31896
31936
  function CartShellView(props2) {
31897
31937
  const { display, renderControls, footerActions } = props2;
31898
31938
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--cart ${display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-cart", children: [
31899
- display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
31939
+ display.heading ? /* @__PURE__ */ jsx36("h2", { children: display.heading }) : null,
31900
31940
  display.state === "empty" ? /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
31901
- /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
31902
- display.supportText ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.supportText }) : null
31941
+ /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
31942
+ display.supportText ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: display.supportText }) : null
31903
31943
  ] }) : /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
31904
- /* @__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: [
31944
+ /* @__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: [
31905
31945
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-1", children: [
31906
- /* @__PURE__ */ jsx35("strong", { children: item.title }),
31907
- /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: item.priceLabel })
31946
+ /* @__PURE__ */ jsx36("strong", { children: item.title }),
31947
+ /* @__PURE__ */ jsx36("span", { className: "rb-caption status-muted", children: item.priceLabel })
31908
31948
  ] }),
31909
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
31949
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
31910
31950
  ] }, item.key)) }),
31911
31951
  /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4", children: [
31912
31952
  /* @__PURE__ */ jsxs22("div", { children: [
31913
- /* @__PURE__ */ jsx35("strong", { children: "Subtotal" }),
31914
- /* @__PURE__ */ jsx35("div", { children: display.subtotalLabel })
31953
+ /* @__PURE__ */ jsx36("strong", { children: "Subtotal" }),
31954
+ /* @__PURE__ */ jsx36("div", { children: display.subtotalLabel })
31915
31955
  ] }),
31916
- /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-gap-2", children: footerActions })
31956
+ /* @__PURE__ */ jsx36("div", { className: "rb-flex rb-gap-2", children: footerActions })
31917
31957
  ] })
31918
31958
  ] })
31919
31959
  ] });
31920
31960
  }
31921
31961
  function CheckoutShellView(props2) {
31922
31962
  return /* @__PURE__ */ jsxs22("div", { className: `shop shop--checkout ${props2.display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-checkout", children: [
31923
- props2.display.heading ? /* @__PURE__ */ jsx35("h2", { children: props2.display.heading }) : null,
31963
+ props2.display.heading ? /* @__PURE__ */ jsx36("h2", { children: props2.display.heading }) : null,
31924
31964
  props2.notice,
31925
- props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: props2.display.message })
31965
+ props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: props2.display.message })
31926
31966
  ] });
31927
31967
  }
31928
31968
 
31929
31969
  // ../blocks/src/system/runtime/nodes/shop-commerce.server.tsx
31930
- import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
31970
+ import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
31931
31971
  function renderServerPendingAction(label, soldOut) {
31932
31972
  return /* @__PURE__ */ jsxs23(Fragment5, { children: [
31933
- /* @__PURE__ */ jsx36(
31973
+ /* @__PURE__ */ jsx37(
31934
31974
  "button",
31935
31975
  {
31936
31976
  type: "button",
@@ -31940,16 +31980,16 @@ function renderServerPendingAction(label, soldOut) {
31940
31980
  children: soldOut ? "Sold out" : label
31941
31981
  }
31942
31982
  ),
31943
- !soldOut ? /* @__PURE__ */ jsx36("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
31983
+ !soldOut ? /* @__PURE__ */ jsx37("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
31944
31984
  ] });
31945
31985
  }
31946
31986
  function ProductListServerContent(props2) {
31947
- return /* @__PURE__ */ jsx36(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx36(
31987
+ return /* @__PURE__ */ jsx37(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx37(
31948
31988
  ProductCardView,
31949
31989
  {
31950
31990
  display: card,
31951
31991
  layout: props2.render.display.layout,
31952
- variantControl: /* @__PURE__ */ jsx36(
31992
+ variantControl: /* @__PURE__ */ jsx37(
31953
31993
  VariantSelectView,
31954
31994
  {
31955
31995
  options: card.variantOptions,
@@ -31959,7 +31999,7 @@ function ProductListServerContent(props2) {
31959
31999
  ),
31960
32000
  actions: /* @__PURE__ */ jsxs23(Fragment5, { children: [
31961
32001
  renderServerPendingAction(card.actionLabel, card.soldOut),
31962
- card.path ? /* @__PURE__ */ jsx36(
32002
+ card.path ? /* @__PURE__ */ jsx37(
31963
32003
  "a",
31964
32004
  {
31965
32005
  href: card.path,
@@ -31973,18 +32013,18 @@ function ProductListServerContent(props2) {
31973
32013
  )) });
31974
32014
  }
31975
32015
  function ProductDetailServerContent(props2) {
31976
- return /* @__PURE__ */ jsx36(
32016
+ return /* @__PURE__ */ jsx37(
31977
32017
  ProductDetailView,
31978
32018
  {
31979
32019
  display: props2.render.display,
31980
- gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx36(
32020
+ gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx37(
31981
32021
  ProductGalleryFrameView,
31982
32022
  {
31983
32023
  gallery: props2.render.display.gallery,
31984
- renderCarousel: (slides) => /* @__PURE__ */ jsx36(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
32024
+ renderCarousel: (slides) => /* @__PURE__ */ jsx37(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
31985
32025
  }
31986
32026
  ) : null,
31987
- variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx36(
32027
+ variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx37(
31988
32028
  VariantSelectView,
31989
32029
  {
31990
32030
  options: props2.render.display.variantOptions,
@@ -31996,19 +32036,19 @@ function ProductDetailServerContent(props2) {
31996
32036
  props2.render.display.actionLabel,
31997
32037
  props2.render.display.soldOut
31998
32038
  ) : null,
31999
- 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
32039
+ 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
32000
32040
  }
32001
32041
  );
32002
32042
  }
32003
32043
  function CartServerContent(props2) {
32004
- return /* @__PURE__ */ jsx36(CartShellView, { display: props2.render.display });
32044
+ return /* @__PURE__ */ jsx37(CartShellView, { display: props2.render.display });
32005
32045
  }
32006
32046
  function CheckoutServerContent(props2) {
32007
- return /* @__PURE__ */ jsx36(CheckoutShellView, { display: props2.render.display });
32047
+ return /* @__PURE__ */ jsx37(CheckoutShellView, { display: props2.render.display });
32008
32048
  }
32009
32049
 
32010
32050
  // ../blocks/src/system/runtime/nodes/cart.server.tsx
32011
- import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
32051
+ import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
32012
32052
  function CartSSR({
32013
32053
  blockId,
32014
32054
  siteId,
@@ -32033,8 +32073,8 @@ function CartSSR({
32033
32073
  "data-site-id": siteId ?? void 0,
32034
32074
  ...getIslandRootProps("cart", blockId),
32035
32075
  children: [
32036
- /* @__PURE__ */ jsx37(IslandPropsScript, { value: islandProps }),
32037
- /* @__PURE__ */ jsx37(CartServerContent, { render: islandProps.render }),
32076
+ /* @__PURE__ */ jsx38(IslandPropsScript, { value: islandProps }),
32077
+ /* @__PURE__ */ jsx38(CartServerContent, { render: islandProps.render }),
32038
32078
  children
32039
32079
  ]
32040
32080
  }
@@ -32043,7 +32083,7 @@ function CartSSR({
32043
32083
  var cart_server_default = CartSSR;
32044
32084
 
32045
32085
  // ../blocks/src/system/runtime/nodes/checkout.server.tsx
32046
- import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
32086
+ import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
32047
32087
  function CheckoutSSR({
32048
32088
  blockId,
32049
32089
  siteId,
@@ -32068,8 +32108,8 @@ function CheckoutSSR({
32068
32108
  "data-site-id": siteId ?? void 0,
32069
32109
  ...getIslandRootProps("checkout", blockId),
32070
32110
  children: [
32071
- /* @__PURE__ */ jsx38(IslandPropsScript, { value: islandProps }),
32072
- /* @__PURE__ */ jsx38(CheckoutServerContent, { render: islandProps.render }),
32111
+ /* @__PURE__ */ jsx39(IslandPropsScript, { value: islandProps }),
32112
+ /* @__PURE__ */ jsx39(CheckoutServerContent, { render: islandProps.render }),
32073
32113
  children
32074
32114
  ]
32075
32115
  }
@@ -32078,7 +32118,7 @@ function CheckoutSSR({
32078
32118
  var checkout_server_default = CheckoutSSR;
32079
32119
 
32080
32120
  // ../blocks/src/system/runtime/nodes/course-registration.server.tsx
32081
- import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
32121
+ import { jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
32082
32122
  function CourseRegistrationSSR({
32083
32123
  blockId,
32084
32124
  siteId,
@@ -32126,8 +32166,8 @@ function CourseRegistrationSSR({
32126
32166
  "data-block": "course-registration",
32127
32167
  ...getIslandRootProps("course-registration", blockId),
32128
32168
  children: [
32129
- /* @__PURE__ */ jsx39(IslandPropsScript, { value: islandProps }),
32130
- /* @__PURE__ */ jsx39("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx39("strong", { children: islandProps.render.display.summaryButtonText }) }),
32169
+ /* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
32170
+ /* @__PURE__ */ jsx40("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx40("strong", { children: islandProps.render.display.summaryButtonText }) }),
32131
32171
  children
32132
32172
  ]
32133
32173
  }
@@ -32136,7 +32176,7 @@ function CourseRegistrationSSR({
32136
32176
  var course_registration_server_default = CourseRegistrationSSR;
32137
32177
 
32138
32178
  // ../blocks/src/system/runtime/nodes/gifting.server.tsx
32139
- import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
32179
+ import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
32140
32180
  function GiftingSSR({ blockId, ...rest }) {
32141
32181
  const islandProps = buildGiftingInteractiveIslandProps(rest);
32142
32182
  const offers = islandProps.render.hydration.offers;
@@ -32153,7 +32193,7 @@ function GiftingSSR({ blockId, ...rest }) {
32153
32193
  },
32154
32194
  ...getIslandRootProps("gifting", blockId),
32155
32195
  children: [
32156
- /* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
32196
+ /* @__PURE__ */ jsx41(IslandPropsScript, { value: islandProps }),
32157
32197
  /* @__PURE__ */ jsxs27(
32158
32198
  "div",
32159
32199
  {
@@ -32163,13 +32203,13 @@ function GiftingSSR({ blockId, ...rest }) {
32163
32203
  },
32164
32204
  children: [
32165
32205
  /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "0.5rem" }, children: [
32166
- /* @__PURE__ */ jsx40("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
32167
- 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
32206
+ /* @__PURE__ */ jsx41("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
32207
+ 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
32168
32208
  ] }),
32169
32209
  hasOffers ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1.5rem" }, children: [
32170
32210
  (offers?.giftCards.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
32171
- /* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
32172
- /* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs27(
32211
+ /* @__PURE__ */ jsx41("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
32212
+ /* @__PURE__ */ jsx41("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs27(
32173
32213
  "article",
32174
32214
  {
32175
32215
  style: {
@@ -32179,16 +32219,16 @@ function GiftingSSR({ blockId, ...rest }) {
32179
32219
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
32180
32220
  },
32181
32221
  children: [
32182
- /* @__PURE__ */ jsx40("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32183
- 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
32222
+ /* @__PURE__ */ jsx41("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32223
+ 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
32184
32224
  ]
32185
32225
  },
32186
32226
  offer.id
32187
32227
  )) })
32188
32228
  ] }) : null,
32189
32229
  (offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
32190
- /* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
32191
- /* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs27(
32230
+ /* @__PURE__ */ jsx41("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
32231
+ /* @__PURE__ */ jsx41("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs27(
32192
32232
  "article",
32193
32233
  {
32194
32234
  style: {
@@ -32198,14 +32238,14 @@ function GiftingSSR({ blockId, ...rest }) {
32198
32238
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
32199
32239
  },
32200
32240
  children: [
32201
- /* @__PURE__ */ jsx40("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32202
- 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
32241
+ /* @__PURE__ */ jsx41("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
32242
+ 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
32203
32243
  ]
32204
32244
  },
32205
32245
  offer.id
32206
32246
  )) })
32207
32247
  ] }) : null
32208
- ] }) : /* @__PURE__ */ jsx40("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
32248
+ ] }) : /* @__PURE__ */ jsx41("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
32209
32249
  ]
32210
32250
  }
32211
32251
  )
@@ -32216,12 +32256,12 @@ function GiftingSSR({ blockId, ...rest }) {
32216
32256
  var gifting_server_default = GiftingSSR;
32217
32257
 
32218
32258
  // ../blocks/src/system/runtime/nodes/events/EventListing.view.tsx
32219
- import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
32259
+ import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
32220
32260
  function EventListingFrameView(props2) {
32221
32261
  const { display, filters, emptyState: emptyState4, footer, renderEventCard: renderEventCard2 } = props2;
32222
32262
  return /* @__PURE__ */ jsxs28("div", { className: `event-listing ${display.className ?? ""}`, "data-block": "event-listing", children: [
32223
32263
  filters,
32224
- 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)) }),
32264
+ 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)) }),
32225
32265
  footer
32226
32266
  ] });
32227
32267
  }
@@ -32298,7 +32338,7 @@ function formatShortDayLabel(date) {
32298
32338
  }
32299
32339
 
32300
32340
  // ../blocks/src/system/runtime/nodes/events/EventCalendar.server.tsx
32301
- import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
32341
+ import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
32302
32342
  function assertNeverDisplayMode(value) {
32303
32343
  throw new Error(`Unsupported event-calendar displayMode: ${String(value)}`);
32304
32344
  }
@@ -32312,7 +32352,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32312
32352
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents, "event-combined-content");
32313
32353
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-combined", display.className ?? void 0), "data-block": "event-combined", children: [
32314
32354
  /* @__PURE__ */ jsxs29("div", { className: "nav-tabs", role: "tablist", children: [
32315
- /* @__PURE__ */ jsx42(
32355
+ /* @__PURE__ */ jsx43(
32316
32356
  "button",
32317
32357
  {
32318
32358
  type: "button",
@@ -32322,7 +32362,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32322
32362
  children: "List"
32323
32363
  }
32324
32364
  ),
32325
- /* @__PURE__ */ jsx42(
32365
+ /* @__PURE__ */ jsx43(
32326
32366
  "button",
32327
32367
  {
32328
32368
  type: "button",
@@ -32333,7 +32373,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32333
32373
  }
32334
32374
  )
32335
32375
  ] }),
32336
- /* @__PURE__ */ jsx42(
32376
+ /* @__PURE__ */ jsx43(
32337
32377
  EventListingFrameView,
32338
32378
  {
32339
32379
  display: listDisplay,
@@ -32344,7 +32384,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
32344
32384
  }
32345
32385
  function renderListSsr(display, prefetchedEvents) {
32346
32386
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents);
32347
- return /* @__PURE__ */ jsx42(
32387
+ return /* @__PURE__ */ jsx43(
32348
32388
  EventListingFrameView,
32349
32389
  {
32350
32390
  display: listDisplay,
@@ -32362,27 +32402,27 @@ function renderCalendarGrid(display) {
32362
32402
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", display.className ?? void 0), "data-block": "event-calendar", children: [
32363
32403
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
32364
32404
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
32365
- /* @__PURE__ */ jsx42(
32405
+ /* @__PURE__ */ jsx43(
32366
32406
  "button",
32367
32407
  {
32368
32408
  type: "button",
32369
32409
  className: "event-calendar-nav-btn",
32370
32410
  "aria-label": calendarView === "week" ? "Previous week" : "Previous month",
32371
- 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" }) })
32411
+ 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" }) })
32372
32412
  }
32373
32413
  ),
32374
- /* @__PURE__ */ jsx42("h3", { className: "event-calendar-title", children: headerTitle }),
32375
- /* @__PURE__ */ jsx42(
32414
+ /* @__PURE__ */ jsx43("h3", { className: "event-calendar-title", children: headerTitle }),
32415
+ /* @__PURE__ */ jsx43(
32376
32416
  "button",
32377
32417
  {
32378
32418
  type: "button",
32379
32419
  className: "event-calendar-nav-btn",
32380
32420
  "aria-label": calendarView === "week" ? "Next week" : "Next month",
32381
- 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" }) })
32421
+ 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" }) })
32382
32422
  }
32383
32423
  )
32384
32424
  ] }),
32385
- /* @__PURE__ */ jsx42(
32425
+ /* @__PURE__ */ jsx43(
32386
32426
  "button",
32387
32427
  {
32388
32428
  type: "button",
@@ -32395,8 +32435,8 @@ function renderCalendarGrid(display) {
32395
32435
  )
32396
32436
  ] }),
32397
32437
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-container", children: [
32398
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-header", children: day }, day)) }),
32399
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
32438
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-header", children: day }, day)) }),
32439
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
32400
32440
  const dateKey = formatDateKey2(date);
32401
32441
  const dayEvents = eventsByDate.get(dateKey) || [];
32402
32442
  const isCurrentMonth = date.getMonth() === viewDate.getMonth();
@@ -32407,7 +32447,7 @@ function renderCalendarGrid(display) {
32407
32447
  today && "event-calendar-day--today"
32408
32448
  );
32409
32449
  return /* @__PURE__ */ jsxs29("div", { className: dayClasses, children: [
32410
- /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-number", children: date.getDate() }),
32450
+ /* @__PURE__ */ jsx43("div", { className: "event-calendar-day-number", children: date.getDate() }),
32411
32451
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-events", children: [
32412
32452
  dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */ jsxs29(
32413
32453
  "a",
@@ -32416,9 +32456,9 @@ function renderCalendarGrid(display) {
32416
32456
  className: "event-calendar-event",
32417
32457
  title: `${event.title} at ${formatTime(event.startsAt, { timeZone: getEventTimeZone(event) })}`,
32418
32458
  children: [
32419
- /* @__PURE__ */ jsx42("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
32459
+ /* @__PURE__ */ jsx43("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
32420
32460
  " ",
32421
- /* @__PURE__ */ jsx42("span", { className: "event-calendar-event-title", children: event.title })
32461
+ /* @__PURE__ */ jsx43("span", { className: "event-calendar-event-title", children: event.title })
32422
32462
  ]
32423
32463
  },
32424
32464
  event.occurrenceId || event.id
@@ -32432,7 +32472,7 @@ function renderCalendarGrid(display) {
32432
32472
  ] }, dateKey);
32433
32473
  }) })
32434
32474
  ] }),
32435
- display.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
32475
+ display.events.length === 0 ? /* @__PURE__ */ jsx43("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
32436
32476
  ] });
32437
32477
  }
32438
32478
  function renderTimetableSsr(display) {
@@ -32448,27 +32488,27 @@ function renderTimetableSsr(display) {
32448
32488
  return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", "event-calendar--timetable", display.className ?? void 0), "data-block": "event-calendar", children: [
32449
32489
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
32450
32490
  /* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
32451
- /* @__PURE__ */ jsx42(
32491
+ /* @__PURE__ */ jsx43(
32452
32492
  "button",
32453
32493
  {
32454
32494
  type: "button",
32455
32495
  className: "event-calendar-nav-btn",
32456
32496
  "aria-label": "Previous week",
32457
- 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" }) })
32497
+ 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" }) })
32458
32498
  }
32459
32499
  ),
32460
- /* @__PURE__ */ jsx42("h3", { className: "event-calendar-title", children: headerTitle }),
32461
- /* @__PURE__ */ jsx42(
32500
+ /* @__PURE__ */ jsx43("h3", { className: "event-calendar-title", children: headerTitle }),
32501
+ /* @__PURE__ */ jsx43(
32462
32502
  "button",
32463
32503
  {
32464
32504
  type: "button",
32465
32505
  className: "event-calendar-nav-btn",
32466
32506
  "aria-label": "Next week",
32467
- 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" }) })
32507
+ 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" }) })
32468
32508
  }
32469
32509
  )
32470
32510
  ] }),
32471
- /* @__PURE__ */ jsx42(
32511
+ /* @__PURE__ */ jsx43(
32472
32512
  "button",
32473
32513
  {
32474
32514
  type: "button",
@@ -32481,7 +32521,7 @@ function renderTimetableSsr(display) {
32481
32521
  )
32482
32522
  ] }),
32483
32523
  /* @__PURE__ */ jsxs29("div", { className: "event-timetable", children: [
32484
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx42(
32524
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx43(
32485
32525
  "button",
32486
32526
  {
32487
32527
  type: "button",
@@ -32493,10 +32533,10 @@ function renderTimetableSsr(display) {
32493
32533
  },
32494
32534
  day.dateKey
32495
32535
  )) }),
32496
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs29("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
32536
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs29("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
32497
32537
  /* @__PURE__ */ jsxs29("div", { className: "event-timetable-time-rail", "aria-hidden": "true", children: [
32498
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-day-heading" }),
32499
- /* @__PURE__ */ jsx42("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
32538
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-day-heading" }),
32539
+ /* @__PURE__ */ jsx43("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx43(
32500
32540
  "div",
32501
32541
  {
32502
32542
  className: "event-timetable-time-label",
@@ -32517,7 +32557,7 @@ function renderTimetableSsr(display) {
32517
32557
  children: [
32518
32558
  /* @__PURE__ */ jsxs29("h4", { className: "event-timetable-day-heading", children: [
32519
32559
  day.label,
32520
- day.isToday ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-today-badge", children: "Today" }) : null
32560
+ day.isToday ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-today-badge", children: "Today" }) : null
32521
32561
  ] }),
32522
32562
  /* @__PURE__ */ jsxs29(
32523
32563
  "div",
@@ -32525,7 +32565,7 @@ function renderTimetableSsr(display) {
32525
32565
  className: "event-timetable-day-body",
32526
32566
  style: { "--event-timetable-range-minutes": String(model.rangeMinutes) },
32527
32567
  children: [
32528
- model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
32568
+ model.hourTicks.map((hour) => /* @__PURE__ */ jsx43(
32529
32569
  "div",
32530
32570
  {
32531
32571
  className: "event-timetable-hour-line",
@@ -32534,7 +32574,7 @@ function renderTimetableSsr(display) {
32534
32574
  },
32535
32575
  hour
32536
32576
  )),
32537
- day.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs29(
32577
+ day.events.length === 0 ? /* @__PURE__ */ jsx43("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs29(
32538
32578
  "a",
32539
32579
  {
32540
32580
  href: cell.event.path,
@@ -32548,11 +32588,11 @@ function renderTimetableSsr(display) {
32548
32588
  borderColor: cell.categoryColor
32549
32589
  },
32550
32590
  children: [
32551
- /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
32552
- /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-title", children: cell.event.title }),
32553
- cell.teacherLine ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
32554
- cell.event.venue ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
32555
- display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx42(
32591
+ /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
32592
+ /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-title", children: cell.event.title }),
32593
+ cell.teacherLine ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
32594
+ cell.event.venue ? /* @__PURE__ */ jsx43("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
32595
+ display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx43(
32556
32596
  "span",
32557
32597
  {
32558
32598
  className: clsx_default(
@@ -32574,7 +32614,7 @@ function renderTimetableSsr(display) {
32574
32614
  day.dateKey
32575
32615
  ))
32576
32616
  ] }) }),
32577
- !model.hasEvents ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
32617
+ !model.hasEvents ? /* @__PURE__ */ jsx43("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
32578
32618
  ] })
32579
32619
  ] });
32580
32620
  }
@@ -32612,19 +32652,19 @@ var EventCalendarSSR = (props2) => {
32612
32652
  content = assertNeverDisplayMode(display.displayMode);
32613
32653
  }
32614
32654
  return /* @__PURE__ */ jsxs29("div", { ...getIslandRootProps("event-calendar", props2.blockId), children: [
32615
- /* @__PURE__ */ jsx42(IslandPropsScript, { value: islandProps }),
32655
+ /* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
32616
32656
  content
32617
32657
  ] });
32618
32658
  };
32619
32659
 
32620
32660
  // ../blocks/src/system/runtime/nodes/events/EventListing.server.tsx
32621
- import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
32661
+ import { jsx as jsx44, jsxs as jsxs30 } from "react/jsx-runtime";
32622
32662
  var EventListingSSR = (props2) => {
32623
32663
  const islandProps = buildEventListingInteractiveIslandProps(props2);
32624
32664
  const display = islandProps.render.display;
32625
32665
  return /* @__PURE__ */ jsxs30("div", { ...getIslandRootProps("event-listing", props2.blockId), children: [
32626
- /* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
32627
- /* @__PURE__ */ jsx43(
32666
+ /* @__PURE__ */ jsx44(IslandPropsScript, { value: islandProps }),
32667
+ /* @__PURE__ */ jsx44(
32628
32668
  EventListingFrameView,
32629
32669
  {
32630
32670
  display,
@@ -32635,7 +32675,7 @@ var EventListingSSR = (props2) => {
32635
32675
  };
32636
32676
 
32637
32677
  // ../blocks/src/system/runtime/nodes/event-registration.server.tsx
32638
- import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
32678
+ import { jsx as jsx45, jsxs as jsxs31 } from "react/jsx-runtime";
32639
32679
  function EventRegistrationSSR({
32640
32680
  blockId,
32641
32681
  siteId,
@@ -32682,8 +32722,8 @@ function EventRegistrationSSR({
32682
32722
  className: `event-registration ${className ?? ""}`.trim(),
32683
32723
  ...getIslandRootProps("event-registration", blockId),
32684
32724
  children: [
32685
- /* @__PURE__ */ jsx44(IslandPropsScript, { value: islandProps }),
32686
- /* @__PURE__ */ jsx44("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx44("strong", { children: islandProps.render.display.summaryButtonText }) }),
32725
+ /* @__PURE__ */ jsx45(IslandPropsScript, { value: islandProps }),
32726
+ /* @__PURE__ */ jsx45("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx45("strong", { children: islandProps.render.display.summaryButtonText }) }),
32687
32727
  children
32688
32728
  ]
32689
32729
  }
@@ -32692,7 +32732,7 @@ function EventRegistrationSSR({
32692
32732
  var event_registration_server_default = EventRegistrationSSR;
32693
32733
 
32694
32734
  // ../blocks/src/system/runtime/shared/components/FeedbackMessage.tsx
32695
- import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
32735
+ import { jsx as jsx46, jsxs as jsxs32 } from "react/jsx-runtime";
32696
32736
  function joinClasses5(...parts) {
32697
32737
  return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
32698
32738
  }
@@ -32716,15 +32756,15 @@ function FeedbackMessage({
32716
32756
  role,
32717
32757
  "aria-live": resolvedLive === "off" ? void 0 : resolvedLive,
32718
32758
  children: [
32719
- title ? /* @__PURE__ */ jsx45("p", { className: joinClasses5(titleClassName), "data-feedback-title": true, children: title }) : null,
32720
- shouldWrapBody ? /* @__PURE__ */ jsx45("div", { className: joinClasses5(bodyClassName), "data-feedback-body": true, children }) : children
32759
+ title ? /* @__PURE__ */ jsx46("p", { className: joinClasses5(titleClassName), "data-feedback-title": true, children: title }) : null,
32760
+ shouldWrapBody ? /* @__PURE__ */ jsx46("div", { className: joinClasses5(bodyClassName), "data-feedback-body": true, children }) : children
32721
32761
  ]
32722
32762
  }
32723
32763
  );
32724
32764
  }
32725
32765
 
32726
32766
  // ../blocks/src/system/runtime/nodes/form.server.tsx
32727
- import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
32767
+ import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
32728
32768
  var FormNodeSSR = ({
32729
32769
  blockId,
32730
32770
  value,
@@ -32750,8 +32790,8 @@ var FormNodeSSR = ({
32750
32790
  const form2 = display.form;
32751
32791
  if (!form2) {
32752
32792
  return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
32753
- /* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
32754
- /* @__PURE__ */ jsx46(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
32793
+ /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32794
+ /* @__PURE__ */ jsx47(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
32755
32795
  ] });
32756
32796
  }
32757
32797
  const groups = display.groups;
@@ -32762,8 +32802,8 @@ var FormNodeSSR = ({
32762
32802
  const type = String(field.type ?? "text");
32763
32803
  if (type === "textarea") {
32764
32804
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32765
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32766
- /* @__PURE__ */ jsx46(
32805
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32806
+ /* @__PURE__ */ jsx47(
32767
32807
  "textarea",
32768
32808
  {
32769
32809
  id: inputId,
@@ -32780,19 +32820,19 @@ var FormNodeSSR = ({
32780
32820
  const options = field.options ?? [];
32781
32821
  const multiple = Boolean(field.multiple);
32782
32822
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32783
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32823
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32784
32824
  /* @__PURE__ */ jsxs33("select", { id: inputId, name: field.id, multiple, required, className: "form-select", children: [
32785
- !multiple && /* @__PURE__ */ jsx46("option", { value: "", children: "Select\u2026" }),
32786
- options.map((opt) => /* @__PURE__ */ jsx46("option", { value: opt.value, children: opt.label }, opt.value))
32825
+ !multiple && /* @__PURE__ */ jsx47("option", { value: "", children: "Select\u2026" }),
32826
+ options.map((opt) => /* @__PURE__ */ jsx47("option", { value: opt.value, children: opt.label }, opt.value))
32787
32827
  ] })
32788
32828
  ] }, field.id);
32789
32829
  }
32790
32830
  if (type === "radio") {
32791
32831
  const options = field.options ?? [];
32792
32832
  return /* @__PURE__ */ jsxs33("fieldset", { className: "fb-fieldset", children: [
32793
- /* @__PURE__ */ jsx46("legend", { className: "form-label", children: label }),
32833
+ /* @__PURE__ */ jsx47("legend", { className: "form-label", children: label }),
32794
32834
  options.map((opt) => /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
32795
- /* @__PURE__ */ jsx46(
32835
+ /* @__PURE__ */ jsx47(
32796
32836
  "input",
32797
32837
  {
32798
32838
  type: "radio",
@@ -32802,14 +32842,14 @@ var FormNodeSSR = ({
32802
32842
  className: "form-radio"
32803
32843
  }
32804
32844
  ),
32805
- /* @__PURE__ */ jsx46("span", { children: opt.label })
32845
+ /* @__PURE__ */ jsx47("span", { children: opt.label })
32806
32846
  ] }, opt.value))
32807
32847
  ] }, field.id);
32808
32848
  }
32809
32849
  if (type === "checkbox" || type === "consent") {
32810
32850
  return /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
32811
- /* @__PURE__ */ jsx46("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
32812
- /* @__PURE__ */ jsx46("span", { children: label })
32851
+ /* @__PURE__ */ jsx47("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
32852
+ /* @__PURE__ */ jsx47("span", { children: label })
32813
32853
  ] }, field.id);
32814
32854
  }
32815
32855
  const inputType = type === "email" || type === "url" || type === "tel" || type === "number" ? type : "text";
@@ -32824,8 +32864,8 @@ var FormNodeSSR = ({
32824
32864
  if (typeof field.max === "number") extra.max = field.max;
32825
32865
  }
32826
32866
  return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
32827
- /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
32828
- /* @__PURE__ */ jsx46(
32867
+ /* @__PURE__ */ jsx47("label", { htmlFor: inputId, className: "form-label", children: label }),
32868
+ /* @__PURE__ */ jsx47(
32829
32869
  "input",
32830
32870
  {
32831
32871
  id: inputId,
@@ -32840,7 +32880,7 @@ var FormNodeSSR = ({
32840
32880
  ] }, field.id);
32841
32881
  };
32842
32882
  return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
32843
- /* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
32883
+ /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32844
32884
  /* @__PURE__ */ jsxs33(
32845
32885
  "form",
32846
32886
  {
@@ -32849,15 +32889,15 @@ var FormNodeSSR = ({
32849
32889
  onSubmit,
32850
32890
  className: clsx_default("fb-form", display.className ?? void 0),
32851
32891
  children: [
32852
- /* @__PURE__ */ jsx46("input", { type: "hidden", name: "form_id", value: form2.id }),
32853
- /* @__PURE__ */ jsx46("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
32892
+ /* @__PURE__ */ jsx47("input", { type: "hidden", name: "form_id", value: form2.id }),
32893
+ /* @__PURE__ */ jsx47("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
32854
32894
  groups.map((group) => {
32855
32895
  if (group.type === "row") {
32856
- return /* @__PURE__ */ jsx46("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
32896
+ return /* @__PURE__ */ jsx47("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
32857
32897
  }
32858
32898
  return renderField(group.field);
32859
32899
  }),
32860
- /* @__PURE__ */ jsx46("div", { className: "fb-actions", children: /* @__PURE__ */ jsx46("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx46(
32900
+ /* @__PURE__ */ jsx47("div", { className: "fb-actions", children: /* @__PURE__ */ jsx47("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx47(
32861
32901
  "button",
32862
32902
  {
32863
32903
  type: "submit",
@@ -32876,7 +32916,7 @@ var FormNodeSSR = ({
32876
32916
  };
32877
32917
 
32878
32918
  // ../blocks/src/system/runtime/nodes/newsletter-form.server.tsx
32879
- import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
32919
+ import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
32880
32920
  function NewsletterFormSSR({
32881
32921
  blockId,
32882
32922
  siteId,
@@ -32911,9 +32951,9 @@ function NewsletterFormSSR({
32911
32951
  return /* @__PURE__ */ jsxs34("div", { className: "fb-field newsletter-field", children: [
32912
32952
  /* @__PURE__ */ jsxs34("label", { htmlFor: inputId, className: "form-label", children: [
32913
32953
  field.label,
32914
- field.required && /* @__PURE__ */ jsx47("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
32954
+ field.required && /* @__PURE__ */ jsx48("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
32915
32955
  ] }),
32916
- /* @__PURE__ */ jsx47(
32956
+ /* @__PURE__ */ jsx48(
32917
32957
  "input",
32918
32958
  {
32919
32959
  id: inputId,
@@ -32933,9 +32973,9 @@ function NewsletterFormSSR({
32933
32973
  ...getIslandRootProps("newsletter-form", blockId),
32934
32974
  className: clsx_default("newsletter-form-ssr", className),
32935
32975
  children: [
32936
- /* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
32976
+ /* @__PURE__ */ jsx48(IslandPropsScript, { value: islandProps }),
32937
32977
  /* @__PURE__ */ jsxs34("form", { method: "POST", className: "newsletter-form fb-form", children: [
32938
- /* @__PURE__ */ jsx47(
32978
+ /* @__PURE__ */ jsx48(
32939
32979
  "input",
32940
32980
  {
32941
32981
  type: "text",
@@ -32948,7 +32988,7 @@ function NewsletterFormSSR({
32948
32988
  ),
32949
32989
  /* @__PURE__ */ jsxs34("div", { className: "newsletter-form-fields", children: [
32950
32990
  fields3.map(renderField),
32951
- /* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
32991
+ /* @__PURE__ */ jsx48("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx48(
32952
32992
  "button",
32953
32993
  {
32954
32994
  type: "submit",
@@ -32957,7 +32997,7 @@ function NewsletterFormSSR({
32957
32997
  }
32958
32998
  ) })
32959
32999
  ] }),
32960
- display.privacyNote && /* @__PURE__ */ jsx47("p", { className: "newsletter-privacy-note", children: display.privacyNote })
33000
+ display.privacyNote && /* @__PURE__ */ jsx48("p", { className: "newsletter-privacy-note", children: display.privacyNote })
32961
33001
  ] })
32962
33002
  ]
32963
33003
  }
@@ -32966,7 +33006,7 @@ function NewsletterFormSSR({
32966
33006
  var newsletter_form_server_default = NewsletterFormSSR;
32967
33007
 
32968
33008
  // ../blocks/src/system/runtime/nodes/product-detail.server.tsx
32969
- import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
33009
+ import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
32970
33010
  function ProductDetailSSR({
32971
33011
  blockId,
32972
33012
  siteId,
@@ -32991,8 +33031,8 @@ function ProductDetailSSR({
32991
33031
  "data-site-id": siteId ?? void 0,
32992
33032
  ...getIslandRootProps("product-detail", blockId),
32993
33033
  children: [
32994
- /* @__PURE__ */ jsx48(IslandPropsScript, { value: islandProps }),
32995
- /* @__PURE__ */ jsx48(ProductDetailServerContent, { render: islandProps.render }),
33034
+ /* @__PURE__ */ jsx49(IslandPropsScript, { value: islandProps }),
33035
+ /* @__PURE__ */ jsx49(ProductDetailServerContent, { render: islandProps.render }),
32996
33036
  children
32997
33037
  ]
32998
33038
  }
@@ -33001,7 +33041,7 @@ function ProductDetailSSR({
33001
33041
  var product_detail_server_default = ProductDetailSSR;
33002
33042
 
33003
33043
  // ../blocks/src/system/runtime/nodes/product-list.server.tsx
33004
- import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
33044
+ import { jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
33005
33045
  function ProductListSSR({
33006
33046
  blockId,
33007
33047
  siteId,
@@ -33026,8 +33066,8 @@ function ProductListSSR({
33026
33066
  "data-site-id": siteId ?? void 0,
33027
33067
  ...getIslandRootProps("product-list", blockId),
33028
33068
  children: [
33029
- /* @__PURE__ */ jsx49(IslandPropsScript, { value: islandProps }),
33030
- /* @__PURE__ */ jsx49(ProductListServerContent, { render: islandProps.render }),
33069
+ /* @__PURE__ */ jsx50(IslandPropsScript, { value: islandProps }),
33070
+ /* @__PURE__ */ jsx50(ProductListServerContent, { render: islandProps.render }),
33031
33071
  children
33032
33072
  ]
33033
33073
  }
@@ -33036,7 +33076,7 @@ function ProductListSSR({
33036
33076
  var product_list_server_default = ProductListSSR;
33037
33077
 
33038
33078
  // ../blocks/src/system/runtime/nodes/shop.server.tsx
33039
- import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
33079
+ import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
33040
33080
  function ShopSSR({
33041
33081
  blockId,
33042
33082
  siteId,
@@ -33063,16 +33103,16 @@ function ShopSSR({
33063
33103
  "data-site-id": siteId ?? void 0,
33064
33104
  ...getIslandRootProps("shop", blockId),
33065
33105
  children: [
33066
- /* @__PURE__ */ jsx50(IslandPropsScript, { value: islandProps }),
33067
- /* @__PURE__ */ jsx50(
33106
+ /* @__PURE__ */ jsx51(IslandPropsScript, { value: islandProps }),
33107
+ /* @__PURE__ */ jsx51(
33068
33108
  PassesMembershipsSectionView,
33069
33109
  {
33070
33110
  display: render.display,
33071
- passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx50(
33111
+ passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx51(
33072
33112
  PassCardView,
33073
33113
  {
33074
33114
  display: pass,
33075
- action: /* @__PURE__ */ jsx50(
33115
+ action: /* @__PURE__ */ jsx51(
33076
33116
  "button",
33077
33117
  {
33078
33118
  type: "button",
@@ -33085,11 +33125,11 @@ function ShopSSR({
33085
33125
  },
33086
33126
  pass.id
33087
33127
  )),
33088
- membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx50(
33128
+ membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx51(
33089
33129
  MembershipCardView,
33090
33130
  {
33091
33131
  display: membership,
33092
- action: /* @__PURE__ */ jsx50(
33132
+ action: /* @__PURE__ */ jsx51(
33093
33133
  "button",
33094
33134
  {
33095
33135
  type: "button",
@@ -37517,7 +37557,7 @@ function transformSdkBlockToDefinition(sdkBlock) {
37517
37557
  }
37518
37558
 
37519
37559
  // ../blocks/src/PageRenderer.tsx
37520
- import { Fragment as Fragment6, jsx as jsx51 } from "react/jsx-runtime";
37560
+ import { Fragment as Fragment6, jsx as jsx52 } from "react/jsx-runtime";
37521
37561
  function PageRenderer({
37522
37562
  theme,
37523
37563
  page,
@@ -37541,12 +37581,12 @@ function PageRenderer({
37541
37581
  ]
37542
37582
  );
37543
37583
  if (!page || page.blocks.length === 0) {
37544
- return /* @__PURE__ */ jsx51("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
37584
+ return /* @__PURE__ */ jsx52("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
37545
37585
  }
37546
37586
  const themeTokens = providedThemeTokens ?? buildThemeRuntime(theme).tokens;
37547
37587
  const resolvedRegistry = registry ?? getDefaultComponentRegistry();
37548
37588
  setContextResolveImageUrlContext(imageResolveContext);
37549
- return /* @__PURE__ */ jsx51("div", { children: page.blocks.map((block, index) => {
37589
+ return /* @__PURE__ */ jsx52("div", { children: page.blocks.map((block, index) => {
37550
37590
  const blockKey = block.id ?? `${block.kind}-${index}`;
37551
37591
  const cleanKind = block.kind.replace(/^block\./, "");
37552
37592
  const definition = getBlockDefinition(block.kind);
@@ -37569,14 +37609,14 @@ function PageRenderer({
37569
37609
  customBlocks
37570
37610
  };
37571
37611
  if (!shouldUseWrapper) {
37572
- return /* @__PURE__ */ jsx51(MemoBlockSection, { ...blockSectionProps }, blockKey);
37612
+ return /* @__PURE__ */ jsx52(MemoBlockSection, { ...blockSectionProps }, blockKey);
37573
37613
  }
37574
37614
  const wrapperClassName = [
37575
37615
  `block-${cleanKind}`,
37576
37616
  wrapBlock ? "group relative" : null
37577
37617
  ].filter(Boolean).join(" ");
37578
37618
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
37579
- return /* @__PURE__ */ jsx51(
37619
+ return /* @__PURE__ */ jsx52(
37580
37620
  "div",
37581
37621
  {
37582
37622
  className: wrapperClassName,
@@ -37586,7 +37626,7 @@ function PageRenderer({
37586
37626
  "data-variant": variantKey ?? void 0,
37587
37627
  "data-block-variant": variantKey ?? void 0,
37588
37628
  "data-style-group": styleGroup,
37589
- children: /* @__PURE__ */ jsx51(MemoBlockSection, { ...blockSectionProps })
37629
+ children: /* @__PURE__ */ jsx52(MemoBlockSection, { ...blockSectionProps })
37590
37630
  },
37591
37631
  blockKey
37592
37632
  );
@@ -37710,8 +37750,8 @@ var MemoBlockSection = React6.memo(
37710
37750
  blockId: block.id ?? null,
37711
37751
  blockKind: block.kind
37712
37752
  };
37713
- const rendered2 = /* @__PURE__ */ jsx51(OverrideComponent, { ...baseProps });
37714
- const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered2 });
37753
+ const rendered2 = /* @__PURE__ */ jsx52(OverrideComponent, { ...baseProps });
37754
+ const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered2 });
37715
37755
  return finish(node2, {
37716
37756
  outcome: "overrideWithoutDefinition",
37717
37757
  override: true,
@@ -37733,7 +37773,7 @@ var MemoBlockSection = React6.memo(
37733
37773
  const rendered = fallback(
37734
37774
  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}".`
37735
37775
  );
37736
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37776
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37737
37777
  return finish(node, { outcome: "missingDefinition", override: false });
37738
37778
  }
37739
37779
  const manifestHasLayout = Boolean(definition.manifest.layout) || definition.manifest.variants && Object.keys(definition.manifest.variants).length > 0;
@@ -37752,7 +37792,7 @@ var MemoBlockSection = React6.memo(
37752
37792
  const rendered = fallback(
37753
37793
  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}".`
37754
37794
  );
37755
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37795
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37756
37796
  return finish(node, { outcome: "missingLayout", override: false });
37757
37797
  }
37758
37798
  const content = getRenderableContent(block);
@@ -37788,14 +37828,14 @@ var MemoBlockSection = React6.memo(
37788
37828
  const rendered = fallback(
37789
37829
  `Unable to render block kind "${block.kind}".`
37790
37830
  );
37791
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37831
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37792
37832
  return finish(node, { outcome: "invalidPlaceholder", override: false });
37793
37833
  }
37794
37834
  } else {
37795
37835
  const rendered = fallback(
37796
37836
  `Invalid content for block kind "${block.kind}".`
37797
37837
  );
37798
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37838
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37799
37839
  return finish(node, { outcome: "invalidContent", override: false });
37800
37840
  }
37801
37841
  try {
@@ -37828,7 +37868,7 @@ var MemoBlockSection = React6.memo(
37828
37868
  };
37829
37869
  let rendered;
37830
37870
  if (OverrideComponent) {
37831
- rendered = /* @__PURE__ */ jsx51(OverrideComponent, { ...baseProps });
37871
+ rendered = /* @__PURE__ */ jsx52(OverrideComponent, { ...baseProps });
37832
37872
  } else {
37833
37873
  const BlockComponent = getCachedBlockComponent(definition.manifest);
37834
37874
  const pathBase = typeof block.id === "string" && block.id.length > 0 ? `blocks.${block.id}.` : void 0;
@@ -37851,7 +37891,7 @@ var MemoBlockSection = React6.memo(
37851
37891
  };
37852
37892
  const blockBindings = block.bindings;
37853
37893
  const fragmentRegistry2 = getFragmentRegistry();
37854
- rendered = /* @__PURE__ */ jsx51(
37894
+ rendered = /* @__PURE__ */ jsx52(
37855
37895
  BlockComponent,
37856
37896
  {
37857
37897
  ...baseProps,
@@ -37865,18 +37905,18 @@ var MemoBlockSection = React6.memo(
37865
37905
  );
37866
37906
  }
37867
37907
  if (wrapBlock && block.id) {
37868
- return finish(/* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }), {
37908
+ return finish(/* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }), {
37869
37909
  override: Boolean(OverrideComponent),
37870
37910
  hasResolvedData
37871
37911
  });
37872
37912
  }
37873
- return finish(/* @__PURE__ */ jsx51(Fragment6, { children: rendered }), {
37913
+ return finish(/* @__PURE__ */ jsx52(Fragment6, { children: rendered }), {
37874
37914
  override: Boolean(OverrideComponent),
37875
37915
  hasResolvedData
37876
37916
  });
37877
37917
  } catch {
37878
37918
  const rendered = usePlaceholders ? fallback(`Unable to render block kind "${block.kind}".`) : fallback(`Invalid content for block kind "${block.kind}".`);
37879
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx51(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx51(Fragment6, { children: rendered });
37919
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx52(Fragment6, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx52(Fragment6, { children: rendered });
37880
37920
  return finish(node, { outcome: "exception", override: false });
37881
37921
  }
37882
37922
  },
@@ -37885,7 +37925,7 @@ var MemoBlockSection = React6.memo(
37885
37925
  }
37886
37926
  );
37887
37927
  function fallback(message) {
37888
- return /* @__PURE__ */ jsx51("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
37928
+ return /* @__PURE__ */ jsx52("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
37889
37929
  }
37890
37930
  function shouldDebugCustomBlocks() {
37891
37931
  try {
@@ -46928,7 +46968,7 @@ var containerResponsiveThemeCss = `/*
46928
46968
  }`;
46929
46969
 
46930
46970
  // ../theme-core/src/ThemeScopeCore.tsx
46931
- import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
46971
+ import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
46932
46972
  function ThemeScopeCore({
46933
46973
  cssVars,
46934
46974
  buttonCss,
@@ -46969,7 +47009,7 @@ function ThemeScopeCore({
46969
47009
  ...dataAttrs,
46970
47010
  suppressHydrationWarning,
46971
47011
  children: [
46972
- isContainerResponsive && /* @__PURE__ */ jsx52(
47012
+ isContainerResponsive && /* @__PURE__ */ jsx53(
46973
47013
  "style",
46974
47014
  {
46975
47015
  "data-container-responsive-overrides": true,
@@ -46978,70 +47018,70 @@ function ThemeScopeCore({
46978
47018
  }
46979
47019
  }
46980
47020
  ),
46981
- layoutCss && /* @__PURE__ */ jsx52(
47021
+ layoutCss && /* @__PURE__ */ jsx53(
46982
47022
  "style",
46983
47023
  {
46984
47024
  "data-layout-styles": true,
46985
47025
  dangerouslySetInnerHTML: { __html: escapeStyleContent(layoutCss) }
46986
47026
  }
46987
47027
  ),
46988
- buttonCss && /* @__PURE__ */ jsx52(
47028
+ buttonCss && /* @__PURE__ */ jsx53(
46989
47029
  "style",
46990
47030
  {
46991
47031
  "data-button-effects": true,
46992
47032
  dangerouslySetInnerHTML: { __html: escapeStyleContent(buttonCss) }
46993
47033
  }
46994
47034
  ),
46995
- headerCss && /* @__PURE__ */ jsx52(
47035
+ headerCss && /* @__PURE__ */ jsx53(
46996
47036
  "style",
46997
47037
  {
46998
47038
  "data-header-styles": true,
46999
47039
  dangerouslySetInnerHTML: { __html: escapeStyleContent(headerCss) }
47000
47040
  }
47001
47041
  ),
47002
- footerCss && /* @__PURE__ */ jsx52(
47042
+ footerCss && /* @__PURE__ */ jsx53(
47003
47043
  "style",
47004
47044
  {
47005
47045
  "data-footer-styles": true,
47006
47046
  dangerouslySetInnerHTML: { __html: escapeStyleContent(footerCss) }
47007
47047
  }
47008
47048
  ),
47009
- cardCss && /* @__PURE__ */ jsx52(
47049
+ cardCss && /* @__PURE__ */ jsx53(
47010
47050
  "style",
47011
47051
  {
47012
47052
  "data-card-styles": true,
47013
47053
  dangerouslySetInnerHTML: { __html: escapeStyleContent(cardCss) }
47014
47054
  }
47015
47055
  ),
47016
- accordionCss && /* @__PURE__ */ jsx52(
47056
+ accordionCss && /* @__PURE__ */ jsx53(
47017
47057
  "style",
47018
47058
  {
47019
47059
  "data-accordion-styles": true,
47020
47060
  dangerouslySetInnerHTML: { __html: escapeStyleContent(accordionCss) }
47021
47061
  }
47022
47062
  ),
47023
- inputCss && /* @__PURE__ */ jsx52(
47063
+ inputCss && /* @__PURE__ */ jsx53(
47024
47064
  "style",
47025
47065
  {
47026
47066
  "data-input-styles": true,
47027
47067
  dangerouslySetInnerHTML: { __html: escapeStyleContent(inputCss) }
47028
47068
  }
47029
47069
  ),
47030
- statusCss && /* @__PURE__ */ jsx52(
47070
+ statusCss && /* @__PURE__ */ jsx53(
47031
47071
  "style",
47032
47072
  {
47033
47073
  "data-status-styles": true,
47034
47074
  dangerouslySetInnerHTML: { __html: escapeStyleContent(statusCss) }
47035
47075
  }
47036
47076
  ),
47037
- progressCss && /* @__PURE__ */ jsx52(
47077
+ progressCss && /* @__PURE__ */ jsx53(
47038
47078
  "style",
47039
47079
  {
47040
47080
  "data-progress-styles": true,
47041
47081
  dangerouslySetInnerHTML: { __html: escapeStyleContent(progressCss) }
47042
47082
  }
47043
47083
  ),
47044
- typographyCss && /* @__PURE__ */ jsx52(
47084
+ typographyCss && /* @__PURE__ */ jsx53(
47045
47085
  "style",
47046
47086
  {
47047
47087
  "data-typography-styles": true,
@@ -47050,7 +47090,7 @@ function ThemeScopeCore({
47050
47090
  }
47051
47091
  }
47052
47092
  ),
47053
- eventCalendarCss && /* @__PURE__ */ jsx52(
47093
+ eventCalendarCss && /* @__PURE__ */ jsx53(
47054
47094
  "style",
47055
47095
  {
47056
47096
  "data-event-calendar-styles": true,
@@ -47059,14 +47099,14 @@ function ThemeScopeCore({
47059
47099
  }
47060
47100
  }
47061
47101
  ),
47062
- blockVarsCss && /* @__PURE__ */ jsx52(
47102
+ blockVarsCss && /* @__PURE__ */ jsx53(
47063
47103
  "style",
47064
47104
  {
47065
47105
  "data-block-vars-styles": true,
47066
47106
  dangerouslySetInnerHTML: { __html: escapeStyleContent(blockVarsCss) }
47067
47107
  }
47068
47108
  ),
47069
- blockCustomVarsCss && /* @__PURE__ */ jsx52(
47109
+ blockCustomVarsCss && /* @__PURE__ */ jsx53(
47070
47110
  "style",
47071
47111
  {
47072
47112
  "data-block-custom-vars-styles": true,
@@ -47075,7 +47115,7 @@ function ThemeScopeCore({
47075
47115
  }
47076
47116
  }
47077
47117
  ),
47078
- blockCustomCss && /* @__PURE__ */ jsx52(
47118
+ blockCustomCss && /* @__PURE__ */ jsx53(
47079
47119
  "style",
47080
47120
  {
47081
47121
  "data-block-custom-styles": true,
@@ -47084,14 +47124,14 @@ function ThemeScopeCore({
47084
47124
  }
47085
47125
  }
47086
47126
  ),
47087
- atRulesCss && /* @__PURE__ */ jsx52(
47127
+ atRulesCss && /* @__PURE__ */ jsx53(
47088
47128
  "style",
47089
47129
  {
47090
47130
  "data-at-rules-styles": true,
47091
47131
  dangerouslySetInnerHTML: { __html: escapeStyleContent(atRulesCss) }
47092
47132
  }
47093
47133
  ),
47094
- customCss && /* @__PURE__ */ jsx52(
47134
+ customCss && /* @__PURE__ */ jsx53(
47095
47135
  "style",
47096
47136
  {
47097
47137
  "data-custom-theme-styles": true,
@@ -47118,7 +47158,7 @@ function buildThemeDataAttrs(axes, themeId) {
47118
47158
  }
47119
47159
 
47120
47160
  // ../theme-core/src/ThemeScope.tsx
47121
- import { jsx as jsx53 } from "react/jsx-runtime";
47161
+ import { jsx as jsx54 } from "react/jsx-runtime";
47122
47162
  function ThemeScope({
47123
47163
  theme,
47124
47164
  children,
@@ -47128,7 +47168,7 @@ function ThemeScope({
47128
47168
  }) {
47129
47169
  const runtime = buildThemeRuntime(theme, { themeId, responsiveMode });
47130
47170
  const dataAttrs = buildThemeDataAttrs(theme.axes, themeId);
47131
- return /* @__PURE__ */ jsx53(
47171
+ return /* @__PURE__ */ jsx54(
47132
47172
  ThemeScopeCore,
47133
47173
  {
47134
47174
  cssVars: runtime.cssVars,
@@ -47178,47 +47218,47 @@ function resolveFooterRenderPlan(params) {
47178
47218
 
47179
47219
  // ../theme-core/src/ThemeFontLoader.tsx
47180
47220
  import * as React7 from "react";
47181
- import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
47221
+ import { Fragment as Fragment7, jsx as jsx55, jsxs as jsxs39 } from "react/jsx-runtime";
47182
47222
 
47183
47223
  // ../theme-core/src/siteChrome.tsx
47184
- import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
47224
+ import { Fragment as Fragment8, jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
47185
47225
 
47186
47226
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
47187
- import { z as z64 } from "zod";
47188
- var themeBridgeConfigSchema = z64.object({
47189
- tokens: z64.record(z64.string(), z64.string()),
47190
- typography: z64.object({
47191
- headingFamily: z64.string().optional(),
47192
- bodyFamily: z64.string().optional(),
47193
- headingWeight: z64.number().optional(),
47194
- bodyWeight: z64.number().optional()
47227
+ import { z as z65 } from "zod";
47228
+ var themeBridgeConfigSchema = z65.object({
47229
+ tokens: z65.record(z65.string(), z65.string()),
47230
+ typography: z65.object({
47231
+ headingFamily: z65.string().optional(),
47232
+ bodyFamily: z65.string().optional(),
47233
+ headingWeight: z65.number().optional(),
47234
+ bodyWeight: z65.number().optional()
47195
47235
  }).optional(),
47196
- spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
47197
- corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
47198
- shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
47199
- components: z64.object({
47200
- buttons: z64.union([
47201
- z64.boolean(),
47202
- z64.object({
47203
- variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
47236
+ spacing: z65.enum(["comfortable", "standard", "dense"]).optional(),
47237
+ corners: z65.enum(["square", "soft", "rounded", "pill"]).optional(),
47238
+ shadows: z65.enum(["none", "low", "medium", "high"]).optional(),
47239
+ components: z65.object({
47240
+ buttons: z65.union([
47241
+ z65.boolean(),
47242
+ z65.object({
47243
+ variants: z65.array(z65.enum(["primary", "secondary", "outline", "ghost"])).optional()
47204
47244
  })
47205
47245
  ]).optional(),
47206
- cards: z64.union([
47207
- z64.boolean(),
47208
- z64.object({
47209
- variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
47246
+ cards: z65.union([
47247
+ z65.boolean(),
47248
+ z65.object({
47249
+ variants: z65.array(z65.enum(["default", "elevated", "outlined"])).optional()
47210
47250
  })
47211
47251
  ]).optional(),
47212
- inputs: z64.boolean().optional()
47252
+ inputs: z65.boolean().optional()
47213
47253
  }).optional(),
47214
- overrides: z64.record(z64.string(), z64.string()).optional()
47254
+ overrides: z65.record(z65.string(), z65.string()).optional()
47215
47255
  }).passthrough();
47216
47256
 
47217
47257
  // ../theme-core/src/mock-themes/components/swatch.tsx
47218
- import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
47258
+ import { jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
47219
47259
 
47220
47260
  // ../theme-core/src/mock-themes/components/PaletteCard.tsx
47221
- import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
47261
+ import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
47222
47262
 
47223
47263
  // src/rendering/blocks-theme-runtime.ts
47224
47264
  var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
@@ -47318,7 +47358,7 @@ function ThemeScope2(props2) {
47318
47358
  }
47319
47359
 
47320
47360
  // src/rendering/components/pageShared.tsx
47321
- import { jsx as jsx58 } from "react/jsx-runtime";
47361
+ import { jsx as jsx59 } from "react/jsx-runtime";
47322
47362
  function toPageHydrationBootstrapConfig(props2) {
47323
47363
  return {
47324
47364
  siteId: props2.siteId,
@@ -47350,7 +47390,7 @@ function PageContent({
47350
47390
  }) {
47351
47391
  const baseTokens = providedTokens ?? buildThemeRuntime2(theme).tokens;
47352
47392
  const themeTokens = sdkConfig?.theme?.palette ? { ...baseTokens, palette: { ...baseTokens.palette, ...sdkConfig.theme.palette } } : baseTokens;
47353
- const content = /* @__PURE__ */ jsx58(
47393
+ const content = /* @__PURE__ */ jsx59(
47354
47394
  PageRenderer2,
47355
47395
  {
47356
47396
  theme,
@@ -47386,16 +47426,16 @@ function PageContent({
47386
47426
  customBlocks
47387
47427
  }
47388
47428
  );
47389
- return useThemeScope ? /* @__PURE__ */ jsx58(ThemeScope2, { theme, children: content }) : content;
47429
+ return useThemeScope ? /* @__PURE__ */ jsx59(ThemeScope2, { theme, children: content }) : content;
47390
47430
  }
47391
47431
 
47392
47432
  // src/rendering/components/Page.tsx
47393
- import { Fragment as Fragment9, jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
47433
+ import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
47394
47434
  var HydratorWithContextProps = BlocksIslandsHydrator;
47395
47435
  function Page(props2) {
47396
47436
  return /* @__PURE__ */ jsxs43(Fragment9, { children: [
47397
- /* @__PURE__ */ jsx59(HydratorWithContextProps, { ...toPageHydrationBootstrapConfig(props2) }),
47398
- /* @__PURE__ */ jsx59(PageContent, { ...props2 })
47437
+ /* @__PURE__ */ jsx60(HydratorWithContextProps, { ...toPageHydrationBootstrapConfig(props2) }),
47438
+ /* @__PURE__ */ jsx60(PageContent, { ...props2 })
47399
47439
  ] });
47400
47440
  }
47401
47441
 
@@ -47833,7 +47873,7 @@ function buildLogo(logo, fallbackAlt) {
47833
47873
  }
47834
47874
 
47835
47875
  // src/rendering/components/Layout.tsx
47836
- import { Fragment as Fragment10, jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
47876
+ import { Fragment as Fragment10, jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
47837
47877
  async function Layout({
47838
47878
  siteData: providedSiteData,
47839
47879
  client,
@@ -47935,7 +47975,7 @@ async function Layout({
47935
47975
  isSdkSite,
47936
47976
  mode: theme.footer?.mode
47937
47977
  });
47938
- const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx60(
47978
+ const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx61(
47939
47979
  PageRenderer2,
47940
47980
  {
47941
47981
  theme,
@@ -47980,7 +48020,7 @@ async function Layout({
47980
48020
  children,
47981
48021
  footerElement
47982
48022
  ] });
47983
- return useThemeScope ? /* @__PURE__ */ jsx60(ThemeScope2, { theme, children: content }) : content;
48023
+ return useThemeScope ? /* @__PURE__ */ jsx61(ThemeScope2, { theme, children: content }) : content;
47984
48024
  }
47985
48025
 
47986
48026
  // src/rendering/components/Block.tsx
@@ -55781,73 +55821,73 @@ var ENDPOINT_DEFINITIONS = {
55781
55821
  };
55782
55822
 
55783
55823
  // ../api/src/accessAdmin.ts
55784
- import { z as z65 } from "zod";
55785
- var managedDomainAddOnPricingSnapshotSchema = z65.object({
55786
- formulaVersion: z65.literal("managed-domain-overage-v1"),
55787
- conversionRule: z65.literal("usd-to-gbp-1-to-1-v1"),
55788
- registrarAnnualCost: z65.number().nonnegative(),
55789
- registrarCurrency: z65.literal("USD"),
55790
- includedAnnualAllowance: z65.number().nonnegative(),
55791
- includedAnnualAllowanceCurrency: z65.literal("USD"),
55792
- monthlyAmountCents: z65.number().int().nonnegative(),
55793
- monthlyCurrency: z65.literal("gbp")
55824
+ import { z as z66 } from "zod";
55825
+ var managedDomainAddOnPricingSnapshotSchema = z66.object({
55826
+ formulaVersion: z66.literal("managed-domain-overage-v1"),
55827
+ conversionRule: z66.literal("usd-to-gbp-1-to-1-v1"),
55828
+ registrarAnnualCost: z66.number().nonnegative(),
55829
+ registrarCurrency: z66.literal("USD"),
55830
+ includedAnnualAllowance: z66.number().nonnegative(),
55831
+ includedAnnualAllowanceCurrency: z66.literal("USD"),
55832
+ monthlyAmountCents: z66.number().int().nonnegative(),
55833
+ monthlyCurrency: z66.literal("gbp")
55794
55834
  });
55795
55835
 
55796
55836
  // ../api/src/navigation/contracts.ts
55797
- import { z as z66 } from "zod";
55798
- var portalLinkPayloadSchema = z66.object({
55799
- kind: z66.literal("portal"),
55800
- path: z66.string().trim().startsWith("/").optional(),
55801
- labels: z66.object({
55802
- loggedOut: z66.string().trim().min(1).optional(),
55803
- loggedIn: z66.string().trim().min(1).optional()
55837
+ import { z as z67 } from "zod";
55838
+ var portalLinkPayloadSchema = z67.object({
55839
+ kind: z67.literal("portal"),
55840
+ path: z67.string().trim().startsWith("/").optional(),
55841
+ labels: z67.object({
55842
+ loggedOut: z67.string().trim().min(1).optional(),
55843
+ loggedIn: z67.string().trim().min(1).optional()
55804
55844
  }).optional()
55805
55845
  });
55806
- var cartLinkLabelConfigSchema = z66.discriminatedUnion("kind", [
55807
- z66.object({
55808
- kind: z66.literal("icon-only")
55846
+ var cartLinkLabelConfigSchema = z67.discriminatedUnion("kind", [
55847
+ z67.object({
55848
+ kind: z67.literal("icon-only")
55809
55849
  }),
55810
- z66.object({
55811
- kind: z66.literal("icon-with-label"),
55812
- label: z66.string().trim().min(1)
55850
+ z67.object({
55851
+ kind: z67.literal("icon-with-label"),
55852
+ label: z67.string().trim().min(1)
55813
55853
  })
55814
55854
  ]);
55815
- var cartLinkPayloadSchema = z66.object({
55816
- kind: z66.literal("cart"),
55817
- badge: z66.enum(["show-count", "hidden"]),
55855
+ var cartLinkPayloadSchema = z67.object({
55856
+ kind: z67.literal("cart"),
55857
+ badge: z67.enum(["show-count", "hidden"]),
55818
55858
  label: cartLinkLabelConfigSchema
55819
55859
  });
55820
- var internalLinkPayloadSchema = z66.object({
55821
- kind: z66.literal("internal"),
55822
- routeId: z66.string().uuid(),
55823
- entityId: z66.string().uuid(),
55824
- entityType: z66.enum(["page", "content"]),
55825
- href: z66.string().min(1),
55826
- title: z66.string().min(1),
55827
- typeLabel: z66.string().min(1),
55828
- contentTypeKey: z66.string().nullable().optional(),
55829
- contentTypeName: z66.string().nullable().optional(),
55830
- updatedAt: z66.string().nullable().optional()
55860
+ var internalLinkPayloadSchema = z67.object({
55861
+ kind: z67.literal("internal"),
55862
+ routeId: z67.string().uuid(),
55863
+ entityId: z67.string().uuid(),
55864
+ entityType: z67.enum(["page", "content"]),
55865
+ href: z67.string().min(1),
55866
+ title: z67.string().min(1),
55867
+ typeLabel: z67.string().min(1),
55868
+ contentTypeKey: z67.string().nullable().optional(),
55869
+ contentTypeName: z67.string().nullable().optional(),
55870
+ updatedAt: z67.string().nullable().optional()
55831
55871
  }).passthrough();
55832
- var externalLinkSchema2 = z66.object({
55833
- kind: z66.literal("external"),
55872
+ var externalLinkSchema2 = z67.object({
55873
+ kind: z67.literal("external"),
55834
55874
  // Navigation external links are expected to be absolute URLs.
55835
- href: z66.string().url()
55875
+ href: z67.string().url()
55836
55876
  });
55837
- var customLinkSchema2 = z66.object({
55838
- kind: z66.literal("url"),
55839
- href: z66.string().min(1)
55877
+ var customLinkSchema2 = z67.object({
55878
+ kind: z67.literal("url"),
55879
+ href: z67.string().min(1)
55840
55880
  });
55841
- var pageLinkSchema2 = z66.object({
55842
- kind: z66.literal("page"),
55843
- identifier: z66.string().min(1)
55881
+ var pageLinkSchema2 = z67.object({
55882
+ kind: z67.literal("page"),
55883
+ identifier: z67.string().min(1)
55844
55884
  });
55845
- var entryLinkSchema2 = z66.object({
55846
- kind: z66.literal("entry"),
55847
- contentType: z66.string().min(1),
55848
- identifier: z66.string().min(1)
55885
+ var entryLinkSchema2 = z67.object({
55886
+ kind: z67.literal("entry"),
55887
+ contentType: z67.string().min(1),
55888
+ identifier: z67.string().min(1)
55849
55889
  });
55850
- var linkPayloadSchema = z66.discriminatedUnion("kind", [
55890
+ var linkPayloadSchema = z67.discriminatedUnion("kind", [
55851
55891
  internalLinkPayloadSchema,
55852
55892
  pageLinkSchema2,
55853
55893
  entryLinkSchema2,
@@ -55864,27 +55904,27 @@ var navigationLinkInputSchemaOptions = [
55864
55904
  portalLinkPayloadSchema,
55865
55905
  cartLinkPayloadSchema
55866
55906
  ];
55867
- var navigationLinkInputSchema = z66.discriminatedUnion(
55907
+ var navigationLinkInputSchema = z67.discriminatedUnion(
55868
55908
  "kind",
55869
55909
  navigationLinkInputSchemaOptions
55870
55910
  );
55871
55911
 
55872
55912
  // ../api/src/sdkConfig/contracts.ts
55873
- import { z as z67 } from "zod";
55913
+ import { z as z68 } from "zod";
55874
55914
  function unsafeRetypeZodSchema(schema) {
55875
55915
  return schema;
55876
55916
  }
55877
- var navIdListSchema = z67.preprocess((value) => {
55917
+ var navIdListSchema = z68.preprocess((value) => {
55878
55918
  if (!Array.isArray(value)) return void 0;
55879
55919
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
55880
55920
  return filtered.length > 0 ? filtered : void 0;
55881
- }, z67.array(z67.string()).max(200).optional());
55882
- var dashboardNavVisibilityBaseSchema = z67.object({
55883
- mode: z67.enum(["augment", "restrict"]).optional(),
55921
+ }, z68.array(z68.string()).max(200).optional());
55922
+ var dashboardNavVisibilityBaseSchema = z68.object({
55923
+ mode: z68.enum(["augment", "restrict"]).optional(),
55884
55924
  allowIds: navIdListSchema,
55885
55925
  denyIds: navIdListSchema
55886
55926
  }).strip();
55887
- var dashboardNavVisibilityRolesSchema = z67.object({
55927
+ var dashboardNavVisibilityRolesSchema = z68.object({
55888
55928
  administrator: dashboardNavVisibilityBaseSchema.optional(),
55889
55929
  editor: dashboardNavVisibilityBaseSchema.optional(),
55890
55930
  team_member: dashboardNavVisibilityBaseSchema.optional()
@@ -55892,57 +55932,57 @@ var dashboardNavVisibilityRolesSchema = z67.object({
55892
55932
  var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
55893
55933
  roles: dashboardNavVisibilityRolesSchema
55894
55934
  }).strip();
55895
- var dashboardNavigationConfigSchema = z67.object({
55935
+ var dashboardNavigationConfigSchema = z68.object({
55896
55936
  siteNav: dashboardNavVisibilitySchema.optional(),
55897
55937
  settingsNav: dashboardNavVisibilitySchema.optional()
55898
55938
  }).strip();
55899
- var dashboardConfigSchema = z67.object({
55900
- previewEditingEnabled: z67.boolean().optional(),
55939
+ var dashboardConfigSchema = z68.object({
55940
+ previewEditingEnabled: z68.boolean().optional(),
55901
55941
  navigation: dashboardNavigationConfigSchema.optional()
55902
55942
  }).strip();
55903
55943
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
55904
55944
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
55905
- var sdkLoaderEndpointSchema = z67.enum(SUPPORTED_LOADER_ENDPOINTS);
55906
- var loaderParamBindingSchema = z67.object({
55907
- $bind: z67.object({
55908
- from: z67.string().min(1, "Binding path is required"),
55909
- fallback: z67.string().optional()
55945
+ var sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
55946
+ var loaderParamBindingSchema = z68.object({
55947
+ $bind: z68.object({
55948
+ from: z68.string().min(1, "Binding path is required"),
55949
+ fallback: z68.string().optional()
55910
55950
  })
55911
55951
  });
55912
- var loaderParamValueSchema = z67.union([
55913
- z67.string(),
55914
- z67.number(),
55915
- z67.boolean(),
55952
+ var loaderParamValueSchema = z68.union([
55953
+ z68.string(),
55954
+ z68.number(),
55955
+ z68.boolean(),
55916
55956
  loaderParamBindingSchema
55917
55957
  ]);
55918
- var sdkConfigLoaderSchema = z67.object({
55958
+ var sdkConfigLoaderSchema = z68.object({
55919
55959
  endpoint: sdkLoaderEndpointSchema,
55920
- params: z67.record(z67.string(), loaderParamValueSchema),
55921
- mode: z67.enum(["server", "client"]).default("server")
55960
+ params: z68.record(z68.string(), loaderParamValueSchema),
55961
+ mode: z68.enum(["server", "client"]).default("server")
55922
55962
  });
55923
- var sdkDataLoadersSchema = z67.record(z67.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55924
- var sdkCustomBlockIdSchema = z67.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55963
+ var sdkDataLoadersSchema = z68.record(z68.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
55964
+ var sdkCustomBlockIdSchema = z68.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
55925
55965
  message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
55926
55966
  }).transform((value) => value);
55927
- var sdkCustomBlockInputSchema = z67.object({
55967
+ var sdkCustomBlockInputSchema = z68.object({
55928
55968
  id: sdkCustomBlockIdSchema,
55929
- title: z67.string().min(1),
55930
- titleSource: z67.union([z67.string().min(1), z67.array(z67.string().min(1)).min(1)]).optional(),
55931
- description: z67.string().optional(),
55969
+ title: z68.string().min(1),
55970
+ titleSource: z68.union([z68.string().min(1), z68.array(z68.string().min(1)).min(1)]).optional(),
55971
+ description: z68.string().optional(),
55932
55972
  category: blockCategoryEnum,
55933
- icon: z67.string().optional(),
55934
- tags: z67.array(z67.string()).optional(),
55973
+ icon: z68.string().optional(),
55974
+ tags: z68.array(z68.string()).optional(),
55935
55975
  fields: fieldDefinitionInputSchema.array().min(1),
55936
55976
  dataLoaders: sdkDataLoadersSchema,
55937
55977
  layout: NodeSchema.optional(),
55938
- variants: z67.record(z67.string().min(1), NodeSchema).optional(),
55939
- defaultVariant: z67.string().min(1).optional(),
55940
- variantOptions: z67.record(
55941
- z67.string().min(1),
55942
- z67.object({
55943
- label: z67.string().min(1).optional(),
55944
- description: z67.string().min(1).optional(),
55945
- icon: z67.string().min(1).optional()
55978
+ variants: z68.record(z68.string().min(1), NodeSchema).optional(),
55979
+ defaultVariant: z68.string().min(1).optional(),
55980
+ variantOptions: z68.record(
55981
+ z68.string().min(1),
55982
+ z68.object({
55983
+ label: z68.string().min(1).optional(),
55984
+ description: z68.string().min(1).optional(),
55985
+ icon: z68.string().min(1).optional()
55946
55986
  })
55947
55987
  ).optional()
55948
55988
  }).superRefine((data, ctx) => {
@@ -55952,7 +55992,7 @@ var sdkCustomBlockInputSchema = z67.object({
55952
55992
  const exists = data.fields.some((field) => field.id === source);
55953
55993
  if (!exists) {
55954
55994
  ctx.addIssue({
55955
- code: z67.ZodIssueCode.custom,
55995
+ code: z68.ZodIssueCode.custom,
55956
55996
  message: `titleSource must reference a valid field ID (got "${source}")`,
55957
55997
  path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
55958
55998
  });
@@ -55961,7 +56001,7 @@ var sdkCustomBlockInputSchema = z67.object({
55961
56001
  }
55962
56002
  if (data.layout && data.variants) {
55963
56003
  ctx.addIssue({
55964
- code: z67.ZodIssueCode.custom,
56004
+ code: z68.ZodIssueCode.custom,
55965
56005
  message: "Custom block must define either `layout` or `variants`, not both",
55966
56006
  path: ["variants"]
55967
56007
  });
@@ -55970,14 +56010,14 @@ var sdkCustomBlockInputSchema = z67.object({
55970
56010
  const keys = Object.keys(data.variants);
55971
56011
  if (keys.length === 0) {
55972
56012
  ctx.addIssue({
55973
- code: z67.ZodIssueCode.custom,
56013
+ code: z68.ZodIssueCode.custom,
55974
56014
  message: "`variants` must contain at least one variant key",
55975
56015
  path: ["variants"]
55976
56016
  });
55977
56017
  }
55978
56018
  if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
55979
56019
  ctx.addIssue({
55980
- code: z67.ZodIssueCode.custom,
56020
+ code: z68.ZodIssueCode.custom,
55981
56021
  message: "`defaultVariant` must be a key present in `variants`",
55982
56022
  path: ["defaultVariant"]
55983
56023
  });
@@ -55986,7 +56026,7 @@ var sdkCustomBlockInputSchema = z67.object({
55986
56026
  for (const key of Object.keys(data.variantOptions)) {
55987
56027
  if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
55988
56028
  ctx.addIssue({
55989
- code: z67.ZodIssueCode.custom,
56029
+ code: z68.ZodIssueCode.custom,
55990
56030
  message: "`variantOptions` key must exist in `variants`",
55991
56031
  path: ["variantOptions", key]
55992
56032
  });
@@ -55995,74 +56035,74 @@ var sdkCustomBlockInputSchema = z67.object({
55995
56035
  }
55996
56036
  }
55997
56037
  });
55998
- var sdkBlockFieldExtensionInputSchema = z67.object({
56038
+ var sdkBlockFieldExtensionInputSchema = z68.object({
55999
56039
  fields: fieldDefinitionInputSchema.array().min(1)
56000
56040
  });
56001
- var sdkBlockFieldExtensionsInputSchema = z67.record(
56002
- z67.string().min(1),
56041
+ var sdkBlockFieldExtensionsInputSchema = z68.record(
56042
+ z68.string().min(1),
56003
56043
  sdkBlockFieldExtensionInputSchema
56004
56044
  );
56005
- var sdkThemePaletteSchema = z67.record(z67.string(), z67.string());
56006
- var sdkThemeConfigSchema = z67.object({
56045
+ var sdkThemePaletteSchema = z68.record(z68.string(), z68.string());
56046
+ var sdkThemeConfigSchema = z68.object({
56007
56047
  palette: sdkThemePaletteSchema
56008
56048
  });
56009
- var sdkSectionBackgroundSchema = z67.object({
56010
- id: z67.string().min(1),
56011
- label: z67.string().min(1),
56012
- token: z67.string().min(1)
56049
+ var sdkSectionBackgroundSchema = z68.object({
56050
+ id: z68.string().min(1),
56051
+ label: z68.string().min(1),
56052
+ token: z68.string().min(1)
56013
56053
  });
56014
- var sdkSectionOptionsConfigSchema = z67.object({
56015
- backgroundColor: z67.boolean().optional(),
56016
- backgroundImage: z67.boolean().optional(),
56017
- backgroundGradient: z67.boolean().optional(),
56018
- spacing: z67.union([z67.array(z67.enum(["compact", "default", "spacious"])), z67.boolean()]).optional(),
56019
- textColor: z67.boolean().optional()
56054
+ var sdkSectionOptionsConfigSchema = z68.object({
56055
+ backgroundColor: z68.boolean().optional(),
56056
+ backgroundImage: z68.boolean().optional(),
56057
+ backgroundGradient: z68.boolean().optional(),
56058
+ spacing: z68.union([z68.array(z68.enum(["compact", "default", "spacious"])), z68.boolean()]).optional(),
56059
+ textColor: z68.boolean().optional()
56020
56060
  });
56021
- var sdkContainerOptionsConfigSchema = z67.object({
56022
- maxWidth: z67.union([z67.array(z67.enum(["narrow", "default", "wide", "full"])), z67.boolean()]).optional(),
56023
- alignment: z67.union([z67.array(z67.enum(["left", "center", "right"])), z67.boolean()]).optional()
56061
+ var sdkContainerOptionsConfigSchema = z68.object({
56062
+ maxWidth: z68.union([z68.array(z68.enum(["narrow", "default", "wide", "full"])), z68.boolean()]).optional(),
56063
+ alignment: z68.union([z68.array(z68.enum(["left", "center", "right"])), z68.boolean()]).optional()
56024
56064
  });
56025
- var sdkSiteStyleConfigSchema = z67.object({
56026
- sectionBackgrounds: z67.array(sdkSectionBackgroundSchema).optional(),
56065
+ var sdkSiteStyleConfigSchema = z68.object({
56066
+ sectionBackgrounds: z68.array(sdkSectionBackgroundSchema).optional(),
56027
56067
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
56028
56068
  containerOptions: sdkContainerOptionsConfigSchema.optional()
56029
56069
  });
56030
- var sdkSiteLayoutConfigSchema = z67.object({
56031
- footerBlocks: z67.array(
56032
- z67.object({
56033
- id: z67.string().min(1).optional(),
56034
- kind: z67.string().min(1),
56035
- content: z67.record(z67.string(), z67.unknown()).optional()
56070
+ var sdkSiteLayoutConfigSchema = z68.object({
56071
+ footerBlocks: z68.array(
56072
+ z68.object({
56073
+ id: z68.string().min(1).optional(),
56074
+ kind: z68.string().min(1),
56075
+ content: z68.record(z68.string(), z68.unknown()).optional()
56036
56076
  })
56037
56077
  ).optional()
56038
56078
  });
56039
- var sdkFieldSelectOptionSchema = z67.object({
56040
- value: z67.string(),
56041
- label: z67.string()
56079
+ var sdkFieldSelectOptionSchema = z68.object({
56080
+ value: z68.string(),
56081
+ label: z68.string()
56042
56082
  });
56043
- var sdkBlockFieldConfigSchema = z67.object({
56044
- options: z67.array(sdkFieldSelectOptionSchema).optional()
56083
+ var sdkBlockFieldConfigSchema = z68.object({
56084
+ options: z68.array(sdkFieldSelectOptionSchema).optional()
56045
56085
  });
56046
- var sdkBlockFieldOptionsMapSchema = z67.record(
56047
- z67.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
56086
+ var sdkBlockFieldOptionsMapSchema = z68.record(
56087
+ z68.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
56048
56088
  message: "Block ID must be 'block.*' or 'custom.*' format"
56049
56089
  }),
56050
- z67.record(z67.string().min(1), sdkBlockFieldConfigSchema)
56090
+ z68.record(z68.string().min(1), sdkBlockFieldConfigSchema)
56051
56091
  ).optional();
56052
- var sdkContentTypeTemplateConfigSchema = z67.object({
56053
- blocks: z67.array(z67.unknown())
56092
+ var sdkContentTypeTemplateConfigSchema = z68.object({
56093
+ blocks: z68.array(z68.unknown())
56054
56094
  }).passthrough();
56055
- var sdkContentTypeConfigSchema = z67.object({
56056
- key: z67.string().min(1),
56057
- fields: z67.array(z67.unknown()),
56095
+ var sdkContentTypeConfigSchema = z68.object({
56096
+ key: z68.string().min(1),
56097
+ fields: z68.array(z68.unknown()),
56058
56098
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
56059
56099
  }).passthrough();
56060
- var sdkContentConfigSchema = z67.object({
56061
- contentTypes: z67.array(sdkContentTypeConfigSchema).optional(),
56062
- pages: z67.array(z67.unknown()).optional(),
56063
- entries: z67.array(z67.unknown()).optional(),
56064
- navigationMenus: z67.array(z67.unknown()).optional(),
56065
- settings: z67.unknown().optional()
56100
+ var sdkContentConfigSchema = z68.object({
56101
+ contentTypes: z68.array(sdkContentTypeConfigSchema).optional(),
56102
+ pages: z68.array(z68.unknown()).optional(),
56103
+ entries: z68.array(z68.unknown()).optional(),
56104
+ navigationMenus: z68.array(z68.unknown()).optional(),
56105
+ settings: z68.unknown().optional()
56066
56106
  }).passthrough();
56067
56107
  var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
56068
56108
  var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
@@ -56077,62 +56117,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
56077
56117
  var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
56078
56118
  var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
56079
56119
  var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
56080
- var sdkWorkflowIdSchema = z67.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
56120
+ var sdkWorkflowIdSchema = z68.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
56081
56121
  message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
56082
56122
  });
56083
- 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 "/"' });
56084
- var sdkWorkflowManualTriggerSchema = z67.object({
56085
- type: z67.literal("manual")
56123
+ 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 "/"' });
56124
+ var sdkWorkflowManualTriggerSchema = z68.object({
56125
+ type: z68.literal("manual")
56086
56126
  }).strict();
56087
- var sdkWorkflowTriggerFieldSchema = z67.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
56127
+ var sdkWorkflowTriggerFieldSchema = z68.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
56088
56128
  message: "Workflow trigger fields must be top-level content field IDs, not paths"
56089
56129
  });
56090
- var sdkWorkflowFieldChangedConditionSchema = z67.object({
56130
+ var sdkWorkflowFieldChangedConditionSchema = z68.object({
56091
56131
  field: sdkWorkflowTriggerFieldSchema,
56092
- changed: z67.literal(true)
56132
+ changed: z68.literal(true)
56093
56133
  }).strict();
56094
- var sdkWorkflowFieldEmptyConditionSchema = z67.object({
56134
+ var sdkWorkflowFieldEmptyConditionSchema = z68.object({
56095
56135
  field: sdkWorkflowTriggerFieldSchema,
56096
- isEmpty: z67.boolean()
56136
+ isEmpty: z68.boolean()
56097
56137
  }).strict();
56098
- var sdkWorkflowEntryDraftUpdatedTriggerSchema = z67.object({
56099
- type: z67.literal("entry.draft.updated"),
56100
- when: z67.array(
56101
- z67.union([
56138
+ var sdkWorkflowEntryDraftUpdatedTriggerSchema = z68.object({
56139
+ type: z68.literal("entry.draft.updated"),
56140
+ when: z68.array(
56141
+ z68.union([
56102
56142
  sdkWorkflowFieldChangedConditionSchema,
56103
56143
  sdkWorkflowFieldEmptyConditionSchema
56104
56144
  ])
56105
56145
  ).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
56106
56146
  }).strict();
56107
- var sdkWorkflowTriggerSchema = z67.discriminatedUnion("type", [
56147
+ var sdkWorkflowTriggerSchema = z68.discriminatedUnion("type", [
56108
56148
  sdkWorkflowManualTriggerSchema,
56109
56149
  sdkWorkflowEntryDraftUpdatedTriggerSchema
56110
56150
  ]);
56111
- var sdkWorkflowConfirmationSchema = z67.object({
56112
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
56113
- body: z67.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
56151
+ var sdkWorkflowConfirmationSchema = z68.object({
56152
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
56153
+ body: z68.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
56114
56154
  }).strict();
56115
- var sdkWorkflowConfigSchema = z67.object({
56155
+ var sdkWorkflowConfigSchema = z68.object({
56116
56156
  id: sdkWorkflowIdSchema,
56117
- title: z67.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
56118
- description: z67.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
56119
- contentType: z67.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
56157
+ title: z68.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
56158
+ description: z68.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
56159
+ contentType: z68.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
56120
56160
  endpoint: sdkWorkflowEndpointSchema,
56121
- triggers: z67.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
56161
+ triggers: z68.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
56122
56162
  confirmation: sdkWorkflowConfirmationSchema.optional()
56123
56163
  }).strict();
56124
- var sdkWorkflowsSchema = z67.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
56164
+ var sdkWorkflowsSchema = z68.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
56125
56165
  const ids = workflows.map((workflow) => workflow.id);
56126
56166
  return ids.length === new Set(ids).size;
56127
56167
  }, { message: "Workflow IDs must be unique" }).optional();
56128
- var riverbankSiteConfigInputSchema = z67.object({
56129
- siteId: z67.string().uuid(),
56130
- previewUrl: z67.string().url().optional(),
56131
- liveUrl: z67.string().url().optional(),
56168
+ var riverbankSiteConfigInputSchema = z68.object({
56169
+ siteId: z68.string().uuid(),
56170
+ previewUrl: z68.string().url().optional(),
56171
+ liveUrl: z68.string().url().optional(),
56132
56172
  theme: sdkThemeConfigSchema.optional(),
56133
56173
  styles: sdkSiteStyleConfigSchema.optional(),
56134
56174
  layout: sdkSiteLayoutConfigSchema.optional(),
56135
- customBlocks: z67.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
56175
+ customBlocks: z68.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
56136
56176
  const ids = blocks.map((b) => b.id);
56137
56177
  return ids.length === new Set(ids).size;
56138
56178
  }, { message: "Block IDs must be unique" }).optional(),
@@ -56140,50 +56180,50 @@ var riverbankSiteConfigInputSchema = z67.object({
56140
56180
  blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
56141
56181
  workflows: sdkWorkflowsSchema,
56142
56182
  content: sdkContentConfigSchema.optional(),
56143
- contentDir: z67.string().optional(),
56144
- sync: z67.object({
56145
- existingEntries: z67.enum(["skip", "update"]).optional()
56183
+ contentDir: z68.string().optional(),
56184
+ sync: z68.object({
56185
+ existingEntries: z68.enum(["skip", "update"]).optional()
56146
56186
  }).optional(),
56147
- deploy: z67.object({
56148
- verifyCommand: z67.string().optional(),
56149
- prebuildOutput: z67.string().optional()
56187
+ deploy: z68.object({
56188
+ verifyCommand: z68.string().optional(),
56189
+ prebuildOutput: z68.string().optional()
56150
56190
  }).optional(),
56151
- themeSource: z67.enum(["local", "cms"]).optional(),
56152
- activeTheme: z67.string().optional(),
56153
- enablePortal: z67.boolean().optional(),
56191
+ themeSource: z68.enum(["local", "cms"]).optional(),
56192
+ activeTheme: z68.string().optional(),
56193
+ enablePortal: z68.boolean().optional(),
56154
56194
  dashboard: dashboardConfigSchema.optional()
56155
56195
  }).strict();
56156
- var pushSdkConfigBodySchema = z67.object({
56196
+ var pushSdkConfigBodySchema = z68.object({
56157
56197
  config: riverbankSiteConfigInputSchema,
56158
- forceContentTypes: z67.boolean().optional()
56198
+ forceContentTypes: z68.boolean().optional()
56159
56199
  }).strict();
56160
56200
 
56161
56201
  // ../api/src/siteOnboarding.ts
56162
- import { z as z68 } from "zod";
56202
+ import { z as z69 } from "zod";
56163
56203
  var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
56164
56204
  configure_appointments: {
56165
56205
  requirementId: "configure_appointments",
56166
56206
  reason: "launch_anyway"
56167
56207
  }
56168
56208
  };
56169
- var acknowledgeLaunchRequirementRequestSchema = z68.discriminatedUnion(
56209
+ var acknowledgeLaunchRequirementRequestSchema = z69.discriminatedUnion(
56170
56210
  "requirementId",
56171
56211
  [
56172
- z68.object({
56173
- requirementId: z68.literal("review_generated_site")
56212
+ z69.object({
56213
+ requirementId: z69.literal("review_generated_site")
56174
56214
  }),
56175
- z68.object({
56176
- requirementId: z68.literal(
56215
+ z69.object({
56216
+ requirementId: z69.literal(
56177
56217
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
56178
56218
  ),
56179
- overrideReason: z68.literal(
56219
+ overrideReason: z69.literal(
56180
56220
  LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
56181
56221
  )
56182
56222
  })
56183
56223
  ]
56184
56224
  );
56185
- var goLiveSiteRequestSchema = z68.object({
56186
- acceptExtraSiteCharge: z68.boolean().optional()
56225
+ var goLiveSiteRequestSchema = z69.object({
56226
+ acceptExtraSiteCharge: z69.boolean().optional()
56187
56227
  });
56188
56228
 
56189
56229
  // ../surfaces/src/index.ts
@@ -56364,51 +56404,51 @@ function isRecord5(value) {
56364
56404
  }
56365
56405
 
56366
56406
  // ../api/src/appointmentSetup.ts
56367
- import { z as z69 } from "zod";
56407
+ import { z as z70 } from "zod";
56368
56408
  var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
56369
- var appointmentSetupRefSchema = z69.discriminatedUnion("kind", [
56370
- z69.object({ kind: z69.literal("existing"), id: z69.string().min(1) }),
56371
- z69.object({ kind: z69.literal("new"), draftId: z69.string().min(1) })
56409
+ var appointmentSetupRefSchema = z70.discriminatedUnion("kind", [
56410
+ z70.object({ kind: z70.literal("existing"), id: z70.string().min(1) }),
56411
+ z70.object({ kind: z70.literal("new"), draftId: z70.string().min(1) })
56372
56412
  ]);
56373
- var appointmentSetupVenueChoiceSchema = z69.discriminatedUnion("kind", [
56374
- z69.object({ kind: z69.literal("none") }),
56375
- z69.object({ kind: z69.literal("existing"), venueId: z69.string().min(1) }),
56376
- z69.object({
56377
- kind: z69.literal("create"),
56378
- draftId: z69.string().min(1),
56379
- title: z69.string().trim().min(1),
56380
- description: z69.string().nullable(),
56381
- timezone: z69.string().trim().min(1).nullable(),
56382
- addressJson: z69.record(z69.string(), z69.unknown()),
56383
- locationJson: z69.object({ lat: z69.number(), lng: z69.number() }).nullable()
56413
+ var appointmentSetupVenueChoiceSchema = z70.discriminatedUnion("kind", [
56414
+ z70.object({ kind: z70.literal("none") }),
56415
+ z70.object({ kind: z70.literal("existing"), venueId: z70.string().min(1) }),
56416
+ z70.object({
56417
+ kind: z70.literal("create"),
56418
+ draftId: z70.string().min(1),
56419
+ title: z70.string().trim().min(1),
56420
+ description: z70.string().nullable(),
56421
+ timezone: z70.string().trim().min(1).nullable(),
56422
+ addressJson: z70.record(z70.string(), z70.unknown()),
56423
+ locationJson: z70.object({ lat: z70.number(), lng: z70.number() }).nullable()
56384
56424
  })
56385
56425
  ]);
56386
- var appointmentSetupPaymentDraftSchema = z69.object({
56387
- priceType: z69.union([z69.literal("free"), z69.literal("paid")])
56388
- });
56389
- var appointmentSetupServiceAssignmentDraftSchema = z69.discriminatedUnion("kind", [
56390
- z69.object({ kind: z69.literal("all_practitioners") }),
56391
- z69.object({
56392
- kind: z69.literal("selected_practitioners"),
56393
- resourceRefs: z69.array(appointmentSetupRefSchema)
56426
+ var appointmentSetupPaymentDraftSchema = z70.object({
56427
+ priceType: z70.union([z70.literal("free"), z70.literal("paid")])
56428
+ });
56429
+ var appointmentSetupServiceAssignmentDraftSchema = z70.discriminatedUnion("kind", [
56430
+ z70.object({ kind: z70.literal("all_practitioners") }),
56431
+ z70.object({
56432
+ kind: z70.literal("selected_practitioners"),
56433
+ resourceRefs: z70.array(appointmentSetupRefSchema)
56394
56434
  })
56395
56435
  ]);
56396
- var appointmentSetupServiceDraftSchema = z69.object({
56436
+ var appointmentSetupServiceDraftSchema = z70.object({
56397
56437
  ref: appointmentSetupRefSchema,
56398
- title: z69.string().trim().min(1),
56399
- description: z69.string().nullable(),
56400
- durationMinutes: z69.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56401
- prepMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56402
- cleanupMinutes: z69.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56403
- priceAmount: z69.number().int().nonnegative().nullable(),
56404
- isActive: z69.boolean(),
56405
- locationType: z69.union([
56406
- z69.literal("virtual"),
56407
- z69.literal("in_person"),
56408
- z69.literal("hybrid")
56438
+ title: z70.string().trim().min(1),
56439
+ description: z70.string().nullable(),
56440
+ durationMinutes: z70.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
56441
+ prepMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56442
+ cleanupMinutes: z70.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
56443
+ priceAmount: z70.number().int().nonnegative().nullable(),
56444
+ isActive: z70.boolean(),
56445
+ locationType: z70.union([
56446
+ z70.literal("virtual"),
56447
+ z70.literal("in_person"),
56448
+ z70.literal("hybrid")
56409
56449
  ]),
56410
56450
  venue: appointmentSetupVenueChoiceSchema,
56411
- timezone: z69.string().trim().min(1).nullable(),
56451
+ timezone: z70.string().trim().min(1).nullable(),
56412
56452
  payment: appointmentSetupPaymentDraftSchema,
56413
56453
  assignment: appointmentSetupServiceAssignmentDraftSchema
56414
56454
  }).superRefine((service, ctx) => {
@@ -56427,49 +56467,49 @@ var appointmentSetupServiceDraftSchema = z69.object({
56427
56467
  });
56428
56468
  }
56429
56469
  });
56430
- var appointmentSetupPractitionerDraftSchema = z69.object({
56470
+ var appointmentSetupPractitionerDraftSchema = z70.object({
56431
56471
  ref: appointmentSetupRefSchema,
56432
- displayName: z69.string().trim().min(1),
56433
- bio: z69.string().nullable(),
56434
- timezone: z69.string().trim().min(1),
56435
- colorHex: z69.string().nullable()
56436
- });
56437
- var appointmentSetupWeeklyWindowDraftSchema = z69.object({
56438
- weekday: z69.number().int().min(0).max(6),
56439
- startTime: z69.string(),
56440
- endTime: z69.string()
56441
- });
56442
- var appointmentSetupStartTimePolicyDraftSchema = z69.discriminatedUnion("kind", [
56443
- z69.object({ kind: z69.literal("automatic_spacing") }),
56444
- z69.object({
56445
- kind: z69.literal("regular_interval"),
56446
- intervalMinutes: z69.union([
56447
- z69.literal(10),
56448
- z69.literal(15),
56449
- z69.literal(20),
56450
- z69.literal(30),
56451
- z69.literal(45),
56452
- z69.literal(60)
56472
+ displayName: z70.string().trim().min(1),
56473
+ bio: z70.string().nullable(),
56474
+ timezone: z70.string().trim().min(1),
56475
+ colorHex: z70.string().nullable()
56476
+ });
56477
+ var appointmentSetupWeeklyWindowDraftSchema = z70.object({
56478
+ weekday: z70.number().int().min(0).max(6),
56479
+ startTime: z70.string(),
56480
+ endTime: z70.string()
56481
+ });
56482
+ var appointmentSetupStartTimePolicyDraftSchema = z70.discriminatedUnion("kind", [
56483
+ z70.object({ kind: z70.literal("automatic_spacing") }),
56484
+ z70.object({
56485
+ kind: z70.literal("regular_interval"),
56486
+ intervalMinutes: z70.union([
56487
+ z70.literal(10),
56488
+ z70.literal(15),
56489
+ z70.literal(20),
56490
+ z70.literal(30),
56491
+ z70.literal(45),
56492
+ z70.literal(60)
56453
56493
  ])
56454
56494
  })
56455
56495
  ]);
56456
- var appointmentSetupAvailabilityDraftSchema = z69.object({
56457
- kind: z69.literal("weekly_windows"),
56496
+ var appointmentSetupAvailabilityDraftSchema = z70.object({
56497
+ kind: z70.literal("weekly_windows"),
56458
56498
  resourceRef: appointmentSetupRefSchema,
56459
56499
  serviceRef: appointmentSetupRefSchema.nullable(),
56460
- windows: z69.array(appointmentSetupWeeklyWindowDraftSchema),
56500
+ windows: z70.array(appointmentSetupWeeklyWindowDraftSchema),
56461
56501
  startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
56462
56502
  });
56463
56503
  var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
56464
56504
  var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
56465
- var appointmentSetupBookingNoticeSchema = z69.object({
56466
- minLeadMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56467
- maxBookingNoticeMinutes: z69.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56468
- });
56469
- var applyAppointmentSetupRequestSchema = z69.object({
56470
- services: z69.array(appointmentSetupServiceDraftSchema),
56471
- practitioners: z69.array(appointmentSetupPractitionerDraftSchema),
56472
- availability: z69.array(appointmentSetupAvailabilityDraftSchema),
56505
+ var appointmentSetupBookingNoticeSchema = z70.object({
56506
+ minLeadMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
56507
+ maxBookingNoticeMinutes: z70.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
56508
+ });
56509
+ var applyAppointmentSetupRequestSchema = z70.object({
56510
+ services: z70.array(appointmentSetupServiceDraftSchema),
56511
+ practitioners: z70.array(appointmentSetupPractitionerDraftSchema),
56512
+ availability: z70.array(appointmentSetupAvailabilityDraftSchema),
56473
56513
  bookingNotice: appointmentSetupBookingNoticeSchema
56474
56514
  });
56475
56515
 
@@ -56502,24 +56542,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
56502
56542
  ];
56503
56543
 
56504
56544
  // ../api/src/siteBanner.ts
56505
- import { z as z70 } from "zod";
56545
+ import { z as z71 } from "zod";
56506
56546
  var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
56507
56547
  var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
56508
56548
  var SITE_BANNER_MAX_TEXT_LENGTH = 320;
56509
56549
  var SITE_BANNER_MAX_PARAGRAPHS = 2;
56510
- var siteBannerScopeSchema = z70.enum(SITE_BANNER_SCOPE_VALUES);
56511
- var siteBannerToneSchema = z70.enum(SITE_BANNER_TONE_VALUES);
56512
- var siteBannerBodySchema = z70.unknown().transform(unwrapRichTextValue);
56513
- var siteBannerCtaSchema = z70.object({
56514
- label: z70.string().trim().min(1),
56550
+ var siteBannerScopeSchema = z71.enum(SITE_BANNER_SCOPE_VALUES);
56551
+ var siteBannerToneSchema = z71.enum(SITE_BANNER_TONE_VALUES);
56552
+ var siteBannerBodySchema = z71.unknown().transform(unwrapRichTextValue);
56553
+ var siteBannerCtaSchema = z71.object({
56554
+ label: z71.string().trim().min(1),
56515
56555
  link: linkPayloadSchema
56516
56556
  });
56517
- var siteBannerSettingsSchema = z70.discriminatedUnion("enabled", [
56518
- z70.object({
56519
- enabled: z70.literal(false)
56557
+ var siteBannerSettingsSchema = z71.discriminatedUnion("enabled", [
56558
+ z71.object({
56559
+ enabled: z71.literal(false)
56520
56560
  }),
56521
- z70.object({
56522
- enabled: z70.literal(true),
56561
+ z71.object({
56562
+ enabled: z71.literal(true),
56523
56563
  scope: siteBannerScopeSchema,
56524
56564
  tone: siteBannerToneSchema,
56525
56565
  body: siteBannerBodySchema,
@@ -56533,7 +56573,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
56533
56573
  const analysis = analyzeSiteBannerBody(value.body);
56534
56574
  for (const issue2 of analysis.issues) {
56535
56575
  ctx.addIssue({
56536
- code: z70.ZodIssueCode.custom,
56576
+ code: z71.ZodIssueCode.custom,
56537
56577
  path: ["body"],
56538
56578
  message: siteBannerBodyIssueMessage(issue2)
56539
56579
  });
@@ -56757,71 +56797,71 @@ function parsePublicProductCategorySelector(value) {
56757
56797
  }
56758
56798
 
56759
56799
  // ../api/src/aiPlayground.ts
56760
- import { z as z71 } from "zod";
56761
- var Rfc6902PatchOp = z71.discriminatedUnion("op", [
56800
+ import { z as z72 } from "zod";
56801
+ var Rfc6902PatchOp = z72.discriminatedUnion("op", [
56762
56802
  // Standard RFC-6902 operations
56763
- z71.object({
56764
- op: z71.literal("add"),
56765
- path: z71.string(),
56766
- value: z71.unknown()
56803
+ z72.object({
56804
+ op: z72.literal("add"),
56805
+ path: z72.string(),
56806
+ value: z72.unknown()
56767
56807
  }),
56768
- z71.object({
56769
- op: z71.literal("remove"),
56770
- path: z71.string()
56808
+ z72.object({
56809
+ op: z72.literal("remove"),
56810
+ path: z72.string()
56771
56811
  }),
56772
- z71.object({
56773
- op: z71.literal("replace"),
56774
- path: z71.string(),
56775
- value: z71.unknown()
56812
+ z72.object({
56813
+ op: z72.literal("replace"),
56814
+ path: z72.string(),
56815
+ value: z72.unknown()
56776
56816
  }),
56777
- z71.object({
56778
- op: z71.literal("move"),
56779
- from: z71.string(),
56780
- path: z71.string()
56817
+ z72.object({
56818
+ op: z72.literal("move"),
56819
+ from: z72.string(),
56820
+ path: z72.string()
56781
56821
  }),
56782
- z71.object({
56783
- op: z71.literal("copy"),
56784
- from: z71.string(),
56785
- path: z71.string()
56822
+ z72.object({
56823
+ op: z72.literal("copy"),
56824
+ from: z72.string(),
56825
+ path: z72.string()
56786
56826
  }),
56787
56827
  // Block-level operations (Phase 2)
56788
- z71.object({
56789
- op: z71.literal("add_block"),
56790
- blockKind: z71.string(),
56791
- afterBlockId: z71.string().nullable(),
56792
- content: z71.record(z71.string(), z71.unknown()),
56793
- rationale: z71.string()
56828
+ z72.object({
56829
+ op: z72.literal("add_block"),
56830
+ blockKind: z72.string(),
56831
+ afterBlockId: z72.string().nullable(),
56832
+ content: z72.record(z72.string(), z72.unknown()),
56833
+ rationale: z72.string()
56794
56834
  }),
56795
- z71.object({
56796
- op: z71.literal("delete_block"),
56797
- blockId: z71.string(),
56798
- rationale: z71.string()
56835
+ z72.object({
56836
+ op: z72.literal("delete_block"),
56837
+ blockId: z72.string(),
56838
+ rationale: z72.string()
56799
56839
  }),
56800
- z71.object({
56801
- op: z71.literal("reorder_block"),
56802
- blockId: z71.string(),
56803
- afterBlockId: z71.string().nullable(),
56804
- rationale: z71.string()
56840
+ z72.object({
56841
+ op: z72.literal("reorder_block"),
56842
+ blockId: z72.string(),
56843
+ afterBlockId: z72.string().nullable(),
56844
+ rationale: z72.string()
56805
56845
  })
56806
56846
  ]);
56807
- var PlaygroundProposeRequest = z71.object({
56808
- request: z71.string().min(1).max(2e3)
56847
+ var PlaygroundProposeRequest = z72.object({
56848
+ request: z72.string().min(1).max(2e3)
56809
56849
  });
56810
- var MultiPagePatchEnvelope = z71.object({
56811
- pageId: z71.string(),
56812
- blockId: z71.string().optional(),
56850
+ var MultiPagePatchEnvelope = z72.object({
56851
+ pageId: z72.string(),
56852
+ blockId: z72.string().optional(),
56813
56853
  // Not present for page-level ops
56814
- blockKind: z71.string().optional(),
56815
- blockPurpose: z71.string().optional().nullable(),
56816
- ops: z71.array(Rfc6902PatchOp),
56817
- rationale: z71.string(),
56818
- currentContent: z71.record(z71.string(), z71.unknown()).optional()
56854
+ blockKind: z72.string().optional(),
56855
+ blockPurpose: z72.string().optional().nullable(),
56856
+ ops: z72.array(Rfc6902PatchOp),
56857
+ rationale: z72.string(),
56858
+ currentContent: z72.record(z72.string(), z72.unknown()).optional()
56819
56859
  });
56820
- var MultiPageUpdateResponse = z71.object({
56821
- patches: z71.array(MultiPagePatchEnvelope),
56822
- assistantMessage: z71.string(),
56823
- pagesModified: z71.number(),
56824
- toolCallsUsed: z71.number()
56860
+ var MultiPageUpdateResponse = z72.object({
56861
+ patches: z72.array(MultiPagePatchEnvelope),
56862
+ assistantMessage: z72.string(),
56863
+ pagesModified: z72.number(),
56864
+ toolCallsUsed: z72.number()
56825
56865
  });
56826
56866
 
56827
56867
  // src/data/prefetchBlockData.ts
@@ -57080,7 +57120,7 @@ async function prefetchBlockData2(page, context, client, options) {
57080
57120
  }
57081
57121
 
57082
57122
  // src/rendering/components/Block.shared.tsx
57083
- import { jsx as jsx61, jsxs as jsxs45 } from "react/jsx-runtime";
57123
+ import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
57084
57124
  function toBlockHydrationBootstrapConfig(props2) {
57085
57125
  return {
57086
57126
  siteId: props2.siteId,
@@ -57089,7 +57129,7 @@ function toBlockHydrationBootstrapConfig(props2) {
57089
57129
  };
57090
57130
  }
57091
57131
  function renderUnknownBlock(blockKind) {
57092
- return /* @__PURE__ */ jsx61("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs45("p", { className: "text-red-800 font-semibold", children: [
57132
+ return /* @__PURE__ */ jsx62("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs45("p", { className: "text-red-800 font-semibold", children: [
57093
57133
  "Unknown block type: ",
57094
57134
  blockKind
57095
57135
  ] }) });
@@ -57169,7 +57209,7 @@ function renderBlockOverride({
57169
57209
  runtime,
57170
57210
  resolvedData
57171
57211
  }) {
57172
- return /* @__PURE__ */ jsx61(
57212
+ return /* @__PURE__ */ jsx62(
57173
57213
  OverrideComponent,
57174
57214
  {
57175
57215
  content: props2.content,
@@ -57195,7 +57235,7 @@ function renderManifestBlock({
57195
57235
  const BlockComponent = makeDefaultBlockComponent({ manifest: definition.manifest });
57196
57236
  const registry = getDefaultComponentRegistry();
57197
57237
  const blocksThemeConfig = runtime.blocksTheme;
57198
- return /* @__PURE__ */ jsx61(
57238
+ return /* @__PURE__ */ jsx62(
57199
57239
  BlockComponent,
57200
57240
  {
57201
57241
  blockId: props2.blockId ?? void 0,
@@ -57232,12 +57272,12 @@ async function BlockContent(props2) {
57232
57272
  }
57233
57273
 
57234
57274
  // src/rendering/components/Block.tsx
57235
- import { Fragment as Fragment11, jsx as jsx62, jsxs as jsxs46 } from "react/jsx-runtime";
57275
+ import { Fragment as Fragment11, jsx as jsx63, jsxs as jsxs46 } from "react/jsx-runtime";
57236
57276
  var HydratorWithContextProps2 = BlocksIslandsHydrator2;
57237
57277
  function Block(props2) {
57238
57278
  return /* @__PURE__ */ jsxs46(Fragment11, { children: [
57239
- /* @__PURE__ */ jsx62(HydratorWithContextProps2, { ...toBlockHydrationBootstrapConfig(props2) }),
57240
- /* @__PURE__ */ jsx62(BlockContent, { ...props2 })
57279
+ /* @__PURE__ */ jsx63(HydratorWithContextProps2, { ...toBlockHydrationBootstrapConfig(props2) }),
57280
+ /* @__PURE__ */ jsx63(BlockContent, { ...props2 })
57241
57281
  ] });
57242
57282
  }
57243
57283
 
@@ -57841,9 +57881,9 @@ var ImagePresets2 = {
57841
57881
  };
57842
57882
 
57843
57883
  // src/rendering/primitives/RichText.tsx
57844
- import { jsx as jsx63 } from "react/jsx-runtime";
57884
+ import { jsx as jsx64 } from "react/jsx-runtime";
57845
57885
  function RichText3(props2) {
57846
- return /* @__PURE__ */ jsx63(RichText2, { ...props2 });
57886
+ return /* @__PURE__ */ jsx64(RichText2, { ...props2 });
57847
57887
  }
57848
57888
 
57849
57889
  // src/rendering/image.ts
@@ -57865,6 +57905,12 @@ function defineLazyBlockOverride(load) {
57865
57905
  load
57866
57906
  };
57867
57907
  }
57908
+ function defineBlockOverrides(overrides) {
57909
+ return overrides;
57910
+ }
57911
+ function defineBlockOverrideRegistrations(registrations) {
57912
+ return registrations;
57913
+ }
57868
57914
  export {
57869
57915
  Block,
57870
57916
  ImagePresets2 as ImagePresets,
@@ -57874,6 +57920,8 @@ export {
57874
57920
  RichText3 as RichText,
57875
57921
  ThemeScope2 as ThemeScope,
57876
57922
  buildThemeRuntime2 as buildThemeRuntime,
57923
+ defineBlockOverrideRegistrations,
57924
+ defineBlockOverrides,
57877
57925
  defineLazyBlockOverride,
57878
57926
  isEntryContent,
57879
57927
  isPageContent,