/* eslint-disable @typescript-eslint/no-unsafe-argument */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/ban-types */
import * as React from 'react';
import { expandObj } from 'src/types';
import classnames from 'classnames';
import BaseLayout from './base';
interface DirectPropsI {
Top: Function;
Right: Function;
Bottom: Function;
Left: Function;
Content: Function;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getLayout(Wrapper: Function, addProps: DirectPropsI) {
function Layout(props: expandObj) {
const { className, style } = props;
return (
);
}
Layout.role = 'layout';
Layout.Right = addProps.Right;
Layout.Left = addProps.Left;
Layout.Bottom = addProps.Bottom;
Layout.Top = addProps.Top;
Layout.Content = addProps.Content;
return Layout;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getContent(Wrapper: Function) {
function Content(props: object) {
if (props instanceof Function) {
props = {
children: props,
};
}
return ;
}
Content.role = 'content';
return Content;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getTop(Wrapper: Function) {
function Top(props: object) {
if (props instanceof Function) {
props = {
children: props,
};
}
return ;
}
Top.role = 'top';
return Top;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getBottom(Wrapper: Function) {
function Bottom(props: object) {
if (props instanceof Function) {
props = {
children: props,
};
}
return ;
}
Bottom.role = 'bottom';
return Bottom;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getLeft(Wrapper: Function) {
function Left(props: object) {
if (props instanceof Function) {
props = {
children: props,
};
}
return ;
}
Left.role = 'left';
return Left;
}
// eslint-disable-next-line @typescript-eslint/ban-types
function getRight(Wrapper: Function) {
function Right(props: object) {
if (props instanceof Function) {
props = {
children: props,
};
}
return ;
}
Right.role = 'right';
return Right;
}
const Layout = getLayout(BaseLayout, {
Top: getTop(BaseLayout),
Bottom: getBottom(BaseLayout),
Left: getLeft(BaseLayout),
Right: getRight(BaseLayout),
Content: getContent(BaseLayout),
});
export default Layout;