index.d.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import * as React from 'react';
  2. import type { BaseOptionType, DefaultOptionType, FieldNames, CascaderProps as RcCascaderProps } from 'rc-cascader';
  3. import type { SelectCommonPlacement } from '../_util/motion';
  4. import type { InputStatus } from '../_util/statusUtils';
  5. import type { Variant } from '../config-provider';
  6. import type { SizeType } from '../config-provider/SizeContext';
  7. import CascaderPanel from './Panel';
  8. export type { BaseOptionType, DefaultOptionType };
  9. export type FieldNamesType = FieldNames;
  10. export type FilledFieldNamesType = Required<FieldNamesType>;
  11. type SemanticName = 'root';
  12. type PopupSemantic = 'root';
  13. declare const SHOW_CHILD: "SHOW_CHILD", SHOW_PARENT: "SHOW_PARENT";
  14. export interface CascaderProps<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends boolean = boolean> extends Omit<RcCascaderProps<OptionType, ValueField, Multiple>, 'checkable'> {
  15. multiple?: Multiple;
  16. size?: SizeType;
  17. /**
  18. * @deprecated `showArrow` is deprecated which will be removed in next major version. It will be a
  19. * default behavior, you can hide it by setting `suffixIcon` to null.
  20. */
  21. showArrow?: boolean;
  22. disabled?: boolean;
  23. /** @deprecated Use `variant` instead. */
  24. bordered?: boolean;
  25. placement?: SelectCommonPlacement;
  26. suffixIcon?: React.ReactNode;
  27. options?: OptionType[];
  28. status?: InputStatus;
  29. autoClearSearchValue?: boolean;
  30. rootClassName?: string;
  31. /** @deprecated Please use `classNames.popup.root` instead */
  32. popupClassName?: string;
  33. /** @deprecated Please use `classNames.popup.root` instead */
  34. dropdownClassName?: string;
  35. /** @deprecated Please use `styles.popup.root` instead */
  36. dropdownStyle?: React.CSSProperties;
  37. /** @deprecated Please use `popupRender` instead */
  38. dropdownRender?: (menu: React.ReactElement) => React.ReactElement;
  39. popupRender?: (menu: React.ReactElement) => React.ReactElement;
  40. /** @deprecated Please use `popupMenuColumnStyle` instead */
  41. dropdownMenuColumnStyle?: React.CSSProperties;
  42. popupMenuColumnStyle?: React.CSSProperties;
  43. /** @deprecated Please use `onOpenChange` instead */
  44. onDropdownVisibleChange?: (visible: boolean) => void;
  45. onOpenChange?: (visible: boolean) => void;
  46. /**
  47. * @since 5.13.0
  48. * @default "outlined"
  49. */
  50. variant?: Variant;
  51. classNames?: Partial<Record<SemanticName, string>> & {
  52. popup?: Partial<Record<PopupSemantic, string>>;
  53. };
  54. styles?: Partial<Record<SemanticName, React.CSSProperties>> & {
  55. popup?: Partial<Record<PopupSemantic, React.CSSProperties>>;
  56. };
  57. }
  58. export type CascaderAutoProps<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType> = (CascaderProps<OptionType, ValueField> & {
  59. multiple?: false;
  60. }) | (CascaderProps<OptionType, ValueField, true> & {
  61. multiple: true;
  62. });
  63. export interface CascaderRef {
  64. focus: () => void;
  65. blur: () => void;
  66. }
  67. declare const Cascader: (<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType>(props: React.PropsWithChildren<CascaderAutoProps<OptionType, ValueField>> & React.RefAttributes<CascaderRef>) => React.ReactElement) & {
  68. displayName: string;
  69. SHOW_PARENT: typeof SHOW_PARENT;
  70. SHOW_CHILD: typeof SHOW_CHILD;
  71. Panel: typeof CascaderPanel;
  72. _InternalPanelDoNotUseOrYouWillBeFired: typeof PurePanel;
  73. };
  74. declare const PurePanel: (props: import("../_util/type").AnyObject) => React.JSX.Element;
  75. export default Cascader;