import { FC, NamedExoticComponent, PropsWithoutRef, ReactNode, RefAttributes } from 'react'; import type { CSSProperties, Context, ReactElement } from 'react'; import type { ConfigProviderProps } from '@baifendian/adhere-ui-configprovider/es/types'; import Auto from './Auto'; import BackLayout from './BackLayout'; import { FlexContext } from './Context'; import Fixed from './Fixed'; import HorizontalFlexLayout from './HorizontalFlexLayout'; import ScrollLayout, { ScrollLayoutContext, useScrollLayout } from './ScrollLayout'; import CBLayout from './TRBLC/CBLayout'; import CBRLayout from './TRBLC/CBRLayout'; import CRBLayout from './TRBLC/CRBLayout'; import CRLayout from './TRBLC/CRLayout'; import LBCLayout from './TRBLC/LBCLayout'; import LCBLayout from './TRBLC/LCBLayout'; import LCLayout from './TRBLC/LCLayout'; import LCRBLayout from './TRBLC/LCRBLayout'; import LCRLayout from './TRBLC/LCRLayout'; import LRTCBLayout from './TRBLC/LRTCBLayout'; import LTCBLayout from './TRBLC/LTCBLayout'; import LTCLayout from './TRBLC/LTCLayout'; import TBLCRLayout from './TRBLC/TBLCRLayout'; import TCBLayout from './TRBLC/TCBLayout'; import TCBRLayout from './TRBLC/TCBRLayout'; import TCLayout from './TRBLC/TCLayout'; import TCRLayout from './TRBLC/TCRLayout'; import TLCLayout from './TRBLC/TLCLayout'; import TLRCLayout from './TRBLC/TLRCLayout'; import TRCLayout from './TRBLC/TRCLayout'; import ToolBarLayout from './ToolBarLayout'; import VerticalFlexLayout from './VerticalFlexLayout'; export interface ContextType { direction: 'vertical' | 'horizontal'; gutter?: number | number[]; children?: ReactNode[]; } export interface FlexLayoutFunction

extends NamedExoticComponent

