Skip to content

Commit

Permalink
3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
MoOx committed Jul 20, 2020
1 parent f2c08f6 commit 9db91b9
Show file tree
Hide file tree
Showing 6 changed files with 444 additions and 177 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog of `@reason-react-native/safe-area-context`

## 3.0.0 - 2020-06-20

- Switch to records for types
- Lots of breaking changes, see
[react-native-safe-area-context releases notes](https://github.com/th3rdwave/react-native-safe-area-context/releases)
and our README. We adjusted to v3.

## 0.7.0 - 2020-02-29

- Use `[email protected]`
Expand Down
60 changes: 46 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,36 @@ your `bsconfig.json`. Something like

```reason
type insets = {
.
"top": float,
"bottom": float,
"left": float,
"right": float,
top: float,
bottom: float,
left: float,
right: float,
};
```

#### `ReactNativeSafeAreaContext.frame`

```reason
type frame = {
x: float,
y: float,
width: float,
height: float,
};
```

#### `ReactNativeSafeAreaContext.metrics`

```reason
type metrics = {
insets,
frame,
};
```

### Constants

#### `initialWindowSafeAreaInsets`
#### `initialWindowMetrics`

See <https://github.com/th3rdwave/react-native-safe-area-context#optimization>

Expand All @@ -74,41 +93,54 @@ open ReactNativeSafeAreaContext;
[@react.component]
let make = () => {
<SafeAreaProvider /*initialSafeAreaInsets={...}*/>
<SafeAreaProvider /*initialMetrics={...}*/>
// your app...
<View />
<SafeAreaProvider>;
}
```

See <https://github.com/th3rdwave/react-native-safe-area-context#web-ssr> for
`initialSafeAreaInsets`.
`initialMetrics`.

#### `ReactNativeSafeAreaContext.useSafeAreaInsets(): insets`

```reason
open ReactNative;
open ReactNativeSafeAreaContext;
[@react.component]
let make = () => {
let insets = useSafeAreaInsets();
<View style=Style.(style(~paddingTop=insets.top, ())) />;
}
```

#### `ReactNativeSafeAreaContext.useSafeArea(): insets`
#### `ReactNativeSafeAreaContext.useSafeAreaFrame(): frame`

```reason
open ReactNative;
open ReactNativeSafeAreaContext;
[@react.component]
let make = () => {
let insets = useSafeArea();
<View style=Style.(style(~paddingTop=insets##top, ())) />;
let frame = useSafeAreaFrame();
<View style=Style.(style(~height=frame.height, ())) />;
}
```

#### `<ReactNativeSafeAreaContext.SafeAreaConsumer>`
#### `<ReactNativeSafeAreaContext.SafeAreaInsetsContext.Consumer>`

```reason
open ReactNative;
open ReactNativeSafeAreaContext;
[@react.component]
let make = () => {
<SafeAreaConsumer>
<SafeAreaInsetsContext.Consumer>
// your component, handy for classes
{insets => <View style=Style.(style(~paddingTop=insets##top, ())) />}
<SafeAreaConsumer>;
<SafeAreaInsetsContext.Consumer>;
}
```

Expand Down
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "@reason-react-native/safe-area-context",
"version": "0.7.0",
"version": "3.0.0",
"publishConfig": {
"access": "public"
},
"peerDependencies": {
"reason-react": "^0.7.0",
"reason-react-native": "^0.61.0",
"react-native-safe-area-context": "^0.7.0"
"react-native-safe-area-context": "^3.0.0",
"reason-react": "^0.8.0",
"reason-react-native": "^0.62.0"
},
"repository": "https://github.com/reason-react-native/safe-area-context.git",
"license": "MIT",
Expand Down Expand Up @@ -38,13 +38,13 @@
"release": "npmpub"
},
"devDependencies": {
"bs-platform": "^7.2.0",
"bs-platform": "^7.3.0",
"husky": "^1.3.0",
"lint-staged": "^10.1.1",
"npmpub": "^5.0.0",
"prettier": "^1.18.0",
"reason-react": "^0.7.0",
"reason-react-native": "^0.61.0"
"reason-react": "^0.8.0",
"reason-react-native": "^0.62.0"
},
"prettier": {
"trailingComma": "all",
Expand Down
21 changes: 16 additions & 5 deletions src/ReactNativeSafeAreaContext.bs.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
'use strict';

var View$ReactNative = require("reason-react-native/src/components/View.bs.js");
var NativeElement$ReactNative = require("reason-react-native/src/elements/NativeElement.bs.js");

var SafeAreaProvider = { };
var Consumer = { };

var SafeAreaInsetsContext = {
Consumer: Consumer
};

var Consumer$1 = { };

var SafeAreaConsumer = { };
var SafeAreaFrameContext = {
Consumer: Consumer$1
};

var SafeAreaProvider = { };

var SafeAreaView = { };

exports.SafeAreaInsetsContext = SafeAreaInsetsContext;
exports.SafeAreaFrameContext = SafeAreaFrameContext;
exports.SafeAreaProvider = SafeAreaProvider;
exports.SafeAreaConsumer = SafeAreaConsumer;
exports.SafeAreaView = SafeAreaView;
/* View-ReactNative Not a pure module */
/* NativeElement-ReactNative Not a pure module */
Loading

0 comments on commit 9db91b9

Please sign in to comment.