import React from 'react'; import GridLayout from './layouts/GridLayout'; import CardLayout from './layouts/CardLayout'; import RecordBoardShellFrame, { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, RecordBoardFloorMap, RecordBoardCalendar, RecordBoardResourceWall } from './shellFrame'; import RecordBoardGridView from './layouts/GridLayout/Grid'; import RecordBoardCardList from './layouts/CardLayout/CardList'; import { useRecordBoardContext } from './hooks/useRecordBoardContext'; import type { RecordBoardProps } from './types'; /** RecordBoard 复合组件类型 */ interface PisellRecordBoardType extends React.FC { /** Shell Frame:对 Layout 的扩展,提供 ToolBar + BatchActionBar + children(Layout) */ ShellFrame: typeof RecordBoardShellFrame; /** Grid 布局:仅内容区(表格 + 分页),需配合 ShellFrame 使用 */ GridLayout: typeof GridLayout; /** 卡片布局:仅内容区(卡片列表 + 分页),需配合 ShellFrame 使用 */ CardLayout: typeof CardLayout; /** * 平面图槽位:仅在 ShellFrame 内声明,无 DOM; props 与 PisellFloorMapLayout 对齐。 * 与 GridLayout 同时存在时出现「表格 / 平面图」切换。 */ FloorMap: typeof RecordBoardFloorMap; /** * 日历槽位:仅在 ShellFrame 内声明,无 DOM;与 GridLayout / FloorMap 并存时出现「表格 / 平面图 / 日历」切换。 */ Calendar: typeof RecordBoardCalendar; /** * 大屏资源墙槽位:仅在 ShellFrame 内声明,无 DOM;与其它主区并存时出现视图切换。 */ ResourceWall: typeof RecordBoardResourceWall; /** 单独使用:搜索槽(PisellFind,绑定 searchParams.keyword / onSearch) */ Search: typeof RecordBoardSearch; /** 单独使用:工具栏(PisellToolBar,含搜索/导出,可透传 topLeft/topRight 等) */ ToolBar: typeof RecordBoardToolBar; /** 单独使用:分页槽 */ Pagination: typeof RecordBoardPagination; /** 单独使用:Grid 视图(表格) */ Grid: typeof RecordBoardGridView; /** 单独使用:卡片列表视图 */ CardList: typeof RecordBoardCardList; /** 多选操作栏(基于 PisellBatchActionBar,有选中项时展示) */ BatchActionBar: typeof RecordBoardBatchActionBar; /** 消费 RecordBoard 上下文 */ useRecordBoardContext: typeof useRecordBoardContext; } declare const PisellRecordBoard: PisellRecordBoardType; export default PisellRecordBoard; export type { RecordBoardProps, RecordBoardLayoutType, RecordBoardLayoutVariant, RecordBoardContextValue, RecordBoardChildComponentProps, RecordBoardGridProps, RecordBoardColumnType, RecordBoardFieldType, RecordBoardColumnFilterConfig, RecordBoardOptionItem, RecordBoardGetOptions, RecordBoardBodyView, RecordBoardFloorMapProps, RecordBoardCalendarProps, RecordBoardCalendarBlockedTimePayload, RecordBoardCalendarResource, RecordBoardCalendarBookingLike, RecordBoardCalendarDayOverlayBooking, RecordBoardCalendarTimelineHeaderGroup, RecordBoardCalendarTimelineHeaderRenderContext, RecordBoardCalendarResourceRenderArgs, RecordBoardCalendarBookingRenderArgs, RecordBoardBookingMoveDraft, RecordBoardBlockedTimeMergedRange, RecordBoardBlockedTimePanelPayload, RecordBoardCreateBookingDayGroup, RecordBoardCreateBookingFromSelectionPayload, RecordBoardCalendarSelectedFreeSlot, RecordBoardToolBarProps, RecordBoardResourceWallProps, RecordBoardResourceWallCardModel, RecordBoardResourceWallLayoutPersist, } from './types'; export { DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST } from './types'; export { useRecordBoardContext } from './hooks/useRecordBoardContext'; export { useRecordBoardShellBodyMeta } from './shellFrame'; export { DEFAULT_RESOURCE_WALL_FILTER_FIELD_KEY } from './shellFrame/ResourceWall/PisellRecordBoardResourceWallView'; export { adaptColumnsForPhoneLayout, RECORD_BOARD_PHONE_GRID_CLASS, } from './utils/recordBoardPhoneGrid'; export type { AdaptColumnsForPhoneLayoutOptions } from './utils/recordBoardPhoneGrid';