materialize-sass 1.0.0.alpha2 → 1.0.0.alpha3

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.
Files changed (38) hide show
  1. checksums.yaml +5 -5
  2. data/assets/javascripts/materialize-sprockets.js +1 -0
  3. data/assets/javascripts/materialize.js +1337 -1281
  4. data/assets/javascripts/materialize/autocomplete.js +27 -27
  5. data/assets/javascripts/materialize/buttons.js +58 -58
  6. data/assets/javascripts/materialize/carousel.js +47 -49
  7. data/assets/javascripts/materialize/cash.js +4 -4
  8. data/assets/javascripts/materialize/characterCounter.js +20 -20
  9. data/assets/javascripts/materialize/chips.js +42 -38
  10. data/assets/javascripts/materialize/collapsible.js +27 -27
  11. data/assets/javascripts/materialize/component.js +57 -0
  12. data/assets/javascripts/materialize/datepicker.js +59 -53
  13. data/assets/javascripts/materialize/dropdown.js +43 -43
  14. data/assets/javascripts/materialize/extras/nouislider.js +1 -1
  15. data/assets/javascripts/materialize/extras/nouislider.min.js +1 -1
  16. data/assets/javascripts/materialize/forms.js +8 -2
  17. data/assets/javascripts/materialize/global.js +11 -13
  18. data/assets/javascripts/materialize/materialbox.js +72 -44
  19. data/assets/javascripts/materialize/modal.js +55 -38
  20. data/assets/javascripts/materialize/parallax.js +61 -24
  21. data/assets/javascripts/materialize/pushpin.js +37 -21
  22. data/assets/javascripts/materialize/range.js +19 -21
  23. data/assets/javascripts/materialize/scrollspy.js +23 -23
  24. data/assets/javascripts/materialize/select.js +42 -36
  25. data/assets/javascripts/materialize/sidenav.js +34 -34
  26. data/assets/javascripts/materialize/slider.js +37 -39
  27. data/assets/javascripts/materialize/tabs.js +42 -49
  28. data/assets/javascripts/materialize/tapTarget.js +39 -22
  29. data/assets/javascripts/materialize/timepicker.js +579 -579
  30. data/assets/javascripts/materialize/tooltip.js +34 -31
  31. data/assets/stylesheets/materialize/components/_cards.scss +0 -2
  32. data/assets/stylesheets/materialize/components/_global.scss +4 -14
  33. data/assets/stylesheets/materialize/components/_typography.scss +0 -1
  34. data/assets/stylesheets/materialize/components/_variables.scss +1 -1
  35. data/assets/stylesheets/materialize/components/forms/_checkboxes.scss +0 -10
  36. data/assets/stylesheets/materialize/extras/nouislider.css +1 -1
  37. data/lib/materialize-sass/version.rb +1 -1
  38. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2ac8f0bf7195902667bd08aa22953a47a340d3ec
4
- data.tar.gz: 33e2ff8105cd58e7e9cc89d276731120a981c466
2
+ SHA256:
3
+ metadata.gz: 4f6c369b19e9161d604d6daf26eca2f5889c83e251223d9976dd85292aa2999d
4
+ data.tar.gz: 6dc1c5151989d6e01bb69d57e4d4ba8754bc1c2735a0a6c41dbd5ae8323ce81b
5
5
  SHA512:
6
- metadata.gz: bf13a0a9d03dfe882e2ef133c0e0357e91c8ba10e46d4586c06edd7164445b8b6f2978ecffba0d06b4cf2c57cd8a3ff3e2de7a4296a1210727102354d06b9024
7
- data.tar.gz: 937614f9aa313749a8b8636951ba2703369ee5b09f50b255c5a4cbd4c0b1b20272504f7d7e04877b126b296c17f23a477eb3ca3cefbc3ad75ffeecb6379f04b1
6
+ metadata.gz: 29dc42ff9939f11ebd2e24b32e913683c78ff9ddfdf3590f1444b457697c5e3e18ee1ac16c33f4aad2bc9bcfcfc1e33f893ad0b4fda79b676d873639fc412023
7
+ data.tar.gz: '09f3cdb07c45e98e273059e1371577e4c85680ca7e4fdedebba5dccd0514af2bbfbcb24a3af45c02f2d4a08dff12c6e9a46ef69d0a777b617d463fdde36d4211'
@@ -1,4 +1,5 @@
1
1
  //= require ./materialize/cash
2
+ //= require ./materialize/component
2
3
  //= require ./materialize/global
3
4
  //= require ./materialize/anime.min
4
5
  //= require ./materialize/collapsible
@@ -1,10 +1,16 @@
1
1
  /*!
2
- * Materialize v1.0.0-alpha.2 (http://materializecss.com)
2
+ * Materialize v1.0.0-alpha.3 (http://materializecss.com)
3
3
  * Copyright 2014-2017 Materialize
4
4
  * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
5
  */
6
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
7
+
6
8
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
7
9
 
10
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
11
+
12
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
13
+
8
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
15
 
10
16
  /*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */
@@ -41,7 +47,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
41
47
  var frag;
42
48
  function parseHTML(str) {
43
49
  if (!frag) {
44
- frag = doc.implementation.createHTMLDocument();
50
+ frag = doc.implementation.createHTMLDocument(null);
45
51
  var base = frag.createElement("base");
46
52
  base.href = doc.location.href;
47
53
  frag.head.appendChild(base);
@@ -715,11 +721,11 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
715
721
  val: function (value) {
716
722
  if (value === undefined) {
717
723
  return getValue(this[0]);
718
- } else {
719
- return this.each(function (v) {
720
- return v.value = value;
721
- });
722
724
  }
725
+
726
+ return this.each(function (v) {
727
+ return v.value = value;
728
+ });
723
729
  }
724
730
 
725
731
  });
@@ -997,508 +1003,144 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
997
1003
 
998
1004
  return cash;
999
1005
  });
1000
- ; /*
1001
- v2.2.0
1002
- 2017 Julian Garnier
1003
- Released under the MIT license
1004
- */
1005
- var $jscomp = { scope: {} };$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, r, p) {
1006
- if (p.get || p.set) throw new TypeError("ES3 does not support getters and setters.");e != Array.prototype && e != Object.prototype && (e[r] = p.value);
1007
- };$jscomp.getGlobal = function (e) {
1008
- return "undefined" != typeof window && window === e ? e : "undefined" != typeof global && null != global ? global : e;
1009
- };$jscomp.global = $jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX = "jscomp_symbol_";
1010
- $jscomp.initSymbol = function () {
1011
- $jscomp.initSymbol = function () {};$jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol);
1012
- };$jscomp.symbolCounter_ = 0;$jscomp.Symbol = function (e) {
1013
- return $jscomp.SYMBOL_PREFIX + (e || "") + $jscomp.symbolCounter_++;
1014
- };
1015
- $jscomp.initSymbolIterator = function () {
1016
- $jscomp.initSymbol();var e = $jscomp.global.Symbol.iterator;e || (e = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator"));"function" != typeof Array.prototype[e] && $jscomp.defineProperty(Array.prototype, e, { configurable: !0, writable: !0, value: function () {
1017
- return $jscomp.arrayIterator(this);
1018
- } });$jscomp.initSymbolIterator = function () {};
1019
- };$jscomp.arrayIterator = function (e) {
1020
- var r = 0;return $jscomp.iteratorPrototype(function () {
1021
- return r < e.length ? { done: !1, value: e[r++] } : { done: !0 };
1006
+ ;
1007
+ var Component = function () {
1008
+ /**
1009
+ * Generic constructor for all components
1010
+ * @constructor
1011
+ * @param {Element} el
1012
+ * @param {Object} options
1013
+ */
1014
+ function Component(classDef, el, options) {
1015
+ _classCallCheck(this, Component);
1016
+
1017
+ // Display error if el is valid HTML Element
1018
+ if (!(el instanceof Element)) {
1019
+ console.error(Error(el + ' is not an HTML Element'));
1020
+ }
1021
+
1022
+ // If exists, destroy and reinitialize in child
1023
+ var ins = classDef.getInstance(el);
1024
+ if (!!ins) {
1025
+ ins.destroy();
1026
+ }
1027
+
1028
+ this.el = el;
1029
+ this.$el = cash(el);
1030
+ }
1031
+
1032
+ /**
1033
+ * Initializes components
1034
+ * @param {class} classDef
1035
+ * @param {Element | NodeList | jQuery} els
1036
+ * @param {Object} options
1037
+ */
1038
+
1039
+
1040
+ _createClass(Component, null, [{
1041
+ key: "init",
1042
+ value: function init(classDef, els, options) {
1043
+ var instances = null;
1044
+ if (els instanceof Element) {
1045
+ instances = new classDef(els, options);
1046
+ } else if (!!els.jquery || els instanceof NodeList) {
1047
+ var instancesArr = [];
1048
+ for (var i = 0; i < els.length; i++) {
1049
+ instancesArr.push(new classDef(els[i], options));
1050
+ }
1051
+ instances = instancesArr;
1052
+ }
1053
+
1054
+ return instances;
1055
+ }
1056
+ }]);
1057
+
1058
+ return Component;
1059
+ }();
1060
+
1061
+ ; // Required for Meteor package, the use of window prevents export by Meteor
1062
+ (function (window) {
1063
+ if (window.Package) {
1064
+ M = {};
1065
+ } else {
1066
+ window.M = {};
1067
+ }
1068
+
1069
+ // Check for jQuery
1070
+ M.jQueryLoaded = !!window.jQuery;
1071
+ })(window);
1072
+
1073
+ // AMD
1074
+ if (typeof define === "function" && define.amd) {
1075
+ define("M", [], function () {
1076
+ return M;
1022
1077
  });
1078
+
1079
+ // Common JS
1080
+ } else if (typeof exports !== 'undefined' && !exports.nodeType) {
1081
+ if (typeof module !== 'undefined' && !module.nodeType && module.exports) {
1082
+ exports = module.exports = M;
1083
+ }
1084
+ exports.default = M;
1085
+ }
1086
+
1087
+ M.keys = {
1088
+ TAB: 9,
1089
+ ENTER: 13,
1090
+ ESC: 27,
1091
+ ARROW_UP: 38,
1092
+ ARROW_DOWN: 40
1023
1093
  };
1024
- $jscomp.iteratorPrototype = function (e) {
1025
- $jscomp.initSymbolIterator();e = { next: e };e[$jscomp.global.Symbol.iterator] = function () {
1026
- return this;
1027
- };return e;
1028
- };$jscomp.array = $jscomp.array || {};$jscomp.iteratorFromArray = function (e, r) {
1029
- $jscomp.initSymbolIterator();e instanceof String && (e += "");var p = 0,
1030
- m = { next: function () {
1031
- if (p < e.length) {
1032
- var u = p++;return { value: r(u, e[u]), done: !1 };
1033
- }m.next = function () {
1034
- return { done: !0, value: void 0 };
1035
- };return m.next();
1036
- } };m[Symbol.iterator] = function () {
1037
- return m;
1038
- };return m;
1094
+
1095
+ /**
1096
+ * TabPress Keydown handler
1097
+ */
1098
+ M.tabPressed = false;
1099
+ var docHandleKeydown = function (e) {
1100
+ if (e.which === M.keys.TAB) {
1101
+ M.tabPressed = true;
1102
+ }
1039
1103
  };
1040
- $jscomp.polyfill = function (e, r, p, m) {
1041
- if (r) {
1042
- p = $jscomp.global;e = e.split(".");for (m = 0; m < e.length - 1; m++) {
1043
- var u = e[m];u in p || (p[u] = {});p = p[u];
1044
- }e = e[e.length - 1];m = p[e];r = r(m);r != m && null != r && $jscomp.defineProperty(p, e, { configurable: !0, writable: !0, value: r });
1104
+ var docHandleKeyup = function (e) {
1105
+ if (e.which === M.keys.TAB) {
1106
+ M.tabPressed = false;
1045
1107
  }
1046
- };$jscomp.polyfill("Array.prototype.keys", function (e) {
1047
- return e ? e : function () {
1048
- return $jscomp.iteratorFromArray(this, function (e) {
1049
- return e;
1050
- });
1051
- };
1052
- }, "es6-impl", "es3");var $jscomp$this = this;
1053
- (function (e, r) {
1054
- e.anime = r();
1055
- })(this, function () {
1056
- function e(a) {
1057
- if (!h.col(a)) try {
1058
- return document.querySelectorAll(a);
1059
- } catch (c) {}
1060
- }function r(a, c) {
1061
- for (var d = a.length, b = 2 <= arguments.length ? arguments[1] : void 0, f = [], n = 0; n < d; n++) {
1062
- if (n in a) {
1063
- var k = a[n];c.call(b, k, n, a) && f.push(k);
1108
+ };
1109
+ document.addEventListener('keydown', docHandleKeydown);
1110
+ document.addEventListener('keyup', docHandleKeyup);
1111
+
1112
+ /**
1113
+ * Initialize jQuery wrapper for plugin
1114
+ * @param {Class} plugin javascript class
1115
+ * @param {string} pluginName jQuery plugin name
1116
+ * @param {string} classRef Class reference name
1117
+ */
1118
+ M.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
1119
+ jQuery.fn[pluginName] = function (methodOrOptions) {
1120
+ // Call plugin method if valid method name is passed in
1121
+ if (plugin.prototype[methodOrOptions]) {
1122
+ var params = Array.prototype.slice.call(arguments, 1);
1123
+
1124
+ // Getter methods
1125
+ if (methodOrOptions.slice(0, 3) === 'get') {
1126
+ var instance = this.first()[0][classRef];
1127
+ return instance[methodOrOptions].apply(instance, params);
1064
1128
  }
1065
- }return f;
1066
- }function p(a) {
1067
- return a.reduce(function (a, d) {
1068
- return a.concat(h.arr(d) ? p(d) : d);
1069
- }, []);
1070
- }function m(a) {
1071
- if (h.arr(a)) return a;
1072
- h.str(a) && (a = e(a) || a);return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a];
1073
- }function u(a, c) {
1074
- return a.some(function (a) {
1075
- return a === c;
1076
- });
1077
- }function C(a) {
1078
- var c = {},
1079
- d;for (d in a) {
1080
- c[d] = a[d];
1081
- }return c;
1082
- }function D(a, c) {
1083
- var d = C(a),
1084
- b;for (b in a) {
1085
- d[b] = c.hasOwnProperty(b) ? c[b] : a[b];
1086
- }return d;
1087
- }function z(a, c) {
1088
- var d = C(a),
1089
- b;for (b in c) {
1090
- d[b] = h.und(a[b]) ? c[b] : a[b];
1091
- }return d;
1092
- }function T(a) {
1093
- a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (a, c, d, k) {
1094
- return c + c + d + d + k + k;
1095
- });var c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
1096
- a = parseInt(c[1], 16);var d = parseInt(c[2], 16),
1097
- c = parseInt(c[3], 16);return "rgba(" + a + "," + d + "," + c + ",1)";
1098
- }function U(a) {
1099
- function c(a, c, b) {
1100
- 0 > b && (b += 1);1 < b && --b;return b < 1 / 6 ? a + 6 * (c - a) * b : .5 > b ? c : b < 2 / 3 ? a + (c - a) * (2 / 3 - b) * 6 : a;
1101
- }var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a = parseInt(d[1]) / 360;var b = parseInt(d[2]) / 100,
1102
- f = parseInt(d[3]) / 100,
1103
- d = d[4] || 1;if (0 == b) f = b = a = f;else {
1104
- var n = .5 > f ? f * (1 + b) : f + b - f * b,
1105
- k = 2 * f - n,
1106
- f = c(k, n, a + 1 / 3),
1107
- b = c(k, n, a);a = c(k, n, a - 1 / 3);
1108
- }return "rgba(" + 255 * f + "," + 255 * b + "," + 255 * a + "," + d + ")";
1109
- }function y(a) {
1110
- if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a)) return a[2];
1111
- }function V(a) {
1112
- if (-1 < a.indexOf("translate") || "perspective" === a) return "px";if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew")) return "deg";
1113
- }function I(a, c) {
1114
- return h.fnc(a) ? a(c.target, c.id, c.total) : a;
1115
- }function E(a, c) {
1116
- if (c in a.style) return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0";
1117
- }function J(a, c) {
1118
- if (h.dom(a) && u(W, c)) return "transform";if (h.dom(a) && (a.getAttribute(c) || h.svg(a) && a[c])) return "attribute";if (h.dom(a) && "transform" !== c && E(a, c)) return "css";if (null != a[c]) return "object";
1119
- }function X(a, c) {
1120
- var d = V(c),
1121
- d = -1 < c.indexOf("scale") ? 1 : 0 + d;a = a.style.transform;if (!a) return d;for (var b = [], f = [], n = [], k = /(\w+)\((.+?)\)/g; b = k.exec(a);) {
1122
- f.push(b[1]), n.push(b[2]);
1123
- }a = r(n, function (a, b) {
1124
- return f[b] === c;
1125
- });return a.length ? a[0] : d;
1126
- }function K(a, c) {
1127
- switch (J(a, c)) {case "transform":
1128
- return X(a, c);case "css":
1129
- return E(a, c);case "attribute":
1130
- return a.getAttribute(c);}return a[c] || 0;
1131
- }function L(a, c) {
1132
- var d = /^(\*=|\+=|-=)/.exec(a);if (!d) return a;var b = y(a) || 0;c = parseFloat(c);a = parseFloat(a.replace(d[0], ""));switch (d[0][0]) {case "+":
1133
- return c + a + b;case "-":
1134
- return c - a + b;case "*":
1135
- return c * a + b;}
1136
- }function F(a, c) {
1137
- return Math.sqrt(Math.pow(c.x - a.x, 2) + Math.pow(c.y - a.y, 2));
1138
- }function M(a) {
1139
- a = a.points;for (var c = 0, d, b = 0; b < a.numberOfItems; b++) {
1140
- var f = a.getItem(b);0 < b && (c += F(d, f));d = f;
1141
- }return c;
1142
- }function N(a) {
1143
- if (a.getTotalLength) return a.getTotalLength();switch (a.tagName.toLowerCase()) {case "circle":
1144
- return 2 * Math.PI * a.getAttribute("r");case "rect":
1145
- return 2 * a.getAttribute("width") + 2 * a.getAttribute("height");case "line":
1146
- return F({ x: a.getAttribute("x1"), y: a.getAttribute("y1") }, { x: a.getAttribute("x2"), y: a.getAttribute("y2") });case "polyline":
1147
- return M(a);case "polygon":
1148
- var c = a.points;return M(a) + F(c.getItem(c.numberOfItems - 1), c.getItem(0));}
1149
- }function Y(a, c) {
1150
- function d(b) {
1151
- b = void 0 === b ? 0 : b;return a.el.getPointAtLength(1 <= c + b ? c + b : 0);
1152
- }var b = d(),
1153
- f = d(-1),
1154
- n = d(1);switch (a.property) {case "x":
1155
- return b.x;case "y":
1156
- return b.y;
1157
- case "angle":
1158
- return 180 * Math.atan2(n.y - f.y, n.x - f.x) / Math.PI;}
1159
- }function O(a, c) {
1160
- var d = /-?\d*\.?\d+/g,
1161
- b;b = h.pth(a) ? a.totalLength : a;if (h.col(b)) {
1162
- if (h.rgb(b)) {
1163
- var f = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b = f ? "rgba(" + f[1] + ",1)" : b;
1164
- } else b = h.hex(b) ? T(b) : h.hsl(b) ? U(b) : void 0;
1165
- } else f = (f = y(b)) ? b.substr(0, b.length - f.length) : b, b = c && !/\s/g.test(b) ? f + c : f;b += "";return { original: b, numbers: b.match(d) ? b.match(d).map(Number) : [0], strings: h.str(a) || c ? b.split(d) : [] };
1166
- }function P(a) {
1167
- a = a ? p(h.arr(a) ? a.map(m) : m(a)) : [];return r(a, function (a, d, b) {
1168
- return b.indexOf(a) === d;
1169
- });
1170
- }function Z(a) {
1171
- var c = P(a);return c.map(function (a, b) {
1172
- return { target: a, id: b, total: c.length };
1173
- });
1174
- }function aa(a, c) {
1175
- var d = C(c);if (h.arr(a)) {
1176
- var b = a.length;2 !== b || h.obj(a[0]) ? h.fnc(c.duration) || (d.duration = c.duration / b) : a = { value: a };
1177
- }return m(a).map(function (a, b) {
1178
- b = b ? 0 : c.delay;a = h.obj(a) && !h.pth(a) ? a : { value: a };h.und(a.delay) && (a.delay = b);return a;
1179
- }).map(function (a) {
1180
- return z(a, d);
1181
- });
1182
- }function ba(a, c) {
1183
- var d = {},
1184
- b;for (b in a) {
1185
- var f = I(a[b], c);h.arr(f) && (f = f.map(function (a) {
1186
- return I(a, c);
1187
- }), 1 === f.length && (f = f[0]));d[b] = f;
1188
- }d.duration = parseFloat(d.duration);d.delay = parseFloat(d.delay);return d;
1189
- }function ca(a) {
1190
- return h.arr(a) ? A.apply(this, a) : Q[a];
1191
- }function da(a, c) {
1192
- var d;return a.tweens.map(function (b) {
1193
- b = ba(b, c);var f = b.value,
1194
- e = K(c.target, a.name),
1195
- k = d ? d.to.original : e,
1196
- k = h.arr(f) ? f[0] : k,
1197
- w = L(h.arr(f) ? f[1] : f, k),
1198
- e = y(w) || y(k) || y(e);b.from = O(k, e);b.to = O(w, e);b.start = d ? d.end : a.offset;b.end = b.start + b.delay + b.duration;b.easing = ca(b.easing);b.elasticity = (1E3 - Math.min(Math.max(b.elasticity, 1), 999)) / 1E3;b.isPath = h.pth(f);b.isColor = h.col(b.from.original);b.isColor && (b.round = 1);return d = b;
1199
- });
1200
- }function ea(a, c) {
1201
- return r(p(a.map(function (a) {
1202
- return c.map(function (b) {
1203
- var c = J(a.target, b.name);if (c) {
1204
- var d = da(b, a);b = { type: c, property: b.name, animatable: a, tweens: d, duration: d[d.length - 1].end, delay: d[0].delay };
1205
- } else b = void 0;return b;
1206
- });
1207
- })), function (a) {
1208
- return !h.und(a);
1209
- });
1210
- }function R(a, c, d, b) {
1211
- var f = "delay" === a;return c.length ? (f ? Math.min : Math.max).apply(Math, c.map(function (b) {
1212
- return b[a];
1213
- })) : f ? b.delay : d.offset + b.delay + b.duration;
1214
- }function fa(a) {
1215
- var c = D(ga, a),
1216
- d = D(S, a),
1217
- b = Z(a.targets),
1218
- f = [],
1219
- e = z(c, d),
1220
- k;for (k in a) {
1221
- e.hasOwnProperty(k) || "targets" === k || f.push({ name: k, offset: e.offset, tweens: aa(a[k], d) });
1222
- }a = ea(b, f);return z(c, { children: [], animatables: b, animations: a, duration: R("duration", a, c, d), delay: R("delay", a, c, d) });
1223
- }function q(a) {
1224
- function c() {
1225
- return window.Promise && new Promise(function (a) {
1226
- return p = a;
1227
- });
1228
- }function d(a) {
1229
- return g.reversed ? g.duration - a : a;
1230
- }function b(a) {
1231
- for (var b = 0, c = {}, d = g.animations, f = d.length; b < f;) {
1232
- var e = d[b],
1233
- k = e.animatable,
1234
- h = e.tweens,
1235
- n = h.length - 1,
1236
- l = h[n];n && (l = r(h, function (b) {
1237
- return a < b.end;
1238
- })[0] || l);for (var h = Math.min(Math.max(a - l.start - l.delay, 0), l.duration) / l.duration, w = isNaN(h) ? 1 : l.easing(h, l.elasticity), h = l.to.strings, p = l.round, n = [], m = void 0, m = l.to.numbers.length, t = 0; t < m; t++) {
1239
- var x = void 0,
1240
- x = l.to.numbers[t],
1241
- q = l.from.numbers[t],
1242
- x = l.isPath ? Y(l.value, w * x) : q + w * (x - q);p && (l.isColor && 2 < t || (x = Math.round(x * p) / p));n.push(x);
1243
- }if (l = h.length) for (m = h[0], w = 0; w < l; w++) {
1244
- p = h[w + 1], t = n[w], isNaN(t) || (m = p ? m + (t + p) : m + (t + " "));
1245
- } else m = n[0];ha[e.type](k.target, e.property, m, c, k.id);e.currentValue = m;b++;
1246
- }if (b = Object.keys(c).length) for (d = 0; d < b; d++) {
1247
- H || (H = E(document.body, "transform") ? "transform" : "-webkit-transform"), g.animatables[d].target.style[H] = c[d].join(" ");
1248
- }g.currentTime = a;g.progress = a / g.duration * 100;
1249
- }function f(a) {
1250
- if (g[a]) g[a](g);
1251
- }function e() {
1252
- g.remaining && !0 !== g.remaining && g.remaining--;
1253
- }function k(a) {
1254
- var k = g.duration,
1255
- n = g.offset,
1256
- w = n + g.delay,
1257
- r = g.currentTime,
1258
- x = g.reversed,
1259
- q = d(a);if (g.children.length) {
1260
- var u = g.children,
1261
- v = u.length;
1262
- if (q >= g.currentTime) for (var G = 0; G < v; G++) {
1263
- u[G].seek(q);
1264
- } else for (; v--;) {
1265
- u[v].seek(q);
1266
- }
1267
- }if (q >= w || !k) g.began || (g.began = !0, f("begin")), f("run");if (q > n && q < k) b(q);else if (q <= n && 0 !== r && (b(0), x && e()), q >= k && r !== k || !k) b(k), x || e();f("update");a >= k && (g.remaining ? (t = h, "alternate" === g.direction && (g.reversed = !g.reversed)) : (g.pause(), g.completed || (g.completed = !0, f("complete"), "Promise" in window && (p(), m = c()))), l = 0);
1268
- }a = void 0 === a ? {} : a;var h,
1269
- t,
1270
- l = 0,
1271
- p = null,
1272
- m = c(),
1273
- g = fa(a);g.reset = function () {
1274
- var a = g.direction,
1275
- c = g.loop;g.currentTime = 0;g.progress = 0;g.paused = !0;g.began = !1;g.completed = !1;g.reversed = "reverse" === a;g.remaining = "alternate" === a && 1 === c ? 2 : c;b(0);for (a = g.children.length; a--;) {
1276
- g.children[a].reset();
1277
- }
1278
- };g.tick = function (a) {
1279
- h = a;t || (t = h);k((l + h - t) * q.speed);
1280
- };g.seek = function (a) {
1281
- k(d(a));
1282
- };g.pause = function () {
1283
- var a = v.indexOf(g);-1 < a && v.splice(a, 1);g.paused = !0;
1284
- };g.play = function () {
1285
- g.paused && (g.paused = !1, t = 0, l = d(g.currentTime), v.push(g), B || ia());
1286
- };g.reverse = function () {
1287
- g.reversed = !g.reversed;t = 0;l = d(g.currentTime);
1288
- };g.restart = function () {
1289
- g.pause();
1290
- g.reset();g.play();
1291
- };g.finished = m;g.reset();g.autoplay && g.play();return g;
1292
- }var ga = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 },
1293
- S = { duration: 1E3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 },
1294
- W = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),
1295
- H,
1296
- h = { arr: function (a) {
1297
- return Array.isArray(a);
1298
- }, obj: function (a) {
1299
- return -1 < Object.prototype.toString.call(a).indexOf("Object");
1300
- },
1301
- pth: function (a) {
1302
- return h.obj(a) && a.hasOwnProperty("totalLength");
1303
- }, svg: function (a) {
1304
- return a instanceof SVGElement;
1305
- }, dom: function (a) {
1306
- return a.nodeType || h.svg(a);
1307
- }, str: function (a) {
1308
- return "string" === typeof a;
1309
- }, fnc: function (a) {
1310
- return "function" === typeof a;
1311
- }, und: function (a) {
1312
- return "undefined" === typeof a;
1313
- }, hex: function (a) {
1314
- return (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
1315
- );
1316
- }, rgb: function (a) {
1317
- return (/^rgb/.test(a)
1318
- );
1319
- }, hsl: function (a) {
1320
- return (/^hsl/.test(a)
1321
- );
1322
- }, col: function (a) {
1323
- return h.hex(a) || h.rgb(a) || h.hsl(a);
1324
- } },
1325
- A = function () {
1326
- function a(a, d, b) {
1327
- return (((1 - 3 * b + 3 * d) * a + (3 * b - 6 * d)) * a + 3 * d) * a;
1328
- }return function (c, d, b, f) {
1329
- if (0 <= c && 1 >= c && 0 <= b && 1 >= b) {
1330
- var e = new Float32Array(11);if (c !== d || b !== f) for (var k = 0; 11 > k; ++k) {
1331
- e[k] = a(.1 * k, c, b);
1332
- }return function (k) {
1333
- if (c === d && b === f) return k;if (0 === k) return 0;if (1 === k) return 1;for (var h = 0, l = 1; 10 !== l && e[l] <= k; ++l) {
1334
- h += .1;
1335
- }--l;var l = h + (k - e[l]) / (e[l + 1] - e[l]) * .1,
1336
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (.001 <= n) {
1337
- for (h = 0; 4 > h; ++h) {
1338
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (0 === n) break;var m = a(l, c, b) - k,
1339
- l = l - m / n;
1340
- }k = l;
1341
- } else if (0 === n) k = l;else {
1342
- var l = h,
1343
- h = h + .1,
1344
- g = 0;do {
1345
- m = l + (h - l) / 2, n = a(m, c, b) - k, 0 < n ? h = m : l = m;
1346
- } while (1e-7 < Math.abs(n) && 10 > ++g);k = m;
1347
- }return a(k, d, f);
1348
- };
1349
- }
1350
- };
1351
- }(),
1352
- Q = function () {
1353
- function a(a, b) {
1354
- return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math.PI) * Math.asin(1)) * Math.PI / b);
1355
- }var c = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
1356
- d = { In: [[.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], a], Out: [[.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function (b, c) {
1357
- return 1 - a(1 - b, c);
1358
- }], InOut: [[.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function (b, c) {
1359
- return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2;
1360
- }] },
1361
- b = { linear: A(.25, .25, .75, .75) },
1362
- f = {},
1363
- e;for (e in d) {
1364
- f.type = e, d[f.type].forEach(function (a) {
1365
- return function (d, f) {
1366
- b["ease" + a.type + c[f]] = h.fnc(d) ? d : A.apply($jscomp$this, d);
1367
- };
1368
- }(f)), f = { type: f.type };
1369
- }return b;
1370
- }(),
1371
- ha = { css: function (a, c, d) {
1372
- return a.style[c] = d;
1373
- }, attribute: function (a, c, d) {
1374
- return a.setAttribute(c, d);
1375
- }, object: function (a, c, d) {
1376
- return a[c] = d;
1377
- }, transform: function (a, c, d, b, f) {
1378
- b[f] || (b[f] = []);b[f].push(c + "(" + d + ")");
1379
- } },
1380
- v = [],
1381
- B = 0,
1382
- ia = function () {
1383
- function a() {
1384
- B = requestAnimationFrame(c);
1385
- }function c(c) {
1386
- var b = v.length;if (b) {
1387
- for (var d = 0; d < b;) {
1388
- v[d] && v[d].tick(c), d++;
1389
- }a();
1390
- } else cancelAnimationFrame(B), B = 0;
1391
- }return a;
1392
- }();q.version = "2.2.0";q.speed = 1;q.running = v;q.remove = function (a) {
1393
- a = P(a);for (var c = v.length; c--;) {
1394
- for (var d = v[c], b = d.animations, f = b.length; f--;) {
1395
- u(a, b[f].animatable.target) && (b.splice(f, 1), b.length || d.pause());
1396
- }
1397
- }
1398
- };q.getValue = K;q.path = function (a, c) {
1399
- var d = h.str(a) ? e(a)[0] : a,
1400
- b = c || 100;return function (a) {
1401
- return { el: d, property: a, totalLength: N(d) * (b / 100) };
1402
- };
1403
- };q.setDashoffset = function (a) {
1404
- var c = N(a);a.setAttribute("stroke-dasharray", c);return c;
1405
- };q.bezier = A;q.easings = Q;q.timeline = function (a) {
1406
- var c = q(a);c.pause();c.duration = 0;c.add = function (d) {
1407
- c.children.forEach(function (a) {
1408
- a.began = !0;a.completed = !0;
1409
- });m(d).forEach(function (b) {
1410
- var d = z(b, D(S, a || {}));d.targets = d.targets || a.targets;b = c.duration;var e = d.offset;d.autoplay = !1;d.direction = c.direction;d.offset = h.und(e) ? b : L(e, b);c.began = !0;c.completed = !0;c.seek(d.offset);d = q(d);d.began = !0;d.completed = !0;d.duration > b && (c.duration = d.duration);c.children.push(d);
1411
- });c.seek(0);c.reset();c.autoplay && c.restart();return c;
1412
- };return c;
1413
- };q.random = function (a, c) {
1414
- return Math.floor(Math.random() * (c - a + 1)) + a;
1415
- };return q;
1416
- });
1417
- ; // Required for Meteor package, the use of window prevents export by Meteor
1418
- (function (window) {
1419
- if (window.Package) {
1420
- M = {};
1421
- } else {
1422
- window.M = {};
1423
- }
1424
-
1425
- // Check for jQuery
1426
- M.jQueryLoaded = !!window.jQuery;
1427
- })(window);
1428
-
1429
- // AMD
1430
- if (typeof define === "function" && define.amd) {
1431
- define("M", [], function () {
1432
- return M;
1433
- });
1434
-
1435
- // Common JS
1436
- } else if (typeof exports !== 'undefined' && !exports.nodeType) {
1437
- if (typeof module !== 'undefined' && !module.nodeType && module.exports) {
1438
- exports = module.exports = M;
1439
- }
1440
- exports.default = M;
1441
- }
1442
-
1443
- M.keys = {
1444
- TAB: 9,
1445
- ENTER: 13,
1446
- ESC: 27,
1447
- ARROW_UP: 38,
1448
- ARROW_DOWN: 40
1449
- };
1450
-
1451
- /**
1452
- * TabPress Keydown handler
1453
- */
1454
- M.tabPressed = false;
1455
- var docHandleKeydown = function (e) {
1456
- if (e.which === M.keys.TAB) {
1457
- M.tabPressed = true;
1458
- }
1459
- };
1460
- var docHandleKeyup = function (e) {
1461
- if (e.which === M.keys.TAB) {
1462
- M.tabPressed = false;
1463
- }
1464
- };
1465
- document.addEventListener('keydown', docHandleKeydown);
1466
- document.addEventListener('keyup', docHandleKeyup);
1467
-
1468
- /**
1469
- * Initialize jQuery wrapper for plugin
1470
- * @param {Class} plugin javascript class
1471
- * @param {string} pluginName jQuery plugin name
1472
- * @param {string} classRef Class reference name
1473
- */
1474
- M.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
1475
- jQuery.fn[pluginName] = function (methodOrOptions) {
1476
- // Call plugin method if valid method name is passed in
1477
- if (plugin.prototype[methodOrOptions]) {
1478
- var params = Array.prototype.slice.call(arguments, 1);
1479
-
1480
- // Getter methods
1481
- if (methodOrOptions.slice(0, 3) === 'get') {
1482
- var instance = this.first()[0][classRef];
1483
- return instance[methodOrOptions].apply(instance, params);
1484
1129
 
1485
- // Void methods
1486
- } else {
1487
- return this.each(function () {
1488
- var instance = this[classRef];
1489
- instance[methodOrOptions].apply(instance, params);
1490
- });
1491
- }
1130
+ // Void methods
1131
+ return this.each(function () {
1132
+ var instance = this[classRef];
1133
+ instance[methodOrOptions].apply(instance, params);
1134
+ });
1492
1135
 
1493
1136
  // Initialize plugin if options or no argument is passed in
1494
1137
  } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
1495
1138
  plugin.init(this, arguments[0]);
1496
1139
  return this;
1497
-
1498
- // Return error if an unrecognized method name is passed in
1499
- } else {
1500
- jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName);
1501
1140
  }
