@riverbankcms/sdk 0.62.2 → 0.64.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 +71 -2
- package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/billing.d.ts +46 -10
- package/dist/_dts/api/src/bookingClosures.d.ts +106 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +18 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +27 -1
- package/dist/_dts/api/src/calendar.d.ts +11 -1
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -0
- package/dist/_dts/api/src/contentVersionHistory.d.ts +52 -0
- package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +45 -0
- package/dist/_dts/api/src/courses.d.ts +3 -0
- package/dist/_dts/api/src/endpoints.d.ts +133 -6
- package/dist/_dts/api/src/index.d.ts +12 -6
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +31 -7
- package/dist/_dts/api/src/siteMembers.d.ts +10 -1
- package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
- package/dist/_dts/api/src/siteOperations.d.ts +10 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +62 -12
- package/dist/_dts/api/src/types.d.ts +4 -2
- package/dist/_dts/api/src/url.d.ts +3 -3
- package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
- package/dist/_dts/billing/src/plans/types.d.ts +9 -0
- 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 +2 -2
- 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/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/runtime/nodes/newsletter-form.client.state.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +8 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/themeColorResolution.d.ts +7 -0
- 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/hooks/useDebouncedLatestSave.d.ts +24 -0
- package/dist/_dts/content-editor/src/index.d.ts +2 -4
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -0
- 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 +1192 -234
- package/dist/_dts/db/src/schemas/forms.d.ts +1 -0
- 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/BlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/index.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +31 -8
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +6 -5
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +72 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +6 -5
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +12 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +10 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -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 +15 -2
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControlStyles.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +9 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +8 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +49 -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/options.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -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/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 +21 -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/entryCommands.d.ts +85 -0
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -1
- 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 +1944 -0
- package/dist/_dts/site-commands/src/domain.d.ts +104 -0
- package/dist/_dts/site-commands/src/guards.d.ts +1 -0
- package/dist/_dts/site-commands/src/index.d.ts +9 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
- package/dist/_dts/site-commands/src/planner.d.ts +51 -0
- package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
- package/dist/_dts/site-commands/src/refs.d.ts +75 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -21
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -67
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -62
- package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +94 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +59 -0
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +155 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +7 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +15 -1
- package/dist/_dts/theme-core/src/site-styles/records.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +96 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +44 -2
- package/dist/_dts/theme-core/src/tokens/colorTokenParts.d.ts +13 -0
- package/dist/_dts/theme-core/src/tokens/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +29 -0
- package/dist/_dts/theme-core/src/utils/tokenOrColor.d.ts +27 -1
- package/dist/cli/index.mjs +5049 -932
- package/dist/cli/init-docs/content/cli-reference.md +18 -0
- package/dist/client/bookings.mjs +544 -393
- package/dist/client/client.mjs +5189 -4144
- package/dist/client/hooks.mjs +3233 -2540
- package/dist/client/rendering/client.mjs +4649 -3597
- package/dist/client/rendering/islands.mjs +19533 -13480
- package/dist/client/rendering.mjs +5218 -4171
- package/dist/preview-next/before-render.mjs +161 -6
- package/dist/preview-next/client/runtime.mjs +5676 -3565
- package/dist/preview-next/editor-base.css +31 -0
- package/dist/preview-next/middleware.mjs +154 -6
- package/dist/server/components.mjs +3333 -2575
- package/dist/server/config-validation.mjs +3447 -2754
- package/dist/server/config.mjs +3450 -2757
- package/dist/server/data.mjs +3233 -2540
- package/dist/server/index.mjs +730 -543
- package/dist/server/next.mjs +3651 -2893
- package/dist/server/page-converter.mjs +2512 -2031
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3333 -2575
- package/dist/server/rendering.mjs +3352 -2594
- package/dist/server/routing.mjs +3351 -2640
- package/dist/server/server.mjs +3262 -2569
- package/dist/server/theme-bridge.mjs +1260 -767
- package/dist/server/theme.mjs +623 -498
- package/dist/styles/index.css +33 -0
- package/package.json +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/colorResolution.d.ts +0 -13
- 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/preview-next/src/client/blocks/overlay.d.ts +0 -30
- package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +0 -67
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type BlockManifest } from '@riverbankcms/blocks';
|
|
2
|
+
import type { EditorSyncState } from '@riverbankcms/core';
|
|
3
|
+
import type { z } from 'zod';
|
|
4
|
+
type ManifestValidationIssue = z.core.$ZodIssue;
|
|
5
|
+
export type BlockDraftValidationIssue = Readonly<{
|
|
6
|
+
code: ManifestValidationIssue['code'];
|
|
7
|
+
path: (string | number)[];
|
|
8
|
+
fieldPath: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}>;
|
|
11
|
+
export type BlockManifestValidationMode = 'draft' | 'strict';
|
|
12
|
+
export type BlockDraftSaveability = Readonly<{
|
|
13
|
+
kind: 'pristine';
|
|
14
|
+
issues: readonly BlockDraftValidationIssue[];
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'incomplete';
|
|
17
|
+
issues: readonly BlockDraftValidationIssue[];
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
kind: 'saveable';
|
|
20
|
+
issues: readonly [];
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
kind: 'save_failed';
|
|
23
|
+
issues: readonly BlockDraftValidationIssue[];
|
|
24
|
+
error: string;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const unfinishedBlockCopy: {
|
|
27
|
+
readonly title: "Fix this block to save it";
|
|
28
|
+
readonly description: "Some fields need a quick check. Your changes are safe here for now.";
|
|
29
|
+
};
|
|
30
|
+
export declare const recoveryConflictCopy: {
|
|
31
|
+
readonly reviewActionLabel: "Review affected blocks";
|
|
32
|
+
readonly discardActionLabel: "Discard browser recovery";
|
|
33
|
+
readonly blockNoticeTitle: "We couldn’t restore unfinished edits here automatically";
|
|
34
|
+
readonly blockNoticeDescription: "The saved version changed before we could put them back.";
|
|
35
|
+
readonly pageNoticeDescription: "The saved page changed, so we couldn’t restore them automatically.";
|
|
36
|
+
};
|
|
37
|
+
export declare const unfinishedBlocksSummaryCopy: {
|
|
38
|
+
readonly singular: "1 block still needs attention";
|
|
39
|
+
readonly plural: (count: number) => string;
|
|
40
|
+
};
|
|
41
|
+
export declare const publishBlockedCopy: {
|
|
42
|
+
readonly singleInvalidBlock: (blockLabel: string) => string;
|
|
43
|
+
readonly multipleInvalidBlocks: (count: number) => string;
|
|
44
|
+
};
|
|
45
|
+
export declare function formatRecoveryConflictTitle(count: number): string;
|
|
46
|
+
export declare function formatRecoveryConflictSummary(count: number): string | null;
|
|
47
|
+
export declare function formatUnfinishedBlocksSummary(count: number): string | null;
|
|
48
|
+
export declare function formatPublishBlockedMessage(input: Readonly<{
|
|
49
|
+
type: 'single-invalid-block';
|
|
50
|
+
blockLabel: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'multiple-invalid-blocks';
|
|
53
|
+
count: number;
|
|
54
|
+
}>): string;
|
|
55
|
+
export declare function deriveBlockDraftSaveability(input: {
|
|
56
|
+
syncState: EditorSyncState;
|
|
57
|
+
issues: readonly BlockDraftValidationIssue[];
|
|
58
|
+
hasMeaningfulEdit: boolean;
|
|
59
|
+
showAllValidation: boolean;
|
|
60
|
+
}): BlockDraftSaveability;
|
|
61
|
+
export declare function shouldShowBlockFieldValidation(input: {
|
|
62
|
+
fieldPath: string;
|
|
63
|
+
touchedPaths: ReadonlySet<string>;
|
|
64
|
+
showAllValidation: boolean;
|
|
65
|
+
}): boolean;
|
|
66
|
+
export declare function validateBlockManifestValues(manifest: BlockManifest, values: Record<string, unknown>): BlockDraftValidationIssue[];
|
|
67
|
+
export declare function validateBlockManifestIssues(manifest: BlockManifest, values: Record<string, unknown>, mode: BlockManifestValidationMode): ManifestValidationIssue[];
|
|
68
|
+
export declare function validateBlockManifest(manifest: BlockManifest, values: Record<string, unknown>, mode: BlockManifestValidationMode): BlockDraftValidationIssue[];
|
|
69
|
+
export declare function normalizeManifestIssueMessage(issue: ManifestValidationIssue): string;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../blockDraftSaveability';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { FormRenderer } from '../FormRenderer';
|
|
2
|
+
export type { FormRendererProps } from '../FormRenderer';
|
|
3
|
+
export { ManifestForm } from '../manifest/ManifestForm';
|
|
4
|
+
export type { ManifestFormProps } from '../manifest/ManifestForm';
|
|
5
|
+
export type { FieldWidgetComponent, FieldWidgetProps } from '../fields/props';
|
|
6
|
+
export { useField, useArrayField } from '../backend/hooks';
|
|
7
|
+
export { createRHFBackend, createStoreBackend, useBackendWatch } from '../backend/types';
|
|
8
|
+
export type { FormBackend, FieldError, FieldState, SetValueOptions } from '../backend/types';
|
|
9
|
+
export type { ManifestAdapterOptions, ManifestAdapterResult, ManifestFormSource, ManifestSchemaOptions, ManifestValidationResult, } from '../manifest/manifestFormAdapter';
|
|
10
|
+
export { createManifestValidation } from '../manifest/manifestFormAdapter';
|
|
11
|
+
export { formatPublishBlockedMessage, formatRecoveryConflictSummary, formatRecoveryConflictTitle, deriveBlockDraftSaveability, formatUnfinishedBlocksSummary, normalizeManifestIssueMessage, recoveryConflictCopy, shouldShowBlockFieldValidation, unfinishedBlockCopy, validateBlockManifest, validateBlockManifestIssues, validateBlockManifestValues, } from './blockDraftSaveability';
|
|
12
|
+
export type { BlockDraftSaveability, BlockDraftValidationIssue, BlockManifestValidationMode, } from './blockDraftSaveability';
|
|
13
|
+
export type { BaseFieldConfig, FieldConfig, TextFieldConfig, NumberFieldConfig, RichTextFieldConfig, MediaFieldConfig, BooleanFieldConfig, DateFieldConfig, TimeFieldConfig, DateTimeFieldConfig, SlugFieldConfig, UrlFieldConfig, LinkFieldConfig, SelectFieldConfig, ReferenceFieldConfig, GroupFieldConfig, RepeaterFieldConfig, ButtonFieldConfig, ContentTypeSelectFieldConfig, EntryPickerFieldConfig, } from '../fields/types';
|
|
14
|
+
export { createManifestFormAdapter } from '../manifest/manifestFormAdapter';
|
|
15
|
+
export { PaletteProvider, usePalette } from '../palette/PaletteContext';
|
|
16
|
+
export { SdkConfigProvider, useSdkConfig, useBlockFieldOptions } from '../sdk-config';
|
|
17
|
+
export type { SdkConfig, SdkConfigProviderProps, SdkThemePalette, SdkSectionBackground, SdkSectionOptions, SdkSiteStyleConfig, SdkFieldSelectOption, SdkBlockFieldConfig, SdkBlockFieldOptionsMap, SdkBlockFieldExtensionsMap, } from '../sdk-config';
|
|
18
|
+
export { BlockContextProvider, useBlockContext } from '../context';
|
|
19
|
+
export type { BlockContextValue, BlockContextProviderProps } from '../context';
|
|
20
|
+
export { DisplayLabelResolverProvider, useDisplayLabelResolvers } from '../context';
|
|
21
|
+
export type { DisplayLabelResolver, DisplayLabelResolverMap, ResolverCallContext } from '../context';
|
|
22
|
+
export { FieldPreviewResolverProvider, useFieldPreviewResolvers } from '../context';
|
|
23
|
+
export type { FieldPreviewResolver, FieldPreviewResolverMap, FieldPreviewResolverCallContext } from '../context';
|
|
24
|
+
export { ImageResolveContextProvider, useImageResolveContextOptional } from '../context';
|
|
25
|
+
export { mergeManifestWithSdkOptions } from '../manifest/mergeManifestWithSdkOptions';
|
|
26
|
+
export { FieldFrame, FieldFrameMessage } from '../widgets/FieldFrame';
|
|
27
|
+
export type { FieldFrameProps, FieldFrameRenderProps, FieldFrameMessageProps } from '../widgets/FieldFrame';
|
|
28
|
+
export { SelectField } from '../widgets/SelectField';
|
|
29
|
+
export { BackgroundColorField } from '../widgets/BackgroundColorWidget';
|
|
30
|
+
export { BackgroundGradientField } from '../widgets/BackgroundGradientWidget';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Block context value
|
|
4
|
+
*
|
|
5
|
+
* Provides information about the current block being edited.
|
|
6
|
+
* Used by widgets like SdkSelectField to look up SDK-provided field options.
|
|
7
|
+
*/
|
|
8
|
+
export interface BlockContextValue {
|
|
9
|
+
/** The block kind (e.g., 'block.embed', 'custom.hero') */
|
|
10
|
+
blockKind: string;
|
|
11
|
+
}
|
|
12
|
+
export interface BlockContextProviderProps {
|
|
13
|
+
blockKind: string;
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* BlockContextProvider
|
|
18
|
+
*
|
|
19
|
+
* Provides block information to child widgets.
|
|
20
|
+
* Typically used by FormRenderer when editing a block.
|
|
21
|
+
*/
|
|
22
|
+
export declare function BlockContextProvider({ blockKind, children }: BlockContextProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* useBlockContext
|
|
25
|
+
*
|
|
26
|
+
* Hook to access the current block context.
|
|
27
|
+
* Returns null when not within a BlockContextProvider.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useBlockContext(): BlockContextValue | null;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FieldConfig } from '../fields/types';
|
|
3
|
+
/**
|
|
4
|
+
* Context passed to a display label resolver, providing access to sibling field values.
|
|
5
|
+
*/
|
|
6
|
+
export type ResolverCallContext = {
|
|
7
|
+
getSiblingValue: (fieldId: string) => unknown;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* A function that resolves a stored field value to a human-readable display label.
|
|
11
|
+
*
|
|
12
|
+
* Returns null if the value can't be resolved (caller falls back to raw value).
|
|
13
|
+
*/
|
|
14
|
+
export type DisplayLabelResolver = (value: unknown, fieldConfig: FieldConfig, context: ResolverCallContext) => Promise<string | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Map of field type to display label resolver.
|
|
17
|
+
* Only field types that need async resolution register here.
|
|
18
|
+
*/
|
|
19
|
+
export type DisplayLabelResolverMap = Partial<Record<FieldConfig['type'], DisplayLabelResolver>>;
|
|
20
|
+
/**
|
|
21
|
+
* Provides display label resolvers to descendant components.
|
|
22
|
+
* Repeater items use these resolvers to show human-readable labels
|
|
23
|
+
* instead of raw stored values (e.g. entry titles instead of slugs).
|
|
24
|
+
*/
|
|
25
|
+
export declare function DisplayLabelResolverProvider({ resolvers, children, }: {
|
|
26
|
+
resolvers: DisplayLabelResolverMap;
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/**
|
|
30
|
+
* Access the display label resolver map.
|
|
31
|
+
* Returns an empty map when no provider is present (resolvers are optional).
|
|
32
|
+
*/
|
|
33
|
+
export declare function useDisplayLabelResolvers(): DisplayLabelResolverMap;
|
|
@@ -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;
|