@riverbankcms/sdk 0.111.0 → 0.119.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 (196) hide show
  1. package/dist/{PreviewEditorSidebar-CTR6LUhN.mjs → PreviewEditorSidebar-C7TXFitV.mjs} +4 -4
  2. package/dist/{PreviewEditorUI-DZg15Zip.mjs → PreviewEditorUI-_1JIHTXS.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-kkmjklLG.mjs → PreviewQueryProvider-nKUT4TL-.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-DeOTAFvR.mjs → SdkPreviewModeRuntime-CvJTVgWa.mjs} +2579 -34325
  5. package/dist/{SiteChromeCustomizeContext-DOSDLCiJ.mjs → SiteChromeCustomizeContext-66QfCbAS.mjs} +64625 -32791
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +5211 -639
  7. package/dist/_dts/ai/src/designer/themePatch.d.ts +1 -1
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +30 -36
  9. package/dist/_dts/api/src/bookingConfig.d.ts +26 -1
  10. package/dist/_dts/api/src/bookingRecords.d.ts +6 -74
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +3 -3
  12. package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
  13. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
  14. package/dist/_dts/api/src/endpoints.d.ts +35 -0
  15. package/dist/_dts/api/src/event-presentation.d.ts +4 -0
  16. package/dist/_dts/api/src/index.d.ts +4 -4
  17. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -1
  18. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +2 -2
  19. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  20. package/dist/_dts/api/src/sdkContracts.d.ts +85 -7
  21. package/dist/_dts/api/src/siteBanner.d.ts +8 -8
  22. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  23. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  24. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +3 -12
  25. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +1 -5
  26. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -10
  27. package/dist/_dts/blocks/src/index.d.ts +3 -6
  28. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -2
  30. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +2 -2
  31. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -8
  32. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +3 -3
  34. package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -15
  35. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +2 -2
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +66 -66
  37. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -16
  38. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +0 -3
  39. package/dist/_dts/blocks/src/system/fragments/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +19 -2
  41. package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +8 -70
  42. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +6 -0
  44. package/dist/_dts/blocks/src/system/node/schema.d.ts +4 -4
  45. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -10
  46. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +5 -21
  47. package/dist/_dts/blocks/src/system/runtime/nodes/richText-coerce.d.ts +14 -2
  48. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  49. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  50. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +17 -1
  51. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +1 -1
  52. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +1 -1
  53. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -2
  54. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  55. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -1
  56. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  57. package/dist/_dts/content-model/src/content-types/builtins.d.ts +3 -15
  58. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +2 -0
  59. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  60. package/dist/_dts/content-model/src/templates/defaults.d.ts +1 -21
  61. package/dist/_dts/core/src/editor-state.d.ts +14 -1
  62. package/dist/_dts/core/src/footer-composition.d.ts +2 -1
  63. package/dist/_dts/core/src/index.d.ts +1 -0
  64. package/dist/_dts/core/src/rich-text.d.ts +16 -0
  65. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +189 -86
  66. package/dist/_dts/editor/src/index.d.ts +1 -1
  67. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +3 -5
  68. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -1
  69. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -1
  70. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -1
  71. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +15 -0
  72. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +3 -7
  73. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +12 -0
  74. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  75. package/dist/_dts/editor-blocks/src/block-editor/utils.d.ts +1 -1
  76. package/dist/_dts/editor-blocks/src/index.d.ts +6 -5
  77. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  78. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +104 -0
  79. package/dist/_dts/media-core/src/contentMediaAuditFieldAdapter.d.ts +8 -0
  80. package/dist/_dts/media-core/src/contentMediaSnapshotAudit.d.ts +22 -0
  81. package/dist/_dts/media-core/src/index.d.ts +3 -1
  82. package/dist/_dts/sdk/src/cli/commands/event.d.ts +18 -1
  83. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +2 -16
  84. package/dist/_dts/sdk/src/cli/content/reader.d.ts +8 -5
  85. package/dist/_dts/sdk/src/client/management/events.d.ts +2 -1
  86. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  87. package/dist/_dts/sdk/src/client/management/types.d.ts +36 -9
  88. package/dist/_dts/sdk/src/config/typed-entries.d.ts +7 -7
  89. package/dist/_dts/sdk/src/config/validation.d.ts +7 -7
  90. package/dist/_dts/sdk/src/contracts/content.d.ts +5 -15
  91. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  92. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -25
  93. package/dist/_dts/sdk/src/contracts/theme.d.ts +2 -18
  94. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
  95. package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +4 -4
  96. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -2
  97. package/dist/_dts/sdk/src/rendering/helpers/index.d.ts +1 -1
  98. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -13
  99. package/dist/_dts/sdk/src/theme/index.d.ts +0 -29
  100. package/dist/_dts/sdk/src/version.d.ts +1 -1
  101. package/dist/_dts/site-commands/src/commands.d.ts +31 -18
  102. package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +2 -2
  103. package/dist/_dts/theme-core/src/buttons/core.d.ts +0 -1
  104. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +22 -9
  105. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -2
  106. package/dist/_dts/theme-core/src/buttons/effects/presets/border.d.ts +1 -2
  107. package/dist/_dts/theme-core/src/buttons/effects/presets/overlay.d.ts +3 -1
  108. package/dist/_dts/theme-core/src/buttons/effects/presets/shadow.d.ts +2 -2
  109. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +8 -18
  110. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +2 -2
  111. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -5
  112. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -4
  113. package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +36 -0
  114. package/dist/_dts/theme-core/src/buttons/types.d.ts +1638 -93
  115. package/dist/_dts/theme-core/src/cards/types.d.ts +13 -13
  116. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +969 -69
  117. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  118. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +0 -1
  119. package/dist/_dts/theme-core/src/schema.d.ts +1100 -116
  120. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  121. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +14 -14
  122. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  123. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  124. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -0
  125. package/dist/cli/index.mjs +5706 -4852
  126. package/dist/cli/init-docs/content/cli-reference.md +40 -1
  127. package/dist/cli/init-docs/content/content-management.md +6 -0
  128. package/dist/client/{DiscountCodeDisclosure-C4xvTBux.mjs → DiscountCodeDisclosure-DIWj-P9v.mjs} +1 -1
  129. package/dist/client/{EventCombined.client-Cr7G131j.mjs → EventCombined.client-De8YWBSr.mjs} +2 -2
  130. package/dist/client/{EventListing.client-CAjbseNy.mjs → EventListing.client-seHTjimY.mjs} +2 -2
  131. package/dist/client/{LeafletStaticMap-BMlWfwz3.mjs → LeafletStaticMap-BmQxFcJW.mjs} +1 -1
  132. package/dist/client/{MagicLinkForm-ChdFz96y.mjs → MagicLinkForm-OoJAIUIj.mjs} +1 -1
  133. package/dist/client/{StepIndicator-7D3GaBeM.mjs → StepIndicator-CiZ8kdPk.mjs} +2 -2
  134. package/dist/client/{accordion-D8JTs2Si.mjs → accordion-6lnN__XJ.mjs} +1 -1
  135. package/dist/client/{bookingForm-H3DCRBHs.mjs → bookingForm-5uyqhONU.mjs} +6 -6
  136. package/dist/client/bookings.mjs +2219 -527
  137. package/dist/client/{carousel-DMr_QWlz.mjs → carousel-Dtnifil_.mjs} +1 -1
  138. package/dist/client/{cart-DWMbfBdR.mjs → cart-5Tc5S7NV.mjs} +3 -3
  139. package/dist/client/{checkout-zmfdkXLx.mjs → checkout-CYKKN5Hr.mjs} +3 -3
  140. package/dist/client/client.mjs +2498 -2384
  141. package/dist/client/{colorTokenParts-FSS3al6l.mjs → colorStyles-BWpj_h4C.mjs} +88 -1
  142. package/dist/client/{courseRegistration-Z_mn18jy.mjs → courseRegistration-CxCBybB4.mjs} +6 -6
  143. package/dist/client/{eventCalendar-CYp0YJGF.mjs → eventCalendar-Xj2jZS9X.mjs} +4 -4
  144. package/dist/client/{eventCombined-rKyYZUa9.mjs → eventCombined-CgcMoOgM.mjs} +2 -2
  145. package/dist/client/{eventDetails-X0ZaUuMj.mjs → eventDetails-CEAH8Edc.mjs} +3 -3
  146. package/dist/client/{eventListing-W1SuL7EP.mjs → eventListing-qyPVQ0wP.mjs} +2 -2
  147. package/dist/client/{eventRegistration-ClWricui.mjs → eventRegistration-DDu79CtL.mjs} +6 -6
  148. package/dist/client/{form--eKPwAAD.mjs → form-Bc7JKI7I.mjs} +1 -1
  149. package/dist/client/{headerSection-BSeGr-FS.mjs → headerSection-vTku_LEl.mjs} +2 -2
  150. package/dist/client/hooks.mjs +373 -555
  151. package/dist/client/{locationMap-BpOrtNYn.mjs → locationMap-Bg7X4Jna.mjs} +3 -3
  152. package/dist/client/{media-DoF0dcVx.mjs → media-CNE1Z-wb.mjs} +1 -2
  153. package/dist/client/{newsletterForm-Bt7it7Dy.mjs → newsletterForm-lpylVdp5.mjs} +1 -1
  154. package/dist/client/{pricing-BTjSDDr4.mjs → pricing-DE8fjJiT.mjs} +1 -1
  155. package/dist/client/{productDetail-ICnVTcCg.mjs → productDetail-D7Bo2RMH.mjs} +3 -3
  156. package/dist/client/{productList-ZHr6D604.mjs → productList-VjnZqiqN.mjs} +3 -3
  157. package/dist/client/{propsDecoder-wWN0tBDF.mjs → propsDecoder-DreFXjNP.mjs} +2212 -621
  158. package/dist/client/rendering/client.mjs +21612 -21646
  159. package/dist/client/rendering/islands.mjs +20 -20
  160. package/dist/client/rendering.mjs +1571 -1547
  161. package/dist/client/{shop-C1u_BUn0.mjs → shop-IRsHHbf7.mjs} +5 -5
  162. package/dist/client/{shop-commerce-CleZdRha.mjs → shop-commerce-gnI8PieZ.mjs} +27 -10
  163. package/dist/client/{shop-commerce-store-ycnoB2Ce.mjs → shop-commerce-store-BTbrhObn.mjs} +1 -1
  164. package/dist/client/{shopShared-CPhByt2a.mjs → shopShared-D6KS2_qk.mjs} +3 -3
  165. package/dist/client/{useDiscountCodeUi-cStSQI6C.mjs → useDiscountCodeUi-DCccGCxV.mjs} +1 -1
  166. package/dist/client/{useEventFilters-DKPN7hSY.mjs → useEventFilters-eGs3rPZQ.mjs} +3 -104
  167. package/dist/client/{usePolling-BKAd6pkZ.mjs → usePolling-CvSU2sur.mjs} +2 -2
  168. package/dist/preview-next/before-render.mjs +57 -0
  169. package/dist/preview-next/client/runtime.mjs +4 -4
  170. package/dist/preview-next/middleware.mjs +57 -0
  171. package/dist/{previewAuthStore-BkT1D06A.mjs → previewAuthStore-DN7vcRsv.mjs} +57 -0
  172. package/dist/{sdk-runtime-hu3wr3ng.mjs → sdk-runtime-DaOiA7ct.mjs} +2 -2
  173. package/dist/{separator-Bln8izQ9.mjs → separator-CqRhcCxD.mjs} +1 -1
  174. package/dist/server/components.mjs +4092 -4108
  175. package/dist/server/config-template-validation.mjs +4 -23
  176. package/dist/server/config-validation.mjs +373 -555
  177. package/dist/server/config.mjs +410 -558
  178. package/dist/server/data.mjs +373 -555
  179. package/dist/server/index.mjs +58 -1
  180. package/dist/server/next.mjs +32958 -32926
  181. package/dist/server/page-converter.mjs +369 -526
  182. package/dist/server/prebuild.mjs +1 -1
  183. package/dist/server/rendering/server.mjs +5371 -3174
  184. package/dist/server/rendering.mjs +4099 -4124
  185. package/dist/server/routing.mjs +758 -966
  186. package/dist/server/server.mjs +448 -632
  187. package/dist/server/theme-bridge.mjs +472 -525
  188. package/dist/server/theme.mjs +1074 -392
  189. package/package.json +1 -1
  190. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +0 -40
  191. package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -19
  192. package/dist/_dts/media-core/src/legacyMediaValue.d.ts +0 -11
  193. package/dist/_dts/theme-core/src/styles/buttons.d.ts +0 -27
  194. package/dist/_dts/theme-core/src/styles/buttonsLibrary.d.ts +0 -2
  195. package/dist/_dts/theme-core/src/styles/glow.d.ts +0 -3
  196. package/dist/client/colorStyles-gcTh5yZT.mjs +0 -89
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { Gt as assertNever$1, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder, tt as themeButtonClassName, yt as assertNever } from "./propsDecoder-wWN0tBDF.mjs";
2
+ import { Kt as assertNever$1, Z as themeButtonClassName, bt as assertNever, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
3
3
  import { n as useBlockApi } from "./context-BGZNlGXB.mjs";
4
- import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-cStSQI6C.mjs";
5
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-C4xvTBux.mjs";
4
+ import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-DCccGCxV.mjs";
5
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
7
7
  import { t as scrollToBlock } from "./scrollToBlock-C86BYkyV.mjs";
8
8
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
9
9
  import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
10
10
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
11
- import { _ as MembershipCardView, a as getDiscountApplyFeedback, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassesMembershipsSectionView } from "./shopShared-CPhByt2a.mjs";
12
- import { t as addPassToCommerceCart } from "./shop-commerce-store-ycnoB2Ce.mjs";
11
+ import { _ as MembershipCardView, a as getDiscountApplyFeedback, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassesMembershipsSectionView } from "./shopShared-D6KS2_qk.mjs";
12
+ import { t as addPassToCommerceCart } from "./shop-commerce-store-BTbrhObn.mjs";
13
13
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
14
14
  import React, { useCallback, useEffect, useRef, useState } from "react";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { J as createRichTextDocFromMarkdown, X as isRecord, Y as unwrapRichTextRoot, a as buildProductDetailDisplay, bt as clearWorkflowFeedback, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, tt as themeButtonClassName, u as buildProductCartItem, wt as reportWorkflowError, yt as assertNever } from "./propsDecoder-wWN0tBDF.mjs";
3
- import { a as getCurrentResolveImageUrlContext, c as resolveImageUrlWithContext, t as ImagePresets } from "./media-DoF0dcVx.mjs";
2
+ import { J as RichTextDocSchema, Tt as reportWorkflowError, Z as themeButtonClassName, a as buildProductDetailDisplay, bt as assertNever, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, it as logger, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem, xt as clearWorkflowFeedback } from "./propsDecoder-DreFXjNP.mjs";
3
+ import { a as getCurrentResolveImageUrlContext, c as resolveImageUrlWithContext, t as ImagePresets } from "./media-CNE1Z-wb.mjs";
4
4
  import { n as useBlockApi } from "./context-BGZNlGXB.mjs";
5
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-C4xvTBux.mjs";
5
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
7
7
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-Ct8Mxna3.mjs";
8
8
  import { t as consumeSearchParam } from "./urlParams-D71VXFGx.mjs";
9
9
  import { t as CarouselNodeClient } from "./carousel.client-CpwTUhIo.mjs";
10
10
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
11
- import { C as ProductListSectionView, S as ProductGalleryFrameView, a as getDiscountApplyFeedback, b as ProductCardView, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as VariantSelectView, x as ProductDetailView } from "./shopShared-CPhByt2a.mjs";
12
- import { n as useCommerceCart } from "./shop-commerce-store-ycnoB2Ce.mjs";
11
+ import { C as ProductListSectionView, S as ProductGalleryFrameView, a as getDiscountApplyFeedback, b as ProductCardView, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as VariantSelectView, x as ProductDetailView } from "./shopShared-D6KS2_qk.mjs";
12
+ import { n as useCommerceCart } from "./shop-commerce-store-BTbrhObn.mjs";
13
13
  import * as React$1 from "react";
14
14
  import React, { useEffect, useState } from "react";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -170,10 +170,27 @@ function RichText({ as: Comp = "div", className, doc, path }) {
170
170
  }
171
171
  //#endregion
172
172
  //#region ../blocks/src/system/runtime/nodes/richText-coerce.ts
173
- function coerceRichTextDoc(value) {
174
- const raw = unwrapRichTextRoot(value);
175
- if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
176
- if (isRecord(raw) && typeof raw.type === "string") return raw;
173
+ function parseRichTextDoc(value) {
174
+ const parsed = RichTextDocSchema.safeParse(value);
175
+ if (parsed.success) return {
176
+ kind: "valid",
177
+ doc: parsed.data
178
+ };
179
+ return {
180
+ kind: "invalid",
181
+ issues: parsed.error.issues.map((issue) => ({
182
+ path: issue.path.map((segment) => String(segment)),
183
+ message: issue.message
184
+ }))
185
+ };
186
+ }
187
+ function coerceRichTextDoc(value, source) {
188
+ const parsed = parseRichTextDoc(value);
189
+ if (parsed.kind === "valid") return parsed.doc;
190
+ if (value !== null && value !== void 0) logger.warn("blocks:rich-text:invalid-document", {
191
+ source,
192
+ issues: parsed.issues.slice(0, 3)
193
+ });
177
194
  return null;
178
195
  }
179
196
  //#endregion
@@ -328,7 +345,7 @@ function ProductDetailController(props) {
328
345
  selectedProduct,
329
346
  variantId
330
347
  ]);
331
- const bodyDoc = display.state === "ready" && props.render.hydration.showBody ? coerceRichTextDoc(display.body) : null;
348
+ const bodyDoc = display.state === "ready" && props.render.hydration.showBody ? coerceRichTextDoc(display.body, "block-runtime:product-detail:body") : null;
332
349
  return /* @__PURE__ */ jsx(ProductDetailView, {
333
350
  display,
334
351
  gallery: display.state === "ready" ? /* @__PURE__ */ jsx(ProductGalleryFrameView, {
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-wWN0tBDF.mjs";
2
+ import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-DreFXjNP.mjs";
3
3
  import * as React$1 from "react";
4
4
  //#region ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
5
5
  const EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { _ as err, v as ok } from "./colorTokenParts-FSS3al6l.mjs";
3
- import { yt as assertNever } from "./propsDecoder-wWN0tBDF.mjs";
2
+ import { b as ok, y as err } from "./colorStyles-BWpj_h4C.mjs";
3
+ import { bt as assertNever } from "./propsDecoder-DreFXjNP.mjs";
4
4
  import { t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
5
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-C4xvTBux.mjs";
5
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
8
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-C4xvTBux.mjs";
2
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
3
3
  import { useEffect, useReducer, useRef } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/shared/components/CheckIcon.tsx
@@ -1,13 +1,10 @@
1
1
  "use client";
2
- import { t as parseColorTokenParts } from "./colorTokenParts-FSS3al6l.mjs";
3
- import { $ as relativeLuminance, A as formatDate, B as resolveEventCta, D as normalizeCsvIds, E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, I as formatTime, N as formatEventPrice, O as normalizeCsvString, U as getEventAvailability, Z as normalizeCardVariantRole, et as hexToRgb, j as formatEventCompactDateRail, k as normalizeOptionalId, nt as parseThemeColorToken, q as normalizeEventBlockKind, tt as themeButtonClassName, yt as assertNever } from "./propsDecoder-wWN0tBDF.mjs";
4
- import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-DoF0dcVx.mjs";
5
- import { r as rgbColorValue } from "./colorStyles-gcTh5yZT.mjs";
2
+ import { $ as hexToRgb, A as formatDate, B as resolveEventCta, D as normalizeCsvIds, E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, I as formatTime, N as formatEventPrice, O as normalizeCsvString, Q as relativeLuminance, U as getEventAvailability, Z as themeButtonClassName, bt as assertNever, et as isCssColorLiteral, j as formatEventCompactDateRail, k as normalizeOptionalId, nt as resolveTokenOrCssColorValue, q as normalizeEventBlockKind, rt as normalizeCardVariantRole, tt as resolveOnColorForThemeToken } from "./propsDecoder-DreFXjNP.mjs";
3
+ import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-CNE1Z-wb.mjs";
6
4
  import { n as useBlockApi } from "./context-BGZNlGXB.mjs";
7
- import { t as LeafletStaticMap } from "./LeafletStaticMap-BMlWfwz3.mjs";
5
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-BmQxFcJW.mjs";
8
6
  import { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
9
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
- import { z as z$1 } from "zod";
11
8
  //#region ../theme-core/src/palette/utils/textColor.ts
12
9
  /**
13
10
  * Pick the better of black/white text for a given background using actual
@@ -175,104 +172,6 @@ const EventFilters = ({ categories, venues, staffMembers, selectedKind, selected
175
172
  ]
176
173
  });
177
174
  };
178
- z$1.string();
179
- const CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
180
- const CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
181
- const CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
182
- "transparent",
183
- "currentcolor",
184
- "inherit",
185
- "initial",
186
- "revert",
187
- "revert-layer",
188
- "unset"
189
- ]);
190
- const COMMON_CSS_NAMED_COLORS = /* @__PURE__ */ new Set([
191
- "black",
192
- "blue",
193
- "gray",
194
- "green",
195
- "grey",
196
- "orange",
197
- "pink",
198
- "purple",
199
- "red",
200
- "white",
201
- "yellow"
202
- ]);
203
- function isCssColorLiteral(value) {
204
- const trimmed = value.trim();
205
- if (!trimmed) return false;
206
- return CSS_HEX_COLOR_PATTERN.test(trimmed) || CSS_COLOR_FUNCTION_PATTERN.test(trimmed) || /^var\(/i.test(trimmed) || CSS_COLOR_KEYWORDS.has(trimmed.toLowerCase());
207
- }
208
- function parseThemeToken(token) {
209
- const trimmed = token.trim();
210
- const match = trimmed.match(/^(.*?)-(\d{2,3})$/);
211
- if (!match) return {
212
- role: trimmed,
213
- shade: null
214
- };
215
- const role = match[1] ?? trimmed;
216
- const shade = match[2] ? Number(match[2]) : null;
217
- return {
218
- role,
219
- shade: Number.isFinite(shade) ? shade : null
220
- };
221
- }
222
- function parseContextThemeColorToken(value, context) {
223
- const parts = parseColorTokenParts(value);
224
- if (parts.kind !== "token") return null;
225
- if (!(Boolean(context?.palette?.[value.trim()]) || parts.opacityPercent !== null && Boolean(context?.palette?.[parts.token]))) return null;
226
- return value.trim();
227
- }
228
- function isTokenShapedTypo(value) {
229
- if (COMMON_CSS_NAMED_COLORS.has(value.toLowerCase())) return false;
230
- if (!/^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/[^/]+)?$/.test(value)) return false;
231
- return !isCssColorLiteral(value);
232
- }
233
- function warnUnknownThemeColorReference(value) {
234
- if (!isTokenShapedTypo(value)) return;
235
- console.warn(`[theme-core] Unknown Theme V2 color token "${value}" treated as literal CSS. Use raw:* for deliberate custom CSS values.`);
236
- }
237
- function parseThemeColorReference(input, context) {
238
- const trimmed = input.trim();
239
- if (trimmed.startsWith("raw:")) return {
240
- kind: "literal-css",
241
- value: trimmed.slice(4)
242
- };
243
- const contextToken = parseContextThemeColorToken(trimmed, context);
244
- if (contextToken) return {
245
- kind: "palette-context-token",
246
- token: contextToken
247
- };
248
- const knownToken = parseThemeColorToken(trimmed);
249
- if (knownToken) return {
250
- kind: "theme-token",
251
- token: knownToken
252
- };
253
- warnUnknownThemeColorReference(trimmed);
254
- return {
255
- kind: "literal-css",
256
- value: trimmed
257
- };
258
- }
259
- function resolveThemeColorReferenceValue(input, context) {
260
- const reference = parseThemeColorReference(input, context);
261
- return reference.kind === "literal-css" ? reference.value : rgbColorValue(reference.token);
262
- }
263
- function resolveTokenOrCssColorValue(input, context) {
264
- return resolveThemeColorReferenceValue(input, context);
265
- }
266
- function resolveOnColorForThemeToken(token) {
267
- if (!parseThemeColorToken(token)) return null;
268
- const parts = parseColorTokenParts(token);
269
- if (parts.kind !== "token") return null;
270
- const { role, shade } = parseThemeToken(parts.token);
271
- const normalizedRole = role.trim();
272
- if (!normalizedRole) return null;
273
- if (!shade) return rgbColorValue(`on${normalizedRole.charAt(0).toUpperCase() + normalizedRole.slice(1)}`);
274
- return shade <= 400 ? "#000000" : "#FFFFFF";
275
- }
276
175
  //#endregion
277
176
  //#region ../blocks/src/system/runtime/nodes/media.server.tsx
278
177
  const MediaNodeServer = ({ value, className, style, videoPlayback = "inline", loading = "lazy", fetchPriority, size = ImagePresets.full, fieldPath, blockKind, blockContent, imageResolveContext: explicitImageResolveContext }) => {
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { yt as assertNever$2 } from "./propsDecoder-wWN0tBDF.mjs";
3
- import { r as formatPrice } from "./StepIndicator-7D3GaBeM.mjs";
2
+ import { bt as assertNever$2 } from "./propsDecoder-DreFXjNP.mjs";
3
+ import { r as formatPrice } from "./StepIndicator-CiZ8kdPk.mjs";
4
4
  import { useCallback, useEffect, useReducer, useRef } from "react";
5
5
  //#region ../core/src/date-math.ts
6
6
  function addDaysToDate(date, dayCount) {
@@ -6672,6 +6672,63 @@ const API_ENDPOINTS = {
6672
6672
  auth: "service",
6673
6673
  responseKind: "json"
6674
6674
  },
6675
+ sdkListEventOccurrences: {
6676
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6677
+ method: "GET",
6678
+ auth: "service",
6679
+ responseKind: "json",
6680
+ errors: [
6681
+ "resource:not_found",
6682
+ "validation:invalid_input",
6683
+ "server:internal_error"
6684
+ ]
6685
+ },
6686
+ sdkAddEventOccurrence: {
6687
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6688
+ method: "POST",
6689
+ auth: "service",
6690
+ responseKind: "json",
6691
+ errors: [
6692
+ "resource:not_found",
6693
+ "validation:invalid_input",
6694
+ "resource:conflict",
6695
+ "server:internal_error"
6696
+ ]
6697
+ },
6698
+ sdkUpdateEventOccurrence: {
6699
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6700
+ method: "PATCH",
6701
+ auth: "service",
6702
+ responseKind: "json",
6703
+ errors: [
6704
+ "resource:not_found",
6705
+ "validation:invalid_input",
6706
+ "resource:conflict",
6707
+ "server:internal_error"
6708
+ ]
6709
+ },
6710
+ sdkCancelEventOccurrence: {
6711
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}/cancel",
6712
+ method: "POST",
6713
+ auth: "service",
6714
+ responseKind: "json",
6715
+ errors: [
6716
+ "resource:not_found",
6717
+ "resource:conflict",
6718
+ "server:internal_error"
6719
+ ]
6720
+ },
6721
+ sdkDeleteEventOccurrence: {
6722
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6723
+ method: "DELETE",
6724
+ auth: "service",
6725
+ responseKind: "json",
6726
+ errors: [
6727
+ "resource:not_found",
6728
+ "resource:conflict",
6729
+ "server:internal_error"
6730
+ ]
6731
+ },
6675
6732
  sdkListCourses: {
6676
6733
  path: "/sdk/{siteId}/courses",
6677
6734
  method: "GET",
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-kkmjklLG.mjs";
2
+ import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-nKUT4TL-.mjs";
3
3
  import React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/preview-next/client/runtime.tsx
6
6
  const LazySdkPreviewMode = React.lazy(async () => {
7
- return { default: (await import("../../SdkPreviewModeRuntime-DeOTAFvR.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
7
+ return { default: (await import("../../SdkPreviewModeRuntime-CvJTVgWa.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
8
8
  });
9
9
  const LazyPreviewShell = React.lazy(async () => {
10
- return { default: (await import("../../sdk-runtime-hu3wr3ng.mjs")).PreviewShell };
10
+ return { default: (await import("../../sdk-runtime-DaOiA7ct.mjs")).PreviewShell };
11
11
  });
12
12
  const LazyPreviewShellLayout = React.lazy(async () => {
13
- return { default: (await import("../../sdk-runtime-hu3wr3ng.mjs")).PreviewShellLayout };
13
+ return { default: (await import("../../sdk-runtime-DaOiA7ct.mjs")).PreviewShellLayout };
14
14
  });
15
15
  function SdkPreviewMode(props) {
16
16
  return /* @__PURE__ */ jsx(React.Suspense, {
@@ -6674,6 +6674,63 @@ const API_ENDPOINTS = {
6674
6674
  auth: "service",
6675
6675
  responseKind: "json"
6676
6676
  },
6677
+ sdkListEventOccurrences: {
6678
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6679
+ method: "GET",
6680
+ auth: "service",
6681
+ responseKind: "json",
6682
+ errors: [
6683
+ "resource:not_found",
6684
+ "validation:invalid_input",
6685
+ "server:internal_error"
6686
+ ]
6687
+ },
6688
+ sdkAddEventOccurrence: {
6689
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6690
+ method: "POST",
6691
+ auth: "service",
6692
+ responseKind: "json",
6693
+ errors: [
6694
+ "resource:not_found",
6695
+ "validation:invalid_input",
6696
+ "resource:conflict",
6697
+ "server:internal_error"
6698
+ ]
6699
+ },
6700
+ sdkUpdateEventOccurrence: {
6701
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6702
+ method: "PATCH",
6703
+ auth: "service",
6704
+ responseKind: "json",
6705
+ errors: [
6706
+ "resource:not_found",
6707
+ "validation:invalid_input",
6708
+ "resource:conflict",
6709
+ "server:internal_error"
6710
+ ]
6711
+ },
6712
+ sdkCancelEventOccurrence: {
6713
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}/cancel",
6714
+ method: "POST",
6715
+ auth: "service",
6716
+ responseKind: "json",
6717
+ errors: [
6718
+ "resource:not_found",
6719
+ "resource:conflict",
6720
+ "server:internal_error"
6721
+ ]
6722
+ },
6723
+ sdkDeleteEventOccurrence: {
6724
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6725
+ method: "DELETE",
6726
+ auth: "service",
6727
+ responseKind: "json",
6728
+ errors: [
6729
+ "resource:not_found",
6730
+ "resource:conflict",
6731
+ "server:internal_error"
6732
+ ]
6733
+ },
6677
6734
  sdkListCourses: {
6678
6735
  path: "/sdk/{siteId}/courses",
6679
6736
  method: "GET",
@@ -6645,6 +6645,63 @@ const API_ENDPOINTS = {
6645
6645
  auth: "service",
6646
6646
  responseKind: "json"
6647
6647
  },
6648
+ sdkListEventOccurrences: {
6649
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6650
+ method: "GET",
6651
+ auth: "service",
6652
+ responseKind: "json",
6653
+ errors: [
6654
+ "resource:not_found",
6655
+ "validation:invalid_input",
6656
+ "server:internal_error"
6657
+ ]
6658
+ },
6659
+ sdkAddEventOccurrence: {
6660
+ path: "/sdk/{siteId}/events/{identifier}/occurrences",
6661
+ method: "POST",
6662
+ auth: "service",
6663
+ responseKind: "json",
6664
+ errors: [
6665
+ "resource:not_found",
6666
+ "validation:invalid_input",
6667
+ "resource:conflict",
6668
+ "server:internal_error"
6669
+ ]
6670
+ },
6671
+ sdkUpdateEventOccurrence: {
6672
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6673
+ method: "PATCH",
6674
+ auth: "service",
6675
+ responseKind: "json",
6676
+ errors: [
6677
+ "resource:not_found",
6678
+ "validation:invalid_input",
6679
+ "resource:conflict",
6680
+ "server:internal_error"
6681
+ ]
6682
+ },
6683
+ sdkCancelEventOccurrence: {
6684
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}/cancel",
6685
+ method: "POST",
6686
+ auth: "service",
6687
+ responseKind: "json",
6688
+ errors: [
6689
+ "resource:not_found",
6690
+ "resource:conflict",
6691
+ "server:internal_error"
6692
+ ]
6693
+ },
6694
+ sdkDeleteEventOccurrence: {
6695
+ path: "/sdk/{siteId}/events/{identifier}/occurrences/{occurrenceId}",
6696
+ method: "DELETE",
6697
+ auth: "service",
6698
+ responseKind: "json",
6699
+ errors: [
6700
+ "resource:not_found",
6701
+ "resource:conflict",
6702
+ "server:internal_error"
6703
+ ]
6704
+ },
6648
6705
  sdkListCourses: {
6649
6706
  path: "/sdk/{siteId}/courses",
6650
6707
  method: "GET",
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import "./PreviewQueryProvider-kkmjklLG.mjs";
3
- import { i as PreviewShellLayout, r as PreviewShell } from "./SdkPreviewModeRuntime-DeOTAFvR.mjs";
2
+ import "./PreviewQueryProvider-nKUT4TL-.mjs";
3
+ import { i as PreviewShellLayout, r as PreviewShell } from "./SdkPreviewModeRuntime-CvJTVgWa.mjs";
4
4
  export { PreviewShell, PreviewShellLayout };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { $u as Primitive, rd as cn } from "./SiteChromeCustomizeContext-DOSDLCiJ.mjs";
2
+ import { $c as cn, Yc as Primitive } from "./SiteChromeCustomizeContext-66QfCbAS.mjs";
3
3
  import * as React$1 from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../../node_modules/.pnpm/@radix-ui+react-separator@1.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_adfab47c9055efb8b0c4b77a2b96b053/node_modules/@radix-ui/react-separator/dist/index.mjs