@riverbankcms/sdk 0.80.0 → 0.81.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 (265) hide show
  1. package/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-RDCMEXIJ.mjs} +763 -255
  2. package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +170 -29
  3. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
  4. package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
  5. package/dist/_dts/api/src/contentTypes.d.ts +6 -0
  6. package/dist/_dts/api/src/index.d.ts +2 -2
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
  8. package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
  9. package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
  10. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
  11. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
  12. package/dist/_dts/blocks/src/index.d.ts +6 -4
  13. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
  14. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  15. package/dist/_dts/blocks/src/server.d.ts +1 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  19. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
  21. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
  23. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
  24. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  25. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +13 -3
  28. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
  30. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
  32. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
  33. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
  34. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
  36. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +44 -50
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -24
  40. package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
  42. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
  43. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
  44. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
  46. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
  54. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
  55. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
  56. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
  57. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
  58. package/dist/_dts/calendar/src/grid.d.ts +27 -0
  59. package/dist/_dts/calendar/src/index.d.ts +2 -2
  60. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
  61. package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
  62. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
  63. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
  64. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
  65. package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
  66. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
  67. package/dist/_dts/content-editor/src/index.d.ts +3 -1
  68. package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
  69. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
  70. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
  71. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
  72. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
  73. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
  74. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  75. package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
  76. package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
  77. package/dist/_dts/core/src/branded.d.ts +5 -0
  78. package/dist/_dts/core/src/index.d.ts +1 -0
  79. package/dist/_dts/core/src/stable-json.d.ts +1 -0
  80. package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
  81. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
  82. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
  83. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
  84. package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
  85. package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
  86. package/dist/_dts/editor/src/index.d.ts +29 -0
  87. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
  88. package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
  89. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
  90. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
  91. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
  92. package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
  93. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
  94. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
  95. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
  96. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
  97. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
  98. package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
  99. package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
  100. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
  101. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
  102. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
  103. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
  104. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
  105. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
  106. package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
  107. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
  108. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -3
  109. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
  110. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
  111. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
  112. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  115. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  116. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
  118. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
  119. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
  120. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
  121. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
  122. package/dist/_dts/media-core/src/index.d.ts +1 -0
  123. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
  124. package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
  125. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
  126. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  127. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +3 -2
  128. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
  129. package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
  130. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
  132. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
  133. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
  134. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
  135. package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
  136. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  137. package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
  138. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +3 -1
  139. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
  140. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
  141. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +1 -1
  142. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
  143. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
  144. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
  145. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
  146. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
  147. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
  148. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
  149. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
  150. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
  151. package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
  152. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
  153. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
  154. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
  155. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
  156. package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
  157. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
  158. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
  159. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -2
  160. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  161. package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
  162. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
  163. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
  164. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
  165. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
  166. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  167. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  168. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +28 -2
  169. package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
  170. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
  171. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
  172. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  173. package/dist/_dts/sdk/src/version.d.ts +1 -1
  174. package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
  175. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  176. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
  177. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -0
  178. package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
  179. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
  180. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  181. package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
  182. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -6
  183. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  184. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
  185. package/dist/_dts/theme-core/src/schema.d.ts +40 -3
  186. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
  187. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
  188. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
  189. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
  190. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
  191. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
  192. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +6 -2
  193. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
  194. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  195. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
  196. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
  197. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
  198. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
  199. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
  200. package/dist/_dts/theme-core/src/site-styles/types.d.ts +24 -6
  201. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  202. package/dist/{chunk-7PCYG6YV.mjs → chunk-3PTVPAT4.mjs} +1863 -1099
  203. package/dist/{chunk-5NZGBSJF.mjs → chunk-3QWQ2MUQ.mjs} +469 -1000
  204. package/dist/{chunk-HTB4BMKD.mjs → chunk-3VT7LZY2.mjs} +321 -113
  205. package/dist/{chunk-MPBNEVPB.mjs → chunk-4T5JIPWY.mjs} +1 -1
  206. package/dist/{chunk-BBLZSQEY.mjs → chunk-E3NZYEKF.mjs} +1 -7
  207. package/dist/{chunk-GYXKAUFV.mjs → chunk-WUHKQBB6.mjs} +9509 -2658
  208. package/dist/cli/index.mjs +1347 -324
  209. package/dist/client/{accordion-QFZMNB7O.mjs → accordion-SFIIZWNH.mjs} +2 -2
  210. package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
  211. package/dist/client/bookings.mjs +281 -19
  212. package/dist/client/{carousel-EO4BJMWD.mjs → carousel-ELXWSBLA.mjs} +3 -3
  213. package/dist/client/{cart-FTYCLYUW.mjs → cart-6SSCPYY5.mjs} +6 -6
  214. package/dist/client/{checkout-NFGLVCOX.mjs → checkout-UFQ34HPV.mjs} +6 -6
  215. package/dist/client/{chunk-6GVVWSPU.mjs → chunk-76JUETXQ.mjs} +139 -186
  216. package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
  217. package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-G56BSZAM.mjs} +2 -2
  218. package/dist/client/{chunk-VDS5YFLX.mjs → chunk-IUEDYLFJ.mjs} +1 -1
  219. package/dist/client/{chunk-PYRBIURC.mjs → chunk-NP47RHIX.mjs} +5 -5
  220. package/dist/client/{chunk-PUOELU4O.mjs → chunk-NX6X3GRF.mjs} +330 -80
  221. package/dist/client/{chunk-Y37KDO7P.mjs → chunk-PA2LJH2M.mjs} +2 -2
  222. package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
  223. package/dist/client/{chunk-4W66ALYT.mjs → chunk-TCJS3NY5.mjs} +1 -1
  224. package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-V6XI4M2Q.mjs} +1 -1
  225. package/dist/client/client.mjs +5924 -3138
  226. package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
  227. package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
  228. package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
  229. package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
  230. package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
  231. package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
  232. package/dist/client/{form-NTIFD6WQ.mjs → form-LVTYNTDE.mjs} +2 -2
  233. package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-SO3MFC4U.mjs} +54 -13
  234. package/dist/client/hooks.mjs +2266 -1179
  235. package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-5E5FLAKO.mjs} +2 -2
  236. package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
  237. package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-Q346KSVR.mjs} +6 -6
  238. package/dist/client/{productList-BGCGT4KZ.mjs → productList-DTDMQYGZ.mjs} +6 -6
  239. package/dist/client/rendering/client.mjs +4618 -3318
  240. package/dist/client/rendering/islands.mjs +32 -20
  241. package/dist/client/rendering.mjs +4898 -2108
  242. package/dist/client/{shop-RQHUCLNY.mjs → shop-OFUW7KPN.mjs} +6 -6
  243. package/dist/preview-next/client/runtime.mjs +5 -5
  244. package/dist/preview-next/constants.mjs +0 -2
  245. package/dist/preview-next/index.mjs +0 -2
  246. package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
  247. package/dist/server/components.mjs +4377 -1852
  248. package/dist/server/config-validation.mjs +2283 -1303
  249. package/dist/server/config.mjs +2283 -1303
  250. package/dist/server/data.mjs +2267 -1180
  251. package/dist/server/index.mjs +2 -1
  252. package/dist/server/next.mjs +4394 -1773
  253. package/dist/server/page-converter.mjs +1999 -1015
  254. package/dist/server/prebuild.mjs +1 -1
  255. package/dist/server/rendering/server.mjs +4482 -1857
  256. package/dist/server/rendering.mjs +4484 -1859
  257. package/dist/server/routing.mjs +2302 -1120
  258. package/dist/server/server.mjs +2284 -1197
  259. package/dist/server/theme-bridge.mjs +757 -85
  260. package/dist/server/theme.mjs +69 -4
  261. package/dist/styles/index.css +474 -65
  262. package/package.json +1 -1
  263. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
  264. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
  265. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
