@riverbankcms/sdk 0.78.0 → 0.78.2

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 (152) hide show
  1. package/README.md +45 -43
  2. package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +29 -21
  3. package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
  4. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -0
  6. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  7. package/dist/_dts/api/src/endpoints.d.ts +9 -0
  8. package/dist/_dts/api/src/index.d.ts +3 -3
  9. package/dist/_dts/api/src/public/types.d.ts +1 -1
  10. package/dist/_dts/api/src/request.d.ts +3 -11
  11. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
  12. package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
  13. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
  14. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
  16. package/dist/_dts/api/src/types.d.ts +11 -26
  17. package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
  18. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
  19. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
  20. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
  21. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
  26. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
  27. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  28. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
  29. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
  30. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +591 -0
  31. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +591 -0
  32. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +591 -0
  33. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +591 -0
  34. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +591 -0
  35. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +591 -0
  36. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +591 -0
  37. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -0
  38. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -0
  39. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +591 -0
  40. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +591 -0
  41. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +591 -0
  42. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  43. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +164 -0
  44. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
  46. package/dist/_dts/content-editor/src/index.d.ts +1 -1
  47. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
  48. package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
  49. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
  50. package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
  51. package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
  52. package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
  53. package/dist/_dts/core/src/branded.d.ts +108 -85
  54. package/dist/_dts/core/src/csv-types.d.ts +2 -2
  55. package/dist/_dts/core/src/editor-state.d.ts +7 -7
  56. package/dist/_dts/core/src/participants.d.ts +2 -2
  57. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
  58. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  59. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
  60. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
  61. package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
  62. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  63. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  64. package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
  65. package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
  66. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
  67. package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
  68. package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
  69. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
  70. package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
  71. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
  72. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
  73. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
  74. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
  75. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
  76. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
  77. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
  78. package/dist/_dts/sdk/src/client/types.d.ts +2 -2
  79. package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
  80. package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
  81. package/dist/_dts/sdk/src/version.d.ts +1 -1
  82. package/dist/_dts/site-commands/src/commands.d.ts +3 -0
  83. package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
  84. package/dist/{chunk-NIDXI46P.mjs → chunk-4QEGTLK6.mjs} +1 -1
  85. package/dist/{chunk-TXDES5P2.mjs → chunk-6HYXHRAI.mjs} +5 -5
  86. package/dist/{chunk-SVMMM2NA.mjs → chunk-CR5HKAGU.mjs} +24 -5
  87. package/dist/{chunk-OECWLDHN.mjs → chunk-MCRQMPET.mjs} +1030 -588
  88. package/dist/{chunk-SXOLGNMX.mjs → chunk-OKMBEAXY.mjs} +1 -1
  89. package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
  90. package/dist/{chunk-F7RTCZYN.mjs → chunk-RGTOD4AJ.mjs} +20 -14
  91. package/dist/cli/index.mjs +681 -225
  92. package/dist/cli/init-docs/content/cli-reference.md +3 -2
  93. package/dist/cli/init-docs/content/content-management.md +2 -2
  94. package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
  95. package/dist/client/{accordion-EVDEOUPR.mjs → accordion-PLYNJIIM.mjs} +2 -2
  96. package/dist/client/analytics.mjs +1 -1
  97. package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-BXAP6AO7.mjs} +55 -48
  98. package/dist/client/bookings.mjs +62 -55
  99. package/dist/client/{carousel-FEBQHIWI.mjs → carousel-TRBXDHGF.mjs} +3 -3
  100. package/dist/client/{cart-7CKSXAE4.mjs → cart-Z7H3HJRS.mjs} +7 -7
  101. package/dist/client/{checkout-WKYCANLV.mjs → checkout-WAFCUBIX.mjs} +7 -7
  102. package/dist/client/{chunk-OFMSCGNY.mjs → chunk-75OUS5MT.mjs} +2 -2
  103. package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
  104. package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
  105. package/dist/client/{chunk-RZDWX7QW.mjs → chunk-CWGTG37I.mjs} +1 -1
  106. package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-DNRGY432.mjs} +2 -2
  107. package/dist/client/{chunk-RV6FX7UH.mjs → chunk-FUXW6VW2.mjs} +9 -9
  108. package/dist/client/{chunk-65F47D7Y.mjs → chunk-JGXPTEI2.mjs} +43 -36
  109. package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-JRDUHZCT.mjs} +37 -15
  110. package/dist/client/{chunk-VPPMNXCF.mjs → chunk-UVQEJJTN.mjs} +2 -2
  111. package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
  112. package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
  113. package/dist/client/{chunk-2SAVKN2M.mjs → chunk-ZI3LLBPZ.mjs} +2 -2
  114. package/dist/client/client.mjs +249 -160
  115. package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-AHFQHWIJ.mjs} +10 -10
  116. package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-LDXTV5R7.mjs} +9 -9
  117. package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-A4JGTNJO.mjs} +9 -9
  118. package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-4YXTZ7EG.mjs} +9 -9
  119. package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-P72TPFFM.mjs} +9 -9
  120. package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-LSYJHGMT.mjs} +9 -9
  121. package/dist/client/{form-7L42SRBB.mjs → form-AOPYOKOW.mjs} +6 -3
  122. package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
  123. package/dist/client/hooks.mjs +78 -48
  124. package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
  125. package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-KTRHZY52.mjs} +2 -2
  126. package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-N4E775RG.mjs} +7 -7
  127. package/dist/client/{productList-BOYHTYI6.mjs → productList-UGUQ2S45.mjs} +7 -7
  128. package/dist/client/rendering/client.mjs +173 -131
  129. package/dist/client/rendering/islands.mjs +19 -19
  130. package/dist/client/rendering.mjs +230 -150
  131. package/dist/client/{shop-XTXPZTKR.mjs → shop-VHSZEEQ2.mjs} +7 -7
  132. package/dist/preview-next/before-render.mjs +10 -1
  133. package/dist/preview-next/client/runtime.mjs +6 -6
  134. package/dist/preview-next/middleware.mjs +10 -1
  135. package/dist/preview-next/tailwind-sources.css +1 -0
  136. package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
  137. package/dist/server/components.mjs +101 -54
  138. package/dist/server/config-template-validation.mjs +221 -15
  139. package/dist/server/config-validation.mjs +76 -42
  140. package/dist/server/config.mjs +76 -42
  141. package/dist/server/data.mjs +77 -47
  142. package/dist/server/index.mjs +31 -10
  143. package/dist/server/next.mjs +133 -71
  144. package/dist/server/page-converter.mjs +60 -40
  145. package/dist/server/prebuild.mjs +1 -1
  146. package/dist/server/rendering/server.mjs +107 -60
  147. package/dist/server/rendering.mjs +111 -61
  148. package/dist/server/routing.mjs +93 -63
  149. package/dist/server/server.mjs +102 -57
  150. package/package.json +1 -1
  151. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
  152. package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
