@riverbankcms/sdk 0.84.0 → 0.84.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/{PreviewEditorSidebar-HML67UDA.mjs → PreviewEditorSidebar-X7RLMEI6.mjs} +2 -2
  2. package/dist/{PreviewEditorUI-I4BQUU6K.mjs → PreviewEditorUI-CT67N4O3.mjs} +2 -2
  3. package/dist/SdkPreviewModeRuntime-EIMQ3S2V.mjs +8 -0
  4. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  5. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  6. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  7. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
  8. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  9. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
  10. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
  11. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
  12. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -303
  13. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -1
  14. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -6
  15. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +6 -4
  16. package/dist/_dts/sdk/src/version.d.ts +1 -1
  17. package/dist/{chunk-MSHZO4SL.mjs → chunk-O62NDCTI.mjs} +268 -186
  18. package/dist/{chunk-HFMGVJCE.mjs → chunk-QRKJDWT7.mjs} +5 -5
  19. package/dist/{chunk-6X2OVO3S.mjs → chunk-RCTJAZSK.mjs} +1 -1
  20. package/dist/{chunk-5E33VO6J.mjs → chunk-X5ZCSU6F.mjs} +1 -1
  21. package/dist/cli/index.mjs +323 -35
  22. package/dist/cli/init-docs/content/agents-section.md +5 -0
  23. package/dist/cli/init-docs/content/cli-reference.md +13 -0
  24. package/dist/cli/init-docs/content/content-management.md +31 -0
  25. package/dist/cli/init-docs/content/getting-started.md +12 -0
  26. package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
  27. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
  28. package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
  29. package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
  30. package/dist/cli/init-docs/content/workflow-templates.md +14 -0
  31. package/dist/client/{accordion-ESY65T56.mjs → accordion-2UZPBMYM.mjs} +1 -1
  32. package/dist/client/{bookingForm-JRFNZUHD.mjs → bookingForm-DYXT6YB6.mjs} +3 -3
  33. package/dist/client/bookings.mjs +155 -134
  34. package/dist/client/{carousel-CPR5VWIP.mjs → carousel-QH77HR6X.mjs} +2 -2
  35. package/dist/client/{cart-ZUX5BA7O.mjs → cart-X4YK4FTW.mjs} +5 -5
  36. package/dist/client/{checkout-RULGBADZ.mjs → checkout-OM2BEPWD.mjs} +5 -5
  37. package/dist/client/{chunk-BT6AEIKN.mjs → chunk-3DTWLTXM.mjs} +1 -1
  38. package/dist/client/{chunk-JWEYB4V6.mjs → chunk-4OXKTA3D.mjs} +1 -1
  39. package/dist/client/{chunk-URQCZD5W.mjs → chunk-52CGCQ7B.mjs} +4 -4
  40. package/dist/client/{chunk-52I7BGEK.mjs → chunk-7UCLJ5SP.mjs} +1 -1
  41. package/dist/client/{chunk-Z5OBQ5I4.mjs → chunk-F5VRX5Y6.mjs} +1 -1
  42. package/dist/client/{chunk-RDJFCPY3.mjs → chunk-UHDWIXVR.mjs} +31 -115
  43. package/dist/client/{chunk-HXPWP5EN.mjs → chunk-VGDBVNOO.mjs} +175 -14
  44. package/dist/client/{chunk-5ZEAZ33K.mjs → chunk-ZKUO52W3.mjs} +1 -1
  45. package/dist/client/client.mjs +337 -217
  46. package/dist/client/{courseRegistration-QTUDC35T.mjs → courseRegistration-YBOGURTA.mjs} +3 -3
  47. package/dist/client/{eventCalendar-Q7NS4XLD.mjs → eventCalendar-K4QJVCMD.mjs} +5 -5
  48. package/dist/client/{eventCombined-QAO7VUO5.mjs → eventCombined-MTXGMTCZ.mjs} +5 -5
  49. package/dist/client/{eventDetails-WTNNU6Q3.mjs → eventDetails-3PC4NL3U.mjs} +5 -5
  50. package/dist/client/{eventListing-5TA2ELDT.mjs → eventListing-TFJET6DN.mjs} +5 -5
  51. package/dist/client/{eventRegistration-M6USZGRF.mjs → eventRegistration-QGPBGJTW.mjs} +5 -5
  52. package/dist/client/{form-DGVGXLMH.mjs → form-MDKR4FNB.mjs} +1 -1
  53. package/dist/client/{headerSection-O2AGMPCU.mjs → headerSection-Y5TMR3TW.mjs} +2 -2
  54. package/dist/client/hooks.mjs +315 -35
  55. package/dist/client/{locationMap-EJRNRIKJ.mjs → locationMap-RH2LG7FZ.mjs} +1 -1
  56. package/dist/client/{newsletterForm-7NTC2DTR.mjs → newsletterForm-ZR5UDGBT.mjs} +1 -1
  57. package/dist/client/{productDetail-HH4LP53D.mjs → productDetail-OIGDR4YE.mjs} +5 -5
  58. package/dist/client/{productList-YVHYM2AF.mjs → productList-4MA5S2CX.mjs} +5 -5
  59. package/dist/client/rendering/client.mjs +310 -190
  60. package/dist/client/rendering/islands.mjs +18 -18
  61. package/dist/client/rendering.mjs +310 -190
  62. package/dist/client/{shop-UIFX7XRK.mjs → shop-WXSYV5QO.mjs} +5 -5
  63. package/dist/preview-next/client/runtime.mjs +3 -3
  64. package/dist/{sdk-runtime-ZENAOYMN.mjs → sdk-runtime-7HJYPRWQ.mjs} +4 -4
  65. package/dist/server/components.mjs +188 -61
  66. package/dist/server/config-validation.mjs +313 -33
  67. package/dist/server/config.mjs +313 -33
  68. package/dist/server/data.mjs +315 -35
  69. package/dist/server/index.mjs +1 -1
  70. package/dist/server/next.mjs +189 -62
  71. package/dist/server/page-converter.mjs +315 -35
  72. package/dist/server/prebuild.mjs +1 -1
  73. package/dist/server/rendering/server.mjs +188 -61
  74. package/dist/server/rendering.mjs +188 -61
  75. package/dist/server/routing.mjs +334 -34
  76. package/dist/server/server.mjs +322 -42
  77. package/package.json +1 -1
  78. package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +0 -8
