@riverbankcms/sdk 0.107.0 → 0.109.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 (256) hide show
  1. package/README.md +21 -1
  2. package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +48 -28
  3. package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-B7OL4sfR.mjs} +10 -9
  4. package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +633 -220
  6. package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +5764 -1556
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +15383 -11388
  8. package/dist/_dts/api/src/blocks.d.ts +41 -7
  9. package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
  10. package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
  11. package/dist/_dts/api/src/bookingRecords.d.ts +177 -127
  12. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  13. package/dist/_dts/api/src/cache-tags.d.ts +3 -0
  14. package/dist/_dts/api/src/common/envelope.d.ts +7 -0
  15. package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
  16. package/dist/_dts/api/src/courses.d.ts +1 -0
  17. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
  18. package/dist/_dts/api/src/endpoints.d.ts +134 -0
  19. package/dist/_dts/api/src/footer-settings.d.ts +1 -0
  20. package/dist/_dts/api/src/footerSettings.d.ts +8 -0
  21. package/dist/_dts/api/src/index.d.ts +7 -4
  22. package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
  23. package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
  24. package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
  25. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  26. package/dist/_dts/api/src/sdkContracts.d.ts +309 -1
  27. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  28. package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
  29. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +144 -60
  30. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +35 -1
  31. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +74 -28
  32. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
  33. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
  34. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  35. package/dist/_dts/blocks/src/index.d.ts +1 -1
  36. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
  37. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
  39. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
  40. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
  41. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +1 -22
  42. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +3 -0
  43. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -22
  44. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -0
  45. package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
  46. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  47. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
  48. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +3 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
  51. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
  52. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  53. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  54. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  56. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
  57. package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
  58. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +8 -0
  59. package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
  60. package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
  61. package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
  62. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +33 -2
  63. package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
  64. package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
  65. package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
  66. package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
  67. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  69. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  70. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
  72. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
  73. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
  74. package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
  75. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
  76. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
  77. package/dist/_dts/content-editor/src/index.d.ts +2 -0
  78. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
  79. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
  80. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
  81. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
  82. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
  83. package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
  84. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  85. package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
  86. package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
  87. package/dist/_dts/content-model/src/index.d.ts +3 -0
  88. package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
  89. package/dist/_dts/core/src/branded.d.ts +3 -0
  90. package/dist/_dts/core/src/editor-state.d.ts +4 -0
  91. package/dist/_dts/core/src/footer-composition.d.ts +143 -0
  92. package/dist/_dts/core/src/index.d.ts +2 -0
  93. package/dist/_dts/core/src/public-profile.d.ts +73 -0
  94. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -205
  95. package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
  96. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
  97. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
  98. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
  99. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
  100. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
  101. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
  102. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  103. package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
  104. package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
  105. package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
  106. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
  107. package/dist/_dts/path-utils/src/index.d.ts +5 -0
  108. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
  109. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
  110. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  111. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  112. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  113. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  114. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  115. package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
  116. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  117. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
  118. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
  119. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
  120. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
  121. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
  122. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
  123. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
  124. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
  125. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
  126. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
  127. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
  128. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
  129. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
  130. package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
  131. package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
  132. package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
  133. package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
  134. package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
  135. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  136. package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
  137. package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
  138. package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
  139. package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
  140. package/dist/_dts/sdk/src/client/management/types.d.ts +58 -20
  141. package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
  142. package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
  143. package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
  144. package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -2
  146. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
  147. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
  148. package/dist/_dts/sdk/src/version.d.ts +1 -1
  149. package/dist/_dts/site-commands/src/commands.d.ts +900 -827
  150. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  151. package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
  152. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
  153. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
  154. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  156. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  157. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
  158. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +45 -33
  159. package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
  160. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
  161. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
  162. package/dist/_dts/theme-core/src/buttons/types.d.ts +104 -86
  163. package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
  164. package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
  165. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  166. package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
  167. package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
  168. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  169. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +117 -150
  170. package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
  171. package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
  172. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
  173. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
  174. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
  175. package/dist/_dts/theme-core/src/schema.d.ts +1264 -138
  176. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  177. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
  178. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
  179. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
  180. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
  181. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +29 -8
  182. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
  183. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
  184. package/dist/cli/index.mjs +68552 -66955
  185. package/dist/cli/init-docs/content/cli-reference.md +50 -7
  186. package/dist/cli/init-docs/content/content-management.md +7 -4
  187. package/dist/cli/init-docs/content/workflow-publish.md +5 -1
  188. package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
  189. package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
  190. package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
  191. package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
  192. package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
  193. package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
  194. package/dist/client/{accordion-DAIBVpTS.mjs → accordion-CeGreumd.mjs} +1 -1
  195. package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
  196. package/dist/client/bookings.mjs +637 -328
  197. package/dist/client/{buttons-DJgynGHQ.mjs → buttons-DoFV7KDL.mjs} +618 -306
  198. package/dist/client/{carousel-D-SLfX8r.mjs → carousel-B2jDtogf.mjs} +1 -1
  199. package/dist/client/{cart-CEgbgJhX.mjs → cart-D-jZ-vaY.mjs} +3 -3
  200. package/dist/client/{checkout-CXWrCRAA.mjs → checkout-Dza-LA7N.mjs} +3 -3
  201. package/dist/client/client.mjs +2497 -1216
  202. package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
  203. package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-TYkNychb.mjs} +7 -7
  204. package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
  205. package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-mNrpryE9.mjs} +2 -2
  206. package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
  207. package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-YhKN018y.mjs} +2 -2
  208. package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
  209. package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
  210. package/dist/client/{form-CH1lCusH.mjs → form-AcAL45rA.mjs} +2 -2
  211. package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-uEC52ueD.mjs} +3 -3
  212. package/dist/client/hooks.mjs +1249 -841
  213. package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-_wJDSUYe.mjs} +3 -3
  214. package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
  215. package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
  216. package/dist/client/{pricing-BIbzmV0G.mjs → pricing-BSYVghwo.mjs} +1 -1
  217. package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-Dyk90sMs.mjs} +3 -3
  218. package/dist/client/{productList-Cc7OMrqN.mjs → productList-BCKThwAI.mjs} +3 -3
  219. package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-CkXxkdSR.mjs} +96 -33
  220. package/dist/client/rendering/client.mjs +1278 -523
  221. package/dist/client/rendering/islands.mjs +19 -19
  222. package/dist/client/rendering.mjs +2308 -1028
  223. package/dist/client/{shop-CQ_YbCnn.mjs → shop-DeltVH10.mjs} +6 -6
  224. package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
  225. package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
  226. package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-B8v-lH_F.mjs} +2 -2
  227. package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
  228. package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
  229. package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-Cmh14fc7.mjs} +2 -2
  230. package/dist/preview-next/before-render.mjs +213 -0
  231. package/dist/preview-next/client/runtime.mjs +4 -4
  232. package/dist/preview-next/middleware.mjs +213 -0
  233. package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-CTO7CRPk.mjs} +213 -0
  234. package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
  235. package/dist/{separator-BoMSQnsP.mjs → separator-CI5wZNXT.mjs} +1 -1
  236. package/dist/server/components.mjs +2370 -1132
  237. package/dist/server/config-validation.mjs +1256 -842
  238. package/dist/server/config.mjs +1256 -843
  239. package/dist/server/data.mjs +1249 -841
  240. package/dist/server/date-time.mjs +386 -0
  241. package/dist/server/index.mjs +214 -1
  242. package/dist/server/navigation.mjs +9 -3
  243. package/dist/server/next.mjs +3421 -1949
  244. package/dist/server/page-converter.mjs +1236 -659
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +2074 -1060
  247. package/dist/server/rendering.mjs +2370 -1132
  248. package/dist/server/routing.mjs +1543 -1062
  249. package/dist/server/server.mjs +1464 -843
  250. package/dist/server/theme-bridge.mjs +1581 -474
  251. package/dist/server/theme.mjs +614 -305
  252. package/dist/styles/index.css +12 -1
  253. package/package.json +7 -1
  254. package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
  255. package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
  256. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
