{"id":13515111,"url":"https://github.com/t1m0n/air-datepicker","last_synced_at":"2025-05-14T22:06:31.991Z","repository":{"id":37773783,"uuid":"47031501","full_name":"t1m0n/air-datepicker","owner":"t1m0n","description":"Lightweight, dependency-free JavaScript datepicker.","archived":false,"fork":false,"pushed_at":"2025-05-05T13:59:22.000Z","size":1965,"stargazers_count":2734,"open_issues_count":276,"forks_count":1371,"subscribers_count":68,"default_branch":"v3","last_synced_at":"2025-05-07T21:58:39.494Z","etag":null,"topics":["calendar","datepicker","javascript","timepicker"],"latest_commit_sha":null,"homepage":"https://air-datepicker.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t1m0n.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-11-28T16:48:12.000Z","updated_at":"2025-05-07T15:47:16.000Z","dependencies_parsed_at":"2024-01-13T22:31:37.843Z","dependency_job_id":"2fcbfdae-a98b-464b-8323-5fe95a7c5ab3","html_url":"https://github.com/t1m0n/air-datepicker","commit_stats":{"total_commits":513,"total_committers":29,"mean_commits":"17.689655172413794","dds":0.1578947368421053,"last_synced_commit":"420539bdb8b3a8a8b69906b94c8bc1b17a99badf"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t1m0n%2Fair-datepicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t1m0n%2Fair-datepicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t1m0n%2Fair-datepicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t1m0n%2Fair-datepicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t1m0n","download_url":"https://codeload.github.com/t1m0n/air-datepicker/tar.gz/refs/heads/v3","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235695,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","datepicker","javascript","timepicker"],"created_at":"2024-08-01T05:01:06.427Z","updated_at":"2025-05-14T22:06:26.955Z","avatar_url":"https://github.com/t1m0n.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Air Datepicker\n\nLightweight, **dependency-free**, fast, customizable datepicker written in pure JavaScript. Works in all modern browsers which supports native css variables.\n\n![air datepicker image](https://github.com/t1m0n/air-datepicker/raw/master/promo-img.png)\n\n## Install\n\n```\nnpm i air-datepicker\n```\n\n## Usage\n```javascript\nimport AirDatepicker from 'air-datepicker'\nimport 'air-datepicker/air-datepicker.css'\n\nnew AirDatepicker('#el' [, options]);\n```\n\n## Demo and docs\n* [Version 3](https://air-datepicker.com)\n* [Version 2](http://t1m0n.name/air-datepicker/docs/)\n\n## Recent updates\n\n### v3.5.3\n* fixed range mode [#613](https://github.com/t1m0n/air-datepicker/issues/613)\n\n### v3.5.2\n* fixed range mode [#613](https://github.com/t1m0n/air-datepicker/issues/613)\n\n### v3.5.1\n* improved `destroy()` behavior - added `isDestroyed` property, `opts` and `selectedDates` will still have empty values, instead of `null`, even after AirDatepicker has been destroyed [#600](https://github.com/t1m0n/air-datepicker/issues/600)\n\n### v3.5.0\n* added `fixedHeight` option, allows you to have equal weeks number in every month\n* added method `disableDate`, allows you to disabled one or multiple dates with datepicker API\n* added prop `disabledDates` - it is a Set which holds all disabled dates\n* added possibility to pass `{silent: true}` to `update` and `setCurrentView` methods, [#583](https://github.com/t1m0n/air-datepicker/issues/568)\n* changed `update` method - now if you pass `selectedDates` then calendar will keep selected only those dates\n* fixed selecting time on same date when `range: true`, [#568](https://github.com/t1m0n/air-datepicker/issues/568)\n* fixed date conversion to local date when using strings, e.g `selectDate('2024-03-05')` [#589](https://github.com/t1m0n/air-datepicker/issues/589)\n* fixed localization generation, thanks to [hreyeslo](https://github.com/hreyeslo) in [#524](https://github.com/t1m0n/air-datepicker/pull/524)\n* fixed type definition for `clear` method, thanks to [ahmetzambak](https://github.com/ahmetzambak) in [#591](https://github.com/t1m0n/air-datepicker/pull/591)\n* fixed German translation for \"clear\", thanks to [pbek](https://github.com/pbek) in [#582](https://github.com/t1m0n/air-datepicker/pull/582)\n* added Slovenian locale, thanks to [carliblaz](https://github.com/carliblaz) in [#569](https://github.com/t1m0n/air-datepicker/pull/569)\n* added Basque locale, thanks to [ikerib](https://github.com/ikerib) in [#529](https://github.com/t1m0n/air-datepicker/pull/529)\n* added Norwegian locale, thanks to [MortenSpjotvoll](https://github.com/MortenSpjotvoll) in [#521](https://github.com/t1m0n/air-datepicker/pull/521)\n\n### v3.4.0\n* added new options `onFocus` and `onBeforeSelect` grant you more control over range selection behaviour and more [#526](https://github.com/t1m0n/air-datepicker/issues/526)\n* added new method `getViewDates()` allows you to get all dates that should be currently displayed in calendar [#536](https://github.com/t1m0n/air-datepicker/issues/536)\n* `toggleSelected` now can be a function [#534](https://github.com/t1m0n/air-datepicker/issues/534)\n* fixed `clear` method [#546](https://github.com/t1m0n/air-datepicker/issues/546)\n* added Bulgarian locale, thanks to [tonytomov](https://github.com/tonytomov), in [#531](https://github.com/t1m0n/air-datepicker/pull/531)\n* added Catalan locale, thanks to [joatb](https://github.com/joatb), in [#542](https://github.com/t1m0n/air-datepicker/pull/542)\n* added Croatian Locale, thanks to [diomed](https://github.com/diomed), in [#551](https://github.com/t1m0n/air-datepicker/pull/551)\n\n### v3.3.5\n* added handling of optional chaining operator in dist package [#518](https://github.com/t1m0n/air-datepicker/issues/518)\n* added Indonesian locale, thanks to [BariqDharmawan](https://github.com/BariqDharmawan), in [#517](https://github.com/t1m0n/air-datepicker/pull/517)\n\n## Version 3.0.0 highlights\nIt is been a while since the last release, a lot of work has been done, and I'm glad to finally present a new version of Air Datepicker.\n\nThe main goal was to remove jQuery dependency, and I'm happy to announce that Air Datepicker is no longer need any dependency, hurray! :partying_face:  \n\nNow it's written in ES6, uses native css variables for easy customization, and it's all built with webpack.\n\nSoooo, here is the full list of changes:\n\n* no more jQuery\n* improve rendering process - remove redundant cell render when selecting date, which gave a large speed boost compared to the old version\n* date format tokens now use [Unicode Technical Standard](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\n* TypeScript support\n* added `selectedDates` option, to be able to select dates from the start\n* added a possibility to create custom buttons\n* now one could change selected range by dragging dates\n* added `container` option which allows you to place datepicker in a custom element\n* `navTitles` can receive a function and could render dynamically\n* `dateFormat` now can receive a function\n* `onSelect` and `onRenderCell` callbacks are now receive a single object as an argument instead of multiple parameters\n* `selectDate` now receives second parameter with options\n* `onChangeMonth`, `onChangeYear`, `onChangeDecades` are replaced with single option `onChangeViewDate`\n* localization now must be provided as an object instead of string as it was before\n\n## Contribution\n\n* To run project run `npm i`, then `npm run dev:serve`.\n* If you want to report a bug, please provide steps and code to reproduce it or create a live example. You could use [this template](https://codesandbox.io/s/air-datepicker-c1lmk) for creating sandbox\n* If you have a question please ask it on [StackOverflow](https://stackoverflow.com/questions/ask) with tag `air-datepicker`\n* If you have a proposal or PR please submit it to the [main branch](https://github.com/t1m0n/air-datepicker/tree/v3) - please follow code style according to .eslint configuration.\nAlso make sure that your effort is aligned with project roadmap - my goal is to keep datepicker clean and lightweight (under 15kb) without overcomplications or narrowly focused features\n\nThank you! :blush:\n\n## License\n\nAir Datepicker is MIT licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft1m0n%2Fair-datepicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft1m0n%2Fair-datepicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft1m0n%2Fair-datepicker/lists"}