@riverbankcms/sdk 0.77.1 → 0.78.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/README.md +114 -43
  2. package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +4962 -4885
  3. package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
  4. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +190 -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/contentRuntime.d.ts +1 -0
  11. package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
  12. package/dist/_dts/api/src/endpoints.d.ts +17 -0
  13. package/dist/_dts/api/src/index.d.ts +16 -4
  14. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
  15. package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
  16. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
  17. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
  18. package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
  19. package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
  20. package/dist/_dts/api/src/navigation.d.ts +12 -0
  21. package/dist/_dts/api/src/public/types.d.ts +1 -1
  22. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
  23. package/dist/_dts/api/src/request.d.ts +3 -11
  24. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
  25. package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
  26. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
  27. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
  28. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
  29. package/dist/_dts/api/src/staffAccess.d.ts +79 -0
  30. package/dist/_dts/api/src/types.d.ts +14 -27
  31. package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
  32. package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
  33. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
  34. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
  35. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
  36. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
  37. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
  38. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
  39. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
  40. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
  41. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
  42. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
  43. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
  44. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
  45. package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
  46. package/dist/_dts/blocks/src/index.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
  48. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
  49. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
  50. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
  51. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
  52. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  53. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
  54. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
  55. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +68 -21
  57. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
  58. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
  59. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
  60. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  61. package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
  62. package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
  63. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
  64. package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
  65. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +193 -29
  66. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
  67. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  68. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
  70. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  72. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
  73. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
  79. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
  80. package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
  83. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
  87. package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
  88. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
  89. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  90. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  91. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  92. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  93. package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
  94. package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
  95. package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
  96. package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
  97. package/dist/_dts/content-editor/src/index.d.ts +6 -1
  98. package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
  99. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
  100. package/dist/_dts/content-model/src/content-types/schema.d.ts +17 -3
  101. package/dist/_dts/content-model/src/index.d.ts +1 -0
  102. package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
  103. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
  104. package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
  105. package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
  106. package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
  107. package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
  108. package/dist/_dts/core/src/branded.d.ts +108 -85
  109. package/dist/_dts/core/src/csv-cells.d.ts +10 -0
  110. package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
  111. package/dist/_dts/core/src/csv-escape.d.ts +1 -0
  112. package/dist/_dts/core/src/csv-filename.d.ts +18 -0
  113. package/dist/_dts/core/src/csv-render.d.ts +4 -0
  114. package/dist/_dts/core/src/csv-types.d.ts +116 -0
  115. package/dist/_dts/core/src/currency-format.d.ts +4 -0
  116. package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
  117. package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
  118. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
  119. package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
  120. package/dist/_dts/core/src/duration.d.ts +14 -0
  121. package/dist/_dts/core/src/editor-state.d.ts +7 -7
  122. package/dist/_dts/core/src/email-format.d.ts +10 -0
  123. package/dist/_dts/core/src/field-errors.d.ts +1 -0
  124. package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
  125. package/dist/_dts/core/src/index.d.ts +20 -0
  126. package/dist/_dts/core/src/number-input.d.ts +22 -0
  127. package/dist/_dts/core/src/participants.d.ts +2 -2
  128. package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
  129. package/dist/_dts/core/src/slug.d.ts +39 -0
  130. package/dist/_dts/core/src/string.d.ts +19 -0
  131. package/dist/_dts/core/src/uuid.d.ts +6 -0
  132. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
  133. package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
  134. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  135. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
  136. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
  137. package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
  138. package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
  139. package/dist/_dts/media-core/src/filename.d.ts +1 -0
  140. package/dist/_dts/media-core/src/index.d.ts +10 -0
  141. package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
  142. package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
  143. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
  144. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
  145. package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
  146. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
  147. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
  148. package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
  149. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  150. package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
  151. package/dist/_dts/path-utils/src/index.d.ts +8 -0
  152. package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
  153. package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
  154. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
  155. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
  156. package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
  157. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  158. package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
  159. package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
  160. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
  161. package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
  162. package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
  163. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
  164. package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
  165. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
  166. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
  167. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
  168. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
  169. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
  170. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
  171. package/dist/_dts/sdk/src/client/error.d.ts +3 -0
  172. package/dist/_dts/sdk/src/client/index.d.ts +2 -2
  173. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
  174. package/dist/_dts/sdk/src/client/types.d.ts +39 -21
  175. package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
  176. package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
  177. package/dist/_dts/sdk/src/index.d.ts +2 -2
  178. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
  179. package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
  180. package/dist/_dts/sdk/src/next/index.d.ts +2 -1
  181. package/dist/_dts/sdk/src/next/types.d.ts +19 -0
  182. package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
  183. package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
  184. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
  185. package/dist/_dts/sdk/src/version.d.ts +1 -1
  186. package/dist/_dts/site-commands/src/commands.d.ts +15 -12
  187. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  188. package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
  189. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
  190. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
  191. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
  192. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
  193. package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
  194. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  195. package/dist/_dts/theme-core/src/index.d.ts +3 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
  197. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
  198. package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
  199. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  200. package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
  201. package/dist/_dts/theme-core/src/schema.d.ts +64 -18
  202. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
  203. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
  204. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
  205. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  206. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
  207. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  208. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
  209. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
  210. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
  211. package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
  212. package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
  213. package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
  214. package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
  215. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
  216. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
  217. package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
  218. package/dist/{chunk-IENWFSLO.mjs → chunk-4QEGTLK6.mjs} +1 -1
  219. package/dist/{chunk-ZYEJLCTN.mjs → chunk-6HYXHRAI.mjs} +5 -5
  220. package/dist/{chunk-VX7B5VAC.mjs → chunk-CR5HKAGU.mjs} +32 -5
  221. package/dist/{chunk-KWJPDZH2.mjs → chunk-MCRQMPET.mjs} +3793 -1201
  222. package/dist/{chunk-6SMUFTXD.mjs → chunk-OKMBEAXY.mjs} +1 -1
  223. package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
  224. package/dist/{chunk-2SPENC5M.mjs → chunk-RGTOD4AJ.mjs} +242 -57
  225. package/dist/cli/index.mjs +2361 -668
  226. package/dist/cli/init-docs/content/cli-reference.md +3 -2
  227. package/dist/cli/init-docs/content/content-management.md +2 -2
  228. package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
  229. package/dist/client/{accordion-RZMQSYLR.mjs → accordion-PLYNJIIM.mjs} +2 -2
  230. package/dist/client/analytics.mjs +1 -1
  231. package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-BXAP6AO7.mjs} +76 -72
  232. package/dist/client/bookings.mjs +3765 -310
  233. package/dist/client/{carousel-LDX47ZIK.mjs → carousel-TRBXDHGF.mjs} +3 -4
  234. package/dist/client/{cart-RGXDS5F4.mjs → cart-Z7H3HJRS.mjs} +8 -8
  235. package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WAFCUBIX.mjs} +8 -8
  236. package/dist/client/{chunk-II7O4XN3.mjs → chunk-75OUS5MT.mjs} +2 -2
  237. package/dist/client/{chunk-PMAIXMAB.mjs → chunk-AUJ5DBZJ.mjs} +42 -37
  238. package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-CE7IBGVW.mjs} +3 -1
  239. package/dist/client/{chunk-E2TDNXCL.mjs → chunk-CWGTG37I.mjs} +2 -1
  240. package/dist/client/{chunk-UFSWADAO.mjs → chunk-DNRGY432.mjs} +6 -67
  241. package/dist/client/{chunk-GMVTOKYG.mjs → chunk-FUXW6VW2.mjs} +512 -66
  242. package/dist/client/{chunk-R56FQ3RR.mjs → chunk-JGXPTEI2.mjs} +322 -106
  243. package/dist/client/{chunk-L3DNHIJX.mjs → chunk-JRDUHZCT.mjs} +53 -53
  244. package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
  245. package/dist/client/{chunk-JEZECJ3W.mjs → chunk-UVQEJJTN.mjs} +129 -3
  246. package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
  247. package/dist/client/chunk-ZFHRN6W2.mjs +66 -0
  248. package/dist/client/{chunk-JNC7CGHX.mjs → chunk-ZI3LLBPZ.mjs} +3 -3
  249. package/dist/client/client.mjs +7577 -4979
  250. package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-AHFQHWIJ.mjs} +19 -16
  251. package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-LDXTV5R7.mjs} +10 -10
  252. package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-A4JGTNJO.mjs} +10 -10
  253. package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-4YXTZ7EG.mjs} +10 -10
  254. package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-P72TPFFM.mjs} +10 -10
  255. package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-LSYJHGMT.mjs} +10 -10
  256. package/dist/client/{form-ETFZFATW.mjs → form-AOPYOKOW.mjs} +10 -7
  257. package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
  258. package/dist/client/hooks.mjs +1119 -327
  259. package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
  260. package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-KTRHZY52.mjs} +3 -3
  261. package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-N4E775RG.mjs} +8 -8
  262. package/dist/client/{productList-A5RO5WIS.mjs → productList-UGUQ2S45.mjs} +8 -8
  263. package/dist/client/rendering/client.mjs +7262 -2775
  264. package/dist/client/rendering/islands.mjs +19 -19
  265. package/dist/client/rendering.mjs +6964 -4587
  266. package/dist/client/{shop-L4MZH4I2.mjs → shop-VHSZEEQ2.mjs} +8 -8
  267. package/dist/preview-next/before-render.mjs +18 -1
  268. package/dist/preview-next/client/runtime.mjs +6 -6
  269. package/dist/preview-next/editor-chrome.css +10 -0
  270. package/dist/preview-next/middleware.mjs +18 -1
  271. package/dist/preview-next/tailwind-sources.css +1 -0
  272. package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
  273. package/dist/server/components.mjs +2736 -1316
  274. package/dist/server/config-template-validation.mjs +221 -15
  275. package/dist/server/config-validation.mjs +1346 -550
  276. package/dist/server/config.mjs +1346 -550
  277. package/dist/server/data.mjs +1118 -326
  278. package/dist/server/index.mjs +514 -251
  279. package/dist/server/next.mjs +4446 -2444
  280. package/dist/server/page-converter.mjs +631 -155
  281. package/dist/server/prebuild.mjs +1 -1
  282. package/dist/server/rendering/server.mjs +2743 -1323
  283. package/dist/server/rendering.mjs +2764 -1328
  284. package/dist/server/routing.mjs +1860 -590
  285. package/dist/server/server.mjs +1622 -575
  286. package/dist/server/theme-bridge.mjs +3151 -131
  287. package/dist/server/theme.mjs +10 -1
  288. package/dist/styles/index.css +488 -48
  289. package/package.json +2 -1
  290. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
  291. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
  292. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
  293. package/dist/client/chunk-OJPZEZU2.mjs +0 -31
  294. package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
  295. package/dist/sdk-runtime-6UT2S7KZ.mjs +0 -8