@@ -1,7 +1,7 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-oR-M-ISN.mjs";
2
- import { a as textColorStyle, n as borderColorStyle, r as mergeStyles, t as backgroundColorStyle } from "./colorStyles-jZS6KfkP.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CkXxkdSR.mjs";
2
+ import { a as textColorStyle, n as borderColorStyle, r as mergeStyles, t as backgroundColorStyle } from "./colorStyles-CrgzoXsm.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
- import { t as LeafletStaticMap } from "./LeafletStaticMap-DPAU3SFt.mjs";
4
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-BYImhgiB.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../core/src/location.ts
@@ -1,6 +1,6 @@
1
1
  import { t as clsx } from "./clsx-DgIEfj3H.mjs";
2
2
  import { d as unsafeAsMediaAssetId, g as ok$1, h as err, i as resolveMediaTransformForAspect, m as unsafeAsStoragePath, n as isExplicitRectCrop, p as unsafeAsStorageBucketName, r as parseAspectRatioValue } from "./colorTokenParts-CMugwvX_.mjs";
3
- import { a as textColorStyle, r as mergeStyles, t as backgroundColorStyle } from "./colorStyles-jZS6KfkP.mjs";
3
+ import { a as textColorStyle, r as mergeStyles, t as backgroundColorStyle } from "./colorStyles-CrgzoXsm.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../media-core/src/fileSafety.ts
@@ -54,7 +54,8 @@ function validateRelativeStoragePath(value) {
54
54
  if (value.startsWith("sites/")) return fail({ tag: "SITE_SCOPED_PATH" });
55
55
  if (value.startsWith("/")) return fail({ tag: "LEADING_SLASH" });
56
56
  if (value.includes("//")) return fail({ tag: "DOUBLE_SLASH" });
57
- if (value.split("/").some((segment) => segment === "..")) return fail({ tag: "TRAVERSAL" });
57
+ if (value.includes("%")) return fail({ tag: "PERCENT_ENCODING" });
58
+ if (value.split("/").some((segment) => segment === "." || segment === "..")) return fail({ tag: "TRAVERSAL" });
58
59
  return ok(value);
59
60
  }
