tomblachut / skimmed-datepicker

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

Home Page:https://tomblachut.github.io/skimmed-datepicker/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Skimmed Datepicker

Compatible with Angular 6 and up

npm downloads

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. Simply use ubiquitous command and you are good to go!

    npm i skimmed-datepicker
    

    Alternatively when using Yarn:

    yarn add skimmed-datepicker
    
  2. Import BrowserAnimationsModule into root module & and DatepickerModule wherever you want to use it

    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, is src/main.ts.

    import 'hammerjs';
  5. Use skm-datepicker in a template

    <skm-datepicker [formControl]="dateControl"></skm-datepicker>
    <skm-datepicker [(ngModel)]="date"></skm-datepicker>
    <skm-datepicker [(date)]="date"></skm-datepicker>

Configuration

TODO: Freeze API & document everything

date: Date;
min: Date;
max: Date;

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

dateChange: EventEmitter<Date>;

Roadmap

  • Full compatibility with ReactiveFormsModule
  • Extend configurability
  • Popover mode
  • Keyboard support
  • Improve accessibility
  • Date range mode
  • Expose as Web Component

Credits

About

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

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

License:MIT License


Languages

Language:TypeScript 68.8%Language:HTML 15.2%Language:CSS 12.0%Language:JavaScript 4.0%