UNPKG

2.68 kBTypeScriptView Raw
1import React from 'react';
2import type { ProHelpDataSource, ProHelpDataSourceChildren } from './HelpProvide';
3import { ProHelpProvide } from './HelpProvide';
4import { ProHelpSelect } from './Search';
5export * from './ProHelpContentPanel';
6export * from './ProHelpDrawer';
7export * from './ProHelpModal';
8export * from './ProHelpPanel';
9export * from './ProHelpPopover';
10export * from './RenderContentPanel';
11export { ProHelpProvide, ProHelpSelect };
12export type { ProHelpDataSource, ProHelpDataSourceChildren };
13export type ProHelpProps<ValueType> = {
14 /**
15 * 帮助文档的数据源,包含一组帮助文档数据,每个数据包含标题和内容等信息。
16 */
17 dataSource: ProHelpDataSource<ValueType>[];
18 /**
19 * 帮助组件的子组件,用于渲染自定义的帮助内容。
20 * 是一个键值对结构的集合,其中:
21 * 键(key)为字符串类型;
22 * 值(value)为一个函数类型,该函数接受两个参数:一个名为 item 的 ProHelpDataSourceChildren 类型的对象,表示一个 ProHelp 数据源子项的子项;
23 * 一个名为 index 的数字类型参数,表示该子项在父级子项数组中的索引。
24 * 该函数返回一个 ReactNode 类型的元素,用于表示该 ProHelp 数据源子项子项应该渲染的 UI 元素。
25 * 这个 Map 的作用是将 ProHelp 数据源子项子项的 valueType 属性与对应的渲染函数进行映射,从而实现在渲染 ProHelp 数据源时动态地选择渲染方法。
26 * 在实际使用时,我们可以通过判断子项的 valueType 属性,从 valueTypeMap 中取出对应的渲染函数,再将该子项和渲染函数作为参数传入 renderDataSourceItem 函数中即可。
27 */
28 valueTypeMap?: Map<string, (item: ProHelpDataSourceChildren<ValueType>, index: number) => React.ReactNode>;
29 /**
30 * 帮助组件的子组件,用于渲染自定义的帮助内容。
31 */
32 children?: React.ReactNode;
33 /**
34 * 加载数据源的函数,如果把数据源设置为 async load就可以使用这个功能。
35 */
36 onLoadContext?: (key: React.Key, context: ProHelpDataSource<ValueType>['children'][number]) => Promise<ProHelpDataSourceChildren<ValueType>[]>;
37};
38export type ProHelpContentPanelProps = {
39 /**
40 * 控制当前选中的帮助文档
41 */
42 selectedKey: React.Key;
43 className?: string;
44 parentItem?: ProHelpDataSource<any>;
45 onScroll?: (key?: string) => void;
46};
47export declare const ProHelp: <ValueTypeMap = {
48 text: any;
49}>({ dataSource, valueTypeMap, onLoadContext, ...props }: ProHelpProps<ValueTypeMap>) => import("react/jsx-runtime").JSX.Element;