index.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import type { Ref, ToRefs } from 'vue';
  2. import type { Middleware, Placement, SideObject, Strategy, VirtualElement } from '@floating-ui/dom';
  3. export declare const useFloatingProps: {};
  4. export type UseFloatingProps = ToRefs<{
  5. middleware: Array<Middleware>;
  6. placement: Placement;
  7. strategy: Strategy;
  8. }>;
  9. export declare const getPositionDataWithUnit: <T extends Record<string, number>>(record: T | undefined, key: keyof T) => string;
  10. export declare const useFloating: ({ middleware, placement, strategy, }: UseFloatingProps) => {
  11. update: () => Promise<void>;
  12. referenceRef: Ref<HTMLElement | VirtualElement | undefined>;
  13. contentRef: Ref<HTMLElement | undefined>;
  14. x: Ref<number | undefined>;
  15. y: Ref<number | undefined>;
  16. placement: Ref<Placement>;
  17. strategy: Ref<Strategy>;
  18. middlewareData: Ref<{
  19. [x: string]: any;
  20. arrow?: {
  21. x?: number | undefined;
  22. y?: number | undefined;
  23. centerOffset: number;
  24. alignmentOffset?: number | undefined;
  25. } | undefined;
  26. autoPlacement?: {
  27. index?: number | undefined;
  28. overflows: {
  29. placement: Placement;
  30. overflows: Array<number>;
  31. }[];
  32. } | undefined;
  33. flip?: {
  34. index?: number | undefined;
  35. overflows: {
  36. placement: Placement;
  37. overflows: Array<number>;
  38. }[];
  39. } | undefined;
  40. hide?: {
  41. referenceHidden?: boolean | undefined;
  42. escaped?: boolean | undefined;
  43. referenceHiddenOffsets?: {
  44. left: number;
  45. right: number;
  46. top: number;
  47. bottom: number;
  48. } | undefined;
  49. escapedOffsets?: {
  50. left: number;
  51. right: number;
  52. top: number;
  53. bottom: number;
  54. } | undefined;
  55. } | undefined;
  56. offset?: {
  57. x: number;
  58. y: number;
  59. placement: Placement;
  60. } | undefined;
  61. shift?: {
  62. x: number;
  63. y: number;
  64. enabled: {
  65. x: boolean;
  66. y: boolean;
  67. };
  68. } | undefined;
  69. }>;
  70. };
  71. export type ArrowMiddlewareProps = {
  72. arrowRef: Ref<HTMLElement | null | undefined>;
  73. padding?: number | SideObject;
  74. };
  75. export declare const arrowMiddleware: ({ arrowRef, padding, }: ArrowMiddlewareProps) => Middleware;