60
61
  function brandRelativeStoragePath(value) {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { t as clsx } from "./clsx-DgIEfj3H.mjs";
3
- import { _t as assertNever, t as defineIslandPropsDecoder } from "./propsDecoder-oR-M-ISN.mjs";
3
+ import { _t as assertNever, t as defineIslandPropsDecoder } from "./propsDecoder-CkXxkdSR.mjs";
4
4
  import { n as useBlockApi, t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
- import { t as themeButtonClassName } from "./buttons-DJgynGHQ.mjs";
6
+ import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
7
7
  import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
8
8
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
9
9
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
@@ -1,4 +1,4 @@
1
- import { It as formatBookingPriceDisplay } from "./propsDecoder-oR-M-ISN.mjs";
1
+ import { It as formatBookingPriceDisplay } from "./propsDecoder-CkXxkdSR.mjs";
2
2
  //#region ../core/src/planner.ts
3
3
  /** Default clock for production callers that do not inject time explicitly. */
4
4
  const systemPlanningClock = { now: () => Date.now() };
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-oR-M-ISN.mjs";
2
- import { r as ProductDetailController } from "./shop-commerce-BM-AoD3M.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-D0SKO2Cu.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CkXxkdSR.mjs";
2
+ import { r as ProductDetailController } from "./shop-commerce-BD9Jsm2Z.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-B8v-lH_F.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-oR-M-ISN.mjs";
2
- import { i as ProductListController } from "./shop-commerce-BM-AoD3M.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-D0SKO2Cu.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CkXxkdSR.mjs";
2
+ import { i as ProductListController } from "./shop-commerce-BD9Jsm2Z.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-B8v-lH_F.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-list.client.tsx
@@ -201,19 +201,29 @@ const DEFAULT_BOOKING_DATE_TIME_FORMAT = {
201
201
  minute: "2-digit"
202
202
  };
203
203
  const LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
204
+ const DATE_TIME_FORMATTER_CACHE_LIMIT = 100;
205
+ const dateTimeFormatterCache = /* @__PURE__ */ new Map();
206
+ const timeZoneValidityCache = /* @__PURE__ */ new Map();
204
207
  function isValidTimeZone$1(timeZone) {
208
+ const cached = timeZoneValidityCache.get(timeZone);
209
+ if (cached !== void 0) return cached;
210
+ let isValid;
205
211
  try {
206
212
  new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
207
- return true;
213
+ isValid = true;
208
214
  } catch {
209
- return false;
215
+ isValid = false;
210
216
  }
217
+ if (timeZoneValidityCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) timeZoneValidityCache.clear();
218
+ timeZoneValidityCache.set(timeZone, isValid);
219
+ return isValid;
211
220
  }
212
221
  function getSafeTimeZone(timeZone) {
213
222
  const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
214
223
  return normalized.length > 0 && isValidTimeZone$1(normalized) ? normalized : FALLBACK_TIMEZONE;
215
224
  }
216
225
  function parseStrictBookingTimeZone(timeZone) {
226
+ if (typeof timeZone !== "string") return null;
217
227
  const normalized = timeZone.trim();
218
228
  if (normalized.length === 0 || !isValidTimeZone$1(normalized)) return null;
219
229
  return normalized;
@@ -226,10 +236,19 @@ function formatParseError(error) {
226
236
  }
227
237
  }
228
238
  function formatToPartsLookup(date, locale, timeZone, format) {
229
- return new Map(new Intl.DateTimeFormat(locale, {
239
+ return new Map(getCachedDateTimeFormatter(locale, timeZone, format).formatToParts(date).map((part) => [part.type, part.value]));
240
+ }
241
+ function getCachedDateTimeFormatter(locale, timeZone, format) {
242
+ const key = `${locale}\u0000${timeZone}\u0000${JSON.stringify(Object.entries(format).sort(([left], [right]) => left.localeCompare(right)))}`;
243
+ const cached = dateTimeFormatterCache.get(key);
244
+ if (cached !== void 0) return cached;
245
+ const formatter = new Intl.DateTimeFormat(locale, {
230
246
  ...format,
231
247
  timeZone
232
- }).formatToParts(date).map((part) => [part.type, part.value]));
248
+ });
249
+ if (dateTimeFormatterCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) dateTimeFormatterCache.clear();
250
+ dateTimeFormatterCache.set(key, formatter);
251
+ return formatter;
233
252
  }
234
253
  function getZonedDateTimeParts(date, timeZone) {
235
254
  const parts = formatToPartsLookup(date, "en-GB", timeZone, {
@@ -282,23 +301,9 @@ function toUtcIsoDateTimeString(value) {
282
301
  return parsed.value;
283
302
  }
284
303
  function parseScheduledBookingDateTime(input) {
304
+ let startsAt;
285
305
  try {
286
- const startsAt = toUtcIsoDateTimeString(input.startsAt);
287
- const timeZone = parseStrictBookingTimeZone(input.timeZone);
288
- if (timeZone === null) return {
289
- ok: false,
290
- field: "timeZone",
291
- reason: "invalid_time_zone",
292
- value: input.timeZone
293
- };
294
- return {
295
- ok: true,
296
- value: {
297
- startsAt,
298
- timeZone,
299
- locale: input.locale
300
- }
301
- };
306
+ startsAt = toUtcIsoDateTimeString(input.startsAt);
302
307
  } catch {
303
308
  return {
304
309
  ok: false,
@@ -307,6 +312,21 @@ function parseScheduledBookingDateTime(input) {
307
312
  value: input.startsAt
308
313
  };
309
314
  }
315
+ const timeZone = parseStrictBookingTimeZone(input.timeZone);
316
+ if (timeZone === null) return {
317
+ ok: false,
318
+ field: "timeZone",
319
+ reason: "invalid_time_zone",
320
+ value: typeof input.timeZone === "string" ? input.timeZone : ""
321
+ };
322
+ return {
323
+ ok: true,
324
+ value: {
325
+ startsAt,
326
+ timeZone,
327
+ locale: input.locale
328
+ }
329
+ };
310
330
  }
311
331
  function parseScheduledBookingDateRange(input) {
312
332
  const start = parseScheduledBookingDateTime(input);
@@ -345,10 +365,7 @@ function toScheduledBookingDateRange(input) {
345
365
  function formatBookingInstant(isoString, options) {
346
366
  const date = new Date(isoString);
347
367
  if (Number.isNaN(date.getTime())) return isoString;
348
- return new Intl.DateTimeFormat(options.locale ?? DEFAULT_LOCALE, {
349
- ...options.format,
350
- timeZone: getSafeTimeZone(options.timeZone)
351
- }).format(date);
368
+ return getCachedDateTimeFormatter(options.locale ?? DEFAULT_LOCALE, getSafeTimeZone(options.timeZone), options.format).format(date);
352
369
  }
353
370
  function formatBookingDate(input, format = {
354
371
  weekday: "long",
@@ -3540,6 +3557,7 @@ function devValidate(node) {
3540
3557
  }
3541
3558
  //#endregion
3542
3559
  //#region ../blocks/src/system/node/fragments/backgroundLayer.ts
3560
+ const BACKGROUND_FRAME_BASE_CLASS = "rb-background-frame rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-isolate rb-pointer-events-none";
3543
3561
  /**
3544
3562
  * Creates background layer nodes for rendering backgrounds from field data.
3545
3563
  *
@@ -3605,6 +3623,34 @@ function backgroundLayer(path, options = {}) {
3605
3623
  ];
3606
3624
  }
3607
3625
  /**
3626
+ * Wrap decorative background layers in their own clipping frame.
3627
+ *
3628
+ * Foreground content remains outside this frame, so editor outlines, focus
3629
+ * rings, and floating controls are never clipped by a visual background.
3630
+ * Backgrounds that explicitly opt into overflow keep that behavior within
3631
+ * the decorative layer rather than changing the content root.
3632
+ */
3633
+ function backgroundFrame(path, options = {}) {
3634
+ const { leadingNodes = [], ...layerOptions } = options;
3635
+ const framedLayerOptions = {
3636
+ ...layerOptions,
3637
+ styleClassName: layerOptions.styleClassName ?? "background-style rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none",
3638
+ imageClassName: layerOptions.imageClassName ?? "rb-absolute rb-z-0",
3639
+ overlayClassName: layerOptions.overlayClassName ?? "background-overlay rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none"
3640
+ };
3641
+ return el("div", {
3642
+ className: { $bind: {
3643
+ from: path,
3644
+ transforms: [{
3645
+ id: "background.resolveFrameClassName",
3646
+ options: { baseClass: BACKGROUND_FRAME_BASE_CLASS }
3647
+ }],
3648
+ fallback: `${BACKGROUND_FRAME_BASE_CLASS} rb-overflow-hidden`
3649
+ } },
3650
+ style: { borderRadius: "inherit" }
3651
+ }, [...leadingNodes, ...backgroundLayer(path, framedLayerOptions)]);
3652
+ }
3653
+ /**
3608
3654
  * Creates a media node for rendering background image/video media with conditional rendering.
3609
3655
  *
3610
3656
  * This helper creates a media element that:
@@ -3694,7 +3740,7 @@ const DEFAULT_SECTION_SPACING = "medium";
3694
3740
  * - Creating a section wrapper with background theme
3695
3741
  * - Adding background color/gradient/image layers
3696
3742
  * - Binding className to section styles with transform
3697
- * - Binding allowOverflow for background positioning
3743
+ * - Keeping foreground overflow visible while decorative backgrounds clip independently
3698
3744
  * - Wrapping content children
3699
3745
  *
3700
3746
  * Use this helper to eliminate 25+ lines of boilerplate section setup code.
@@ -3730,8 +3776,8 @@ const DEFAULT_SECTION_SPACING = "medium";
3730
3776
  * });
3731
3777
  */
3732
3778
  function styledSection(config) {
3733
- const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-neg-10", renderBackgroundImage = true, backgroundImageLoading, backgroundImageFetchPriority, allowOverflow = false, fullWidthPath } = config;
3734
- const renderedBackgroundNodes = backgroundLayer(`${bindFrom}.background`, {
3779
+ const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-0", renderBackgroundImage = true, backgroundImageLoading, backgroundImageFetchPriority, fullWidthPath } = config;
3780
+ const renderedBackgroundNode = backgroundFrame(`${bindFrom}.background`, {
3735
3781
  imageClassName,
3736
3782
  fallbackToken: background,
3737
3783
  omitImageLayer: !renderBackgroundImage,
@@ -3754,13 +3800,8 @@ function styledSection(config) {
3754
3800
  fullWidthPath
3755
3801
  }
3756
3802
  }]
3757
- } },
3758
- allowOverflow: allowOverflow ? true : { $bind: {
3759
- from: `${bindFrom}.background`,
3760
- transforms: [{ id: "background.resolveAllowOverflow" }],
3761
- fallback: false
3762
3803
  } }
3763
- }, [...renderedBackgroundNodes, ...childrenArray]);
3804
+ }, [renderedBackgroundNode, ...childrenArray]);
3764
3805
  }
3765
3806
  //#endregion
3766
3807
  //#region ../blocks/src/system/node/fragments/sectionContainer.ts
@@ -4426,6 +4467,20 @@ const blockCategoryEnum = z$1.enum([
4426
4467
  "layout",
4427
4468
  "interactive"
4428
4469
  ]);
4470
+ const blockContentSourceSchema = z$1.object({
4471
+ kind: z$1.enum([
4472
+ "inline",
4473
+ "entries",
4474
+ "mixed"
4475
+ ]),
4476
+ contentType: z$1.string().min(1).optional()
4477
+ }).superRefine((value, ctx) => {
4478
+ if (value.kind === "inline" && value.contentType) ctx.addIssue({
4479
+ code: z$1.ZodIssueCode.custom,
4480
+ path: ["contentType"],
4481
+ message: "contentType is not allowed when contentSource.kind is \"inline\""
4482
+ });
4483
+ });
4429
4484
  z$1.object({
4430
4485
  name: z$1.string().min(1),
4431
4486
  version: z$1.string().min(1),
@@ -4456,6 +4511,12 @@ z$1.object({
4456
4511
  }).optional()).optional(),
4457
4512
  category: blockCategoryEnum.optional(),
4458
4513
  contentTypes: z$1.array(z$1.string()).optional(),
4514
+ /**
4515
+ * Explicit content-source classification (inline / entries / mixed). Optional at the
4516
+ * schema level for backward compatibility with SDK-defined custom blocks, but every
4517
+ * registered SYSTEM block must declare it (enforced by a registry-wide test).
4518
+ */
4519
+ contentSource: blockContentSourceSchema.optional(),
4459
4520
  tags: z$1.array(z$1.string()).optional(),
4460
4521
  icon: z$1.string().optional()
4461
4522
  });
@@ -5491,6 +5552,7 @@ function createBlockManifest(config) {
5491
5552
  previewCustomize: config.previewCustomize,
5492
5553
  category: config.category,
5493
5554
  contentTypes: config.contentTypes ? [...config.contentTypes] : void 0,
5555
+ contentSource: config.contentSource,
5494
5556
  tags: config.tags ? [...config.tags] : [],
5495
5557
  icon: config.icon ?? "Box",
5496
5558
  layout,
@@ -5527,6 +5589,7 @@ createBlockManifest({
5527
5589
  titleSource: "heading",
5528
5590
  description: "Date/time, venue, map, and other dates for an event",
5529
5591
  category: "content",
5592
+ contentSource: { kind: "entries" },
5530
5593
  tags: [
5531
5594
  "events",
5532
5595
  "venue",