@riverbankcms/sdk 0.62.4 → 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 +64 -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/bookingConfig.d.ts +2 -0
- 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 +23 -0
- package/dist/_dts/api/src/index.d.ts +8 -5
- 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/siteOnboarding.d.ts +4 -0
- package/dist/_dts/api/src/siteOperations.d.ts +10 -0
- 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 +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/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/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 +750 -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/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/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 +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 +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/cli/index.mjs +3997 -548
- package/dist/cli/init-docs/content/cli-reference.md +18 -0
- package/dist/client/bookings.mjs +25 -25
- package/dist/client/client.mjs +2560 -2487
- package/dist/client/hooks.mjs +2288 -2194
- package/dist/client/rendering/client.mjs +296 -108
- package/dist/client/rendering/islands.mjs +18257 -13071
- package/dist/client/rendering.mjs +788 -713
- package/dist/preview-next/before-render.mjs +23 -0
- package/dist/preview-next/client/runtime.mjs +2219 -2076
- package/dist/preview-next/middleware.mjs +23 -0
- package/dist/server/components.mjs +410 -306
- package/dist/server/config-validation.mjs +2516 -2422
- package/dist/server/config.mjs +2516 -2422
- package/dist/server/data.mjs +2288 -2194
- package/dist/server/index.mjs +599 -537
- package/dist/server/next.mjs +2517 -2413
- package/dist/server/page-converter.mjs +42 -10
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +410 -306
- package/dist/server/rendering.mjs +410 -306
- package/dist/server/routing.mjs +2302 -2288
- package/dist/server/server.mjs +2306 -2212
- package/dist/server/theme-bridge.mjs +14 -4
- 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
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type SelectWidgetOption = {
|
|
3
|
+
value: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type SelectWidgetProps = {
|
|
9
|
+
id?: string;
|
|
10
|
+
label: string;
|
|
11
|
+
value: string | null;
|
|
12
|
+
onChange: (value: string) => void;
|
|
13
|
+
options: SelectWidgetOption[];
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
hint?: ReactNode;
|
|
16
|
+
error?: ReactNode;
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
triggerClassName?: string;
|
|
19
|
+
size?: 'sm' | 'default';
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
className?: string;
|
|
22
|
+
labelClassName?: string;
|
|
23
|
+
descriptionClassName?: string;
|
|
24
|
+
renderOption?: (option: SelectWidgetOption, state: {
|
|
25
|
+
selected: boolean;
|
|
26
|
+
}) => ReactNode;
|
|
27
|
+
renderValue?: (option: SelectWidgetOption | undefined) => ReactNode;
|
|
28
|
+
dataPath?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Standalone select widget with block-form styling parity. Supports custom option
|
|
32
|
+
* renderers while maintaining accessible labelling and message semantics.
|
|
33
|
+
*/
|
|
34
|
+
export declare function SelectWidget(props: SelectWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { FieldConfig } from '../../fields/types';
|
|
3
|
+
import type { FormBackend } from '../../backend/types';
|
|
4
|
+
export type SettingsTabId = 'display' | 'behavior' | 'style';
|
|
5
|
+
export type SettingsTab = {
|
|
6
|
+
id: SettingsTabId;
|
|
7
|
+
label: string;
|
|
8
|
+
fields: FieldConfig[];
|
|
9
|
+
};
|
|
10
|
+
export type SettingsModalProps = {
|
|
11
|
+
tabs: SettingsTab[];
|
|
12
|
+
backend: FormBackend;
|
|
13
|
+
renderField: (field: FieldConfig, path: string) => ReactNode;
|
|
14
|
+
title?: string;
|
|
15
|
+
tooltip?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function SettingsModal({ tabs, backend, renderField, title, tooltip, }: SettingsModalProps): ReactNode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SliderField - Slider input widget for percentage/range values
|
|
3
|
+
* Pure UI component with no validation or default value logic
|
|
4
|
+
*
|
|
5
|
+
* This is a **widget variant** of number fields, not a separate field type.
|
|
6
|
+
* It reuses NumberField's schema and default value builders. Applied via
|
|
7
|
+
* `ui: { widget: 'slider' }` on `type: 'number'` fields.
|
|
8
|
+
*
|
|
9
|
+
* Key behaviors:
|
|
10
|
+
* - Null/undefined values display as max (100%) since null opacity = fully opaque at runtime
|
|
11
|
+
* - Hardcodes `%` suffix (designed for 0-100 percentage fields like opacity)
|
|
12
|
+
* - Supports `ui.min`, `ui.max`, `ui.step`, `ui.showValue` configuration
|
|
13
|
+
*/
|
|
14
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
15
|
+
import type { NumberFieldConfig } from '../../fields/types';
|
|
16
|
+
export declare function SliderField({ path, backend, config }: FieldWidgetProps<number, NumberFieldConfig>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SliderField } from './SliderField';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SlugField - URL slug input with auto-generation
|
|
3
|
+
*
|
|
4
|
+
* Auto-generates slugs from a source field (default: title) when in draft status.
|
|
5
|
+
* Detects manual edits and stops auto-generation.
|
|
6
|
+
* Ensures unique slugs within repeaters.
|
|
7
|
+
*/
|
|
8
|
+
import type { ReactNode } from 'react';
|
|
9
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
10
|
+
import type { SlugFieldConfig } from '../../fields/types';
|
|
11
|
+
export interface SlugFieldProps extends FieldWidgetProps<string, SlugFieldConfig> {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* SlugField - Renders a slug input with auto-generation
|
|
15
|
+
*
|
|
16
|
+
* Features:
|
|
17
|
+
* - Auto-generates from source field (e.g., title)
|
|
18
|
+
* - Only auto-generates when status is 'draft'
|
|
19
|
+
* - Detects and respects manual edits
|
|
20
|
+
* - Ensures uniqueness in repeaters (appends -2, -3, etc.)
|
|
21
|
+
* - Validates format (lowercase, numbers, dashes, optional slashes)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <SlugField
|
|
26
|
+
* path="slug"
|
|
27
|
+
* backend={backend}
|
|
28
|
+
* config={{
|
|
29
|
+
* id: 'slug',
|
|
30
|
+
* type: 'slug',
|
|
31
|
+
* label: 'Slug',
|
|
32
|
+
* sourceFieldId: 'title',
|
|
33
|
+
* statusFieldId: 'status',
|
|
34
|
+
* maxLength: 100,
|
|
35
|
+
* }}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function SlugField({ path, backend, config }: SlugFieldProps): ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useSlugAutoGeneration, type UseSlugAutoGenerationProps } from './useSlugAutoGeneration';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useSlugAutoGeneration - Auto-generate slugs from source field
|
|
3
|
+
*
|
|
4
|
+
* Watches source and status fields and automatically generates slugs when appropriate.
|
|
5
|
+
* Respects manual edits and only generates in draft status.
|
|
6
|
+
*/
|
|
7
|
+
import type { FormBackend } from '../../../backend/types';
|
|
8
|
+
import type { SlugFieldConfig } from '../../../fields/types';
|
|
9
|
+
export interface UseSlugAutoGenerationProps {
|
|
10
|
+
path: string;
|
|
11
|
+
backend: FormBackend;
|
|
12
|
+
config: SlugFieldConfig;
|
|
13
|
+
onManualEditChange?: (isManual: boolean) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook to handle automatic slug generation
|
|
17
|
+
*
|
|
18
|
+
* Features:
|
|
19
|
+
* - Auto-generates from source field (default: 'title')
|
|
20
|
+
* - Only generates when status is 'draft' (default status field: 'status')
|
|
21
|
+
* - Detects manual edits and stops auto-generation
|
|
22
|
+
* - Ensures uniqueness within repeaters
|
|
23
|
+
* - Respects maxLength constraint
|
|
24
|
+
*/
|
|
25
|
+
export declare function useSlugAutoGeneration({ path, backend, config, onManualEditChange }: UseSlugAutoGenerationProps): {
|
|
26
|
+
isManualEdit: boolean;
|
|
27
|
+
lastAutoValue: string | null;
|
|
28
|
+
setManualEdit: (value: boolean) => void;
|
|
29
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { SlugField } from './SlugField';
|
|
2
|
+
export { buildSlugFieldSchema } from './slugFieldSchema';
|
|
3
|
+
export { getSlugFieldDefault } from './slugFieldDefaults';
|
|
4
|
+
export { useSlugAutoGeneration, type UseSlugAutoGenerationProps } from './hooks';
|
|
5
|
+
export { getSiblingPath, getParentPath, getCollectionPath, slugify, limitSlugLength, sanitizeSlugInput, ensureUniqueSlug } from './utils';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slug Field - Validation Schema
|
|
3
|
+
*/
|
|
4
|
+
import type { z } from 'zod';
|
|
5
|
+
import type { SlugFieldConfig } from '../../fields/types';
|
|
6
|
+
/**
|
|
7
|
+
* Build Zod validation schema for Slug field
|
|
8
|
+
*
|
|
9
|
+
* Validates:
|
|
10
|
+
* - Lowercase letters, numbers, and dashes only
|
|
11
|
+
* - Optional slashes for paths (e.g., 'parent/child')
|
|
12
|
+
* - Optional maxLength constraint
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildSlugFieldSchema(field: SlugFieldConfig): z.ZodTypeAny;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Utilities - Helpers for deriving relative field paths
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Get the path to a sibling field
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* getSiblingPath('sections.0.title', 'slug') // => 'sections.0.slug'
|
|
9
|
+
* getSiblingPath('title', 'slug') // => 'slug'
|
|
10
|
+
*/
|
|
11
|
+
export declare function getSiblingPath(ownPath: string, siblingId: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the parent path (for repeater uniqueness checking)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* getParentPath('sections.0.slug') // => 'sections.0'
|
|
17
|
+
* getParentPath('sections') // => null
|
|
18
|
+
*/
|
|
19
|
+
export declare function getParentPath(ownPath: string): string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Get the collection path (parent without index)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* getCollectionPath('sections.0.slug') // => { collection: 'sections', index: 0 }
|
|
25
|
+
* getCollectionPath('slug') // => null
|
|
26
|
+
*/
|
|
27
|
+
export declare function getCollectionPath(ownPath: string): {
|
|
28
|
+
collection: string;
|
|
29
|
+
index: number;
|
|
30
|
+
} | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slug Utilities - Helpers for generating and validating slugs
|
|
3
|
+
*/
|
|
4
|
+
import { slugify, limitSlugLength, sanitizeSlugInput } from '../../../utils/slug';
|
|
5
|
+
import type { FormBackend } from '../../../backend/types';
|
|
6
|
+
export { slugify, limitSlugLength, sanitizeSlugInput };
|
|
7
|
+
/**
|
|
8
|
+
* Ensure unique slug within a repeater by appending -2, -3, etc.
|
|
9
|
+
*
|
|
10
|
+
* @param candidate - The proposed slug
|
|
11
|
+
* @param backend - Form backend for reading repeater items
|
|
12
|
+
* @param collectionPath - Path to the repeater array
|
|
13
|
+
* @param currentIndex - Index of current item (to exclude from check)
|
|
14
|
+
* @param fieldId - ID of the slug field
|
|
15
|
+
* @param maxLength - Optional maximum length constraint
|
|
16
|
+
*/
|
|
17
|
+
export declare function ensureUniqueSlug(candidate: string, backend: FormBackend, collectionPath: string, currentIndex: number, fieldId: string, maxLength?: number): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TabGroupField - Container widget for tabbed field groups
|
|
3
|
+
*
|
|
4
|
+
* Provides a tab interface for switching between different field groups.
|
|
5
|
+
* Each tab contains its own set of fields rendered via the generic field renderer.
|
|
6
|
+
*
|
|
7
|
+
* The active tab can be controlled by an external field (activeTabField),
|
|
8
|
+
* or managed internally if no control field is specified.
|
|
9
|
+
*/
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
12
|
+
import type { TabGroupFieldConfig } from './types';
|
|
13
|
+
export declare function TabGroupField({ path, backend, config, renderChild, }: FieldWidgetProps<Record<string, unknown>, TabGroupFieldConfig>): ReactNode;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TabGroupField validation schema builder
|
|
3
|
+
* Server-safe - no React, no browser APIs
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { TabGroupFieldConfig } from './types';
|
|
7
|
+
import type { SchemaContext, DefaultValueContext } from '../../registry/schemas';
|
|
8
|
+
/**
|
|
9
|
+
* Build validation schema for TabGroupField
|
|
10
|
+
*
|
|
11
|
+
* TabGroup is a UI container that organizes fields into tabs.
|
|
12
|
+
* It validates all child fields across all tabs, and optionally
|
|
13
|
+
* validates the activeTabField if one is specified.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildTabGroupFieldSchema(field: TabGroupFieldConfig, ctx: SchemaContext): z.ZodTypeAny;
|
|
16
|
+
/**
|
|
17
|
+
* Get default value for TabGroupField
|
|
18
|
+
*
|
|
19
|
+
* Returns an object containing default values for all child fields
|
|
20
|
+
* across all tabs, plus the activeTabField if specified.
|
|
21
|
+
*
|
|
22
|
+
* Follows the same pattern as GroupField - includes all fields
|
|
23
|
+
* even if their default value is undefined.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getTabGroupFieldDefault(field: TabGroupFieldConfig, ctx: DefaultValueContext): Record<string, unknown>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { BaseFieldConfig, FieldConfig } from '../../fields/types';
|
|
2
|
+
/**
|
|
3
|
+
* Tab definition for TabGroupField
|
|
4
|
+
*/
|
|
5
|
+
export interface TabDefinition {
|
|
6
|
+
/** Tab identifier (used in activeTabField value) */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Display label for the tab */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Optional icon name (lucide) - not yet implemented */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Optional description shown at the top of tab content */
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Fields to render in this tab */
|
|
15
|
+
fields: FieldConfig[];
|
|
16
|
+
/**
|
|
17
|
+
* Optional SDK section option that controls tab visibility.
|
|
18
|
+
* When set, the tab is only shown when the SDK sectionOptions[key] is not false.
|
|
19
|
+
* If no SDK config is present, the tab is always visible.
|
|
20
|
+
*/
|
|
21
|
+
sdkSectionOption?: 'backgroundColor' | 'backgroundGradient' | 'backgroundImage';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* TabGroupField configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface TabGroupFieldConfig extends BaseFieldConfig {
|
|
27
|
+
type: 'tabGroup';
|
|
28
|
+
/** Tab definitions */
|
|
29
|
+
tabs: TabDefinition[];
|
|
30
|
+
/**
|
|
31
|
+
* Optional: field ID that controls which tab is active
|
|
32
|
+
* If not specified, tabs use internal state
|
|
33
|
+
* If specified, the field value should match a tab.id
|
|
34
|
+
*/
|
|
35
|
+
activeTabField?: string;
|
|
36
|
+
ui?: {
|
|
37
|
+
/** Hide the entire field */
|
|
38
|
+
hidden?: boolean;
|
|
39
|
+
/** Hide the field label */
|
|
40
|
+
hideLabel?: boolean;
|
|
41
|
+
/** Tab style variant (future enhancement) */
|
|
42
|
+
tabStyle?: 'pills' | 'underline' | 'buttons';
|
|
43
|
+
/** Tabs take full width */
|
|
44
|
+
fullWidth?: boolean;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField - Text input widget (single-line or multiline)
|
|
3
|
+
* Pure UI component with no validation or default value logic
|
|
4
|
+
*/
|
|
5
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
6
|
+
import type { TextFieldConfig } from '../../fields/types';
|
|
7
|
+
export declare function TextField({ path, backend, config }: FieldWidgetProps<string, TextFieldConfig>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField validation schema builder
|
|
3
|
+
* Server-safe - no React, no browser APIs
|
|
4
|
+
*/
|
|
5
|
+
import type { z } from 'zod';
|
|
6
|
+
import type { TextFieldConfig } from '../../fields/types';
|
|
7
|
+
export declare function buildTextFieldSchema(field: TextFieldConfig): z.ZodTypeAny;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type TextInputWidgetProps = {
|
|
3
|
+
id?: string;
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
description?: ReactNode;
|
|
8
|
+
labelClassName?: string;
|
|
9
|
+
descriptionClassName?: string;
|
|
10
|
+
hint?: ReactNode;
|
|
11
|
+
error?: ReactNode;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
className?: string;
|
|
14
|
+
inputClassName?: string;
|
|
15
|
+
autoComplete?: string;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
dataPath?: string;
|
|
18
|
+
maxLength?: number;
|
|
19
|
+
};
|
|
20
|
+
export declare function TextInputWidget(props: TextInputWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimeField - Time input widget
|
|
3
|
+
*
|
|
4
|
+
* Simple time picker input using HTML5 time input.
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactNode } from 'react';
|
|
7
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
8
|
+
import type { TimeFieldConfig } from '../../fields/types';
|
|
9
|
+
export interface TimeFieldProps extends FieldWidgetProps<string | null, TimeFieldConfig> {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* TimeField - Renders a time input field
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <TimeField
|
|
17
|
+
* path="startTime"
|
|
18
|
+
* backend={backend}
|
|
19
|
+
* config={{ id: 'startTime', type: 'time', label: 'Start Time' }}
|
|
20
|
+
* />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function TimeField({ path, backend, config }: TimeFieldProps): ReactNode;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time Field - Validation Schema
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import type { TimeFieldConfig } from '../../fields/types';
|
|
6
|
+
/**
|
|
7
|
+
* Build Zod validation schema for Time field
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildTimeFieldSchema(field: TimeFieldConfig): z.ZodTypeAny;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type ToggleWidgetProps = {
|
|
3
|
+
id?: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
hint?: ReactNode;
|
|
7
|
+
error?: ReactNode;
|
|
8
|
+
value: boolean;
|
|
9
|
+
onChange: (value: boolean) => void;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Boolean toggle widget with shared styling to match block-form boolean fields.
|
|
15
|
+
*/
|
|
16
|
+
export declare function ToggleWidget(props: ToggleWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UrlField - URL input widget with validation
|
|
3
|
+
*
|
|
4
|
+
* Supports both absolute URLs (http/https) and optional relative paths.
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactNode } from 'react';
|
|
7
|
+
import type { FieldWidgetProps } from '../../fields/props';
|
|
8
|
+
import type { UrlFieldConfig } from '../../fields/types';
|
|
9
|
+
export interface UrlFieldProps extends FieldWidgetProps<string, UrlFieldConfig> {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* UrlField - Renders a URL input field
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <UrlField
|
|
17
|
+
* path="website"
|
|
18
|
+
* backend={backend}
|
|
19
|
+
* config={{ id: 'website', type: 'url', label: 'Website', allowRelative: false }}
|
|
20
|
+
* />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function UrlField({ path, backend, config }: UrlFieldProps): ReactNode;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL Field - Validation Schema
|
|
3
|
+
*/
|
|
4
|
+
import type { z } from 'zod';
|
|
5
|
+
import type { UrlFieldConfig } from '../../fields/types';
|
|
6
|
+
/**
|
|
7
|
+
* Build Zod validation schema for URL field
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildUrlFieldSchema(field: UrlFieldConfig): z.ZodTypeAny;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Widget Name Constants
|
|
3
|
+
*
|
|
4
|
+
* Standard widget names used in field definitions' ui.widget property.
|
|
5
|
+
* These map to components in the widget registry or widgetOverrides.
|
|
6
|
+
*
|
|
7
|
+
* ## Widget Resolution Order
|
|
8
|
+
*
|
|
9
|
+
* When FormRenderer resolves a widget for a field, it uses this order:
|
|
10
|
+
* 1. `widgetOverrides[ui.widget]` - if ui.widget is set
|
|
11
|
+
* 2. `widgetOverrides[field.type]` - if no ui.widget
|
|
12
|
+
* 3. `WIDGET_COMPONENTS[field.type]` - built-in registry fallback
|
|
13
|
+
*
|
|
14
|
+
* ## Override Widgets
|
|
15
|
+
*
|
|
16
|
+
* Override widgets are passed via the `widgetOverrides` prop to FormRenderer.
|
|
17
|
+
* They're used for widgets that need app-specific context (e.g., MediaField
|
|
18
|
+
* needs siteId, LinkField needs routing info).
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { WIDGET_NAMES } from '@riverbankcms/block-form'
|
|
23
|
+
*
|
|
24
|
+
* const field = {
|
|
25
|
+
* type: 'text',
|
|
26
|
+
* ui: { widget: WIDGET_NAMES.BACKGROUND_COLOR }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see FormRenderer for widget resolution implementation
|
|
31
|
+
* @see dashboardWidgetOverrides for example override map
|
|
32
|
+
*/
|
|
33
|
+
export declare const WIDGET_NAMES: {
|
|
34
|
+
readonly TEXT: "text";
|
|
35
|
+
readonly NUMBER: "number";
|
|
36
|
+
readonly SELECT: "select";
|
|
37
|
+
readonly BOOLEAN: "boolean";
|
|
38
|
+
readonly GROUP: "group";
|
|
39
|
+
readonly MODAL: "modal";
|
|
40
|
+
readonly TAB_GROUP: "tabGroup";
|
|
41
|
+
readonly PRESET_OR_CUSTOM: "presetOrCustom";
|
|
42
|
+
readonly REPEATER: "repeater";
|
|
43
|
+
readonly URL: "url";
|
|
44
|
+
readonly TIME: "time";
|
|
45
|
+
readonly DATE: "date";
|
|
46
|
+
readonly DATETIME: "datetime";
|
|
47
|
+
readonly SLUG: "slug";
|
|
48
|
+
readonly LINK: "link";
|
|
49
|
+
readonly MEDIA: "media";
|
|
50
|
+
readonly RICH_TEXT: "richText";
|
|
51
|
+
readonly REFERENCE: "reference";
|
|
52
|
+
readonly CONTENT_TYPE_SELECT: "contentTypeSelect";
|
|
53
|
+
readonly ENTRY_PICKER: "entryPicker";
|
|
54
|
+
readonly SLIDER: "slider";
|
|
55
|
+
readonly BACKGROUND_COLOR: "backgroundColor";
|
|
56
|
+
readonly BACKGROUND_GRADIENT: "backgroundGradient";
|
|
57
|
+
};
|
|
58
|
+
export type WidgetName = typeof WIDGET_NAMES[keyof typeof WIDGET_NAMES];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GroupField helper functions
|
|
3
|
+
* Extracted for testability and reusability
|
|
4
|
+
*/
|
|
5
|
+
import type { GroupFieldConfig } from '../fields/types';
|
|
6
|
+
/**
|
|
7
|
+
* Determines if a group field should flatten its children when inside a repeater
|
|
8
|
+
*
|
|
9
|
+
* @param path - Current field path (e.g., "items.0.meta")
|
|
10
|
+
* @param config - Group field configuration
|
|
11
|
+
* @returns true if the group should flatten (children rendered at parent level)
|
|
12
|
+
*/
|
|
13
|
+
export declare function shouldFlattenInRepeater(path: string, config: GroupFieldConfig): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Extracts the group preset from field configuration.
|
|
16
|
+
*
|
|
17
|
+
* @param config - Group field configuration
|
|
18
|
+
* @returns Preset name or null
|
|
19
|
+
*/
|
|
20
|
+
export declare function getWidgetPreset(config: GroupFieldConfig): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Builds a child field path, accounting for flattening behavior
|
|
23
|
+
*
|
|
24
|
+
* @param basePath - Base path for the group field
|
|
25
|
+
* @param childId - Child field ID
|
|
26
|
+
* @param shouldFlatten - Whether the group is flattened
|
|
27
|
+
* @returns Full path to the child field
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildChildPath(basePath: string, childId: string, shouldFlatten: boolean): string;
|
|
30
|
+
/**
|
|
31
|
+
* Checks if field.ui contains visibleWhen configuration
|
|
32
|
+
*/
|
|
33
|
+
export declare function hasVisibleWhen(config: GroupFieldConfig): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if field should be hidden
|
|
36
|
+
*/
|
|
37
|
+
export declare function isHidden(config: GroupFieldConfig): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Checks if label should be hidden
|
|
40
|
+
*/
|
|
41
|
+
export declare function shouldHideLabel(config: GroupFieldConfig): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the layout mode for a group field
|
|
44
|
+
*/
|
|
45
|
+
export declare function getLayout(config: GroupFieldConfig): 'stack' | 'grid';
|
|
46
|
+
/**
|
|
47
|
+
* Gets the number of columns for grid layout
|
|
48
|
+
*/
|
|
49
|
+
export declare function getColumns(config: GroupFieldConfig): number;
|
|
50
|
+
/**
|
|
51
|
+
* Validates and clamps colSpan to valid range
|
|
52
|
+
*/
|
|
53
|
+
export declare function getValidColSpan(colSpan: number | undefined, columns: number): number;
|
|
54
|
+
/**
|
|
55
|
+
* Groups fields by their ui.row property
|
|
56
|
+
* Fields without a row property each get their own row
|
|
57
|
+
*/
|
|
58
|
+
export declare function groupFieldsByRow<T extends {
|
|
59
|
+
id: string;
|
|
60
|
+
ui?: unknown;
|
|
61
|
+
}>(fields: T[]): T[][];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { WIDGET_NAMES, type WidgetName } from './constants';
|
|
2
|
+
export { FieldFrame, FieldFrameMessage, type FieldFrameProps, type FieldFrameRenderProps, type FieldFrameMessageProps, } from './FieldFrame';
|
|
3
|
+
export { WidgetField, WidgetFieldMessage } from './Field';
|
|
4
|
+
export type { WidgetFieldProps, WidgetFieldMessageProps } from './Field';
|
|
5
|
+
export { SelectWidget } from './SelectWidget';
|
|
6
|
+
export type { SelectWidgetProps, SelectWidgetOption } from './SelectWidget';
|
|
7
|
+
export { ToggleWidget } from './ToggleWidget';
|
|
8
|
+
export type { ToggleWidgetProps } from './ToggleWidget';
|
|
9
|
+
export { TextInputWidget } from './TextInputWidget';
|
|
10
|
+
export type { TextInputWidgetProps } from './TextInputWidget';
|
|
11
|
+
export { BackgroundColorWidget } from './BackgroundColorWidget';
|
|
12
|
+
export type { BackgroundColorWidgetProps, BackgroundColorMode } from './BackgroundColorWidget';
|
|
13
|
+
export { BackgroundGradientWidget } from './BackgroundGradientWidget';
|
|
14
|
+
export type { BackgroundGradientWidgetProps } from './BackgroundGradientWidget';
|
|
15
|
+
export { BoxStyleWidget } from './BoxStyleWidget';
|
|
16
|
+
export { DatePickerPopover, parseDateValue, type DateParseResult, type DatePickerPopoverProps, } from './DateField';
|
|
17
|
+
export { FieldSettingsModal } from './FieldSettingsModal';
|
|
18
|
+
export type { FieldSettingsModalProps } from './FieldSettingsModal';
|
|
19
|
+
export { SettingsModal } from './SettingsModal';
|
|
20
|
+
export type { SettingsModalProps, SettingsTab, SettingsTabId } from './SettingsModal';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const EMPTY_SELECT_OPTION_SENTINEL = "__rb:empty__";
|
|
2
|
+
type OptionLike = {
|
|
3
|
+
value: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function hasEmptyOption(options: readonly OptionLike[]): boolean;
|
|
6
|
+
export declare function mapOptionValueForSelect(optionValue: string, allowEmptyOption: boolean): string;
|
|
7
|
+
export declare function mapCurrentValueForSelect(value: string | null | undefined, allowEmptyOption: boolean): string | undefined;
|
|
8
|
+
export declare function unmapValueFromSelect(value: string, allowEmptyOption: boolean): string;
|
|
9
|
+
export {};
|