@riverbankcms/sdk 0.62.4 → 0.67.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 +11 -0
- package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
- package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
- package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
- package/dist/_dts/api/src/billing.d.ts +46 -10
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
- package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/courses.d.ts +3 -0
- package/dist/_dts/api/src/endpoints.d.ts +48 -0
- package/dist/_dts/api/src/index.d.ts +8 -5
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -40
- package/dist/_dts/api/src/sdkContracts.d.ts +14 -2
- package/dist/_dts/api/src/siteMembers.d.ts +1 -1
- package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
- package/dist/_dts/api/src/siteOperations.d.ts +11 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
- package/dist/_dts/billing/src/plans/types.d.ts +10 -1
- package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
- package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
- package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
- package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
- package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
- package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
- package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
- package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
- package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
- package/dist/_dts/block-form/src/client/index.d.ts +30 -0
- package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
- package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
- package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
- package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
- package/dist/_dts/block-form/src/context/index.d.ts +4 -0
- package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
- package/dist/_dts/block-form/src/index.d.ts +22 -0
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
- package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
- package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
- package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
- package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
- package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
- package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
- package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
- package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
- package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
- package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
- package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
- package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
- package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
- package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
- package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
- package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
- package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
- package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
- package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
- package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
- package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
- package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
- package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
- package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
- package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
- package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
- package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
- package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
- package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
- package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
- package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
- 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 +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/calendar/src/grid.d.ts +60 -0
- package/dist/_dts/calendar/src/group.d.ts +14 -0
- package/dist/_dts/calendar/src/index.d.ts +6 -0
- package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
- package/dist/_dts/calendar/src/timetable.d.ts +90 -0
- package/dist/_dts/calendar/src/timezone.d.ts +19 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -4
- package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +18 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +900 -69
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
- package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- 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/SiteChromeCustomizeButton.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +22 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
- package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +63 -0
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +83 -0
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +11 -28
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
- package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
- package/dist/_dts/site-commands/src/commands.d.ts +2341 -0
- package/dist/_dts/site-commands/src/domain.d.ts +104 -0
- package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
- package/dist/_dts/site-commands/src/guards.d.ts +1 -0
- package/dist/_dts/site-commands/src/index.d.ts +10 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +503 -0
- package/dist/_dts/site-commands/src/planner.d.ts +58 -0
- package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
- package/dist/_dts/site-commands/src/refs.d.ts +87 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
- package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -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 +89 -12
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/cli/index.mjs +6446 -1220
- package/dist/cli/init-docs/content/cli-reference.md +18 -0
- package/dist/client/bookings.mjs +25 -25
- package/dist/client/client.mjs +3157 -2858
- package/dist/client/hooks.mjs +2608 -2326
- package/dist/client/rendering/client.mjs +505 -176
- package/dist/client/rendering/islands.mjs +18329 -13012
- package/dist/client/rendering.mjs +1204 -903
- package/dist/preview-next/before-render.mjs +84 -13
- package/dist/preview-next/client/runtime.mjs +3149 -2452
- package/dist/preview-next/middleware.mjs +84 -13
- package/dist/server/components.mjs +936 -631
- package/dist/server/config-validation.mjs +2838 -2556
- package/dist/server/config.mjs +2838 -2556
- package/dist/server/data.mjs +2608 -2326
- package/dist/server/index.mjs +676 -552
- package/dist/server/next.mjs +3043 -2738
- package/dist/server/page-converter.mjs +201 -51
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +936 -631
- package/dist/server/rendering.mjs +936 -631
- package/dist/server/routing.mjs +2701 -2426
- package/dist/server/server.mjs +2626 -2344
- package/dist/server/theme-bridge.mjs +169 -52
- package/package.json +2 -1
- package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
- package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
- package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
- package/dist/_dts/path-utils/src/index.d.ts +0 -8
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FieldConfig } from '../fields/types';
|
|
3
|
+
/**
|
|
4
|
+
* Context passed to a field preview resolver, providing access to sibling field values.
|
|
5
|
+
*/
|
|
6
|
+
export type FieldPreviewResolverCallContext = {
|
|
7
|
+
getSiblingValue: (fieldId: string) => unknown;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a stored field value to a preview value consumable by UI widgets.
|
|
11
|
+
*
|
|
12
|
+
* For repeater thumbnails, resolvers can return media-like objects
|
|
13
|
+
* (e.g. `{ type: 'image', src: '...' }`) for field types that do not store media directly.
|
|
14
|
+
*/
|
|
15
|
+
export type FieldPreviewResolver = (value: unknown, fieldConfig: FieldConfig, context: FieldPreviewResolverCallContext) => Promise<unknown | null>;
|
|
16
|
+
/**
|
|
17
|
+
* Map of field type to preview resolver.
|
|
18
|
+
*/
|
|
19
|
+
export type FieldPreviewResolverMap = Partial<Record<FieldConfig['type'], FieldPreviewResolver>>;
|
|
20
|
+
/**
|
|
21
|
+
* Provides field preview resolvers to descendant components.
|
|
22
|
+
*/
|
|
23
|
+
export declare function FieldPreviewResolverProvider({ resolvers, children, }: {
|
|
24
|
+
resolvers: FieldPreviewResolverMap;
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* Access the field preview resolver map.
|
|
29
|
+
*/
|
|
30
|
+
export declare function useFieldPreviewResolvers(): FieldPreviewResolverMap;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ImageResolveContextProvider, useImageResolveContextOptional, } from '@riverbankcms/blocks/client';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BlockContextProvider, useBlockContext, type BlockContextValue, type BlockContextProviderProps, } from './BlockContext';
|
|
2
|
+
export { DisplayLabelResolverProvider, useDisplayLabelResolvers, type DisplayLabelResolver, type DisplayLabelResolverMap, type ResolverCallContext, } from './DisplayLabelResolverContext';
|
|
3
|
+
export { FieldPreviewResolverProvider, useFieldPreviewResolvers, type FieldPreviewResolver, type FieldPreviewResolverMap, type FieldPreviewResolverCallContext, } from './FieldPreviewResolverContext';
|
|
4
|
+
export { ImageResolveContextProvider, useImageResolveContextOptional, } from './ImageResolveContext';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Widget Props Types
|
|
3
|
+
*
|
|
4
|
+
* Runtime props for field widgets - combines field config with runtime context
|
|
5
|
+
*/
|
|
6
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
7
|
+
import type { FormBackend } from '../backend/types';
|
|
8
|
+
import type { FieldConfig } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Function for rendering child fields (used by container widgets like GroupField/RepeaterField)
|
|
11
|
+
*/
|
|
12
|
+
export type RenderChildField = (childConfig: FieldConfig, childPath: string) => ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Props for field widget components
|
|
15
|
+
*
|
|
16
|
+
* @template TValue - The type of value this field manages
|
|
17
|
+
* @template TConfig - The specific field config type (e.g., TextFieldConfig, GroupFieldConfig)
|
|
18
|
+
*/
|
|
19
|
+
export interface FieldWidgetProps<TValue = unknown, TConfig extends FieldConfig = FieldConfig> {
|
|
20
|
+
/** Runtime path to this field (e.g., 'title', 'items.0.name') */
|
|
21
|
+
path: string;
|
|
22
|
+
/** Form backend for reading/writing values */
|
|
23
|
+
backend: FormBackend;
|
|
24
|
+
/** Field configuration (pure definition) */
|
|
25
|
+
config: TConfig;
|
|
26
|
+
/** Function to render child fields (required for container widgets like group/repeater) */
|
|
27
|
+
renderChild?: RenderChildField;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Type for field widget components
|
|
31
|
+
*
|
|
32
|
+
* Widgets are strongly typed with specific config types (TextFieldConfig, etc.) for
|
|
33
|
+
* type safety within their implementation. At the registry boundary, type assertions
|
|
34
|
+
* are used to store them in a homogeneous collection (see registry/widgets.ts).
|
|
35
|
+
*
|
|
36
|
+
* This is safe because:
|
|
37
|
+
* 1. The field.type discriminant ensures the correct widget is selected
|
|
38
|
+
* 2. Each widget receives its expected config subtype at runtime
|
|
39
|
+
* 3. The type system prevents accessing properties that don't exist on BaseFieldConfig
|
|
40
|
+
*/
|
|
41
|
+
export type FieldWidgetComponent<TValue = unknown, TConfig extends FieldConfig = FieldConfig> = ComponentType<FieldWidgetProps<TValue, TConfig>>;
|
|
42
|
+
/**
|
|
43
|
+
* Widget registry - maps field type strings to their components
|
|
44
|
+
*
|
|
45
|
+
* This is a heterogeneous collection where each widget has different type parameters,
|
|
46
|
+
* stored with a common base type for lookup. See registry/widgets.ts for implementation.
|
|
47
|
+
*/
|
|
48
|
+
export type WidgetRegistry = Record<string, FieldWidgetComponent>;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Pure field definitions independent of how they're created (manifest, manual, etc.)
|
|
5
|
+
* These types describe what a field IS, not where it came from.
|
|
6
|
+
*
|
|
7
|
+
* FieldConfig types are structurally compatible with FieldDefinition from @riverbankcms/blocks,
|
|
8
|
+
* allowing manifest fields to be passed through with minimal transformation.
|
|
9
|
+
*/
|
|
10
|
+
import type { FieldDefinition } from '@riverbankcms/blocks';
|
|
11
|
+
import type { ZodTypeAny } from 'zod';
|
|
12
|
+
import type { TabGroupFieldConfig } from '../widgets/TabGroupField/types';
|
|
13
|
+
import type { PresetOrCustomFieldConfig } from '../widgets/PresetOrCustomField/types';
|
|
14
|
+
/**
|
|
15
|
+
* Base configuration for all field types
|
|
16
|
+
*/
|
|
17
|
+
export interface BaseFieldConfig {
|
|
18
|
+
/** Unique identifier for this field */
|
|
19
|
+
id: string;
|
|
20
|
+
/** Field type discriminator */
|
|
21
|
+
type: string;
|
|
22
|
+
/** Human-readable label */
|
|
23
|
+
label: string;
|
|
24
|
+
/** Optional description/help text */
|
|
25
|
+
description?: string;
|
|
26
|
+
/** Whether this field is required (defaults to false if not specified) */
|
|
27
|
+
required?: boolean;
|
|
28
|
+
/** Default value for this field */
|
|
29
|
+
defaultValue?: unknown;
|
|
30
|
+
/** UI-specific configuration - uses same type as FieldDefinition for compatibility */
|
|
31
|
+
ui?: FieldDefinition['ui'];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Text field configuration
|
|
35
|
+
*/
|
|
36
|
+
export interface TextFieldConfig extends BaseFieldConfig {
|
|
37
|
+
type: 'text';
|
|
38
|
+
multiline?: boolean;
|
|
39
|
+
maxLength?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Number field configuration
|
|
43
|
+
*/
|
|
44
|
+
export interface NumberFieldConfig extends BaseFieldConfig {
|
|
45
|
+
type: 'number';
|
|
46
|
+
min?: number;
|
|
47
|
+
max?: number;
|
|
48
|
+
step?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Rich text field configuration
|
|
52
|
+
*/
|
|
53
|
+
export interface RichTextFieldConfig extends BaseFieldConfig {
|
|
54
|
+
type: 'richText';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Media field configuration
|
|
58
|
+
*/
|
|
59
|
+
export interface MediaFieldConfig extends BaseFieldConfig {
|
|
60
|
+
type: 'media';
|
|
61
|
+
mediaKinds?: ('image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive')[];
|
|
62
|
+
aspectRatio?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Boolean field configuration
|
|
66
|
+
*/
|
|
67
|
+
export interface BooleanFieldConfig extends BaseFieldConfig {
|
|
68
|
+
type: 'boolean';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Date field configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface DateFieldConfig extends BaseFieldConfig {
|
|
74
|
+
type: 'date';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Time field configuration
|
|
78
|
+
*/
|
|
79
|
+
export interface TimeFieldConfig extends BaseFieldConfig {
|
|
80
|
+
type: 'time';
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* DateTime field configuration
|
|
84
|
+
*/
|
|
85
|
+
export interface DateTimeFieldConfig extends BaseFieldConfig {
|
|
86
|
+
type: 'datetime';
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Slug field configuration
|
|
90
|
+
*/
|
|
91
|
+
export interface SlugFieldConfig extends BaseFieldConfig {
|
|
92
|
+
type: 'slug';
|
|
93
|
+
sourceFieldId?: string;
|
|
94
|
+
statusFieldId?: string;
|
|
95
|
+
maxLength?: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* URL field configuration
|
|
99
|
+
*/
|
|
100
|
+
export interface UrlFieldConfig extends BaseFieldConfig {
|
|
101
|
+
type: 'url';
|
|
102
|
+
allowRelative?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Link field configuration
|
|
106
|
+
*/
|
|
107
|
+
export interface LinkFieldConfig extends BaseFieldConfig {
|
|
108
|
+
type: 'link';
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Select field configuration
|
|
112
|
+
*/
|
|
113
|
+
export interface SelectFieldConfig extends BaseFieldConfig {
|
|
114
|
+
type: 'select';
|
|
115
|
+
options: Array<{
|
|
116
|
+
value: string;
|
|
117
|
+
label: string;
|
|
118
|
+
}>;
|
|
119
|
+
multiple?: boolean;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Reference field configuration
|
|
123
|
+
*/
|
|
124
|
+
export interface ReferenceFieldConfig extends BaseFieldConfig {
|
|
125
|
+
type: 'reference';
|
|
126
|
+
referenceKind: string;
|
|
127
|
+
allowManualEntry?: boolean;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Group field configuration (nested object)
|
|
131
|
+
*/
|
|
132
|
+
export interface GroupFieldConfig extends BaseFieldConfig {
|
|
133
|
+
type: 'group';
|
|
134
|
+
fields: FieldConfig[];
|
|
135
|
+
/** Optional nested schema shape for compatibility with manifest FieldDefinition */
|
|
136
|
+
schema?: {
|
|
137
|
+
fields?: FieldConfig[];
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Modal field configuration (nested object shown in a dialog)
|
|
142
|
+
*
|
|
143
|
+
* Modal fields are structurally similar to group fields, but store children under
|
|
144
|
+
* `schema.fields` in the block manifest.
|
|
145
|
+
*/
|
|
146
|
+
export interface ModalFieldConfig extends BaseFieldConfig {
|
|
147
|
+
type: 'modal';
|
|
148
|
+
schema: {
|
|
149
|
+
fields: FieldConfig[];
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Repeater field configuration (array)
|
|
154
|
+
*/
|
|
155
|
+
export type RepeaterFieldConfig = BaseFieldConfig & ({
|
|
156
|
+
/**
|
|
157
|
+
* Optional custom validation schema for the entire repeater field.
|
|
158
|
+
* Useful for complex constraints that aren't expressible via field-level config.
|
|
159
|
+
*/
|
|
160
|
+
validation?: ZodTypeAny;
|
|
161
|
+
} & ({
|
|
162
|
+
type: 'repeater';
|
|
163
|
+
itemLabel?: string;
|
|
164
|
+
itemLabelSource?: string;
|
|
165
|
+
minItems?: number;
|
|
166
|
+
maxItems?: number;
|
|
167
|
+
polymorphic?: false;
|
|
168
|
+
fields: FieldConfig[];
|
|
169
|
+
/** Optional nested schema shape for compatibility with manifest FieldDefinition */
|
|
170
|
+
schema?: {
|
|
171
|
+
fields?: FieldConfig[];
|
|
172
|
+
};
|
|
173
|
+
itemTypes?: never;
|
|
174
|
+
allowConversion?: boolean;
|
|
175
|
+
} | {
|
|
176
|
+
type: 'repeater';
|
|
177
|
+
itemLabel?: string;
|
|
178
|
+
itemLabelSource?: string;
|
|
179
|
+
minItems?: number;
|
|
180
|
+
maxItems?: number;
|
|
181
|
+
polymorphic: true;
|
|
182
|
+
fields?: never;
|
|
183
|
+
/** Polymorphic repeaters do not use schema.fields */
|
|
184
|
+
schema?: never;
|
|
185
|
+
itemTypes: Record<string, {
|
|
186
|
+
label: string;
|
|
187
|
+
icon?: string;
|
|
188
|
+
fields: FieldConfig[];
|
|
189
|
+
}>;
|
|
190
|
+
allowConversion?: boolean;
|
|
191
|
+
}));
|
|
192
|
+
/**
|
|
193
|
+
* Button field configuration
|
|
194
|
+
*/
|
|
195
|
+
export interface ButtonFieldConfig extends BaseFieldConfig {
|
|
196
|
+
type: 'button';
|
|
197
|
+
allowedSizes?: Array<'sm' | 'md' | 'lg' | 'xl'>;
|
|
198
|
+
defaultSize?: 'sm' | 'md' | 'lg' | 'xl';
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Content type select field configuration
|
|
202
|
+
*/
|
|
203
|
+
export interface ContentTypeSelectFieldConfig extends BaseFieldConfig {
|
|
204
|
+
type: 'contentTypeSelect';
|
|
205
|
+
/** Filter: all, routable (hasPages=true), nonRoutable (hasPages=false) */
|
|
206
|
+
filter?: 'all' | 'routable' | 'nonRoutable';
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Entry picker field configuration
|
|
210
|
+
*/
|
|
211
|
+
export interface EntryPickerFieldConfig extends BaseFieldConfig {
|
|
212
|
+
type: 'entryPicker';
|
|
213
|
+
/** Fixed content type to filter entries by (no sibling contentType field required) */
|
|
214
|
+
fixedContentType?: string;
|
|
215
|
+
/** Field ID that contains the content type to filter entries by */
|
|
216
|
+
contentTypeField?: string;
|
|
217
|
+
/** What value should be stored when an entry is selected */
|
|
218
|
+
valueFrom?: 'id' | 'identifier' | 'slug';
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Union of all field configuration types
|
|
222
|
+
*/
|
|
223
|
+
export type FieldConfig = TextFieldConfig | NumberFieldConfig | RichTextFieldConfig | MediaFieldConfig | BooleanFieldConfig | DateFieldConfig | TimeFieldConfig | DateTimeFieldConfig | SlugFieldConfig | UrlFieldConfig | LinkFieldConfig | SelectFieldConfig | ReferenceFieldConfig | GroupFieldConfig | ModalFieldConfig | RepeaterFieldConfig | ButtonFieldConfig | TabGroupFieldConfig | PresetOrCustomFieldConfig | ContentTypeSelectFieldConfig | EntryPickerFieldConfig;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export * from './client/index';
|
|
2
|
+
export { formatPublishBlockedMessage, formatRecoveryConflictSummary, formatRecoveryConflictTitle, formatUnfinishedBlocksSummary, recoveryConflictCopy, unfinishedBlockCopy, } from './blockDraftSaveability';
|
|
3
|
+
export { WIDGET_NAMES, type WidgetName } from './widgets';
|
|
4
|
+
export { WidgetField, WidgetFieldMessage } from './widgets';
|
|
5
|
+
export type { WidgetFieldProps, WidgetFieldMessageProps } from './widgets';
|
|
6
|
+
export { SelectWidget } from './widgets';
|
|
7
|
+
export type { SelectWidgetProps, SelectWidgetOption } from './widgets';
|
|
8
|
+
export { ToggleWidget } from './widgets';
|
|
9
|
+
export type { ToggleWidgetProps } from './widgets';
|
|
10
|
+
export { TextInputWidget } from './widgets';
|
|
11
|
+
export type { TextInputWidgetProps } from './widgets';
|
|
12
|
+
export { BackgroundColorWidget } from './widgets';
|
|
13
|
+
export type { BackgroundColorWidgetProps, BackgroundColorMode } from './widgets';
|
|
14
|
+
export { BackgroundGradientWidget } from './widgets';
|
|
15
|
+
export type { BackgroundGradientWidgetProps } from './widgets';
|
|
16
|
+
export { BoxStyleWidget } from './widgets';
|
|
17
|
+
export { DatePickerPopover, parseDateValue, type DateParseResult, type DatePickerPopoverProps, } from './widgets';
|
|
18
|
+
export { FieldSettingsModal } from './widgets';
|
|
19
|
+
export type { FieldSettingsModalProps } from './widgets';
|
|
20
|
+
export { SettingsModal } from './widgets';
|
|
21
|
+
export type { SettingsModalProps, SettingsTab, SettingsTabId } from './widgets';
|
|
22
|
+
export * from './utils/fieldHelpers';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ManifestForm - Thin wrapper around FormRenderer for manifest-based forms
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* 1. Transform manifest FieldDefinitions → FieldConfigs (via adapter)
|
|
6
|
+
* 2. Pass transformed fields to generic FormRenderer
|
|
7
|
+
* 3. Handle manifest-specific options (role visibility, etc.)
|
|
8
|
+
*/
|
|
9
|
+
import type { BlockManifest, VisibilityLevel } from '@riverbankcms/blocks';
|
|
10
|
+
import { type FormRendererProps } from '../FormRenderer';
|
|
11
|
+
import type { FormBackend } from '../backend/types';
|
|
12
|
+
export interface ManifestFormProps {
|
|
13
|
+
manifest: BlockManifest;
|
|
14
|
+
className?: string;
|
|
15
|
+
role?: VisibilityLevel;
|
|
16
|
+
backend: FormBackend;
|
|
17
|
+
/** Optional widget overrides - allows replacing widgets at runtime */
|
|
18
|
+
widgetOverrides?: FormRendererProps['widgetOverrides'];
|
|
19
|
+
/** Optional block kind for SDK field options lookup (e.g., 'block.embed', 'custom.hero') */
|
|
20
|
+
blockKind?: string;
|
|
21
|
+
/** Show inline settings trigger for non-content intents (default: true) */
|
|
22
|
+
showSettingsTrigger?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* ManifestForm - Renders form fields from a block manifest
|
|
26
|
+
*
|
|
27
|
+
* This is a thin adapter that:
|
|
28
|
+
* 1. Converts manifest FieldDefinitions to FieldConfigs (via adapter)
|
|
29
|
+
* 2. Delegates rendering to FormRenderer
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* const backend = createRHFBackend(form)
|
|
34
|
+
* <ManifestForm manifest={blockManifest} backend={backend} />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function ManifestForm({ manifest, className, role, backend, widgetOverrides, blockKind, showSettingsTrigger, }: ManifestFormProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type NativeInputValidationProps } from '@riverbankcms/blocks/system/manifest/fieldValidation';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import type { FieldConfig } from '../fields/types';
|
|
4
|
+
export declare function buildCanonicalFieldSchema(field: FieldConfig): z.ZodTypeAny;
|
|
5
|
+
export declare function getCanonicalNativeInputProps(field: FieldConfig): NativeInputValidationProps;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK Tab Filtering
|
|
3
|
+
*
|
|
4
|
+
* Pure function for filtering tab group tabs based on SDK section options.
|
|
5
|
+
* This is used by TabGroupField to respect SDK site configuration.
|
|
6
|
+
*/
|
|
7
|
+
import type { SdkSectionOptions } from '../sdk-config';
|
|
8
|
+
/**
|
|
9
|
+
* Tab definition with optional SDK section option.
|
|
10
|
+
* This is a minimal interface that matches what TabGroupField receives.
|
|
11
|
+
*/
|
|
12
|
+
export interface FilterableTab {
|
|
13
|
+
id: string;
|
|
14
|
+
sdkSectionOption?: 'backgroundColor' | 'backgroundGradient' | 'backgroundImage';
|
|
15
|
+
}
|
|
16
|
+
export declare function isSdkSectionOptionEnabled(sdkSectionOption: FilterableTab['sdkSectionOption'] | undefined, isSdkSite: boolean, sectionOptions: SdkSectionOptions | null): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Filters tabs based on SDK section options.
|
|
19
|
+
*
|
|
20
|
+
* This pure function handles the filtering logic that was previously embedded
|
|
21
|
+
* in TabGroupField. It's designed to be testable and reusable.
|
|
22
|
+
*
|
|
23
|
+
* ## Filtering Rules
|
|
24
|
+
*
|
|
25
|
+
* - If not an SDK site or no sectionOptions exist, all tabs are returned
|
|
26
|
+
* - Tabs without `sdkSectionOption` are always visible
|
|
27
|
+
* - Tabs with `sdkSectionOption` are visible unless explicitly disabled
|
|
28
|
+
* - A disabled option is when `sectionOptions[key] === false`
|
|
29
|
+
*
|
|
30
|
+
* @param tabs - Array of tabs to filter
|
|
31
|
+
* @param isSdkSite - Whether this is an SDK-configured site
|
|
32
|
+
* @param sectionOptions - SDK section options (may be null)
|
|
33
|
+
* @returns Filtered array of visible tabs
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const visibleTabs = filterTabsBySdkOptions(
|
|
38
|
+
* config.tabs,
|
|
39
|
+
* isSdkSite,
|
|
40
|
+
* sectionOptions
|
|
41
|
+
* )
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function filterTabsBySdkOptions<T extends FilterableTab>(tabs: T[], isSdkSite: boolean, sectionOptions: SdkSectionOptions | null): T[];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manifest Form Adapter
|
|
3
|
+
*
|
|
4
|
+
* Transforms BlockManifest field definitions into FieldConfigs for form rendering.
|
|
5
|
+
* Handles role-based visibility filtering and structure normalization.
|
|
6
|
+
*
|
|
7
|
+
* This adapter is intentionally minimal - it only does what's truly manifest-specific:
|
|
8
|
+
* 1. Filter fields by role visibility
|
|
9
|
+
* 2. Flatten nested structure (schema.fields → fields)
|
|
10
|
+
*
|
|
11
|
+
* Everything else (validation, defaults, UI) is handled by the generic form system.
|
|
12
|
+
*/
|
|
13
|
+
import type { VisibilityLevel, BlockManifest } from '@riverbankcms/blocks';
|
|
14
|
+
import type { ZodType } from 'zod';
|
|
15
|
+
import type { FieldConfig } from '../fields/types';
|
|
16
|
+
export interface ManifestAdapterOptions {
|
|
17
|
+
role?: VisibilityLevel;
|
|
18
|
+
}
|
|
19
|
+
export interface ManifestAdapterResult {
|
|
20
|
+
fields: FieldConfig[];
|
|
21
|
+
schema: ZodType<Record<string, unknown>, Record<string, unknown>>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Union type for manifest form sources
|
|
25
|
+
* Can be either a BlockManifest or null
|
|
26
|
+
*/
|
|
27
|
+
export type ManifestFormSource = BlockManifest | null;
|
|
28
|
+
/**
|
|
29
|
+
* Options for manifest validation schema creation
|
|
30
|
+
*/
|
|
31
|
+
export interface ManifestSchemaOptions {
|
|
32
|
+
role?: VisibilityLevel;
|
|
33
|
+
widgets?: unknown;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Result of createManifestValidation
|
|
37
|
+
*/
|
|
38
|
+
export interface ManifestValidationResult {
|
|
39
|
+
schema: ZodType<Record<string, unknown>, Record<string, unknown>>;
|
|
40
|
+
fields: FieldConfig[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Transform a BlockManifest into form fields and validation schema
|
|
44
|
+
*/
|
|
45
|
+
export declare function createManifestFormAdapter(manifest: BlockManifest, options?: ManifestAdapterOptions): ManifestAdapterResult;
|
|
46
|
+
/**
|
|
47
|
+
* Create validation schema from a block manifest
|
|
48
|
+
*
|
|
49
|
+
* This is a convenience wrapper around createManifestFormAdapter for RHF validation.
|
|
50
|
+
* Use this when you need a Zod schema for form validation (e.g., with zodResolver).
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* const validation = createManifestValidation(manifest, { role: 'author' })
|
|
55
|
+
* const form = useForm({
|
|
56
|
+
* resolver: zodResolver(validation.schema),
|
|
57
|
+
* defaultValues: ...
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function createManifestValidation(manifest: BlockManifest, options?: ManifestSchemaOptions): ManifestValidationResult;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { BlockManifest } from '@riverbankcms/blocks';
|
|
2
|
+
import type { SdkBlockFieldOptionsMap, SdkBlockFieldExtensionsMap } from '../sdk-config/SdkConfigContext';
|
|
3
|
+
/**
|
|
4
|
+
* Merges SDK-provided field options AND field extensions into a block manifest.
|
|
5
|
+
*
|
|
6
|
+
* This creates a single source of truth for validation and rendering:
|
|
7
|
+
* 1. Field options: Replaces select options for fields with `ui.widget: 'sdkSelect'`
|
|
8
|
+
* 2. Field extensions: Appends additional fields to the end of the manifest
|
|
9
|
+
*
|
|
10
|
+
* Without this merge, the Zod validation schema is built from manifest's
|
|
11
|
+
* hardcoded options, but SdkSelectField renders SDK options - causing
|
|
12
|
+
* validation errors when users select SDK-provided values.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Field options: Embed block manifest has options [list, grid, carousel]
|
|
16
|
+
* // SDK config provides options [showcase, list]
|
|
17
|
+
* // After merge, manifest.fields[layoutField].options = [showcase, list]
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Field extensions: Body text block has [body] field
|
|
21
|
+
* // SDK config extends with [layout] field
|
|
22
|
+
* // After merge, manifest.fields = [body, layout]
|
|
23
|
+
*/
|
|
24
|
+
export declare function mergeManifestWithSdkOptions(manifest: BlockManifest, blockKind: string, sdkBlockFieldOptions?: SdkBlockFieldOptionsMap | null, sdkBlockFieldExtensions?: SdkBlockFieldExtensionsMap | null): BlockManifest;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type PaletteTokens = Record<string, string>;
|
|
3
|
+
type PaletteContextValue = {
|
|
4
|
+
tokens: PaletteTokens;
|
|
5
|
+
};
|
|
6
|
+
export declare function PaletteProvider({ tokens, children }: {
|
|
7
|
+
tokens: PaletteTokens | undefined;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function usePalette(): PaletteContextValue;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema and Default Value Registry
|
|
3
|
+
* Maps field types to validation schemas and default value builders
|
|
4
|
+
*
|
|
5
|
+
* Server-safe - no React, no browser APIs
|
|
6
|
+
* Can be used in API routes, server components, and validation
|
|
7
|
+
*/
|
|
8
|
+
import { buildTextFieldSchema } from '../widgets/TextField/textFieldSchema';
|
|
9
|
+
import { getTextFieldDefault } from '../widgets/TextField/textFieldDefaults';
|
|
10
|
+
import { buildNumberFieldSchema } from '../widgets/NumberField/numberFieldSchema';
|
|
11
|
+
import { getNumberFieldDefault } from '../widgets/NumberField/numberFieldDefaults';
|
|
12
|
+
import { buildSelectFieldSchema } from '../widgets/SelectField/selectFieldSchema';
|
|
13
|
+
import { getSelectFieldDefault } from '../widgets/SelectField/selectFieldDefaults';
|
|
14
|
+
import { buildBooleanFieldSchema } from '../widgets/BooleanField/booleanFieldSchema';
|
|
15
|
+
import { getBooleanFieldDefault } from '../widgets/BooleanField/booleanFieldDefaults';
|
|
16
|
+
import { buildGroupFieldSchema, type SchemaContext } from '../widgets/GroupField/groupFieldSchema';
|
|
17
|
+
import { getGroupFieldDefault, type DefaultValueContext } from '../widgets/GroupField/groupFieldDefaults';
|
|
18
|
+
import { buildModalFieldSchema } from '../widgets/ModalGroupField/modalFieldSchema';
|
|
19
|
+
import { getModalFieldDefault } from '../widgets/ModalGroupField/modalFieldDefaults';
|
|
20
|
+
import { buildRepeaterFieldSchema } from '../widgets/RepeaterField/repeaterFieldSchema';
|
|
21
|
+
import { getRepeaterFieldDefault } from '../widgets/RepeaterField/repeaterFieldDefaults';
|
|
22
|
+
import { buildUrlFieldSchema } from '../widgets/UrlField/urlFieldSchema';
|
|
23
|
+
import { getUrlFieldDefault } from '../widgets/UrlField/urlFieldDefaults';
|
|
24
|
+
import { buildTimeFieldSchema } from '../widgets/TimeField/timeFieldSchema';
|
|
25
|
+
import { getTimeFieldDefault } from '../widgets/TimeField/timeFieldDefaults';
|
|
26
|
+
import { buildDateFieldSchema } from '../widgets/DateField/dateFieldSchema';
|
|
27
|
+
import { getDateFieldDefault } from '../widgets/DateField/dateFieldDefaults';
|
|
28
|
+
import { buildDateTimeFieldSchema } from '../widgets/DateTimeField/dateTimeFieldSchema';
|
|
29
|
+
import { getDateTimeFieldDefault } from '../widgets/DateTimeField/dateTimeFieldDefaults';
|
|
30
|
+
import { buildSlugFieldSchema } from '../widgets/SlugField/slugFieldSchema';
|
|
31
|
+
import { getSlugFieldDefault } from '../widgets/SlugField/slugFieldDefaults';
|
|
32
|
+
import { buildLinkFieldSchema } from '../widgets/LinkField/linkFieldSchema';
|
|
33
|
+
import { getLinkFieldDefault } from '../widgets/LinkField/linkFieldDefaults';
|
|
34
|
+
import { buildRichTextFieldSchema } from '../widgets/RichTextField/richTextFieldSchema';
|
|
35
|
+
import { getRichTextFieldDefaultValue } from '../widgets/RichTextField/richTextFieldDefaults';
|
|
36
|
+
import { buildMediaFieldSchema } from '../widgets/MediaField/mediaFieldSchema';
|
|
37
|
+
import { getMediaFieldDefaultValue } from '../widgets/MediaField/mediaFieldDefaults';
|
|
38
|
+
import { buildTabGroupFieldSchema, getTabGroupFieldDefault } from '../widgets/TabGroupField/tabGroupFieldSchema';
|
|
39
|
+
import { buildPresetOrCustomFieldSchema } from '../widgets/PresetOrCustomField/presetOrCustomFieldSchema';
|
|
40
|
+
import { getPresetOrCustomFieldDefault } from '../widgets/PresetOrCustomField/presetOrCustomFieldDefaults';
|
|
41
|
+
import { buildReferenceFieldSchema } from '../widgets/ReferenceField/referenceFieldSchema';
|
|
42
|
+
import { getReferenceFieldDefault } from '../widgets/ReferenceField/referenceFieldDefaults';
|
|
43
|
+
import { buildContentTypeSelectFieldSchema } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldSchema';
|
|
44
|
+
import { getContentTypeSelectFieldDefault } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults';
|
|
45
|
+
import { buildEntryPickerFieldSchema } from '../widgets/EntryPickerField/entryPickerFieldSchema';
|
|
46
|
+
import { getEntryPickerFieldDefault } from '../widgets/EntryPickerField/entryPickerFieldDefaults';
|
|
47
|
+
import type { FieldConfig } from '../fields/types';
|
|
48
|
+
import type { ZodTypeAny } from 'zod';
|
|
49
|
+
export type { SchemaContext, DefaultValueContext };
|
|
50
|
+
export declare const SCHEMA_BUILDERS: {
|
|
51
|
+
readonly text: typeof buildTextFieldSchema;
|
|
52
|
+
readonly number: typeof buildNumberFieldSchema;
|
|
53
|
+
readonly select: typeof buildSelectFieldSchema;
|
|
54
|
+
readonly boolean: typeof buildBooleanFieldSchema;
|
|
55
|
+
readonly group: typeof buildGroupFieldSchema;
|
|
56
|
+
readonly modal: typeof buildModalFieldSchema;
|
|
57
|
+
readonly repeater: typeof buildRepeaterFieldSchema;
|
|
58
|
+
readonly url: typeof buildUrlFieldSchema;
|
|
59
|
+
readonly time: typeof buildTimeFieldSchema;
|
|
60
|
+
readonly date: typeof buildDateFieldSchema;
|
|
61
|
+
readonly datetime: typeof buildDateTimeFieldSchema;
|
|
62
|
+
readonly slug: typeof buildSlugFieldSchema;
|
|
63
|
+
readonly link: typeof buildLinkFieldSchema;
|
|
64
|
+
readonly richText: typeof buildRichTextFieldSchema;
|
|
65
|
+
readonly media: typeof buildMediaFieldSchema;
|
|
66
|
+
readonly tabGroup: typeof buildTabGroupFieldSchema;
|
|
67
|
+
readonly presetOrCustom: typeof buildPresetOrCustomFieldSchema;
|
|
68
|
+
readonly reference: typeof buildReferenceFieldSchema;
|
|
69
|
+
readonly contentTypeSelect: typeof buildContentTypeSelectFieldSchema;
|
|
70
|
+
readonly entryPicker: typeof buildEntryPickerFieldSchema;
|
|
71
|
+
};
|
|
72
|
+
export declare const DEFAULT_VALUE_BUILDERS: {
|
|
73
|
+
readonly text: typeof getTextFieldDefault;
|
|
74
|
+
readonly number: typeof getNumberFieldDefault;
|
|
75
|
+
readonly select: typeof getSelectFieldDefault;
|
|
76
|
+
readonly boolean: typeof getBooleanFieldDefault;
|
|
77
|
+
readonly group: typeof getGroupFieldDefault;
|
|
78
|
+
readonly modal: typeof getModalFieldDefault;
|
|
79
|
+
readonly repeater: typeof getRepeaterFieldDefault;
|
|
80
|
+
readonly url: typeof getUrlFieldDefault;
|
|
81
|
+
readonly time: typeof getTimeFieldDefault;
|
|
82
|
+
readonly date: typeof getDateFieldDefault;
|
|
83
|
+
readonly datetime: typeof getDateTimeFieldDefault;
|
|
84
|
+
readonly slug: typeof getSlugFieldDefault;
|
|
85
|
+
readonly link: typeof getLinkFieldDefault;
|
|
86
|
+
readonly richText: typeof getRichTextFieldDefaultValue;
|
|
87
|
+
readonly media: typeof getMediaFieldDefaultValue;
|
|
88
|
+
readonly tabGroup: typeof getTabGroupFieldDefault;
|
|
89
|
+
readonly presetOrCustom: typeof getPresetOrCustomFieldDefault;
|
|
90
|
+
readonly reference: typeof getReferenceFieldDefault;
|
|
91
|
+
readonly contentTypeSelect: typeof getContentTypeSelectFieldDefault;
|
|
92
|
+
readonly entryPicker: typeof getEntryPickerFieldDefault;
|
|
93
|
+
};
|
|
94
|
+
export type SchemaBuilderType = keyof typeof SCHEMA_BUILDERS;
|
|
95
|
+
export type DefaultValueBuilderType = keyof typeof DEFAULT_VALUE_BUILDERS;
|
|
96
|
+
/**
|
|
97
|
+
* Helper to build a validation schema for a single field
|
|
98
|
+
* Recursively handles nested fields (group, repeater)
|
|
99
|
+
*/
|
|
100
|
+
export declare function buildFieldSchema(field: FieldConfig, ctx: SchemaContext): ZodTypeAny;
|
|
101
|
+
/**
|
|
102
|
+
* Helper to get default value for a single field
|
|
103
|
+
* Recursively handles nested fields (group, repeater)
|
|
104
|
+
*/
|
|
105
|
+
export declare function getFieldDefault(field: FieldConfig, ctx: DefaultValueContext): unknown;
|