@riverbankcms/sdk 0.88.0 → 0.89.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 (103) hide show
  1. package/dist/{PreviewEditorSidebar-EVRS3C7T.mjs → PreviewEditorSidebar-JDR64FEC.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-54WD4IGE.mjs → PreviewEditorUI-67TMJMAF.mjs} +3 -3
  3. package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +8 -0
  4. package/dist/_dts/api/src/accessAdmin.d.ts +7 -0
  5. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  6. package/dist/_dts/api/src/index.d.ts +2 -2
  7. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  8. package/dist/_dts/api/src/siteMembers.d.ts +6 -1
  9. package/dist/_dts/api/src/types.d.ts +1 -1
  10. package/dist/_dts/blocks/src/system/icons/cta.d.ts +3 -3
  11. package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
  12. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -2
  13. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +3 -3
  14. package/dist/_dts/blocks/src/system/icons/svg.d.ts +72 -0
  15. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -0
  16. package/dist/_dts/blocks/src/system/runtime/hooks/loadStateError.d.ts +1 -0
  17. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -1
  18. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.state.d.ts +55 -0
  19. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.state.d.ts +39 -0
  20. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.d.ts +4 -27
  21. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFormConfig.state.d.ts +40 -0
  22. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +20 -0
  23. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.state.d.ts +31 -0
  24. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +3 -3
  25. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.state.d.ts +39 -0
  26. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +24 -2
  28. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +24 -0
  29. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +35 -0
  30. package/dist/_dts/content-model/src/entry-slots/types.d.ts +54 -0
  31. package/dist/_dts/core/src/branded.d.ts +7 -0
  32. package/dist/_dts/core/src/index.d.ts +1 -0
  33. package/dist/_dts/core/src/site-route-target.d.ts +40 -0
  34. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +159 -2
  35. package/dist/_dts/media-core/src/fileDomain.d.ts +4 -0
  36. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +160 -0
  37. package/dist/_dts/sdk/src/client/types.d.ts +26 -1
  38. package/dist/_dts/sdk/src/index.d.ts +3 -1
  39. package/dist/_dts/sdk/src/version.d.ts +1 -1
  40. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  41. package/dist/{chunk-YDMBIIS5.mjs → chunk-7N46MZHI.mjs} +1 -1
  42. package/dist/{chunk-7KOO7RPP.mjs → chunk-7YUAXONX.mjs} +1007 -353
  43. package/dist/{chunk-O4LVYUVH.mjs → chunk-F645A5UV.mjs} +18 -0
  44. package/dist/{chunk-ER4UIW4X.mjs → chunk-HKJQERFR.mjs} +7 -7
  45. package/dist/{chunk-K3JWH6HE.mjs → chunk-TGBJWKMP.mjs} +1 -1
  46. package/dist/{chunk-HVOBXA3Y.mjs → chunk-ZQRBLCW5.mjs} +2 -2
  47. package/dist/cli/index.mjs +668 -18
  48. package/dist/client/{accordion-PT5CGW5N.mjs → accordion-MUCVNGQ7.mjs} +2 -2
  49. package/dist/client/{bookingForm-2HLRTEYS.mjs → bookingForm-PKD6EFIE.mjs} +192 -76
  50. package/dist/client/bookings.mjs +436 -191
  51. package/dist/client/{carousel-Z2LKYSWA.mjs → carousel-3TKQSNJC.mjs} +4 -3
  52. package/dist/client/{cart-ND5IK4A6.mjs → cart-6XHSZK23.mjs} +8 -7
  53. package/dist/client/{checkout-EYUSGAY7.mjs → checkout-FVSPM6FI.mjs} +8 -7
  54. package/dist/client/chunk-6N7YRNYU.mjs +183 -0
  55. package/dist/client/{chunk-O5JNI3E4.mjs → chunk-7DH35FGA.mjs} +2 -2
  56. package/dist/client/{chunk-BAWHZ5GM.mjs → chunk-CQKKFEQD.mjs} +195 -61
  57. package/dist/client/{chunk-X7GVFB7Y.mjs → chunk-EY42X22F.mjs} +3 -3
  58. package/dist/client/{chunk-6DVPO44G.mjs → chunk-FHU6PFPM.mjs} +1 -1
  59. package/dist/client/{chunk-H4MHEXYS.mjs → chunk-LQFDYWPJ.mjs} +1 -1
  60. package/dist/client/{chunk-MHBEWDT7.mjs → chunk-RSQWWUAD.mjs} +122 -50
  61. package/dist/client/{chunk-GOFO7HRH.mjs → chunk-STJ2NCQM.mjs} +1 -1
  62. package/dist/client/{chunk-DIRW2LNG.mjs → chunk-UQFY4AHX.mjs} +272 -198
  63. package/dist/client/{chunk-WCVK4MBJ.mjs → chunk-VGLXACVK.mjs} +1 -1
  64. package/dist/client/{chunk-BL66UWGD.mjs → chunk-ZJZZA5EP.mjs} +6 -6
  65. package/dist/client/{chunk-S4G65LGR.mjs → chunk-ZT5XE7FK.mjs} +1 -1
  66. package/dist/client/client.mjs +3823 -3507
  67. package/dist/client/{courseRegistration-H3AZBUEG.mjs → courseRegistration-ATZSYDHM.mjs} +6 -6
  68. package/dist/client/{eventCalendar-FPKJGLGS.mjs → eventCalendar-6T2UGKKP.mjs} +10 -9
  69. package/dist/client/{eventCombined-QCGIZBUY.mjs → eventCombined-Q4VANXVF.mjs} +10 -9
  70. package/dist/client/{eventDetails-HIT3BJWU.mjs → eventDetails-DW37E7VW.mjs} +10 -9
  71. package/dist/client/{eventListing-R4HNWJDN.mjs → eventListing-XURTSAUW.mjs} +10 -9
  72. package/dist/client/{eventRegistration-Q7BYY5HF.mjs → eventRegistration-MRKEVAXW.mjs} +10 -9
  73. package/dist/client/{form-NI6YOG6S.mjs → form-WZZFFGMU.mjs} +3 -3
  74. package/dist/client/{headerSection-SDYGII36.mjs → headerSection-EQYVQBLM.mjs} +3 -3
  75. package/dist/client/hooks.mjs +18 -0
  76. package/dist/client/{locationMap-BDETEUQD.mjs → locationMap-MFF5VAZR.mjs} +3 -3
  77. package/dist/client/{newsletterForm-EKYIU67X.mjs → newsletterForm-JQ77UYIE.mjs} +60 -24
  78. package/dist/client/{productDetail-5UTGNN76.mjs → productDetail-25LMT3IZ.mjs} +8 -7
  79. package/dist/client/{productList-7YA5KXZQ.mjs → productList-5ABEMKUG.mjs} +8 -7
  80. package/dist/client/rendering/client.mjs +3266 -3528
  81. package/dist/client/rendering/islands.mjs +19 -19
  82. package/dist/client/rendering.mjs +3143 -3452
  83. package/dist/client/{shop-AIMUMZYC.mjs → shop-OMMQZ6YO.mjs} +8 -7
  84. package/dist/preview-next/before-render.mjs +18 -0
  85. package/dist/preview-next/client/runtime.mjs +5 -5
  86. package/dist/preview-next/middleware.mjs +18 -0
  87. package/dist/{sdk-runtime-NW472WNT.mjs → sdk-runtime-WNLBZ3ZH.mjs} +6 -6
  88. package/dist/server/components.mjs +1068 -1540
  89. package/dist/server/config-validation.mjs +18 -0
  90. package/dist/server/config.mjs +18 -0
  91. package/dist/server/data.mjs +18 -0
  92. package/dist/server/index.mjs +847 -261
  93. package/dist/server/next.mjs +1708 -1555
  94. package/dist/server/prebuild.mjs +1 -1
  95. package/dist/server/rendering/server.mjs +1068 -1540
  96. package/dist/server/rendering.mjs +1074 -1546
  97. package/dist/server/routing.mjs +314 -9
  98. package/dist/server/server.mjs +668 -25
  99. package/dist/server/theme-bridge.mjs +26 -0
  100. package/dist/styles/index.css +26 -0
  101. package/package.json +2 -1
  102. package/dist/SdkPreviewModeRuntime-ZALZDJEK.mjs +0 -8
  103. /package/dist/client/{chunk-LI2C6M5O.mjs → chunk-25W2EQUN.mjs} +0 -0
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { useWaitlistClaim, resolveCoursePricingState, formatCoursePriceDisplay, formatCoursePriceAmount, MagicLinkForm } from './chunk-MHBEWDT7.mjs';
3
- import { SpinnerNode } from './chunk-6DVPO44G.mjs';
2
+ import { useWaitlistClaim, resolveCoursePricingState, formatCoursePriceDisplay, formatCoursePriceAmount, MagicLinkForm } from './chunk-RSQWWUAD.mjs';
3
+ import { SpinnerNode } from './chunk-FHU6PFPM.mjs';
4
4
  import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
