Merge afb-client
[src/app-framework-demo.git] / afb-client / bower_components / tether / coffee / shift.coffee
diff --git a/afb-client/bower_components/tether/coffee/shift.coffee b/afb-client/bower_components/tether/coffee/shift.coffee
new file mode 100644 (file)
index 0000000..4dede41
--- /dev/null
@@ -0,0 +1,27 @@
+@Tether.modules.push
+  position: ({top, left}) ->
+    return unless @options.shift
+
+    result = (val) ->
+      if typeof val is 'function'
+        val.call @, {top, left}
+      else
+        val
+
+    shift = result @options.shift
+
+    if typeof shift is 'string'
+      shift = shift.split(' ')
+      shift[1] or= shift[0]
+
+      [shiftTop, shiftLeft] = shift
+
+      shiftTop = parseFloat shiftTop, 10
+      shiftLeft = parseFloat shiftLeft, 10
+    else
+      [shiftTop, shiftLeft] = [shift.top, shift.left]
+
+    top += shiftTop
+    left += shiftLeft
+
+    {top, left}