@@ -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-AUJ5DBZJ.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" }],
@@ -1897,8 +1899,8 @@ var eventSurfaceScopeValues = [
1897
1899
  "custom"
1898
1900
  ];
1899
1901
  var eventScheduleScopeValues = ["any", "recurring", "oneOff"];
1900
- var asEventCategoryId = (value) => value;
1901
- var asVenueId = (value) => value;
1902
+ var unsafeAsEventCategoryId = (value) => value;
1903
+ var unsafeAsVenueId = (value) => value;
1902
1904
  function normalizeEventBlockKind(value) {
1903
1905
  return value === "courses" || value === "events" ? value : "all";
1904
1906
  }
@@ -1924,10 +1926,10 @@ function normalizeEventCategoryIds(value) {
1924
1926
  if (Array.isArray(value)) {
1925
1927
  return normalizeIdList(
1926
1928
  value.filter((entry) => typeof entry === "string")
1927
- ).map(asEventCategoryId);
1929
+ ).map(unsafeAsEventCategoryId);
1928
1930
  }
1929
1931
  if (typeof value === "string") {
1930
- return normalizeIdList(value.split(",")).map(asEventCategoryId);
1932
+ return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
1931
1933
  }
1932
1934
  return [];
1933
1935
  }
@@ -1940,7 +1942,7 @@ function normalizeEventVenueId(value) {
1940
1942
  return null;
1941
1943
  }