@@ -2783,20 +2783,33 @@ var init_sanitizeHref = __esm({
2783
2783
  }
2784
2784
  });
2785
2785
 
2786
+ // ../core/src/result.ts
2787
+ function ok(value) {
2788
+ return { ok: true, value };
2789
+ }
2790
+ function err(error) {
2791
+ return { ok: false, error };
2792
+ }
2793
+ var init_result = __esm({
2794
+ "../core/src/result.ts"() {
2795
+ "use strict";
2796
+ }
2797
+ });
2798
+
2786
2799
  // ../core/src/branded.ts
2787
- var asMediaAssetId, asStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, asFormId, asPassId, asCustomerPassId, asAppointmentServiceId, asAppointmentResourceId;
2800
+ var unsafeAsMediaAssetId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, unsafeAsFormId, unsafeAsPassId, unsafeAsCustomerPassId, unsafeAsAppointmentServiceId, unsafeAsAppointmentResourceId;
2788
2801
  var init_branded = __esm({
2789
2802
  "../core/src/branded.ts"() {
2790
2803
  "use strict";
2791
- asMediaAssetId = (id) => id;
2792
- asStorageBucketName = (value) => value;
2804
+ unsafeAsMediaAssetId = (id) => id;
2805
+ unsafeAsStorageBucketName = (value) => value;
2793
2806
  unsafeAsPositiveByteCount = (value) => value;
2794
2807
  unsafeAsPositiveSeconds = (value) => value;
2795
- asFormId = (id) => id;
2796
- asPassId = (id) => id;
2797
- asCustomerPassId = (id) => id;
2798
- asAppointmentServiceId = (id) => id;
2799
- asAppointmentResourceId = (id) => id;
2808
+ unsafeAsFormId = (id) => id;
2809
+ unsafeAsPassId = (id) => id;
2810
+ unsafeAsCustomerPassId = (id) => id;
2811
+ unsafeAsAppointmentServiceId = (id) => id;
2812
+ unsafeAsAppointmentResourceId = (id) => id;
2800
2813
  }
2801
2814
  });
2802
2815
 
@@ -3021,19 +3034,6 @@ var init_booking_instalments = __esm({
3021
3034
  }
3022
3035
  });
3023
3036
 
3024
- // ../core/src/result.ts
3025
- function ok(value) {
3026
- return { ok: true, value };
3027
- }
3028
- function err(error) {
3029
- return { ok: false, error };
3030
- }
3031
- var init_result = __esm({
3032
- "../core/src/result.ts"() {
3033
- "use strict";
3034
- }
3035
- });
3036
-
3037
3037
  // ../core/src/booking-date-time.ts
