- Features
- Built With
- Pending Items
- Screenshot (iOS)
- Screenshot (Android)
- Getting Started
- Props
- Example App
- Building & Publishing
- Changelog
- ✅ iOS/Android
- ✅ Dark Mode
- ✅ Built with TypeScript
- ✅ Built with React Hooks
- ✅ Lightweight (0 Third Party Libraries)
- TypeScript - Programming Language
- React Hooks - Functional Component State/Lifecycle Methods
- React Native - Mobile (iOS/Android) Framework
- [ ]
Bottom Sheet
Form Sheet
1. Install Package:
npm i react-native-slide-modal
2. Add Example Code:
// Imports: Dependencies
import React, { useState } from 'react';
import { Button, Text } from 'react-native';
import { SlideModal } from 'react-native-slide-modal';
// App
const App: React.FC = (): JSX.Element => {
// React Hooks: State
const [ modalVisible, setModalVisible ] = useState<boolean>(false);
return (
<SlideModal
modalType="iOS Form Sheet"
// modalType="iOS Bottom Sheet"
modalVisible={modalVisible}
screenContainer={
<>
<Button
title="Show Modal"
onPress={() => setModalVisible(!modalVisible)}
/>
</>
}
modalContainer={
<>
<Text>Modal Content</Text>
</>
}
modalHeaderTitle="Header Title"
pressDone={() => setModalVisible(!modalVisible)}
pressCancel={() => setModalVisible(!modalVisible)}
darkMode={false}
doneDisabled={false}
/>
);
};
// Exports
export default App;3. Run Project:
Android
react-native run-androidiOS
react-native run-iosDefault:
| Property | Type | Default | Description |
|---|---|---|---|
screenContainer |
JSX.Element |
<></> |
Screen content |
modalContainer |
JSX.Element |
<></> |
Modal content |
modalType |
ModalType |
'iOS Bottom Sheet' |
Modal slide type ('iOS Bottom Sheet' or 'iOS Form Sheet') |
modalVisible |
boolean |
false |
Modal visible |
pressCancel |
() => void |
undefined |
onPress for Cancel button |
pressDone |
() => void |
undefined |
onPress for Done button |
doneDisabled |
boolean |
false |
Disable Done button |
Optional:
| Property | Type | Default | Description |
|---|---|---|---|
darkMode |
boolean |
false |
Dark mode |
modalHeaderTitle |
string |
'' |
Modal header title |
customStyleContainer |
ContainerStyle |
iOS Theme | Styling for container |
customStyleModalHeaderContainer |
ModalHeaderContainerStyle |
iOS Theme | Styling for modal header container |
customStyleCancelText |
CancelTextStyle |
iOS Theme | Styling for cancel text |
customStyleDoneText |
DoneTextStyle |
iOS Theme | Styling for done text |
customStyleModalContentContainer |
ModalContentContainerStyle |
iOS Theme | Styling for modal content container |
customStylePickerItemText |
PickerItemTextStyle |
iOS Theme | Styling for picker item text |
1. Open Example App:
cd ExampleApp
2. Run Simulator:
Android
react-native run-androidiOS
react-native run-iosBuild
npm run buildPublish
npm publishRemoved
- Removed
react-native-typescript-transformeras dependency.
Added
- Added
assetsto exclude intsconfig.json.
Changed
- Updating
tsconfig.json. - Updating
peerDependenciesinpackage.json.
Removed
- Removed
typesto exclude intsconfig.json.
Added
- Added Props section to
README. - Added Example App section to
README.
Changed
- Changed file structure.
- Changed
index.jstoindex.tsx. - Changed
package.jsonbuild script tocd src && tsc && cp ../package.json && Echo Build completed!.
Removed
- Removed
yalcas a global dependency.
Added
- Added
yalcas a global dependency, soyalc publishcan be used.
Changed
- Changed
inlineRequires: truetoinlineRequires: falseinmetro.config.js.
Changed
- Changed
compilerOptions.jsxfromreacttoreact-jsx.
Removed
- Removed
import React from 'react'.
Changed
- Changing
"lib": ["es2017"]to"lib": ["es2015"]intsconfig.json.
Changed
- Changing import from
import React from 'react';toimport * as React from 'react';.
Changed
- Updated NPM
dependencies.
Changed
- Changed
alignContentfromreacttoalignItems. - Changed
compilerOptions.jsxfromreacttoreact-jsx.
Changed
- Changed
compilerOptions.jsxfromreact-jsxtoreact.
Changed
- Added
@types/reactasdevDependencies.
Changed
- Changed
compilerOptions.jsxfromreact-nativetoreact-jsx.
Changed
- Updated
typescript.
Added
- Added
reactandreact-nativeas dependencies.
Added
- Added
READMEscreenshots.
Added
- Added
READMEexample code.
Added
- Added
SlideModalcomponent (iOS Bottom Sheet,iOS Form Sheet).

