     set(value) {
       guard value else {
         visibilityIconButton?.removeTarget(self, action: #selector(handleVisibilityIconButton), for: .touchUpInside)
+        removeFromRightView(view: visibilityIconButton)
         visibilityIconButton = nil
         return
       }

      updateVisibilityIcon()
      visibilityIconButton!.contentEdgeInsetsPreset = .none
      visibilityIconButton!.pulseAnimation = .centerRadialBeyondBounds
      clearButtonMode = .never
      rightViewMode = .whileEditing
      rightView = visibilityIconButton
      isVisibilityIconButtonAutoHandled = { isVisibilityIconButtonAutoHandled }()
      
      layoutSubviews()

      clearIconButton = IconButton(image: Icon.cm.clear, tintColor: placeholderNormalColor)
      clearIconButton!.contentEdgeInsetsPreset = .none
      clearIconButton!.pulseAnimation = .none

      rightView?.grid.views.insert(clearIconButton!, at: 0)
      isClearIconButtonAutoHandled = { isClearIconButtonAutoHandled }()
      
      layoutSubviews()
