@@ -1,56 +0,0 @@
1−module React.Aria.Interactions where
2−
3−import Prelude
4−
5−import Effect.Uncurried (EffectFn1, runEffectFn1)
6−import Prim.Row (class Union)
7−import React.Basic.Events (EventHandler)
8−import React.Basic.Hooks (Hook, unsafeHook)
9−
10−-- UseFocusWithin
11−
12−type FocusWithinProps =
13− ( isDisabled ∷ Boolean
14− , onFocusWithin ∷ EventHandler
15− , onBlurWithin ∷ EventHandler
16− , onFocusWithinChange ∷ EffectFn1 Boolean Unit
17− )
18−
19−type FocusWithinResult =
20− { focusWithinProps ∷
21− { onBlur ∷ EventHandler, onFocus ∷ EventHandler }
22− }
23−
24−foreign import useFocusWithinImpl ∷ ∀ props. EffectFn1 props FocusWithinResult
25−
26−newtype UseFocusWithin a = UseFocusWithin a
27−
28−useFocusWithin
29− ∷ ∀ props props_
30− . Union props props_ FocusWithinProps
31− ⇒ { | props }
32− → Hook UseFocusWithin FocusWithinResult
33−useFocusWithin = unsafeHook <<< runEffectFn1 useFocusWithinImpl
34−
35−-- UseFocus
36−
37−type FocusProps =
38− ( isDisabled ∷ Boolean
39− , onFocus ∷ EventHandler
40− , onBlur ∷ EventHandler
41− , onFocusChange ∷ EffectFn1 Boolean Unit
42− )
43−
44−type FocusResult =
45− { focusProps ∷ { onBlur ∷ EventHandler, onFocus ∷ EventHandler } }
46−
47−foreign import useFocusImpl ∷ ∀ props. EffectFn1 props FocusResult
48−
49−newtype UseFocus a = UseFocus a
50−
51−useFocus
52− ∷ ∀ props props_
53− . Union props props_ FocusProps
54− ⇒ { | props }
55− → Hook UseFocus FocusResult
56−useFocus = unsafeHook <<< runEffectFn1 useFocusImpl