@@ -8,26 +8,36 @@ object Addons {
88 object ReactCssTransitionGroup {
99 /** Items in the CSSTransitionGroup need this attribute for animation to work properly. */
1010 @ 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 ]])
1115 }
1216
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) {
1826 def toJs : js.Object = {
1927 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" )(_))
2436 p
2537 }
2638
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_ ]
3141 }
3242
3343 object ReactCloneWithProps {
@@ -40,6 +50,11 @@ object Addons {
4050 obj
4151 }
4252
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" )
4358 def apply (child : ReactNode , newProps : Map [String , js.Any ]) = {
4459 val f = React .addons.cloneWithProps
4560 f(child, mapToJS(newProps)).asInstanceOf [ReactComponentU_ ]
0 commit comments