1942
1944
  const trimmed = value.trim();
1943
- return trimmed ? asVenueId(trimmed) : null;
1945
+ return trimmed ? unsafeAsVenueId(trimmed) : null;
1944
1946
  }
1945
1947
  function normalizeEventStaffMemberId(value) {
1946
1948
  if (typeof value !== "string") {
@@ -2047,6 +2049,8 @@ var uiSchema = z.object({
2047
2049
  mediaPickerAutoOpen: z.boolean().optional(),
2048
2050
  showMediaPreview: z.boolean().optional(),
2049
2051
  showMediaOverlayActions: z.boolean().optional(),
2052
+ mediaPreviewMaxWidth: z.enum(["xs", "sm", "md", "none"]).optional(),
2053
+ preventMediaPreviewUpscale: z.boolean().optional(),
2050
2054
  mediaDelivery: mediaDeliverySchema.optional(),
2051
2055
  mediaDeliveryByVariant: z.record(z.string(), mediaDeliverySchema).optional(),
2052
2056
  // Optional input hints for validators/widgets
@@ -2296,6 +2300,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
2296
2300
  type: z.literal("repeater"),
2297
2301
  itemLabel: z.string().default("Item"),
2298
2302
  itemLabelSource: z.string().optional(),
2303
+ showSummary: z.boolean().optional(),
2304
+ summaryFields: z.string().array().optional(),
2305
+ summaryMaxChars: z.number().int().positive().optional(),
2299
2306
  minItems: z.number().int().min(0).default(0),
2300
2307
  maxItems: z.number().int().positive().optional(),
2301
2308
  // Monomorphic mode
@@ -2641,47 +2648,48 @@ function scopeFragmentLayout(fragment, scope) {
2641
2648
  function prefixFieldId(field, scope) {
2642
2649
  const cloned = cloneFieldDefinition(field);
2643
2650
  cloned.id = `${scope}.${field.id}`;
2644
- cloned.defaultValue = cloneUnknown(cloned.defaultValue);
2651
+ const defaultValue = cloned.defaultValue;
2652
+ cloned.defaultValue = cloneUnknown(defaultValue);
2645
2653
  cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
2646
2654
  cloned.ui = cloneUnknown(cloned.ui);
2647
2655
  return cloned;
2648
2656
  }
2649
2657
  function cloneFieldDefinition(field) {
2650
- switch (field.type) {
2651
- case "repeater":
2652
- if (field.polymorphic && field.itemTypes) {
2653
- return {
2654
- ...field,
2655
- polymorphic: true,
2656
- itemTypes: Object.fromEntries(
2657
- Object.entries(field.itemTypes).map(([key, itemType]) => [
2658
- key,
2659
- {
2660
- ...itemType,
2661
- fields: itemType.fields.map(cloneFieldDefinition)
2662
- }
2663
- ])
2664
- )
2665
- };
2666
- } else if (field.schema) {
2667
- return {
2668
- ...field,
2669
- schema: {
2670
- fields: field.schema.fields.map(cloneFieldDefinition)
2671
- }
2672
- };
2673
- }
2674
- return { ...field };
2675
- case "group":
2658
+ if (field.type === "repeater") {
2659
+ if (field.polymorphic && field.itemTypes) {
2660
+ return {
2661
+ ...field,
2662
+ polymorphic: true,
2663
+ itemTypes: Object.fromEntries(
2664
+ Object.entries(field.itemTypes).map(([key, itemType]) => [
2665
+ key,
2666
+ {
2667
+ ...itemType,
2668
+ fields: itemType.fields.map(cloneFieldDefinition)
2669
+ }
2670
+ ])
2671
+ )
2672
+ };
2673
+ }
2674
+ if (field.schema) {
2676
2675
  return {
2677
2676
  ...field,
2678
2677
  schema: {
2679
2678
  fields: field.schema.fields.map(cloneFieldDefinition)
2680
2679
  }
2681
2680
  };
2682
- default:
2683
- return { ...field };
2681
+ }
2682
+ return { ...field };
2683
+ }
2684
+ if (field.type === "group") {
2685
+ return {
2686
+ ...field,
2687
+ schema: {
2688
+ fields: field.schema.fields.map(cloneFieldDefinition)
2689
+ }
2690
+ };
2684
2691
  }
2692
+ return { ...field };
2685
2693
  }
2686
2694
  function cloneUnknown(value) {
2687
2695
  if (value == null || typeof value !== "object") {
@@ -3464,7 +3472,8 @@ function createBlockManifest(config) {
3464
3472
  return augmentManifest(manifest);
3465
3473
  }
3466
3474
  function normalizeBlockLayout(layout) {
3467
- return Array.isArray(layout) ? [...layout] : layout;
3475
+ const rawLayout = layout;
3476
+ return Array.isArray(rawLayout) ? rawLayout : rawLayout;
3468
3477
  }
3469
3478
  function deriveComponentName(id) {
3470
3479
  const base = id.replace(/^block\./, "");
@@ -3802,18 +3811,43 @@ function createInteractiveIslandCodec(options) {
3802
3811
  }
3803
3812
  };
3804
3813
  }
3805
-
3806
- // ../frontend-state/dist/index.mjs
3814
+ function clearWorkflowFeedback(state) {
3815
+ return {
3816
+ ...state,
3817
+ feedback: idleSubmissionFeedback()
3818
+ };
3819
+ }
3820
+ function reportWorkflowError(state, message) {
3821
+ return {
3822
+ ...state,
3823
+ feedback: errorSubmissionFeedback(message)
3824
+ };
3825
+ }
3826
+ function reportWorkflowSuccess(state, message) {
3827
+ return {
3828
+ ...state,
3829
+ feedback: successSubmissionFeedback(message)
3830
+ };
3831
+ }
3832
+ function idleSubmissionFeedback() {
3833
+ return { tag: "idle" };
3834
+ }
3835
+ function errorSubmissionFeedback(message) {
3836
+ return { tag: "error", message };
3837
+ }
3838
+ function successSubmissionFeedback(message) {
3839
+ return { tag: "success", message };
3840
+ }
3807
3841
  function ok() {
3808
3842
  return { ok: true };
3809
3843
  }
3810
- function okWith(data) {
3844
+ function okWith2(data) {
3811
3845
  return { ok: true, data };
3812
3846
  }
3813
- function err(error) {
3847
+ function err2(error) {
3814
3848
  return { ok: false, error };
3815
3849
  }
3816
- function assertNever(value, message) {
3850
+ function assertNever11(value, message) {
3817
3851
  throw new Error(message ?? `Unexpected value: ${String(value)}`);
3818
3852
  }
3819
3853
 
@@ -3968,7 +4002,7 @@ function deriveBookingFormViewState(input) {
3968
4002
  resourceName: input.verificationState.resourceName
3969
4003
  };
3970
4004
  default:
3971
- return assertNever(input.verificationState);
4005
+ return assertNever11(input.verificationState);
3972
4006
  }
3973
4007
  }
3974
4008
  function resolveBookingSiteId(siteId, form) {
@@ -4138,7 +4172,7 @@ function getBookingServicePaymentSelectionMode(service) {
4138
4172
  case "flexible_balance":
4139
4173
  return "implicit_flexible_balance";
4140
4174
  default:
4141
- return assertNever(onlyKind);
4175
+ return assertNever11(onlyKind);
4142
4176
  }
4143
4177
  }
4144
4178
  if (allowedKinds.length === 2 && allowedKinds.includes("upfront") && (allowedKinds.includes("deferred_manual") || allowedKinds.includes("instalment_plan") || allowedKinds.includes("flexible_balance"))) {
@@ -4340,7 +4374,7 @@ function formatBookingSubmissionPreparationError(error) {
4340
4374
  case "service-missing-duration":
4341
4375
  return `Service "${error.serviceTitle}" is missing duration. Please update the service in the dashboard to include a duration (e.g., 30 minutes).`;
4342
4376
  default:
4343
- return assertNever(error);
4377
+ return assertNever11(error);
4344
4378
  }
4345
4379
  }
4346
4380
  function getBookingSuccessMessage(successMessage) {
@@ -5333,7 +5367,7 @@ var COLUMN_CLASSES = {
5333
5367
  };
5334
5368
  function getContainerClass(layout, columns) {
5335
5369
  if (layout === "compact") {
5336
- return "event-listing-compact-container rb-flex rb-flex-col rb-gap-2";
5370
+ return "event-listing-compact-container rb-flex rb-flex-col";
5337
5371
  }
5338
5372
  if (layout === "stack") {
5339
5373
  return "rb-flex rb-flex-col rb-gap-6";
@@ -5397,6 +5431,23 @@ function formatEventDateParts(args) {
5397
5431
  }));
5398
5432
  return { date, timeRange: `${start} \u2013 ${end}` };
5399
5433
  }
5434
+ function formatEventCompactDateRail(isoTimestamp, options) {
5435
+ const dateTime = toScheduledBookingDateTime({
5436
+ startsAt: isoTimestamp,
5437
+ timeZone: toBookingTimeZone(options?.timeZone ?? "UTC"),
5438
+ locale: options?.locale ?? "en-US"
5439
+ });
5440
+ const weekday = formatBookingDate(dateTime, { weekday: "short" }).toLocaleUpperCase(options?.locale ?? "en-US");
5441
+ const month = formatBookingDate(dateTime, { month: "short" }).toLocaleUpperCase(options?.locale ?? "en-US");
5442
+ const day = formatBookingDate(dateTime, { day: "numeric" });
5443
+ const label = formatBookingDate(dateTime, {
5444
+ weekday: "long",
5445
+ year: "numeric",
5446
+ month: "long",
5447
+ day: "numeric"
5448
+ });
5449
+ return { weekday, day, month, label };
5450
+ }
5400
5451
  function formatTeamMemberNames(names) {
5401
5452
  const normalized = names.map((name) => name.trim()).filter(Boolean);
5402
5453
  if (normalized.length === 0) return null;
@@ -5706,73 +5757,209 @@ function pickReadableTextColor(background) {
5706
5757
  return "rgb(var(--tb-onAccent, 255 255 255))";
5707
5758
  }
5708
5759
  }
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
- }
5760
+
5761
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5762
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
5763
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
5764
+ }).join(" ").trim();
5765
+
5766
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js
5767
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
5768
+
5769
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js
5770
+ var toCamelCase = (string) => string.replace(
5771
+ /^([A-Z])|[\s-_]+(\w)/g,
5772
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
5773
+ );
5774
+
5775
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js
5776
+ var toPascalCase = (string) => {
5777
+ const camelCase = toCamelCase(string);
5778
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
5779
+ };
5780
+
5781
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/defaultAttributes.js
5782
+ var defaultAttributes = {
5783
+ xmlns: "http://www.w3.org/2000/svg",
5784
+ width: 24,
5785
+ height: 24,
5786
+ viewBox: "0 0 24 24",
5787
+ fill: "none",
5788
+ stroke: "currentColor",
5789
+ strokeWidth: 2,
5790
+ strokeLinecap: "round",
5791
+ strokeLinejoin: "round"
5792
+ };
5793
+
5794
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js
5795
+ var hasA11yProp = (props) => {
5796
+ for (const prop in props) {
5797
+ if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
5798
+ return true;
5799
+ }
5800
+ }
5801
+ return false;
5802
+ };
5803
+
5804
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js
5805
+ var Icon = forwardRef(
5806
+ ({
5807
+ color = "currentColor",
5808
+ size = 24,
5809
+ strokeWidth = 2,
5810
+ absoluteStrokeWidth,
5811
+ className = "",
5812
+ children,
5813
+ iconNode,
5814
+ ...rest
5815
+ }, ref) => createElement(
5816
+ "svg",
5817
+ {
5818
+ ref,
5819
+ ...defaultAttributes,
5820
+ width: size,
5821
+ height: size,
5822
+ stroke: color,
5823
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
5824
+ className: mergeClasses("lucide", className),
5825
+ ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
5826
+ ...rest
5827
+ },
5828
+ [
5829
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
5830
+ ...Array.isArray(children) ? children : [children]
5831
+ ]
5832
+ )
5833
+ );
5834
+
5835
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
5836
+ var createLucideIcon = (iconName, iconNode) => {
5837
+ const Component = forwardRef(
5838
+ ({ className, ...props }, ref) => createElement(Icon, {
5839
+ ref,
5840
+ iconNode,
5841
+ className: mergeClasses(
5842
+ `lucide-${toKebabCase(toPascalCase(iconName))}`,
5843
+ `lucide-${iconName}`,
5844
+ className
5845
+ ),
5846
+ ...props
5847
+ })
5848
+ );
5849
+ Component.displayName = toPascalCase(iconName);
5850
+ return Component;
5851
+ };
5852
+
5853
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/arrow-right.js
5854
+ var __iconNode = [
5855
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
5856
+ ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
5857
+ ];
5858
+ var ArrowRight = createLucideIcon("arrow-right", __iconNode);
5859
+
5860
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-left.js
5861
+ var __iconNode2 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
5862
+ var ChevronLeft = createLucideIcon("chevron-left", __iconNode2);
5863
+
5864
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-right.js
5865
+ var __iconNode3 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
5866
+ var ChevronRight = createLucideIcon("chevron-right", __iconNode3);
5867
+
5868
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/clock.js
5869
+ var __iconNode4 = [
5870
+ ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
5871
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
5872
+ ];
5873
+ var Clock = createLucideIcon("clock", __iconNode4);
5874
+
5875
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/credit-card.js
5876
+ var __iconNode5 = [
5877
+ ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
5878
+ ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
5879
+ ];
5880
+ var CreditCard = createLucideIcon("credit-card", __iconNode5);
5881
+
5882
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sparkles.js
5883
+ var __iconNode6 = [
5884
+ [
5885
+ "path",
5886
+ {
5887
+ 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",
5888
+ key: "1s2grr"
5889
+ }
5890
+ ],
5891
+ ["path", { d: "M20 2v4", key: "1rf3ol" }],
5892
+ ["path", { d: "M22 4h-4", key: "gwowj6" }],
5893
+ ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
5894
+ ];
5895
+ var Sparkles = createLucideIcon("sparkles", __iconNode6);
5896
+
5897
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/star.js
5898
+ var __iconNode7 = [
5899
+ [
5900
+ "path",
5901
+ {
5902
+ 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",
5903
+ key: "r04s7s"
5904
+ }
5905
+ ]
5906
+ ];
5907
+ var Star = createLucideIcon("star", __iconNode7);
5908
+
5909
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/ticket.js
5910
+ var __iconNode8 = [
5911
+ [
5912
+ "path",
5913
+ {
5914
+ 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",
5915
+ key: "qn84l0"
5916
+ }
5917
+ ],
5918
+ ["path", { d: "M13 5v2", key: "dyzc3o" }],
5919
+ ["path", { d: "M13 17v2", key: "1ont0d" }],
5920
+ ["path", { d: "M13 11v2", key: "1wjjxi" }]
5921
+ ];
5922
+ var Ticket = createLucideIcon("ticket", __iconNode8);
5740
5923
  var EventCompactRow = ({
5741
5924
  event,
5742
5925
  buttonVariant = "primary",
5743
5926
  buttonText
5744
5927
  }) => {
5745
5928
  const timeZone = event.timeZone ?? null;
5746
- const formattedDate = formatDate(event.startsAt, { timeZone });
5929
+ const dateRail = formatEventCompactDateRail(event.startsAt, { timeZone });
5747
5930
  const formattedTime = `${formatTime(event.startsAt, { timeZone })} \u2013 ${formatTime(event.endsAt, { timeZone })}`;
5748
5931
  const price = formatEventPrice(event);
5749
5932
  const teacherLine = formatEventTeacherLine(event);
5750
5933
  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 });
5934
+ const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
5935
+ return /* @__PURE__ */ jsxs("article", { className: "event-compact-row", children: [
5936
+ /* @__PURE__ */ jsxs("time", { className: "event-compact-row-date", dateTime: event.startsAt, "aria-label": dateRail.label, children: [
5937
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-weekday", children: dateRail.weekday }),
5938
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-day", children: dateRail.day }),
5939
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-date-month", children: dateRail.month })
5940
+ ] }),
5941
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
5942
+ /* @__PURE__ */ jsx("h3", { className: "event-compact-row-title", children: event.title }),
5943
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-meta", children: [
5944
+ event.venue && /* @__PURE__ */ jsxs("span", { className: "event-compact-row-venue", children: [
5945
+ /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
5946
+ event.venue.name
5947
+ ] }),
5948
+ teacherLine && /* @__PURE__ */ jsx("span", { className: "event-compact-row-teacher", children: teacherLine }),
5949
+ /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: price })
5950
+ ] })
5951
+ ] }),
5952
+ /* @__PURE__ */ jsxs("div", { className: "event-compact-row-action", children: [
5953
+ /* @__PURE__ */ jsxs("span", { className: "event-compact-row-datetime", children: [
5954
+ /* @__PURE__ */ jsx(Clock, { "aria-hidden": "true" }),
5955
+ formattedTime
5956
+ ] }),
5957
+ 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: [
5958
+ /* @__PURE__ */ jsx("span", { children: cta.label }),
5959
+ /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true" })
5960
+ ] })
5961
+ ] })
5962
+ ] });
5776
5963
  };
