UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

42 lines (38 loc) 1.18 kB
import { useEnvironmentContext } from "./HDGILMRT.jsx"; // src/providers/interaction/use-focus-visible.ts import { isFocusVisible, trackFocusVisible } from "@zag-js/focus-visible"; import { useSyncExternalStore } from "@zag-js/solid"; function useFocusVisible(props = {}) { const { isTextInput, autoFocus } = props; const environment = useEnvironmentContext(); return useSyncExternalStore( (listener) => trackFocusVisible({ root: environment().getRootNode(), isTextInput, autoFocus, onChange: listener }), () => autoFocus || isFocusVisible(), () => false ); } // src/providers/interaction/use-interaction-modality.ts import { getInteractionModality, trackInteractionModality } from "@zag-js/focus-visible"; import { useSyncExternalStore as useSyncExternalStore2 } from "@zag-js/solid"; function useInteractionModality() { const environment = useEnvironmentContext(); return useSyncExternalStore2( (listener) => trackInteractionModality({ root: environment().getRootNode(), onChange: listener }), getInteractionModality, () => null ); } export { useFocusVisible, useInteractionModality };