 
   func setupInputViewData() {
     
+    let bundle = Bundle.imuiInputViewBundle()
+    self.register(UINib(nibName: "IMUIFeatureListIconCell", bundle: bundle), in: .bottom, forCellWithReuseIdentifier: "IMUIFeatureListIconCell")
+    self.register(UINib(nibName: "IMUIFeatureListIconCell", bundle: bundle), in: .right, forCellWithReuseIdentifier: "IMUIFeatureListIconCell")
+    
+    
+    self.registerForFeatureView(UINib(nibName: "IMUIRecordVoiceCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIRecordVoiceCell")
+    self.registerForFeatureView(UINib(nibName: "IMUIGalleryContainerCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIGalleryContainerCell")
+
+    registerForFeatureView(IMUIEmptyContainerCell.self, forCellWithReuseIdentifier: "IMUIEmptyContainerCell")
+    
+    self.registerForFeatureView(UINib(nibName: "IMUICameraCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUICameraCell")
+    self.registerForFeatureView(UINib(nibName: "IMUIEmojiCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIEmojiCell")
     
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .voice,
                                                        UIImage.imuiImage(with: "input_item_mic"),
                                                        UIImage.imuiImage(with:"input_item_mic")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .gallery,
                                                        UIImage.imuiImage(with: "input_item_photo"),
                                                        UIImage.imuiImage(with:"input_item_photo")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .camera,
                                                        UIImage.imuiImage(with: "input_item_camera"),
                                                        UIImage.imuiImage(with:"input_item_camera")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .emoji,
                                                       UIImage.imuiImage(with: "input_item_emoji"),
                                                       UIImage.imuiImage(with:"input_item_emoji")))

  public func imuiInputView(_ inputBarItemListView: UICollectionView, numberForItemAt position: IMUIInputViewItemPosition) -> Int {
    switch position {
    case .right:
      return self.inputBarItemData.right.count
    case .left:
      return self.inputBarItemData.left.count
    case .bottom:
      return self.inputBarItemData.bottom.count
    }
  }
  

  
  public func textDidChange(text: String) {
    self.updateSendBtnToPhotoSendStatus()
  }
  
  public func keyBoardWillShow(height: CGFloat, durationTime: Double) {
