/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaDelegate.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ColorPropConverter;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;

public class EnrichedTextInputViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & EnrichedTextInputViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
  public EnrichedTextInputViewManagerDelegate(U viewManager) {
    super(viewManager);
  }
  @Override
  public void setProperty(T view, String propName, @Nullable Object value) {
    switch (propName) {
      case "autoFocus":
        mViewManager.setAutoFocus(view, value == null ? false : (boolean) value);
        break;
      case "editable":
        mViewManager.setEditable(view, value == null ? false : (boolean) value);
        break;
      case "defaultValue":
        mViewManager.setDefaultValue(view, value == null ? null : (String) value);
        break;
      case "placeholder":
        mViewManager.setPlaceholder(view, value == null ? null : (String) value);
        break;
      case "placeholderTextColor":
        mViewManager.setPlaceholderTextColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "mentionIndicators":
        mViewManager.setMentionIndicators(view, (ReadableArray) value);
        break;
      case "cursorColor":
        mViewManager.setCursorColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "selectionColor":
        mViewManager.setSelectionColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "autoCapitalize":
        mViewManager.setAutoCapitalize(view, value == null ? null : (String) value);
        break;
      case "htmlStyle":
        mViewManager.setHtmlStyle(view, (ReadableMap) value);
        break;
      case "scrollEnabled":
        mViewManager.setScrollEnabled(view, value == null ? false : (boolean) value);
        break;
      case "linkRegex":
        mViewManager.setLinkRegex(view, (ReadableMap) value);
        break;
      case "contextMenuItems":
        mViewManager.setContextMenuItems(view, (ReadableArray) value);
        break;
      case "textShortcuts":
        mViewManager.setTextShortcuts(view, (ReadableArray) value);
        break;
      case "returnKeyType":
        mViewManager.setReturnKeyType(view, value == null ? null : (String) value);
        break;
      case "returnKeyLabel":
        mViewManager.setReturnKeyLabel(view, value == null ? null : (String) value);
        break;
      case "submitBehavior":
        mViewManager.setSubmitBehavior(view, value == null ? null : (String) value);
        break;
      case "allowFontScaling":
        mViewManager.setAllowFontScaling(view, value == null ? false : (boolean) value);
        break;
      case "color":
        mViewManager.setColor(view, ColorPropConverter.getColor(value, view.getContext()));
        break;
      case "fontSize":
        mViewManager.setFontSize(view, value == null ? 0f : ((Double) value).floatValue());
        break;
      case "lineHeight":
        mViewManager.setLineHeight(view, value == null ? 0f : ((Double) value).floatValue());
        break;
      case "fontFamily":
        mViewManager.setFontFamily(view, value == null ? null : (String) value);
        break;
      case "fontWeight":
        mViewManager.setFontWeight(view, value == null ? null : (String) value);
        break;
      case "fontStyle":
        mViewManager.setFontStyle(view, value == null ? null : (String) value);
        break;
      case "isOnChangeHtmlSet":
        mViewManager.setIsOnChangeHtmlSet(view, value == null ? false : (boolean) value);
        break;
      case "isOnChangeTextSet":
        mViewManager.setIsOnChangeTextSet(view, value == null ? false : (boolean) value);
        break;
      case "androidExperimentalSynchronousEvents":
        mViewManager.setAndroidExperimentalSynchronousEvents(view, value == null ? false : (boolean) value);
        break;
      case "useHtmlNormalizer":
        mViewManager.setUseHtmlNormalizer(view, value == null ? false : (boolean) value);
        break;
      default:
        super.setProperty(view, propName, value);
    }
  }

  @Override
  public void receiveCommand(T view, String commandName, ReadableArray args) {
    switch (commandName) {
      case "focus":
        mViewManager.focus(view);
        break;
      case "blur":
        mViewManager.blur(view);
        break;
      case "setValue":
        mViewManager.setValue(view, args.getString(0));
        break;
      case "setSelection":
        mViewManager.setSelection(view, args.getInt(0), args.getInt(1));
        break;
      case "toggleBold":
        mViewManager.toggleBold(view);
        break;
      case "toggleItalic":
        mViewManager.toggleItalic(view);
        break;
      case "toggleUnderline":
        mViewManager.toggleUnderline(view);
        break;
      case "toggleStrikeThrough":
        mViewManager.toggleStrikeThrough(view);
        break;
      case "toggleInlineCode":
        mViewManager.toggleInlineCode(view);
        break;
      case "toggleH1":
        mViewManager.toggleH1(view);
        break;
      case "toggleH2":
        mViewManager.toggleH2(view);
        break;
      case "toggleH3":
        mViewManager.toggleH3(view);
        break;
      case "toggleH4":
        mViewManager.toggleH4(view);
        break;
      case "toggleH5":
        mViewManager.toggleH5(view);
        break;
      case "toggleH6":
        mViewManager.toggleH6(view);
        break;
      case "toggleCodeBlock":
        mViewManager.toggleCodeBlock(view);
        break;
      case "toggleBlockQuote":
        mViewManager.toggleBlockQuote(view);
        break;
      case "toggleOrderedList":
        mViewManager.toggleOrderedList(view);
        break;
      case "toggleUnorderedList":
        mViewManager.toggleUnorderedList(view);
        break;
      case "toggleCheckboxList":
        mViewManager.toggleCheckboxList(view, args.getBoolean(0));
        break;
      case "addLink":
        mViewManager.addLink(view, args.getInt(0), args.getInt(1), args.getString(2), args.getString(3));
        break;
      case "removeLink":
        mViewManager.removeLink(view, args.getInt(0), args.getInt(1));
        break;
      case "addImage":
        mViewManager.addImage(view, args.getString(0), (float) args.getDouble(1), (float) args.getDouble(2));
        break;
      case "startMention":
        mViewManager.startMention(view, args.getString(0));
        break;
      case "addMention":
        mViewManager.addMention(view, args.getString(0), args.getString(1), args.getString(2));
        break;
      case "requestHTML":
        mViewManager.requestHTML(view, args.getInt(0));
        break;
      case "setTextAlignment":
        mViewManager.setTextAlignment(view, args.getString(0));
        break;
    }
  }
}