@@ -60078,6 +60078,27 @@ var occurrenceContextSchema = z.object({
60078
60078
  overrides: z.record(z.string(), z.unknown()).nullable().optional()
60079
60079
  }).nullable();
60080
60080
 
60081
+ // ../blocks/src/system/constants/events.ts
60082
+ var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
60083
+ var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
60084
+ var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
60085
+ var eventCalendarListLayoutOptions = [
60086
+ { id: "stack", label: "Stack" },
60087
+ { id: "grid", label: "Grid" },
60088
+ { id: "compact", label: "Compact" }
60089
+ ];
60090
+ var eventCalendarListLayoutCompatibleDisplayModeValues = ["combined", "list"];
60091
+ function isEventCalendarDisplayMode(value) {
60092
+ return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
60093
+ }
60094
+ function isEventCalendarListLayout(value) {
60095
+ return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
60096
+ }
60097
+ function isEventContentType(slug) {
60098
+ if (!slug) return false;
60099
+ return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
60100
+ }
60101
+
60081
60102
  // ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
60082
60103
  var DEFAULT_EVENT_CURRENCY = "USD";
60083
60104
  function resolveRuntimeEventPricing(event) {
@@ -60197,29 +60218,6 @@ function readCoursePriceDisplay(value, currency) {
60197
60218
  function readAmount(value) {
60198
60219
  return typeof value === "number" && Number.isFinite(value) ? value : null;
60199
60220
  }
60200
-
60201
- // ../blocks/src/system/constants/events.ts
60202
- var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
60203
- var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
60204
- var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
60205
- var eventCalendarListLayoutOptions = [
60206
- { id: "stack", label: "Stack" },
60207
- { id: "grid", label: "Grid" },
60208
- { id: "compact", label: "Compact" }
60209
- ];
60210
- var eventCalendarListLayoutCompatibleDisplayModeValues = ["combined", "list"];
60211
- function isEventCalendarDisplayMode(value) {
60212
- return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
60213
- }
60214
- function isEventCalendarListLayout(value) {
60215
- return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
60216
- }
60217
- function isEventContentType(slug) {
60218
- if (!slug) return false;
60219
- return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
60220
- }
60221
-
60222
- // ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
60223
60221
  var previewStageSchema = z.enum(["preview", "published"]);
60224
60222
  var registrationButtonVariantSchema = z.enum(["primary", "secondary", "outline"]);
60225
60223
  var eventButtonVariantSchema = z.enum(["primary", "secondary", "outline", "link"]);
@@ -60230,13 +60228,111 @@ var weekStartSchema = z.enum(["sunday", "monday"]);
60230
60228
  var filterAutoShowSchema = z.enum(["auto", "always", "never"]);
60231
60229
  var calendarTabViewsSchema = z.enum(["both", "month", "week"]);
60232
60230
 
60231
+ // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
60232
+ var WIZARD_STEPS = [
60233
+ "select-event",
60234
+ "select-tickets",
60235
+ "enter-details",
60236
+ "select-payment"
60237
+ ];
60238
+ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
60239
+ const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
60240
+ if (!needsPaymentStep) {
60241
+ return baseSteps;
60242
+ }
60243
+ return [...baseSteps, "select-payment"];
60244
+ }
60245
+ function getStepNumber(step, wizardSteps) {
60246
+ const index2 = wizardSteps.indexOf(step);
60247
+ return index2 >= 0 ? index2 + 1 : 1;
60248
+ }
60249
+
60250
+ // ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
60251
+ function eventMatchesOccurrenceId(event, occurrenceId) {
60252
+ return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
60253
+ }
60254
+ function findEventByOccurrenceId(events2, occurrenceId) {
60255
+ return events2.find((event) => eventMatchesOccurrenceId(event, occurrenceId)) ?? null;
60256
+ }
60257
+ function findPreSelectedEvent(input) {
60258
+ const occurrenceContext = input.occurrenceContext;
60259
+ if (!occurrenceContext) {
60260
+ return null;
60261
+ }
60262
+ const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
60263
+ startsAt: occurrenceContext.startsAt,
60264
+ timeZone: occurrenceContext.timeZone
60265
+ }));
60266
+ return input.scopedEvents.find(
60267
+ (event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
60268
+ startsAt: event.startsAt,
60269
+ timeZone: event.timeZone
60270
+ })) === contextDate
60271
+ ) ?? null;
60272
+ }
60273
+ function resolveRegistrationTarget(input) {
60274
+ const occurrenceId = input.occurrenceContext?.id ?? input.selectedEvent?.registrationOccurrenceId ?? null;
60275
+ if (!occurrenceId) {
60276
+ return null;
60277
+ }
60278
+ return {
60279
+ occurrenceId,
60280
+ selectedEventId: input.selectedEvent?.publicEventId ?? null
60281
+ };
60282
+ }
60283
+ function resolveEventRequiresPayment(input) {
60284
+ if (input.eligibility) {
60285
+ return input.eligibility.requiresPayment;
60286
+ }
60287
+ if (input.selectedTicketType) {
60288
+ return input.selectedTicketType.priceAmount > 0;
60289
+ }
60290
+ if (!input.event) {
60291
+ return false;
60292
+ }
60293
+ return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
60294
+ }
60295
+ function resolveDiscountContext(input) {
60296
+ const selection = input.paymentSelection.method ? input.paymentSelection : null;
60297
+ if (!input.event) {
60298
+ return null;
60299
+ }
60300
+ if (selection?.method === "pass_bundle" && selection.bundlePassId) {
60301
+ return { type: "pass", passId: selection.bundlePassId };
60302
+ }
60303
+ if (selection?.method === "membership_bundle" && selection.bundleMembershipId) {
60304
+ return { type: "membership", membershipId: selection.bundleMembershipId };
60305
+ }
60306
+ if (!input.eventRequiresPayment) {
60307
+ return null;
60308
+ }
60309
+ if (selection?.method && selection.method !== "stripe") {
60310
+ return null;
60311
+ }
60312
+ return {
60313
+ type: "event",
60314
+ eventSeriesId: input.event.seriesId,
60315
+ eventCategoryId: input.event.eventCategory?.id ?? null,
60316
+ ticketsCount: input.ticketsCount
60317
+ };
60318
+ }
60319
+
60320
+ // ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
60321
+ function toRegistrationEvent(event) {
60322
+ return {
60323
+ ...event,
60324
+ pricing: resolveRuntimeEventPricing(event),
60325
+ publicEventId: event.id,
60326
+ registrationOccurrenceId: event.occurrenceId
60327
+ };
60328
+ }
60329
+ function toRegistrationEvents(events2) {
60330
+ return events2.map(toRegistrationEvent);
60331
+ }
60332
+
60233
60333
  // ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
