git.iko.soy/rowtype-yoga/ry-blocks
on main help sign in
Everything is relative
89527faMark Eibes
src/Yoga/Block/Atom/Segmented/Style.purs+31−21
@@ -12,7 +12,7 @@ type Props f r =
12cluster ∷ Style
12cluster ∷ Style
13cluster =
13cluster =
14 css
14 css
15− { overflow: auto
15+ { overflow: visible
16 , flex: str "1"
16 , flex: str "1"
17 , display: str "inline-flex"
17 , display: str "inline-flex"
18 , userSelect: none
18 , userSelect: none
@@ -21,28 +21,37 @@ cluster =
21segmented ∷ Style
21segmented ∷ Style
22segmented = styles
22segmented = styles
23 where
23 where
24− styles =
24+ styles =
25− css
25+ css
26− { borderWidth: _0
26+ { borderWidth: _0
27− , margin: _0
27+ , margin: _0
28− , width: auto
28+ , width: auto
29− , display: flex
29+ , display: flex
30− , flex: str "1"
30+ , flex: str "1"
31− , minHeight: str "min-content"
31+ , minHeight: str "min-content"
32− , background: str colour.backgroundLayer3
32+ , background: str colour.backgroundLayer3
33− , boxShadow: str "inset 0 1 0 rgba(0,0,0,0.1)"
33+ , boxShadow: str "inset 0 1 0 rgba(0,0,0,0.1)"
34− , borderRadius: str "calc(var(--s-1) * 0.8)"
34+ , borderRadius: str "calc(var(--s-1) * 0.8)"
35− , border: str $ i "1px solid " colour.interfaceBackground
35+ , border: str $ i "1px solid " colour.interfaceBackground
36− , borderBottom: str $ i "1px solid " colour.interfaceBackgroundShadow
36+ , borderBottom: str $ i "1px solid " colour.interfaceBackgroundShadow
37− , padding: _0
37+ , padding: _0
38− , overflow: scroll
38+ , overflow: visible
39− , userSelect: none
39+ , userSelect: none
40+ }
41+
42+activeElementWrapper ∷ Style
43+activeElementWrapper =
44+ css
45+ { position: relative
46+ , width: str "0"
47+ , overflow: visible
40− }
48+ }
41
49
42activeElement ∷ Style
50activeElement ∷ Style
43activeElement =
51activeElement =
44 css
52 css
45 { position: absolute
53 { position: absolute
54+ , display: block
46 , borderRadius: str "calc(var(--s-1) * 0.8)"
55 , borderRadius: str "calc(var(--s-1) * 0.8)"
47 , background: str colour.backgroundLayer5
56 , background: str colour.backgroundLayer5
48 , borderTop: str $ i "1px solid " colour.interfaceBackgroundHighlight
57 , borderTop: str $ i "1px solid " colour.interfaceBackgroundHighlight
@@ -58,6 +67,7 @@ button { isFirst, isLast } =
58 { background: color transparent
67 { background: color transparent
59 , appearance: none
68 , appearance: none
60 , color: str colour.text
69 , color: str colour.text
70+ , overflow: visible
61 , border: none
71 , border: none
62 , padding: _0
72 , padding: _0
63 , fontSize: str "var(--s0)"
73 , fontSize: str "var(--s0)"
@@ -95,8 +105,8 @@ buttonContent { isFirst, isLast } =
95 , userSelect: none
105 , userSelect: none
96 }
106 }
97 where
107 where
98− borderSize = "var(--s-4)"
108+ borderSize = "var(--s-4)"
99
109
100− edgePadding = i "calc(var(--s0) - " borderSize ")"
110+ edgePadding = i "calc(var(--s0) - " borderSize ")"
101
111
102− inBetweenPadding = i "calc(var(--s0)*0.9 - " borderSize ")"
112+ inBetweenPadding = i "calc(var(--s0)*0.9 - " borderSize ")"
src/Yoga/Block/Atom/Segmented/View.purs+8−8
@@ -8,7 +8,6 @@ import Data.Traversable (traverse)
8import Data.TwoOrMore (TwoOrMore)
8import Data.TwoOrMore (TwoOrMore)
9import Data.TwoOrMore as TwoOrMore
9import Data.TwoOrMore as TwoOrMore
10import Effect.Aff (delay)
10import Effect.Aff (delay)
11−import Effect.Class.Console (log)
12import Effect.Unsafe (unsafePerformEffect)
11import Effect.Unsafe (unsafePerformEffect)
13import Foreign.Object as Object
12import Foreign.Object as Object
14import Math as Math
13import Math as Math
@@ -45,7 +44,7 @@ component =
45 refs <- traverse (const createRef) buttonContents
44 refs <- traverse (const createRef) buttonContents
46 setItemRefs (Just refs)
45 setItemRefs (Just refs)
47 mempty
46 mempty
48− windowWidth /\ setWindowWidth <- useState' 0.0
47+ windowSize /\ setWindowSize <- useState' zero
49 -------------------------------------------
48 -------------------------------------------
50 -- Support keyboard input
49 -- Support keyboard input
51 let
50 let
@@ -68,18 +67,19 @@ component =
68 _ -> pure unit
67 _ -> pure unit
69 -------------------------------------------
68 -------------------------------------------
70 -- Ensure redraw on window resize
69 -- Ensure redraw on window resize
71− windowSize <- useResize
70+ newWindowSize <- useResize
72− useAff windowSize.width do
71+ useAff newWindowSize do
72+ let δw = Math.abs (newWindowSize.width - windowSize.width)
73+ let δh = Math.abs (newWindowSize.height - windowSize.height)
73 delay
74 delay
74− if Math.abs (windowWidth - windowSize.width) < 10.0 then
75+ if δw < 10.0 || δh < 10.0 then
75 100.0 # Milliseconds
76 100.0 # Milliseconds
76 else
77 else
77 10.0 # Milliseconds
78 10.0 # Milliseconds
78 liftEffect do -- force rerender
79 liftEffect do -- force rerender
79− log "Forcing rerender"
80 refs <- traverse (const createRef) buttonContents
80 refs <- traverse (const createRef) buttonContents
81 setItemRefs (Just refs)
81 setItemRefs (Just refs)
82− setWindowWidth windowSize.width
82+ setWindowSize windowSize
83 let
83 let
84 children ∷ Array JSX
84 children ∷ Array JSX
85 children = refsAndContents <#> mapWithIndex contentToChild # maybe mempty TwoOrMore.toArray
85 children = refsAndContents <#> mapWithIndex contentToChild # maybe mempty TwoOrMore.toArray
@@ -128,7 +128,7 @@ component =
128 { activeItemRefs
128 { activeItemRefs
129 , activeItemIndex: activeIndex
129 , activeItemIndex: activeIndex
130 , updateActiveIndex
130 , updateActiveIndex
131− , windowWidth
131+ , windowSize
132 }
132 }
133 A.: children
133 A.: children
134 }
134 }
src/Yoga/Block/Atom/Segmented/View/ActiveIndicator.purs+128−157
@@ -13,7 +13,8 @@ import Literals.Undefined (undefined)
13import MotionValue (useMotionValue)
13import MotionValue (useMotionValue)
14import MotionValue as MotionValue
14import MotionValue as MotionValue
15import Partial.Unsafe (unsafeCrashWith)
15import Partial.Unsafe (unsafeCrashWith)
16−import React.Basic.DOM (CSS, css)
16+import React.Basic.DOM (css)
17+import React.Basic.DOM as R
17import React.Basic.Emotion as Emotion
18import React.Basic.Emotion as Emotion
18import React.Basic.Hooks (reactComponent)
19import React.Basic.Hooks (reactComponent)
19import React.Basic.Hooks as React
20import React.Basic.Hooks as React
@@ -21,12 +22,12 @@ import Unsafe.Coerce (unsafeCoerce)
21import Yoga.Block.Atom.Segmented.Style as Style
22import Yoga.Block.Atom.Segmented.Style as Style
22import Yoga.Block.Hook.Scroll (useScrollPosition)
23import Yoga.Block.Hook.Scroll (useScrollPosition)
23
24
24−type Props
25+type Props =
25− = { activeItemRefs ∷ TwoOrMore (Ref (Nullable Node))
26+ { activeItemRefs ∷ TwoOrMore (Ref (Nullable Node))
26− , activeItemIndex ∷ Int
27+ , activeItemIndex ∷ Int
27− , updateActiveIndex ∷ Int -> Effect Unit
28+ , updateActiveIndex ∷ Int -> Effect Unit
28− , windowWidth ∷ Number
29+ , windowSize ∷ { width ∷ Number, height ∷ Number }
29− }
30+ }
30
31
31component ∷ ReactComponent Props
32component ∷ ReactComponent Props
32component =
33component =
@@ -34,29 +35,36 @@ component =
34 $ reactComponent "SegmentedActive" do
35 $ reactComponent "SegmentedActive" do
35 \(props ∷ Props) -> React.do
36 \(props ∷ Props) -> React.do
36 maybeAnimationVariants /\ setVariants <- useState' Nothing
37 maybeAnimationVariants /\ setVariants <- useState' Nothing
38+ variantIndex /\ modVariantIndex <- useState props.activeItemIndex
37 maybeDragX /\ setDragX <- useState' Nothing
39 maybeDragX /\ setDragX <- useState' Nothing
38− { scrollX } <- useScrollPosition
40+ { scrollX, scrollY } <- useScrollPosition
39 activeLeft <- useMotionValue 0.0
41 activeLeft <- useMotionValue 0.0
40 activeWidth <- useMotionValue 0.0
42 activeWidth <- useMotionValue 0.0
41 useEffectAlways do
43 useEffectAlways do
42− _ <-
44+ _ <- do
43− runMaybeT do
44− rawStyles <- traverse getStyle props.activeItemRefs
45+ styles <- getStyles props.activeItemRefs
45− let
46− -- [TODO] ScrollX is questionable
47− styles = rawStyles <#> \s -> s { left = s.left + scrollX }
48− unless (maybeAnimationVariants == Just styles) do
46+ unless (maybeAnimationVariants == Just styles) do
49− setVariants (Just styles) # lift
47+ setVariants (Just styles)
50 mempty
48 mempty
51 useLayoutEffect maybeDragX do
49 useLayoutEffect maybeDragX do
52 case maybeDragX, maybeAnimationVariants of
50 case maybeDragX, maybeAnimationVariants of
53 Just x, Just animationVariants -> do
51 Just x, Just animationVariants -> do
54− let
55− { left, width } = handleDrag { activeItemIndex: props.activeItemIndex, animationVariants, x }
52+ let { left, width } = handleDrag { activeItemIndex: props.activeItemIndex, animationVariants, x }
56 activeLeft # MotionValue.set left
53 activeLeft # MotionValue.set left
57 activeWidth # MotionValue.set width
54 activeWidth # MotionValue.set width
58 _, _ -> mempty
55 _, _ -> mempty
59 mempty
56 mempty
57+ useEffect props.activeItemIndex do
58+ modVariantIndex (const props.activeItemIndex)
59+ mempty
60+ useEffect (props.windowSize /\ scrollX /\ scrollY) do
61+ if variantIndex == 0 then do
62+ modVariantIndex (_ + 1)
63+ modVariantIndex (_ - 1)
64+ else do
65+ modVariantIndex (_ - 1)
66+ modVariantIndex (_ + 1)
67+ mempty
60 let
68 let
61 variants ∷ Motion.Variants
69 variants ∷ Motion.Variants
62 variants = case maybeAnimationVariants of
70 variants = case maybeAnimationVariants of
@@ -68,113 +76,96 @@ component =
68 Nothing -> cast undefined
76 Nothing -> cast undefined
69 pure $ maybeAnimationVariants
77 pure $ maybeAnimationVariants
70 # foldMap \animationVariants ->
78 # foldMap \animationVariants ->
79+ Emotion.element R.div'
80+ { className: "ry-active-segmented-element-wrapper"
81+ , css: Style.activeElementWrapper
82+ , children:
71− Emotion.elementKeyed Motion.div
83+ [ Emotion.elementKeyed Motion.div
72− { css: Style.activeElement
84+ { css: Style.activeElement
73− , layout: Motion.layout true
85+ , layout: Motion.layout true
74− , key: show props.windowWidth -- to force rerender
86+ , key: show (props.windowSize /\ scrollX /\ scrollY) -- to force rerender
87+ , custom: Motion.customProp (({ childRefs: props.activeItemRefs, scrollX, scrollY }) ∷ Custom)
75− , variants
88+ , variants
76− , className: "ry-active-segmented-element"
89+ , className: "ry-active-segmented-element"
77− , initial: Motion.initial $ indexToVariant props.activeItemIndex
90+ , initial: Motion.initial $ indexToVariant props.activeItemIndex
78− , drag: Motion.drag "x"
91+ , drag: Motion.drag "x"
79− , dragMomentum: Motion.dragMomentum false
92+ , dragMomentum: Motion.dragMomentum false
80− , animate: Motion.animate $ indexToVariant props.activeItemIndex
93+ , animate: Motion.animate $ indexToVariant variantIndex
81− , style:
94+ , style:
82− css
95+ css
83− { left: activeLeft
96+ { left: activeLeft
84− , width: activeWidth
97+ , width: activeWidth
85− }
98+ }
86− , onDragStart:
99+ , onDragStart:
87− Motion.onDragStart \_ pi -> do
100+ Motion.onDragStart \_ pi -> do
88− setDragX (Just pi.point.x)
101+ setDragX (Just pi.point.x)
89− , onDrag:
102+ , onDrag:
90− Motion.onDrag \_ pi -> do
103+ Motion.onDrag \_ pi -> do
91− when (isJust maybeDragX) $ setDragX (Just pi.point.x)
104+ when (isJust maybeDragX) $ setDragX (Just pi.point.x)
92− , onDragEnd:
105+ , onDragEnd:
93− Motion.onDragEnd \_ pi -> do
106+ Motion.onDragEnd \_ pi -> do
94− let
107+ let
95− x =
108+ x =
96− maybeDragX
109+ maybeDragX
97− # fromMaybe' \_ -> unsafeCrashWith "no x"
110+ # fromMaybe' \_ -> unsafeCrashWith "no x"
98−
99− newIdx =
111+ newIdx =
100− findOverlapping
112+ findOverlapping
101− props.activeItemIndex
113+ props.activeItemIndex
102− animationVariants
114+ animationVariants
103− x
115+ x
104−
105− v =
116+ v =
106− animationVariants TwoOrMore.!! newIdx
117+ animationVariants TwoOrMore.!! newIdx
107− # fromMaybe' \_ -> unsafeCrashWith "omg"
118+ # fromMaybe' \_ -> unsafeCrashWith "omg"
108− setDragX Nothing
119+ setDragX Nothing
109− activeLeft # MotionValue.set v.left
120+ activeLeft # MotionValue.set v.left
110− activeWidth # MotionValue.set v.width
121+ activeWidth # MotionValue.set v.width
111− props.updateActiveIndex newIdx
122+ props.updateActiveIndex newIdx
112− , dragConstraints: Motion.dragConstraints { left: 0, right: 0 }
123+ , dragConstraints: Motion.dragConstraints { left: 0, right: 0 }
113− , dragElastic: Motion.dragElastic false
124+ , dragElastic: Motion.dragElastic false
114− , transition:
125+ , transition:
115− Motion.transition
126+ Motion.transition
116− { type: "tween"
127+ { type: "tween"
117− , duration: if isJust maybeDragX then 0.0 else 0.167
128+ , duration: if isJust maybeDragX then 0.0 else 0.167
118− , ease: "easeOut"
129+ , ease: "easeOut"
130+ }
131+ , _aria: Object.fromHomogeneous { hidden: "true" }
119 }
132 }
120− , _aria: Object.fromHomogeneous { hidden: "true" }
133+ ]
121 }
134 }
122
135
123−getStyle ∷
124− Ref (Nullable Node) ->
136+getStyles ∷ TwoOrMore (Ref (Nullable Node)) -> Effect (TwoOrMore BBox)
125− MaybeT Effect BBox
137+getStyles itemRefs = do
126−getStyle itemRef = do
127− br <- MaybeT $ getBoundingBoxFromRef itemRef
138+ maybeBBs ∷ TwoOrMore (Maybe DOMRect) <- traverse getBoundingBoxFromRef itemRefs
128− pure
139+ let boundingBoxes = maybeBBs <#> (_ # fromMaybe' \_ -> unsafeCrashWith "something's wrong")
129− { width: br.width
140+ pure (boundingBoxes # mapWithIndex (fn boundingBoxes))
130− , height: br.height
131− , left: br.left
132− , top: br.top
133− }
134−
135−mkVariantForIndex :: Int -> CSS
136−mkVariantForIndex i =
137− css
138− { width: unsafeStyle _.width
139− , height: unsafeStyle _.height
140− , x: unsafeStyle _.left
141− , y: unsafeStyle _.top
142− }
143 where
141 where
144− unsafeStyle :: _ -> TwoOrMore NodeRef -> Number
142+ fn ∷ TwoOrMore DOMRect -> Int -> DOMRect -> BBox
145− unsafeStyle fn refs =
143+ fn boundingBoxes i bb = do
146− unsafeGetRefAtI refs
144+ let first = TwoOrMore.head boundingBoxes
147− # unsafeGetBoundingBoxFromRef
145+ { width: bb.width
148− <#> fn
146+ , height: bb.height
149− # fromMaybe 0.0
147+ , left: bb.left - first.left
150−
148+ , top: 0.0
151− unsafeGetRefAtI :: TwoOrMore NodeRef -> NodeRef
149+ }
152− unsafeGetRefAtI x =
153− (x TwoOrMore.!! i)
154− # fromMaybe' \_ -> unsafeCrashWith "Trying to get non-existing index"
155
150
156− unsafeGetBoundingBoxFromRef = unsafePerformEffect <<< getBoundingBoxFromRef
151+type Custom =
152+ { childRefs ∷ TwoOrMore NodeRef, scrollX ∷ Number, scrollY ∷ Number }
157
153
158indexToVariant ∷ Int -> VariantLabel
154indexToVariant ∷ Int -> VariantLabel
159indexToVariant = show >>> unsafeCoerce
155indexToVariant = show >>> unsafeCoerce
160
156
161−type BBox
157+type BBox =
162− = { top ∷ Number, left ∷ Number, width ∷ Number, height ∷ Number }
158+ { top ∷ Number, left ∷ Number, width ∷ Number, height ∷ Number }
163
159
164findOverlapping ∷ Int -> TwoOrMore BBox -> Number -> Int
160findOverlapping ∷ Int -> TwoOrMore BBox -> Number -> Int
165findOverlapping activeIndex styles x =
161findOverlapping activeIndex styles x =
166 fromMaybe activeIndex do
162 fromMaybe activeIndex do
167 curr <- styles TwoOrMore.!! activeIndex
163 curr <- styles TwoOrMore.!! activeIndex
168− let
169− fst = TwoOrMore.head styles
164+ let fst = TwoOrMore.head styles
170− let
171− lst = TwoOrMore.last styles
165+ let lst = TwoOrMore.last styles
172− let
173− inside e = (e.left < x) && (e.left + e.width) >= x
166+ let inside e = (e.left < x) && (e.left + e.width) >= x
174− let
175− tooFarLeft = MZ.guard (x <= fst.left + fst.width) $> 0
167+ let tooFarLeft = MZ.guard (x <= fst.left + fst.width) $> 0
176− let
177− tooFarRight = MZ.guard (x >= lst.left) $> TwoOrMore.length styles - 1
168+ let tooFarRight = MZ.guard (x >= lst.left) $> TwoOrMore.length styles - 1
178 TwoOrMore.findIndex inside styles <|> tooFarLeft <|> tooFarRight
169 TwoOrMore.findIndex inside styles <|> tooFarLeft <|> tooFarRight
179
170
180handleDrag ∷
171handleDrag ∷
@@ -184,16 +175,11 @@ handleDrag ∷
184 } ->
175 } ->
185 { left ∷ Number, width ∷ Number }
176 { left ∷ Number, width ∷ Number }
186handleDrag { x, activeItemIndex, animationVariants } = do
177handleDrag { x, activeItemIndex, animationVariants } = do
187− let
188− idx = findOverlapping activeItemIndex animationVariants x
178+ let idx = findOverlapping activeItemIndex animationVariants x
189− let
190− av = animationVariants
179+ let av = animationVariants
191− let
192− firstVariant = av # TwoOrMore.head
180+ let firstVariant = av # TwoOrMore.head
193− let
194− lastVariant = av # TwoOrMore.last
181+ let lastVariant = av # TwoOrMore.last
195− let
196− baseVariant = av TwoOrMore.!! idx # fromMaybe' \_ -> unsafeCrashWith "shit"
182+ let baseVariant = av TwoOrMore.!! idx # fromMaybe' \_ -> unsafeCrashWith "shit"
197 let
183 let
198 closestVariant =
184 closestVariant =
199 if x >= (baseVariant.left + (baseVariant.width / 2.0)) then
185 if x >= (baseVariant.left + (baseVariant.width / 2.0)) then
@@ -207,44 +193,29 @@ handleDrag { x, activeItemIndex, animationVariants } = do
207 else
193 else
208 closestVariant /\ baseVariant
194 closestVariant /\ baseVariant
209 -- Total
195 -- Total
210− let
211− rangeStart = smaller.left + (smaller.width / 2.0)
196+ let rangeStart = smaller.left + (smaller.width / 2.0)
212− let
213− rangeEnd = greater.left + (greater.width / 2.0)
197+ let rangeEnd = greater.left + (greater.width / 2.0)
214− let
215− range = rangeEnd - rangeStart
198+ let range = rangeEnd - rangeStart
216− let
217− ratio = ((x - rangeStart) / range)
199+ let ratio = ((x - rangeStart) / range)
218− let
219− interpolatedWidth = (greater.width * ratio) + smaller.width * (1.0 - ratio)
200+ let interpolatedWidth = (greater.width * ratio) + smaller.width * (1.0 - ratio)
220 -- Right
201 -- Right
221− let
222− rangeStartRight = smaller.left + smaller.width
202+ let rangeStartRight = smaller.left + smaller.width
223− let
224− rangeEndRight = greater.left + greater.width
203+ let rangeEndRight = greater.left + greater.width
225− let
226− rangeRight = rangeEndRight - rangeStartRight
204+ let rangeRight = rangeEndRight - rangeStartRight
227− let
228− ratioRight = ((x + (interpolatedWidth / 2.0) - rangeStartRight) / rangeRight)
205+ let ratioRight = ((x + (interpolatedWidth / 2.0) - rangeStartRight) / rangeRight)
229 -- Left
206 -- Left
230− let
231− rangeStartLeft = smaller.left
207+ let rangeStartLeft = smaller.left
232− let
233− rangeEndLeft = greater.left
208+ let rangeEndLeft = greater.left
234− let
235− rangeLeft = rangeEndLeft - rangeStartLeft
209+ let rangeLeft = rangeEndLeft - rangeStartLeft
236− let
237− ratioLeft = (((x - (interpolatedWidth / 2.0)) - rangeStartLeft) / rangeLeft)
210+ let ratioLeft = (((x - (interpolatedWidth / 2.0)) - rangeStartLeft) / rangeLeft)
238 -- Individual
211 -- Individual
239− let
240− left = rangeStartLeft + (ratioLeft * rangeLeft)
212+ let left = rangeStartLeft + (ratioLeft * rangeLeft)
241− let
242− right = rangeStartRight + (ratioRight * rangeRight)
213+ let right = rangeStartRight + (ratioRight * rangeRight)
243− let
244− width = right - left
214+ let width = right - left
245 if x < firstVariant.left then
215 if x < firstVariant.left then
246 { left: firstVariant.left, width: firstVariant.width }
216 { left: firstVariant.left, width: firstVariant.width }
217+ else
247− else if x >= lastVariant.left + lastVariant.width then do
218+ if x >= lastVariant.left + lastVariant.width then do
248− { left: lastVariant.left, width: lastVariant.width }
219+ { left: lastVariant.left, width: lastVariant.width }
249− else do
220+ else do
250− { left, width }
221+ { left, width }
src/Yoga/Block/Internal.purs+437−437
@@ -67,8 +67,8 @@ foreign import mkForwardRefComponentEffect ∷
67
67
68foreign import createRef ∷ ∀ a. Effect (Ref a)
68foreign import createRef ∷ ∀ a. Effect (Ref a)
69
69
70−type NodeRef
70+type NodeRef =
71− = Ref (Nullable Node)
71+ Ref (Nullable Node)
72
72
73getBoundingBoxFromRef ∷ Ref (Nullable Node) -> Effect (Maybe DOMRect)
73getBoundingBoxFromRef ∷ Ref (Nullable Node) -> Effect (Maybe DOMRect)
74getBoundingBoxFromRef itemRef = do
74getBoundingBoxFromRef itemRef = do
@@ -200,443 +200,443 @@ dangerous = unsafePerformEffect <<< unsafeCreateDOMComponent
200
200
201-- type DivProps =
201-- type DivProps =
202-- Props_div
202-- Props_div
203−type DivProps
203+type DivProps =
204− = DivPropsF Id ()
204+ DivPropsF Id ()
205
205
206−type DivPropsF f more
206+type DivPropsF f more =
207− = ( _aria ∷ f (Object String)
207+ ( _aria ∷ f (Object String)
208− , _data ∷ f (Object String)
208+ , _data ∷ f (Object String)
209− , about ∷ f String
209+ , about ∷ f String
210− , acceptCharset ∷ f String
210+ , acceptCharset ∷ f String
211− , accessKey ∷ f String
211+ , accessKey ∷ f String
212− , allowFullScreen ∷ f Boolean
212+ , allowFullScreen ∷ f Boolean
213− , autoFocus ∷ f Boolean
213+ , autoFocus ∷ f Boolean
214− , autoPlay ∷ f Boolean
214+ , autoPlay ∷ f Boolean
215− , capture ∷ f Boolean
215+ , capture ∷ f Boolean
216− , cellPadding ∷ f String
216+ , cellPadding ∷ f String
217− , cellSpacing ∷ f String
217+ , cellSpacing ∷ f String
218− , charSet ∷ f String
218+ , charSet ∷ f String
219− , children ∷ f (Array JSX)
219+ , children ∷ f (Array JSX)
220− , classID ∷ f String
220+ , classID ∷ f String
221− , colSpan ∷ f Int
221+ , colSpan ∷ f Int
222− , contentEditable ∷ f Boolean
222+ , contentEditable ∷ f Boolean
223− , contextMenu ∷ f String
223+ , contextMenu ∷ f String
224− , crossOrigin ∷ f String
224+ , crossOrigin ∷ f String
225− , dangerouslySetInnerHTML ∷ f { __html ∷ f String }
225+ , dangerouslySetInnerHTML ∷ f { __html ∷ f String }
226− , datatype ∷ f String
226+ , datatype ∷ f String
227− , dateTime ∷ f String
227+ , dateTime ∷ f String
228− , dir ∷ f String
228+ , dir ∷ f String
229− , draggable ∷ f Boolean
229+ , draggable ∷ f Boolean
230− , encType ∷ f String
230+ , encType ∷ f String
231− , formAction ∷ f String
231+ , formAction ∷ f String
232− , formEncType ∷ f String
232+ , formEncType ∷ f String
233− , formMethod ∷ f String
233+ , formMethod ∷ f String
234− , formNoValidate ∷ f Boolean
234+ , formNoValidate ∷ f Boolean
235− , formTarget ∷ f String
235+ , formTarget ∷ f String
236− , frameBorder ∷ f String
236+ , frameBorder ∷ f String
237− , hidden ∷ f Boolean
237+ , hidden ∷ f Boolean
238− , hrefLang ∷ f String
238+ , hrefLang ∷ f String
239− , htmlFor ∷ f String
239+ , htmlFor ∷ f String
240− , httpEquiv ∷ f String
240+ , httpEquiv ∷ f String
241− , icon ∷ f String
241+ , icon ∷ f String
242− , id ∷ f String
242+ , id ∷ f String
243− , inlist ∷ f String
243+ , inlist ∷ f String
244− , inputMode ∷ f String
244+ , inputMode ∷ f String
245− , is ∷ f String
245+ , is ∷ f String
246− , itemID ∷ f String
246+ , itemID ∷ f String
247− , itemProp ∷ f String
247+ , itemProp ∷ f String
248− , itemRef ∷ f String
248+ , itemRef ∷ f String
249− , itemScope ∷ f Boolean
249+ , itemScope ∷ f Boolean
250− , itemType ∷ f String
250+ , itemType ∷ f String
251− , keyParams ∷ f String
251+ , keyParams ∷ f String
252− , keyType ∷ f String
252+ , keyType ∷ f String
253− , lang ∷ f String
253+ , lang ∷ f String
254− , marginHeight ∷ f String
254+ , marginHeight ∷ f String
255− , marginWidth ∷ f String
255+ , marginWidth ∷ f String
256− , maxLength ∷ f Int
256+ , maxLength ∷ f Int
257− , mediaGroup ∷ f String
257+ , mediaGroup ∷ f String
258− , minLength ∷ f Int
258+ , minLength ∷ f Int
259− , noValidate ∷ f Boolean
259+ , noValidate ∷ f Boolean
260− , onAnimationEnd ∷ f EventHandler
260+ , onAnimationEnd ∷ f EventHandler
261− , onAnimationIteration ∷ f EventHandler
261+ , onAnimationIteration ∷ f EventHandler
262− , onAnimationStart ∷ f EventHandler
262+ , onAnimationStart ∷ f EventHandler
263− , onBlur ∷ f EventHandler
263+ , onBlur ∷ f EventHandler
264− , onClick ∷ f EventHandler
264+ , onClick ∷ f EventHandler
265− , onCompositionEnd ∷ f EventHandler
265+ , onCompositionEnd ∷ f EventHandler
266− , onCompositionStart ∷ f EventHandler
266+ , onCompositionStart ∷ f EventHandler
267− , onCompositionUpdate ∷ f EventHandler
267+ , onCompositionUpdate ∷ f EventHandler
268− , onContextMenu ∷ f EventHandler
268+ , onContextMenu ∷ f EventHandler
269− , onCopy ∷ f EventHandler
269+ , onCopy ∷ f EventHandler
270− , onCut ∷ f EventHandler
270+ , onCut ∷ f EventHandler
271− , onDoubleClick ∷ f EventHandler
271+ , onDoubleClick ∷ f EventHandler
272− , onDrag ∷ f EventHandler
272+ , onDrag ∷ f EventHandler
273− , onDragEnd ∷ f EventHandler
273+ , onDragEnd ∷ f EventHandler
274− , onDragEnter ∷ f EventHandler
274+ , onDragEnter ∷ f EventHandler
275− , onDragExit ∷ f EventHandler
275+ , onDragExit ∷ f EventHandler
276− , onDragLeave ∷ f EventHandler
276+ , onDragLeave ∷ f EventHandler
277− , onDragOver ∷ f EventHandler
277+ , onDragOver ∷ f EventHandler
278− , onDragStart ∷ f EventHandler
278+ , onDragStart ∷ f EventHandler
279− , onDrop ∷ f EventHandler
279+ , onDrop ∷ f EventHandler
280− , onFocus ∷ f EventHandler
280+ , onFocus ∷ f EventHandler
281− , onGotPointerCapture ∷ f EventHandler
281+ , onGotPointerCapture ∷ f EventHandler
282− , onInvalid ∷ f EventHandler
282+ , onInvalid ∷ f EventHandler
283− , onKeyDown ∷ f EventHandler
283+ , onKeyDown ∷ f EventHandler
284− , onKeyPress ∷ f EventHandler
284+ , onKeyPress ∷ f EventHandler
285− , onKeyUp ∷ f EventHandler
285+ , onKeyUp ∷ f EventHandler
286− , onLostPointerCapture ∷ f EventHandler
286+ , onLostPointerCapture ∷ f EventHandler
287− , onMouseDown ∷ f EventHandler
287+ , onMouseDown ∷ f EventHandler
288− , onMouseEnter ∷ f EventHandler
288+ , onMouseEnter ∷ f EventHandler
289− , onMouseLeave ∷ f EventHandler
289+ , onMouseLeave ∷ f EventHandler
290− , onMouseMove ∷ f EventHandler
290+ , onMouseMove ∷ f EventHandler
291− , onMouseOut ∷ f EventHandler
291+ , onMouseOut ∷ f EventHandler
292− , onMouseOver ∷ f EventHandler
292+ , onMouseOver ∷ f EventHandler
293− , onMouseUp ∷ f EventHandler
293+ , onMouseUp ∷ f EventHandler
294− , onPaste ∷ f EventHandler
294+ , onPaste ∷ f EventHandler
295− , onPointerCancel ∷ f EventHandler
295+ , onPointerCancel ∷ f EventHandler
296− , onPointerDown ∷ f EventHandler
296+ , onPointerDown ∷ f EventHandler
297− , onPointerEnter ∷ f EventHandler
297+ , onPointerEnter ∷ f EventHandler
298− , onPointerLeave ∷ f EventHandler
298+ , onPointerLeave ∷ f EventHandler
299− , onPointerMove ∷ f EventHandler
299+ , onPointerMove ∷ f EventHandler
300− , onPointerOut ∷ f EventHandler
300+ , onPointerOut ∷ f EventHandler
301− , onPointerOver ∷ f EventHandler
301+ , onPointerOver ∷ f EventHandler
302− , onPointerUp ∷ f EventHandler
302+ , onPointerUp ∷ f EventHandler
303− , onSelect ∷ f EventHandler
303+ , onSelect ∷ f EventHandler
304− , onSubmit ∷ f EventHandler
304+ , onSubmit ∷ f EventHandler
305− , onTouchCancel ∷ f EventHandler
305+ , onTouchCancel ∷ f EventHandler
306− , onTouchEnd ∷ f EventHandler
306+ , onTouchEnd ∷ f EventHandler
307− , onTouchMove ∷ f EventHandler
307+ , onTouchMove ∷ f EventHandler
308− , onTouchStart ∷ f EventHandler
308+ , onTouchStart ∷ f EventHandler
309− , onTransitionEnd ∷ f EventHandler
309+ , onTransitionEnd ∷ f EventHandler
310− , onWheel ∷ f EventHandler
310+ , onWheel ∷ f EventHandler
311− , prefix ∷ f String
311+ , prefix ∷ f String
312− , property ∷ f String
312+ , property ∷ f String
313− , radioGroup ∷ f String
313+ , radioGroup ∷ f String
314− , readOnly ∷ f Boolean
314+ , readOnly ∷ f Boolean
315− , ref ∷ f (Ref (Nullable Node))
315+ , ref ∷ f (Ref (Nullable Node))
316− , resource ∷ f String
316+ , resource ∷ f String
317− , role ∷ f String
317+ , role ∷ f String
318− , rowSpan ∷ f Int
318+ , rowSpan ∷ f Int
319− , scoped ∷ f Boolean
319+ , scoped ∷ f Boolean
320− , seamless ∷ f Boolean
320+ , seamless ∷ f Boolean
321− , security ∷ f String
321+ , security ∷ f String
322− , spellCheck ∷ f Boolean
322+ , spellCheck ∷ f Boolean
323− , srcDoc ∷ f JSX
323+ , srcDoc ∷ f JSX
324− , srcLang ∷ f String
324+ , srcLang ∷ f String
325− , srcSet ∷ f String
325+ , srcSet ∷ f String
326− , style ∷ f CSS
326+ , style ∷ f CSS
327− , suppressContentEditableWarning ∷ f Boolean
327+ , suppressContentEditableWarning ∷ f Boolean
328− , tabIndex ∷ f Int
328+ , tabIndex ∷ f Int
329− , title ∷ f String
329+ , title ∷ f String
330− , typeof ∷ f String
330+ , typeof ∷ f String
331− , unselectable ∷ f Boolean
331+ , unselectable ∷ f Boolean
332− , useMap ∷ f String
332+ , useMap ∷ f String
333− , vocab ∷ f String
333+ , vocab ∷ f String
334− , wmode ∷ f String
334+ , wmode ∷ f String
335− | more
335+ | more
336− )
336+ )
337
337
338−type InputProps
338+type InputProps =
339− = InputPropsF Id ()
339+ InputPropsF Id ()
340
340
341−type InputPropsF f more
341+type InputPropsF f more =
342− = ( _aria ∷ f (Object String)
342+ ( _aria ∷ f (Object String)
343− , _data ∷ f (Object String)
343+ , _data ∷ f (Object String)
344− , about ∷ f String
344+ , about ∷ f String
345− , accept ∷ f String
345+ , accept ∷ f String
346− , acceptCharset ∷ f String
346+ , acceptCharset ∷ f String
347− , accessKey ∷ f String
347+ , accessKey ∷ f String
348− , allowFullScreen ∷ f Boolean
348+ , allowFullScreen ∷ f Boolean
349− , alt ∷ f String
349+ , alt ∷ f String
350− , autoCapitalize ∷ f String
350+ , autoCapitalize ∷ f String
351− , autoComplete ∷ f String
351+ , autoComplete ∷ f String
352− , autoCorrect ∷ f String
352+ , autoCorrect ∷ f String
353− , autoFocus ∷ f Boolean
353+ , autoFocus ∷ f Boolean
354− , autoPlay ∷ f Boolean
354+ , autoPlay ∷ f Boolean
355− , autoSave ∷ f String
355+ , autoSave ∷ f String
356− , capture ∷ f Boolean
356+ , capture ∷ f Boolean
357− , cellPadding ∷ f String
357+ , cellPadding ∷ f String
358− , cellSpacing ∷ f String
358+ , cellSpacing ∷ f String
359− , charSet ∷ f String
359+ , charSet ∷ f String
360− , checked ∷ f Boolean
360+ , checked ∷ f Boolean
361− , classID ∷ f String
361+ , classID ∷ f String
362− , colSpan ∷ f Int
362+ , colSpan ∷ f Int
363− , contentEditable ∷ f Boolean
363+ , contentEditable ∷ f Boolean
364− , contextMenu ∷ f String
364+ , contextMenu ∷ f String
365− , crossOrigin ∷ f String
365+ , crossOrigin ∷ f String
366− , dangerouslySetInnerHTML ∷ f { __html ∷ f String }
366+ , dangerouslySetInnerHTML ∷ f { __html ∷ f String }
367− , datatype ∷ f String
367+ , datatype ∷ f String
368− , dateTime ∷ f String
368+ , dateTime ∷ f String
369− , defaultChecked ∷ f String
369+ , defaultChecked ∷ f String
370− , defaultValue ∷ f String
370+ , defaultValue ∷ f String
371− , dir ∷ f String
371+ , dir ∷ f String
372− , disabled ∷ f Boolean
372+ , disabled ∷ f Boolean
373− , draggable ∷ f Boolean
373+ , draggable ∷ f Boolean
374− , encType ∷ f String
374+ , encType ∷ f String
375− , form ∷ f String
375+ , form ∷ f String
376− , formAction ∷ f String
376+ , formAction ∷ f String
377− , formEncType ∷ f String
377+ , formEncType ∷ f String
378− , formMethod ∷ f String
378+ , formMethod ∷ f String
379− , formNoValidate ∷ f Boolean
379+ , formNoValidate ∷ f Boolean
380− , formTarget ∷ f String
380+ , formTarget ∷ f String
381− , frameBorder ∷ f String
381+ , frameBorder ∷ f String
382− , height ∷ f String
382+ , height ∷ f String
383− , hidden ∷ f Boolean
383+ , hidden ∷ f Boolean
384− , hrefLang ∷ f String
384+ , hrefLang ∷ f String
385− , htmlFor ∷ f String
385+ , htmlFor ∷ f String
386− , httpEquiv ∷ f String
386+ , httpEquiv ∷ f String
387− , icon ∷ f String
387+ , icon ∷ f String
388− , id ∷ f String
388+ , id ∷ f String
389− , inlist ∷ f String
389+ , inlist ∷ f String
390− , inputMode ∷ f String
390+ , inputMode ∷ f String
391− , is ∷ f String
391+ , is ∷ f String
392− , itemID ∷ f String
392+ , itemID ∷ f String
393− , itemProp ∷ f String
393+ , itemProp ∷ f String
394− , itemRef ∷ f String
394+ , itemRef ∷ f String
395− , itemScope ∷ f Boolean
395+ , itemScope ∷ f Boolean
396− , itemType ∷ f String
396+ , itemType ∷ f String
397− , keyParams ∷ f String
397+ , keyParams ∷ f String
398− , keyType ∷ f String
398+ , keyType ∷ f String
399− , lang ∷ f String
399+ , lang ∷ f String
400− , list ∷ f String
400+ , list ∷ f String
401− , marginHeight ∷ f String
401+ , marginHeight ∷ f String
402− , marginWidth ∷ f String
402+ , marginWidth ∷ f String
403− , maxLength ∷ f Int
403+ , maxLength ∷ f Int
404− , mediaGroup ∷ f String
404+ , mediaGroup ∷ f String
405− , minLength ∷ f Int
405+ , minLength ∷ f Int
406− , multiple ∷ f Boolean
406+ , multiple ∷ f Boolean
407− , name ∷ f String
407+ , name ∷ f String
408− , noValidate ∷ f Boolean
408+ , noValidate ∷ f Boolean
409− , onAnimationEnd ∷ f EventHandler
409+ , onAnimationEnd ∷ f EventHandler
410− , onAnimationIteration ∷ f EventHandler
410+ , onAnimationIteration ∷ f EventHandler
411− , onAnimationStart ∷ f EventHandler
411+ , onAnimationStart ∷ f EventHandler
412− , onBlur ∷ f EventHandler
412+ , onBlur ∷ f EventHandler
413− , onChange ∷ f EventHandler
413+ , onChange ∷ f EventHandler
414− , onClick ∷ f EventHandler
414+ , onClick ∷ f EventHandler
415− , onCompositionEnd ∷ f EventHandler
415+ , onCompositionEnd ∷ f EventHandler
416− , onCompositionStart ∷ f EventHandler
416+ , onCompositionStart ∷ f EventHandler
417− , onCompositionUpdate ∷ f EventHandler
417+ , onCompositionUpdate ∷ f EventHandler
418− , onContextMenu ∷ f EventHandler
418+ , onContextMenu ∷ f EventHandler
419− , onCopy ∷ f EventHandler
419+ , onCopy ∷ f EventHandler
420− , onCut ∷ f EventHandler
420+ , onCut ∷ f EventHandler
421− , onDoubleClick ∷ f EventHandler
421+ , onDoubleClick ∷ f EventHandler
422− , onDrag ∷ f EventHandler
422+ , onDrag ∷ f EventHandler
423− , onDragEnd ∷ f EventHandler
423+ , onDragEnd ∷ f EventHandler
424− , onDragEnter ∷ f EventHandler
424+ , onDragEnter ∷ f EventHandler
425− , onDragExit ∷ f EventHandler
425+ , onDragExit ∷ f EventHandler
426− , onDragLeave ∷ f EventHandler
426+ , onDragLeave ∷ f EventHandler
427− , onDragOver ∷ f EventHandler
427+ , onDragOver ∷ f EventHandler
428− , onDragStart ∷ f EventHandler
428+ , onDragStart ∷ f EventHandler
429− , onDrop ∷ f EventHandler
429+ , onDrop ∷ f EventHandler
430− , onFocus ∷ f EventHandler
430+ , onFocus ∷ f EventHandler
431− , onGotPointerCapture ∷ f EventHandler
431+ , onGotPointerCapture ∷ f EventHandler
432− , onInvalid ∷ f EventHandler
432+ , onInvalid ∷ f EventHandler
433− , onKeyDown ∷ f EventHandler
433+ , onKeyDown ∷ f EventHandler
434− , onKeyPress ∷ f EventHandler
434+ , onKeyPress ∷ f EventHandler
435− , onKeyUp ∷ f EventHandler
435+ , onKeyUp ∷ f EventHandler
436− , onLostPointerCapture ∷ f EventHandler
436+ , onLostPointerCapture ∷ f EventHandler
437− , onMouseDown ∷ f EventHandler
437+ , onMouseDown ∷ f EventHandler
438− , onMouseEnter ∷ f EventHandler
438+ , onMouseEnter ∷ f EventHandler
439− , onMouseLeave ∷ f EventHandler
439+ , onMouseLeave ∷ f EventHandler
440− , onMouseMove ∷ f EventHandler
440+ , onMouseMove ∷ f EventHandler
441− , onMouseOut ∷ f EventHandler
441+ , onMouseOut ∷ f EventHandler
442− , onMouseOver ∷ f EventHandler
442+ , onMouseOver ∷ f EventHandler
443− , onMouseUp ∷ f EventHandler
443+ , onMouseUp ∷ f EventHandler
444− , onPaste ∷ f EventHandler
444+ , onPaste ∷ f EventHandler
445− , onPointerCancel ∷ f EventHandler
445+ , onPointerCancel ∷ f EventHandler
446− , onPointerDown ∷ f EventHandler
446+ , onPointerDown ∷ f EventHandler
447− , onPointerEnter ∷ f EventHandler
447+ , onPointerEnter ∷ f EventHandler
448− , onPointerLeave ∷ f EventHandler
448+ , onPointerLeave ∷ f EventHandler
449− , onPointerMove ∷ f EventHandler
449+ , onPointerMove ∷ f EventHandler
450− , onPointerOut ∷ f EventHandler
450+ , onPointerOut ∷ f EventHandler
451− , onPointerOver ∷ f EventHandler
451+ , onPointerOver ∷ f EventHandler
452− , onPointerUp ∷ f EventHandler
452+ , onPointerUp ∷ f EventHandler
453− , onSelect ∷ f EventHandler
453+ , onSelect ∷ f EventHandler
454− , onSubmit ∷ f EventHandler
454+ , onSubmit ∷ f EventHandler
455− , onTouchCancel ∷ f EventHandler
455+ , onTouchCancel ∷ f EventHandler
456− , onTouchEnd ∷ f EventHandler
456+ , onTouchEnd ∷ f EventHandler
457− , onTouchMove ∷ f EventHandler
457+ , onTouchMove ∷ f EventHandler
458− , onTouchStart ∷ f EventHandler
458+ , onTouchStart ∷ f EventHandler
459− , onTransitionEnd ∷ f EventHandler
459+ , onTransitionEnd ∷ f EventHandler
460− , onWheel ∷ f EventHandler
460+ , onWheel ∷ f EventHandler
461− , pattern ∷ f String
461+ , pattern ∷ f String
462− , placeholder ∷ f String
462+ , placeholder ∷ f String
463− , prefix ∷ f String
463+ , prefix ∷ f String
464− , property ∷ f String
464+ , property ∷ f String
465− , radioGroup ∷ f String
465+ , radioGroup ∷ f String
466− , ref ∷ f (Ref (Nullable Node))
466+ , ref ∷ f (Ref (Nullable Node))
467− , readOnly ∷ f Boolean
467+ , readOnly ∷ f Boolean
468− , required ∷ f Boolean
468+ , required ∷ f Boolean
469− , resource ∷ f String
469+ , resource ∷ f String
470− , results ∷ f String
470+ , results ∷ f String
471− , role ∷ f String
471+ , role ∷ f String
472− , rowSpan ∷ f Int
472+ , rowSpan ∷ f Int
473− , scoped ∷ f Boolean
473+ , scoped ∷ f Boolean
474− , seamless ∷ f Boolean
474+ , seamless ∷ f Boolean
475− , security ∷ f String
475+ , security ∷ f String
476− , size ∷ f Int
476+ , size ∷ f Int
477− , spellCheck ∷ f Boolean
477+ , spellCheck ∷ f Boolean
478− , src ∷ f String
478+ , src ∷ f String
479− , srcDoc ∷ f JSX
479+ , srcDoc ∷ f JSX
480− , srcLang ∷ f String
480+ , srcLang ∷ f String
481− , srcSet ∷ f String
481+ , srcSet ∷ f String
482− , step ∷ f String
482+ , step ∷ f String
483− , style ∷ f CSS
483+ , style ∷ f CSS
484− , suppressContentEditableWarning ∷ f Boolean
484+ , suppressContentEditableWarning ∷ f Boolean
485− , tabIndex ∷ f Int
485+ , tabIndex ∷ f Int
486− , title ∷ f String
486+ , title ∷ f String
487− , title ∷ f String
487+ , title ∷ f String
488− , type ∷ f String
488+ , type ∷ f String
489− , typeof ∷ f String
489+ , typeof ∷ f String
490− , unselectable ∷ f Boolean
490+ , unselectable ∷ f Boolean
491− , useMap ∷ f String
491+ , useMap ∷ f String
492− , value ∷ f String
492+ , value ∷ f String
493− , vocab ∷ f String
493+ , vocab ∷ f String
494− , width ∷ f String
494+ , width ∷ f String
495− , wmode ∷ f String
495+ , wmode ∷ f String
496− , min ∷ f (String)
496+ , min ∷ f (String)
497− , max ∷ f (String)
497+ , max ∷ f (String)
498− | more
498+ | more
499− )
499+ )
500
500
501−type ButtonProps
501+type ButtonProps =
502− = ButtonPropsF Id ()
502+ ButtonPropsF Id ()
503
503
504−type ButtonPropsF f more
504+type ButtonPropsF f more =
505− = ( _aria ∷ f (Object String)
505+ ( _aria ∷ f (Object String)
506− , _data ∷ f (Object String)
506+ , _data ∷ f (Object String)
507− , about ∷ f String
507+ , about ∷ f String
508− , acceptCharset ∷ f String
508+ , acceptCharset ∷ f String
509− , accessKey ∷ f String
509+ , accessKey ∷ f String
510− , allowFullScreen ∷ f Boolean
510+ , allowFullScreen ∷ f Boolean
511− , allowTransparency ∷ f Boolean
511+ , allowTransparency ∷ f Boolean
512− , autoFocus ∷ f Boolean
512+ , autoFocus ∷ f Boolean
513− , autoPlay ∷ f Boolean
513+ , autoPlay ∷ f Boolean
514− , capture ∷ f Boolean
514+ , capture ∷ f Boolean
515− , cellPadding ∷ f String
515+ , cellPadding ∷ f String
516− , cellSpacing ∷ f String
516+ , cellSpacing ∷ f String
517− , charSet ∷ f String
517+ , charSet ∷ f String
518− , children ∷ f (Array JSX)
518+ , children ∷ f (Array JSX)
519− , classID ∷ f String
519+ , classID ∷ f String
520− , className ∷ f String
520+ , className ∷ f String
521− , colSpan ∷ f Int
521+ , colSpan ∷ f Int
522− , contentEditable ∷ f Boolean
522+ , contentEditable ∷ f Boolean
523− , contextMenu ∷ f String
523+ , contextMenu ∷ f String
524− , crossOrigin ∷ f String
524+ , crossOrigin ∷ f String
525− , dangerouslySetInnerHTML ∷ f { __html ∷ String }
525+ , dangerouslySetInnerHTML ∷ f { __html ∷ String }
526− , datatype ∷ f String
526+ , datatype ∷ f String
527− , dateTime ∷ f String
527+ , dateTime ∷ f String
528− , dir ∷ f String
528+ , dir ∷ f String
529− , disabled ∷ f Boolean
529+ , disabled ∷ f Boolean
530− , draggable ∷ f Boolean
530+ , draggable ∷ f Boolean
531− , encType ∷ f String
531+ , encType ∷ f String
532− , form ∷ f String
532+ , form ∷ f String
533− , formAction ∷ f String
533+ , formAction ∷ f String
534− , formEncType ∷ f String
534+ , formEncType ∷ f String
535− , formMethod ∷ f String
535+ , formMethod ∷ f String
536− , formNoValidate ∷ f Boolean
536+ , formNoValidate ∷ f Boolean
537− , formTarget ∷ f String
537+ , formTarget ∷ f String
538− , frameBorder ∷ f String
538+ , frameBorder ∷ f String
539− , hidden ∷ f Boolean
539+ , hidden ∷ f Boolean
540− , hrefLang ∷ f String
540+ , hrefLang ∷ f String
541− , htmlFor ∷ f String
541+ , htmlFor ∷ f String
542− , httpEquiv ∷ f String
542+ , httpEquiv ∷ f String
543− , icon ∷ f String
543+ , icon ∷ f String
544− , id ∷ f String
544+ , id ∷ f String
545− , inlist ∷ f String
545+ , inlist ∷ f String
546− , inputMode ∷ f String
546+ , inputMode ∷ f String
547− , is ∷ f String
547+ , is ∷ f String
548− , itemID ∷ f String
548+ , itemID ∷ f String
549− , itemProp ∷ f String
549+ , itemProp ∷ f String
550− , itemRef ∷ f String
550+ , itemRef ∷ f String
551− , itemScope ∷ f Boolean
551+ , itemScope ∷ f Boolean
552− , itemType ∷ f String
552+ , itemType ∷ f String
553− , key ∷ f String
553+ , key ∷ f String
554− , keyParams ∷ f String
554+ , keyParams ∷ f String
555− , keyType ∷ f String
555+ , keyType ∷ f String
556− , lang ∷ f String
556+ , lang ∷ f String
557− , marginHeight ∷ f String
557+ , marginHeight ∷ f String
558− , marginWidth ∷ f String
558+ , marginWidth ∷ f String
559− , maxLength ∷ f Int
559+ , maxLength ∷ f Int
560− , mediaGroup ∷ f String
560+ , mediaGroup ∷ f String
561− , minLength ∷ f Int
561+ , minLength ∷ f Int
562− , name ∷ f String
562+ , name ∷ f String
563− , noValidate ∷ f Boolean
563+ , noValidate ∷ f Boolean
564− , onAnimationEnd ∷ f EventHandler
564+ , onAnimationEnd ∷ f EventHandler
565− , onAnimationIteration ∷ f EventHandler
565+ , onAnimationIteration ∷ f EventHandler
566− , onAnimationStart ∷ f EventHandler
566+ , onAnimationStart ∷ f EventHandler
567− , onBlur ∷ f EventHandler
567+ , onBlur ∷ f EventHandler
568− , onClick ∷ f EventHandler
568+ , onClick ∷ f EventHandler
569− , onCompositionEnd ∷ f EventHandler
569+ , onCompositionEnd ∷ f EventHandler
570− , onCompositionStart ∷ f EventHandler
570+ , onCompositionStart ∷ f EventHandler
571− , onCompositionUpdate ∷ f EventHandler
571+ , onCompositionUpdate ∷ f EventHandler
572− , onContextMenu ∷ f EventHandler
572+ , onContextMenu ∷ f EventHandler
573− , onCopy ∷ f EventHandler
573+ , onCopy ∷ f EventHandler
574− , onCut ∷ f EventHandler
574+ , onCut ∷ f EventHandler
575− , onDoubleClick ∷ f EventHandler
575+ , onDoubleClick ∷ f EventHandler
576− , onDrag ∷ f EventHandler
576+ , onDrag ∷ f EventHandler
577− , onDragEnd ∷ f EventHandler
577+ , onDragEnd ∷ f EventHandler
578− , onDragEnter ∷ f EventHandler
578+ , onDragEnter ∷ f EventHandler
579− , onDragExit ∷ f EventHandler
579+ , onDragExit ∷ f EventHandler
580− , onDragLeave ∷ f EventHandler
580+ , onDragLeave ∷ f EventHandler
581− , onDragOver ∷ f EventHandler
581+ , onDragOver ∷ f EventHandler
582− , onDragStart ∷ f EventHandler
582+ , onDragStart ∷ f EventHandler
583− , onDrop ∷ f EventHandler
583+ , onDrop ∷ f EventHandler
584− , onFocus ∷ f EventHandler
584+ , onFocus ∷ f EventHandler
585− , onGotPointerCapture ∷ f EventHandler
585+ , onGotPointerCapture ∷ f EventHandler
586− , onInvalid ∷ f EventHandler
586+ , onInvalid ∷ f EventHandler
587− , onKeyDown ∷ f EventHandler
587+ , onKeyDown ∷ f EventHandler
588− , onKeyPress ∷ f EventHandler
588+ , onKeyPress ∷ f EventHandler
589− , onKeyUp ∷ f EventHandler
589+ , onKeyUp ∷ f EventHandler
590− , onLostPointerCapture ∷ f EventHandler
590+ , onLostPointerCapture ∷ f EventHandler
591− , onMouseDown ∷ f EventHandler
591+ , onMouseDown ∷ f EventHandler
592− , onMouseEnter ∷ f EventHandler
592+ , onMouseEnter ∷ f EventHandler
593− , onMouseLeave ∷ f EventHandler
593+ , onMouseLeave ∷ f EventHandler
594− , onMouseMove ∷ f EventHandler
594+ , onMouseMove ∷ f EventHandler
595− , onMouseOut ∷ f EventHandler
595+ , onMouseOut ∷ f EventHandler
596− , onMouseOver ∷ f EventHandler
596+ , onMouseOver ∷ f EventHandler
597− , onMouseUp ∷ f EventHandler
597+ , onMouseUp ∷ f EventHandler
598− , onPaste ∷ f EventHandler
598+ , onPaste ∷ f EventHandler
599− , onPointerCancel ∷ f EventHandler
599+ , onPointerCancel ∷ f EventHandler
600− , onPointerDown ∷ f EventHandler
600+ , onPointerDown ∷ f EventHandler
601− , onPointerEnter ∷ f EventHandler
601+ , onPointerEnter ∷ f EventHandler
602− , onPointerLeave ∷ f EventHandler
602+ , onPointerLeave ∷ f EventHandler
603− , onPointerMove ∷ f EventHandler
603+ , onPointerMove ∷ f EventHandler
604− , onPointerOut ∷ f EventHandler
604+ , onPointerOut ∷ f EventHandler
605− , onPointerOver ∷ f EventHandler
605+ , onPointerOver ∷ f EventHandler
606− , onPointerUp ∷ f EventHandler
606+ , onPointerUp ∷ f EventHandler
607− , onSelect ∷ f EventHandler
607+ , onSelect ∷ f EventHandler
608− , onSubmit ∷ f EventHandler
608+ , onSubmit ∷ f EventHandler
609− , onTouchCancel ∷ f EventHandler
609+ , onTouchCancel ∷ f EventHandler
610− , onTouchEnd ∷ f EventHandler
610+ , onTouchEnd ∷ f EventHandler
611− , onTouchMove ∷ f EventHandler
611+ , onTouchMove ∷ f EventHandler
612− , onTouchStart ∷ f EventHandler
612+ , onTouchStart ∷ f EventHandler
613− , onTransitionEnd ∷ f EventHandler
613+ , onTransitionEnd ∷ f EventHandler
614− , onWheel ∷ f EventHandler
614+ , onWheel ∷ f EventHandler
615− , prefix ∷ f String
615+ , prefix ∷ f String
616− , property ∷ f String
616+ , property ∷ f String
617− , radioGroup ∷ f String
617+ , radioGroup ∷ f String
618− , readOnly ∷ f Boolean
618+ , readOnly ∷ f Boolean
619− , ref ∷ f (Ref (Nullable Node))
619+ , ref ∷ f (Ref (Nullable Node))
620− , resource ∷ f String
620+ , resource ∷ f String
621− , role ∷ f String
621+ , role ∷ f String
622− , rowSpan ∷ f Int
622+ , rowSpan ∷ f Int
623− , scoped ∷ f Boolean
623+ , scoped ∷ f Boolean
624− , seamless ∷ f Boolean
624+ , seamless ∷ f Boolean
625− , security ∷ f String
625+ , security ∷ f String
626− , spellCheck ∷ f Boolean
626+ , spellCheck ∷ f Boolean
627− , srcDoc ∷ f JSX
627+ , srcDoc ∷ f JSX
628− , srcLang ∷ f String
628+ , srcLang ∷ f String
629− , srcSet ∷ f String
629+ , srcSet ∷ f String
630− , style ∷ f CSS
630+ , style ∷ f CSS
631− , suppressContentEditableWarning ∷ f Boolean
631+ , suppressContentEditableWarning ∷ f Boolean
632− , tabIndex ∷ f Int
632+ , tabIndex ∷ f Int
633− , title ∷ f String
633+ , title ∷ f String
634− , type ∷ f String
634+ , type ∷ f String
635− , typeof ∷ f String
635+ , typeof ∷ f String
636− , unselectable ∷ f Boolean
636+ , unselectable ∷ f Boolean
637− , useMap ∷ f String
637+ , useMap ∷ f String
638− , value ∷ f String
638+ , value ∷ f String
639− , vocab ∷ f String
639+ , vocab ∷ f String
640− , wmode ∷ f String
640+ , wmode ∷ f String
641− | more
641+ | more
642− )
642+ )