materialize-sass 1.0.0.alpha4 → 1.0.0.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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, [{
|