react-native-mentionable-textinput

1.2.0 • Public • Published

react-native-mentionable-textinput

ReactNative TextInput with enhanced capabilities for mentions

CircleCI

Installation

npm install react-native-mentionable-textinput
npm install react-native-device-info # Needed to fix a well-known textinput bug on Xiaomi family devices
cd ios; pod install ## Needed to link react-native-device-info

Usage

import { TextInputMention } from "react-native-mentionable-textinput";

// ...

<TextInputMention
    mentionsTypes={[
      {
        type: 'users',
        mentionChar: '@',
      },
      {
        type: 'channels',
        mentionChar: '#',
      },
    ]}
    onSend={onSubmit}
    searchMentionableItems={searchItems}
    mentionableItems={itemsFound}
    submitIcon={<Image style={iconStyle} source={{ uri: send }} />}
    mentionIcon={<Image style={iconStyle} source={{ uri: email }} />}
    closeIcon={<Image style={iconStyle} source={{ uri: close }} />}
    maxHeightMentionWindow={200}
  />

Component props

Name Type Mandatory Additional info
mentionsTypes Array ✔️ Type of objects that can be mentioned
initialText string Initial text of the text input
placeholder string Text input placeholder
initialMentioned Array Every mention is contained in this array. Fill it with inital mention elements
isMentionsDisabled boolean False if text input should not have mentions
isSendButtonDisabled boolean True if text input submit button is disable.
isSmartSearchEnabled boolean True if smart search should be enabled
children Array<JSX.Element> Optional view that will be attached above text input
mentionableItems Array ✔️ List of visible items that can be mentioned
searchMentionableItems (mentionType: string, searchText: string) => void ✔️ Search callback to filter mentionable items
onChangeText (text: string, mentioned: Array) => void Callback passed to text input
onMentionClose () => void Callback when the list of mentionable items is closed
onSend (text: string, mentioned: Array) ✔️ Called on submit
onEndTyping () => void Callback passed to text input
textStyle StyleProp Style of text, excluded mentions
mentionStyle StyleProp Style of mentions, included mention character
mentionContainerStyle StyleProp Style of mentions container view
textInputContainerStyle StyleProp Style of text input container
separatorColor string Color of the separator between text input and mention window
submitIcon JSX.Element ✔️ Icon for on submit action
mentionIcon JSX.Element ✔️ Icon for mention
closeIcon JSX.Element ✔️ Icon for close
textInputProps TextInputProps Props for native TextInput
keyboardAvoidingViewProps KeyboardAvoidingViewProps Props for native KeyboardAvoidingView
maxHeightMentionWindow number ✔️ Max height of mentions container view
renderMentionType (mentionType: string) => JSX.Element Custom render of mentionable items

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Package Sidebar

Install

npm i react-native-mentionable-textinput

Weekly Downloads

178

Version

1.2.0

License

MIT

Unpacked Size

1.16 MB

Total Files

92

Last publish

Collaborators

  • matergi
  • theox9