     /// - parameter title: Alert title
     /// - parameter message: Alert message
     /// - parameter placeholder: Text field placeholder
+    /// - parameter onCancel: Cancel button click closure. Default is `nil` - no action.
     /// - parameter completion: Closure that takes user entered text as parameter
-    open func showEnterTextAlert(title: String? = nil, message: String? = nil, text: String? = nil, placeholder: String? = nil, completion: @escaping (_ text: String) -> ()) {
+    open func showEnterTextAlert(title: String? = nil, message: String? = nil, text: String? = nil, placeholder: String? = nil, onCancel: ((UIAlertAction) -> Void)? = nil, completion: @escaping (_ text: String) -> ()) {
         
         performInMain {
             let alertVC = AlertController(title: title, message: message, preferredStyle: .alert)

            
            let vc = AlertController(title: title, message: message, preferredStyle: .actionSheet)
            
            let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
            vc.addAction(cancel)
            
            for (index, button) in buttons.enumerated() {

                let text = alertVC.textFields?.first?.text ?? ""
                completion(text)
            }
            let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: onCancel)
            
            alertVC.addTextField { (textField) in
                textField.text = text
