       start: "@"
       step: "@"
       end: "@"
+      live: "@"
       ngModel: "="
       ngFrom: "="
       ngTo: "="

      else
        parsedValue = null

        slider.noUiSlider(
          range: [scope.start, scope.end],
          start: scope.ngModel or scope.start,
          step: scope.step or 1
          handles: 1
          slide: ->
            parsedValue = slider.val()

            scope.$apply(->
              scope.ngModel = parseFloat parsedValue
            )
        )

        scope.$watch('ngModel', (newVal, oldVal) ->
          if newVal isnt parsedValue

    link: (scope, element, attrs) ->
      slider = $(element)

      callbackType = if scope.live then 'slide' else 'set'

      if scope.ngFrom? and scope.ngTo?
        fromParsed = null
        toParsed = null

        config =
          range: [scope.start, scope.end]
          start: [scope.ngFrom or scope.start, scope.ngTo or scope.end]
          step: scope.step or 1
          connect: true
        config[callbackType] = ->
            [from, to] = slider.val()

            fromParsed = parseFloat from