60234
60334
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
60235
- var [
60236
- eventRegistrationGenericDateStepLabel,
60237
- eventRegistrationGenericTicketsStepLabel,
60238
- eventRegistrationGenericDetailsStepLabel
60239
- ] = EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
60335
+ var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
60240
60336
  var contentEntrySchema = z.object({
60241
60337
  id: z.string(),
60242
60338
  slug: z.string(),
@@ -60272,11 +60368,7 @@ var eventRegistrationDisplaySchema = z.object({
60272
60368
  className: z.string().nullable(),
60273
60369
  titleText: z.string(),
60274
60370
  bodyText: z.string(),
60275
- stepLabels: z.tuple([
60276
- z.literal(eventRegistrationGenericDateStepLabel),
60277
- z.literal(eventRegistrationGenericTicketsStepLabel),
60278
- z.literal(eventRegistrationGenericDetailsStepLabel)
60279
- ]),
60371
+ stepLabels: z.array(z.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
60280
60372
  summaryButtonText: z.string()
60281
60373
  });
60282
60374
  var eventRegistrationHydrationSchema = z.object({
@@ -60304,16 +60396,81 @@ createZodCodec(z.object({
60304
60396
  stage: previewStageSchema.optional()
60305
60397
  }));
60306
60398
  function buildEventRegistrationDisplay(source) {
60399
+ const stepLabels = buildEventRegistrationShellStepLabels(source);
60307
60400
  return {
60308
60401
  kind: "event-registration",
60309
60402
  state: "generic-shell",
60310
60403
  className: source.className ?? null,
60311
60404
  titleText: "Event registration",
60312
- bodyText: "Preparing dates, tickets, and booking details.",
60313
- stepLabels: EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS,
60405
+ bodyText: buildEventRegistrationShellBodyText(stepLabels),
60406
+ stepLabels,
60314
60407
  summaryButtonText: source.buttonText?.trim() || "Register"
60315
60408
  };
60316
60409
  }
60410
+ function buildEventRegistrationShellStepLabels(source) {
60411
+ const scopedEvents = scopeEventRegistrationEvents(source);
60412
+ if (scopedEvents.length === 0) {
60413
+ return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
60414
+ }
60415
+ const preSelectedEvent = findPreSelectedEvent({
60416
+ scopedEvents,
60417
+ occurrenceContext: source.occurrenceContext
60418
+ });
60419
+ const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
60420
+ const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
60421
+ eligibility: null,
60422
+ selectedTicketType: null,
60423
+ event: preSelectedEvent
60424
+ }) : false;
60425
+ return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
60426
+ }
60427
+ function scopeEventRegistrationEvents(source) {
60428
+ const events2 = toRegistrationEvents(source.events ?? []);
60429
+ if (source.occurrenceContext?.seriesId) {
60430
+ return events2.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
60431
+ }
60432
+ const entrySlug = source.contentEntry?.slug;
60433
+ const entryContentType = source.contentEntry?.contentTypeSlug;
60434
+ if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
60435
+ return events2.filter((event) => event.slug === entrySlug);
60436
+ }
60437
+ return events2;
60438
+ }
60439
+ function shellLabelForRegistrationStep(step, events2) {
60440
+ switch (step) {
60441
+ case "select-event":
60442
+ return isDateSelection(events2) ? "Date" : "Event";
60443
+ case "select-tickets":
60444
+ return "Tickets";
60445
+ case "enter-details":
60446
+ return "Details";
60447
+ case "select-payment":
60448
+ return "Payment";
60449
+ case "error":
60450
+ case "success":
60451
+ case "submitting":
60452
+ case "redirecting":
60453
+ case "verifying-payment":
60454
+ case "verifying-timeout":
60455
+ case "payment-failed":
60456
+ return "Details";
60457
+ }
60458
+ }
60459
+ function isDateSelection(events2) {
60460
+ const firstSeriesId = events2[0]?.seriesId;
60461
+ return Boolean(
60462
+ events2.length > 1 && firstSeriesId && events2.every((event) => event.seriesId === firstSeriesId)
60463
+ );
60464
+ }
60465
+ function buildEventRegistrationShellBodyText(stepLabels) {
60466
+ if (stepLabels.includes("Payment")) {
60467
+ return "Preparing tickets, details, and payment options.";
60468
+ }
60469
+ if (stepLabels[0] === "Tickets") {
60470
+ return "Preparing tickets and booking details.";
60471
+ }
60472
+ return "Preparing dates, tickets, and booking details.";
60473
+ }
60317
60474
  var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
60318
60475
  kind: "client-owned",
60319
60476
  contracts: {
@@ -76008,6 +76165,9 @@ var EventListingSSR = (props2) => {
76008
76165
  )
76009
76166
  ] });
