@riverbankcms/sdk 0.153.0 → 0.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  2. package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  3. package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  4. package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
  5. package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
  6. package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
  9. package/dist/_dts/api/src/billing.d.ts +2 -0
  10. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  11. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  12. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  13. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  16. package/dist/_dts/api/src/bookings.d.ts +2 -3
  17. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  19. package/dist/_dts/api/src/index.d.ts +4 -2
  20. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  21. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  22. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  27. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  28. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  29. package/dist/_dts/api/src/types.d.ts +11 -31
  30. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  31. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  32. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  33. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  34. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  35. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  41. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  42. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  44. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
  46. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  47. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  48. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  52. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  53. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  54. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  57. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  58. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  59. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
  65. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  67. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  69. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  70. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  71. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  76. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  77. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  78. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  79. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  80. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  81. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  83. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  85. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  87. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  88. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  89. package/dist/_dts/core/src/date-display.d.ts +85 -0
  90. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  91. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  92. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  93. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  94. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  95. package/dist/_dts/core/src/index.d.ts +2 -0
  96. package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
  97. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
  98. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  99. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  100. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
  101. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  102. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  103. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  104. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  105. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  106. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  107. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  108. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  109. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  110. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  111. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  112. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  113. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  114. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  115. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  116. package/dist/_dts/sdk/src/version.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  118. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  119. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  120. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  121. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  122. package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
  123. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  124. package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
  125. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  126. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  127. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  128. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  129. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
  130. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  131. package/dist/_dts/theme-core/src/schema.d.ts +300 -192
  132. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  133. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  134. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  135. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  136. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  137. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  138. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  139. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  140. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  142. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  144. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  145. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  146. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  148. package/dist/_dts/ui/src/card.d.ts +1 -1
  149. package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  150. package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
  151. package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  152. package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  153. package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
  154. package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  155. package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  156. package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  157. package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
  158. package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
  159. package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  160. package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
  161. package/dist/client/bookings.mjs +12565 -11839
  162. package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
  163. package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  164. package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
  165. package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
  166. package/dist/client/client.mjs +6109 -4778
  167. package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
  168. package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
  169. package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  170. package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  171. package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  172. package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
  173. package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
  174. package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  175. package/dist/client/hooks.mjs +2041 -1193
  176. package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
  177. package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
  178. package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
  179. package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  180. package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
  181. package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
  182. package/dist/client/rendering/client.mjs +11868 -11098
  183. package/dist/client/rendering/islands.mjs +17 -17
  184. package/dist/client/rendering.mjs +6058 -4676
  185. package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  186. package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
  187. package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  188. package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  189. package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
  190. package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  191. package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
  192. package/dist/preview-next/before-render.mjs +133 -51
  193. package/dist/preview-next/client/runtime.mjs +3 -3
  194. package/dist/preview-next/editor-chrome.css +5 -2
  195. package/dist/preview-next/keepAlive.mjs +133 -51
  196. package/dist/preview-next/middleware.mjs +133 -51
  197. package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  198. package/dist/server/components.mjs +11284 -10014
  199. package/dist/server/config-validation.mjs +2016 -1188
  200. package/dist/server/config.mjs +2016 -1188
  201. package/dist/server/data.mjs +2041 -1193
  202. package/dist/server/date-time.mjs +258 -116
  203. package/dist/server/index.mjs +134 -52
  204. package/dist/server/next.mjs +10571 -9350
  205. package/dist/server/page-converter.mjs +1629 -941
  206. package/dist/server/prebuild.mjs +1 -1
  207. package/dist/server/rendering/server.mjs +11156 -9872
  208. package/dist/server/rendering.mjs +11284 -10014
  209. package/dist/server/routing.mjs +2204 -1283
  210. package/dist/server/server.mjs +2369 -1570
  211. package/dist/server/theme-bridge.mjs +838 -124
  212. package/dist/server/theme.mjs +348 -64
  213. package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
  214. package/dist/styles/index.css +254 -1
  215. package/package.json +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { hn as calendarWindowPageSchema, oi as confirmationPaymentSchema } from "./propsDecoder-lf_dTeZS.mjs";
2
+ import { hn as calendarWindowPageSchema, si as confirmationPaymentSchema } from "./propsDecoder-B1OeWavE.mjs";
3
3
  import { createContext, useContext, useMemo } from "react";
