diff --git a/types/pikaday/index.d.ts b/types/pikaday/index.d.ts
index 2464dbec93..956356f265 100644
--- a/types/pikaday/index.d.ts
+++ b/types/pikaday/index.d.ts
@@ -1,6 +1,7 @@
-// Type definitions for pikaday
+// Type definitions for pikaday 1.6
// Project: https://github.com/dbushell/Pikaday
-// Definitions by: Rudolph Gottesheim
+// Definitions by: Rudolph Gottesheim
+// Åke Wivänge
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
@@ -227,7 +228,7 @@ declare namespace Pikaday {
* Callback function that gets passed a Date object for each day
* in view. Should return true to disable selection of that day.
*/
- disableDayFn?: (date: Date) => boolean;
+ disableDayFn?(date: Date): boolean;
/**
* Number of years either side (e.g. 10) or array of upper/lower range
@@ -259,7 +260,7 @@ declare namespace Pikaday {
* Render the month after the year in the title. Default: false.
*/
showMonthAfterYear?: boolean;
-
+
/**
* Render days of the calendar grid that fall in the next or previous months to the current month instead of rendering an empty table cell. Default: false.
*/
@@ -283,25 +284,35 @@ declare namespace Pikaday {
*/
theme?: string;
+ /**
+ * The default flag for moment's strict date parsing (requires Moment.js for custom formatting). Default: false
+ */
+ formatStrict?: boolean;
+
+ /**
+ * Function which will be used for parsing input string and getting a date object from it.
+ * This function will take precedence over moment.
+ */
+ parse?(date: string, format: string): Date;
+
/**
* Callback function for when a date is selected.
*/
- onSelect?: (date: Date) => void;
+ onSelect?(date: Date): void;
/**
* Callback function for when the picker becomes visible.
*/
- onOpen?: () => void;
+ onOpen?(): void;
/**
* Callback function for when the picker is hidden.
*/
- onClose?: () => void;
+ onClose?(): void;
/**
* Callback function for when the picker draws a new month.
*/
- onDraw?: () => void;
+ onDraw?(): void;
}
}
-
diff --git a/types/pikaday/pikaday-tests.ts b/types/pikaday/pikaday-tests.ts
index a1202664d3..9084455622 100644
--- a/types/pikaday/pikaday-tests.ts
+++ b/types/pikaday/pikaday-tests.ts
@@ -7,9 +7,9 @@ new Pikaday({field: document.getElementById('datepicker')});
new Pikaday({field: $('#datepicker')[0]});
(() => {
- var field:HTMLInputElement = document.getElementById('datepicker');
- var picker = new Pikaday({
- onSelect: function (date:Date) {
+ const field: HTMLInputElement = document.getElementById('datepicker');
+ const picker = new Pikaday({
+ onSelect: (date: Date) => {
field.value = picker.toString();
console.log(date.toISOString());
}
@@ -18,10 +18,10 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
- var picker = new Pikaday({
+ const picker = new Pikaday({
field: document.getElementById('datepicker'),
format: 'D MMM YYYY',
- onSelect: function () {
+ onSelect: () => {
console.log(this.getMoment().format('Do MMMM YYYY'));
}
});
@@ -38,10 +38,10 @@ new Pikaday({field: $('#datepicker')[0]});
picker.nextMonth();
picker.prevMonth();
picker.gotoYear(2015);
- picker.setMinDate(new Date);
- picker.setMaxDate(new Date);
- picker.setStartRange(new Date);
- picker.setEndRange(new Date);
+ picker.setMinDate(new Date());
+ picker.setMaxDate(new Date());
+ picker.setStartRange(new Date());
+ picker.setEndRange(new Date());
picker.isVisible();
picker.show();
picker.adjustPosition();
@@ -50,7 +50,7 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
- var i18n: Pikaday.PikadayI18nConfig = {
+ const i18n: Pikaday.PikadayI18nConfig = {
previousMonth: 'Previous Month',
nextMonth: 'Next Month',
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
@@ -61,23 +61,41 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
- new Pikaday(
- {
- field: document.getElementById('datepicker'),
- firstDay: 1,
- minDate: new Date('2000-01-01'),
- maxDate: new Date('2020-12-31'),
- yearRange: [2000, 2020]
- });
+ new Pikaday({
+ field: document.getElementById('datepicker'),
+ format: 'YYYY-MM-DD',
+ trigger: document.getElementById('datepicker'),
+ bound: false,
+ position: 'top right',
+ reposition: false,
+ container: document.getElementById('myTag'),
+ defaultDate: new Date(),
+ setDefaultDate: true,
+ firstDay: 1,
+ minDate: new Date('2000-01-01'),
+ maxDate: new Date('2020-12-31'),
+ disableWeekends: true,
+ disableDayFn: (date) => true,
+ yearRange: [2000, 2020],
+ showWeekNumber: true,
+ isRTL: true,
+ yearSuffix: 'r',
+ showMonthAfterYear: false,
+ showDaysInNextAndPreviousMonths: true,
+ numberOfMonths: 2,
+ mainCalendar: 'right',
+ theme: 'myTheme',
+ formatStrict: true,
+ parse: () => new Date('2017-08-23'),
+ onSelect: () => {},
+ onOpen: () => {},
+ onClose: () => {},
+ onDraw: () => {}
+ });
})();
(() => {
- new Pikaday(
- {
- field: document.getElementById('datepicker'),
- firstDay: 1,
- minDate: new Date('2000-01-01'),
- maxDate: new Date('2020-12-31'),
- showDaysInNextAndPreviousMonths: true
- });
+ new Pikaday({
+ yearRange: 5
+ });
})();
diff --git a/types/pikaday/tslint.json b/types/pikaday/tslint.json
new file mode 100644
index 0000000000..495d29983d
--- /dev/null
+++ b/types/pikaday/tslint.json
@@ -0,0 +1,5 @@
+{
+ "extends": "dtslint/dt.json",
+ "rules": {
+ }
+}