@riverbankcms/sdk 0.77.1 → 0.78.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 (230) hide show
  1. package/README.md +69 -0
  2. package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-RIKFQ72L.mjs} +4916 -4847
  3. package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-XO7TUWKK.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +154 -154
  6. package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
  7. package/dist/_dts/api/src/billing.d.ts +3 -26
  8. package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
  9. package/dist/_dts/api/src/content-editor.d.ts +1 -0
  10. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  11. package/dist/_dts/api/src/endpoints.d.ts +8 -0
  12. package/dist/_dts/api/src/index.d.ts +14 -2
  13. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  14. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  15. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  16. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  17. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  18. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  19. package/dist/_dts/api/src/navigation.d.ts +12 -0
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  21. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  22. package/dist/_dts/api/src/types.d.ts +3 -1
  23. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  24. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  25. package/dist/_dts/blocks/src/index.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  27. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  28. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  29. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  30. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  32. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  33. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  34. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  35. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +21 -21
  36. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  37. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  38. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  39. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  40. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  41. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  42. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  43. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -29
  44. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  45. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  46. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  47. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  48. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  49. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  51. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  55. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  56. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  59. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  63. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  65. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  66. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  69. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  70. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  71. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  72. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  73. package/dist/_dts/content-editor/src/index.d.ts +5 -0
  74. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  75. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  76. package/dist/_dts/content-model/src/index.d.ts +1 -0
  77. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  78. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  79. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  80. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  81. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  82. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  83. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  84. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  85. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  86. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  87. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  88. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  89. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  90. package/dist/_dts/core/src/duration.d.ts +14 -0
  91. package/dist/_dts/core/src/email-format.d.ts +10 -0
  92. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  93. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  94. package/dist/_dts/core/src/index.d.ts +20 -0
  95. package/dist/_dts/core/src/number-input.d.ts +22 -0
  96. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  97. package/dist/_dts/core/src/slug.d.ts +39 -0
  98. package/dist/_dts/core/src/string.d.ts +19 -0
  99. package/dist/_dts/core/src/uuid.d.ts +6 -0
  100. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  101. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  102. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  103. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  104. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  105. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  106. package/dist/_dts/media-core/src/index.d.ts +10 -0
  107. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  108. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  109. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  110. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  111. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  112. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  113. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  114. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  115. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  116. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  117. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  118. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  119. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  120. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  121. package/dist/_dts/sdk/src/client/types.d.ts +37 -19
  122. package/dist/_dts/sdk/src/index.d.ts +2 -2
  123. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  124. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  125. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  126. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  127. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  128. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  129. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  130. package/dist/_dts/sdk/src/version.d.ts +1 -1
  131. package/dist/_dts/site-commands/src/commands.d.ts +12 -12
  132. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  133. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  134. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  135. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  136. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  137. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  138. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  141. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
  142. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  143. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  144. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  145. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  146. package/dist/_dts/theme-core/src/schema.d.ts +64 -18
  147. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  148. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  149. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  150. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  151. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
  152. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  153. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
  154. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  155. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  156. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  157. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  158. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  159. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  160. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  161. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  162. package/dist/{chunk-2SPENC5M.mjs → chunk-F7RTCZYN.mjs} +229 -50
  163. package/dist/{chunk-IENWFSLO.mjs → chunk-NIDXI46P.mjs} +1 -1
  164. package/dist/{chunk-KWJPDZH2.mjs → chunk-OECWLDHN.mjs} +2770 -620
  165. package/dist/{chunk-VX7B5VAC.mjs → chunk-SVMMM2NA.mjs} +8 -0
  166. package/dist/{chunk-6SMUFTXD.mjs → chunk-SXOLGNMX.mjs} +1 -1
  167. package/dist/{chunk-ZYEJLCTN.mjs → chunk-TXDES5P2.mjs} +2 -2
  168. package/dist/cli/index.mjs +1677 -440
  169. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-EVDEOUPR.mjs} +2 -2
  170. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-DIHBLC64.mjs} +27 -30
  171. package/dist/client/bookings.mjs +3707 -259
  172. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-FEBQHIWI.mjs} +3 -4
  173. package/dist/client/{cart-RGXDS5F4.mjs → cart-7CKSXAE4.mjs} +8 -8
  174. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WKYCANLV.mjs} +8 -8
  175. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-2SAVKN2M.mjs} +2 -2
  176. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-36WJCERQ.mjs} +1 -1
  177. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-65F47D7Y.mjs} +280 -71
  178. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-GUK2FPXQ.mjs} +23 -45
  179. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-IVNCUVAV.mjs} +26 -21
  180. package/dist/client/{chunk-II7O4XN3.mjs → chunk-OFMSCGNY.mjs} +2 -2
  181. package/dist/client/chunk-PD6NBCEY.mjs +66 -0
  182. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-RV6FX7UH.mjs} +510 -64
  183. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-RZDWX7QW.mjs} +2 -1
  184. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  185. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-VPPMNXCF.mjs} +129 -3
  186. package/dist/client/{chunk-UFSWADAO.mjs → chunk-YDSEG6GZ.mjs} +5 -66
  187. package/dist/client/client.mjs +7070 -4561
  188. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-5QF2PHKM.mjs} +14 -11
  189. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-4ZOSETDU.mjs} +9 -9
  190. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-WQGU7JUX.mjs} +9 -9
  191. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-AYWVUJ5Y.mjs} +9 -9
  192. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-NT7C6UT5.mjs} +9 -9
  193. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-OH24F4ZJ.mjs} +9 -9
  194. package/dist/client/{form-ETFZFATW.mjs → form-7L42SRBB.mjs} +6 -6
  195. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-OZRZNZ52.mjs} +3 -3
  196. package/dist/client/hooks.mjs +1040 -278
  197. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-ZBXRPQ7C.mjs} +2 -2
  198. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-SNAGFF2I.mjs} +3 -3
  199. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-I46BOFGV.mjs} +8 -8
  200. package/dist/client/{productList-A5RO5WIS.mjs → productList-BOYHTYI6.mjs} +8 -8
  201. package/dist/client/rendering/client.mjs +7090 -2645
  202. package/dist/client/rendering/islands.mjs +19 -19
  203. package/dist/client/rendering.mjs +6089 -3792
  204. package/dist/client/{shop-L4MZH4I2.mjs → shop-XTXPZTKR.mjs} +8 -8
  205. package/dist/preview-next/before-render.mjs +8 -0
  206. package/dist/preview-next/client/runtime.mjs +5 -5
  207. package/dist/preview-next/editor-chrome.css +10 -0
  208. package/dist/preview-next/middleware.mjs +8 -0
  209. package/dist/{sdk-runtime-6UT2S7KZ.mjs → sdk-runtime-ZJLKC6DR.mjs} +6 -6
  210. package/dist/server/components.mjs +2635 -1262
  211. package/dist/server/config-validation.mjs +1271 -509
  212. package/dist/server/config.mjs +1271 -509
  213. package/dist/server/data.mjs +1040 -278
  214. package/dist/server/index.mjs +488 -246
  215. package/dist/server/next.mjs +4087 -2147
  216. package/dist/server/page-converter.mjs +571 -115
  217. package/dist/server/prebuild.mjs +1 -1
  218. package/dist/server/rendering/server.mjs +2636 -1263
  219. package/dist/server/rendering.mjs +2654 -1268
  220. package/dist/server/routing.mjs +1729 -489
  221. package/dist/server/server.mjs +1532 -530
  222. package/dist/server/theme-bridge.mjs +3151 -131
  223. package/dist/server/theme.mjs +10 -1
  224. package/dist/styles/index.css +488 -48
  225. package/package.json +2 -1
  226. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
  227. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  228. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  229. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  230. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
