Skip to content

Commit 89a0417

Browse files
committed
Merge pull request DefinitelyTyped#7804 from ciddan/master
Adds module support to Pikaday
2 parents eb3a275 + 037a4d8 commit 89a0417

File tree

2 files changed

+49
-40
lines changed

2 files changed

+49
-40
lines changed

pikaday/pikaday-tests.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
/// <reference path="../moment/moment.d.ts" />
33
/// <reference path="pikaday.d.ts" />
44

5+
import * as Pikaday from "pikaday";
6+
57
new Pikaday({field: document.getElementById('datepicker')});
68
new Pikaday({field: $('#datepicker')[0]});
79

@@ -46,7 +48,7 @@ new Pikaday({field: $('#datepicker')[0]});
4648
})();
4749

4850
(() => {
49-
var i18n:PikadayI18nConfig = {
51+
var i18n: Pikaday.PikadayI18nConfig = {
5052
previousMonth: 'Previous Month',
5153
nextMonth: 'Next Month',
5254
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],

pikaday/pikaday.d.ts

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,10 @@
55

66
/// <reference path="../moment/moment.d.ts" />
77

8-
interface PikadayI18nConfig {
9-
previousMonth: string;
10-
nextMonth: string;
11-
months: string[];
12-
weekdays: string[];
13-
weekdaysShort: string[];
14-
}
15-
16-
interface PikadayOptions {
17-
field?: HTMLElement;
18-
format?: string;
19-
trigger?: HTMLElement;
20-
bound?: boolean;
21-
position?: string;
22-
reposition?: boolean;
23-
container?: HTMLElement;
24-
defaultDate?: Date;
25-
setDefaultDate?: boolean;
26-
firstDay?: number;
27-
minDate?: Date;
28-
maxDate?: Date;
29-
disableWeekends?: boolean;
30-
disableDayFn?: (date:Date) => boolean;
31-
yearRange?: number[];
32-
showWeekNumber?: boolean;
33-
isRTL?: boolean;
34-
i18n?: PikadayI18nConfig;
35-
yearSuffix?: string;
36-
showMonthAfterYear?: boolean;
37-
numberOfMonths?: number;
38-
mainCalendar?: string;
39-
theme?: string;
40-
onSelect?: (date:Date) => void;
41-
onOpen?: () => void;
42-
onClose?: () => void;
43-
onDraw?: () => void;
44-
}
45-
468
declare class Pikaday {
479
el:HTMLElement;
4810

49-
constructor(options:PikadayOptions);
11+
constructor(options: Pikaday.PikadayOptions);
5012

5113
toString():string;
5214
toString(format:string):string;
@@ -87,3 +49,48 @@ declare class Pikaday {
8749

8850
destroy():void;
8951
}
52+
53+
// merge the Pikaday class declaration with a module
54+
declare module Pikaday {
55+
interface PikadayI18nConfig {
56+
previousMonth: string;
57+
nextMonth: string;
58+
months: string[];
59+
weekdays: string[];
60+
weekdaysShort: string[];
61+
}
62+
63+
interface PikadayOptions {
64+
field?: HTMLElement;
65+
format?: string;
66+
trigger?: HTMLElement;
67+
bound?: boolean;
68+
position?: string;
69+
reposition?: boolean;
70+
container?: HTMLElement;
71+
defaultDate?: Date;
72+
setDefaultDate?: boolean;
73+
firstDay?: number;
74+
minDate?: Date;
75+
maxDate?: Date;
76+
disableWeekends?: boolean;
77+
disableDayFn?: (date:Date) => boolean;
78+
yearRange?: number[];
79+
showWeekNumber?: boolean;
80+
isRTL?: boolean;
81+
i18n?: PikadayI18nConfig;
82+
yearSuffix?: string;
83+
showMonthAfterYear?: boolean;
84+
numberOfMonths?: number;
85+
mainCalendar?: string;
86+
theme?: string;
87+
onSelect?: (date:Date) => void;
88+
onOpen?: () => void;
89+
onClose?: () => void;
90+
onDraw?: () => void;
91+
}
92+
}
93+
94+
declare module "pikaday" {
95+
export = Pikaday;
96+
}

0 commit comments

Comments
 (0)