76010
76167
  };
76168
+
76169
+ // ../blocks/src/system/runtime/nodes/event-registration/constants.ts
76170
+ var EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
76011
76171
  function cx(...classes) {
76012
76172
  return classes.filter((className) => Boolean(className)).join(" ");
76013
76173
  }
@@ -76074,42 +76234,51 @@ function EventRegistrationSSR({
76074
76234
  function EventRegistrationShell({
76075
76235
  display
76076
76236
  }) {
76077
- return /* @__PURE__ */ jsx("div", { className: "er-container er-registration-shell", "aria-busy": "true", role: "status", children: /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
76078
- /* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
76079
- /* @__PURE__ */ jsx("div", { className: "er-steps-nav er-registration-shell__steps", "aria-hidden": "true", children: /* @__PURE__ */ jsx("ol", { className: "er-steps", children: display.stepLabels.map((label, index2) => {
76080
- const isActive2 = index2 === 0;
76081
- return /* @__PURE__ */ jsxs("li", { className: "er-step", children: [
76082
- /* @__PURE__ */ jsx("span", { className: cx("er-step-circle", isActive2 && "er-step-circle--active"), children: index2 + 1 }),
76083
- /* @__PURE__ */ jsx("span", { className: cx("er-step-label", isActive2 && "er-step-label--active"), children: label }),
76084
- index2 < display.stepLabels.length - 1 ? /* @__PURE__ */ jsx("span", { className: "er-step-connector" }) : null
76085
- ] }, label);
76086
- }) }) }),
76087
- /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
76088
- /* @__PURE__ */ jsxs("div", { children: [
76089
- /* @__PURE__ */ jsx("p", { className: "er-registration-shell__eyebrow", children: "Registration" }),
76090
- /* @__PURE__ */ jsx("h3", { className: "er-title er-registration-shell__title", children: display.titleText }),
76091
- /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted er-registration-shell__copy", children: display.bodyText })
76237
+ return /* @__PURE__ */ jsx(
76238
+ "div",
76239
+ {
76240
+ id: EVENT_REGISTRATION_ANCHOR_ID,
76241
+ className: "er-container er-registration-shell",
76242
+ "aria-busy": "true",
76243
+ role: "status",
76244
+ children: /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
76245
+ /* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
76246
+ /* @__PURE__ */ jsx("div", { className: "er-steps-nav er-registration-shell__steps", "aria-hidden": "true", children: /* @__PURE__ */ jsx("ol", { className: "er-steps", children: display.stepLabels.map((label, index2) => {
76247
+ const isActive2 = index2 === 0;
76248
+ return /* @__PURE__ */ jsxs("li", { className: "er-step", children: [
76249
+ /* @__PURE__ */ jsx("span", { className: cx("er-step-circle", isActive2 && "er-step-circle--active"), children: index2 + 1 }),
76250
+ /* @__PURE__ */ jsx("span", { className: cx("er-step-label", isActive2 && "er-step-label--active"), children: label }),
76251
+ index2 < display.stepLabels.length - 1 ? /* @__PURE__ */ jsx("span", { className: "er-step-connector" }) : null
76252
+ ] }, label);
76253
+ }) }) }),
76254
+ /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
76255
+ /* @__PURE__ */ jsxs("div", { children: [
76256
+ /* @__PURE__ */ jsx("p", { className: "er-registration-shell__eyebrow", children: "Registration" }),
76257
+ /* @__PURE__ */ jsx("h3", { className: "er-title er-registration-shell__title", children: display.titleText }),
76258
+ /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted er-registration-shell__copy", children: display.bodyText })
76259
+ ] }),
76260
+ /* @__PURE__ */ jsxs("div", { className: "er-event-grid er-registration-shell__cards", "aria-hidden": "true", children: [
76261
+ /* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
76262
+ /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--lg" }),
76263
+ /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--sm" })
76264
+ ] }),
76265
+ /* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
76266
+ /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--md" }),
76267
+ /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--xs" })
76268
+ ] })
76269
+ ] })
76270
+ ] })
76092
76271
  ] }),
76093
- /* @__PURE__ */ jsxs("div", { className: "er-event-grid er-registration-shell__cards", "aria-hidden": "true", children: [
76094
- /* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
76095
- /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--lg" }),
76096
- /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--sm" })
76097
- ] }),
76098
- /* @__PURE__ */ jsxs("div", { className: "er-event-card er-registration-shell__card", children: [
76272
+ /* @__PURE__ */ jsx("div", { className: "er-payment-layout-footer", children: /* @__PURE__ */ jsxs("div", { className: "er-summary-bar er-registration-shell__summary", "aria-hidden": "true", children: [
76273
+ /* @__PURE__ */ jsxs("div", { className: "er-summary-bar-info", children: [
76099
76274
  /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--md" }),
76100
76275
  /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--xs" })
76101
- ] })
76102
- ] })
76276
+ ] }),
76277
+ /* @__PURE__ */ jsx("div", { className: "er-registration-shell__button-placeholder", children: display.summaryButtonText })
76278
+ ] }) })
76103
76279
  ] })
76104
- ] }),
76105
- /* @__PURE__ */ jsx("div", { className: "er-payment-layout-footer", children: /* @__PURE__ */ jsxs("div", { className: "er-summary-bar er-registration-shell__summary", "aria-hidden": "true", children: [
76106
- /* @__PURE__ */ jsxs("div", { className: "er-summary-bar-info", children: [
76107
- /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--md" }),
76108
- /* @__PURE__ */ jsx("div", { className: "er-registration-shell__line er-registration-shell__line--xs" })
76109
- ] }),
76110
- /* @__PURE__ */ jsx("div", { className: "er-registration-shell__button-placeholder", children: display.summaryButtonText })
76111
- ] }) })
76112
- ] }) });
76280
+ }
76281
+ );
76113
76282
  }
