@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
@@ -1,5 +1,5 @@
1
- import { defineIslandPropsDecoder } from './chunk-PUOELU4O.mjs';
2
- import './chunk-AUJ5DBZJ.mjs';
1
+ import { defineIslandPropsDecoder } from './chunk-NX6X3GRF.mjs';
2
+ import './chunk-7BXX7WXH.mjs';
3
3
 
4
4
  // src/rendering/islands/enhancers/accordion.ts
5
5
  var decode = defineIslandPropsDecoder("accordion");
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { usePolling } from './chunk-VDS5YFLX.mjs';
3
- import { SpinnerNode } from './chunk-CE7IBGVW.mjs';
2
+ import { usePolling } from './chunk-IUEDYLFJ.mjs';
3
+ import { SpinnerNode } from './chunk-RMWMT3ZD.mjs';
4
4
  import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
5
- import { scrollToBlock, buildCheckoutReturnUrls, DiscountCodeDisclosure, formatPrice } from './chunk-Y37KDO7P.mjs';
5
+ import { scrollToBlock, buildCheckoutReturnUrls, DiscountCodeDisclosure, formatPrice } from './chunk-PA2LJH2M.mjs';
6
6
  import { FieldValidationMessage, getFieldValidationControlProps } from './chunk-3DCJ45Z2.mjs';
7
7
  import './chunk-3PEDD5KJ.mjs';
8
8
  import { isSpamProtectionEnabled, getChallengeUrl, AltchaWidget } from './chunk-YLMKMCSJ.mjs';
9
9
  import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-UDNSI5PY.mjs';
10
10
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever11, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, clearWorkflowFeedback, reportWorkflowError, reportWorkflowSuccess, okWith2, err2 } from './chunk-PUOELU4O.mjs';
12
- import { resolveBookingTimeZoneId, DEFAULT_BOOKING_TIME_ZONE, unsafeAsFormId, unsafeAsAppointmentResourceId, unsafeAsCustomerPassId, unsafeAsAppointmentServiceId, formatLocalScheduleDate, addLocalScheduleDays, parseBookingLocalDate, resolveFlexibleBalanceInitialPaymentCents, resolveFlexibleBalanceDueAt, getBookingInstalmentDepositRefundability, unsafeAsPassId, splitAmountWithRemainderInFirst, addIntervalPreservingMonthAnchor, clampConfiguredAmount, getBookingInstalmentPlanIntervalCount, omitZeroAmountFutureRows, formatBookingInstant } from './chunk-AUJ5DBZJ.mjs';
11
+ import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever11, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, clearWorkflowFeedback, reportWorkflowError, reportWorkflowSuccess, okWith2, err2 } from './chunk-NX6X3GRF.mjs';
12
+ import { resolveBookingTimeZoneId, DEFAULT_BOOKING_TIME_ZONE, unsafeAsFormId, unsafeAsAppointmentResourceId, unsafeAsCustomerPassId, unsafeAsAppointmentServiceId, formatLocalScheduleDate, addLocalScheduleDays, parseBookingLocalDate, resolveFlexibleBalanceInitialPaymentCents, resolveFlexibleBalanceDueAt, getBookingInstalmentDepositRefundability, unsafeAsPassId, splitAmountWithRemainderInFirst, addIntervalPreservingMonthAnchor, clampConfiguredAmount, getBookingInstalmentPlanIntervalCount, omitZeroAmountFutureRows, formatBookingInstant } from './chunk-7BXX7WXH.mjs';
13
13
  import React2, { useRef, useState, useMemo, useReducer, useEffect, useCallback, useLayoutEffect } from 'react';
14
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
15
15
 
