@riverbankcms/sdk 0.104.1 → 0.107.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.
- package/README.md +84 -51
- package/dist/{PreviewEditorSidebar-CmaPXdKu.mjs → PreviewEditorSidebar-DpAbAl08.mjs} +1811 -1179
- package/dist/{PreviewEditorUI-C5xRTh2b.mjs → PreviewEditorUI-O7cn6Xxv.mjs} +3 -3
- package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-D0tnKl0t.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Eks51NcN.mjs → SdkPreviewModeRuntime-CVB7urtl.mjs} +3244 -528
- package/dist/{SiteChromeCustomizeContext-Bt8zb3qu.mjs → SiteChromeCustomizeContext-C_sizso-.mjs} +4945 -3010
- package/dist/_dts/ai/src/contracts/proposals.d.ts +32945 -1329
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -15
- package/dist/_dts/api/src/courses.d.ts +68 -10
- package/dist/_dts/api/src/endpoints.d.ts +29 -0
- package/dist/_dts/api/src/index.d.ts +124 -124
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +116 -6
- package/dist/_dts/api/src/siteOperations.d.ts +1 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +26 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +31 -46
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
- package/dist/_dts/blocks/src/definitions.d.ts +1 -1
- package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
- package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +12 -8
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +7 -0
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +11 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/events.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +12 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +33 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +84 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -40
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +14 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +11 -0
- package/dist/_dts/core/src/branded.d.ts +49 -0
- package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
- package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
- package/dist/_dts/core/src/index.d.ts +49 -47
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1469 -14
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
- package/dist/_dts/media-core/src/index.d.ts +2 -1
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
- package/dist/_dts/media-core/src/url.d.ts +1 -21
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
- package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +132 -23
- package/dist/_dts/sdk/src/client/types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +25 -5
- package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
- package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
- package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
- package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
- package/dist/_dts/sdk/src/data/index.d.ts +3 -3
- package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
- package/dist/_dts/sdk/src/data/types.d.ts +43 -78
- package/dist/_dts/sdk/src/next/index.d.ts +1 -0
- package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
- package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +10 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -8
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +9 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
- package/dist/_dts/sdk/src/server.d.ts +4 -3
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/commands.d.ts +921 -30
- package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +29 -0
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +6 -0
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +20 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +6 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +43 -5
- package/dist/_dts/theme-core/src/data.d.ts +12 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/types.d.ts +27 -3
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -39
- package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +22 -4
- package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -224
- package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
- package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
- package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -3
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -57
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
- package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +3 -4
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +1 -0
- package/dist/_dts/theme-core/src/schema.d.ts +229 -30
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +208 -49
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +8 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +6 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +56 -1
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
- package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
- package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
- package/dist/_dts/theme-core/src/status/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +19 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +9 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +2 -0
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/cli/index.mjs +4146 -1602
- package/dist/client/{DiscountCodeDisclosure-Dit2aItR.mjs → DiscountCodeDisclosure-BwGkvmVH.mjs} +1 -1
- package/dist/client/{EventCombined.client-BnREyCjf.mjs → EventCombined.client-JnWE6Hzc.mjs} +4 -4
- package/dist/client/{EventListing.client-0uHld51x.mjs → EventListing.client-DQewc_kg.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DJcvSfmj.mjs → LeafletStaticMap-DPAU3SFt.mjs} +1 -1
- package/dist/client/{MagicLinkForm-EAsIktfw.mjs → MagicLinkForm-D4kpWCbW.mjs} +2 -2
- package/dist/client/{StepIndicator-CRR17tYI.mjs → StepIndicator-CBlkb4rA.mjs} +2 -2
- package/dist/client/{accordion-B47HIuuH.mjs → accordion-DAIBVpTS.mjs} +1 -1
- package/dist/client/{bookingForm-I1E-8F9P.mjs → bookingForm-DZ-4l5_1.mjs} +7 -7
- package/dist/client/bookings.mjs +360 -95
- package/dist/client/{buttons-BbPn8OKA.mjs → buttons-DJgynGHQ.mjs} +243 -43
- package/dist/client/{carousel-OlM7SyBs.mjs → carousel-D-SLfX8r.mjs} +1 -1
- package/dist/client/{cart-BKpG5jz6.mjs → cart-CEgbgJhX.mjs} +3 -3
- package/dist/client/{checkout-Dmmr6qoU.mjs → checkout-CXWrCRAA.mjs} +3 -3
- package/dist/client/client.mjs +6019 -1494
- package/dist/client/{colorStyles-DuW4Fjqd.mjs → colorStyles-jZS6KfkP.mjs} +46 -5
- package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
- package/dist/client/{courseRegistration-CflZiqGk.mjs → courseRegistration-DVmLrRVz.mjs} +56 -21
- package/dist/client/{eventCalendar-BvoLWcp-.mjs → eventCalendar-DCuyPY_c.mjs} +173 -5
- package/dist/client/{eventCombined-DsrO8t_t.mjs → eventCombined-kP2CA2D4.mjs} +2 -2
- package/dist/client/{eventDetails-C3hxgcJm.mjs → eventDetails-DU0LeF5e.mjs} +4 -4
- package/dist/client/{eventListing-C-hb237X.mjs → eventListing-CcHF87BI.mjs} +2 -2
- package/dist/client/{eventRegistration-B0gyzDGi.mjs → eventRegistration-DJnR0yFH.mjs} +8 -8
- package/dist/client/{form-C_RUi6oJ.mjs → form-CH1lCusH.mjs} +2 -2
- package/dist/client/{headerSection-IKQiD2U0.mjs → headerSection-CBPFZoku.mjs} +3 -3
- package/dist/client/hooks.mjs +3645 -1857
- package/dist/client/{locationMap-8ZBrMzRJ.mjs → locationMap-Cx1hBg5n.mjs} +3 -3
- package/dist/client/{media-CZJKL7fi.mjs → media-DHtSxS5V.mjs} +61 -56
- package/dist/client/{newsletterForm-CYk3ucwj.mjs → newsletterForm-1ZL_ti9u.mjs} +3 -3
- package/dist/client/{pricing-B5GmvfIH.mjs → pricing-BIbzmV0G.mjs} +1 -1
- package/dist/client/{productDetail-BjS2Dqzo.mjs → productDetail-BTh5gHBV.mjs} +3 -3
- package/dist/client/{productList-BOHvC8My.mjs → productList-Cc7OMrqN.mjs} +3 -3
- package/dist/client/{propsDecoder-WS6UEJwZ.mjs → propsDecoder-oR-M-ISN.mjs} +228 -60
- package/dist/client/rendering/client.mjs +3231 -1477
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +6889 -1927
- package/dist/client/{shop-CON03-wN.mjs → shop-CQ_YbCnn.mjs} +8 -8
- package/dist/client/{shop-commerce-DlqrFgH8.mjs → shop-commerce-BM-AoD3M.mjs} +6 -6
- package/dist/client/{shop-commerce-store-l74-Kne6.mjs → shop-commerce-store-DFMQhU5p.mjs} +1 -1
- package/dist/client/{shopShared-CQheEXSg.mjs → shopShared-D0SKO2Cu.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-v6OluyWl.mjs → useDiscountCodeUi-CrG4_ARt.mjs} +1 -1
- package/dist/client/{useEventFilters-BqSTcNOf.mjs → useEventFilters-CxK8Fekl.mjs} +6 -6
- package/dist/client/{usePolling-DMfADjIF.mjs → usePolling-jcVryNgZ.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +40 -1
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +40 -1
- package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-BPcJPzdz.mjs} +40 -1
- package/dist/{sdk-runtime-BUmJ0DaT.mjs → sdk-runtime-C39Rsk-x.mjs} +2 -2
- package/dist/{separator-Dd-JYok7.mjs → separator-BoMSQnsP.mjs} +1 -1
- package/dist/server/components.mjs +6345 -2084
- package/dist/server/config-validation.mjs +3420 -1856
- package/dist/server/config.mjs +3420 -1856
- package/dist/server/data.mjs +4067 -1923
- package/dist/server/index.mjs +46 -4
- package/dist/server/next/middleware.mjs +1 -1
- package/dist/server/next.mjs +7239 -2147
- package/dist/server/page-converter.mjs +3189 -1619
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +6540 -2058
- package/dist/server/rendering.mjs +7339 -2377
- package/dist/server/routing.mjs +3373 -1101
- package/dist/server/server.mjs +4307 -2002
- package/dist/server/theme-bridge.mjs +9844 -7325
- package/dist/server/theme.mjs +300 -47
- package/dist/styles/index.css +1863 -94
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +0 -2
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
- package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
- package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -34
- package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -219
- package/dist/_dts/theme-core/src/status/contextualColors.d.ts +0 -6
|
@@ -485,6 +485,8 @@ export interface RiverbankClient {
|
|
|
485
485
|
eventSurface?: string;
|
|
486
486
|
eventPresets?: string;
|
|
487
487
|
scheduleScope?: string;
|
|
488
|
+
detailLevel?: 'full' | 'listing';
|
|
489
|
+
readProfile?: string;
|
|
488
490
|
/** Optional: filter to a specific content entry (event series) */
|
|
489
491
|
entryId?: string;
|
|
490
492
|
/** Optional: filter to a specific seriesId */
|
|
@@ -45,7 +45,7 @@ export type BlockCategory = 'marketing' | 'content' | 'blog' | 'media' | 'layout
|
|
|
45
45
|
*
|
|
46
46
|
* Re-exported from `@riverbankcms/blocks` (single source of truth).
|
|
47
47
|
*/
|
|
48
|
-
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
48
|
+
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicCourses", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
49
49
|
export type SdkLoaderEndpoint = (typeof SUPPORTED_LOADER_ENDPOINTS)[number];
|
|
50
50
|
export type LoaderParamBinding = {
|
|
51
51
|
$bind: {
|
|
@@ -144,6 +144,7 @@ export declare const sdkLoaderEndpointSchema: z.ZodEnum<{
|
|
|
144
144
|
listPublicProducts: "listPublicProducts";
|
|
145
145
|
getPublishedEntryPreview: "getPublishedEntryPreview";
|
|
146
146
|
listPublishedEntries: "listPublishedEntries";
|
|
147
|
+
listPublicRecurringSchedule: "listPublicRecurringSchedule";
|
|
147
148
|
getPublicEventDetails: "getPublicEventDetails";
|
|
148
149
|
listPublicRouteCandidates: "listPublicRouteCandidates";
|
|
149
150
|
}>;
|
|
@@ -233,6 +234,7 @@ export declare const sdkConfigLoaderSchema: z.ZodObject<{
|
|
|
233
234
|
listPublicProducts: "listPublicProducts";
|
|
234
235
|
getPublishedEntryPreview: "getPublishedEntryPreview";
|
|
235
236
|
listPublishedEntries: "listPublishedEntries";
|
|
237
|
+
listPublicRecurringSchedule: "listPublicRecurringSchedule";
|
|
236
238
|
getPublicEventDetails: "getPublicEventDetails";
|
|
237
239
|
listPublicRouteCandidates: "listPublicRouteCandidates";
|
|
238
240
|
}>;
|
|
@@ -298,6 +300,7 @@ export declare const sdkDataLoadersSchema: z.ZodOptional<z.ZodRecord<z.ZodString
|
|
|
298
300
|
listPublicProducts: "listPublicProducts";
|
|
299
301
|
getPublishedEntryPreview: "getPublishedEntryPreview";
|
|
300
302
|
listPublishedEntries: "listPublishedEntries";
|
|
303
|
+
listPublicRecurringSchedule: "listPublicRecurringSchedule";
|
|
301
304
|
getPublicEventDetails: "getPublicEventDetails";
|
|
302
305
|
listPublicRouteCandidates: "listPublicRouteCandidates";
|
|
303
306
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { TipTapNode, TipTapMark, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
|
|
2
|
-
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, ProductDetailContent, ProductListContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
|
|
2
|
+
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, ProductDetailContent, ProductListContent, RecurringScheduleContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
|
|
3
3
|
export type { PageOutline, PageRuntimeBoundary, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
|
|
4
4
|
export type { Theme, ThemeTokens } from './theme';
|
|
5
5
|
export type { CustomCssDeclarationsInput, CustomCssRuleInput, CustomCssNestedRuleInput, CustomCssAtRuleInput, KeyframesAtRuleInput, FontFaceAtRuleInput, MediaAtRuleInput, SupportsAtRuleInput, RawAtRuleInput, } from './custom-css';
|
|
@@ -214,7 +214,7 @@ export type EmbedContent = {
|
|
|
214
214
|
export type EventLayout = 'grid' | 'stack' | 'compact';
|
|
215
215
|
export type ColumnOption = '2' | '3' | '4';
|
|
216
216
|
export type WeekStart = 'sunday' | 'monday';
|
|
217
|
-
export type DisplayMode = 'combined' | 'calendar' | 'list' | 'timetable';
|
|
217
|
+
export type DisplayMode = 'combined' | 'calendar' | 'list' | 'timetable' | 'week-board';
|
|
218
218
|
export type FilterAutoShow = 'auto' | 'always' | 'never';
|
|
219
219
|
export type CalendarTabViews = 'both' | 'month' | 'week';
|
|
220
220
|
export type CalendarView = 'month' | 'week';
|
|
@@ -322,7 +322,7 @@ export type EventSpotlightContent = {
|
|
|
322
322
|
};
|
|
323
323
|
export type OfferingsPreviewSourceKey = 'eventPreset:class' | 'eventPreset:workshop' | 'eventPreset:retreat' | 'eventPreset:performance' | 'course';
|
|
324
324
|
export type OfferingsPreviewCtaMode = 'auto' | 'custom' | 'hidden';
|
|
325
|
-
export type OfferingsPreviewGroupPresentation = 'compact-list' | 'single-card';
|
|
325
|
+
export type OfferingsPreviewGroupPresentation = 'compact-list' | 'single-card' | 'featured-summary';
|
|
326
326
|
export type OfferingsPreviewGroupOverride = {
|
|
327
327
|
sourceKey?: OfferingsPreviewSourceKey | null;
|
|
328
328
|
title?: string | null;
|
|
@@ -359,6 +359,7 @@ export type FaqContent = {
|
|
|
359
359
|
_containerStyles?: ContainerStylesContent;
|
|
360
360
|
};
|
|
361
361
|
export type FeatureCard = {
|
|
362
|
+
surfaceRole?: 'open' | 'panel' | null;
|
|
362
363
|
media?: Media | null;
|
|
363
364
|
aspectRatio?: StandardAspectRatio | null;
|
|
364
365
|
icon?: BlockIconValue | SemanticIconId | null;
|
|
@@ -367,11 +368,14 @@ export type FeatureCard = {
|
|
|
367
368
|
ctas?: BlockCtaContent[] | null;
|
|
368
369
|
};
|
|
369
370
|
export type FeatureCardsContent = {
|
|
370
|
-
variant?: 'cards' | null;
|
|
371
|
+
variant?: 'cards' | 'editorial-diptych' | 'editorial-pathways' | null;
|
|
372
|
+
eyebrow?: string | null;
|
|
371
373
|
title?: string | null;
|
|
372
374
|
description?: TipTapNode | null;
|
|
373
375
|
columns?: '2' | '3' | '4' | null;
|
|
376
|
+
cardMarker?: 'icons' | 'numbers' | 'none' | null;
|
|
374
377
|
_iconTreatment?: FeatureCardIconTreatment | null;
|
|
378
|
+
_generatedIconSizePx?: number | null;
|
|
375
379
|
cards?: FeatureCard[] | null;
|
|
376
380
|
};
|
|
377
381
|
export type HeroCta = {
|
|
@@ -461,11 +465,25 @@ export type NewsletterSignupContent = {
|
|
|
461
465
|
preset: NewsletterSignupPreset;
|
|
462
466
|
includePhone?: boolean | null;
|
|
463
467
|
buttonLabel?: string | null;
|
|
468
|
+
buttonVariant?: 'primary' | 'secondary' | 'outline' | null;
|
|
464
469
|
successMessage?: string | null;
|
|
465
470
|
privacyNote?: string | null;
|
|
466
471
|
tags?: string | null;
|
|
467
472
|
_sectionStyles?: SectionStylesContent;
|
|
468
473
|
};
|
|
474
|
+
export type RecurringScheduleContent = {
|
|
475
|
+
eyebrow?: string | null;
|
|
476
|
+
heading?: string | null;
|
|
477
|
+
description?: TipTapNode | null;
|
|
478
|
+
showVenue?: boolean | null;
|
|
479
|
+
buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
|
|
480
|
+
buttonText?: string | null;
|
|
481
|
+
seeAllButtonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
|
|
482
|
+
seeAllUrl?: LinkValue | null;
|
|
483
|
+
seeAllLabel?: string | null;
|
|
484
|
+
emptyMessage?: string | null;
|
|
485
|
+
_sectionStyles?: SectionStylesContent;
|
|
486
|
+
};
|
|
469
487
|
export type ContactNewsletterContent = {
|
|
470
488
|
newsletterTitle?: string | null;
|
|
471
489
|
newsletterSubtitle?: RichTextDoc | null;
|
|
@@ -486,11 +504,12 @@ export type ContactNewsletterContent = {
|
|
|
486
504
|
export type ShopContent = {
|
|
487
505
|
showPasses?: boolean | null;
|
|
488
506
|
showMemberships?: boolean | null;
|
|
489
|
-
layout?: 'grid' | 'list' | null;
|
|
507
|
+
layout?: 'grid' | 'list' | 'register' | null;
|
|
490
508
|
columns?: '1' | '2' | '3' | '4' | null;
|
|
491
509
|
showDescriptions?: boolean | null;
|
|
492
510
|
showValidityPeriod?: boolean | null;
|
|
493
511
|
showPricePerCredit?: boolean | null;
|
|
512
|
+
buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
|
|
494
513
|
passesHeading?: string | null;
|
|
495
514
|
membershipsHeading?: string | null;
|
|
496
515
|
buyButtonText?: string | null;
|
|
@@ -574,7 +593,7 @@ export type TeamMembersContent = (TeamMembersCommonContent & {
|
|
|
574
593
|
members?: ManualTeamMemberItem[];
|
|
575
594
|
});
|
|
576
595
|
export type TestimonialsBlockContent = {
|
|
577
|
-
variant?: 'carousel' | 'grid' | 'split-grid' | 'highlight' | null;
|
|
596
|
+
variant?: 'carousel' | 'grid' | 'split-grid' | 'featured-editorial' | 'highlight' | null;
|
|
578
597
|
heading?: string | null;
|
|
579
598
|
subheading?: string | null;
|
|
580
599
|
avatarLayout?: 'above-centered' | 'inline-left' | 'hidden' | null;
|
|
@@ -727,6 +746,7 @@ export type SystemBlockContentByFullKind = {
|
|
|
727
746
|
'block.event-spotlight': EventSpotlightContent;
|
|
728
747
|
'block.event-listing': EventListingContent;
|
|
729
748
|
'block.event-calendar': EventCalendarContent;
|
|
749
|
+
'block.recurring-schedule': RecurringScheduleContent;
|
|
730
750
|
'block.offerings-preview': OfferingsPreviewContent;
|
|
731
751
|
'block.shop': ShopContent;
|
|
732
752
|
'block.product-list': ProductListContent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BlockOutline } from '../contracts';
|
|
2
|
+
import type { BlockKind } from '../types';
|
|
3
|
+
import type { DataLoaderContext, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams } from './types';
|
|
4
|
+
type IncomingSearchParams = Readonly<Record<string, string | readonly string[] | undefined>>;
|
|
5
|
+
export declare function getDataLoaderOwnerPageId(target: DataLoaderRenderTarget): string;
|
|
6
|
+
export declare function normalizeDataLoaderSearchParams(input: IncomingSearchParams | undefined): DataLoaderSearchParams;
|
|
7
|
+
export declare function resolveDataLoaderBlockContent(block: BlockOutline, previewStage: DataLoaderPreviewStage): Readonly<Record<string, unknown>>;
|
|
8
|
+
export declare function createDataLoaderContext(input: Readonly<{
|
|
9
|
+
siteId: string;
|
|
10
|
+
renderTarget: DataLoaderRenderTarget;
|
|
11
|
+
blockId: string;
|
|
12
|
+
blockKind: BlockKind;
|
|
13
|
+
content: Readonly<Record<string, unknown>>;
|
|
14
|
+
previewStage: DataLoaderPreviewStage;
|
|
15
|
+
searchParams: DataLoaderSearchParams;
|
|
16
|
+
}>): DataLoaderContext;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { DataLoaderValue } from './types';
|
|
2
|
+
type UnsupportedDataLoaderValueType = 'undefined' | 'bigint' | 'symbol' | 'function';
|
|
3
|
+
export type DataLoaderValueIssue = Readonly<{
|
|
4
|
+
kind: 'unsupported-type';
|
|
5
|
+
valueType: UnsupportedDataLoaderValueType;
|
|
6
|
+
}> | Readonly<{
|
|
7
|
+
kind: 'non-finite-number';
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: 'non-plain-object';
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'accessor-property';
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
kind: 'symbol-key';
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
kind: 'invalid-array';
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
kind: 'cycle';
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
kind: 'inspection-failed';
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'complexity-limit-exceeded';
|
|
22
|
+
}>;
|
|
23
|
+
export type DataLoaderValueValidation = Readonly<{
|
|
24
|
+
ok: true;
|
|
25
|
+
value: DataLoaderValue;
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
ok: false;
|
|
28
|
+
issue: DataLoaderValueIssue;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Validates and snapshots arbitrary loader output without invoking getters,
|
|
32
|
+
* setters, or conversion hooks. Reflection failures are returned as data,
|
|
33
|
+
* never thrown, and accepted containers are detached and frozen.
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateDataLoaderValue(input: unknown): DataLoaderValueValidation;
|
|
36
|
+
export {};
|
|
@@ -1,44 +1,40 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Execute code-based data loaders for SDK custom blocks.
|
|
3
|
-
*
|
|
4
|
-
* Code loaders are user-defined async functions that can fetch data
|
|
5
|
-
* from any API (not just whitelisted CMS endpoints). They run
|
|
6
|
-
* server-side during loadPage().
|
|
7
|
-
*/
|
|
1
|
+
/** Execute server-side host data loaders for SDK blocks. */
|
|
8
2
|
import type { PageOutline } from '../contracts';
|
|
9
|
-
import
|
|
10
|
-
import type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
3
|
+
import { type BlockKind } from '../types';
|
|
4
|
+
import { type DataLoaderValueIssue } from './dataLoaderValue';
|
|
5
|
+
import type { ResolvedBlockData } from './prefetchBlockData';
|
|
6
|
+
import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams } from './types';
|
|
7
|
+
export type CodeLoaderFailureKind = 'execution-failed' | 'invalid-result';
|
|
8
|
+
type CodeLoaderFailureCoordinates = Readonly<{
|
|
9
|
+
siteId: string;
|
|
10
|
+
pageId: string;
|
|
11
|
+
blockId: string;
|
|
12
|
+
blockKind: BlockKind;
|
|
13
|
+
loaderKey: string;
|
|
14
|
+
previewStage: DataLoaderPreviewStage;
|
|
15
|
+
renderTargetKind: DataLoaderRenderTarget['kind'];
|
|
16
|
+
}>;
|
|
17
|
+
export type CodeLoaderFailure = CodeLoaderFailureCoordinates & (Readonly<{
|
|
18
|
+
kind: 'execution-failed';
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'invalid-result';
|
|
21
|
+
validationIssueKind: DataLoaderValueIssue['kind'];
|
|
22
|
+
}>);
|
|
23
|
+
export type ExecuteCodeLoadersResult = Readonly<{
|
|
24
|
+
data: ResolvedBlockData;
|
|
25
|
+
failures: readonly CodeLoaderFailure[];
|
|
26
|
+
}>;
|
|
27
|
+
export type ExecuteCodeLoadersContext = Readonly<{
|
|
28
|
+
siteId: string;
|
|
29
|
+
renderTarget: DataLoaderRenderTarget;
|
|
30
|
+
previewStage: DataLoaderPreviewStage;
|
|
31
|
+
searchParams: DataLoaderSearchParams;
|
|
32
|
+
}>;
|
|
35
33
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* Code loader results take precedence on key conflicts.
|
|
39
|
-
*
|
|
40
|
-
* @param configResults - Data from config-based loaders (CMS endpoints)
|
|
41
|
-
* @param codeResults - Data from code-based loaders (external APIs)
|
|
42
|
-
* @returns Merged data with code results overwriting config on conflicts
|
|
34
|
+
* Runs all matching host loaders concurrently. The function returns closed
|
|
35
|
+
* outcomes and never logs; warning ownership belongs to the shared resolver.
|
|
43
36
|
*/
|
|
37
|
+
export declare function executeCodeLoaders(page: PageOutline, context: ExecuteCodeLoadersContext, overrides: DataLoaderOverrides): Promise<ExecuteCodeLoadersResult>;
|
|
38
|
+
/** Successful host values take precedence on per-block loader-key collisions. */
|
|
44
39
|
export declare function mergeLoaderResults(configResults: ResolvedBlockData, codeResults: ResolvedBlockData): ResolvedBlockData;
|
|
40
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Block data loading utilities for SDK
|
|
3
3
|
*/
|
|
4
|
-
export { prefetchBlockData, SUPPORTED_LOADER_ENDPOINTS } from './prefetchBlockData';
|
|
5
|
-
export type { PrefetchContext, ResolvedBlockData, SdkPrefetchOptions, SupportedLoaderEndpoint } from './prefetchBlockData';
|
|
4
|
+
export { prefetchBlockData, SUPPORTED_LOADER_ENDPOINTS, } from './prefetchBlockData';
|
|
5
|
+
export type { PrefetchContext, ResolvedBlockData, SdkPrefetchOptions, SupportedLoaderEndpoint, } from './prefetchBlockData';
|
|
6
6
|
export { executeCodeLoaders, mergeLoaderResults } from './executeCodeLoaders';
|
|
7
|
-
export type { DataLoaderContext, DataLoaderFn,
|
|
7
|
+
export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from './types';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { RiverbankClient } from '../client/types';
|
|
2
|
+
import type { PageOutline } from '../contracts';
|
|
3
|
+
import type { SdkCustomBlock } from '../config/types';
|
|
4
|
+
import { executeCodeLoaders, mergeLoaderResults, type CodeLoaderFailure } from './executeCodeLoaders';
|
|
5
|
+
import { prefetchBlockData, type ResolvedBlockData } from './prefetchBlockData';
|
|
6
|
+
import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams } from './types';
|
|
7
|
+
import type { BlockKind } from '../types';
|
|
8
|
+
export type BlockDataLoadPolicy = Readonly<{
|
|
9
|
+
kind: 'config-only';
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'config-and-host';
|
|
12
|
+
overrides: DataLoaderOverrides;
|
|
13
|
+
searchParams: DataLoaderSearchParams;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const CONFIG_ONLY_BLOCK_DATA_POLICY: BlockDataLoadPolicy;
|
|
16
|
+
type HostDataLoaderWarningCoordinates = Readonly<{
|
|
17
|
+
siteId: string;
|
|
18
|
+
pageId: string;
|
|
19
|
+
blockId: string;
|
|
20
|
+
blockKind: BlockKind;
|
|
21
|
+
loaderKey: string;
|
|
22
|
+
previewStage: DataLoaderPreviewStage;
|
|
23
|
+
renderTargetKind: DataLoaderRenderTarget['kind'];
|
|
24
|
+
}>;
|
|
25
|
+
export type HostDataLoaderWarning = HostDataLoaderWarningCoordinates & (Readonly<{
|
|
26
|
+
failureKind: 'execution-failed';
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
failureKind: 'invalid-result';
|
|
29
|
+
validationIssueKind: Extract<CodeLoaderFailure, {
|
|
30
|
+
kind: 'invalid-result';
|
|
31
|
+
}>['validationIssueKind'];
|
|
32
|
+
}>);
|
|
33
|
+
export type ResolveBlockDataDeps = Readonly<{
|
|
34
|
+
prefetchBlockData: typeof prefetchBlockData;
|
|
35
|
+
executeCodeLoaders: typeof executeCodeLoaders;
|
|
36
|
+
mergeLoaderResults: typeof mergeLoaderResults;
|
|
37
|
+
warn: (warning: HostDataLoaderWarning) => void;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function warnHostDataLoaderFailure(warning: HostDataLoaderWarning): void;
|
|
40
|
+
export declare const DEFAULT_RESOLVE_BLOCK_DATA_DEPS: ResolveBlockDataDeps;
|
|
41
|
+
export declare function hasRegisteredDataLoaders(overrides: DataLoaderOverrides | undefined): overrides is DataLoaderOverrides;
|
|
42
|
+
export declare function createBlockDataLoadPolicy(overrides: DataLoaderOverrides | undefined, searchParams: DataLoaderSearchParams): BlockDataLoadPolicy;
|
|
43
|
+
export type ResolveBlockDataInput = Readonly<{
|
|
44
|
+
page: PageOutline;
|
|
45
|
+
siteId: string;
|
|
46
|
+
renderTarget: DataLoaderRenderTarget;
|
|
47
|
+
previewStage: DataLoaderPreviewStage;
|
|
48
|
+
policy: BlockDataLoadPolicy;
|
|
49
|
+
client: RiverbankClient;
|
|
50
|
+
customBlocks?: SdkCustomBlock[];
|
|
51
|
+
}>;
|
|
52
|
+
export declare function resolveBlockData(input: ResolveBlockDataInput): Promise<ResolvedBlockData>;
|
|
53
|
+
export declare function resolveBlockDataWithDeps(deps: ResolveBlockDataDeps, input: ResolveBlockDataInput): Promise<ResolvedBlockData>;
|
|
54
|
+
export {};
|
|
@@ -1,90 +1,55 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* These types enable SDK sites to define loader functions that fetch
|
|
5
|
-
* data from external APIs (not just CMS endpoints).
|
|
2
|
+
* Server-side host data loader contracts for SDK custom blocks.
|
|
6
3
|
*/
|
|
4
|
+
import type { SdkRuntimePageSurfaceSubject } from '../public-api/contracts';
|
|
7
5
|
import type { BlockKind } from '../types';
|
|
6
|
+
export type DataLoaderPreviewStage = 'published' | 'preview';
|
|
7
|
+
/** Values that are safe to pass through Riverbank's RSC/rendering boundary. */
|
|
8
|
+
export type DataLoaderValue = string | number | boolean | null | readonly DataLoaderValue[] | {
|
|
9
|
+
readonly [key: string]: DataLoaderValue;
|
|
10
|
+
};
|
|
11
|
+
/** Immutable URL search parameters exposed to host loaders. */
|
|
12
|
+
export type DataLoaderSearchParams = Readonly<Record<string, string | readonly string[] | undefined>>;
|
|
8
13
|
/**
|
|
9
|
-
*
|
|
14
|
+
* The content owner being rendered by a block data loader.
|
|
10
15
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
16
|
+
* Template targets carry both the template ID and the underlying content
|
|
17
|
+
* identity so callers never have to interpret nullable entry/surface fields.
|
|
13
18
|
*/
|
|
14
|
-
export
|
|
15
|
-
|
|
19
|
+
export type DataLoaderRenderTarget = Readonly<{
|
|
20
|
+
kind: 'page';
|
|
21
|
+
pageId: string;
|
|
22
|
+
}> | Readonly<{
|
|
23
|
+
kind: 'entry-template';
|
|
24
|
+
templateId: string;
|
|
25
|
+
entryId: string;
|
|
26
|
+
entryType: string | null;
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
kind: 'page-surface-template';
|
|
29
|
+
templateId: string;
|
|
30
|
+
pageSurfaceId: string;
|
|
31
|
+
routeId: string;
|
|
32
|
+
subject: SdkRuntimePageSurfaceSubject;
|
|
33
|
+
}>;
|
|
34
|
+
/** Context supplied to each server-side host data loader. */
|
|
35
|
+
export type DataLoaderContext = Readonly<{
|
|
16
36
|
siteId: string;
|
|
17
|
-
/** Page ID
|
|
37
|
+
/** Page ID for pages; template ID for template-backed content. */
|
|
18
38
|
pageId: string;
|
|
19
|
-
/** Unique block instance ID */
|
|
20
39
|
blockId: string;
|
|
21
|
-
/** Block kind (e.g., 'custom.featured-products') */
|
|
22
40
|
blockKind: BlockKind;
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
previewStage: 'published' | 'preview';
|
|
30
|
-
/**
|
|
31
|
-
* URL search parameters from the page request.
|
|
32
|
-
* Use for pagination, filtering, or sorting based on URL params.
|
|
33
|
-
*
|
|
34
|
-
* Always defined (defaults to empty object if not provided to loadPage).
|
|
35
|
-
* This allows loaders to safely access properties without null checks.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const page = parseInt(searchParams?.page as string || '1', 10);
|
|
40
|
-
* const limit = parseInt(content.postsPerPage as string || '12', 10);
|
|
41
|
-
* const offset = (page - 1) * limit;
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
searchParams: Record<string, string | string[] | undefined>;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* A code-based data loader function.
|
|
48
|
-
*
|
|
49
|
-
* Receives context about the block and returns fetched data.
|
|
50
|
-
* Runs server-side during `loadPage()`.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* const productsLoader: DataLoaderFn = async (ctx) => {
|
|
55
|
-
* const categoryId = ctx.content.categoryId;
|
|
56
|
-
* const response = await fetch(`https://api.shop.com/products?category=${categoryId}`);
|
|
57
|
-
* return response.json();
|
|
58
|
-
* };
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
export type DataLoaderFn = (context: DataLoaderContext) => Promise<unknown>;
|
|
41
|
+
/** Stage-resolved block content used by the renderer. */
|
|
42
|
+
content: Readonly<Record<string, unknown>>;
|
|
43
|
+
previewStage: DataLoaderPreviewStage;
|
|
44
|
+
searchParams: DataLoaderSearchParams;
|
|
45
|
+
renderTarget: DataLoaderRenderTarget;
|
|
46
|
+
}>;
|
|
62
47
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*/
|
|
67
|
-
export type BlockLoaderMap = Record<string, DataLoaderFn>;
|
|
68
|
-
/**
|
|
69
|
-
* Registry of code-based data loaders.
|
|
70
|
-
*
|
|
71
|
-
* Keys are block kinds (e.g., 'custom.featured-products').
|
|
72
|
-
* Values are maps of loader keys to loader functions.
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```typescript
|
|
76
|
-
* const dataLoaderOverrides: DataLoaderOverrides = {
|
|
77
|
-
* 'custom.featured-products': {
|
|
78
|
-
* products: async (ctx) => {
|
|
79
|
-
* return fetchProducts(ctx.content.categoryId);
|
|
80
|
-
* },
|
|
81
|
-
* },
|
|
82
|
-
* 'custom.instagram-feed': {
|
|
83
|
-
* posts: async (ctx) => {
|
|
84
|
-
* return fetchInstagramPosts(ctx.content.accessToken);
|
|
85
|
-
* },
|
|
86
|
-
* },
|
|
87
|
-
* };
|
|
88
|
-
* ```
|
|
48
|
+
* A host loader must return JSON-safe data. Parse untrusted network responses
|
|
49
|
+
* before returning them; runtime validation remains as a JavaScript/`any`
|
|
50
|
+
* boundary safeguard.
|
|
89
51
|
*/
|
|
90
|
-
export type
|
|
52
|
+
export type DataLoaderFn = (context: DataLoaderContext) => Promise<DataLoaderValue>;
|
|
53
|
+
export type BlockLoaderMap = Readonly<Record<string, DataLoaderFn>>;
|
|
54
|
+
/** Registry keyed by full SDK block kind, for example `custom.products`. */
|
|
55
|
+
export type DataLoaderOverrides = Readonly<Partial<Record<BlockKind, BlockLoaderMap>>>;
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
export { createCatchAllPage } from './catch-all';
|
|
41
41
|
export { RiverbankContentLoadError, SdkContentLoadError, classifyContentLoadError, isSdkContentLoadError, toContentLoadFailureLogFields, type CatchAllContentLoadFailureContext, type CatchAllRequestContext, type ClassifiedContentLoadError, type SdkContentLoadFailure, type SdkContentLoadFailureKind, type SdkContentLoadNotFound, } from './content-load-failure';
|
|
42
42
|
export type { CreateCatchAllPageOptions, CreateCatchAllPageResult, CatchAllPageProps, CatchAllContext, ThemeSwitchConfigV1, ThemeResolverContext, } from './types';
|
|
43
|
+
export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
|
|
43
44
|
export { createGenerateStaticParams, generateAllStaticParams, normalizeStaticRoutePath, validateStaticParamsEnv, pathToSlugArray, routesToStaticParams, type CreateGenerateStaticParamsOptions, type GenerateAllStaticParamsOptions, type StaticParam, type StaticParamsClient, type StaticParamsEnvResult, type StaticParamsFailureContext, type StaticParamsFailureMode, type StaticParamsRoute, } from './static-params';
|
|
44
45
|
export { createSitemap, type CreateSitemapOptions, type SitemapGenerator, } from './sitemap';
|
|
45
46
|
export { createRobots, type CreateRobotsOptions } from './robots';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
type IncomingSearch = string | URLSearchParams | Readonly<Record<string, string | string[] | undefined>> | null | undefined;
|
|
1
|
+
type IncomingSearch = string | URLSearchParams | Readonly<Record<string, string | readonly string[] | undefined>> | null | undefined;
|
|
2
2
|
export declare function appendSearchToRedirectDestination(destination: string, incomingSearch: IncomingSearch): string;
|
|
3
3
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Theme } from '../contracts';
|
|
2
2
|
import type { RiverbankSiteConfig } from '../config/types';
|
|
3
3
|
import type { ThemeResolverContext, ThemeSwitchConfigV1 } from './types';
|
|
4
|
+
import type { DataLoaderSearchParams } from '../data/types';
|
|
4
5
|
export type ResolveThemeResult = {
|
|
5
6
|
kind: 'resolved';
|
|
6
7
|
theme: Theme;
|
|
@@ -24,7 +25,7 @@ export type ThemeOptionsForResolver = {
|
|
|
24
25
|
export interface ResolveThemeInput {
|
|
25
26
|
config: Pick<RiverbankSiteConfig, 'themeSource' | 'activeTheme'>;
|
|
26
27
|
contentTheme: Theme;
|
|
27
|
-
searchParams:
|
|
28
|
+
searchParams: DataLoaderSearchParams;
|
|
28
29
|
isDevelopment: boolean;
|
|
29
30
|
themeOptions: ThemeOptionsForResolver;
|
|
30
31
|
context: ThemeResolverContext;
|
|
@@ -12,6 +12,7 @@ import type { SdkThemeRuntime } from '../rendering/themeRuntime';
|
|
|
12
12
|
import type { BlockOverrideRegistrations } from '../rendering/overrides';
|
|
13
13
|
import type { Metadata } from '../metadata/generatePageMetadata';
|
|
14
14
|
import type { LoadContentResult } from '../rendering/helpers/loadContent';
|
|
15
|
+
import type { DataLoaderOverrides, DataLoaderSearchParams } from '../data/types';
|
|
15
16
|
import type { CatchAllContentLoadFailureContext, CatchAllRequestContext } from './content-load-failure';
|
|
16
17
|
/**
|
|
17
18
|
* Context passed to escape hatch callbacks.
|
|
@@ -30,7 +31,7 @@ export interface CatchAllContext {
|
|
|
30
31
|
*/
|
|
31
32
|
themeRuntime: SdkThemeRuntime;
|
|
32
33
|
/** Search parameters from the URL (for filtering, pagination, etc.) */
|
|
33
|
-
searchParams:
|
|
34
|
+
searchParams: DataLoaderSearchParams;
|
|
34
35
|
}
|
|
35
36
|
export type CreateCatchAllContentContract = 'compat' | 'native';
|
|
36
37
|
export type CreateCatchAllContentContractResolverContext = Readonly<{
|
|
@@ -205,6 +206,14 @@ export type CreateCatchAllPageOptions = {
|
|
|
205
206
|
* promise-returning functions are not lazy override registrations.
|
|
206
207
|
*/
|
|
207
208
|
blockOverrides?: BlockOverrideRegistrations;
|
|
209
|
+
/**
|
|
210
|
+
* Server-only host data loaders for custom blocks.
|
|
211
|
+
*
|
|
212
|
+
* Loader functions run during page rendering after CMS/config loaders. Their
|
|
213
|
+
* JSON-safe results win on key collisions. They are never invoked by
|
|
214
|
+
* `generateMetadata()` and must be declared in a server-only module.
|
|
215
|
+
*/
|
|
216
|
+
dataLoaderOverrides?: DataLoaderOverrides;
|
|
208
217
|
/**
|
|
209
218
|
* Override site URL for metadata generation.
|
|
210
219
|
* Defaults to `config.liveUrl` or `config.previewUrl` based on preview mode.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, PublicEventPricing } from '../../../core/src/index';
|
|
2
|
-
import type { SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
|
|
2
|
+
import type { PublicEventRecurrence as ApiPublicEventRecurrence, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
|
|
3
3
|
import type { Media, MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from '../contracts';
|
|
4
4
|
import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
|
|
5
|
-
import type {
|
|
5
|
+
import type { RuntimePaletteState } from '../../../theme-core/src/palette/index';
|
|
6
6
|
import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
|
|
7
7
|
export type PublicTeamMemberSummary = {
|
|
8
8
|
id: string;
|
|
@@ -318,14 +318,8 @@ export type SiteResponse = {
|
|
|
318
318
|
*/
|
|
319
319
|
selectionButtonPersonalityId?: string | null;
|
|
320
320
|
runtimePaletteState?: RuntimePaletteState | null;
|
|
321
|
-
/** Temporary legacy compatibility projection for stale runtime clients. */
|
|
322
|
-
selectionPaletteVariantId?: string | null;
|
|
323
|
-
selectionPaletteOverrides?: PaletteOverrides | null;
|
|
324
321
|
selectionHeaderLayoutId?: string | null;
|
|
325
322
|
selectionHeaderStyleId?: string | null;
|
|
326
|
-
selectionTypographyPresetId?: string | null;
|
|
327
|
-
selectionTypographyBodyFontOverride?: string | null;
|
|
328
|
-
selectionTypographyHeadingFontOverride?: string | null;
|
|
329
323
|
selectionHeaderLookId?: string | null;
|
|
330
324
|
selectionFooterLookId?: string | null;
|
|
331
325
|
navigation: NavigationMenuWithItems[];
|
|
@@ -630,6 +624,7 @@ export type PublicEventDestination = Readonly<{
|
|
|
630
624
|
}>;
|
|
631
625
|
export type PublicEventsResponse = Array<{
|
|
632
626
|
kind?: 'event' | 'course_session';
|
|
627
|
+
recurrence?: ApiPublicEventRecurrence;
|
|
633
628
|
destination: PublicEventDestination;
|
|
634
629
|
id: string;
|
|
635
630
|
occurrenceId: string;
|
|
@@ -8,8 +8,9 @@ import type { MediaAssetIndexItem, RouteMap, Theme } from '../../contracts';
|
|
|
8
8
|
import type { RiverbankClient, PageResponse, SiteResponse } from '../../client/types';
|
|
9
9
|
import type { SdkRuntimePageSurfaceSubject } from '../../public-api/contracts';
|
|
10
10
|
import type { PageProps } from '../components/Page';
|
|
11
|
-
import { prefetchBlockData } from '../../data/prefetchBlockData';
|
|
12
11
|
import type { ResolvedBlockData } from '../../data/prefetchBlockData';
|
|
12
|
+
import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
|
|
13
|
+
import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
|
|
13
14
|
import type { SdkCustomBlock } from '../../config/types';
|
|
14
15
|
import { type RuntimeSdkConfig } from './pageRuntimeSupport';
|
|
15
16
|
/**
|
|
@@ -34,6 +35,10 @@ export type LoadContentParams = {
|
|
|
34
35
|
* @default false
|
|
35
36
|
*/
|
|
36
37
|
preview?: boolean;
|
|
38
|
+
/** Server-side host data loaders for custom block data. */
|
|
39
|
+
dataLoaderOverrides?: DataLoaderOverrides;
|
|
40
|
+
/** URL search parameters passed only to host data loaders. */
|
|
41
|
+
searchParams?: DataLoaderSearchParams;
|
|
37
42
|
};
|
|
38
43
|
export type LoadContentFromContentResponseParams = {
|
|
39
44
|
client: RiverbankClient;
|
|
@@ -41,6 +46,8 @@ export type LoadContentFromContentResponseParams = {
|
|
|
41
46
|
site: SiteResponse;
|
|
42
47
|
contentResponse: PageResponse;
|
|
43
48
|
preview?: boolean;
|
|
49
|
+
dataLoaderOverrides?: DataLoaderOverrides;
|
|
50
|
+
searchParams?: DataLoaderSearchParams;
|
|
44
51
|
};
|
|
45
52
|
/**
|
|
46
53
|
* Content entry data returned when a path resolves to an entry
|
|
@@ -228,9 +235,7 @@ export type PageSurfaceContentResult = {
|
|
|
228
235
|
* Discriminated union result from loadContent
|
|
229
236
|
*/
|
|
230
237
|
export type LoadContentResult = PageContentResult | EntryContentResult | PageSurfaceContentResult;
|
|
231
|
-
export type LoadContentDeps =
|
|
232
|
-
prefetchBlockData: typeof prefetchBlockData;
|
|
233
|
-
}>;
|
|
238
|
+
export type LoadContentDeps = ResolveBlockDataDeps;
|
|
234
239
|
/**
|
|
235
240
|
* Type guard to check if result is a page
|
|
236
241
|
*/
|