1.5.1 • Published 4 years ago

@astrocoders/react-native-selectable-text v1.5.1

Weekly downloads
582
License
MIT
Repository
-
Last release
4 years ago

react-native-selectable-text

Demo

Android

iOS

Usage

import { SelectableText } from "@astrocoders/react-native-selectable-text";

// Use normally, it is a drop-in replacement for react-native/Text
<SelectableText
  menuItems={["Foo", "Bar"]}
  /* 
    Called when the user taps in a item of the selection menu:
    - eventType: (string) is the label
    - content: (string) the selected text portion
    - selectionStart: (int) is the start position of the selected text
    - selectionEnd: (int) is the end position of the selected text
   */
  onSelection={({ eventType, content, selectionStart, selectionEnd }) => {}}
  value="I crave star damage"
/>;

Getting started

$ npm install @astrocoders/react-native-selectable-text --save

Mostly automatic installation

$ react-native link @astrocoders/react-native-selectable-text

Manual installation

iOS - Binary Linking (Alternative 1)

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modules@astrocoders/react-native-selectable-text and add RNSelectableText.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNSelectableText.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

iOS - Pods (Alternative 2)

  1. Add pod 'RNSelectableText', :path => '../node_modules/@astrocoders/react-native-selectable-text/ios/RNSelectableText.podspec' to your projects podfile
  2. run pod install

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.astrocoders.selectabletext.RNSelectableTextPackage; to the imports at the top of the file
  • Add new RNSelectableTextPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-selectable-text'
    project(':react-native-selectable-text').projectDir = new File(rootProject.projectDir, 	'../node_modules/@astrocoders/react-native-selectable-text/android')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-selectable-text')

Props

namedescriptiontypedefault
valuetext contentstring""
onSelectionCalled when the user taps in a item of the selection menu({ eventType: string, content: string, selectionStart: int, selectionEnd: int }) => void() => {}
menuItemscontext menu itemsarray(string)[]
styleadditional styles to be applied to textObjectnull
highlightsarray of text ranges that should be highlighted with an optional idarray({ id: string, start: int, end: int })[]
highlightColorhighlight colorstringnull
onHighlightPresscalled when the user taps the highlight(id: string) => void() => {}
appendToChildrenelement to be added in the last line of textReactNodenull
TextComponentText component used to render valueReactNode
textValueProptext value prop for TextComponent. Should be used when passing TextComponent. Defaults to 'children' which works for string'children'
textComponentPropsadditional props to pass to TextComponentobjectnull
1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.0

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago