@dhutaryan/ngx-mat-timepicker
Version: 
Angular timepicker to add time which is based on material design and Angular material.
149 lines (110 loc) • 3.74 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             |
| -------------- | ------------------- |
| 20.x.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 "@dhutaryan/ngx-mat-timepicker";
({
  imports: [
    // ...
    MatTimepickerModule,
    // ...
  ],
})
export class MyModule {}
```
## Adapter
Add a timepicker adapter.
```typescript
import { MatTimepickerModule, provideNativeDateTimeAdapter } from "@dhutaryan/ngx-mat-timepicker";
({
  imports: [
    // ...
    MatTimepickerModule,
    // ...
  ],
  providers: [provideNativeDateTimeAdapter()]
})
export class MyModule {}
```
or create your own
```typescript
import { MatTimepickerModule } from "@dhutaryan/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
 "@dhutaryan/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 "@dhutaryan/ngx-mat-timepicker";
({
  imports: [
    // ...
  ],
  providers: [{ provide: MAT_TIME_LOCALE, useValue: "en-GB" }],
})
export class MyModule {}
```
## License
MIT