@@ -1577,50 +1577,50 @@
1577
1577
 
1578
1578
  .rb-container-pad-none {
1579
1579
  --rb-card-pad: 0rem;
1580
- padding: var(--rb-card-pad);
1580
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1581
1581
  }
1582
1582
  .rb-container-pad-compact {
1583
1583
  --rb-card-pad: 1rem;
1584
- padding: var(--rb-card-pad);
1584
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1585
1585
  }
1586
1586
  .rb-container-pad-cozy {
1587
1587
  --rb-card-pad: 1.5rem;
1588
- padding: var(--rb-card-pad);
1588
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1589
1589
  }
1590
1590
  .rb-container-pad-medium {
1591
1591
  --rb-card-pad: 1.5rem;
1592
- padding: var(--rb-card-pad);
1592
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1593
1593
  }
1594
1594
  .rb-container-pad-comfortable {
1595
1595
  --rb-card-pad: 2rem;
1596
- padding: var(--rb-card-pad);
1596
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1597
1597
  }
1598
1598
  .rb-container-pad-spacious {
1599
1599
  --rb-card-pad: 2.5rem;
1600
- padding: var(--rb-card-pad);
1600
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1601
1601
  }
1602
1602
 
1603
1603
  @media (min-width: 640px) {
1604
1604
  @scope ([data-rb-responsive-mode="viewport"]) to (:scope [data-rb-responsive-mode]) {
1605
1605
  .rb-container-pad-compact {
1606
1606
  --rb-card-pad: 1.5rem;
1607
- padding: var(--rb-card-pad);
1607
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1608
1608
  }
1609
1609
  .rb-container-pad-cozy {
1610
1610
  --rb-card-pad: 2rem;
1611
- padding: var(--rb-card-pad);
1611
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1612
1612
  }
1613
1613
  .rb-container-pad-medium {
1614
1614
  --rb-card-pad: 2rem;
1615
- padding: var(--rb-card-pad);
1615
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1616
1616
  }
1617
1617
  .rb-container-pad-comfortable {
1618
1618
  --rb-card-pad: 2.5rem;
1619
- padding: var(--rb-card-pad);
1619
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1620
1620
  }
1621
1621
  .rb-container-pad-spacious {
1622
1622
  --rb-card-pad: 3.5rem;
1623
- padding: var(--rb-card-pad);
1623
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
1624
1624
  }
1625
1625
  }
1626
1626
  }
@@ -1795,15 +1795,32 @@
1795
1795
 
1796
1796
  :where(.theme-scope)
1797
1797
  :where([data-site-document-overlay-content='true'])
1798
- :where([data-block]):first-of-type
1798
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
1799
1799
  > :where([data-slot='section'])