5
- import { DiscountCodeDisclosure, getStepNumber, logoutPortal, StepIndicator, LoggedInAsUser, CheckIcon, formatPrice, TerminalPanel, StateIcon, ClockIcon, CrossIcon, scrollToBlock, buildCheckoutReturnUrls, MembershipHero, validateFormData } from './chunk-X7GVFB7Y.mjs';
5
+ import { DiscountCodeDisclosure, getStepNumber, logoutPortal, StepIndicator, LoggedInAsUser, CheckIcon, formatPrice, TerminalPanel, StateIcon, ClockIcon, CrossIcon, scrollToBlock, buildCheckoutReturnUrls, MembershipHero, validateFormData } from './chunk-EY42X22F.mjs';
6
6
  import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
7
7
  import { ModalShell } from './chunk-WBQG7VJA.mjs';
8
8
  import { AltchaWidget, getChallengeUrl, isSpamProtectionEnabled } from './chunk-SDIYSQAY.mjs';
9
- import { BlockApiProvider, useBlockApi } from './chunk-GOFO7HRH.mjs';
9
+ import { BlockApiProvider, useBlockApi } from './chunk-STJ2NCQM.mjs';
10
10
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-DIRW2LNG.mjs';
12
- import { formatBookingDate, toScheduledBookingDateTime, toBookingTimeZone, formatBookingTime } from './chunk-LI2C6M5O.mjs';
11
+ import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-UQFY4AHX.mjs';
12
+ import { formatBookingDate, toScheduledBookingDateTime, toBookingTimeZone, formatBookingTime } from './chunk-25W2EQUN.mjs';
13
13
  import React2, { Component, useMemo, useState, useEffect } from 'react';
