@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
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import { useWaitlistClaim, MagicLinkForm } from './chunk-2SAVKN2M.mjs';
3
- import { SpinnerNode } from './chunk-36WJCERQ.mjs';
4
- import { DiscountCodeDisclosure, getStepNumber, logoutPortal, StepIndicator, LoggedInAsUser, CheckIcon, formatPrice, TerminalPanel, StateIcon, ClockIcon, CrossIcon, scrollToBlock, buildCheckoutReturnUrls, MembershipHero, validateFormData } from './chunk-VPPMNXCF.mjs';
2
+ import { useWaitlistClaim, MagicLinkForm } from './chunk-ZI3LLBPZ.mjs';
3
+ import { SpinnerNode } from './chunk-CE7IBGVW.mjs';
4
+ import { DiscountCodeDisclosure, getStepNumber, logoutPortal, StepIndicator, LoggedInAsUser, CheckIcon, formatPrice, TerminalPanel, StateIcon, ClockIcon, CrossIcon, scrollToBlock, buildCheckoutReturnUrls, MembershipHero, validateFormData } from './chunk-UVQEJJTN.mjs';
5
5
  import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
6
6
  import { ModalShell } from './chunk-3PEDD5KJ.mjs';
7
7
  import { AltchaWidget, getChallengeUrl, isSpamProtectionEnabled } from './chunk-YLMKMCSJ.mjs';
8
8
  import { BlockApiProvider, useBlockApi } from './chunk-UDNSI5PY.mjs';
9
9
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
10
- import { defineIslandPropsDecoder, themeButtonClassName, resolveCoursePricingState, formatCoursePriceDisplay, formatCoursePriceAmount } from './chunk-65F47D7Y.mjs';
11
- import { formatBookingDate, toScheduledBookingDateTime, toBookingTimeZone, formatBookingTime } from './chunk-IVNCUVAV.mjs';
10
+ import { defineIslandPropsDecoder, themeButtonClassName, resolveCoursePricingState, formatCoursePriceDisplay, formatCoursePriceAmount } from './chunk-JGXPTEI2.mjs';
11
+ import { formatBookingDate, toScheduledBookingDateTime, toBookingTimeZone, formatBookingTime } from './chunk-AUJ5DBZJ.mjs';
12
12
  import React2, { Component, useMemo, useState, useEffect } from 'react';
13
13
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
14
 
@@ -754,7 +754,7 @@ function useCourseRegistrationWizard(props) {
754
754
  setPortalAuthState("unauthenticated");
755
755
  }
756
756
  }
757
- checkPortalAuth();
757
+ void checkPortalAuth();
758
758
  return () => {
759
759
  cancelled = true;
760
760
  };
@@ -839,7 +839,7 @@ function useCourseRegistrationWizard(props) {
839
839
  if (!cancelled) setEligibilityLoading(false);
840
840
  }
841
841
  }
842
- fetchEligibility();
842
+ void fetchEligibility();
843
843
  return () => {
844
844
  cancelled = true;
845
845
  };
@@ -898,7 +898,7 @@ function useCourseRegistrationWizard(props) {
898
898
  await new Promise((r) => setTimeout(r, 1500));
899
899
  }
900
900
  }
901
- verifyAfterCheckout();
901
+ void verifyAfterCheckout();
902
902
  return () => {
903
903
  cancelled = true;
904
904
  };
@@ -1167,7 +1167,7 @@ function useCourseRegistrationWizard(props) {
1167
1167
  if (!cancelled) setDiscountsAvailableLoading(false);
1168
1168
  }
1169
1169
  }
1170
- checkDiscountAvailability();
1170
+ void checkDiscountAvailability();
1171
1171
  return () => {
1172
1172
  cancelled = true;
1173
1173
  };