1800
- > :where(.rb-container) {
1801
- padding-top: calc(
1800
+ > .rb-container {
1801
+ --rb-opening-content-clearance: calc(
1802
1802
  var(--site-overlay-header-clearance, 0px) +
1803
- var(--site-overlay-opening-content-extra-pad, 0px)
1803
+ var(--site-overlay-opening-content-extra-pad, clamp(1rem, 2vw, 1.75rem))
1804
1804
  );
1805
1805
  }
1806
1806
 
1807
+ :where(.theme-scope)
1808
+ :where([data-site-document-overlay-content='true'])
1809
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
1810
+ > :where([data-slot='section'])
1811
+ > .rb-container:not([class*='rb-container-pad-']) {
1812
+ padding-top: var(--rb-opening-content-clearance, 0px);
1813
+ }
1814
+
1815
+ :where(.theme-scope)
1816
+ :where([data-site-document-overlay-content='true'])
1817
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
1818
+ > :where([data-slot='section'])
1819
+ > .rb-container
1820
+ :where([class*='rb-container-pad-']) {
1821
+ --rb-opening-content-clearance: 0px;
1822
+ }
1823
+
1807
1824
  /* -------------------------------------------------------------------------- */
1808
1825
  /* Header: Mobile nav overlay transitions */
1809
1826
  /* -------------------------------------------------------------------------- */
@@ -1900,7 +1917,7 @@
1900
1917
  border: 1px solid rgb(var(--tb-border) / 0.82);
1901
1918
  background: rgb(var(--tb-surface) / 0.96);
1902
1919
  color: rgb(var(--tb-text));
1903
- box-shadow: 0 10px 28px rgb(var(--tb-neutral-950) / 0.12);
1920
+ box-shadow: none;
1904
1921
  }
1905
1922
 
1906
1923
  /*
@@ -2073,7 +2090,7 @@
2073
2090
 
2074
2091
  /* Neutral prose uses theme text color by default */
2075
2092
  :where(.theme-scope) .rb-prose-neutral {
2076
- color: rgb(var(--tb-text));
2093
+ color: var(--section-text-color, rgb(var(--tb-text)));
2077
2094
  }
2078
2095
 
2079
2096
  :where(.theme-scope) .rb-prose p,
@@ -2106,8 +2123,11 @@
2106
2123
  }
2107
2124
 
2108
2125
  :where(.theme-scope) .rb-prose a {
2109
- /* Global prose link style with theme-level overrides */
2110
- color: var(--rb-prose-link-color, rgb(var(--tb-primary)));
2126
+ --rb-prose-effective-link-color: var(
2127
+ --section-link-color,
2128
+ var(--rb-prose-link-color, rgb(var(--tb-primary)))
2129
+ );
2130
+ color: var(--rb-prose-effective-link-color);
2111
2131
  text-decoration-line: var(--rb-prose-link-decoration-line, underline);
2112
2132
  text-decoration-style: var(--rb-prose-link-underline-style, solid);
2113
2133
  text-decoration-thickness: var(
@@ -2116,8 +2136,15 @@
2116
2136
  );
2117
2137
  text-underline-offset: var(--rb-prose-link-underline-offset, 0.14em);
2118
2138
  text-decoration-color: var(
2119
- --rb-prose-link-decoration-color,
2120
- rgba(var(--tb-primary), 0.3)
2139
+ --section-link-decoration-color,
2140
+ var(
2141
+ --rb-prose-link-decoration-color,
2142
+ color-mix(
2143
+ in srgb,
2144
+ var(--rb-prose-effective-link-color) 35%,
2145
+ transparent
2146
+ )
2147
+ )
2121
2148
  );
2122
2149
  transition:
2123
2150
  color 150ms ease,
@@ -2127,20 +2154,20 @@
2127
2154
  :where(.theme-scope) .rb-prose a:hover {
2128
2155
  color: var(
2129
2156
  --rb-prose-link-hover-color,
2130
- var(--rb-prose-link-color, rgb(var(--tb-primary)))
2157
+ var(--rb-prose-effective-link-color)
2131
2158
  );
2132
2159
  text-decoration-color: var(
2133
2160
  --rb-prose-link-hover-decoration-color,
2134
2161
  var(
2135
2162
  --rb-prose-link-hover-color,
2136
- var(--rb-prose-link-color, rgb(var(--tb-primary)))
2163
+ var(--rb-prose-effective-link-color)
2137
2164
  )
2138
2165
  );
2139
2166
  }
2140
2167
 
2141
2168
  :where(.theme-scope) .rb-prose blockquote {
2142
2169
  /* Blockquotes use muted text color */
2143
- color: rgb(var(--tb-mutedText));
2170
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
2144
2171
  border-left-color: rgb(var(--tb-border));
2145
2172
  }
2146
2173
 
@@ -2771,6 +2798,13 @@
2771
2798
  transition: padding 300ms var(--motion-ease, ease);
2772
2799
  }
2773
2800
 
2801
+ :where(.theme-scope)
2802
+ .header-variant-classic
2803
+ .rb-header-layout:has(.header-logo-accommodation-popout-badge) {
2804
+ padding-top: 0.5rem;
2805
+ padding-bottom: 0.5rem;
2806
+ }
2807
+
2774
2808
  /* Vertical variants need more breathing room
2775
2809
  Note: header-variant-* is on Section (ancestor), rb-header-layout on inner div */
2776
2810
  :where(.theme-scope) .header-variant-centered .rb-header-layout {
@@ -2864,17 +2898,46 @@
2864
2898
  background: var(--color-surface, #fff);
2865
2899
  box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 0.08));
2866
2900
  padding: 0.5rem;
2901
+ transition:
2902
+ margin 300ms var(--motion-ease, ease),
2903
+ padding 300ms var(--motion-ease, ease);
2867
2904
  }
2868
2905
 
2869
2906
  :where(.theme-scope) .header-logo-accommodation-popout-badge {
2870
2907
  position: relative;
2871
2908
  z-index: 1;
2872
- margin-block: -0.35rem -0.9rem;
2909
+ margin-block: 0 -1.25rem;
2873
2910
  }
