@dhutaryan/ngx-mat-timepicker
Version:
Angular timepicker to add time which is based on material design and Angular material.
154 lines (115 loc) • 3.83 kB
Markdown
# ngx-mat-timepicker
[](https://www.npmjs.com/package/@dhutaryan/ngx-mat-timepicker)
[](https://www.codefactor.io/repository/github/dhutaryan/ngx-mat-timepicker)
[](https://github.com/dgutoryan/ngx-timepicker/blob/master/LICENSE)

The timepicker module using Angular material.
### Versions
| mat-timepicker | Angular |
| -------------- | ------------------- |
| 21.x.x | >=21.0.0 |
| 20.1.x | >=20.2.0 |
| 20.0.x | >=20.0.0 |
| 19.x.x | >=19.0.0 |
| 18.x.x | >=18.0.0 |
| 17.x.x | ^17.0.0 |
| 16.x.x | ^16.0.0 |
| 15.x.x | ^15.0.0 |
| 14.x.x | ^14.0.0 |
| 13.x.x | >=13.0.0 && <15.0.0 |
| 12.x.x | >=12.0.0 && <15.0.0 |
## Documentation
Check out the [documentation](https://dhutaryan.github.io/ngx-mat-timepicker/).
## Installation
You have to install the Angular Material and set it up. [Learn more about the setup](https://material.angular.io/guide/getting-started).
Install the library:
```bash
$ npm install --save /ngx-mat-timepicker
```
or
```bash
$ yarn add /ngx-mat-timepicker
```
## Getting started
Import `MatTimepickerModule` to your project.
```typescript
import { MatTimepickerModule } from '/ngx-mat-timepicker';
({
imports: [
// ...
MatTimepickerModule,
// ...
],
})
export class MyModule {}
```
## Adapter
Add a timepicker adapter.
```typescript
import {
MatTimepickerModule,
provideNativeDateTimeAdapter,
} from '/ngx-mat-timepicker';
({
imports: [
// ...
MatTimepickerModule,
// ...
],
providers: [provideNativeDateTimeAdapter()],
})
export class MyModule {}
```
or create your own
```typescript
import { MatTimepickerModule } from '/ngx-mat-timepicker';
({
imports: [
// ...
MatTimepickerModule,
// ...
],
providers: [{ provide: TimeAdapter, useClass: MyTimeAdapter }],
})
export class MyModule {}
```
## Theming
Then you have to define a theme. [More details about theming](https://material.angular.io/guide/theming).
```scss
'/ngx-mat-timepicker' as mat-timepicker;
// timepicker uses these component
mat.form-field-theme(theme.$ngx-mat-timepicker-theme);
mat.input-theme(theme.$ngx-mat-timepicker-theme);
mat.button-theme(theme.$ngx-mat-timepicker-theme);
mat.fab-theme(theme.$ngx-mat-timepicker-theme);
mat.icon-button-theme(theme.$ngx-mat-timepicker-theme);
mat.divider-theme(theme.$ngx-mat-timepicker-theme);
// timepicker theme
mat-timepicker.timepicker-theme($theme);
// if you want to support color attribute in M3 add compatibility mixin
mat.color-variants-backwards-compatibility($my-theme);
```
You can also use `mat.theme` mixin instead.
## Usage
```html
<mat-form-field>
<input type="text" matInput [matTimepicker]="timepicker" />
<mat-timepicker-toggle matSuffix [for]="timepicker"></mat-timepicker-toggle>
<mat-timepicker #timepicker></mat-timepicker>
</mat-form-field>
```
## Locale
Default locale is `en-US`. You can set your locale as:
```typescript
import { NgModule } from '/core';
import { MAT_TIME_LOCALE } from '/ngx-mat-timepicker';
({
imports: [
// ...
],
providers: [{ provide: MAT_TIME_LOCALE, useValue: 'en-GB' }],
})
export class MyModule {}
```
## License
MIT