@@ -1409,7 +1409,7 @@ function CourseRegistrationWizard(props) {
1409
1409
  className: "cr-form",
1410
1410
  onSubmit: (e) => {
1411
1411
  e.preventDefault();
1412
- handleSubmit();
1412
+ void handleSubmit();
1413
1413
  },
1414
1414
  children: [
1415
1415
  /* @__PURE__ */ jsx(
@@ -1,18 +1,18 @@
1
- import { EventCalendarClient } from './chunk-GUK2FPXQ.mjs';
2
- import './chunk-F7LHOKEH.mjs';
3
- import './chunk-2SAVKN2M.mjs';
1
+ import { EventCalendarClient } from './chunk-JRDUHZCT.mjs';
2
+ import './chunk-XSV6KW4D.mjs';
3
+ import './chunk-ZI3LLBPZ.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-YDSEG6GZ.mjs';
6
- import './chunk-36WJCERQ.mjs';
7
- import './chunk-PD6NBCEY.mjs';
8
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-DNRGY432.mjs';
6
+ import './chunk-CE7IBGVW.mjs';
7
+ import './chunk-ZFHRN6W2.mjs';
8
+ import './chunk-UVQEJJTN.mjs';
9
9
  import './chunk-3DCJ45Z2.mjs';
10
10
  import './chunk-3PEDD5KJ.mjs';
11
11
  import './chunk-YLMKMCSJ.mjs';
12
12
  import { BlockApiProvider } from './chunk-UDNSI5PY.mjs';
13
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
15
- import './chunk-IVNCUVAV.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
15
+ import './chunk-AUJ5DBZJ.mjs';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  var decode = defineIslandPropsDecoder("event-calendar");
@@ -1,18 +1,18 @@
1
- import { EventCombinedIslandClient } from './chunk-GUK2FPXQ.mjs';
2
- import './chunk-F7LHOKEH.mjs';
3
- import './chunk-2SAVKN2M.mjs';
1
+ import { EventCombinedIslandClient } from './chunk-JRDUHZCT.mjs';
2
+ import './chunk-XSV6KW4D.mjs';
3
+ import './chunk-ZI3LLBPZ.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-YDSEG6GZ.mjs';
6
- import './chunk-36WJCERQ.mjs';
7
- import './chunk-PD6NBCEY.mjs';
8
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-DNRGY432.mjs';
6
+ import './chunk-CE7IBGVW.mjs';
7
+ import './chunk-ZFHRN6W2.mjs';
8
+ import './chunk-UVQEJJTN.mjs';
9
9
  import './chunk-3DCJ45Z2.mjs';
10
10
  import './chunk-3PEDD5KJ.mjs';
11
11
  import './chunk-YLMKMCSJ.mjs';
12
12
  import { BlockApiProvider } from './chunk-UDNSI5PY.mjs';
13
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
15
- import './chunk-IVNCUVAV.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
15
+ import './chunk-AUJ5DBZJ.mjs';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  var decode = defineIslandPropsDecoder("event-combined");
@@ -1,18 +1,18 @@
1
- import { EventDetailsIslandClient } from './chunk-GUK2FPXQ.mjs';
2
- import './chunk-F7LHOKEH.mjs';
3
- import './chunk-2SAVKN2M.mjs';
1
+ import { EventDetailsIslandClient } from './chunk-JRDUHZCT.mjs';
2
+ import './chunk-XSV6KW4D.mjs';
3
+ import './chunk-ZI3LLBPZ.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-YDSEG6GZ.mjs';
6
- import './chunk-36WJCERQ.mjs';
7
- import './chunk-PD6NBCEY.mjs';
8
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-DNRGY432.mjs';
6
+ import './chunk-CE7IBGVW.mjs';
7
+ import './chunk-ZFHRN6W2.mjs';
8
+ import './chunk-UVQEJJTN.mjs';
9
9
  import './chunk-3DCJ45Z2.mjs';
10
10
  import './chunk-3PEDD5KJ.mjs';
11
11
  import './chunk-YLMKMCSJ.mjs';
12
12
  import './chunk-UDNSI5PY.mjs';
13
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
15
- import './chunk-IVNCUVAV.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
15
+ import './chunk-AUJ5DBZJ.mjs';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  var decode = defineIslandPropsDecoder("event-details");
@@ -1,18 +1,18 @@
1
- import { EventListingClient } from './chunk-GUK2FPXQ.mjs';
2
- import './chunk-F7LHOKEH.mjs';
3
- import './chunk-2SAVKN2M.mjs';
1
+ import { EventListingClient } from './chunk-JRDUHZCT.mjs';
2
+ import './chunk-XSV6KW4D.mjs';
3
+ import './chunk-ZI3LLBPZ.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-YDSEG6GZ.mjs';
6
- import './chunk-36WJCERQ.mjs';
7
- import './chunk-PD6NBCEY.mjs';
8
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-DNRGY432.mjs';
6
+ import './chunk-CE7IBGVW.mjs';
7
+ import './chunk-ZFHRN6W2.mjs';
8
+ import './chunk-UVQEJJTN.mjs';
9
9
  import './chunk-3DCJ45Z2.mjs';
10
10
  import './chunk-3PEDD5KJ.mjs';
11
11
  import './chunk-YLMKMCSJ.mjs';
12
12
  import { BlockApiProvider } from './chunk-UDNSI5PY.mjs';
13
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
15
- import './chunk-IVNCUVAV.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
15
+ import './chunk-AUJ5DBZJ.mjs';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  var decode = defineIslandPropsDecoder("event-listing");
@@ -1,18 +1,18 @@
1
- import { EventRegistrationIslandClient } from './chunk-GUK2FPXQ.mjs';
2
- import './chunk-F7LHOKEH.mjs';
3
- import './chunk-2SAVKN2M.mjs';
1
+ import { EventRegistrationIslandClient } from './chunk-JRDUHZCT.mjs';
2
+ import './chunk-XSV6KW4D.mjs';
3
+ import './chunk-ZI3LLBPZ.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-YDSEG6GZ.mjs';
6
- import './chunk-36WJCERQ.mjs';
7
- import './chunk-PD6NBCEY.mjs';
8
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-DNRGY432.mjs';
6
+ import './chunk-CE7IBGVW.mjs';
7
+ import './chunk-ZFHRN6W2.mjs';
8
+ import './chunk-UVQEJJTN.mjs';
9
9
  import './chunk-3DCJ45Z2.mjs';
10
10
  import './chunk-3PEDD5KJ.mjs';
11
11
  import './chunk-YLMKMCSJ.mjs';
12
12
  import { BlockApiProvider } from './chunk-UDNSI5PY.mjs';
13
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
15
- import './chunk-IVNCUVAV.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
15
+ import './chunk-AUJ5DBZJ.mjs';
16
16
  import { jsx } from 'react/jsx-runtime';
17
17
 
18
18
  var decode = defineIslandPropsDecoder("event-registration");
@@ -2,8 +2,8 @@
2
2
  import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-YLMKMCSJ.mjs';
3
3
  import { BlockApiProvider, FeedbackMessage, useBlockApi } from './chunk-UDNSI5PY.mjs';
4
4
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
5
- import { defineIslandPropsDecoder, themeButtonClassName, assertNever11, err2, ok } from './chunk-65F47D7Y.mjs';
6
- import { clsx_default } from './chunk-IVNCUVAV.mjs';
5
+ import { defineIslandPropsDecoder, themeButtonClassName, assertNever11, err2, ok } from './chunk-JGXPTEI2.mjs';
6
+ import { clsx_default } from './chunk-AUJ5DBZJ.mjs';
7
7
  import { useState, useReducer, useRef } from 'react';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
9
9
 
@@ -165,7 +165,7 @@ var FormNodeClient = ({
165
165
  if (key === "company" || key === "altcha-solution") continue;
166
166
  if (key in data) {
167
167
  const existing = data[key];
168
- data[key] = Array.isArray(existing) ? [...existing, fieldValue] : [existing, fieldValue];
168
+ data[key] = isUnknownArray(existing) ? [...existing, fieldValue] : [existing, fieldValue];
169
169
  } else {
170
170
  data[key] = fieldValue;
171
171
  }
@@ -219,6 +219,9 @@ var FormNodeClient = ({
219
219
  ) }) })
220
220
  ] });