@@ -1,8 +1,7 @@
1
- import { normalizeCarouselProps, CarouselNodeClient } from './chunk-II7O4XN3.mjs';
2
- import './chunk-RTZ3JKKX.mjs';
1
+ import { normalizeCarouselProps, CarouselNodeClient } from './chunk-OFMSCGNY.mjs';
3
2
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
4
- import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
5
- import './chunk-PMAIXMAB.mjs';
3
+ import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
4
+ import './chunk-IVNCUVAV.mjs';
6
5
  import { jsx } from 'react/jsx-runtime';
7
6
 
8
7
  var decode = defineIslandPropsDecoder("carousel");
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, CartClient } from './chunk-GMVTOKYG.mjs';
2
- import './chunk-E2TDNXCL.mjs';
3
- import './chunk-II7O4XN3.mjs';
1
+ import { mountShopBlockIsland, CartClient } from './chunk-RV6FX7UH.mjs';
2
+ import './chunk-RZDWX7QW.mjs';
3
+ import './chunk-OFMSCGNY.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-RTZ3JKKX.mjs';
6
- import './chunk-JEZECJ3W.mjs';
5
+ import './chunk-PD6NBCEY.mjs';
6
+ import './chunk-VPPMNXCF.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
- import './chunk-M3L3KYYR.mjs';
9
+ import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
12
- import './chunk-PMAIXMAB.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
12
+ import './chunk-IVNCUVAV.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/cart.tsx
15
15
  var decode = defineIslandPropsDecoder("cart");
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, CheckoutClient } from './chunk-GMVTOKYG.mjs';
2
- import './chunk-E2TDNXCL.mjs';
3
- import './chunk-II7O4XN3.mjs';
1
+ import { mountShopBlockIsland, CheckoutClient } from './chunk-RV6FX7UH.mjs';
2
+ import './chunk-RZDWX7QW.mjs';
3
+ import './chunk-OFMSCGNY.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
- import './chunk-RTZ3JKKX.mjs';
6
- import './chunk-JEZECJ3W.mjs';
5
+ import './chunk-PD6NBCEY.mjs';
6
+ import './chunk-VPPMNXCF.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
- import './chunk-M3L3KYYR.mjs';
9
+ import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
12
- import './chunk-PMAIXMAB.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-65F47D7Y.mjs';
12
+ import './chunk-IVNCUVAV.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/checkout.tsx
15
15
  var decode = defineIslandPropsDecoder("checkout");
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { useBlockApi, BlockApiError } from './chunk-M3L3KYYR.mjs';
3
- import { themeButtonClassName } from './chunk-R56FQ3RR.mjs';
2
+ import { useBlockApi, BlockApiError } from './chunk-UDNSI5PY.mjs';
3
+ import { themeButtonClassName } from './chunk-65F47D7Y.mjs';
4
4
  import { useState, useSyncExternalStore, useEffect } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,4 +1,4 @@
