index.d.ts 983 B

123456789101112131415161718192021222324252627
  1. import type { ShallowRef } from 'vue';
  2. import type { MaybeRef } from '@vueuse/core';
  3. interface UseFocusControllerOptions {
  4. disabled?: MaybeRef<boolean>;
  5. /**
  6. * return true to cancel focus
  7. * @param event FocusEvent
  8. */
  9. beforeFocus?: (event: FocusEvent) => boolean | undefined;
  10. afterFocus?: () => void;
  11. /**
  12. * return true to cancel blur
  13. * @param event FocusEvent
  14. */
  15. beforeBlur?: (event: FocusEvent) => boolean | undefined;
  16. afterBlur?: () => void;
  17. }
  18. export declare function useFocusController<T extends {
  19. focus: () => void;
  20. }>(target: ShallowRef<T | undefined>, { disabled, beforeFocus, afterFocus, beforeBlur, afterBlur, }?: UseFocusControllerOptions): {
  21. isFocused: import("vue").Ref<boolean>;
  22. /** Avoid using wrapperRef and handleFocus/handleBlur together */
  23. wrapperRef: ShallowRef<HTMLElement | undefined>;
  24. handleFocus: (event: FocusEvent) => void;
  25. handleBlur: (event: FocusEvent) => void;
  26. };
  27. export {};