14
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
15
15
 
@@ -1,18 +1,19 @@
1
- import { EventCalendarClient } from './chunk-BAWHZ5GM.mjs';
2
- import './chunk-S4G65LGR.mjs';
3
- import './chunk-MHBEWDT7.mjs';
4
- import './chunk-H4MHEXYS.mjs';
5
- import './chunk-6DVPO44G.mjs';
1
+ import { EventCalendarClient } from './chunk-CQKKFEQD.mjs';
2
+ import './chunk-ZT5XE7FK.mjs';
3
+ import './chunk-RSQWWUAD.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
5
+ import './chunk-LQFDYWPJ.mjs';
6
+ import './chunk-FHU6PFPM.mjs';
6
7
  import './chunk-ZFHRN6W2.mjs';
7
8
  import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
8
- import './chunk-X7GVFB7Y.mjs';
9
+ import './chunk-EY42X22F.mjs';
9
10
  import './chunk-3DCJ45Z2.mjs';
10
11
  import './chunk-WBQG7VJA.mjs';
11
12
  import './chunk-SDIYSQAY.mjs';
12
- import { BlockApiProvider } from './chunk-GOFO7HRH.mjs';
13
+ import { BlockApiProvider } from './chunk-STJ2NCQM.mjs';
13
14
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
15
- import './chunk-LI2C6M5O.mjs';
15
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
16
+ import './chunk-25W2EQUN.mjs';
16
17
  import { jsx } from 'react/jsx-runtime';
