(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("prop-types"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "prop-types", "react-dom"], factory); else { var a = typeof exports === 'object' ? factory(require("react"), require("prop-types"), require("react-dom")) : factory(root["react"], root["prop-types"], root["react-dom"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_45__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dest/"; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 364); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /***/ }), /***/ 1: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_1__; /***/ }), /***/ 12: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var getDataObj = function getDataObj(titleObj) { var dataObj = {}; var dataRegExp = /^data-.+/; // eslint-disable-next-line no-restricted-syntax for (var key in titleObj) { if (dataRegExp.test(key)) { Object.assign(dataObj, _defineProperty({}, key, titleObj[key])); } } return dataObj; }; exports.default = getDataObj; /***/ }), /***/ 154: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined; var _Link = __webpack_require__(155); var _Link2 = _interopRequireDefault(_Link); var _Button = __webpack_require__(158); var _Button2 = _interopRequireDefault(_Button); var _Element = __webpack_require__(159); var _Element2 = _interopRequireDefault(_Element); var _scroller = __webpack_require__(27); var _scroller2 = _interopRequireDefault(_scroller); var _scrollEvents = __webpack_require__(48); var _scrollEvents2 = _interopRequireDefault(_scrollEvents); var _scrollSpy = __webpack_require__(46); var _scrollSpy2 = _interopRequireDefault(_scrollSpy); var _animateScroll = __webpack_require__(69); var _animateScroll2 = _interopRequireDefault(_animateScroll); var _scrollLink = __webpack_require__(44); var _scrollLink2 = _interopRequireDefault(_scrollLink); var _scrollElement = __webpack_require__(71); var _scrollElement2 = _interopRequireDefault(_scrollElement); var _Helpers = __webpack_require__(160); var _Helpers2 = _interopRequireDefault(_Helpers); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.Link = _Link2.default; exports.Button = _Button2.default; exports.Element = _Element2.default; exports.scroller = _scroller2.default; exports.Events = _scrollEvents2.default; exports.scrollSpy = _scrollSpy2.default; exports.animateScroll = _animateScroll2.default; exports.ScrollLink = _scrollLink2.default; exports.ScrollElement = _scrollElement2.default; exports.Helpers = _Helpers2.default; exports.default = { Link: _Link2.default, Button: _Button2.default, Element: _Element2.default, scroller: _scroller2.default, Events: _scrollEvents2.default, scrollSpy: _scrollSpy2.default, animateScroll: _animateScroll2.default, ScrollLink: _scrollLink2.default, ScrollElement: _scrollElement2.default, Helpers: _Helpers2.default }; /***/ }), /***/ 155: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _scrollLink = __webpack_require__(44); var _scrollLink2 = _interopRequireDefault(_scrollLink); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var LinkElement = function (_React$Component) { _inherits(LinkElement, _React$Component); function LinkElement() { var _ref; var _temp, _this, _ret; _classCallCheck(this, LinkElement); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () { return _react2.default.createElement( 'a', _this.props, _this.props.children ); }, _temp), _possibleConstructorReturn(_this, _ret); } return LinkElement; }(_react2.default.Component); ; exports.default = (0, _scrollLink2.default)(LinkElement); /***/ }), /***/ 156: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { /* * https://github.com/oblador/angular-scroll (duScrollDefaultEasing) */ defaultEasing: function defaultEasing(x) { if (x < 0.5) { return Math.pow(x * 2, 2) / 2; } return 1 - Math.pow((1 - x) * 2, 2) / 2; }, /* * https://gist.github.com/gre/1650294 */ // no easing, no acceleration linear: function linear(x) { return x; }, // accelerating from zero velocity easeInQuad: function easeInQuad(x) { return x * x; }, // decelerating to zero velocity easeOutQuad: function easeOutQuad(x) { return x * (2 - x); }, // acceleration until halfway, then deceleration easeInOutQuad: function easeInOutQuad(x) { return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x; }, // accelerating from zero velocity easeInCubic: function easeInCubic(x) { return x * x * x; }, // decelerating to zero velocity π easeOutCubic: function easeOutCubic(x) { return --x * x * x + 1; }, // acceleration until halfway, then deceleration easeInOutCubic: function easeInOutCubic(x) { return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1; }, // accelerating from zero velocity easeInQuart: function easeInQuart(x) { return x * x * x * x; }, // decelerating to zero velocity easeOutQuart: function easeOutQuart(x) { return 1 - --x * x * x * x; }, // acceleration until halfway, then deceleration easeInOutQuart: function easeInOutQuart(x) { return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x; }, // accelerating from zero velocity easeInQuint: function easeInQuint(x) { return x * x * x * x * x; }, // decelerating to zero velocity easeOutQuint: function easeOutQuint(x) { return 1 + --x * x * x * x * x; }, // acceleration until halfway, then deceleration easeInOutQuint: function easeInOutQuint(x) { return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x; } }; /***/ }), /***/ 157: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _passiveEventListeners = __webpack_require__(47); var events = ['mousedown', 'mousewheel', 'touchmove', 'keydown']; exports.default = { subscribe: function subscribe(cancelEvent) { return typeof document !== 'undefined' && events.forEach(function (event) { return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent); }); } }; /***/ }), /***/ 158: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 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; }; }(); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _scrollLink = __webpack_require__(44); var _scrollLink2 = _interopRequireDefault(_scrollLink); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var ButtonElement = function (_React$Component) { _inherits(ButtonElement, _React$Component); function ButtonElement() { _classCallCheck(this, ButtonElement); return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments)); } _createClass(ButtonElement, [{ key: 'render', value: function render() { return _react2.default.createElement( 'input', this.props, this.props.children ); } }]); return ButtonElement; }(_react2.default.Component); ; exports.default = (0, _scrollLink2.default)(ButtonElement); /***/ }), /***/ 159: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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; }; }(); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _scrollElement = __webpack_require__(71); var _scrollElement2 = _interopRequireDefault(_scrollElement); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var ElementWrapper = function (_React$Component) { _inherits(ElementWrapper, _React$Component); function ElementWrapper() { _classCallCheck(this, ElementWrapper); return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments)); } _createClass(ElementWrapper, [{ key: 'render', value: function render() { var _this2 = this; // Remove `parentBindings` from props var newProps = _extends({}, this.props); if (newProps.parentBindings) { delete newProps.parentBindings; } return _react2.default.createElement( 'div', _extends({}, newProps, { ref: function ref(el) { _this2.props.parentBindings.domNode = el; } }), this.props.children ); } }]); return ElementWrapper; }(_react2.default.Component); ; ElementWrapper.propTypes = { name: _propTypes2.default.string, id: _propTypes2.default.string }; exports.default = (0, _scrollElement2.default)(ElementWrapper); /***/ }), /***/ 16: /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** * lodash (Custom Build) <https://lodash.com/> * Build: `lodash modularize exports="npm" -o ./` * Copyright jQuery Foundation and other contributors <https://jquery.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; /** Used as references for various `Number` constants. */ var NAN = 0 / 0; /** `Object#toString` result references. */ var symbolTag = '[object Symbol]'; /** Used to match leading and trailing whitespace. */ var reTrim = /^\s+|\s+$/g; /** Used to detect bad signed hexadecimal string values. */ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; /** Used to detect binary string values. */ var reIsBinary = /^0b[01]+$/i; /** Used to detect octal string values. */ var reIsOctal = /^0o[0-7]+$/i; /** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt; /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var objectToString = objectProto.toString; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max, nativeMin = Math.min; /** * Gets the timestamp of the number of milliseconds that have elapsed since * the Unix epoch (1 January 1970 00:00:00 UTC). * * @static * @memberOf _ * @since 2.4.0 * @category Date * @returns {number} Returns the timestamp. * @example * * _.defer(function(stamp) { * console.log(_.now() - stamp); * }, _.now()); * // => Logs the number of milliseconds it took for the deferred invocation. */ var now = function() { return root.Date.now(); }; /** * Creates a debounced function that delays invoking `func` until after `wait` * milliseconds have elapsed since the last time the debounced function was * invoked. The debounced function comes with a `cancel` method to cancel * delayed `func` invocations and a `flush` method to immediately invoke them. * Provide `options` to indicate whether `func` should be invoked on the * leading and/or trailing edge of the `wait` timeout. The `func` is invoked * with the last arguments provided to the debounced function. Subsequent * calls to the debounced function return the result of the last `func` * invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the debounced function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.debounce` and `_.throttle`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to debounce. * @param {number} [wait=0] The number of milliseconds to delay. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=false] * Specify invoking on the leading edge of the timeout. * @param {number} [options.maxWait] * The maximum time `func` is allowed to be delayed before it's invoked. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new debounced function. * @example * * // Avoid costly calculations while the window size is in flux. * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); * * // Invoke `sendMail` when clicked, debouncing subsequent calls. * jQuery(element).on('click', _.debounce(sendMail, 300, { * 'leading': true, * 'trailing': false * })); * * // Ensure `batchLog` is invoked once after 1 second of debounced calls. * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); * var source = new EventSource('/stream'); * jQuery(source).on('message', debounced); * * // Cancel the trailing debounced invocation. * jQuery(window).on('popstate', debounced.cancel); */ function debounce(func, wait, options) { var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } wait = toNumber(wait) || 0; if (isObject(options)) { leading = !!options.leading; maxing = 'maxWait' in options; maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; trailing = 'trailing' in options ? !!options.trailing : trailing; } function invokeFunc(time) { var args = lastArgs, thisArg = lastThis; lastArgs = lastThis = undefined; lastInvokeTime = time; result = func.apply(thisArg, args); return result; } function leadingEdge(time) { // Reset any `maxWait` timer. lastInvokeTime = time; // Start the timer for the trailing edge. timerId = setTimeout(timerExpired, wait); // Invoke the leading edge. return leading ? invokeFunc(time) : result; } function remainingWait(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result = wait - timeSinceLastCall; return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; } function shouldInvoke(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the // trailing edge, the system time has gone backwards and we're treating // it as the trailing edge, or we've hit the `maxWait` limit. return (lastCallTime === undefined || (timeSinceLastCall >= wait) || (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); } function timerExpired() { var time = now(); if (shouldInvoke(time)) { return trailingEdge(time); } // Restart the timer. timerId = setTimeout(timerExpired, remainingWait(time)); } function trailingEdge(time) { timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been // debounced at least once. if (trailing && lastArgs) { return invokeFunc(time); } lastArgs = lastThis = undefined; return result; } function cancel() { if (timerId !== undefined) { clearTimeout(timerId); } lastInvokeTime = 0; lastArgs = lastCallTime = lastThis = timerId = undefined; } function flush() { return timerId === undefined ? result : trailingEdge(now()); } function debounced() { var time = now(), isInvoking = shouldInvoke(time); lastArgs = arguments; lastThis = this; lastCallTime = time; if (isInvoking) { if (timerId === undefined) { return leadingEdge(lastCallTime); } if (maxing) { // Handle invocations in a tight loop. timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } } if (timerId === undefined) { timerId = setTimeout(timerExpired, wait); } return result; } debounced.cancel = cancel; debounced.flush = flush; return debounced; } /** * Creates a throttled function that only invokes `func` at most once per * every `wait` milliseconds. The throttled function comes with a `cancel` * method to cancel delayed `func` invocations and a `flush` method to * immediately invoke them. Provide `options` to indicate whether `func` * should be invoked on the leading and/or trailing edge of the `wait` * timeout. The `func` is invoked with the last arguments provided to the * throttled function. Subsequent calls to the throttled function return the * result of the last `func` invocation. * * **Note:** If `leading` and `trailing` options are `true`, `func` is * invoked on the trailing edge of the timeout only if the throttled function * is invoked more than once during the `wait` timeout. * * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred * until to the next tick, similar to `setTimeout` with a timeout of `0`. * * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) * for details over the differences between `_.throttle` and `_.debounce`. * * @static * @memberOf _ * @since 0.1.0 * @category Function * @param {Function} func The function to throttle. * @param {number} [wait=0] The number of milliseconds to throttle invocations to. * @param {Object} [options={}] The options object. * @param {boolean} [options.leading=true] * Specify invoking on the leading edge of the timeout. * @param {boolean} [options.trailing=true] * Specify invoking on the trailing edge of the timeout. * @returns {Function} Returns the new throttled function. * @example * * // Avoid excessively updating the position while scrolling. * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); * * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); * jQuery(element).on('click', throttled); * * // Cancel the trailing throttled invocation. * jQuery(window).on('popstate', throttled.cancel); */ function throttle(func, wait, options) { var leading = true, trailing = true; if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } if (isObject(options)) { leading = 'leading' in options ? !!options.leading : leading; trailing = 'trailing' in options ? !!options.trailing : trailing; } return debounce(func, wait, { 'leading': leading, 'maxWait': wait, 'trailing': trailing }); } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return !!value && (type == 'object' || type == 'function'); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return !!value && typeof value == 'object'; } /** * Checks if `value` is classified as a `Symbol` primitive or object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. * @example * * _.isSymbol(Symbol.iterator); * // => true * * _.isSymbol('abc'); * // => false */ function isSymbol(value) { return typeof value == 'symbol' || (isObjectLike(value) && objectToString.call(value) == symbolTag); } /** * Converts `value` to a number. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to process. * @returns {number} Returns the number. * @example * * _.toNumber(3.2); * // => 3.2 * * _.toNumber(Number.MIN_VALUE); * // => 5e-324 * * _.toNumber(Infinity); * // => Infinity * * _.toNumber('3.2'); * // => 3.2 */ function toNumber(value) { if (typeof value == 'number') { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == 'function' ? value.valueOf() : value; value = isObject(other) ? (other + '') : other; } if (typeof value != 'string') { return value === 0 ? value : +value; } value = value.replace(reTrim, ''); var isBinary = reIsBinary.test(value); return (isBinary || reIsOctal.test(value)) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : (reIsBadHex.test(value) ? NAN : +value); } module.exports = throttle; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) /***/ }), /***/ 160: /***/ (function(module, exports, __webpack_require__) { "use strict"; /* DEPRECATED */ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var React = __webpack_require__(0); var ReactDOM = __webpack_require__(45); var utils = __webpack_require__(19); var scrollSpy = __webpack_require__(46); var defaultScroller = __webpack_require__(27); var PropTypes = __webpack_require__(1); var scrollHash = __webpack_require__(70); var protoTypes = { to: PropTypes.string.isRequired, containerId: PropTypes.string, container: PropTypes.object, activeClass: PropTypes.string, spy: PropTypes.bool, smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), offset: PropTypes.number, delay: PropTypes.number, isDynamic: PropTypes.bool, onClick: PropTypes.func, duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), absolute: PropTypes.bool, onSetActive: PropTypes.func, onSetInactive: PropTypes.func, ignoreCancelEvents: PropTypes.bool, hashSpy: PropTypes.bool }; var Helpers = { Scroll: function Scroll(Component, customScroller) { console.warn("Helpers.Scroll is deprecated since v1.7.0"); var scroller = customScroller || defaultScroller; var Scroll = function (_React$Component) { _inherits(Scroll, _React$Component); function Scroll(props) { _classCallCheck(this, Scroll); var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props)); _initialiseProps.call(_this); _this.state = { active: false }; return _this; } _createClass(Scroll, [{ key: 'getScrollSpyContainer', value: function getScrollSpyContainer() { var containerId = this.props.containerId; var container = this.props.container; if (containerId) { return document.getElementById(containerId); } if (container && container.nodeType) { return container; } return document; } }, { key: 'componentDidMount', value: function componentDidMount() { if (this.props.spy || this.props.hashSpy) { var scrollSpyContainer = this.getScrollSpyContainer(); if (!scrollSpy.isMounted(scrollSpyContainer)) { scrollSpy.mount(scrollSpyContainer); } if (this.props.hashSpy) { if (!scrollHash.isMounted()) { scrollHash.mount(scroller); } scrollHash.mapContainer(this.props.to, scrollSpyContainer); } if (this.props.spy) { scrollSpy.addStateHandler(this.stateHandler); } scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer); this.setState({ container: scrollSpyContainer }); } } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { scrollSpy.unmount(this.stateHandler, this.spyHandler); } }, { key: 'render', value: function render() { var className = ""; if (this.state && this.state.active) { className = ((this.props.className || "") + " " + (this.props.activeClass || "active")).trim(); } else { className = this.props.className; } var props = _extends({}, this.props); for (var prop in protoTypes) { if (props.hasOwnProperty(prop)) { delete props[prop]; } } props.className = className; props.onClick = this.handleClick; return React.createElement(Component, props); } }]); return Scroll; }(React.Component); var _initialiseProps = function _initialiseProps() { var _this2 = this; this.scrollTo = function (to, props) { scroller.scrollTo(to, _extends({}, _this2.state, props)); }; this.handleClick = function (event) { /* * give the posibility to override onClick */ if (_this2.props.onClick) { _this2.props.onClick(event); } /* * dont bubble the navigation */ if (event.stopPropagation) event.stopPropagation(); if (event.preventDefault) event.preventDefault(); /* * do the magic! */ _this2.scrollTo(_this2.props.to, _this2.props); }; this.stateHandler = function () { if (scroller.getActiveLink() !== _this2.props.to) { if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) { _this2.props.onSetInactive(); } _this2.setState({ active: false }); } }; this.spyHandler = function (y) { var scrollSpyContainer = _this2.getScrollSpyContainer(); if (scrollHash.isMounted() && !scrollHash.isInitialized()) { return; } var to = _this2.props.to; var element = null; var elemTopBound = 0; var elemBottomBound = 0; var containerTop = 0; if (scrollSpyContainer.getBoundingClientRect) { var containerCords = scrollSpyContainer.getBoundingClientRect(); containerTop = containerCords.top; } if (!element || _this2.props.isDynamic) { element = scroller.get(to); if (!element) { return; } var cords = element.getBoundingClientRect(); elemTopBound = cords.top - containerTop + y; elemBottomBound = elemTopBound + cords.height; } var offsetY = y - _this2.props.offset; var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound); var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound); var activeLink = scroller.getActiveLink(); if (isOutside) { if (to === activeLink) { scroller.setActiveLink(void 0); } if (_this2.props.hashSpy && scrollHash.getHash() === to) { scrollHash.changeHash(); } if (_this2.props.spy && _this2.state.active) { _this2.setState({ active: false }); _this2.props.onSetInactive && _this2.props.onSetInactive(); } return scrollSpy.updateStates(); } if (isInside && activeLink !== to) { scroller.setActiveLink(to); _this2.props.hashSpy && scrollHash.changeHash(to); if (_this2.props.spy) { _this2.setState({ active: true }); _this2.props.onSetActive && _this2.props.onSetActive(to); } return scrollSpy.updateStates(); } }; }; ; Scroll.propTypes = protoTypes; Scroll.defaultProps = { offset: 0 }; return Scroll; }, Element: function Element(Component) { console.warn("Helpers.Element is deprecated since v1.7.0"); var Element = function (_React$Component2) { _inherits(Element, _React$Component2); function Element(props) { _classCallCheck(this, Element); var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props)); _this3.childBindings = { domNode: null }; return _this3; } _createClass(Element, [{ key: 'componentDidMount', value: function componentDidMount() { if (typeof window === 'undefined') { return false; } this.registerElems(this.props.name); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { if (this.props.name !== nextProps.name) { this.registerElems(nextProps.name); } } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { if (typeof window === 'undefined') { return false; } defaultScroller.unregister(this.props.name); } }, { key: 'registerElems', value: function registerElems(name) { defaultScroller.register(name, this.childBindings.domNode); } }, { key: 'render', value: function render() { return React.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings })); } }]); return Element; }(React.Component); ; Element.propTypes = { name: PropTypes.string, id: PropTypes.string }; return Element; } }; module.exports = Helpers; /***/ }), /***/ 19: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var pushHash = function pushHash(hash) { hash = hash ? hash.indexOf('#') === 0 ? hash : '#' + hash : ''; if (history.pushState) { var loc = window.location; history.pushState(null, null, hash ? loc.pathname + loc.search + hash // remove hash : loc.pathname + loc.search); } else { location.hash = hash; } }; var getHash = function getHash() { return window.location.hash.replace(/^#/, ''); }; var filterElementInContainer = function filterElementInContainer(container) { return function (element) { return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16); }; }; var scrollOffset = function scrollOffset(c, t) { return c === document ? t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset) : getComputedStyle(c).position === "relative" ? t.offsetTop : t.getBoundingClientRect().top + c.scrollTop; }; exports.default = { pushHash: pushHash, getHash: getHash, filterElementInContainer: filterElementInContainer, scrollOffset: scrollOffset }; /***/ }), /***/ 2: /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2016 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames () { var classes = []; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (!arg) continue; var argType = typeof arg; if (argType === 'string' || argType === 'number') { classes.push(this && this[arg] || arg); } else if (Array.isArray(arg)) { classes.push(classNames.apply(this, arg)); } else if (argType === 'object') { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes.push(this && this[key] || key); } } } } return classes.join(' '); } if (typeof module !== 'undefined' && module.exports) { module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { return classNames; }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else { window.classNames = classNames; } }()); /***/ }), /***/ 27: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _utils = __webpack_require__(19); var _utils2 = _interopRequireDefault(_utils); var _animateScroll = __webpack_require__(69); var _animateScroll2 = _interopRequireDefault(_animateScroll); var _scrollEvents = __webpack_require__(48); var _scrollEvents2 = _interopRequireDefault(_scrollEvents); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var __mapped = {}; var __activeLink = void 0; exports.default = { unmount: function unmount() { __mapped = {}; }, register: function register(name, element) { __mapped[name] = element; }, unregister: function unregister(name) { delete __mapped[name]; }, get: function get(name) { return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0]; }, setActiveLink: function setActiveLink(link) { return __activeLink = link; }, getActiveLink: function getActiveLink() { return __activeLink; }, scrollTo: function scrollTo(to, props) { var target = this.get(to); if (!target) { console.warn("target Element not found"); return; } props = _extends({}, props, { absolute: false }); var containerId = props.containerId; var container = props.container; var containerElement = void 0; if (containerId) { containerElement = document.getElementById(containerId); } else if (container && container.nodeType) { containerElement = container; } else { containerElement = document; } if (_scrollEvents2.default.registered.begin) { _scrollEvents2.default.registered.begin(to, target); } props.absolute = true; var scrollOffset = _utils2.default.scrollOffset(containerElement, target) + (props.offset || 0); /* * if animate is not provided just scroll into the view */ if (!props.smooth) { if (containerElement === document) { window.scrollTo(0, scrollOffset); } else { containerElement.scrollTop = scrollOffset; } if (_scrollEvents2.default.registered['end']) { _scrollEvents2.default.registered['end'](to, target); } return; } /* * Animate scrolling */ _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target); } }; /***/ }), /***/ 364: /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(365); /***/ }), /***/ 365: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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; }; }(); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _bind = __webpack_require__(2); var _bind2 = _interopRequireDefault(_bind); var _reactScroll = __webpack_require__(154); var _lodash = __webpack_require__(16); var _lodash2 = _interopRequireDefault(_lodash); var _ScrollToTop = __webpack_require__(366); var _ScrollToTop2 = _interopRequireDefault(_ScrollToTop); var _Footer = __webpack_require__(37); var _Footer2 = _interopRequireDefault(_Footer); var _iconArrowLeft = __webpack_require__(82); var _iconArrowLeft2 = _interopRequireDefault(_iconArrowLeft); var _vars = __webpack_require__(81); var _vars2 = _interopRequireDefault(_vars); var _getDataObj = __webpack_require__(12); var _getDataObj2 = _interopRequireDefault(_getDataObj); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var cx = _bind2.default.bind(_ScrollToTop2.default); var defaultBottom = 46; var defaultMobileBottom = 24; var defaultFooterHeight = parseInt(_Footer2.default.footerHeight, 10) + 24; // margin 24px var defaultFooterMobileHeight = parseInt(_Footer2.default.footerMobileHeight, 10) - 24; var mobileScreenSize = parseInt(_vars2.default.screenSizeLg, 10); var ScrollToTop = function (_React$Component) { _inherits(ScrollToTop, _React$Component); function ScrollToTop() { var _ref; var _temp, _this, _ret; _classCallCheck(this, ScrollToTop); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ScrollToTop.__proto__ || Object.getPrototypeOf(ScrollToTop)).call.apply(_ref, [this].concat(args))), _this), _this.state = { show: false, bottom: defaultBottom }, _this.handleScroll = (0, _lodash2.default)(function () { var _this$props = _this.props, hasFooter = _this$props.hasFooter, customFooterHeight = _this$props.customFooterHeight, showOnMobile = _this$props.showOnMobile; var isMobileMode = window.innerWidth < mobileScreenSize && showOnMobile; var customBottom = isMobileMode ? defaultMobileBottom : defaultBottom; if (window.pageYOffset >= _this.props.showOffset) { if (hasFooter || customFooterHeight) { var tmpFooterHeight = isMobileMode ? defaultFooterMobileHeight : defaultFooterHeight; var footerHeight = customFooterHeight > 0 ? customFooterHeight : tmpFooterHeight; var bottomOffset = isMobileMode ? defaultMobileBottom : defaultBottom; var diff = footerHeight - bottomOffset; var scrollHeight = document.body.scrollHeight; var offsetTop = window.innerHeight + window.pageYOffset; var offsetBottom = scrollHeight - offsetTop; if (diff >= offsetBottom) { customBottom = footerHeight - offsetBottom; } } _this.setState({ show: true, bottom: customBottom }); } else { _this.setState({ show: false }); } }, 50), _this.scrollToTop = function (e) { var scrollCb = _this.props.scrollCb; if (e) { e.preventDefault(); } _reactScroll.animateScroll.scrollToTop(); if (scrollCb) { scrollCb(); } }, _temp), _possibleConstructorReturn(_this, _ret); } _createClass(ScrollToTop, [{ key: 'componentDidMount', value: function componentDidMount() { window.addEventListener('scroll', this.handleScroll); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { window.removeEventListener('scroll', this.handleScroll); } }, { key: 'renderStickyComponent', value: function renderStickyComponent() { var stickyComponent = this.props.stickyComponent; if (!stickyComponent) return null; return _react2.default.createElement( 'div', { className: cx('sticky-wrapper') }, stickyComponent ); } }, { key: 'renderScrollToTop', value: function renderScrollToTop() { var _props = this.props, children = _props.children, showOnMobile = _props.showOnMobile; var dataObj = (0, _getDataObj2.default)(this.props); if (this.state.show) { return children ? _react2.default.cloneElement(children, { onClick: this.scrollToTop }) : _react2.default.createElement( 'button', _extends({ onClick: this.scrollToTop, className: cx('scroll-to-top', { 'scroll-to-top--mobile': showOnMobile }) }, dataObj), _react2.default.createElement('img', { src: _iconArrowLeft2.default, alt: 'Scroll to Top' }) ); } return null; } }, { key: 'render', value: function render() { var size = this.props.size; var bottom = this.state.bottom; return _react2.default.createElement( 'div', { className: cx('fixed-wrapper', 'fixed-wrapper--' + size), style: { bottom: bottom + 'px' } }, this.renderStickyComponent(), this.renderScrollToTop() ); } }]); return ScrollToTop; }(_react2.default.Component); ScrollToTop.defaultProps = { showOffset: 225, children: undefined, stickyComponent: undefined, customFooterHeight: 0, hasFooter: false, showOnMobile: false, size: 's', scrollCb: null }; exports.default = ScrollToTop; /***/ }), /***/ 366: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin module.exports = {"wrapperWidth":"1200px","screenSizeSm":"321px","screenSizeMd":"768px","screenSizeMl":"990px","screenSizeLg":"1024px","screenSizeXl":"1200px","screenSizeXXl":"1360px","fixed-wrapper":"_3dj5i","fixed-wrapper--m":"_ptNgY","scroll-to-top":"_2F-js","scroll-to-top--mobile":"_YLxbn","sticky-wrapper":"_3s1BA"}; /***/ }), /***/ 37: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin module.exports = {"wrapperWidth":"1200px","screenSizeSm":"321px","screenSizeMd":"768px","screenSizeMl":"990px","screenSizeLg":"1024px","screenSizeXl":"1200px","screenSizeXXl":"1360px","footerHeight":"140px","footerMobileHeight":"100px","cnyes-footer-wrapper":"_qdV4M","footer-logo":"_1Jq4H","footer-nav":"_1dFzW","footer-socials":"_2lGkZ","social-item":"_1n8HS","title":"_2C4rE","social-icon":"_11SpT","cnyes-media-facebook":"_2WAgR","cnyes-media-us_stock":"_3o7QU","cnyes-media-line":"_1PYxM","cnyes-media-app":"_13are","copyright-anue":"_P9DLg","hidden-mobile":"_1uLvu","hidden-desktop":"_2pljx"}; /***/ }), /***/ 44: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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; }; }(); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(45); var _reactDom2 = _interopRequireDefault(_reactDom); var _utils = __webpack_require__(19); var _utils2 = _interopRequireDefault(_utils); var _scrollSpy = __webpack_require__(46); var _scrollSpy2 = _interopRequireDefault(_scrollSpy); var _scroller = __webpack_require__(27); var _scroller2 = _interopRequireDefault(_scroller); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _scrollHash = __webpack_require__(70); var _scrollHash2 = _interopRequireDefault(_scrollHash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } var protoTypes = { to: _propTypes2.default.string.isRequired, containerId: _propTypes2.default.string, container: _propTypes2.default.object, activeClass: _propTypes2.default.string, spy: _propTypes2.default.bool, smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]), offset: _propTypes2.default.number, delay: _propTypes2.default.number, isDynamic: _propTypes2.default.bool, onClick: _propTypes2.default.func, duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]), absolute: _propTypes2.default.bool, onSetActive: _propTypes2.default.func, onSetInactive: _propTypes2.default.func, ignoreCancelEvents: _propTypes2.default.bool, hashSpy: _propTypes2.default.bool }; exports.default = function (Component, customScroller) { var scroller = customScroller || _scroller2.default; var Link = function (_React$PureComponent) { _inherits(Link, _React$PureComponent); function Link(props) { _classCallCheck(this, Link); var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props)); _initialiseProps.call(_this); _this.state = { active: false }; return _this; } _createClass(Link, [{ key: 'getScrollSpyContainer', value: function getScrollSpyContainer() { var containerId = this.props.containerId; var container = this.props.container; if (containerId && !container) { return document.getElementById(containerId); } if (container && container.nodeType) { return container; } return document; } }, { key: 'componentDidMount', value: function componentDidMount() { if (this.props.spy || this.props.hashSpy) { var scrollSpyContainer = this.getScrollSpyContainer(); if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) { _scrollSpy2.default.mount(scrollSpyContainer); } if (this.props.hashSpy) { if (!_scrollHash2.default.isMounted()) { _scrollHash2.default.mount(scroller); } _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer); } _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer); this.setState({ container: scrollSpyContainer }); } } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler); } }, { key: 'render', value: function render() { var className = ""; if (this.state && this.state.active) { className = ((this.props.className || "") + " " + (this.props.activeClass || "active")).trim(); } else { className = this.props.className; } var props = _extends({}, this.props); for (var prop in protoTypes) { if (props.hasOwnProperty(prop)) { delete props[prop]; } } props.className = className; props.onClick = this.handleClick; return _react2.default.createElement(Component, props); } }]); return Link; }(_react2.default.PureComponent); var _initialiseProps = function _initialiseProps() { var _this2 = this; this.scrollTo = function (to, props) { scroller.scrollTo(to, _extends({}, _this2.state, props)); }; this.handleClick = function (event) { /* * give the posibility to override onClick */ if (_this2.props.onClick) { _this2.props.onClick(event); } /* * dont bubble the navigation */ if (event.stopPropagation) event.stopPropagation(); if (event.preventDefault) event.preventDefault(); /* * do the magic! */ _this2.scrollTo(_this2.props.to, _this2.props); }; this.spyHandler = function (y) { var scrollSpyContainer = _this2.getScrollSpyContainer(); if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) { return; } var to = _this2.props.to; var element = null; var elemTopBound = 0; var elemBottomBound = 0; var containerTop = 0; if (scrollSpyContainer.getBoundingClientRect) { var containerCords = scrollSpyContainer.getBoundingClientRect(); containerTop = containerCords.top; } if (!element || _this2.props.isDynamic) { element = scroller.get(to); if (!element) { return; } var cords = element.getBoundingClientRect(); elemTopBound = cords.top - containerTop + y; elemBottomBound = elemTopBound + cords.height; } var offsetY = y - _this2.props.offset; var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound); var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound); var activeLink = scroller.getActiveLink(); if (isOutside) { if (to === activeLink) { scroller.setActiveLink(void 0); } if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) { _scrollHash2.default.changeHash(); } if (_this2.props.spy && _this2.state.active) { _this2.setState({ active: false }); _this2.props.onSetInactive && _this2.props.onSetInactive(to, element); } } if (isInside && (activeLink !== to || _this2.state.active === false)) { scroller.setActiveLink(to); _this2.props.hashSpy && _scrollHash2.default.changeHash(to); if (_this2.props.spy) { _this2.setState({ active: true }); _this2.props.onSetActive && _this2.props.onSetActive(to, element); } } }; }; ; Link.propTypes = protoTypes; Link.defaultProps = { offset: 0 }; return Link; }; /***/ }), /***/ 45: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_45__; /***/ }), /***/ 46: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = __webpack_require__(16); var _lodash2 = _interopRequireDefault(_lodash); var _passiveEventListeners = __webpack_require__(47); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // The eventHandler will execute at a rate of 15fps var eventThrottler = function eventThrottler(eventHandler) { return (0, _lodash2.default)(eventHandler, 66); }; var scrollSpy = { spyCallbacks: [], spySetState: [], scrollSpyContainers: [], mount: function mount(scrollSpyContainer) { if (scrollSpyContainer) { var eventHandler = eventThrottler(function (event) { scrollSpy.scrollHandler(scrollSpyContainer); }); scrollSpy.scrollSpyContainers.push(scrollSpyContainer); (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler); } }, isMounted: function isMounted(scrollSpyContainer) { return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1; }, currentPositionY: function currentPositionY(scrollSpyContainer) { if (scrollSpyContainer === document) { var supportPageOffset = window.pageXOffset !== undefined; var isCSS1Compat = (document.compatMode || "") === "CSS1Compat"; return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop; } else { return scrollSpyContainer.scrollTop; } }, scrollHandler: function scrollHandler(scrollSpyContainer) { var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || []; callbacks.forEach(function (c) { return c(scrollSpy.currentPositionY(scrollSpyContainer)); }); }, addStateHandler: function addStateHandler(handler) { scrollSpy.spySetState.push(handler); }, addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) { var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)]; if (!container.spyCallbacks) { container.spyCallbacks = []; } container.spyCallbacks.push(handler); handler(scrollSpy.currentPositionY(scrollSpyContainer)); }, updateStates: function updateStates() { scrollSpy.spySetState.forEach(function (s) { return s(); }); }, unmount: function unmount(stateHandler, spyHandler) { scrollSpy.scrollSpyContainers.forEach(function (c) { return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1); }); if (scrollSpy.spySetState && scrollSpy.spySetState.length) { scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1); } document.removeEventListener('scroll', scrollSpy.scrollHandler); }, update: function update() { return scrollSpy.scrollSpyContainers.forEach(function (c) { return scrollSpy.scrollHandler(c); }); } }; exports.default = scrollSpy; /***/ }), /***/ 47: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* * Tell the browser that the event listener won't prevent a scroll. * Allowing the browser to continue scrolling without having to * to wait for the listener to return. */ var addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) { var supportsPassiveOption = function () { var supportsPassiveOption = false; try { var opts = Object.defineProperty({}, 'passive', { get: function get() { supportsPassiveOption = true; } }); window.addEventListener('test', null, opts); } catch (e) {} return supportsPassiveOption; }(); target.addEventListener(eventName, listener, supportsPassiveOption ? { passive: true } : false); }; var removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) { target.removeEventListener(eventName, listener); }; /***/ }), /***/ 48: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Events = { registered: {}, scrollEvent: { register: function register(evtName, callback) { Events.registered[evtName] = callback; }, remove: function remove(evtName) { Events.registered[evtName] = null; } } }; exports.default = Events; /***/ }), /***/ 5: /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || Function("return this")() || (1,eval)("this"); } catch(e) { // This works if the window reference is available if(typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /***/ 69: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _utils = __webpack_require__(19); var _utils2 = _interopRequireDefault(_utils); var _smooth = __webpack_require__(156); var _smooth2 = _interopRequireDefault(_smooth); var _cancelEvents = __webpack_require__(157); var _cancelEvents2 = _interopRequireDefault(_cancelEvents); var _scrollEvents = __webpack_require__(48); var _scrollEvents2 = _interopRequireDefault(_scrollEvents); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* * Gets the easing type from the smooth prop within options. */ var getAnimationType = function getAnimationType(options) { return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing; }; /* * Function helper */ var functionWrapper = function functionWrapper(value) { return typeof value === 'function' ? value : function () { return value; }; }; /* * Wraps window properties to allow server side rendering */ var currentWindowProperties = function currentWindowProperties() { if (typeof window !== 'undefined') { return window.requestAnimationFrame || window.webkitRequestAnimationFrame; } }; /* * Helper function to never extend 60fps on the webpage. */ var requestAnimationFrameHelper = function () { return currentWindowProperties() || function (callback, element, delay) { window.setTimeout(callback, delay || 1000 / 60, new Date().getTime()); }; }(); var makeData = function makeData() { return { currentPositionY: 0, startPositionY: 0, targetPositionY: 0, progress: 0, duration: 0, cancel: false, target: null, containerElement: null, to: null, start: null, deltaTop: null, percent: null, delayTimeout: null }; }; var currentPositionY = function currentPositionY(options) { var containerElement = options.data.containerElement; if (containerElement && containerElement !== document && containerElement !== document.body) { return containerElement.scrollTop; } else { var supportPageOffset = window.pageXOffset !== undefined; var isCSS1Compat = (document.compatMode || "") === "CSS1Compat"; return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop; } }; var scrollContainerHeight = function scrollContainerHeight(options) { var containerElement = options.data.containerElement; if (containerElement && containerElement !== document && containerElement !== document.body) { return Math.max(containerElement.scrollHeight, containerElement.offsetHeight, containerElement.clientHeight); } else { var body = document.body; var html = document.documentElement; return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight); } }; var animateScroll = function animateScroll(easing, options, timestamp) { var data = options.data; // Cancel on specific events if (!options.ignoreCancelEvents && data.cancel) { if (_scrollEvents2.default.registered['end']) { _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY); } return; }; data.deltaTop = Math.round(data.targetPositionY - data.startPositionY); if (data.start === null) { data.start = timestamp; } data.progress = timestamp - data.start; data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration); data.currentPositionY = data.startPositionY + Math.ceil(data.deltaTop * data.percent); if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) { data.containerElement.scrollTop = data.currentPositionY; } else { window.scrollTo(0, data.currentPositionY); } if (data.percent < 1) { var easedAnimate = animateScroll.bind(null, easing, options); requestAnimationFrameHelper.call(window, easedAnimate); return; } if (_scrollEvents2.default.registered['end']) { _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY); } }; var setContainer = function setContainer(options) { options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document; }; var animateTopScroll = function animateTopScroll(y, options, to, target) { options.data = options.data || makeData(); window.clearTimeout(options.data.delayTimeout); _cancelEvents2.default.subscribe(function () { options.data.cancel = true; }); setContainer(options); options.data.start = null; options.data.cancel = false; options.data.startPositionY = currentPositionY(options); options.data.targetPositionY = options.absolute ? y : y + options.data.startPositionY; if (options.data.startPositionY === options.data.targetPositionY) { if (_scrollEvents2.default.registered['end']) { _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPositionY); } return; } options.data.deltaTop = Math.round(options.data.targetPositionY - options.data.startPositionY); options.data.duration = functionWrapper(options.duration)(options.data.deltaTop); options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration); options.data.to = to; options.data.target = target; var easing = getAnimationType(options); var easedAnimate = animateScroll.bind(null, easing, options); if (options && options.delay > 0) { options.data.delayTimeout = window.setTimeout(function () { requestAnimationFrameHelper.call(window, easedAnimate); }, options.delay); return; } requestAnimationFrameHelper.call(window, easedAnimate); }; var proceedOptions = function proceedOptions(options) { options = _extends({}, options); options.data = options.data || makeData(); options.absolute = true; return options; }; var scrollToTop = function scrollToTop(options) { animateTopScroll(0, proceedOptions(options)); }; var scrollTo = function scrollTo(toY, options) { animateTopScroll(toY, proceedOptions(options)); }; var scrollToBottom = function scrollToBottom(options) { options = proceedOptions(options); setContainer(options); animateTopScroll(scrollContainerHeight(options), options); }; var scrollMore = function scrollMore(toY, options) { options = proceedOptions(options); setContainer(options); animateTopScroll(currentPositionY(options) + toY, options); }; exports.default = { animateTopScroll: animateTopScroll, getAnimationType: getAnimationType, scrollToTop: scrollToTop, scrollToBottom: scrollToBottom, scrollTo: scrollTo, scrollMore: scrollMore }; /***/ }), /***/ 70: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _passiveEventListeners = __webpack_require__(47); var _utils = __webpack_require__(19); var _utils2 = _interopRequireDefault(_utils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var scrollHash = { mountFlag: false, initialized: false, scroller: null, containers: {}, mount: function mount(scroller) { this.scroller = scroller; this.handleHashChange = this.handleHashChange.bind(this); window.addEventListener('hashchange', this.handleHashChange); this.initStateFromHash(); this.mountFlag = true; }, mapContainer: function mapContainer(to, container) { this.containers[to] = container; }, isMounted: function isMounted() { return this.mountFlag; }, isInitialized: function isInitialized() { return this.initialized; }, initStateFromHash: function initStateFromHash() { var _this = this; var hash = this.getHash(); if (hash) { window.setTimeout(function () { _this.scrollTo(hash, true); _this.initialized = true; }, 10); } else { this.initialized = true; } }, scrollTo: function scrollTo(to, isInit) { var scroller = this.scroller; var element = scroller.get(to); if (element && (isInit || to !== scroller.getActiveLink())) { var container = this.containers[to] || document; scroller.scrollTo(to, { container: container }); } }, getHash: function getHash() { return _utils2.default.getHash(); }, changeHash: function changeHash(to) { if (this.isInitialized() && _utils2.default.getHash() !== to) { _utils2.default.pushHash(to); } }, handleHashChange: function handleHashChange() { this.scrollTo(this.getHash()); }, unmount: function unmount() { this.scroller = null; this.containers = null; window.removeEventListener('hashchange', this.handleHashChange); } }; exports.default = scrollHash; /***/ }), /***/ 71: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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; }; }(); var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(45); var _reactDom2 = _interopRequireDefault(_reactDom); var _scroller = __webpack_require__(27); var _scroller2 = _interopRequireDefault(_scroller); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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; } 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; } exports.default = function (Component) { var Element = function (_React$Component) { _inherits(Element, _React$Component); function Element(props) { _classCallCheck(this, Element); var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props)); _this.childBindings = { domNode: null }; return _this; } _createClass(Element, [{ key: 'componentDidMount', value: function componentDidMount() { if (typeof window === 'undefined') { return false; } this.registerElems(this.props.name); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { if (this.props.name !== nextProps.name) { this.registerElems(nextProps.name); } } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { if (typeof window === 'undefined') { return false; } _scroller2.default.unregister(this.props.name); } }, { key: 'registerElems', value: function registerElems(name) { _scroller2.default.register(name, this.childBindings.domNode); } }, { key: 'render', value: function render() { return _react2.default.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings })); } }]); return Element; }(_react2.default.Component); ; Element.propTypes = { name: _propTypes2.default.string, id: _propTypes2.default.string }; return Element; }; /***/ }), /***/ 81: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin module.exports = {"wrapperWidth":"1200px","screenSizeSm":"321px","screenSizeMd":"768px","screenSizeMl":"990px","screenSizeLg":"1024px","screenSizeXl":"1200px","screenSizeXXl":"1360px"}; /***/ }), /***/ 82: /***/ (function(module, exports) { module.exports = "https://sfiles.cnyes.cool/fe-common/862da914/19c0ad3fc8f84d49d494708243cd664c.svg"; /***/ }) /******/ }); });