2874
2911
 
2875
2912
  :where(.theme-scope)
2876
2913
  .header-logo-size-display.header-logo-accommodation-popout-badge {
2877
- margin-block: -0.75rem -2rem;
2914
+ margin-block: 0 -4rem;
2915
+ }
2916
+
2917
+ :where(.theme-scope)
2918
+ .rb-header-shrink.header-scrolled.header-variant-classic
2919
+ .header-logo-size-display.header-logo-accommodation-plate,
2920
+ :where(.theme-scope)
2921
+ .rb-header-shrink.header-scrolled.header-variant-classic
2922
+ .header-logo-size-display.header-logo-accommodation-popout-badge,
2923
+ :where(.theme-scope)
2924
+ .rb-header-shrink.header-scrolled.header-variant-classic
2925
+ .header-logo-size-display.header-logo-accommodation-centered-masthead,
2926
+ :where(.theme-scope)
2927
+ .rb-header-shrink.header-scrolled.header-variant-centered
2928
+ .header-logo-size-display.header-logo-accommodation-centered-badge,
2929
+ :where(.theme-scope)
2930
+ .rb-header-shrink.header-scrolled.header-variant-centered
2931
+ .header-logo-size-display.header-logo-accommodation-centered-masthead {
2932
+ position: relative;
2933
+ z-index: 1;
2934
+ margin-block: 0 -2.75rem;
2935
+ }
2936
+
2937
+ :where(.theme-scope)
2938
+ .rb-header-shrink.header-scrolled.header-variant-centered
2939
+ .rb-header-layout {
2940
+ gap: 0.75rem;
2878
2941
  }
2879
2942
 
2880
2943
  :where(.theme-scope) .header-logo-accommodation-centered-masthead {
@@ -2933,7 +2996,7 @@
2933
2996
  :where(.theme-scope)
2934
2997
  .rb-header-shrink.header-scrolled
2935
2998
  .header-logo-size-display.rb-header-logo-lg {
2936
- height: 5rem;
2999
+ height: 3.75rem;
2937
3000
  }
2938
3001
  :where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
2939
3002
  font-size: 0.875rem;
@@ -2950,10 +3013,39 @@
2950
3013
  height: 5.5rem;
2951
3014
  }
2952
3015
 
3016
+ :where(.theme-scope)
3017
+ .rb-header-shrink.header-scrolled
3018
+ .header-logo-size-display.rb-header-logo-sm,
3019
+ :where(.theme-scope)
3020
+ .rb-header-shrink.header-scrolled
3021
+ .header-logo-size-display.rb-header-logo-lg {
3022
+ height: 3.5rem;
3023
+ }
3024
+
2953
3025
  :where(.theme-scope) .header-logo-accommodation-popout-badge {
2954
3026
  margin-block: 0;
2955
3027
  }
2956
3028
 
3029
+ :where(.theme-scope)
3030
+ .rb-header-shrink.header-scrolled
3031
+ .header-logo-size-display.header-logo-accommodation-plate,
3032
+ :where(.theme-scope)
3033
+ .rb-header-shrink.header-scrolled
3034
+ .header-logo-size-display.header-logo-accommodation-popout-badge,
3035
+ :where(.theme-scope)
3036
+ .rb-header-shrink.header-scrolled
3037
+ .header-logo-size-display.header-logo-accommodation-centered-masthead,
3038
+ :where(.theme-scope)
3039
+ .rb-header-shrink.header-scrolled
3040
+ .header-logo-size-display.header-logo-accommodation-centered-badge,
3041
+ :where(.theme-scope)
3042
+ .rb-header-shrink.header-scrolled
3043
+ .header-logo-size-display.header-logo-accommodation-centered-masthead {
3044
+ position: relative;
3045
+ z-index: 1;
3046
+ margin-block: 0 -2.75rem;
3047
+ }
3048
+
2957
3049
  :where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
2958
3050
  font-size: 0.75rem;
2959
3051
  }
@@ -6211,7 +6303,7 @@
6211
6303
  /* Subheadline - supporting text below headline */
6212
6304
  :where(.theme-scope) :where([data-block="hero"]) .hero-subheadline {
6213
6305
  font-size: 1.125rem;
6214
- color: var(--section-text-color, rgb(var(--tb-text)));
6306
+ color: var(--section-supporting-color, var(--section-text-color, rgb(var(--tb-text))));
6215
6307
  }
6216
6308
 
