版博士V2.0程序
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

useFocusTrap.d.ts 1.6 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { Fn, MaybeElementRef } from '@vueuse/core';
  2. import { Ref } from 'vue-demi';
  3. import { Options, ActivateOptions, DeactivateOptions } from 'focus-trap';
  4. interface UseFocusTrapOptions extends Options {
  5. /**
  6. * Immediately activate the trap
  7. */
  8. immediate?: boolean;
  9. }
  10. interface UseFocusTrapReturn {
  11. /**
  12. * Indicates if the focus trap is currently active
  13. */
  14. hasFocus: Ref<boolean>;
  15. /**
  16. * Indicates if the focus trap is currently paused
  17. */
  18. isPaused: Ref<boolean>;
  19. /**
  20. * Activate the focus trap
  21. *
  22. * @see https://github.com/focus-trap/focus-trap#trapactivateactivateoptions
  23. * @param opts Activate focus trap options
  24. */
  25. activate: (opts?: ActivateOptions) => void;
  26. /**
  27. * Deactivate the focus trap
  28. *
  29. * @see https://github.com/focus-trap/focus-trap#trapdeactivatedeactivateoptions
  30. * @param opts Deactivate focus trap options
  31. */
  32. deactivate: (opts?: DeactivateOptions) => void;
  33. /**
  34. * Pause the focus trap
  35. *
  36. * @see https://github.com/focus-trap/focus-trap#trappause
  37. */
  38. pause: Fn;
  39. /**
  40. * Unpauses the focus trap
  41. *
  42. * @see https://github.com/focus-trap/focus-trap#trapunpause
  43. */
  44. unpause: Fn;
  45. }
  46. /**
  47. * Reactive focus-trap
  48. *
  49. * @see https://vueuse.org/useFocusTrap
  50. * @param target The target element to trap focus within
  51. * @param options Focus trap options
  52. * @param autoFocus Focus trap automatically when mounted
  53. */
  54. declare function useFocusTrap(target: MaybeElementRef, options?: UseFocusTrapOptions): UseFocusTrapReturn;
  55. export { UseFocusTrapOptions, UseFocusTrapReturn, useFocusTrap };