3038
3038
  function isValidTimeZone(timeZone) {
3039
3039
  try {
@@ -3641,15 +3641,15 @@ var init_fileStorage = __esm({
3641
3641
  "use strict";
3642
3642
  init_src();
3643
3643
  FILE_STORAGE_BUCKETS = {
3644
- publicSite: asStorageBucketName("media"),
3645
- privateSite: asStorageBucketName("site-files-private"),
3646
- temporary: asStorageBucketName("temp-uploads")
3644
+ publicSite: unsafeAsStorageBucketName("media"),
3645
+ privateSite: unsafeAsStorageBucketName("site-files-private"),
3646
+ temporary: unsafeAsStorageBucketName("temp-uploads")
3647
3647
  };
3648
3648
  PUBLIC_SITE_FILE_STORAGE_BUCKETS = [
3649
3649
  FILE_STORAGE_BUCKETS.publicSite,
3650
3650
  // Existing site logo and font uploads predate the unified file buckets.
3651
- asStorageBucketName("site-assets"),
3652
- asStorageBucketName("site-fonts")
3651
+ unsafeAsStorageBucketName("site-assets"),
3652
+ unsafeAsStorageBucketName("site-fonts")
3653
3653
  ];
3654
3654
  PRIVATE_SITE_FILE_BUCKET_MIME_TYPES = [
3655
3655
  "application/pdf",
@@ -4150,14 +4150,14 @@ function rotateNormalizedPoint(point, rotation) {
4150
4150
  const x = point.x;
4151
4151
  const y = point.y;
4152
4152
  switch (rotation) {
4153
+ case 0:
4154
+ return { x, y };
4153
4155
  case 90:
4154
4156
  return { x: 1 - y, y: x };
4155
4157
  case 180:
4156
4158
  return { x: 1 - x, y: 1 - y };
4157
4159
  case 270:
4158
4160
  return { x: y, y: 1 - x };
4159
- default:
4160
- return { x, y };
4161
4161
  }
4162
4162
  }
4163
4163
  var init_rotation = __esm({
@@ -4825,7 +4825,7 @@ function getProxyImageUrl(value, options, transformAspectRatio, resolved) {
4825
4825
  if (!shouldUseExplicitRectProxy(value, options, resolvedTransform, sourceWidth, sourceHeight)) return void 0;
4826
4826
  const params = buildProxyTransformParams(options, resolvedTransform);
4827
4827
  const proxyBasePath = getImageProxyBasePath();
4828
- const proxyUrl = getImageUrl({ id: asMediaAssetId(value.assetId) }, params, proxyBasePath);
4828
+ const proxyUrl = getImageUrl({ id: unsafeAsMediaAssetId(value.assetId) }, params, proxyBasePath);
4829
4829
  debugMediaNodeLog("resolve:proxy-img", { assetId: value.assetId, params, proxyBasePath, proxyUrl });
4830
4830
  return proxyUrl;
4831
4831
  }
@@ -6733,6 +6733,8 @@ var init_types6 = __esm({
6733
6733
  import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
6734
6734
  function resolveColorStyle(color) {
6735
6735
  switch (color) {
6736
+ case void 0:
6737
+ return void 0;
6736
6738
  case "inherit":
6737
6739
  return { color: "inherit" };
6738
6740
  case "foreground":
@@ -10234,10 +10236,10 @@ function normalizeEventCategoryIds(value) {
10234
10236
  if (Array.isArray(value)) {
10235
10237
  return normalizeIdList(
10236
10238
  value.filter((entry) => typeof entry === "string")
10237
- ).map(asEventCategoryId);
10239
+ ).map(unsafeAsEventCategoryId);
10238
10240
  }
10239
10241
  if (typeof value === "string") {
10240
- return normalizeIdList(value.split(",")).map(asEventCategoryId);
10242
+ return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
10241
10243
  }
10242
10244
  return [];
10243
10245
  }
@@ -10250,7 +10252,7 @@ function normalizeEventVenueId(value) {
10250
10252
  return null;
10251
10253
  }
10252
10254
  const trimmed = value.trim();
10253
- return trimmed ? asVenueId(trimmed) : null;
10255
+ return trimmed ? unsafeAsVenueId(trimmed) : null;
10254
10256
  }
10255
10257
  function normalizeEventStaffMemberId(value) {
10256
10258
  if (typeof value !== "string") {
@@ -10259,7 +10261,7 @@ function normalizeEventStaffMemberId(value) {
10259
10261
  const trimmed = value.trim();
10260
10262
  return trimmed ? trimmed : null;
10261
10263
  }
10262
- var eventBlockKindValues, eventSurfacePresetValues, eventSurfaceScopeValues, eventScheduleScopeValues, asEventCategoryId, asVenueId;
10264
+ var eventBlockKindValues, eventSurfacePresetValues, eventSurfaceScopeValues, eventScheduleScopeValues, unsafeAsEventCategoryId, unsafeAsVenueId;
10263
10265
  var init_filtering = __esm({
10264
10266
  "../blocks/src/system/blocks/events/shared/filtering.ts"() {
10265
10267
  "use strict";
@@ -10278,8 +10280,8 @@ var init_filtering = __esm({
10278
10280
  "custom"
10279
10281
  ];
10280
10282
  eventScheduleScopeValues = ["any", "recurring", "oneOff"];
10281
- asEventCategoryId = (value) => value;
10282
- asVenueId = (value) => value;
10283
+ unsafeAsEventCategoryId = (value) => value;
10284
+ unsafeAsVenueId = (value) => value;
10283
10285
  }
10284
10286
  });
10285
10287
 
@@ -16071,6 +16073,8 @@ var init_schema3 = __esm({
16071
16073
  mediaPickerAutoOpen: z28.boolean().optional(),
16072
16074
  showMediaPreview: z28.boolean().optional(),
16073
16075
  showMediaOverlayActions: z28.boolean().optional(),
16076
+ mediaPreviewMaxWidth: z28.enum(["xs", "sm", "md", "none"]).optional(),
16077
+ preventMediaPreviewUpscale: z28.boolean().optional(),
16074
16078
  mediaDelivery: mediaDeliverySchema.optional(),
16075
16079
  mediaDeliveryByVariant: z28.record(z28.string(), mediaDeliverySchema).optional(),
16076
16080
  // Optional input hints for validators/widgets
@@ -16320,6 +16324,9 @@ var init_schema3 = __esm({
16320
16324
  type: z28.literal("repeater"),
16321
16325
  itemLabel: z28.string().default("Item"),
16322
16326
  itemLabelSource: z28.string().optional(),
16327
+ showSummary: z28.boolean().optional(),
16328
+ summaryFields: z28.string().array().optional(),
16329
+ summaryMaxChars: z28.number().int().positive().optional(),
16323
16330
  minItems: z28.number().int().min(0).default(0),
16324
16331
  maxItems: z28.number().int().positive().optional(),
16325
16332
  // Monomorphic mode
@@ -16644,47 +16651,48 @@ function validateFieldDefinitions(fields, fragmentId) {
16644
16651
  function prefixFieldId(field, scope) {
16645
16652
  const cloned = cloneFieldDefinition2(field);
16646
16653
  cloned.id = `${scope}.${field.id}`;
16647
- cloned.defaultValue = cloneUnknown(cloned.defaultValue);
16654
+ const defaultValue = cloned.defaultValue;
16655
+ cloned.defaultValue = cloneUnknown(defaultValue);
16648
16656
  cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
16649
16657
  cloned.ui = cloneUnknown(cloned.ui);
16650
16658
  return cloned;
16651
16659
  }
16652
16660
  function cloneFieldDefinition2(field) {
16653
- switch (field.type) {
16654
- case "repeater":
16655
- if (field.polymorphic && field.itemTypes) {
16656
- return {
16657
- ...field,
16658
- polymorphic: true,
16659
- itemTypes: Object.fromEntries(
16660
- Object.entries(field.itemTypes).map(([key, itemType]) => [
16661
- key,
16662
- {
16663
- ...itemType,
16664
- fields: itemType.fields.map(cloneFieldDefinition2)
16665
- }
16666
- ])
16667
- )
16668
- };
16669
- } else if (field.schema) {
16670
- return {
16671
- ...field,
16672
- schema: {
16673
- fields: field.schema.fields.map(cloneFieldDefinition2)
16674
- }
16675
- };
16676
- }
16677
- return { ...field };
16678
- case "group":
16661
+ if (field.type === "repeater") {
16662
+ if (field.polymorphic && field.itemTypes) {
16663
+ return {
16664
+ ...field,
16665
+ polymorphic: true,
16666
+ itemTypes: Object.fromEntries(
16667
+ Object.entries(field.itemTypes).map(([key, itemType]) => [
16668
+ key,
16669
+ {
16670
+ ...itemType,
16671
+ fields: itemType.fields.map(cloneFieldDefinition2)
16672
+ }
16673
+ ])
16674
+ )
16675
+ };
16676
+ }
16677
+ if (field.schema) {
16679
16678
  return {
16680
16679
  ...field,
16681
16680
  schema: {
16682
16681
  fields: field.schema.fields.map(cloneFieldDefinition2)
16683
16682
  }
16684
16683
  };
16685
- default:
16686
- return { ...field };
16684
+ }
16685
+ return { ...field };
16686
+ }
16687
+ if (field.type === "group") {
16688
+ return {
16689
+ ...field,
16690
+ schema: {
16691
+ fields: field.schema.fields.map(cloneFieldDefinition2)
16692
+ }
16693
+ };
16687
16694
  }
16695
+ return { ...field };
16688
16696
  }
16689
16697
  function cloneUnknown(value) {
16690
16698
  if (value == null || typeof value !== "object") {
@@ -19431,7 +19439,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
19431
19439
  return createBlockManifest(config);
19432
19440
  }
19433
19441
  function normalizeBlockLayout(layout) {
19434
- return Array.isArray(layout) ? [...layout] : layout;
19442
+ const rawLayout = layout;
19443
+ return Array.isArray(rawLayout) ? rawLayout : rawLayout;
19435
19444
  }
19436
19445
  function deriveComponentName(id) {
19437
19446
  const base = id.replace(/^block\./, "");
@@ -25047,7 +25056,7 @@ function useAvailableDates({
25047
25056
  const endDate = formatLocalScheduleDate(
25048
25057
  addLocalScheduleDays(parseBookingLocalDate(today), initialDays)
25049
25058
  );
25050
- fetchDates(today, endDate, false);
25059
+ void fetchDates(today, endDate, false);
25051
25060
  }, [serviceId, fetchDates, initialDays]);
25052
25061
  useVisibleTabPolling({
25053
25062
  enabled: Boolean(serviceId && loadedRange),
@@ -25067,7 +25076,7 @@ function useAvailableDates({
25067
25076
  BOOKING_FETCH_CHUNK_DAYS
25068
25077
  )
25069
25078
  );
25070
- fetchDates(start, end, true);
25079
+ void fetchDates(start, end, true);
25071
25080
  }, [fetchDates, isLoading]);
25072
25081
  return {
25073
25082
  availableDates,
@@ -25140,7 +25149,7 @@ function useAvailableSlots({
25140
25149
  setSlots(
25141
25150
  result.slots.map((slot) => ({
25142
25151
  ...slot,
25143
- resourceId: asAppointmentResourceId(slot.resourceId)
25152
+ resourceId: unsafeAsAppointmentResourceId(slot.resourceId)
25144
25153
  }))
25145
25154
  );
25146
25155
  setHasLoaded(true);
@@ -25337,7 +25346,7 @@ function useDiscountCodeUi(options) {
25337
25346
  if (!cancelled) setDiscountsAvailableLoading(false);
25338
25347
  }
25339
25348
  }
25340
- checkDiscountAvailability();
25349
+ void checkDiscountAvailability();
25341
25350
  return () => {
25342
25351
  cancelled = true;
25343
25352
  };
@@ -25714,13 +25723,13 @@ function toOptionalBrandedId(value, brand) {
25714
25723
  return trimmed ? brand(trimmed) : void 0;
25715
25724
  }
25716
25725
  function toOptionalAppointmentServiceId(value) {
25717
- return toOptionalBrandedId(value, asAppointmentServiceId);
25726
+ return toOptionalBrandedId(value, unsafeAsAppointmentServiceId);
25718
25727
  }
25719
25728
  function toOptionalAppointmentResourceId(value) {
25720
- return toOptionalBrandedId(value, asAppointmentResourceId);
25729
+ return toOptionalBrandedId(value, unsafeAsAppointmentResourceId);
25721
25730
  }
25722
25731
  function toOptionalCustomerPassId(value) {
25723
- return toOptionalBrandedId(value, asCustomerPassId);
25732
+ return toOptionalBrandedId(value, unsafeAsCustomerPassId);
25724
25733
  }
25725
25734
  function isBookingFieldValue(value) {
25726
25735
  return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || Array.isArray(value) && value.every((item) => typeof item === "string");
@@ -25874,7 +25883,7 @@ function toBookingSlotView(slot) {
25874
25883
  key: `${slot.startAt}|${slot.endAt}|${slot.resourceId}`,
25875
25884
  startAt: slot.startAt,
25876
25885
  endAt: slot.endAt,
25877
- resourceId: asAppointmentResourceId(slot.resourceId),
25886
+ resourceId: unsafeAsAppointmentResourceId(slot.resourceId),
25878
25887
  ...slot.resourceName ? { resourceName: slot.resourceName } : {},
25879
25888
  ...slot.label ? { label: slot.label } : {}
25880
25889
  };
@@ -25996,31 +26005,30 @@ function validateBookingField(field, value) {
25996
26005
  }
25997
26006
  if (isBlankFieldValue(value)) return null;
25998
26007
  const strValue = typeof value === "string" ? value : String(value);
25999
- switch (field.type) {
26000
- case "email":
26001
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(strValue) ? null : "Please enter a valid email address";
26002
- case "url":
26003
- try {
26004
- new URL(strValue);
26005
- return null;
26006
- } catch {
26007
- return "Please enter a valid URL";
26008
- }
26009
- case "tel":
26010
- return /^[+\d\s\-()]+$/.test(strValue) ? null : "Please enter a valid phone number";
26011
- case "number": {
26012
- const num = Number(value);
26013
- if (Number.isNaN(num)) return "Please enter a valid number";
26014
- if (field.min !== void 0 && num < field.min) {
26015
- return `Value must be at least ${field.min}`;
26016
- }
26017
- if (field.max !== void 0 && num > field.max) {
26018
- return `Value must be at most ${field.max}`;
26019
- }
26008
+ if (field.type === "email") {
26009
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(strValue) ? null : "Please enter a valid email address";
26010
+ }
26011
+ if (field.type === "url") {
26012
+ try {
26013
+ new URL(strValue);
26020
26014
  return null;
26015
+ } catch {
26016
+ return "Please enter a valid URL";
26021
26017
  }
26022
- default:
26023
- break;
26018
+ }
26019
+ if (field.type === "tel") {
26020
+ return /^[+\d\s\-()]+$/.test(strValue) ? null : "Please enter a valid phone number";
26021
+ }
26022
+ if (field.type === "number") {
26023
+ const num = Number(value);
26024
+ if (Number.isNaN(num)) return "Please enter a valid number";
26025
+ if (field.min !== void 0 && num < field.min) {
26026
+ return `Value must be at least ${field.min}`;
26027
+ }
26028
+ if (field.max !== void 0 && num > field.max) {
26029
+ return `Value must be at most ${field.max}`;
26030
+ }
26031
+ return null;
26024
26032
  }
26025
26033
  if (typeof value === "string") {
26026
26034
  if (field.minLength && value.length < field.minLength) {
@@ -26120,7 +26128,7 @@ function buildBookingAvailabilityQuery(input) {
26120
26128
  }
26121
26129
  function deriveBookingFieldViews(input) {
26122
26130
  return (input.form?.schema?.fields ?? []).map((field) => {
26123
- const fieldId = asBookingFieldId(field.id);
26131
+ const fieldId = unsafeAsBookingFieldId(field.id);
26124
26132
  const inputId = `${input.idPrefix}-${fieldId}`;
26125
26133
  const helpTextId = field.helpText ? `${inputId}-help` : null;
26126
26134
  const fieldValue = input.values[field.id] ?? null;
@@ -26277,8 +26285,8 @@ function resolveAppointmentPackagesModel(input) {
26277
26285
  function toHeadlessEligibleAppointmentPackage(appointmentPackage) {
26278
26286
  return {
26279
26287
  ...appointmentPackage,
26280
- customerPassId: asCustomerPassId(appointmentPackage.customerPassId),
26281
- passId: asPassId(appointmentPackage.passId)
26288
+ customerPassId: unsafeAsCustomerPassId(appointmentPackage.customerPassId),
26289
+ passId: unsafeAsPassId(appointmentPackage.passId)
26282
26290
  };
26283
26291
  }
26284
26292
  function resolveHeadlessBookingStatus(input) {
@@ -26334,14 +26342,14 @@ function omitRecordKey(record, key) {
26334
26342
  const { [key]: _removed, ...rest } = record;
26335
26343
  return rest;
26336
26344
  }
26337
- var asBookingFieldId;
26345
+ var unsafeAsBookingFieldId;
26338
26346
  var init_booking_form_headless_state = __esm({
26339
26347
  "../blocks/src/system/runtime/nodes/booking-form.headless.state.ts"() {
26340
26348
  "use strict";
26341
26349
  init_src();
26342
26350
  init_dist();
26343
26351
  init_booking_form_state();
26344
- asBookingFieldId = (id) => id;
26352
+ unsafeAsBookingFieldId = (id) => id;
26345
26353
  }
26346
26354
  });
26347
26355
 
@@ -26365,7 +26373,7 @@ import React5, {
26365
26373
  } from "react";
26366
26374
  function useHeadlessBookingFlow(options) {
26367
26375
  const viewerTimeZone = options.viewerTimeZone ?? getRuntimeTimeZone();
26368
- const formKey = asFormId(options.formId);
26376
+ const formKey = unsafeAsFormId(options.formId);
26369
26377
  const defaultServiceId = toOptionalAppointmentServiceId(
26370
26378
  options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0
26371
26379
  );
@@ -26531,7 +26539,7 @@ function useHeadlessBookingFlow(options) {
26531
26539
  setResourcesState({
26532
26540
  tag: "loaded",
26533
26541
  value: (result.options ?? []).map((option) => ({
26534
- id: asAppointmentResourceId(option.id),
26542
+ id: unsafeAsAppointmentResourceId(option.id),
26535
26543
  label: option.label
26536
26544
  }))
26537
26545
  });
@@ -26747,11 +26755,11 @@ function useHeadlessBookingFlow(options) {
26747
26755
  () => ({
26748
26756
  selectService: (serviceId) => dispatch({
26749
26757
  type: "service-selected",
26750
- serviceId: asAppointmentServiceId(serviceId)
26758
+ serviceId: unsafeAsAppointmentServiceId(serviceId)
26751
26759
  }),
26752
26760
  selectResource: (resourceId) => dispatch({
26753
26761
  type: "resource-selected",
26754
- resourceId: resourceId ? asAppointmentResourceId(resourceId) : null
26762
+ resourceId: resourceId ? unsafeAsAppointmentResourceId(resourceId) : null
26755
26763
  }),
26756
26764
  selectDate: (date) => dispatch({ type: "date-selected", date }),
26757
26765
  selectSlot: (slot) => dispatch({
@@ -26760,14 +26768,14 @@ function useHeadlessBookingFlow(options) {
26760
26768
  }),
26761
26769
  updateField: (fieldId, value) => dispatch({
26762
26770
  type: "field-updated",
26763
- fieldId: asBookingFieldId(fieldId),
26771
+ fieldId: unsafeAsBookingFieldId(fieldId),
26764
26772
  value
26765
26773
  }),
26766
- markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId: asBookingFieldId(fieldId) }),
26774
+ markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId: unsafeAsBookingFieldId(fieldId) }),
26767
26775
  selectPaymentOption: (kind) => dispatch({ type: "payment-option-selected", kind }),
26768
26776
  selectAppointmentPackage: (packageId) => dispatch({
26769
26777
  type: "appointment-package-selected",
26770
- packageId: packageId ? asCustomerPassId(packageId) : null
26778
+ packageId: packageId ? unsafeAsCustomerPassId(packageId) : null
26771
26779
  }),
26772
26780
  setDiscountCode: (code) => {
26773
26781
  dispatch({ type: "discount-code-changed", code });
@@ -27127,7 +27135,7 @@ function usePolling(config) {
27127
27135
  timeoutRef.current = setTimeout(doPoll, pollInterval);
27128
27136
  }
27129
27137
  };
27130
- doPoll();
27138
+ void doPoll();
27131
27139
  }, [poll]);
27132
27140
  useEffect7(() => {
27133
27141
  if (!config) {
@@ -28011,7 +28019,7 @@ function DefaultFieldInput({
28011
28019
  ] }, option.value)) });
28012
28020
  case "checkbox":
28013
28021
  if (field.field.options && field.field.options.length > 1) {
28014
- const checkedValues = Array.isArray(value) ? value : [];
28022
+ const checkedValues = toStringArray(value);
28015
28023
  return /* @__PURE__ */ jsx58("div", { className: "rb-space-y-2", children: field.field.options.map((option) => /* @__PURE__ */ jsxs42("label", { className: "rb-flex rb-items-center rb-gap-2 rb-cursor-pointer", children: [
28016
28024
  /* @__PURE__ */ jsx58(
28017
28025
  "input",
@@ -28106,7 +28114,10 @@ function DefaultFieldInput({
28106
28114
  className: "form-input"
28107
28115
  }
28108
28116
  );
28109
- default:
28117
+ case "text":
28118
+ case "email":
28119
+ case "tel":
28120
+ case "url":
28110
28121
  return /* @__PURE__ */ jsx58(
28111
28122
  "input",
28112
28123
  {
@@ -28123,6 +28134,9 @@ function DefaultFieldInput({
28123
28134
  );
28124
28135
  }
28125
28136
  }
28137
+ function toStringArray(value) {
28138
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
28139
+ }
28126
28140
  function DefaultBookingDiscount({
28127
28141
  booking
28128
28142
  }) {
@@ -28214,7 +28228,7 @@ function collapseHeadlessSlotsForDisplay(input) {
28214
28228
  visibleSlots.push({
28215
28229
  startAt: slot.startAt,
28216
28230
  endAt: slot.endAt,
28217
- resourceId: asAppointmentResourceId(slot.resourceId)
28231
+ resourceId: unsafeAsAppointmentResourceId(slot.resourceId)
28218
28232
  });
28219
28233
  }
28220
28234
  return visibleSlots;
@@ -29539,7 +29553,7 @@ function usePortalAuth() {
29539
29553
  setProfile(null);
29540
29554
  }
29541
29555
  }
29542
- checkPortalAuth();
29556
+ void checkPortalAuth();
29543
29557
  return () => {
29544
29558
  cancelled = true;
29545
29559
  };
@@ -29603,7 +29617,7 @@ function useEligibility(params) {
29603
29617
  });
29604
29618
  }
29605
29619
  }
29606
- fetchEligibility();
29620
+ void fetchEligibility();
29607
29621
  return () => {
29608
29622
  cancelled = true;
29609
29623
  };
@@ -29648,7 +29662,7 @@ function useExistingEventRegistration({
29648
29662
  dispatch({ type: "resolved", registration: null });
29649
29663
  }
29650
29664
  }
29651
- fetchExistingRegistration();
29665
+ void fetchExistingRegistration();
29652
29666
  return () => {
29653
29667
  cancelled = true;
29654
29668
  };
@@ -30896,6 +30910,14 @@ function EventRegistrationWizardContent(props2) {
30896
30910
  const { wizard } = props2;
30897
30911
  const showSpamProtection = props2.showSpamProtection ?? isSpamProtectionEnabled();
30898
30912
  switch (wizard.step) {
30913
+ case "error":
30914
+ case "success":
30915
+ case "submitting":
30916
+ case "redirecting":
30917
+ case "verifying-payment":
30918
+ case "verifying-timeout":
30919
+ case "payment-failed":
30920
+ return null;
30899
30921
  case "select-event":
30900
30922
  return /* @__PURE__ */ jsx84(
30901
30923
  EventSelectionStep,
@@ -31045,6 +31067,14 @@ function EventRegistrationWizardActions(props2) {
31045
31067
  return wizard.eventRequiresPayment ? "Continue to Payment" : props2.buttonText;
31046
31068
  };
31047
31069
  switch (wizard.step) {
31070
+ case "error":
31071
+ case "success":
31072
+ case "submitting":
31073
+ case "redirecting":
31074
+ case "verifying-payment":
31075
+ case "verifying-timeout":
31076
+ case "payment-failed":
31077
+ return null;
31048
31078
  case "select-event":
31049
31079
  return null;
31050
31080
  case "select-tickets": {
@@ -31096,10 +31126,10 @@ function EventRegistrationWizardActions(props2) {
31096
31126
  const handlePaymentContinue = () => {
31097
31127
  if (!selection.method) return;
31098
31128
  if (selection.method === "free") {
31099
- wizard.handlePaymentSelect("free");
31129
+ void wizard.handlePaymentSelect("free");
31100
31130
  return;
31101
31131
  }
31102
- wizard.handlePaymentSelect(
31132
+ void wizard.handlePaymentSelect(
31103
31133
  selection.method,
31104
31134
  selection.passId ?? selection.bundlePassId,
31105
31135
  selection.membershipId ?? selection.bundleMembershipId
@@ -31332,7 +31362,7 @@ function useWaitlistClaim() {
31332
31362
  }
31333
31363
  }
31334
31364
  }
31335
- resolveClaim();
31365
+ void resolveClaim();
31336
31366
  return () => {
31337
31367
  cancelled = true;
31338
31368
  };
@@ -32358,7 +32388,13 @@ function EventRegistrationWizard(props2) {
32358
32388
  return "Details";
32359
32389
  case "select-payment":
32360
32390
  return "Payment";
32361
- default:
32391
+ case "error":
32392
+ case "success":
32393
+ case "submitting":
32394
+ case "redirecting":
32395
+ case "verifying-payment":
32396
+ case "verifying-timeout":
32397
+ case "payment-failed":
32362
32398
  return "";
32363
32399
  }
32364
32400
  });
@@ -33443,7 +33479,7 @@ function useCourseRegistrationWizard(props2) {
33443
33479
  setPortalAuthState("unauthenticated");
33444
33480
  }
33445
33481
  }
33446
- checkPortalAuth();
33482
+ void checkPortalAuth();
33447
33483
  return () => {
33448
33484
  cancelled = true;
33449
33485
  };
@@ -33528,7 +33564,7 @@ function useCourseRegistrationWizard(props2) {
33528
33564
  if (!cancelled) setEligibilityLoading(false);
33529
33565
  }
33530
33566
  }
33531
- fetchEligibility();
33567
+ void fetchEligibility();
33532
33568
  return () => {
33533
33569
  cancelled = true;
33534
33570
  };
@@ -33587,7 +33623,7 @@ function useCourseRegistrationWizard(props2) {
33587
33623
  await new Promise((r2) => setTimeout(r2, 1500));
33588
33624
  }
33589
33625
  }
33590
- verifyAfterCheckout();
33626
+ void verifyAfterCheckout();
33591
33627
  return () => {
33592
33628
  cancelled = true;
33593
33629
  };
@@ -33856,7 +33892,7 @@ function useCourseRegistrationWizard(props2) {
33856
33892
  if (!cancelled) setDiscountsAvailableLoading(false);
33857
33893
  }
33858
33894
  }
33859
- checkDiscountAvailability();
33895
+ void checkDiscountAvailability();
33860
33896
  return () => {
33861
33897
  cancelled = true;
33862
33898
  };
@@ -34119,7 +34155,7 @@ function CourseRegistrationWizard(props2) {
34119
34155
  className: "cr-form",
34120
34156
  onSubmit: (e) => {
34121
34157
  e.preventDefault();
34122
- handleSubmit();
34158
+ void handleSubmit();
34123
34159
  },
34124
34160
  children: [
34125
34161
  /* @__PURE__ */ jsx102(
@@ -34569,7 +34605,7 @@ var init_LeafletStaticMap = __esm({
34569
34605
  }
34570
34606
  }
34571
34607
  }
34572
- initMap();
34608
+ void initMap();
34573
34609
  return () => {
34574
34610
  mounted = false;
34575
34611
  if (mapRef.current) {
@@ -35517,10 +35553,10 @@ function PassesMembershipsController({ render }) {
35517
35553
  });
35518
35554
  const handleFormSubmit = useCallback9((event) => {
35519
35555
  event.preventDefault();
35520
- submitCheckout(false);
35556
+ void submitCheckout(false);
35521
35557
  }, [submitCheckout]);
35522
35558
  const handleConfirmDuplicate = useCallback9(() => {
35523
- submitCheckout(true);
35559
+ void submitCheckout(true);
35524
35560
  }, [submitCheckout]);
35525
35561
  return /* @__PURE__ */ jsxs76(Fragment20, { children: [
35526
35562
  /* @__PURE__ */ jsx108("div", { ref: shopRootRef, children: /* @__PURE__ */ jsx108(
@@ -38075,7 +38111,7 @@ function useCartDiscountUiState(api, plan) {
38075
38111
  }
38076
38112
  }
38077
38113
  }
38078
- loadCartDiscountAvailability();
38114
+ void loadCartDiscountAvailability();
38079
38115
  return () => {
38080
38116
  cancelled = true;
38081
38117
  };
@@ -40443,7 +40479,7 @@ function useCalendarEvents({
40443
40479
  );
40444
40480
  if (unloadedMonths.length > 0) {
40445
40481
  const range = getThreeMonthRange(date);
40446
- fetchEventsForRange(range.from, range.to, unloadedMonths);
40482
+ void fetchEventsForRange(range.from, range.to, unloadedMonths);
40447
40483
  }
40448
40484
  }, [preloadMonths, fetchEventsForRange]);
40449
40485
  useEffect32(() => {
@@ -41979,6 +42015,9 @@ var init_useFormSubmission = __esm({
41979
42015
  // ../blocks/src/system/runtime/nodes/form.client.tsx
41980
42016
  import { useState as useState31 } from "react";
41981
42017
  import { jsx as jsx144, jsxs as jsxs93 } from "react/jsx-runtime";
42018
+ function isUnknownArray(value) {
42019
+ return Array.isArray(value);
42020
+ }
41982
42021
  var FormNodeClient;
41983
42022
  var init_form_client = __esm({
41984
42023
  "../blocks/src/system/runtime/nodes/form.client.tsx"() {
@@ -42104,7 +42143,7 @@ var init_form_client = __esm({
42104
42143
  if (key === "company" || key === "altcha-solution") continue;
42105
42144
  if (key in data) {
42106
42145
  const existing = data[key];
42107
- data[key] = Array.isArray(existing) ? [...existing, fieldValue] : [existing, fieldValue];
42146
+ data[key] = isUnknownArray(existing) ? [...existing, fieldValue] : [existing, fieldValue];
42108
42147
  } else {
42109
42148
  data[key] = fieldValue;
42110
42149
  }
@@ -48939,6 +48978,8 @@ function resolveGiftingPurchaseNotice(search, defaultSuccessMessage) {
48939
48978
  const params = new URLSearchParams(search);
48940
48979
  const gifting2 = params.get("gifting");
48941
48980
  switch (gifting2) {
48981
+ case null:
48982
+ return null;
48942
48983
  case "success":
48943
48984
  return { kind: "success", message: defaultSuccessMessage };
48944
48985
  case "cancelled":
@@ -50542,11 +50583,12 @@ function buildRenderFromLooseProps(runtime, mode, props2) {
50542
50583
  };
50543
50584
  }
50544
50585
  function withRuntimeBackedEnvelope(source, runtime, render) {
50545
- return {
50586
+ const envelope = {
50546
50587
  ...source,
50547
50588
  renderKind: runtime.kind,
50548
50589
  render
50549
50590
  };
50591
+ return envelope;
50550
50592
  }
50551
50593
  function normalizeLegacyInteractiveRenderProps(runtime, mode, props2) {
50552
50594
  const source = props2;