221
221
  };
222
+ function isUnknownArray(value) {
223
+ return Array.isArray(value);
224
+ }
222
225
  var decode = defineIslandPropsDecoder("form");
223
226
  function snapshotFormValues(form) {
224
227
  if (!form) return [];
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { useCommerceCart } from './chunk-RZDWX7QW.mjs';
2
+ import { useCommerceCart } from './chunk-CWGTG37I.mjs';
3
3
  import { resolveDedicatedCheckoutPath, ModalShell } from './chunk-3PEDD5KJ.mjs';
4
- import { defineIslandPropsDecoder, buildCartDisplay, themeButtonClassName } from './chunk-65F47D7Y.mjs';
5
- import './chunk-IVNCUVAV.mjs';
4
+ import { defineIslandPropsDecoder, buildCartDisplay, themeButtonClassName } from './chunk-JGXPTEI2.mjs';
5
+ import './chunk-AUJ5DBZJ.mjs';
6
6
  import * as React2 from 'react';
7
7
  import { createPortal } from 'react-dom';
8
8
  import { createRoot } from 'react-dom/client';
@@ -1755,7 +1755,16 @@ var ENDPOINT_DEFINITIONS = {
1755
1755
  revalidate: 60,
1756
1756
  tags: ["site-{siteId}", "content-{siteId}-{type}"],
1757
1757
  auth: "user",
1758
- responseKind: "json"
1758
+ responseKind: "json",
1759
+ errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
1760
+ },
1761
+ reorderContentEntries: {
1762
+ path: "/sites/{siteId}/content/{type}/order",
1763
+ method: "POST",
1764
+ tags: ["site-{siteId}", "content-{siteId}-{type}"],
1765
+ auth: "user",
1766
+ responseKind: "json",
1767
+ errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
1759
1768
  },
1760
1769
  getContentTemplate: {
1761
1770
  path: "/sites/{siteId}/content/types/{type}/template",
@@ -6499,14 +6508,14 @@ function rotateNormalizedPoint(point, rotation) {
6499
6508
  const x = point.x;
6500
6509
  const y = point.y;
6501
6510
  switch (rotation) {
6511
+ case 0:
6512
+ return { x, y };
6502
6513
  case 90:
6503
6514
  return { x: 1 - y, y: x };
6504
6515
  case 180:
6505
6516
  return { x: 1 - x, y: 1 - y };
6506
6517
  case 270:
6507
6518
  return { x: y, y: 1 - x };
6508
- default:
6509
- return { x, y };
6510
6519
  }
6511
6520
  }
6512
6521
 
@@ -6699,6 +6708,8 @@ var uiSchema = z4.object({
6699
6708
  mediaPickerAutoOpen: z4.boolean().optional(),
6700
6709
  showMediaPreview: z4.boolean().optional(),
6701
6710
  showMediaOverlayActions: z4.boolean().optional(),
6711
+ mediaPreviewMaxWidth: z4.enum(["xs", "sm", "md", "none"]).optional(),
6712
+ preventMediaPreviewUpscale: z4.boolean().optional(),
6702
6713
  mediaDelivery: mediaDeliverySchema.optional(),
6703
6714
  mediaDeliveryByVariant: z4.record(z4.string(), mediaDeliverySchema).optional(),
6704
6715
  // Optional input hints for validators/widgets
@@ -6948,6 +6959,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
6948
6959
  type: z4.literal("repeater"),
6949
6960
  itemLabel: z4.string().default("Item"),
6950
6961
  itemLabelSource: z4.string().optional(),
6962
+ showSummary: z4.boolean().optional(),
6963
+ summaryFields: z4.string().array().optional(),
6964
+ summaryMaxChars: z4.number().int().positive().optional(),
6951
6965
  minItems: z4.number().int().min(0).default(0),
6952
6966
  maxItems: z4.number().int().positive().optional(),
6953
6967
  // Monomorphic mode
@@ -16003,47 +16017,48 @@ function validateFieldDefinitions(fields3, fragmentId) {
16003
16017
  function prefixFieldId(field, scope) {
16004
16018
  const cloned = cloneFieldDefinition2(field);
16005
16019
  cloned.id = `${scope}.${field.id}`;
16006
- cloned.defaultValue = cloneUnknown(cloned.defaultValue);
16020
+ const defaultValue = cloned.defaultValue;
16021
+ cloned.defaultValue = cloneUnknown(defaultValue);
16007
16022
  cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
16008
16023
  cloned.ui = cloneUnknown(cloned.ui);
16009
16024
  return cloned;
16010
16025
  }
16011
16026
  function cloneFieldDefinition2(field) {
16012
- switch (field.type) {
16013
- case "repeater":
16014
- if (field.polymorphic && field.itemTypes) {
16015
- return {
16016
- ...field,
16017
- polymorphic: true,
16018
- itemTypes: Object.fromEntries(
16019
- Object.entries(field.itemTypes).map(([key, itemType]) => [
16020
- key,
16021
- {
16022
- ...itemType,
16023
- fields: itemType.fields.map(cloneFieldDefinition2)
16024
- }
16025
- ])
16026
- )
16027
- };
16028
- } else if (field.schema) {
16029
- return {
16030
- ...field,
16031
- schema: {
16032
- fields: field.schema.fields.map(cloneFieldDefinition2)
16033
- }
16034
- };
16035
- }
16036
- return { ...field };
16037
- case "group":
16027
+ if (field.type === "repeater") {
16028
+ if (field.polymorphic && field.itemTypes) {
16029
+ return {
16030
+ ...field,
16031
+ polymorphic: true,
16032
+ itemTypes: Object.fromEntries(
16033
+ Object.entries(field.itemTypes).map(([key, itemType]) => [
16034
+ key,
16035
+ {
16036
+ ...itemType,
16037
+ fields: itemType.fields.map(cloneFieldDefinition2)
16038
+ }
16039
+ ])
16040
+ )
16041
+ };
16042
+ }
16043
+ if (field.schema) {
16038
16044
  return {
16039
16045
  ...field,
16040
16046
  schema: {
16041
16047
  fields: field.schema.fields.map(cloneFieldDefinition2)
16042
16048
  }
16043
16049
  };
16044
- default:
16045
- return { ...field };
16050
+ }
16051
+ return { ...field };
16052
+ }
16053
+ if (field.type === "group") {
16054
+ return {
16055
+ ...field,
16056
+ schema: {
16057
+ fields: field.schema.fields.map(cloneFieldDefinition2)
16058
+ }
16059
+ };
16046
16060
  }
16061
+ return { ...field };
16047
16062
  }
16048
16063
  function cloneUnknown(value) {
16049
16064
  if (value == null || typeof value !== "object") {
@@ -18386,7 +18401,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
18386
18401
  return createBlockManifest(config);
18387
18402
  }
18388
18403
  function normalizeBlockLayout(layout) {
18389
- return Array.isArray(layout) ? [...layout] : layout;
18404
+ const rawLayout = layout;
18405
+ return Array.isArray(rawLayout) ? rawLayout : rawLayout;
18390
18406
  }
18391
18407
  function deriveComponentName(id) {
18392
18408
  const base = id.replace(/^block\./, "");
@@ -19932,16 +19948,20 @@ var marqueeLoopTransform = {
19932
19948
  summary: "Repeat an array to a minimum length, then duplicate it for seamless marquee looping",
19933
19949
  schema: marqueeLoopOptionsSchema,
19934
19950
  run: (value, options) => {
19935
- if (!Array.isArray(value) || value.length === 0) return [];
19951
+ const items = toUnknownArray(value);
19952
+ if (items.length === 0) return [];
19936
19953
  const minItems = options?.minItems ?? 10;
19937
19954
  const base = [];
19938
19955
  while (base.length < minItems) {
19939
- base.push(...value);
19956
+ base.push(...items);
19940
19957
  if (base.length > 1e3) break;
19941
19958
  }
19942
19959
  return [...base, ...base];
19943
19960
  }
19944
19961
  };
19962
+ function toUnknownArray(value) {
19963
+ return Array.isArray(value) ? value : [];
19964
+ }
19945
19965
  var formattingTransforms = [
19946
19966
  uppercaseTransform,
19947
19967
  fallbackTransform,
@@ -23611,8 +23631,8 @@ var eventSurfaceScopeValues = [
23611
23631
  "custom"
23612
23632
  ];
23613
23633
  var eventScheduleScopeValues = ["any", "recurring", "oneOff"];
23614
- var asEventCategoryId = (value) => value;
23615
- var asVenueId = (value) => value;
23634
+ var unsafeAsEventCategoryId = (value) => value;
23635
+ var unsafeAsVenueId = (value) => value;
23616
23636
  function normalizeEventBlockKind(value) {
23617
23637
  return value === "courses" || value === "events" ? value : "all";
23618
23638
  }
@@ -23638,10 +23658,10 @@ function normalizeEventCategoryIds(value) {
23638
23658
  if (Array.isArray(value)) {
23639
23659
  return normalizeIdList(
23640
23660
  value.filter((entry) => typeof entry === "string")
23641
- ).map(asEventCategoryId);
23661
+ ).map(unsafeAsEventCategoryId);
23642
23662
  }
23643
23663
  if (typeof value === "string") {
23644
- return normalizeIdList(value.split(",")).map(asEventCategoryId);
23664
+ return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
23645
23665
  }
23646
23666
  return [];
23647
23667
  }
@@ -23654,7 +23674,7 @@ function normalizeEventVenueId(value) {
23654
23674
  return null;
23655
23675
  }
23656
23676
  const trimmed = value.trim();
23657
- return trimmed ? asVenueId(trimmed) : null;
23677
+ return trimmed ? unsafeAsVenueId(trimmed) : null;
23658
23678
  }
23659
23679
  function normalizeEventStaffMemberId(value) {
23660
23680
  if (typeof value !== "string") {
@@ -33278,11 +33298,11 @@ function normalizeContent(block) {
33278
33298
  }
33279
33299
  function normalizeParams(input) {
33280
33300
  if (!input || typeof input !== "object") return {};
33281
- const entries = Object.entries(input).map(([key, value]) => [
33282
- key,
33283
- coerceToString(value)
33284
- ]);
33285
- return Object.fromEntries(entries);
33301
+ const output = {};
33302
+ for (const [key, value] of Object.entries(input)) {
33303
+ output[key] = coerceToString(value);
33304
+ }
33305
+ return output;
33286
33306
  }
33287
33307
  function isNonArrayObject(value) {
33288
33308
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -33498,10 +33518,16 @@ var dashboardConfigSchema = z61.object({
33498
33518
  var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
33499
33519
  var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
33500
33520
  var sdkLoaderEndpointSchema = z61.enum(SUPPORTED_LOADER_ENDPOINTS);
33521
+ var loaderFallbackScalarSchema = z61.union([
33522
+ z61.string(),
33523
+ z61.number(),
33524
+ z61.boolean(),
33525
+ z61.null()
33526
+ ]);
33501
33527
  var loaderParamBindingSchema = z61.object({
33502
33528
  $bind: z61.object({
33503
33529
  from: z61.string().min(1, "Binding path is required"),
33504
- fallback: z61.string().optional()
33530
+ fallback: loaderFallbackScalarSchema.optional()
33505
33531
  })
33506
33532
  });
33507
33533
  var loaderParamValueSchema = z61.union([
@@ -33647,9 +33673,13 @@ var sdkBlockFieldOptionsMapSchema = z61.record(
33647
33673
  var sdkContentTypeTemplateConfigSchema = z61.object({
33648
33674
  blocks: z61.array(z61.unknown())
33649
33675
  }).passthrough();
33676
+ var sdkContentTypeOrderingConfigSchema = z61.object({
33677
+ mode: z61.enum(["default", "manual"]).optional()
33678
+ }).optional();
33650
33679
  var sdkContentTypeConfigSchema = z61.object({
33651
33680
  key: z61.string().min(1),
33652
33681
  fields: z61.array(z61.unknown()),
33682
+ ordering: sdkContentTypeOrderingConfigSchema,
33653
33683
  template: sdkContentTypeTemplateConfigSchema.nullable().optional()
33654
33684
  }).passthrough();
33655
33685
  var sdkContentConfigSchema = z61.object({
@@ -34649,7 +34679,7 @@ async function prefetchBlockData2(page, context, client, options) {
34649
34679
  throw new Error("listPublishedEntries requires siteId and type params");
34650
34680
  }
34651
34681
  const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
34652
- const order = orderBy === "newest" || orderBy === "oldest" || orderBy === "title" || orderBy === "order" ? orderBy : void 0;
34682
+ const order = orderBy === "order" ? "manual" : orderBy === "newest" || orderBy === "oldest" || orderBy === "title" ? orderBy : void 0;
34653
34683
  const parsedEntryIds = mode === "manual" ? parseManualEntryIds(entryIds) : void 0;
34654
34684
  if (mode === "manual" && (!parsedEntryIds || parsedEntryIds.length === 0)) {
34655
34685
  return { entries: [] };
@@ -34922,7 +34952,7 @@ function usePage(params) {
34922
34952
  });
34923
34953
  }
34924
34954
  }
34925
- fetchPage();
34955
+ void fetchPage();
34926
34956
  return () => {
34927
34957
  cancelled = true;
34928
34958
  };
@@ -1,8 +1,8 @@
1
- import { LeafletStaticMap } from './chunk-F7LHOKEH.mjs';
1
+ import { LeafletStaticMap } from './chunk-XSV6KW4D.mjs';
2
2
  import './chunk-I2MMZO53.mjs';
3
3
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
4
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
5
- import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-IVNCUVAV.mjs';
4
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
5
+ import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-AUJ5DBZJ.mjs';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
 
8
8
  // ../blocks/src/system/runtime/nodes/location-map.shared.ts
@@ -3,8 +3,8 @@ import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-
3
3
  import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-YLMKMCSJ.mjs';
4
4
  import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-UDNSI5PY.mjs';
5
5
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
6
- import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-65F47D7Y.mjs';
7
- import { clsx_default } from './chunk-IVNCUVAV.mjs';
6
+ import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-JGXPTEI2.mjs';
7
+ import { clsx_default } from './chunk-AUJ5DBZJ.mjs';
8
8
  import { useState } from 'react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, ProductDetailClient } from './chunk-RV6FX7UH.mjs';
2
- import './chunk-RZDWX7QW.mjs';
3
- import './chunk-OFMSCGNY.mjs';
1
+ import { mountShopBlockIsland, ProductDetailClient } from './chunk-FUXW6VW2.mjs';
2
+ import './chunk-CWGTG37I.mjs';
3
+ import './chunk-75OUS5MT.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-PD6NBCEY.mjs';
6
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-ZFHRN6W2.mjs';
6
+ import './chunk-UVQEJJTN.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
12
- import './chunk-IVNCUVAV.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
12
+ import './chunk-AUJ5DBZJ.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/productDetail.tsx
15
15
  var decode = defineIslandPropsDecoder("product-detail");
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, ProductListClient } from './chunk-RV6FX7UH.mjs';
2
- import './chunk-RZDWX7QW.mjs';
3
- import './chunk-OFMSCGNY.mjs';
1
+ import { mountShopBlockIsland, ProductListClient } from './chunk-FUXW6VW2.mjs';
2
+ import './chunk-CWGTG37I.mjs';
3
+ import './chunk-75OUS5MT.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-PD6NBCEY.mjs';
6
- import './chunk-VPPMNXCF.mjs';
5
+ import './chunk-ZFHRN6W2.mjs';
6
+ import './chunk-UVQEJJTN.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
12
- import './chunk-IVNCUVAV.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-JGXPTEI2.mjs';
12
+ import './chunk-AUJ5DBZJ.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/productList.tsx
15
15
  var decode = defineIslandPropsDecoder("product-list");