@riverbankcms/sdk 0.78.0 → 0.79.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 +125 -43
- package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-56NMJMIK.mjs} +750 -65
- package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-27KJVEET.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +72 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +64 -0
- package/dist/_dts/api/src/index.d.ts +8 -6
- package/dist/_dts/api/src/media.d.ts +8 -1
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
- package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +8 -1
- package/dist/_dts/api/src/siteIcons.d.ts +128 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +8 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +21 -20
- package/dist/_dts/api/src/types.d.ts +12 -27
- package/dist/_dts/api/src/webhooks.d.ts +239 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +69 -22
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +170 -0
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
- package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
- package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
- package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
- package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
- package/dist/_dts/blocks/src/system/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +187 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +114 -85
- package/dist/_dts/core/src/csv-types.d.ts +2 -2
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +202 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +12 -2
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +21 -0
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +40 -0
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +11 -1
- package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +5 -2
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
- package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +2 -2
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +5 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +19 -2
- package/dist/_dts/sdk/src/next/index.d.ts +1 -1
- package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
- package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
- package/dist/_dts/site-commands/src/commands.d.ts +6 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -3
- package/dist/_dts/theme-core/src/schema.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
- package/dist/_dts/ui/src/combobox.d.ts +1 -0
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-F7RTCZYN.mjs → chunk-4HCW7FHJ.mjs} +504 -63
- package/dist/{chunk-SXOLGNMX.mjs → chunk-A3HHFKVT.mjs} +1 -1
- package/dist/{chunk-TXDES5P2.mjs → chunk-GP555I66.mjs} +180 -10
- package/dist/{chunk-SVMMM2NA.mjs → chunk-K2IIF34C.mjs} +79 -5
- package/dist/{chunk-NIDXI46P.mjs → chunk-LCY32PXF.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-OECWLDHN.mjs → chunk-V47ZU33I.mjs} +2762 -732
- package/dist/cli/index.mjs +1799 -345
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +138 -0
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-EVDEOUPR.mjs → accordion-QLA7KBYO.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-PYZIPA5G.mjs} +55 -48
- package/dist/client/bookings.mjs +172 -57
- package/dist/client/{carousel-FEBQHIWI.mjs → carousel-5EIULWBI.mjs} +3 -3
- package/dist/client/{cart-7CKSXAE4.mjs → cart-DOP3FNI4.mjs} +7 -7
- package/dist/client/{checkout-WKYCANLV.mjs → checkout-BVMF6FBV.mjs} +7 -7
- package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-44K2U3QI.mjs} +37 -15
- package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
- package/dist/client/{chunk-VPPMNXCF.mjs → chunk-CCNTDRCF.mjs} +2 -2
- package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-2SAVKN2M.mjs → chunk-GG4M2NP6.mjs} +2 -2
- package/dist/client/{chunk-65F47D7Y.mjs → chunk-R5ESWNKX.mjs} +49 -39
- package/dist/client/{chunk-RZDWX7QW.mjs → chunk-TYONZMST.mjs} +1 -1
- package/dist/client/{chunk-OFMSCGNY.mjs → chunk-UDS3NTWA.mjs} +2 -2
- package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-V6M5FCR5.mjs} +2 -2
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/{chunk-RV6FX7UH.mjs → chunk-YLDYVRZL.mjs} +9 -9
- package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
- package/dist/client/client.mjs +21501 -19812
- package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-E6EAA6NL.mjs} +10 -10
- package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-HBG3HAK6.mjs} +9 -9
- package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-6K5ZZWAK.mjs} +9 -9
- package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-Q75ICXLT.mjs} +9 -9
- package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-27P5F7DZ.mjs} +9 -9
- package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-IQ7AMASR.mjs} +9 -9
- package/dist/client/{form-7L42SRBB.mjs → form-JRTD65FN.mjs} +6 -3
- package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-7FPSSZHS.mjs} +3 -3
- package/dist/client/hooks.mjs +428 -83
- package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-7NGFNYBH.mjs} +3 -3
- package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-F3BADCI2.mjs} +2 -2
- package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-V3HP7ITJ.mjs} +7 -7
- package/dist/client/{productList-BOYHTYI6.mjs → productList-L3EGJUF2.mjs} +7 -7
- package/dist/client/rendering/client.mjs +2886 -1513
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2244 -564
- package/dist/client/{shop-XTXPZTKR.mjs → shop-DQUB5E2C.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +65 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/middleware.mjs +65 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-AF6KXJU4.mjs +8 -0
- package/dist/server/components.mjs +2270 -835
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +426 -77
- package/dist/server/config.mjs +426 -77
- package/dist/server/data.mjs +427 -82
- package/dist/server/index.mjs +94 -10
- package/dist/server/next/revalidate.mjs +229 -34
- package/dist/server/next.mjs +2439 -888
- package/dist/server/page-converter.mjs +335 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2281 -846
- package/dist/server/rendering.mjs +2298 -860
- package/dist/server/routing.mjs +860 -113
- package/dist/server/server.mjs +452 -92
- package/dist/server/theme-bridge.mjs +164 -2
- package/dist/server/theme.mjs +2 -2
- package/dist/server/webhooks.mjs +129 -25
- package/dist/styles/index.css +55 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
- package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
|
@@ -146,7 +146,7 @@ var themeColorBaseTokenNames = [
|
|
|
146
146
|
"accentForeground"
|
|
147
147
|
];
|
|
148
148
|
var themeColorBaseTokenSet = new Set(themeColorBaseTokenNames);
|
|
149
|
-
var
|
|
149
|
+
var themeColorShadeSteps = [
|
|
150
150
|
"50",
|
|
151
151
|
"100",
|
|
152
152
|
"200",
|
|
@@ -159,7 +159,7 @@ var SHADE_STEPS = [
|
|
|
159
159
|
"900",
|
|
160
160
|
"950"
|
|
161
161
|
];
|
|
162
|
-
var shadeStepSet = new Set(
|
|
162
|
+
var shadeStepSet = new Set(themeColorShadeSteps);
|
|
163
163
|
function isKnownBaseToken(value) {
|
|
164
164
|
return themeColorBaseTokenSet.has(value);
|
|
165
165
|
}
|
|
@@ -4718,6 +4718,114 @@ var curatedSiteStyles = [
|
|
|
4718
4718
|
paletteChoice("warm-neutral-clay")
|
|
4719
4719
|
]
|
|
4720
4720
|
}),
|
|
4721
|
+
defineCuratedSiteStyle({
|
|
4722
|
+
id: "site-style:clarity-zen-blue",
|
|
4723
|
+
name: "Clarity Zen",
|
|
4724
|
+
description: "Calm, editorial, and reassuring for therapy, counselling, and wellbeing support practices.",
|
|
4725
|
+
generationBrief: "Use a calm, soft palette, editorial serif headings, warm grounded copy, rounded cards, calm proof sections, and clear booking routes. Keep the tone compassionate and straightforward, with professional trust rather than hard-sell wellness language.",
|
|
4726
|
+
siteCreatorSelection: {
|
|
4727
|
+
kind: "site_creator_keyword_heuristic",
|
|
4728
|
+
priority: 25
|
|
4729
|
+
},
|
|
4730
|
+
selectionKeywordRules: [
|
|
4731
|
+
{ kind: "substring", value: "psychotherap" },
|
|
4732
|
+
{ kind: "phrase", value: "mental health" },
|
|
4733
|
+
{ kind: "phrase", value: "talk therapy" },
|
|
4734
|
+
{ kind: "phrase", value: "therapy and wellbeing" }
|
|
4735
|
+
],
|
|
4736
|
+
tokenRecipes: {
|
|
4737
|
+
palette: "brand-led",
|
|
4738
|
+
contrast: "standard",
|
|
4739
|
+
radius: "rounded",
|
|
4740
|
+
shadow: "subtle",
|
|
4741
|
+
typography: "serif-editorial",
|
|
4742
|
+
spacing: "airy",
|
|
4743
|
+
motion: "subtle"
|
|
4744
|
+
},
|
|
4745
|
+
compositionBudget: balancedBudget,
|
|
4746
|
+
themeOverrides: {
|
|
4747
|
+
typography: {
|
|
4748
|
+
body: {
|
|
4749
|
+
family: "Inter, system-ui, sans-serif",
|
|
4750
|
+
size: "md",
|
|
4751
|
+
weight: "regular",
|
|
4752
|
+
lineHeight: "relaxed",
|
|
4753
|
+
letterSpacing: "normal"
|
|
4754
|
+
},
|
|
4755
|
+
headings: {
|
|
4756
|
+
default: {
|
|
4757
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
4758
|
+
weight: "regular",
|
|
4759
|
+
lineHeight: "normal",
|
|
4760
|
+
letterSpacing: "normal",
|
|
4761
|
+
colorToken: "text",
|
|
4762
|
+
italic: null,
|
|
4763
|
+
case: null
|
|
4764
|
+
},
|
|
4765
|
+
h1: {
|
|
4766
|
+
size: "xl",
|
|
4767
|
+
weight: "regular",
|
|
4768
|
+
lineHeight: "normal",
|
|
4769
|
+
letterSpacing: "normal",
|
|
4770
|
+
italic: null
|
|
4771
|
+
},
|
|
4772
|
+
h2: {
|
|
4773
|
+
size: "lg",
|
|
4774
|
+
weight: "regular",
|
|
4775
|
+
lineHeight: "normal",
|
|
4776
|
+
letterSpacing: "normal",
|
|
4777
|
+
italic: null
|
|
4778
|
+
},
|
|
4779
|
+
h3: {
|
|
4780
|
+
size: "md",
|
|
4781
|
+
weight: "regular",
|
|
4782
|
+
lineHeight: "normal",
|
|
4783
|
+
letterSpacing: "normal",
|
|
4784
|
+
italic: null
|
|
4785
|
+
}
|
|
4786
|
+
},
|
|
4787
|
+
scale: "majorThird"
|
|
4788
|
+
},
|
|
4789
|
+
bodyText: {
|
|
4790
|
+
intro: {
|
|
4791
|
+
paragraphSize: "default",
|
|
4792
|
+
headingSize: "editorial"
|
|
4793
|
+
}
|
|
4794
|
+
}
|
|
4795
|
+
},
|
|
4796
|
+
defaultBlockVariants: {
|
|
4797
|
+
"block.faq": "split-heading-columns"
|
|
4798
|
+
},
|
|
4799
|
+
recommendedAppearancePresetIds: [
|
|
4800
|
+
"hero-split-editorial",
|
|
4801
|
+
"intro-organic-statement",
|
|
4802
|
+
"feature-cards-raised-rule",
|
|
4803
|
+
"media-text-quiet-story",
|
|
4804
|
+
"testimonials-brand-background-quotes",
|
|
4805
|
+
"faq-contained-help",
|
|
4806
|
+
"contact-form-panel"
|
|
4807
|
+
],
|
|
4808
|
+
recommendedHeaderLookIds: [
|
|
4809
|
+
"centered-calm",
|
|
4810
|
+
"serif-line",
|
|
4811
|
+
"minimal-transparent"
|
|
4812
|
+
],
|
|
4813
|
+
recommendedFooterLookIds: [
|
|
4814
|
+
"footer-muted-grounding",
|
|
4815
|
+
"site-footer-brand-two-band"
|
|
4816
|
+
],
|
|
4817
|
+
buttonPersonalityChoices: [
|
|
4818
|
+
buttonChoice("soft-pill"),
|
|
4819
|
+
buttonChoice("pebble"),
|
|
4820
|
+
buttonChoice("editorial-link")
|
|
4821
|
+
],
|
|
4822
|
+
paletteVariantChoices: [
|
|
4823
|
+
paletteChoice("brand-led-cool"),
|
|
4824
|
+
paletteChoice("soft-natural-watercolor"),
|
|
4825
|
+
paletteChoice("soft-natural-stone"),
|
|
4826
|
+
paletteChoice("warm-neutral-cream")
|
|
4827
|
+
]
|
|
4828
|
+
}),
|
|
4721
4829
|
defineCuratedSiteStyle({
|
|
4722
4830
|
id: "site-style:personal-retreat-journal",
|
|
4723
4831
|
name: "Personal Retreat Journal",
|
|
@@ -15396,6 +15504,60 @@ var containerResponsiveThemeCss = `/*
|
|
|
15396
15504
|
|
|
15397
15505
|
:where(.theme-scope) .rb-heading-decoration-color-muted {
|
|
15398
15506
|
color: rgb(var(--tb-mutedText));
|
|
15507
|
+
}
|
|
15508
|
+
|
|
15509
|
+
/* =============================================================================
|
|
15510
|
+
* Block: Feature Card Icons
|
|
15511
|
+
* =============================================================================
|
|
15512
|
+
*/
|
|
15513
|
+
|
|
15514
|
+
:where(.theme-scope) .rb-feature-card-icon-zone {
|
|
15515
|
+
display: inline-flex;
|
|
15516
|
+
align-items: center;
|
|
15517
|
+
justify-content: center;
|
|
15518
|
+
flex: 0 0 auto;
|
|
15519
|
+
margin-bottom: 0.125rem;
|
|
15520
|
+
color: rgb(var(--tb-primary));
|
|
15521
|
+
}
|
|
15522
|
+
|
|
15523
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--empty {
|
|
15524
|
+
visibility: hidden;
|
|
15525
|
+
}
|
|
15526
|
+
|
|
15527
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--plain {
|
|
15528
|
+
width: 1.5rem;
|
|
15529
|
+
height: 1.5rem;
|
|
15530
|
+
}
|
|
15531
|
+
|
|
15532
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--soft-badge,
|
|
15533
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
|
|
15534
|
+
width: 2.5rem;
|
|
15535
|
+
height: 2.5rem;
|
|
15536
|
+
border-radius: var(--rb-block-radius, 0.75rem);
|
|
15537
|
+
}
|
|
15538
|
+
|
|
15539
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--soft-badge {
|
|
15540
|
+
background-color: rgb(var(--tb-primary) / 10%);
|
|
15541
|
+
}
|
|
15542
|
+
|
|
15543
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
|
|
15544
|
+
background-color: rgb(var(--tb-surface));
|
|
15545
|
+
border: 1px solid rgb(var(--tb-border));
|
|
15546
|
+
box-shadow: 0 1px 2px rgba(var(--tb-shadow), 0.08);
|
|
15547
|
+
}
|
|
15548
|
+
|
|
15549
|
+
:where(.theme-scope) .rb-feature-card-icon {
|
|
15550
|
+
width: 1.25rem;
|
|
15551
|
+
height: 1.25rem;
|
|
15552
|
+
}
|
|
15553
|
+
|
|
15554
|
+
:where(.theme-scope) .rb-feature-card-icon--generated {
|
|
15555
|
+
object-fit: contain;
|
|
15556
|
+
}
|
|
15557
|
+
|
|
15558
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--plain .rb-feature-card-icon {
|
|
15559
|
+
width: 1.5rem;
|
|
15560
|
+
height: 1.5rem;
|
|
15399
15561
|
}`;
|
|
15400
15562
|
|
|
15401
15563
|
// ../theme-core/src/ThemeScopeCore.tsx
|
package/dist/server/theme.mjs
CHANGED
|
@@ -174,7 +174,7 @@ var themeColorBaseTokenNames = [
|
|
|
174
174
|
"accentForeground"
|
|
175
175
|
];
|
|
176
176
|
var themeColorBaseTokenSet = new Set(themeColorBaseTokenNames);
|
|
177
|
-
var
|
|
177
|
+
var themeColorShadeSteps = [
|
|
178
178
|
"50",
|
|
179
179
|
"100",
|
|
180
180
|
"200",
|
|
@@ -187,7 +187,7 @@ var SHADE_STEPS = [
|
|
|
187
187
|
"900",
|
|
188
188
|
"950"
|
|
189
189
|
];
|
|
190
|
-
var shadeStepSet = new Set(
|
|
190
|
+
var shadeStepSet = new Set(themeColorShadeSteps);
|
|
191
191
|
function isKnownBaseToken(value) {
|
|
192
192
|
return themeColorBaseTokenSet.has(value);
|
|
193
193
|
}
|
package/dist/server/webhooks.mjs
CHANGED
|
@@ -1,53 +1,151 @@
|
|
|
1
1
|
// src/webhooks/verify.ts
|
|
2
2
|
import crypto from "crypto";
|
|
3
|
+
|
|
4
|
+
// ../api/src/webhooks.ts
|
|
3
5
|
import { z } from "zod";
|
|
4
|
-
var
|
|
6
|
+
var RIVERBANK_SIGNATURE_PREFIX = "sha256=";
|
|
7
|
+
var SUPPORTED_WEBHOOK_EVENTS = [
|
|
5
8
|
"page.published",
|
|
9
|
+
"page.unpublished",
|
|
10
|
+
"page.deleted",
|
|
11
|
+
"page.path_changed",
|
|
6
12
|
"entry.published",
|
|
13
|
+
"entry.unpublished",
|
|
14
|
+
"entry.deleted",
|
|
15
|
+
"entry.path_changed",
|
|
7
16
|
"navigation.updated",
|
|
8
17
|
"theme.updated",
|
|
9
18
|
"site.settings_updated"
|
|
10
|
-
]
|
|
19
|
+
];
|
|
20
|
+
var WebhookEventSchema = z.enum(SUPPORTED_WEBHOOK_EVENTS);
|
|
21
|
+
function asRevalidationPath(path) {
|
|
22
|
+
return path;
|
|
23
|
+
}
|
|
24
|
+
function parseRevalidationPath(input) {
|
|
25
|
+
const trimmed = input.trim();
|
|
26
|
+
if (!trimmed) {
|
|
27
|
+
return { success: false, error: { tag: "EMPTY_PATH", input } };
|
|
28
|
+
}
|
|
29
|
+
if (/^[a-z][a-z\d+.-]*:/i.test(trimmed) || trimmed.startsWith("//") || !trimmed.startsWith("/")) {
|
|
30
|
+
return { success: false, error: { tag: "ABSOLUTE_OR_PROTOCOL_PATH", input } };
|
|
31
|
+
}
|
|
32
|
+
if (/[\u0000-\u001F\u007F]/.test(trimmed) || trimmed.includes("\\") || trimmed.includes("?") || trimmed.includes("#")) {
|
|
33
|
+
return { success: false, error: { tag: "MALFORMED_PATH", input } };
|
|
34
|
+
}
|
|
35
|
+
const collapsed = trimmed.replace(/\/{2,}/g, "/");
|
|
36
|
+
const normalized = collapsed === "/" ? "/" : collapsed.replace(/\/+$/g, "");
|
|
37
|
+
return { success: true, path: asRevalidationPath(normalized) };
|
|
38
|
+
}
|
|
39
|
+
function normalizeRevalidationPath(input) {
|
|
40
|
+
const result = parseRevalidationPath(input);
|
|
41
|
+
return result.success ? result.path : null;
|
|
42
|
+
}
|
|
43
|
+
function unwrapRevalidationPath(path) {
|
|
44
|
+
return path;
|
|
45
|
+
}
|
|
11
46
|
var PagePublishedDataSchema = z.object({
|
|
12
47
|
pageId: z.string(),
|
|
13
48
|
path: z.string(),
|
|
14
49
|
slug: z.string().optional()
|
|
15
|
-
});
|
|
50
|
+
}).strict();
|
|
51
|
+
var PageRemovedDataSchema = z.object({
|
|
52
|
+
pageId: z.string(),
|
|
53
|
+
path: z.string(),
|
|
54
|
+
slug: z.string().optional()
|
|
55
|
+
}).strict();
|
|
56
|
+
var PagePathChangedDataSchema = z.object({
|
|
57
|
+
pageId: z.string(),
|
|
58
|
+
previousPath: z.string(),
|
|
59
|
+
path: z.string(),
|
|
60
|
+
slug: z.string().optional()
|
|
61
|
+
}).strict();
|
|
16
62
|
var EntryPublishedDataSchema = z.object({
|
|
17
63
|
entryId: z.string(),
|
|
18
64
|
path: z.string(),
|
|
19
65
|
contentType: z.string()
|
|
20
|
-
});
|
|
66
|
+
}).strict();
|
|
67
|
+
var EntryRemovedDataSchema = z.object({
|
|
68
|
+
entryId: z.string(),
|
|
69
|
+
path: z.string(),
|
|
70
|
+
contentType: z.string()
|
|
71
|
+
}).strict();
|
|
72
|
+
var EntryPathChangedDataSchema = z.object({
|
|
73
|
+
entryId: z.string(),
|
|
74
|
+
previousPath: z.string(),
|
|
75
|
+
path: z.string(),
|
|
76
|
+
contentType: z.string()
|
|
77
|
+
}).strict();
|
|
21
78
|
var NavigationUpdatedDataSchema = z.object({
|
|
22
79
|
menuId: z.string().optional()
|
|
23
|
-
});
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
PagePublishedDataSchema,
|
|
27
|
-
EntryPublishedDataSchema,
|
|
28
|
-
NavigationUpdatedDataSchema,
|
|
29
|
-
EmptyDataSchema
|
|
30
|
-
]);
|
|
31
|
-
var WebhookPayloadSchema = z.object({
|
|
32
|
-
/** Event type */
|
|
33
|
-
event: WebhookEventSchema,
|
|
34
|
-
/** ISO timestamp of when the event occurred */
|
|
80
|
+
}).strict();
|
|
81
|
+
var EmptyWebhookDataSchema = z.object({}).strict();
|
|
82
|
+
var WebhookPayloadBaseSchema = z.object({
|
|
35
83
|
timestamp: z.string(),
|
|
36
|
-
|
|
84
|
+
dispatchId: z.string().optional(),
|
|
37
85
|
siteId: z.string(),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/** Cache invalidation tags (for tag-based revalidation) */
|
|
41
|
-
tags: z.array(z.string()).optional()
|
|
86
|
+
tags: z.array(z.string()).optional(),
|
|
87
|
+
paths: z.array(z.string()).optional()
|
|
42
88
|
});
|
|
89
|
+
var WebhookPayloadSchema = z.discriminatedUnion("event", [
|
|
90
|
+
WebhookPayloadBaseSchema.extend({
|
|
91
|
+
event: z.literal("page.published"),
|
|
92
|
+
data: PagePublishedDataSchema
|
|
93
|
+
}),
|
|
94
|
+
WebhookPayloadBaseSchema.extend({
|
|
95
|
+
event: z.literal("page.unpublished"),
|
|
96
|
+
data: PageRemovedDataSchema
|
|
97
|
+
}),
|
|
98
|
+
WebhookPayloadBaseSchema.extend({
|
|
99
|
+
event: z.literal("page.deleted"),
|
|
100
|
+
data: PageRemovedDataSchema
|
|
101
|
+
}),
|
|
102
|
+
WebhookPayloadBaseSchema.extend({
|
|
103
|
+
event: z.literal("page.path_changed"),
|
|
104
|
+
data: PagePathChangedDataSchema
|
|
105
|
+
}),
|
|
106
|
+
WebhookPayloadBaseSchema.extend({
|
|
107
|
+
event: z.literal("entry.published"),
|
|
108
|
+
data: EntryPublishedDataSchema
|
|
109
|
+
}),
|
|
110
|
+
WebhookPayloadBaseSchema.extend({
|
|
111
|
+
event: z.literal("entry.unpublished"),
|
|
112
|
+
data: EntryRemovedDataSchema
|
|
113
|
+
}),
|
|
114
|
+
WebhookPayloadBaseSchema.extend({
|
|
115
|
+
event: z.literal("entry.deleted"),
|
|
116
|
+
data: EntryRemovedDataSchema
|
|
117
|
+
}),
|
|
118
|
+
WebhookPayloadBaseSchema.extend({
|
|
119
|
+
event: z.literal("entry.path_changed"),
|
|
120
|
+
data: EntryPathChangedDataSchema
|
|
121
|
+
}),
|
|
122
|
+
WebhookPayloadBaseSchema.extend({
|
|
123
|
+
event: z.literal("navigation.updated"),
|
|
124
|
+
data: NavigationUpdatedDataSchema
|
|
125
|
+
}),
|
|
126
|
+
WebhookPayloadBaseSchema.extend({
|
|
127
|
+
event: z.literal("theme.updated"),
|
|
128
|
+
data: EmptyWebhookDataSchema
|
|
129
|
+
}),
|
|
130
|
+
WebhookPayloadBaseSchema.extend({
|
|
131
|
+
event: z.literal("site.settings_updated"),
|
|
132
|
+
data: EmptyWebhookDataSchema
|
|
133
|
+
})
|
|
134
|
+
]);
|
|
135
|
+
|
|
136
|
+
// src/webhooks/verify.ts
|
|
43
137
|
function verifyWebhookSignature(payload, signature, secret) {
|
|
44
|
-
|
|
45
|
-
if (signature.length !== expectedSignature.length) {
|
|
138
|
+
if (!signature.startsWith(RIVERBANK_SIGNATURE_PREFIX)) {
|
|
46
139
|
return false;
|
|
47
140
|
}
|
|
141
|
+
const signatureDigest = signature.slice(RIVERBANK_SIGNATURE_PREFIX.length);
|
|
142
|
+
if (!/^[a-f0-9]{64}$/.test(signatureDigest)) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
const expectedSignature = crypto.createHmac("sha256", secret).update(payload).digest("hex");
|
|
48
146
|
return crypto.timingSafeEqual(
|
|
49
|
-
Buffer.from(
|
|
50
|
-
Buffer.from(expectedSignature)
|
|
147
|
+
Buffer.from(signatureDigest, "hex"),
|
|
148
|
+
Buffer.from(expectedSignature, "hex")
|
|
51
149
|
);
|
|
52
150
|
}
|
|
53
151
|
function parseWebhookPayload(body) {
|
|
@@ -64,7 +162,13 @@ function parseWebhookPayload(body) {
|
|
|
64
162
|
return { success: true, payload: result.data };
|
|
65
163
|
}
|
|
66
164
|
export {
|
|
165
|
+
RIVERBANK_SIGNATURE_PREFIX,
|
|
166
|
+
SUPPORTED_WEBHOOK_EVENTS,
|
|
167
|
+
WebhookEventSchema,
|
|
67
168
|
WebhookPayloadSchema,
|
|
169
|
+
normalizeRevalidationPath,
|
|
170
|
+
parseRevalidationPath,
|
|
68
171
|
parseWebhookPayload,
|
|
172
|
+
unwrapRevalidationPath,
|
|
69
173
|
verifyWebhookSignature
|
|
70
174
|
};
|
package/dist/styles/index.css
CHANGED
|
@@ -9432,3 +9432,58 @@
|
|
|
9432
9432
|
}
|
|
9433
9433
|
|
|
9434
9434
|
|
|
9435
|
+
/* =============================================================================
|
|
9436
|
+
* Block: Feature Card Icons
|
|
9437
|
+
* =============================================================================
|
|
9438
|
+
*/
|
|
9439
|
+
|
|
9440
|
+
:where(.theme-scope) .rb-feature-card-icon-zone {
|
|
9441
|
+
display: inline-flex;
|
|
9442
|
+
align-items: center;
|
|
9443
|
+
justify-content: center;
|
|
9444
|
+
flex: 0 0 auto;
|
|
9445
|
+
margin-bottom: 0.125rem;
|
|
9446
|
+
color: rgb(var(--tb-primary));
|
|
9447
|
+
}
|
|
9448
|
+
|
|
9449
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--empty {
|
|
9450
|
+
visibility: hidden;
|
|
9451
|
+
}
|
|
9452
|
+
|
|
9453
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--plain {
|
|
9454
|
+
width: 1.5rem;
|
|
9455
|
+
height: 1.5rem;
|
|
9456
|
+
}
|
|
9457
|
+
|
|
9458
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--soft-badge,
|
|
9459
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
|
|
9460
|
+
width: 2.5rem;
|
|
9461
|
+
height: 2.5rem;
|
|
9462
|
+
border-radius: var(--rb-block-radius, 0.75rem);
|
|
9463
|
+
}
|
|
9464
|
+
|
|
9465
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--soft-badge {
|
|
9466
|
+
background-color: rgb(var(--tb-primary) / 10%);
|
|
9467
|
+
}
|
|
9468
|
+
|
|
9469
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
|
|
9470
|
+
background-color: rgb(var(--tb-surface));
|
|
9471
|
+
border: 1px solid rgb(var(--tb-border));
|
|
9472
|
+
box-shadow: 0 1px 2px rgba(var(--tb-shadow), 0.08);
|
|
9473
|
+
}
|
|
9474
|
+
|
|
9475
|
+
:where(.theme-scope) .rb-feature-card-icon {
|
|
9476
|
+
width: 1.25rem;
|
|
9477
|
+
height: 1.25rem;
|
|
9478
|
+
}
|
|
9479
|
+
|
|
9480
|
+
:where(.theme-scope) .rb-feature-card-icon--generated {
|
|
9481
|
+
object-fit: contain;
|
|
9482
|
+
}
|
|
9483
|
+
|
|
9484
|
+
:where(.theme-scope) .rb-feature-card-icon-zone--plain .rb-feature-card-icon {
|
|
9485
|
+
width: 1.5rem;
|
|
9486
|
+
height: 1.5rem;
|
|
9487
|
+
}
|
|
9488
|
+
|
|
9489
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riverbankcms/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.0",
|
|
4
4
|
"description": "Riverbank CMS SDK for headless content consumption",
|
|
5
5
|
"main": "./dist/server/index.mjs",
|
|
6
6
|
"module": "./dist/server/index.mjs",
|
|
@@ -234,6 +234,7 @@
|
|
|
234
234
|
"test:lazy-overrides-smoke": "node scripts/lazy-overrides-smoke.mjs",
|
|
235
235
|
"test:layout-page-hydration-smoke": "node scripts/layout-page-hydration-smoke.mjs",
|
|
236
236
|
"test:content-load-failure-status-smoke": "node scripts/content-load-failure-status-smoke.mjs",
|
|
237
|
+
"test:isr-catch-all-revalidate-smoke": "node scripts/isr-catch-all-revalidate-smoke.mjs",
|
|
237
238
|
"verify": "./verify.sh",
|
|
238
239
|
"cli": "tsx src/cli/index.ts"
|
|
239
240
|
},
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
export { SdkPreviewModeRuntime } from './chunk-F7RTCZYN.mjs';
|
|
3
|
-
import './chunk-SXOLGNMX.mjs';
|
|
4
|
-
import './chunk-NIDXI46P.mjs';
|
|
5
|
-
import './chunk-TXDES5P2.mjs';
|
|
6
|
-
import './chunk-OECWLDHN.mjs';
|
|
7
|
-
import './chunk-SVMMM2NA.mjs';
|
|
8
|
-
import './chunk-XGB3TDIC.mjs';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
export { PreviewShell, PreviewShellLayout, SdkPreviewModeRuntime as SdkPreviewMode } from './chunk-F7RTCZYN.mjs';
|
|
3
|
-
export { PreviewLayoutProvider, PreviewQueryProvider, createPreviewQueryClient, useOptionalPreviewLayout, usePreviewLayout } from './chunk-SXOLGNMX.mjs';
|
|
4
|
-
import './chunk-NIDXI46P.mjs';
|
|
5
|
-
import './chunk-TXDES5P2.mjs';
|
|
6
|
-
import './chunk-OECWLDHN.mjs';
|
|
7
|
-
import './chunk-SVMMM2NA.mjs';
|
|
8
|
-
import './chunk-XGB3TDIC.mjs';
|