/**
* WordPress dependencies
*/
import { Stack } from '@wordpress/ui';
/**
* Internal dependencies
*/
import type { NormalizedLayout, NormalizedRowLayout } from '../../types';
import FormRegularField from './regular';
import FormPanelField from './panel';
import FormCardField from './card';
import FormRowField from './row';
import FormDetailsField from './details';
const FORM_FIELD_LAYOUTS = [
{
type: 'regular',
component: FormRegularField,
wrapper: ( { children }: { children: React.ReactNode } ) => (
{ children }
),
},
{
type: 'panel',
component: FormPanelField,
wrapper: ( { children }: { children: React.ReactNode } ) => (
{ children }
),
},
{
type: 'card',
component: FormCardField,
wrapper: ( { children }: { children: React.ReactNode } ) => (
{ children }
),
},
{
type: 'row',
component: FormRowField,
wrapper: ( {
children,
layout,
}: {
children: React.ReactNode;
layout: NormalizedLayout;
} ) => (
{ children }
),
},
{
type: 'details',
component: FormDetailsField,
},
];
export function getFormFieldLayout( type: string ) {
return FORM_FIELD_LAYOUTS.find( ( layout ) => layout.type === type );
}