1141
+
1142
+ // Return error if an unrecognized method name is passed in
1143
+ jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName);
1502
1144
  };
1503
1145
  };
1504
1146
 
@@ -1661,9 +1303,9 @@ M.getOverflowParent = function (element) {
1661
1303
 
1662
1304
  if (element === document.body || getComputedStyle(element).overflow !== 'visible') {
1663
1305
  return element;
1664
- } else {
1665
- return M.getOverflowParent(element.parentElement);
1666
1306
  }
1307
+
1308
+ return M.getOverflowParent(element.parentElement);
1667
1309
  };
1668
1310
 
1669
1311
  /**
@@ -1766,9 +1408,426 @@ M.throttle = function (func, wait, options) {
1766
1408
  } else if (!timeout && options.trailing !== false) {
1767
1409
  timeout = setTimeout(later, remaining);
1768
1410
  }
1769
- return result;
1770
- };
1771
- };
1411
+ return result;
1412
+ };
1413
+ };
1414
+ ; /*
1415
+ v2.2.0
1416
+ 2017 Julian Garnier
1417
+ Released under the MIT license
1418
+ */
1419
+ var $jscomp = { scope: {} };$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, r, p) {
1420
+ if (p.get || p.set) throw new TypeError("ES3 does not support getters and setters.");e != Array.prototype && e != Object.prototype && (e[r] = p.value);
1421
+ };$jscomp.getGlobal = function (e) {
1422
+ return "undefined" != typeof window && window === e ? e : "undefined" != typeof global && null != global ? global : e;
1423
+ };$jscomp.global = $jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX = "jscomp_symbol_";
1424
+ $jscomp.initSymbol = function () {
1425
+ $jscomp.initSymbol = function () {};$jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol);
1426
+ };$jscomp.symbolCounter_ = 0;$jscomp.Symbol = function (e) {
1427
+ return $jscomp.SYMBOL_PREFIX + (e || "") + $jscomp.symbolCounter_++;
1428
+ };
1429
+ $jscomp.initSymbolIterator = function () {
1430
+ $jscomp.initSymbol();var e = $jscomp.global.Symbol.iterator;e || (e = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator"));"function" != typeof Array.prototype[e] && $jscomp.defineProperty(Array.prototype, e, { configurable: !0, writable: !0, value: function () {
1431
+ return $jscomp.arrayIterator(this);
1432
+ } });$jscomp.initSymbolIterator = function () {};
1433
+ };$jscomp.arrayIterator = function (e) {
1434
+ var r = 0;return $jscomp.iteratorPrototype(function () {
1435
+ return r < e.length ? { done: !1, value: e[r++] } : { done: !0 };
1436
+ });
1437
+ };
1438
+ $jscomp.iteratorPrototype = function (e) {
1439
+ $jscomp.initSymbolIterator();e = { next: e };e[$jscomp.global.Symbol.iterator] = function () {
1440
+ return this;
1441
+ };return e;
1442
+ };$jscomp.array = $jscomp.array || {};$jscomp.iteratorFromArray = function (e, r) {
1443
+ $jscomp.initSymbolIterator();e instanceof String && (e += "");var p = 0,
1444
+ m = { next: function () {
1445
+ if (p < e.length) {
1446
+ var u = p++;return { value: r(u, e[u]), done: !1 };
1447
+ }m.next = function () {
1448
+ return { done: !0, value: void 0 };
1449
+ };return m.next();
1450
+ } };m[Symbol.iterator] = function () {
1451
+ return m;
1452
+ };return m;
1453
+ };
1454
+ $jscomp.polyfill = function (e, r, p, m) {
1455
+ if (r) {
1456
+ p = $jscomp.global;e = e.split(".");for (m = 0; m < e.length - 1; m++) {
1457
+ var u = e[m];u in p || (p[u] = {});p = p[u];
1458
+ }e = e[e.length - 1];m = p[e];r = r(m);r != m && null != r && $jscomp.defineProperty(p, e, { configurable: !0, writable: !0, value: r });
1459
+ }
1460
+ };$jscomp.polyfill("Array.prototype.keys", function (e) {
1461
+ return e ? e : function () {
1462
+ return $jscomp.iteratorFromArray(this, function (e) {
1463
+ return e;
1464
+ });
1465
+ };
1466
+ }, "es6-impl", "es3");var $jscomp$this = this;
1467
+ (function (r) {
1468
+ M.anime = r();
1469
+ })(function () {
1470
+ function e(a) {
1471
+ if (!h.col(a)) try {
1472
+ return document.querySelectorAll(a);
1473
+ } catch (c) {}
1474
+ }function r(a, c) {
1475
+ for (var d = a.length, b = 2 <= arguments.length ? arguments[1] : void 0, f = [], n = 0; n < d; n++) {
1476
+ if (n in a) {
1477
+ var k = a[n];c.call(b, k, n, a) && f.push(k);
1478
+ }
1479
+ }return f;
1480
+ }function p(a) {
1481
+ return a.reduce(function (a, d) {
1482
+ return a.concat(h.arr(d) ? p(d) : d);
1483
+ }, []);
1484
+ }function m(a) {
1485
+ if (h.arr(a)) return a;
1486
+ h.str(a) && (a = e(a) || a);return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a];
1487
+ }function u(a, c) {
1488
+ return a.some(function (a) {
1489
+ return a === c;
1490
+ });
1491
+ }function C(a) {
1492
+ var c = {},
1493
+ d;for (d in a) {
1494
+ c[d] = a[d];
1495
+ }return c;
1496
+ }function D(a, c) {
1497
+ var d = C(a),
1498
+ b;for (b in a) {
1499
+ d[b] = c.hasOwnProperty(b) ? c[b] : a[b];
1500
+ }return d;
1501
+ }function z(a, c) {
1502
+ var d = C(a),
1503
+ b;for (b in c) {
1504
+ d[b] = h.und(a[b]) ? c[b] : a[b];
1505
+ }return d;
1506
+ }function T(a) {
1507
+ a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (a, c, d, k) {
1508
+ return c + c + d + d + k + k;
1509
+ });var c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
1510
+ a = parseInt(c[1], 16);var d = parseInt(c[2], 16),
1511
+ c = parseInt(c[3], 16);return "rgba(" + a + "," + d + "," + c + ",1)";
1512
+ }function U(a) {
1513
+ function c(a, c, b) {
1514
+ 0 > b && (b += 1);1 < b && --b;return b < 1 / 6 ? a + 6 * (c - a) * b : .5 > b ? c : b < 2 / 3 ? a + (c - a) * (2 / 3 - b) * 6 : a;
1515
+ }var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a = parseInt(d[1]) / 360;var b = parseInt(d[2]) / 100,
1516
+ f = parseInt(d[3]) / 100,
1517
+ d = d[4] || 1;if (0 == b) f = b = a = f;else {
1518
+ var n = .5 > f ? f * (1 + b) : f + b - f * b,
1519
+ k = 2 * f - n,
1520
+ f = c(k, n, a + 1 / 3),
1521
+ b = c(k, n, a);a = c(k, n, a - 1 / 3);
1522
+ }return "rgba(" + 255 * f + "," + 255 * b + "," + 255 * a + "," + d + ")";
1523
+ }function y(a) {
1524
+ if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a)) return a[2];
1525
+ }function V(a) {
1526
+ if (-1 < a.indexOf("translate") || "perspective" === a) return "px";if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew")) return "deg";
1527
+ }function I(a, c) {
1528
+ return h.fnc(a) ? a(c.target, c.id, c.total) : a;
1529
+ }function E(a, c) {
1530
+ if (c in a.style) return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0";
1531
+ }function J(a, c) {
1532
+ if (h.dom(a) && u(W, c)) return "transform";if (h.dom(a) && (a.getAttribute(c) || h.svg(a) && a[c])) return "attribute";if (h.dom(a) && "transform" !== c && E(a, c)) return "css";if (null != a[c]) return "object";
1533
+ }function X(a, c) {
1534
+ var d = V(c),
1535
+ d = -1 < c.indexOf("scale") ? 1 : 0 + d;a = a.style.transform;if (!a) return d;for (var b = [], f = [], n = [], k = /(\w+)\((.+?)\)/g; b = k.exec(a);) {
1536
+ f.push(b[1]), n.push(b[2]);
1537
+ }a = r(n, function (a, b) {
1538
+ return f[b] === c;
1539
+ });return a.length ? a[0] : d;
1540
+ }function K(a, c) {
1541
+ switch (J(a, c)) {case "transform":
1542
+ return X(a, c);case "css":
1543
+ return E(a, c);case "attribute":
1544
+ return a.getAttribute(c);}return a[c] || 0;
1545
+ }function L(a, c) {
1546
+ var d = /^(\*=|\+=|-=)/.exec(a);if (!d) return a;var b = y(a) || 0;c = parseFloat(c);a = parseFloat(a.replace(d[0], ""));switch (d[0][0]) {case "+":
1547
+ return c + a + b;case "-":
1548
+ return c - a + b;case "*":
1549
+ return c * a + b;}
1550
+ }function F(a, c) {
1551
+ return Math.sqrt(Math.pow(c.x - a.x, 2) + Math.pow(c.y - a.y, 2));
1552
+ }function M(a) {
1553
+ a = a.points;for (var c = 0, d, b = 0; b < a.numberOfItems; b++) {
1554
+ var f = a.getItem(b);0 < b && (c += F(d, f));d = f;
1555
+ }return c;
1556
+ }function N(a) {
1557
+ if (a.getTotalLength) return a.getTotalLength();switch (a.tagName.toLowerCase()) {case "circle":
1558
+ return 2 * Math.PI * a.getAttribute("r");case "rect":
1559
+ return 2 * a.getAttribute("width") + 2 * a.getAttribute("height");case "line":
1560
+ return F({ x: a.getAttribute("x1"), y: a.getAttribute("y1") }, { x: a.getAttribute("x2"), y: a.getAttribute("y2") });case "polyline":
1561
+ return M(a);case "polygon":
1562
+ var c = a.points;return M(a) + F(c.getItem(c.numberOfItems - 1), c.getItem(0));}
1563
+ }function Y(a, c) {
1564
+ function d(b) {
1565
+ b = void 0 === b ? 0 : b;return a.el.getPointAtLength(1 <= c + b ? c + b : 0);
1566
+ }var b = d(),
1567
+ f = d(-1),
1568
+ n = d(1);switch (a.property) {case "x":
1569
+ return b.x;case "y":
1570
+ return b.y;
1571
+ case "angle":
1572
+ return 180 * Math.atan2(n.y - f.y, n.x - f.x) / Math.PI;}
1573
+ }function O(a, c) {
1574
+ var d = /-?\d*\.?\d+/g,
1575
+ b;b = h.pth(a) ? a.totalLength : a;if (h.col(b)) {
1576
+ if (h.rgb(b)) {
1577
+ var f = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b = f ? "rgba(" + f[1] + ",1)" : b;
1578
+ } else b = h.hex(b) ? T(b) : h.hsl(b) ? U(b) : void 0;
1579
+ } else f = (f = y(b)) ? b.substr(0, b.length - f.length) : b, b = c && !/\s/g.test(b) ? f + c : f;b += "";return { original: b, numbers: b.match(d) ? b.match(d).map(Number) : [0], strings: h.str(a) || c ? b.split(d) : [] };
1580
+ }function P(a) {
1581
+ a = a ? p(h.arr(a) ? a.map(m) : m(a)) : [];return r(a, function (a, d, b) {
1582
+ return b.indexOf(a) === d;
1583
+ });
1584
+ }function Z(a) {
1585
+ var c = P(a);return c.map(function (a, b) {
1586
+ return { target: a, id: b, total: c.length };
1587
+ });
1588
+ }function aa(a, c) {
1589
+ var d = C(c);if (h.arr(a)) {
1590
+ var b = a.length;2 !== b || h.obj(a[0]) ? h.fnc(c.duration) || (d.duration = c.duration / b) : a = { value: a };
1591
+ }return m(a).map(function (a, b) {
1592
+ b = b ? 0 : c.delay;a = h.obj(a) && !h.pth(a) ? a : { value: a };h.und(a.delay) && (a.delay = b);return a;
1593
+ }).map(function (a) {
1594
+ return z(a, d);
1595
+ });
1596
+ }function ba(a, c) {
1597
+ var d = {},
1598
+ b;for (b in a) {
1599
+ var f = I(a[b], c);h.arr(f) && (f = f.map(function (a) {
1600
+ return I(a, c);
1601
+ }), 1 === f.length && (f = f[0]));d[b] = f;
1602
+ }d.duration = parseFloat(d.duration);d.delay = parseFloat(d.delay);return d;
1603
+ }function ca(a) {
1604
+ return h.arr(a) ? A.apply(this, a) : Q[a];
1605
+ }function da(a, c) {
1606
+ var d;return a.tweens.map(function (b) {
1607
+ b = ba(b, c);var f = b.value,
1608
+ e = K(c.target, a.name),
1609
+ k = d ? d.to.original : e,
1610
+ k = h.arr(f) ? f[0] : k,
1611
+ w = L(h.arr(f) ? f[1] : f, k),
1612
+ e = y(w) || y(k) || y(e);b.from = O(k, e);b.to = O(w, e);b.start = d ? d.end : a.offset;b.end = b.start + b.delay + b.duration;b.easing = ca(b.easing);b.elasticity = (1E3 - Math.min(Math.max(b.elasticity, 1), 999)) / 1E3;b.isPath = h.pth(f);b.isColor = h.col(b.from.original);b.isColor && (b.round = 1);return d = b;
1613
+ });
1614
+ }function ea(a, c) {
1615
+ return r(p(a.map(function (a) {
1616
+ return c.map(function (b) {
1617
+ var c = J(a.target, b.name);if (c) {
1618
+ var d = da(b, a);b = { type: c, property: b.name, animatable: a, tweens: d, duration: d[d.length - 1].end, delay: d[0].delay };
1619
+ } else b = void 0;return b;
1620
+ });
1621
+ })), function (a) {
1622
+ return !h.und(a);
1623
+ });
1624
+ }function R(a, c, d, b) {
1625
+ var f = "delay" === a;return c.length ? (f ? Math.min : Math.max).apply(Math, c.map(function (b) {
1626
+ return b[a];
1627
+ })) : f ? b.delay : d.offset + b.delay + b.duration;
1628
+ }function fa(a) {
1629
+ var c = D(ga, a),
1630
+ d = D(S, a),
1631
+ b = Z(a.targets),
1632
+ f = [],
1633
+ e = z(c, d),
1634
+ k;for (k in a) {
1635
+ e.hasOwnProperty(k) || "targets" === k || f.push({ name: k, offset: e.offset, tweens: aa(a[k], d) });
1636
+ }a = ea(b, f);return z(c, { children: [], animatables: b, animations: a, duration: R("duration", a, c, d), delay: R("delay", a, c, d) });
1637
+ }function q(a) {
1638
+ function c() {
1639
+ return window.Promise && new Promise(function (a) {
1640
+ return p = a;
1641
+ });
1642
+ }function d(a) {
1643
+ return g.reversed ? g.duration - a : a;
1644
+ }function b(a) {
1645
+ for (var b = 0, c = {}, d = g.animations, f = d.length; b < f;) {
1646
+ var e = d[b],
1647
+ k = e.animatable,
1648
+ h = e.tweens,
1649
+ n = h.length - 1,
1650
+ l = h[n];n && (l = r(h, function (b) {
1651
+ return a < b.end;
1652
+ })[0] || l);for (var h = Math.min(Math.max(a - l.start - l.delay, 0), l.duration) / l.duration, w = isNaN(h) ? 1 : l.easing(h, l.elasticity), h = l.to.strings, p = l.round, n = [], m = void 0, m = l.to.numbers.length, t = 0; t < m; t++) {
1653
+ var x = void 0,
1654
+ x = l.to.numbers[t],
1655
+ q = l.from.numbers[t],
1656
+ x = l.isPath ? Y(l.value, w * x) : q + w * (x - q);p && (l.isColor && 2 < t || (x = Math.round(x * p) / p));n.push(x);
1657
+ }if (l = h.length) for (m = h[0], w = 0; w < l; w++) {
1658
+ p = h[w + 1], t = n[w], isNaN(t) || (m = p ? m + (t + p) : m + (t + " "));
1659
+ } else m = n[0];ha[e.type](k.target, e.property, m, c, k.id);e.currentValue = m;b++;
1660
+ }if (b = Object.keys(c).length) for (d = 0; d < b; d++) {
1661
+ H || (H = E(document.body, "transform") ? "transform" : "-webkit-transform"), g.animatables[d].target.style[H] = c[d].join(" ");
1662
+ }g.currentTime = a;g.progress = a / g.duration * 100;
1663
+ }function f(a) {
1664
+ if (g[a]) g[a](g);
1665
+ }function e() {
1666
+ g.remaining && !0 !== g.remaining && g.remaining--;
1667
+ }function k(a) {
1668
+ var k = g.duration,
1669
+ n = g.offset,
1670
+ w = n + g.delay,
1671
+ r = g.currentTime,
1672
+ x = g.reversed,
1673
+ q = d(a);if (g.children.length) {
1674
+ var u = g.children,
1675
+ v = u.length;
1676
+ if (q >= g.currentTime) for (var G = 0; G < v; G++) {
1677
+ u[G].seek(q);
1678
+ } else for (; v--;) {
1679
+ u[v].seek(q);
1680
+ }
1681
+ }if (q >= w || !k) g.began || (g.began = !0, f("begin")), f("run");if (q > n && q < k) b(q);else if (q <= n && 0 !== r && (b(0), x && e()), q >= k && r !== k || !k) b(k), x || e();f("update");a >= k && (g.remaining ? (t = h, "alternate" === g.direction && (g.reversed = !g.reversed)) : (g.pause(), g.completed || (g.completed = !0, f("complete"), "Promise" in window && (p(), m = c()))), l = 0);
1682
+ }a = void 0 === a ? {} : a;var h,
1683
+ t,
1684
+ l = 0,
1685
+ p = null,
1686
+ m = c(),
1687
+ g = fa(a);g.reset = function () {
1688
+ var a = g.direction,
1689
+ c = g.loop;g.currentTime = 0;g.progress = 0;g.paused = !0;g.began = !1;g.completed = !1;g.reversed = "reverse" === a;g.remaining = "alternate" === a && 1 === c ? 2 : c;b(0);for (a = g.children.length; a--;) {
1690
+ g.children[a].reset();
1691
+ }
1692
+ };g.tick = function (a) {
1693
+ h = a;t || (t = h);k((l + h - t) * q.speed);
1694
+ };g.seek = function (a) {
1695
+ k(d(a));
1696
+ };g.pause = function () {
1697
+ var a = v.indexOf(g);-1 < a && v.splice(a, 1);g.paused = !0;
1698
+ };g.play = function () {
1699
+ g.paused && (g.paused = !1, t = 0, l = d(g.currentTime), v.push(g), B || ia());
1700
+ };g.reverse = function () {
1701
+ g.reversed = !g.reversed;t = 0;l = d(g.currentTime);
1702
+ };g.restart = function () {
1703
+ g.pause();
1704
+ g.reset();g.play();
1705
+ };g.finished = m;g.reset();g.autoplay && g.play();return g;
1706
+ }var ga = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 },
1707
+ S = { duration: 1E3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 },
1708
+ W = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),
1709
+ H,
1710
+ h = { arr: function (a) {
1711
+ return Array.isArray(a);
1712
+ }, obj: function (a) {
1713
+ return -1 < Object.prototype.toString.call(a).indexOf("Object");
1714
+ },
1715
+ pth: function (a) {
1716
+ return h.obj(a) && a.hasOwnProperty("totalLength");
1717
+ }, svg: function (a) {
1718
+ return a instanceof SVGElement;
1719
+ }, dom: function (a) {
1720
+ return a.nodeType || h.svg(a);
1721
+ }, str: function (a) {
1722
+ return "string" === typeof a;
1723
+ }, fnc: function (a) {
1724
+ return "function" === typeof a;
1725
+ }, und: function (a) {
1726
+ return "undefined" === typeof a;
1727
+ }, hex: function (a) {
1728
+ return (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
1729
+ );
1730
+ }, rgb: function (a) {
1731
+ return (/^rgb/.test(a)
1732
+ );
1733
+ }, hsl: function (a) {
1734
+ return (/^hsl/.test(a)
1735
+ );
1736
+ }, col: function (a) {
1737
+ return h.hex(a) || h.rgb(a) || h.hsl(a);
1738
+ } },
1739
+ A = function () {
1740
+ function a(a, d, b) {
1741
+ return (((1 - 3 * b + 3 * d) * a + (3 * b - 6 * d)) * a + 3 * d) * a;
1742
+ }return function (c, d, b, f) {
1743
+ if (0 <= c && 1 >= c && 0 <= b && 1 >= b) {
1744
+ var e = new Float32Array(11);if (c !== d || b !== f) for (var k = 0; 11 > k; ++k) {
1745
+ e[k] = a(.1 * k, c, b);
1746
+ }return function (k) {
1747
+ if (c === d && b === f) return k;if (0 === k) return 0;if (1 === k) return 1;for (var h = 0, l = 1; 10 !== l && e[l] <= k; ++l) {
1748
+ h += .1;
1749
+ }--l;var l = h + (k - e[l]) / (e[l + 1] - e[l]) * .1,
1750
+ n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (.001 <= n) {
1751
+ for (h = 0; 4 > h; ++h) {
1752
+ n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (0 === n) break;var m = a(l, c, b) - k,
1753
+ l = l - m / n;
1754
+ }k = l;
1755
+ } else if (0 === n) k = l;else {
1756
+ var l = h,
1757
+ h = h + .1,
1758
+ g = 0;do {
1759
+ m = l + (h - l) / 2, n = a(m, c, b) - k, 0 < n ? h = m : l = m;
1760
+ } while (1e-7 < Math.abs(n) && 10 > ++g);k = m;
1761
+ }return a(k, d, f);
1762
+ };
1763
+ }
1764
+ };
1765
+ }(),
1766
+ Q = function () {
1767
+ function a(a, b) {
1768
+ return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math.PI) * Math.asin(1)) * Math.PI / b);
1769
+ }var c = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
1770
+ d = { In: [[.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], a], Out: [[.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function (b, c) {
1771
+ return 1 - a(1 - b, c);
1772
+ }], InOut: [[.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function (b, c) {
1773
+ return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2;
1774
+ }] },
1775
+ b = { linear: A(.25, .25, .75, .75) },
1776
+ f = {},
1777
+ e;for (e in d) {
1778
+ f.type = e, d[f.type].forEach(function (a) {
1779
+ return function (d, f) {
1780
+ b["ease" + a.type + c[f]] = h.fnc(d) ? d : A.apply($jscomp$this, d);
1781
+ };
1782
+ }(f)), f = { type: f.type };
1783
+ }return b;
1784
+ }(),
1785
+ ha = { css: function (a, c, d) {
1786
+ return a.style[c] = d;
1787
+ }, attribute: function (a, c, d) {
1788
+ return a.setAttribute(c, d);
1789
+ }, object: function (a, c, d) {
1790
+ return a[c] = d;
1791
+ }, transform: function (a, c, d, b, f) {
1792
+ b[f] || (b[f] = []);b[f].push(c + "(" + d + ")");
1793
+ } },
1794
+ v = [],
1795
+ B = 0,
1796
+ ia = function () {
1797
+ function a() {
1798
+ B = requestAnimationFrame(c);
1799
+ }function c(c) {
1800
+ var b = v.length;if (b) {
1801
+ for (var d = 0; d < b;) {
1802
+ v[d] && v[d].tick(c), d++;
1803
+ }a();
1804
+ } else cancelAnimationFrame(B), B = 0;
1805
+ }return a;
1806
+ }();q.version = "2.2.0";q.speed = 1;q.running = v;q.remove = function (a) {
1807
+ a = P(a);for (var c = v.length; c--;) {
1808
+ for (var d = v[c], b = d.animations, f = b.length; f--;) {
1809
+ u(a, b[f].animatable.target) && (b.splice(f, 1), b.length || d.pause());
1810
+ }
1811
+ }
1812
+ };q.getValue = K;q.path = function (a, c) {
1813
+ var d = h.str(a) ? e(a)[0] : a,
1814
+ b = c || 100;return function (a) {
1815
+ return { el: d, property: a, totalLength: N(d) * (b / 100) };
1816
+ };
1817
+ };q.setDashoffset = function (a) {
1818
+ var c = N(a);a.setAttribute("stroke-dasharray", c);return c;
1819
+ };q.bezier = A;q.easings = Q;q.timeline = function (a) {
1820
+ var c = q(a);c.pause();c.duration = 0;c.add = function (d) {
1821
+ c.children.forEach(function (a) {
1822
+ a.began = !0;a.completed = !0;
1823
+ });m(d).forEach(function (b) {
1824
+ var d = z(b, D(S, a || {}));d.targets = d.targets || a.targets;b = c.duration;var e = d.offset;d.autoplay = !1;d.direction = c.direction;d.offset = h.und(e) ? b : L(e, b);c.began = !0;c.completed = !0;c.seek(d.offset);d = q(d);d.began = !0;d.completed = !0;d.duration > b && (c.duration = d.duration);c.children.push(d);
1825
+ });c.seek(0);c.reset();c.autoplay && c.restart();return c;
1826
+ };return c;
1827
+ };q.random = function (a, c) {
1828
+ return Math.floor(Math.random() * (c - a + 1)) + a;
1829
+ };return q;
1830
+ });
1772
1831
  ;(function ($, anim) {
1773
1832
  'use strict';
1774
1833
 
@@ -1787,7 +1846,9 @@ M.throttle = function (func, wait, options) {
1787
1846
  *
1788
1847
  */
1789
1848
 
1790
- var Collapsible = function () {
1849
+ var Collapsible = function (_Component) {
1850
+ _inherits(Collapsible, _Component);
1851
+
1791
1852
  /**
1792
1853
  * Construct Collapsible instance
1793
1854
  * @constructor
@@ -1797,14 +1858,9 @@ M.throttle = function (func, wait, options) {
1797
1858
  function Collapsible(el, options) {
1798
1859
  _classCallCheck(this, Collapsible);
1799
1860
 
1800
- // If exists, destroy and reinitialize
1801
- if (!!el.M_Collapsible) {
1802
- el.M_Collapsible.destroy();
1803
- }
1861
+ var _this3 = _possibleConstructorReturn(this, (Collapsible.__proto__ || Object.getPrototypeOf(Collapsible)).call(this, Collapsible, el, options));
1804
1862
 
1805
- this.el = el;
1806
- this.$el = $(el);
1807
- this.el.M_Collapsible = this;
1863
+ _this3.el.M_Collapsible = _this3;
1808
1864
 
1809
1865
  /**
1810
1866
  * Options for the collapsible
@@ -1817,19 +1873,20 @@ M.throttle = function (func, wait, options) {
1817
1873
  * @prop {Number} inDuration - Transition in duration in milliseconds.
1818
1874
  * @prop {Number} outDuration - Transition duration in milliseconds.
1819
1875
  */
1820
- this.options = $.extend({}, Collapsible.defaults, options);
1876
+ _this3.options = $.extend({}, Collapsible.defaults, options);
1821
1877
 
1822
- this._setupEventHandlers();
1878
+ _this3._setupEventHandlers();
1823
1879
 
1824
1880
  // Open first active
1825
- var $activeBodies = this.$el.children('li.active').children('.collapsible-body');
1826
- if (this.options.accordion) {
1881
+ var $activeBodies = _this3.$el.children('li.active').children('.collapsible-body');
1882
+ if (_this3.options.accordion) {
1827
1883
  // Handle Accordion
1828
1884
  $activeBodies.first().css('display', 'block');
1829
1885
  } else {
1830
1886
  // Handle Expandables
1831
1887
  $activeBodies.css('display', 'block');
1832
1888
  }
1889
+ return _this3;
1833
1890
  }
1834
1891
 
1835
1892
  _createClass(Collapsible, [{
@@ -1899,7 +1956,7 @@ M.throttle = function (func, wait, options) {
1899
1956
  }, {
1900
1957
  key: "_animateIn",
1901
1958
  value: function _animateIn(index) {
1902
- var _this3 = this;
1959
+ var _this4 = this;
1903
1960
 
1904
1961
  var $collapsibleLi = this.$el.children('li').eq(index);
1905
1962
  if ($collapsibleLi.length) {
@@ -1938,8 +1995,8 @@ M.throttle = function (func, wait, options) {
1938
1995
  });
1939
1996
 
1940
1997
  // onOpenEnd callback
1941
- if (typeof _this3.options.onOpenEnd === 'function') {
1942
- _this3.options.onOpenEnd.call(_this3, $collapsibleLi[0]);
1998
+ if (typeof _this4.options.onOpenEnd === 'function') {
1999
+ _this4.options.onOpenEnd.call(_this4, $collapsibleLi[0]);
1943
2000
  }
1944
2001
  }
1945
2002
  });
@@ -1954,7 +2011,7 @@ M.throttle = function (func, wait, options) {
1954
2011
  }, {
1955
2012
  key: "_animateOut",
1956
2013
  value: function _animateOut(index) {
1957
- var _this4 = this;
2014
+ var _this5 = this;
1958
2015
 
1959
2016
  var $collapsibleLi = this.$el.children('li').eq(index);
1960
2017
  if ($collapsibleLi.length) {
@@ -1977,8 +2034,8 @@ M.throttle = function (func, wait, options) {
1977
2034
  });
1978
2035
 
1979
2036
  // onCloseEnd callback
1980
- if (typeof _this4.options.onCloseEnd === 'function') {
1981
- _this4.options.onCloseEnd.call(_this4, $collapsibleLi[0]);
2037
+ if (typeof _this5.options.onCloseEnd === 'function') {
2038
+ _this5.options.onCloseEnd.call(_this5, $collapsibleLi[0]);
1982
2039
  }
1983
2040
  }
1984
2041
  });
@@ -1993,7 +2050,7 @@ M.throttle = function (func, wait, options) {
1993
2050
  }, {
1994
2051
  key: "open",
1995
2052
  value: function open(index) {
1996
- var _this5 = this;
2053
+ var _this6 = this;
1997
2054
 
1998
2055
  var $collapsibleLi = this.$el.children('li').eq(index);
1999
2056
  if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
@@ -2009,7 +2066,7 @@ M.throttle = function (func, wait, options) {
2009
2066
  var $activeLis = this.$el.children('li.active');
2010
2067
  $activeLis.each(function (el) {
2011
2068
  var index = $collapsibleLis.index($(el));
2012
- _this5.close(index);
2069
+ _this6.close(index);
2013
2070
  });
2014
2071
  }
2015
2072
 
@@ -2042,12 +2099,8 @@ M.throttle = function (func, wait, options) {
2042
2099
  }
2043
2100
  }], [{
2044
2101
  key: "init",
2045
- value: function init($els, options) {
2046
- var arr = [];
2047
- $els.each(function () {
2048
- arr.push(new Collapsible(this, options));
2049
- });
2050
- return arr;
2102
+ value: function init(els, options) {
2103
+ return _get(Collapsible.__proto__ || Object.getPrototypeOf(Collapsible), "init", this).call(this, this, els, options);
2051
2104
  }
2052
2105
 
2053
2106
  /**
@@ -2068,14 +2121,14 @@ M.throttle = function (func, wait, options) {
2068
2121
  }]);
2069
2122
 
2070
2123
  return Collapsible;
2071
- }();
2124
+ }(Component);
2072
2125
 
2073
2126
  M.Collapsible = Collapsible;
2074
2127
 
2075
2128
  if (M.jQueryLoaded) {
2076
2129
  M.initializeJqueryWrapper(Collapsible, 'collapsible', 'M_Collapsible');
2077
2130
  }
2078
- })(cash, anime);
2131
+ })(cash, M.anime);
2079
2132
  ;(function ($, anim) {
2080
2133
  'use strict';
2081
2134
 
@@ -2097,23 +2150,20 @@ M.throttle = function (func, wait, options) {
2097
2150
  * @class
2098
2151
  */
2099
2152
 
2100
- var Dropdown = function () {
2153
+ var Dropdown = function (_Component2) {
2154
+ _inherits(Dropdown, _Component2);
2155
+
2101
2156
  function Dropdown(el, options) {
2102
2157
  _classCallCheck(this, Dropdown);
2103
2158
 
2104
- // If exists, destroy and reinitialize
2105
- if (!!el.M_Dropdown) {
2106
- el.M_Dropdown.destroy();
2107
- }
2159
+ var _this7 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options));
2108
2160
 
2109
- this.el = el;
2110
- this.$el = $(el);
2111
- this.el.M_Dropdown = this;
2112
- Dropdown._dropdowns.push(this);
2161
+ _this7.el.M_Dropdown = _this7;
2162
+ Dropdown._dropdowns.push(_this7);
2113
2163
 
2114
- this.id = M.getIdFromTrigger(el);
2115
- this.dropdownEl = document.getElementById(this.id);
2116
- this.$dropdownEl = $(this.dropdownEl);
2164
+ _this7.id = M.getIdFromTrigger(el);
2165
+ _this7.dropdownEl = document.getElementById(_this7.id);
2166
+ _this7.$dropdownEl = $(_this7.dropdownEl);
2117
2167
 
2118
2168
  /**
2119
2169
  * Options for the dropdown
@@ -2123,26 +2173,27 @@ M.throttle = function (func, wait, options) {
2123
2173
  * @prop {Function} onCloseStart - Function called when sidenav starts exiting
2124
2174
  * @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
2125
2175
  */
2126
- this.options = $.extend({}, Dropdown.defaults, options);
2176
+ _this7.options = $.extend({}, Dropdown.defaults, options);
2127
2177
 
2128
2178
  /**
2129
2179
  * Describes open/close state of dropdown
2130
2180
  * @type {Boolean}
2131
2181
  */
2132
- this.isOpen = false;
2182
+ _this7.isOpen = false;
2133
2183
 
2134
- this.focusedIndex = -1;
2135
- this.filterQuery = [];
2184
+ _this7.focusedIndex = -1;
2185
+ _this7.filterQuery = [];
2136
2186
 
2137
2187
  // Move dropdown-content after dropdown-trigger
2138
- this.$el.after(this.dropdownEl);
2139
-
2140
- this._makeDropdownFocusable();
2141
- this._resetFilterQueryBound = this._resetFilterQuery.bind(this);
2142
- this._handleDocumentClickBound = this._handleDocumentClick.bind(this);
2143
- this._handleDropdownKeydownBound = this._handleDropdownKeydown.bind(this);
2144
- this._handleTriggerKeydownBound = this._handleTriggerKeydown.bind(this);
2145
- this._setupEventHandlers();
2188
+ _this7.$el.after(_this7.dropdownEl);
2189
+
2190
+ _this7._makeDropdownFocusable();
2191
+ _this7._resetFilterQueryBound = _this7._resetFilterQuery.bind(_this7);
2192
+ _this7._handleDocumentClickBound = _this7._handleDocumentClick.bind(_this7);
2193
+ _this7._handleDropdownKeydownBound = _this7._handleDropdownKeydown.bind(_this7);
2194
+ _this7._handleTriggerKeydownBound = _this7._handleTriggerKeydown.bind(_this7);
2195
+ _this7._setupEventHandlers();
2196
+ return _this7;
2146
2197
  }
2147
2198
 
2148
2199
  _createClass(Dropdown, [{
@@ -2247,20 +2298,20 @@ M.throttle = function (func, wait, options) {
2247
2298
  }, {
2248
2299
  key: "_handleDocumentClick",
2249
2300
  value: function _handleDocumentClick(e) {
2250
- var _this6 = this;
2301
+ var _this8 = this;
2251
2302
 
2252
2303
  var $target = $(e.target);
2253
2304
  if (this.options.closeOnClick && $target.closest('.dropdown-content').length) {
2254
2305
  setTimeout(function () {
2255
- _this6.close();
2306
+ _this8.close();
2256
2307
  }, 0);
2257
2308
  } else if ($target.closest('.dropdown-trigger').length) {
2258
2309
  setTimeout(function () {
2259
- _this6.close();
2310
+ _this8.close();
2260
2311
  }, 0);
2261
2312
  } else if (!$target.closest('.dropdown-content').length) {
2262
2313
  setTimeout(function () {
2263
- _this6.close();
2314
+ _this8.close();
2264
2315
  }, 0);
2265
2316
  }
2266
2317
  }
@@ -2449,7 +2500,7 @@ M.throttle = function (func, wait, options) {
2449
2500
  }, {
2450
2501
  key: "_animateIn",
2451
2502
  value: function _animateIn(positionInfo) {
2452
- var _this7 = this;
2503
+ var _this9 = this;
2453
2504
 
2454
2505
  // Place dropdown
2455
2506
  this.dropdownEl.style.left = positionInfo.x + 'px';
@@ -2470,12 +2521,12 @@ M.throttle = function (func, wait, options) {
2470
2521
  duration: this.options.inDuration,
2471
2522
  easing: 'easeOutQuint',
2472
2523
  complete: function (anim) {
2473
- _this7.dropdownEl.focus();
2524
+ _this9.dropdownEl.focus();
2474
2525
 
2475
2526
  // onOpenEnd callback
2476
- if (typeof _this7.options.onOpenEnd === 'function') {
2527
+ if (typeof _this9.options.onOpenEnd === 'function') {
2477
2528
  var elem = anim.animatables[0].target;
2478
- _this7.options.onOpenEnd.call(elem, _this7.el);
2529
+ _this9.options.onOpenEnd.call(elem, _this9.el);
2479
2530
  }
2480
2531
  }
2481
2532
  });
@@ -2488,7 +2539,7 @@ M.throttle = function (func, wait, options) {
2488
2539
  }, {
2489
2540
  key: "_animateOut",
2490
2541
  value: function _animateOut() {
2491
- var _this8 = this;
2542
+ var _this10 = this;
2492
2543
 
2493
2544
  anim.remove(this.dropdownEl);
2494
2545
  anim({
@@ -2502,12 +2553,12 @@ M.throttle = function (func, wait, options) {
2502
2553
  duration: this.options.outDuration,
2503
2554
  easing: 'easeOutQuint',
2504
2555
  complete: function (anim) {
2505
- _this8._resetDropdownStyles();
2556
+ _this10._resetDropdownStyles();
2506
2557
 
2507
2558
  // onCloseEnd callback
2508
- if (typeof _this8.options.onCloseEnd === 'function') {
2559
+ if (typeof _this10.options.onCloseEnd === 'function') {
2509
2560
  var elem = anim.animatables[0].target;
2510
- _this8.options.onCloseEnd.call(_this8, _this8.el);
2561
+ _this10.options.onCloseEnd.call(_this10, _this10.el);
2511
2562
  }
2512
2563
  }
2513
2564
  });
@@ -2567,12 +2618,8 @@ M.throttle = function (func, wait, options) {
2567
2618
  }
2568
2619
  }], [{
2569
2620
  key: "init",
2570
- value: function init($els, options) {
2571
- var arr = [];
2572
- $els.each(function () {
2573
- arr.push(new Dropdown(this, options));
2574
- });
2575
- return arr;
2621
+ value: function init(els, options) {
2622
+ return _get(Dropdown.__proto__ || Object.getPrototypeOf(Dropdown), "init", this).call(this, this, els, options);
2576
2623
  }
2577
2624
 
2578
2625
  /**
@@ -2593,7 +2640,7 @@ M.throttle = function (func, wait, options) {
2593
2640
  }]);
2594
2641
 
2595
2642
  return Dropdown;
2596
- }();
2643
+ }(Component);
2597
2644
 
2598
2645
  /**
2599
2646
  * @static
@@ -2608,7 +2655,7 @@ M.throttle = function (func, wait, options) {
2608
2655
  if (M.jQueryLoaded) {
2609
2656
  M.initializeJqueryWrapper(Dropdown, 'dropdown', 'M_Dropdown');
2610
2657
  }
2611
- })(cash, anime);
2658
+ })(cash, M.anime);
2612
2659
  ;(function ($, anim) {
2613
2660
  'use strict';
2614
2661
 
@@ -2616,8 +2663,10 @@ M.throttle = function (func, wait, options) {
2616
2663
  opacity: 0.5,
2617
2664
  inDuration: 250,
2618
2665
  outDuration: 250,
2619
- ready: undefined,
2620
- complete: undefined,
2666
+ onOpenStart: null,
2667
+ onOpenEnd: null,
2668
+ onCloseStart: null,
2669
+ onCloseEnd: null,
2621
2670
  dismissible: true,
2622
2671
  startingTop: '4%',
2623
2672
  endingTop: '10%'
@@ -2628,7 +2677,9 @@ M.throttle = function (func, wait, options) {
2628
2677
  *
2629
2678
  */
2630
2679
 
2631
- var Modal = function () {
2680
+ var Modal = function (_Component3) {
2681
+ _inherits(Modal, _Component3);
2682
+
2632
2683
  /**
2633
2684
  * Construct Modal instance and set up overlay
2634
2685
  * @constructor
@@ -2638,14 +2689,9 @@ M.throttle = function (func, wait, options) {
2638
2689
  function Modal(el, options) {
2639
2690
  _classCallCheck(this, Modal);
2640
2691
 
2641
- // If exists, destroy and reinitialize
2642
- if (!!el.M_Modal) {
2643
- el.M_Modal.destroy();
2644
- }
2692
+ var _this11 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
2645
2693
 
2646
- this.el = el;
2647
- this.$el = $(el);
2648
- this.el.M_Modal = this;
2694
+ _this11.el.M_Modal = _this11;
2649
2695
 
2650
2696
  /**
2651
2697
  * Options for the modal
@@ -2653,29 +2699,32 @@ M.throttle = function (func, wait, options) {
2653
2699
  * @prop {Number} [opacity=0.5] - Opacity of the modal overlay
2654
2700
  * @prop {Number} [inDuration=250] - Length in ms of enter transition
2655
2701
  * @prop {Number} [outDuration=250] - Length in ms of exit transition
2656
- * @prop {Function} ready - Callback function called when modal is finished entering
2657
- * @prop {Function} complete - Callback function called when modal is finished exiting
2702
+ * @prop {Function} onOpenStart - Callback function called before modal is opened
2703
+ * @prop {Function} onOpenEnd - Callback function called after modal is opened
2704
+ * @prop {Function} onCloseStart - Callback function called before modal is closed
2705
+ * @prop {Function} onCloseEnd - Callback function called after modal is closed
2658
2706
  * @prop {Boolean} [dismissible=true] - Allow modal to be dismissed by keyboard or overlay click
2659
2707
  * @prop {String} [startingTop='4%'] - startingTop
2660
2708
  * @prop {String} [endingTop='10%'] - endingTop
2661
2709
  */
2662
- this.options = $.extend({}, Modal.defaults, options);
2710
+ _this11.options = $.extend({}, Modal.defaults, options);
2663
2711
 
2664
2712
  /**
2665
2713
  * Describes open/close state of modal
2666
2714
  * @type {Boolean}
2667
2715
  */
2668
- this.isOpen = false;
2716
+ _this11.isOpen = false;
2669
2717
 
2670
- this.id = this.$el.attr('id');
2671
- this._openingTrigger = undefined;
2672
- this.$overlay = $('<div class="modal-overlay"></div>');
2718
+ _this11.id = _this11.$el.attr('id');
2719
+ _this11._openingTrigger = undefined;
2720
+ _this11.$overlay = $('<div class="modal-overlay"></div>');
2673
2721
 
2674
2722
  Modal._increment++;
2675
2723
  Modal._count++;
2676
- this.$overlay[0].style.zIndex = 1000 + Modal._increment * 2;
2677
- this.el.style.zIndex = 1000 + Modal._increment * 2 + 1;
2678
- this._setupEventHandlers();
2724
+ _this11.$overlay[0].style.zIndex = 1000 + Modal._increment * 2;
2725
+ _this11.el.style.zIndex = 1000 + Modal._increment * 2 + 1;
2726
+ _this11._setupEventHandlers();
2727
+ return _this11;
2679
2728
  }
2680
2729
 
2681
2730
  _createClass(Modal, [{
@@ -2790,7 +2839,7 @@ M.throttle = function (func, wait, options) {
2790
2839
  }, {
2791
2840
  key: "_animateIn",
2792
2841
  value: function _animateIn() {
2793
- var _this9 = this;
2842
+ var _this12 = this;
2794
2843
 
2795
2844
  // Set initial styles
2796
2845
  $.extend(this.el.style, {
@@ -2815,10 +2864,10 @@ M.throttle = function (func, wait, options) {
2815
2864
  targets: this.el,
2816
2865
  duration: this.options.inDuration,
2817
2866
  easing: 'easeOutCubic',
2818
- // Handle modal ready callback
2867
+ // Handle modal onOpenEnd callback
2819
2868
  complete: function () {
2820
- if (typeof _this9.options.ready === 'function') {
2821
- _this9.options.ready.call(_this9, _this9.el, _this9._openingTrigger);
2869
+ if (typeof _this12.options.onOpenEnd === 'function') {
2870
+ _this12.options.onOpenEnd.call(_this12, _this12.el, _this12._openingTrigger);
2822
2871
  }
2823
2872
  }
2824
2873
  };
@@ -2850,7 +2899,7 @@ M.throttle = function (func, wait, options) {
2850
2899
  }, {
2851
2900
  key: "_animateOut",
2852
2901
  value: function _animateOut() {
2853
- var _this10 = this;
2902
+ var _this13 = this;
2854
2903
 
2855
2904
  // Animate overlay
2856
2905
  anim({
@@ -2867,12 +2916,13 @@ M.throttle = function (func, wait, options) {
2867
2916
  easing: 'easeOutCubic',
2868
2917
  // Handle modal ready callback
2869
2918
  complete: function () {
2870
- _this10.el.style.display = 'none';
2871
- // Call complete callback
2872
- if (typeof _this10.options.complete === 'function') {
2873
- _this10.options.complete.call(_this10, _this10.el);
2919
+ _this13.el.style.display = 'none';
2920
+ _this13.$overlay.remove();
2921
+
2922
+ // Call onCloseEnd callback
2923
+ if (typeof _this13.options.onCloseEnd === 'function') {
2924
+ _this13.options.onCloseEnd.call(_this13, _this13.el);
2874
2925
  }
2875
- _this10.$overlay.remove();
2876
2926
  }
2877
2927
  };
2878
2928
 
@@ -2908,11 +2958,17 @@ M.throttle = function (func, wait, options) {
2908
2958
  return;
2909
2959
  }
2910
2960
 
2911
- this.isOpen = true;
2961
+ this.isOpen = true;
2962
+
2963
+ // onOpenStart callback
2964
+ if (typeof this.options.onOpenStart === 'function') {
2965
+ this.options.onOpenStart.call(this, this.el, this._openingTrigger);
2966
+ }
2967
+
2912
2968
  var body = document.body;
2913
2969
  body.style.overflow = 'hidden';
2914
2970
  this.el.classList.add('open');
2915
- body.appendChild(this.$overlay[0]);
2971
+ this.el.insertAdjacentElement('afterend', this.$overlay[0]);
2916
2972
 
2917
2973
  // Set opening trigger, undefined indicates modal was opened by javascript
2918
2974
  this._openingTrigger = !!$trigger ? $trigger[0] : undefined;
@@ -2940,6 +2996,12 @@ M.throttle = function (func, wait, options) {
2940
2996
  }
2941
2997
 
2942
2998
  this.isOpen = false;
2999
+
3000
+ // Call onCloseStart callback
3001
+ if (typeof this.options.onCloseStart === 'function') {
3002
+ this.options.onCloseStart.call(this, this.el);
3003
+ }
3004
+
2943
3005
  this.el.classList.remove('open');
2944
3006
  document.body.style.overflow = '';
2945
3007
 
@@ -2954,12 +3016,8 @@ M.throttle = function (func, wait, options) {
2954
3016
  }
2955
3017
  }], [{
2956
3018
  key: "init",
2957
- value: function init($els, options) {
2958
- var arr = [];
2959
- $els.each(function () {
2960
- arr.push(new Modal(this, options));
2961
- });
2962
- return arr;
3019
+ value: function init(els, options) {
3020
+ return _get(Modal.__proto__ || Object.getPrototypeOf(Modal), "init", this).call(this, this, els, options);
2963
3021
  }
2964
3022
 
2965
3023
  /**
@@ -2980,7 +3038,7 @@ M.throttle = function (func, wait, options) {
2980
3038
  }]);
2981
3039
 
2982
3040
  return Modal;
2983
- }();
3041
+ }(Component);
2984
3042
 
2985
3043
  /**
2986
3044
  * @static
@@ -3001,13 +3059,17 @@ M.throttle = function (func, wait, options) {
3001
3059
  if (M.jQueryLoaded) {
3002
3060
  M.initializeJqueryWrapper(Modal, 'modal', 'M_Modal');
3003
3061
  }
3004
- })(cash, anime);
3062
+ })(cash, M.anime);
3005
3063
  ;(function ($, anim) {
3006
3064
  'use strict';
3007
3065
 
3008
3066
  var _defaults = {
3009
3067
  inDuration: 275,
3010
- outDuration: 200
3068
+ outDuration: 200,
3069
+ onOpenStart: null,
3070
+ onOpenEnd: null,
3071
+ onCloseStart: null,
3072
+ onCloseEnd: null
3011
3073
  };
3012
3074
 
3013
3075
  /**
@@ -3015,7 +3077,9 @@ M.throttle = function (func, wait, options) {
3015
3077
  *
3016
3078
  */
3017
3079
 
3018
- var Materialbox = function () {
3080
+ var Materialbox = function (_Component4) {
3081
+ _inherits(Materialbox, _Component4);
3082
+
3019
3083
  /**
3020
3084
  * Construct Materialbox instance
3021
3085
  * @constructor
@@ -3025,36 +3089,36 @@ M.throttle = function (func, wait, options) {
3025
3089
  function Materialbox(el, options) {
3026
3090
  _classCallCheck(this, Materialbox);
3027
3091
 
3028
- // If exists, destroy and reinitialize
3029
- if (!!el.M_Materialbox) {
3030
- el.M_Materialbox.destroy();
3031
- }
3092
+ var _this14 = _possibleConstructorReturn(this, (Materialbox.__proto__ || Object.getPrototypeOf(Materialbox)).call(this, Materialbox, el, options));
3032
3093
 
3033
- this.el = el;
3034
- this.$el = $(el);
3035
- this.el.M_Materialbox = this;
3094
+ _this14.el.M_Materialbox = _this14;
3036
3095
 
3037
3096
  /**
3038
3097
  * Options for the modal
3039
3098
  * @member Materialbox#options
3040
3099
  * @prop {Number} [inDuration=275] - Length in ms of enter transition
3041
3100
  * @prop {Number} [outDuration=200] - Length in ms of exit transition
3101
+ * @prop {Function} onOpenStart - Callback function called before materialbox is opened
3102
+ * @prop {Function} onOpenEnd - Callback function called after materialbox is opened
3103
+ * @prop {Function} onCloseStart - Callback function called before materialbox is closed
3104
+ * @prop {Function} onCloseEnd - Callback function called after materialbox is closed
3042
3105
  */
3043
- this.options = $.extend({}, Materialbox.defaults, options);
3106
+ _this14.options = $.extend({}, Materialbox.defaults, options);
3044
3107
 
3045
- this.overlayActive = false;
3046
- this.doneAnimating = true;
3047
- this.placeholder = $('<div></div>').addClass('material-placeholder');
3048
- this.originalWidth = 0;
3049
- this.originalHeight = 0;
3050
- this.originInlineStyles = this.$el.attr('style');
3051
- this.caption = this.el.getAttribute('data-caption') || "";
3108
+ _this14.overlayActive = false;
3109
+ _this14.doneAnimating = true;
3110
+ _this14.placeholder = $('<div></div>').addClass('material-placeholder');
3111
+ _this14.originalWidth = 0;
3112
+ _this14.originalHeight = 0;
3113
+ _this14.originInlineStyles = _this14.$el.attr('style');
3114
+ _this14.caption = _this14.el.getAttribute('data-caption') || "";
3052
3115
 
3053
3116
  // Wrap
3054
- this.$el.before(this.placeholder);
3055
- this.placeholder.append(this.$el);
3117
+ _this14.$el.before(_this14.placeholder);
3118
+ _this14.placeholder.append(_this14.$el);
3056
3119
 
3057
- this._setupEventHandlers();
3120
+ _this14._setupEventHandlers();
3121
+ return _this14;
3058
3122
  }
3059
3123
 
3060
3124
  _createClass(Materialbox, [{
@@ -3174,7 +3238,7 @@ M.throttle = function (func, wait, options) {
3174
3238
  }, {
3175
3239
  key: "_animateImageIn",
3176
3240
  value: function _animateImageIn() {
3177
- var _this11 = this;
3241
+ var _this15 = this;
3178
3242
 
3179
3243
  var animOptions = {
3180
3244
  targets: this.el,
@@ -3185,7 +3249,12 @@ M.throttle = function (func, wait, options) {
3185
3249
  duration: this.options.inDuration,
3186
3250
  easing: 'easeOutQuad',
3187
3251
  complete: function () {
3188
- _this11.doneAnimating = true;
3252
+ _this15.doneAnimating = true;
3253
+
3254
+ // onOpenEnd callback
3255
+ if (typeof _this15.options.onOpenEnd === 'function') {
3256
+ _this15.options.onOpenEnd.call(_this15, _this15.el);
3257
+ }
3189
3258
  }
3190
3259
  };
3191
3260
 
@@ -3207,7 +3276,7 @@ M.throttle = function (func, wait, options) {
3207
3276
  }, {
3208
3277
  key: "_animateImageOut",
3209
3278
  value: function _animateImageOut() {
3210
- var _this12 = this;
3279
+ var _this16 = this;
3211
3280
 
3212
3281
  var animOptions = {
3213
3282
  targets: this.el,
@@ -3218,7 +3287,7 @@ M.throttle = function (func, wait, options) {
3218
3287
  duration: this.options.outDuration,
3219
3288
  easing: 'easeOutQuad',
3220
3289
  complete: function () {
3221
- _this12.placeholder.css({
3290
+ _this16.placeholder.css({
3222
3291
  height: '',
3223
3292
  width: '',
3224
3293
  position: '',
@@ -3226,16 +3295,21 @@ M.throttle = function (func, wait, options) {
3226
3295
  left: ''
3227
3296
  });
3228
3297
 
3229
- _this12.$el.removeAttr('style');
3230
- _this12.$el.attr('style', _this12.originInlineStyles);
3298
+ _this16.$el.removeAttr('style');
3299
+ _this16.$el.attr('style', _this16.originInlineStyles);
3231
3300
 
3232
3301
  // Remove class
3233
- _this12.$el.removeClass('active');
3234
- _this12.doneAnimating = true;
3302
+ _this16.$el.removeClass('active');
3303
+ _this16.doneAnimating = true;
3235
3304
 
3236
3305
  // Remove overflow overrides on ancestors
3237
- if (_this12.ancestorsChanged.length) {
3238
- _this12.ancestorsChanged.css('overflow', '');
3306
+ if (_this16.ancestorsChanged.length) {
3307
+ _this16.ancestorsChanged.css('overflow', '');
3308
+ }
3309
+
3310
+ // onCloseEnd callback
3311
+ if (typeof _this16.options.onCloseEnd === 'function') {
3312
+ _this16.options.onCloseEnd.call(_this16, _this16.el);
3239
3313
  }
3240
3314
  }
3241
3315
  };
@@ -3262,7 +3336,7 @@ M.throttle = function (func, wait, options) {
3262
3336
  }, {
3263
3337
  key: "open",
3264
3338
  value: function open() {
3265
- var _this13 = this;
3339
+ var _this17 = this;
3266
3340
 
3267
3341
  this._updateVars();
3268
3342
  this.originalWidth = this.el.getBoundingClientRect().width;
@@ -3273,6 +3347,11 @@ M.throttle = function (func, wait, options) {
3273
3347
  this.$el.addClass('active');
3274
3348
  this.overlayActive = true;
3275
3349
 
3350
+ // onOpenStart callback
3351
+ if (typeof this.options.onOpenStart === 'function') {
3352
+ this.options.onOpenStart.call(this, this.el);
3353
+ }
3354
+
3276
3355
  // Set positioning for placeholder
3277
3356
  this.placeholder.css({
3278
3357
  width: this.placeholder[0].getBoundingClientRect().width + 'px',
@@ -3295,8 +3374,8 @@ M.throttle = function (func, wait, options) {
3295
3374
  this.$overlay = $('<div id="materialbox-overlay"></div>').css({
3296
3375
  opacity: 0
3297
3376
  }).one('click', function () {
3298
- if (_this13.doneAnimating) {
3299
- _this13.close();
3377
+ if (_this17.doneAnimating) {
3378
+ _this17.close();
3300
3379
  }
3301
3380
  });
3302
3381
 
@@ -3378,11 +3457,16 @@ M.throttle = function (func, wait, options) {
3378
3457
  }, {
3379
3458
  key: "close",
3380
3459
  value: function close() {
3381
- var _this14 = this;
3460
+ var _this18 = this;
3382
3461
 
3383
3462
  this._updateVars();
3384
3463
  this.doneAnimating = false;
3385
3464
 
3465
+ // onCloseStart callback
3466
+ if (typeof this.options.onCloseStart === 'function') {
3467
+ this.options.onCloseStart.call(this, this.el);
3468
+ }
3469
+
3386
3470
  anim.remove(this.el);
3387
3471
  anim.remove(this.$overlay[0]);
3388
3472
 
@@ -3401,8 +3485,8 @@ M.throttle = function (func, wait, options) {
3401
3485
  duration: this.options.outDuration,
3402
3486
  easing: 'easeOutQuad',
3403
3487
  complete: function () {
3404
- _this14.overlayActive = false;
3405
- _this14.$overlay.remove();
3488
+ _this18.overlayActive = false;
3489
+ _this18.$overlay.remove();
3406
3490
  }
3407
3491
  });
3408
3492
 
@@ -3416,19 +3500,15 @@ M.throttle = function (func, wait, options) {
3416
3500
  duration: this.options.outDuration,
3417
3501
  easing: 'easeOutQuad',
3418
3502
  complete: function () {
3419
- _this14.$photoCaption.remove();
3503
+ _this18.$photoCaption.remove();
3420
3504
  }
3421
3505
  });
3422
3506
  }
3423
3507
  }
3424
3508
  }], [{
3425
3509
  key: "init",
3426
- value: function init($els, options) {
3427
- var arr = [];
3428
- $els.each(function () {
3429
- arr.push(new Materialbox(this, options));
3430
- });
3431
- return arr;
3510
+ value: function init(els, options) {
3511
+ return _get(Materialbox.__proto__ || Object.getPrototypeOf(Materialbox), "init", this).call(this, this, els, options);
3432
3512
  }
3433
3513
 
3434
3514
  /**
@@ -3449,40 +3529,46 @@ M.throttle = function (func, wait, options) {
3449
3529
  }]);
3450
3530
 
3451
3531
  return Materialbox;
3452
- }();
3532
+ }(Component);
3453
3533
 
3454
3534
  M.Materialbox = Materialbox;
3455
3535
 
3456
3536
  if (M.jQueryLoaded) {
3457
3537
  M.initializeJqueryWrapper(Materialbox, 'materialbox', 'M_Materialbox');
3458
3538
  }
3459
- })(cash, anime);
3539
+ })(cash, M.anime);
3460
3540
  ;(function ($) {
3461
3541
  'use strict';
3462
3542
 
3463
- var _defaults = {};
3543
+ var _defaults = {
3544
+ responsiveThreshold: 0 // breakpoint for swipeable
3545
+ };
3546
+
3547
+ var Parallax = function (_Component5) {
3548
+ _inherits(Parallax, _Component5);
3464
3549
 
3465
- var Parallax = function () {
3466
3550
  function Parallax(el, options) {
3467
3551
  _classCallCheck(this, Parallax);
3468
3552
 
3469
- // If exists, destroy and reinitialize
3470
- if (!!el.M_Parallax) {
3471
- el.M_Parallax.destroy();
3472
- }
3553
+ var _this19 = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, Parallax, el, options));
3473
3554
 
3474
- this.el = el;
3475
- this.$el = $(el);
3476
- this.el.M_Parallax = this;
3555
+ _this19.el.M_Parallax = _this19;
3477
3556
 
3478
- this.options = $.extend({}, Parallax.defaults, options);
3557
+ /**
3558
+ * Options for the Parallax
3559
+ * @member Parallax#options
3560
+ * @prop {Number} responsiveThreshold
3561
+ */
3562
+ _this19.options = $.extend({}, Parallax.defaults, options);
3479
3563
 
3480
- this.$img = this.$el.find('img').first();
3481
- this._updateParallax();
3482
- this._setupEventHandlers();
3483
- this._setupStyles();
3564
+ _this19.$img = _this19.$el.find('img').first();
3565
+ _this19._enabled = window.innerWidth > _this19.options.responsiveThreshold;
3566
+ _this19._updateParallax();
3567
+ _this19._setupEventHandlers();
3568
+ _this19._setupStyles();
3484
3569
 
3485
- Parallax._parallaxes.push(this);
3570
+ Parallax._parallaxes.push(_this19);
3571
+ return _this19;
3486
3572
  }
3487
3573
 
3488
3574
  _createClass(Parallax, [{
@@ -3492,7 +3578,13 @@ M.throttle = function (func, wait, options) {
3492
3578
  /**
3493
3579
  * Teardown component
3494
3580
  */
3495
- value: function destroy() {}
3581
+ value: function destroy() {
3582
+ Parallax._parallaxes.splice(Parallax._parallaxes.indexOf(this), 1);
3583
+ this.$img[0].style.transform = '';
3584
+ this._removeEventHandlers();
3585
+
3586
+ this.$el[0].M_Parallax = undefined;
3587
+ }
3496
3588
  }, {
3497
3589
  key: "_setupEventHandlers",
3498
3590
  value: function _setupEventHandlers() {
@@ -3502,6 +3594,19 @@ M.throttle = function (func, wait, options) {
3502
3594
  if (Parallax._parallaxes.length === 0) {
3503
3595
  Parallax._handleScrollThrottled = M.throttle(Parallax._handleScroll, 5);
3504
3596
  window.addEventListener('scroll', Parallax._handleScrollThrottled);
3597
+
3598
+ Parallax._handleWindowResizeThrottled = M.throttle(Parallax._handleWindowResize, 5);
3599
+ window.addEventListener('resize', Parallax._handleWindowResizeThrottled);
3600
+ }
3601
+ }
3602
+ }, {
3603
+ key: "_removeEventHandlers",
3604
+ value: function _removeEventHandlers() {
3605
+ this.$img[0].removeEventListener('load', this._handleImageLoadBound);
3606
+
3607
+ if (Parallax._parallaxes.length === 0) {
3608
+ window.removeEventListener('scroll', Parallax._handleScrollThrottled);
3609
+ window.removeEventListener('resize', Parallax._handleWindowResizeThrottled);
3505
3610
  }
3506
3611
  }
3507
3612
  }, {
@@ -3532,18 +3637,16 @@ M.throttle = function (func, wait, options) {
3532
3637
  var percentScrolled = (windowBottom - top) / (containerHeight + windowHeight);
3533
3638
  var parallax = parallaxDist * percentScrolled;
3534
3639
 
3535
- if (bottom > scrollTop && top < scrollTop + windowHeight) {
3640
+ if (!this._enabled) {
3641
+ this.$img[0].style.transform = '';
3642
+ } else if (bottom > scrollTop && top < scrollTop + windowHeight) {
3536
3643
  this.$img[0].style.transform = "translate3D(-50%, " + parallax + "px, 0)";
3537
3644
  }
3538
3645
  }
3539
3646
  }], [{
3540
3647
  key: "init",
3541
- value: function init($els, options) {
3542
- var arr = [];
3543
- $els.each(function () {
3544
- arr.push(new Parallax(this, options));
3545
- });
3546
- return arr;
3648
+ value: function init(els, options) {
3649
+ return _get(Parallax.__proto__ || Object.getPrototypeOf(Parallax), "init", this).call(this, this, els, options);
3547
3650
  }
3548
3651
 
3549
3652
  /**
@@ -3564,6 +3667,14 @@ M.throttle = function (func, wait, options) {
3564
3667
  parallaxInstance._updateParallax.call(parallaxInstance);
3565
3668
  }
3566
3669
  }
3670
+ }, {
3671
+ key: "_handleWindowResize",
3672
+ value: function _handleWindowResize() {
3673
+ for (var i = 0; i < Parallax._parallaxes.length; i++) {
3674
+ var parallaxInstance = Parallax._parallaxes[i];
3675
+ parallaxInstance._enabled = window.innerWidth > parallaxInstance.options.responsiveThreshold;
3676
+ }
3677
+ }
3567
3678
  }, {
3568
3679
  key: "defaults",
3569
3680
  get: function () {
@@ -3572,7 +3683,7 @@ M.throttle = function (func, wait, options) {
3572
3683
  }]);
3573
3684
 
3574
3685
  return Parallax;
3575
- }();
3686
+ }(Component);
3576
3687
 
3577
3688
  /**
3578
3689
  * @static
@@ -3603,7 +3714,9 @@ M.throttle = function (func, wait, options) {
3603
3714
  *
3604
3715
  */
3605
3716
 
3606
- var Tabs = function () {
3717
+ var Tabs = function (_Component6) {
3718
+ _inherits(Tabs, _Component6);
3719
+
3607
3720
  /**
3608
3721
  * Construct Tabs instance
3609
3722
  * @constructor
@@ -3613,18 +3726,9 @@ M.throttle = function (func, wait, options) {
3613
3726
  function Tabs(el, options) {
3614
3727
  _classCallCheck(this, Tabs);
3615
3728
 
3616
- // If exists, destroy and reinitialize
3617
- if (!!el.M_Tabs) {
3618
- el.M_Tabs.destroy();
3619
- }
3620
-
3621
- /**
3622
- * The jQuery element
3623
- * @type {jQuery}
3624
- */
3625
- this.$el = $(el);
3729
+ var _this20 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, Tabs, el, options));
3626
3730
 
3627
- this.el = el;
3731
+ _this20.el.M_Tabs = _this20;
3628
3732
 
3629
3733
  /**
3630
3734
  * Options for the Tabs
@@ -3634,24 +3738,23 @@ M.throttle = function (func, wait, options) {
3634
3738
  * @prop {Boolean} swipeable
3635
3739
  * @prop {Number} responsiveThreshold
3636
3740
  */
3637
- this.options = $.extend({}, Tabs.defaults, options);
3638
-
3639
- this.el.M_Tabs = this;
3741
+ _this20.options = $.extend({}, Tabs.defaults, options);
3640
3742
 
3641
3743
  // Setup
3642
- this.$tabLinks = this.$el.children('li.tab').children('a');
3643
- this.index = 0;
3644
- this._setTabsAndTabWidth();
3645
- this._setupActiveTabLink();
3646
- this._createIndicator();
3647
-
3648
- if (this.options.swipeable) {
3649
- this._setupSwipeableTabs();
3744
+ _this20.$tabLinks = _this20.$el.children('li.tab').children('a');
3745
+ _this20.index = 0;
3746
+ _this20._setTabsAndTabWidth();
3747
+ _this20._setupActiveTabLink();
3748
+ _this20._createIndicator();
3749
+
3750
+ if (_this20.options.swipeable) {
3751
+ _this20._setupSwipeableTabs();
3650
3752
  } else {
3651
- this._setupNormalTabs();
3753
+ _this20._setupNormalTabs();
3652
3754
  }
3653
3755
 
3654
- this._setupEventHandlers();
3756
+ _this20._setupEventHandlers();
3757
+ return _this20;
3655
3758
  }
3656
3759
 
3657
3760
  _createClass(Tabs, [{
@@ -3722,7 +3825,7 @@ M.throttle = function (func, wait, options) {
3722
3825
  }, {
3723
3826
  key: "_handleTabClick",
3724
3827
  value: function _handleTabClick(e) {
3725
- var _this15 = this;
3828
+ var _this21 = this;
3726
3829
 
3727
3830
  var tab = $(e.target).closest('li.tab');
3728
3831
  var tabLink = $(e.target).closest('a');
@@ -3762,8 +3865,8 @@ M.throttle = function (func, wait, options) {
3762
3865
  if (this.options.swipeable) {
3763
3866
  if (this._tabsCarousel) {
3764
3867
  this._tabsCarousel.set(this.index, function () {
3765
- if (typeof _this15.options.onShow === "function") {
3766
- _this15.options.onShow.call(_this15, _this15.$content[0]);
3868
+ if (typeof _this21.options.onShow === "function") {
3869
+ _this21.options.onShow.call(_this21, _this21.$content[0]);
3767
3870
  }
3768
3871
  });
3769
3872
  }
@@ -3796,7 +3899,7 @@ M.throttle = function (func, wait, options) {
3796
3899
  }, {
3797
3900
  key: "_createIndicator",
3798
3901
  value: function _createIndicator() {
3799
- var _this16 = this;
3902
+ var _this22 = this;
3800
3903
 
3801
3904
  var indicator = document.createElement('li');
3802
3905
  indicator.classList.add('indicator');
@@ -3805,8 +3908,8 @@ M.throttle = function (func, wait, options) {
3805
3908
  this._indicator = indicator;
3806
3909
 
3807
3910
  setTimeout(function () {
3808
- _this16._indicator.style.left = _this16._calcLeftPos(_this16.$activeTabLink) + 'px';
3809
- _this16._indicator.style.right = _this16._calcRightPos(_this16.$activeTabLink) + 'px';
3911
+ _this22._indicator.style.left = _this22._calcLeftPos(_this22.$activeTabLink) + 'px';
3912
+ _this22._indicator.style.right = _this22._calcRightPos(_this22.$activeTabLink) + 'px';
3810
3913
  }, 0);
3811
3914
  }
3812
3915
 
@@ -3846,7 +3949,7 @@ M.throttle = function (func, wait, options) {
3846
3949
  }, {
3847
3950
  key: "_setupSwipeableTabs",
3848
3951
  value: function _setupSwipeableTabs() {
3849
- var _this17 = this;
3952
+ var _this23 = this;
3850
3953
 
3851
3954
  // Change swipeable according to responsive threshold
3852
3955
  if (window.innerWidth > this.options.responsiveThreshold) {
@@ -3865,18 +3968,18 @@ M.throttle = function (func, wait, options) {
3865
3968
  $tabsWrapper.append($tabsContent);
3866
3969
  $tabsContent[0].style.display = '';
3867
3970
 
3868
- this._tabsCarousel = new M.Carousel($tabsWrapper[0], {
3971
+ this._tabsCarousel = M.Carousel.init($tabsWrapper[0], {
3869
3972
  fullWidth: true,
3870
3973
  noWrap: true,
3871
3974
  onCycleTo: function (item) {
3872
- var prevIndex = _this17.index;
3873
- _this17.index = $(item).index();
3874
- _this17.$activeTabLink.removeClass('active');
3875
- _this17.$activeTabLink = _this17.$tabLinks.eq(_this17.index);
3876
- _this17.$activeTabLink.addClass('active');
3877
- _this17._animateIndicator(prevIndex);
3878
- if (typeof _this17.options.onShow === "function") {
3879
- _this17.options.onShow.call(_this17, _this17.$content[0]);
3975
+ var prevIndex = _this23.index;
3976
+ _this23.index = $(item).index();
3977
+ _this23.$activeTabLink.removeClass('active');
3978
+ _this23.$activeTabLink = _this23.$tabLinks.eq(_this23.index);
3979
+ _this23.$activeTabLink.addClass('active');
3980
+ _this23._animateIndicator(prevIndex);
3981
+ if (typeof _this23.options.onShow === "function") {
3982
+ _this23.options.onShow.call(_this23, _this23.$content[0]);
3880
3983
  }
3881
3984
  }
3882
3985
  });
@@ -4016,18 +4119,13 @@ M.throttle = function (func, wait, options) {
4016
4119
  value: function select(tabId) {
4017
4120
  var tab = this.$tabLinks.filter('[href="#' + tabId + '"]');
4018
4121
  if (tab.length) {
4019
- 4;
4020
4122
  tab.trigger('click');
4021
4123
  }
4022
4124
  }
4023
4125
  }], [{
4024
4126
  key: "init",
4025
- value: function init($els, options) {
4026
- var arr = [];
4027
- $els.each(function () {
4028
- arr.push(new Tabs(this, options));
4029
- });
4030
- return arr;
4127
+ value: function init(els, options) {
4128
+ return _get(Tabs.__proto__ || Object.getPrototypeOf(Tabs), "init", this).call(this, this, els, options);
4031
4129
  }
4032
4130
 
4033
4131
  /**
@@ -4048,14 +4146,14 @@ M.throttle = function (func, wait, options) {
4048
4146
  }]);
4049
4147
 
4050
4148
  return Tabs;
4051
- }();
4149
+ }(Component);
4052
4150
 
4053
4151
  window.M.Tabs = Tabs;
4054
4152
 
4055
4153
  if (M.jQueryLoaded) {
4056
4154
  M.initializeJqueryWrapper(Tabs, 'tabs', 'M_Tabs');
4057
4155
  }
4058
- })(cash, anime);
4156
+ })(cash, M.anime);
4059
4157
  ;(function ($, anim) {
4060
4158
  'use strict';
4061
4159
 
@@ -4075,7 +4173,9 @@ M.throttle = function (func, wait, options) {
4075
4173
  *
4076
4174
  */
4077
4175
 
4078
- var Tooltip = function () {
4176
+ var Tooltip = function (_Component7) {
4177
+ _inherits(Tooltip, _Component7);
4178
+
4079
4179
  /**
4080
4180
  * Construct Tooltip instance
4081
4181
  * @constructor
@@ -4085,20 +4185,16 @@ M.throttle = function (func, wait, options) {
4085
4185
  function Tooltip(el, options) {
4086
4186
  _classCallCheck(this, Tooltip);
4087
4187
 
4088
- // If exists, destroy and reinitialize
4089
- if (!!el.M_Tooltip) {
4090
- el.M_Tooltip.destroy();
4091
- }
4188
+ var _this24 = _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, Tooltip, el, options));
4092
4189
 
4093
- this.el = el;
4094
- this.$el = $(el);
4095
- this.el.M_Tooltip = this;
4096
- this.options = $.extend({}, Tooltip.defaults, options);
4190
+ _this24.el.M_Tooltip = _this24;
4191
+ _this24.options = $.extend({}, Tooltip.defaults, options);
4097
4192
 
4098
- this.isOpen = false;
4099
- this.isHovered = false;
4100
- this._appendTooltipEl();
4101
- this._setupEventHandlers();
4193
+ _this24.isOpen = false;
4194
+ _this24.isHovered = false;
4195
+ _this24._appendTooltipEl();
4196
+ _this24._setupEventHandlers();
4197
+ return _this24;
4102
4198
  }
4103
4199
 
4104
4200
  _createClass(Tooltip, [{
@@ -4170,22 +4266,22 @@ M.throttle = function (func, wait, options) {
4170
4266
  }
4171
4267
 
4172
4268
  /**
4173
- * Create timeout which delays when the tooltip closes
4174
- */
4269
+ * Create timeout which delays when the tooltip closes
4270
+ */
4175
4271
 
4176
4272
  }, {
4177
4273
  key: "_setExitDelayTimeout",
4178
4274
  value: function _setExitDelayTimeout() {
4179
- var _this18 = this;
4275
+ var _this25 = this;
4180
4276
 
4181
4277
  clearTimeout(this._exitDelayTimeout);
4182
4278
 
4183
4279
  this._exitDelayTimeout = setTimeout(function () {
4184
- if (_this18.isHovered) {
4280
+ if (_this25.isHovered) {
4185
4281
  return;
4186
- } else {
4187
- _this18._animateOut();
4188
4282
  }
4283
+
4284
+ _this25._animateOut();
4189
4285
  }, this.options.exitDelay);
4190
4286
  }
4191
4287
 
@@ -4196,16 +4292,16 @@ M.throttle = function (func, wait, options) {
4196
4292
  }, {
4197
4293
  key: "_setEnterDelayTimeout",
4198
4294
  value: function _setEnterDelayTimeout() {
4199
- var _this19 = this;
4295
+ var _this26 = this;
4200
4296
 
4201
4297
  clearTimeout(this._enterDelayTimeout);
4202
4298
 
4203
4299
  this._enterDelayTimeout = setTimeout(function () {
4204
- if (!_this19.isHovered) {
4300
+ if (!_this26.isHovered) {
4205
4301
  return;
4206
- } else {
4207
- _this19._animateIn();
4208
4302
  }
4303
+
4304
+ _this26._animateIn();
4209
4305
  }, this.options.enterDelay);
4210
4306
  }
4211
4307
  }, {
@@ -4281,7 +4377,10 @@ M.throttle = function (func, wait, options) {
4281
4377
  newY -= newY + height - window.innerHeight;
4282
4378
  }
4283
4379
 
4284
- return { x: newX + scrollLeft, y: newY + scrollTop };
4380
+ return {
4381
+ x: newX + scrollLeft,
4382
+ y: newY + scrollTop
4383
+ };
4285
4384
  }
4286
4385
  }, {
4287
4386
  key: "_animateIn",
@@ -4341,12 +4440,8 @@ M.throttle = function (func, wait, options) {
4341
4440
  }
4342
4441
  }], [{
4343
4442
  key: "init",
4344
- value: function init($els, options) {
4345
- var arr = [];
4346
- $els.each(function () {
4347
- arr.push(new Tooltip(this, options));
4348
- });
4349
- return arr;
4443
+ value: function init(els, options) {
4444
+ return _get(Tooltip.__proto__ || Object.getPrototypeOf(Tooltip), "init", this).call(this, this, els, options);
4350
4445
  }
4351
4446
 
4352
4447
  /**
@@ -4367,14 +4462,14 @@ M.throttle = function (func, wait, options) {
4367
4462
  }]);
4368
4463
 
4369
4464
  return Tooltip;
4370
- }();
4465
+ }(Component);
4371
4466
 
4372
4467
  M.Tooltip = Tooltip;
4373
4468
 
4374
4469
  if (M.jQueryLoaded) {
4375
4470
  M.initializeJqueryWrapper(Tooltip, 'tooltip', 'M_Tooltip');
4376
4471
  }
4377
- })(cash, anime);
4472
+ })(cash, M.anime);
4378
4473
  ; /*!
4379
4474
  * Waves v0.6.4
4380
4475
  * http://fian.my.id/Waves
@@ -4815,18 +4910,18 @@ M.throttle = function (func, wait, options) {
4815
4910
  }, {
4816
4911
  key: "_setTimer",
4817
4912
  value: function _setTimer() {
4818
- var _this20 = this;
4913
+ var _this27 = this;
4819
4914
 
4820
4915
  if (this.timeRemaining !== Infinity) {
4821
4916
  this.counterInterval = setInterval(function () {
4822
4917
  // If toast is not being dragged, decrease its time remaining
4823
- if (!_this20.panning) {
4824
- _this20.timeRemaining -= 20;
4918
+ if (!_this27.panning) {
4919
+ _this27.timeRemaining -= 20;
4825
4920
  }
4826
4921
 
4827
4922
  // Animate toast out
4828
- if (_this20.timeRemaining <= 0) {
4829
- _this20.dismiss();
4923
+ if (_this27.timeRemaining <= 0) {
4924
+ _this27.dismiss();
4830
4925
  }
4831
4926
  }, 20);
4832
4927
  }
@@ -4839,7 +4934,7 @@ M.throttle = function (func, wait, options) {
4839
4934
  }, {
4840
4935
  key: "dismiss",
4841
4936
  value: function dismiss() {
4842
- var _this21 = this;
4937
+ var _this28 = this;
4843
4938
 
4844
4939
  window.clearInterval(this.counterInterval);
4845
4940
  var activationDistance = this.el.offsetWidth * this.options.activationPercent;
@@ -4858,12 +4953,12 @@ M.throttle = function (func, wait, options) {
4858
4953
  easing: 'easeOutExpo',
4859
4954
  complete: function () {
4860
4955
  // Call the optional callback
4861
- if (typeof _this21.options.completeCallback === 'function') {
4862
- _this21.options.completeCallback();
4956
+ if (typeof _this28.options.completeCallback === 'function') {
4957
+ _this28.options.completeCallback();
4863
4958
  }
4864
4959
  // Remove toast from DOM
4865
- _this21.el.parentNode.removeChild(_this21.el);
4866
- Toast._toasts.splice(Toast._toasts.indexOf(_this21), 1);
4960
+ _this28.el.parentNode.removeChild(_this28.el);
4961
+ Toast._toasts.splice(Toast._toasts.indexOf(_this28), 1);
4867
4962
  if (Toast._toasts.length === 0) {
4868
4963
  Toast._removeContainer();
4869
4964
  }
@@ -5057,7 +5152,7 @@ M.throttle = function (func, wait, options) {
5057
5152
  M.toast = function (options) {
5058
5153
  return new Toast(options);
5059
5154
  };
5060
- })(cash, anime);
5155
+ })(cash, M.anime);
5061
5156
  ;(function ($, anim) {
5062
5157
  'use strict';
5063
5158
 
@@ -5076,7 +5171,9 @@ M.throttle = function (func, wait, options) {
5076
5171
  * @class
5077
5172
  */
5078
5173
 
5079
- var Sidenav = function () {
5174
+ var Sidenav = function (_Component8) {
5175
+ _inherits(Sidenav, _Component8);
5176
+
5080
5177
  /**
5081
5178
  * Construct Sidenav instance and set up overlay
5082
5179
  * @constructor
@@ -5086,15 +5183,10 @@ M.throttle = function (func, wait, options) {
5086
5183
  function Sidenav(el, options) {
5087
5184
  _classCallCheck(this, Sidenav);
5088
5185
 
5089
- // If exists, destroy and reinitialize
5090
- if (!!el.M_Sidenav) {
5091
- el.M_Sidenav.destroy();
5092
- }
5186
+ var _this29 = _possibleConstructorReturn(this, (Sidenav.__proto__ || Object.getPrototypeOf(Sidenav)).call(this, Sidenav, el, options));
5093
5187
 
5094
- this.el = el;
5095
- this.$el = $(el);
5096
- this.el.M_Sidenav = this;
5097
- this.id = this.$el.attr('id');
5188
+ _this29.el.M_Sidenav = _this29;
5189
+ _this29.id = _this29.$el.attr('id');
5098
5190
 
5099
5191
  /**
5100
5192
  * Options for the Sidenav
@@ -5108,33 +5200,34 @@ M.throttle = function (func, wait, options) {
5108
5200
  * @prop {Function} onCloseStart - Function called when sidenav starts exiting
5109
5201
  * @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
5110
5202
  */
5111
- this.options = $.extend({}, Sidenav.defaults, options);
5203
+ _this29.options = $.extend({}, Sidenav.defaults, options);
5112
5204
 
5113
5205
  /**
5114
5206
  * Describes open/close state of Sidenav
5115
5207
  * @type {Boolean}
5116
5208
  */
5117
- this.isOpen = false;
5209
+ _this29.isOpen = false;
5118
5210
 
5119
5211
  /**
5120
5212
  * Describes if Sidenav is fixed
5121
5213
  * @type {Boolean}
5122
5214
  */
5123
- this.isFixed = this.el.classList.contains('sidenav-fixed');
5215
+ _this29.isFixed = _this29.el.classList.contains('sidenav-fixed');
5124
5216
 
5125
5217
  /**
5126
5218
  * Describes if Sidenav is being draggeed
5127
5219
  * @type {Boolean}
5128
5220
  */
5129
- this.isDragged = false;
5221
+ _this29.isDragged = false;
5130
5222
 
5131
- this._createOverlay();
5132
- this._createDragTarget();
5133
- this._setupEventHandlers();
5134
- this._setupClasses();
5135
- this._setupFixed();
5223
+ _this29._createOverlay();
5224
+ _this29._createDragTarget();
5225
+ _this29._setupEventHandlers();
5226
+ _this29._setupClasses();
5227
+ _this29._setupFixed();
5136
5228
 
5137
- Sidenav._sidenavs.push(this);
5229
+ Sidenav._sidenavs.push(_this29);
5230
+ return _this29;
5138
5231
  }
5139
5232
 
5140
5233
  _createClass(Sidenav, [{
@@ -5539,7 +5632,7 @@ M.throttle = function (func, wait, options) {
5539
5632
  }, {
5540
5633
  key: "_animateSidenavIn",
5541
5634
  value: function _animateSidenavIn() {
5542
- var _this22 = this;
5635
+ var _this30 = this;
5543
5636
 
5544
5637
  var slideOutPercent = this.options.edge === 'left' ? -1 : 1;
5545
5638
  if (this.isDragged) {
@@ -5554,8 +5647,8 @@ M.throttle = function (func, wait, options) {
5554
5647
  easing: 'easeOutQuad',
5555
5648
  complete: function () {
5556
5649
  // Run onOpenEnd callback
5557
- if (typeof _this22.options.onOpenEnd === 'function') {
5558
- _this22.options.onOpenEnd.call(_this22, _this22.el);
5650
+ if (typeof _this30.options.onOpenEnd === 'function') {
5651
+ _this30.options.onOpenEnd.call(_this30, _this30.el);
5559
5652
  }
5560
5653
  }
5561
5654
  });
@@ -5589,7 +5682,7 @@ M.throttle = function (func, wait, options) {
5589
5682
  }, {
5590
5683
  key: "_animateSidenavOut",
5591
5684
  value: function _animateSidenavOut() {
5592
- var _this23 = this;
5685
+ var _this31 = this;
5593
5686
 
5594
5687
  var endPercent = this.options.edge === 'left' ? -1 : 1;
5595
5688
  var slideOutPercent = 0;
@@ -5605,8 +5698,8 @@ M.throttle = function (func, wait, options) {
5605
5698
  easing: 'easeOutQuad',
5606
5699
  complete: function () {
5607
5700
  // Run onOpenEnd callback
5608
- if (typeof _this23.options.onCloseEnd === 'function') {
5609
- _this23.options.onCloseEnd.call(_this23, _this23.el);
5701
+ if (typeof _this31.options.onCloseEnd === 'function') {
5702
+ _this31.options.onCloseEnd.call(_this31, _this31.el);
5610
5703
  }
5611
5704
  }
5612
5705
  });
@@ -5614,7 +5707,7 @@ M.throttle = function (func, wait, options) {
5614
5707
  }, {
5615
5708
  key: "_animateOverlayOut",
5616
5709
  value: function _animateOverlayOut() {
5617
- var _this24 = this;
5710
+ var _this32 = this;
5618
5711
 
5619
5712
  anim.remove(this._overlay);
5620
5713
  anim({
@@ -5623,18 +5716,14 @@ M.throttle = function (func, wait, options) {
5623
5716
  duration: this.options.outDuration,
5624
5717
  easing: 'easeOutQuad',
5625
5718
  complete: function () {
5626
- $(_this24._overlay).css('display', 'none');
5719
+ $(_this32._overlay).css('display', 'none');
5627
5720
  }
5628
5721
  });
5629
5722
  }
5630
5723
  }], [{
5631
5724
  key: "init",
5632
- value: function init($els, options) {
5633
- var arr = [];
5634
- $els.each(function () {
5635
- arr.push(new Sidenav(this, options));
5636
- });
5637
- return arr;
5725
+ value: function init(els, options) {
5726
+ return _get(Sidenav.__proto__ || Object.getPrototypeOf(Sidenav), "init", this).call(this, this, els, options);
5638
5727
  }
5639
5728
 
5640
5729
  /**
@@ -5655,7 +5744,7 @@ M.throttle = function (func, wait, options) {
5655
5744
  }]);
5656
5745
 
5657
5746
  return Sidenav;
5658
- }();
5747
+ }(Component);
5659
5748
 
5660
5749
  /**
5661
5750
  * @static
@@ -5671,7 +5760,7 @@ M.throttle = function (func, wait, options) {
5671
5760
  if (M.jQueryLoaded) {
5672
5761
  M.initializeJqueryWrapper(Sidenav, 'sidenav', 'M_Sidenav');
5673
5762
  }
5674
- })(cash, anime);
5763
+ })(cash, M.anime);
5675
5764
  ;(function ($, anim) {
5676
5765
  'use strict';
5677
5766
 
@@ -5689,7 +5778,9 @@ M.throttle = function (func, wait, options) {
5689
5778
  *
5690
5779
  */
5691
5780
 
5692
- var ScrollSpy = function () {
5781
+ var ScrollSpy = function (_Component9) {
5782
+ _inherits(ScrollSpy, _Component9);
5783
+
5693
5784
  /**
5694
5785
  * Construct ScrollSpy instance
5695
5786
  * @constructor
@@ -5699,14 +5790,9 @@ M.throttle = function (func, wait, options) {
5699
5790
  function ScrollSpy(el, options) {
5700
5791
  _classCallCheck(this, ScrollSpy);
5701
5792
 
5702
- // If exists, destroy and reinitialize
5703
- if (!!el.M_ScrollSpy) {
5704
- el.M_ScrollSpy.destroy();
5705
- }
5793
+ var _this33 = _possibleConstructorReturn(this, (ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy)).call(this, ScrollSpy, el, options));
5706
5794
 
5707
- this.el = el;
5708
- this.$el = $(el);
5709
- this.el.M_ScrollSpy = this;
5795
+ _this33.el.M_ScrollSpy = _this33;
5710
5796
 
5711
5797
  /**
5712
5798
  * Options for the modal
@@ -5716,16 +5802,17 @@ M.throttle = function (func, wait, options) {
5716
5802
  * @prop {String} [activeClass='active'] - Class applied to active elements
5717
5803
  * @prop {Function} [getActiveElement] - Used to find active element
5718
5804
  */
5719
- this.options = $.extend({}, ScrollSpy.defaults, options);
5805
+ _this33.options = $.extend({}, ScrollSpy.defaults, options);
5720
5806
 
5721
5807
  // setup
5722
- ScrollSpy._elements.push(this);
5808
+ ScrollSpy._elements.push(_this33);
5723
5809
  ScrollSpy._count++;
5724
5810
  ScrollSpy._increment++;
5725
- this.tickId = -1;
5726
- this.id = ScrollSpy._increment;
5727
- this._setupEventHandlers();
5728
- this._handleWindowScroll();
5811
+ _this33.tickId = -1;
5812
+ _this33.id = ScrollSpy._increment;
5813
+ _this33._setupEventHandlers();
5814
+ _this33._handleWindowScroll();
5815
+ return _this33;
5729
5816
  }
5730
5817
 
5731
5818
  _createClass(ScrollSpy, [{
@@ -5878,7 +5965,7 @@ M.throttle = function (func, wait, options) {
5878
5965
  }, {
5879
5966
  key: "_exit",
5880
5967
  value: function _exit() {
5881
- var _this25 = this;
5968
+ var _this34 = this;
5882
5969
 
5883
5970
  ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
5884
5971
  return value.height() != 0;
@@ -5888,7 +5975,7 @@ M.throttle = function (func, wait, options) {
5888
5975
  $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
5889
5976
 
5890
5977
  ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (el) {
5891
- return el.attr('id') != _this25.$el.attr('id');
5978
+ return el.attr('id') != _this34.$el.attr('id');
5892
5979
  });
5893
5980
  if (ScrollSpy._visibleElements[0]) {
5894
5981
  // Check if empty
@@ -5898,12 +5985,8 @@ M.throttle = function (func, wait, options) {
5898
5985
  }
5899
5986
  }], [{
5900
5987
  key: "init",
5901
- value: function init($els, options) {
5902
- var arr = [];
5903
- $els.each(function () {
5904
- arr.push(new ScrollSpy(this, options));
5905
- });
5906
- return arr;
5988
+ value: function init(els, options) {
5989
+ return _get(ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy), "init", this).call(this, this, els, options);
5907
5990
  }
5908
5991
 
5909
5992
  /**
@@ -5947,7 +6030,7 @@ M.throttle = function (func, wait, options) {
5947
6030
  }]);
5948
6031
 
5949
6032
  return ScrollSpy;
5950
- }();
6033
+ }(Component);
5951
6034
 
5952
6035
  /**
5953
6036
  * @static
@@ -5995,7 +6078,7 @@ M.throttle = function (func, wait, options) {
5995
6078
  if (M.jQueryLoaded) {
5996
6079
  M.initializeJqueryWrapper(ScrollSpy, 'scrollSpy', 'M_ScrollSpy');
5997
6080
  }
5998
- })(cash, anime);
6081
+ })(cash, M.anime);
5999
6082
  ;(function ($) {
6000
6083
  'use strict';
6001
6084
 
@@ -6015,7 +6098,9 @@ M.throttle = function (func, wait, options) {
6015
6098
  *
6016
6099
  */
6017
6100
 
6018
- var Autocomplete = function () {
6101
+ var Autocomplete = function (_Component10) {
6102
+ _inherits(Autocomplete, _Component10);
6103
+
6019
6104
  /**
6020
6105
  * Construct Autocomplete instance
6021
6106
  * @constructor
@@ -6025,14 +6110,9 @@ M.throttle = function (func, wait, options) {
6025
6110
  function Autocomplete(el, options) {
6026
6111
  _classCallCheck(this, Autocomplete);
6027
6112
 
6028
- // If exists, destroy and reinitialize
6029
- if (!!el.M_Autocomplete) {
6030
- el.M_Autocomplete.destroy();
6031
- }
6113
+ var _this35 = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, Autocomplete, el, options));
6032
6114
 
6033
- this.el = el;
6034
- this.$el = $(el);
6035
- this.el.M_Autocomplete = this;
6115
+ _this35.el.M_Autocomplete = _this35;
6036
6116
 
6037
6117
  /**
6038
6118
  * Options for the autocomplete
@@ -6046,18 +6126,19 @@ M.throttle = function (func, wait, options) {
6046
6126
  * @prop {Boolean} noWrap
6047
6127
  * @prop {Function} onCycleTo
6048
6128
  */
6049
- this.options = $.extend({}, Autocomplete.defaults, options);
6129
+ _this35.options = $.extend({}, Autocomplete.defaults, options);
6050
6130
 
6051
6131
  // Setup
6052
- this.isOpen = false;
6053
- this.count = 0;
6054
- this.activeIndex = -1;
6055
- this.oldVal;
6056
- this.$inputField = this.$el.closest('.input-field');
6057
- this.$active = $();
6058
- this._setupDropdown();
6059
-
6060
- this._setupEventHandlers();
6132
+ _this35.isOpen = false;
6133
+ _this35.count = 0;
6134
+ _this35.activeIndex = -1;
6135
+ _this35.oldVal;
6136
+ _this35.$inputField = _this35.$el.closest('.input-field');
6137
+ _this35.$active = $();
6138
+ _this35._setupDropdown();
6139
+
6140
+ _this35._setupEventHandlers();
6141
+ return _this35;
6061
6142
  }
6062
6143
 
6063
6144
  _createClass(Autocomplete, [{
@@ -6308,7 +6389,7 @@ M.throttle = function (func, wait, options) {
6308
6389
  }, {
6309
6390
  key: "_renderDropdown",
6310
6391
  value: function _renderDropdown(data, val) {
6311
- var _this26 = this;
6392
+ var _this36 = this;
6312
6393
 
6313
6394
  this._removeAutocomplete();
6314
6395
 
@@ -6334,7 +6415,7 @@ M.throttle = function (func, wait, options) {
6334
6415
 
6335
6416
  // Sort
6336
6417
  var sortFunctionBound = function (a, b) {
6337
- return _this26.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
6418
+ return _this36.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
6338
6419
  };
6339
6420
  matchingData.sort(sortFunctionBound);
6340
6421
 
@@ -6370,12 +6451,8 @@ M.throttle = function (func, wait, options) {
6370
6451
  }
6371
6452
  }], [{
6372
6453
  key: "init",
6373
- value: function init($els, options) {
6374
- var arr = [];
6375
- $els.each(function () {
6376
- arr.push(new Autocomplete(this, options));
6377
- });
6378
- return arr;
6454
+ value: function init(els, options) {
6455
+ return _get(Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete), "init", this).call(this, this, els, options);
6379
6456
  }
6380
6457
 
6381
6458
  /**
@@ -6396,7 +6473,7 @@ M.throttle = function (func, wait, options) {
6396
6473
  }]);
6397
6474
 
6398
6475
  return Autocomplete;
6399
- }();
6476
+ }(Component);
6400
6477
 
6401
6478
  /**
6402
6479
  * @static
@@ -6453,6 +6530,11 @@ M.throttle = function (func, wait, options) {
6453
6530
  };
6454
6531
 
6455
6532
  M.textareaAutoResize = function ($textarea) {
6533
+ // Wrap if native element
6534
+ if ($textarea instanceof Element) {
6535
+ $textarea = $($textarea);
6536
+ }
6537
+
6456
6538
  // Textarea Auto Resize
6457
6539
  var hiddenDiv = $('.hiddendiv').first();
6458
6540
  if (!hiddenDiv.length) {
@@ -6618,11 +6700,12 @@ M.throttle = function (func, wait, options) {
6618
6700
  $(text_area_selector).each(function () {
6619
6701
  var $textarea = $(this);
6620
6702
  /**
6621
- * Instead of resizing textarea on document load,
6622
- * store the original height and the original length
6703
+ * Resize textarea on document load after storing
6704
+ * the original height and the original length
6623
6705
  */
6624
6706
  $textarea.data('original-height', $textarea.height());
6625
6707
  $textarea.data('previous-length', this.value.length);
6708
+ M.textareaAutoResize($textarea);
6626
6709
  });
6627
6710
 
6628
6711
  $(document).on('keyup', text_area_selector, function () {
@@ -6631,9 +6714,6 @@ M.throttle = function (func, wait, options) {
6631
6714
  $(document).on('keydown', text_area_selector, function () {
6632
6715
  M.textareaAutoResize($(this));
6633
6716
  });
6634
- $(document).on('autoresize', text_area_selector, function () {
6635
- M.textareaAutoResize($(this));
6636
- });
6637
6717
 
6638
6718
  // File Input Path
6639
6719
  $(document).on('change', '.file-field input[type="file"]', function () {
@@ -6664,7 +6744,9 @@ M.throttle = function (func, wait, options) {
6664
6744
  *
6665
6745
  */
6666
6746
 
6667
- var Slider = function () {
6747
+ var Slider = function (_Component11) {
6748
+ _inherits(Slider, _Component11);
6749
+
6668
6750
  /**
6669
6751
  * Construct Slider instance and set up overlay
6670
6752
  * @constructor
@@ -6672,18 +6754,11 @@ M.throttle = function (func, wait, options) {
6672
6754
  * @param {Object} options
6673
6755
  */
6674
6756
  function Slider(el, options) {
6675
- var _this27 = this;
6676
-
6677
6757
  _classCallCheck(this, Slider);
6678
6758
 
6679
- // If exists, destroy and reinitialize
6680
- if (!!el.M_Slider) {
6681
- el.M_Slider.destroy();
6682
- }
6759
+ var _this37 = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, Slider, el, options));
6683
6760
 
6684
- this.el = el;
6685
- this.$el = $(el);
6686
- this.el.M_Slider = this;
6761
+ _this37.el.M_Slider = _this37;
6687
6762
 
6688
6763
  /**
6689
6764
  * Options for the modal
@@ -6693,25 +6768,25 @@ M.throttle = function (func, wait, options) {
6693
6768
  * @prop {Number} [duration=500] - Length in ms of slide transition
6694
6769
  * @prop {Number} [interval=6000] - Length in ms of slide interval
6695
6770
  */
6696
- this.options = $.extend({}, Slider.defaults, options);
6771
+ _this37.options = $.extend({}, Slider.defaults, options);
6697
6772
 
6698
6773
  // setup
6699
- this.$slider = this.$el.find('.slides');
6700
- this.$slides = this.$slider.children('li');
6701
- this.activeIndex = this.$slider.find('.active').index();
6702
- if (this.activeIndex != -1) {
6703
- this.$active = this.$slides.eq(this.activeIndex);
6774
+ _this37.$slider = _this37.$el.find('.slides');
6775
+ _this37.$slides = _this37.$slider.children('li');
6776
+ _this37.activeIndex = _this37.$slider.find('.active').index();
6777
+ if (_this37.activeIndex != -1) {
6778
+ _this37.$active = _this37.$slides.eq(_this37.activeIndex);
6704
6779
  }
6705
6780
 
6706
- this._setSliderHeight();
6781
+ _this37._setSliderHeight();
6707
6782
 
6708
6783
  // Set initial positions of captions
6709
- this.$slides.find('.caption').each(function (el) {
6710
- _this27._animateCaptionIn(el, 0);
6784
+ _this37.$slides.find('.caption').each(function (el) {
6785
+ _this37._animateCaptionIn(el, 0);
6711
6786
  });
6712
6787
 
6713
6788
  // Move img src into background-image
6714
- this.$slides.find('img').each(function (el) {
6789
+ _this37.$slides.find('img').each(function (el) {
6715
6790
  var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
6716
6791
  if ($(el).attr('src') !== placeholderBase64) {
6717
6792
  $(el).css('background-image', 'url("' + $(el).attr('src') + '")');
@@ -6719,45 +6794,46 @@ M.throttle = function (func, wait, options) {
6719
6794
  }
6720
6795
  });
6721
6796
 
6722
- this._setupIndicators();
6797
+ _this37._setupIndicators();
6723
6798
 
6724
6799
  // Show active slide
6725
- if (this.$active) {
6726
- this.$active.css('display', 'block');
6800
+ if (_this37.$active) {
6801
+ _this37.$active.css('display', 'block');
6727
6802
  } else {
6728
- this.$slides.first().addClass('active');
6803
+ _this37.$slides.first().addClass('active');
6729
6804
  anim({
6730
- targets: this.$slides.first()[0],
6805
+ targets: _this37.$slides.first()[0],
6731
6806
  opacity: 1,
6732
- duration: this.options.duration,
6807
+ duration: _this37.options.duration,
6733
6808
  easing: 'easeOutQuad'
6734
6809
  });
6735
6810
 
6736
- this.activeIndex = 0;
6737
- this.$active = this.$slides.eq(this.activeIndex);
6811
+ _this37.activeIndex = 0;
6812
+ _this37.$active = _this37.$slides.eq(_this37.activeIndex);
6738
6813
 
6739
6814
  // Update indicators
6740
- if (this.options.indicators) {
6741
- this.$indicators.eq(this.activeIndex).addClass('active');
6815
+ if (_this37.options.indicators) {
6816
+ _this37.$indicators.eq(_this37.activeIndex).addClass('active');
6742
6817
  }
6743
6818
  }
6744
6819
 
6745
6820
  // Adjust height to current slide
6746
- this.$active.find('img').each(function (el) {
6821
+ _this37.$active.find('img').each(function (el) {
6747
6822
  anim({
6748
- targets: _this27.$active.find('.caption')[0],
6823
+ targets: _this37.$active.find('.caption')[0],
6749
6824
  opacity: 1,
6750
6825
  translateX: 0,
6751
6826
  translateY: 0,
6752
- duration: _this27.options.duration,
6827
+ duration: _this37.options.duration,
6753
6828
  easing: 'easeOutQuad'
6754
6829
  });
6755
6830
  });
6756
6831
 
6757
- this._setupEventHandlers();
6832
+ _this37._setupEventHandlers();
6758
6833
 
6759
6834
  // auto scroll
6760
- this.start();
6835
+ _this37.start();
6836
+ return _this37;
6761
6837
  }
6762
6838
 
6763
6839
  _createClass(Slider, [{
@@ -6781,14 +6857,14 @@ M.throttle = function (func, wait, options) {
6781
6857
  }, {
6782
6858
  key: "_setupEventHandlers",
6783
6859
  value: function _setupEventHandlers() {
6784
- var _this28 = this;
6860
+ var _this38 = this;
6785
6861
 
6786
6862
  this._handleIntervalBound = this._handleInterval.bind(this);
6787
6863
  this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
6788
6864
 
6789
6865
  if (this.options.indicators) {
6790
6866
  this.$indicators.each(function (el) {
6791
- el.addEventListener('click', _this28._handleIndicatorClickBound);
6867
+ el.addEventListener('click', _this38._handleIndicatorClickBound);
6792
6868
  });
6793
6869
  }
6794
6870
  }
@@ -6800,11 +6876,11 @@ M.throttle = function (func, wait, options) {
6800
6876
  }, {
6801
6877
  key: "_removeEventHandlers",
6802
6878
  value: function _removeEventHandlers() {
6803
- var _this29 = this;
6879
+ var _this39 = this;
6804
6880
 
6805
6881
  if (this.options.indicators) {
6806
6882
  this.$indicators.each(function (el) {
6807
- el.removeEventListener('click', _this29._handleIndicatorClickBound);
6883
+ el.removeEventListener('click', _this39._handleIndicatorClickBound);
6808
6884
  });
6809
6885
  }
6810
6886
  }
@@ -6888,13 +6964,13 @@ M.throttle = function (func, wait, options) {
6888
6964
  }, {
6889
6965
  key: "_setupIndicators",
6890
6966
  value: function _setupIndicators() {
6891
- var _this30 = this;
6967
+ var _this40 = this;
6892
6968
 
6893
6969
  if (this.options.indicators) {
6894
6970
  this.$indicators = $('<ul class="indicators"></ul>');
6895
6971
  this.$slides.each(function (el, index) {
6896
6972
  var $indicator = $('<li class="indicator-item"></li>');
6897
- _this30.$indicators.append($indicator[0]);
6973
+ _this40.$indicators.append($indicator[0]);
6898
6974
  });
6899
6975
  this.$el.append(this.$indicators[0]);
6900
6976
  this.$indicators = this.$indicators.children('li.indicator-item');
@@ -6919,7 +6995,7 @@ M.throttle = function (func, wait, options) {
6919
6995
  }, {
6920
6996
  key: "set",
6921
6997
  value: function set(index) {
6922
- var _this31 = this;
6998
+ var _this41 = this;
6923
6999
 
6924
7000
  // Wrap around indices.
6925
7001
  if (index >= this.$slides.length) index = 0;else if (index < 0) index = this.$slides.length - 1;
@@ -6936,7 +7012,7 @@ M.throttle = function (func, wait, options) {
6936
7012
  duration: this.options.duration,
6937
7013
  easing: 'easeOutQuad',
6938
7014
  complete: function () {
6939
- _this31.$slides.not('.active').each(function (el) {
7015
+ _this41.$slides.not('.active').each(function (el) {
6940
7016
  anim({
6941
7017
  targets: el,
6942
7018
  opacity: 0,
@@ -7034,12 +7110,8 @@ M.throttle = function (func, wait, options) {
7034
7110
  }
7035
7111
  }], [{
7036
7112
  key: "init",
7037
- value: function init($els, options) {
7038
- var arr = [];
7039
- $els.each(function () {
7040
- arr.push(new Slider(this, options));
7041
- });
7042
- return arr;
7113
+ value: function init(els, options) {
7114
+ return _get(Slider.__proto__ || Object.getPrototypeOf(Slider), "init", this).call(this, this, els, options);
7043
7115
  }
7044
7116
 
7045
7117
  /**
@@ -7060,14 +7132,14 @@ M.throttle = function (func, wait, options) {
7060
7132
  }]);
7061
7133
 
7062
7134
  return Slider;
7063
- }();
7135
+ }(Component);
7064
7136
 
7065
7137
  M.Slider = Slider;
7066
7138
 
7067
7139
  if (M.jQueryLoaded) {
7068
7140
  M.initializeJqueryWrapper(Slider, 'slider', 'M_Slider');
7069
7141
  }
7070
- })(cash, anime);
7142
+ })(cash, M.anime);
7071
7143
  ;(function ($, anim) {
7072
7144
  $(document).on('click', '.card', function (e) {
7073
7145
  if ($(this).children('.card-reveal').length) {
@@ -7101,7 +7173,7 @@ M.throttle = function (func, wait, options) {
7101
7173
  }
7102
7174
  }
7103
7175
  });
7104
- })(cash, anime);
7176
+ })(cash, M.anime);
7105
7177
  ;(function ($) {
7106
7178
  'use strict';
7107
7179
 
@@ -7127,7 +7199,9 @@ M.throttle = function (func, wait, options) {
7127
7199
  *
7128
7200
  */
7129
7201
 
7130
- var Chips = function () {
7202
+ var Chips = function (_Component12) {
7203
+ _inherits(Chips, _Component12);
7204
+
7131
7205
  /**
7132
7206
  * Construct Chips instance and set up overlay
7133
7207
  * @constructor
@@ -7137,14 +7211,9 @@ M.throttle = function (func, wait, options) {
7137
7211
  function Chips(el, options) {
7138
7212
  _classCallCheck(this, Chips);
7139
7213
 
7140
- // If exists, destroy and reinitialize
7141
- if (!!el.M_Chips) {
7142
- el.M_Chips.destroy();
7143
- }
7214
+ var _this42 = _possibleConstructorReturn(this, (Chips.__proto__ || Object.getPrototypeOf(Chips)).call(this, Chips, el, options));
7144
7215
 
7145
- this.el = el;
7146
- this.$el = $(el);
7147
- this.el.M_Chips = this;
7216
+ _this42.el.M_Chips = _this42;
7148
7217
 
7149
7218
  /**
7150
7219
  * Options for the modal
@@ -7154,33 +7223,34 @@ M.throttle = function (func, wait, options) {
7154
7223
  * @prop {String} secondaryPlaceholder
7155
7224
  * @prop {Object} autocompleteOptions
7156
7225
  */
7157
- this.options = $.extend({}, Chips.defaults, options);
7226
+ _this42.options = $.extend({}, Chips.defaults, options);
7158
7227
 
7159
- this.$el.addClass('chips input-field');
7160
- this.chipsData = [];
7161
- this.$chips = $();
7162
- this._setupInput();
7163
- this.hasAutocomplete = Object.keys(this.options.autocompleteOptions).length > 0;
7228
+ _this42.$el.addClass('chips input-field');
7229
+ _this42.chipsData = [];
7230
+ _this42.$chips = $();
7231
+ _this42._setupInput();
7232
+ _this42.hasAutocomplete = Object.keys(_this42.options.autocompleteOptions).length > 0;
7164
7233
 
7165
7234
  // Set input id
7166
- if (!this.$input.attr('id')) {
7167
- this.$input.attr('id', M.guid());
7235
+ if (!_this42.$input.attr('id')) {
7236
+ _this42.$input.attr('id', M.guid());
7168
7237
  }
7169
7238
 
7170
7239
  // Render initial chips
7171
- if (this.options.data.length) {
7172
- this.chipsData = this.options.data;
7173
- this._renderChips(this.chipsData);
7240
+ if (_this42.options.data.length) {
7241
+ _this42.chipsData = _this42.options.data;
7242
+ _this42._renderChips(_this42.chipsData);
7174
7243
  }
7175
7244
 
7176
7245
  // Setup autocomplete if needed
7177
- if (this.hasAutocomplete) {
7178
- this._setupAutocomplete();
7246
+ if (_this42.hasAutocomplete) {
7247
+ _this42._setupAutocomplete();
7179
7248
  }
7180
7249
 
7181
- this._setPlaceholder();
7182
- this._setupLabel();
7183
- this._setupEventHandlers();
7250
+ _this42._setPlaceholder();
7251
+ _this42._setupLabel();
7252
+ _this42._setupEventHandlers();
7253
+ return _this42;
7184
7254
  }
7185
7255
 
7186
7256
  _createClass(Chips, [{
@@ -7314,7 +7384,9 @@ M.throttle = function (func, wait, options) {
7314
7384
  }
7315
7385
 
7316
7386
  e.preventDefault();
7317
- this.addChip({ tag: this.$input[0].value });
7387
+ this.addChip({
7388
+ tag: this.$input[0].value
7389
+ });
7318
7390
  this.$input[0].value = '';
7319
7391
 
7320
7392
  // delete or left
@@ -7381,12 +7453,14 @@ M.throttle = function (func, wait, options) {
7381
7453
  }, {
7382
7454
  key: "_setupAutocomplete",
7383
7455
  value: function _setupAutocomplete() {
7384
- var _this32 = this;
7456
+ var _this43 = this;
7385
7457
 
7386
7458
  this.options.autocompleteOptions.onAutocomplete = function (val) {
7387
- _this32.addChip({ tag: val });
7388
- _this32.$input[0].value = '';
7389
- _this32.$input[0].focus();
7459
+ _this43.addChip({
7460
+ tag: val
7461
+ });
7462
+ _this43.$input[0].value = '';
7463
+ _this43.$input[0].focus();
7390
7464
  };
7391
7465
 
7392
7466
  this.autocomplete = M.Autocomplete.init(this.$input, this.options.autocompleteOptions)[0];
@@ -7452,9 +7526,9 @@ M.throttle = function (func, wait, options) {
7452
7526
  }
7453
7527
  }
7454
7528
  return !exists;
7455
- } else {
7456
- return false;
7457
7529
  }
7530
+
7531
+ return false;
7458
7532
  }
7459
7533
 
7460
7534
  /**
@@ -7522,12 +7596,8 @@ M.throttle = function (func, wait, options) {
7522
7596
  }
7523
7597
  }], [{
7524
7598
  key: "init",
7525
- value: function init($els, options) {
7526
- var arr = [];
7527
- $els.each(function () {
7528
- arr.push(new Chips(this, options));
7529
- });
7530
- return arr;
7599
+ value: function init(els, options) {
7600
+ return _get(Chips.__proto__ || Object.getPrototypeOf(Chips), "init", this).call(this, this, els, options);
7531
7601
  }
7532
7602
 
7533
7603
  /**
@@ -7629,7 +7699,7 @@ M.throttle = function (func, wait, options) {
7629
7699
  }]);
7630
7700
 
7631
7701
  return Chips;
7632
- }();
7702
+ }(Component);
7633
7703
 
7634
7704
  /**
7635
7705
  * @static
@@ -7662,7 +7732,8 @@ M.throttle = function (func, wait, options) {
7662
7732
  var _defaults = {
7663
7733
  top: 0,
7664
7734
  bottom: Infinity,
7665
- offset: 0
7735
+ offset: 0,
7736
+ onPositionChange: null
7666
7737
  };
7667
7738
 
7668
7739
  /**
@@ -7670,7 +7741,9 @@ M.throttle = function (func, wait, options) {
7670
7741
  *
7671
7742
  */
7672
7743
 
7673
- var Pushpin = function () {
7744
+ var Pushpin = function (_Component13) {
7745
+ _inherits(Pushpin, _Component13);
7746
+
7674
7747
  /**
7675
7748
  * Construct Pushpin instance
7676
7749
  * @constructor
@@ -7680,25 +7753,21 @@ M.throttle = function (func, wait, options) {
7680
7753
  function Pushpin(el, options) {
7681
7754
  _classCallCheck(this, Pushpin);
7682
7755
 
7683
- // If exists, destroy and reinitialize
7684
- if (!!el.M_Pushpin) {
7685
- el.M_Pushpin.destroy();
7686
- }
7756
+ var _this44 = _possibleConstructorReturn(this, (Pushpin.__proto__ || Object.getPrototypeOf(Pushpin)).call(this, Pushpin, el, options));
7687
7757
 
7688
- this.el = el;
7689
- this.$el = $(el);
7690
- this.el.M_Pushpin = this;
7758
+ _this44.el.M_Pushpin = _this44;
7691
7759
 
7692
7760
  /**
7693
7761
  * Options for the modal
7694
7762
  * @member Pushpin#options
7695
7763
  */
7696
- this.options = $.extend({}, Pushpin.defaults, options);
7764
+ _this44.options = $.extend({}, Pushpin.defaults, options);
7697
7765
 
7698
- this.originalOffset = this.el.offsetTop;
7699
- Pushpin._pushpins.push(this);
7700
- this._setupEventHandlers();
7701
- this._updatePosition();
7766
+ _this44.originalOffset = _this44.el.offsetTop;
7767
+ Pushpin._pushpins.push(_this44);
7768
+ _this44._setupEventHandlers();
7769
+ _this44._updatePosition();
7770
+ return _this44;
7702
7771
  }
7703
7772
 
7704
7773
  _createClass(Pushpin, [{
@@ -7737,6 +7806,11 @@ M.throttle = function (func, wait, options) {
7737
7806
 
7738
7807
  this.el.style.top = this.options.offset + "px";
7739
7808
  this.el.classList.add('pinned');
7809
+
7810
+ // onPositionChange callback
7811
+ if (typeof this.options.onPositionChange === 'function') {
7812
+ this.options.onPositionChange.call(this, 'pinned');
7813
+ }
7740
7814
  }
7741
7815
 
7742
7816
  // Add pin-top (when scrolled position is above top)
@@ -7744,6 +7818,11 @@ M.throttle = function (func, wait, options) {
7744
7818
  this._removePinClasses();
7745
7819
  this.el.style.top = 0;
7746
7820
  this.el.classList.add('pin-top');
7821
+
7822
+ // onPositionChange callback
7823
+ if (typeof this.options.onPositionChange === 'function') {
7824
+ this.options.onPositionChange.call(this, 'pin-top');
7825
+ }
7747
7826
  }
7748
7827
 
7749
7828
  // Add pin-bottom (when scrolled position is below bottom)
@@ -7751,6 +7830,11 @@ M.throttle = function (func, wait, options) {
7751
7830
  this._removePinClasses();
7752
7831
  this.el.classList.add('pin-bottom');
7753
7832
  this.el.style.top = this.options.bottom - this.originalOffset + "px";
7833
+
7834
+ // onPositionChange callback
7835
+ if (typeof this.options.onPositionChange === 'function') {
7836
+ this.options.onPositionChange.call(this, 'pin-bottom');
7837
+ }
7754
7838
  }
7755
7839
  }
7756
7840
  }, {
@@ -7760,12 +7844,8 @@ M.throttle = function (func, wait, options) {
7760
7844
  }
7761
7845
  }], [{
7762
7846
  key: "init",
7763
- value: function init($els, options) {
7764
- var arr = [];
7765
- $els.each(function () {
7766
- arr.push(new Pushpin(this, options));
7767
- });
7768
- return arr;
7847
+ value: function init(els, options) {
7848
+ return _get(Pushpin.__proto__ || Object.getPrototypeOf(Pushpin), "init", this).call(this, this, els, options);
7769
7849
  }
7770
7850
 
7771
7851
  /**
@@ -7794,7 +7874,7 @@ M.throttle = function (func, wait, options) {
7794
7874
  }]);
7795
7875
 
7796
7876
  return Pushpin;
7797
- }();
7877
+ }(Component);
7798
7878
 
7799
7879
  /**
7800
7880
  * @static
@@ -7826,7 +7906,9 @@ M.throttle = function (func, wait, options) {
7826
7906
  *
7827
7907
  */
7828
7908
 
7829
- var FloatingActionButton = function () {
7909
+ var FloatingActionButton = function (_Component14) {
7910
+ _inherits(FloatingActionButton, _Component14);
7911
+
7830
7912
  /**
7831
7913
  * Construct FloatingActionButton instance
7832
7914
  * @constructor
@@ -7836,14 +7918,9 @@ M.throttle = function (func, wait, options) {
7836
7918
  function FloatingActionButton(el, options) {
7837
7919
  _classCallCheck(this, FloatingActionButton);
7838
7920
 
7839
- // If exists, destroy and reinitialize
7840
- if (!!el.M_FloatingActionButton) {
7841
- el.M_FloatingActionButton.destroy();
7842
- }
7921
+ var _this45 = _possibleConstructorReturn(this, (FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton)).call(this, FloatingActionButton, el, options));
7843
7922
 
7844
- this.el = el;
7845
- this.$el = $(el);
7846
- this.el.M_FloatingActionButton = this;
7923
+ _this45.el.M_FloatingActionButton = _this45;
7847
7924
 
7848
7925
  /**
7849
7926
  * Options for the fab
@@ -7852,29 +7929,30 @@ M.throttle = function (func, wait, options) {
7852
7929
  * @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
7853
7930
  * @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
7854
7931
  */
7855
- this.options = $.extend({}, FloatingActionButton.defaults, options);
7856
-
7857
- this.isOpen = false;
7858
- this.$anchor = this.$el.children('a').first();
7859
- this.$menu = this.$el.children('ul').first();
7860
- this.$floatingBtns = this.$el.find('ul .btn-floating');
7861
- this.$floatingBtnsReverse = this.$el.find('ul .btn-floating').reverse();
7862
- this.offsetY = 0;
7863
- this.offsetX = 0;
7864
- if (this.options.direction === 'top') {
7865
- this.$el.addClass('direction-top');
7866
- this.offsetY = 40;
7867
- } else if (this.options.direction === 'right') {
7868
- this.$el.addClass('direction-right');
7869
- this.offsetX = -40;
7870
- } else if (this.options.direction === 'bottom') {
7871
- this.$el.addClass('direction-bottom');
7872
- this.offsetY = -40;
7932
+ _this45.options = $.extend({}, FloatingActionButton.defaults, options);
7933
+
7934
+ _this45.isOpen = false;
7935
+ _this45.$anchor = _this45.$el.children('a').first();
7936
+ _this45.$menu = _this45.$el.children('ul').first();
7937
+ _this45.$floatingBtns = _this45.$el.find('ul .btn-floating');
7938
+ _this45.$floatingBtnsReverse = _this45.$el.find('ul .btn-floating').reverse();
7939
+ _this45.offsetY = 0;
7940
+ _this45.offsetX = 0;
7941
+ if (_this45.options.direction === 'top') {
7942
+ _this45.$el.addClass('direction-top');
7943
+ _this45.offsetY = 40;
7944
+ } else if (_this45.options.direction === 'right') {
7945
+ _this45.$el.addClass('direction-right');
7946
+ _this45.offsetX = -40;
7947
+ } else if (_this45.options.direction === 'bottom') {
7948
+ _this45.$el.addClass('direction-bottom');
7949
+ _this45.offsetY = -40;
7873
7950
  } else {
7874
- this.$el.addClass('direction-left');
7875
- this.offsetX = 40;
7951
+ _this45.$el.addClass('direction-left');
7952
+ _this45.offsetX = 40;
7876
7953
  }
7877
- this._setupEventHandlers();
7954
+ _this45._setupEventHandlers();
7955
+ return _this45;
7878
7956
  }
7879
7957
 
7880
7958
  _createClass(FloatingActionButton, [{
@@ -7997,7 +8075,7 @@ M.throttle = function (func, wait, options) {
7997
8075
  }, {
7998
8076
  key: "_animateInFAB",
7999
8077
  value: function _animateInFAB() {
8000
- var _this33 = this;
8078
+ var _this46 = this;
8001
8079
 
8002
8080
  this.$el.addClass('active');
8003
8081
 
@@ -8007,8 +8085,8 @@ M.throttle = function (func, wait, options) {
8007
8085
  targets: el,
8008
8086
  opacity: 1,
8009
8087
  scale: [.4, 1],
8010
- translateY: [_this33.offsetY, 0],
8011
- translateX: [_this33.offsetX, 0],
8088
+ translateY: [_this46.offsetY, 0],
8089
+ translateX: [_this46.offsetX, 0],
8012
8090
  duration: 275,
8013
8091
  delay: time,
8014
8092
  easing: 'easeInOutQuad'
@@ -8024,7 +8102,7 @@ M.throttle = function (func, wait, options) {
8024
8102
  }, {
8025
8103
  key: "_animateOutFAB",
8026
8104
  value: function _animateOutFAB() {
8027
- var _this34 = this;
8105
+ var _this47 = this;
8028
8106
 
8029
8107
  this.$floatingBtnsReverse.each(function (el) {
8030
8108
  anim.remove(el);
@@ -8032,12 +8110,12 @@ M.throttle = function (func, wait, options) {
8032
8110
  targets: el,
8033
8111
  opacity: 0,
8034
8112
  scale: .4,
8035
- translateY: _this34.offsetY,
8036
- translateX: _this34.offsetX,
8113
+ translateY: _this47.offsetY,
8114
+ translateX: _this47.offsetX,
8037
8115
  duration: 175,
8038
8116
  easing: 'easeOutQuad',
8039
8117
  complete: function () {
8040
- _this34.$el.removeClass('active');
8118
+ _this47.$el.removeClass('active');
8041
8119
  }
8042
8120
  });
8043
8121
  });
@@ -8050,7 +8128,7 @@ M.throttle = function (func, wait, options) {
8050
8128
  }, {
8051
8129
  key: "_animateInToolbar",
8052
8130
  value: function _animateInToolbar() {
8053
- var _this35 = this;
8131
+ var _this48 = this;
8054
8132
 
8055
8133
  var scaleFactor = void 0;
8056
8134
  var windowWidth = window.innerWidth;
@@ -8086,18 +8164,18 @@ M.throttle = function (func, wait, options) {
8086
8164
  });
8087
8165
 
8088
8166
  setTimeout(function () {
8089
- _this35.$el.css({
8167
+ _this48.$el.css({
8090
8168
  transform: '',
8091
8169
  transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
8092
8170
  });
8093
- _this35.$anchor.css({
8171
+ _this48.$anchor.css({
8094
8172
  overflow: 'visible',
8095
8173
  transform: '',
8096
8174
  transition: 'transform .2s'
8097
8175
  });
8098
8176
 
8099
8177
  setTimeout(function () {
8100
- _this35.$el.css({
8178
+ _this48.$el.css({
8101
8179
  overflow: 'hidden',
8102
8180
  'background-color': fabColor
8103
8181
  });
@@ -8105,14 +8183,14 @@ M.throttle = function (func, wait, options) {
8105
8183
  transform: 'scale(' + scaleFactor + ')',
8106
8184
  transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
8107
8185
  });
8108
- _this35.$menu.children('li').children('a').css({
8186
+ _this48.$menu.children('li').children('a').css({
8109
8187
  opacity: 1
8110
8188
  });
8111
8189
 
8112
8190
  // Scroll to close.
8113
- _this35._handleDocumentClickBound = _this35._handleDocumentClick.bind(_this35);
8114
- window.addEventListener('scroll', _this35._handleCloseBound, true);
8115
- document.body.addEventListener('click', _this35._handleDocumentClickBound, true);
8191
+ _this48._handleDocumentClickBound = _this48._handleDocumentClick.bind(_this48);
8192
+ window.addEventListener('scroll', _this48._handleCloseBound, true);
8193
+ document.body.addEventListener('click', _this48._handleDocumentClickBound, true);
8116
8194
  }, 100);
8117
8195
  }, 0);
8118
8196
  }
@@ -8124,7 +8202,7 @@ M.throttle = function (func, wait, options) {
8124
8202
  }, {
8125
8203
  key: "_animateOutToolbar",
8126
8204
  value: function _animateOutToolbar() {
8127
- var _this36 = this;
8205
+ var _this49 = this;
8128
8206
 
8129
8207
  var windowWidth = window.innerWidth;
8130
8208
  var windowHeight = window.innerHeight;
@@ -8155,26 +8233,26 @@ M.throttle = function (func, wait, options) {
8155
8233
  backdrop.remove();
8156
8234
 
8157
8235
  // Set initial state.
8158
- _this36.$el.css({
8236
+ _this49.$el.css({
8159
8237
  'text-align': '',
8160
8238
  width: '',
8161
8239
  bottom: '',
8162
8240
  left: '',
8163
8241
  overflow: '',
8164
8242
  'background-color': '',
8165
- transform: 'translate3d(' + -_this36.offsetX + 'px,0,0)'
8243
+ transform: 'translate3d(' + -_this49.offsetX + 'px,0,0)'
8166
8244
  });
8167
- _this36.$anchor.css({
8245
+ _this49.$anchor.css({
8168
8246
  overflow: '',
8169
- transform: 'translate3d(0,' + _this36.offsetY + 'px,0)'
8247
+ transform: 'translate3d(0,' + _this49.offsetY + 'px,0)'
8170
8248
  });
8171
8249
 
8172
8250
  setTimeout(function () {
8173
- _this36.$el.css({
8251
+ _this49.$el.css({
8174
8252
  transform: 'translate3d(0,0,0)',
8175
8253
  transition: 'transform .2s'
8176
8254
  });
8177
- _this36.$anchor.css({
8255
+ _this49.$anchor.css({
8178
8256
  transform: 'translate3d(0,0,0)',
8179
8257
  transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
8180
8258
  });
@@ -8183,12 +8261,8 @@ M.throttle = function (func, wait, options) {
8183
8261
  }
8184
8262
  }], [{
8185
8263
  key: "init",
8186
- value: function init($els, options) {
8187
- var arr = [];
8188
- $els.each(function () {
8189
- arr.push(new FloatingActionButton(this, options));
8190
- });
8191
- return arr;
8264
+ value: function init(els, options) {
8265
+ return _get(FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton), "init", this).call(this, this, els, options);
8192
8266
  }
8193
8267
 
8194
8268
  /**
@@ -8209,14 +8283,14 @@ M.throttle = function (func, wait, options) {
8209
8283
  }]);
8210
8284
 
8211
8285
  return FloatingActionButton;
8212
- }();
8286
+ }(Component);
8213
8287
 
8214
8288
  M.FloatingActionButton = FloatingActionButton;
8215
8289
 
8216
8290
  if (M.jQueryLoaded) {
8217
8291
  M.initializeJqueryWrapper(FloatingActionButton, 'floatingActionButton', 'M_FloatingActionButton');
8218
8292
  }
8219
- })(cash, anime);
8293
+ })(cash, M.anime);
8220
8294
  ;(function ($) {
8221
8295
  'use strict';
8222
8296
 
@@ -8298,7 +8372,9 @@ M.throttle = function (func, wait, options) {
8298
8372
  *
8299
8373
  */
8300
8374
 
8301
- var Datepicker = function () {
8375
+ var Datepicker = function (_Component15) {
8376
+ _inherits(Datepicker, _Component15);
8377
+
8302
8378
  /**
8303
8379
  * Construct Datepicker instance and set up overlay
8304
8380
  * @constructor
@@ -8308,51 +8384,48 @@ M.throttle = function (func, wait, options) {
8308
8384
  function Datepicker(el, options) {
8309
8385
  _classCallCheck(this, Datepicker);
8310
8386
 
8311
- // If exists, destroy and reinitialize
8312
- if (!!el.M_Datepicker) {
8313
- el.M_Datepicker.destroy();
8314
- }
8387
+ var _this50 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
8315
8388
 
8316
- this.el = el;
8317
- this.$el = $(el);
8318
- this.el.M_Datepicker = this;
8389
+ _this50.el.M_Datepicker = _this50;
8319
8390
 
8320
- this.options = $.extend({}, Datepicker.defaults, options);
8391
+ _this50.options = $.extend({}, Datepicker.defaults, options);
8321
8392
 
8322
8393
  // Remove time component from minDate and maxDate options
8323
- if (this.options.minDate) this.options.minDate.setHours(0, 0, 0, 0);
8324
- if (this.options.maxDate) this.options.maxDate.setHours(0, 0, 0, 0);
8394
+ if (_this50.options.minDate) _this50.options.minDate.setHours(0, 0, 0, 0);
8395
+ if (_this50.options.maxDate) _this50.options.maxDate.setHours(0, 0, 0, 0);
8325
8396
 
8326
- this.id = M.guid();
8397
+ _this50.id = M.guid();
8327
8398
 
8328
- this._setupVariables();
8329
- this._insertHTMLIntoDOM();
8330
- this._setupModal();
8399
+ _this50._setupVariables();
8400
+ _this50._insertHTMLIntoDOM();
8401
+ _this50._setupModal();
8331
8402
 
8332
- this._setupEventHandlers();
8403
+ _this50._setupEventHandlers();
8333
8404
 
8334
- if (!this.options.defaultDate) {
8335
- this.options.defaultDate = new Date(Date.parse(this.el.value));
8336
- this.options.setDefaultDate = true;
8405
+ if (!_this50.options.defaultDate) {
8406
+ _this50.options.defaultDate = new Date(Date.parse(_this50.el.value));
8407
+ _this50.options.setDefaultDate = true;
8337
8408
  }
8338
8409
 
8339
- var defDate = this.options.defaultDate;
8410
+ var defDate = _this50.options.defaultDate;
8340
8411
 
8341
8412
  if (Datepicker._isDate(defDate)) {
8342
- if (this.options.setDefaultDate) {
8343
- this.setDate(defDate, true);
8413
+ if (_this50.options.setDefaultDate) {
8414
+ _this50.setDate(defDate, true);
8344
8415
  } else {
8345
- this.gotoDate(defDate);
8416
+ _this50.gotoDate(defDate);
8346
8417
  }
8347
8418
  } else {
8348
- this.gotoDate(new Date());
8419
+ _this50.gotoDate(new Date());
8349
8420
  }
8350
8421
 
8351
8422
  /**
8352
8423
  * Describes open/close state of datepicker
8353
8424
  * @type {Boolean}
8354
8425
  */
8355
- this.isOpen = false;
8426
+ _this50.isOpen = false;
8427
+
8428
+ return _this50;
8356
8429
  }
8357
8430
 
8358
8431
  _createClass(Datepicker, [{
@@ -8362,7 +8435,12 @@ M.throttle = function (func, wait, options) {
8362
8435
  /**
8363
8436
  * Teardown component
8364
8437
  */
8365
- value: function destroy() {}
8438
+ value: function destroy() {
8439
+ this._removeEventHandlers();
8440
+ this.modal.destroy();
8441
+ $(this.modalEl).remove();
8442
+ this.el.M_Datepicker = undefined;
8443
+ }
8366
8444
  }, {
8367
8445
  key: "_insertHTMLIntoDOM",
8368
8446
  value: function _insertHTMLIntoDOM() {
@@ -8380,19 +8458,19 @@ M.throttle = function (func, wait, options) {
8380
8458
  }, {
8381
8459
  key: "_setupModal",
8382
8460
  value: function _setupModal() {
8383
- var _this37 = this;
8461
+ var _this51 = this;
8384
8462
 
8385
8463
  this.modalEl.id = 'modal-' + this.id;
8386
- this.modal = new M.Modal(this.modalEl, {
8387
- complete: function () {
8388
- _this37.isOpen = false;
8464
+ this.modal = M.Modal.init(this.modalEl, {
8465
+ onCloseEnd: function () {
8466
+ _this51.isOpen = false;
8389
8467
  }
8390
8468
  });
8391
8469
  }
8392
8470
  }, {
8393
8471
  key: "toString",
8394
8472
  value: function toString(format) {
8395
- var _this38 = this;
8473
+ var _this52 = this;
8396
8474
 
8397
8475
  format = format || this.options.format;
8398
8476
  if (!Datepicker._isDate(this.date)) {
@@ -8401,11 +8479,11 @@ M.throttle = function (func, wait, options) {
8401
8479
 
8402
8480
  var formatArray = format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);
8403
8481
  var formattedDate = formatArray.map(function (label) {
8404
- if (_this38.formats[label]) {
8405
- return _this38.formats[label]();
8406
- } else {
8407
- return label;
8482
+ if (_this52.formats[label]) {
8483
+ return _this52.formats[label]();
8408
8484
  }
8485
+
8486
+ return label;
8409
8487
  }).join('');
8410
8488
  return formattedDate;
8411
8489
  }
@@ -8784,8 +8862,8 @@ M.throttle = function (func, wait, options) {
8784
8862
  // Init Materialize Select
8785
8863
  var yearSelect = this.calendarEl.querySelector('.pika-select-year');
8786
8864
  var monthSelect = this.calendarEl.querySelector('.pika-select-month');
8787
- new M.Select(yearSelect, { classes: 'select-year' });
8788
- new M.Select(monthSelect, { classes: 'select-month' });
8865
+ M.Select.init(yearSelect, { classes: 'select-year' });
8866
+ M.Select.init(monthSelect, { classes: 'select-month' });
8789
8867
 
8790
8868
  // Add change handlers for select
8791
8869
  yearSelect.addEventListener('change', this._handleYearChange.bind(this));
@@ -8823,7 +8901,7 @@ M.throttle = function (func, wait, options) {
8823
8901
  }, {
8824
8902
  key: "_setupVariables",
8825
8903
  value: function _setupVariables() {
8826
- var _this39 = this;
8904
+ var _this53 = this;
8827
8905
 
8828
8906
  this.$modalEl = $(Datepicker._template);
8829
8907
  this.modalEl = this.$modalEl[0];
@@ -8839,28 +8917,28 @@ M.throttle = function (func, wait, options) {
8839
8917
  this.formats = {
8840
8918
 
8841
8919
  dd: function () {
8842
- return _this39.date.getDate();
8920
+ return _this53.date.getDate();
8843
8921
  },
8844
8922
  ddd: function () {
8845
- return _this39.options.i18n.weekdaysShort[_this39.date.getDay()];
8923
+ return _this53.options.i18n.weekdaysShort[_this53.date.getDay()];
8846
8924
  },
8847
8925
  dddd: function () {
8848
- return _this39.options.i18n.weekdays[_this39.date.getDay()];
8926
+ return _this53.options.i18n.weekdays[_this53.date.getDay()];
8849
8927
  },
8850
8928
  mm: function () {
8851
- return _this39.date.getMonth() + 1;
8929
+ return _this53.date.getMonth() + 1;
8852
8930
  },
8853
8931
  mmm: function () {
8854
- return _this39.options.i18n.monthsShort[_this39.date.getMonth()];
8932
+ return _this53.options.i18n.monthsShort[_this53.date.getMonth()];
8855
8933
  },
8856
8934
  mmmm: function () {
8857
- return _this39.options.i18n.monthsShort[_this39.date.getMonth()];
8935
+ return _this53.options.i18n.monthsShort[_this53.date.getMonth()];
8858
8936
  },
8859
8937
  yy: function () {
8860
- return _this39.date.getFullYear().slice(2);
8938
+ return _this53.date.getFullYear().slice(2);
8861
8939
  },
8862
8940
  yyyy: function () {
8863
- return _this39.date.getFullYear();
8941
+ return _this53.date.getFullYear();
8864
8942
  }
8865
8943
  };
8866
8944
  }
@@ -9052,12 +9130,8 @@ M.throttle = function (func, wait, options) {
9052
9130
  }
9053
9131
  }], [{
9054
9132
  key: "init",
9055
- value: function init($els, options) {
9056
- var arr = [];
9057
- $els.each(function () {
9058
- arr.push(new Datepicker(this, options));
9059
- });
9060
- return arr;
9133
+ value: function init(els, options) {
9134
+ return _get(Datepicker.__proto__ || Object.getPrototypeOf(Datepicker), "init", this).call(this, this, els, options);
9061
9135
  }
9062
9136
  }, {
9063
9137
  key: "_isDate",
@@ -9117,7 +9191,7 @@ M.throttle = function (func, wait, options) {
9117
9191
  }]);
9118
9192
 
9119
9193
  return Datepicker;
9120
- }();
9194
+ }(Component);
9121
9195
 
9122
9196
  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-today waves-effect" type="button"></button>', '<button class="btn-flat datepicker-done waves-effect" type="button"></button>', '</div>', '</div>', '</div>', '</div>', '</div>'].join('');
9123
9197
 
@@ -9152,29 +9226,27 @@ M.throttle = function (func, wait, options) {
9152
9226
  *
9153
9227
  */
9154
9228
 
9155
- var Timepicker = function () {
9229
+ var Timepicker = function (_Component16) {
9230
+ _inherits(Timepicker, _Component16);
9231
+
9156
9232
  function Timepicker(el, options) {
9157
9233
  _classCallCheck(this, Timepicker);
9158
9234
 
9159
- // If exists, destroy and reinitialize
9160
- if (!!el.M_Timepicker) {
9161
- el.M_Timepicker.destroy();
9162
- }
9235
+ var _this54 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options));
9163
9236
 
9164
- this.el = el;
9165
- this.$el = $(el);
9166
- this.el.M_Timepicker = this;
9237
+ _this54.el.M_Timepicker = _this54;
9167
9238
 
9168
- this.options = $.extend({}, Timepicker.defaults, options);
9239
+ _this54.options = $.extend({}, Timepicker.defaults, options);
9169
9240
 
9170
- this.id = M.guid();
9171
- this._insertHTMLIntoDOM();
9172
- this._setupModal();
9173
- this._setupVariables();
9174
- this._setupEventHandlers();
9241
+ _this54.id = M.guid();
9242
+ _this54._insertHTMLIntoDOM();
9243
+ _this54._setupModal();
9244
+ _this54._setupVariables();
9245
+ _this54._setupEventHandlers();
9175
9246
 
9176
- this._clockSetup();
9177
- this._pickerSetup();
9247
+ _this54._clockSetup();
9248
+ _this54._pickerSetup();
9249
+ return _this54;
9178
9250
  }
9179
9251
 
9180
9252
  _createClass(Timepicker, [{
@@ -9310,11 +9382,11 @@ M.throttle = function (func, wait, options) {
9310
9382
  }, {
9311
9383
  key: "_setupModal",
9312
9384
  value: function _setupModal() {
9313
- var _this40 = this;
9385
+ var _this55 = this;
9314
9386
 
9315
- this.modal = new M.Modal(this.modalEl, {
9316
- complete: function () {
9317
- _this40.isOpen = false;
9387
+ this.modal = M.Modal.init(this.modalEl, {
9388
+ onCloseEnd: function () {
9389
+ _this55.isOpen = false;
9318
9390
  }
9319
9391
  });
9320
9392
  }
@@ -9466,7 +9538,7 @@ M.throttle = function (func, wait, options) {
9466
9538
  // Get the time
9467
9539
  var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
9468
9540
  if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
9469
- if (value[1].indexOf("AM") > 0) {
9541
+ if (value[1].toUpperCase().indexOf("AM") > 0) {
9470
9542
  this.amOrPm = 'AM';
9471
9543
  } else {
9472
9544
  this.amOrPm = 'PM';
@@ -9540,7 +9612,7 @@ M.throttle = function (func, wait, options) {
9540
9612
  }, {
9541
9613
  key: "setHand",
9542
9614
  value: function setHand(x, y, roundBy5) {
9543
- var _this41 = this;
9615
+ var _this56 = this;
9544
9616
 
9545
9617
  var radian = Math.atan2(x, -y),
9546
9618
  isHours = this.currentView === 'hours',
@@ -9595,7 +9667,7 @@ M.throttle = function (func, wait, options) {
9595
9667
  if (!this.vibrateTimer) {
9596
9668
  navigator[this.vibrate](10);
9597
9669
  this.vibrateTimer = setTimeout(function () {
9598
- _this41.vibrateTimer = null;
9670
+ _this56.vibrateTimer = null;
9599
9671
  }, 100);
9600
9672
  }
9601
9673
  }
@@ -9672,12 +9744,8 @@ M.throttle = function (func, wait, options) {
9672
9744
  }
9673
9745
  }], [{
9674
9746
  key: "init",
9675
- value: function init($els, options) {
9676
- var arr = [];
9677
- $els.each(function () {
9678
- arr.push(new Timepicker(this, options));
9679
- });
9680
- return arr;
9747
+ value: function init(els, options) {
9748
+ return _get(Timepicker.__proto__ || Object.getPrototypeOf(Timepicker), "init", this).call(this, this, els, options);
9681
9749
  }
9682
9750
  }, {
9683
9751
  key: "_addLeadingZero",
@@ -9731,7 +9799,7 @@ M.throttle = function (func, wait, options) {
9731
9799
  }]);
9732
9800
 
9733
9801
  return Timepicker;
9734
- }();
9802
+ }(Component);
9735
9803
 
9736
9804
  Timepicker._template = ['<div class= "modal timepicker-modal">', '<div class="modal-content timepicker-container">', '<div class="timepicker-digital-display">', '<div class="timepicker-text-container">', '<div class="timepicker-display-column">', '<span class="timepicker-span-hours text-primary"></span>', ':', '<span class="timepicker-span-minutes"></span>', '</div>', '<div class="timepicker-display-column timepicker-display-am-pm">', '<div class="timepicker-span-am-pm"></div>', '</div>', '</div>', '</div>', '<div class="timepicker-analog-display">', '<div class="timepicker-plate">', '<div class="timepicker-canvas"></div>', '<div class="timepicker-dial timepicker-hours"></div>', '<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>', '</div>', '<div class="timepicker-footer"></div>', '</div>', '</div>', '</div>'].join('');
9737
9805
 
@@ -9751,7 +9819,9 @@ M.throttle = function (func, wait, options) {
9751
9819
  *
9752
9820
  */
9753
9821
 
9754
- var CharacterCounter = function () {
9822
+ var CharacterCounter = function (_Component17) {
9823
+ _inherits(CharacterCounter, _Component17);
9824
+
9755
9825
  /**
9756
9826
  * Construct CharacterCounter instance
9757
9827
  * @constructor
@@ -9761,24 +9831,20 @@ M.throttle = function (func, wait, options) {
9761
9831
  function CharacterCounter(el, options) {
9762
9832
  _classCallCheck(this, CharacterCounter);
9763
9833
 
9764
- // If exists, destroy and reinitialize
9765
- if (!!el.M_CharacterCounter) {
9766
- el.M_CharacterCounter.destroy();
9767
- }
9834
+ var _this57 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options));
9768
9835
 
9769
- this.el = el;
9770
- this.$el = $(el);
9771
- this.el.M_CharacterCounter = this;
9836
+ _this57.el.M_CharacterCounter = _this57;
9772
9837
 
9773
9838
  /**
9774
9839
  * Options for the character counter
9775
9840
  */
9776
- this.options = $.extend({}, CharacterCounter.defaults, options);
9841
+ _this57.options = $.extend({}, CharacterCounter.defaults, options);
9777
9842
 
9778
- this.isInvalid = false;
9779
- this.isValidLength = false;
9780
- this._setupCounter();
9781
- this._setupEventHandlers();
9843
+ _this57.isInvalid = false;
9844
+ _this57.isValidLength = false;
9845
+ _this57._setupCounter();
9846
+ _this57._setupEventHandlers();
9847
+ return _this57;
9782
9848
  }
9783
9849
 
9784
9850
  _createClass(CharacterCounter, [{
@@ -9883,12 +9949,8 @@ M.throttle = function (func, wait, options) {
9883
9949
  }
9884
9950
  }], [{
9885
9951
  key: "init",
9886
- value: function init($els, options) {
9887
- var arr = [];
9888
- $els.each(function () {
9889
- arr.push(new CharacterCounter(this, options));
9890
- });
9891
- return arr;
9952
+ value: function init(els, options) {
9953
+ return _get(CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter), "init", this).call(this, this, els, options);
9892
9954
  }
9893
9955
 
9894
9956
  /**
@@ -9909,7 +9971,7 @@ M.throttle = function (func, wait, options) {
9909
9971
  }]);
9910
9972
 
9911
9973
  return CharacterCounter;
9912
- }();
9974
+ }(Component);
9913
9975
 
9914
9976
  M.CharacterCounter = CharacterCounter;
9915
9977
 
@@ -9936,7 +9998,9 @@ M.throttle = function (func, wait, options) {
9936
9998
  *
9937
9999
  */
9938
10000
 
9939
- var Carousel = function () {
10001
+ var Carousel = function (_Component18) {
10002
+ _inherits(Carousel, _Component18);
10003
+
9940
10004
  /**
9941
10005
  * Construct Carousel instance
9942
10006
  * @constructor
@@ -9944,18 +10008,11 @@ M.throttle = function (func, wait, options) {
9944
10008
  * @param {Object} options
9945
10009
  */
9946
10010
  function Carousel(el, options) {
9947
- var _this42 = this;
9948
-
9949
10011
  _classCallCheck(this, Carousel);
9950
10012
 
9951
- // If exists, destroy and reinitialize
9952
- if (!!el.M_Carousel) {
9953
- el.M_Carousel.destroy();
9954
- }
10013
+ var _this58 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options));
9955
10014
 
9956
- this.el = el;
9957
- this.$el = $(el);
9958
- this.el.M_Carousel = this;
10015
+ _this58.el.M_Carousel = _this58;
9959
10016
 
9960
10017
  /**
9961
10018
  * Options for the carousel
@@ -9969,38 +10026,38 @@ M.throttle = function (func, wait, options) {
9969
10026
  * @prop {Boolean} noWrap
9970
10027
  * @prop {Function} onCycleTo
9971
10028
  */
9972
- this.options = $.extend({}, Carousel.defaults, options);
10029
+ _this58.options = $.extend({}, Carousel.defaults, options);
9973
10030
 
9974
10031
  // Setup
9975
- this.hasMultipleSlides = this.$el.find('.carousel-item').length > 1;
9976
- this.showIndicators = this.options.indicators && this.hasMultipleSlides;
9977
- this.noWrap = this.options.noWrap || !this.hasMultipleSlides;
9978
- this.pressed = false;
9979
- this.dragged = false;
9980
- this.offset = this.target = 0;
9981
- this.images = [];
9982
- this.itemWidth = this.$el.find('.carousel-item').first().innerWidth();
9983
- this.itemHeight = this.$el.find('.carousel-item').first().innerHeight();
9984
- this.dim = this.itemWidth * 2 + this.options.padding || 1; // Make sure dim is non zero for divisions.
9985
- this._autoScrollBound = this._autoScroll.bind(this);
9986
- this._trackBound = this._track.bind(this);
10032
+ _this58.hasMultipleSlides = _this58.$el.find('.carousel-item').length > 1;
10033
+ _this58.showIndicators = _this58.options.indicators && _this58.hasMultipleSlides;
10034
+ _this58.noWrap = _this58.options.noWrap || !_this58.hasMultipleSlides;
10035
+ _this58.pressed = false;
10036
+ _this58.dragged = false;
10037
+ _this58.offset = _this58.target = 0;
10038
+ _this58.images = [];
10039
+ _this58.itemWidth = _this58.$el.find('.carousel-item').first().innerWidth();
10040
+ _this58.itemHeight = _this58.$el.find('.carousel-item').first().innerHeight();
10041
+ _this58.dim = _this58.itemWidth * 2 + _this58.options.padding || 1; // Make sure dim is non zero for divisions.
10042
+ _this58._autoScrollBound = _this58._autoScroll.bind(_this58);
10043
+ _this58._trackBound = _this58._track.bind(_this58);
9987
10044
 
9988
10045
  // Full Width carousel setup
9989
- if (this.options.fullWidth) {
9990
- this.options.dist = 0;
9991
- this._setCarouselHeight();
10046
+ if (_this58.options.fullWidth) {
10047
+ _this58.options.dist = 0;
10048
+ _this58._setCarouselHeight();
9992
10049
 
9993
10050
  // Offset fixed items when indicators.
9994
- if (this.showIndicators) {
9995
- this.$el.find('.carousel-fixed-item').addClass('with-indicators');
10051
+ if (_this58.showIndicators) {
10052
+ _this58.$el.find('.carousel-fixed-item').addClass('with-indicators');
9996
10053
  }
9997
10054
  }
9998
10055
 
9999
10056
  // Iterate through slides
10000
- this.$indicators = $('<ul class="indicators"></ul>');
10001
- this.$el.find('.carousel-item').each(function (el, i) {
10002
- _this42.images.push(el);
10003
- if (_this42.showIndicators) {
10057
+ _this58.$indicators = $('<ul class="indicators"></ul>');
10058
+ _this58.$el.find('.carousel-item').each(function (el, i) {
10059
+ _this58.images.push(el);
10060
+ if (_this58.showIndicators) {
10004
10061
  var $indicator = $('<li class="indicator-item"></li>');
10005
10062
 
10006
10063
  // Add active to first by default.
@@ -10008,27 +10065,28 @@ M.throttle = function (func, wait, options) {
10008
10065
  $indicator[0].classList.add('active');
10009
10066
  }
10010
10067
 
10011
- _this42.$indicators.append($indicator);
10068
+ _this58.$indicators.append($indicator);
10012
10069
  }
10013
10070
  });
10014
- if (this.showIndicators) {
10015
- this.$el.append(this.$indicators);
10071
+ if (_this58.showIndicators) {
10072
+ _this58.$el.append(_this58.$indicators);
10016
10073
  }
10017
- this.count = this.images.length;
10074
+ _this58.count = _this58.images.length;
10018
10075
 
10019
10076
  // Setup cross browser string
10020
- this.xform = 'transform';
10077
+ _this58.xform = 'transform';
10021
10078
  ['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
10022
10079
  var e = prefix + 'Transform';
10023
10080
  if (typeof document.body.style[e] !== 'undefined') {
10024
- _this42.xform = e;
10081
+ _this58.xform = e;
10025
10082
  return false;
10026
10083
  }
10027
10084
  return true;
10028
10085
  });
10029
10086
 
10030
- this._setupEventHandlers();
10031
- this._scroll(this.offset);
10087
+ _this58._setupEventHandlers();
10088
+ _this58._scroll(_this58.offset);
10089
+ return _this58;
10032
10090
  }
10033
10091
 
10034
10092
  _createClass(Carousel, [{
@@ -10050,7 +10108,7 @@ M.throttle = function (func, wait, options) {
10050
10108
  }, {
10051
10109
  key: "_setupEventHandlers",
10052
10110
  value: function _setupEventHandlers() {
10053
- var _this43 = this;
10111
+ var _this59 = this;
10054
10112
 
10055
10113
  this._handleCarouselTapBound = this._handleCarouselTap.bind(this);
10056
10114
  this._handleCarouselDragBound = this._handleCarouselDrag.bind(this);
@@ -10072,7 +10130,7 @@ M.throttle = function (func, wait, options) {
10072
10130
  if (this.showIndicators && this.$indicators) {
10073
10131
  this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
10074
10132
  this.$indicators.find('.indicator-item').each(function (el, i) {
10075
- el.addEventListener('click', _this43._handleIndicatorClickBound);
10133
+ el.addEventListener('click', _this59._handleIndicatorClickBound);
10076
10134
  });
10077
10135
  }
10078
10136
 
@@ -10090,7 +10148,7 @@ M.throttle = function (func, wait, options) {
10090
10148
  }, {
10091
10149
  key: "_removeEventHandlers",
10092
10150
  value: function _removeEventHandlers() {
10093
- var _this44 = this;
10151
+ var _this60 = this;
10094
10152
 
10095
10153
  if (typeof window.ontouchstart !== 'undefined') {
10096
10154
  this.el.removeEventListener('touchstart', this._handleCarouselTapBound);
@@ -10105,7 +10163,7 @@ M.throttle = function (func, wait, options) {
10105
10163
 
10106
10164
  if (this.showIndicators && this.$indicators) {
10107
10165
  this.$indicators.find('.indicator-item').each(function (el, i) {
10108
- el.removeEventListener('click', _this44._handleIndicatorClickBound);
10166
+ el.removeEventListener('click', _this60._handleIndicatorClickBound);
10109
10167
  });
10110
10168
  }
10111
10169
 
@@ -10291,7 +10349,7 @@ M.throttle = function (func, wait, options) {
10291
10349
  }, {
10292
10350
  key: "_setCarouselHeight",
10293
10351
  value: function _setCarouselHeight(imageOnly) {
10294
- var _this45 = this;
10352
+ var _this61 = this;
10295
10353
 
10296
10354
  var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first();
10297
10355
  var firstImage = firstSlide.find('img').first();
@@ -10311,7 +10369,7 @@ M.throttle = function (func, wait, options) {
10311
10369
  } else {
10312
10370
  // Get height when image is loaded normally
10313
10371
  firstImage.one('load', function (el, i) {
10314
- _this45.$el.css('height', el.offsetHeight + 'px');
10372
+ _this61.$el.css('height', el.offsetHeight + 'px');
10315
10373
  });
10316
10374
  }
10317
10375
  } else if (!imageOnly) {
@@ -10417,7 +10475,7 @@ M.throttle = function (func, wait, options) {
10417
10475
  }, {
10418
10476
  key: "_scroll",
10419
10477
  value: function _scroll(x) {
10420
- var _this46 = this;
10478
+ var _this62 = this;
10421
10479
 
10422
10480
  // Track scrolling state
10423
10481
  if (!this.$el.hasClass('scrolling')) {
@@ -10427,7 +10485,7 @@ M.throttle = function (func, wait, options) {
10427
10485
  window.clearTimeout(this.scrollingTimeout);
10428
10486
  }
10429
10487
  this.scrollingTimeout = window.setTimeout(function () {
10430
- _this46.$el.removeClass('scrolling');
10488
+ _this62.$el.removeClass('scrolling');
10431
10489
  }, this.options.duration);
10432
10490
 
10433
10491
  // Start actual scroll
@@ -10614,9 +10672,9 @@ M.throttle = function (func, wait, options) {
10614
10672
  if (index > this.count || index < 0) {
10615
10673
  if (this.noWrap) {
10616
10674
  return;
10617
- } else {
10618
- index = this._wrap(index);
10619
10675
  }
10676
+
10677
+ index = this._wrap(index);
10620
10678
  }
10621
10679
  this._cycleTo(index);
10622
10680
  }
@@ -10637,9 +10695,9 @@ M.throttle = function (func, wait, options) {
10637
10695
  if (index > this.count || index < 0) {
10638
10696
  if (this.noWrap) {
10639
10697
  return;
10640
- } else {
10641
- index = this._wrap(index);
10642
10698
  }
10699
+
10700
+ index = this._wrap(index);
10643
10701
  }
10644
10702
 
10645
10703
  this._cycleTo(index);
@@ -10661,21 +10719,17 @@ M.throttle = function (func, wait, options) {
10661
10719
  if (n > this.count || n < 0) {
10662
10720
  if (this.noWrap) {
10663
10721
  return;
10664
- } else {
10665
- n = this._wrap(n);
10666
10722
  }
10723
+
10724
+ n = this._wrap(n);
10667
10725
  }
10668
10726
 
10669
10727
  this._cycleTo(n, callback);
10670
10728
  }
10671
10729
  }], [{
10672
10730
  key: "init",
10673
- value: function init($els, options) {
10674
- var arr = [];
10675
- $els.each(function () {
10676
- arr.push(new Carousel(this, options));
10677
- });
10678
- return arr;
10731
+ value: function init(els, options) {
10732
+ return _get(Carousel.__proto__ || Object.getPrototypeOf(Carousel), "init", this).call(this, this, els, options);
10679
10733
  }
10680
10734
 
10681
10735
  /**
@@ -10696,7 +10750,7 @@ M.throttle = function (func, wait, options) {
10696
10750
  }]);
10697
10751
 
10698
10752
  return Carousel;
10699
- }();
10753
+ }(Component);
10700
10754
 
10701
10755
  M.Carousel = Carousel;
10702
10756
 
@@ -10707,14 +10761,19 @@ M.throttle = function (func, wait, options) {
10707
10761
  ;(function ($) {
10708
10762
  'use strict';
10709
10763
 
10710
- var _defaults = {};
10764
+ var _defaults = {
10765
+ onOpen: undefined,
10766
+ onClose: undefined
10767
+ };
10711
10768
 
10712
10769
  /**
10713
10770
  * @class
10714
10771
  *
10715
10772
  */
10716
10773
 
10717
- var FeatureDiscovery = function () {
10774
+ var FeatureDiscovery = function (_Component19) {
10775
+ _inherits(FeatureDiscovery, _Component19);
10776
+
10718
10777
  /**
10719
10778
  * Construct FeatureDiscovery instance
10720
10779
  * @constructor
@@ -10724,29 +10783,27 @@ M.throttle = function (func, wait, options) {
10724
10783
  function FeatureDiscovery(el, options) {
10725
10784
  _classCallCheck(this, FeatureDiscovery);
10726
10785
 
10727
- // If exists, destroy and reinitialize
10728
- if (!!el.M_FeatureDiscovery) {
10729
- el.M_FeatureDiscovery.destroy();
10730
- }
10786
+ var _this63 = _possibleConstructorReturn(this, (FeatureDiscovery.__proto__ || Object.getPrototypeOf(FeatureDiscovery)).call(this, FeatureDiscovery, el, options));
10731
10787
 
10732
- this.el = el;
10733
- this.$el = $(el);
10734
- this.el.M_FeatureDiscovery = this;
10788
+ _this63.el.M_FeatureDiscovery = _this63;
10735
10789
 
10736
10790
  /**
10737
10791
  * Options for the select
10738
10792
  * @member FeatureDiscovery#options
10793
+ * @prop {Function} onOpen - Callback function called when feature discovery is opened
10794
+ * @prop {Function} onClose - Callback function called when feature discovery is closed
10739
10795
  */
10740
- this.options = $.extend({}, FeatureDiscovery.defaults, options);
10796
+ _this63.options = $.extend({}, FeatureDiscovery.defaults, options);
10741
10797
 
10742
- this.isOpen = false;
10798
+ _this63.isOpen = false;
10743
10799
 
10744
10800
  // setup
10745
- this.$origin = $('#' + this.$el.attr('data-target'));
10746
- this._setup();
10801
+ _this63.$origin = $('#' + _this63.$el.attr('data-target'));
10802
+ _this63._setup();
10747
10803
 
10748
- this._calculatePositioning();
10749
- this._setupEventHandlers();
10804
+ _this63._calculatePositioning();
10805
+ _this63._setupEventHandlers();
10806
+ return _this63;
10750
10807
  }
10751
10808
 
10752
10809
  _createClass(FeatureDiscovery, [{
@@ -10989,10 +11046,16 @@ M.throttle = function (func, wait, options) {
10989
11046
  return;
10990
11047
  }
10991
11048
 
11049
+ // onOpen callback
11050
+ if (typeof this.options.onOpen === 'function') {
11051
+ this.options.onOpen.call(this, this.$origin[0]);
11052
+ }
11053
+
10992
11054
  this.isOpen = true;
10993
11055
  this.wrapper.classList.add('open');
10994
11056
 
10995
11057
  document.body.addEventListener('click', this._handleDocumentClickBound, true);
11058
+ document.body.addEventListener('touchend', this._handleDocumentClickBound);
10996
11059
  }
10997
11060
 
10998
11061
  /**
@@ -11006,19 +11069,21 @@ M.throttle = function (func, wait, options) {
11006
11069
  return;
11007
11070
  }
11008
11071
 
11072
+ // onClose callback
11073
+ if (typeof this.options.onClose === 'function') {
11074
+ this.options.onClose.call(this, this.$origin[0]);
11075
+ }
11076
+
11009
11077
  this.isOpen = false;
11010
11078
  this.wrapper.classList.remove('open');
11011
11079
 
11012
11080
  document.body.removeEventListener('click', this._handleDocumentClickBound, true);
11081
+ document.body.removeEventListener('touchend', this._handleDocumentClickBound);
11013
11082
  }
11014
11083
  }], [{
11015
11084
  key: "init",
11016
- value: function init($els, options) {
11017
- var arr = [];
11018
- $els.each(function () {
11019
- arr.push(new FeatureDiscovery(this, options));
11020
- });
11021
- return arr;
11085
+ value: function init(els, options) {
11086
+ return _get(FeatureDiscovery.__proto__ || Object.getPrototypeOf(FeatureDiscovery), "init", this).call(this, this, els, options);
11022
11087
  }
11023
11088
 
11024
11089
  /**
@@ -11039,7 +11104,7 @@ M.throttle = function (func, wait, options) {
11039
11104
  }]);
11040
11105
 
11041
11106
  return FeatureDiscovery;
11042
- }();
11107
+ }(Component);
11043
11108
 
11044
11109
  M.FeatureDiscovery = FeatureDiscovery;
11045
11110
 
@@ -11059,7 +11124,9 @@ M.throttle = function (func, wait, options) {
11059
11124
  *
11060
11125
  */
11061
11126
 
11062
- var Select = function () {
11127
+ var Select = function (_Component20) {
11128
+ _inherits(Select, _Component20);
11129
+
11063
11130
  /**
11064
11131
  * Construct Select instance
11065
11132
  * @constructor
@@ -11069,29 +11136,25 @@ M.throttle = function (func, wait, options) {
11069
11136
  function Select(el, options) {
11070
11137
  _classCallCheck(this, Select);
11071
11138
 
11072
- // If exists, destroy and reinitialize
11073
- if (!!el.M_Select) {
11074
- el.M_Select.destroy();
11075
- }
11139
+ var _this64 = _possibleConstructorReturn(this, (Select.__proto__ || Object.getPrototypeOf(Select)).call(this, Select, el, options));
11076
11140
 
11077
- this.el = el;
11078
- this.$el = $(el);
11079
- this.el.M_Select = this;
11141
+ _this64.el.M_Select = _this64;
11080
11142
 
11081
11143
  /**
11082
11144
  * Options for the select
11083
11145
  * @member Select#options
11084
11146
  */
11085
- this.options = $.extend({}, Select.defaults, options);
11147
+ _this64.options = $.extend({}, Select.defaults, options);
11086
11148
 
11087
- this.isMultiple = this.$el.prop('multiple');
11149
+ _this64.isMultiple = _this64.$el.prop('multiple');
11088
11150
 
11089
11151
  // Setup
11090
- this._keysSelected = {};
11091
- this._valueDict = {}; // Maps key to original and generated option element.
11092
- this._setupDropdown();
11152
+ _this64._keysSelected = {};
11153
+ _this64._valueDict = {}; // Maps key to original and generated option element.
11154
+ _this64._setupDropdown();
11093
11155
 
11094
- this._setupEventHandlers();
11156
+ _this64._setupEventHandlers();
11157
+ return _this64;
11095
11158
  }
11096
11159
 
11097
11160
  _createClass(Select, [{
@@ -11114,14 +11177,14 @@ M.throttle = function (func, wait, options) {
11114
11177
  }, {
11115
11178
  key: "_setupEventHandlers",
11116
11179
  value: function _setupEventHandlers() {
11117
- var _this47 = this;
11180
+ var _this65 = this;
11118
11181
 
11119
11182
  this._handleSelectChangeBound = this._handleSelectChange.bind(this);
11120
11183
  this._handleOptionClickBound = this._handleOptionClick.bind(this);
11121
11184
  this._handleInputClickBound = this._handleInputClick.bind(this);
11122
11185
 
11123
11186
  $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
11124
- el.addEventListener('click', _this47._handleOptionClickBound);
11187
+ el.addEventListener('click', _this65._handleOptionClickBound);
11125
11188
  });
11126
11189
  this.el.addEventListener('change', this._handleSelectChangeBound);
11127
11190
  this.input.addEventListener('click', this._handleInputClickBound);
@@ -11134,10 +11197,10 @@ M.throttle = function (func, wait, options) {
11134
11197
  }, {
11135
11198
  key: "_removeEventHandlers",
11136
11199
  value: function _removeEventHandlers() {
11137
- var _this48 = this;
11200
+ var _this66 = this;
11138
11201
 
11139
11202
  $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
11140
- el.removeEventListener('click', _this48._handleOptionClickBound);
11203
+ el.removeEventListener('click', _this66._handleOptionClickBound);
11141
11204
  });
11142
11205
  this.el.removeEventListener('change', this._handleSelectChangeBound);
11143
11206
  this.input.removeEventListener('click', this._handleInputClickBound);
@@ -11170,6 +11233,14 @@ M.throttle = function (func, wait, options) {
11170
11233
  var selected = true;
11171
11234
 
11172
11235
  if (this.isMultiple) {
11236
+ // Deselect placeholder option if still selected.
11237
+ var placeholderOption = $(this.dropdownOptions).find('li.disabled.selected');
11238
+ if (placeholderOption.length) {
11239
+ placeholderOption.removeClass('selected');
11240
+ placeholderOption.find('input[type="checkbox"]').prop('checked', false);
11241
+ this._toggleEntryFromArray(placeholderOption[0].id);
11242
+ }
11243
+
11173
11244
  var checkbox = $(option).find('input[type="checkbox"]');
11174
11245
  checkbox.prop('checked', !checkbox.prop('checked'));
11175
11246
  selected = this._toggleEntryFromArray(key);
@@ -11207,10 +11278,9 @@ M.throttle = function (func, wait, options) {
11207
11278
  }, {
11208
11279
  key: "_setupDropdown",
11209
11280
  value: function _setupDropdown() {
11210
- var _this49 = this;
11281
+ var _this67 = this;
11211
11282
 
11212
11283
  this.wrapper = document.createElement('div');
11213
- this.wrapper.classList.add();
11214
11284
  $(this.wrapper).addClass('select-wrapper' + ' ' + this.options.classes);
11215
11285
  this.$el.before($(this.wrapper));
11216
11286
  this.wrapper.appendChild(this.el);
@@ -11231,21 +11301,21 @@ M.throttle = function (func, wait, options) {
11231
11301
  if ($(el).is('option')) {
11232
11302
  // Direct descendant option.
11233
11303
  var optionEl = void 0;
11234
- if (_this49.isMultiple) {
11235
- optionEl = _this49._appendOptionWithIcon(_this49.$el, el, 'multiple');
11304
+ if (_this67.isMultiple) {
11305
+ optionEl = _this67._appendOptionWithIcon(_this67.$el, el, 'multiple');
11236
11306
  } else {
11237
- optionEl = _this49._appendOptionWithIcon(_this49.$el, el);
11307
+ optionEl = _this67._appendOptionWithIcon(_this67.$el, el);
11238
11308
  }
11239
11309
 
11240
- _this49._addOptionToValueDict(el, optionEl);
11310
+ _this67._addOptionToValueDict(el, optionEl);
11241
11311
  } else if ($(el).is('optgroup')) {
11242
11312
  // Optgroup.
11243
11313
  var selectOptions = $(el).children('option');
11244
- $(_this49.dropdownOptions).append($('<li class="optgroup"><span>' + el.getAttribute('label') + '</span></li>')[0]);
11314
+ $(_this67.dropdownOptions).append($('<li class="optgroup"><span>' + el.getAttribute('label') + '</span></li>')[0]);
11245
11315
 
11246
11316
  selectOptions.each(function (el) {
11247
- var optionEl = _this49._appendOptionWithIcon(_this49.$el, el, 'optgroup-option');
11248
- _this49._addOptionToValueDict(el, optionEl);
11317
+ var optionEl = _this67._appendOptionWithIcon(_this67.$el, el, 'optgroup-option');
11318
+ _this67._addOptionToValueDict(el, optionEl);
11249
11319
  });
11250
11320
  }
11251
11321
  });
@@ -11276,7 +11346,7 @@ M.throttle = function (func, wait, options) {
11276
11346
  if (this.isMultiple) {
11277
11347
  dropdownOptions.closeOnClick = false;
11278
11348
  }
11279
- this.dropdown = new M.Dropdown(this.input, dropdownOptions);
11349
+ this.dropdown = M.Dropdown.init(this.input, dropdownOptions);
11280
11350
  }
11281
11351
 
11282
11352
  // Add initial selections
@@ -11458,14 +11528,8 @@ M.throttle = function (func, wait, options) {
11458
11528
  }
11459
11529
  }], [{
11460
11530
  key: "init",
11461
- value: function init($els, options) {
11462
- var arr = [];
11463
- $els.each(function () {
11464
- if (!$(this).hasClass('browser-default')) {
11465
- arr.push(new Select(this, options));
11466
- }
11467
- });
11468
- return arr;
11531
+ value: function init(els, options) {
11532
+ return _get(Select.__proto__ || Object.getPrototypeOf(Select), "init", this).call(this, this, els, options);
11469
11533
  }
11470
11534
 
11471
11535
  /**
@@ -11486,7 +11550,7 @@ M.throttle = function (func, wait, options) {
11486
11550
  }]);
11487
11551
 
11488
11552
  return Select;
11489
- }();
11553
+ }(Component);
11490
11554
 
11491
11555
  M.Select = Select;
11492
11556
 
@@ -11504,7 +11568,9 @@ M.throttle = function (func, wait, options) {
11504
11568
  *
11505
11569
  */
11506
11570
 
11507
- var Range = function () {
11571
+ var Range = function (_Component21) {
11572
+ _inherits(Range, _Component21);
11573
+
11508
11574
  /**
11509
11575
  * Construct Range instance
11510
11576
  * @constructor
@@ -11514,27 +11580,23 @@ M.throttle = function (func, wait, options) {
11514
11580
  function Range(el, options) {
11515
11581
  _classCallCheck(this, Range);
11516
11582
 
11517
- // If exists, destroy and reinitialize
11518
- if (!!el.M_Range) {
11519
- el.M_Range.destroy();
11520
- }
11583
+ var _this68 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options));
11521
11584
 
11522
- this.el = el;
11523
- this.$el = $(el);
11524
- this.el.M_Range = this;
11585
+ _this68.el.M_Range = _this68;
11525
11586
 
11526
11587
  /**
11527
11588
  * Options for the range
11528
11589
  * @member Range#options
11529
11590
  */
11530
- this.options = $.extend({}, Range.defaults, options);
11591
+ _this68.options = $.extend({}, Range.defaults, options);
11531
11592
 
11532
- this._mousedown = false;
11593
+ _this68._mousedown = false;
11533
11594
 
11534
11595
  // Setup
11535
- this._setupThumb();
11596
+ _this68._setupThumb();
11536
11597
 
11537
- this._setupEventHandlers();
11598
+ _this68._setupEventHandlers();
11599
+ return _this68;
11538
11600
  }
11539
11601
 
11540
11602
  _createClass(Range, [{
@@ -11781,14 +11843,8 @@ M.throttle = function (func, wait, options) {
11781
11843
  }
11782
11844
  }], [{
11783
11845
  key: "init",
11784
- value: function init($els, options) {
11785
- var arr = [];
11786
- $els.each(function () {
11787
- if (!$(this).hasClass('browser-default')) {
11788
- arr.push(new Range(this, options));
11789
- }
11790
- });
11791
- return arr;
11846
+ value: function init(els, options) {
11847
+ return _get(Range.__proto__ || Object.getPrototypeOf(Range), "init", this).call(this, this, els, options);
11792
11848
  }
11793
11849
 
11794
11850
  /**
@@ -11809,7 +11865,7 @@ M.throttle = function (func, wait, options) {
11809
11865
  }]);
11810
11866
 
11811
11867
  return Range;
11812
- }();
11868
+ }(Component);
11813
11869
 
11814
11870
  M.Range = Range;
11815
11871
 
@@ -11818,4 +11874,4 @@ M.throttle = function (func, wait, options) {
11818
11874
  }
11819
11875
 
11820
11876
  Range.init($('input[type=range]'));
11821
- })(cash, anime);
11877
+ })(cash, M.anime);