         }
     }
     
+    /// How to vertically align the label within the button. Defaults to `.center`.
+    ///
+    /// - Note: This will only apply when the button is larger than
+    /// the required intrinsic height. If the bar sizes itself intrinsically,
+    /// setting this paramter will have no effect.
+    open var verticalAlignment: VerticalAlignment = .center {
+        didSet {
+            updateAlignmentConstraints()
+        }
+    }
+    private var labelTopConstraint: NSLayoutConstraint?
+    private var labelCenterConstraint: NSLayoutConstraint?
+    private var labelBottomConstraint: NSLayoutConstraint?
+    
     // MARK: Lifecycle
     
     open override func layout(in view: UIView) {

        badgeContainer.translatesAutoresizingMaskIntoConstraints = false
        let badgeContainerLeading = badgeContainer.leadingAnchor.constraint(equalTo: label.trailingAnchor)
        let badgeContainerWidth = badgeContainer.widthAnchor.constraint(equalToConstant: 0.0)
        let constraints = [
            label.leadingAnchor.constraint(equalTo: view.leadingAnchor),
            label.topAnchor.constraint(greaterThanOrEqualTo: view.topAnchor),
            view.bottomAnchor.constraint(greaterThanOrEqualTo: label.bottomAnchor),
            label.centerYAnchor.constraint(equalTo: view.centerYAnchor),
            badgeContainerLeading,
            badgeContainer.topAnchor.constraint(equalTo: view.topAnchor),
            view.trailingAnchor.constraint(equalTo: badgeContainer.trailingAnchor),

        ]
        self.badgeContainerLeading = badgeContainerLeading
        self.badgeContainerWidth = badgeContainerWidth
        
        self.labelCenterConstraint = labelCenterConstraint
        self.labelTopConstraint = label.topAnchor.constraint(equalTo: view.topAnchor)
        self.labelBottomConstraint = view.bottomAnchor.constraint(equalTo: label.bottomAnchor)
        
        NSLayoutConstraint.activate(constraints)
        
