
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
react-native-material-dialog
Advanced tools
Material design dialog components for React Native. JavaScript-only, for iOS and Android.
If you're not using Expo, install react-native-vector-icons
Install react-native-material-dialog
npm install react-native-material-dialog --save
Basic and customizable dialog that can hold any component.
import { MaterialDialog } from 'react-native-material-dialog';
<MaterialDialog
title="Use Google's Location Service?"
visible={this.state.visible}
onOk={() => this.setState({ visible: false })}
onCancel={() => this.setState({ visible: false })}>
<Text style={styles.dialogText}>
Let Google help apps determine location. This means sending anonymous
location data to Google, even when no apps are running.
</Text>
</MaterialDialog>;
Name | Description | Default/Required | Type |
---|---|---|---|
visible | shows or hides the dialog | required | bool |
children | element to be rendered in the content of the dialog | required | element |
onCancel | callback when the dialog is closed or the cancel action is pressed | required | func |
onOk | callback when the ok action is pressed | undefined | func |
cancelLabel | label for the cancel action | 'CANCEL' | string |
okLabel | label for the ok action | 'OK' | string |
title | text for the dialog title | undefined | string |
titleColor | color of the dialog title | 'rgba(0, 0, 0, 0.87)' | string |
backgroundColor | color of the dialog background | '#FFFFFF' | string |
colorAccent | color of the action text | '#51BC78' | string |
scrolled | whether the form is in scrolled mode | false | bool |
addPadding | automatically add paddings to the content | true | bool |
Ready to use dialog that allows to choose only one option from a list.
import { SinglePickerMaterialDialog } from 'react-native-material-dialog';
<SinglePickerMaterialDialog
title={'Pick one element!'}
items={LIST.map((row, index) => ({ value: index, label: row }))}
visible={this.state.singlePickerVisible}
selectedItem={this.state.singlePickerSelectedItem}
onCancel={() => this.setState({ singlePickerVisible: false })}
onOk={result => {
this.setState({ singlePickerVisible: false });
this.setState({ singlePickerSelectedItem: result.selectedItem });
}}
/>;
Name | Description | Default/Required | Type |
---|---|---|---|
visible | shows or hides the dialog | required | bool |
items | list of options to choose from | required | array of objects with a 'label' and 'value' property |
selectedItem | item that will be selected when opening the dialog | required | object with a 'label' and 'value' property |
onCancel | callback when the dialog is closed or the cancel action is pressed | required | func |
onOk | callback when the ok action is pressed | undefined | func |
cancelLabel | label for the cancel action | 'CANCEL' | string |
okLabel | label for the ok action | 'OK' | string |
title | text for the dialog title | undefined | string |
titleColor | color of the dialog title | 'rgba(0, 0, 0, 0.87)' | string |
backgroundColor | color of the dialog background | '#FFFFFF' | string |
colorAccent | color of the action text | '#51BC78' | string |
scrolled | whether the form is in scrolled mode | false | bool |
Ready to use dialog that allows to choose several options from a list.
import { MultiPickerMaterialDialog } from 'react-native-material-dialog';
<MultiPickerMaterialDialog
title={'Pick some elements!'}
colorAccent={this.props.colorAccent}
items={LIST.map((row, index) => {
return { value: index, label: row };
})}
visible={this.state.multiPickerVisible}
selectedItems={this.state.multiPickerSelectedItems}
onCancel={() => this.setState({ multiPickerVisible: false })}
onOk={result => {
this.setState({ multiPickerVisible: false });
this.setState({ multiPickerSelectedItems: result.selectedItems });
}}
/>;
Name | Description | Default/Required | Type |
---|---|---|---|
visible | shows or hides the dialog | required | bool |
items | list of options to choose from | required | array of objects with a 'label' and 'value' property |
selectedItems | items that will be selected when opening the dialog | required | array of objects with a 'label' and 'value' property |
onCancel | callback when the dialog is closed or the cancel action is pressed | required | func |
onOk | callback when the ok action is pressed | undefined | func |
cancelLabel | label for the cancel action | 'CANCEL' | string |
okLabel | label for the ok action | 'OK' | string |
title | text for the dialog title | undefined | string |
titleColor | color of the dialog title | 'rgba(0, 0, 0, 0.87)' | string |
backgroundColor | color of the dialog background | '#FFFFFF' | string |
colorAccent | color of the action text | '#51BC78' | string |
scrolled | whether the form is in scrolled mode | false | bool |
FAQs
Material design compliant dialog for React Native
The npm package react-native-material-dialog receives a total of 240 weekly downloads. As such, react-native-material-dialog popularity was classified as not popular.
We found that react-native-material-dialog demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.