17
18
 
18
19
  var decode = defineIslandPropsDecoder("event-calendar");
@@ -1,18 +1,19 @@
1
- import { EventCombinedIslandClient } from './chunk-BAWHZ5GM.mjs';
2
- import './chunk-S4G65LGR.mjs';
3
- import './chunk-MHBEWDT7.mjs';
4
- import './chunk-H4MHEXYS.mjs';
5
- import './chunk-6DVPO44G.mjs';
1
+ import { EventCombinedIslandClient } from './chunk-CQKKFEQD.mjs';
2
+ import './chunk-ZT5XE7FK.mjs';
3
+ import './chunk-RSQWWUAD.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
5
+ import './chunk-LQFDYWPJ.mjs';
6
+ import './chunk-FHU6PFPM.mjs';
6
7
  import './chunk-ZFHRN6W2.mjs';
7
8
  import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
8
- import './chunk-X7GVFB7Y.mjs';
9
+ import './chunk-EY42X22F.mjs';
9
10
  import './chunk-3DCJ45Z2.mjs';
10
11
  import './chunk-WBQG7VJA.mjs';
11
12
  import './chunk-SDIYSQAY.mjs';
12
- import { BlockApiProvider } from './chunk-GOFO7HRH.mjs';
13
+ import { BlockApiProvider } from './chunk-STJ2NCQM.mjs';
13
14
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
15
- import './chunk-LI2C6M5O.mjs';
15
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
16
+ import './chunk-25W2EQUN.mjs';
16
17
  import { jsx } from 'react/jsx-runtime';
17
18
 
18
19
  var decode = defineIslandPropsDecoder("event-combined");
@@ -1,17 +1,18 @@
1
- import { EventDetailsIslandClient } from './chunk-BAWHZ5GM.mjs';
2
- import './chunk-S4G65LGR.mjs';
3
- import './chunk-MHBEWDT7.mjs';
4
- import './chunk-H4MHEXYS.mjs';
5
- import './chunk-6DVPO44G.mjs';
1
+ import { EventDetailsIslandClient } from './chunk-CQKKFEQD.mjs';
2
+ import './chunk-ZT5XE7FK.mjs';
3
+ import './chunk-RSQWWUAD.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
5
+ import './chunk-LQFDYWPJ.mjs';
6
+ import './chunk-FHU6PFPM.mjs';
6
7
  import './chunk-ZFHRN6W2.mjs';
7
- import './chunk-X7GVFB7Y.mjs';
8
+ import './chunk-EY42X22F.mjs';
8
9
  import './chunk-3DCJ45Z2.mjs';
9
10
  import './chunk-WBQG7VJA.mjs';
10
11
  import './chunk-SDIYSQAY.mjs';
11
- import './chunk-GOFO7HRH.mjs';
12
+ import './chunk-STJ2NCQM.mjs';
12
13
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
13
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
14
- import './chunk-LI2C6M5O.mjs';
14
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
15
+ import './chunk-25W2EQUN.mjs';
15
16
  import { jsx } from 'react/jsx-runtime';
16
17
 
17
18
  var decode = defineIslandPropsDecoder("event-details");
@@ -1,18 +1,19 @@
1
- import { EventListingClient } from './chunk-BAWHZ5GM.mjs';
2
- import './chunk-S4G65LGR.mjs';
3
- import './chunk-MHBEWDT7.mjs';
4
- import './chunk-H4MHEXYS.mjs';
5
- import './chunk-6DVPO44G.mjs';
1
+ import { EventListingClient } from './chunk-CQKKFEQD.mjs';
2
+ import './chunk-ZT5XE7FK.mjs';
3
+ import './chunk-RSQWWUAD.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
5
+ import './chunk-LQFDYWPJ.mjs';
6
+ import './chunk-FHU6PFPM.mjs';
6
7
  import './chunk-ZFHRN6W2.mjs';
7
8
  import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
8
- import './chunk-X7GVFB7Y.mjs';
9
+ import './chunk-EY42X22F.mjs';
9
10
  import './chunk-3DCJ45Z2.mjs';