1
- import { clsx_default } from './chunk-PMAIXMAB.mjs';
1
+ import { clsx_default } from './chunk-IVNCUVAV.mjs';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
 
4
4
  function resolveColorStyle(color) {
@@ -1,6 +1,7 @@
1
- import { parseAspectRatioValue, parseColorTokenParts, toBookingTimeZone, resolvePlanningDateInput, formatBookingDate, toScheduledBookingDateTime, formatBookingTime, toScheduledBookingDateRange, formatBookingDateParts, ImagePresets, getCurrentResolveImageUrlContext, renderVideo, renderAudio, resolveMediaNodeResponsiveImage, MediaPlaceholder, computeMediaTransformStyle, rgbColorValue } from './chunk-PMAIXMAB.mjs';
1
+ import { parseAspectRatioValue, parseColorTokenParts, toBookingTimeZone, resolvePlanningDateInput, formatBookingDate, toScheduledBookingDateTime, formatBookingTime, toScheduledBookingDateRange, formatBookingDateParts, ImagePresets, getCurrentResolveImageUrlContext, renderVideo, renderAudio, resolveMediaNodeResponsiveImage, MediaPlaceholder, computeMediaTransformStyle, rgbColorValue } from './chunk-IVNCUVAV.mjs';
2
2
  import z2, { z } from 'zod';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { forwardRef, createElement } from 'react';
4
5
 
5
6
  // ../blocks/src/contracts/runtime.ts
6
7
  function decodeSuccess(value) {
@@ -610,6 +611,7 @@ function styledSection(config) {
610
611
  renderBackgroundImage = true,
611
612
  backgroundImageLoading,
612
613
  backgroundImageFetchPriority,
614
+ allowOverflow = false,
613
615
  fullWidthPath
614
616
  } = config;
615
617
  const renderedBackgroundNodes = backgroundLayer(`${bindFrom}.background`, {
@@ -644,7 +646,7 @@ function styledSection(config) {
644
646
  // No fallback needed - transform handles all cases via defaultSpacing
645
647
  }
646
648
  },
647
- allowOverflow: {
649
+ allowOverflow: allowOverflow ? true : {
648
650
  $bind: {
649
651
  from: `${bindFrom}.background`,
650
652
  transforms: [{ id: "background.resolveAllowOverflow" }],
@@ -3802,18 +3804,43 @@ function createInteractiveIslandCodec(options) {
3802
3804
  }
3803
3805
  };
3804
3806
  }
3805
-
3806
- // ../frontend-state/dist/index.mjs
3807
+ function clearWorkflowFeedback(state) {
3808
+ return {
3809
+ ...state,
3810
+ feedback: idleSubmissionFeedback()
3811
+ };
3812
+ }
3813
+ function reportWorkflowError(state, message) {
3814
+ return {
3815
+ ...state,
3816
+ feedback: errorSubmissionFeedback(message)
3817
+ };
3818
+ }
3819
+ function reportWorkflowSuccess(state, message) {
3820
+ return {
3821
+ ...state,
3822
+ feedback: successSubmissionFeedback(message)
3823
+ };
3824
+ }
3825
+ function idleSubmissionFeedback() {
3826
+ return { tag: "idle" };
3827
+ }
3828
+ function errorSubmissionFeedback(message) {
3829
+ return { tag: "error", message };
3830
+ }
3831
+ function successSubmissionFeedback(message) {
3832
+ return { tag: "success", message };
3833
+ }
3807
3834
  function ok() {
3808
3835
  return { ok: true };
3809
3836
  }
3810
- function okWith(data) {
3837
+ function okWith2(data) {
3811
3838
  return { ok: true, data };
3812
3839
  }
3813
- function err(error) {
3840
+ function err2(error) {
3814
3841
  return { ok: false, error };
3815
3842
  }
3816
- function assertNever(value, message) {
3843
+ function assertNever11(value, message) {
3817
3844
  throw new Error(message ?? `Unexpected value: ${String(value)}`);
3818
3845
  }
3819
3846
 
@@ -3968,7 +3995,7 @@ function deriveBookingFormViewState(input) {
3968
3995
  resourceName: input.verificationState.resourceName
3969
3996
  };
3970
3997
  default:
3971
- return assertNever(input.verificationState);
3998
+ return assertNever11(input.verificationState);
3972
3999
  }
3973
4000
  }
3974
4001
  function resolveBookingSiteId(siteId, form) {
@@ -4138,7 +4165,7 @@ function getBookingServicePaymentSelectionMode(service) {
4138
4165
  case "flexible_balance":
4139
4166
  return "implicit_flexible_balance";
4140
4167
  default:
4141
- return assertNever(onlyKind);
4168
+ return assertNever11(onlyKind);
4142
4169
  }
4143
4170
  }
4144
4171
  if (allowedKinds.length === 2 && allowedKinds.includes("upfront") && (allowedKinds.includes("deferred_manual") || allowedKinds.includes("instalment_plan") || allowedKinds.includes("flexible_balance"))) {
@@ -4340,7 +4367,7 @@ function formatBookingSubmissionPreparationError(error) {
4340
4367
  case "service-missing-duration":
4341
4368
  return `Service "${error.serviceTitle}" is missing duration. Please update the service in the dashboard to include a duration (e.g., 30 minutes).`;
4342
4369
  default:
4343
- return assertNever(error);
4370
+ return assertNever11(error);
4344
4371
  }
4345
4372
  }
4346
4373
  function getBookingSuccessMessage(successMessage) {
@@ -5333,7 +5360,7 @@ var COLUMN_CLASSES = {
5333
5360
  };
5334
5361
  function getContainerClass(layout, columns) {
5335
5362
  if (layout === "compact") {
5336
- return "event-listing-compact-container rb-flex rb-flex-col rb-gap-2";
5363
+ return "event-listing-compact-container rb-flex rb-flex-col";
5337
5364
  }
5338
5365
  if (layout === "stack") {
5339
5366
  return "rb-flex rb-flex-col rb-gap-6";
@@ -5397,6 +5424,23 @@ function formatEventDateParts(args) {
5397
5424
  }));
5398
5425
  return { date, timeRange: `${start} \u2013 ${end}` };
5399
5426
  }
5427
+ function formatEventCompactDateRail(isoTimestamp, options) {
5428
+ const dateTime = toScheduledBookingDateTime({
5429
+ startsAt: isoTimestamp,
5430
+ timeZone: toBookingTimeZone(options?.timeZone ?? "UTC"),
5431
+ locale: options?.locale ?? "en-US"
5432
+ });
5433
+ const weekday = formatBookingDate(dateTime, { weekday: "short" }).toLocaleUpperCase(options?.locale ?? "en-US");
5434
+ const month = formatBookingDate(dateTime, { month: "short" }).toLocaleUpperCase(options?.locale ?? "en-US");
5435
+ const day = formatBookingDate(dateTime, { day: "numeric" });
5436
+ const label = formatBookingDate(dateTime, {
5437
+ weekday: "long",
5438
+ year: "numeric",
5439
+ month: "long",
5440
+ day: "numeric"
5441
+ });
5442
+ return { weekday, day, month, label };
5443
+ }
5400
5444
  function formatTeamMemberNames(names) {
5401
5445
  const normalized = names.map((name) => name.trim()).filter(Boolean);
5402
5446
  if (normalized.length === 0) return null;
@@ -5706,73 +5750,209 @@ function pickReadableTextColor(background) {
5706
5750
  return "rgb(var(--tb-onAccent, 255 255 255))";
5707
5751
  }
5708
5752
  }
5709
- function BookingOptionCompactRow({
5710
- option,
5711
- buttonVariant = "primary"
5712
- }) {
5713
- const primaryMeta = option.primaryMeta?.filter((item) => item.length > 0) ?? [];
5714
- const secondaryMeta = option.secondaryMeta?.filter((item) => item.label.length > 0) ?? [];
5715
- const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
5716
- return /* @__PURE__ */ jsxs("div", { className: "event-compact-row", children: [
5717
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
5718
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-top", children: [
5719
- /* @__PURE__ */ jsx("span", { className: "event-compact-row-title", children: option.title }),
5720
- primaryMeta.length > 0 && /* @__PURE__ */ jsx("span", { className: "event-compact-row-datetime", children: primaryMeta.join(" \xB7 ") })
5721
- ] }),
5722
- /* @__PURE__ */ jsxs("div", { className: "event-compact-row-bottom", children: [
5723
- secondaryMeta.map((item) => /* @__PURE__ */ jsxs(
5724
- "span",
5725
- {
5726
- className: item.className,
5727
- children: [
5728
- item.icon,
5729
- item.label
5730
- ]
5731
- },
5732
- item.id ?? `${item.className ?? "meta"}:${item.label}`
5733
- )),
5734
- option.priceLabel && /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: option.priceLabel })
5735
- ] })
5736
- ] }),
5737
- option.action.kind === "status" ? /* @__PURE__ */ jsx("span", { className: "event-compact-row-status", children: option.action.label }) : /* @__PURE__ */ jsx("a", { href: option.action.href, className: `${buttonClass} event-compact-row-cta`, children: option.action.label })
5738
- ] });
5739
- }
5753
+
5754
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5755
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
5756
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
5757
+ }).join(" ").trim();
5758
+
5759
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js
5760
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
5761
+
5762
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js
5763
+ var toCamelCase = (string) => string.replace(
5764
+ /^([A-Z])|[\s-_]+(\w)/g,
5765
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
5766
+ );
5767
+
5768
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js
5769
+ var toPascalCase = (string) => {
5770
+ const camelCase = toCamelCase(string);
5771
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
5772
+ };
5773
+
5774
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/defaultAttributes.js
5775
+ var defaultAttributes = {
5776
+ xmlns: "http://www.w3.org/2000/svg",
5777
+ width: 24,
5778
+ height: 24,
5779
+ viewBox: "0 0 24 24",
5780
+ fill: "none",
5781
+ stroke: "currentColor",
5782
+ strokeWidth: 2,
5783
+ strokeLinecap: "round",
5784
+ strokeLinejoin: "round"
5785
+ };
5786
+
5787
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js
5788
+ var hasA11yProp = (props) => {
5789
+ for (const prop in props) {
5790
+ if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
5791
+ return true;
5792
+ }
5793
+ }
5794
+ return false;
5795
+ };
5796
+
5797
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js
5798
+ var Icon = forwardRef(
5799
+ ({
5800
+ color = "currentColor",
5801
+ size = 24,
5802
+ strokeWidth = 2,
5803
+ absoluteStrokeWidth,
5804
+ className = "",
5805
+ children,
5806
+ iconNode,
5807
+ ...rest
5808
+ }, ref) => createElement(
5809
+ "svg",
5810
+ {
5811
+ ref,
5812
+ ...defaultAttributes,
5813
+ width: size,
5814
+ height: size,
5815
+ stroke: color,
5816
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
5817
+ className: mergeClasses("lucide", className),
5818
+ ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
5819
+ ...rest
5820
+ },
5821
+ [
5822
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
5823
+ ...Array.isArray(children) ? children : [children]
5824
+ ]
5825
+ )
5826
+ );
5827
+
5828
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
5829
+ var createLucideIcon = (iconName, iconNode) => {
5830
+ const Component = forwardRef(
5831
+ ({ className, ...props }, ref) => createElement(Icon, {
5832
+ ref,
5833
+ iconNode,
5834
+ className: mergeClasses(
5835
+ `lucide-${toKebabCase(toPascalCase(iconName))}`,
5836
+ `lucide-${iconName}`,
5837
+ className
5838
+ ),
5839
+ ...props
5840
+ })
5841
+ );
5842
+ Component.displayName = toPascalCase(iconName);
5843
+ return Component;
5844
+ };
5845
+
5846
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/arrow-right.js
5847
+ var __iconNode = [
5848
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
5849
+ ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
5850
+ ];
5851
+ var ArrowRight = createLucideIcon("arrow-right", __iconNode);
5852
+
5853
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-left.js
5854
+ var __iconNode2 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
5855
+ var ChevronLeft = createLucideIcon("chevron-left", __iconNode2);
5856
+
5857
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-right.js
5858
+ var __iconNode3 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
5859
+ var ChevronRight = createLucideIcon("chevron-right", __iconNode3);
5860
+
5861
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/clock.js
5862
+ var __iconNode4 = [
5863
+ ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
5864
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
5865
+ ];
5866
+ var Clock = createLucideIcon("clock", __iconNode4);
5867
+
5868
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/credit-card.js
5869
+ var __iconNode5 = [
5870
+ ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
5871
+ ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
5872
+ ];
5873
+ var CreditCard = createLucideIcon("credit-card", __iconNode5);
5874
+
5875
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sparkles.js
5876
+ var __iconNode6 = [
5877
+ [
5878
+ "path",
5879
+ {
5880
+ d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
5881
+ key: "1s2grr"
5882
+ }
5883
+ ],
5884
+ ["path", { d: "M20 2v4", key: "1rf3ol" }],
5885
+ ["path", { d: "M22 4h-4", key: "gwowj6" }],
5886
+ ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
5887
+ ];
5888
+ var Sparkles = createLucideIcon("sparkles", __iconNode6);
5889
+
5890
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/star.js
5891
+ var __iconNode7 = [
5892
+ [
5893
+ "path",
5894
+ {
5895
+ d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
5896
+ key: "r04s7s"
5897
+ }
5898
+ ]
5899
+ ];
5900
+ var Star = createLucideIcon("star", __iconNode7);
5901
+
5902
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/ticket.js
5903
+ var __iconNode8 = [
5904
+ [
5905
+ "path",
5906
+ {
5907
+ d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",
5908
+ key: "qn84l0"
5909
+ }
5910
+ ],
5911
+ ["path", { d: "M13 5v2", key: "dyzc3o" }],
5912
+ ["path", { d: "M13 17v2", key: "1ont0d" }],
5913
+ ["path", { d: "M13 11v2", key: "1wjjxi" }]
5914
+ ];
5915
+ var Ticket = createLucideIcon("ticket", __iconNode8);
5740
5916
  var EventCompactRow = ({
5741
5917
  event,
5742
5918
  buttonVariant = "primary",
5743
5919
  buttonText
5744
5920
  }) => {
5745
5921
  const timeZone = event.timeZone ?? null;
5746
- const formattedDate = formatDate(event.startsAt, { timeZone });
5922
+ const dateRail = formatEventCompactDateRail(event.startsAt, { timeZone });
5747
5923
  const formattedTime = `${formatTime(event.startsAt, { timeZone })} \u2013 ${formatTime(event.endsAt, { timeZone })}`;
5748
5924
  const price = formatEventPrice(event);
5749
5925
  const teacherLine = formatEventTeacherLine(event);
5750
5926
  const cta = resolveEventCta(event, buttonText);
5751
- const option = {
5752
- id: event.occurrenceId ?? event.id,
5753
- title: event.title,
5754
- primaryMeta: [formattedDate, formattedTime],
5755
- secondaryMeta: [
5756
- ...event.venue ? [
5757
- {
5758
- id: "venue",
5759
- label: event.venue.name,
5760
- icon: /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
5761
- className: "event-compact-row-venue"
5762
- }
5763
- ] : [],
5764
- ...teacherLine ? [
5765
- {
5766
- id: "teacher",
5767
- label: teacherLine,
5768
- className: "event-compact-row-teacher"
5769
- }
5770
- ] : []
5771
- ],
5772
- priceLabel: price,
5773
- action: cta.hidden ? { kind: "status", label: cta.label } : { kind: "action", label: cta.label, href: cta.href }
5774
- };
5775
- return /* @__PURE__ */ jsx(BookingOptionCompactRow, { buttonVariant, option });
5927
+ const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
5928
+ return /* @__PURE__ */ jsxs("article", { className: "event-compact-row", children: [
5929
+ /* @__PURE__ */ jsxs("time", { className: "event-compact-row-date", dateTime: event.startsAt, "aria-label": dateRail.label, children: [
5930
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-weekday", children: dateRail.weekday }),
5931
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-day", children: dateRail.day }),
5932
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-month", children: dateRail.month })
5933
+ ] }),
5934
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
5935
+ /* @__PURE__ */ jsx("h3", { className: "event-compact-row-title", children: event.title }),
5936
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-meta", children: [
5937
+ event.venue && /* @__PURE__ */ jsxs("span", { className: "event-compact-row-venue", children: [
5938
+ /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
5939
+ event.venue.name
5940
+ ] }),
5941
+ teacherLine && /* @__PURE__ */ jsx("span", { className: "event-compact-row-teacher", children: teacherLine }),
5942
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: price })
5943
+ ] })
5944
+ ] }),
5945
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-action", children: [
5946
+ /* @__PURE__ */ jsxs("span", { className: "event-compact-row-datetime", children: [
5947
+ /* @__PURE__ */ jsx(Clock, { "aria-hidden": "true" }),
5948
+ formattedTime
5949
+ ] }),
5950
+ cta.hidden ? /* @__PURE__ */ jsx("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsxs("a", { href: cta.href, className: `${buttonClass} event-compact-row-cta`, children: [
5951
+ /* @__PURE__ */ jsx("span", { children: cta.label }),
5952
+ /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true" })
5953
+ ] })
5954
+ ] })
5955
+ ] });
5776
5956
  };