6217
6309
  @media (min-width: 640px) {
@@ -6300,7 +6392,7 @@
6300
6392
 
6301
6393
  /* CTA content/body text */
6302
6394
  :where(.theme-scope) :where([data-block="cta-full"]) .cta-content {
6303
- color: rgb(var(--tb-mutedText));
6395
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
6304
6396
  }
6305
6397
 
6306
6398
  /* CTA button row container */
@@ -6402,7 +6494,7 @@
6402
6494
  /* Form intro text */
6403
6495
  :where(.theme-scope) :where([data-block="form"]) .form-copy-intro {
6404
6496
  font-size: 1rem;
6405
- color: rgb(var(--tb-text));
6497
+ color: var(--section-text-color, rgb(var(--tb-text)));
6406
6498
  }
6407
6499
 
6408
6500
  /* =============================================================================
@@ -8942,7 +9034,7 @@
8942
9034
 
8943
9035
  :where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
8944
9036
  font-size: 1rem;
8945
- color: rgb(var(--tb-text));
9037
+ color: var(--section-text-color, rgb(var(--tb-text)));
8946
9038
  opacity: 0.85;
8947
9039
  }
8948
9040
 
@@ -8990,7 +9082,7 @@
8990
9082
  :where(.theme-scope) .newsletter-privacy-note {
8991
9083
  margin-top: 0.75rem;
8992
9084
  font-size: 0.75rem;
8993
- color: rgb(var(--tb-muted-text));
9085
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
8994
9086
  text-align: center;
8995
9087
  }
8996
9088
 
@@ -9254,10 +9346,16 @@
9254
9346
  rgb(var(--tb-border, 229 231 235)),
9255
9347
  rgb(var(--tb-text, 17 24 39)) 4%
9256
9348
  );
9349
+ --event-compact-secondary-text: color-mix(
9350
+ in oklab,
9351
+ rgb(var(--tb-text, 17 24 39)),
9352
+ rgb(var(--tb-background, 255 255 255)) 28%
9353
+ );
9257
9354
 
9258
9355
  width: min(100%, 92rem);
9259
9356
  margin-inline: auto;
9260
9357
  overflow: hidden;
9358
+ container: event-compact-list / inline-size;
9261
9359
  border: 1px solid var(--event-compact-divider-color);
9262
9360
  border-radius: 1rem;
9263
9361
  background: rgb(var(--tb-background, 255 255 255));
@@ -9274,10 +9372,10 @@
9274
9372
 
9275
9373
  :where(.theme-scope) .event-compact-row {
9276
9374
  display: grid;
9277
- grid-template-columns: clamp(5rem, 7vw, 7rem) minmax(0, 1fr) clamp(15rem, 24vw, 21rem);
9375
+ grid-template-columns: clamp(4.5rem, 6vw, 6.25rem) minmax(0, 1fr);
9278
9376
  align-items: center;
9279
- min-height: 6.75rem;
9280
- padding: 1.35rem clamp(1.5rem, 3vw, 2.6rem);
9377
+ min-height: 6rem;
9378
+ padding: 1rem clamp(1.25rem, 2.6vw, 2.25rem);
9281
9379
  border-bottom: 1px solid var(--event-compact-divider-color);
9282
9380
  transition: background-color 150ms ease;
9283
9381
  }
@@ -9294,13 +9392,21 @@
9294
9392
  display: grid;
9295
9393
  grid-template-rows: 1rem minmax(2.7rem, auto) 1rem;
9296
9394
  place-items: center;
9297
- gap: 0.35rem;
9395
+ gap: 0;
9298
9396
  min-width: 0;
9299
- padding-right: clamp(1rem, 2vw, 1.75rem);
9397
+ padding-right: clamp(0.8rem, 1.6vw, 1.35rem);
9300
9398
  text-align: center;
9301
9399
  text-decoration: none;
9302
9400
  }
9303
9401
 
9402
+ :where(.theme-scope) .event-compact-row-body {
9403
+ min-width: 0;
9404
+ display: flex;
9405
+ align-items: center;
9406
+ height: 100%;
9407
+ border-left: 1px solid var(--event-compact-divider-color);
9408
+ }
9409
+
9304
9410
  :where(.theme-scope) .event-compact-row-date-weekday,
9305
9411
  :where(.theme-scope) .event-compact-row-date-month {
9306
9412
  display: grid;
@@ -9327,20 +9433,19 @@
9327
9433
  :where(.theme-scope) .event-compact-row-content {
9328
9434
  min-width: 0;
9329
9435
  display: flex;
9436
+ flex: 1 1 18rem;
9330
9437
  flex-direction: column;
9331
- gap: 1rem;
9438
+ gap: 0.625rem;
9332
9439
  height: 100%;
9333
9440
  justify-content: center;
9334
- padding-inline: clamp(1.4rem, 3vw, 3.2rem);
9335
- border-left: 1px solid var(--event-compact-divider-color);
9441
+ padding-inline: clamp(1rem, 2.4vw, 2.4rem);
9336
9442
  }
9337
9443
 
9338
9444
  :where(.theme-scope) .event-compact-row-title {
9339
9445
  margin: 0;
9340
9446
  color: rgb(var(--tb-text, 17 24 39));
9341
9447
  font-family: var(--font-heading, var(--font-body, inherit));
9342
- /* Row titles sit at the theme's h3 scale so section headings stay dominant */
9343
- font-size: var(--fs-h3-fluid, clamp(1.1rem, 1rem + 0.7vw, 1.5rem));
9448
+ font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem);
9344
9449
  font-weight: 400;
9345
9450
  line-height: 1.2;
9346
9451
  overflow: hidden;
@@ -9353,8 +9458,8 @@
9353
9458
  align-items: center;
9354
9459
  gap: 0.9rem;
9355
9460
  min-width: 0;
9356
- color: rgb(var(--tb-text, 17 24 39));
9357
- font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
9461
+ color: var(--event-compact-secondary-text);
9462
+ font-size: 0.875rem;
9358
9463
  line-height: 1.35;
9359
9464
  }
9360
9465
 
@@ -9387,16 +9492,17 @@
9387
9492
  }
9388
9493
 
9389
9494
  :where(.theme-scope) .event-compact-row-price {
9390
- color: rgb(var(--tb-secondary, var(--tb-primary, 0 0 0)));
9391
- font-weight: 600;
9495
+ color: inherit;
9496
+ font-weight: inherit;
9392
9497
  }
9393
9498
 
