index.d.ts 650 B

1234567891011121314151617
  1. import type { ShallowRef } from 'vue';
  2. interface UseFocusControllerOptions {
  3. afterFocus?: () => void;
  4. /**
  5. * return true to cancel blur
  6. * @param event FocusEvent
  7. */
  8. beforeBlur?: (event: FocusEvent) => boolean | undefined;
  9. afterBlur?: () => void;
  10. }
  11. export declare function useFocusController<T extends HTMLElement>(target: ShallowRef<T | undefined>, { afterFocus, beforeBlur, afterBlur }?: UseFocusControllerOptions): {
  12. wrapperRef: ShallowRef<HTMLElement | undefined>;
  13. isFocused: import("vue").Ref<boolean>;
  14. handleFocus: (event: FocusEvent) => void;
  15. handleBlur: (event: FocusEvent) => void;
  16. };
  17. export {};