From 222e20915f09c6cb8e19be10261b7a1599d35124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Schwo=CC=88rer?= Date: Sun, 23 Aug 2015 20:18:06 +0200 Subject: [PATCH] build new version. fixes #56. --- dist/index.js | 2 +- example/app.js | 13 +- example/bundle.js | 860 ++++++++++++++++++++++++++++++++-------------- package.json | 2 +- 4 files changed, 623 insertions(+), 254 deletions(-) diff --git a/dist/index.js b/dist/index.js index add1f2a..bdbc45d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -(function(global,factory){if(typeof define==="function"&&define.amd){define(["exports","module"],factory)}else if(typeof exports!=="undefined"&&typeof module!=="undefined"){factory(exports,module)}else{var mod={exports:{}};factory(mod.exports,mod);global.index=mod.exports}})(this,function(exports,module){"use strict";var React=require("react");var isTouchDevice=!!(typeof window!=="undefined"&&typeof navigator!=="undefined"&&("ontouchstart"in window||navigator.msMaxTouchPoints>0));var draggableEvents={mobile:{react:{down:"onTouchStart",drag:"onTouchMove",drop:"onTouchEnd",move:"onTouchMove",up:"onTouchUp"},"native":{down:"touchstart",drag:"touchmove",drop:"touchend",move:"touchmove",up:"touchup"}},desktop:{react:{down:"onMouseDown",drag:"onDragOver",drop:"onDrop",move:"onMouseMove",up:"onMouseUp"},"native":{down:"mousedown",drag:"dragStart",drop:"drop",move:"mousemove",up:"mouseup"}}};var deviceEvents=isTouchDevice?draggableEvents.mobile:draggableEvents.desktop;var AvatarEditor=React.createClass({displayName:"AvatarEditor",propTypes:{scale:React.PropTypes.number,image:React.PropTypes.string,border:React.PropTypes.number,width:React.PropTypes.number,height:React.PropTypes.number,color:React.PropTypes.arrayOf(React.PropTypes.number),onImageReady:React.PropTypes.func,style:React.PropTypes.object},getDefaultProps:function getDefaultProps(){return{scale:1,border:25,width:200,height:200,color:[0,0,0,.5],onImageReady:function onImageReady(){},style:{}}},getInitialState:function getInitialState(){return{drag:false,my:null,mx:null,image:{x:0,y:0}}},getDimensions:function getDimensions(){return{width:this.props.width,height:this.props.height,border:this.props.border,canvas:{width:this.props.width+this.props.border*2,height:this.props.height+this.props.border*2}}},getImage:function getImage(type,quality){var dom=document.createElement("canvas");var context=dom.getContext("2d");var dimensions=this.getDimensions();var border=0;dom.width=dimensions.width;dom.height=dimensions.height;context.globalCompositeOperation="destination-over";this.paintImage(context,this.state.image,border);return dom.toDataURL(type,quality)},isDataURL:function isDataURL(str){var regex=/^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i;return!!str.match(regex)},loadImage:function loadImage(imageURL){var imageObj=new Image;imageObj.onload=this.handleImageReady.bind(this,imageObj);if(!this.isDataURL(imageURL))imageObj.crossOrigin="anonymous";imageObj.src=imageURL},componentDidMount:function componentDidMount(){var context=this.getDOMNode().getContext("2d");if(this.props.image){this.loadImage(this.props.image)}this.paint(context);document&&document.addEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.addEventListener(deviceEvents.native.up,this.handleMouseUp,false);if(isTouchDevice)React.initializeTouchEvents(true)},componentWillUnmount:function componentWillUnmount(){document&&document.removeEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.removeEventListener(deviceEvents.native.up,this.handleMouseUp,false)},componentDidUpdate:function componentDidUpdate(){var context=this.getDOMNode().getContext("2d");context.clearRect(0,0,this.getDimensions().canvas.width,this.getDimensions().canvas.height);this.paint(context);this.paintImage(context,this.state.image,this.props.border)},handleImageReady:function handleImageReady(image){var imageState=this.getInitialSize(image.width,image.height);imageState.resource=image;imageState.x=0;imageState.y=0;this.setState({drag:false,image:imageState},this.props.onImageReady)},getInitialSize:function getInitialSize(width,height){var newHeight,newWidth,dimensions,canvasRatio,imageRatio;dimensions=this.getDimensions();canvasRatio=dimensions.height/dimensions.width;imageRatio=height/width;if(canvasRatio>imageRatio){newHeight=this.getDimensions().height;newWidth=width*(newHeight/height)}else{newWidth=this.getDimensions().width;newHeight=height*(newWidth/width)}return{height:newHeight,width:newWidth}},componentWillReceiveProps:function componentWillReceiveProps(newProps){if(this.props.image!=newProps.image){this.loadImage(newProps.image)}if(this.props.scale!=newProps.scale){this.squeeze(newProps)}},paintImage:function paintImage(context,image,border){if(image.resource){var position=this.calculatePosition(image,border);context.save();context.globalCompositeOperation="destination-over";context.drawImage(image.resource,position.x,position.y,position.width,position.height);context.restore()}},calculatePosition:function calculatePosition(image,border){image=image||this.state.image;var x,y,width,height,dimensions=this.getDimensions();width=image.width*this.props.scale;height=image.height*this.props.scale;var widthDiff=(width-dimensions.width)/2;var heightDiff=(height-dimensions.height)/2;x=image.x*this.props.scale-widthDiff+border;y=image.y*this.props.scale-heightDiff+border;return{x:x,y:y,height:height,width:width}},paint:function paint(context){context.save();context.translate(0,0);context.fillStyle="rgba("+this.props.color.slice(0,4).join(",")+")";var dimensions=this.getDimensions();var borderSize=dimensions.border;var height=dimensions.canvas.height;var width=dimensions.canvas.width;context.fillRect(0,0,width,borderSize);context.fillRect(0,height-borderSize,width,borderSize);context.fillRect(0,borderSize,borderSize,height-borderSize*2);context.fillRect(width-borderSize,borderSize,borderSize,height-borderSize*2);context.restore()},handleMouseDown:function handleMouseDown(){this.setState({drag:true,mx:null,my:null})},handleMouseUp:function handleMouseUp(){if(this.state.drag){this.setState({drag:false})}},handleMouseMove:function handleMouseMove(e){if(false==this.state.drag){return}var imageState=this.state.image;var lastX=imageState.x;var lastY=imageState.y;var mousePositionX=isTouchDevice?event.targetTouches[0].pageX:e.clientX;var mousePositionY=isTouchDevice?event.targetTouches[0].pageY:e.clientY;var newState={mx:mousePositionX,my:mousePositionY,image:imageState};if(this.state.mx&&this.state.my){var xDiff=(this.state.mx-mousePositionX)/this.props.scale;var yDiff=(this.state.my-mousePositionY)/this.props.scale;imageState.y=this.getBoundedY(lastY-yDiff,this.props.scale);imageState.x=this.getBoundedX(lastX-xDiff,this.props.scale)}this.setState(newState)},squeeze:function squeeze(props){var imageState=this.state.image;imageState.y=this.getBoundedY(imageState.y,props.scale);imageState.x=this.getBoundedX(imageState.x,props.scale);this.setState({image:imageState})},getBoundedX:function getBoundedX(x,scale){var image=this.state.image;var dimensions=this.getDimensions();var widthDiff=Math.floor((image.width-dimensions.width/scale)/2);return Math.max(-widthDiff,Math.min(x,widthDiff))},getBoundedY:function getBoundedY(y,scale){var image=this.state.image;var dimensions=this.getDimensions();var heightDiff=Math.floor((image.height-dimensions.height/scale)/2);return Math.max(-heightDiff,Math.min(y,heightDiff))},handleDragOver:function handleDragOver(e){e.preventDefault()},handleDrop:function handleDrop(e){e.stopPropagation();e.preventDefault();var reader=new FileReader;reader.onload=this.handleUploadReady;reader.readAsDataURL(e.dataTransfer.files[0])},handleUploadReady:function handleUploadReady(e){this.loadImage(e.target.result)},render:function render(){var attributes={width:this.getDimensions().canvas.width,height:this.getDimensions().canvas.height,style:this.props.style};attributes[deviceEvents.react.down]=this.handleMouseDown;attributes[deviceEvents.react.drag]=this.handleDragOver;attributes[deviceEvents.react.drop]=this.handleDrop;return React.createElement("canvas",attributes)}});module.exports=AvatarEditor}); \ No newline at end of file +(function(global,factory){if(typeof define==="function"&&define.amd){define(["exports","module"],factory)}else if(typeof exports!=="undefined"&&typeof module!=="undefined"){factory(exports,module)}else{var mod={exports:{}};factory(mod.exports,mod);global.index=mod.exports}})(this,function(exports,module){"use strict";var React=require("react");var isTouchDevice=!!(typeof window!=="undefined"&&typeof navigator!=="undefined"&&("ontouchstart"in window||navigator.msMaxTouchPoints>0));var draggableEvents={mobile:{react:{down:"onTouchStart",drag:"onTouchMove",drop:"onTouchEnd",move:"onTouchMove",up:"onTouchUp"},"native":{down:"touchstart",drag:"touchmove",drop:"touchend",move:"touchmove",up:"touchup"}},desktop:{react:{down:"onMouseDown",drag:"onDragOver",drop:"onDrop",move:"onMouseMove",up:"onMouseUp"},"native":{down:"mousedown",drag:"dragStart",drop:"drop",move:"mousemove",up:"mouseup"}}};var deviceEvents=isTouchDevice?draggableEvents.mobile:draggableEvents.desktop;var AvatarEditor=React.createClass({displayName:"AvatarEditor",propTypes:{scale:React.PropTypes.number,image:React.PropTypes.string,border:React.PropTypes.number,width:React.PropTypes.number,height:React.PropTypes.number,color:React.PropTypes.arrayOf(React.PropTypes.number),onImageReady:React.PropTypes.func,style:React.PropTypes.object,onLoadFailed:React.PropTypes.func,onUpload:React.PropTypes.func,onImageLoad:React.PropTypes.func},getDefaultProps:function getDefaultProps(){return{scale:1,border:25,width:200,height:200,color:[0,0,0,.5],style:{},onLoadFailed:function onLoadFailed(){},onUpload:function onUpload(){},onImageLoad:function onImageLoad(){}}},getInitialState:function getInitialState(){return{drag:false,my:null,mx:null,image:{x:0,y:0}}},getDimensions:function getDimensions(){return{width:this.props.width,height:this.props.height,border:this.props.border,canvas:{width:this.props.width+this.props.border*2,height:this.props.height+this.props.border*2}}},getImage:function getImage(type,quality){var dom=document.createElement("canvas");var context=dom.getContext("2d");var dimensions=this.getDimensions();var border=0;dom.width=dimensions.width;dom.height=dimensions.height;context.globalCompositeOperation="destination-over";this.paintImage(context,this.state.image,border);return dom.toDataURL(type,quality)},isDataURL:function isDataURL(str){var regex=/^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i;return!!str.match(regex)},loadImage:function loadImage(imageURL){var imageObj=new Image;imageObj.onload=this.handleImageReady.bind(this,imageObj);imageObj.onerror=this.props.onLoadFailed;if(!this.isDataURL(imageURL))imageObj.crossOrigin="anonymous";imageObj.src=imageURL},componentDidMount:function componentDidMount(){var context=this.getDOMNode().getContext("2d");if(this.props.image){this.loadImage(this.props.image)}this.paint(context);document&&document.addEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.addEventListener(deviceEvents.native.up,this.handleMouseUp,false);if(isTouchDevice)React.initializeTouchEvents(true)},componentWillUnmount:function componentWillUnmount(){document&&document.removeEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.removeEventListener(deviceEvents.native.up,this.handleMouseUp,false)},componentDidUpdate:function componentDidUpdate(){var context=this.getDOMNode().getContext("2d");context.clearRect(0,0,this.getDimensions().canvas.width,this.getDimensions().canvas.height);this.paint(context);this.paintImage(context,this.state.image,this.props.border)},handleImageReady:function handleImageReady(image){var imageState=this.getInitialSize(image.width,image.height);imageState.resource=image;imageState.x=0;imageState.y=0;this.props.onImageLoad(imageState);this.setState({drag:false,image:imageState},this.props.onImageReady)},getInitialSize:function getInitialSize(width,height){var newHeight,newWidth,dimensions,canvasRatio,imageRatio;dimensions=this.getDimensions();canvasRatio=dimensions.height/dimensions.width;imageRatio=height/width;if(canvasRatio>imageRatio){newHeight=this.getDimensions().height;newWidth=width*(newHeight/height)}else{newWidth=this.getDimensions().width;newHeight=height*(newWidth/width)}return{height:newHeight,width:newWidth}},componentWillReceiveProps:function componentWillReceiveProps(newProps){if(this.props.image!=newProps.image){this.loadImage(newProps.image)}if(this.props.scale!=newProps.scale){this.squeeze(newProps)}},paintImage:function paintImage(context,image,border){if(image.resource){var position=this.calculatePosition(image,border);context.save();context.globalCompositeOperation="destination-over";context.drawImage(image.resource,position.x,position.y,position.width,position.height);context.restore()}},calculatePosition:function calculatePosition(image,border){image=image||this.state.image;var x,y,width,height,dimensions=this.getDimensions();width=image.width*this.props.scale;height=image.height*this.props.scale;var widthDiff=(width-dimensions.width)/2;var heightDiff=(height-dimensions.height)/2;x=image.x*this.props.scale-widthDiff+border;y=image.y*this.props.scale-heightDiff+border;return{x:x,y:y,height:height,width:width}},paint:function paint(context){context.save();context.translate(0,0);context.fillStyle="rgba("+this.props.color.slice(0,4).join(",")+")";var dimensions=this.getDimensions();var borderSize=dimensions.border;var height=dimensions.canvas.height;var width=dimensions.canvas.width;context.fillRect(0,0,width,borderSize);context.fillRect(0,height-borderSize,width,borderSize);context.fillRect(0,borderSize,borderSize,height-borderSize*2);context.fillRect(width-borderSize,borderSize,borderSize,height-borderSize*2);context.restore()},handleMouseDown:function handleMouseDown(){this.setState({drag:true,mx:null,my:null})},handleMouseUp:function handleMouseUp(){if(this.state.drag){this.setState({drag:false})}},handleMouseMove:function handleMouseMove(e){if(false==this.state.drag){return}var imageState=this.state.image;var lastX=imageState.x;var lastY=imageState.y;var mousePositionX=isTouchDevice?event.targetTouches[0].pageX:e.clientX;var mousePositionY=isTouchDevice?event.targetTouches[0].pageY:e.clientY;var newState={mx:mousePositionX,my:mousePositionY,image:imageState};if(this.state.mx&&this.state.my){var xDiff=(this.state.mx-mousePositionX)/this.props.scale;var yDiff=(this.state.my-mousePositionY)/this.props.scale;imageState.y=this.getBoundedY(lastY-yDiff,this.props.scale);imageState.x=this.getBoundedX(lastX-xDiff,this.props.scale)}this.setState(newState)},squeeze:function squeeze(props){var imageState=this.state.image;imageState.y=this.getBoundedY(imageState.y,props.scale);imageState.x=this.getBoundedX(imageState.x,props.scale);this.setState({image:imageState})},getBoundedX:function getBoundedX(x,scale){var image=this.state.image;var dimensions=this.getDimensions();var widthDiff=Math.floor((image.width-dimensions.width/scale)/2);return Math.max(-widthDiff,Math.min(x,widthDiff))},getBoundedY:function getBoundedY(y,scale){var image=this.state.image;var dimensions=this.getDimensions();var heightDiff=Math.floor((image.height-dimensions.height/scale)/2);return Math.max(-heightDiff,Math.min(y,heightDiff))},handleDragOver:function handleDragOver(e){e.preventDefault()},handleDrop:function handleDrop(e){var _this=this;e.stopPropagation();e.preventDefault();var reader=new FileReader;var file=e.dataTransfer.files[0];reader.onload=function(e){return _this.loadImage(e.target.result)};reader.readAsDataURL(file)},render:function render(){var attributes={width:this.getDimensions().canvas.width,height:this.getDimensions().canvas.height,style:this.props.style};attributes[deviceEvents.react.down]=this.handleMouseDown;attributes[deviceEvents.react.drag]=this.handleDragOver;attributes[deviceEvents.react.drop]=this.handleDrop;return React.createElement("canvas",attributes)}});module.exports=AvatarEditor}); \ No newline at end of file diff --git a/example/app.js b/example/app.js index b1a0679..09c185e 100644 --- a/example/app.js +++ b/example/app.js @@ -24,9 +24,20 @@ var App = React.createClass({ this.setState({scale: scale}) }, + logCallback: function(e) { + console.log("callback", e); + }, + render: function() { return
- +

