An open API service indexing awesome lists of open source software.

https://github.com/typescene/typescene-web-nav

Typescene web app navigation components
https://github.com/typescene/typescene-web-nav

Last synced: about 1 year ago
JSON representation

Typescene web app navigation components

Awesome Lists containing this project

README

          

# Typescene web app navigation components

This package contains the following components:

- `AppLayout` and friends:
- `AppDrawer`
- `AppHeader`
- `AppMenuButton`
- `AppTitle`
- `AppToolbar`
- `TabBar`, and
- `TabBarButton`

> **Note:** The names above are for the JSX tags. If your code does not use JSX (i.e. `.tsx` files), then the same names will still work, but you can also import the corresponding `...View` components instead.

## Installation

**Note:** This component requires [Typescene](https://github.com/typescene/typescene) along with `@typescene/webapp`.

Install the NPM package first:

`npm i -D @typescene/web-nav`

Then import any of the classes using an import statement such as:

`import { AppLayoutView } from "@typescene/web-nav"`

## Example

The following example demonstrates how the `AppLayout` component can be used with JSX-style code:

```jsx
const myAppView = (

{/* Drawer, automatically shown using AppMenuButton */}


{/* drawer header */}



{/* scrollable area */}


{/* Fixed header bar */}


Title


{/* buttons... */}

{/* Remaining content... */}


Hello, world!





);
```

Tabs can be used as follows (note that the tab 'content' is not part of the tab bar component, so you can use e.g. a state property on the Activity class to toggle between content views directly below the tab bar):

```jsx
(


First tab


Second tab


{/* ... put tab content here ... */}
)
```

## Demo

The `demo/` folder contains more examples that show how to use these components.

Screenshot

To run the demo, clone the source repository and run the following commands in the terminal:

```bash
npm install
npm run build
cd demo
npm install
npm start
```