 	var color: UIColor
 	///The indicator's top constraint
 	var topConstraint = NSLayoutConstraint()
-	///The indicator's horizontal constraint
-	var horizontalConstraint = NSLayoutConstraint()
+	///The indicator's leading/left constraint.
+	///Depending on the edge, the priority will be switched w/ trailingConstraint
+	var leadingConstraint = NSLayoutConstraint()
+	///The indicator's trailing/right constraint.
+	///Depending on the edge, the priority will be switched w/ leadingConstraint
+	var trailingConstraint = NSLayoutConstraint()
 	///The icon's view
 	var iconView: CariocaIconView
 	///The border space.

							   toItem: nil, attribute: .notAnAttribute,
							   multiplier: 1, constant: frame.size.height),
			topConstraint,
			horizontalConstraint
			])
	}

	///Create the horizontal constraint
	///- Parameter tableView: The menu's tableView
	///- Parameter layoutAttribute: The layoutAttribute for the constraint
	///- Returns: NSLayoutConstraint the horizontal constraint
	private func makeHorizontalConstraint(_ hostView: UIView,
										  attribute: NSLayoutAttribute,
										  constant: CGFloat = 0.0) -> NSLayoutConstraint {
		return NSLayoutConstraint(item: self,
								  attribute: attribute,
								  relatedBy: .equal,
								  toItem: hostView,
								  attribute: attribute,
								  multiplier: 1,
								  constant: constant)
	}

	///Draws the shape, depending on the edge.

										  edge: edge,
										  borderSpace: borderSpace,
										  bouncingValues: bouncingValues)
		print(positions)
		let mainConstraint = edge == .left ? leadingConstraint : trailingConstraint
		let secondConstraint = edge == .left ? trailingConstraint : leadingConstraint
		mainConstraint.priority = UILayoutPriority(100.0)
		secondConstraint.priority = UILayoutPriority(50.0)
		mainConstraint.constant = positions.start
//		self.superview?.layoutIfNeeded()
//
//		horizontalConstraint.constant = beforeEndPosition
//		UIView.animate(withDuration: 0.2,
//					   delay: 0,
//					   options: [.curveEaseIn],
//					   animations: {
//						self.superview?.layoutIfNeeded()
//		}, completion: { _ in
//			self.horizontalConstraint.constant = endPosition
//			UIView.animate(withDuration: 0.3,
//						   delay: 0,
//						   options: [.curveEaseOut],
//						   animations: {
//							self.superview?.layoutIfNeeded()
//			}, completion: { _ in
//				//TODO: Apply new constraint constant
//				//change priority
//			})
//		})
	}

	///Move the indicator to a specific index, by updating the top constraint value