@@ -4213,7 +4213,9 @@ var buttonBorderSchema = z2.object({
4213
4213
  var variantShadowSchema = z2.object({
4214
4214
  elevation: z2.enum(["none", "low", "medium", "high"]),
4215
4215
  softness: z2.enum(["crisp", "soft", "hard"]).nullable(),
4216
- position: z2.enum(["bottom", "bottom-right"]).default("bottom")
4216
+ position: z2.enum(["bottom", "bottom-right"]).default("bottom"),
4217
+ // Optional palette token for a coloured offset shadow; omit for neutral black.
4218
+ colorToken: themeColorTokenSchema.optional()
4217
4219
  });
4218
4220
  var variantEffectsSchema = z2.object({
4219
4221
  base: z2.array(effectApplicationSchema).optional(),
@@ -4762,6 +4764,65 @@ var inkStamp = defineButtonPersonality({
4762
4764
  }
4763
4765
  });
4764
4766
 
4767
+ // ../theme-core/src/buttons/personalities/joy-stamp.ts
4768
+ var joyStamp = defineButtonPersonality({
4769
+ id: "joy-stamp",
4770
+ name: "Joy Stamp",
4771
+ description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
4772
+ tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
4773
+ buttonSystem: {
4774
+ global: {
4775
+ cornerStyle: "pill",
4776
+ shadow: "high",
4777
+ textTransform: "none",
4778
+ // Bold display type on the buttons: use the heading font (Bricolage) at
4779
+ // 700, matching the mockup's chunky button labels.
4780
+ typography: "heading",
4781
+ fontWeight: 700,
4782
+ borderWidth: 2,
4783
+ hoverTransform: "none",
4784
+ hoverColor: "none"
4785
+ },
4786
+ sizes: {
4787
+ sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
4788
+ md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
4789
+ lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
4790
+ xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
4791
+ },
4792
+ variants: [
4793
+ {
4794
+ id: "primary",
4795
+ name: "Primary",
4796
+ enabled: true,
4797
+ priority: 1,
4798
+ background: { type: "solid", colorToken: "primary" },
4799
+ textColorToken: "primaryForeground",
4800
+ borderRadius: "rounded-full",
4801
+ // Cream stamp shadow under the burnt-orange fill.
4802
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
4803
+ effects: {
4804
+ hover: [{ effectId: "press-down" }]
4805
+ }
4806
+ },
4807
+ {
4808
+ id: "secondary",
4809
+ name: "Secondary",
4810
+ enabled: true,
4811
+ priority: 2,
4812
+ background: { type: "transparent" },
4813
+ textColorToken: "text",
4814
+ borderRadius: "rounded-full",
4815
+ border: { widthClass: "border-2", colorToken: "text" },
4816
+ // Brown stamp shadow under the cream outline.
4817
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
4818
+ effects: {
4819
+ hover: [{ effectId: "press-down" }]
4820
+ }
4821
+ }
4822
+ ]
4823
+ }
4824
+ });
4825
+
4765
4826
  // ../theme-core/src/buttons/personalities/pebble.ts
4766
4827
  var pebble = defineButtonPersonality({
4767
4828
  id: "pebble",
@@ -5035,7 +5096,8 @@ var buttonPersonalities = [
5035
5096
  pebble,
5036
5097
  inkStamp,
5037
5098
  brushedWash,
5038
- showtimePill
5099
+ showtimePill,
5100
+ joyStamp
5039
5101
  ];
5040
5102
  var personalitiesById = new Map(
5041
5103
  buttonPersonalities.map((p) => [p.id, p])
@@ -5338,6 +5400,9 @@ var accordionSystemSchema = z5.object({
5338
5400
  });
5339
5401
 
5340
5402
  // ../theme-core/src/site-styles/types.ts
5403
+ function defineExactCatalog() {
5404
+ return (entries) => entries;
5405
+ }
5341
5406
  function asAppearancePresetId(value) {
5342
5407
  return brandNonEmptyString(value, "AppearancePresetId");
5343
5408
  }
@@ -6759,7 +6824,9 @@ var boxBackgroundSchema = z17.object({
6759
6824
  motion: z17.enum(["static", "fixed-frame"]).nullable().optional(),
6760
6825
  overlay: boxBackgroundOverlaySchema.nullable().optional(),
6761
6826
  textColor: tokenOrCssColorValueSchema.nullable().optional(),
6762
- headingColor: tokenOrCssColorValueSchema.nullable().optional()
6827
+ headingColor: tokenOrCssColorValueSchema.nullable().optional(),
6828
+ linkColor: tokenOrCssColorValueSchema.nullable().optional(),
6829
+ supportingColor: tokenOrCssColorValueSchema.nullable().optional()
6763
6830
  });
6764
6831
  var noHeadingDecorationSchema = z17.object({
6765
6832
  family: z17.literal("none")
@@ -6822,7 +6889,8 @@ var cardStylesOverrideSchema = z17.object({
6822
6889
  "editorial-rule",
6823
6890
  "soft-panel",
6824
6891
  "editorial-serif-quote",
6825
- "editorial-open"
6892
+ "editorial-open",
6893
+ "color-blocked"
6826
6894
  ]).nullable().optional(),
6827
6895
  // Which site-style card variant the card adopts (emits a `.card-{id}` class).
6828
6896
  // 'none' is boxless. Driven by the block look via testimonialCardTreatment.
@@ -7647,6 +7715,30 @@ var warmNeutralForest = definePaletteVariant({
7647
7715
  ]
7648
7716
  });
7649
7717
 
7718
+ // ../theme-core/src/palette/variants/warm-dark.ts
7719
+ var warmDarkEmber = definePaletteVariant({
7720
+ id: "warm-dark-ember",
7721
+ name: "Warm Dark \u2014 Ember",
7722
+ description: "Deep clay-brown ground with burnt-orange accent and warm cream text.",
7723
+ tags: { tone: "bold", energy: "vibrant", era: "organic" },
7724
+ mode: "dark",
7725
+ colors: [
7726
+ { name: "primary", hex: "#ce612f" },
7727
+ { name: "secondary", hex: "#894e31" },
7728
+ { name: "accent", hex: "#ce612f" },
7729
+ { name: "success", hex: "#6f8f57" },
7730
+ { name: "warning", hex: "#c98a3c" },
7731
+ { name: "destructive", hex: "#c0492f" },
7732
+ { name: "background", hex: "#4f2415" },
7733
+ { name: "surface", hex: "#5c3320" },
7734
+ { name: "surfaceAlt", hex: "#693a25" },
7735
+ { name: "muted", hex: "#6a3d27" },
7736
+ { name: "text", hex: "#f0e1d0" },
7737
+ { name: "primaryForeground", hex: "#4f2415" },
7738
+ { name: "border", hex: "#894e31" }
7739
+ ]
7740
+ });
7741
+
7650
7742
  // ../theme-core/src/palette/variants/index.ts
7651
7743
  var paletteVariants = [
7652
7744
  // Brand-led family
@@ -7667,7 +7759,9 @@ var paletteVariants = [
7667
7759
  softNaturalSage,
7668
7760
  softNaturalStone,
7669
7761
  softNaturalWatercolor,
7670
- softNaturalLilac
7762
+ softNaturalLilac,
7763
+ // Warm-dark family (dark mode)
7764
+ warmDarkEmber
7671
7765
  ];
7672
7766
  var paletteVariantsById = new Map(
7673
7767
  paletteVariants.map((v) => [v.id, v])
@@ -7948,6 +8042,32 @@ var clarityZenCardSystem = {
7948
8042
  }
7949
8043
  ]
7950
8044
  };
8045
+ var originalJoyCardSystem = {
8046
+ variants: [
8047
+ {
8048
+ id: "default",
8049
+ name: "Default",
8050
+ enabled: true,
8051
+ priority: 1,
8052
+ background: { type: "solid", colorToken: "surface" },
8053
+ foregroundToken: "text",
8054
+ spacing: "comfortable",
8055
+ corners: "rounded",
8056
+ shadow: { elevation: "none", softness: null, position: "bottom" }
8057
+ },
8058
+ {
8059
+ id: "alternative",
8060
+ name: "Statement",
8061
+ enabled: true,
8062
+ priority: 2,
8063
+ background: { type: "solid", colorToken: "primary" },
8064
+ foregroundToken: "primaryForeground",
8065
+ spacing: "comfortable",
8066
+ corners: "rounded",
8067
+ shadow: { elevation: "none", softness: null, position: "bottom" }
8068
+ }
8069
+ ]
8070
+ };
7951
8071
 
7952
8072
  // ../theme-core/src/site-styles/testimonialQuotePresets.ts
7953
8073
  var serifDisplayQuote = {
@@ -8068,7 +8188,7 @@ function baseHeader(theme) {
8068
8188
  navContainer: { type: "none", tint: null, opacity: 0.15 }
8069
8189
  };
8070
8190
  }
8071
- var headerLayoutCatalog = [
8191
+ var headerLayoutCatalog = defineExactCatalog()([
8072
8192
  {
8073
8193
  id: asHeaderLayoutId("classic"),
8074
8194
  label: "Classic",
@@ -8100,11 +8220,11 @@ var headerLayoutCatalog = [
8100
8220
  maxRecommendedNavItems: 5,
8101
8221
  allowedLogoShapes: ["none", "text-only", "horizontal"]
8102
8222
  }
8103
- ];
8223
+ ]);
8104
8224
  function supportedLayouts(ids) {
8105
8225
  return ids.map(asHeaderLayoutId);
8106
8226
  }
8107
- var headerStyleCatalog = [
8227
+ var headerStyleCatalog = defineExactCatalog()([
8108
8228
  {
8109
8229
  id: asHeaderStyleId("minimal"),
8110
8230
  label: "Minimal",
@@ -8259,7 +8379,7 @@ var headerStyleCatalog = [
8259
8379
  navTypography: "heading",
8260
8380
  moods: ["calm", "editorial"]
8261
8381
  }
8262
- ];
8382
+ ]);
8263
8383
  var headerLayoutsById = new Map(
8264
8384
  headerLayoutCatalog.map((layout) => [layout.id, layout])
8265
8385
  );
@@ -8372,7 +8492,7 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
8372
8492
  [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
8373
8493
  ]
8374
8494
  );
8375
- var legacyHeaderLookAliases = [
8495
+ var legacyHeaderLookAliases = defineExactCatalog()([
8376
8496
  {
8377
8497
  lookId: asHeaderLookId("clean-base"),
8378
8498
  selection: {
@@ -8429,7 +8549,7 @@ var legacyHeaderLookAliases = [
8429
8549
  styleId: asHeaderStyleId("glass")
8430
8550
  }
8431
8551
  }
8432
- ];
8552
+ ]);
8433
8553
  var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
8434
8554
  function getHeaderStyle(id) {
8435
8555
  return headerStylesById.get(id) ?? null;
@@ -8583,6 +8703,12 @@ function serifLineHeader(theme) {
8583
8703
  letterSpacing: "wide",
8584
8704
  gradient: false
8585
8705
  },
8706
+ border: {
8707
+ style: "solid",
8708
+ width: "none",
8709
+ position: "none"
8710
+ },
8711
+ shadow: { elevation: "none" },
8586
8712
  ctaTreatment: "outline",
8587
8713
  ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
8588
8714
  ctaGap: "relaxed"
@@ -8707,7 +8833,7 @@ function floatingGlassHeader(theme) {
8707
8833
  }
8708
8834
  };
8709
8835
  }
8710
- var headerLookCatalog = [
8836
+ var headerLookCatalog = defineExactCatalog()([
8711
8837
  {
8712
8838
  id: asHeaderLookId("clean-base"),
8713
8839
  label: "Clean base",
@@ -8825,7 +8951,7 @@ var headerLookCatalog = [
8825
8951
  logoAccommodations: overlayLogoAccommodations,
8826
8952
  compile: floatingGlassHeader
8827
8953
  }
8828
- ];
8954
+ ]);
8829
8955
  var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
8830
8956
  var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
8831
8957
  var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
@@ -8991,7 +9117,7 @@ function editorialColumnsFooter(theme) {
8991
9117
  }
8992
9118
  };
8993
9119
  }
8994
- var footerLookCatalog = [
9120
+ var footerLookCatalog = defineExactCatalog()([
8995
9121
  {
8996
9122
  id: asFooterLookId("footer-muted-grounding"),
8997
9123
  label: "Muted grounding footer",
@@ -9014,7 +9140,7 @@ var footerLookCatalog = [
9014
9140
  allowedContentPresence: ["default-footer", "default-and-blocks"],
9015
9141
  compile: brandTwoBandFooter
9016
9142
  }
9017
- ];
9143
+ ]);
9018
9144
  var footerLooksById = new Map(
9019
9145
  footerLookCatalog.map((look) => [look.id, look])
9020
9146
  );
@@ -9036,7 +9162,7 @@ var generatedDesignOptionCatalog = {
9036
9162
  source: "generated",
9037
9163
  sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
9038
9164
  contentFrames: generatedContentFrames,
9039
- itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial"],
9165
+ itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"],
9040
9166
  transitions: ["none", "soft-fade-short", "soft-fade-long"],
9041
9167
  emphases: ["low", "medium", "high"],
9042
9168
  detachedCustom: false
@@ -9048,8 +9174,15 @@ var userDesignOptionCatalog = {
9048
9174
  itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
9049
9175
  transitions: [
9050
9176
  ...generatedDesignOptionCatalog.transitions,
9177
+ "soft-fade-expansive",
9051
9178
  "wave-edge",
9052
- "angle-edge"
9179
+ "wave-edge-balanced",
9180
+ "wave-edge-gentle",
9181
+ "wave-edge-bold",
9182
+ "wave-edge-drift",
9183
+ "angle-edge",
9184
+ "angle-edge-subtle",
9185
+ "angle-edge-steep"
9053
9186
  ],
9054
9187
  emphases: generatedDesignOptionCatalog.emphases,
9055
9188
  detachedCustom: false
@@ -9230,6 +9363,29 @@ var boldDisplayTypography = {
9230
9363
  },
9231
9364
  scale: "balanced"
9232
9365
  };
9366
+ var originalJoyTypography = {
9367
+ body: {
9368
+ family: "DM Sans, system-ui, sans-serif",
9369
+ size: "md",
9370
+ weight: "regular",
9371
+ lineHeight: "relaxed",
9372
+ letterSpacing: "normal"
9373
+ },
9374
+ headings: {
9375
+ default: {
9376
+ family: "Bricolage Grotesque, system-ui, sans-serif",
9377
+ weight: "bold",
9378
+ lineHeight: "normal",
9379
+ letterSpacing: "tight",
9380
+ italic: null,
9381
+ case: null
9382
+ },
9383
+ h1: { size: "2xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
9384
+ h2: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
9385
+ h3: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null }
9386
+ },
9387
+ scale: "balanced"
9388
+ };
9233
9389
  var typographyPresets = [
9234
9390
  defineTypographyPreset({
9235
9391
  id: "typography-preset:modern-sans",
@@ -9316,6 +9472,32 @@ var typographyPresets = [
9316
9472
  mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
9317
9473
  }
9318
9474
  }
9475
+ }),
9476
+ defineTypographyPreset({
9477
+ id: "typography-preset:original-joy",
9478
+ name: "Original Joy",
9479
+ description: "Bold Bricolage Grotesque display headings over a clean DM Sans body, editorial and warm.",
9480
+ defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Bricolage Grotesque, system-ui, sans-serif" },
9481
+ recommendedFonts: {
9482
+ body: ["DM Sans", "Inter", "Manrope"],
9483
+ heading: ["Bricolage Grotesque", "Space Grotesk", "Archivo"]
9484
+ },
9485
+ slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
9486
+ typography: originalJoyTypography,
9487
+ heroTypography: {
9488
+ headlineSize: "6xl",
9489
+ headlineLineHeight: "tight",
9490
+ subheadlineSize: "xl",
9491
+ subheadlineLineHeight: "normal",
9492
+ microHeadlineSize: "6xl",
9493
+ microHeadlineLineHeight: "tight",
9494
+ microSubheadlineSize: "lg",
9495
+ microSubheadlineLineHeight: "normal",
9496
+ responsive: {
9497
+ tablet: { headlineSize: "5xl" },
9498
+ mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
9499
+ }
9500
+ }
9319
9501
  })
9320
9502
  ];
9321
9503
  var typographyPresetsById = new Map(
@@ -10369,7 +10551,7 @@ var curatedSiteStyles = [
10369
10551
  "body-text-editorial-intro",
10370
10552
  "schedule-details-brand-depth",
10371
10553
  "testimonials-statement-cards",
10372
- "contact-form-brand-depth-card"
10554
+ "contact-form-panel"
10373
10555
  ],
10374
10556
  recommendedHeaderLookIds: [
10375
10557
  "brand-solid",
@@ -10392,6 +10574,74 @@ var curatedSiteStyles = [
10392
10574
  paletteChoice("brand-led-warm"),
10393
10575
  paletteChoice("high-contrast-ink")
10394
10576
  ]
10577
+ }),
10578
+ defineCuratedSiteStyle({
10579
+ id: "site-style:original-joy",
10580
+ name: "Original Joy",
10581
+ headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
10582
+ description: "Warm, dark, and editorial: deep clay grounds, cream type, and bold burnt-orange accents for soulful community brands.",
10583
+ generationBrief: "Use a deep brown ground with cream text and burnt-orange accents, large display headings, generous spacing, organic rounded shapes, and bold colour-blocked feature sections. Lead with warmth and belonging; calls to action should feel strong but unhurried.",
10584
+ tokenRecipes: {
10585
+ palette: "brand-led",
10586
+ contrast: "maximum",
10587
+ radius: "rounded",
10588
+ shadow: "subtle",
10589
+ typography: "clean-sans",
10590
+ spacing: "airy",
10591
+ motion: "expressive"
10592
+ },
10593
+ compositionBudget: expressiveBudget,
10594
+ typographyPresetChoices: [
10595
+ typographyChoice("typography-preset:original-joy"),
10596
+ typographyChoice("typography-preset:bold-display"),
10597
+ typographyChoice("typography-preset:modern-sans")
10598
+ ],
10599
+ defaultTypographyPresetId: "typography-preset:original-joy",
10600
+ themeOverrides: {
10601
+ accordions: boldBorderedAccordionSystem,
10602
+ // Shared card system: warm rounded brown cards (event + testimonial cards
10603
+ // pick this up automatically) with a burnt-orange statement variant.
10604
+ cards: originalJoyCardSystem,
10605
+ testimonialQuote: accentGlyphQuote,
10606
+ bodyText: {
10607
+ intro: {
10608
+ paragraphSize: "editorial",
10609
+ headingSize: "editorial"
10610
+ }
10611
+ }
10612
+ },
10613
+ // Recommended block looks: the bold colour-blocked feature cards, a calm
10614
+ // band for the events spotlight, and statement testimonial cards.
10615
+ recommendedAppearancePresetIds: [
10616
+ "feature-cards-bold-colors",
10617
+ "offerings-calm-list",
10618
+ "testimonials-statement-cards"
10619
+ ],
10620
+ // Floating, transparent "Clear Split" header (no fill behind the nav links).
10621
+ defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
10622
+ recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
10623
+ recommendedHeaderStyleChoicesByLayout: {
10624
+ floating: [
10625
+ headerStyleChoice("minimal-surface"),
10626
+ headerStyleChoice("split-glass"),
10627
+ headerStyleChoice("glass")
10628
+ ]
10629
+ },
10630
+ // Legacy bridge only (the real curation is the explicit selection above).
10631
+ // Kept to a reserved-space, non-overlay look on purpose: the split hero
10632
+ // flows below the Clear Split header, so we must NOT trigger the immersive
10633
+ // overlay-hero promotion that looks like `floating-glass` would force.
10634
+ recommendedHeaderLookIds: ["minimal-transparent"],
10635
+ recommendedFooterLookIds: [
10636
+ "site-footer-brand-two-band",
10637
+ "footer-muted-grounding"
10638
+ ],
10639
+ buttonPersonalityChoices: [
10640
+ buttonChoice("joy-stamp"),
10641
+ buttonChoice("ink-stamp"),
10642
+ buttonChoice("showtime-pill")
10643
+ ],
10644
+ paletteVariantChoices: [paletteChoice("warm-dark-ember")]
10395
10645
  })
10396
10646
  ];
10397
10647
  var curatedSiteStylesById = new Map(
@@ -14253,9 +14503,21 @@ var NAV_LINK_PRESETS = {
14253
14503
  var NAV_LINK_PRESET_IDS = Object.keys(NAV_LINK_PRESETS);
14254
14504
 
14255
14505
  // ../theme-core/src/layout/generateLayoutCss.ts
14256
- var waveTransitionMask = svgDataUrl(
14506
+ var classicWaveTransitionMask = svgDataUrl(
14257
14507
  "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V46C130 55 260 24 420 30C590 36 690 62 860 42C1035 21 1160 47 1305 36C1365 31 1415 33 1440 38V72H0Z' fill='white'/></svg>"
14258
14508
  );
14509
+ var balancedWaveTransitionMask = svgDataUrl(
14510
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V42C120 24 240 24 360 42C480 60 600 60 720 42C840 24 960 24 1080 42C1200 60 1320 60 1440 42V72H0Z' fill='white'/></svg>"
14511
+ );
14512
+ var gentleWaveTransitionMask = svgDataUrl(
14513
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V43C180 32 300 32 480 43C660 54 780 54 960 43C1140 32 1260 32 1440 43V72H0Z' fill='white'/></svg>"
14514
+ );
14515
+ var boldWaveTransitionMask = svgDataUrl(
14516
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V44C90 14 270 14 360 44C450 74 630 74 720 44C810 14 990 14 1080 44C1170 74 1350 74 1440 44V72H0Z' fill='white'/></svg>"
14517
+ );
14518
+ var driftWaveTransitionMask = svgDataUrl(
14519
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>"
14520
+ );
14259
14521
  function svgDataUrl(svg) {
14260
14522
  return `data:image/svg+xml,${encodeURIComponent(svg)}`;
14261
14523
  }
@@ -1,7 +1,7 @@
1
- import { normalizeCarouselProps, CarouselNodeClient } from './chunk-IWFZSQNZ.mjs';
1
+ import { normalizeCarouselProps, CarouselNodeClient } from './chunk-G56BSZAM.mjs';
2
2
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
3
- import { defineIslandPropsDecoder } from './chunk-PUOELU4O.mjs';
4
- import './chunk-AUJ5DBZJ.mjs';
3
+ import { defineIslandPropsDecoder } from './chunk-NX6X3GRF.mjs';
4
+ import './chunk-7BXX7WXH.mjs';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
7
7
  var decode = defineIslandPropsDecoder("carousel");
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, CartClient } from './chunk-PYRBIURC.mjs';
2
- import './chunk-4W66ALYT.mjs';
3
- import './chunk-IWFZSQNZ.mjs';
1
+ import { mountShopBlockIsland, CartClient } from './chunk-NP47RHIX.mjs';
2
+ import './chunk-TCJS3NY5.mjs';
3
+ import './chunk-G56BSZAM.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-ZFHRN6W2.mjs';
6
- import './chunk-Y37KDO7P.mjs';
6
+ import './chunk-PA2LJH2M.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-PUOELU4O.mjs';
12
- import './chunk-AUJ5DBZJ.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-NX6X3GRF.mjs';
12
+ import './chunk-7BXX7WXH.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/cart.tsx
15
15
  var decode = defineIslandPropsDecoder("cart");
@@ -1,15 +1,15 @@
1
- import { mountShopBlockIsland, CheckoutClient } from './chunk-PYRBIURC.mjs';
2
- import './chunk-4W66ALYT.mjs';
3
- import './chunk-IWFZSQNZ.mjs';
1
+ import { mountShopBlockIsland, CheckoutClient } from './chunk-NP47RHIX.mjs';
2
+ import './chunk-TCJS3NY5.mjs';
3
+ import './chunk-G56BSZAM.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-ZFHRN6W2.mjs';
6
- import './chunk-Y37KDO7P.mjs';
6
+ import './chunk-PA2LJH2M.mjs';
7
7
  import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-UDNSI5PY.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-PUOELU4O.mjs';
12
- import './chunk-AUJ5DBZJ.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-NX6X3GRF.mjs';
12
+ import './chunk-7BXX7WXH.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/checkout.tsx
15
15
  var decode = defineIslandPropsDecoder("checkout");