       @setHSLAFromColorString(colorString)
   componentWillUnmount: -> @unsubscribe()
 
-  setHSLAFromColorString: (c) ->
+  setHSLAFromColorString: (c, forceSat=false) ->
     hsla = parseHSLAString(c)
-    alpha = hsla.alpha or @state.alpha
-    sat = hsla.sat or @state.sat
-    @setState({hsla, alpha, sat})
+    if hsla
+      @setState({hsla, alpha: hsla.alpha, sat: hsla.sat})
+    else
+      @setState({hsla: null})
 
   closePicker: -> @setState({isPickerVisible: false})
   togglePicker: ->

        onMouseDown: start
        onMouseUp: stop
        onMouseLeave: stop
      },
      (div {style: {
        position: 'absolute', top: lineM, right: lineM, bottom: lineM, left: lineM,
        backgroundColor: 'black', borderRadius: lineH / 2}},
        (div {style: {
          borderRadius: rad,

      renderColor()
      renderLabel("alpha")
      (Slider {
        value: @state.alpha,
        onChange: (newValue) => @setAlpha(newValue)
      }),
      renderLabel("saturation")
      (Slider {
        value: @state.sat, max: 100,
        onChange: (newValue) => @setSat(newValue)
      }),
      (ColorGrid {rows, selectedColor: @state.colorString, onChange: onSelectColor})