5777
5957
  var EmptyState = ({
5778
5958
  message = "No upcoming events scheduled.",
@@ -6853,7 +7033,7 @@ z.object({
6853
7033
  });
6854
7034
 
6855
7035
  // ../blocks/src/system/runtime/api/creditProducts.ts
6856
- function assertNever2(value) {
7036
+ function assertNever(value) {
6857
7037
  throw new Error(`Unhandled credit product case: ${String(value)}`);
6858
7038
  }
6859
7039
  function useCasesFromModules(modules) {
@@ -6886,7 +7066,7 @@ function getCreditProductCreditUnit(useCase) {
6886
7066
  perCreditSuffix: "credit"
6887
7067
  };
6888
7068
  default:
6889
- return assertNever2(useCase);
7069
+ return assertNever(useCase);
6890
7070
  }
6891
7071
  }
6892
7072
  function deriveCreditProductLabels(products, options = {}) {
@@ -6915,6 +7095,7 @@ var EMPTY_COMMERCE_CART_STATE = { items: [] };
6915
7095
  var storedProductCartItemSchema = z.object({
6916
7096
  kind: z.literal("product"),
6917
7097
  productId: z.string().min(1),
7098
+ productCategoryId: z.string().min(1).optional().nullable(),
6918
7099
  variantId: z.string().min(1).optional().nullable(),
6919
7100
  title: z.string().min(1),
6920
7101
  variantTitle: z.string().optional().nullable(),
@@ -6949,6 +7130,7 @@ function parseStoredCartItem(value) {
6949
7130
  key: productItemKey(item.productId, item.variantId),
6950
7131
  kind: "product",
6951
7132
  productId: item.productId,
7133
+ productCategoryId: item.productCategoryId ?? null,
6952
7134
  ...item.variantId ? { variantId: item.variantId } : {},
6953
7135
  title: item.title,
6954
7136
  variantTitle: item.variantTitle ?? null,
@@ -6993,6 +7175,7 @@ function buildProductCartItem(input) {
6993
7175
  key: productItemKey(input.product.id, variant?.id ?? null),
6994
7176
  kind: "product",
6995
7177
  productId: input.product.id,
7178
+ productCategoryId: input.product.category?.id ?? null,
6996
7179
  ...variant?.id ? { variantId: variant.id } : {},
6997
7180
  title: input.product.title,
6998
7181
  variantTitle: variant?.title ?? null,
@@ -7752,5 +7935,31 @@ function defineIslandPropsDecoder(kind) {
7752
7935
  throw new IslandPropsDecodeError(kind, result.issues);
7753
7936
  };
7754
7937
  }
7938
+ /*! Bundled license information:
7939
+
7940
+ lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
7941
+ lucide-react/dist/esm/shared/src/utils/toKebabCase.js:
7942
+ lucide-react/dist/esm/shared/src/utils/toCamelCase.js:
7943
+ lucide-react/dist/esm/shared/src/utils/toPascalCase.js:
7944
+ lucide-react/dist/esm/defaultAttributes.js:
7945
+ lucide-react/dist/esm/shared/src/utils/hasA11yProp.js:
7946
+ lucide-react/dist/esm/Icon.js:
7947
+ lucide-react/dist/esm/createLucideIcon.js:
7948
+ lucide-react/dist/esm/icons/arrow-right.js:
7949
+ lucide-react/dist/esm/icons/chevron-left.js:
7950
+ lucide-react/dist/esm/icons/chevron-right.js:
7951
+ lucide-react/dist/esm/icons/clock.js:
7952
+ lucide-react/dist/esm/icons/credit-card.js:
7953
+ lucide-react/dist/esm/icons/sparkles.js:
7954
+ lucide-react/dist/esm/icons/star.js:
7955
+ lucide-react/dist/esm/icons/ticket.js:
7956
+ lucide-react/dist/esm/lucide-react.js:
7957
+ (**
7958
+ * @license lucide-react v0.563.0 - ISC
7959
+ *
7960
+ * This source code is licensed under the ISC license.
7961
+ * See the LICENSE file in the root directory of this source tree.
7962
+ *)
7963
+ */
7755
7964
 
7756
- export { BOOKING_FORM_DATA_RESERVED_KEYS, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, addMonths, assertNever, buildCartDisplay, buildEventCalendarListingRender, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, defineIslandPropsDecoder, deriveBookingFormViewState, err, formatBookingSubmissionPreparationError, formatCalendarTitle, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getMonthCalendarDays, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, getWeekCalendarDays, groupEventsByDate, isEventContentType, isToday, logger, normalizeEventBlockKind, normalizeIdList, ok, okWith, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, themeButtonClassName, toSelectedCollectionOptionKind };
7965
+ export { BOOKING_FORM_DATA_RESERVED_KEYS, ChevronLeft, ChevronRight, CreditCard, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, Sparkles, Star, Ticket, addMonths, assertNever11, buildCartDisplay, buildEventCalendarListingRender, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, clearWorkflowFeedback, defineIslandPropsDecoder, deriveBookingFormViewState, deriveCommerceCheckoutState, err2, formatBookingSubmissionPreparationError, formatCalendarTitle, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getMonthCalendarDays, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, getWeekCalendarDays, groupEventsByDate, isEventContentType, isToday, logger, normalizeEventBlockKind, normalizeIdList, ok, okWith2, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, reportWorkflowError, reportWorkflowSuccess, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, themeButtonClassName, toSelectedCollectionOptionKind };