Skip to main content
drupalreleases
Release: Cms 2.2.3 — Update released for Drupal core (2.2.3)! Release: Easy Breadcrumb 2.0.11 — Minor update available for module easy_breadcrumb (2.0.11). Release: Bootstrap 8.x-3.42 — Minor update available for theme bootstrap (8.x-3.42). Release: Editoria11y Accessibility Checker 3.0.10 — Minor update available for module editoria11y (3.0.10). Release: Editoria11y Accessibility Checker 2.2.24 — Minor update available for module editoria11y (2.2.24). Release: Leaflet 10.4.13 — Minor update available for module leaflet (10.4.13). Release: Flag 5.1.1 — Minor update available for module flag (5.1.1). Release: Layout Paragraphs 3.0.0-beta5 — New beta version released for module layout_paragraphs (3.0.0-beta5). Module Revived: Bootstrap 8.x-3.41 — Theme bootstrap updated after 6 months of inactivity (8.x-3.41). Security Coverage: Component Library — Module component_library now has official Drupal security advisory coverage.

Easy Datepicker

6 sites Security covered Drupal 10–11
View on drupal.org

This module provides a dependency-free datepicker for Drupal that improves the user experience of selecting dates, especially older ones. It offers faster navigation through years and months, direct date typing, and adheres to accessibility standards.

Easy Datepicker

A lightweight, dependency-free datepicker for Drupal that fixes one specific, common complaint: selecting an old date with the native HTML5 date input is painful. Picking a birthdate from decades ago means either scrolling a tiny calendar back one month at a time, or fighting the browser's built-in year spinner. Easy Datepicker replaces that with a calendar you can drill straight from days → months → years, paging 12 years at a time once you're there — reaching 1957 from today takes a couple of clicks, not sixty.

Why not just use the core Date element or a JS library?

  • The core/Webform Date element renders the same native <input type="date"> this module exists to move away from.
  • Libraries like jQuery UI's datepicker are deprecated in Drupal core, and third-party libraries like Flatpickr mean pulling in an external JS dependency and its own maintenance/security surface.

Easy Datepicker has zero dependencies — no jQuery, no jQuery UI, no external library. It's a single small JS file that progressively enhances a plain text field, and degrades to a normal text input if JavaScript is unavailable.

Features

  • Fast old-date navigation. Click the calendar header once to drill into a month grid, again for a year grid you can page 12 years at a time.
  • Direct typing. Type a date straight into the field (e.g. 08082026) and it auto-formats as you go (08/08/2026), the same feel as the native input's segmented entry — no need to touch the calendar at all if you already know the date.
  • Today / Clear buttons in the calendar footer.
  • Five configurable display formats: mm/dd/yyyy, dd/mm/yyyy, yyyy-mm-dd, dd-mm-yyyy, mm-dd-yyyy.
  • Values always stored as Y-m-d, regardless of display format — matching Webform's native Date element storage convention, so CSV exports and conditional logic elsewhere in a form keep working unchanged.
  • Site-wide admin settings (/admin/config/content/easy-datepicker): default minimum/maximum date, "stop future date selection", "stop past date selection", and default date format — overridable per field.
  • WCAG 2.1 AA accessible: proper contrast ratios, aria-current/aria-pressed state (not color alone), a live region announcing view changes and selections, and arrow-key navigation within the calendar grid (Left/Right/Up/Down/Home/End) beyond the strict Tab-only minimum.
  • Themeable via CSS custom properties (--cdp-accent, etc.) — no need to override the module's CSS directly.

Three ways to use it

  1. Form API element — #type => 'easy_datepicker' in any custom form, Webform or otherwise.
  2. Webform Text field — add the CSS class js-easy-datepicker to any Webform "Text field" element's Attributes. Webform's native Date element is left completely untouched by this module; nothing about it is altered or hijacked.
  3. Public API for other modules — call easy_datepicker_attach() directly on any text-based element from your own hook_form_alter(), or implement hook_easy_datepicker_options_alter() to programmatically adjust the resolved date range/format for any field. See easy_datepicker.api.php for full documentation and examples.

Requirements

  • Drupal 10.2+ or Drupal 11
  • No external libraries or dependencies
  • Optional: the Webform module, for the Webform Text field integration (the module works standalone without it)

Installation

Install as you would normally install a contributed Drupal module. See Installing Modules for further information.

Configuration

  1. Enable the module.
  2. Visit /admin/config/content/easy-datepicker to set site-wide defaults (date range, future/past restrictions, display format).
  3. Visit /easy-datepicker/demo to try the widget immediately, or add #type => 'easy_datepicker' to a custom form, or the js-easy-datepicker class to a Webform Text field.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
6
Tracked since
Aug 2026
Latest release
1 month ago
Releases (12 mo)
6 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.5 Stable 10–11 Aug 17, 2026
1.0.3 Stable 10–11 Aug 17, 2026
1.0.2 Stable 10–11 Aug 17, 2026
1.0.1 Stable 10–11 Aug 17, 2026
1.0.0 Stable 10–11 Aug 10, 2026
1.0.x-dev Dev 10–11 Aug 8, 2026