/
Slider.purs
47 lines (41 loc) · 1.42 KB
/
Slider.purs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- | See [Slider](https://facebook.github.io/react-native/docs/slider.html)
module ReactNative.Components.Slider (
slider, slider', class SliderType
) where
import Prelude
import ReactNative.Optional (class Optional)
import React (ReactElement)
import ReactNative.Components.View (ViewPropsEx)
import ReactNative.Events (EventHandler)
import ReactNative.PropTypes (ImageSource)
import ReactNative.PropTypes.Color (Color)
import ReactNative.Unsafe.ApplyProps (unsafeApplyProps)
import ReactNative.Unsafe.Components (sliderU)
type SliderPropsO a = ViewPropsEx (
disabled :: Boolean
, maximumValue :: a
, minimumValue :: a
, onSlidingComplete :: EventHandler a
, onValueChange :: EventHandler a
, step :: a
, value :: a
) () (
maximumTrackImage :: ImageSource
, maximumTrackTintColor :: Color
, minimumTrackImage :: ImageSource
, minimumTrackTintColor :: Color
, thumbImage :: ImageSource
, trackImage :: ImageSource
)
-- | Create a slider with min, max, step, value and onSlidingComplete
slider :: forall a. SliderType a => {minimumValue::a, maximumValue::a, step::a, value::a, onSlidingComplete::EventHandler a} -> ReactElement
slider = sliderU
-- | Create a slider using props
slider' :: forall a o
. SliderType a
=> Optional o (SliderPropsO a)
=> {|o} -> ReactElement
slider' = sliderU <<< unsafeApplyProps
class SliderType a
instance intSlider :: SliderType Int
instance numberSlider :: SliderType Number