forked from Dogfalo/materialize
-
-
Notifications
You must be signed in to change notification settings - Fork 106
/
Copy pathglobal.ts
114 lines (110 loc) · 5 KB
/
global.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
import { Autocomplete } from './autocomplete';
import { FloatingActionButton } from './buttons';
import { Cards } from './cards';
import { Carousel } from './carousel';
import { CharacterCounter } from './characterCounter';
import { Chips } from './chips';
import { Collapsible } from './collapsible';
import { Datepicker } from './datepicker';
import { Dropdown } from './dropdown';
import { Forms } from './forms';
import { Materialbox } from './materialbox';
import { Modal } from './modal';
import { Parallax } from './parallax';
import { Pushpin } from './pushpin';
import { ScrollSpy } from './scrollspy';
import { FormSelect } from './select';
import { Sidenav } from './sidenav';
import { Slider } from './slider';
import { Tabs } from './tabs';
import { TapTarget } from './tapTarget';
import { Timepicker } from './timepicker';
import { Toast, ToastOptions } from './toasts';
import { Tooltip } from './tooltip';
import { Waves } from './waves';
import { Range } from './range';
import { Utils } from './utils';
export class M {
static version = '2.0.3';
static Autocomplete: typeof Autocomplete = Autocomplete;
static Tabs: typeof Tabs = Tabs;
static Carousel: typeof Carousel = Carousel;
static Dropdown: typeof Dropdown = Dropdown;
static FloatingActionButton: typeof FloatingActionButton = FloatingActionButton;
static Chips: typeof Chips = Chips;
static Collapsible: typeof Collapsible = Collapsible;
static Datepicker: typeof Datepicker = Datepicker;
static CharacterCounter: typeof CharacterCounter = CharacterCounter;
static Forms: typeof Forms = Forms;
static FormSelect: typeof FormSelect = FormSelect;
static Modal: typeof Modal = Modal;
static Pushpin: typeof Pushpin = Pushpin;
static Materialbox: typeof Materialbox = Materialbox;
static Parallax: typeof Parallax = Parallax;
static Slider: typeof Slider = Slider;
static Timepicker: typeof Timepicker = Timepicker;
/** Creates a toast. */
static toast: (opt: Partial<ToastOptions>) => Toast = (opt) => new Toast(opt) ;
static Tooltip: typeof Tooltip = Tooltip;
static Sidenav: typeof Sidenav = Sidenav;
static TapTarget: typeof TapTarget = TapTarget;
static ScrollSpy: typeof ScrollSpy = ScrollSpy;
static Range: typeof Range = Range;
static Waves: typeof Waves = Waves;
static Utils: typeof Utils = Utils;
static {
document.addEventListener('keydown', Utils.docHandleKeydown, true);
document.addEventListener('keyup', Utils.docHandleKeyup, true);
document.addEventListener('focus', Utils.docHandleFocus, true);
document.addEventListener('blur', Utils.docHandleBlur, true);
Cards.Init();
Forms.Init();
Chips.Init();
Waves.Init();
Range.Init();
}
/**
* Automatically initialize components.
* @param context Root element to initialize. Defaults to `document.body`.
*/
static AutoInit(context: HTMLElement = document.body) {
let registry = {
Autocomplete: context.querySelectorAll('.autocomplete:not(.no-autoinit)'),
Carousel: context.querySelectorAll('.carousel:not(.no-autoinit)'),
Chips: context.querySelectorAll('.chips:not(.no-autoinit)'),
Collapsible: context.querySelectorAll('.collapsible:not(.no-autoinit)'),
Datepicker: context.querySelectorAll('.datepicker:not(.no-autoinit)'),
Dropdown: context.querySelectorAll('.dropdown-trigger:not(.no-autoinit)'),
Materialbox: context.querySelectorAll('.materialboxed:not(.no-autoinit)'),
Modal: context.querySelectorAll('.modal:not(.no-autoinit)'),
Parallax: context.querySelectorAll('.parallax:not(.no-autoinit)'),
Pushpin: context.querySelectorAll('.pushpin:not(.no-autoinit)'),
ScrollSpy: context.querySelectorAll('.scrollspy:not(.no-autoinit)'),
FormSelect: context.querySelectorAll('select:not(.no-autoinit)'),
Sidenav: context.querySelectorAll('.sidenav:not(.no-autoinit)'),
Tabs: context.querySelectorAll('.tabs:not(.no-autoinit)'),
TapTarget: context.querySelectorAll('.tap-target:not(.no-autoinit)'),
Timepicker: context.querySelectorAll('.timepicker:not(.no-autoinit)'),
Tooltip: context.querySelectorAll('.tooltipped:not(.no-autoinit)'),
FloatingActionButton: context.querySelectorAll('.fixed-action-btn:not(.no-autoinit)'),
};
M.Autocomplete.init(registry.Autocomplete, {});
M.Carousel.init(registry.Carousel, {});
M.Chips.init(registry.Chips, {});
M.Collapsible.init(registry.Collapsible, {});
M.Datepicker.init(registry.Datepicker, {});
M.Dropdown.init(registry.Dropdown, {});
M.Materialbox.init(registry.Materialbox, {});
M.Modal.init(registry.Modal, {});
M.Parallax.init(registry.Parallax, {});
M.Pushpin.init(registry.Pushpin, {});
M.ScrollSpy.init(registry.ScrollSpy, {});
M.FormSelect.init(registry.FormSelect, {});
M.Sidenav.init(registry.Sidenav, {});
M.Tabs.init(registry.Tabs, {});
M.TapTarget.init(registry.TapTarget, {});
M.Timepicker.init(registry.Timepicker, {});
M.Tooltip.init(registry.Tooltip, {});
M.FloatingActionButton.init(registry.FloatingActionButton, {});
}
}