PromoCursed/node_modules/rc-tree-select/lib/interface.d.ts
2024-08-20 23:25:37 +04:00

78 lines
2.2 KiB
TypeScript

import type * as React from 'react';
export type SelectSource = 'option' | 'selection' | 'input' | 'clear';
export type Key = string | number;
export type RawValueType = string | number;
export interface LabelValueType {
key?: Key;
value?: RawValueType;
label?: React.ReactNode;
/** Only works on `treeCheckStrictly` */
halfChecked?: boolean;
}
export type DefaultValueType = RawValueType | RawValueType[] | LabelValueType | LabelValueType[];
export interface DataNode {
value?: RawValueType;
title?: React.ReactNode;
label?: React.ReactNode;
key?: Key;
disabled?: boolean;
disableCheckbox?: boolean;
checkable?: boolean;
children?: DataNode[];
/** Customize data info */
[prop: string]: any;
}
export interface InternalDataEntity {
key: Key;
value: RawValueType;
title?: React.ReactNode;
disableCheckbox?: boolean;
disabled?: boolean;
children?: InternalDataEntity[];
/** Origin DataNode */
node: DataNode;
}
export interface LegacyDataNode extends DataNode {
props: any;
}
export interface TreeDataNode extends DataNode {
key: Key;
children?: TreeDataNode[];
}
export interface FlattenDataNode {
data: InternalDataEntity;
key: Key;
value: RawValueType;
level: number;
parent?: FlattenDataNode;
}
export interface SimpleModeConfig {
id?: Key;
pId?: Key;
rootPId?: Key;
}
/** @deprecated This is only used for legacy compatible. Not works on new code. */
export interface LegacyCheckedNode {
pos: string;
node: React.ReactElement;
children?: LegacyCheckedNode[];
}
export interface ChangeEventExtra {
/** @deprecated Please save prev value by control logic instead */
preValue: LabelValueType[];
triggerValue: RawValueType;
/** @deprecated Use `onSelect` or `onDeselect` instead. */
selected?: boolean;
/** @deprecated Use `onSelect` or `onDeselect` instead. */
checked?: boolean;
/** @deprecated This prop not work as react node anymore. */
triggerNode: React.ReactElement;
/** @deprecated This prop not work as react node anymore. */
allCheckedNodes: LegacyCheckedNode[];
}
export interface FieldNames {
value?: string;
label?: string;
children?: string;
}