@@ -8,26 +8,36 @@ object Addons {
8
8
object ReactCssTransitionGroup {
9
9
/** Items in the CSSTransitionGroup need this attribute for animation to work properly. */
10
10
@ inline final def key = vdom.Attrs .key
11
+
12
+ private val factory =
13
+ React .createFactory(
14
+ React .addons.CSSTransitionGroup .asInstanceOf [JsComponentType [js.Any , js.Any , TopNode ]])
11
15
}
12
16
13
- case class ReactCssTransitionGroup (name : String ,
14
- enter : js.UndefOr [Boolean ] = js.undefined,
15
- leave : js.UndefOr [Boolean ] = js.undefined,
16
- component : js.UndefOr [String ] = js.undefined,
17
- ref : js.UndefOr [String ] = js.undefined) {
17
+ case class ReactCssTransitionGroup (name : String ,
18
+ appear : js.UndefOr [Boolean ] = js.undefined,
19
+ appearTimeout : js.UndefOr [Int ] = js.undefined,
20
+ enter : js.UndefOr [Boolean ] = js.undefined,
21
+ enterTimeout : js.UndefOr [Int ] = js.undefined,
22
+ leave : js.UndefOr [Boolean ] = js.undefined,
23
+ leaveTimeout : js.UndefOr [Int ] = js.undefined,
24
+ component : js.UndefOr [String ] = js.undefined,
25
+ ref : js.UndefOr [String ] = js.undefined) {
18
26
def toJs : js.Object = {
19
27
val p = js.Dynamic .literal(" transitionName" -> name)
20
- enter .foreach(p.updateDynamic(" transitionEnter" )(_))
21
- leave .foreach(p.updateDynamic(" transitionLeave" )(_))
22
- component.foreach(p.updateDynamic(" component" )(_))
23
- ref .foreach(p.updateDynamic(" ref" )(_))
28
+ appear .foreach(p.updateDynamic(" transitionAppear" )(_))
29
+ appearTimeout.foreach(p.updateDynamic(" transitionAppearTimeout" )(_))
30
+ enter .foreach(p.updateDynamic(" transitionEnter" )(_))
31
+ enterTimeout .foreach(p.updateDynamic(" transitionEnterTimeout" )(_))
32
+ leave .foreach(p.updateDynamic(" transitionLeave" )(_))
33
+ leaveTimeout .foreach(p.updateDynamic(" transitionLeaveTimeout" )(_))
34
+ component .foreach(p.updateDynamic(" component" )(_))
35
+ ref .foreach(p.updateDynamic(" ref" )(_))
24
36
p
25
37
}
26
38
27
- def apply (children : ReactNode * ): ReactComponentU_ = {
28
- val f = React .addons.CSSTransitionGroup
29
- f(toJs, children.toJsArray).asInstanceOf [ReactComponentU_ ]
30
- }
39
+ def apply (children : ReactNode * ): ReactComponentU_ =
40
+ ReactCssTransitionGroup .factory(toJs, children.toJsArray).asInstanceOf [ReactComponentU_ ]
31
41
}
32
42
33
43
object ReactCloneWithProps {
@@ -40,6 +50,11 @@ object Addons {
40
50
obj
41
51
}
42
52
53
+ /**
54
+ * `cloneWithProps` is now deprecated. Use `React.cloneElement` instead (unlike `cloneWithProps`, `cloneElement`
55
+ * does not merge `className` or `style` automatically; you can merge them manually if needed).
56
+ */
57
+ @ deprecated(" As of React 0.14, you must use React.cloneElement instead." , " 0.10.0" )
43
58
def apply (child : ReactNode , newProps : Map [String , js.Any ]) = {
44
59
val f = React .addons.cloneWithProps
45
60
f(child, mapToJS(newProps)).asInstanceOf [ReactComponentU_ ]
0 commit comments