Skip to content

@gothassos/easepick-kbd-plugin ​

npm version

TIP

This package does not need to be installed if you are using @gothassos/easepick-bundle.

Adds keyboard navigation.

Quick example ​

html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>easepick</title>
    <script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-datetime@1.5.0/dist/index.umd.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-core@1.5.0/dist/index.umd.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-base-plugin@1.5.0/dist/index.umd.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-kbd-plugin@1.5.0/dist/index.umd.js"></script>
  </head>
  <body>
    <input id="datepicker"/>
    <script>
      const picker = new easepick.create({
        element: document.getElementById('datepicker'),
        css: [
          'https://cdn.jsdelivr.net/npm/@gothassos/easepick-core@1.5.0/dist/index.css',
        ],
        plugins: ['KbdPlugin'],
        KbdPlugin: {
          dayIndex: 2,
        },
      });
    </script>
  </body>
</html>

Installation ​

NPM ​

bash
npm install @gothassos/easepick-core @gothassos/easepick-kbd-plugin

CDN ​

html
<script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-datetime@1.5.0/dist/index.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-core@1.5.0/dist/index.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-base-plugin@1.5.0/dist/index.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@gothassos/easepick-kbd-plugin@1.5.0/dist/index.umd.js"></script>

Usage ​

If you’re using a bundler, e.g. webpack:

ts
import { easepick } from '@gothassos/easepick-core';
import { KbdPlugin } from '@gothassos/easepick-kbd-plugin';

const picker = new easepick.create({
  element: document.getElementById('datepicker'),
  css: [
    'https://cdn.jsdelivr.net/npm/@gothassos/easepick-core@1.5.0/dist/index.css',
  ],
  plugins: [KbdPlugin],
});

Another way to initialize easypick:

js
const picker = new easepick.create({
  element: document.getElementById('datepicker'),
  css: [
    'https://cdn.jsdelivr.net/npm/@gothassos/easepick-core@1.5.0/dist/index.css',
  ],
  plugins: ['KbdPlugin'],
});

Options ​

NameTypeDefaultDescription
unitIndexnumber1tabIndex for elements except days elements (including months and years with the core's viewMode, which Enter and Space pick).
dayIndexnumber2tabIndex for days elements.
localeobject{ openButton: 'Open calendar' }Name of the icon button that opens the picker, for screen readers (kept if a custom html button has its own aria-label).