9394
9499
  :where(.theme-scope) .event-compact-row-action {
9395
9500
  display: grid;
9501
+ flex: 0 1 clamp(14rem, 22vw, 19rem);
9396
9502
  align-content: center;
9397
- gap: 1rem;
9503
+ gap: 0.75rem;
9398
9504
  height: 100%;
9399
- padding-left: clamp(1.5rem, 3vw, 3.2rem);
9505
+ padding-left: clamp(1.1rem, 2.4vw, 2.4rem);
9400
9506
  border-left: 1px solid var(--event-compact-divider-color);
9401
9507
  }
9402
9508
 
@@ -9404,8 +9510,8 @@
9404
9510
  display: inline-flex;
9405
9511
  align-items: center;
9406
9512
  gap: 0.65rem;
9407
- color: rgb(var(--tb-text, 17 24 39));
9408
- font-size: clamp(0.9375rem, 1.45vw, 1.0625rem);
9513
+ color: var(--event-compact-secondary-text);
9514
+ font-size: 0.875rem;
9409
9515
  line-height: 1.3;
9410
9516
  white-space: nowrap;
9411
9517
  }
@@ -9416,6 +9522,10 @@
9416
9522
  flex-shrink: 0;
9417
9523
  }
9418
9524
 
9525
+ :where(.theme-scope) .event-compact-row-action-price {
9526
+ display: none;
9527
+ }
9528
+
9419
9529
  :where(.theme-scope) .event-compact-row-status {
9420
9530
  color: rgb(var(--tb-muted, var(--tb-text, 17 24 39)));
9421
9531
  font-weight: 500;
@@ -9443,52 +9553,213 @@
9443
9553
  }
9444
9554
 
9445
9555
  :where(.theme-scope) .event-compact-row {
9446
- grid-template-columns: 4.75rem minmax(0, 1fr);
9556
+ grid-template-columns: 4.25rem minmax(0, 1fr);
9447
9557
  min-height: 0;
9448
- padding: 1.25rem;
9449
- row-gap: 1.1rem;
9558
+ padding: 1rem;
9559
+ row-gap: 0.85rem;
9450
9560
  }
9451
9561
 
9452
9562
  :where(.theme-scope) .event-compact-row-date {
9453
- padding-right: 0.9rem;
9563
+ align-self: start;
9564
+ grid-row: 1;
9565
+ padding-right: 0.75rem;
9566
+ }
9567
+
9568
+ :where(.theme-scope) .event-compact-row-body {
9569
+ flex-direction: column;
9570
+ align-items: stretch;
9571
+ gap: 0.85rem;
9572
+ height: auto;
9573
+ padding-left: 0.9rem;
9454
9574
  }
9455
9575
 
9456
9576
  :where(.theme-scope) .event-compact-row-date-day {
9457
- font-size: 1.85rem;
9577
+ font-size: 1.65rem;
9458
9578
  }
9459
9579
 
9460
9580
  :where(.theme-scope) .event-compact-row-content {
9461
- gap: 0.75rem;
9462
- padding-left: 1.1rem;
9463
- padding-right: 0;
9581
+ flex: none;
9582
+ gap: 0.625rem;
9583
+ height: auto;
9584
+ padding-inline: 0;
9464
9585
  }
9465
9586
 
9466
9587
  :where(.theme-scope) .event-compact-row-title {
9467
- font-size: clamp(1.15rem, 5vw, 1.35rem);
9588
+ font-size: 1.15rem;
9589
+ overflow: visible;
9590
+ text-overflow: clip;
9468
9591
  white-space: normal;
9592
+ overflow-wrap: break-word;
9593
+ }
9594
+
9595
+ :where(.theme-scope) .event-compact-row-venue {
9596
+ max-width: 100%;
9597
+ }
9598
+
9599
+ :where(.theme-scope) .event-compact-row-venue svg {
9600
+ flex-shrink: 0;
9469
9601
  }
9470
9602
 
9471
9603
  :where(.theme-scope) .event-compact-row-meta {
9604
+ flex-direction: column;
9605
+ align-items: flex-start;
9472
9606
  flex-wrap: wrap;
9473
- gap: 0.5rem 0.8rem;
9607
+ gap: 0.35rem;
9608
+ }
9609
+
9610
+ :where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
9611
+ display: none;
9612
+ }
9613
+
9614
+ :where(.theme-scope) .event-compact-row-teacher::before,
9615
+ :where(.theme-scope) .event-compact-row-price::before {
9616
+ content: none;
9474
9617
  }
9475
9618
 
9476
9619
  :where(.theme-scope) .event-compact-row-action {
9477
- grid-column: 1 / -1;
9620
+ flex: none;
9478
9621
  grid-template-columns: minmax(0, 1fr);
9479
- gap: 0.85rem;
9622
+ gap: 0.7rem;
9623
+ height: auto;
9624
+ width: 100%;
9480
9625
  padding-left: 0;
9481
- padding-top: 1rem;
9482
- border-left: none;
9483
- border-top: 1px solid var(--event-compact-divider-color);
9626
+ padding-top: 0;
9627
+ border-left: 0;
9628
+ border-top: 0;
9484
9629
  }
9485
9630
 
9486
9631
  :where(.theme-scope) .event-compact-row-datetime {
9632
+ display: flex;
9633
+ flex-wrap: wrap;
9487
9634
  white-space: normal;
9488
9635
  }
9489
9636
 
