@ark-ui/vue
Version:
A collection of unstyled, accessible UI components for Vue, utilizing state machines for seamless interaction.
17 lines (16 loc) • 789 B
JavaScript
const require_use_environment_context = require("../environment/use-environment-context.cjs");
let _zag_js_vue = require("@zag-js/vue");
let _zag_js_focus_visible = require("@zag-js/focus-visible");
//#region src/providers/interaction/use-focus-visible.ts
function useFocusVisible(props = {}) {
const { isTextInput, autoFocus } = props;
const env = require_use_environment_context.useEnvironmentContext(require_use_environment_context.DEFAULT_ENVIRONMENT);
return (0, _zag_js_vue.useSyncExternalStore)((listener) => (0, _zag_js_focus_visible.trackFocusVisible)({
root: env.value.getRootNode(),
isTextInput,
autoFocus,
onChange: listener
}), () => autoFocus || (0, _zag_js_focus_visible.isFocusVisible)(), () => false);
}
//#endregion
exports.useFocusVisible = useFocusVisible;