blob: a01f711fa93dfc2947ab07961d9af6c578e15d66 [file] [log] [blame] [view]
## TdLayoutComponent - td-layout
`<td-layout>` is a blank main sidenav component that gets hooked as parent of all the other layouts. (triggered by their menu buttons)
## API Summary
#### Inputs
+ mode: 'over' | 'side' | 'push'
+ The mode or styling of the sidenav. Defaults to 'over'.
+ opened: boolean
+ Whether or not the sidenav is opened. Use this binding to open/close the sidenav.
+ Defaults to 'false'.
+ sidenavWidth: string
+ Sets the 'width' of the sidenav in either 'px' or '%'.
+ Defaults to '320px'.
+ containerAutosize: boolean
+ Sets 'autosize' of the sidenav-container.
+ Defaults to 'false'.
## Usage
`[td-sidenav-content]` is used to include content in the main sidenav.
Example for Main Layout:
```html
<td-layout [mode]="'side'" [opened]="true" [sidenavWidth]="'257px'">
<div td-sidenav-content>
.. more sidenav content
</div>
.. main content
</td-layout>
```
To toggle/close/open the main sidenav from child layouts/components, you can use the `[tdLayoutToggle]`, `[tdLayoutClose]` or `[tdLayoutOpen]` directives on any element and its click event will trigger the sidenav action.
Example:
```html
<button mat-icon-button [tdLayoutToggle]="true"> // or tdLayoutOpen / tdLayoutClose
<mat-icon>menu</mat-icon>
</button>
```
To disable the sidenav action, just set the input to false.
```html
<button mat-icon-button [tdLayoutToggle]="false">
<mat-icon>menu</mat-icon>
</button>
```
## Installation
This component can be installed as npm package.
```bash
npm i -save @covalent/core
```
## Setup
Import the **[CovalentLayoutModule]** in your NgModule:
```typescript
import { CovalentLayoutModule } from '@covalent/core/layout';
@NgModule({
imports: [
CovalentLayoutModule,
...
],
...
})
export class MyModule {}
```
### Theming
See [theming](https://teradata.github.io/covalent/#/docs/theme) in the covalent docs for more info.
## TdNavigationDrawerComponent - td-navigation-drawer
`<td-navigation-drawer>` is a component that follows the [material design spec](https://material.io/guidelines/patterns/navigation-drawer.html#navigation-drawer-specs) is used as an addon component for `td-layout`.
## API Summary
#### Inputs
+ sidenavTitle: string
+ Title set in toolbar.
+ icon: string
+ Icon name to be displayed before the title.
+ logo: string
+ Logo icon name to be displayed before the title.
+ If [icon] is set, then this will not be shown.
+ avatar: string
+ Avatar url to be displayed before the title.
+ If [icon] or [logo] are set, then this will not be shown.
+ color: string
+ Optional sidenav toolbar color.
+ navigationRoute: string
+ Option to set the combined route for the icon, logo, and sidenavTitle.
+ backgroundUrl: SafeResourceUrl
+ Image to be displayed as the background of the toolbar.
+ URL used will be sanitized, but it should be always from a trusted source to avoid XSS.
+ name: string
+ String to be displayed as part of the navigation drawer sublabel.
+ If [email] is not set, then [name] will be the toggle menu text.
+ email: string
+ String to be displayed as part of the navigation drawer sublabel in the [toggle] menu text.
+ If [email] and [name] are not set, then the toggle menu is not rendered.
## Usage
`[td-sidenav-content]` is used to include content in the main sidenav.
`[td-navigation-drawer-menu]` is used to include content to the `toggle` user menu. if no tag is used, then the toggle button dissapears.
Example for Main Layout / Navigation Drawer Combo:
```html
<td-layout>
<td-navigation-drawer sidenavTitle="title" logo="logo" icon="icon" name="name" password="password" color="color" navigationRoute="/">
.. main drawer content
<div td-navigation-drawer-menu>
.. menu drawer content
</div>
</td-navigation-drawer>
<div td-sidenav-content>
.. more sidenav content
</div>
.. main content
</td-layout>
```