floating-ui.utils.d.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. export declare type AlignedPlacement = `${Side}-${Alignment}`;
  2. export declare type Alignment = 'start' | 'end';
  3. export declare const alignments: Alignment[];
  4. export declare type Axis = 'x' | 'y';
  5. export declare function clamp(start: number, value: number, end: number): number;
  6. export declare type ClientRectObject = Prettify<Rect & SideObject>;
  7. export declare type Coords = {
  8. [key in Axis]: number;
  9. };
  10. export declare const createCoords: (v: number) => {
  11. x: number;
  12. y: number;
  13. };
  14. export declare type Dimensions = {
  15. [key in Length]: number;
  16. };
  17. export declare interface ElementRects {
  18. reference: Rect;
  19. floating: Rect;
  20. }
  21. export declare function evaluate<T, P>(value: T | ((param: P) => T), param: P): T;
  22. export declare function expandPaddingObject(padding: Exclude<Padding, number>): SideObject;
  23. export declare const floor: (x: number) => number;
  24. export declare function getAlignment(placement: Placement): Alignment | undefined;
  25. export declare function getAlignmentAxis(placement: Placement): Axis;
  26. export declare function getAlignmentSides(placement: Placement, rects: ElementRects, rtl?: boolean): [Side, Side];
  27. export declare function getAxisLength(axis: Axis): Length;
  28. export declare function getExpandedPlacements(placement: Placement): Array<Placement>;
  29. export declare function getOppositeAlignmentPlacement<T extends string>(placement: T): T;
  30. export declare function getOppositeAxis(axis: Axis): Axis;
  31. export declare function getOppositeAxisPlacements(placement: Placement, flipAlignment: boolean, direction: 'none' | Alignment, rtl?: boolean): Placement[];
  32. export declare function getOppositePlacement<T extends string>(placement: T): T;
  33. export declare function getPaddingObject(padding: Padding): SideObject;
  34. export declare function getSide(placement: Placement): Side;
  35. export declare function getSideAxis(placement: Placement): Axis;
  36. export declare type Length = 'width' | 'height';
  37. export declare const max: (...values: number[]) => number;
  38. export declare const min: (...values: number[]) => number;
  39. export declare type Padding = number | Prettify<{
  40. [K in Side]?: number | undefined;
  41. }>;
  42. export declare type Placement = Prettify<Side | AlignedPlacement>;
  43. export declare const placements: Placement[];
  44. declare type Prettify<T> = {
  45. [K in keyof T]: T[K];
  46. } & {};
  47. export declare type Rect = Prettify<Coords & Dimensions>;
  48. export declare function rectToClientRect(rect: Rect): ClientRectObject;
  49. export declare const round: (x: number) => number;
  50. export declare type Side = 'top' | 'right' | 'bottom' | 'left';
  51. export declare type SideObject = {
  52. [key in Side]: number;
  53. };
  54. export declare const sides: Side[];
  55. export declare type Strategy = 'absolute' | 'fixed';
  56. /**
  57. * Custom positioning reference element.
  58. * @see https://floating-ui.com/docs/virtual-elements
  59. */
  60. export declare interface VirtualElement {
  61. getBoundingClientRect(): ClientRectObject;
  62. getClientRects?: (() => Array<ClientRectObject>) | undefined;
  63. contextElement?: any;
  64. }
  65. export { }