76114
76283
  var event_registration_server_default = EventRegistrationSSR;
76115
76284
  function joinClasses6(...parts) {
@@ -129076,7 +129245,7 @@ function validateFormData(data) {
129076
129245
  }
129077
129246
 
129078
129247
  // ../blocks/src/system/runtime/shared/utils/wizardSteps.ts
129079
- function getStepNumber(step, wizardSteps) {
129248
+ function getStepNumber2(step, wizardSteps) {
129080
129249
  const index2 = wizardSteps.indexOf(step);
129081
129250
  return index2 >= 0 ? index2 + 1 : 1;
129082
129251
  }
@@ -129622,25 +129791,6 @@ function StepIndicator2(props2) {
129622
129791
  return /* @__PURE__ */ jsx(StepIndicator, { ...props2, classPrefix: "er" });
129623
129792
  }
129624
129793
 
129625
- // ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
129626
- var WIZARD_STEPS = [
129627
- "select-event",
129628
- "select-tickets",
129629
- "enter-details",
129630
- "select-payment"
129631
- ];
129632
- function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
129633
- const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
129634
- if (!needsPaymentStep) {
129635
- return baseSteps;
129636
- }
129637
- return [...baseSteps, "select-payment"];
129638
- }
129639
- function getStepNumber2(step, wizardSteps) {
129640
- const index2 = wizardSteps.indexOf(step);
129641
- return index2 >= 0 ? index2 + 1 : 1;
129642
- }
129643
-
129644
129794
  // ../blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.ts
129645
129795
  function createInitialRegistrationFlowState(hasPreSelectedContext) {
129646
129796
  return {
@@ -129794,8 +129944,10 @@ function requiresPaymentStep(params) {
129794
129944
  return !isEntitlementSelection(params.paymentSelection);
129795
129945
  }
129796
129946
 
129797
- // ../blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.ts
129947
+ // ../blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.ts
129798
129948
  var DEFAULT_EVENT_REGISTRATION_MAX_TICKETS = 5;
129949
+
129950
+ // ../blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.ts
129799
129951
  function getRegistrableStatuses(isPreview) {
129800
129952
  return isPreview ? ["active", "draft"] : ["active"];
129801
129953
  }
@@ -130365,9 +130517,9 @@ var EventSelectionStep = ({
130365
130517
  showCapacity
130366
130518
  }) => {
130367
130519
  const selectionMode = getEventSelectionMode(events2);
130368
- const isDateSelection = selectionMode === "date";
130520
+ const isDateSelection2 = selectionMode === "date";
130369
130521
  return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
130370
- /* @__PURE__ */ jsx("h3", { className: "er-title", children: isDateSelection ? "Choose a date" : "Select an event" }),
130522
+ /* @__PURE__ */ jsx("h3", { className: "er-title", children: isDateSelection2 ? "Choose a date" : "Select an event" }),
130371
130523
  /* @__PURE__ */ jsx("div", { className: "er-event-grid", children: events2.map((event) => {
130372
130524
  const isSelected = selectedEvent?.publicEventId === event.publicEventId;
130373
130525
  const isSoldOut = event.capacity !== null && event.availableSpots === 0;
@@ -130395,9 +130547,9 @@ var EventSelectionStep = ({
130395
130547
  className: cardClasses,
130396
130548
  children: /* @__PURE__ */ jsxs("div", { className: "er-event-option", children: [
130397
130549
  /* @__PURE__ */ jsxs("div", { className: "er-event-option-main", children: [
130398
- /* @__PURE__ */ jsx("h4", { className: "er-event-title", children: isDateSelection ? formatDate3(event.startsAt, { timeZone }) : event.title }),
130550
+ /* @__PURE__ */ jsx("h4", { className: "er-event-title", children: isDateSelection2 ? formatDate3(event.startsAt, { timeZone }) : event.title }),
130399
130551
  /* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
130400
- isDateSelection ? formatTime3(event.startsAt, { timeZone }) : `${formatDate3(event.startsAt, { timeZone })} at ${formatTime3(event.startsAt, { timeZone })}`,
130552
+ isDateSelection2 ? formatTime3(event.startsAt, { timeZone }) : `${formatDate3(event.startsAt, { timeZone })} at ${formatTime3(event.startsAt, { timeZone })}`,
130401
130553
  showVenue && event.venue && /* @__PURE__ */ jsxs(Fragment, { children: [
130402
130554
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
130403
130555
  event.venue.name
@@ -131947,89 +132099,6 @@ function useEventRegistrationSubmit(options) {
131947
132099
  };
131948
132100
  }
131949
132101
 
131950
- // ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
131951
- function eventMatchesOccurrenceId(event, occurrenceId) {
131952
- return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
131953
- }
131954
- function findEventByOccurrenceId(events2, occurrenceId) {
131955
- return events2.find((event) => eventMatchesOccurrenceId(event, occurrenceId)) ?? null;
131956
- }
131957
- function findPreSelectedEvent(input) {
131958
- const occurrenceContext = input.occurrenceContext;
131959
- if (!occurrenceContext) {
131960
- return null;
131961
- }
131962
- const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
131963
- startsAt: occurrenceContext.startsAt,
131964
- timeZone: occurrenceContext.timeZone
131965
- }));
131966
- return input.scopedEvents.find(
131967
- (event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
131968
- startsAt: event.startsAt,
131969
- timeZone: event.timeZone
131970
- })) === contextDate
131971
- ) ?? null;
131972
- }
131973
- function resolveRegistrationTarget(input) {
131974
- const occurrenceId = input.occurrenceContext?.id ?? input.selectedEvent?.registrationOccurrenceId ?? null;
131975
- if (!occurrenceId) {
131976
- return null;
131977
- }
131978
- return {
131979
- occurrenceId,
131980
- selectedEventId: input.selectedEvent?.publicEventId ?? null
131981
- };
131982
- }
131983
- function resolveEventRequiresPayment(input) {
131984
- if (input.eligibility) {
131985
- return input.eligibility.requiresPayment;
131986
- }
131987
- if (input.selectedTicketType) {
131988
- return input.selectedTicketType.priceAmount > 0;
131989
- }
131990
- if (!input.event) {
131991
- return false;
131992
- }
131993
- return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
131994
- }
131995
- function resolveDiscountContext(input) {
131996
- const selection = input.paymentSelection.method ? input.paymentSelection : null;
131997
- if (!input.event) {
131998
- return null;
131999
- }
132000
- if (selection?.method === "pass_bundle" && selection.bundlePassId) {
132001
- return { type: "pass", passId: selection.bundlePassId };
132002
- }
132003
- if (selection?.method === "membership_bundle" && selection.bundleMembershipId) {
132004
- return { type: "membership", membershipId: selection.bundleMembershipId };
132005
- }
132006
- if (!input.eventRequiresPayment) {
132007
- return null;
132008
- }
132009
- if (selection?.method && selection.method !== "stripe") {
132010
- return null;
132011
- }
132012
- return {
132013
- type: "event",
132014
- eventSeriesId: input.event.seriesId,
132015
- eventCategoryId: input.event.eventCategory?.id ?? null,
132016
- ticketsCount: input.ticketsCount
132017
- };
132018
- }
132019
-
132020
- // ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
132021
- function toRegistrationEvent(event) {
132022
- return {
132023
- ...event,
132024
- pricing: resolveRuntimeEventPricing(event),
132025
- publicEventId: event.id,
132026
- registrationOccurrenceId: event.occurrenceId
132027
- };
132028
- }
132029
- function toRegistrationEvents(events2) {
132030
- return events2.map(toRegistrationEvent);
132031
- }
132032
-
132033
132102
  // ../blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.ts
132034
132103
  function useEventRegistrationWizard(options) {
132035
132104
  const api = useBlockApi();
@@ -132323,23 +132392,29 @@ function useEventRegistrationWizard(options) {
132323
132392
  );
132324
132393
  const handleDetailsComplete = async () => {
132325
132394
  if (ticketTypeSelectionRequired && !hasValidSelectedTicketType) {
132326
- setErrorMessage("Select a ticket type to continue.");
132395
+ const message2 = "Select a ticket type to continue.";
132396
+ setErrorMessage(message2);
132327
132397
  setStep("error");
132328
- return;
132398
+ return { ok: false, reason: "blocked", message: message2 };
132329
132399
  }
132330
132400
  if (!validateForm()) {
132331
132401
  setGuestSectionShake(true);
132332
- return;
132402
+ return {
132403
+ ok: false,
132404
+ reason: "validation-failed",
132405
+ message: "Check the highlighted fields and try again."
132406
+ };
132333
132407
  }
132334
132408
  if (waitlistClaim.claim === null && eligibility?.isFull && !eligibility.canJoinWaitlist) {
132335
- setErrorMessage("This event is sold out.");
132409
+ const message2 = "This event is sold out.";
132410
+ setErrorMessage(message2);
132336
132411
  setStep("error");
132337
- return;
132412
+ return { ok: false, reason: "blocked", message: message2 };
132338
132413
  }
132339
132414
  const shouldCollectPayment = !eligibility?.canJoinWaitlist && requiresPaymentStep({ eventRequiresPayment, paymentSelection });
132340
132415
  if (shouldCollectPayment) {
132341
132416
  setStep("select-payment");
132342
- return;
132417
+ return { ok: true, outcome: "payment-step" };
132343
132418
  }
132344
132419
  const submitPlan = resolveEventRegistrationSubmitPlan({
132345
132420
  paymentSelection,
@@ -132349,14 +132424,22 @@ function useEventRegistrationWizard(options) {
132349
132424
  if (!submitPlan.ok) {
132350
132425
  setErrorMessage(submitPlan.message);
132351
132426
  setStep("error");
132352
- return;
132427
+ return { ok: false, reason: "blocked", message: submitPlan.message };
132353
132428
  }
132354
- await handleSubmit(
132429
+ const submitResult = await handleSubmit(
132355
132430
  submitPlan.args.method,
132356
132431
  submitPlan.args.passId,
132357
132432
  submitPlan.args.membershipId,
132358
132433
  submitPlan.args.selection
132359
132434
  );
132435
+ if (!submitResult.ok) {
132436
+ return {
132437
+ ok: false,
132438
+ reason: submitResult.reason === "submission-failed" ? "submission-failed" : "blocked",
132439
+ message: submitResult.message
132440
+ };
132441
+ }
132442
+ return { ok: true, outcome: "submitted" };
132360
132443
  };
132361
132444
  const handlePaymentSelect = async () => {
132362
132445
  const submitPlan = resolveEventRegistrationSubmitPlan({
@@ -132608,7 +132691,6 @@ function MagicLinkForm({
132608
132691
  )
132609
132692
  ] });
132610
132693
  }
132611
- var EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
132612
132694
  var EVENT_PORTAL_AUTH_COPY = {
132613
132695
  membership: {
132614
132696
  title: "Have a pass or membership?",
@@ -132698,7 +132780,7 @@ function EventRegistrationWizard(props2) {
132698
132780
  return "";
132699
132781
  }
132700
132782
  });
132701
- const currentStepNumber = getStepNumber2(wizard.step, activeWizardSteps);
132783
+ const currentStepNumber = getStepNumber(wizard.step, activeWizardSteps);
132702
132784
  const summaryEvent = wizard.selectedEvent ?? wizard.preSelectedEvent;
132703
132785
  const summaryEventPricingType = summaryEvent ? publicEventPricingType(summaryEvent.pricing) : "free";
132704
132786
  const waitlistClaimRequiresPortalLogin = wizard.waitlistClaim.requiresPortalLogin && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking";
@@ -134010,7 +134092,7 @@ function useCourseRegistrationWizard(props2) {
134010
134092
  ),
134011
134093
  [hasPreSelectedCourse, hasCoursePayment, canUseMembership, bookingMode, isMembershipFastTrack]
134012
134094
  );
134013
- const currentStepNumber = getStepNumber(step, wizardSteps);
134095
+ const currentStepNumber = getStepNumber2(step, wizardSteps);
134014
134096
  const totalSteps = wizardSteps.length;
134015
134097
  const stepLabels = getStepLabels(wizardSteps);
134016
134098
  const canShowPortalAuthSidebarOnCurrentStep = step !== "success" && step !== "waitlist" && step !== "error";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-3LXFQS7T.mjs';
3
- import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, OfferingsPreviewWidgetProvider, previewWidgetOverrides, sanitizeDashboardPath } from './chunk-5E33VO6J.mjs';
4
- import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-6X2OVO3S.mjs';
5
- import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, unsafeAsLinkedContentEntryId, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, canCycleBackgroundOverrideValue, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, getLinkedContentEntryMeta, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, formatSiteChromeBackgroundTokenLabel, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-MSHZO4SL.mjs';
3
+ import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, OfferingsPreviewWidgetProvider, previewWidgetOverrides, sanitizeDashboardPath } from './chunk-X5ZCSU6F.mjs';
4
+ import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-RCTJAZSK.mjs';
5
+ import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, unsafeAsLinkedContentEntryId, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, canCycleBackgroundOverrideValue, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, getLinkedContentEntryMeta, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, formatSiteChromeBackgroundTokenLabel, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-O62NDCTI.mjs';
6
6
  import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken } from './chunk-LBBPD2IW.mjs';
7
7
  import React10, { createContext, useMemo, useState, useEffect, useRef, useCallback, useId, useReducer, Children, isValidElement, Fragment as Fragment$1, cloneElement, useContext } from 'react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -4722,11 +4722,11 @@ function LinkedEntryEditEventBridge() {
4722
4722
  }
4723
4723
  var previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
4724
4724
  var PreviewEditorSidebar = React10.lazy(async () => {
4725
- const mod = await import('./PreviewEditorSidebar-HML67UDA.mjs');
4725
+ const mod = await import('./PreviewEditorSidebar-X7RLMEI6.mjs');
4726
4726
  return { default: mod.PreviewEditorSidebar };
4727
4727
  });
4728
4728
  var PreviewEditorUI = React10.lazy(async () => {
4729
- const mod = await import('./PreviewEditorUI-I4BQUU6K.mjs');
4729
+ const mod = await import('./PreviewEditorUI-CT67N4O3.mjs');
4730
4730
  return { default: mod.PreviewEditorUI };
4731
4731
  });
4732
4732
  var previewPaneContainmentStyle = {
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-MSHZO4SL.mjs';
2
+ import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-O62NDCTI.mjs';
3
3
  import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-LBBPD2IW.mjs';
4
4
  import { createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, useContext } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';