10
11
  import './chunk-WBQG7VJA.mjs';
11
12
  import './chunk-SDIYSQAY.mjs';
12
- import { BlockApiProvider } from './chunk-GOFO7HRH.mjs';
13
+ import { BlockApiProvider } from './chunk-STJ2NCQM.mjs';
13
14
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
15
- import './chunk-LI2C6M5O.mjs';
15
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
16
+ import './chunk-25W2EQUN.mjs';
16
17
  import { jsx } from 'react/jsx-runtime';
17
18
 
18
19
  var decode = defineIslandPropsDecoder("event-listing");
@@ -1,18 +1,19 @@
1
- import { EventRegistrationIslandClient } from './chunk-BAWHZ5GM.mjs';
2
- import './chunk-S4G65LGR.mjs';
3
- import './chunk-MHBEWDT7.mjs';
4
- import './chunk-H4MHEXYS.mjs';
5
- import './chunk-6DVPO44G.mjs';
1
+ import { EventRegistrationIslandClient } from './chunk-CQKKFEQD.mjs';
2
+ import './chunk-ZT5XE7FK.mjs';
3
+ import './chunk-RSQWWUAD.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
5
+ import './chunk-LQFDYWPJ.mjs';
6
+ import './chunk-FHU6PFPM.mjs';
6
7
  import './chunk-ZFHRN6W2.mjs';
7
8
  import { buildRouteIslandApiConfig } from './chunk-L4J5Y62O.mjs';
8
- import './chunk-X7GVFB7Y.mjs';
9
+ import './chunk-EY42X22F.mjs';
9
10
  import './chunk-3DCJ45Z2.mjs';
10
11
  import './chunk-WBQG7VJA.mjs';
11
12
  import './chunk-SDIYSQAY.mjs';
12
- import { BlockApiProvider } from './chunk-GOFO7HRH.mjs';
13
+ import { BlockApiProvider } from './chunk-STJ2NCQM.mjs';
13
14
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
14
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
15
- import './chunk-LI2C6M5O.mjs';
15
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
16
+ import './chunk-25W2EQUN.mjs';
16
17
  import { jsx } from 'react/jsx-runtime';
17
18
 
18
19
  var decode = defineIslandPropsDecoder("event-registration");
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-SDIYSQAY.mjs';
3
- import { BlockApiProvider, FeedbackMessage, useBlockApi } from './chunk-GOFO7HRH.mjs';
3
+ import { BlockApiProvider, FeedbackMessage, useBlockApi } from './chunk-STJ2NCQM.mjs';
4
4
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
5
- import { defineIslandPropsDecoder, themeButtonClassName, assertNever11, err2, ok } from './chunk-DIRW2LNG.mjs';
6
- import { clsx_default } from './chunk-LI2C6M5O.mjs';
5
+ import { defineIslandPropsDecoder, themeButtonClassName, assertNever11, err2, ok } from './chunk-UQFY4AHX.mjs';
6
+ import { clsx_default } from './chunk-25W2EQUN.mjs';
7
7
  import { useState, useReducer, useRef } from 'react';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
9
9
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { useCommerceCart } from './chunk-WCVK4MBJ.mjs';
2
+ import { useCommerceCart } from './chunk-VGLXACVK.mjs';
3
3
  import { resolveDedicatedCheckoutPath, ModalShell } from './chunk-WBQG7VJA.mjs';
4
- import { defineIslandPropsDecoder, buildCartDisplay, themeButtonClassName } from './chunk-DIRW2LNG.mjs';
5
- import './chunk-LI2C6M5O.mjs';
4
+ import { defineIslandPropsDecoder, buildCartDisplay, themeButtonClassName } from './chunk-UQFY4AHX.mjs';
5
+ import './chunk-25W2EQUN.mjs';
6
6
  import * as React2 from 'react';
7
7
  import { createPortal } from 'react-dom';
8
8
  import { createRoot } from 'react-dom/client';
@@ -1817,6 +1817,24 @@ var ENDPOINT_DEFINITIONS = {
1817
1817
  auth: "user",
1818
1818
  responseKind: "json"
1819
1819
  },
