Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/tomblachut/skimmed-datepicker

πŸ“… Datepicker component for Angular, containing around 0.1% fat
https://github.com/tomblachut/skimmed-datepicker

angular component datepicker touch-compatible

Last synced: 2 months ago
JSON representation

πŸ“… Datepicker component for Angular, containing around 0.1% fat

Awesome Lists containing this project

README

        

Skimmed Datepicker



Compatible with Angular 6 and up


npm


downloads

SEE THE DEMO

## Features
* πŸ“… Picks dates
* πŸ”₯ Blazing fast
* πŸ“± Tap, pan & swipe enabled
* πŸ–±οΈ Mouse friendly
* πŸ’§ Minimal required styles
* 🎨 Maximally themeable
* β›” Specify min & max dates
* 🏷️ Customizable labels & date formats
* πŸ”Ž Transitions smoothly between daily, monthly & yearly views
* πŸ›£οΈ Doesn't block vertical page scrolling on touch devices

## Quick start
1. Skimmed Datepicker is available as a [package on npm](https://www.npmjs.com/package/skimmed-datepicker). Simply use ubiquitous command and you are good to go!
```
npm i skimmed-datepicker
```
Alternatively when [using Yarn](https://yarnpkg.com/en/package/skimmed-datepicker):
```
yarn add skimmed-datepicker
```

2. Import `BrowserAnimationsModule` into root module & and `DatepickerModule` wherever you want to use it
```typescript
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { DatepickerModule } from 'skimmed-datepicker';

@NgModule({
imports: [
BrowserAnimationsModule,
DatepickerModule,
],
})
export class AppModule {
}
```
Ensure that `@angular/animations` package is installed.

3. Include stylesheet
```
TODO
```

4. *(Optional)* For gesture support install and import `hammerjs` globally.
```
npm i hammerjs
```
A popular place, recommended by [Angular Material](https://material.angular.io/guide/getting-started), is `src/main.ts`.
```typescript
import 'hammerjs';
```

5. Use `skm-datepicker` in a template
```html



```

## Configuration
`TODO: Freeze API & document everything`

```typescript
date: Date;
min: Date;
max: Date;

deselectEnabled: boolean;
yearFormat = 'y';
headingFormat = 'MMMM y';
firstWeekDay = WeekDay.Monday;
dayLabels: string[];
weekDayLabels: string[];
monthLabels: string[];

dateChange: EventEmitter;
```

## Roadmap
* Full compatibility with `ReactiveFormsModule`
* Extend configurability
* Popover mode
* Keyboard support
* Improve accessibility
* Date range mode
* Expose as Web Component

## Credits
* Created by Tomasz BΕ‚achut ([@tomblachut](https://github.com/tomblachut))
* Spatial easing function perfected by MichaΕ‚ Wiatrowski ([@michel4ngel0](https://github.com/michel4ngel0))