1.6.125 • Published 12 months ago
@vandrei977/react-native-selectable-text v1.6.125
react-native-selectable-text
This is the updated version of @astrocoders/react-native-selectable-text.
Demo
Android
iOS
Usage
import { SelectableText } from "@alentoma/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 @alentoma/react-native-selectable-text --save
Manual installation
Create react-native.config.js in the root directory and execlude @alentoma/react-native-selectable-text from linking
module.exports = {
dependencies: {
"@alentoma/react-native-selectable-text": {
platforms: {
android: null // disable Android platform, other platforms will still autolink if provided,
ios: null // disable IOS platform, other platforms will still autolink if provided
}
}
}
}
iOS - Binary Linking (Alternative 1)
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜@alentoma/react-native-selectable-text
and addRNSelectableText.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNSelectableText.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
iOS - Pods (Alternative 2)
- Add
pod 'RNSelectableText', :path => '../node_modules/@alentoma/react-native-selectable-text/ios/RNSelectableText.podspec'
to your projects podfile - run
pod install
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.alentoma.selectabletext.RNSelectableTextPackage;
to the imports at the top of the file - Add
new RNSelectableTextPackage()
to the list returned by thegetPackages()
method
- 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/@alentoma/react-native-selectable-text/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':react-native-selectable-text')
Props
name | description | type | default |
---|---|---|---|
value | text content | string | "" |
onSelection | Called when the user taps in a item of the selection menu | ({ eventType: string, content: string, selectionStart: int, selectionEnd: int }) => void | () => {} |
menuItems | context menu items | array(string) | [] |
style | additional styles to be applied to text | Object | null |
highlights | array of text ranges that should be highlighted with an optional id | array({ id: string, start: int, end: int }) | [] |
highlightColor | highlight color | string | null |
onHighlightPress | called when the user taps the highlight | (id: string) => void | () => {} |
appendToChildren | element to be added in the last line of text | ReactNode | null |
TextComponent | Text component used to render value | ReactNode | |
textValueProp | text value prop for TextComponent. Should be used when passing TextComponent. Defaults to 'children' which works for | string | 'children' |
textComponentProps | additional props to pass to TextComponent | object | null |
1.6.123
12 months ago
1.6.125
12 months ago
1.6.124
12 months ago
1.6.33
12 months ago
1.6.34
12 months ago
1.6.22
1 year ago
1.6.21
1 year ago
1.6.24
1 year ago
1.6.23
1 year ago
1.6.26
1 year ago
1.6.28
1 year ago
1.6.27
1 year ago
1.6.29
1 year ago
1.6.31
1 year ago
1.6.30
1 year ago
1.6.32
1 year ago
1.6.20
2 years ago
1.6.15
2 years ago
1.6.17
2 years ago
1.6.16
2 years ago
1.6.19
2 years ago
1.6.18
2 years ago
1.6.14
2 years ago
1.6.13
2 years ago
1.6.12
2 years ago
1.6.11
2 years ago
1.6.10
2 years ago
1.6.9
2 years ago
1.6.8
2 years ago
1.6.7
2 years ago
1.6.6
2 years ago
1.6.5
2 years ago
1.6.4
2 years ago
1.6.3
2 years ago
1.6.2
2 years ago
1.6.1
2 years ago
1.6.0
2 years ago