nuke-transition
Advanced tools
Comparing version 2.1.10 to 2.2.2
@@ -6,2 +6,37 @@ # Change Log | ||
<a name="2.2.2"></a> | ||
## [2.2.2](https://gitlab.alibaba-inc.com/nuke/transition/compare/v2.2.1...v2.2.2) (2018-08-23) | ||
**Note:** Version bump only for package nuke-transition | ||
<a name="2.2.1"></a> | ||
## [2.2.1](https://gitlab.alibaba-inc.com/nuke/transition/compare/v2.2.0...v2.2.1) (2018-08-23) | ||
**Note:** Version bump only for package nuke-transition | ||
<a name="2.2.0"></a> | ||
# [2.2.0](https://gitlab.alibaba-inc.com/nuke/transition/compare/v2.1.10...v2.2.0) (2018-08-23) | ||
### Bug Fixes | ||
* merge conflict ([7a4e427](https://gitlab.alibaba-inc.com/nuke/transition/commit/7a4e427)) | ||
### Features | ||
* add jest test suite ([ebe6aba](https://gitlab.alibaba-inc.com/nuke/transition/commit/ebe6aba)) | ||
<a name="2.1.10"></a> | ||
@@ -8,0 +43,0 @@ ## [2.1.10](https://gitlab.alibaba-inc.com/nuke/transition/compare/v2.1.9...v2.1.10) (2018-08-20) |
@@ -1,1 +0,89 @@ | ||
'use strict';Object.defineProperty(exports,'__esModule',{value:!0});var _nukeEnv=require('nuke-env'),_transition=require('./transition'),_transition2=_interopRequireDefault(_transition);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function getDefaultRem(){return document.documentElement.clientWidth/750}function parseRem(val){var regArr={translateX:'translateX\\(([-+]?\\w+)\\)',translateY:'translateY\\(([-+]?\\w+)\\)',translate:'translate\\(([-+]?\\w+)\\,\\s?([-+]?\\w+)\\)'};for(var p in regArr){var reg=new RegExp(regArr[p]);if(val.match(reg))if('translateX'==p||'translateY'==p){var matchArr=val.match(reg),num=parseInt(matchArr[1],10);val=val.replace(matchArr[1],getPx(matchArr[1]))}else if('translate'==p){var matchArr=val.match(reg),x=matchArr[1],y=matchArr[2];val='translate('+getPx(x)+','+getPx(y)+')'}}return val}function getPx(str){return _nukeEnv.isWeex?parseInt(str,10):parseInt(str,10)*getDefaultRem().toString()+'px'}function Trans(node,styles,options,callback){for(var key in styles)if('transform'===key||'webkitTransform'==key)styles[key]=parseRem(styles[key]);else if(arrayContains(key,['top','left','height','bottom','right','width'])){var matchArr=styles[key].match(/(\d+)(rem){0,1}/);styles[key]=styles[key].replace(matchArr[0],getPx(matchArr[1]))}(0,_transition2.default)(node,styles,options,callback)}function arrayContains(value,arr){for(var i=0;i<arr.length;i++)if(value===arr[i])return!0;return!1}exports.default=Trans,module.exports=exports['default']; | ||
/** @jsx createElement */ | ||
/** | ||
* Copyright (c) 2015-present, Alibaba Group Holding Limited. | ||
* All rights reserved. | ||
* | ||
* usage: | ||
* Transition(box, {translate(150,150)}, { | ||
* timingFunction: 'linear', | ||
* delay: 0, | ||
* duration: 500 | ||
* }, function() { | ||
* cb && cb.call(this); | ||
* }); | ||
*/ | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _nukeEnv = require('nuke-env'); | ||
var _transition = require('./transition'); | ||
var _transition2 = _interopRequireDefault(_transition); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function getDefaultRem() { | ||
return document.documentElement.clientWidth / 750; | ||
} | ||
function parseRem(val) { | ||
var regArr = { | ||
translateX: 'translateX\\(([-+]?\\w+)\\)', | ||
translateY: 'translateY\\(([-+]?\\w+)\\)', | ||
translate: 'translate\\(([-+]?\\w+)\\,\\s?([-+]?\\w+)\\)' | ||
}; | ||
for (var p in regArr) { | ||
var reg = new RegExp(regArr[p]); | ||
if (val.match(reg)) { | ||
if (p === 'translateX' || p === 'translateY') { | ||
var matchArr = val.match(reg); | ||
var num = parseInt(matchArr[1], 10); | ||
val = val.replace(matchArr[1], getPx(matchArr[1])); | ||
} else if (p === 'translate') { | ||
var matchArr = val.match(reg); | ||
var x = matchArr[1]; | ||
var y = matchArr[2]; | ||
val = 'translate(' + getPx(x) + ',' + getPx(y) + ')'; | ||
} | ||
} | ||
} | ||
return val; | ||
} | ||
function getPx(str) { | ||
if (_nukeEnv.isWeex) { | ||
return parseInt(str, 10); | ||
} | ||
return parseInt(str, 10) * getDefaultRem().toString() + 'px'; | ||
} | ||
function Trans(node, styles, options, callback) { | ||
// rem to px | ||
for (var key in styles) { | ||
// compat with ios 8 | ||
if (key === 'transform' || key == 'webkitTransform') { | ||
styles[key] = parseRem(styles[key]); | ||
} else if (arrayContains(key, ['top', 'left', 'height', 'bottom', 'right', 'width'])) { | ||
var matchArr = styles[key].match(/(\d+)(rem){0,1}/); | ||
styles[key] = styles[key].replace(matchArr[0], getPx(matchArr[1])); | ||
} | ||
} | ||
(0, _transition2.default)(node, styles, options, callback); | ||
} | ||
function arrayContains(value, arr) { | ||
for (var i = 0; i < arr.length; i++) { | ||
if (value === arr[i]) { | ||
return true; | ||
} | ||
} | ||
return false; | ||
} | ||
exports.default = Trans; | ||
module.exports = exports['default']; |
@@ -1,1 +0,63 @@ | ||
'use strict';Object.defineProperty(exports,'__esModule',{value:!0}),exports.default=transition;var _nukeEnv=require('nuke-env'),defaultOptions={timingFunction:'ease-in-out',duration:500,needLayout:!1,delay:0};function transition(node,styles,options,callback){if(('function'==typeof options||null==options)&&(callback=options),!!node)if(options=Object.assign({},defaultOptions,options),_nukeEnv.isWeex){if(!node.ref)return;var animation=require('@weex-module/animation');animation.transition(node.ref,{styles:styles,timingFunction:options.timingFunction,delay:options.delay,duration:options.duration,needLayout:options.needLayout},callback||function(){})}else if(_nukeEnv.isWeb&&node){var duration=options.duration,timingFunction=options.timingFunction,delay=options.delay,transitionValue='all '+duration+'ms '+timingFunction+' '+delay+'ms';if(node.style.transition=transitionValue,node.style.webkitTransition=transitionValue,callback){var transitionEndHandler=function(e){e.stopPropagation(),node.removeEventListener('webkitTransitionEnd',transitionEndHandler),node.removeEventListener('transitionend',transitionEndHandler),node.style.transition='',node.style.webkitTransition='',callback()};node.addEventListener('webkitTransitionEnd',transitionEndHandler),node.addEventListener('transitionend',transitionEndHandler)}for(var key in styles){var value=styles[key];node.style[key]=value}}}module.exports=exports['default']; | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = transition; | ||
var _nukeEnv = require('nuke-env'); | ||
var defaultOptions = { | ||
timingFunction: 'ease-in-out', | ||
duration: 500, | ||
needLayout: false, | ||
delay: 0 | ||
}; | ||
function transition(node, styles, options, callback) { | ||
if (typeof options == 'function' || options == null) { | ||
callback = options; | ||
} | ||
if (!node) return; | ||
// 健壮性提升 | ||
options = Object.assign({}, defaultOptions, options); | ||
if (_nukeEnv.isWeex) { | ||
if (!node.ref) return; | ||
var animation = require('@weex-module/animation'); | ||
animation.transition(node.ref, { | ||
styles: styles, | ||
timingFunction: options.timingFunction, | ||
delay: options.delay, | ||
duration: options.duration, | ||
needLayout: options.needLayout // 新增此 api | ||
}, callback || function () {}); | ||
} else if (_nukeEnv.isWeb && node) { | ||
var duration = options.duration; // ms | ||
var timingFunction = options.timingFunction; | ||
var delay = options.delay; // ms | ||
var transitionValue = 'all ' + duration + 'ms ' + timingFunction + ' ' + delay + 'ms'; | ||
node.style.transition = transitionValue; | ||
node.style.webkitTransition = transitionValue; | ||
if (callback) { | ||
var transitionEndHandler = function transitionEndHandler(e) { | ||
e.stopPropagation(); | ||
node.removeEventListener('webkitTransitionEnd', transitionEndHandler); | ||
node.removeEventListener('transitionend', transitionEndHandler); | ||
node.style.transition = ''; | ||
node.style.webkitTransition = ''; | ||
callback(); | ||
}; | ||
node.addEventListener('webkitTransitionEnd', transitionEndHandler); | ||
node.addEventListener('transitionend', transitionEndHandler); | ||
} | ||
for (var key in styles) { | ||
// TODO add vendor prefix | ||
var value = styles[key]; | ||
node.style[key] = value; | ||
} | ||
} | ||
} | ||
module.exports = exports['default']; |
{ | ||
"name": "nuke-transition", | ||
"version": "2.1.10", | ||
"version": "2.2.2", | ||
"description": "渐变", | ||
@@ -28,12 +28,12 @@ "main": "lib/index", | ||
"dependencies": { | ||
"nuke-env": "^2.1.10" | ||
"nuke-env": "^2.2.2" | ||
}, | ||
"devDependencies": { | ||
"nuke-button": "^2.1.10", | ||
"nuke-dimensions": "^2.1.10", | ||
"nuke-image": "^2.1.10", | ||
"nuke-page": "^2.1.10", | ||
"nuke-scroll-view": "^2.1.10", | ||
"nuke-text": "^2.1.10", | ||
"nuke-view": "^2.1.10" | ||
"nuke-button": "^2.2.2", | ||
"nuke-dimensions": "^2.2.2", | ||
"nuke-image": "^2.2.2", | ||
"nuke-page": "^2.2.2", | ||
"nuke-scroll-view": "^2.2.2", | ||
"nuke-text": "^2.2.2", | ||
"nuke-view": "^2.2.2" | ||
}, | ||
@@ -44,3 +44,3 @@ "publishConfig": { | ||
"license": "Apache", | ||
"gitHead": "3f456cd7f92241938769ceee9057f543a2034fd1" | ||
"gitHead": "ffcb4269489cb30dfded592190c4997ff2376c18" | ||
} |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
25335
402
1
Updatednuke-env@^2.2.2