9637
+ :where(.theme-scope) .event-compact-row-action-price {
9638
+ display: inline-flex;
9639
+ align-items: center;
9640
+ gap: 0.55rem;
9641
+ }
9642
+
9643
+ :where(.theme-scope) .event-compact-row-action-price::before {
9644
+ content: "\00b7";
9645
+ }
9646
+
9490
9647
  :where(.theme-scope) .event-compact-row-cta {
9648
+ width: min(100%, 12rem);
9649
+ min-height: 2.65rem;
9650
+ justify-content: space-between;
9651
+ gap: 0.65rem;
9652
+ padding-inline: 1rem;
9653
+ }
9654
+
9655
+ :where(.theme-scope) .event-compact-row-cta span {
9656
+ min-width: 0;
9657
+ }
9658
+ }
9659
+
9660
+ @container event-compact-list (max-width: 48rem) {
9661
+ :where(.theme-scope) .event-compact-row {
9662
+ grid-template-columns: 4.25rem minmax(0, 1fr);
9663
+ min-height: 0;
9664
+ padding: 1rem;
9665
+ row-gap: 0.85rem;
9666
+ }
9667
+
9668
+ :where(.theme-scope) .event-compact-row-date {
9669
+ align-self: start;
9670
+ grid-row: 1;
9671
+ padding-right: 0.75rem;
9672
+ }
9673
+
9674
+ :where(.theme-scope) .event-compact-row-body {
9675
+ flex-direction: column;
9676
+ align-items: stretch;
9677
+ gap: 0.85rem;
9678
+ height: auto;
9679
+ padding-left: 0.9rem;
9680
+ }
9681
+
9682
+ :where(.theme-scope) .event-compact-row-date-day {
9683
+ font-size: 1.65rem;
9684
+ }
9685
+
9686
+ :where(.theme-scope) .event-compact-row-content {
9687
+ flex: none;
9688
+ gap: 0.625rem;
9689
+ height: auto;
9690
+ padding-inline: 0;
9691
+ }
9692
+
9693
+ :where(.theme-scope) .event-compact-row-title {
9694
+ font-size: 1.15rem;
9695
+ overflow: visible;
9696
+ text-overflow: clip;
9697
+ white-space: normal;
9698
+ overflow-wrap: break-word;
9699
+ }
9700
+
9701
+ :where(.theme-scope) .event-compact-row-venue {
9702
+ max-width: 100%;
9703
+ }
9704
+
9705
+ :where(.theme-scope) .event-compact-row-venue svg {
9706
+ flex-shrink: 0;
9707
+ }
9708
+
9709
+ :where(.theme-scope) .event-compact-row-meta {
9710
+ flex-direction: column;
9711
+ align-items: flex-start;
9712
+ flex-wrap: wrap;
9713
+ gap: 0.35rem;
9714
+ }
9715
+
9716
+ :where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
9717
+ display: none;
9718
+ }
9719
+
9720
+ :where(.theme-scope) .event-compact-row-teacher::before,
9721
+ :where(.theme-scope) .event-compact-row-price::before {
9722
+ content: none;
9723
+ }
9724
+
9725
+ :where(.theme-scope) .event-compact-row-action {
9726
+ flex: none;
9727
+ grid-template-columns: minmax(0, 1fr);
9728
+ gap: 0.7rem;
9729
+ height: auto;
9491
9730
  width: 100%;
9731
+ padding-left: 0;
9732
+ padding-top: 0;
9733
+ border-left: 0;
9734
+ border-top: 0;
9735
+ }
9736
+
9737
+ :where(.theme-scope) .event-compact-row-datetime {
9738
+ display: flex;
9739
+ flex-wrap: wrap;
9740
+ white-space: normal;
9741
+ }
9742
+
9743
+ :where(.theme-scope) .event-compact-row-action-price {
9744
+ display: inline-flex;
9745
+ align-items: center;
9746
+ gap: 0.55rem;
9747
+ }
9748
+
9749
+ :where(.theme-scope) .event-compact-row-action-price::before {
9750
+ content: "\00b7";
9751
+ }
9752
+
9753
+ :where(.theme-scope) .event-compact-row-cta {
9754
+ width: min(100%, 12rem);
9755
+ min-height: 2.65rem;
9756
+ justify-content: space-between;
9757
+ gap: 0.65rem;
9758
+ padding-inline: 1rem;
9759
+ }
9760
+
9761
+ :where(.theme-scope) .event-compact-row-cta span {
9762
+ min-width: 0;
9492
9763
  }
9493
9764
  }
9494
9765
 
@@ -9555,15 +9826,23 @@
9555
9826
  * is what carries the alignment, and the inline-block mark follows it. Alignment
9556
9827
  * is never configured directly; it follows the heading.
9557
9828
  */
9829
+ :where(.theme-scope) .rb-heading-decoration-group {
9830
+ display: flex;
9831
+ flex-direction: column;
9832
+ gap: 0;
9833
+ }
9834
+
9558
9835
  :where(.theme-scope) .rb-heading-decoration-row {
9559
9836
  display: block;
9560
9837
  width: 100%;
9561
9838
  margin-top: 0.35rem;
9839
+ line-height: 0;
9562
9840
  pointer-events: none;
9563
9841
  }
9564
9842
 
9565
9843
  :where(.theme-scope) .rb-heading-decoration {
9566
9844
  display: inline-block;
9845
+ vertical-align: top;
9567
9846
  }
9568
9847
 
9569
9848
  :where(.theme-scope) .rb-heading-decoration-organic-squiggle {
@@ -9662,6 +9941,47 @@
9662
9941
  height: 1.5rem;
9663
9942
  }
9664
9943
 