diff --git a/example/bundle.js b/example/bundle.js index 43e6521..d49e463 100644 --- a/example/bundle.js +++ b/example/bundle.js @@ -1,7 +1,355 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0));var draggableEvents={mobile:{react:{down:"onTouchStart",drag:"onTouchMove",drop:"onTouchEnd",move:"onTouchMove",up:"onTouchUp"},"native":{down:"touchstart",drag:"touchmove",drop:"touchend",move:"touchmove",up:"touchup"}},desktop:{react:{down:"onMouseDown",drag:"onDragOver",drop:"onDrop",move:"onMouseMove",up:"onMouseUp"},"native":{down:"mousedown",drag:"dragStart",drop:"drop",move:"mousemove",up:"mouseup"}}};var deviceEvents=isTouchDevice?draggableEvents.mobile:draggableEvents.desktop;var AvatarEditor=React.createClass({displayName:"AvatarEditor",propTypes:{scale:React.PropTypes.number,image:React.PropTypes.string,border:React.PropTypes.number,width:React.PropTypes.number,height:React.PropTypes.number,color:React.PropTypes.arrayOf(React.PropTypes.number),onImageReady:React.PropTypes.func,style:React.PropTypes.object},getDefaultProps:function getDefaultProps(){return{scale:1,border:25,width:200,height:200,color:[0,0,0,.5],onImageReady:function onImageReady(){},style:{}}},getInitialState:function getInitialState(){return{drag:false,my:null,mx:null,image:{x:0,y:0}}},getDimensions:function getDimensions(){return{width:this.props.width,height:this.props.height,border:this.props.border,canvas:{width:this.props.width+this.props.border*2,height:this.props.height+this.props.border*2}}},getImage:function getImage(type,quality){var dom=document.createElement("canvas");var context=dom.getContext("2d");var dimensions=this.getDimensions();var border=0;dom.width=dimensions.width;dom.height=dimensions.height;context.globalCompositeOperation="destination-over";this.paintImage(context,this.state.image,border);return dom.toDataURL(type,quality)},isDataURL:function isDataURL(str){var regex=/^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i;return!!str.match(regex)},loadImage:function loadImage(imageURL){var imageObj=new Image;imageObj.onload=this.handleImageReady.bind(this,imageObj);if(!this.isDataURL(imageURL))imageObj.crossOrigin="anonymous";imageObj.src=imageURL},componentDidMount:function componentDidMount(){var context=this.getDOMNode().getContext("2d");if(this.props.image){this.loadImage(this.props.image)}this.paint(context);document&&document.addEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.addEventListener(deviceEvents.native.up,this.handleMouseUp,false);if(isTouchDevice)React.initializeTouchEvents(true)},componentWillUnmount:function componentWillUnmount(){document&&document.removeEventListener(deviceEvents.native.move,this.handleMouseMove,false);document&&document.removeEventListener(deviceEvents.native.up,this.handleMouseUp,false)},componentDidUpdate:function componentDidUpdate(){var context=this.getDOMNode().getContext("2d");context.clearRect(0,0,this.getDimensions().canvas.width,this.getDimensions().canvas.height);this.paint(context);this.paintImage(context,this.state.image,this.props.border)},handleImageReady:function handleImageReady(image){var imageState=this.getInitialSize(image.width,image.height);imageState.resource=image;imageState.x=0;imageState.y=0;this.setState({drag:false,image:imageState},this.props.onImageReady)},getInitialSize:function getInitialSize(width,height){var newHeight,newWidth,dimensions,canvasRatio,imageRatio;dimensions=this.getDimensions();canvasRatio=dimensions.height/dimensions.width;imageRatio=height/width;if(canvasRatio>imageRatio){newHeight=this.getDimensions().height;newWidth=width*(newHeight/height)}else{newWidth=this.getDimensions().width;newHeight=height*(newWidth/width)}return{height:newHeight,width:newWidth}},componentWillReceiveProps:function componentWillReceiveProps(newProps){if(this.props.image!=newProps.image){this.loadImage(newProps.image)}if(this.props.scale!=newProps.scale){this.squeeze(newProps)}},paintImage:function paintImage(context,image,border){if(image.resource){var position=this.calculatePosition(image,border);context.save();context.globalCompositeOperation="destination-over";context.drawImage(image.resource,position.x,position.y,position.width,position.height);context.restore()}},calculatePosition:function calculatePosition(image,border){image=image||this.state.image;var x,y,width,height,dimensions=this.getDimensions();width=image.width*this.props.scale;height=image.height*this.props.scale;var widthDiff=(width-dimensions.width)/2;var heightDiff=(height-dimensions.height)/2;x=image.x*this.props.scale-widthDiff+border;y=image.y*this.props.scale-heightDiff+border;return{x:x,y:y,height:height,width:width}},paint:function paint(context){context.save();context.translate(0,0);context.fillStyle="rgba("+this.props.color.slice(0,4).join(",")+")";var dimensions=this.getDimensions();var borderSize=dimensions.border;var height=dimensions.canvas.height;var width=dimensions.canvas.width;context.fillRect(0,0,width,borderSize);context.fillRect(0,height-borderSize,width,borderSize);context.fillRect(0,borderSize,borderSize,height-borderSize*2);context.fillRect(width-borderSize,borderSize,borderSize,height-borderSize*2);context.restore()},handleMouseDown:function handleMouseDown(){this.setState({drag:true,mx:null,my:null})},handleMouseUp:function handleMouseUp(){if(this.state.drag){this.setState({drag:false})}},handleMouseMove:function handleMouseMove(e){if(false==this.state.drag){return}var imageState=this.state.image;var lastX=imageState.x;var lastY=imageState.y;var mousePositionX=isTouchDevice?event.targetTouches[0].pageX:e.clientX;var mousePositionY=isTouchDevice?event.targetTouches[0].pageY:e.clientY;var newState={mx:mousePositionX,my:mousePositionY,image:imageState};if(this.state.mx&&this.state.my){var xDiff=(this.state.mx-mousePositionX)/this.props.scale;var yDiff=(this.state.my-mousePositionY)/this.props.scale;imageState.y=this.getBoundedY(lastY-yDiff,this.props.scale);imageState.x=this.getBoundedX(lastX-xDiff,this.props.scale)}this.setState(newState)},squeeze:function squeeze(props){var imageState=this.state.image;imageState.y=this.getBoundedY(imageState.y,props.scale);imageState.x=this.getBoundedX(imageState.x,props.scale);this.setState({image:imageState})},getBoundedX:function getBoundedX(x,scale){var image=this.state.image;var dimensions=this.getDimensions();var widthDiff=Math.floor((image.width-dimensions.width/scale)/2);return Math.max(-widthDiff,Math.min(x,widthDiff))},getBoundedY:function getBoundedY(y,scale){var image=this.state.image;var dimensions=this.getDimensions();var heightDiff=Math.floor((image.height-dimensions.height/scale)/2);return Math.max(-heightDiff,Math.min(y,heightDiff))},handleDragOver:function handleDragOver(e){e.preventDefault()},handleDrop:function handleDrop(e){e.stopPropagation();e.preventDefault();var reader=new FileReader;reader.onload=this.handleUploadReady;reader.readAsDataURL(e.dataTransfer.files[0])},handleUploadReady:function handleUploadReady(e){this.loadImage(e.target.result)},render:function render(){var attributes={width:this.getDimensions().canvas.width,height:this.getDimensions().canvas.height,style:this.props.style};attributes[deviceEvents.react.down]=this.handleMouseDown;attributes[deviceEvents.react.drag]=this.handleDragOver;attributes[deviceEvents.react.drop]=this.handleDrop;return React.createElement("canvas",attributes)}});module.exports=AvatarEditor}); +(function (global, factory) { + if (typeof define === 'function' && define.amd) { + define(['exports', 'module'], factory); + } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') { + factory(exports, module); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, mod); + global.index = mod.exports; + } +})(this, function (exports, module) { + 'use strict'; + + var React = require('react'); + + var isTouchDevice = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && ('ontouchstart' in window || navigator.msMaxTouchPoints > 0)); + var draggableEvents = { + mobile: { + react: { + down: 'onTouchStart', + drag: 'onTouchMove', + drop: 'onTouchEnd', + move: 'onTouchMove', + up: 'onTouchUp' + }, + native: { + down: 'touchstart', + drag: 'touchmove', + drop: 'touchend', + move: 'touchmove', + up: 'touchup' + } + }, + desktop: { + react: { + down: 'onMouseDown', + drag: 'onDragOver', + drop: 'onDrop', + move: 'onMouseMove', + up: 'onMouseUp' + }, + native: { + down: 'mousedown', + drag: 'dragStart', + drop: 'drop', + move: 'mousemove', + up: 'mouseup' + } + } + }; + var deviceEvents = isTouchDevice ? draggableEvents.mobile : draggableEvents.desktop; + + var AvatarEditor = React.createClass({ + displayName: 'AvatarEditor', + + propTypes: { + scale: React.PropTypes.number, + image: React.PropTypes.string, + border: React.PropTypes.number, + width: React.PropTypes.number, + height: React.PropTypes.number, + color: React.PropTypes.arrayOf(React.PropTypes.number), + onImageReady: React.PropTypes.func, + style: React.PropTypes.object, + + onLoadFailed: React.PropTypes.func, + onUpload: React.PropTypes.func, + onImageLoad: React.PropTypes.func + }, + + getDefaultProps: function getDefaultProps() { + return { + scale: 1, + border: 25, + width: 200, + height: 200, + color: [0, 0, 0, 0.5], + style: {}, + onLoadFailed: function onLoadFailed() {}, + onUpload: function onUpload() {}, + onImageLoad: function onImageLoad() {} + }; + }, + + getInitialState: function getInitialState() { + return { + drag: false, + my: null, + mx: null, + image: { + x: 0, + y: 0 + } + }; + }, + + getDimensions: function getDimensions() { + return { + width: this.props.width, + height: this.props.height, + border: this.props.border, + canvas: { + width: this.props.width + this.props.border * 2, + height: this.props.height + this.props.border * 2 + } + }; + }, + + getImage: function getImage(type, quality) { + var dom = document.createElement('canvas'); + var context = dom.getContext('2d'); + var dimensions = this.getDimensions(); + var border = 0; + + dom.width = dimensions.width; + dom.height = dimensions.height; + + context.globalCompositeOperation = 'destination-over'; + + this.paintImage(context, this.state.image, border); + + return dom.toDataURL(type, quality); + }, + + isDataURL: function isDataURL(str) { + var regex = /^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i; + return !!str.match(regex); + }, + + loadImage: function loadImage(imageURL) { + var imageObj = new Image(); + imageObj.onload = this.handleImageReady.bind(this, imageObj); + imageObj.onerror = this.props.onLoadFailed; + if (!this.isDataURL(imageURL)) imageObj.crossOrigin = 'anonymous'; + imageObj.src = imageURL; + }, + + componentDidMount: function componentDidMount() { + var context = this.getDOMNode().getContext('2d'); + if (this.props.image) { + this.loadImage(this.props.image); + } + this.paint(context); + document && document.addEventListener(deviceEvents.native.move, this.handleMouseMove, false); + document && document.addEventListener(deviceEvents.native.up, this.handleMouseUp, false); + + if (isTouchDevice) React.initializeTouchEvents(true); + }, + + componentWillUnmount: function componentWillUnmount() { + document && document.removeEventListener(deviceEvents.native.move, this.handleMouseMove, false); + document && document.removeEventListener(deviceEvents.native.up, this.handleMouseUp, false); + }, + + componentDidUpdate: function componentDidUpdate() { + var context = this.getDOMNode().getContext('2d'); + context.clearRect(0, 0, this.getDimensions().canvas.width, this.getDimensions().canvas.height); + this.paint(context); + this.paintImage(context, this.state.image, this.props.border); + }, + + handleImageReady: function handleImageReady(image) { + var imageState = this.getInitialSize(image.width, image.height); + imageState.resource = image; + imageState.x = 0; + imageState.y = 0; + this.props.onImageLoad(imageState); + this.setState({ drag: false, image: imageState }, this.props.onImageReady); + }, + + getInitialSize: function getInitialSize(width, height) { + var newHeight, newWidth, dimensions, canvasRatio, imageRatio; + + dimensions = this.getDimensions(); + + canvasRatio = dimensions.height / dimensions.width; + imageRatio = height / width; + + if (canvasRatio > imageRatio) { + newHeight = this.getDimensions().height; + newWidth = width * (newHeight / height); + } else { + newWidth = this.getDimensions().width; + newHeight = height * (newWidth / width); + } + + return { + height: newHeight, + width: newWidth + }; + }, + + componentWillReceiveProps: function componentWillReceiveProps(newProps) { + if (this.props.image != newProps.image) { + this.loadImage(newProps.image); + } + if (this.props.scale != newProps.scale) { + this.squeeze(newProps); + } + }, + + paintImage: function paintImage(context, image, border) { + if (image.resource) { + var position = this.calculatePosition(image, border); + context.save(); + context.globalCompositeOperation = 'destination-over'; + context.drawImage(image.resource, position.x, position.y, position.width, position.height); + + context.restore(); + } + }, + + calculatePosition: function calculatePosition(image, border) { + image = image || this.state.image; + var x, + y, + width, + height, + dimensions = this.getDimensions(); + width = image.width * this.props.scale; + height = image.height * this.props.scale; + + var widthDiff = (width - dimensions.width) / 2; + var heightDiff = (height - dimensions.height) / 2; + x = image.x * this.props.scale - widthDiff + border; + y = image.y * this.props.scale - heightDiff + border; + + return { + x: x, + y: y, + height: height, + width: width + }; + }, + + paint: function paint(context) { + context.save(); + context.translate(0, 0); + context.fillStyle = 'rgba(' + this.props.color.slice(0, 4).join(',') + ')'; + + var dimensions = this.getDimensions(); + + var borderSize = dimensions.border; + var height = dimensions.canvas.height; + var width = dimensions.canvas.width; + + context.fillRect(0, 0, width, borderSize); // top + context.fillRect(0, height - borderSize, width, borderSize); // bottom + context.fillRect(0, borderSize, borderSize, height - borderSize * 2); // left + context.fillRect(width - borderSize, borderSize, borderSize, height - borderSize * 2); // right + + context.restore(); + }, + + handleMouseDown: function handleMouseDown() { + this.setState({ + drag: true, + mx: null, + my: null + }); + }, + handleMouseUp: function handleMouseUp() { + if (this.state.drag) { + this.setState({ drag: false }); + } + }, + + handleMouseMove: function handleMouseMove(e) { + if (false == this.state.drag) { + return; + } + + var imageState = this.state.image; + var lastX = imageState.x; + var lastY = imageState.y; + + var mousePositionX = isTouchDevice ? event.targetTouches[0].pageX : e.clientX; + var mousePositionY = isTouchDevice ? event.targetTouches[0].pageY : e.clientY; + + var newState = { mx: mousePositionX, my: mousePositionY, image: imageState }; + + if (this.state.mx && this.state.my) { + var xDiff = (this.state.mx - mousePositionX) / this.props.scale; + var yDiff = (this.state.my - mousePositionY) / this.props.scale; + + imageState.y = this.getBoundedY(lastY - yDiff, this.props.scale); + imageState.x = this.getBoundedX(lastX - xDiff, this.props.scale); + } + + this.setState(newState); + }, + + squeeze: function squeeze(props) { + var imageState = this.state.image; + imageState.y = this.getBoundedY(imageState.y, props.scale); + imageState.x = this.getBoundedX(imageState.x, props.scale); + this.setState({ image: imageState }); + }, + + getBoundedX: function getBoundedX(x, scale) { + var image = this.state.image; + var dimensions = this.getDimensions(); + var widthDiff = Math.floor((image.width - dimensions.width / scale) / 2); + return Math.max(-widthDiff, Math.min(x, widthDiff)); + }, + + getBoundedY: function getBoundedY(y, scale) { + var image = this.state.image; + var dimensions = this.getDimensions(); + var heightDiff = Math.floor((image.height - dimensions.height / scale) / 2); + return Math.max(-heightDiff, Math.min(y, heightDiff)); + }, + + handleDragOver: function handleDragOver(e) { + e.preventDefault(); + }, + + handleDrop: function handleDrop(e) { + var _this = this; + + e.stopPropagation(); + e.preventDefault(); + var reader = new FileReader(); + var file = e.dataTransfer.files[0]; + reader.onload = function (e) { + return _this.loadImage(e.target.result); + }; + reader.readAsDataURL(file); + }, + + render: function render() { + var attributes = { + width: this.getDimensions().canvas.width, + height: this.getDimensions().canvas.height, + style: this.props.style + }; + + attributes[deviceEvents.react.down] = this.handleMouseDown; + attributes[deviceEvents.react.drag] = this.handleDragOver; + attributes[deviceEvents.react.drop] = this.handleDrop; + + return React.createElement('canvas', attributes); + } + }); + + module.exports = AvatarEditor; +}); -},{"react":157}],2:[function(require,module,exports){ +},{"react":158}],2:[function(require,module,exports){ var React = require('react'); var Editor = require('../dist/index.js'); @@ -28,9 +376,20 @@ var App = React.createClass({displayName: "App", this.setState({scale: scale}) }, + logCallback: function(e) { + console.log("callback", e); + }, + render: function() { return React.createElement("div", null, - React.createElement(Editor, {ref: "avatar", rotation: this.state.rotation, scale: parseFloat(this.state.scale), onSave: this.handleSave, image: "example/avatar.jpg"}), + React.createElement(Editor, { + ref: "avatar", + scale: parseFloat(this.state.scale), + onSave: this.handleSave, + onLoadFailed: this.logCallback.bind(this, 'onLoadFailed'), + onUpload: this.logCallback.bind(this, 'onUpload'), + onImageLoad: this.logCallback.bind(this, 'onImageLoad'), + image: "example/avatar.jpg"}), React.createElement("br", null), React.createElement("input", {name: "scale", type: "range", ref: "scale", onChange: this.handleScale, min: "1", max: "2", step: "0.01", defaultValue: "1"}), React.createElement("br", null), @@ -44,8 +403,99 @@ var App = React.createClass({displayName: "App", }); React.render(React.createElement(App, null), document.getElementById('app')); +},{"../dist/index.js":1,"react":158}],3:[function(require,module,exports){ +// shim for using process in browser + +var process = module.exports = {}; +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = setTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + currentQueue[queueIndex].run(); + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + clearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + setTimeout(drainQueue, 0); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +// TODO(shtylman) +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; -},{"../dist/index.js":1,"react":157}],3:[function(require,module,exports){ +},{}],4:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -72,7 +522,7 @@ var AutoFocusMixin = { module.exports = AutoFocusMixin; -},{"./focusNode":121}],4:[function(require,module,exports){ +},{"./focusNode":122}],5:[function(require,module,exports){ /** * Copyright 2013-2015 Facebook, Inc. * All rights reserved. @@ -567,7 +1017,7 @@ var BeforeInputEventPlugin = { module.exports = BeforeInputEventPlugin; -},{"./EventConstants":16,"./EventPropagators":21,"./ExecutionEnvironment":22,"./FallbackCompositionState":23,"./SyntheticCompositionEvent":95,"./SyntheticInputEvent":99,"./keyOf":143}],5:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPropagators":22,"./ExecutionEnvironment":23,"./FallbackCompositionState":24,"./SyntheticCompositionEvent":96,"./SyntheticInputEvent":100,"./keyOf":144}],6:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -692,7 +1142,7 @@ var CSSProperty = { module.exports = CSSProperty; -},{}],6:[function(require,module,exports){ +},{}],7:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -874,7 +1324,7 @@ var CSSPropertyOperations = { module.exports = CSSPropertyOperations; }).call(this,require('_process')) -},{"./CSSProperty":5,"./ExecutionEnvironment":22,"./camelizeStyleName":110,"./dangerousStyleValue":115,"./hyphenateStyleName":135,"./memoizeStringOnly":145,"./warning":156,"_process":158}],7:[function(require,module,exports){ +},{"./CSSProperty":6,"./ExecutionEnvironment":23,"./camelizeStyleName":111,"./dangerousStyleValue":116,"./hyphenateStyleName":136,"./memoizeStringOnly":146,"./warning":157,"_process":3}],8:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -974,7 +1424,7 @@ PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; }).call(this,require('_process')) -},{"./Object.assign":28,"./PooledClass":29,"./invariant":137,"_process":158}],8:[function(require,module,exports){ +},{"./Object.assign":29,"./PooledClass":30,"./invariant":138,"_process":3}],9:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -1356,7 +1806,7 @@ var ChangeEventPlugin = { module.exports = ChangeEventPlugin; -},{"./EventConstants":16,"./EventPluginHub":18,"./EventPropagators":21,"./ExecutionEnvironment":22,"./ReactUpdates":89,"./SyntheticEvent":97,"./isEventSupported":138,"./isTextInputElement":140,"./keyOf":143}],9:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPluginHub":19,"./EventPropagators":22,"./ExecutionEnvironment":23,"./ReactUpdates":90,"./SyntheticEvent":98,"./isEventSupported":139,"./isTextInputElement":141,"./keyOf":144}],10:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -1381,7 +1831,7 @@ var ClientReactRootIndex = { module.exports = ClientReactRootIndex; -},{}],10:[function(require,module,exports){ +},{}],11:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -1519,7 +1969,7 @@ var DOMChildrenOperations = { module.exports = DOMChildrenOperations; }).call(this,require('_process')) -},{"./Danger":13,"./ReactMultiChildUpdateTypes":74,"./invariant":137,"./setTextContent":151,"_process":158}],11:[function(require,module,exports){ +},{"./Danger":14,"./ReactMultiChildUpdateTypes":75,"./invariant":138,"./setTextContent":152,"_process":3}],12:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -1818,7 +2268,7 @@ var DOMProperty = { module.exports = DOMProperty; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],12:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],13:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -2010,7 +2460,7 @@ var DOMPropertyOperations = { module.exports = DOMPropertyOperations; }).call(this,require('_process')) -},{"./DOMProperty":11,"./quoteAttributeValueForBrowser":149,"./warning":156,"_process":158}],13:[function(require,module,exports){ +},{"./DOMProperty":12,"./quoteAttributeValueForBrowser":150,"./warning":157,"_process":3}],14:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -2197,7 +2647,7 @@ var Danger = { module.exports = Danger; }).call(this,require('_process')) -},{"./ExecutionEnvironment":22,"./createNodesFromMarkup":114,"./emptyFunction":116,"./getMarkupWrap":129,"./invariant":137,"_process":158}],14:[function(require,module,exports){ +},{"./ExecutionEnvironment":23,"./createNodesFromMarkup":115,"./emptyFunction":117,"./getMarkupWrap":130,"./invariant":138,"_process":3}],15:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -2236,7 +2686,7 @@ var DefaultEventPluginOrder = [ module.exports = DefaultEventPluginOrder; -},{"./keyOf":143}],15:[function(require,module,exports){ +},{"./keyOf":144}],16:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -2376,7 +2826,7 @@ var EnterLeaveEventPlugin = { module.exports = EnterLeaveEventPlugin; -},{"./EventConstants":16,"./EventPropagators":21,"./ReactMount":72,"./SyntheticMouseEvent":101,"./keyOf":143}],16:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPropagators":22,"./ReactMount":73,"./SyntheticMouseEvent":102,"./keyOf":144}],17:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -2448,7 +2898,7 @@ var EventConstants = { module.exports = EventConstants; -},{"./keyMirror":142}],17:[function(require,module,exports){ +},{"./keyMirror":143}],18:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -2538,7 +2988,7 @@ var EventListener = { module.exports = EventListener; }).call(this,require('_process')) -},{"./emptyFunction":116,"_process":158}],18:[function(require,module,exports){ +},{"./emptyFunction":117,"_process":3}],19:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -2816,7 +3266,7 @@ var EventPluginHub = { module.exports = EventPluginHub; }).call(this,require('_process')) -},{"./EventPluginRegistry":19,"./EventPluginUtils":20,"./accumulateInto":107,"./forEachAccumulated":122,"./invariant":137,"_process":158}],19:[function(require,module,exports){ +},{"./EventPluginRegistry":20,"./EventPluginUtils":21,"./accumulateInto":108,"./forEachAccumulated":123,"./invariant":138,"_process":3}],20:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -3096,7 +3546,7 @@ var EventPluginRegistry = { module.exports = EventPluginRegistry; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],20:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],21:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -3317,7 +3767,7 @@ var EventPluginUtils = { module.exports = EventPluginUtils; }).call(this,require('_process')) -},{"./EventConstants":16,"./invariant":137,"_process":158}],21:[function(require,module,exports){ +},{"./EventConstants":17,"./invariant":138,"_process":3}],22:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -3459,7 +3909,7 @@ var EventPropagators = { module.exports = EventPropagators; }).call(this,require('_process')) -},{"./EventConstants":16,"./EventPluginHub":18,"./accumulateInto":107,"./forEachAccumulated":122,"_process":158}],22:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPluginHub":19,"./accumulateInto":108,"./forEachAccumulated":123,"_process":3}],23:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -3503,7 +3953,7 @@ var ExecutionEnvironment = { module.exports = ExecutionEnvironment; -},{}],23:[function(require,module,exports){ +},{}],24:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -3594,7 +4044,7 @@ PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; -},{"./Object.assign":28,"./PooledClass":29,"./getTextContentAccessor":132}],24:[function(require,module,exports){ +},{"./Object.assign":29,"./PooledClass":30,"./getTextContentAccessor":133}],25:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -3805,7 +4255,7 @@ var HTMLDOMPropertyConfig = { module.exports = HTMLDOMPropertyConfig; -},{"./DOMProperty":11,"./ExecutionEnvironment":22}],25:[function(require,module,exports){ +},{"./DOMProperty":12,"./ExecutionEnvironment":23}],26:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -3961,7 +4411,7 @@ var LinkedValueUtils = { module.exports = LinkedValueUtils; }).call(this,require('_process')) -},{"./ReactPropTypes":80,"./invariant":137,"_process":158}],26:[function(require,module,exports){ +},{"./ReactPropTypes":81,"./invariant":138,"_process":3}],27:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -4018,7 +4468,7 @@ var LocalEventTrapMixin = { module.exports = LocalEventTrapMixin; }).call(this,require('_process')) -},{"./ReactBrowserEventEmitter":32,"./accumulateInto":107,"./forEachAccumulated":122,"./invariant":137,"_process":158}],27:[function(require,module,exports){ +},{"./ReactBrowserEventEmitter":33,"./accumulateInto":108,"./forEachAccumulated":123,"./invariant":138,"_process":3}],28:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -4076,7 +4526,7 @@ var MobileSafariClickEventPlugin = { module.exports = MobileSafariClickEventPlugin; -},{"./EventConstants":16,"./emptyFunction":116}],28:[function(require,module,exports){ +},{"./EventConstants":17,"./emptyFunction":117}],29:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -4125,7 +4575,7 @@ function assign(target, sources) { module.exports = assign; -},{}],29:[function(require,module,exports){ +},{}],30:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -4241,7 +4691,7 @@ var PooledClass = { module.exports = PooledClass; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],30:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],31:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -4393,7 +4843,7 @@ React.version = '0.13.3'; module.exports = React; }).call(this,require('_process')) -},{"./EventPluginUtils":20,"./ExecutionEnvironment":22,"./Object.assign":28,"./ReactChildren":34,"./ReactClass":35,"./ReactComponent":36,"./ReactContext":40,"./ReactCurrentOwner":41,"./ReactDOM":42,"./ReactDOMTextComponent":53,"./ReactDefaultInjection":56,"./ReactElement":59,"./ReactElementValidator":60,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactPerf":77,"./ReactPropTypes":80,"./ReactReconciler":83,"./ReactServerRendering":86,"./findDOMNode":119,"./onlyChild":146,"_process":158}],31:[function(require,module,exports){ +},{"./EventPluginUtils":21,"./ExecutionEnvironment":23,"./Object.assign":29,"./ReactChildren":35,"./ReactClass":36,"./ReactComponent":37,"./ReactContext":41,"./ReactCurrentOwner":42,"./ReactDOM":43,"./ReactDOMTextComponent":54,"./ReactDefaultInjection":57,"./ReactElement":60,"./ReactElementValidator":61,"./ReactInstanceHandles":69,"./ReactMount":73,"./ReactPerf":78,"./ReactPropTypes":81,"./ReactReconciler":84,"./ReactServerRendering":87,"./findDOMNode":120,"./onlyChild":147,"_process":3}],32:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -4424,7 +4874,7 @@ var ReactBrowserComponentMixin = { module.exports = ReactBrowserComponentMixin; -},{"./findDOMNode":119}],32:[function(require,module,exports){ +},{"./findDOMNode":120}],33:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -4777,7 +5227,7 @@ var ReactBrowserEventEmitter = assign({}, ReactEventEmitterMixin, { module.exports = ReactBrowserEventEmitter; -},{"./EventConstants":16,"./EventPluginHub":18,"./EventPluginRegistry":19,"./Object.assign":28,"./ReactEventEmitterMixin":63,"./ViewportMetrics":106,"./isEventSupported":138}],33:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPluginHub":19,"./EventPluginRegistry":20,"./Object.assign":29,"./ReactEventEmitterMixin":64,"./ViewportMetrics":107,"./isEventSupported":139}],34:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -4904,7 +5354,7 @@ var ReactChildReconciler = { module.exports = ReactChildReconciler; -},{"./ReactReconciler":83,"./flattenChildren":120,"./instantiateReactComponent":136,"./shouldUpdateReactComponent":153}],34:[function(require,module,exports){ +},{"./ReactReconciler":84,"./flattenChildren":121,"./instantiateReactComponent":137,"./shouldUpdateReactComponent":154}],35:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -5057,7 +5507,7 @@ var ReactChildren = { module.exports = ReactChildren; }).call(this,require('_process')) -},{"./PooledClass":29,"./ReactFragment":65,"./traverseAllChildren":155,"./warning":156,"_process":158}],35:[function(require,module,exports){ +},{"./PooledClass":30,"./ReactFragment":66,"./traverseAllChildren":156,"./warning":157,"_process":3}],36:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -6003,7 +6453,7 @@ var ReactClass = { module.exports = ReactClass; }).call(this,require('_process')) -},{"./Object.assign":28,"./ReactComponent":36,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactErrorUtils":62,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./ReactUpdateQueue":88,"./invariant":137,"./keyMirror":142,"./keyOf":143,"./warning":156,"_process":158}],36:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactComponent":37,"./ReactCurrentOwner":42,"./ReactElement":60,"./ReactErrorUtils":63,"./ReactInstanceMap":70,"./ReactLifeCycle":71,"./ReactPropTypeLocationNames":79,"./ReactPropTypeLocations":80,"./ReactUpdateQueue":89,"./invariant":138,"./keyMirror":143,"./keyOf":144,"./warning":157,"_process":3}],37:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -6157,7 +6607,7 @@ if ("production" !== process.env.NODE_ENV) { module.exports = ReactComponent; }).call(this,require('_process')) -},{"./ReactUpdateQueue":88,"./invariant":137,"./warning":156,"_process":158}],37:[function(require,module,exports){ +},{"./ReactUpdateQueue":89,"./invariant":138,"./warning":157,"_process":3}],38:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -6204,7 +6654,7 @@ var ReactComponentBrowserEnvironment = { module.exports = ReactComponentBrowserEnvironment; -},{"./ReactDOMIDOperations":46,"./ReactMount":72}],38:[function(require,module,exports){ +},{"./ReactDOMIDOperations":47,"./ReactMount":73}],39:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -6265,7 +6715,7 @@ var ReactComponentEnvironment = { module.exports = ReactComponentEnvironment; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],39:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],40:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7178,7 +7628,7 @@ var ReactCompositeComponent = { module.exports = ReactCompositeComponent; }).call(this,require('_process')) -},{"./Object.assign":28,"./ReactComponentEnvironment":38,"./ReactContext":40,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactElementValidator":60,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactNativeComponent":75,"./ReactPerf":77,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./ReactReconciler":83,"./ReactUpdates":89,"./emptyObject":117,"./invariant":137,"./shouldUpdateReactComponent":153,"./warning":156,"_process":158}],40:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactComponentEnvironment":39,"./ReactContext":41,"./ReactCurrentOwner":42,"./ReactElement":60,"./ReactElementValidator":61,"./ReactInstanceMap":70,"./ReactLifeCycle":71,"./ReactNativeComponent":76,"./ReactPerf":78,"./ReactPropTypeLocationNames":79,"./ReactPropTypeLocations":80,"./ReactReconciler":84,"./ReactUpdates":90,"./emptyObject":118,"./invariant":138,"./shouldUpdateReactComponent":154,"./warning":157,"_process":3}],41:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7256,7 +7706,7 @@ var ReactContext = { module.exports = ReactContext; }).call(this,require('_process')) -},{"./Object.assign":28,"./emptyObject":117,"./warning":156,"_process":158}],41:[function(require,module,exports){ +},{"./Object.assign":29,"./emptyObject":118,"./warning":157,"_process":3}],42:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -7290,7 +7740,7 @@ var ReactCurrentOwner = { module.exports = ReactCurrentOwner; -},{}],42:[function(require,module,exports){ +},{}],43:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7469,7 +7919,7 @@ var ReactDOM = mapObject({ module.exports = ReactDOM; }).call(this,require('_process')) -},{"./ReactElement":59,"./ReactElementValidator":60,"./mapObject":144,"_process":158}],43:[function(require,module,exports){ +},{"./ReactElement":60,"./ReactElementValidator":61,"./mapObject":145,"_process":3}],44:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -7533,7 +7983,7 @@ var ReactDOMButton = ReactClass.createClass({ module.exports = ReactDOMButton; -},{"./AutoFocusMixin":3,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./keyMirror":142}],44:[function(require,module,exports){ +},{"./AutoFocusMixin":4,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60,"./keyMirror":143}],45:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8043,7 +8493,7 @@ ReactDOMComponent.injection = { module.exports = ReactDOMComponent; }).call(this,require('_process')) -},{"./CSSPropertyOperations":6,"./DOMProperty":11,"./DOMPropertyOperations":12,"./Object.assign":28,"./ReactBrowserEventEmitter":32,"./ReactComponentBrowserEnvironment":37,"./ReactMount":72,"./ReactMultiChild":73,"./ReactPerf":77,"./escapeTextContentForBrowser":118,"./invariant":137,"./isEventSupported":138,"./keyOf":143,"./warning":156,"_process":158}],45:[function(require,module,exports){ +},{"./CSSPropertyOperations":7,"./DOMProperty":12,"./DOMPropertyOperations":13,"./Object.assign":29,"./ReactBrowserEventEmitter":33,"./ReactComponentBrowserEnvironment":38,"./ReactMount":73,"./ReactMultiChild":74,"./ReactPerf":78,"./escapeTextContentForBrowser":119,"./invariant":138,"./isEventSupported":139,"./keyOf":144,"./warning":157,"_process":3}],46:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8092,7 +8542,7 @@ var ReactDOMForm = ReactClass.createClass({ module.exports = ReactDOMForm; -},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],46:[function(require,module,exports){ +},{"./EventConstants":17,"./LocalEventTrapMixin":27,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60}],47:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8260,7 +8710,7 @@ ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', { module.exports = ReactDOMIDOperations; }).call(this,require('_process')) -},{"./CSSPropertyOperations":6,"./DOMChildrenOperations":10,"./DOMPropertyOperations":12,"./ReactMount":72,"./ReactPerf":77,"./invariant":137,"./setInnerHTML":150,"_process":158}],47:[function(require,module,exports){ +},{"./CSSPropertyOperations":7,"./DOMChildrenOperations":11,"./DOMPropertyOperations":13,"./ReactMount":73,"./ReactPerf":78,"./invariant":138,"./setInnerHTML":151,"_process":3}],48:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8305,7 +8755,7 @@ var ReactDOMIframe = ReactClass.createClass({ module.exports = ReactDOMIframe; -},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],48:[function(require,module,exports){ +},{"./EventConstants":17,"./LocalEventTrapMixin":27,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60}],49:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8351,7 +8801,7 @@ var ReactDOMImg = ReactClass.createClass({ module.exports = ReactDOMImg; -},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],49:[function(require,module,exports){ +},{"./EventConstants":17,"./LocalEventTrapMixin":27,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60}],50:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8528,7 +8978,7 @@ var ReactDOMInput = ReactClass.createClass({ module.exports = ReactDOMInput; }).call(this,require('_process')) -},{"./AutoFocusMixin":3,"./DOMPropertyOperations":12,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactMount":72,"./ReactUpdates":89,"./invariant":137,"_process":158}],50:[function(require,module,exports){ +},{"./AutoFocusMixin":4,"./DOMPropertyOperations":13,"./LinkedValueUtils":26,"./Object.assign":29,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60,"./ReactMount":73,"./ReactUpdates":90,"./invariant":138,"_process":3}],51:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8580,7 +9030,7 @@ var ReactDOMOption = ReactClass.createClass({ module.exports = ReactDOMOption; }).call(this,require('_process')) -},{"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./warning":156,"_process":158}],51:[function(require,module,exports){ +},{"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60,"./warning":157,"_process":3}],52:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8758,7 +9208,7 @@ var ReactDOMSelect = ReactClass.createClass({ module.exports = ReactDOMSelect; -},{"./AutoFocusMixin":3,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactUpdates":89}],52:[function(require,module,exports){ +},{"./AutoFocusMixin":4,"./LinkedValueUtils":26,"./Object.assign":29,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60,"./ReactUpdates":90}],53:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8971,7 +9421,7 @@ var ReactDOMSelection = { module.exports = ReactDOMSelection; -},{"./ExecutionEnvironment":22,"./getNodeForCharacterOffset":130,"./getTextContentAccessor":132}],53:[function(require,module,exports){ +},{"./ExecutionEnvironment":23,"./getNodeForCharacterOffset":131,"./getTextContentAccessor":133}],54:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9088,7 +9538,7 @@ assign(ReactDOMTextComponent.prototype, { module.exports = ReactDOMTextComponent; -},{"./DOMPropertyOperations":12,"./Object.assign":28,"./ReactComponentBrowserEnvironment":37,"./ReactDOMComponent":44,"./escapeTextContentForBrowser":118}],54:[function(require,module,exports){ +},{"./DOMPropertyOperations":13,"./Object.assign":29,"./ReactComponentBrowserEnvironment":38,"./ReactDOMComponent":45,"./escapeTextContentForBrowser":119}],55:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -9228,7 +9678,7 @@ var ReactDOMTextarea = ReactClass.createClass({ module.exports = ReactDOMTextarea; }).call(this,require('_process')) -},{"./AutoFocusMixin":3,"./DOMPropertyOperations":12,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactUpdates":89,"./invariant":137,"./warning":156,"_process":158}],55:[function(require,module,exports){ +},{"./AutoFocusMixin":4,"./DOMPropertyOperations":13,"./LinkedValueUtils":26,"./Object.assign":29,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactElement":60,"./ReactUpdates":90,"./invariant":138,"./warning":157,"_process":3}],56:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9301,7 +9751,7 @@ var ReactDefaultBatchingStrategy = { module.exports = ReactDefaultBatchingStrategy; -},{"./Object.assign":28,"./ReactUpdates":89,"./Transaction":105,"./emptyFunction":116}],56:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactUpdates":90,"./Transaction":106,"./emptyFunction":117}],57:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -9460,7 +9910,7 @@ module.exports = { }; }).call(this,require('_process')) -},{"./BeforeInputEventPlugin":4,"./ChangeEventPlugin":8,"./ClientReactRootIndex":9,"./DefaultEventPluginOrder":14,"./EnterLeaveEventPlugin":15,"./ExecutionEnvironment":22,"./HTMLDOMPropertyConfig":24,"./MobileSafariClickEventPlugin":27,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactComponentBrowserEnvironment":37,"./ReactDOMButton":43,"./ReactDOMComponent":44,"./ReactDOMForm":45,"./ReactDOMIDOperations":46,"./ReactDOMIframe":47,"./ReactDOMImg":48,"./ReactDOMInput":49,"./ReactDOMOption":50,"./ReactDOMSelect":51,"./ReactDOMTextComponent":53,"./ReactDOMTextarea":54,"./ReactDefaultBatchingStrategy":55,"./ReactDefaultPerf":57,"./ReactElement":59,"./ReactEventListener":64,"./ReactInjection":66,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactReconcileTransaction":82,"./SVGDOMPropertyConfig":90,"./SelectEventPlugin":91,"./ServerReactRootIndex":92,"./SimpleEventPlugin":93,"./createFullPageComponent":113,"_process":158}],57:[function(require,module,exports){ +},{"./BeforeInputEventPlugin":5,"./ChangeEventPlugin":9,"./ClientReactRootIndex":10,"./DefaultEventPluginOrder":15,"./EnterLeaveEventPlugin":16,"./ExecutionEnvironment":23,"./HTMLDOMPropertyConfig":25,"./MobileSafariClickEventPlugin":28,"./ReactBrowserComponentMixin":32,"./ReactClass":36,"./ReactComponentBrowserEnvironment":38,"./ReactDOMButton":44,"./ReactDOMComponent":45,"./ReactDOMForm":46,"./ReactDOMIDOperations":47,"./ReactDOMIframe":48,"./ReactDOMImg":49,"./ReactDOMInput":50,"./ReactDOMOption":51,"./ReactDOMSelect":52,"./ReactDOMTextComponent":54,"./ReactDOMTextarea":55,"./ReactDefaultBatchingStrategy":56,"./ReactDefaultPerf":58,"./ReactElement":60,"./ReactEventListener":65,"./ReactInjection":67,"./ReactInstanceHandles":69,"./ReactMount":73,"./ReactReconcileTransaction":83,"./SVGDOMPropertyConfig":91,"./SelectEventPlugin":92,"./ServerReactRootIndex":93,"./SimpleEventPlugin":94,"./createFullPageComponent":114,"_process":3}],58:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9726,7 +10176,7 @@ var ReactDefaultPerf = { module.exports = ReactDefaultPerf; -},{"./DOMProperty":11,"./ReactDefaultPerfAnalysis":58,"./ReactMount":72,"./ReactPerf":77,"./performanceNow":148}],58:[function(require,module,exports){ +},{"./DOMProperty":12,"./ReactDefaultPerfAnalysis":59,"./ReactMount":73,"./ReactPerf":78,"./performanceNow":149}],59:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9932,7 +10382,7 @@ var ReactDefaultPerfAnalysis = { module.exports = ReactDefaultPerfAnalysis; -},{"./Object.assign":28}],59:[function(require,module,exports){ +},{"./Object.assign":29}],60:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -10240,7 +10690,7 @@ ReactElement.isValidElement = function(object) { module.exports = ReactElement; }).call(this,require('_process')) -},{"./Object.assign":28,"./ReactContext":40,"./ReactCurrentOwner":41,"./warning":156,"_process":158}],60:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactContext":41,"./ReactCurrentOwner":42,"./warning":157,"_process":3}],61:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -10705,7 +11155,7 @@ var ReactElementValidator = { module.exports = ReactElementValidator; }).call(this,require('_process')) -},{"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactFragment":65,"./ReactNativeComponent":75,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./getIteratorFn":128,"./invariant":137,"./warning":156,"_process":158}],61:[function(require,module,exports){ +},{"./ReactCurrentOwner":42,"./ReactElement":60,"./ReactFragment":66,"./ReactNativeComponent":76,"./ReactPropTypeLocationNames":79,"./ReactPropTypeLocations":80,"./getIteratorFn":129,"./invariant":138,"./warning":157,"_process":3}],62:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -10800,7 +11250,7 @@ var ReactEmptyComponent = { module.exports = ReactEmptyComponent; }).call(this,require('_process')) -},{"./ReactElement":59,"./ReactInstanceMap":69,"./invariant":137,"_process":158}],62:[function(require,module,exports){ +},{"./ReactElement":60,"./ReactInstanceMap":70,"./invariant":138,"_process":3}],63:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -10832,7 +11282,7 @@ var ReactErrorUtils = { module.exports = ReactErrorUtils; -},{}],63:[function(require,module,exports){ +},{}],64:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -10882,7 +11332,7 @@ var ReactEventEmitterMixin = { module.exports = ReactEventEmitterMixin; -},{"./EventPluginHub":18}],64:[function(require,module,exports){ +},{"./EventPluginHub":19}],65:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11065,7 +11515,7 @@ var ReactEventListener = { module.exports = ReactEventListener; -},{"./EventListener":17,"./ExecutionEnvironment":22,"./Object.assign":28,"./PooledClass":29,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactUpdates":89,"./getEventTarget":127,"./getUnboundedScrollPosition":133}],65:[function(require,module,exports){ +},{"./EventListener":18,"./ExecutionEnvironment":23,"./Object.assign":29,"./PooledClass":30,"./ReactInstanceHandles":69,"./ReactMount":73,"./ReactUpdates":90,"./getEventTarget":128,"./getUnboundedScrollPosition":134}],66:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -11250,7 +11700,7 @@ var ReactFragment = { module.exports = ReactFragment; }).call(this,require('_process')) -},{"./ReactElement":59,"./warning":156,"_process":158}],66:[function(require,module,exports){ +},{"./ReactElement":60,"./warning":157,"_process":3}],67:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11292,7 +11742,7 @@ var ReactInjection = { module.exports = ReactInjection; -},{"./DOMProperty":11,"./EventPluginHub":18,"./ReactBrowserEventEmitter":32,"./ReactClass":35,"./ReactComponentEnvironment":38,"./ReactDOMComponent":44,"./ReactEmptyComponent":61,"./ReactNativeComponent":75,"./ReactPerf":77,"./ReactRootIndex":85,"./ReactUpdates":89}],67:[function(require,module,exports){ +},{"./DOMProperty":12,"./EventPluginHub":19,"./ReactBrowserEventEmitter":33,"./ReactClass":36,"./ReactComponentEnvironment":39,"./ReactDOMComponent":45,"./ReactEmptyComponent":62,"./ReactNativeComponent":76,"./ReactPerf":78,"./ReactRootIndex":86,"./ReactUpdates":90}],68:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11427,7 +11877,7 @@ var ReactInputSelection = { module.exports = ReactInputSelection; -},{"./ReactDOMSelection":52,"./containsNode":111,"./focusNode":121,"./getActiveElement":123}],68:[function(require,module,exports){ +},{"./ReactDOMSelection":53,"./containsNode":112,"./focusNode":122,"./getActiveElement":124}],69:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -11763,7 +12213,7 @@ var ReactInstanceHandles = { module.exports = ReactInstanceHandles; }).call(this,require('_process')) -},{"./ReactRootIndex":85,"./invariant":137,"_process":158}],69:[function(require,module,exports){ +},{"./ReactRootIndex":86,"./invariant":138,"_process":3}],70:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11812,7 +12262,7 @@ var ReactInstanceMap = { module.exports = ReactInstanceMap; -},{}],70:[function(require,module,exports){ +},{}],71:[function(require,module,exports){ /** * Copyright 2015, Facebook, Inc. * All rights reserved. @@ -11849,7 +12299,7 @@ var ReactLifeCycle = { module.exports = ReactLifeCycle; -},{}],71:[function(require,module,exports){ +},{}],72:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11897,7 +12347,7 @@ var ReactMarkupChecksum = { module.exports = ReactMarkupChecksum; -},{"./adler32":108}],72:[function(require,module,exports){ +},{"./adler32":109}],73:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -12788,7 +13238,7 @@ ReactPerf.measureMethods(ReactMount, 'ReactMount', { module.exports = ReactMount; }).call(this,require('_process')) -},{"./DOMProperty":11,"./ReactBrowserEventEmitter":32,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactElementValidator":60,"./ReactEmptyComponent":61,"./ReactInstanceHandles":68,"./ReactInstanceMap":69,"./ReactMarkupChecksum":71,"./ReactPerf":77,"./ReactReconciler":83,"./ReactUpdateQueue":88,"./ReactUpdates":89,"./containsNode":111,"./emptyObject":117,"./getReactRootElementInContainer":131,"./instantiateReactComponent":136,"./invariant":137,"./setInnerHTML":150,"./shouldUpdateReactComponent":153,"./warning":156,"_process":158}],73:[function(require,module,exports){ +},{"./DOMProperty":12,"./ReactBrowserEventEmitter":33,"./ReactCurrentOwner":42,"./ReactElement":60,"./ReactElementValidator":61,"./ReactEmptyComponent":62,"./ReactInstanceHandles":69,"./ReactInstanceMap":70,"./ReactMarkupChecksum":72,"./ReactPerf":78,"./ReactReconciler":84,"./ReactUpdateQueue":89,"./ReactUpdates":90,"./containsNode":112,"./emptyObject":118,"./getReactRootElementInContainer":132,"./instantiateReactComponent":137,"./invariant":138,"./setInnerHTML":151,"./shouldUpdateReactComponent":154,"./warning":157,"_process":3}],74:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13218,7 +13668,7 @@ var ReactMultiChild = { module.exports = ReactMultiChild; -},{"./ReactChildReconciler":33,"./ReactComponentEnvironment":38,"./ReactMultiChildUpdateTypes":74,"./ReactReconciler":83}],74:[function(require,module,exports){ +},{"./ReactChildReconciler":34,"./ReactComponentEnvironment":39,"./ReactMultiChildUpdateTypes":75,"./ReactReconciler":84}],75:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13251,7 +13701,7 @@ var ReactMultiChildUpdateTypes = keyMirror({ module.exports = ReactMultiChildUpdateTypes; -},{"./keyMirror":142}],75:[function(require,module,exports){ +},{"./keyMirror":143}],76:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -13358,7 +13808,7 @@ var ReactNativeComponent = { module.exports = ReactNativeComponent; }).call(this,require('_process')) -},{"./Object.assign":28,"./invariant":137,"_process":158}],76:[function(require,module,exports){ +},{"./Object.assign":29,"./invariant":138,"_process":3}],77:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13470,7 +13920,7 @@ var ReactOwner = { module.exports = ReactOwner; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],77:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],78:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13574,7 +14024,7 @@ function _noMeasure(objName, fnName, func) { module.exports = ReactPerf; }).call(this,require('_process')) -},{"_process":158}],78:[function(require,module,exports){ +},{"_process":3}],79:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13602,7 +14052,7 @@ if ("production" !== process.env.NODE_ENV) { module.exports = ReactPropTypeLocationNames; }).call(this,require('_process')) -},{"_process":158}],79:[function(require,module,exports){ +},{"_process":3}],80:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13626,7 +14076,7 @@ var ReactPropTypeLocations = keyMirror({ module.exports = ReactPropTypeLocations; -},{"./keyMirror":142}],80:[function(require,module,exports){ +},{"./keyMirror":143}],81:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13975,7 +14425,7 @@ function getPreciseType(propValue) { module.exports = ReactPropTypes; -},{"./ReactElement":59,"./ReactFragment":65,"./ReactPropTypeLocationNames":78,"./emptyFunction":116}],81:[function(require,module,exports){ +},{"./ReactElement":60,"./ReactFragment":66,"./ReactPropTypeLocationNames":79,"./emptyFunction":117}],82:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14031,7 +14481,7 @@ PooledClass.addPoolingTo(ReactPutListenerQueue); module.exports = ReactPutListenerQueue; -},{"./Object.assign":28,"./PooledClass":29,"./ReactBrowserEventEmitter":32}],82:[function(require,module,exports){ +},{"./Object.assign":29,"./PooledClass":30,"./ReactBrowserEventEmitter":33}],83:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14207,7 +14657,7 @@ PooledClass.addPoolingTo(ReactReconcileTransaction); module.exports = ReactReconcileTransaction; -},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactBrowserEventEmitter":32,"./ReactInputSelection":67,"./ReactPutListenerQueue":81,"./Transaction":105}],83:[function(require,module,exports){ +},{"./CallbackQueue":8,"./Object.assign":29,"./PooledClass":30,"./ReactBrowserEventEmitter":33,"./ReactInputSelection":68,"./ReactPutListenerQueue":82,"./Transaction":106}],84:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -14331,7 +14781,7 @@ var ReactReconciler = { module.exports = ReactReconciler; }).call(this,require('_process')) -},{"./ReactElementValidator":60,"./ReactRef":84,"_process":158}],84:[function(require,module,exports){ +},{"./ReactElementValidator":61,"./ReactRef":85,"_process":3}],85:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14402,7 +14852,7 @@ ReactRef.detachRefs = function(instance, element) { module.exports = ReactRef; -},{"./ReactOwner":76}],85:[function(require,module,exports){ +},{"./ReactOwner":77}],86:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14433,7 +14883,7 @@ var ReactRootIndex = { module.exports = ReactRootIndex; -},{}],86:[function(require,module,exports){ +},{}],87:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -14515,7 +14965,7 @@ module.exports = { }; }).call(this,require('_process')) -},{"./ReactElement":59,"./ReactInstanceHandles":68,"./ReactMarkupChecksum":71,"./ReactServerRenderingTransaction":87,"./emptyObject":117,"./instantiateReactComponent":136,"./invariant":137,"_process":158}],87:[function(require,module,exports){ +},{"./ReactElement":60,"./ReactInstanceHandles":69,"./ReactMarkupChecksum":72,"./ReactServerRenderingTransaction":88,"./emptyObject":118,"./instantiateReactComponent":137,"./invariant":138,"_process":3}],88:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -14628,7 +15078,7 @@ PooledClass.addPoolingTo(ReactServerRenderingTransaction); module.exports = ReactServerRenderingTransaction; -},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactPutListenerQueue":81,"./Transaction":105,"./emptyFunction":116}],88:[function(require,module,exports){ +},{"./CallbackQueue":8,"./Object.assign":29,"./PooledClass":30,"./ReactPutListenerQueue":82,"./Transaction":106,"./emptyFunction":117}],89:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -14927,7 +15377,7 @@ var ReactUpdateQueue = { module.exports = ReactUpdateQueue; }).call(this,require('_process')) -},{"./Object.assign":28,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactUpdates":89,"./invariant":137,"./warning":156,"_process":158}],89:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactCurrentOwner":42,"./ReactElement":60,"./ReactInstanceMap":70,"./ReactLifeCycle":71,"./ReactUpdates":90,"./invariant":138,"./warning":157,"_process":3}],90:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -15209,7 +15659,7 @@ var ReactUpdates = { module.exports = ReactUpdates; }).call(this,require('_process')) -},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactCurrentOwner":41,"./ReactPerf":77,"./ReactReconciler":83,"./Transaction":105,"./invariant":137,"./warning":156,"_process":158}],90:[function(require,module,exports){ +},{"./CallbackQueue":8,"./Object.assign":29,"./PooledClass":30,"./ReactCurrentOwner":42,"./ReactPerf":78,"./ReactReconciler":84,"./Transaction":106,"./invariant":138,"./warning":157,"_process":3}],91:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15303,7 +15753,7 @@ var SVGDOMPropertyConfig = { module.exports = SVGDOMPropertyConfig; -},{"./DOMProperty":11}],91:[function(require,module,exports){ +},{"./DOMProperty":12}],92:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15498,7 +15948,7 @@ var SelectEventPlugin = { module.exports = SelectEventPlugin; -},{"./EventConstants":16,"./EventPropagators":21,"./ReactInputSelection":67,"./SyntheticEvent":97,"./getActiveElement":123,"./isTextInputElement":140,"./keyOf":143,"./shallowEqual":152}],92:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPropagators":22,"./ReactInputSelection":68,"./SyntheticEvent":98,"./getActiveElement":124,"./isTextInputElement":141,"./keyOf":144,"./shallowEqual":153}],93:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15529,7 +15979,7 @@ var ServerReactRootIndex = { module.exports = ServerReactRootIndex; -},{}],93:[function(require,module,exports){ +},{}],94:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -15957,7 +16407,7 @@ var SimpleEventPlugin = { module.exports = SimpleEventPlugin; }).call(this,require('_process')) -},{"./EventConstants":16,"./EventPluginUtils":20,"./EventPropagators":21,"./SyntheticClipboardEvent":94,"./SyntheticDragEvent":96,"./SyntheticEvent":97,"./SyntheticFocusEvent":98,"./SyntheticKeyboardEvent":100,"./SyntheticMouseEvent":101,"./SyntheticTouchEvent":102,"./SyntheticUIEvent":103,"./SyntheticWheelEvent":104,"./getEventCharCode":124,"./invariant":137,"./keyOf":143,"./warning":156,"_process":158}],94:[function(require,module,exports){ +},{"./EventConstants":17,"./EventPluginUtils":21,"./EventPropagators":22,"./SyntheticClipboardEvent":95,"./SyntheticDragEvent":97,"./SyntheticEvent":98,"./SyntheticFocusEvent":99,"./SyntheticKeyboardEvent":101,"./SyntheticMouseEvent":102,"./SyntheticTouchEvent":103,"./SyntheticUIEvent":104,"./SyntheticWheelEvent":105,"./getEventCharCode":125,"./invariant":138,"./keyOf":144,"./warning":157,"_process":3}],95:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16002,7 +16452,7 @@ SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface); module.exports = SyntheticClipboardEvent; -},{"./SyntheticEvent":97}],95:[function(require,module,exports){ +},{"./SyntheticEvent":98}],96:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16047,7 +16497,7 @@ SyntheticEvent.augmentClass( module.exports = SyntheticCompositionEvent; -},{"./SyntheticEvent":97}],96:[function(require,module,exports){ +},{"./SyntheticEvent":98}],97:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16086,7 +16536,7 @@ SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface); module.exports = SyntheticDragEvent; -},{"./SyntheticMouseEvent":101}],97:[function(require,module,exports){ +},{"./SyntheticMouseEvent":102}],98:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16252,7 +16702,7 @@ PooledClass.addPoolingTo(SyntheticEvent, PooledClass.threeArgumentPooler); module.exports = SyntheticEvent; -},{"./Object.assign":28,"./PooledClass":29,"./emptyFunction":116,"./getEventTarget":127}],98:[function(require,module,exports){ +},{"./Object.assign":29,"./PooledClass":30,"./emptyFunction":117,"./getEventTarget":128}],99:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16291,7 +16741,7 @@ SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface); module.exports = SyntheticFocusEvent; -},{"./SyntheticUIEvent":103}],99:[function(require,module,exports){ +},{"./SyntheticUIEvent":104}],100:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16337,7 +16787,7 @@ SyntheticEvent.augmentClass( module.exports = SyntheticInputEvent; -},{"./SyntheticEvent":97}],100:[function(require,module,exports){ +},{"./SyntheticEvent":98}],101:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16424,7 +16874,7 @@ SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface); module.exports = SyntheticKeyboardEvent; -},{"./SyntheticUIEvent":103,"./getEventCharCode":124,"./getEventKey":125,"./getEventModifierState":126}],101:[function(require,module,exports){ +},{"./SyntheticUIEvent":104,"./getEventCharCode":125,"./getEventKey":126,"./getEventModifierState":127}],102:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16505,7 +16955,7 @@ SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; -},{"./SyntheticUIEvent":103,"./ViewportMetrics":106,"./getEventModifierState":126}],102:[function(require,module,exports){ +},{"./SyntheticUIEvent":104,"./ViewportMetrics":107,"./getEventModifierState":127}],103:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16553,7 +17003,7 @@ SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface); module.exports = SyntheticTouchEvent; -},{"./SyntheticUIEvent":103,"./getEventModifierState":126}],103:[function(require,module,exports){ +},{"./SyntheticUIEvent":104,"./getEventModifierState":127}],104:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16615,7 +17065,7 @@ SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; -},{"./SyntheticEvent":97,"./getEventTarget":127}],104:[function(require,module,exports){ +},{"./SyntheticEvent":98,"./getEventTarget":128}],105:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16676,7 +17126,7 @@ SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface); module.exports = SyntheticWheelEvent; -},{"./SyntheticMouseEvent":101}],105:[function(require,module,exports){ +},{"./SyntheticMouseEvent":102}],106:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -16917,7 +17367,7 @@ var Transaction = { module.exports = Transaction; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],106:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],107:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16946,7 +17396,7 @@ var ViewportMetrics = { module.exports = ViewportMetrics; -},{}],107:[function(require,module,exports){ +},{}],108:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -17012,7 +17462,7 @@ function accumulateInto(current, next) { module.exports = accumulateInto; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],108:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],109:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17046,7 +17496,7 @@ function adler32(data) { module.exports = adler32; -},{}],109:[function(require,module,exports){ +},{}],110:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17078,7 +17528,7 @@ function camelize(string) { module.exports = camelize; -},{}],110:[function(require,module,exports){ +},{}],111:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -17120,7 +17570,7 @@ function camelizeStyleName(string) { module.exports = camelizeStyleName; -},{"./camelize":109}],111:[function(require,module,exports){ +},{"./camelize":110}],112:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17164,7 +17614,7 @@ function containsNode(outerNode, innerNode) { module.exports = containsNode; -},{"./isTextNode":141}],112:[function(require,module,exports){ +},{"./isTextNode":142}],113:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17250,7 +17700,7 @@ function createArrayFromMixed(obj) { module.exports = createArrayFromMixed; -},{"./toArray":154}],113:[function(require,module,exports){ +},{"./toArray":155}],114:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17312,7 +17762,7 @@ function createFullPageComponent(tag) { module.exports = createFullPageComponent; }).call(this,require('_process')) -},{"./ReactClass":35,"./ReactElement":59,"./invariant":137,"_process":158}],114:[function(require,module,exports){ +},{"./ReactClass":36,"./ReactElement":60,"./invariant":138,"_process":3}],115:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17402,7 +17852,7 @@ function createNodesFromMarkup(markup, handleScript) { module.exports = createNodesFromMarkup; }).call(this,require('_process')) -},{"./ExecutionEnvironment":22,"./createArrayFromMixed":112,"./getMarkupWrap":129,"./invariant":137,"_process":158}],115:[function(require,module,exports){ +},{"./ExecutionEnvironment":23,"./createArrayFromMixed":113,"./getMarkupWrap":130,"./invariant":138,"_process":3}],116:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17460,7 +17910,7 @@ function dangerousStyleValue(name, value) { module.exports = dangerousStyleValue; -},{"./CSSProperty":5}],116:[function(require,module,exports){ +},{"./CSSProperty":6}],117:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17494,7 +17944,7 @@ emptyFunction.thatReturnsArgument = function(arg) { return arg; }; module.exports = emptyFunction; -},{}],117:[function(require,module,exports){ +},{}],118:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17518,7 +17968,7 @@ if ("production" !== process.env.NODE_ENV) { module.exports = emptyObject; }).call(this,require('_process')) -},{"_process":158}],118:[function(require,module,exports){ +},{"_process":3}],119:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17558,7 +18008,7 @@ function escapeTextContentForBrowser(text) { module.exports = escapeTextContentForBrowser; -},{}],119:[function(require,module,exports){ +},{}],120:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17631,7 +18081,7 @@ function findDOMNode(componentOrElement) { module.exports = findDOMNode; }).call(this,require('_process')) -},{"./ReactCurrentOwner":41,"./ReactInstanceMap":69,"./ReactMount":72,"./invariant":137,"./isNode":139,"./warning":156,"_process":158}],120:[function(require,module,exports){ +},{"./ReactCurrentOwner":42,"./ReactInstanceMap":70,"./ReactMount":73,"./invariant":138,"./isNode":140,"./warning":157,"_process":3}],121:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17689,7 +18139,7 @@ function flattenChildren(children) { module.exports = flattenChildren; }).call(this,require('_process')) -},{"./traverseAllChildren":155,"./warning":156,"_process":158}],121:[function(require,module,exports){ +},{"./traverseAllChildren":156,"./warning":157,"_process":3}],122:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -17718,7 +18168,7 @@ function focusNode(node) { module.exports = focusNode; -},{}],122:[function(require,module,exports){ +},{}],123:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17749,7 +18199,7 @@ var forEachAccumulated = function(arr, cb, scope) { module.exports = forEachAccumulated; -},{}],123:[function(require,module,exports){ +},{}],124:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17778,7 +18228,7 @@ function getActiveElement() /*?DOMElement*/ { module.exports = getActiveElement; -},{}],124:[function(require,module,exports){ +},{}],125:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17830,7 +18280,7 @@ function getEventCharCode(nativeEvent) { module.exports = getEventCharCode; -},{}],125:[function(require,module,exports){ +},{}],126:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17935,7 +18385,7 @@ function getEventKey(nativeEvent) { module.exports = getEventKey; -},{"./getEventCharCode":124}],126:[function(require,module,exports){ +},{"./getEventCharCode":125}],127:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17982,7 +18432,7 @@ function getEventModifierState(nativeEvent) { module.exports = getEventModifierState; -},{}],127:[function(require,module,exports){ +},{}],128:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18013,7 +18463,7 @@ function getEventTarget(nativeEvent) { module.exports = getEventTarget; -},{}],128:[function(require,module,exports){ +},{}],129:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18057,7 +18507,7 @@ function getIteratorFn(maybeIterable) { module.exports = getIteratorFn; -},{}],129:[function(require,module,exports){ +},{}],130:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18176,7 +18626,7 @@ function getMarkupWrap(nodeName) { module.exports = getMarkupWrap; }).call(this,require('_process')) -},{"./ExecutionEnvironment":22,"./invariant":137,"_process":158}],130:[function(require,module,exports){ +},{"./ExecutionEnvironment":23,"./invariant":138,"_process":3}],131:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18251,7 +18701,7 @@ function getNodeForCharacterOffset(root, offset) { module.exports = getNodeForCharacterOffset; -},{}],131:[function(require,module,exports){ +},{}],132:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18286,7 +18736,7 @@ function getReactRootElementInContainer(container) { module.exports = getReactRootElementInContainer; -},{}],132:[function(require,module,exports){ +},{}],133:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18323,7 +18773,7 @@ function getTextContentAccessor() { module.exports = getTextContentAccessor; -},{"./ExecutionEnvironment":22}],133:[function(require,module,exports){ +},{"./ExecutionEnvironment":23}],134:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18363,7 +18813,7 @@ function getUnboundedScrollPosition(scrollable) { module.exports = getUnboundedScrollPosition; -},{}],134:[function(require,module,exports){ +},{}],135:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18396,7 +18846,7 @@ function hyphenate(string) { module.exports = hyphenate; -},{}],135:[function(require,module,exports){ +},{}],136:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18437,7 +18887,7 @@ function hyphenateStyleName(string) { module.exports = hyphenateStyleName; -},{"./hyphenate":134}],136:[function(require,module,exports){ +},{"./hyphenate":135}],137:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18575,7 +19025,7 @@ function instantiateReactComponent(node, parentCompositeType) { module.exports = instantiateReactComponent; }).call(this,require('_process')) -},{"./Object.assign":28,"./ReactCompositeComponent":39,"./ReactEmptyComponent":61,"./ReactNativeComponent":75,"./invariant":137,"./warning":156,"_process":158}],137:[function(require,module,exports){ +},{"./Object.assign":29,"./ReactCompositeComponent":40,"./ReactEmptyComponent":62,"./ReactNativeComponent":76,"./invariant":138,"./warning":157,"_process":3}],138:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18632,7 +19082,7 @@ var invariant = function(condition, format, a, b, c, d, e, f) { module.exports = invariant; }).call(this,require('_process')) -},{"_process":158}],138:[function(require,module,exports){ +},{"_process":3}],139:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18697,7 +19147,7 @@ function isEventSupported(eventNameSuffix, capture) { module.exports = isEventSupported; -},{"./ExecutionEnvironment":22}],139:[function(require,module,exports){ +},{"./ExecutionEnvironment":23}],140:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18724,7 +19174,7 @@ function isNode(object) { module.exports = isNode; -},{}],140:[function(require,module,exports){ +},{}],141:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18767,7 +19217,7 @@ function isTextInputElement(elem) { module.exports = isTextInputElement; -},{}],141:[function(require,module,exports){ +},{}],142:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18792,7 +19242,7 @@ function isTextNode(object) { module.exports = isTextNode; -},{"./isNode":139}],142:[function(require,module,exports){ +},{"./isNode":140}],143:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18847,7 +19297,7 @@ var keyMirror = function(obj) { module.exports = keyMirror; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],143:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],144:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18883,7 +19333,7 @@ var keyOf = function(oneKeyObj) { module.exports = keyOf; -},{}],144:[function(require,module,exports){ +},{}],145:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18936,7 +19386,7 @@ function mapObject(object, callback, context) { module.exports = mapObject; -},{}],145:[function(require,module,exports){ +},{}],146:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18969,7 +19419,7 @@ function memoizeStringOnly(callback) { module.exports = memoizeStringOnly; -},{}],146:[function(require,module,exports){ +},{}],147:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -19009,7 +19459,7 @@ function onlyChild(children) { module.exports = onlyChild; }).call(this,require('_process')) -},{"./ReactElement":59,"./invariant":137,"_process":158}],147:[function(require,module,exports){ +},{"./ReactElement":60,"./invariant":138,"_process":3}],148:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19037,7 +19487,7 @@ if (ExecutionEnvironment.canUseDOM) { module.exports = performance || {}; -},{"./ExecutionEnvironment":22}],148:[function(require,module,exports){ +},{"./ExecutionEnvironment":23}],149:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19065,7 +19515,7 @@ var performanceNow = performance.now.bind(performance); module.exports = performanceNow; -},{"./performance":147}],149:[function(require,module,exports){ +},{"./performance":148}],150:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19093,7 +19543,7 @@ function quoteAttributeValueForBrowser(value) { module.exports = quoteAttributeValueForBrowser; -},{"./escapeTextContentForBrowser":118}],150:[function(require,module,exports){ +},{"./escapeTextContentForBrowser":119}],151:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19182,7 +19632,7 @@ if (ExecutionEnvironment.canUseDOM) { module.exports = setInnerHTML; -},{"./ExecutionEnvironment":22}],151:[function(require,module,exports){ +},{"./ExecutionEnvironment":23}],152:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19224,7 +19674,7 @@ if (ExecutionEnvironment.canUseDOM) { module.exports = setTextContent; -},{"./ExecutionEnvironment":22,"./escapeTextContentForBrowser":118,"./setInnerHTML":150}],152:[function(require,module,exports){ +},{"./ExecutionEnvironment":23,"./escapeTextContentForBrowser":119,"./setInnerHTML":151}],153:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19268,7 +19718,7 @@ function shallowEqual(objA, objB) { module.exports = shallowEqual; -},{}],153:[function(require,module,exports){ +},{}],154:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -19372,7 +19822,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) { module.exports = shouldUpdateReactComponent; }).call(this,require('_process')) -},{"./warning":156,"_process":158}],154:[function(require,module,exports){ +},{"./warning":157,"_process":3}],155:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -19444,7 +19894,7 @@ function toArray(obj) { module.exports = toArray; }).call(this,require('_process')) -},{"./invariant":137,"_process":158}],155:[function(require,module,exports){ +},{"./invariant":138,"_process":3}],156:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -19697,7 +20147,7 @@ function traverseAllChildren(children, callback, traverseContext) { module.exports = traverseAllChildren; }).call(this,require('_process')) -},{"./ReactElement":59,"./ReactFragment":65,"./ReactInstanceHandles":68,"./getIteratorFn":128,"./invariant":137,"./warning":156,"_process":158}],156:[function(require,module,exports){ +},{"./ReactElement":60,"./ReactFragment":66,"./ReactInstanceHandles":69,"./getIteratorFn":129,"./invariant":138,"./warning":157,"_process":3}],157:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -19760,99 +20210,7 @@ if ("production" !== process.env.NODE_ENV) { module.exports = warning; }).call(this,require('_process')) -},{"./emptyFunction":116,"_process":158}],157:[function(require,module,exports){ +},{"./emptyFunction":117,"_process":3}],158:[function(require,module,exports){ module.exports = require('./lib/React'); -},{"./lib/React":30}],158:[function(require,module,exports){ -// shim for using process in browser - -var process = module.exports = {}; -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = setTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - currentQueue[queueIndex].run(); - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - clearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - setTimeout(drainQueue, 0); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -// TODO(shtylman) -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}]},{},[2]); +},{"./lib/React":31}]},{},[2]); diff --git a/package.json b/package.json index e4984ac..ee64df7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-avatar-editor", - "version": "1.3.6", + "version": "1.4.6", "description": "Facebook like avatar / profile picture component. Resize and crop your uploaded image using a intuitive user interface.", "main": "dist/index.js", "scripts": {