{ Fixed: FC; Auto: FC; Context: Context; HorizontalFlexLayout: FC; VerticalFlexLayout: FC; ToolBarLayout: FC; BackLayout: FC; ScrollLayout: FC; useScrollLayout: () => ScrollLayoutContextType; ScrollLayoutContext: Context; selectorPrefix: string; TRBLC: { CBLayout: FC; CBRLayout: FC; CRBLayout: FC; CRLayout: FC; LBCLayout: FC; LCBLayout: FC; LCLayout: FC; LCRBLayout: FC; LRTCBLayout: FC; LTCBLayout: FC; LTCLayout: FC; TBLCRLayout: FC; TCBRLayout: FC; TCLayout: FC; TCRLayout: FC; TLCLayout: FC; TLRCLayout: FC; TRCLayout: FC; }; } export interface FlexLayoutProps { className?: string; style?: CSSProperties; direction?: 'vertical' | 'horizontal'; children?: any; gutter?: number | number[]; } export interface FixedProps { className?: string; style?: CSSProperties; fit?: boolean; children?: any; span?: number; collapseDirection?: 'L' | 'R' | 'T' | 'B'; collapsedSize?: number | string; defaultCollapsible?: boolean; trigger?: (collapsed: boolean, defaultTrigger: ReactNode) => ReactNode; onCollapse?: (collapsed: boolean) => void; } export interface AutoProps { className?: string; style?: CSSProperties; autoFixed?: boolean; fit?: boolean; children?: any; isUseNormal?: boolean; } export interface VerticalFlexLayoutProps { className?: string; style?: CSSProperties; topClassName?: string; topStyle?: CSSProperties; rightClassName?: string; rightStyle?: CSSProperties; bottomClassName?: string; bottomStyle?: CSSProperties; leftClassName?: string; leftStyle?: CSSProperties; mainClassName?: string; mainStyle?: CSSProperties; mainAutoWrapClassName?: string; mainAutoStyle?: CSSProperties; mainWrapClassName?: string; mainWrapStyle?: CSSProperties; renderTop?: any; renderRight?: any; renderBottom?: any; renderLeft?: any; renderMain?: any; topProps?: FixedProps; rightProps?: FixedProps; bottomProps?: FixedProps; leftProps?: FixedProps; mainProps?: AutoProps; mainAutoWrapProps?: AutoProps; children?: any; } export interface HorizontalFlexLayoutProps { className?: string; style?: CSSProperties; topClassName?: string; topStyle?: CSSProperties; rightClassName?: string; rightStyle?: CSSProperties; bottomClassName?: string; bottomStyle?: CSSProperties; leftClassName?: string; leftStyle?: CSSProperties; mainClassName?: string; mainStyle?: CSSProperties; mainAutoWrapClassName?: string; mainAutoStyle?: CSSProperties; mainWrapClassName?: string; mainWrapStyle?: CSSProperties; renderTop?: any; renderRight?: any; renderBottom?: any; renderLeft?: any; renderMain?: any; topProps?: FixedProps; rightProps?: FixedProps; bottomProps?: FixedProps; leftProps?: FixedProps; mainProps?: AutoProps; mainAutoWrapProps?: AutoProps; children?: any; } export interface ToolBarLayoutProps { className?: string; style?: CSSProperties; topClassName?: string; topStyle?: CSSProperties; bottomClassName?: string; bottomStyle?: CSSProperties; mainClassName?: string; mainStyle?: CSSProperties; mainAutoWrapClassName?: string; mainAutoStyle?: CSSProperties; mainWrapClassName?: string; mainWrapStyle?: CSSProperties; topToolBarItems?: ReactElement[]; bottomToolBarItems?: ReactElement[]; topProps?: FixedProps; bottomProps?: FixedProps; mainProps?: AutoProps; mainAutoWrapProps?: AutoProps; children?: any; } export interface BackLayoutProps { className?: string; style?: CSSProperties; topClassName?: string; topStyle?: CSSProperties; bottomClassName?: string; bottomStyle?: CSSProperties; mainClassName?: string; mainStyle?: CSSProperties; mainAutoWrapClassName?: string; mainAutoStyle?: CSSProperties; mainWrapClassName?: string; mainWrapStyle?: CSSProperties; topToolBarItems?: ReactElement[]; topProps?: FixedProps; bottomProps?: FixedProps; mainProps?: AutoProps; mainAutoWrapProps?: AutoProps; backPath?: string; enforceBackPath?: string; isShowBack?: boolean; history?: any; backTitle?: ReactNode; children?: any; } export interface ScrollLayoutProps { className?: string; style?: CSSProperties; scrollY?: boolean; children?: any; } export interface ScrollLayoutContextType { getEl: () => HTMLElement | null | undefined; } export interface getGridStyleParams { gutter?: number | number[]; children?: any; span?: number | null; direction: 'vertical' | 'horizontal'; media: ConfigProviderProps['media']; } export interface TBLRProps extends FixedProps { children: ReactNode; } export interface CenterProps extends AutoProps { children: ReactNode; } export interface TBLRCLayoutProps extends FlexLayoutProps { wrapClassName?: string; wrapStyle?: CSSProperties; tProps?: TBLRProps; tSplit?: ReactNode; bProps?: TBLRProps; bSplit?: ReactNode; lProps?: TBLRProps; lSplit?: ReactNode; rProps?: TBLRProps; rSplit?: ReactNode; cProps?: CenterProps; autoWrapProps?: AutoProps; autoInnerProps?: FlexLayoutProps; } export type FlexLayoutComponent = NamedExoticComponent & RefAttributes> & { selectorPrefix: string; Context: typeof FlexContext; Fixed: typeof Fixed; Auto: typeof Auto; HorizontalFlexLayout: typeof HorizontalFlexLayout; VerticalFlexLayout: typeof VerticalFlexLayout; ToolBarLayout: typeof ToolBarLayout; BackLayout: typeof BackLayout; ScrollLayout: typeof ScrollLayout; useScrollLayout: typeof useScrollLayout; ScrollLayoutContext: typeof ScrollLayoutContext; TRBLC: { CBLayout: typeof CBLayout; CBRLayout: typeof CBRLayout; CRBLayout: typeof CRBLayout; CRLayout: typeof CRLayout; LBCLayout: typeof LBCLayout; LCBLayout: typeof LCBLayout; LCLayout: typeof LCLayout; LCRLayout: typeof LCRLayout; LCRBLayout: typeof LCRBLayout; LRTCBLayout: typeof LRTCBLayout; LTCBLayout: typeof LTCBLayout; LTCLayout: typeof LTCLayout; TBLCRLayout: typeof TBLCRLayout; TCBRLayout: typeof TCBRLayout; TCLayout: typeof TCLayout; TCRLayout: typeof TCRLayout; TLCLayout: typeof TLCLayout; TLRCLayout: typeof TLRCLayout; TRCLayout: typeof TRCLayout; TCBLayout: typeof TCBLayout; }; };