9944
+ /* --- Card marker mode (icons / numbers / none) -----------------------------
9945
+ *
9946
+ * The icon zone and the number zone both sit in the DOM; the grid's
9947
+ * `data-card-marker` attribute decides which shows. The default (legacy
9948
+ * content with no attribute) shows icons and hides the number zone.
9949
+ */
9950
+ :where(.theme-scope) .rb-feature-card-number-zone {
9951
+ display: none; /* shown only in numbers mode */
9952
+ align-items: center;
9953
+ justify-content: center;
9954
+ flex: 0 0 auto;
9955
+ width: 2.5rem;
9956
+ height: 2.5rem;
9957
+ margin-bottom: 0.125rem;
9958
+ border-radius: var(--rb-block-radius, 0.75rem);
9959
+ background-color: rgb(var(--tb-primary) / 10%);
9960
+ color: rgb(var(--tb-primary));
9961
+ counter-increment: rb-feature-card-number;
9962
+ }
9963
+ :where(.theme-scope) .rb-feature-card-number-zone::before {
9964
+ content: counter(rb-feature-card-number, decimal-leading-zero);
9965
+ font-weight: 700;
9966
+ font-size: 0.95rem;
9967
+ line-height: 1;
9968
+ }
9969
+
9970
+ :where(.theme-scope) .rb-feature-cards-grid {
9971
+ counter-reset: rb-feature-card-number;
9972
+ }
9973
+
9974
+ :where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-number-zone {
9975
+ display: inline-flex;
9976
+ }
9977
+ :where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-icon-zone {
9978
+ display: none;
9979
+ }
9980
+ :where(.theme-scope) [data-card-marker="none"] .rb-feature-card-icon-zone,
9981
+ :where(.theme-scope) [data-card-marker="none"] .rb-feature-card-number-zone {
9982
+ display: none;
9983
+ }
9984
+
9665
9985
 
9666
9986
  /* =============================================================================
9667
9987
  * Shared: Card treatments
@@ -9753,4 +10073,93 @@
9753
10073
  padding-inline: 0;
9754
10074
  }
9755
10075
 
10076
+ /* --- Colour-blocked --------------------------------------------------------- */
10077
+
10078
+ /*
10079
+ * Bold, flat cards that each take a different palette colour by position,
10080
+ * cycled across the grid, with a staggered vertical offset on wider screens.
10081
+ * The background layer (`.rb-bg-surface`) is recoloured per card; the card's
10082
+ * text colour is set to the matching on-colour so content stays readable.
10083
+ */
10084
+ :where(.theme-scope) .rb-card-treatment-color-blocked {
10085
+ box-shadow: none;
10086
+ }
10087
+
10088
+ /* Per-card colour cycle. The `on*` colours are always derived by the palette
10089
+ * (expandPalette emits onSurface/onSecondary/onPrimary), so no fallback. */
10090
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) > .rb-bg-surface {
10091
+ background: rgb(var(--tb-surface));
10092
+ }
10093
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) {
10094
+ color: rgb(var(--tb-onSurface));
10095
+ }
10096
+
10097
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) > .rb-bg-surface {
10098
+ background: rgb(var(--tb-secondary));
10099
+ }
10100
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) {
10101
+ color: rgb(var(--tb-onSecondary));
10102
+ }
10103
+
10104
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) > .rb-bg-surface {
10105
+ background: rgb(var(--tb-primary));
10106
+ }
10107
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) {
10108
+ color: rgb(var(--tb-onPrimary));
10109
+ }
10110
+
10111
+ /* Body copy carries an inline muted colour from the block; force it to the
10112
+ * card's on-colour so it reads on every block (inline style needs !important). */
10113
+ :where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-body {
10114
+ color: inherit !important;
10115
+ opacity: 0.9;
10116
+ }
10117
+
10118
+ /* The number marker defaults to the brand accent, which collides with the
10119
+ * primary-coloured card in the cycle. On colour-blocked cards use the card's
10120
+ * own on-colour (the palette guarantees it's legible on that background) and a
10121
+ * faint tint of it for the badge, so the number always contrasts. */
10122
+ :where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-number-zone {
10123
+ color: inherit;
10124
+ background-color: color-mix(in oklab, currentColor, transparent 88%);
10125
+ }
10126
+
10127
+ /* Staggered offset: drop the middle column on wider screens. Scoped to a 3-up
10128
+ * grid (`.rb-grid-cols-3`) so 2-/4-column grids don't get a misaligned stagger;
10129
+ * the colour cycle still reads as a diagonal at any column count. */
10130
+ @media (min-width: 768px) {
10131
+ :where(.theme-scope) .rb-grid-cols-3 .rb-card-treatment-color-blocked:nth-child(3n + 2) {
10132
+ margin-top: 2.75rem;
10133
+ /* Override the card's `h-full` so the grid's stretch shrinks the card by the
10134
+ * margin (a genuinely shorter card) instead of keeping full height and
10135
+ * overflowing the section, which clips the rounded bottom corners. */
10136
+ height: auto;
10137
+ }
10138
+ }
10139
+
10140
+
10141
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media-wrap {
10142
+ max-width: min(100%, 24rem);
10143
+ margin-inline: auto;
10144
+ }
10145
+
10146
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media {
10147
+ aspect-ratio: 1 / 1 !important;
10148
+ border-radius: 9999px;
10149
+ }
10150
+
10151
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-title {
10152
+ font-size: clamp(2rem, 1.56rem + 1.4vw, 3rem);
10153
+ line-height: 1.14;
10154
+ }
10155
+
10156
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy {
10157
+ gap: var(--rb-space-5, 1.25rem);
10158
+ }
10159
+
10160
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy .rb-prose {
10161
+ font-size: clamp(1.125rem, 1.02rem + 0.35vw, 1.375rem);
10162
+ line-height: 1.65;
10163
+ }
10164
+
9756
10165