     let componentSeparateWidth: CGFloat = 5.0
     
     var labels: [UILabel] = []
+    
+    public weak var labelPickerDelegate: LabelPickerViewDelegate?
     
     public var components: [LabelPickerComponent] = [] {
         didSet {

        return componentView
    }
    
    func itemLabelFrame(of component: LabelPickerComponent) -> CGRect {
        return CGRect(
            x: componentSidePadding(of: component),


import UIKit

public protocol LabelPickerViewDelegate: AnyObject {
    func didSelect(item: String, inComponent component: Int, currentItems: [String])
}

public class LabelPickerView: UIPickerView {
    
    public enum Spacing {
