@riverbankcms/sdk 0.107.0 → 0.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +48 -28
- package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-B7OL4sfR.mjs} +10 -9
- package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +633 -220
- package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +5764 -1556
- package/dist/_dts/ai/src/contracts/proposals.d.ts +15383 -11388
- package/dist/_dts/api/src/blocks.d.ts +41 -7
- package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +177 -127
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/cache-tags.d.ts +3 -0
- package/dist/_dts/api/src/common/envelope.d.ts +7 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
- package/dist/_dts/api/src/courses.d.ts +1 -0
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/endpoints.d.ts +134 -0
- package/dist/_dts/api/src/footer-settings.d.ts +1 -0
- package/dist/_dts/api/src/footerSettings.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +7 -4
- package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
- package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
- package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +309 -1
- package/dist/_dts/api/src/siteBanner.d.ts +2 -2
- package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +144 -60
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +35 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +74 -28
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +8 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +33 -2
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
- package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
- package/dist/_dts/content-editor/src/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
- package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
- package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
- package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
- package/dist/_dts/content-model/src/index.d.ts +3 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/editor-state.d.ts +4 -0
- package/dist/_dts/core/src/footer-composition.d.ts +143 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/public-profile.d.ts +73 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -205
- package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
- package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
- package/dist/_dts/path-utils/src/index.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
- package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
- package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +58 -20
- package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
- package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
- package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +900 -827
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
- package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +45 -33
- package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +104 -86
- package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
- package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +117 -150
- package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1264 -138
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +29 -8
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
- package/dist/cli/index.mjs +68552 -66955
- package/dist/cli/init-docs/content/cli-reference.md +50 -7
- package/dist/cli/init-docs/content/content-management.md +7 -4
- package/dist/cli/init-docs/content/workflow-publish.md +5 -1
- package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
- package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
- package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
- package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
- package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
- package/dist/client/{accordion-DAIBVpTS.mjs → accordion-CeGreumd.mjs} +1 -1
- package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
- package/dist/client/bookings.mjs +637 -328
- package/dist/client/{buttons-DJgynGHQ.mjs → buttons-DoFV7KDL.mjs} +618 -306
- package/dist/client/{carousel-D-SLfX8r.mjs → carousel-B2jDtogf.mjs} +1 -1
- package/dist/client/{cart-CEgbgJhX.mjs → cart-D-jZ-vaY.mjs} +3 -3
- package/dist/client/{checkout-CXWrCRAA.mjs → checkout-Dza-LA7N.mjs} +3 -3
- package/dist/client/client.mjs +2497 -1216
- package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
- package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-TYkNychb.mjs} +7 -7
- package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
- package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-mNrpryE9.mjs} +2 -2
- package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
- package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-YhKN018y.mjs} +2 -2
- package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
- package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
- package/dist/client/{form-CH1lCusH.mjs → form-AcAL45rA.mjs} +2 -2
- package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-uEC52ueD.mjs} +3 -3
- package/dist/client/hooks.mjs +1249 -841
- package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-_wJDSUYe.mjs} +3 -3
- package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
- package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
- package/dist/client/{pricing-BIbzmV0G.mjs → pricing-BSYVghwo.mjs} +1 -1
- package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-Dyk90sMs.mjs} +3 -3
- package/dist/client/{productList-Cc7OMrqN.mjs → productList-BCKThwAI.mjs} +3 -3
- package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-CkXxkdSR.mjs} +96 -33
- package/dist/client/rendering/client.mjs +1278 -523
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2308 -1028
- package/dist/client/{shop-CQ_YbCnn.mjs → shop-DeltVH10.mjs} +6 -6
- package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
- package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-B8v-lH_F.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
- package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
- package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-Cmh14fc7.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +213 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +213 -0
- package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-CTO7CRPk.mjs} +213 -0
- package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
- package/dist/{separator-BoMSQnsP.mjs → separator-CI5wZNXT.mjs} +1 -1
- package/dist/server/components.mjs +2370 -1132
- package/dist/server/config-validation.mjs +1256 -842
- package/dist/server/config.mjs +1256 -843
- package/dist/server/data.mjs +1249 -841
- package/dist/server/date-time.mjs +386 -0
- package/dist/server/index.mjs +214 -1
- package/dist/server/navigation.mjs +9 -3
- package/dist/server/next.mjs +3421 -1949
- package/dist/server/page-converter.mjs +1236 -659
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2074 -1060
- package/dist/server/rendering.mjs +2370 -1132
- package/dist/server/routing.mjs +1543 -1062
- package/dist/server/server.mjs +1464 -843
- package/dist/server/theme-bridge.mjs +1581 -474
- package/dist/server/theme.mjs +614 -305
- package/dist/styles/index.css +12 -1
- package/package.json +7 -1
- package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
- package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
|
@@ -364,12 +364,12 @@ export declare const formFieldSchema: z.ZodObject<{
|
|
|
364
364
|
date: "date";
|
|
365
365
|
time: "time";
|
|
366
366
|
email: "email";
|
|
367
|
+
url: "url";
|
|
367
368
|
text: "text";
|
|
368
369
|
textarea: "textarea";
|
|
369
370
|
select: "select";
|
|
370
371
|
checkbox: "checkbox";
|
|
371
372
|
radio: "radio";
|
|
372
|
-
url: "url";
|
|
373
373
|
consent: "consent";
|
|
374
374
|
tel: "tel";
|
|
375
375
|
}>;
|
|
@@ -425,12 +425,12 @@ declare const bookingQuestionScalarFieldSchema: z.ZodObject<{
|
|
|
425
425
|
date: "date";
|
|
426
426
|
time: "time";
|
|
427
427
|
email: "email";
|
|
428
|
+
url: "url";
|
|
428
429
|
text: "text";
|
|
429
430
|
textarea: "textarea";
|
|
430
431
|
select: "select";
|
|
431
432
|
checkbox: "checkbox";
|
|
432
433
|
radio: "radio";
|
|
433
|
-
url: "url";
|
|
434
434
|
tel: "tel";
|
|
435
435
|
}>;
|
|
436
436
|
}, z.core.$strict>;
|
|
@@ -481,12 +481,12 @@ export declare const bookingQuestionFieldSchema: z.ZodDiscriminatedUnion<[z.ZodO
|
|
|
481
481
|
date: "date";
|
|
482
482
|
time: "time";
|
|
483
483
|
email: "email";
|
|
484
|
+
url: "url";
|
|
484
485
|
text: "text";
|
|
485
486
|
textarea: "textarea";
|
|
486
487
|
select: "select";
|
|
487
488
|
checkbox: "checkbox";
|
|
488
489
|
radio: "radio";
|
|
489
|
-
url: "url";
|
|
490
490
|
tel: "tel";
|
|
491
491
|
}>;
|
|
492
492
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -540,12 +540,12 @@ export declare const bookingQuestionsSectionSchema: z.ZodObject<{
|
|
|
540
540
|
date: "date";
|
|
541
541
|
time: "time";
|
|
542
542
|
email: "email";
|
|
543
|
+
url: "url";
|
|
543
544
|
text: "text";
|
|
544
545
|
textarea: "textarea";
|
|
545
546
|
select: "select";
|
|
546
547
|
checkbox: "checkbox";
|
|
547
548
|
radio: "radio";
|
|
548
|
-
url: "url";
|
|
549
549
|
tel: "tel";
|
|
550
550
|
}>;
|
|
551
551
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -602,12 +602,12 @@ export declare const bookingQuestionsDetailedSchemaSchema: z.ZodObject<{
|
|
|
602
602
|
date: "date";
|
|
603
603
|
time: "time";
|
|
604
604
|
email: "email";
|
|
605
|
+
url: "url";
|
|
605
606
|
text: "text";
|
|
606
607
|
textarea: "textarea";
|
|
607
608
|
select: "select";
|
|
608
609
|
checkbox: "checkbox";
|
|
609
610
|
radio: "radio";
|
|
610
|
-
url: "url";
|
|
611
611
|
tel: "tel";
|
|
612
612
|
}>;
|
|
613
613
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -646,12 +646,12 @@ export declare const formSchemaSchema: z.ZodObject<{
|
|
|
646
646
|
date: "date";
|
|
647
647
|
time: "time";
|
|
648
648
|
email: "email";
|
|
649
|
+
url: "url";
|
|
649
650
|
text: "text";
|
|
650
651
|
textarea: "textarea";
|
|
651
652
|
select: "select";
|
|
652
653
|
checkbox: "checkbox";
|
|
653
654
|
radio: "radio";
|
|
654
|
-
url: "url";
|
|
655
655
|
consent: "consent";
|
|
656
656
|
tel: "tel";
|
|
657
657
|
}>;
|
|
@@ -705,12 +705,12 @@ export declare const bookingQuestionsFlatSchemaSchema: z.ZodObject<{
|
|
|
705
705
|
date: "date";
|
|
706
706
|
time: "time";
|
|
707
707
|
email: "email";
|
|
708
|
+
url: "url";
|
|
708
709
|
text: "text";
|
|
709
710
|
textarea: "textarea";
|
|
710
711
|
select: "select";
|
|
711
712
|
checkbox: "checkbox";
|
|
712
713
|
radio: "radio";
|
|
713
|
-
url: "url";
|
|
714
714
|
tel: "tel";
|
|
715
715
|
}>;
|
|
716
716
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -763,12 +763,12 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
763
763
|
date: "date";
|
|
764
764
|
time: "time";
|
|
765
765
|
email: "email";
|
|
766
|
+
url: "url";
|
|
766
767
|
text: "text";
|
|
767
768
|
textarea: "textarea";
|
|
768
769
|
select: "select";
|
|
769
770
|
checkbox: "checkbox";
|
|
770
771
|
radio: "radio";
|
|
771
|
-
url: "url";
|
|
772
772
|
tel: "tel";
|
|
773
773
|
}>;
|
|
774
774
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -824,12 +824,12 @@ export declare const bookingQuestionsStoredSchemaSchema: z.ZodUnion<readonly [z.
|
|
|
824
824
|
date: "date";
|
|
825
825
|
time: "time";
|
|
826
826
|
email: "email";
|
|
827
|
+
url: "url";
|
|
827
828
|
text: "text";
|
|
828
829
|
textarea: "textarea";
|
|
829
830
|
select: "select";
|
|
830
831
|
checkbox: "checkbox";
|
|
831
832
|
radio: "radio";
|
|
832
|
-
url: "url";
|
|
833
833
|
tel: "tel";
|
|
834
834
|
}>;
|
|
835
835
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -900,12 +900,12 @@ export declare const createFormPayloadSchema: z.ZodObject<{
|
|
|
900
900
|
date: "date";
|
|
901
901
|
time: "time";
|
|
902
902
|
email: "email";
|
|
903
|
+
url: "url";
|
|
903
904
|
text: "text";
|
|
904
905
|
textarea: "textarea";
|
|
905
906
|
select: "select";
|
|
906
907
|
checkbox: "checkbox";
|
|
907
908
|
radio: "radio";
|
|
908
|
-
url: "url";
|
|
909
909
|
consent: "consent";
|
|
910
910
|
tel: "tel";
|
|
911
911
|
}>;
|
|
@@ -26,6 +26,11 @@ export type RichTextToolbarLayout = Readonly<{
|
|
|
26
26
|
kind: 'inline';
|
|
27
27
|
tone: 'light' | 'dark';
|
|
28
28
|
visibility: RichTextToolbarVisibility;
|
|
29
|
+
}> | Readonly<{
|
|
30
|
+
kind: 'external';
|
|
31
|
+
tone: 'light' | 'dark';
|
|
32
|
+
visibility: RichTextToolbarVisibility;
|
|
33
|
+
renderHost: (toolbar: ReactNode) => ReactNode;
|
|
29
34
|
}> | Readonly<{
|
|
30
35
|
kind: 'chrome';
|
|
31
36
|
tone: 'light' | 'dark';
|
|
@@ -54,6 +54,7 @@ export type BlockEditorProps = {
|
|
|
54
54
|
enableDeletion?: boolean;
|
|
55
55
|
onBlockSave?: (blockId: string, content: Record<string, unknown>) => void;
|
|
56
56
|
onBlocksChange?: (blocks: BlockItem[]) => void;
|
|
57
|
+
onStructuralRevisionChange?: (revision: string) => void;
|
|
57
58
|
theme?: Theme | null;
|
|
58
59
|
widgetOverrides?: Record<string, FieldWidgetComponent>;
|
|
59
60
|
headerLeftSlot?: ReactNode;
|
|
@@ -10,7 +10,7 @@ type UiStore = {
|
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
-
export declare function useBlockCreation({ allowCreation, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, triggerFocus, uiStore, }: {
|
|
13
|
+
export declare function useBlockCreation({ allowCreation, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, triggerFocus, uiStore, onStructuralRevisionChange, }: {
|
|
14
14
|
allowCreation: boolean;
|
|
15
15
|
apiClient: ApiClient;
|
|
16
16
|
siteId: string;
|
|
@@ -20,6 +20,7 @@ export declare function useBlockCreation({ allowCreation, apiClient, siteId, own
|
|
|
20
20
|
onBlocksChange?: (blocks: BlockItem[]) => void;
|
|
21
21
|
triggerFocus?: (target: BlockFocusTarget) => void;
|
|
22
22
|
uiStore?: UiStore | null;
|
|
23
|
+
onStructuralRevisionChange?: (revision: string) => void;
|
|
23
24
|
}): {
|
|
24
25
|
pickerOpen: boolean;
|
|
25
26
|
creatingBlockName: string | null;
|
|
@@ -9,7 +9,7 @@ type UiStore = {
|
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
|
-
export declare function useBlockDuplication({ allowCreation, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, triggerFocus, setErrorMessage, uiStore, }: {
|
|
12
|
+
export declare function useBlockDuplication({ allowCreation, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, triggerFocus, setErrorMessage, uiStore, onStructuralRevisionChange, }: {
|
|
13
13
|
allowCreation: boolean;
|
|
14
14
|
apiClient: ApiClient;
|
|
15
15
|
siteId: string;
|
|
@@ -20,6 +20,7 @@ export declare function useBlockDuplication({ allowCreation, apiClient, siteId,
|
|
|
20
20
|
triggerFocus?: (target: BlockFocusTarget) => void;
|
|
21
21
|
setErrorMessage: (msg: string | null) => void;
|
|
22
22
|
uiStore?: UiStore | null;
|
|
23
|
+
onStructuralRevisionChange?: (revision: string) => void;
|
|
23
24
|
}): {
|
|
24
25
|
duplicatingBlockId: string | null;
|
|
25
26
|
duplicateBlock: (blockId: string) => Promise<void>;
|
|
@@ -15,7 +15,7 @@ type UiStore = {
|
|
|
15
15
|
};
|
|
16
16
|
subscribe: (listener: () => void) => () => void;
|
|
17
17
|
};
|
|
18
|
-
export declare function useBlockReorder({ allowReordering, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, setErrorMessage, uiStore, }: {
|
|
18
|
+
export declare function useBlockReorder({ allowReordering, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, setErrorMessage, uiStore, onStructuralRevisionChange, }: {
|
|
19
19
|
allowReordering: boolean;
|
|
20
20
|
apiClient: ApiClient;
|
|
21
21
|
siteId: string;
|
|
@@ -25,6 +25,7 @@ export declare function useBlockReorder({ allowReordering, apiClient, siteId, ow
|
|
|
25
25
|
onBlocksChange?: (blocks: BlockItem[]) => void;
|
|
26
26
|
setErrorMessage: (msg: string | null) => void;
|
|
27
27
|
uiStore?: UiStore | null;
|
|
28
|
+
onStructuralRevisionChange?: (revision: string) => void;
|
|
28
29
|
}): {
|
|
29
30
|
reorderId: string | null;
|
|
30
31
|
handleMove: (blockId: string, direction: number) => void;
|
|
@@ -7,6 +7,11 @@ export type BlockEditorOwner = Readonly<{
|
|
|
7
7
|
type: string;
|
|
8
8
|
entryId: string;
|
|
9
9
|
slotKey: string;
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'surface-slot';
|
|
12
|
+
pageSurfaceId: string;
|
|
13
|
+
slotKey: string;
|
|
14
|
+
compositionHash: string;
|
|
10
15
|
}>;
|
|
11
16
|
export type CreateEditableBlockInput = Readonly<{
|
|
12
17
|
kind: string;
|
|
@@ -18,6 +23,10 @@ export declare function blockEditorOwnerKey(owner: BlockEditorOwner): string;
|
|
|
18
23
|
export declare function createEditableBlockForOwner(apiClient: ApiClient, siteId: string, owner: BlockEditorOwner, input: CreateEditableBlockInput): Promise<{
|
|
19
24
|
ok: boolean;
|
|
20
25
|
block: Record<string, unknown>;
|
|
26
|
+
} | {
|
|
27
|
+
ok: boolean;
|
|
28
|
+
block: import("../../../api/src/index").BlockListItem;
|
|
29
|
+
compositionHash: string;
|
|
21
30
|
}>;
|
|
22
31
|
export declare function reorderEditableBlocksForOwner(apiClient: ApiClient, siteId: string, owner: BlockEditorOwner, blockIds: string[]): Promise<{
|
|
23
32
|
ok: boolean;
|
|
@@ -25,3 +34,4 @@ export declare function reorderEditableBlocksForOwner(apiClient: ApiClient, site
|
|
|
25
34
|
export declare function deleteEditableBlockForOwner(apiClient: ApiClient, siteId: string, owner: BlockEditorOwner, blockId: string): Promise<{
|
|
26
35
|
ok: boolean;
|
|
27
36
|
}>;
|
|
37
|
+
export declare function surfaceCompositionHashFromResponse(response: unknown): string | null;
|
|
@@ -7,6 +7,7 @@ export type BlockItem = {
|
|
|
7
7
|
draftContent?: Record<string, unknown> | null;
|
|
8
8
|
publishedContent?: Record<string, unknown> | null;
|
|
9
9
|
bindings?: Record<string, unknown> | null;
|
|
10
|
+
optimisticHash?: string | null;
|
|
10
11
|
};
|
|
11
12
|
export type DraftBlockSnapshot = EditorStructuralDraftSnapshot;
|
|
12
13
|
/**
|
|
@@ -8,3 +8,19 @@ export type MagicDetectedMimeType = 'image/png' | 'image/jpeg' | 'image/gif' | '
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function detectMimeTypeFromBuffer(buffer: Uint8Array | null | undefined): MagicDetectedMimeType | undefined;
|
|
10
10
|
export declare function bufferAsLatin1(buffer: Uint8Array, maxBytes?: number): string;
|
|
11
|
+
/**
|
|
12
|
+
* Recognizes an SVG document by its leading element only.
|
|
13
|
+
*
|
|
14
|
+
* Within a bounded window we skip an optional UTF-8 BOM, whitespace, and any XML
|
|
15
|
+
* prolog constructs (XML declaration / processing instructions, comments, and a
|
|
16
|
+
* DOCTYPE) and then require the very first element to be `<svg>`. Requiring the
|
|
17
|
+
* root element — rather than scanning for `<svg` anywhere — is the false-positive
|
|
18
|
+
* guard: an HTML document that merely embeds inline `<svg>` further down (its
|
|
19
|
+
* first element is `<html>`/`<body>`/etc.) is deliberately NOT recognized as SVG.
|
|
20
|
+
*
|
|
21
|
+
* DOCTYPE is skipped rather than rejected here so a DOCTYPE-bearing SVG is still
|
|
22
|
+
* recognized and routed to the finalize sanitizer (which rejects DOCTYPE/entities
|
|
23
|
+
* outright) instead of failing earlier as an opaque MIME mismatch. This probe is
|
|
24
|
+
* intentionally trusted only through the contract-gated `svg-fallback` strategy.
|
|
25
|
+
*/
|
|
26
|
+
export declare function looksLikeSvgBuffer(buffer: Uint8Array | null | undefined): boolean;
|
|
@@ -9,6 +9,7 @@ export declare const PUBLIC_SITE_FILE_STORAGE_BUCKETS: readonly [StorageBucketNa
|
|
|
9
9
|
export declare const FILE_UPLOAD_STAGING_PREFIX = "temp-file-uploads";
|
|
10
10
|
export declare const DURABLE_FILE_STORAGE_PREFIX = "sites";
|
|
11
11
|
export declare const DURABLE_FILE_FOLDER = "files";
|
|
12
|
+
export declare const SDK_UPLOAD_STAGING_PREFIX = "sdk-staging";
|
|
12
13
|
export declare const PRIVATE_SITE_FILE_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime"];
|
|
13
14
|
export declare const TEMP_UPLOAD_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime", "font/woff2", "application/font-woff2", "application/x-font-woff2", "application/octet-stream"];
|
|
14
15
|
export type FileStoragePathError = 'unsafe-path-segment';
|
|
@@ -39,3 +40,10 @@ export declare function buildStagedUploadStoragePath(input: StagedUploadStorageP
|
|
|
39
40
|
*/
|
|
40
41
|
export declare function buildDurableFileStoragePath(input: DurableFileStoragePathInput): Result<SiteScopedStoragePath, FileStoragePathError>;
|
|
41
42
|
export declare function parseStoragePath(value: string): Result<StoragePath, FileStoragePathError>;
|
|
43
|
+
/**
|
|
44
|
+
* Builds the private staging path for an SDK-management upload from its intended
|
|
45
|
+
* durable relative path: `sdk-staging/{siteId}/{durableRelativePath}`. Finalize
|
|
46
|
+
* promotes the object from here (in `temp-uploads`) to the public bucket only
|
|
47
|
+
* after verification + sanitization.
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildSdkStagedStoragePath(siteId: SiteId, durableRelativePath: string): Result<StoragePath, FileStoragePathError>;
|
|
@@ -17,6 +17,9 @@ export type UploadVerificationStrategy = Readonly<{
|
|
|
17
17
|
}> | Readonly<{
|
|
18
18
|
tag: 'rtf-fallback';
|
|
19
19
|
detectedMimeType: 'application/rtf';
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
tag: 'svg-fallback';
|
|
22
|
+
detectedMimeType: 'image/svg+xml';
|
|
20
23
|
}>;
|
|
21
24
|
export type AcceptedUploadKindContract = Readonly<{
|
|
22
25
|
kind: FileKind;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export type PathSegment = string | number;
|
|
2
|
+
export declare class UnsafePathSegmentError extends Error {
|
|
3
|
+
readonly segment: string;
|
|
4
|
+
constructor(segment: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function isUnsafePathSegment(segment: PathSegment): boolean;
|
|
2
7
|
export declare function parsePath(path: string | Array<PathSegment>): Array<PathSegment>;
|
|
3
8
|
export declare function segmentsToPath(segments: Array<PathSegment>): string | undefined;
|
|
4
9
|
export declare function siblingPath(path: string, siblingFieldPath: string): string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type BookingOfferingPresetSummary, type Theme } from '../../../../blocks/src/index';
|
|
3
3
|
import { type BackgroundColorPalette } from '../../../../blocks/src/system/customize/backgrounds';
|
|
4
|
+
import { type GradientPresetId } from '../../../../theme-core/src/gradients/index';
|
|
4
5
|
import { type PreviewChromeFloatingPlacement } from '../preview/previewChromePlacement';
|
|
5
6
|
export declare function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, theme, placement, }: {
|
|
6
7
|
blockId: string;
|
|
@@ -10,4 +11,5 @@ export declare function BlockToolbar({ blockId, blockKind, content, bookingOffer
|
|
|
10
11
|
theme?: Theme | null;
|
|
11
12
|
placement?: PreviewChromeFloatingPlacement;
|
|
12
13
|
}): React.JSX.Element;
|
|
14
|
+
export declare function gradientPreviewCss(gradientId: GradientPresetId): string;
|
|
13
15
|
export declare function readBackgroundColorPaletteSnapshot(): BackgroundColorPalette | null;
|
|
@@ -18,4 +18,9 @@ export declare function PreviewChromeFloatingControl({ anchorSelector, anchorTar
|
|
|
18
18
|
forceVisible?: boolean;
|
|
19
19
|
children: ReactNode;
|
|
20
20
|
}): React.JSX.Element;
|
|
21
|
+
export declare function PreviewChromeFloatingBar({ anchorSelector, gapPx, children, }: {
|
|
22
|
+
anchorSelector: string;
|
|
23
|
+
gapPx?: number;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}): React.JSX.Element;
|
|
21
26
|
export {};
|
|
@@ -59,6 +59,7 @@ export type PreviewEditorSidebarProps = {
|
|
|
59
59
|
activeTab: PreviewEditorSidebarTab;
|
|
60
60
|
onTabChange: (tab: PreviewEditorSidebarTab) => void;
|
|
61
61
|
onClose: () => void;
|
|
62
|
+
onFooterSaved?: () => void;
|
|
62
63
|
viewportMode: ViewportMode;
|
|
63
64
|
viewportWidth: ViewportWidth;
|
|
64
65
|
zoom: ZoomLevel;
|
|
@@ -66,4 +67,4 @@ export type PreviewEditorSidebarProps = {
|
|
|
66
67
|
onViewportWidthChange: (width: ViewportWidth) => void;
|
|
67
68
|
onZoomChange: (zoom: ZoomLevel) => void;
|
|
68
69
|
};
|
|
69
|
-
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
|
|
70
|
+
export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
|
|
@@ -10,6 +10,7 @@ export type PreviewBlock = {
|
|
|
10
10
|
draftContent?: Record<string, unknown> | null;
|
|
11
11
|
publishedContent?: Record<string, unknown> | null;
|
|
12
12
|
bindings?: Record<string, unknown> | null;
|
|
13
|
+
optimisticHash?: string | null;
|
|
13
14
|
};
|
|
14
15
|
export type PreviewPageMetadata = {
|
|
15
16
|
draftTitle: string;
|
|
@@ -72,8 +72,9 @@ export type PreviewShellProps = {
|
|
|
72
72
|
/** Hides site-style controls for runtimes without palette authority. */
|
|
73
73
|
hideSiteStyleConfigurator?: boolean;
|
|
74
74
|
baseFetch?: BaseFetch;
|
|
75
|
+
onFooterSaved?: () => void;
|
|
75
76
|
};
|
|
76
|
-
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, }: PreviewShellProps): React.JSX.Element;
|
|
77
|
+
export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, hideSiteStyleConfigurator, baseFetch, onFooterSaved, }: PreviewShellProps): React.JSX.Element;
|
|
77
78
|
export declare function defaultDesignEditorEligibility(input: Readonly<{
|
|
78
79
|
pageId: string | null;
|
|
79
80
|
entryData?: PreviewContentEntryData | null;
|
|
@@ -45,5 +45,6 @@ export type PreviewShellLayoutProps = {
|
|
|
45
45
|
bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
|
|
46
46
|
themeRuntime?: PreviewThemeRuntime;
|
|
47
47
|
siteStyleAccess?: SiteStyleAccess;
|
|
48
|
+
onFooterSaved?: () => void;
|
|
48
49
|
};
|
|
49
|
-
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, }: PreviewShellLayoutProps): React.JSX.Element;
|
|
50
|
+
export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, onFooterSaved, }: PreviewShellLayoutProps): React.JSX.Element;
|
|
@@ -213,6 +213,7 @@ export declare function reconcilePaletteLibraryActive(state: StyleConfiguratorSt
|
|
|
213
213
|
*/
|
|
214
214
|
export declare function rebasePaletteLibraryAuthority(state: StyleConfiguratorState, committedPalette: ResolvedPaletteSelection): StyleConfiguratorState;
|
|
215
215
|
export declare function selectionSnapshotsEqual(a: SelectionSnapshot, b: SelectionSnapshot): boolean;
|
|
216
|
+
export declare function typographyObjectsEqual(a: ThemeTypography, b: ThemeTypography): boolean;
|
|
216
217
|
type ModernRuntimePaletteState = Extract<RuntimePaletteState, Readonly<{
|
|
217
218
|
authority: 'curated';
|
|
218
219
|
}>> | Extract<RuntimePaletteState, Readonly<{
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const PREVIEW_DESIGN_SAVE_ERROR_MESSAGE = "We couldn\u2019t save that change just now. Please try again in a minute or two.";
|
|
2
|
+
export declare const PREVIEW_DESIGN_REFRESH_ERROR_MESSAGE = "We couldn\u2019t refresh the latest design just now. Your changes are still here. Please try again in a minute or two.";
|
|
3
|
+
export declare const PREVIEW_DESIGN_LOAD_ERROR_MESSAGE = "We couldn\u2019t load those design options just now. Please try again in a minute or two.";
|
|
4
|
+
export declare function reportPreviewDesignError(operation: string, error: unknown): void;
|
|
@@ -20,7 +20,7 @@ export type ApplySiteStyleSelectionBodyBuildResult = Readonly<{
|
|
|
20
20
|
ok: false;
|
|
21
21
|
error: Extract<PaletteApplyCommandPlan, {
|
|
22
22
|
ok: false;
|
|
23
|
-
}>['error'];
|
|
23
|
+
}>['error'] | 'no-selection-changes';
|
|
24
24
|
}>;
|
|
25
25
|
export declare function buildApplySiteStyleSelectionBody(input: Readonly<{
|
|
26
26
|
base: SelectionSnapshot;
|
|
@@ -99,4 +99,4 @@ export declare function auditOrphanedEntries(ctx: Pick<AuditContext, 'localEntry
|
|
|
99
99
|
export declare function auditContentTypes(localContentTypes: Set<string>, validContentTypes: Set<string>): AuditIssue[];
|
|
100
100
|
export declare function auditEventReferences(events: LocalEvent[], ctx: Pick<AuditContext, 'localVenueRefs' | 'remoteVenueRefs' | 'localCategoryRefs' | 'remoteCategoryRefs' | 'localFormRefs' | 'remoteFormRefs'>): AuditIssue[];
|
|
101
101
|
export declare function auditCourseReferences(courses: LocalCourse[], ctx: Pick<AuditContext, 'localVenueRefs' | 'remoteVenueRefs' | 'localCategoryRefs' | 'remoteCategoryRefs' | 'localFormRefs' | 'remoteFormRefs'>): AuditIssue[];
|
|
102
|
-
export declare const
|
|
102
|
+
export declare const createAuditCommand: () => Command;
|
|
@@ -58,5 +58,5 @@ export declare function compareLocalVsCms(localEntries: LocalEntry[], remoteEntr
|
|
|
58
58
|
data: Record<string, unknown>;
|
|
59
59
|
status: string;
|
|
60
60
|
}>, contentType: string): ComparisonResult;
|
|
61
|
-
export declare const
|
|
61
|
+
export declare const createCompareCommand: () => Command;
|
|
62
62
|
export {};
|
|
@@ -39,5 +39,5 @@ export declare function checkWorkingDirectoryClean(git: SimpleGit, prebuildOutpu
|
|
|
39
39
|
* @internal Exported for testing
|
|
40
40
|
*/
|
|
41
41
|
export declare function commitCacheIfChanged(git: SimpleGit, prebuildOutput: string): Promise<boolean>;
|
|
42
|
-
export declare const
|
|
42
|
+
export declare const createDeployCommand: () => Command;
|
|
43
43
|
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drafts Command (Phase 7.3)
|
|
3
|
+
*
|
|
4
|
+
* Cross-type overview of pages and entries with pending (unpublished) changes.
|
|
5
|
+
* Consumes the SDK `pull.drafts()` operation (server-side `GET pull/drafts`),
|
|
6
|
+
* which is correctly server-filtered and fully enumerated — replacing the
|
|
7
|
+
* post-pagination `entry list --status draft` trap.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* riverbankcms drafts
|
|
11
|
+
* riverbankcms drafts --json
|
|
12
|
+
*/
|
|
13
|
+
import { Command } from 'commander';
|
|
14
|
+
import type { PulledDrafts } from '../../client/management/types';
|
|
15
|
+
/** Flatten the drafts overview into unified table rows for human display. */
|
|
16
|
+
export declare function draftsToTableRows(drafts: PulledDrafts): string[][];
|
|
17
|
+
export declare const createDraftsCommand: () => Command;
|
|
18
|
+
export declare const draftsCommand: Command;
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* riverbankcms entry list <type> [--limit N] [--page N]
|
|
13
13
|
*/
|
|
14
14
|
import { Command } from 'commander';
|
|
15
|
+
import { type EntryScaffold } from '../../../../content-model/src/index';
|
|
15
16
|
import type { ManagementClient, ManagementEntry } from '../../client/management/types';
|
|
16
17
|
import { type MediaValidationResult } from '../media/write-guard';
|
|
17
18
|
export declare const ENTRY_LIST_COLUMNS: readonly ["id", "identifier", "slug", "status", "hasUnpublishedChanges", "updatedAt", "createdAt", "publishedAt", "title", "contentType"];
|
|
@@ -37,4 +38,18 @@ export declare function findEntryById(client: ManagementClient, contentType: str
|
|
|
37
38
|
limit?: number;
|
|
38
39
|
maxPages?: number;
|
|
39
40
|
}): Promise<ManagementEntry | null>;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve a scaffold for a content type from the discovery catalog (the field
|
|
43
|
+
* DSL), or an error listing the available keys. Sourced from
|
|
44
|
+
* `client.catalog.contentTypes()`, matching how `content-type list` resolves its
|
|
45
|
+
* source from the client. (An offline local-config fallback is not implemented:
|
|
46
|
+
* the normalized field DSL is only exposed over the catalog API, and
|
|
47
|
+
* `content-type list` likewise has no local fallback.)
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveEntryScaffold(client: ManagementClient, contentType: string): Promise<{
|
|
50
|
+
scaffold: EntryScaffold;
|
|
51
|
+
} | {
|
|
52
|
+
error: string;
|
|
53
|
+
availableKeys: string[];
|
|
54
|
+
}>;
|
|
40
55
|
export declare const entryCommand: Command;
|
|
@@ -9,5 +9,5 @@ interface InitDocsOptions {
|
|
|
9
9
|
config?: string;
|
|
10
10
|
}
|
|
11
11
|
export declare function runInitDocs(options: InitDocsOptions, command: Command): Promise<void>;
|
|
12
|
-
declare const
|
|
13
|
-
export {
|
|
12
|
+
export declare const createInitDocsCommand: () => Command;
|
|
13
|
+
export {};
|
|
@@ -47,4 +47,4 @@ export declare function categorizeEntries(entries: ManagementEntry[]): {
|
|
|
47
47
|
* Exported for testing.
|
|
48
48
|
*/
|
|
49
49
|
export declare function aggregateResults(results: PublishResult[]): Omit<PublishAllSummary, 'total'>;
|
|
50
|
-
export declare const
|
|
50
|
+
export declare const createPublishAllCommand: () => Command;
|
|
@@ -5,7 +5,10 @@ export interface PushOptions {
|
|
|
5
5
|
force?: boolean;
|
|
6
6
|
forceUpdateAsset?: boolean;
|
|
7
7
|
allowTruncated?: boolean;
|
|
8
|
+
/** @deprecated Use `--diff-detail` instead; folded into the `--json` envelope. */
|
|
8
9
|
jsonDiff?: string;
|
|
10
|
+
/** Diff verbosity carried in the `--json` envelope: 'summary' (default) or 'full'. */
|
|
11
|
+
diffDetail?: string;
|
|
9
12
|
withConfig?: boolean;
|
|
10
13
|
withTheme?: boolean;
|
|
11
14
|
syncMedia?: boolean;
|
|
@@ -7,6 +7,17 @@ import { type PushScope } from './push/consts';
|
|
|
7
7
|
export interface PushExecutionResult {
|
|
8
8
|
success: boolean;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Single command-owned result for a push, assembled once at the end of the push
|
|
12
|
+
* command (finding 4). `executePushForEnv` writes the diff into `detail` and the
|
|
13
|
+
* sync outcome into `execution`; the command adds `verification` and emits the
|
|
14
|
+
* whole object exactly once, so no stage's result clobbers another's.
|
|
15
|
+
*/
|
|
16
|
+
export interface PushResultAccumulator {
|
|
17
|
+
detail?: unknown;
|
|
18
|
+
execution?: unknown;
|
|
19
|
+
verification?: unknown;
|
|
20
|
+
}
|
|
10
21
|
export declare function noContentFoundWarningDetails(contentDir: string): Readonly<{
|
|
11
22
|
contentDir: string;
|
|
12
23
|
expectedFiles: readonly string[];
|
|
@@ -39,5 +50,5 @@ export declare function executePushForEnv(output: OutputContext, target: EnvTarg
|
|
|
39
50
|
jsonDiffMode?: JsonDiffMode | null;
|
|
40
51
|
}, globalOpts: {
|
|
41
52
|
json?: boolean;
|
|
42
|
-
}): Promise<PushExecutionResult>;
|
|
53
|
+
}, resultSink?: PushResultAccumulator): Promise<PushExecutionResult>;
|
|
43
54
|
export {};
|
|
@@ -7,8 +7,29 @@
|
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
import type { SiteId } from '../../../core/src/index';
|
|
9
9
|
import type { ManagementClient } from '../client/management/types';
|
|
10
|
-
import { type OutputContext } from './output';
|
|
10
|
+
import { InvocationEnvelope, type OutputContext } from './output';
|
|
11
11
|
import { type CliErrorContext } from './errors';
|
|
12
|
+
/**
|
|
13
|
+
* Run `fn` within a fresh invocation envelope. Returns the envelope so `runCli`
|
|
14
|
+
* can flush it and derive the exit code after the run completes (or fails).
|
|
15
|
+
*/
|
|
16
|
+
export declare function runWithInvocation<T>(fn: (envelope: InvocationEnvelope) => Promise<T>): {
|
|
17
|
+
envelope: InvocationEnvelope;
|
|
18
|
+
done: Promise<T>;
|
|
19
|
+
};
|
|
20
|
+
/** The current invocation's envelope, if output is running inside `runCli`. */
|
|
21
|
+
export declare function currentInvocationEnvelope(): InvocationEnvelope | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Build the space-separated command path for the envelope's `command` field,
|
|
24
|
+
* excluding the root program name (e.g. `entry upsert`, `drafts`).
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveCommandPath(command: Command): string;
|
|
27
|
+
/**
|
|
28
|
+
* Create an OutputContext bound to a command. In JSON mode it resolves the
|
|
29
|
+
* current invocation's envelope from the async context, so all output funnels
|
|
30
|
+
* into one document.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createOutputForCommand(command: Command): OutputContext;
|
|
12
33
|
/**
|
|
13
34
|
* Environment target for CLI operations.
|
|
14
35
|
*/
|
|
@@ -3,5 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* CLI tools for SDK site developers.
|
|
5
5
|
* Supports bidirectional content management: pull content from CMS and push content back.
|
|
6
|
+
*
|
|
7
|
+
* This module is the bin entry point: it loads env files, then runs the CLI via
|
|
8
|
+
* `runCli`, which owns the process exit code and guarantees exactly one JSON
|
|
9
|
+
* envelope per invocation under `--json`. The command tree lives in `program.ts`.
|
|
6
10
|
*/
|
|
7
11
|
export {};
|