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

https://github.com/simongolms/device-bars

Add the appropriate device status and navigation bar to your web application and bring your mocks/prototypes/screenshots to the next level.
https://github.com/simongolms/device-bars

android device device-detection ionic ios mockup navigationbar screenshot statusbar stencil stenciljs web-component

Last synced: 6 months ago
JSON representation

Add the appropriate device status and navigation bar to your web application and bring your mocks/prototypes/screenshots to the next level.

Awesome Lists containing this project

README

          

# Device Bars



Build with Stencil


NPM Version


Documentation


Maintenance


Conventional Commits


License: MIT


semantic-release

> Add the appropriate device status and navigation bar to your web application and bring your mocks/prototypes/screenshots to the next level.

## Demo

[Live Demo](https://device-bars.stackblitz.io) | [Stackblitz](https://stackblitz.com/edit/device-bars?file=index.html)

![device-bars-showcase](https://github.com/SimonGolms/device-bars/raw/master/docs/showcase.png)

## Installation

### Option 1: Node Modules

```bash
npm install device-bars --save
```

```html




...

```

### Option 2: Script Tag (via [`unpkg`](https://unpkg.com/))

```html





...

```

## Usage

Use the elements `` and `` anywhere in your template, JSX, html etc

```html





```

### device-status-bar

#### Properties

| Property | Attribute | Description | Type | Default |
| ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ----------- |
| `background` | `background` | Sets the background color of the status bar | `string` | `undefined` |
| `color` | `color` | Set the color of the status bar text | `string` | `undefined` |
| `date` | `date` | The date to be displayed | `string` | `undefined` |
| `device` | `device` | Predefined device descriptor name, such as "iPhone X" or "Pixel 2". For a complete list please see: `DEVICES` at ./../utils/device.ts | `string` | `undefined` |
| `height` | `height` | Sets the height of the navigation bar. By default, the height is derived from the specified device safe-area, but it can also be adjusted manually. | `string` | `undefined` |
| `hide` | `hide` | Hides the Statusbar | `boolean` | `false` |
| `inline` | `inline` | Set the Statusbar inline | `boolean` | `false` |
| `mode` | `mode` | The mode determines which platform styles to use. | `string` | `undefined` |
| `safeArea` | `safe-area` | Adds an additional safe-area for the status and navigation bar. The respective height is derived from the specified device. By default, the safe-area is implemented via padding on the body. If an element is detected, the css variable --ion-safe-area-* will be set. | `boolean` | `true` |
| `time` | `time` | The time to be displayed | `string` | `undefined` |

#### CSS Custom Properties

| Name | Description |
| -------------- | ----------------------------------- |
| `--background` | Background color of the status bar. |
| `--color` | Color of the status bar. |
| `--height` | Height of the status bar. |

### device-navigation-bar

#### Properties

| Property | Attribute | Description | Type | Default |
| ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ----------- |
| `background` | `background` | Sets the background color of the navigation bar | `string` | `undefined` |
| `color` | `color` | Set the color of the navigation bar | `string` | `undefined` |
| `device` | `device` | Predefined device descriptor name, such as "iPhone X" or "Pixel 2". For a complete list please see: `DEVICES` at ./../utils/device.ts | `string` | `undefined` |
| `fill` | `fill` | (Android only) Sets the color to fill the icons in the navigation bar. | `string` | `undefined` |
| `height` | `height` | Sets the height of the navigation bar. By default, the height is derived from the specified device safe-area, but it can also be adjusted manually. | `string` | `undefined` |
| `hide` | `hide` | Hides the Statusbar | `boolean` | `false` |
| `inline` | `inline` | Set the Statusbar inline. | `boolean` | `false` |
| `safeArea` | `safe-area` | Adds an additional safe-area for the status and navigation bar. The respective height is derived from the specified device. By default, the safe-area is implemented via padding on the body. If an element is detected, the css variable --ion-safe-area-* will be set. | `boolean` | `true` |

#### CSS Custom Properties

| Name | Description |
| -------------- | ----------------------------------- |
| `--background` | Background color of the status bar. |
| `--color` | Color of the status bar. |
| `--fill` | Height of the status bar. |
| `--height` | Height of the status bar. |

### Supported Devices

#### Android

- `Galaxy Note 3`, `Galaxy Note 3 landscape`
- `Galaxy Note II`, `Galaxy Note II landscape`
- `Galaxy S III`, `Galaxy S III landscape`
- `Galaxy S5`, `Galaxy S5 landscape`
- `Nexus 10`, `Nexus 10 landscape`
- `Nexus 4`, `Nexus 4 landscape`
- `Nexus 5`, `Nexus 5 landscape`, `Nexus 5X`, `Nexus 5X landscape`
- `Nexus 6`, `Nexus 6 landscape`, `Nexus 6P`, `Nexus 6P landscape`
- `Nexus 7`, `Nexus 7 landscape`
- `Pixel 2`, `Pixel 2 landscape`, `Pixel 2 XL`, `Pixel 2 XL landscape`

#### iOS

- `iPad (gen 6)`, `iPad (gen 6) landscape`
- `iPad (gen 7)`, `iPad (gen 7) landscape`
- `iPad Mini`, `iPad Mini landscape`
- `iPad Pro 11`, `iPad Pro 11 landscape`
- `iPad Pro 13`, `iPad Pro 13 landscape`
- `iPhone 6`, `iPhone 6 landscape`, `iPhone 6 Plus`, `iPhone 6 Plus landscape`
- `iPhone 7`, `iPhone 7 landscape`, `iPhone 7 Plus`, `iPhone 7 Plus landscape`
- `iPhone 8`, `iPhone 8 landscape`, `iPhone 8 Plus`, `iPhone 8 Plus landscape`
- `iPhone SE`, `iPhone SE landscape`
- `iPhone X`, `iPhone X landscape`
- `iPhone XR`, `iPhone XR landscape`
- `iPhone 11`, `iPhone 11 landscape`
- `iPhone 11 Pro`, `iPhone 11 Pro landscape`, `iPhone 11 Pro Max`, `iPhone 11 Pro Max landscape`

---

## Workspace

### Local Development

To start developing the `device-bars` web component using Stencil, clone this repo to a new directory:

```bash
git clone https://github.com/SimonGolms/device-bars.git device-bars
cd device-bars
git remote rm origin
```

```bash
npm install
npm start
```

### Build

To build `device-bars` for production, run:

```bash
npm run build
```

### Run Tests

```bash
npm test
```

### Repair

This command may be useful when obscure errors or issues are encountered. It removes and recreates dependencies of your project.

```bash
npm run repair
```

### Release & Publishing

Run `npm run release` to create a new build & release with [`semantic-release`](https://github.com/semantic-release/semantic-release). This bumps the version of `package.json`, uses [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog) to update CHANGELOG.md and references in the README.md, commits package.json, CHANGELOG.md and tags a new release.
The new release gets published to GitHub and npm automatically.

### Further Help

Check out the Stencil docs [here](https://stenciljs.com/docs).

#### Committing

Run `npx git-cz` to generate a valid commit message. It’s easy to forget about the commit convention so to be consistent use [commitizen](https://github.com/commitizen/cz-cli) to generate our commits and husky to manage a Git commit-msg hook to validate the commit message.
Further information: [How to automate versioning and publication of an npm package](https://itnext.io/how-to-automate-versioning-and-publication-of-an-npm-package-233e8757a526)

---

## Author

**Simon Golms**

- Digital Card: `npx simongolms`
- Github: [@SimonGolms](https://github.com/SimonGolms)
- Website: [gol.ms](https://gol.ms)

## Roadmap

- [ ] Support Status (e.g. Call, GPS, Record)
- [ ] Angular Component
- [ ] React Component

## Contributing

Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/simongolms/device-bars/issues).

## Show Your Support

Give a ⭐️ if this project helped you!

## License

Copyright © 2020 [Simon Golms](https://github.com/SimonGolms).

This project is [MIT](https://github.com/simongolms/device-bars/blob/master/LICENSE) licensed.

## Resources

- [Android bars](https://material.io/design/platform-guidance/android-bars.html)
- [Apple | ios | Status Bars](https://developer.apple.com/design/human-interface-guidelines/ios/bars/status-bars/)
- [Capacitor | Status Bar](https://capacitor.ionicframework.com/docs/apis/status-bar/)
- [React Native | Status Bar](https://reactnative.dev/docs/statusbar)