5777
5964
  var EmptyState = ({
5778
5965
  message = "No upcoming events scheduled.",
@@ -6853,7 +7040,7 @@ z.object({
6853
7040
  });
6854
7041
 
6855
7042
  // ../blocks/src/system/runtime/api/creditProducts.ts
6856
- function assertNever2(value) {
7043
+ function assertNever(value) {
6857
7044
  throw new Error(`Unhandled credit product case: ${String(value)}`);
6858
7045
  }
6859
7046
  function useCasesFromModules(modules) {
@@ -6886,7 +7073,7 @@ function getCreditProductCreditUnit(useCase) {
6886
7073
  perCreditSuffix: "credit"
6887
7074
  };
6888
7075
  default:
6889
- return assertNever2(useCase);
7076
+ return assertNever(useCase);
6890
7077
  }
6891
7078
  }
6892
7079
  function deriveCreditProductLabels(products, options = {}) {
@@ -6915,6 +7102,7 @@ var EMPTY_COMMERCE_CART_STATE = { items: [] };
6915
7102
  var storedProductCartItemSchema = z.object({
6916
7103
  kind: z.literal("product"),
6917
7104
  productId: z.string().min(1),
7105
+ productCategoryId: z.string().min(1).optional().nullable(),
6918
7106
  variantId: z.string().min(1).optional().nullable(),
6919
7107
  title: z.string().min(1),
6920
7108
  variantTitle: z.string().optional().nullable(),
@@ -6949,6 +7137,7 @@ function parseStoredCartItem(value) {
6949
7137
  key: productItemKey(item.productId, item.variantId),
6950
7138
  kind: "product",
6951
7139
  productId: item.productId,
7140
+ productCategoryId: item.productCategoryId ?? null,
6952
7141
  ...item.variantId ? { variantId: item.variantId } : {},
6953
7142
  title: item.title,
6954
7143
  variantTitle: item.variantTitle ?? null,
@@ -6993,6 +7182,7 @@ function buildProductCartItem(input) {
6993
7182
  key: productItemKey(input.product.id, variant?.id ?? null),
6994
7183
  kind: "product",
6995
7184
  productId: input.product.id,
7185
+ productCategoryId: input.product.category?.id ?? null,
6996
7186
  ...variant?.id ? { variantId: variant.id } : {},
6997
7187
  title: input.product.title,
6998
7188
  variantTitle: variant?.title ?? null,
@@ -7752,5 +7942,31 @@ function defineIslandPropsDecoder(kind) {
7752
7942
  throw new IslandPropsDecodeError(kind, result.issues);
7753
7943
  };
7754
7944
  }
7945
+ /*! Bundled license information:
7946
+
7947
+ lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
7948
+ lucide-react/dist/esm/shared/src/utils/toKebabCase.js:
7949
+ lucide-react/dist/esm/shared/src/utils/toCamelCase.js:
7950
+ lucide-react/dist/esm/shared/src/utils/toPascalCase.js:
7951
+ lucide-react/dist/esm/defaultAttributes.js:
7952
+ lucide-react/dist/esm/shared/src/utils/hasA11yProp.js:
7953
+ lucide-react/dist/esm/Icon.js:
7954
+ lucide-react/dist/esm/createLucideIcon.js:
7955
+ lucide-react/dist/esm/icons/arrow-right.js:
7956
+ lucide-react/dist/esm/icons/chevron-left.js:
7957
+ lucide-react/dist/esm/icons/chevron-right.js:
7958
+ lucide-react/dist/esm/icons/clock.js:
7959
+ lucide-react/dist/esm/icons/credit-card.js:
7960
+ lucide-react/dist/esm/icons/sparkles.js:
7961
+ lucide-react/dist/esm/icons/star.js:
7962
+ lucide-react/dist/esm/icons/ticket.js:
7963
+ lucide-react/dist/esm/lucide-react.js:
7964
+ (**
7965
+ * @license lucide-react v0.563.0 - ISC
7966
+ *
7967
+ * This source code is licensed under the ISC license.
7968
+ * See the LICENSE file in the root directory of this source tree.
7969
+ *)
7970
+ */
7755
7971
 
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 };
7972
+ 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 };