 
     func textViewDidEndEditing(_ textView: UITextView) {
         _delegate?.textViewDidEndEditing?(textView)
-        clearButton.isHidden = true
+        setClearButtonHidden(true)
     }
 
     func textViewShouldEndEditing(_ textView: UITextView) -> Bool {

    @objc private func clear() {
        text = nil
    }
}

extension ThemeableTextView: UITextViewDelegate {
    func textViewDidChange(_ textView: UITextView) {
        _delegate?.textViewDidChange?(textView)
        clearButton.isHidden = textView.text.isEmpty
    }

    func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {


    func textViewDidBeginEditing(_ textView: UITextView) {
        _delegate?.textViewDidBeginEditing?(textView)
        setClearButtonHidden(textView.text.isEmpty)
    }

    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        return _delegate?.textView?(textView, shouldChangeTextIn: range, replacementText: text) ?? true
    }

