materialize-sass 1.0.0.alpha4 → 1.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/Rakefile +1 -2
- data/assets/javascripts/materialize.js +881 -608
- data/assets/javascripts/materialize/autocomplete.js +36 -16
- data/assets/javascripts/materialize/carousel.js +42 -34
- data/assets/javascripts/materialize/chips.js +3 -1
- data/assets/javascripts/materialize/collapsible.js +31 -8
- data/assets/javascripts/materialize/datepicker.js +38 -29
- data/assets/javascripts/materialize/dropdown.js +112 -24
- data/assets/javascripts/materialize/forms.js +2 -2
- data/assets/javascripts/materialize/global.js +35 -0
- data/assets/javascripts/materialize/modal.js +26 -1
- data/assets/javascripts/materialize/select.js +10 -0
- data/assets/javascripts/materialize/sidenav.js +30 -9
- data/assets/javascripts/materialize/slider.js +3 -1
- data/assets/javascripts/materialize/tabs.js +6 -0
- data/assets/javascripts/materialize/tapTarget.js +19 -19
- data/assets/javascripts/materialize/timepicker.js +584 -579
- data/assets/javascripts/materialize/tooltip.js +31 -12
- data/assets/stylesheets/materialize/components/_cards.scss +2 -1
- data/assets/stylesheets/materialize/components/_datepicker.scss +1 -0
- data/assets/stylesheets/materialize/components/_tabs.scss +7 -1
- data/assets/stylesheets/materialize/components/forms/_input-fields.scss +7 -5
- data/assets/stylesheets/materialize/components/forms/_select.scss +0 -14
- data/lib/materialize-sass/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4755204505bc3a5591234d26b238680d84484c3f938769b3f91facb5a5d07271
|
4
|
+
data.tar.gz: 9d78d633753c4a7dc26a2f263de490b25eae9219e00612bd27d9dd96c1230641
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bce13964ed4bc9135583c28101ca1f1b97982a7bb1453bdcb9e056cc8bc4d69c32f28da44060387af99cfef922e536635b913e3d900b183be2258233284ceee
|
7
|
+
data.tar.gz: 455515535558551160a31c826d2fdec6c768b50ff59ee59cfc8e928d3eeb2ebeb17ac263d2f1eac739e61bea5f8e3ad73f9cace339b11344df1cbf1b9ee938a1
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@ example: http://materialize.labs.my/
|
|
7
7
|
source: https://github.com/mkhairi/materialize-rails
|
8
8
|
|
9
9
|
# Notices
|
10
|
-
This master branch now v1.0.0.
|
10
|
+
This master branch now v1.0.0.beta
|
11
11
|
|
12
12
|
Documentation for previous releases (v0.100.*) are available [this branch.](https://github.com/mkhairi/materialize-sass/tree/v0.100)
|
13
13
|
|
@@ -16,7 +16,7 @@ Documentation for previous releases (v0.100.*) are available [this branch.](http
|
|
16
16
|
In your Gemfile you need to add the `materialize-sass` gem:
|
17
17
|
|
18
18
|
```ruby
|
19
|
-
gem 'materialize-sass', '~> 1.0.0.
|
19
|
+
gem 'materialize-sass', '~> 1.0.0.beta'
|
20
20
|
```
|
21
21
|
|
22
22
|
|
@@ -53,7 +53,7 @@ $ rm app/assets/stylesheets/application.css
|
|
53
53
|
Since materialize color scheme are declared in color.scss you should import the color.scss first. then you can override color variable just like this:
|
54
54
|
|
55
55
|
```scss
|
56
|
-
@import "materialize/components/color";
|
56
|
+
@import "materialize/components/color-variables";
|
57
57
|
$primary-color: color("blue", "lighten-2") !default;
|
58
58
|
$secondary-color: color("yellow", "base") !default;
|
59
59
|
@import 'materialize';
|
data/Rakefile
CHANGED
@@ -32,8 +32,7 @@ namespace :javascripts do
|
|
32
32
|
task :turbolinks_init do
|
33
33
|
files = Dir.glob('assets/javascripts/materialize/**/*.js').reject { |file| file.end_with?(".min.js") and File.file?(file) }
|
34
34
|
files.each do |file|
|
35
|
-
selected_files = %w(
|
36
|
-
dropdown.js forms.js materialbox.js scrollspy.js tabs.js tooltip.js transitions.js)
|
35
|
+
selected_files = %w(forms.js chips.js)
|
37
36
|
file_name = File.basename file
|
38
37
|
#only selected file
|
39
38
|
if selected_files.include?(file_name)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Materialize v1.0.0-
|
2
|
+
* Materialize v1.0.0-beta (http://materializecss.com)
|
3
3
|
* Copyright 2014-2017 Materialize
|
4
4
|
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
5
|
*/
|
@@ -1144,6 +1144,41 @@ M.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
|
|
1144
1144
|
};
|
1145
1145
|
};
|
1146
1146
|
|
1147
|
+
/**
|
1148
|
+
* Automatically initialize components
|
1149
|
+
* @param {Element} context DOM Element to search within for components
|
1150
|
+
*/
|
1151
|
+
M.AutoInit = function (context) {
|
1152
|
+
// Use document.body if no context is given
|
1153
|
+
var root = !!context ? context : document.body;
|
1154
|
+
|
1155
|
+
var registry = {
|
1156
|
+
Autocomplete: root.querySelectorAll('.autocomplete:not(.no-autoinit)'),
|
1157
|
+
Carousel: root.querySelectorAll('.carousel:not(.no-autoinit)'),
|
1158
|
+
Chips: root.querySelectorAll('.chips:not(.no-autoinit)'),
|
1159
|
+
Collapsible: root.querySelectorAll('.collapsible:not(.no-autoinit)'),
|
1160
|
+
Datepicker: root.querySelectorAll('.datepicker:not(.no-autoinit)'),
|
1161
|
+
Dropdown: root.querySelectorAll('.dropdown-trigger:not(.no-autoinit)'),
|
1162
|
+
Materialbox: root.querySelectorAll('.materialboxed:not(.no-autoinit)'),
|
1163
|
+
Modal: root.querySelectorAll('.modal:not(.no-autoinit)'),
|
1164
|
+
Parallax: root.querySelectorAll('.parallax:not(.no-autoinit)'),
|
1165
|
+
Pushpin: root.querySelectorAll('.pushpin:not(.no-autoinit)'),
|
1166
|
+
ScrollSpy: root.querySelectorAll('.scrollspy:not(.no-autoinit)'),
|
1167
|
+
FormSelect: root.querySelectorAll('select:not(.no-autoinit)'),
|
1168
|
+
Sidenav: root.querySelectorAll('.sidenav:not(.no-autoinit)'),
|
1169
|
+
Tabs: root.querySelectorAll('.tabs:not(.no-autoinit)'),
|
1170
|
+
TapTarget: root.querySelectorAll('.tap-target:not(.no-autoinit)'),
|
1171
|
+
Timepicker: root.querySelectorAll('.timepicker:not(.no-autoinit)'),
|
1172
|
+
Tooltip: root.querySelectorAll('.tooltipped:not(.no-autoinit)'),
|
1173
|
+
FloatingActionButton: root.querySelectorAll('.fixed-action-btn:not(.no-autoinit)')
|
1174
|
+
};
|
1175
|
+
|
1176
|
+
for (var pluginName in registry) {
|
1177
|
+
var plugin = M[pluginName];
|
1178
|
+
plugin.init(registry[pluginName]);
|
1179
|
+
}
|
1180
|
+
};
|
1181
|
+
|
1147
1182
|
/**
|
1148
1183
|
* Generate approximated selector string for a jQuery object
|
1149
1184
|
* @param {jQuery} obj jQuery object to be parsed
|
@@ -1878,6 +1913,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1878
1913
|
*/
|
1879
1914
|
_this3.options = $.extend({}, Collapsible.defaults, options);
|
1880
1915
|
|
1916
|
+
// Setup tab indices
|
1917
|
+
_this3.$headers = _this3.$el.children('li').children('.collapsible-header');
|
1918
|
+
_this3.$headers.attr('tabindex', 0);
|
1919
|
+
|
1881
1920
|
_this3._setupEventHandlers();
|
1882
1921
|
|
1883
1922
|
// Open first active
|
@@ -1911,8 +1950,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1911
1950
|
}, {
|
1912
1951
|
key: "_setupEventHandlers",
|
1913
1952
|
value: function _setupEventHandlers() {
|
1953
|
+
var _this4 = this;
|
1954
|
+
|
1914
1955
|
this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this);
|
1956
|
+
this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this);
|
1915
1957
|
this.el.addEventListener('click', this._handleCollapsibleClickBound);
|
1958
|
+
this.$headers.each(function (header) {
|
1959
|
+
header.addEventListener('keydown', _this4._handleCollapsibleKeydownBound);
|
1960
|
+
});
|
1916
1961
|
}
|
1917
1962
|
|
1918
1963
|
/**
|
@@ -1951,6 +1996,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1951
1996
|
}
|
1952
1997
|
}
|
1953
1998
|
|
1999
|
+
/**
|
2000
|
+
* Handle Collapsible Keydown
|
2001
|
+
* @param {Event} e
|
2002
|
+
*/
|
2003
|
+
|
2004
|
+
}, {
|
2005
|
+
key: "_handleCollapsibleKeydown",
|
2006
|
+
value: function _handleCollapsibleKeydown(e) {
|
2007
|
+
if (e.keyCode === 13) {
|
2008
|
+
this._handleCollapsibleClickBound(e);
|
2009
|
+
}
|
2010
|
+
}
|
2011
|
+
|
1954
2012
|
/**
|
1955
2013
|
* Animate in collapsible slide
|
1956
2014
|
* @param {Number} index - 0th index of slide
|
@@ -1959,7 +2017,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1959
2017
|
}, {
|
1960
2018
|
key: "_animateIn",
|
1961
2019
|
value: function _animateIn(index) {
|
1962
|
-
var
|
2020
|
+
var _this5 = this;
|
1963
2021
|
|
1964
2022
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
1965
2023
|
if ($collapsibleLi.length) {
|
@@ -1998,8 +2056,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1998
2056
|
});
|
1999
2057
|
|
2000
2058
|
// onOpenEnd callback
|
2001
|
-
if (typeof
|
2002
|
-
|
2059
|
+
if (typeof _this5.options.onOpenEnd === 'function') {
|
2060
|
+
_this5.options.onOpenEnd.call(_this5, $collapsibleLi[0]);
|
2003
2061
|
}
|
2004
2062
|
}
|
2005
2063
|
});
|
@@ -2014,7 +2072,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2014
2072
|
}, {
|
2015
2073
|
key: "_animateOut",
|
2016
2074
|
value: function _animateOut(index) {
|
2017
|
-
var
|
2075
|
+
var _this6 = this;
|
2018
2076
|
|
2019
2077
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2020
2078
|
if ($collapsibleLi.length) {
|
@@ -2037,8 +2095,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2037
2095
|
});
|
2038
2096
|
|
2039
2097
|
// onCloseEnd callback
|
2040
|
-
if (typeof
|
2041
|
-
|
2098
|
+
if (typeof _this6.options.onCloseEnd === 'function') {
|
2099
|
+
_this6.options.onCloseEnd.call(_this6, $collapsibleLi[0]);
|
2042
2100
|
}
|
2043
2101
|
}
|
2044
2102
|
});
|
@@ -2053,7 +2111,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2053
2111
|
}, {
|
2054
2112
|
key: "open",
|
2055
2113
|
value: function open(index) {
|
2056
|
-
var
|
2114
|
+
var _this7 = this;
|
2057
2115
|
|
2058
2116
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2059
2117
|
if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
|
@@ -2069,7 +2127,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2069
2127
|
var $activeLis = this.$el.children('li.active');
|
2070
2128
|
$activeLis.each(function (el) {
|
2071
2129
|
var index = $collapsibleLis.index($(el));
|
2072
|
-
|
2130
|
+
_this7.close(index);
|
2073
2131
|
});
|
2074
2132
|
}
|
2075
2133
|
|
@@ -2137,6 +2195,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2137
2195
|
|
2138
2196
|
var _defaults = {
|
2139
2197
|
alignment: 'left',
|
2198
|
+
autoFocus: true,
|
2140
2199
|
constrainWidth: true,
|
2141
2200
|
container: null,
|
2142
2201
|
coverTrigger: true,
|
@@ -2160,19 +2219,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2160
2219
|
function Dropdown(el, options) {
|
2161
2220
|
_classCallCheck(this, Dropdown);
|
2162
2221
|
|
2163
|
-
var
|
2222
|
+
var _this8 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options));
|
2164
2223
|
|
2165
|
-
|
2166
|
-
Dropdown._dropdowns.push(
|
2224
|
+
_this8.el.M_Dropdown = _this8;
|
2225
|
+
Dropdown._dropdowns.push(_this8);
|
2167
2226
|
|
2168
|
-
|
2169
|
-
|
2170
|
-
|
2227
|
+
_this8.id = M.getIdFromTrigger(el);
|
2228
|
+
_this8.dropdownEl = document.getElementById(_this8.id);
|
2229
|
+
_this8.$dropdownEl = $(_this8.dropdownEl);
|
2171
2230
|
|
2172
2231
|
/**
|
2173
2232
|
* Options for the dropdown
|
2174
2233
|
* @member Dropdown#options
|
2175
2234
|
* @prop {String} [alignment='left'] - Edge which the dropdown is aligned to
|
2235
|
+
* @prop {Boolean} [autoFocus=true] - Automatically focus dropdown el for keyboard
|
2176
2236
|
* @prop {Boolean} [constrainWidth=true] - Constrain width to width of the button
|
2177
2237
|
* @prop {Element} container - Container element to attach dropdown to (optional)
|
2178
2238
|
* @prop {Boolean} [coverTrigger=true] - Place dropdown over trigger
|
@@ -2185,31 +2245,44 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2185
2245
|
* @prop {Function} onCloseStart - Function called when dropdown starts closing
|
2186
2246
|
* @prop {Function} onCloseEnd - Function called when dropdown finishes closing
|
2187
2247
|
*/
|
2188
|
-
|
2248
|
+
_this8.options = $.extend({}, Dropdown.defaults, options);
|
2189
2249
|
|
2190
2250
|
/**
|
2191
2251
|
* Describes open/close state of dropdown
|
2192
2252
|
* @type {Boolean}
|
2193
2253
|
*/
|
2194
|
-
|
2254
|
+
_this8.isOpen = false;
|
2195
2255
|
|
2196
|
-
|
2197
|
-
|
2256
|
+
/**
|
2257
|
+
* Describes if dropdown content is scrollable
|
2258
|
+
* @type {Boolean}
|
2259
|
+
*/
|
2260
|
+
_this8.isScrollable = false;
|
2261
|
+
|
2262
|
+
/**
|
2263
|
+
* Describes if touch moving on dropdown content
|
2264
|
+
* @type {Boolean}
|
2265
|
+
*/
|
2266
|
+
_this8.isTouchMoving = false;
|
2267
|
+
|
2268
|
+
_this8.focusedIndex = -1;
|
2269
|
+
_this8.filterQuery = [];
|
2198
2270
|
|
2199
2271
|
// Move dropdown-content after dropdown-trigger
|
2200
|
-
if (!!
|
2201
|
-
$(
|
2272
|
+
if (!!_this8.options.container) {
|
2273
|
+
$(_this8.options.container).append(_this8.dropdownEl);
|
2202
2274
|
} else {
|
2203
|
-
|
2275
|
+
_this8.$el.after(_this8.dropdownEl);
|
2204
2276
|
}
|
2205
2277
|
|
2206
|
-
|
2207
|
-
|
2208
|
-
|
2209
|
-
|
2210
|
-
|
2211
|
-
|
2212
|
-
|
2278
|
+
_this8._makeDropdownFocusable();
|
2279
|
+
_this8._resetFilterQueryBound = _this8._resetFilterQuery.bind(_this8);
|
2280
|
+
_this8._handleDocumentClickBound = _this8._handleDocumentClick.bind(_this8);
|
2281
|
+
_this8._handleDocumentTouchmoveBound = _this8._handleDocumentTouchmove.bind(_this8);
|
2282
|
+
_this8._handleDropdownKeydownBound = _this8._handleDropdownKeydown.bind(_this8);
|
2283
|
+
_this8._handleTriggerKeydownBound = _this8._handleTriggerKeydown.bind(_this8);
|
2284
|
+
_this8._setupEventHandlers();
|
2285
|
+
return _this8;
|
2213
2286
|
}
|
2214
2287
|
|
2215
2288
|
_createClass(Dropdown, [{
|
@@ -2275,6 +2348,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2275
2348
|
// Use capture phase event handler to prevent click
|
2276
2349
|
document.body.addEventListener('click', this._handleDocumentClickBound, true);
|
2277
2350
|
document.body.addEventListener('touchend', this._handleDocumentClickBound);
|
2351
|
+
document.body.addEventListener('touchmove', this._handleDocumentTouchmoveBound);
|
2278
2352
|
this.dropdownEl.addEventListener('keydown', this._handleDropdownKeydownBound);
|
2279
2353
|
}
|
2280
2354
|
}, {
|
@@ -2283,6 +2357,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2283
2357
|
// Use capture phase event handler to prevent click
|
2284
2358
|
document.body.removeEventListener('click', this._handleDocumentClickBound, true);
|
2285
2359
|
document.body.removeEventListener('touchend', this._handleDocumentClickBound);
|
2360
|
+
document.body.removeEventListener('touchmove', this._handleDocumentTouchmoveBound);
|
2286
2361
|
this.dropdownEl.removeEventListener('keydown', this._handleDropdownKeydownBound);
|
2287
2362
|
}
|
2288
2363
|
}, {
|
@@ -2316,18 +2391,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2316
2391
|
}, {
|
2317
2392
|
key: "_handleDocumentClick",
|
2318
2393
|
value: function _handleDocumentClick(e) {
|
2319
|
-
var
|
2394
|
+
var _this9 = this;
|
2320
2395
|
|
2321
2396
|
var $target = $(e.target);
|
2322
|
-
if (this.options.closeOnClick && $target.closest('.dropdown-content').length) {
|
2397
|
+
if (this.options.closeOnClick && $target.closest('.dropdown-content').length && !this.isTouchMoving) {
|
2398
|
+
// isTouchMoving to check if scrolling on mobile.
|
2323
2399
|
setTimeout(function () {
|
2324
|
-
|
2400
|
+
_this9.close();
|
2325
2401
|
}, 0);
|
2326
2402
|
} else if ($target.closest('.dropdown-trigger').length || !$target.closest('.dropdown-content').length) {
|
2327
2403
|
setTimeout(function () {
|
2328
|
-
|
2404
|
+
_this9.close();
|
2329
2405
|
}, 0);
|
2330
2406
|
}
|
2407
|
+
this.isTouchMoving = false;
|
2331
2408
|
}
|
2332
2409
|
}, {
|
2333
2410
|
key: "_handleTriggerKeydown",
|
@@ -2339,6 +2416,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2339
2416
|
}
|
2340
2417
|
}
|
2341
2418
|
|
2419
|
+
/**
|
2420
|
+
* Handle Document Touchmove
|
2421
|
+
* @param {Event} e
|
2422
|
+
*/
|
2423
|
+
|
2424
|
+
}, {
|
2425
|
+
key: "_handleDocumentTouchmove",
|
2426
|
+
value: function _handleDocumentTouchmove(e) {
|
2427
|
+
var $target = $(e.target);
|
2428
|
+
if ($target.closest('.dropdown-content').length) {
|
2429
|
+
this.isTouchMoving = true;
|
2430
|
+
}
|
2431
|
+
}
|
2432
|
+
|
2342
2433
|
/**
|
2343
2434
|
* Handle Dropdown Keydown
|
2344
2435
|
* @param {Event} e
|
@@ -2355,8 +2446,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2355
2446
|
} else if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) && this.isOpen) {
|
2356
2447
|
e.preventDefault();
|
2357
2448
|
var direction = e.which === M.keys.ARROW_DOWN ? 1 : -1;
|
2358
|
-
|
2359
|
-
|
2449
|
+
var newFocusedIndex = this.focusedIndex;
|
2450
|
+
var foundNewIndex = false;
|
2451
|
+
do {
|
2452
|
+
newFocusedIndex = newFocusedIndex + direction;
|
2453
|
+
|
2454
|
+
if (!!this.dropdownEl.children[newFocusedIndex] && this.dropdownEl.children[newFocusedIndex].tabIndex !== -1) {
|
2455
|
+
foundNewIndex = true;
|
2456
|
+
break;
|
2457
|
+
}
|
2458
|
+
} while (newFocusedIndex < this.dropdownEl.children.length && newFocusedIndex >= 0);
|
2459
|
+
|
2460
|
+
if (foundNewIndex) {
|
2461
|
+
this.focusedIndex = newFocusedIndex;
|
2462
|
+
this._focusFocusedItem();
|
2463
|
+
}
|
2360
2464
|
|
2361
2465
|
// ENTER selects choice on focused item
|
2362
2466
|
} else if (e.which === M.keys.ENTER && this.isOpen) {
|
@@ -2419,16 +2523,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2419
2523
|
}, {
|
2420
2524
|
key: "_makeDropdownFocusable",
|
2421
2525
|
value: function _makeDropdownFocusable() {
|
2422
|
-
|
2423
|
-
|
2424
|
-
}
|
2526
|
+
// Needed for arrow key navigation
|
2527
|
+
this.dropdownEl.tabIndex = 0;
|
2425
2528
|
|
2426
|
-
|
2529
|
+
// Only set tabindex if it hasn't been set by user
|
2530
|
+
$(this.dropdownEl).children().each(function (el) {
|
2531
|
+
if (!el.getAttribute('tabindex')) {
|
2532
|
+
el.setAttribute('tabindex', 0);
|
2533
|
+
}
|
2534
|
+
});
|
2427
2535
|
}
|
2428
2536
|
}, {
|
2429
2537
|
key: "_focusFocusedItem",
|
2430
2538
|
value: function _focusFocusedItem() {
|
2431
|
-
if (this.focusedIndex >= 0 && this.focusedIndex < this.dropdownEl.children.length) {
|
2539
|
+
if (this.focusedIndex >= 0 && this.focusedIndex < this.dropdownEl.children.length && this.options.autoFocus) {
|
2432
2540
|
this.dropdownEl.children[this.focusedIndex].focus();
|
2433
2541
|
}
|
2434
2542
|
}
|
@@ -2458,10 +2566,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2458
2566
|
var verticalAlignment = 'top';
|
2459
2567
|
var horizontalAlignment = this.options.alignment;
|
2460
2568
|
idealYPos += this.options.coverTrigger ? 0 : triggerBRect.height;
|
2569
|
+
|
2570
|
+
// Reset isScrollable
|
2571
|
+
this.isScrollable = false;
|
2572
|
+
|
2461
2573
|
if (!alignments.top) {
|
2462
2574
|
if (alignments.bottom) {
|
2463
2575
|
verticalAlignment = 'bottom';
|
2464
2576
|
} else {
|
2577
|
+
this.isScrollable = true;
|
2578
|
+
|
2465
2579
|
// Determine which side has most space and cutoff at correct height
|
2466
2580
|
if (alignments.spaceOnTop > alignments.spaceOnBottom) {
|
2467
2581
|
verticalAlignment = 'bottom';
|
@@ -2513,15 +2627,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2513
2627
|
|
2514
2628
|
}, {
|
2515
2629
|
key: "_animateIn",
|
2516
|
-
value: function _animateIn(
|
2517
|
-
var
|
2518
|
-
|
2519
|
-
// Place dropdown
|
2520
|
-
this.dropdownEl.style.left = positionInfo.x + 'px';
|
2521
|
-
this.dropdownEl.style.top = positionInfo.y + 'px';
|
2522
|
-
this.dropdownEl.style.height = positionInfo.height + 'px';
|
2523
|
-
this.dropdownEl.style.width = positionInfo.width + 'px';
|
2524
|
-
this.dropdownEl.style.transformOrigin = (positionInfo.horizontalAlignment === 'left' ? '0' : '100%') + " " + (positionInfo.verticalAlignment === 'top' ? '0' : '100%');
|
2630
|
+
value: function _animateIn() {
|
2631
|
+
var _this10 = this;
|
2525
2632
|
|
2526
2633
|
anim.remove(this.dropdownEl);
|
2527
2634
|
anim({
|
@@ -2535,12 +2642,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2535
2642
|
duration: this.options.inDuration,
|
2536
2643
|
easing: 'easeOutQuint',
|
2537
2644
|
complete: function (anim) {
|
2538
|
-
|
2645
|
+
if (_this10.options.autoFocus) {
|
2646
|
+
_this10.dropdownEl.focus();
|
2647
|
+
}
|
2539
2648
|
|
2540
2649
|
// onOpenEnd callback
|
2541
|
-
if (typeof
|
2650
|
+
if (typeof _this10.options.onOpenEnd === 'function') {
|
2542
2651
|
var elem = anim.animatables[0].target;
|
2543
|
-
|
2652
|
+
_this10.options.onOpenEnd.call(elem, _this10.el);
|
2544
2653
|
}
|
2545
2654
|
}
|
2546
2655
|
});
|
@@ -2553,7 +2662,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2553
2662
|
}, {
|
2554
2663
|
key: "_animateOut",
|
2555
2664
|
value: function _animateOut() {
|
2556
|
-
var
|
2665
|
+
var _this11 = this;
|
2557
2666
|
|
2558
2667
|
anim.remove(this.dropdownEl);
|
2559
2668
|
anim({
|
@@ -2567,17 +2676,36 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2567
2676
|
duration: this.options.outDuration,
|
2568
2677
|
easing: 'easeOutQuint',
|
2569
2678
|
complete: function (anim) {
|
2570
|
-
|
2679
|
+
_this11._resetDropdownStyles();
|
2571
2680
|
|
2572
2681
|
// onCloseEnd callback
|
2573
|
-
if (typeof
|
2682
|
+
if (typeof _this11.options.onCloseEnd === 'function') {
|
2574
2683
|
var elem = anim.animatables[0].target;
|
2575
|
-
|
2684
|
+
_this11.options.onCloseEnd.call(_this11, _this11.el);
|
2576
2685
|
}
|
2577
2686
|
}
|
2578
2687
|
});
|
2579
2688
|
}
|
2580
2689
|
|
2690
|
+
/**
|
2691
|
+
* Place dropdown
|
2692
|
+
*/
|
2693
|
+
|
2694
|
+
}, {
|
2695
|
+
key: "_placeDropdown",
|
2696
|
+
value: function _placeDropdown() {
|
2697
|
+
// Set width before calculating positionInfo
|
2698
|
+
var idealWidth = this.options.constrainWidth ? this.el.getBoundingClientRect().width : this.dropdownEl.getBoundingClientRect().width;
|
2699
|
+
this.dropdownEl.style.width = idealWidth + 'px';
|
2700
|
+
|
2701
|
+
var positionInfo = this._getDropdownPosition();
|
2702
|
+
this.dropdownEl.style.left = positionInfo.x + 'px';
|
2703
|
+
this.dropdownEl.style.top = positionInfo.y + 'px';
|
2704
|
+
this.dropdownEl.style.height = positionInfo.height + 'px';
|
2705
|
+
this.dropdownEl.style.width = positionInfo.width + 'px';
|
2706
|
+
this.dropdownEl.style.transformOrigin = (positionInfo.horizontalAlignment === 'left' ? '0' : '100%') + " " + (positionInfo.verticalAlignment === 'top' ? '0' : '100%');
|
2707
|
+
}
|
2708
|
+
|
2581
2709
|
/**
|
2582
2710
|
* Open Dropdown
|
2583
2711
|
*/
|
@@ -2599,12 +2727,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2599
2727
|
this._resetDropdownStyles();
|
2600
2728
|
this.dropdownEl.style.display = 'block';
|
2601
2729
|
|
2602
|
-
|
2603
|
-
|
2604
|
-
this.dropdownEl.style.width = idealWidth + 'px';
|
2605
|
-
|
2606
|
-
var positionInfo = this._getDropdownPosition();
|
2607
|
-
this._animateIn(positionInfo);
|
2730
|
+
this._placeDropdown();
|
2731
|
+
this._animateIn();
|
2608
2732
|
this._setupTemporaryEventHandlers();
|
2609
2733
|
}
|
2610
2734
|
|
@@ -2628,7 +2752,29 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2628
2752
|
|
2629
2753
|
this._animateOut();
|
2630
2754
|
this._removeTemporaryEventHandlers();
|
2631
|
-
|
2755
|
+
|
2756
|
+
if (this.options.autoFocus) {
|
2757
|
+
this.el.focus();
|
2758
|
+
}
|
2759
|
+
}
|
2760
|
+
|
2761
|
+
/**
|
2762
|
+
* Recalculate dimensions
|
2763
|
+
*/
|
2764
|
+
|
2765
|
+
}, {
|
2766
|
+
key: "recalculateDimensions",
|
2767
|
+
value: function recalculateDimensions() {
|
2768
|
+
if (this.isOpen) {
|
2769
|
+
this.$dropdownEl.css({
|
2770
|
+
width: '',
|
2771
|
+
height: '',
|
2772
|
+
left: '',
|
2773
|
+
top: '',
|
2774
|
+
'transform-origin': ''
|
2775
|
+
});
|
2776
|
+
this._placeDropdown();
|
2777
|
+
}
|
2632
2778
|
}
|
2633
2779
|
}], [{
|
2634
2780
|
key: "init",
|
@@ -2681,6 +2827,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2681
2827
|
onOpenEnd: null,
|
2682
2828
|
onCloseStart: null,
|
2683
2829
|
onCloseEnd: null,
|
2830
|
+
preventScrolling: true,
|
2684
2831
|
dismissible: true,
|
2685
2832
|
startingTop: '4%',
|
2686
2833
|
endingTop: '10%'
|
@@ -2703,9 +2850,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2703
2850
|
function Modal(el, options) {
|
2704
2851
|
_classCallCheck(this, Modal);
|
2705
2852
|
|
2706
|
-
var
|
2853
|
+
var _this12 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
|
2707
2854
|
|
2708
|
-
|
2855
|
+
_this12.el.M_Modal = _this12;
|
2709
2856
|
|
2710
2857
|
/**
|
2711
2858
|
* Options for the modal
|
@@ -2721,21 +2868,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2721
2868
|
* @prop {String} [startingTop='4%'] - startingTop
|
2722
2869
|
* @prop {String} [endingTop='10%'] - endingTop
|
2723
2870
|
*/
|
2724
|
-
|
2871
|
+
_this12.options = $.extend({}, Modal.defaults, options);
|
2725
2872
|
|
2726
2873
|
/**
|
2727
2874
|
* Describes open/close state of modal
|
2728
2875
|
* @type {Boolean}
|
2729
2876
|
*/
|
2730
|
-
|
2877
|
+
_this12.isOpen = false;
|
2731
2878
|
|
2732
|
-
|
2733
|
-
|
2734
|
-
|
2879
|
+
_this12.id = _this12.$el.attr('id');
|
2880
|
+
_this12._openingTrigger = undefined;
|
2881
|
+
_this12.$overlay = $('<div class="modal-overlay"></div>');
|
2882
|
+
_this12.el.tabIndex = 0;
|
2735
2883
|
|
2736
2884
|
Modal._count++;
|
2737
|
-
|
2738
|
-
return
|
2885
|
+
_this12._setupEventHandlers();
|
2886
|
+
return _this12;
|
2739
2887
|
}
|
2740
2888
|
|
2741
2889
|
_createClass(Modal, [{
|
@@ -2843,6 +2991,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2843
2991
|
}
|
2844
2992
|
}
|
2845
2993
|
|
2994
|
+
/**
|
2995
|
+
* Handle Focus
|
2996
|
+
* @param {Event} e
|
2997
|
+
*/
|
2998
|
+
|
2999
|
+
}, {
|
3000
|
+
key: "_handleFocus",
|
3001
|
+
value: function _handleFocus(e) {
|
3002
|
+
if (!this.el.contains(e.target)) {
|
3003
|
+
this.el.focus();
|
3004
|
+
}
|
3005
|
+
}
|
3006
|
+
|
2846
3007
|
/**
|
2847
3008
|
* Animate in modal
|
2848
3009
|
*/
|
@@ -2850,7 +3011,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2850
3011
|
}, {
|
2851
3012
|
key: "_animateIn",
|
2852
3013
|
value: function _animateIn() {
|
2853
|
-
var
|
3014
|
+
var _this13 = this;
|
2854
3015
|
|
2855
3016
|
// Set initial styles
|
2856
3017
|
$.extend(this.el.style, {
|
@@ -2877,8 +3038,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2877
3038
|
easing: 'easeOutCubic',
|
2878
3039
|
// Handle modal onOpenEnd callback
|
2879
3040
|
complete: function () {
|
2880
|
-
if (typeof
|
2881
|
-
|
3041
|
+
if (typeof _this13.options.onOpenEnd === 'function') {
|
3042
|
+
_this13.options.onOpenEnd.call(_this13, _this13.el, _this13._openingTrigger);
|
2882
3043
|
}
|
2883
3044
|
}
|
2884
3045
|
};
|
@@ -2910,7 +3071,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2910
3071
|
}, {
|
2911
3072
|
key: "_animateOut",
|
2912
3073
|
value: function _animateOut() {
|
2913
|
-
var
|
3074
|
+
var _this14 = this;
|
2914
3075
|
|
2915
3076
|
// Animate overlay
|
2916
3077
|
anim({
|
@@ -2927,12 +3088,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2927
3088
|
easing: 'easeOutCubic',
|
2928
3089
|
// Handle modal ready callback
|
2929
3090
|
complete: function () {
|
2930
|
-
|
2931
|
-
|
3091
|
+
_this14.el.style.display = 'none';
|
3092
|
+
_this14.$overlay.remove();
|
2932
3093
|
|
2933
3094
|
// Call onCloseEnd callback
|
2934
|
-
if (typeof
|
2935
|
-
|
3095
|
+
if (typeof _this14.options.onCloseEnd === 'function') {
|
3096
|
+
_this14.options.onCloseEnd.call(_this14, _this14.el);
|
2936
3097
|
}
|
2937
3098
|
}
|
2938
3099
|
};
|
@@ -2984,18 +3145,27 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2984
3145
|
this.options.onOpenStart.call(this, this.el, this._openingTrigger);
|
2985
3146
|
}
|
2986
3147
|
|
2987
|
-
|
3148
|
+
if (this.options.preventScrolling) {
|
3149
|
+
document.body.style.overflow = 'hidden';
|
3150
|
+
}
|
3151
|
+
|
2988
3152
|
this.el.classList.add('open');
|
2989
3153
|
this.el.insertAdjacentElement('afterend', this.$overlay[0]);
|
2990
3154
|
|
2991
3155
|
if (this.options.dismissible) {
|
2992
3156
|
this._handleKeydownBound = this._handleKeydown.bind(this);
|
3157
|
+
this._handleFocusBound = this._handleFocus.bind(this);
|
2993
3158
|
document.addEventListener('keydown', this._handleKeydownBound);
|
3159
|
+
document.addEventListener('focus', this._handleFocusBound, true);
|
2994
3160
|
}
|
2995
3161
|
|
2996
3162
|
anim.remove(this.el);
|
2997
3163
|
anim.remove(this.$overlay[0]);
|
2998
3164
|
this._animateIn();
|
3165
|
+
|
3166
|
+
// Focus modal
|
3167
|
+
this.el.focus();
|
3168
|
+
|
2999
3169
|
return this;
|
3000
3170
|
}
|
3001
3171
|
|
@@ -3027,6 +3197,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3027
3197
|
|
3028
3198
|
if (this.options.dismissible) {
|
3029
3199
|
document.removeEventListener('keydown', this._handleKeydownBound);
|
3200
|
+
document.removeEventListener('focus', this._handleFocusBound);
|
3030
3201
|
}
|
3031
3202
|
|
3032
3203
|
anim.remove(this.el);
|
@@ -3109,9 +3280,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3109
3280
|
function Materialbox(el, options) {
|
3110
3281
|
_classCallCheck(this, Materialbox);
|
3111
3282
|
|
3112
|
-
var
|
3283
|
+
var _this15 = _possibleConstructorReturn(this, (Materialbox.__proto__ || Object.getPrototypeOf(Materialbox)).call(this, Materialbox, el, options));
|
3113
3284
|
|
3114
|
-
|
3285
|
+
_this15.el.M_Materialbox = _this15;
|
3115
3286
|
|
3116
3287
|
/**
|
3117
3288
|
* Options for the modal
|
@@ -3123,22 +3294,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3123
3294
|
* @prop {Function} onCloseStart - Callback function called before materialbox is closed
|
3124
3295
|
* @prop {Function} onCloseEnd - Callback function called after materialbox is closed
|
3125
3296
|
*/
|
3126
|
-
|
3297
|
+
_this15.options = $.extend({}, Materialbox.defaults, options);
|
3127
3298
|
|
3128
|
-
|
3129
|
-
|
3130
|
-
|
3131
|
-
|
3132
|
-
|
3133
|
-
|
3134
|
-
|
3299
|
+
_this15.overlayActive = false;
|
3300
|
+
_this15.doneAnimating = true;
|
3301
|
+
_this15.placeholder = $('<div></div>').addClass('material-placeholder');
|
3302
|
+
_this15.originalWidth = 0;
|
3303
|
+
_this15.originalHeight = 0;
|
3304
|
+
_this15.originInlineStyles = _this15.$el.attr('style');
|
3305
|
+
_this15.caption = _this15.el.getAttribute('data-caption') || "";
|
3135
3306
|
|
3136
3307
|
// Wrap
|
3137
|
-
|
3138
|
-
|
3308
|
+
_this15.$el.before(_this15.placeholder);
|
3309
|
+
_this15.placeholder.append(_this15.$el);
|
3139
3310
|
|
3140
|
-
|
3141
|
-
return
|
3311
|
+
_this15._setupEventHandlers();
|
3312
|
+
return _this15;
|
3142
3313
|
}
|
3143
3314
|
|
3144
3315
|
_createClass(Materialbox, [{
|
@@ -3258,7 +3429,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3258
3429
|
}, {
|
3259
3430
|
key: "_animateImageIn",
|
3260
3431
|
value: function _animateImageIn() {
|
3261
|
-
var
|
3432
|
+
var _this16 = this;
|
3262
3433
|
|
3263
3434
|
var animOptions = {
|
3264
3435
|
targets: this.el,
|
@@ -3269,11 +3440,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3269
3440
|
duration: this.options.inDuration,
|
3270
3441
|
easing: 'easeOutQuad',
|
3271
3442
|
complete: function () {
|
3272
|
-
|
3443
|
+
_this16.doneAnimating = true;
|
3273
3444
|
|
3274
3445
|
// onOpenEnd callback
|
3275
|
-
if (typeof
|
3276
|
-
|
3446
|
+
if (typeof _this16.options.onOpenEnd === 'function') {
|
3447
|
+
_this16.options.onOpenEnd.call(_this16, _this16.el);
|
3277
3448
|
}
|
3278
3449
|
}
|
3279
3450
|
};
|
@@ -3298,7 +3469,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3298
3469
|
}, {
|
3299
3470
|
key: "_animateImageOut",
|
3300
3471
|
value: function _animateImageOut() {
|
3301
|
-
var
|
3472
|
+
var _this17 = this;
|
3302
3473
|
|
3303
3474
|
var animOptions = {
|
3304
3475
|
targets: this.el,
|
@@ -3309,7 +3480,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3309
3480
|
duration: this.options.outDuration,
|
3310
3481
|
easing: 'easeOutQuad',
|
3311
3482
|
complete: function () {
|
3312
|
-
|
3483
|
+
_this17.placeholder.css({
|
3313
3484
|
height: '',
|
3314
3485
|
width: '',
|
3315
3486
|
position: '',
|
@@ -3318,28 +3489,28 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3318
3489
|
});
|
3319
3490
|
|
3320
3491
|
// Revert to width or height attribute
|
3321
|
-
if (
|
3322
|
-
|
3492
|
+
if (_this17.attrWidth) {
|
3493
|
+
_this17.$el.attr('width', _this17.attrWidth);
|
3323
3494
|
}
|
3324
|
-
if (
|
3325
|
-
|
3495
|
+
if (_this17.attrHeight) {
|
3496
|
+
_this17.$el.attr('height', _this17.attrHeight);
|
3326
3497
|
}
|
3327
3498
|
|
3328
|
-
|
3329
|
-
|
3499
|
+
_this17.$el.removeAttr('style');
|
3500
|
+
_this17.$el.attr('style', _this17.originInlineStyles);
|
3330
3501
|
|
3331
3502
|
// Remove class
|
3332
|
-
|
3333
|
-
|
3503
|
+
_this17.$el.removeClass('active');
|
3504
|
+
_this17.doneAnimating = true;
|
3334
3505
|
|
3335
3506
|
// Remove overflow overrides on ancestors
|
3336
|
-
if (
|
3337
|
-
|
3507
|
+
if (_this17.ancestorsChanged.length) {
|
3508
|
+
_this17.ancestorsChanged.css('overflow', '');
|
3338
3509
|
}
|
3339
3510
|
|
3340
3511
|
// onCloseEnd callback
|
3341
|
-
if (typeof
|
3342
|
-
|
3512
|
+
if (typeof _this17.options.onCloseEnd === 'function') {
|
3513
|
+
_this17.options.onCloseEnd.call(_this17, _this17.el);
|
3343
3514
|
}
|
3344
3515
|
}
|
3345
3516
|
};
|
@@ -3366,7 +3537,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3366
3537
|
}, {
|
3367
3538
|
key: "open",
|
3368
3539
|
value: function open() {
|
3369
|
-
var
|
3540
|
+
var _this18 = this;
|
3370
3541
|
|
3371
3542
|
this._updateVars();
|
3372
3543
|
this.originalWidth = this.el.getBoundingClientRect().width;
|
@@ -3416,8 +3587,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3416
3587
|
this.$overlay = $('<div id="materialbox-overlay"></div>').css({
|
3417
3588
|
opacity: 0
|
3418
3589
|
}).one('click', function () {
|
3419
|
-
if (
|
3420
|
-
|
3590
|
+
if (_this18.doneAnimating) {
|
3591
|
+
_this18.close();
|
3421
3592
|
}
|
3422
3593
|
});
|
3423
3594
|
|
@@ -3498,7 +3669,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3498
3669
|
}, {
|
3499
3670
|
key: "close",
|
3500
3671
|
value: function close() {
|
3501
|
-
var
|
3672
|
+
var _this19 = this;
|
3502
3673
|
|
3503
3674
|
this._updateVars();
|
3504
3675
|
this.doneAnimating = false;
|
@@ -3526,8 +3697,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3526
3697
|
duration: this.options.outDuration,
|
3527
3698
|
easing: 'easeOutQuad',
|
3528
3699
|
complete: function () {
|
3529
|
-
|
3530
|
-
|
3700
|
+
_this19.overlayActive = false;
|
3701
|
+
_this19.$overlay.remove();
|
3531
3702
|
}
|
3532
3703
|
});
|
3533
3704
|
|
@@ -3541,7 +3712,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3541
3712
|
duration: this.options.outDuration,
|
3542
3713
|
easing: 'easeOutQuad',
|
3543
3714
|
complete: function () {
|
3544
|
-
|
3715
|
+
_this19.$photoCaption.remove();
|
3545
3716
|
}
|
3546
3717
|
});
|
3547
3718
|
}
|
@@ -3591,30 +3762,30 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3591
3762
|
function Parallax(el, options) {
|
3592
3763
|
_classCallCheck(this, Parallax);
|
3593
3764
|
|
3594
|
-
var
|
3765
|
+
var _this20 = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, Parallax, el, options));
|
3595
3766
|
|
3596
|
-
|
3767
|
+
_this20.el.M_Parallax = _this20;
|
3597
3768
|
|
3598
3769
|
/**
|
3599
3770
|
* Options for the Parallax
|
3600
3771
|
* @member Parallax#options
|
3601
3772
|
* @prop {Number} responsiveThreshold
|
3602
3773
|
*/
|
3603
|
-
|
3604
|
-
|
3774
|
+
_this20.options = $.extend({}, Parallax.defaults, options);
|
3775
|
+
_this20._enabled = window.innerWidth > _this20.options.responsiveThreshold;
|
3605
3776
|
|
3606
|
-
|
3607
|
-
|
3777
|
+
_this20.$img = _this20.$el.find('img').first();
|
3778
|
+
_this20.$img.each(function () {
|
3608
3779
|
var el = this;
|
3609
3780
|
if (el.complete) $(el).trigger("load");
|
3610
3781
|
});
|
3611
3782
|
|
3612
|
-
|
3613
|
-
|
3614
|
-
|
3783
|
+
_this20._updateParallax();
|
3784
|
+
_this20._setupEventHandlers();
|
3785
|
+
_this20._setupStyles();
|
3615
3786
|
|
3616
|
-
Parallax._parallaxes.push(
|
3617
|
-
return
|
3787
|
+
Parallax._parallaxes.push(_this20);
|
3788
|
+
return _this20;
|
3618
3789
|
}
|
3619
3790
|
|
3620
3791
|
_createClass(Parallax, [{
|
@@ -3768,9 +3939,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3768
3939
|
function Tabs(el, options) {
|
3769
3940
|
_classCallCheck(this, Tabs);
|
3770
3941
|
|
3771
|
-
var
|
3942
|
+
var _this21 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, Tabs, el, options));
|
3772
3943
|
|
3773
|
-
|
3944
|
+
_this21.el.M_Tabs = _this21;
|
3774
3945
|
|
3775
3946
|
/**
|
3776
3947
|
* Options for the Tabs
|
@@ -3780,23 +3951,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3780
3951
|
* @prop {Boolean} swipeable
|
3781
3952
|
* @prop {Number} responsiveThreshold
|
3782
3953
|
*/
|
3783
|
-
|
3954
|
+
_this21.options = $.extend({}, Tabs.defaults, options);
|
3784
3955
|
|
3785
3956
|
// Setup
|
3786
|
-
|
3787
|
-
|
3788
|
-
|
3789
|
-
|
3790
|
-
|
3791
|
-
|
3792
|
-
if (
|
3793
|
-
|
3957
|
+
_this21.$tabLinks = _this21.$el.children('li.tab').children('a');
|
3958
|
+
_this21.index = 0;
|
3959
|
+
_this21._setTabsAndTabWidth();
|
3960
|
+
_this21._setupActiveTabLink();
|
3961
|
+
_this21._createIndicator();
|
3962
|
+
|
3963
|
+
if (_this21.options.swipeable) {
|
3964
|
+
_this21._setupSwipeableTabs();
|
3794
3965
|
} else {
|
3795
|
-
|
3966
|
+
_this21._setupNormalTabs();
|
3796
3967
|
}
|
3797
3968
|
|
3798
|
-
|
3799
|
-
return
|
3969
|
+
_this21._setupEventHandlers();
|
3970
|
+
return _this21;
|
3800
3971
|
}
|
3801
3972
|
|
3802
3973
|
_createClass(Tabs, [{
|
@@ -3867,7 +4038,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3867
4038
|
}, {
|
3868
4039
|
key: "_handleTabClick",
|
3869
4040
|
value: function _handleTabClick(e) {
|
3870
|
-
var
|
4041
|
+
var _this22 = this;
|
3871
4042
|
|
3872
4043
|
var tab = $(e.target).closest('li.tab');
|
3873
4044
|
var tabLink = $(e.target).closest('a');
|
@@ -3907,8 +4078,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3907
4078
|
if (this.options.swipeable) {
|
3908
4079
|
if (this._tabsCarousel) {
|
3909
4080
|
this._tabsCarousel.set(this.index, function () {
|
3910
|
-
if (typeof
|
3911
|
-
|
4081
|
+
if (typeof _this22.options.onShow === "function") {
|
4082
|
+
_this22.options.onShow.call(_this22, _this22.$content[0]);
|
3912
4083
|
}
|
3913
4084
|
});
|
3914
4085
|
}
|
@@ -3941,7 +4112,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3941
4112
|
}, {
|
3942
4113
|
key: "_createIndicator",
|
3943
4114
|
value: function _createIndicator() {
|
3944
|
-
var
|
4115
|
+
var _this23 = this;
|
3945
4116
|
|
3946
4117
|
var indicator = document.createElement('li');
|
3947
4118
|
indicator.classList.add('indicator');
|
@@ -3950,8 +4121,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3950
4121
|
this._indicator = indicator;
|
3951
4122
|
|
3952
4123
|
setTimeout(function () {
|
3953
|
-
|
3954
|
-
|
4124
|
+
_this23._indicator.style.left = _this23._calcLeftPos(_this23.$activeTabLink) + 'px';
|
4125
|
+
_this23._indicator.style.right = _this23._calcRightPos(_this23.$activeTabLink) + 'px';
|
3955
4126
|
}, 0);
|
3956
4127
|
}
|
3957
4128
|
|
@@ -3991,7 +4162,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3991
4162
|
}, {
|
3992
4163
|
key: "_setupSwipeableTabs",
|
3993
4164
|
value: function _setupSwipeableTabs() {
|
3994
|
-
var
|
4165
|
+
var _this24 = this;
|
3995
4166
|
|
3996
4167
|
// Change swipeable according to responsive threshold
|
3997
4168
|
if (window.innerWidth > this.options.responsiveThreshold) {
|
@@ -4010,21 +4181,27 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4010
4181
|
$tabsWrapper.append($tabsContent);
|
4011
4182
|
$tabsContent[0].style.display = '';
|
4012
4183
|
|
4184
|
+
// Keep active tab index to set initial carousel slide
|
4185
|
+
var activeTabIndex = this.$activeTabLink.closest('.tab').index();
|
4186
|
+
|
4013
4187
|
this._tabsCarousel = M.Carousel.init($tabsWrapper[0], {
|
4014
4188
|
fullWidth: true,
|
4015
4189
|
noWrap: true,
|
4016
4190
|
onCycleTo: function (item) {
|
4017
|
-
var prevIndex =
|
4018
|
-
|
4019
|
-
|
4020
|
-
|
4021
|
-
|
4022
|
-
|
4023
|
-
if (typeof
|
4024
|
-
|
4191
|
+
var prevIndex = _this24.index;
|
4192
|
+
_this24.index = $(item).index();
|
4193
|
+
_this24.$activeTabLink.removeClass('active');
|
4194
|
+
_this24.$activeTabLink = _this24.$tabLinks.eq(_this24.index);
|
4195
|
+
_this24.$activeTabLink.addClass('active');
|
4196
|
+
_this24._animateIndicator(prevIndex);
|
4197
|
+
if (typeof _this24.options.onShow === "function") {
|
4198
|
+
_this24.options.onShow.call(_this24, _this24.$content[0]);
|
4025
4199
|
}
|
4026
4200
|
}
|
4027
4201
|
});
|
4202
|
+
|
4203
|
+
// Set initial carousel slide to active tab
|
4204
|
+
this._tabsCarousel.set(activeTabIndex);
|
4028
4205
|
}
|
4029
4206
|
|
4030
4207
|
/**
|
@@ -4227,16 +4404,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4227
4404
|
function Tooltip(el, options) {
|
4228
4405
|
_classCallCheck(this, Tooltip);
|
4229
4406
|
|
4230
|
-
var
|
4407
|
+
var _this25 = _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, Tooltip, el, options));
|
4231
4408
|
|
4232
|
-
|
4233
|
-
|
4409
|
+
_this25.el.M_Tooltip = _this25;
|
4410
|
+
_this25.options = $.extend({}, Tooltip.defaults, options);
|
4234
4411
|
|
4235
|
-
|
4236
|
-
|
4237
|
-
|
4238
|
-
|
4239
|
-
|
4412
|
+
_this25.isOpen = false;
|
4413
|
+
_this25.isHovered = false;
|
4414
|
+
_this25.isFocused = false;
|
4415
|
+
_this25._appendTooltipEl();
|
4416
|
+
_this25._setupEventHandlers();
|
4417
|
+
return _this25;
|
4240
4418
|
}
|
4241
4419
|
|
4242
4420
|
_createClass(Tooltip, [{
|
@@ -4249,7 +4427,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4249
4427
|
value: function destroy() {
|
4250
4428
|
$(this.tooltipEl).remove();
|
4251
4429
|
this._removeEventHandlers();
|
4252
|
-
this
|
4430
|
+
this.el.M_Tooltip = undefined;
|
4253
4431
|
}
|
4254
4432
|
}, {
|
4255
4433
|
key: "_appendTooltipEl",
|
@@ -4272,16 +4450,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4272
4450
|
}, {
|
4273
4451
|
key: "_setupEventHandlers",
|
4274
4452
|
value: function _setupEventHandlers() {
|
4275
|
-
this.
|
4276
|
-
this.
|
4277
|
-
this
|
4278
|
-
this
|
4453
|
+
this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
|
4454
|
+
this._handleMouseLeaveBound = this._handleMouseLeave.bind(this);
|
4455
|
+
this._handleFocusBound = this._handleFocus.bind(this);
|
4456
|
+
this._handleBlurBound = this._handleBlur.bind(this);
|
4457
|
+
this.el.addEventListener('mouseenter', this._handleMouseEnterBound);
|
4458
|
+
this.el.addEventListener('mouseleave', this._handleMouseLeaveBound);
|
4459
|
+
this.el.addEventListener('focus', this._handleFocusBound, true);
|
4460
|
+
this.el.addEventListener('blur', this._handleBlurBound, true);
|
4279
4461
|
}
|
4280
4462
|
}, {
|
4281
4463
|
key: "_removeEventHandlers",
|
4282
4464
|
value: function _removeEventHandlers() {
|
4283
|
-
this
|
4284
|
-
this
|
4465
|
+
this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
|
4466
|
+
this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
|
4467
|
+
this.el.removeEventListener('focus', this._handleFocusBound, true);
|
4468
|
+
this.el.removeEventListener('blur', this._handleBlurBound, true);
|
4285
4469
|
}
|
4286
4470
|
}, {
|
4287
4471
|
key: "open",
|
@@ -4314,16 +4498,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4314
4498
|
}, {
|
4315
4499
|
key: "_setExitDelayTimeout",
|
4316
4500
|
value: function _setExitDelayTimeout() {
|
4317
|
-
var
|
4501
|
+
var _this26 = this;
|
4318
4502
|
|
4319
4503
|
clearTimeout(this._exitDelayTimeout);
|
4320
4504
|
|
4321
4505
|
this._exitDelayTimeout = setTimeout(function () {
|
4322
|
-
if (
|
4506
|
+
if (_this26.isHovered || _this26.isFocused) {
|
4323
4507
|
return;
|
4324
4508
|
}
|
4325
4509
|
|
4326
|
-
|
4510
|
+
_this26._animateOut();
|
4327
4511
|
}, this.options.exitDelay);
|
4328
4512
|
}
|
4329
4513
|
|
@@ -4334,22 +4518,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4334
4518
|
}, {
|
4335
4519
|
key: "_setEnterDelayTimeout",
|
4336
4520
|
value: function _setEnterDelayTimeout() {
|
4337
|
-
var
|
4521
|
+
var _this27 = this;
|
4338
4522
|
|
4339
4523
|
clearTimeout(this._enterDelayTimeout);
|
4340
4524
|
|
4341
4525
|
this._enterDelayTimeout = setTimeout(function () {
|
4342
|
-
if (!
|
4526
|
+
if (!_this27.isHovered && !_this27.isFocused) {
|
4343
4527
|
return;
|
4344
4528
|
}
|
4345
4529
|
|
4346
|
-
|
4530
|
+
_this27._animateIn();
|
4347
4531
|
}, this.options.enterDelay);
|
4348
4532
|
}
|
4349
4533
|
}, {
|
4350
4534
|
key: "_positionTooltip",
|
4351
4535
|
value: function _positionTooltip() {
|
4352
|
-
var origin = this
|
4536
|
+
var origin = this.el,
|
4353
4537
|
tooltip = this.tooltipEl,
|
4354
4538
|
originHeight = origin.offsetHeight,
|
4355
4539
|
originWidth = origin.offsetWidth,
|
@@ -4464,12 +4648,24 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4464
4648
|
this.isHovered = false;
|
4465
4649
|
this.close();
|
4466
4650
|
}
|
4651
|
+
}, {
|
4652
|
+
key: "_handleFocus",
|
4653
|
+
value: function _handleFocus() {
|
4654
|
+
this.isFocused = true;
|
4655
|
+
this.open();
|
4656
|
+
}
|
4657
|
+
}, {
|
4658
|
+
key: "_handleBlur",
|
4659
|
+
value: function _handleBlur() {
|
4660
|
+
this.isFocused = false;
|
4661
|
+
this.close();
|
4662
|
+
}
|
4467
4663
|
}, {
|
4468
4664
|
key: "_getAttributeOptions",
|
4469
4665
|
value: function _getAttributeOptions() {
|
4470
4666
|
var attributeOptions = {};
|
4471
|
-
var tooltipTextOption = this
|
4472
|
-
var positionOption = this
|
4667
|
+
var tooltipTextOption = this.el.getAttribute('data-tooltip');
|
4668
|
+
var positionOption = this.el.getAttribute('data-position');
|
4473
4669
|
|
4474
4670
|
if (tooltipTextOption) {
|
4475
4671
|
attributeOptions.html = tooltipTextOption;
|
@@ -4952,18 +5148,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4952
5148
|
}, {
|
4953
5149
|
key: "_setTimer",
|
4954
5150
|
value: function _setTimer() {
|
4955
|
-
var
|
5151
|
+
var _this28 = this;
|
4956
5152
|
|
4957
5153
|
if (this.timeRemaining !== Infinity) {
|
4958
5154
|
this.counterInterval = setInterval(function () {
|
4959
5155
|
// If toast is not being dragged, decrease its time remaining
|
4960
|
-
if (!
|
4961
|
-
|
5156
|
+
if (!_this28.panning) {
|
5157
|
+
_this28.timeRemaining -= 20;
|
4962
5158
|
}
|
4963
5159
|
|
4964
5160
|
// Animate toast out
|
4965
|
-
if (
|
4966
|
-
|
5161
|
+
if (_this28.timeRemaining <= 0) {
|
5162
|
+
_this28.dismiss();
|
4967
5163
|
}
|
4968
5164
|
}, 20);
|
4969
5165
|
}
|
@@ -4976,7 +5172,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4976
5172
|
}, {
|
4977
5173
|
key: "dismiss",
|
4978
5174
|
value: function dismiss() {
|
4979
|
-
var
|
5175
|
+
var _this29 = this;
|
4980
5176
|
|
4981
5177
|
window.clearInterval(this.counterInterval);
|
4982
5178
|
var activationDistance = this.el.offsetWidth * this.options.activationPercent;
|
@@ -4995,12 +5191,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4995
5191
|
easing: 'easeOutExpo',
|
4996
5192
|
complete: function () {
|
4997
5193
|
// Call the optional callback
|
4998
|
-
if (typeof
|
4999
|
-
|
5194
|
+
if (typeof _this29.options.completeCallback === 'function') {
|
5195
|
+
_this29.options.completeCallback();
|
5000
5196
|
}
|
5001
5197
|
// Remove toast from DOM
|
5002
|
-
|
5003
|
-
Toast._toasts.splice(Toast._toasts.indexOf(
|
5198
|
+
_this29.el.parentNode.removeChild(_this29.el);
|
5199
|
+
Toast._toasts.splice(Toast._toasts.indexOf(_this29), 1);
|
5004
5200
|
if (Toast._toasts.length === 0) {
|
5005
5201
|
Toast._removeContainer();
|
5006
5202
|
}
|
@@ -5206,7 +5402,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5206
5402
|
onOpenStart: null,
|
5207
5403
|
onOpenEnd: null,
|
5208
5404
|
onCloseStart: null,
|
5209
|
-
onCloseEnd: null
|
5405
|
+
onCloseEnd: null,
|
5406
|
+
preventScrolling: true
|
5210
5407
|
};
|
5211
5408
|
|
5212
5409
|
/**
|
@@ -5225,10 +5422,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5225
5422
|
function Sidenav(el, options) {
|
5226
5423
|
_classCallCheck(this, Sidenav);
|
5227
5424
|
|
5228
|
-
var
|
5425
|
+
var _this30 = _possibleConstructorReturn(this, (Sidenav.__proto__ || Object.getPrototypeOf(Sidenav)).call(this, Sidenav, el, options));
|
5229
5426
|
|
5230
|
-
|
5231
|
-
|
5427
|
+
_this30.el.M_Sidenav = _this30;
|
5428
|
+
_this30.id = _this30.$el.attr('id');
|
5232
5429
|
|
5233
5430
|
/**
|
5234
5431
|
* Options for the Sidenav
|
@@ -5242,34 +5439,38 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5242
5439
|
* @prop {Function} onCloseStart - Function called when sidenav starts exiting
|
5243
5440
|
* @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
|
5244
5441
|
*/
|
5245
|
-
|
5442
|
+
_this30.options = $.extend({}, Sidenav.defaults, options);
|
5246
5443
|
|
5247
5444
|
/**
|
5248
5445
|
* Describes open/close state of Sidenav
|
5249
5446
|
* @type {Boolean}
|
5250
5447
|
*/
|
5251
|
-
|
5448
|
+
_this30.isOpen = false;
|
5252
5449
|
|
5253
5450
|
/**
|
5254
5451
|
* Describes if Sidenav is fixed
|
5255
5452
|
* @type {Boolean}
|
5256
5453
|
*/
|
5257
|
-
|
5454
|
+
_this30.isFixed = _this30.el.classList.contains('sidenav-fixed');
|
5258
5455
|
|
5259
5456
|
/**
|
5260
5457
|
* Describes if Sidenav is being draggeed
|
5261
5458
|
* @type {Boolean}
|
5262
5459
|
*/
|
5263
|
-
|
5460
|
+
_this30.isDragged = false;
|
5461
|
+
|
5462
|
+
// Window size variables for window resize checks
|
5463
|
+
_this30.lastWindowWidth = window.innerWidth;
|
5464
|
+
_this30.lastWindowHeight = window.innerHeight;
|
5264
5465
|
|
5265
|
-
|
5266
|
-
|
5267
|
-
|
5268
|
-
|
5269
|
-
|
5466
|
+
_this30._createOverlay();
|
5467
|
+
_this30._createDragTarget();
|
5468
|
+
_this30._setupEventHandlers();
|
5469
|
+
_this30._setupClasses();
|
5470
|
+
_this30._setupFixed();
|
5270
5471
|
|
5271
|
-
Sidenav._sidenavs.push(
|
5272
|
-
return
|
5472
|
+
Sidenav._sidenavs.push(_this30);
|
5473
|
+
return _this30;
|
5273
5474
|
}
|
5274
5475
|
|
5275
5476
|
_createClass(Sidenav, [{
|
@@ -5386,6 +5587,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5386
5587
|
this._time = Date.now();
|
5387
5588
|
this._width = this.el.getBoundingClientRect().width;
|
5388
5589
|
this._overlay.style.display = 'block';
|
5590
|
+
this._initialScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
|
5591
|
+
this._verticallyScrolling = false;
|
5389
5592
|
anim.remove(this.el);
|
5390
5593
|
anim.remove(this._overlay);
|
5391
5594
|
}
|
@@ -5399,10 +5602,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5399
5602
|
key: "_dragMoveUpdate",
|
5400
5603
|
value: function _dragMoveUpdate(e) {
|
5401
5604
|
var clientX = e.targetTouches[0].clientX;
|
5605
|
+
var currentScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
|
5402
5606
|
this.deltaX = Math.abs(this._xPos - clientX);
|
5403
5607
|
this._xPos = clientX;
|
5404
5608
|
this.velocityX = this.deltaX / (Date.now() - this._time);
|
5405
5609
|
this._time = Date.now();
|
5610
|
+
if (this._initialScrollTop !== currentScrollTop) {
|
5611
|
+
this._verticallyScrolling = true;
|
5612
|
+
}
|
5406
5613
|
}
|
5407
5614
|
|
5408
5615
|
/**
|
@@ -5414,7 +5621,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5414
5621
|
key: "_handleDragTargetDrag",
|
5415
5622
|
value: function _handleDragTargetDrag(e) {
|
5416
5623
|
// Check if draggable
|
5417
|
-
if (!this.options.draggable || this._isCurrentlyFixed()) {
|
5624
|
+
if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
|
5418
5625
|
return;
|
5419
5626
|
}
|
5420
5627
|
|
@@ -5473,6 +5680,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5473
5680
|
}
|
5474
5681
|
|
5475
5682
|
this.isDragged = false;
|
5683
|
+
this._verticallyScrolling = false;
|
5476
5684
|
}
|
5477
5685
|
}
|
5478
5686
|
|
@@ -5486,7 +5694,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5486
5694
|
value: function _handleCloseDrag(e) {
|
5487
5695
|
if (this.isOpen) {
|
5488
5696
|
// Check if draggable
|
5489
|
-
if (!this.options.draggable || this._isCurrentlyFixed()) {
|
5697
|
+
if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
|
5490
5698
|
return;
|
5491
5699
|
}
|
5492
5700
|
|
@@ -5539,6 +5747,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5539
5747
|
}
|
5540
5748
|
|
5541
5749
|
this.isDragged = false;
|
5750
|
+
this._verticallyScrolling = false;
|
5542
5751
|
}
|
5543
5752
|
}
|
5544
5753
|
|
@@ -5550,7 +5759,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5550
5759
|
key: "_handleCloseTriggerClick",
|
5551
5760
|
value: function _handleCloseTriggerClick(e) {
|
5552
5761
|
var $closeTrigger = $(e.target).closest('.sidenav-close');
|
5553
|
-
if ($closeTrigger.length) {
|
5762
|
+
if ($closeTrigger.length && !this._isCurrentlyFixed()) {
|
5554
5763
|
this.close();
|
5555
5764
|
}
|
5556
5765
|
}
|
@@ -5562,11 +5771,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5562
5771
|
}, {
|
5563
5772
|
key: "_handleWindowResize",
|
5564
5773
|
value: function _handleWindowResize() {
|
5565
|
-
|
5566
|
-
|
5567
|
-
|
5568
|
-
|
5774
|
+
// Only handle horizontal resizes
|
5775
|
+
if (this.lastWindowWidth !== window.innerWidth) {
|
5776
|
+
if (window.innerWidth > 992) {
|
5777
|
+
this.open();
|
5778
|
+
} else {
|
5779
|
+
this.close();
|
5780
|
+
}
|
5569
5781
|
}
|
5782
|
+
|
5783
|
+
this.lastWindowWidth = window.innerWidth;
|
5784
|
+
this.lastWindowHeight = window.innerHeight;
|
5570
5785
|
}
|
5571
5786
|
}, {
|
5572
5787
|
key: "_setupClasses",
|
@@ -5642,7 +5857,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5642
5857
|
|
5643
5858
|
// Handle non-fixed Sidenav
|
5644
5859
|
} else {
|
5645
|
-
this.
|
5860
|
+
if (this.options.preventScrolling) {
|
5861
|
+
this._preventBodyScrolling();
|
5862
|
+
}
|
5646
5863
|
|
5647
5864
|
if (!this.isDragged || this.percentOpen != 1) {
|
5648
5865
|
this._animateIn();
|
@@ -5688,7 +5905,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5688
5905
|
}, {
|
5689
5906
|
key: "_animateSidenavIn",
|
5690
5907
|
value: function _animateSidenavIn() {
|
5691
|
-
var
|
5908
|
+
var _this31 = this;
|
5692
5909
|
|
5693
5910
|
var slideOutPercent = this.options.edge === 'left' ? -1 : 1;
|
5694
5911
|
if (this.isDragged) {
|
@@ -5703,8 +5920,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5703
5920
|
easing: 'easeOutQuad',
|
5704
5921
|
complete: function () {
|
5705
5922
|
// Run onOpenEnd callback
|
5706
|
-
if (typeof
|
5707
|
-
|
5923
|
+
if (typeof _this31.options.onOpenEnd === 'function') {
|
5924
|
+
_this31.options.onOpenEnd.call(_this31, _this31.el);
|
5708
5925
|
}
|
5709
5926
|
}
|
5710
5927
|
});
|
@@ -5738,7 +5955,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5738
5955
|
}, {
|
5739
5956
|
key: "_animateSidenavOut",
|
5740
5957
|
value: function _animateSidenavOut() {
|
5741
|
-
var
|
5958
|
+
var _this32 = this;
|
5742
5959
|
|
5743
5960
|
var endPercent = this.options.edge === 'left' ? -1 : 1;
|
5744
5961
|
var slideOutPercent = 0;
|
@@ -5754,8 +5971,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5754
5971
|
easing: 'easeOutQuad',
|
5755
5972
|
complete: function () {
|
5756
5973
|
// Run onOpenEnd callback
|
5757
|
-
if (typeof
|
5758
|
-
|
5974
|
+
if (typeof _this32.options.onCloseEnd === 'function') {
|
5975
|
+
_this32.options.onCloseEnd.call(_this32, _this32.el);
|
5759
5976
|
}
|
5760
5977
|
}
|
5761
5978
|
});
|
@@ -5763,7 +5980,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5763
5980
|
}, {
|
5764
5981
|
key: "_animateOverlayOut",
|
5765
5982
|
value: function _animateOverlayOut() {
|
5766
|
-
var
|
5983
|
+
var _this33 = this;
|
5767
5984
|
|
5768
5985
|
anim.remove(this._overlay);
|
5769
5986
|
anim({
|
@@ -5772,7 +5989,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5772
5989
|
duration: this.options.outDuration,
|
5773
5990
|
easing: 'easeOutQuad',
|
5774
5991
|
complete: function () {
|
5775
|
-
$(
|
5992
|
+
$(_this33._overlay).css('display', 'none');
|
5776
5993
|
}
|
5777
5994
|
});
|
5778
5995
|
}
|
@@ -5846,9 +6063,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5846
6063
|
function ScrollSpy(el, options) {
|
5847
6064
|
_classCallCheck(this, ScrollSpy);
|
5848
6065
|
|
5849
|
-
var
|
6066
|
+
var _this34 = _possibleConstructorReturn(this, (ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy)).call(this, ScrollSpy, el, options));
|
5850
6067
|
|
5851
|
-
|
6068
|
+
_this34.el.M_ScrollSpy = _this34;
|
5852
6069
|
|
5853
6070
|
/**
|
5854
6071
|
* Options for the modal
|
@@ -5858,17 +6075,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5858
6075
|
* @prop {String} [activeClass='active'] - Class applied to active elements
|
5859
6076
|
* @prop {Function} [getActiveElement] - Used to find active element
|
5860
6077
|
*/
|
5861
|
-
|
6078
|
+
_this34.options = $.extend({}, ScrollSpy.defaults, options);
|
5862
6079
|
|
5863
6080
|
// setup
|
5864
|
-
ScrollSpy._elements.push(
|
6081
|
+
ScrollSpy._elements.push(_this34);
|
5865
6082
|
ScrollSpy._count++;
|
5866
6083
|
ScrollSpy._increment++;
|
5867
|
-
|
5868
|
-
|
5869
|
-
|
5870
|
-
|
5871
|
-
return
|
6084
|
+
_this34.tickId = -1;
|
6085
|
+
_this34.id = ScrollSpy._increment;
|
6086
|
+
_this34._setupEventHandlers();
|
6087
|
+
_this34._handleWindowScroll();
|
6088
|
+
return _this34;
|
5872
6089
|
}
|
5873
6090
|
|
5874
6091
|
_createClass(ScrollSpy, [{
|
@@ -6021,7 +6238,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6021
6238
|
}, {
|
6022
6239
|
key: "_exit",
|
6023
6240
|
value: function _exit() {
|
6024
|
-
var
|
6241
|
+
var _this35 = this;
|
6025
6242
|
|
6026
6243
|
ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
|
6027
6244
|
return value.height() != 0;
|
@@ -6031,7 +6248,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6031
6248
|
$(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
|
6032
6249
|
|
6033
6250
|
ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (el) {
|
6034
|
-
return el.attr('id') !=
|
6251
|
+
return el.attr('id') != _this35.$el.attr('id');
|
6035
6252
|
});
|
6036
6253
|
if (ScrollSpy._visibleElements[0]) {
|
6037
6254
|
// Check if empty
|
@@ -6166,9 +6383,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6166
6383
|
function Autocomplete(el, options) {
|
6167
6384
|
_classCallCheck(this, Autocomplete);
|
6168
6385
|
|
6169
|
-
var
|
6386
|
+
var _this36 = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, Autocomplete, el, options));
|
6170
6387
|
|
6171
|
-
|
6388
|
+
_this36.el.M_Autocomplete = _this36;
|
6172
6389
|
|
6173
6390
|
/**
|
6174
6391
|
* Options for the autocomplete
|
@@ -6182,19 +6399,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6182
6399
|
* @prop {Boolean} noWrap
|
6183
6400
|
* @prop {Function} onCycleTo
|
6184
6401
|
*/
|
6185
|
-
|
6402
|
+
_this36.options = $.extend({}, Autocomplete.defaults, options);
|
6186
6403
|
|
6187
6404
|
// Setup
|
6188
|
-
|
6189
|
-
|
6190
|
-
|
6191
|
-
|
6192
|
-
|
6193
|
-
|
6194
|
-
|
6195
|
-
|
6196
|
-
|
6197
|
-
return
|
6405
|
+
_this36.isOpen = false;
|
6406
|
+
_this36.count = 0;
|
6407
|
+
_this36.activeIndex = -1;
|
6408
|
+
_this36.oldVal;
|
6409
|
+
_this36.$inputField = _this36.$el.closest('.input-field');
|
6410
|
+
_this36.$active = $();
|
6411
|
+
_this36._setupDropdown();
|
6412
|
+
|
6413
|
+
_this36._setupEventHandlers();
|
6414
|
+
return _this36;
|
6198
6415
|
}
|
6199
6416
|
|
6200
6417
|
_createClass(Autocomplete, [{
|
@@ -6259,8 +6476,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6259
6476
|
key: "_setupDropdown",
|
6260
6477
|
value: function _setupDropdown() {
|
6261
6478
|
this.container = document.createElement('ul');
|
6479
|
+
this.container.id = "autocomplete-options-" + M.guid();
|
6262
6480
|
$(this.container).addClass('autocomplete-content dropdown-content');
|
6263
6481
|
this.$inputField.append(this.container);
|
6482
|
+
this.el.setAttribute('data-target', this.container.id);
|
6483
|
+
|
6484
|
+
this.dropdown = M.Dropdown.init(this.el, {
|
6485
|
+
autoFocus: false,
|
6486
|
+
closeOnClick: false,
|
6487
|
+
coverTrigger: false
|
6488
|
+
});
|
6489
|
+
|
6490
|
+
// Sketchy removal of dropdown click handler
|
6491
|
+
this.el.removeEventListener('click', this.dropdown._handleClickBound);
|
6264
6492
|
}
|
6265
6493
|
|
6266
6494
|
/**
|
@@ -6280,7 +6508,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6280
6508
|
}, {
|
6281
6509
|
key: "_handleInputBlur",
|
6282
6510
|
value: function _handleInputBlur() {
|
6283
|
-
this.
|
6511
|
+
this.dropdown.close();
|
6512
|
+
this._resetAutocomplete();
|
6284
6513
|
}
|
6285
6514
|
|
6286
6515
|
/**
|
@@ -6291,6 +6520,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6291
6520
|
}, {
|
6292
6521
|
key: "_handleInputKeyupAndFocus",
|
6293
6522
|
value: function _handleInputKeyupAndFocus(e) {
|
6523
|
+
var _this37 = this;
|
6524
|
+
|
6294
6525
|
if (e.type === 'keyup') {
|
6295
6526
|
Autocomplete._keydown = false;
|
6296
6527
|
}
|
@@ -6305,12 +6536,24 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6305
6536
|
|
6306
6537
|
// Check if the input isn't empty
|
6307
6538
|
if (this.oldVal !== val) {
|
6308
|
-
this.
|
6539
|
+
this._resetAutocomplete();
|
6309
6540
|
|
6310
6541
|
if (val.length >= this.options.minLength) {
|
6311
6542
|
this.isOpen = true;
|
6312
6543
|
this._renderDropdown(this.options.data, val);
|
6313
6544
|
}
|
6545
|
+
|
6546
|
+
// Open dropdown
|
6547
|
+
if (!this.dropdown.isOpen) {
|
6548
|
+
// Timeout to prevent dropdown temp doc click handler from firing
|
6549
|
+
setTimeout(function () {
|
6550
|
+
_this37.dropdown.open();
|
6551
|
+
}, 100);
|
6552
|
+
|
6553
|
+
// Recalculate dropdown when its already open
|
6554
|
+
} else {
|
6555
|
+
this.dropdown.recalculateDimensions();
|
6556
|
+
}
|
6314
6557
|
}
|
6315
6558
|
|
6316
6559
|
// Update oldVal
|
@@ -6405,18 +6648,15 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6405
6648
|
}
|
6406
6649
|
|
6407
6650
|
/**
|
6408
|
-
*
|
6651
|
+
* Reset autocomplete elements
|
6409
6652
|
*/
|
6410
6653
|
|
6411
6654
|
}, {
|
6412
|
-
key: "
|
6413
|
-
value: function
|
6655
|
+
key: "_resetAutocomplete",
|
6656
|
+
value: function _resetAutocomplete() {
|
6414
6657
|
$(this.container).empty();
|
6415
6658
|
this._resetCurrentElement();
|
6416
6659
|
this.oldVal = null;
|
6417
|
-
$(this.container).css({
|
6418
|
-
display: ''
|
6419
|
-
});
|
6420
6660
|
this.isOpen = false;
|
6421
6661
|
}
|
6422
6662
|
|
@@ -6431,7 +6671,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6431
6671
|
var text = el.text().trim();
|
6432
6672
|
this.el.value = text;
|
6433
6673
|
this.$el.trigger('change');
|
6434
|
-
this.
|
6674
|
+
this._resetAutocomplete();
|
6675
|
+
this.dropdown.close();
|
6435
6676
|
|
6436
6677
|
// Handle onAutocomplete callback.
|
6437
6678
|
if (typeof this.options.onAutocomplete === 'function') {
|
@@ -6448,9 +6689,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6448
6689
|
}, {
|
6449
6690
|
key: "_renderDropdown",
|
6450
6691
|
value: function _renderDropdown(data, val) {
|
6451
|
-
var
|
6692
|
+
var _this38 = this;
|
6452
6693
|
|
6453
|
-
this.
|
6694
|
+
this._resetAutocomplete();
|
6454
6695
|
|
6455
6696
|
var matchingData = [];
|
6456
6697
|
|
@@ -6474,14 +6715,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6474
6715
|
|
6475
6716
|
// Sort
|
6476
6717
|
var sortFunctionBound = function (a, b) {
|
6477
|
-
return
|
6718
|
+
return _this38.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
|
6478
6719
|
};
|
6479
6720
|
matchingData.sort(sortFunctionBound);
|
6480
6721
|
|
6481
|
-
$(this.container).css({
|
6482
|
-
display: 'block'
|
6483
|
-
});
|
6484
|
-
|
6485
6722
|
// Render
|
6486
6723
|
for (var i = 0; i < matchingData.length; i++) {
|
6487
6724
|
var _entry = matchingData[i];
|
@@ -6555,7 +6792,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6555
6792
|
;(function ($) {
|
6556
6793
|
// Function to update labels of text fields
|
6557
6794
|
M.updateTextFields = function () {
|
6558
|
-
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
|
6795
|
+
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
|
6559
6796
|
$(input_selector).each(function (element, index) {
|
6560
6797
|
var $this = $(this);
|
6561
6798
|
if (element.value.length > 0 || $(element).is(':focus') || element.autofocus || $this.attr('placeholder') !== null) {
|
@@ -6684,7 +6921,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6684
6921
|
|
6685
6922
|
$(document).ready(function () {
|
6686
6923
|
// Text based inputs
|
6687
|
-
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
|
6924
|
+
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
|
6688
6925
|
|
6689
6926
|
// Add active if form auto complete
|
6690
6927
|
$(document).on('change', input_selector, function () {
|
@@ -6824,9 +7061,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6824
7061
|
function Slider(el, options) {
|
6825
7062
|
_classCallCheck(this, Slider);
|
6826
7063
|
|
6827
|
-
var
|
7064
|
+
var _this39 = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, Slider, el, options));
|
6828
7065
|
|
6829
|
-
|
7066
|
+
_this39.el.M_Slider = _this39;
|
6830
7067
|
|
6831
7068
|
/**
|
6832
7069
|
* Options for the modal
|
@@ -6836,25 +7073,27 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6836
7073
|
* @prop {Number} [duration=500] - Length in ms of slide transition
|
6837
7074
|
* @prop {Number} [interval=6000] - Length in ms of slide interval
|
6838
7075
|
*/
|
6839
|
-
|
7076
|
+
_this39.options = $.extend({}, Slider.defaults, options);
|
6840
7077
|
|
6841
7078
|
// setup
|
6842
|
-
|
6843
|
-
|
6844
|
-
|
6845
|
-
|
6846
|
-
|
7079
|
+
_this39.$slider = _this39.$el.find('.slides');
|
7080
|
+
_this39.$slides = _this39.$slider.children('li');
|
7081
|
+
_this39.activeIndex = _this39.$slides.filter(function (item) {
|
7082
|
+
return $(item).hasClass('active');
|
7083
|
+
}).first().index();
|
7084
|
+
if (_this39.activeIndex != -1) {
|
7085
|
+
_this39.$active = _this39.$slides.eq(_this39.activeIndex);
|
6847
7086
|
}
|
6848
7087
|
|
6849
|
-
|
7088
|
+
_this39._setSliderHeight();
|
6850
7089
|
|
6851
7090
|
// Set initial positions of captions
|
6852
|
-
|
6853
|
-
|
7091
|
+
_this39.$slides.find('.caption').each(function (el) {
|
7092
|
+
_this39._animateCaptionIn(el, 0);
|
6854
7093
|
});
|
6855
7094
|
|
6856
7095
|
// Move img src into background-image
|
6857
|
-
|
7096
|
+
_this39.$slides.find('img').each(function (el) {
|
6858
7097
|
var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
6859
7098
|
if ($(el).attr('src') !== placeholderBase64) {
|
6860
7099
|
$(el).css('background-image', 'url("' + $(el).attr('src') + '")');
|
@@ -6862,46 +7101,46 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6862
7101
|
}
|
6863
7102
|
});
|
6864
7103
|
|
6865
|
-
|
7104
|
+
_this39._setupIndicators();
|
6866
7105
|
|
6867
7106
|
// Show active slide
|
6868
|
-
if (
|
6869
|
-
|
7107
|
+
if (_this39.$active) {
|
7108
|
+
_this39.$active.css('display', 'block');
|
6870
7109
|
} else {
|
6871
|
-
|
7110
|
+
_this39.$slides.first().addClass('active');
|
6872
7111
|
anim({
|
6873
|
-
targets:
|
7112
|
+
targets: _this39.$slides.first()[0],
|
6874
7113
|
opacity: 1,
|
6875
|
-
duration:
|
7114
|
+
duration: _this39.options.duration,
|
6876
7115
|
easing: 'easeOutQuad'
|
6877
7116
|
});
|
6878
7117
|
|
6879
|
-
|
6880
|
-
|
7118
|
+
_this39.activeIndex = 0;
|
7119
|
+
_this39.$active = _this39.$slides.eq(_this39.activeIndex);
|
6881
7120
|
|
6882
7121
|
// Update indicators
|
6883
|
-
if (
|
6884
|
-
|
7122
|
+
if (_this39.options.indicators) {
|
7123
|
+
_this39.$indicators.eq(_this39.activeIndex).addClass('active');
|
6885
7124
|
}
|
6886
7125
|
}
|
6887
7126
|
|
6888
7127
|
// Adjust height to current slide
|
6889
|
-
|
7128
|
+
_this39.$active.find('img').each(function (el) {
|
6890
7129
|
anim({
|
6891
|
-
targets:
|
7130
|
+
targets: _this39.$active.find('.caption')[0],
|
6892
7131
|
opacity: 1,
|
6893
7132
|
translateX: 0,
|
6894
7133
|
translateY: 0,
|
6895
|
-
duration:
|
7134
|
+
duration: _this39.options.duration,
|
6896
7135
|
easing: 'easeOutQuad'
|
6897
7136
|
});
|
6898
7137
|
});
|
6899
7138
|
|
6900
|
-
|
7139
|
+
_this39._setupEventHandlers();
|
6901
7140
|
|
6902
7141
|
// auto scroll
|
6903
|
-
|
6904
|
-
return
|
7142
|
+
_this39.start();
|
7143
|
+
return _this39;
|
6905
7144
|
}
|
6906
7145
|
|
6907
7146
|
_createClass(Slider, [{
|
@@ -6925,14 +7164,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6925
7164
|
}, {
|
6926
7165
|
key: "_setupEventHandlers",
|
6927
7166
|
value: function _setupEventHandlers() {
|
6928
|
-
var
|
7167
|
+
var _this40 = this;
|
6929
7168
|
|
6930
7169
|
this._handleIntervalBound = this._handleInterval.bind(this);
|
6931
7170
|
this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
|
6932
7171
|
|
6933
7172
|
if (this.options.indicators) {
|
6934
7173
|
this.$indicators.each(function (el) {
|
6935
|
-
el.addEventListener('click',
|
7174
|
+
el.addEventListener('click', _this40._handleIndicatorClickBound);
|
6936
7175
|
});
|
6937
7176
|
}
|
6938
7177
|
}
|
@@ -6944,11 +7183,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6944
7183
|
}, {
|
6945
7184
|
key: "_removeEventHandlers",
|
6946
7185
|
value: function _removeEventHandlers() {
|
6947
|
-
var
|
7186
|
+
var _this41 = this;
|
6948
7187
|
|
6949
7188
|
if (this.options.indicators) {
|
6950
7189
|
this.$indicators.each(function (el) {
|
6951
|
-
el.removeEventListener('click',
|
7190
|
+
el.removeEventListener('click', _this41._handleIndicatorClickBound);
|
6952
7191
|
});
|
6953
7192
|
}
|
6954
7193
|
}
|
@@ -7032,13 +7271,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7032
7271
|
}, {
|
7033
7272
|
key: "_setupIndicators",
|
7034
7273
|
value: function _setupIndicators() {
|
7035
|
-
var
|
7274
|
+
var _this42 = this;
|
7036
7275
|
|
7037
7276
|
if (this.options.indicators) {
|
7038
7277
|
this.$indicators = $('<ul class="indicators"></ul>');
|
7039
7278
|
this.$slides.each(function (el, index) {
|
7040
7279
|
var $indicator = $('<li class="indicator-item"></li>');
|
7041
|
-
|
7280
|
+
_this42.$indicators.append($indicator[0]);
|
7042
7281
|
});
|
7043
7282
|
this.$el.append(this.$indicators[0]);
|
7044
7283
|
this.$indicators = this.$indicators.children('li.indicator-item');
|
@@ -7063,7 +7302,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7063
7302
|
}, {
|
7064
7303
|
key: "set",
|
7065
7304
|
value: function set(index) {
|
7066
|
-
var
|
7305
|
+
var _this43 = this;
|
7067
7306
|
|
7068
7307
|
// Wrap around indices.
|
7069
7308
|
if (index >= this.$slides.length) index = 0;else if (index < 0) index = this.$slides.length - 1;
|
@@ -7080,7 +7319,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7080
7319
|
duration: this.options.duration,
|
7081
7320
|
easing: 'easeOutQuad',
|
7082
7321
|
complete: function () {
|
7083
|
-
|
7322
|
+
_this43.$slides.not('.active').each(function (el) {
|
7084
7323
|
anim({
|
7085
7324
|
targets: el,
|
7086
7325
|
opacity: 0,
|
@@ -7279,9 +7518,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7279
7518
|
function Chips(el, options) {
|
7280
7519
|
_classCallCheck(this, Chips);
|
7281
7520
|
|
7282
|
-
var
|
7521
|
+
var _this44 = _possibleConstructorReturn(this, (Chips.__proto__ || Object.getPrototypeOf(Chips)).call(this, Chips, el, options));
|
7283
7522
|
|
7284
|
-
|
7523
|
+
_this44.el.M_Chips = _this44;
|
7285
7524
|
|
7286
7525
|
/**
|
7287
7526
|
* Options for the modal
|
@@ -7291,34 +7530,34 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7291
7530
|
* @prop {String} secondaryPlaceholder
|
7292
7531
|
* @prop {Object} autocompleteOptions
|
7293
7532
|
*/
|
7294
|
-
|
7533
|
+
_this44.options = $.extend({}, Chips.defaults, options);
|
7295
7534
|
|
7296
|
-
|
7297
|
-
|
7298
|
-
|
7299
|
-
|
7300
|
-
|
7535
|
+
_this44.$el.addClass('chips input-field');
|
7536
|
+
_this44.chipsData = [];
|
7537
|
+
_this44.$chips = $();
|
7538
|
+
_this44._setupInput();
|
7539
|
+
_this44.hasAutocomplete = Object.keys(_this44.options.autocompleteOptions).length > 0;
|
7301
7540
|
|
7302
7541
|
// Set input id
|
7303
|
-
if (!
|
7304
|
-
|
7542
|
+
if (!_this44.$input.attr('id')) {
|
7543
|
+
_this44.$input.attr('id', M.guid());
|
7305
7544
|
}
|
7306
7545
|
|
7307
7546
|
// Render initial chips
|
7308
|
-
if (
|
7309
|
-
|
7310
|
-
|
7547
|
+
if (_this44.options.data.length) {
|
7548
|
+
_this44.chipsData = _this44.options.data;
|
7549
|
+
_this44._renderChips(_this44.chipsData);
|
7311
7550
|
}
|
7312
7551
|
|
7313
7552
|
// Setup autocomplete if needed
|
7314
|
-
if (
|
7315
|
-
|
7553
|
+
if (_this44.hasAutocomplete) {
|
7554
|
+
_this44._setupAutocomplete();
|
7316
7555
|
}
|
7317
7556
|
|
7318
|
-
|
7319
|
-
|
7320
|
-
|
7321
|
-
return
|
7557
|
+
_this44._setPlaceholder();
|
7558
|
+
_this44._setupLabel();
|
7559
|
+
_this44._setupEventHandlers();
|
7560
|
+
return _this44;
|
7322
7561
|
}
|
7323
7562
|
|
7324
7563
|
_createClass(Chips, [{
|
@@ -7521,14 +7760,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7521
7760
|
}, {
|
7522
7761
|
key: "_setupAutocomplete",
|
7523
7762
|
value: function _setupAutocomplete() {
|
7524
|
-
var
|
7763
|
+
var _this45 = this;
|
7525
7764
|
|
7526
7765
|
this.options.autocompleteOptions.onAutocomplete = function (val) {
|
7527
|
-
|
7766
|
+
_this45.addChip({
|
7528
7767
|
tag: val
|
7529
7768
|
});
|
7530
|
-
|
7531
|
-
|
7769
|
+
_this45.$input[0].value = '';
|
7770
|
+
_this45.$input[0].focus();
|
7532
7771
|
};
|
7533
7772
|
|
7534
7773
|
this.autocomplete = M.Autocomplete.init(this.$input[0], this.options.autocompleteOptions);
|
@@ -7702,7 +7941,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7702
7941
|
var index = currChips._selectedChip.index();
|
7703
7942
|
currChips.deleteChip(index);
|
7704
7943
|
currChips._selectedChip = null;
|
7705
|
-
|
7944
|
+
|
7945
|
+
// Make sure selectIndex doesn't go negative
|
7946
|
+
selectIndex = Math.max(index - 1, 0);
|
7706
7947
|
}
|
7707
7948
|
|
7708
7949
|
if (currChips.chipsData.length) {
|
@@ -7821,21 +8062,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7821
8062
|
function Pushpin(el, options) {
|
7822
8063
|
_classCallCheck(this, Pushpin);
|
7823
8064
|
|
7824
|
-
var
|
8065
|
+
var _this46 = _possibleConstructorReturn(this, (Pushpin.__proto__ || Object.getPrototypeOf(Pushpin)).call(this, Pushpin, el, options));
|
7825
8066
|
|
7826
|
-
|
8067
|
+
_this46.el.M_Pushpin = _this46;
|
7827
8068
|
|
7828
8069
|
/**
|
7829
8070
|
* Options for the modal
|
7830
8071
|
* @member Pushpin#options
|
7831
8072
|
*/
|
7832
|
-
|
8073
|
+
_this46.options = $.extend({}, Pushpin.defaults, options);
|
7833
8074
|
|
7834
|
-
|
7835
|
-
Pushpin._pushpins.push(
|
7836
|
-
|
7837
|
-
|
7838
|
-
return
|
8075
|
+
_this46.originalOffset = _this46.el.offsetTop;
|
8076
|
+
Pushpin._pushpins.push(_this46);
|
8077
|
+
_this46._setupEventHandlers();
|
8078
|
+
_this46._updatePosition();
|
8079
|
+
return _this46;
|
7839
8080
|
}
|
7840
8081
|
|
7841
8082
|
_createClass(Pushpin, [{
|
@@ -7986,9 +8227,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7986
8227
|
function FloatingActionButton(el, options) {
|
7987
8228
|
_classCallCheck(this, FloatingActionButton);
|
7988
8229
|
|
7989
|
-
var
|
8230
|
+
var _this47 = _possibleConstructorReturn(this, (FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton)).call(this, FloatingActionButton, el, options));
|
7990
8231
|
|
7991
|
-
|
8232
|
+
_this47.el.M_FloatingActionButton = _this47;
|
7992
8233
|
|
7993
8234
|
/**
|
7994
8235
|
* Options for the fab
|
@@ -7997,30 +8238,30 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7997
8238
|
* @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
|
7998
8239
|
* @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
|
7999
8240
|
*/
|
8000
|
-
|
8001
|
-
|
8002
|
-
|
8003
|
-
|
8004
|
-
|
8005
|
-
|
8006
|
-
|
8007
|
-
|
8008
|
-
|
8009
|
-
if (
|
8010
|
-
|
8011
|
-
|
8012
|
-
} else if (
|
8013
|
-
|
8014
|
-
|
8015
|
-
} else if (
|
8016
|
-
|
8017
|
-
|
8241
|
+
_this47.options = $.extend({}, FloatingActionButton.defaults, options);
|
8242
|
+
|
8243
|
+
_this47.isOpen = false;
|
8244
|
+
_this47.$anchor = _this47.$el.children('a').first();
|
8245
|
+
_this47.$menu = _this47.$el.children('ul').first();
|
8246
|
+
_this47.$floatingBtns = _this47.$el.find('ul .btn-floating');
|
8247
|
+
_this47.$floatingBtnsReverse = _this47.$el.find('ul .btn-floating').reverse();
|
8248
|
+
_this47.offsetY = 0;
|
8249
|
+
_this47.offsetX = 0;
|
8250
|
+
if (_this47.options.direction === 'top') {
|
8251
|
+
_this47.$el.addClass('direction-top');
|
8252
|
+
_this47.offsetY = 40;
|
8253
|
+
} else if (_this47.options.direction === 'right') {
|
8254
|
+
_this47.$el.addClass('direction-right');
|
8255
|
+
_this47.offsetX = -40;
|
8256
|
+
} else if (_this47.options.direction === 'bottom') {
|
8257
|
+
_this47.$el.addClass('direction-bottom');
|
8258
|
+
_this47.offsetY = -40;
|
8018
8259
|
} else {
|
8019
|
-
|
8020
|
-
|
8260
|
+
_this47.$el.addClass('direction-left');
|
8261
|
+
_this47.offsetX = 40;
|
8021
8262
|
}
|
8022
|
-
|
8023
|
-
return
|
8263
|
+
_this47._setupEventHandlers();
|
8264
|
+
return _this47;
|
8024
8265
|
}
|
8025
8266
|
|
8026
8267
|
_createClass(FloatingActionButton, [{
|
@@ -8143,7 +8384,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8143
8384
|
}, {
|
8144
8385
|
key: "_animateInFAB",
|
8145
8386
|
value: function _animateInFAB() {
|
8146
|
-
var
|
8387
|
+
var _this48 = this;
|
8147
8388
|
|
8148
8389
|
this.$el.addClass('active');
|
8149
8390
|
|
@@ -8153,8 +8394,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8153
8394
|
targets: el,
|
8154
8395
|
opacity: 1,
|
8155
8396
|
scale: [.4, 1],
|
8156
|
-
translateY: [
|
8157
|
-
translateX: [
|
8397
|
+
translateY: [_this48.offsetY, 0],
|
8398
|
+
translateX: [_this48.offsetX, 0],
|
8158
8399
|
duration: 275,
|
8159
8400
|
delay: time,
|
8160
8401
|
easing: 'easeInOutQuad'
|
@@ -8170,7 +8411,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8170
8411
|
}, {
|
8171
8412
|
key: "_animateOutFAB",
|
8172
8413
|
value: function _animateOutFAB() {
|
8173
|
-
var
|
8414
|
+
var _this49 = this;
|
8174
8415
|
|
8175
8416
|
this.$floatingBtnsReverse.each(function (el) {
|
8176
8417
|
anim.remove(el);
|
@@ -8178,12 +8419,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8178
8419
|
targets: el,
|
8179
8420
|
opacity: 0,
|
8180
8421
|
scale: .4,
|
8181
|
-
translateY:
|
8182
|
-
translateX:
|
8422
|
+
translateY: _this49.offsetY,
|
8423
|
+
translateX: _this49.offsetX,
|
8183
8424
|
duration: 175,
|
8184
8425
|
easing: 'easeOutQuad',
|
8185
8426
|
complete: function () {
|
8186
|
-
|
8427
|
+
_this49.$el.removeClass('active');
|
8187
8428
|
}
|
8188
8429
|
});
|
8189
8430
|
});
|
@@ -8196,7 +8437,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8196
8437
|
}, {
|
8197
8438
|
key: "_animateInToolbar",
|
8198
8439
|
value: function _animateInToolbar() {
|
8199
|
-
var
|
8440
|
+
var _this50 = this;
|
8200
8441
|
|
8201
8442
|
var scaleFactor = void 0;
|
8202
8443
|
var windowWidth = window.innerWidth;
|
@@ -8232,18 +8473,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8232
8473
|
});
|
8233
8474
|
|
8234
8475
|
setTimeout(function () {
|
8235
|
-
|
8476
|
+
_this50.$el.css({
|
8236
8477
|
transform: '',
|
8237
8478
|
transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
|
8238
8479
|
});
|
8239
|
-
|
8480
|
+
_this50.$anchor.css({
|
8240
8481
|
overflow: 'visible',
|
8241
8482
|
transform: '',
|
8242
8483
|
transition: 'transform .2s'
|
8243
8484
|
});
|
8244
8485
|
|
8245
8486
|
setTimeout(function () {
|
8246
|
-
|
8487
|
+
_this50.$el.css({
|
8247
8488
|
overflow: 'hidden',
|
8248
8489
|
'background-color': fabColor
|
8249
8490
|
});
|
@@ -8251,14 +8492,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8251
8492
|
transform: 'scale(' + scaleFactor + ')',
|
8252
8493
|
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
8253
8494
|
});
|
8254
|
-
|
8495
|
+
_this50.$menu.children('li').children('a').css({
|
8255
8496
|
opacity: 1
|
8256
8497
|
});
|
8257
8498
|
|
8258
8499
|
// Scroll to close.
|
8259
|
-
|
8260
|
-
window.addEventListener('scroll',
|
8261
|
-
document.body.addEventListener('click',
|
8500
|
+
_this50._handleDocumentClickBound = _this50._handleDocumentClick.bind(_this50);
|
8501
|
+
window.addEventListener('scroll', _this50._handleCloseBound, true);
|
8502
|
+
document.body.addEventListener('click', _this50._handleDocumentClickBound, true);
|
8262
8503
|
}, 100);
|
8263
8504
|
}, 0);
|
8264
8505
|
}
|
@@ -8270,7 +8511,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8270
8511
|
}, {
|
8271
8512
|
key: "_animateOutToolbar",
|
8272
8513
|
value: function _animateOutToolbar() {
|
8273
|
-
var
|
8514
|
+
var _this51 = this;
|
8274
8515
|
|
8275
8516
|
var windowWidth = window.innerWidth;
|
8276
8517
|
var windowHeight = window.innerHeight;
|
@@ -8301,26 +8542,26 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8301
8542
|
backdrop.remove();
|
8302
8543
|
|
8303
8544
|
// Set initial state.
|
8304
|
-
|
8545
|
+
_this51.$el.css({
|
8305
8546
|
'text-align': '',
|
8306
8547
|
width: '',
|
8307
8548
|
bottom: '',
|
8308
8549
|
left: '',
|
8309
8550
|
overflow: '',
|
8310
8551
|
'background-color': '',
|
8311
|
-
transform: 'translate3d(' + -
|
8552
|
+
transform: 'translate3d(' + -_this51.offsetX + 'px,0,0)'
|
8312
8553
|
});
|
8313
|
-
|
8554
|
+
_this51.$anchor.css({
|
8314
8555
|
overflow: '',
|
8315
|
-
transform: 'translate3d(0,' +
|
8556
|
+
transform: 'translate3d(0,' + _this51.offsetY + 'px,0)'
|
8316
8557
|
});
|
8317
8558
|
|
8318
8559
|
setTimeout(function () {
|
8319
|
-
|
8560
|
+
_this51.$el.css({
|
8320
8561
|
transform: 'translate3d(0,0,0)',
|
8321
8562
|
transition: 'transform .2s'
|
8322
8563
|
});
|
8323
|
-
|
8564
|
+
_this51.$anchor.css({
|
8324
8565
|
transform: 'translate3d(0,0,0)',
|
8325
8566
|
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
8326
8567
|
});
|
@@ -8411,10 +8652,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8411
8652
|
// Specify a DOM element to render the calendar in
|
8412
8653
|
container: null,
|
8413
8654
|
|
8655
|
+
// Show clear button
|
8656
|
+
showClearBtn: false,
|
8657
|
+
|
8414
8658
|
// internationalization
|
8415
8659
|
i18n: {
|
8660
|
+
cancel: 'Cancel',
|
8416
8661
|
clear: 'Clear',
|
8417
|
-
today: 'Today',
|
8418
8662
|
done: 'Ok',
|
8419
8663
|
previousMonth: '‹',
|
8420
8664
|
nextMonth: '›',
|
@@ -8452,53 +8696,53 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8452
8696
|
function Datepicker(el, options) {
|
8453
8697
|
_classCallCheck(this, Datepicker);
|
8454
8698
|
|
8455
|
-
var
|
8699
|
+
var _this52 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
|
8456
8700
|
|
8457
|
-
|
8701
|
+
_this52.el.M_Datepicker = _this52;
|
8458
8702
|
|
8459
|
-
|
8703
|
+
_this52.options = $.extend({}, Datepicker.defaults, options);
|
8460
8704
|
|
8461
8705
|
// make sure i18n defaults are not lost when only few i18n option properties are passed
|
8462
8706
|
if (!!options && options.hasOwnProperty('i18n') && typeof options.i18n === 'object') {
|
8463
|
-
|
8707
|
+
_this52.options.i18n = $.extend({}, Datepicker.defaults.i18n, options.i18n);
|
8464
8708
|
}
|
8465
8709
|
|
8466
8710
|
// Remove time component from minDate and maxDate options
|
8467
|
-
if (
|
8468
|
-
if (
|
8711
|
+
if (_this52.options.minDate) _this52.options.minDate.setHours(0, 0, 0, 0);
|
8712
|
+
if (_this52.options.maxDate) _this52.options.maxDate.setHours(0, 0, 0, 0);
|
8469
8713
|
|
8470
|
-
|
8714
|
+
_this52.id = M.guid();
|
8471
8715
|
|
8472
|
-
|
8473
|
-
|
8474
|
-
|
8716
|
+
_this52._setupVariables();
|
8717
|
+
_this52._insertHTMLIntoDOM();
|
8718
|
+
_this52._setupModal();
|
8475
8719
|
|
8476
|
-
|
8720
|
+
_this52._setupEventHandlers();
|
8477
8721
|
|
8478
|
-
if (!
|
8479
|
-
|
8480
|
-
|
8722
|
+
if (!_this52.options.defaultDate) {
|
8723
|
+
_this52.options.defaultDate = new Date(Date.parse(_this52.el.value));
|
8724
|
+
_this52.options.setDefaultDate = true;
|
8481
8725
|
}
|
8482
8726
|
|
8483
|
-
var defDate =
|
8727
|
+
var defDate = _this52.options.defaultDate;
|
8484
8728
|
|
8485
8729
|
if (Datepicker._isDate(defDate)) {
|
8486
|
-
if (
|
8487
|
-
|
8730
|
+
if (_this52.options.setDefaultDate) {
|
8731
|
+
_this52.setDate(defDate, true);
|
8488
8732
|
} else {
|
8489
|
-
|
8733
|
+
_this52.gotoDate(defDate);
|
8490
8734
|
}
|
8491
8735
|
} else {
|
8492
|
-
|
8736
|
+
_this52.gotoDate(new Date());
|
8493
8737
|
}
|
8494
8738
|
|
8495
8739
|
/**
|
8496
8740
|
* Describes open/close state of datepicker
|
8497
8741
|
* @type {Boolean}
|
8498
8742
|
*/
|
8499
|
-
|
8743
|
+
_this52.isOpen = false;
|
8500
8744
|
|
8501
|
-
return
|
8745
|
+
return _this52;
|
8502
8746
|
}
|
8503
8747
|
|
8504
8748
|
_createClass(Datepicker, [{
|
@@ -8512,18 +8756,34 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8512
8756
|
this._removeEventHandlers();
|
8513
8757
|
this.modal.destroy();
|
8514
8758
|
$(this.modalEl).remove();
|
8759
|
+
this.destroySelects();
|
8515
8760
|
this.el.M_Datepicker = undefined;
|
8516
8761
|
}
|
8762
|
+
}, {
|
8763
|
+
key: "destroySelects",
|
8764
|
+
value: function destroySelects() {
|
8765
|
+
var oldYearSelect = this.calendarEl.querySelector('.pika-select-year');
|
8766
|
+
if (oldYearSelect) {
|
8767
|
+
M.FormSelect.getInstance(oldYearSelect).destroy();
|
8768
|
+
}
|
8769
|
+
var oldMonthSelect = this.calendarEl.querySelector('.pika-select-month');
|
8770
|
+
if (oldMonthSelect) {
|
8771
|
+
M.FormSelect.getInstance(oldMonthSelect).destroy();
|
8772
|
+
}
|
8773
|
+
}
|
8517
8774
|
}, {
|
8518
8775
|
key: "_insertHTMLIntoDOM",
|
8519
8776
|
value: function _insertHTMLIntoDOM() {
|
8520
|
-
|
8521
|
-
|
8777
|
+
if (this.options.showClearBtn) {
|
8778
|
+
$(this.clearBtn).css({ visibility: '' });
|
8779
|
+
this.clearBtn.innerHTML = this.options.i18n.clear;
|
8780
|
+
}
|
8781
|
+
|
8522
8782
|
this.doneBtn.innerHTML = this.options.i18n.done;
|
8783
|
+
this.cancelBtn.innerHTML = this.options.i18n.cancel;
|
8523
8784
|
|
8524
|
-
|
8525
|
-
|
8526
|
-
this.$modalEl.appendTo(containerEl);
|
8785
|
+
if (this.options.container) {
|
8786
|
+
this.$modalEl.appendTo(this.options.container);
|
8527
8787
|
} else {
|
8528
8788
|
this.$modalEl.insertBefore(this.el);
|
8529
8789
|
}
|
@@ -8531,19 +8791,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8531
8791
|
}, {
|
8532
8792
|
key: "_setupModal",
|
8533
8793
|
value: function _setupModal() {
|
8534
|
-
var
|
8794
|
+
var _this53 = this;
|
8535
8795
|
|
8536
8796
|
this.modalEl.id = 'modal-' + this.id;
|
8537
8797
|
this.modal = M.Modal.init(this.modalEl, {
|
8538
8798
|
onCloseEnd: function () {
|
8539
|
-
|
8799
|
+
_this53.isOpen = false;
|
8540
8800
|
}
|
8541
8801
|
});
|
8542
8802
|
}
|
8543
8803
|
}, {
|
8544
8804
|
key: "toString",
|
8545
8805
|
value: function toString(format) {
|
8546
|
-
var
|
8806
|
+
var _this54 = this;
|
8547
8807
|
|
8548
8808
|
format = format || this.options.format;
|
8549
8809
|
if (!Datepicker._isDate(this.date)) {
|
@@ -8552,8 +8812,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8552
8812
|
|
8553
8813
|
var formatArray = format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);
|
8554
8814
|
var formattedDate = formatArray.map(function (label) {
|
8555
|
-
if (
|
8556
|
-
return
|
8815
|
+
if (_this54.formats[label]) {
|
8816
|
+
return _this54.formats[label]();
|
8557
8817
|
}
|
8558
8818
|
|
8559
8819
|
return label;
|
@@ -8930,15 +9190,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8930
9190
|
html += this.renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId);
|
8931
9191
|
}
|
8932
9192
|
|
8933
|
-
|
8934
|
-
var oldYearSelect = this.calendarEl.querySelector('.pika-select-year');
|
8935
|
-
if (oldYearSelect) {
|
8936
|
-
M.FormSelect.getInstance(oldYearSelect).destroy();
|
8937
|
-
}
|
8938
|
-
var oldMonthSelect = this.calendarEl.querySelector('.pika-select-month');
|
8939
|
-
if (oldMonthSelect) {
|
8940
|
-
M.FormSelect.getInstance(oldMonthSelect).destroy();
|
8941
|
-
}
|
9193
|
+
this.destroySelects();
|
8942
9194
|
|
8943
9195
|
this.calendarEl.innerHTML = html;
|
8944
9196
|
|
@@ -8969,22 +9221,25 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8969
9221
|
this._handleInputChangeBound = this._handleInputChange.bind(this);
|
8970
9222
|
this._handleCalendarClickBound = this._handleCalendarClick.bind(this);
|
8971
9223
|
this._finishSelectionBound = this._finishSelection.bind(this);
|
8972
|
-
this._handleTodayClickBound = this._handleTodayClick.bind(this);
|
8973
|
-
this._handleClearClickBound = this._handleClearClick.bind(this);
|
8974
9224
|
this._handleMonthChange = this._handleMonthChange.bind(this);
|
9225
|
+
this._closeBound = this.close.bind(this);
|
8975
9226
|
|
8976
9227
|
this.el.addEventListener('click', this._handleInputClickBound);
|
8977
9228
|
this.el.addEventListener('keydown', this._handleInputKeydownBound);
|
8978
9229
|
this.el.addEventListener('change', this._handleInputChangeBound);
|
8979
9230
|
this.calendarEl.addEventListener('click', this._handleCalendarClickBound);
|
8980
9231
|
this.doneBtn.addEventListener('click', this._finishSelectionBound);
|
8981
|
-
this.
|
8982
|
-
|
9232
|
+
this.cancelBtn.addEventListener('click', this._closeBound);
|
9233
|
+
|
9234
|
+
if (this.options.showClearBtn) {
|
9235
|
+
this._handleClearClickBound = this._handleClearClick.bind(this);
|
9236
|
+
this.clearBtn.addEventListener('click', this._handleClearClickBound);
|
9237
|
+
}
|
8983
9238
|
}
|
8984
9239
|
}, {
|
8985
9240
|
key: "_setupVariables",
|
8986
9241
|
value: function _setupVariables() {
|
8987
|
-
var
|
9242
|
+
var _this55 = this;
|
8988
9243
|
|
8989
9244
|
this.$modalEl = $(Datepicker._template);
|
8990
9245
|
this.modalEl = this.$modalEl[0];
|
@@ -8993,43 +9248,45 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8993
9248
|
|
8994
9249
|
this.yearTextEl = this.modalEl.querySelector('.year-text');
|
8995
9250
|
this.dateTextEl = this.modalEl.querySelector('.date-text');
|
8996
|
-
|
8997
|
-
|
9251
|
+
if (this.options.showClearBtn) {
|
9252
|
+
this.clearBtn = this.modalEl.querySelector('.datepicker-clear');
|
9253
|
+
}
|
8998
9254
|
this.doneBtn = this.modalEl.querySelector('.datepicker-done');
|
9255
|
+
this.cancelBtn = this.modalEl.querySelector('.datepicker-cancel');
|
8999
9256
|
|
9000
9257
|
this.formats = {
|
9001
9258
|
|
9002
9259
|
d: function () {
|
9003
|
-
return
|
9260
|
+
return _this55.date.getDate();
|
9004
9261
|
},
|
9005
9262
|
dd: function () {
|
9006
|
-
var d =
|
9263
|
+
var d = _this55.date.getDate();
|
9007
9264
|
return (d < 10 ? '0' : '') + d;
|
9008
9265
|
},
|
9009
9266
|
ddd: function () {
|
9010
|
-
return
|
9267
|
+
return _this55.options.i18n.weekdaysShort[_this55.date.getDay()];
|
9011
9268
|
},
|
9012
9269
|
dddd: function () {
|
9013
|
-
return
|
9270
|
+
return _this55.options.i18n.weekdays[_this55.date.getDay()];
|
9014
9271
|
},
|
9015
9272
|
m: function () {
|
9016
|
-
return
|
9273
|
+
return _this55.date.getMonth() + 1;
|
9017
9274
|
},
|
9018
9275
|
mm: function () {
|
9019
|
-
var m =
|
9276
|
+
var m = _this55.date.getMonth() + 1;
|
9020
9277
|
return (m < 10 ? '0' : '') + m;
|
9021
9278
|
},
|
9022
9279
|
mmm: function () {
|
9023
|
-
return
|
9280
|
+
return _this55.options.i18n.monthsShort[_this55.date.getMonth()];
|
9024
9281
|
},
|
9025
9282
|
mmmm: function () {
|
9026
|
-
return
|
9283
|
+
return _this55.options.i18n.months[_this55.date.getMonth()];
|
9027
9284
|
},
|
9028
9285
|
yy: function () {
|
9029
|
-
return ('' +
|
9286
|
+
return ('' + _this55.date.getFullYear()).slice(2);
|
9030
9287
|
},
|
9031
9288
|
yyyy: function () {
|
9032
|
-
return
|
9289
|
+
return _this55.date.getFullYear();
|
9033
9290
|
}
|
9034
9291
|
};
|
9035
9292
|
}
|
@@ -9088,13 +9345,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9088
9345
|
// this._c = true;
|
9089
9346
|
// }
|
9090
9347
|
}
|
9091
|
-
}, {
|
9092
|
-
key: "_handleTodayClick",
|
9093
|
-
value: function _handleTodayClick() {
|
9094
|
-
this.date = new Date();
|
9095
|
-
this.setInputValue();
|
9096
|
-
this.close();
|
9097
|
-
}
|
9098
9348
|
}, {
|
9099
9349
|
key: "_handleClearClick",
|
9100
9350
|
value: function _handleClearClick() {
|
@@ -9284,7 +9534,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9284
9534
|
return Datepicker;
|
9285
9535
|
}(Component);
|
9286
9536
|
|
9287
|
-
Datepicker._template = ['<div class= "modal datepicker-modal">', '<div class="modal-content datepicker-container">', '<div class="datepicker-date-display">', '<span class="year-text"></span>', '<span class="date-text"></span>', '</div>', '<div class="datepicker-calendar-container">', '<div class="pika-single"></div>', '<div class="datepicker-footer">', '<button class="btn-flat datepicker-clear waves-effect" type="button"></button>', '<div class="confirmation-btns">', '<button class="btn-flat datepicker-
|
9537
|
+
Datepicker._template = ['<div class= "modal datepicker-modal">', '<div class="modal-content datepicker-container">', '<div class="datepicker-date-display">', '<span class="year-text"></span>', '<span class="date-text"></span>', '</div>', '<div class="datepicker-calendar-container">', '<div class="pika-single"></div>', '<div class="datepicker-footer">', '<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>', '<div class="confirmation-btns">', '<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>', '<button class="btn-flat datepicker-done waves-effect" type="button"></button>', '</div>', '</div>', '</div>', '</div>', '</div>'].join('');
|
9288
9538
|
|
9289
9539
|
M.Datepicker = Datepicker;
|
9290
9540
|
|
@@ -9303,13 +9553,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9303
9553
|
duration: 350,
|
9304
9554
|
container: null,
|
9305
9555
|
defaultTime: 'now', // default time, 'now' or '13:14' e.g.
|
9306
|
-
|
9556
|
+
fromNow: 0, // Millisecond offset from the defaultTime
|
9557
|
+
showClearBtn: false,
|
9307
9558
|
|
9308
9559
|
// internationalization
|
9309
9560
|
i18n: {
|
9310
|
-
|
9561
|
+
cancel: 'Cancel',
|
9311
9562
|
clear: 'Clear',
|
9312
|
-
|
9563
|
+
done: 'Ok'
|
9313
9564
|
},
|
9314
9565
|
|
9315
9566
|
autoClose: false, // auto close when minute is selected
|
@@ -9328,21 +9579,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9328
9579
|
function Timepicker(el, options) {
|
9329
9580
|
_classCallCheck(this, Timepicker);
|
9330
9581
|
|
9331
|
-
var
|
9582
|
+
var _this56 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options));
|
9332
9583
|
|
9333
|
-
|
9584
|
+
_this56.el.M_Timepicker = _this56;
|
9334
9585
|
|
9335
|
-
|
9586
|
+
_this56.options = $.extend({}, Timepicker.defaults, options);
|
9336
9587
|
|
9337
|
-
|
9338
|
-
|
9339
|
-
|
9340
|
-
|
9341
|
-
|
9588
|
+
_this56.id = M.guid();
|
9589
|
+
_this56._insertHTMLIntoDOM();
|
9590
|
+
_this56._setupModal();
|
9591
|
+
_this56._setupVariables();
|
9592
|
+
_this56._setupEventHandlers();
|
9342
9593
|
|
9343
|
-
|
9344
|
-
|
9345
|
-
return
|
9594
|
+
_this56._clockSetup();
|
9595
|
+
_this56._pickerSetup();
|
9596
|
+
return _this56;
|
9346
9597
|
}
|
9347
9598
|
|
9348
9599
|
_createClass(Timepicker, [{
|
@@ -9437,7 +9688,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9437
9688
|
}, {
|
9438
9689
|
key: "_handleDocumentClickEnd",
|
9439
9690
|
value: function _handleDocumentClickEnd(e) {
|
9440
|
-
var
|
9691
|
+
var _this57 = this;
|
9441
9692
|
|
9442
9693
|
e.preventDefault();
|
9443
9694
|
document.removeEventListener('mouseup', this._handleDocumentClickEndBound);
|
@@ -9454,7 +9705,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9454
9705
|
} else if (this.options.autoClose) {
|
9455
9706
|
$(this.minutesView).addClass('timepicker-dial-out');
|
9456
9707
|
setTimeout(function () {
|
9457
|
-
|
9708
|
+
_this57.done();
|
9458
9709
|
}, this.options.duration / 2);
|
9459
9710
|
}
|
9460
9711
|
|
@@ -9480,11 +9731,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9480
9731
|
}, {
|
9481
9732
|
key: "_setupModal",
|
9482
9733
|
value: function _setupModal() {
|
9483
|
-
var
|
9734
|
+
var _this58 = this;
|
9484
9735
|
|
9485
9736
|
this.modal = M.Modal.init(this.modalEl, {
|
9486
9737
|
onCloseEnd: function () {
|
9487
|
-
|
9738
|
+
_this58.isOpen = false;
|
9488
9739
|
}
|
9489
9740
|
});
|
9490
9741
|
}
|
@@ -9508,7 +9759,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9508
9759
|
}, {
|
9509
9760
|
key: "_pickerSetup",
|
9510
9761
|
value: function _pickerSetup() {
|
9511
|
-
|
9762
|
+
|
9763
|
+
var $clearBtn = $('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="' + (this.options.twelveHour ? '3' : '1') + '">' + this.options.i18n.clear + '</button>').appendTo(this.footer).on('click', this.clear.bind(this));
|
9764
|
+
if (this.options.showClearBtn) {
|
9765
|
+
$clearBtn.css({ visibility: '' });
|
9766
|
+
}
|
9512
9767
|
|
9513
9768
|
var confirmationBtnsContainer = $('<div class="confirmation-btns"></div>');
|
9514
9769
|
$('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="' + (this.options.twelveHour ? '3' : '1') + '">' + this.options.i18n.cancel + '</button>').appendTo(confirmationBtnsContainer).on('click', this.close.bind(this));
|
@@ -9644,7 +9899,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9644
9899
|
value[1] = value[1].replace("AM", "").replace("PM", "");
|
9645
9900
|
}
|
9646
9901
|
if (value[0] === 'now') {
|
9647
|
-
var now = new Date(+new Date() + this.options.
|
9902
|
+
var now = new Date(+new Date() + this.options.fromNow);
|
9648
9903
|
value = [now.getHours(), now.getMinutes()];
|
9649
9904
|
if (this.options.twelveHour) {
|
9650
9905
|
this.amOrPm = value[0] >= 12 && value[0] < 24 ? 'PM' : 'AM';
|
@@ -9710,7 +9965,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9710
9965
|
}, {
|
9711
9966
|
key: "setHand",
|
9712
9967
|
value: function setHand(x, y, roundBy5) {
|
9713
|
-
var
|
9968
|
+
var _this59 = this;
|
9714
9969
|
|
9715
9970
|
var radian = Math.atan2(x, -y),
|
9716
9971
|
isHours = this.currentView === 'hours',
|
@@ -9765,7 +10020,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9765
10020
|
if (!this.vibrateTimer) {
|
9766
10021
|
navigator[this.vibrate](10);
|
9767
10022
|
this.vibrateTimer = setTimeout(function () {
|
9768
|
-
|
10023
|
+
_this59.vibrateTimer = null;
|
9769
10024
|
}, 100);
|
9770
10025
|
}
|
9771
10026
|
}
|
@@ -9929,20 +10184,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9929
10184
|
function CharacterCounter(el, options) {
|
9930
10185
|
_classCallCheck(this, CharacterCounter);
|
9931
10186
|
|
9932
|
-
var
|
10187
|
+
var _this60 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options));
|
9933
10188
|
|
9934
|
-
|
10189
|
+
_this60.el.M_CharacterCounter = _this60;
|
9935
10190
|
|
9936
10191
|
/**
|
9937
10192
|
* Options for the character counter
|
9938
10193
|
*/
|
9939
|
-
|
10194
|
+
_this60.options = $.extend({}, CharacterCounter.defaults, options);
|
9940
10195
|
|
9941
|
-
|
9942
|
-
|
9943
|
-
|
9944
|
-
|
9945
|
-
return
|
10196
|
+
_this60.isInvalid = false;
|
10197
|
+
_this60.isValidLength = false;
|
10198
|
+
_this60._setupCounter();
|
10199
|
+
_this60._setupEventHandlers();
|
10200
|
+
return _this60;
|
9946
10201
|
}
|
9947
10202
|
|
9948
10203
|
_createClass(CharacterCounter, [{
|
@@ -10085,6 +10340,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10085
10340
|
dist: -100, // zoom scale TODO: make this more intuitive as an option
|
10086
10341
|
shift: 0, // spacing for center image
|
10087
10342
|
padding: 0, // Padding between non center items
|
10343
|
+
numVisible: 5, // Number of visible items in carousel
|
10088
10344
|
fullWidth: false, // Change to full width styles
|
10089
10345
|
indicators: false, // Toggle indicators
|
10090
10346
|
noWrap: false, // Don't wrap around and cycle through items.
|
@@ -10108,54 +10364,55 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10108
10364
|
function Carousel(el, options) {
|
10109
10365
|
_classCallCheck(this, Carousel);
|
10110
10366
|
|
10111
|
-
var
|
10367
|
+
var _this61 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options));
|
10112
10368
|
|
10113
|
-
|
10369
|
+
_this61.el.M_Carousel = _this61;
|
10114
10370
|
|
10115
10371
|
/**
|
10116
10372
|
* Options for the carousel
|
10117
10373
|
* @member Carousel#options
|
10118
10374
|
* @prop {Number} duration
|
10119
10375
|
* @prop {Number} dist
|
10120
|
-
* @prop {
|
10121
|
-
* @prop {
|
10376
|
+
* @prop {Number} shift
|
10377
|
+
* @prop {Number} padding
|
10378
|
+
* @prop {Number} numVisible
|
10122
10379
|
* @prop {Boolean} fullWidth
|
10123
10380
|
* @prop {Boolean} indicators
|
10124
10381
|
* @prop {Boolean} noWrap
|
10125
10382
|
* @prop {Function} onCycleTo
|
10126
10383
|
*/
|
10127
|
-
|
10384
|
+
_this61.options = $.extend({}, Carousel.defaults, options);
|
10128
10385
|
|
10129
10386
|
// Setup
|
10130
|
-
|
10131
|
-
|
10132
|
-
|
10133
|
-
|
10134
|
-
|
10135
|
-
|
10136
|
-
|
10137
|
-
|
10138
|
-
|
10139
|
-
|
10140
|
-
|
10141
|
-
|
10387
|
+
_this61.hasMultipleSlides = _this61.$el.find('.carousel-item').length > 1;
|
10388
|
+
_this61.showIndicators = _this61.options.indicators && _this61.hasMultipleSlides;
|
10389
|
+
_this61.noWrap = _this61.options.noWrap || !_this61.hasMultipleSlides;
|
10390
|
+
_this61.pressed = false;
|
10391
|
+
_this61.dragged = false;
|
10392
|
+
_this61.offset = _this61.target = 0;
|
10393
|
+
_this61.images = [];
|
10394
|
+
_this61.itemWidth = _this61.$el.find('.carousel-item').first().innerWidth();
|
10395
|
+
_this61.itemHeight = _this61.$el.find('.carousel-item').first().innerHeight();
|
10396
|
+
_this61.dim = _this61.itemWidth * 2 + _this61.options.padding || 1; // Make sure dim is non zero for divisions.
|
10397
|
+
_this61._autoScrollBound = _this61._autoScroll.bind(_this61);
|
10398
|
+
_this61._trackBound = _this61._track.bind(_this61);
|
10142
10399
|
|
10143
10400
|
// Full Width carousel setup
|
10144
|
-
if (
|
10145
|
-
|
10146
|
-
|
10401
|
+
if (_this61.options.fullWidth) {
|
10402
|
+
_this61.options.dist = 0;
|
10403
|
+
_this61._setCarouselHeight();
|
10147
10404
|
|
10148
10405
|
// Offset fixed items when indicators.
|
10149
|
-
if (
|
10150
|
-
|
10406
|
+
if (_this61.showIndicators) {
|
10407
|
+
_this61.$el.find('.carousel-fixed-item').addClass('with-indicators');
|
10151
10408
|
}
|
10152
10409
|
}
|
10153
10410
|
|
10154
10411
|
// Iterate through slides
|
10155
|
-
|
10156
|
-
|
10157
|
-
|
10158
|
-
if (
|
10412
|
+
_this61.$indicators = $('<ul class="indicators"></ul>');
|
10413
|
+
_this61.$el.find('.carousel-item').each(function (el, i) {
|
10414
|
+
_this61.images.push(el);
|
10415
|
+
if (_this61.showIndicators) {
|
10159
10416
|
var $indicator = $('<li class="indicator-item"></li>');
|
10160
10417
|
|
10161
10418
|
// Add active to first by default.
|
@@ -10163,28 +10420,31 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10163
10420
|
$indicator[0].classList.add('active');
|
10164
10421
|
}
|
10165
10422
|
|
10166
|
-
|
10423
|
+
_this61.$indicators.append($indicator);
|
10167
10424
|
}
|
10168
10425
|
});
|
10169
|
-
if (
|
10170
|
-
|
10426
|
+
if (_this61.showIndicators) {
|
10427
|
+
_this61.$el.append(_this61.$indicators);
|
10171
10428
|
}
|
10172
|
-
|
10429
|
+
_this61.count = _this61.images.length;
|
10430
|
+
|
10431
|
+
// Cap numVisible at count
|
10432
|
+
_this61.options.numVisible = Math.min(_this61.count, _this61.options.numVisible);
|
10173
10433
|
|
10174
10434
|
// Setup cross browser string
|
10175
|
-
|
10435
|
+
_this61.xform = 'transform';
|
10176
10436
|
['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
|
10177
10437
|
var e = prefix + 'Transform';
|
10178
10438
|
if (typeof document.body.style[e] !== 'undefined') {
|
10179
|
-
|
10439
|
+
_this61.xform = e;
|
10180
10440
|
return false;
|
10181
10441
|
}
|
10182
10442
|
return true;
|
10183
10443
|
});
|
10184
10444
|
|
10185
|
-
|
10186
|
-
|
10187
|
-
return
|
10445
|
+
_this61._setupEventHandlers();
|
10446
|
+
_this61._scroll(_this61.offset);
|
10447
|
+
return _this61;
|
10188
10448
|
}
|
10189
10449
|
|
10190
10450
|
_createClass(Carousel, [{
|
@@ -10206,7 +10466,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10206
10466
|
}, {
|
10207
10467
|
key: "_setupEventHandlers",
|
10208
10468
|
value: function _setupEventHandlers() {
|
10209
|
-
var
|
10469
|
+
var _this62 = this;
|
10210
10470
|
|
10211
10471
|
this._handleCarouselTapBound = this._handleCarouselTap.bind(this);
|
10212
10472
|
this._handleCarouselDragBound = this._handleCarouselDrag.bind(this);
|
@@ -10228,7 +10488,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10228
10488
|
if (this.showIndicators && this.$indicators) {
|
10229
10489
|
this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
|
10230
10490
|
this.$indicators.find('.indicator-item').each(function (el, i) {
|
10231
|
-
el.addEventListener('click',
|
10491
|
+
el.addEventListener('click', _this62._handleIndicatorClickBound);
|
10232
10492
|
});
|
10233
10493
|
}
|
10234
10494
|
|
@@ -10246,7 +10506,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10246
10506
|
}, {
|
10247
10507
|
key: "_removeEventHandlers",
|
10248
10508
|
value: function _removeEventHandlers() {
|
10249
|
-
var
|
10509
|
+
var _this63 = this;
|
10250
10510
|
|
10251
10511
|
if (typeof window.ontouchstart !== 'undefined') {
|
10252
10512
|
this.el.removeEventListener('touchstart', this._handleCarouselTapBound);
|
@@ -10261,7 +10521,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10261
10521
|
|
10262
10522
|
if (this.showIndicators && this.$indicators) {
|
10263
10523
|
this.$indicators.find('.indicator-item').each(function (el, i) {
|
10264
|
-
el.removeEventListener('click',
|
10524
|
+
el.removeEventListener('click', _this63._handleIndicatorClickBound);
|
10265
10525
|
});
|
10266
10526
|
}
|
10267
10527
|
|
@@ -10447,7 +10707,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10447
10707
|
}, {
|
10448
10708
|
key: "_setCarouselHeight",
|
10449
10709
|
value: function _setCarouselHeight(imageOnly) {
|
10450
|
-
var
|
10710
|
+
var _this64 = this;
|
10451
10711
|
|
10452
10712
|
var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first();
|
10453
10713
|
var firstImage = firstSlide.find('img').first();
|
@@ -10467,7 +10727,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10467
10727
|
} else {
|
10468
10728
|
// Get height when image is loaded normally
|
10469
10729
|
firstImage.one('load', function (el, i) {
|
10470
|
-
|
10730
|
+
_this64.$el.css('height', el.offsetHeight + 'px');
|
10471
10731
|
});
|
10472
10732
|
}
|
10473
10733
|
} else if (!imageOnly) {
|
@@ -10573,7 +10833,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10573
10833
|
}, {
|
10574
10834
|
key: "_scroll",
|
10575
10835
|
value: function _scroll(x) {
|
10576
|
-
var
|
10836
|
+
var _this65 = this;
|
10577
10837
|
|
10578
10838
|
// Track scrolling state
|
10579
10839
|
if (!this.$el.hasClass('scrolling')) {
|
@@ -10583,7 +10843,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10583
10843
|
window.clearTimeout(this.scrollingTimeout);
|
10584
10844
|
}
|
10585
10845
|
this.scrollingTimeout = window.setTimeout(function () {
|
10586
|
-
|
10846
|
+
_this65.$el.removeClass('scrolling');
|
10587
10847
|
}, this.options.duration);
|
10588
10848
|
|
10589
10849
|
// Start actual scroll
|
@@ -10595,8 +10855,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10595
10855
|
el = void 0,
|
10596
10856
|
alignment = void 0,
|
10597
10857
|
zTranslation = void 0,
|
10598
|
-
tweenedOpacity = void 0
|
10858
|
+
tweenedOpacity = void 0,
|
10859
|
+
centerTweenedOpacity = void 0;
|
10599
10860
|
var lastCenter = this.center;
|
10861
|
+
var numVisibleOffset = 1 / this.options.numVisible;
|
10600
10862
|
|
10601
10863
|
this.offset = typeof x === 'number' ? x : this.offset;
|
10602
10864
|
this.center = Math.floor((this.offset + this.dim / 2) / this.dim);
|
@@ -10605,11 +10867,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10605
10867
|
tween = -dir * delta * 2 / this.dim;
|
10606
10868
|
half = this.count >> 1;
|
10607
10869
|
|
10608
|
-
if (
|
10870
|
+
if (this.options.fullWidth) {
|
10871
|
+
alignment = 'translateX(0)';
|
10872
|
+
centerTweenedOpacity = 1;
|
10873
|
+
} else {
|
10609
10874
|
alignment = 'translateX(' + (this.el.clientWidth - this.itemWidth) / 2 + 'px) ';
|
10610
10875
|
alignment += 'translateY(' + (this.el.clientHeight - this.itemHeight) / 2 + 'px)';
|
10611
|
-
|
10612
|
-
alignment = 'translateX(0)';
|
10876
|
+
centerTweenedOpacity = 1 - numVisibleOffset * tween;
|
10613
10877
|
}
|
10614
10878
|
|
10615
10879
|
// Set indicator active
|
@@ -10632,15 +10896,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10632
10896
|
this.$el.find('.carousel-item').removeClass('active');
|
10633
10897
|
el.classList.add('active');
|
10634
10898
|
}
|
10635
|
-
|
10636
|
-
el
|
10637
|
-
if (this.options.fullWidth) {
|
10638
|
-
tweenedOpacity = 1;
|
10639
|
-
} else {
|
10640
|
-
tweenedOpacity = 1 - 0.2 * tween;
|
10641
|
-
}
|
10642
|
-
el.style.opacity = tweenedOpacity;
|
10643
|
-
el.style.visibility = 'visible';
|
10899
|
+
var transformString = alignment + ' translateX(' + -delta / 2 + 'px)' + ' translateX(' + dir * this.options.shift * tween * i + 'px)' + ' translateZ(' + this.options.dist * tween + 'px)';
|
10900
|
+
this._updateItemStyle(el, centerTweenedOpacity, 0, transformString);
|
10644
10901
|
}
|
10645
10902
|
|
10646
10903
|
for (i = 1; i <= half; ++i) {
|
@@ -10650,15 +10907,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10650
10907
|
tweenedOpacity = i === half && delta < 0 ? 1 - tween : 1;
|
10651
10908
|
} else {
|
10652
10909
|
zTranslation = this.options.dist * (i * 2 + tween * dir);
|
10653
|
-
tweenedOpacity = 1 -
|
10910
|
+
tweenedOpacity = 1 - numVisibleOffset * (i * 2 + tween * dir);
|
10654
10911
|
}
|
10655
10912
|
// Don't show wrapped items.
|
10656
10913
|
if (!this.noWrap || this.center + i < this.count) {
|
10657
10914
|
el = this.images[this._wrap(this.center + i)];
|
10658
|
-
|
10659
|
-
el
|
10660
|
-
el.style.opacity = tweenedOpacity;
|
10661
|
-
el.style.visibility = 'visible';
|
10915
|
+
var _transformString = alignment + ' translateX(' + (this.options.shift + (this.dim * i - delta) / 2) + 'px)' + ' translateZ(' + zTranslation + 'px)';
|
10916
|
+
this._updateItemStyle(el, tweenedOpacity, -i, _transformString);
|
10662
10917
|
}
|
10663
10918
|
|
10664
10919
|
// left side
|
@@ -10667,15 +10922,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10667
10922
|
tweenedOpacity = i === half && delta > 0 ? 1 - tween : 1;
|
10668
10923
|
} else {
|
10669
10924
|
zTranslation = this.options.dist * (i * 2 - tween * dir);
|
10670
|
-
tweenedOpacity = 1 -
|
10925
|
+
tweenedOpacity = 1 - numVisibleOffset * (i * 2 - tween * dir);
|
10671
10926
|
}
|
10672
10927
|
// Don't show wrapped items.
|
10673
10928
|
if (!this.noWrap || this.center - i >= 0) {
|
10674
10929
|
el = this.images[this._wrap(this.center - i)];
|
10675
|
-
|
10676
|
-
el
|
10677
|
-
el.style.opacity = tweenedOpacity;
|
10678
|
-
el.style.visibility = 'visible';
|
10930
|
+
var _transformString2 = alignment + ' translateX(' + (-this.options.shift + (-this.dim * i - delta) / 2) + 'px)' + ' translateZ(' + zTranslation + 'px)';
|
10931
|
+
this._updateItemStyle(el, tweenedOpacity, -i, _transformString2);
|
10679
10932
|
}
|
10680
10933
|
}
|
10681
10934
|
|
@@ -10683,15 +10936,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10683
10936
|
// Don't show wrapped items.
|
10684
10937
|
if (!this.noWrap || this.center >= 0 && this.center < this.count) {
|
10685
10938
|
el = this.images[this._wrap(this.center)];
|
10686
|
-
|
10687
|
-
el
|
10688
|
-
if (this.options.fullWidth) {
|
10689
|
-
tweenedOpacity = 1;
|
10690
|
-
} else {
|
10691
|
-
tweenedOpacity = 1 - 0.2 * tween;
|
10692
|
-
}
|
10693
|
-
el.style.opacity = tweenedOpacity;
|
10694
|
-
el.style.visibility = 'visible';
|
10939
|
+
var _transformString3 = alignment + ' translateX(' + -delta / 2 + 'px)' + ' translateX(' + dir * this.options.shift * tween + 'px)' + ' translateZ(' + this.options.dist * tween + 'px)';
|
10940
|
+
this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3);
|
10695
10941
|
}
|
10696
10942
|
|
10697
10943
|
// onCycleTo callback
|
@@ -10707,6 +10953,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10707
10953
|
}
|
10708
10954
|
}
|
10709
10955
|
|
10956
|
+
/**
|
10957
|
+
* Cycle to target
|
10958
|
+
* @param {Element} el
|
10959
|
+
* @param {Number} opacity
|
10960
|
+
* @param {Number} zIndex
|
10961
|
+
* @param {String} transform
|
10962
|
+
*/
|
10963
|
+
|
10964
|
+
}, {
|
10965
|
+
key: "_updateItemStyle",
|
10966
|
+
value: function _updateItemStyle(el, opacity, zIndex, transform) {
|
10967
|
+
el.style[this.xform] = transform;
|
10968
|
+
el.style.zIndex = zIndex;
|
10969
|
+
el.style.opacity = opacity;
|
10970
|
+
el.style.visibility = 'visible';
|
10971
|
+
}
|
10972
|
+
|
10710
10973
|
/**
|
10711
10974
|
* Cycle to target
|
10712
10975
|
* @param {Number} n
|
@@ -10869,42 +11132,42 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10869
11132
|
*
|
10870
11133
|
*/
|
10871
11134
|
|
10872
|
-
var
|
10873
|
-
_inherits(
|
11135
|
+
var TapTarget = function (_Component19) {
|
11136
|
+
_inherits(TapTarget, _Component19);
|
10874
11137
|
|
10875
11138
|
/**
|
10876
|
-
* Construct
|
11139
|
+
* Construct TapTarget instance
|
10877
11140
|
* @constructor
|
10878
11141
|
* @param {Element} el
|
10879
11142
|
* @param {Object} options
|
10880
11143
|
*/
|
10881
|
-
function
|
10882
|
-
_classCallCheck(this,
|
11144
|
+
function TapTarget(el, options) {
|
11145
|
+
_classCallCheck(this, TapTarget);
|
10883
11146
|
|
10884
|
-
var
|
11147
|
+
var _this66 = _possibleConstructorReturn(this, (TapTarget.__proto__ || Object.getPrototypeOf(TapTarget)).call(this, TapTarget, el, options));
|
10885
11148
|
|
10886
|
-
|
11149
|
+
_this66.el.M_TapTarget = _this66;
|
10887
11150
|
|
10888
11151
|
/**
|
10889
11152
|
* Options for the select
|
10890
|
-
* @member
|
11153
|
+
* @member TapTarget#options
|
10891
11154
|
* @prop {Function} onOpen - Callback function called when feature discovery is opened
|
10892
11155
|
* @prop {Function} onClose - Callback function called when feature discovery is closed
|
10893
11156
|
*/
|
10894
|
-
|
11157
|
+
_this66.options = $.extend({}, TapTarget.defaults, options);
|
10895
11158
|
|
10896
|
-
|
11159
|
+
_this66.isOpen = false;
|
10897
11160
|
|
10898
11161
|
// setup
|
10899
|
-
|
10900
|
-
|
11162
|
+
_this66.$origin = $('#' + _this66.$el.attr('data-target'));
|
11163
|
+
_this66._setup();
|
10901
11164
|
|
10902
|
-
|
10903
|
-
|
10904
|
-
return
|
11165
|
+
_this66._calculatePositioning();
|
11166
|
+
_this66._setupEventHandlers();
|
11167
|
+
return _this66;
|
10905
11168
|
}
|
10906
11169
|
|
10907
|
-
_createClass(
|
11170
|
+
_createClass(TapTarget, [{
|
10908
11171
|
key: "destroy",
|
10909
11172
|
|
10910
11173
|
|
@@ -10913,7 +11176,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10913
11176
|
*/
|
10914
11177
|
value: function destroy() {
|
10915
11178
|
this._removeEventHandlers();
|
10916
|
-
this.el.
|
11179
|
+
this.el.TapTarget = undefined;
|
10917
11180
|
}
|
10918
11181
|
|
10919
11182
|
/**
|
@@ -10998,7 +11261,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10998
11261
|
}
|
10999
11262
|
|
11000
11263
|
/**
|
11001
|
-
* Setup
|
11264
|
+
* Setup Tap Target
|
11002
11265
|
*/
|
11003
11266
|
|
11004
11267
|
}, {
|
@@ -11134,7 +11397,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11134
11397
|
}
|
11135
11398
|
|
11136
11399
|
/**
|
11137
|
-
* Open
|
11400
|
+
* Open TapTarget
|
11138
11401
|
*/
|
11139
11402
|
|
11140
11403
|
}, {
|
@@ -11157,7 +11420,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11157
11420
|
}
|
11158
11421
|
|
11159
11422
|
/**
|
11160
|
-
* Close
|
11423
|
+
* Close Tap Target
|
11161
11424
|
*/
|
11162
11425
|
|
11163
11426
|
}, {
|
@@ -11181,7 +11444,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11181
11444
|
}], [{
|
11182
11445
|
key: "init",
|
11183
11446
|
value: function init(els, options) {
|
11184
|
-
return _get(
|
11447
|
+
return _get(TapTarget.__proto__ || Object.getPrototypeOf(TapTarget), "init", this).call(this, this, els, options);
|
11185
11448
|
}
|
11186
11449
|
|
11187
11450
|
/**
|
@@ -11192,7 +11455,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11192
11455
|
key: "getInstance",
|
11193
11456
|
value: function getInstance(el) {
|
11194
11457
|
var domElem = !!el.jquery ? el[0] : el;
|
11195
|
-
return domElem.
|
11458
|
+
return domElem.M_TapTarget;
|
11196
11459
|
}
|
11197
11460
|
}, {
|
11198
11461
|
key: "defaults",
|
@@ -11201,13 +11464,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11201
11464
|
}
|
11202
11465
|
}]);
|
11203
11466
|
|
11204
|
-
return
|
11467
|
+
return TapTarget;
|
11205
11468
|
}(Component);
|
11206
11469
|
|
11207
|
-
M.
|
11470
|
+
M.TapTarget = TapTarget;
|
11208
11471
|
|
11209
11472
|
if (M.jQueryLoaded) {
|
11210
|
-
M.initializeJqueryWrapper(
|
11473
|
+
M.initializeJqueryWrapper(TapTarget, 'tapTarget', 'M_TapTarget');
|
11211
11474
|
}
|
11212
11475
|
})(cash);
|
11213
11476
|
;(function ($) {
|
@@ -11236,30 +11499,30 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11236
11499
|
_classCallCheck(this, FormSelect);
|
11237
11500
|
|
11238
11501
|
// Don't init if browser default version
|
11239
|
-
var
|
11502
|
+
var _this67 = _possibleConstructorReturn(this, (FormSelect.__proto__ || Object.getPrototypeOf(FormSelect)).call(this, FormSelect, el, options));
|
11240
11503
|
|
11241
|
-
if (
|
11242
|
-
return _possibleConstructorReturn(
|
11504
|
+
if (_this67.$el.hasClass('browser-default')) {
|
11505
|
+
return _possibleConstructorReturn(_this67);
|
11243
11506
|
}
|
11244
11507
|
|
11245
|
-
|
11508
|
+
_this67.el.M_FormSelect = _this67;
|
11246
11509
|
|
11247
11510
|
/**
|
11248
11511
|
* Options for the select
|
11249
11512
|
* @member FormSelect#options
|
11250
11513
|
*/
|
11251
|
-
|
11514
|
+
_this67.options = $.extend({}, FormSelect.defaults, options);
|
11252
11515
|
|
11253
|
-
|
11516
|
+
_this67.isMultiple = _this67.$el.prop('multiple');
|
11254
11517
|
|
11255
11518
|
// Setup
|
11256
|
-
|
11257
|
-
|
11258
|
-
|
11259
|
-
|
11519
|
+
_this67.el.tabIndex = -1;
|
11520
|
+
_this67._keysSelected = {};
|
11521
|
+
_this67._valueDict = {}; // Maps key to original and generated option element.
|
11522
|
+
_this67._setupDropdown();
|
11260
11523
|
|
11261
|
-
|
11262
|
-
return
|
11524
|
+
_this67._setupEventHandlers();
|
11525
|
+
return _this67;
|
11263
11526
|
}
|
11264
11527
|
|
11265
11528
|
_createClass(FormSelect, [{
|
@@ -11282,14 +11545,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11282
11545
|
}, {
|
11283
11546
|
key: "_setupEventHandlers",
|
11284
11547
|
value: function _setupEventHandlers() {
|
11285
|
-
var
|
11548
|
+
var _this68 = this;
|
11286
11549
|
|
11287
11550
|
this._handleSelectChangeBound = this._handleSelectChange.bind(this);
|
11288
11551
|
this._handleOptionClickBound = this._handleOptionClick.bind(this);
|
11289
11552
|
this._handleInputClickBound = this._handleInputClick.bind(this);
|
11290
11553
|
|
11291
11554
|
$(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
|
11292
|
-
el.addEventListener('click',
|
11555
|
+
el.addEventListener('click', _this68._handleOptionClickBound);
|
11293
11556
|
});
|
11294
11557
|
this.el.addEventListener('change', this._handleSelectChangeBound);
|
11295
11558
|
this.input.addEventListener('click', this._handleInputClickBound);
|
@@ -11302,10 +11565,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11302
11565
|
}, {
|
11303
11566
|
key: "_removeEventHandlers",
|
11304
11567
|
value: function _removeEventHandlers() {
|
11305
|
-
var
|
11568
|
+
var _this69 = this;
|
11306
11569
|
|
11307
11570
|
$(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
|
11308
|
-
el.removeEventListener('click',
|
11571
|
+
el.removeEventListener('click', _this69._handleOptionClickBound);
|
11309
11572
|
});
|
11310
11573
|
this.el.removeEventListener('change', this._handleSelectChangeBound);
|
11311
11574
|
this.input.removeEventListener('click', this._handleInputClickBound);
|
@@ -11382,7 +11645,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11382
11645
|
}, {
|
11383
11646
|
key: "_setupDropdown",
|
11384
11647
|
value: function _setupDropdown() {
|
11385
|
-
var
|
11648
|
+
var _this70 = this;
|
11386
11649
|
|
11387
11650
|
this.wrapper = document.createElement('div');
|
11388
11651
|
$(this.wrapper).addClass('select-wrapper' + ' ' + this.options.classes);
|
@@ -11405,21 +11668,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11405
11668
|
if ($(el).is('option')) {
|
11406
11669
|
// Direct descendant option.
|
11407
11670
|
var optionEl = void 0;
|
11408
|
-
if (
|
11409
|
-
optionEl =
|
11671
|
+
if (_this70.isMultiple) {
|
11672
|
+
optionEl = _this70._appendOptionWithIcon(_this70.$el, el, 'multiple');
|
11410
11673
|
} else {
|
11411
|
-
optionEl =
|
11674
|
+
optionEl = _this70._appendOptionWithIcon(_this70.$el, el);
|
11412
11675
|
}
|
11413
11676
|
|
11414
|
-
|
11677
|
+
_this70._addOptionToValueDict(el, optionEl);
|
11415
11678
|
} else if ($(el).is('optgroup')) {
|
11416
11679
|
// Optgroup.
|
11417
11680
|
var selectOptions = $(el).children('option');
|
11418
|
-
$(
|
11681
|
+
$(_this70.dropdownOptions).append($('<li class="optgroup"><span>' + el.getAttribute('label') + '</span></li>')[0]);
|
11419
11682
|
|
11420
11683
|
selectOptions.each(function (el) {
|
11421
|
-
var optionEl =
|
11422
|
-
|
11684
|
+
var optionEl = _this70._appendOptionWithIcon(_this70.$el, el, 'optgroup-option');
|
11685
|
+
_this70._addOptionToValueDict(el, optionEl);
|
11423
11686
|
});
|
11424
11687
|
}
|
11425
11688
|
});
|
@@ -11448,6 +11711,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11448
11711
|
if (!this.el.disabled) {
|
11449
11712
|
var dropdownOptions = $.extend({}, this.options.dropdownOptions);
|
11450
11713
|
|
11714
|
+
// Add callback for centering selected option when dropdown content is scrollable
|
11715
|
+
dropdownOptions.onOpenEnd = function (el) {
|
11716
|
+
var selectedOption = $(_this70.dropdownOptions).find('.selected').first();
|
11717
|
+
if (_this70.dropdown.isScrollable && selectedOption.length) {
|
11718
|
+
var scrollOffset = selectedOption[0].getBoundingClientRect().top - _this70.dropdownOptions.getBoundingClientRect().top; // scroll to selected option
|
11719
|
+
scrollOffset -= _this70.dropdownOptions.clientHeight / 2; // center in dropdown
|
11720
|
+
_this70.dropdownOptions.scrollTop = scrollOffset;
|
11721
|
+
}
|
11722
|
+
};
|
11723
|
+
|
11451
11724
|
if (this.isMultiple) {
|
11452
11725
|
dropdownOptions.closeOnClick = false;
|
11453
11726
|
}
|
@@ -11685,23 +11958,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11685
11958
|
function Range(el, options) {
|
11686
11959
|
_classCallCheck(this, Range);
|
11687
11960
|
|
11688
|
-
var
|
11961
|
+
var _this71 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options));
|
11689
11962
|
|
11690
|
-
|
11963
|
+
_this71.el.M_Range = _this71;
|
11691
11964
|
|
11692
11965
|
/**
|
11693
11966
|
* Options for the range
|
11694
11967
|
* @member Range#options
|
11695
11968
|
*/
|
11696
|
-
|
11969
|
+
_this71.options = $.extend({}, Range.defaults, options);
|
11697
11970
|
|
11698
|
-
|
11971
|
+
_this71._mousedown = false;
|
11699
11972
|
|
11700
11973
|
// Setup
|
11701
|
-
|
11974
|
+
_this71._setupThumb();
|
11702
11975
|
|
11703
|
-
|
11704
|
-
return
|
11976
|
+
_this71._setupEventHandlers();
|
11977
|
+
return _this71;
|
11705
11978
|
}
|
11706
11979
|
|
11707
11980
|
_createClass(Range, [{
|