platform/html5/html.js
function(component, name, animation) {
	var html5 = exports
	var transition = {
		property: html5.getPrefixedName('transition-property'),
		delay: html5.getPrefixedName('transition-delay'),
		duration: html5.getPrefixedName('transition-duration'),
		timing: html5.getPrefixedName('transition-timing-function')
	}
	var element = component.element
	element.forceLayout() //flush styles before setting transition

	name = html5.getPrefixedName(name) || name //replace transform: <prefix>rotate hack

	var transitions = element._transitions
	var property	= transitions[transition.property] || []
	var duration	= transitions[transition.duration] || []
	var timing		= transitions[transition.timing] || []
	var delay		= transitions[transition.delay] || []

	var idx = property.indexOf(name)
	if (idx === -1) { //if property not set
		if (animation) {
			property.push(name)
			duration.push(animation.duration + 'ms')
			timing.push(animation.easing)
			delay.push(animation.delay + 'ms')
		}
	} else { //property already set, adjust the params
		if (animation && animation.active()) {
			duration[idx] = animation.duration + 'ms'
			timing[idx] = animation.easing
			delay[idx] = animation.delay + 'ms'
		} else {
			property.splice(idx, 1)
			duration.splice(idx, 1)
			timing.splice(idx, 1)
			delay.splice(idx, 1)
		}
	}

	transitions[transition.property] = property
	transitions[transition.duration] = duration
	transitions[transition.timing] = timing
	transitions[transition.delay] = delay

	//FIXME: orsay animation is not working without this shit =(
	if (component._context.system.os === 'orsay' || component._context.system.os === 'netcast') {
		transitions["transition-property"] = property
		transitions["transition-duration"] = duration
		transitions["transition-delay"] = delay
		transitions["transition-timing-function"] = timing
	}
	component.style(transitions)
	return true
}
function(component, name, animation) {
	var html5 = exports
	var transition = {
		property: html5.getPrefixedName('transition-property'),
		delay: html5.getPrefixedName('transition-delay'),
		duration: html5.getPrefixedName('transition-duration'),
		timing: html5.getPrefixedName('transition-timing-function')
	}
	var element = component.element
	element.forceLayout() //flush styles before setting transition

	name = html5.getPrefixedName(name) || name //replace transform: <prefix>rotate hack

	var transitions = element._transitions
	var property	= transitions[transition.property] || []
	var duration	= transitions[transition.duration] || []
	var timing		= transitions[transition.timing] || []
	var delay		= transitions[transition.delay] || []

	var idx = property.indexOf(name)
	if (idx === -1) { //if property not set
		if (animation) {
			property.push(name)
			duration.push(animation.duration + 'ms')
			timing.push(animation.easing)
			delay.push(animation.delay + 'ms')
		}
	} else { //property already set, adjust the params
		if (animation && animation.active()) {
			duration[idx] = animation.duration + 'ms'
			timing[idx] = animation.easing
			delay[idx] = animation.delay + 'ms'
		} else {
			property.splice(idx, 1)
			duration.splice(idx, 1)
			timing.splice(idx, 1)
			delay.splice(idx, 1)
		}
	}

	transitions[transition.property] = property
	transitions[transition.duration] = duration
	transitions[transition.timing] = timing
	transitions[transition.delay] = delay

	//FIXME: orsay animation is not working without this shit =(
	if (component._context.system.os === 'orsay' || component._context.system.os === 'netcast') {
		transitions["transition-property"] = property
		transitions["transition-duration"] = duration
		transitions["transition-delay"] = delay
		transitions["transition-timing-function"] = timing
	}
	component.style(transitions)
	return true
}
function ( component , name , animation ) { var html5 = exports var transition = { property : html5 . getPrefixedName ( 'transition-property' ) , delay : html5 . getPrefixedName ( 'transition-delay' ) , duration : html5 . getPrefixedName ( 'transition-duration' ) , timing : html5 . getPrefixedName ( 'transition-timing-function' ) } var element = component . element element . forceLayout ( ) //flush styles before setting transition name = html5 . getPrefixedName ( name ) || name //replace transform: <prefix>rotate hack var transitions = element . _transitions var property = transitions [ transition . property ] || [ ] var duration = transitions [ transition . duration ] || [ ] var timing = transitions [ transition . timing ] || [ ] var delay = transitions [ transition . delay ] || [ ] var idx = property . indexOf ( name ) if ( idx === - 1 ) { //if property not set if ( animation ) { property . push ( name ) duration . push ( animation . duration + 'ms' ) timing . push ( animation . easing ) delay . push ( animation . delay + 'ms' ) } } else { //property already set, adjust the params if ( animation && animation . active ( ) ) { duration [ idx ] = animation . duration + 'ms' timing [ idx ] = animation . easing delay [ idx ] = animation . delay + 'ms' } else { property . splice ( idx , 1 ) duration . splice ( idx , 1 ) timing . splice ( idx , 1 ) delay . splice ( idx , 1 ) } } transitions [ transition . property ] = property transitions [ transition . duration ] = duration transitions [ transition . timing ] = timing transitions [ transition . delay ] = delay //FIXME: orsay animation is not working without this shit =( if ( component . _context . system . os === 'orsay' || component . _context . system . os === 'netcast' ) { transitions [ "transition-property" ] = property transitions [ "transition-duration" ] = duration transitions [ "transition-delay" ] = delay transitions [ "transition-timing-function" ] = timing } component . style ( transitions ) return true }
/@private
/