forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
materialize-css.d.ts
478 lines (404 loc) · 12.4 KB
/
materialize-css.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
// Type definitions for materialize-css v0.97.5
// Project: http://materializecss.com/
// Definitions by: Erik Lieben <https://github.com/eriklieben>, Leon Yu <https://github.com/leonyu>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts" />
/// <reference path="../pickadate/pickadate.d.ts" />
declare namespace Materialize {
/**
* The collapsible options
*/
interface CollapsibleOptions {
/**
* A setting that changes the collapsible behavior to expandable instead of the default accordion style
*/
accordion: boolean;
}
interface TooltipOptions {
/**
* The delay before the tooltip shows (in milliseconds)
*/
delay:number;
}
/**
* The dropdown options
*/
interface DropDownOptions {
/**
* The duration of the transition enter in milliseconds.
* Default: 300
*/
inDuration?:number;
/**
* The duration of the transition out in milliseconds.
* Default: 225
*/
outDuration?:number;
// TODO: constrain_width
/**
* If true, constrainWidth to the size of the dropdown activator.
* Default: true
*/
constrain_width?:boolean;
/**
* If true, the dropdown will open on hover.
* Default: false
*/
hover?:boolean;
/**
* This defines the spacing from the aligned edge.
* Default: 0
*/
gutter?:number;
/**
* If true, the dropdown will show below the activator.
* Default: false
*/
belowOrigin?:boolean;
/**
* Defines the edge the menu is aligned to.
* Default: 'left'
*/
alignment?:string;
}
/**
* The slider options
*/
interface SliderOptions {
/**
* Set to false to hide slide indicators.
* Default: true
*/
indicators?: boolean;
/**
* Set height of slider.
* Default: 400
*/
height?: number;
/**
* Set the duration of the transition animation in ms.
* Default: 500
*/
transition?: number;
/**
* Set the duration between transitions in ms.
* Default: 6000
*/
interval?: number;
}
/**
* The carousel options
*/
interface CarouselOptions {
/**
* Transition time.
* Default: 200
*/
time_constant?: number;
/**
* Perspective zoom. If 0, all items are the same size.
* Default: -100
*/
dist?: number;
/**
* Set the duration of the transition animation in ms.
* Default: 500
*/
shift?: number;
/**
* Set the duration between transitions in ms.
* Default: 6000
*/
padding?: number;
/**
* Set the duration between transitions in ms.
* Default: 6000
*/
full_width?: number;
}
/**
* The lean modal options
*/
interface LeanModalOptions {
/**
* Modal can be dismissed by clicking outside of the modal.
* Default: true
*/
dismissible?: boolean;
/**
* Opacity of modal background.
* Default. .5
*/
opacity?: number;
/**
* Transition in duration.
* Default: 300
*/
in_duration?: number;
/**
* Transition out duration.
* Default: 200
*/
out_duration?: number;
/**
* Callback for Modal open.
* Default: function() { alert('Ready'); }
*/
ready?: Function;
/**
* Callback for Modal close.
* Default: function() { alert('Closed'); }
*/
complete?: Function;
}
/**
* The push pin options
*/
interface PushpinOptions {
/**
* The distance in pixels from the top of the page where the element becomes fixed.
* Default: 0
*/
top?:number;
/**
* The distance in pixels from the top of the page where the elements stops being fixed.
* Default: Infinity
*/
bottom?:number;
/**
* The offset from the top the element will be fixed at.
* Default: 0
*/
offset?:number;
}
/**
* The scroll spy options
*/
interface ScrollSpyOptions {
/**
* Throttling in miliseconds.
* Default: 100
*/
throttle?: number;
/**
* Offset from top.
* Default: 0
*/
offsetTop?: number;
/**
* Offset from right.
* Default: 0
*/
offsetRight?: number;
/**
* Offset from bottom.
* Default: 0
*/
offsetBottom?: number;
/**
* Offset from left.
* Default: 0
*/
offsetLeft?: number;
}
/**
* The slideNav options
*/
interface SideNavOptions {
/**
* Default: 240
*/
menuWidth?: number;
/**
* The horizontal origin
* Default: ' left'
*/
edge?: string;
/**
* Closes side-nav on <a> clicks, useful for Angular/Meteor
* Default: false
*/
closeOnClick?: boolean;
}
interface ScrollFireOptions {
/**
* The selector for the element that is being tracked.
*/
selector?: string;
/**
* Offset to use when activating the scroll fire event
* If this is 0, the callback will be fired when the selector element is at the very bottom of the user's window.
*/
offset?: number;
/**
* The string function call that you want to make when the user scrolls to the threshold.
* It will only be called once.
* Example: 'console.log("hello, world!")';
*/
callback?: string;
}
/**
* The Materialize object
*/
interface Materialize {
/**
* Displays a toast message on screen
*
* @name message The message to display on screen
* @name displayLength The duration in milliseconds to display the message on screen
* @name className The className to use to format the message to display
* @name completeCallback Callback function to call when the messages completes/hides.
*/
toast(message:string|JQuery, displayLength:number, className?:string, completeCallback?:Function): void;
/**
* Fires an event when the page is scrolled to a certain area
*
* @name options optional parameter with scroll fire options
*/
scrollFire(options?:ScrollFireOptions): void;
/**
* A staggered reveal effect for any UL Tag with list items
*
* @name selector the selector for the list to show in staggered fasion
*/
showStaggeredList(selector:string): void;
/**
* Fade in images. It also animates grayscale and brightness to give it a unique effect.
*
* @name selector the selector for the image to fade in
*/
fadeInImage(selector:string): void;
/**
* Update all text field to reinitialize all the Materialize labels on the page if dynamically adding inputs
*/
updateTextFields(): void;
}
}
declare var Materialize : Materialize.Materialize;
interface JQuery {
/**
* open Fixed Action Button
*/
openFAB(): void;
/**
* close Fixed Action Button
*/
closeFAB(): void;
/**
* Select allows user input through specified options.
* Initialization
*/
material_select(): void;
/**
* Select allows user input through specified options.
* Updating/Destroying Select
*
* @name method "destroy" destroy the material select
*/
material_select(method: string): void;
/**
* Use a character counter in fields where a character restriction is in place.
*/
characterCounter(): JQuery;
/**
* Collapsibles are accordion elements that expand when clicked on.
* They allow you to hide content that is not immediately relevant to the user.
*
* @name options the collapsible options
*/
collapsible(options?: Materialize.CollapsibleOptions): JQuery;
/**
* Tooltips are small, interactive, textual hints for mainly graphical elements.
* When using icons for actions you can use a tooltip to give people clarification on its function.
*
* @name options the tooltip options or the string "remove" to remove the tooltip function
*/
tooltip(options?: Materialize.TooltipOptions|string): JQuery;
/**
* Add a dropdown list to any button.
* Make sure that the data-activates attribute matches the id in the <ul> tag.
*
* @name options the drop down options
*/
dropdown(options?: Materialize.DropDownOptions): void;
/**
* Material box is a material design implementation of the Lightbox plugin.
*/
materialbox(): JQuery;
/**
* slider is a simple and elegant image carousel.
* You can also have captions that will be transitioned on their own depending on their alignment.
* You can also have indicators that show up on the bottom of the slider.
*
* @name options the slider options
*/
slider(options?: Materialize.SliderOptions): JQuery;
/**
* slider is a simple and elegant image carousel.
* You can also have captions that will be transitioned on their own depending on their alignment.
* You can also have indicators that show up on the bottom of the slider.
*
* @name method the string "start" to start the animation or "pauze" to pauze the animation
*/
slider(method: string): JQuery;
/**
* Our slider is a simple and elegant image carousel.
* You can also have captions that will be transitioned on their own depending on their alignment.
* You can also have indicators that show up on the bottom of the slider.
*
* @name options the slider options or the string "start" to start the animation or "pauze" to pauze the animation
*/
carousel(options?: Materialize.CarouselOptions): JQuery;
/**
* Our slider is a simple and elegant image carousel.
* You can also have captions that will be transitioned on their own depending on their alignment.
* You can also have indicators that show up on the bottom of the slider.
*
* @name method the methods to pause, start, move to next and move to previous slide.
*/
carousel(method: string, count: [number]): JQuery;
/**
* Modal for dialog boxes, confirmation messages, or other content that can be called up.
*
* @name options the lean modal options
*/
leanModal(options?: Materialize.LeanModalOptions): JQuery;
/**
* Open a modal programatically
*
* @name options the lean modal options
*/
openModal(options?: Materialize.LeanModalOptions): void;
/**
* Close a modal programatically
*/
closeModal(): void;
/**
* Parallax is an effect where the background content or image in this case, is moved at a different speed than the foreground content while scrolling.
*/
parallax(): JQuery;
/**
* Pushpin is a fixed positioning plugin.
*
* @name options the push pin options
*/
pushpin(options?: Materialize.PushpinOptions): JQuery;
/**
* Scrollspy is a jQuery plugin that tracks certain elements and which element the user's screen is currently centered on.
*
* @name options the scroll spy options
*/
scrollSpy(options?: Materialize.ScrollSpyOptions): JQuery;
/**
* A slide out menu. You can add a dropdown to your sidebar by using our collapsible component.
*
* @params methodOrOptions the slide navigation options or a string with "show" to reveal or "hide" to hide the menu
*/
sideNav(methodOrOptions?: Materialize.SideNavOptions|string): void;
/**
* Programmatically trigger the tab change event
*
* @name method, the method to call (always "select_tab") and a param containing the id of the tab to open
*/
tabs(method?:string, tab?:string): JQuery;
}