11import { useCallback } from "react" ;
2+ import React from "react" ;
23import { useTranslation } from "react-i18next" ;
34import { useDataForm } from "@ybyra/react" ;
45import type { UseDataFormOptions } from "@ybyra/react" ;
@@ -10,16 +11,17 @@ import { ActionBar } from "./ActionBar";
1011import { FieldsGrid as DefaultFieldsGrid } from "./defaults/FieldsGrid" ;
1112import { DebugPanel } from "./defaults/DebugPanel" ;
1213import { ds } from "../support/ds" ;
13- import type { DataFormComponents } from "../types" ;
14+ import type { DataFormComponents , SlotRendererProps } from "../types" ;
1415import "../renderers" ;
1516
1617interface DataFormProps extends UseDataFormOptions {
1718 debug ?: boolean ;
1819 components ?: DataFormComponents ;
1920 filler ?: FillerRegistry ;
21+ slots ?: Record < string , React . ComponentType < SlotRendererProps > > ;
2022}
2123
22- export function DataForm ( { debug, components, filler, ...props } : DataFormProps ) {
24+ export function DataForm ( { debug, components, filler, slots , ...props } : DataFormProps ) {
2325 const { t } = useTranslation ( ) ;
2426 const theme = useTheme ( ) ;
2527 const form = useDataForm ( { ...props , translate : props . translate ?? t } ) ;
@@ -61,6 +63,7 @@ export function DataForm({ debug, components, filler, ...props }: DataFormProps)
6163 < ResolvedFieldsGrid
6264 fields = { section . fields }
6365 getFieldProps = { form . getFieldProps }
66+ slots = { slots }
6467 />
6568 </ GroupWrapper >
6669 ) ;
@@ -77,6 +80,7 @@ export function DataForm({ debug, components, filler, ...props }: DataFormProps)
7780 < ResolvedFieldsGrid
7881 fields = { section . fields }
7982 getFieldProps = { form . getFieldProps }
83+ slots = { slots }
8084 />
8185 </ div >
8286 ) ;
@@ -90,6 +94,7 @@ export function DataForm({ debug, components, filler, ...props }: DataFormProps)
9094 < ResolvedFieldsGrid
9195 fields = { section . fields }
9296 getFieldProps = { form . getFieldProps }
97+ slots = { slots }
9398 />
9499 </ div >
95100 ) ;
0 commit comments