index.d.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import * as React from "react";
  2. import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
  3. import { FocusScope } from "@radix-ui/react-focus-scope";
  4. import * as PopperPrimitive from "@radix-ui/react-popper";
  5. import { Portal as _Portal1 } from "@radix-ui/react-portal";
  6. import * as Radix from "@radix-ui/react-primitive";
  7. import { Primitive } from "@radix-ui/react-primitive";
  8. export const createPopoverScope: import("@radix-ui/react-context").CreateScope;
  9. export interface PopoverProps {
  10. children?: React.ReactNode;
  11. open?: boolean;
  12. defaultOpen?: boolean;
  13. onOpenChange?: (open: boolean) => void;
  14. modal?: boolean;
  15. }
  16. export const Popover: React.FC<PopoverProps>;
  17. type PopperAnchorProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Anchor>;
  18. export interface PopoverAnchorProps extends PopperAnchorProps {
  19. }
  20. export const PopoverAnchor: React.ForwardRefExoticComponent<PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
  21. type PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;
  22. export interface PopoverTriggerProps extends PrimitiveButtonProps {
  23. }
  24. export const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
  25. type PortalProps = React.ComponentPropsWithoutRef<typeof _Portal1>;
  26. export interface PopoverPortalProps {
  27. children?: React.ReactNode;
  28. /**
  29. * Specify a container element to portal the content into.
  30. */
  31. container?: PortalProps['container'];
  32. /**
  33. * Used to force mounting when more control is needed. Useful when
  34. * controlling animation with React animation libraries.
  35. */
  36. forceMount?: true;
  37. }
  38. export const PopoverPortal: React.FC<PopoverPortalProps>;
  39. export interface PopoverContentProps extends PopoverContentTypeProps {
  40. /**
  41. * Used to force mounting when more control is needed. Useful when
  42. * controlling animation with React animation libraries.
  43. */
  44. forceMount?: true;
  45. }
  46. export const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
  47. interface PopoverContentTypeProps extends Omit<PopoverContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {
  48. }
  49. type FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;
  50. type DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;
  51. type PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
  52. interface PopoverContentImplProps extends Omit<PopperContentProps, 'onPlaced'>, Omit<DismissableLayerProps, 'onDismiss'> {
  53. /**
  54. * Whether focus should be trapped within the `Popover`
  55. * (default: false)
  56. */
  57. trapFocus?: FocusScopeProps['trapped'];
  58. /**
  59. * Event handler called when auto-focusing on open.
  60. * Can be prevented.
  61. */
  62. onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
  63. /**
  64. * Event handler called when auto-focusing on close.
  65. * Can be prevented.
  66. */
  67. onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
  68. }
  69. export interface PopoverCloseProps extends PrimitiveButtonProps {
  70. }
  71. export const PopoverClose: React.ForwardRefExoticComponent<PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
  72. type PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
  73. export interface PopoverArrowProps extends PopperArrowProps {
  74. }
  75. export const PopoverArrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<SVGSVGElement>>;
  76. export const Root: React.FC<PopoverProps>;
  77. export const Anchor: React.ForwardRefExoticComponent<PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
  78. export const Trigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
  79. export const Portal: React.FC<PopoverPortalProps>;
  80. export const Content: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
  81. export const Close: React.ForwardRefExoticComponent<PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
  82. export const Arrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<SVGSVGElement>>;
  83. //# sourceMappingURL=index.d.ts.map