4
4
  import { z } from "zod";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { Bn as getLocalDateKey, Hn as MONTH_NAMES, Jn as getOrderedDayNames, Kn as formatDateKey, Ln as formatTime, Mn as formatDate, Rn as groupEventsByDate, Tn as buildEventListWeek, Un as addDays, Vn as getLocalMinuteOfDay, Xn as isSameCalendarDay, Yn as getWeekCalendarDays, Zn as isToday, _n as resolveCalendarReadProfile, ar as getEventAvailabilityStatus, bn as buildEventRuntimeFilters, dr as listItemPresentation, fr as listLookSlot, kn as eventDateLocale, ni as clsx, nr as formatEventRemainingPlaces, qn as getDayOfWeek, sr as isEventFull, t as defineIslandPropsDecoder, tn as buildEventCalendarListingRender, zn as resolveEventTimeZone } from "./propsDecoder-lf_dTeZS.mjs";
3
- import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
4
- import { i as useEventCollectionFilters, o as EventItem, s as formatEventTeacherLine } from "./useEventPagination-BBhkmQaT.mjs";
5
- import { a as resolveEventLinkProps } from "./CardListItem-CC_GVmF6.mjs";
6
- import { a as WeekAgendaView, c as CalendarDayCell, d as EventModalProvider, f as useEventModal, h as resolveMonthSelectedDay, i as useHydrationReady, l as useCalendarEvents, m as buildMonthDay, o as CalendarNavigationChevron, p as useCalendarToday, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useCalendarViewport } from "./EventCombined.client-DyN0v0Xk.mjs";
7
- import { t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
2
+ import { Bn as getLocalDateKey, Hn as MONTH_NAMES, Jn as getOrderedDayNames, Kn as formatDateKey, Ln as formatTime, Mn as formatDate, Rn as groupEventsByDate, Tn as buildEventListWeek, Un as addDays, Vn as getLocalMinuteOfDay, Xn as isSameCalendarDay, Yn as getWeekCalendarDays, Zn as isToday, _n as resolveCalendarReadProfile, ar as getEventAvailabilityStatus, bn as buildEventRuntimeFilters, dr as listItemPresentation, kn as eventDateLocale, nr as formatEventRemainingPlaces, pr as listLookSlot, qn as getDayOfWeek, ri as clsx, sr as isEventFull, t as defineIslandPropsDecoder, tn as buildEventCalendarListingRender, zn as resolveEventTimeZone } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
+ import { i as useEventCollectionFilters, o as EventItem, s as formatEventTeacherLine } from "./useEventPagination-BdWpCniq.mjs";
5
+ import { a as resolveEventLinkProps } from "./CardListItem-BkTkqBkh.mjs";
6
+ import { a as WeekAgendaView, c as CalendarDayCell, d as EventModalProvider, f as useEventModal, h as resolveMonthSelectedDay, i as useHydrationReady, l as useCalendarEvents, m as buildMonthDay, o as CalendarNavigationChevron, p as useCalendarToday, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useCalendarViewport } from "./EventCombined.client-BgeYMjHJ.mjs";
7
+ import { t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
8
8
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
9
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Bc_WVPS8.mjs";
10
- import { n as EventListingController } from "./EventListing.client-CuOuvYMz.mjs";
9
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
10
+ import { n as EventListingController } from "./EventListing.client-ChRs9Hl2.mjs";
11
11
  import React, { useEffect, useMemo, useState } from "react";
12
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region ../calendar/src/lane-packing.ts
@@ -1,8 +1,8 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-lf_dTeZS.mjs";
2
- import { n as EventCombinedIslandClient } from "./EventCombined.client-DyN0v0Xk.mjs";
3
- import { t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
2
+ import { n as EventCombinedIslandClient } from "./EventCombined.client-BgeYMjHJ.mjs";
3
+ import { t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Bc_WVPS8.mjs";
5
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
6
6
  import "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/rendering/islands/enhancers/eventCombined.tsx
@@ -1,9 +1,9 @@
1
- import { Ai as formatCurrencyAmount, An as eventDateOptions, Ci as toScheduledBookingDateTime, Di as publicEventPricingDisplay, Dn as formatEventPriceAmount, Ei as publicEventPricingCurrency, En as formatEventPrice, On as formatEventPriceDisplay, Pn as formatEventDateParts, Si as toBookingTimeZone, Ti as isPublicEventPricingOptionDisplayable, ar as getEventAvailabilityStatus, di as orderedLiveRunSessions, fi as resolveWholeSeriesBookingPhase, fr as listLookSlot, ki as publicEventPricingType, nr as formatEventRemainingPlaces, rn as resolveEventRegistrationScopedEvents, rr as formatTotalCapacity, t as defineIslandPropsDecoder, ui as CANCELLED_SESSION_STATUS, vi as getBookingLocalDateKey, wi as formatBookingPriceDisplay } from "./propsDecoder-lf_dTeZS.mjs";
1
+ import { Ai as publicEventPricingType, An as eventDateOptions, Ci as toBookingTimeZone, Di as publicEventPricingCurrency, Dn as formatEventPriceAmount, Ei as isPublicEventPricingOptionDisplayable, En as formatEventPrice, Oi as publicEventPricingDisplay, On as formatEventPriceDisplay, Pn as formatEventDateParts, Ti as formatBookingPriceDisplay, ar as getEventAvailabilityStatus, di as CANCELLED_SESSION_STATUS, fi as orderedLiveRunSessions, ji as formatCurrencyAmount, nr as formatEventRemainingPlaces, pi as resolveWholeSeriesBookingPhase, pr as listLookSlot, rn as resolveEventRegistrationScopedEvents, rr as formatTotalCapacity, t as defineIslandPropsDecoder, wi as toScheduledBookingDateTime, yi as getBookingLocalDateKey } from "./propsDecoder-B1OeWavE.mjs";
2
2
  import { t as formatEventDuration } from "./duration-btE0-px8.mjs";
3
- import { a as resolveEventLinkProps, i as resolveEventCta, t as CardListContentPart } from "./CardListItem-CC_GVmF6.mjs";
3
+ import { a as resolveEventLinkProps, i as resolveEventCta, t as CardListContentPart } from "./CardListItem-BkTkqBkh.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
5
  import { t as EVENT_REGISTRATION_ANCHOR_ID } from "./constants-CT8yg_UB.mjs";
6
- import { t as LeafletStaticMap } from "./LeafletStaticMap-B0WhRr3j.mjs";
6
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-C_dNQgd0.mjs";
7
7
  import "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region ../blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.ts
@@ -1,8 +1,8 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-lf_dTeZS.mjs";
2
- import { t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
2
+ import { t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Bc_WVPS8.mjs";
5
- import { t as EventListingClient } from "./EventListing.client-CuOuvYMz.mjs";
4
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
5
+ import { t as EventListingClient } from "./EventListing.client-ChRs9Hl2.mjs";
6
6
  import "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/rendering/islands/enhancers/eventListing.tsx
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
  import { _ as err, v as ok } from "./renderableMediaAssetAdmission-CHkXYDC_.mjs";
3
- import { $ as formatRegistrationSchedule, $t as placesLeftLabel, A as getEventSelectionMode, B as getDeclinedPass, Bt as resolveRouteRequiresPayment, C as offeringNounForEvent, Ct as resolveRegistrationTicketContinuation, D as bookingEntry, Dt as normalizeEventRegistrationMaxTickets, E as bookingCardEntry, Ei as publicEventPricingCurrency, Et as isEventRegistrationAvailable, F as registrationStepLabel, Ft as OFFLINE_BOOKING_PAYMENT_INSTRUCTIONS, G as shouldPromptForLogin, Gt as formatCentsAsCurrencyInput, H as registrationFlowReducer, Ht as beginWaitlistInvitation, I as registrationStepLabelContext, It as findPreSelectedEvent, J as findSelectedTicketType, Jt as getSlidingScaleForEvent, K as ENTITLEMENT_SINGLE_TICKET_TOOLTIP, Kt as getEligibilityFlowFlags, L as areEventRegistrationPaymentSelectionsEqual, Lr as assertNever, Lt as resolveDiscountContext, M as registrationPaymentRoute, Mt as paymentChoiceDetails, N as registrationPresentation, Nt as paymentChoicePrice, O as bookingEntryProgress, Oi as publicEventPricingStrategy, On as formatEventPriceDisplay, Ot as resolveEventRegistrationSubmitPlan, P as registrationRoute, Pt as formatPrice, Q as formatPassCreditUsageLabel, Qt as validateFormData, R as createInitialRegistrationFlowState, Rt as resolveEventRequiresPayment, S as toWholeSeriesRegistrationEvents, St as resolveRegistrationAvailabilityBlocker, T as bookingBarPlacement, Tt as visitorHoldsOwnPlace, U as buildEventRegistrationPaymentOptionsViewModel, Ut as createRegistrationDraftData, V as isRegistrationLocked, Vt as toRegistrationRequestSubject, W as decideEventRegistrationPayment, Wt as invitationSubmission, X as formatDate, Xt as parseCurrencyInputToCents, Y as formatBookingWhen, Yt as getSlidingScaleSelectionMessage, Z as formatEventDateTime, Zt as shouldLoadRegistrationOptions, _ as buildEventRegistrationDisplayFromScopedEvents, _t as placeCountCeiling, ai as parseEventRegistrationErrorReason, at as occurrenceTitleOverride, b as getRegistrationStartAt, br as getRegistrationSuccessCopy, bt as resolveGuestNextStepCheck, cr as selectEventCapacitySource, ct as canRequestTicketOption, dt as getTicketSelectionTotal, en as shownVenue, er as canJoinEventWaitlist, et as formatTime, ft as getTicketTypeLineMax, gt as fullyBookedLabel, ht as setTicketLineQuantity, ii as eventRegistrationErrors, ir as getEventAvailability, it as getVisibleTicketTypes, j as panelShouldOpen, ji as assertNever$1, k as bookingPanelHeading, ki as publicEventPricingType, kt as calculateEventRegistrationPreviewTotal, lr as selectMostOpenCapacitySource, lt as getSingleSelectedPricingOptionId, mi as resolveBookingSignupOffer, mt as normalizeTicketSelectionLines, nt as getPortalSubjectEmail, or as getRemainingPlaces, ot as transformRegistrationOptionsResponse, pt as hasValidPricingOptionSelection, q as areEntitlementsDisabledForTicketCount, qt as getRegistrationOccurrenceId, rn as resolveEventRegistrationScopedEvents, rt as getTicketTypeAvailabilityLabel, sr as isEventFull, st as withOccurrenceTitle, t as defineIslandPropsDecoder, tr as canJoinEventWaitlistOnAnyMode, tt as getImplicitSingleTicketType, ur as groupPublicEventsByRun, ut as getTicketLineQuantity, v as displayButtonText, vt as planRegistrationDetailsCheck, w as DEFAULT_BOOKING_BUTTON_TEXT, wt as settledRemainingPlaces, x as toRegistrationEvents, xt as resolveRegistrationAdmission, y as findBookedEvent, yt as planRegistrationDetailsContinuation, z as decideEventChoice, zt as resolveRegistrationTarget } from "./propsDecoder-lf_dTeZS.mjs";
4
- import { i as SpinnerNode, n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
3
+ import { $ as formatRegistrationSchedule, $t as placesLeftLabel, A as getEventSelectionMode, Ai as publicEventPricingType, B as getDeclinedPass, Bt as resolveRouteRequiresPayment, C as offeringNounForEvent, Ct as resolveRegistrationTicketContinuation, D as bookingEntry, Di as publicEventPricingCurrency, Dt as normalizeEventRegistrationMaxTickets, E as bookingCardEntry, Et as isEventRegistrationAvailable, F as registrationStepLabel, Ft as OFFLINE_BOOKING_PAYMENT_INSTRUCTIONS, G as shouldPromptForLogin, Gt as formatCentsAsCurrencyInput, H as registrationFlowReducer, Ht as beginWaitlistInvitation, I as registrationStepLabelContext, It as findPreSelectedEvent, J as findSelectedTicketType, Jt as getSlidingScaleForEvent, K as ENTITLEMENT_SINGLE_TICKET_TOOLTIP, Kt as getEligibilityFlowFlags, L as areEventRegistrationPaymentSelectionsEqual, Lt as resolveDiscountContext, M as registrationPaymentRoute, Mi as assertNever$1, Mt as paymentChoiceDetails, N as registrationPresentation, Nt as paymentChoicePrice, O as bookingEntryProgress, On as formatEventPriceDisplay, Ot as resolveEventRegistrationSubmitPlan, P as registrationRoute, Pt as formatPrice, Q as formatPassCreditUsageLabel, Qt as validateFormData, R as createInitialRegistrationFlowState, Rr as assertNever, Rt as resolveEventRequiresPayment, S as toWholeSeriesRegistrationEvents, St as resolveRegistrationAvailabilityBlocker, T as bookingBarPlacement, Tt as visitorHoldsOwnPlace, U as buildEventRegistrationPaymentOptionsViewModel, Ut as createRegistrationDraftData, V as isRegistrationLocked, Vt as toRegistrationRequestSubject, W as decideEventRegistrationPayment, Wt as invitationSubmission, X as formatDate, Xt as parseCurrencyInputToCents, Y as formatBookingWhen, Yt as getSlidingScaleSelectionMessage, Z as formatEventDateTime, Zt as shouldLoadRegistrationOptions, _ as buildEventRegistrationDisplayFromScopedEvents, _t as placeCountCeiling, ai as eventRegistrationErrors, at as occurrenceTitleOverride, b as getRegistrationStartAt, bt as resolveGuestNextStepCheck, cr as selectEventCapacitySource, ct as canRequestTicketOption, dt as getTicketSelectionTotal, en as shownVenue, er as canJoinEventWaitlist, et as formatTime, ft as getTicketTypeLineMax, gt as fullyBookedLabel, hi as resolveBookingSignupOffer, ht as setTicketLineQuantity, ir as getEventAvailability, it as getVisibleTicketTypes, j as panelShouldOpen, k as bookingPanelHeading, ki as publicEventPricingStrategy, kt as calculateEventRegistrationPreviewTotal, lr as selectMostOpenCapacitySource, lt as getSingleSelectedPricingOptionId, mt as normalizeTicketSelectionLines, nt as getPortalSubjectEmail, oi as parseEventRegistrationErrorReason, or as getRemainingPlaces, ot as transformRegistrationOptionsResponse, pt as hasValidPricingOptionSelection, q as areEntitlementsDisabledForTicketCount, qt as getRegistrationOccurrenceId, rn as resolveEventRegistrationScopedEvents, rt as getTicketTypeAvailabilityLabel, sr as isEventFull, st as withOccurrenceTitle, t as defineIslandPropsDecoder, tr as canJoinEventWaitlistOnAnyMode, tt as getImplicitSingleTicketType, ur as groupPublicEventsByRun, ut as getTicketLineQuantity, v as displayButtonText, vt as planRegistrationDetailsCheck, w as DEFAULT_BOOKING_BUTTON_TEXT, wt as settledRemainingPlaces, x as toRegistrationEvents, xr as getRegistrationSuccessCopy, xt as resolveRegistrationAdmission, y as findBookedEvent, yt as planRegistrationDetailsContinuation, z as decideEventChoice, zt as resolveRegistrationTarget } from "./propsDecoder-B1OeWavE.mjs";
4
+ import { i as SpinnerNode, n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
5
5
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-DS92SRVZ.mjs";
6
6
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
7
- import { a as requestDemoPortalMagicLink, d as storeDemoBookingPass, i as buildPortalCallbackUrl, p as DiscountCodeDisclosure, r as CUSTOMER_PORTAL_PATH, t as BookingConfirmation } from "./DemoBookingPortalAccess-ojwbVUmx.mjs";
7
+ import { a as requestDemoPortalMagicLink, d as storeDemoBookingPass, i as buildPortalCallbackUrl, p as DiscountCodeDisclosure, r as CUSTOMER_PORTAL_PATH, t as BookingConfirmation } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
8
8
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
9
- import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-B1Puub2v.mjs";
10
- import { a as useBookingNowIso, i as usePolling, n as BookingConsentAgreement, o as StepIndicator$1, r as PaymentChoiceRows, t as BookingMailingListNote } from "./BookingMailingListNote-DrchYW1m.mjs";
11
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
9
+ import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-jvAiUoUX.mjs";
10
+ import { a as useBookingNowIso, i as usePolling, n as BookingConsentAgreement, o as StepIndicator$1, r as PaymentChoiceRows, t as BookingMailingListNote } from "./BookingMailingListNote-CNoSqFtf.mjs";
11
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
12
12
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
13
13
  import { i as getFieldValidationControlProps, r as FieldValidationMessage } from "./mailingListSignupCopy-DZSHZrm6.mjs";
14
- import { t as CheckboxChoice } from "./CheckboxChoice-Dq30m3DO.mjs";
14
+ import { t as CheckboxChoice } from "./CheckboxChoice-CHJpsty4.mjs";
15
15
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
16
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Bc_WVPS8.mjs";
16
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
17
17
  import { t as createLucideIcon } from "./createLucideIcon-PaLVMov4.mjs";
18
18
  import { t as ModalShell } from "./ModalShell-BXzucfR6.mjs";
19
19
  import { n as EVENT_REGISTRATION_CHECKOUT_ATTEMPT_PARAM, t as EVENT_REGISTRATION_ANCHOR_ID } from "./constants-CT8yg_UB.mjs";
@@ -4011,7 +4011,7 @@ function EventRegistrationWizardActions(props) {
4011
4011
  }
4012
4012
  //#endregion
4013
4013
  //#region ../blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.tsx
4014
- const Payment = lazy(() => import("./EventEmbeddedCheckoutStep-CgfpKc3n.mjs"));
4014
+ const Payment = lazy(() => import("./EventEmbeddedCheckoutStep-BTc_lTkM.mjs"));
4015
4015
  /** The one Stripe mount, shared by the standard wizard and headless arrangements. */
4016
4016
  function EventPaymentMount({ state, onComplete, onRetry, onBack, buttonVariant }) {
4017
4017
  if (state.kind === "abandoning") return /* @__PURE__ */ jsx("p", {
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { Br as ok, Lr as assertNever, ni as clsx, t as defineIslandPropsDecoder, zr as err } from "./propsDecoder-lf_dTeZS.mjs";
3
- import { t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
2
+ import { Br as err, Rr as assertNever, Vr as ok, fr as listLookControl, pr as listLookSlot, ri as clsx, t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
4
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
5
- import { n as useBlockApi, t as BlockApiProvider } from "./context-BOGe3rIA.mjs";
5
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
6
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
7
- import { t as CheckboxChoice } from "./CheckboxChoice-Dq30m3DO.mjs";
7
+ import { t as CheckboxChoice } from "./CheckboxChoice-CHJpsty4.mjs";
8
8
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
9
9
  import { useReducer, useRef, useState } from "react";
10
- import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region ../blocks/src/system/runtime/hooks/useFormSubmission.state.ts
12
12
  const initialFormSubmissionState = { tag: "idle" };
13
13
  function formSubmissionReducer(_state, action) {
@@ -109,41 +109,48 @@ function textInputConstraints(field, inputType) {
109
109
  ...typeof field.pattern === "string" && field.pattern ? { pattern: field.pattern } : {}
110
110
  };
111
111
  }
112
- function LabelledField({ basics, children }) {
112
+ function LabelledField({ basics, children, lookSlots }) {
113
113
  return /* @__PURE__ */ jsxs("div", {
114
114
  className: "fb-field",
115
+ ...listLookSlot({ lookSlots }, "item"),
115
116
  children: [/* @__PURE__ */ jsx("label", {
116
117
  htmlFor: basics.inputId,
117
118
  className: "form-label",
119
+ ...listLookSlot({ lookSlots }, "fact-label"),
118
120
  children: basics.label
119
121
  }), children]
120
122
  });
121
123
  }
122
- function TextareaField({ field }) {
124
+ function TextareaField({ field, lookSlots }) {
123
125
  const basics = fieldBasics(field);
124
126
  return /* @__PURE__ */ jsx(LabelledField, {
125
127
  basics,
128
+ lookSlots,
126
129
  children: /* @__PURE__ */ jsx("textarea", {
127
130
  id: basics.inputId,
128
131
  name: field.id,
129
132
  required: basics.required,
130
133
  placeholder: field.placeholder,
131
134
  rows: field.rows,
135
+ ...listLookSlot({ lookSlots }, "control"),
132
136
  className: "form-textarea"
133
137
  })
134
138
  });
135
139
  }
136
- function SelectField({ field }) {
140
+ function SelectField({ field, lookSlots }) {
137
141
  const basics = fieldBasics(field);
138
142
  const options = field.options ?? [];
139
143
  const multiple = Boolean(field.multiple);
140
144
  return /* @__PURE__ */ jsx(LabelledField, {
141
145
  basics,
146
+ lookSlots,
142
147
  children: /* @__PURE__ */ jsxs("select", {
143
148
  id: basics.inputId,
144
149
  name: field.id,
145
150
  multiple,
151
+ ...listLookControl({ lookSlots }, multiple ? "select-multiple" : "select"),
146
152
  required: basics.required,
153
+ ...listLookSlot({ lookSlots }, "control"),
147
154
  className: "form-select",
148
155
  children: [!multiple && /* @__PURE__ */ jsx("option", {
149
156
  value: "",
@@ -155,13 +162,15 @@ function SelectField({ field }) {
155
162
  })
156
163
  });
157
164
  }
158
- function RadioField({ field }) {
165
+ function RadioField({ field, lookSlots }) {
159
166
  const basics = fieldBasics(field);
160
167
  const options = field.options ?? [];
161
168
  return /* @__PURE__ */ jsxs("fieldset", {
162
169
  className: "fb-fieldset",
170
+ ...listLookSlot({ lookSlots }, "item"),
163
171
  children: [/* @__PURE__ */ jsx("legend", {
164
172
  className: "form-label",
173
+ ...listLookSlot({ lookSlots }, "fact-label"),
165
174
  children: basics.label
166
175
  }), options.map((opt) => /* @__PURE__ */ jsxs("label", {
167
176
  className: "form-check",
@@ -170,19 +179,22 @@ function RadioField({ field }) {
170
179
  name: field.id,
171
180
  value: opt.value,
172
181
  required: basics.required,
182
+ ...listLookSlot({ lookSlots }, "mark"),
173
183
  className: "form-radio"
174
184
  }), /* @__PURE__ */ jsx("span", {
175
185
  className: "form-check-label",
186
+ ...listLookSlot({ lookSlots }, "fact-label"),
176
187
  children: opt.label
177
188
  })]
178
189
  }, opt.value))]
179
190
  });
180
191
  }
181
- function TextInputField({ field, type }) {
192
+ function TextInputField({ field, type, lookSlots }) {
182
193
  const basics = fieldBasics(field);
183
194
  const inputType = textInputType(type);
184
195
  return /* @__PURE__ */ jsx(LabelledField, {
185
196
  basics,
197
+ lookSlots,
186
198
  children: /* @__PURE__ */ jsx("input", {
187
199
  id: basics.inputId,
188
200
  name: field.id,
@@ -190,32 +202,88 @@ function TextInputField({ field, type }) {
190
202
  required: basics.required,
191
203
  placeholder: field.placeholder,
192
204
  ...textInputConstraints(field, inputType),
205
+ ...listLookSlot({ lookSlots }, "control"),
193
206
  className: "form-input"
194
207
  })
195
208
  });
196
209
  }
197
- function FormFieldControl({ field }) {
210
+ function FormFieldControl({ field, lookSlots }) {
198
211
  const type = String(field.type ?? "text");
199
212
  switch (type) {
200
- case "textarea": return /* @__PURE__ */ jsx(TextareaField, { field });
201
- case "select": return /* @__PURE__ */ jsx(SelectField, { field });
202
- case "radio": return /* @__PURE__ */ jsx(RadioField, { field });
213
+ case "textarea": return /* @__PURE__ */ jsx(TextareaField, {
214
+ field,
215
+ lookSlots
216
+ });
217
+ case "select": return /* @__PURE__ */ jsx(SelectField, {
218
+ field,
219
+ lookSlots
220
+ });
221
+ case "radio": return /* @__PURE__ */ jsx(RadioField, {
222
+ field,
223
+ lookSlots
224
+ });
203
225
  case "checkbox":
204
- case "consent": {
205
- const basics = fieldBasics(field);
206
- return /* @__PURE__ */ jsx(CheckboxChoice, {
207
- name: field.id,
208
- required: basics.required,
209
- label: basics.label,
210
- presentation: type === "consent" ? "tile" : "row"
211
- });
212
- }
226
+ case "consent": return /* @__PURE__ */ jsx(ChoiceField, {
227
+ field,
228
+ lookSlots
229
+ });
213
230
  default: return /* @__PURE__ */ jsx(TextInputField, {
214
231
  field,
215
- type
232
+ type,
233
+ lookSlots
216
234
  });
217
235
  }
218
236
  }
237
+ function ChoiceField({ field, lookSlots }) {
238
+ const basics = fieldBasics(field);
239
+ const choice = /* @__PURE__ */ jsx(CheckboxChoice, {
240
+ ...listLookSlot({ lookSlots }, "mark"),
241
+ name: field.id,
242
+ required: basics.required,
243
+ label: lookSlots ? /* @__PURE__ */ jsx("span", {
244
+ ...listLookSlot({ lookSlots }, "fact-label"),
245
+ children: basics.label
246
+ }) : basics.label,
247
+ presentation: field.type === "consent" ? "tile" : "row"
248
+ });
249
+ return lookSlots ? /* @__PURE__ */ jsx("div", {
250
+ ...listLookSlot({ lookSlots }, "item"),
251
+ children: choice
252
+ }) : choice;
253
+ }
254
+ //#endregion
255
+ //#region ../blocks/src/system/runtime/nodes/form.parts.tsx
256
+ /** SSR and hydration consume the same decided field groups and Look hooks. */
257
+ function FormFieldGroups({ groups, lookSlots }) {
258
+ const renderField = (field) => /* @__PURE__ */ jsx(FormFieldControl, {
259
+ field,
260
+ lookSlots
261
+ }, field.id);
262
+ return /* @__PURE__ */ jsx(Fragment, { children: groups.map((group) => group.type === "row" ? /* @__PURE__ */ jsx("div", {
263
+ className: "fb-row fb-row-2",
264
+ ...listLookSlot({ lookSlots }, "group"),
265
+ children: group.fields.map(renderField)
266
+ }, group.key) : renderField(group.field)) });
267
+ }
268
+ function FormSubmitAction({ lookSlots, submitLabel, disabled }) {
269
+ return /* @__PURE__ */ jsx("div", {
270
+ className: "fb-actions",
271
+ ...listLookSlot({ lookSlots }, "actions"),
272
+ children: /* @__PURE__ */ jsx("div", {
273
+ className: "fb-actions-inner",
274
+ ...listLookSlot({ lookSlots }, "inline"),
275
+ children: /* @__PURE__ */ jsx(ThemedButton, {
276
+ ...listLookSlot({ lookSlots }, "action"),
277
+ type: "submit",
278
+ variant: "primary",
279
+ size: "md",
280
+ extraClassName: "rb-w-full rb-sm-w-auto",
281
+ disabled,
282
+ label: submitLabel
283
+ })
284
+ })
285
+ });
286
+ }
219
287
  //#endregion
220
288
  //#region ../blocks/src/system/runtime/nodes/form.client.tsx
221
289
  const FormNodeClient = ({ render }) => {
@@ -229,8 +297,6 @@ const FormNodeClient = ({ render }) => {
229
297
  role: "status",
230
298
  children: "Missing or unknown form."
231
299
  });
232
- const groups = render.display.groups;
233
- const renderField = (field) => /* @__PURE__ */ jsx(FormFieldControl, { field }, field.id);
234
300
  const handleSubmit = async (e) => {
235
301
  e.preventDefault();
236
302
  const formData = new FormData(e.currentTarget);
@@ -255,12 +321,7 @@ const FormNodeClient = ({ render }) => {
255
321
  }
256
322
  });
257
323
  };
258
- if (state.tag === "succeeded") return /* @__PURE__ */ jsx(FeedbackMessage, {
259
- tone: "success",
260
- className: clsx("fb-success", render.display.className ?? void 0),
261
- role: "status",
262
- children: render.display.successMessage?.trim() || "Thanks — we received your submission."
263
- });
324
+ if (state.tag === "succeeded") return /* @__PURE__ */ jsx(FormSuccessMessage, { display: render.display });
264
325
  const errorBanner = state.tag === "failed" ? /* @__PURE__ */ jsx(FeedbackMessage, {
265
326
  tone: "error",
266
327
  className: "fb-error",
@@ -268,6 +329,7 @@ const FormNodeClient = ({ render }) => {
268
329
  children: state.message
269
330
  }) : null;
270
331
  return /* @__PURE__ */ jsxs("form", {
332
+ ...listLookSlot(render.display, "grid"),
271
333
  onSubmit: handleSubmit,
272
334
  className: clsx("fb-form", render.display.className ?? void 0),
273
335
  children: [
@@ -284,34 +346,36 @@ const FormNodeClient = ({ render }) => {
284
346
  tabIndex: -1,
285
347
  autoComplete: "off"
286
348
  }),
287
- groups.map((group) => {
288
- if (group.type === "row") return /* @__PURE__ */ jsx("div", {
289
- className: "fb-row fb-row-2",
290
- children: group.fields.map(renderField)
291
- }, group.key);
292
- return renderField(group.field);
349
+ /* @__PURE__ */ jsx(FormFieldGroups, {
350
+ groups: render.display.groups,
351
+ lookSlots: render.display.lookSlots
293
352
  }),
294
353
  showSpamProtection && /* @__PURE__ */ jsx(AltchaWidget, {
295
354
  challengeUrl: getChallengeUrl(),
296
355
  onSolutionChange: setAltchaSolution
297
356
  }),
298
- /* @__PURE__ */ jsx("div", {
299
- className: "fb-actions",
300
- children: /* @__PURE__ */ jsx("div", {
301
- className: "fb-actions-inner",
302
- children: /* @__PURE__ */ jsx(ThemedButton, {
303
- type: "submit",
304
- variant: "primary",
305
- size: "md",
306
- extraClassName: "rb-w-full rb-sm-w-auto",
307
- disabled: state.tag === "submitting",
308
- label: state.tag === "submitting" ? "Submitting..." : render.display.submitLabel
309
- })
310
- })
357
+ /* @__PURE__ */ jsx(FormSubmitAction, {
358
+ lookSlots: render.display.lookSlots,
359
+ disabled: state.tag === "submitting",
360
+ submitLabel: state.tag === "submitting" ? "Submitting..." : render.display.submitLabel
311
361
  })
312
362
  ]
313
363
  });
314
364
  };
365
+ function FormSuccessMessage({ display }) {
366
+ const message = display.successMessage?.trim() || "Thanks — we received your submission.";
367
+ return display.lookSlots ? /* @__PURE__ */ jsx("p", {
368
+ ...listLookSlot(display, "outcome"),
369
+ role: "status",
370
+ "aria-live": "polite",
371
+ children: message
372
+ }) : /* @__PURE__ */ jsx(FeedbackMessage, {
373
+ tone: "success",
374
+ className: clsx("fb-success", display.className ?? void 0),
375
+ role: "status",
376
+ children: message
377
+ });
378
+ }
315
379
  function isUnknownArray(value) {
316
380
  return Array.isArray(value);
317
381
  }
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { nn as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-lf_dTeZS.mjs";
3
- import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-B7HFqFBg.mjs";
2
+ import { nn as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
4
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
5
- import { n as useCommerceCart } from "./shop-commerce-store-DO-e1pTe.mjs";
5
+ import { n as useCommerceCart } from "./shop-commerce-store-C1-mxSye.mjs";
6
6
  import { t as ModalShell } from "./ModalShell-BXzucfR6.mjs";
7
7
  import * as React$1 from "react";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";