     accept: 'image/*'
     maxSize: Infinity # In bytes
     ratio: NaN # Width / height
+    defaultValue: ''
     placeholder: ''
-    quality: 0.8 # For JPEGs
-    minArea: 100 # Stop reducing when there are fewer than this many pixels.
+    minArea: 300 # Stop reducing when there are fewer than this many pixels.
     reductionPerPass: 0.05
     onChange: Function.prototype # No-op
 
   getInitialState: ->
     working: false
     dataURL: ''
-    format: ''
-    size: NaN
 
   render: ->
     <span className="image-selector">

LoadingIndicator = require './loading-indicator'
toBlob = require 'data-uri-to-blob'

BASE_64_PNG_HEAD = 'data:image/png;base64,'
BASE_64_JPEG_HEAD = 'data:image/jpeg;base64,'
BASE_64_EXPANSION = 3 / 4

module.exports = React.createClass
  displayName: 'ImageSelector'

    ctx.drawImage srcImg, (srcImg.naturalWidth - canvas.width) / -2, (srcImg.naturalHeight - canvas.height) / -2

    croppedImg = new Image
    croppedImg.onload = =>
      @reduceImage croppedImg, srcFile
    croppedImg.src = canvas.toDataURL()

  reduceImage: (img, srcFile, _scale = 1) ->
    canvas = document.createElement 'canvas'
    canvas.width = img.naturalWidth * _scale
    canvas.height = img.naturalHeight * _scale