1820
+ resendSiteInvitation: {
1821
+ path: "/sites/{siteId}/members/invitations/{invitationId}/resend",
1822
+ method: "POST",
1823
+ errors: [
1824
+ "auth:forbidden",
1825
+ "resource:not_found",
1826
+ "validation:invalid_input",
1827
+ "external:service_error",
1828
+ "server:internal_error"
1829
+ ],
1830
+ tags: [
1831
+ "site-{siteId}",
1832
+ "site-members-{siteId}",
1833
+ "site-invite-{invitationId}"
1834
+ ],
1835
+ auth: "user",
1836
+ responseKind: "json"
1837
+ },
1820
1838
  transferSiteOwnership: {
1821
1839
  path: "/sites/{siteId}/members/transfer-ownership",
1822
1840
  method: "POST",
@@ -1,7 +1,7 @@
1
- import { LeafletStaticMap } from './chunk-S4G65LGR.mjs';
1
+ import { LeafletStaticMap } from './chunk-ZT5XE7FK.mjs';
2
2
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
3
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
4
- import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-LI2C6M5O.mjs';
3
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
4
+ import { normalizeLocationAddressText, toLocationCoordinates, textColorStyle, mergeStyles, borderColorStyle, backgroundColorStyle } from './chunk-25W2EQUN.mjs';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  // ../blocks/src/system/runtime/nodes/location-map.shared.ts
@@ -1,14 +1,31 @@
1
1
  "use client";
2
2
  import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
3
3
  import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-SDIYSQAY.mjs';
4
- import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-GOFO7HRH.mjs';
4
+ import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-STJ2NCQM.mjs';
5
5
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
6
- import { defineIslandPropsDecoder, themeButtonClassName } from './chunk-DIRW2LNG.mjs';
7
- import { clsx_default } from './chunk-LI2C6M5O.mjs';
8
- import { useState } from 'react';
6
+ import { defineIslandPropsDecoder, themeButtonClassName, assertNever11 } from './chunk-UQFY4AHX.mjs';
7
+ import { clsx_default } from './chunk-25W2EQUN.mjs';
8
+ import { useReducer, useState } from 'react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
11
11
  // ../blocks/src/system/runtime/nodes/newsletter-form.client.state.ts
12
+ var initialNewsletterFormSubmissionState = {
13
+ tag: "idle"
14
+ };
15
+ function newsletterFormSubmissionReducer(state, action) {
16
+ switch (action.type) {
17
+ case "submitted":
18
+ if (state.tag === "success") return state;
19
+ return { tag: "submitting" };
20
+ case "failed":
21
+ if (state.tag === "success") return state;
22
+ return { tag: "error", error: action.error };
23
+ case "succeeded":
24
+ return { tag: "success" };
25
+ default:
26
+ return assertNever11(action);
27
+ }
28
+ }
12
29
  function newsletterFieldError(fieldId, message) {
13
30
  return { kind: "field", fieldId, message };
14
31
  }
@@ -21,6 +38,18 @@ function getNewsletterFieldError(error, fieldId) {
21
38
  function getNewsletterFormError(error) {
22
39
  return error?.kind === "form" ? error.message : null;
23
40
  }
41
+ function isNewsletterFormSubmitting(state) {
42
+ return state.tag === "submitting";
43
+ }
44
+ function isNewsletterFormSuccess(state) {
45
+ return state.tag === "success";
46
+ }
47
+ function getNewsletterSubmissionFieldError(state, fieldId) {
48
+ return state.tag === "error" ? getNewsletterFieldError(state.error, fieldId) : null;
49
+ }
50
+ function getNewsletterSubmissionFormError(state) {
51
+ return state.tag === "error" ? getNewsletterFormError(state.error) : null;
52
+ }
24
53
 
25
54
  // ../blocks/src/system/runtime/nodes/newsletter-form.submission.ts
26
55
  function mapNewsletterFormFieldsToSubscriberInput(fields) {
@@ -68,16 +97,16 @@ function NewsletterFormClient({
68
97
  render
69
98
  }) {
70
99
  const api = useBlockApi();
71
- const [isSubmitting, setIsSubmitting] = useState(false);
72
- const [error, setError] = useState(null);
73
- const [isSuccess, setIsSuccess] = useState(false);
100
+ const [submissionState, dispatchSubmission] = useReducer(
101
+ newsletterFormSubmissionReducer,
102
+ initialNewsletterFormSubmissionState
103
+ );
74
104
  const [altchaSolution, setAltchaSolution] = useState(null);
75
105
  const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
76
106
  const fields = render.display.fields;
77
107
  const parsedTags = typeof render.hydration.tags === "string" ? render.hydration.tags.split(/[;,]/g).map((t) => t.trim()).filter(Boolean) : [];
78
108
  const handleSubmit = async (e) => {
79
109
  e.preventDefault();
80
- setError(null);
81
110
  const formData = new FormData(e.currentTarget);
82
111
  const submittedFields = mapNewsletterFormFieldsToSubscriberInput({
83
112
  email: formData.get("email"),
@@ -89,11 +118,14 @@ function NewsletterFormClient({
89
118
  website: formData.get("website")
90
119
  });
91
120
  if (submittedFields.honeypot) {
92
- setIsSuccess(true);
121
+ dispatchSubmission({ type: "succeeded" });
93
122
  return;
94
123
  }
95
124
  if (!submittedFields.email) {
96
- setError(newsletterFieldError("email", "Email is required"));
125
+ dispatchSubmission({
126
+ type: "failed",
127
+ error: newsletterFieldError("email", "Email is required")
128
+ });
97
129
  return;
98
130
  }
99
131
  const submitTarget = resolveNewsletterSubmitTarget({
@@ -101,10 +133,13 @@ function NewsletterFormClient({
101
133
  destinationRef: render.hydration.destinationRef
102
134
  });
103
135
  if (submitTarget.tag === "unavailable") {
104
- setError(newsletterFormError("Newsletter list is not configured"));
136
+ dispatchSubmission({
137
+ type: "failed",
138
+ error: newsletterFormError("Newsletter list is not configured")
139
+ });
105
140
  return;
106
141
  }
107
- setIsSubmitting(true);
142
+ dispatchSubmission({ type: "submitted" });
108
143
  try {
109
144
  await api.subscribeNewsletter({
110
145
  email: submittedFields.email,
@@ -120,18 +155,19 @@ function NewsletterFormClient({
120
155
  altchaSolution
121
156
  }
122
157
  });
123
- setIsSuccess(true);
158
+ dispatchSubmission({ type: "succeeded" });
124
159
  } catch (err) {
125
- setError(newsletterFormError(
126
- err instanceof Error ? err.message : "Subscription failed. Please try again."
127
- ));
128
- } finally {
129
- setIsSubmitting(false);
160
+ dispatchSubmission({
161
+ type: "failed",
162
+ error: newsletterFormError(
163
+ err instanceof Error ? err.message : "Subscription failed. Please try again."
164
+ )
165
+ });
130
166
  }
131
167
  };
132
168
  const renderField = (field) => {
133
169
  const inputId = `newsletter_${field.id}`;
134
- const fieldError = getNewsletterFieldError(error, field.id);
170
+ const fieldError = getNewsletterSubmissionFieldError(submissionState, field.id);
135
171
  const fieldErrorId = `${inputId}-error`;
136
172
  const validationProps = getFieldValidationControlProps({
137
173
  message: fieldError,
@@ -152,15 +188,15 @@ function NewsletterFormClient({
152
188
  placeholder: field.placeholder,
153
189
  className: "form-input",
154
190
  autoComplete: field.type === "email" ? "email" : void 0,
155
- disabled: isSubmitting,
191
+ disabled: isNewsletterFormSubmitting(submissionState),
156
192
  ...validationProps
157
193
  }
158
194
  ),
159
195
  fieldError && /* @__PURE__ */ jsx(FieldValidationMessage, { id: fieldErrorId, className: "fb-error", children: fieldError })
160
196
  ] }, field.id);
161
197
  };
162
- const formError = getNewsletterFormError(error);
163
- if (isSuccess) {
198
+ const formError = getNewsletterSubmissionFormError(submissionState);
199
+ if (isNewsletterFormSuccess(submissionState)) {
164
200
  return /* @__PURE__ */ jsx("div", { className: clsx_default("newsletter-form", "newsletter-success", render.display.className ?? void 0), children: /* @__PURE__ */ jsx(FeedbackMessage, { tone: "success", className: "fb-success", role: "status", children: render.display.successMessage?.trim() || "Thanks for subscribing!" }) });
165
201
  }
166
202
  return /* @__PURE__ */ jsxs("div", { className: clsx_default("newsletter-form", render.display.className ?? void 0), children: [
@@ -191,8 +227,8 @@ function NewsletterFormClient({
191
227
  {
192
228
  type: "submit",
193
229
  className: themeButtonClassName({ variant: "primary", size: "md" }),
194
- disabled: isSubmitting,
195
- children: isSubmitting ? "Subscribing..." : render.display.buttonLabel
230
+ disabled: isNewsletterFormSubmitting(submissionState),
231
+ children: isNewsletterFormSubmitting(submissionState) ? "Subscribing..." : render.display.buttonLabel
196
232
  }
197
233
  ) })
198
234
  ] }),
@@ -1,15 +1,16 @@
1
- import { mountShopBlockIsland, ProductDetailClient } from './chunk-BL66UWGD.mjs';
2
- import './chunk-WCVK4MBJ.mjs';
3
- import './chunk-O5JNI3E4.mjs';
1
+ import { mountShopBlockIsland, ProductDetailClient } from './chunk-ZJZZA5EP.mjs';
2
+ import './chunk-VGLXACVK.mjs';
3
+ import './chunk-7DH35FGA.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
4
5
  import './chunk-ZFHRN6W2.mjs';
5
6
  import './chunk-L4J5Y62O.mjs';
6
- import './chunk-X7GVFB7Y.mjs';
7
+ import './chunk-EY42X22F.mjs';
7
8
  import './chunk-3DCJ45Z2.mjs';
8
9
  import './chunk-WBQG7VJA.mjs';
9
- import './chunk-GOFO7HRH.mjs';
10
+ import './chunk-STJ2NCQM.mjs';
10
11
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
12
- import './chunk-LI2C6M5O.mjs';
12
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
13
+ import './chunk-25W2EQUN.mjs';
13
14
 
14
15
  // src/rendering/islands/enhancers/productDetail.tsx
15
16
  var decode = defineIslandPropsDecoder("product-detail");
@@ -1,15 +1,16 @@
1
- import { mountShopBlockIsland, ProductListClient } from './chunk-BL66UWGD.mjs';
2
- import './chunk-WCVK4MBJ.mjs';
3
- import './chunk-O5JNI3E4.mjs';
1
+ import { mountShopBlockIsland, ProductListClient } from './chunk-ZJZZA5EP.mjs';
2
+ import './chunk-VGLXACVK.mjs';
3
+ import './chunk-7DH35FGA.mjs';
4
+ import './chunk-6N7YRNYU.mjs';
4
5
  import './chunk-ZFHRN6W2.mjs';
5
6
  import './chunk-L4J5Y62O.mjs';
6
- import './chunk-X7GVFB7Y.mjs';
7
+ import './chunk-EY42X22F.mjs';
7
8
  import './chunk-3DCJ45Z2.mjs';
8
9
  import './chunk-WBQG7VJA.mjs';
9
- import './chunk-GOFO7HRH.mjs';
10
+ import './chunk-STJ2NCQM.mjs';
10
11
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-DIRW2LNG.mjs';
12
- import './chunk-LI2C6M5O.mjs';
12
+ import { defineIslandPropsDecoder } from './chunk-UQFY4AHX.mjs';
13
+ import './chunk-25W2EQUN.mjs';
13
14
 
14
15
  // src/rendering/islands/enhancers/productList.tsx
15
16
  var decode = defineIslandPropsDecoder("product-list");