/paper

ReScript bindings for react-native-paper

Primary LanguageReasonMIT LicenseMIT

@reason-react-native/paper

Build Status Version Chat

ReScript / Reason bindings for react-native-paper.

Exposed as Paper module.

@reason-react-native/paper X.y.* means it's compatible with react-native-paper X.y.*

Status

⚠️ Work in progress. These bindings are used successfully in several apps, but are not complete yet and still subject to change.

Checkout missing components

Installation

When react-native-paper is properly installed & configured by following their installation instructions, you can install the bindings:

npm install @reason-react-native/paper
# or
yarn add @reason-react-native/paper

@reason-react-native/paper should be added to bs-dependencies in your bsconfig.json:

{
  //...
  "bs-dependencies": [
    "reason-react",
    "reason-react-native",
    // ...
+    "@reason-react-native/paper"
  ],
  //...
}

Usage

Components

[@react.component]
let make = () => {
  let (visible, setVisible) = React.useState(() => false);

  <Paper.Portal>
    <Paper.Dialog visible onDismiss={_ => setVisible(_ => false)}>
      <Paper.Dialog.Title>
        "Title"->React.string
      </Paper.Dialog.Title>
      <Paper.Dialog.Description>
        "Description"->React.string
      </Paper.Dialog.Description>
    </Paper.Dialog>
  </Paper.Portal>
};

Changelog

Check the changelog for more informations about recent releases.

Contribute

Read the contribution guidelines before contributing.

Code of Conduct

We want this community to be friendly and respectful to each other. Please read our full code of conduct so that you can understand what actions will and will not be tolerated.

Implemented components

  • ActivityIndicator
  • Avatar
  • Appbar
  • BottomNavigation
  • Badge
  • Banner
  • Button
  • Checkbox
  • Card
  • Chip
  • Dialog
  • Divider
  • FAB
  • DataTable
  • Drawer
  • List
  • IconButton
  • Modal
  • Menu
  • RadioButton
  • Searchbar
  • PaperProvider
  • Portal
  • ProgressBar
  • Snackbar
  • Surface
  • TextInput
  • TouchableRipple
  • ToggleButton
  • HelperText
  • ThemeProvider
  • Typography
    • Title
    • Subheading
    • Headline
    • Paragraph
    • Caption
    • Text